Embedded System Terrain Navigation

Motivation: This is a project that I implemented for the Embedded Systems (CprE288) course at Iowa State University. This project served as a practical application of assembly and C programming, and parsing datasheet information.

Summary: For this project, I worked on a team of people to create a Graphical User Interface to assist us to navigate through an obstacle course using only the sensors on the robot. We used an iRobot Create with an ATmega128 Microprocessor. Through this project I gained experience with mixed C and assembly programming and how to navigation though a Microprocessor datasheet. We  used TortoiseSVN to share and uplad our files and worked closely together on various parts of the program. The obstacle course consisted of tall pipes that we could sense with our infrared or sonar sensors, short pipes that we could only sense with our bump sensor, holes in the ground that we could sense with out cliff sensor, and a virtual wall marked by IR beams. Additionally there was a “retrieval zone” maked by 4 pipes of a smaller diameter and a white floor that we were to navigate to and stop. We navigated though the  course by scanning for pipes as we stood still and generating an ascii map of the obstacles we could see. “goal” posts (pipes that surrounded the retrieval zone) were marked differently than other pipes so that we knew where we needed to navigate to. We also updated the map as we bumped into obstacles and detected cliffs


Skills Aquired: C programming experience, assembly programming experience, Source Control (SVN), team programming, programming on a team, sensor calibration

Resources Used: Course lecture slides, iRobot Create, ATmega128 microprocessor

Comments are closed.