ROS2で既存メッセージ型を使ってカスタムメッセージを作るときのTips

September 16, 2023
Author(著者):
beaver
ROS2

タイトルのとおりですが、std_msgsとか使ってカスタムメッセージを作るときにハマったので、備忘録的に記載します。

知っていればなんてことはないのですが、

仮に

geometry_msgs/PointStamped[] array

というカスタムメッセージを作るときに

20 | #include "geometry_msgs/msg/detail/point__struct.hpp" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. gmake[2]: *** [CMakeFiles/msg_interface__rosidl_typesupport_cpp.dir/build.make:140: CMakeFiles/msg_interface__rosidl_typesupport_cpp.dir/rosidl_typesupport_cpp/msg_interface/msg/point_stamped_array__type_support.cpp.o] エラー 1

みたいなエラーが出てしまったときは、CMakeListsに

rosidl_generate_interfaces(${PROJECT_NAME}
"msg/PointStampedArray.msg"
DEPENDENCIES geometry_msgs
)

のような形でDEPENDENCIES書いてあげると通ります。

色々調べていると、find_packageしたりするといいとかありますが、自分の環境では↑だけでよかったです。


copyright © 2024 beavers-hive.com