Introduction
  • Welcome !
  • What is ROS, When to use it, and Why ?
  • How to get the most out of this course
Install ROS and Setup Your Environment
  • Intro
  • [UPDATE] Quick note on versions - please read
  • Which ROS Version to Use ? Kinetic, Melodic, Noetic ? What about ROS2?
  • [If you use ROS Noetic] Install Ubuntu 20.04 on a Virtual Machine
  • [If you use ROS Noetic] Install ROS Noetic on Ubuntu 20.04
  • [If you use ROS Melodic] Install Ubuntu 18.04 on a Virtual Machine
  • [If you use ROS Melodic] Install ROS Melodic on Ubuntu 18.04
  • Launch Your First ROS Master
  • Section Conclusion
Run Your First ROS Program
  • Intro
  • 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
  • Section Conclusion
Communicate With ROS Topics
  • Intro
  • 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
  • Topic Activity - Solution
  • Section Conclusion
Communicate With ROS Services
  • Intro
  • 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
  • Service Activity - Solution
  • Section Conclusion
Customize Your Application With Msg and Srv Files
  • Intro
  • 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
  • Msg & Srv Activity - Solution
  • Section Conclusion
Make Your Application Scalable With ROS Params and Launch Files
  • Intro
  • 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
  • Section Conclusion
Bonus
  • Replay a Topic With ROS Bags
  • Use OOP With ROS - Python
  • Use OOP With ROS - C++
  • Work With Multiple Catkin Workspaces
Conclusion
  • What You've Learned
  • What to Do Next ?
  • Useful Resources