저는 ROS2 Humble 버전을 사용 중이며, TurtleBot에서 주행 로깅을 위한 custom message 패키지(custom_msgs
)를 작성하고 있습니다. MotionCommand.msg
와 MotionInfo.msg
두 개의 메시지를 정의하였고, 이를 이용해 주행 명령과 로깅 정보를 퍼블리시/서브스크라이브하는 구조를 구성 중입니다.
package.xml 및 CMakeLists.txt는 다음과 같이 작성했습니다:
custom_msgs 0.0.0 Custom message definitions swook MIT<buildtool_depend>ament_cmake</buildtool_depend>
rosidl_default_generators
std_msgs
cmake_minimum_required(VERSION 3.5)
project(custom_msgs)
find_package(ament_cmake REQUIRED)
find_package(std_msgs REQUIRED)
find_package(rosidl_default_generators REQUIRED)
rosidl_generate_interfaces(${PROJECT_NAME}
“msg/MotionCommand.msg”
“msg/MotionInfo.msg”
DEPENDENCIES std_msgs
)
ament_package()
MotionCommand.msg:
int32 algorithm_id
string from_coord
string to_coord
string status
MotionInfo.msg
float32 left_power
float32 right_power
float32 left_rpm
float32 right_rpm
string status
float32 cmd_vx
string from_coord
string to_coord
int32 algorithm_id
파일들의 내용은 이와 같고
colcon build --packages-select custom_msgs
을 진행하면
Starting >>> custom_msgs
— stderr: custom_msgs
CMake Error at /opt/ros/humble/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:229 (message):
Packages installing interfaces must include
‘<member_of_group>rosidl_interface_packages</member_of_group>’ in their
package.xml
Call Stack (most recent call first):
CMakeLists.txt:8 (rosidl_generate_interfaces)
Failed <<< custom_msgs [1.33s, exited with code 1]
Summary: 0 packages finished [1.68s]
1 package failed: custom_msgs
1 package had stderr output: custom_msgs
와 같은 메세지가 출력되며 실패합니다 원인이 무엇이고 해결가능한지 궁금합니다