Effect of Planning Depth in Predator-Prey Behavior

Nature is a wonder of its own. When we look at animals, we usually see cute furry creatures that seemingly just do their own thing. After seeing them in the wild, though, you begin to notice how they use their environment to hunt or hide from other animals. In the gif on the left, for example, a leapord hides in a narrow valley as it hunts unbeknowest to the imapla above. In order to better understand these predator-prey relationships, research has been done in the NxR lab to simulate how prey will act (using POMDPs) given various planning depths in order to reach some goal position before a predator kills the prey. My project focuses on turning these simulations into a 3-D honeycomb-styled-world realization where Sphero robots act as the predator and prey that have to navigate in various levels of occluded environments.

Custom Line-Following Robot

Suppose you are trying to get parts from station A to station B in a manufacturing plant. You try to use conveyer belts to connect the two stations, but the design proves to be too complicated. A great alternative would be to use a line-following robot to carry the parts from A to B. Though not made for this purpose, my line-following robot displayed on the right was built completely from scratch for a competitive final project dubbed the Tech Cup which features a rainbow road and even a bridge! The project encompassed skills such as mechatronics, embedded programming, PCB design, Android app development, CAD, 3D printing, laser cutting, controls, and more.

Frontier Exploration

Ever lose something, but for the life of you, can't seem to find it even though you know the general area where you lost it? Imagine a robot that can autonomously search that area and look for said object by giving it a description of what it looks like. Well, the first step is making sure the robot knows where it is at any given point in time, knows where it has looked, and where it has yet to look. This project focuses on this latter part by having Jackal, (a Clearpth UGV) autonomously navigate and map an unknown area using a frontier exploration algorithm I developed. Check out this video for a demo and this Readme for more info.

DC Motor Control

Motors are everywhere! We don't always see them, but they affect our lives every day. They move elevators and conveyer belts, circulate the air in your house, spin airplane turbines, automate robots, and cool down your poor overworked laptops and computers. More importantly is the fact that they can be controlled to accomplish these tasks. This is achieved through the use of microcontrollers and sensors (like encoders and current sensors) so that a motor's position and current/torque can be determined. My project focused on implementing a motion controller with the PIC32 microcontroller for a brushed DC motor to follow input trajectories delivered via a MATLAB client (which was also used to interface with the controller's parameters).

Robotic Maze Navigation

Using computer vision feedback, Sawyer (a Rethink Robot) navigates a ball through a maze from start to finish. My contribution to this group project was developing the path planning algorithm to determine how the ball should move. Check out this video for a demo and this Readme for more info.

Plinko Game Dynamics

A big part of robotics is simulation. Being able to visualize how an object dynamically moves and interacts with its environment helps confirm how it would act in a real life scenario. The best part? Parameters such as initial conditions and external forces can be changed or added in to visualize different situations. This project uses lagrangian dynamics to model how a square prism moves through a Plinko board after being launched from a ramp in both air drag and no air drag environments.

Finger Sniper

In today's day and age, Computer Vision is ubiquitous. From video surveillance on VMS software to automatic hand-initiated photo capture on an Android phone. Why not for games too? In this project, your hand becomes your very own pistol! Your goal is to shoot the bouncing ball as many times as you can. Every time you hit the ball, it changes color. But time is short as the ball shrinks in size every time it hits the surrounding walls. To play, click on this link and follow the instructions on the Readme.

Robotic Manipulation

Seeing how robots with end effectors move in real life such as for automated robotic welding or for handling silicon wafers is cool. But what makes them move the way they do to get from point A to point B? The answer is through robotic manipulation principles that involve joint positions and velocities, rigid body motion, inverse kinematics, and controls. This project demonstrates the use of these principles as well as PI control to get the KUKA youBot end-effector to move to a specified configuration.

Camera Ball Tracker

Ever hear of those quadcoptors that can follow you around? The DJI Phantom Pro is one, and it can take some pretty awesome footage of its target. This is done through computer vision techniques that involve deep learning for classifying and recognizing a target image like you and me. This project, on a much simpler level, uses color segmentation in the HSV space to recognize the red color of the ball. Based on where the centroid of that blob of red color is located in the camera frame, the servos that hold the camera move such that the centroid is always in the center of the camera frame.

Toy Design for Special Needs Kids

One of the most meaningful and fun projects that I had the oppurtunity to work on was designing a toy for special needs kids at SEDA. Based on interacting with the kids and teachers as well as learning about Autism Spectrum Disorder in class, my team developed a toy that would address the kids' motor, creativity, and problem solving skills while also providing them with sensory feedback. My role was doing the entire electrical design including programming, wiring, and hardware layout on the maze. Check out this link for more info and to see some cool demos!

Ski-Ball Game

The project that first sparked my interest in robotics took place in an ME course at my undergrad school - the Milwaukee School of Engineering. The course was all about integrating code with hardware to get the hardware to do something meaningful. For the final poject, my team and I created a Ski-Ball game in which the objective is to shoot two ping-pong balls into two cups. For a further description and an awesome demo video, check out this link.

Rocket Competitions

During my Sophomore and Junior years of undergrad, I participated in the NASA-funded Collegiate and Midwest Rocket Competitions respectively. The Collegiate competition objective was to launch a boosted dart and characterize its rotational motion. The Midwest competition involved launching the same rocket twice with the second launch implementing a drag system such that it reached 75% of the first launch's peak altitude. In both projects, my role involved designing and programming the electronics bay.

Balloon Payload Project

During my first internship, I participated in the NASA-funded Elijah High-Altitude Balloon Payload program. This involved working on a 6-member team that designed and launched a balloon payload with experiments, analyzed the data received, and presented the results at the 2014 Wisconsin Space Grant Consortium Conference. My role involved characterizing solar efficiency with altitude and payload spin from solar cells. Read more here.

Aquaponics Energy-Flow Characterization & Optimization

Besides for robotics, advanced energy systems such as aquaponics and renewable energy is a growing field. As google defines it, aquaponics is "a system of aquaulture in which the waste produced by farmed fish or other aquatic animals supplies nutrients for plants grown hydroponically, which in turn purify the water." See the gif for a small-scale animation of this process. My senior design team - the Efficient Aquaponics Sustainability Effort - focused on an indoor multi-room facility in Kenosha, WI called Natural Green Farms (NGF). Our mission was to propose an energy-efficient and cost-effective system which would supplement or replace NGF's current energy supply. Read more here to learn how we accomplished this mission.

Interests

  • Autonomy
  • Path Planning
  • Computer Vision
  • Machine Learning
  • Artificial Intelligence
  • Embedded Systems
  • Algorithm Design
  • Robotic Swarms
  • Controls

About

One of the best feelings in the world is making a difference in society, no matter how small or great. Robotics is a growing field that does just that, be it in space exploration, prosthetics, or self-driving cars. At Northwestern, my main objective is to study autonomous robotics, which involves path planning, AI, computer vision, algorithm design, embedded systems, controls, and a lot of other useful subjects. With technology advancing as quickly as it is, my vision is to help make a difference in any of a variety of fields including (but not limited to) the aerospace, automotive, and/or medical industries. I believe that my creativity, passion for the field, and growing experience will help me get there.

-Mike


Want to learn more? Check out my LinkedIn profile, download my resume, or send me an e-mail using the links below.

Contact

Feel free to use the form below to get a conversation started with me and I'll get in touch with you as soon as possible. Thanks!