ROS is quite complicated to get up and running, and to really understand. This is a warmup project which will allow students to really get familiar with it in a hands-on manner.
- Install ROS on your computer and demonstrate operation
- Write a simple example program with ROS and run in simulator
- Understanding the role and purpose of nodes, topics, commands and services
- Understanding the key components and utilities: ROSCORE, ROSTOPICS
- Ability to write and run ROS Nodes
- Join the community
- A brief report in your lab notebook describing the results of each of the “Steps” below. Include a link to a video of your results to your lab notebook.
Steps to do
Part 1 - Setup
- Acquire and read the first 4 Chapters of Programming Robots with ROS
- Get Ubuntu ready and install ROS on your computer, FOLLOW EXACTLY THESE INSTUCTIONS.
- Use gazebo simulator to view the robot in a simulated world.
- Use teleop to drive the robot around
- See what it does and try to record a video (Screencast).
- Read especially Chapter 4 again carefully.
- Watch and follow the recommended youtube tutorials in ROS concept.
Part 2 - First program
- First thing first: Sign up a ROS answer account. Join the community.
- Post a question! See what it’s like to get help from the community!
- In part One, you learned about how to try around the simulated robot, in this part you are going to explore the idea of “Node”.
- Write a node that subscribes the location(hint: use command rostopic list to see what you can subscribe) of the monitor and print out the result with ROS_INFO.
Part 3 - Random walk
- With the code you write before. Now try to publish a message.
- Publish twist messages to make the robot walk randomly.
- Write and get to run the WanderBot example from the book
Part 4 - Something more complicated
- With the knowledge of Subscriber and Publisher, write your version of teleop.
- Advanced: make a gui teleop. You can start from here: https://github.com/rozoalex/ROS_NavigationControlPanel/blob/master/scripts/location_monitor_node.py
- Run the similators and move the TB3 with teleop
- Write a ROS program to have the robot drive around one of the obstacles in the simulator
A video for your enjoyment