This repository documents my journey of learning ROS 2 Foxy from the ground up on Ubuntu 20.04.
As robotics and autonomous driving systems evolve, understanding their software architecture is essential. I'm studying ROS 2 (Foxy) to:
- Build a strong foundation in robot software development
- Understand key ROS 2 concepts like nodes, topics, services, actions, and launch files
- Prepare for working with Autoware, an open-source autonomous driving software stack built on ROS 2
My long-term goal is to gain the skills needed to work on autonomous driving systems by:
- Mastering ROS 2 Foxy concepts and tooling
- Understanding how ROS 2 enables modular, distributed, and real-time behavior in robotic systems
- Transitioning into Autoware.AI and Autoware.Auto development environments
- ๐
tutorials/
: Code examples based on ROS 2 official tutorials - ๐งช
experiments/
: Custom test nodes and communication patterns - ๐
notes/
: Study notes, architecture diagrams, and command references - ๐ง
launch/
: Launch files and package setups - ๐ก
communication/
: Publisher/Subscriber, Service/Client, Action examples
- Ubuntu 20.04 LTS
- ROS 2 Foxy Fitzroy
- Programming Languages: Python 3, C++ (rclcpp)
- Tools:
colcon
,rviz2
,ros2bag
,ros2 topic
,ros2 service
,ros2 action
Feel free to fork, clone, or open issues. This is an open learning projectโcontributions and suggestions are always welcome!