参考:ROS2入门教程——19. 自定义话题及服务消息类型 - 古月居
ros2 pkg create --build-type ament_cmake tutorial_interfaces
在功能包内创建msg,srv文件夹

在msg文件夹下创建Num.msg, 并输入内容为:
int64 num
在srv文件夹下创建AddThreeInts.srv, 并输入如下内容:
int64 a
int64 b
int64 c
---
int64 sum
增加如下内容:
find_package(rosidl_default_generators REQUIRED)
rosidl_generate_interfaces(${PROJECT_NAME}
"msg/Num.msg"
"srv/AddThreeInts.srv"
)

增加如下内容:
rosidl_default_generators
rosidl_default_runtime
rosidl_interface_packages

回到工作目录:
colcon build --packages-select tutorial_interfaces
可能遇到的问题
(1)No module named 'em'

解决方法:
pip uninstall em
pip install empy
参考:ROS:No module named 'em' 解决方法 - 码上快乐
(2) No module named 'lark'

解决方法:
pip3 install lark --prefer-binary
参考:https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/4491
(1) 初始化环境
source install/setup.bash
(2)查看自定义的接口
ros2 interface show tutorial_interfaces/msg/Num
![]()
ros2 interface show tutorial_interfaces/srv/AddThreeInts
