why not!

in partnership with maila sepri, yavor georgiev and david benitez
spring 2005 - bruce maxwell

engin@swat:    physical systems analysis   .   digital systems   .   computer architecture   .   computer graphics   .   control theory   .   mobile robotics   .   VLSI Design   .   Electronics

Lab 1: Robot Control
A series of navigation and obstacle-avoidance functions were written to provide the Magellan robots with six basic motion capabilities. These functions were tested using the Nserver 2D simulator for Nomad robots, were then ported to the Magellan robots by adjusting the appropriate motion constants and replacing some functions with their Mage library equivalents. The functions we wrote were then grouped into a Navigation module and integrated with the IPC-based GCM message-passing system in accordance with the multi-layer architecture we are aiming for.

ENGR 028. Robotics
This course addresses the problems of controlling and motivating robots to act intelligently in dynamic, unpredictable environments. Major topics include robot perception using vision and sonar, kinematics and inverse kinematics, navigation and control, optimization and learning, and robot simulation environments. To demonstrate these concepts, we look at mobile robots, robot arms and positioning devices, and virtual agents. Labs focus on programming robots to execute tasks, explore, and interact with their environment.

Lab 3: Robot localization and mapping
For this lab we created a localization system that uses sonar and IR data and runs it through a particle (Bayesian) filter to deduce the current robot position based on a pre-created map of the environment, while the robot is freespace following. Initially we created the filter in the simulator, and it would localize and track successfully. Transitioning to the robot, however, was difficult and our final real-world implementation was far from perfect, due to the poor quality of the sonar and IR data. To tackle this problem, we performed an extensive sensor calibration, and also, we pre-filtered the incoming date to eliminate any specular bounces and other sensor artifacts. In the end, our implementation was able to track the robot continuously, with intermittent inaccuracies and slight noise.