https://cafe.naver.com/openrt/24802
위 그림과 같이, 토픽을 생성한 시간(POSIX Time)과 연산에 사용할 변수 a와 변수 b를 퍼블리시하는 토픽 퍼블리셔와 그를 서브스크라이브하는 토픽 서브스크라이버를 작성해 보자.
header파일은 include에 있고 cpp파일은 src에 위치해 있다.
이 코드들은 오로카 포스팅에 첨부된 github를 직접 보거나, ros2-seminar-examples로 끌어와 가져오면 된다.
/topic_service_action_rclcpp_example/include/arithmetic/argument.hpp
코드 해석: https://github.com/hwang-chaewon/STUDY__ROS2/blob/main/topic_service_action_rclcpp_example/arithmetic/argument.hpp
topic_service_action_rclcpp_example/src/arithmetic/argument.cpp
코드 해석: https://github.com/hwang-chaewon/STUDY__ROS2/blob/main/topic_service_action_rclcpp_example/arithmetic/argument.cpp
header파일은 include에 있고 cpp파일은 src에 위치해 있다.
(calculator노드는 많은 역할을 하므로 035에서 모두 해석할 수 없어,
추후 전체 해석 코드 링크를 첨부할 예정이다)
topic_service_action_rclcpp_example/include/calculator/calculator.hpp
topic_service_action_rclcpp_example/src/calculator/calculator.cpp
실행 명령어는 034에서 살펴봤고,
CMakeLists.txt에서 add_executable을 통해 cpp파일을 실행 가능하도록 만들었다.
예를 들어 argument.cpp 파일의 main 함수를 보면 rclcpp를 초기화하고 함수를 호출하고 소멸시키는 과정을 확인할 수 있다.