ROS Roomba
Simple ROS program to run around a rectangular space, while avoiding walls.

Roomba Homework

Learning goals
  • Learn and practice Python
  • Learn and practice ROS Concepts
  • Experience the fact that there’s noise in the sensors
What to do
  • The iRobot ROOMBA is a vaccum cleaner. It moves in straight lines in a room until it comes to a wall or obstacle. At this point it stops and rotates in place for some number of degrees. And then it takes off again until it hits another obstacle.
  • You will be writing a ROS node to exhibit this behavior
  • Initially write and test in simulation (using Gazebo)
  • Then test in a live robot
  • The challenge is first, just getting it to work
Project
  • Write a new program which has a robot drive through an area surrounded by walls, and act something like a variation on a roomba.
  • It drives around until it comes close to an obstacle, rotates in place, and continues in a new direction.
  • It’s not immediately clear how much to rotate: should it rotate some amount each time or should the amount of rotation vary randomly?
  • You can elaborate this any way you like.
  • The challenge beyond just getting it to work, is to make sure it doesn’t get stuck somewhere. See how robust you can make it
Deliverables
  • Source code for your solution, zipped up
  • A pdf document explaining your solution in as much or as little detail as you like
  • A short video demonstration of your solution, as if you were showing it to a friend.