최대 1 분 소요

인터페이스 작성

인터페이스 패키지 생성

인터페이스로만 구성된 패키지를 별도로 만들어 사용하는 것이 의존성 면에서 관리하기 용이함.

$ 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

Screenshot from 2024-02-07 17-33-43

다음과 같이 각 폴더에 인터페이스 파일을 넣어준다. 각 파일의 이름은 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에서 다음을 추가한다.

Screenshot from 2024-02-07 17-47-17

빌드 설정 파일(CMakeLists.txt)

Screenshot from 2024-02-07 17-57-42

다음과 같이 set 명령어로 msg, srv, action 파일을 지정하고

Screenshot from 2024-02-07 17-58-55

rosidl_generate_interfaces에 해당 set들을 기입한다.

더 자세한 내용은 책을 참고

간단히 요약하면 인터페이스의 패키지 작성은 인터페이스 파일을 신규로 작성하여 패키지 설정 파일과, 빌드 설정 파일만 제대로 작성해주면 된다.

댓글남기기