Обучение ROS2 C++ PYTHON
Полезная коллекция примеров rclcpp и rclpy для погружения в ROS2.
Цель этого репозитория – помочь процессу изучения базовых, средних и продвинутых функций ROS2 с помощью коллекции примеров узлов, готовых к компиляции и использованию. Все узлы протестированы с помощью ROS2 HUMBLE.
Дерево папок
CPP
Все подпапки охватывают определенную функцию и включают свои собственные файлы CMakeLists.txt и package.xml, поэтому вы можете скопировать и вставить отдельный модуль подпапки и поместить его в рабочее пространство ROS2 для их компиляции.
- 01 Начните с простых узлов
- my_first_node.cpp
- node_with_class.cpp
- node_timer_without_class.cpp
- node_timer_with_class.cpp
- 02 Издатель и подписчик
- simple_publisher_node.cpp
- simple_subscriber_node.cpp
- simple_publisher_class_node.cpp
- simple_subscriber_class_node.cpp
- sub_pub_pipeline.cpp
- Publish_custom_message.cpp
- msg/EmployeeSalary.msg
- 03 Пользовательские сообщения и адресаты
- 04 Сервис и клиент
- service_node.cpp
- service_node_class.cpp
- client_node.cpp
- client_node_class.cpp
- 05 Параметры
- 06 Плагины
- Vehicle_base/include/vehicle_base/regular_vehicle.hpp
- vechicle_base/src/create_vehicle.cpp
- Vehicle_plugins/src/vehicle_plugins.cpp
- Vehicle_plugins/plugins.xml
- 07 Действия
- action_tutorial/src/simple_action_client.cpp
- action_tutorial/src/class_action_client.cpp
- action_tutorial/src/simple_action_server.cpp
- action_tutorial/src/class_action_server.cpp
- custom_action/действие/Concatenate.action
- 08 Синхронизация сообщений
- message_sync/src/message_sync.cpp
- 09 Создать библиотеку с заголовочным файлом
- издатель_библиотеки/src/publisher_library.cpp
- use_library/src/use_library.cpp
- 10 динамических вещателей TF2
- Dynamic_tf2_publisher/src/tf2_publisher.cpp
- Dynamic_tf2_publisher/src/tf2_publisher_node.cpp
ПИТОН
Все подпапки охватывают определенную функцию и включают свои собственные файлы setup.py и package.xml, поэтому вы можете скопировать и вставить один модуль подпапки и поместить его в рабочее пространство ROS2 для их компиляции.
- 01 Начните с простых узлов py
- my_first_node.py
- node_with_class.py
- node_timer_without_class.py
- node_timer_with_class.py
- 02 Издатель и подписчик
- simple_publisher_node.py
- simple_subscriber_node.py
- simple_publisher_class_node.py
- simple_subscriber_class_node.py