Portolio of David Elkan-Gonzalez

Our Neato was tasked with mapping an unknown area while using a camera to search for several colored balls. The colored balls shown in this map matched the real location of the balls they represented within 3 inches and are the same color as the ball they represent.
Neato Search and Rescue
Team Size: 3
Project Duration: 4 weeks
Year Completed: Senior
Key Skills: ROS, Python, Computer Vision, Object Recognition, Robot Control, Image Processing
I led a team of 3 students on a simulated robotic search and rescue mission. Our objective was to have a Neato vacuum robot assist in a simulated disaster. After a disaster, such as building or mine collapse, sending in human rescuers can be dangerous. Dangers such as gas leaks or structural instabilities which could endanger rescuers, potentially resulting in more victims.
By sending in robots first, we can analyze for potential enviornmental hazards that may impede rescuers. At the same time the robots can help speed up rescuers by mapping the area and searching for survivors using computer vision. The work of rescuers can be done much faster when they know what dangers to be aware of, have a map of the area, and know exactly where to find the victims. In our simulated disaster area victims were represented by dodgeballs.
Room mapping was managed effectively with Hector SLAM, while victim detection was performed by merging data from color contour mapping and Hough circle transform. Combining both color and shape detection allowed for reliable victim detection and eliminated false positives. Identified victims had their precise locations calculated based on the image and were plotted in the map produced by hector slam to help guide rescuers. Navigation was done with a modified wall-follow, using the age old method of (metaphorically) keeping one hand on the wall to solve a maze. As the most experience coder on the team, I took a leadership role and played an integral part in planning our strategy.