目标:定义自定义接口文件(.msg和.srv),在c++节点和Python中使用他们。
背景
有时候需要定义自己的消息和服务。之前教程都是已经定义好的系统的消息类型,本教程介绍最简单的自定义接口定义的方法。
任务
1、创建一个包
ros2 pkg create --build-type ament_cmake tutorial_interfaces

2、创建自定义消息
2.1 msg定义
创建了两个文件Num.msg以及Sphere.msg


2.2 srv定义
创建文件AddThreeInts.srv

3. CMakeLists.txt
将自定义的类型转换为具体语言可识别的消息,在CMakeLists.txt中添加如下
find_package(geometry_msgs REQUIRED) find_package(rosidl_default_generators REQUIRED) rosidl_generate_interfaces(${PROJECT_NAME} "msg/Num.msg" "msg/Sphere.msg" "srv/AddThreeInts.srv" DEPENDENCIES geometry_msgs # Add packages that above messages depend on, in this case geometry_msgs for Sphere.msg )