ROS 2 for Beginners
Nodes, topics, services and your first robot package in Python.
Taught by Sristi Maharjan · Robotics Engineer
What you'll learn
- Install ROS 2 on Ubuntu and inspect a running system with ros2 node, topic, service and rqt_graph
- Create a colcon workspace and a Python package with correct package.xml and setup.py entries
- Write publisher, subscriber, service and client nodes with rclpy using timers and callbacks
- Start multiple nodes with a Python launch file and configure them through parameters and YAML
- Broadcast and query coordinate frames with TF2 and visualise robot data in RViz
- Connect a Python package to a Gazebo simulation and drive a simulated robot from your own node
About this course
ROS 2 is the software framework behind most modern research and commercial robots, and this practical course teaches you to use it from a clean Ubuntu install to a simulated robot you can drive. It is designed for programmers, engineering students and makers who know basic Python and the Linux terminal but have never built a ROS 2 system. You will install a current LTS distribution such as Jazzy, explore a running robot with the ros2 command-line tools, create a colcon workspace and a Python package, and write publisher, subscriber and service nodes with rclpy. From there you will organise everything with launch files and parameters, understand coordinate frames with TF2, visualise sensor data in RViz, and connect your package to a Gazebo simulation. Every lesson is hands-on with real commands and runnable code, so by the end you can read, run and debug a ROS 2 project rather than copy-pasting commands you do not understand.
Course content
6 lessons- 1Installing ROS 2 and Exploring the Computation GraphSet up a current ROS 2 LTS on Ubuntu and learn nodes, topics and messages using the command-line tools.Preview
- 2Workspaces and Packages with colconCreate a workspace, generate a Python package, understand package.xml and setup.py, and build with colcon.
- 3Writing Publisher and Subscriber Nodes with rclpyBuild a timer-driven publisher and a callback-based subscriber in Python and connect them over a topic.
- 4Services, Parameters and Launch FilesAdd request/response services, configure nodes with parameters and start everything with one launch file.
- 5Coordinate Frames with TF2 and Visualising in RVizUnderstand frames and transforms, broadcast them with tf2_ros, and see your robot and its data in RViz.
- 6Simulation with Gazebo and Your First Robot PackageSpawn a robot in Gazebo, bridge its topics into ROS 2, and drive it from your own Python node.