Description
In this course, you will :learn
- Master ROS basics
- Create, build, run, and debug your ROS program
- Master ROS core functionalities
- Learn ROS best practices to make your application readable and scalable
- Create reusable code for any robot powered by ROS
- Write ROS code with both Python and C++
- Learn by doing, not just watching
Syllabus:
1. Install ROS and Setup Your Environment
- [UPDATE] Quick note on versions - please read
- Which ROS Version to Use ? Kinetic, Melodic, Noetic ? What about ROS2?
- Install Ubuntu 20.04 on a Virtual Machine
- Install ROS Noetic on Ubuntu 20.04
- Launch Your First ROS Master
2. Run Your First ROS Program
- Create a Catkin Workspace
- Additional Note about Setting Up your ROS Environment
- Create a ROS Package
- What is a Node ?
- Your First Python Node
- Your First C++ Node
- Debug Your Nodes With Command Line Tools
- Visualize Your ROS Graph With rqt_graph
- Experiment on Nodes With Turtlesim
3. Communicate With ROS Topics
- What is a Topic ?
- Create a Python Publisher
- Create a Python Subscriber
- Create a C++ Publisher
- Create a C++ Subscriber
- Use Anonymous Nodes to Launch Multiple Publishers/Subscribers
- Debug Topics With Command Line Tools
- Visualize Topics With rqt_graph
- Experiment on Topics With Turtlesim
- Topic Activity
4. Communicate With ROS Services
- What is a Service ?
- Create a Python Service Server
- Create a Python Service Client
- Create a C++ Service Server & Client
- Debug Services With Command Line Tools
- Experiment on Services With Turtlesim
- Service Activity
5. Customize Your Application With Msg and Srv Files
- What are Msg and Srv Definitions ?
- Create and Build Your Own Custom Msg
- Use Your Custom Msg in Your Code
- Create Your Own Custom Srv
- Debug Msg and Srv With Command Line Tools
- Msg & Srv Activity
6. Make Your Application Scalable With ROS Params and Launch Files
- What is a ROS Parameter ?
- Manipulate Parameters With Command Line Tools
- Handle Parameters With Python
- Handle Parameters With C++
- What is a Launch File ?
- Create a Launch File to Start all Your Parameters and Nodes