ROS2 C++ PYTHON 학습
ROS2를 자세히 살펴보는 데 유용한 rclcpp 및 rclpy 예제 모음
이 저장소는 컴파일하고 사용할 준비가 된 예제 노드 모음을 통해 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
- 게시_사용자 정의_메시지.cpp
- msg/EmployeeSalary.msg
- 03 사용자 정의 메시지 및 srv
- 04 서비스 및 클라이언트
- service_node.cpp
- service_node_class.cpp
- 클라이언트_노드.cpp
- 클라이언트_노드_클래스.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/action/Concatenate.action
- 08 메시지 동기화
- message_sync/src/message_sync.cpp
- 09 헤더파일로 라이브러리 생성
- 게시자_라이브러리/src/publisher_library.cpp
- use_library/src/use_library.cpp
- 10 TF2 다이내믹 브로드캐스터
- 동적_tf2_publisher/src/tf2_publisher.cpp
- 동적_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