This document outlines the planned features and improvements to be added to the ROS 2 Learning Repository. The list includes various ROS 2 functionalities, examples, and other resources to enhance the learning experience.
- Add Python scripts demonstrating basic ROS 2 functionalities:
- Templet Code: Base code for simple python Ros2 programs.
- Node creation: Simple example of creating a ROS 2 node in Python.
- Publishing and subscribing: Python examples for publishing to and subscribing from topics.
- Service and client: Implement a service server and client in Python.
- Action server and client: Demonstrate an action server and client example.
- Parameter management: Python scripts for setting, getting, and managing parameters in ROS 2 nodes.
- Provide examples of using default messages in ROS 2:
- Standard messages: Examples using
std_msgs
,sensor_msgs
,geometry_msgs
, etc. - Custom messages: Instructions on creating and using custom message types.
- Topic introspection: Add scripts to show how to introspect topics using ROS 2 commands (
ros2 topic list
,ros2 topic info
, etc.).
- Standard messages: Examples using
- Include a dedicated section for Turtlesim package:
- Basic commands: Instructions to run and interact with Turtlesim.
- Drawing shapes: Example scripts to make the turtle draw basic shapes (square, circle, etc.).
- Service calls: Examples of calling Turtlesim services (e.g.,
clear
,reset
, etc.). - Topic publishing: Scripts to control the turtle using topic publishing (e.g.,
cmd_vel
). - Action examples: Using actions to control Turtlesim movement.
- Add examples for managing ROS 2 packages:
- Creating a new package: Tutorial on how to create a new ROS 2 package.
- Building packages with Colcon: Example and explanation of using Colcon for building and managing packages.
- Managing dependencies: Demonstrate how to manage package dependencies in
package.xml
.
- Add tutorials on visual tools available in ROS 2:
- RQt tools: Usage of
rqt_graph
,rqt_console
,rqt_plot
, etc. - RViz2: Introduction to RViz2 for visualization.
- ROS 2 CLI tools: Examples using ROS 2 command-line tools for debugging and introspection.
- RQt tools: Usage of
- Enhance documentation for each section and example:
- README files: Add detailed README files for each example package.
- Step-by-step guides: Provide step-by-step instructions for setting up and running each example.
- Comments in code: Ensure all code examples are well-commented for educational purposes.
Feel free to add more items or suggest changes by creating an issue or opening a pull request! Let's make this repository a comprehensive resource for learning ROS 2.