Tuesday, December 8, 2009

Past Projects

Here are a few of the autonomous robotics projects I did as an undergrad. I will only describe them briefly for now, but would be happy to go into more detail if there is interest.

Autonomous Can Sweeper
The goal of this project was to create a robot that could autonomously locate cans scattered randomly across a board and push the cans off the board. The robot spins and uses an infrared range sensor to find a can within the sensors viewing range and moves in the direction of a located can until infrared reflectance sensors detect the edge of the board. If the robot spins 360 degrees without locating a can, it moves to a new part of the board and continues its search. The logic for this robot was written in C and runs on an Atmel ATMega644 microcontroller. In the video below, you can see the results. The robot sometimes appears to give up on pushing a can, and this is due to the can moving out of the IR range sensor's field of view.




Autonomous Maze Navigation
The goal of this project was to have a robot autonomously navigate a maze and position itself over designated points in a certain amount of time. The dimensions of the maze are known and the kinematics of the robot are modeled. The robot uses IR range sensors and particle filter localization to determine its location within the maze. The beauty of the particle filter technique is that you can place the robot anywhere within the maze, and after a couple seconds of movement it can figure out its location within the maze with good precision. It then plans a path to the next location and moves to it while continuously updating its believed position within the maze. The code was written in C++ and ran on a painfully slow laptop that communicated with the robot via a typical wireless router. Range measurements were transmitted from robot to laptop, and movement commands were transmitted from laptop to robot. Results below.



PolyKart
This is a introductory level robotics program put on by the IEEE student branch at Cal Poly. I was a student in the program as a sophomore and directed the program as a senior. This is a great introduction to micro-controllers and a practical implementation of electrical and C-programming basics. The goal here is to autonomously navigate a high contrast line using IR reflectance sensors. At the end of the program, the robots are run head-to-head to see who has the most efficient algorithm. Overtaking the other robot or staying on the line longer than the other robot are the win conditions for each round. The video below is a match from some of the students I instructed. Note that the video plays twice the true speed (had my video settings incorrect).

First Post

Hello traveler from teh interwebs. I will be documenting my technology related work and interests using this blog. I am pursuing an MSEE at California Polytechnic State University and am interested in digital systems, especially relating to controls and signal processing. If you find anything on here that is useful to you, please leave a comment so I know who's visiting and send me a link to your blog/site.