Beginner:Client libraries-6创建自定义的msg和srv文件

发布时间 2023-06-02 15:16:51作者: gary_123

目标:定义自定义接口文件(.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
)