Run the Neato Simulator

(note some of these files were added recently, make sure to update your comprobo2014 repo before trying this):

$ git fetch upstream
$ git merge upstream/master

Launch the simulator by typing:

$ roslaunch neato_simulator neato_empty_world.launch

You should see a picture of a mostly empty simulated world populated by a robot that looks similar to, but not quite like a Neato. I was not able to fine a SolidWorks model for the Neato, so I used the one from the Kobuki based that is used in the Turtlebot 2. If anyone is interested in making a model of the Neato it would be much appreciated!

You can add objects to your world using the "Insert" tab and expanding the "gazebosim.org/models" section. This should bring up a list of objects that you can add (it does take a while to populate). Click on one of the objects and drag it into the world (grey wall is a good one to start with). Note that you can move objects (and the robot) around the world by using the cross hair and rotate tools on the Gazebo toolbar.

Note: Wednesday September 17th I pushed a change that makes the rest of these steps unnecessary. You should be able to run your code from the real Neato on the simulated Neato without modification (i.e. no need for topic remapping).

A good place to start is this tutorial on exploring the Gazebo world. I am borrowing a few things from the Turtlebot package, so in order to move the robot around with your keyboard use this command:

$ roslaunch turtlebot_teleop keyboard_teleop.launch

In order to have nodes that you have already created, control the simulated robot you will have to do a bit of ROS topic remapping magic. For instance, to run the code we created in Day 3 of the class on the simulated robot you need to remap the topic cmd_vel to cmd_vel_mux/input/teleop. Here is an example:

$ rosrun in_class_code_day_3 wall_withslider.py cmd_vel:=cmd_vel_mux/input/teleop