[ROS2] 인터페이스 작성
인터페이스 작성
인터페이스 패키지 생성
인터페이스로만 구성된 패키지를 별도로 만들어 사용하는 것이 의존성 면에서 관리하기 용이함.
$ cd robot_ws/src
$ ros2 pkg create --build-type ament_cmake msg_srv_action_interface_example # 예제 패키지 생성
$ cd msg_srv_action_interface_example/
$ mkdir msg srv action
다음과 같이 각 폴더에 인터페이스 파일을 넣어준다. 각 파일의 이름은 CamelCased 규칙을 따른다.
- msg
# Messages
builtin_interfaces/Time stamp
float32 argument_a
float32 argument_b
- srv
# Constants
int8 PLUS = 1
int8 MINUS = 2
int8 MULTIPLY = 3
int8 DIVISION = 4
# Request
int8 arithmetic_operator
___
# Response
float32 arithmetic_result
- action
# Goal
float32 goal_sum
___
# Result
string[] all_formula
float32 total_sum
___
# Feedback
string[] formula
패키지 설정 파일(package.xml)
~workspace/src/인터페이스 패키지 경로에 존재하는 package.xml에서 다음을 추가한다.
빌드 설정 파일(CMakeLists.txt)
다음과 같이 set 명령어로 msg, srv, action 파일을 지정하고
rosidl_generate_interfaces에 해당 set들을 기입한다.
더 자세한 내용은 책을 참고
간단히 요약하면 인터페이스의 패키지 작성은 인터페이스 파일을 신규로 작성하여 패키지 설정 파일과, 빌드 설정 파일만 제대로 작성해주면 된다.
댓글남기기