The main objective of this lab is to familiarize you with basic control of the Turtlebot robot. Please write all your own code for this assignment (however, you may talk with others - just don't copy their code).
Upon successful completion of this lab, you will be able to:
- Run the turtlebot simulator in Gazebo or Stage
- Control the turtlebot via ROS messages
- You can use Gazebo (realistic and identicial commands as the physical robot) or Stage (lower graphics requirements and very similar commands as the physical robot) for this lab.
- First, go through the tutorial on the Stage simulator:
https://github.eecs.wsu.edu/pages/flukolo/Cpts483-Intro-To-Robotics/Stage-Simulator/, or the Gazebo simulator:
https://github.eecs.wsu.edu/pages/flukolo/Cpts483-Intro-To-Robotics/turtlebot-gazebo-sim/. You can use either your own machine or on one of the machines in the lab.
This will allow you to run a simulated turtelbot via the keyboard.
Possible problems: if you get a problem on the command
rosrun stage_ros stageros willow-erratic.world
you can try to locate the willow-erratic.world file. First, make sure it's executable:
sudo chmod +x willow-erratic.world
second, you may want to include the absolute path when executing the rosrun command.
- Second, go through the tutorial on controling the turtlebot programatically: https://github.eecs.wsu.edu/pages/flukolo/Cpts483-Intro-To-Robotics/dana_turtlebot_package/. Faustino updated move.py on Sunday the 7th - you may have to pull it from git. By running move.py, or the equivalent file in C, you can see one of the turtlebots move and look at the code that does this.
- Third, create a new python or C file, square. Write code so that you can
have the turtlebot move in a square.
- Fourth, create a new python or C file spiral. Write code so that you can have a turtlebot move outwards from a center point in a spiral pattern.
- Fifth, for extra credit, get both turtlebots moving at the same time in some pattern.
In Angel, please submit the following in a single compressed file (e.g., rar or zip):
Note: if you try to upload .py files directly into Angel, Matt won't be able to read them because Angel things you're trying to attack the webserver. Clearly built with CS students in mind....
- Your code for the 3rd, 4th, and 5th (optional) parts of the assignment
- Videos of parts 3, 4 and 5 (optional).
This can be a screen capture (preferred) or just use your phone to caputer a video of the computer monitor. You can send the actual video or a text document with a link to the video.