ROS custom msg 파일 작성

유정현·2022년 8월 21일

ROS

목록 보기
4/5

msg 파일이란?

GPS나 IMU 등 센서들의 정보를 다른 노드로 전달할때, topic 정보를 담는 틀 역할을 한다.

ROS에서 제공해주는 msg 파일도 있고, 직접 만들 수도 있다.

주로 sensor_msgs, geometry_msgs, nav_msgs 등에서 가져다 쓴다.

custom msg 파일 생성

  1. 먼저, 패키지 내에 msg 디렉터리를 만들고, 원하는 형식을 추가한다.

tutorial/msg/Mymsg.msg

  1. CMakeLists.txt와 package.xml에서 다음과 같이 작업해줘야 한다.
  • CMakeLists.txt

i) find_package에 message_generation을 추가해준다.

find_package(catkin REQUIRED COMPONENTS
   roscpp
   rospy
   std_msgs
   message_generation
)

ii) catkin_package에 message_runtime을 추가해준다.

catkin_package(
  ...
  CATKIN_DEPENDS message_runtime ...
  ...)

iii) add_message_files와 generate_message에 다음과 같이 추가해준다.

add_message_files(
  FILES
  Mymsg.msg
)
generate_messages(
  DEPENDENCIES
  std_msgs
)
  • package.xml

다음을 추가한다.

<build_depend>message_generation</build_depend>
<exec_depend>message_runtime</exec_depend>

message_generation은 빌드할 때 필요하고, message_runtime은 실행할 때 필요하다.

  1. 패키지 빌드
$ cd ~/catkin_ws
$ catkin_make

Python에서 사용 시

Python file에서 사용할 때는, 다음과 같이 사용하면 된다.

from tutorial.msg import Mymsg
profile
Mechanical Engineering, SKKU

0개의 댓글