一、说明
本篇文章参考ROS wiki教程
二、msg and srv
参考http://wiki.ros.org/ROS/Tutorials/CreatingMsgAndSrv
三、在包里添加新的msg
-
在包里创建一个msg文件夹,在此文件夹下创建自己的.msg文件
-
在
pakage.xml
文件中加入以下依赖<build_depend>message_generation</build_depend> <exec_depend>message_runtime</exec_depend>
-
在
CMakeLIsts.txt的find_package
中加入message_generation
: -
在
CMakeLIsts.txt的catkin_package
中加入CATKIN_DEPENDS message_runtime
: -
修改
CMakeLIsts.txt的add_message_files
,加入自己的.msg
文件: -
把
CMakeLIsts.txt的generate_messages
注释去掉:
现在msg已经添加到你的包里,可以使用rosmsg show
指令来查看
四、在包里添加新的srv
-
在包里创建一个srv文件夹,在srv文件夹下创建自己的.srv文件
-
确保
package.xml
文件里有以下语句:
<build_depend>message_generation</build_depend>
<exec_depend>message_runtime</exec_depend>
- 确保
CMakeLists.txt的find_package
里有message_generation
(Despite its name, message_generation works for both msg and srv.)
- 去掉
CMakeLists.txt的add_service_files
的注释,并加入自己的.srv文件:
现在srv文件已经加入包里,可以使用rossrv show
查看:
不记得包的名字也可以直接使用 *rosmsg show 和 rossrv show *
- 确保把
CMakeLIsts.txt的generate_messages
注释去掉:
最后需要回到catkin_workspace的根目录,执行catkin_make
五、.msg和.srv文件编译后的存放位置
参考http://wiki.ros.org/ROS/Tutorials/CreatingMsgAndSrv