为一个包创建消息(.msg)和服务(.srv)

一、创建消息:
1、cd到包目录、mkdir msg文件夹;
2、echo "int64 num" > msg/Num.msg 新建Num.msg文件并向文件中写入自定义的消息类型;
3、打开package.xml文件添加编译依赖和运行依赖
      <build_depend>message_generation</build_depend>
     <run_depend>message_runtime</run_depend>
4、打开CMakeLists.txt文件,在find_package()函数中添加message_generation依赖项使编译包时把自定义的消息生成             c++或python代码;
5、在CMakeLists.txt文件中找到add_message_files()函数,去掉注释,在形参列表中添加自定义的消息Num.msg;
6、在CMakeLists.txt文件中找到generation_messages()函数,去掉注释。
7、用rosmsg show Num查看新定义的消息类型。


二、创建服务:
1、cd到包目录、mkdir srv文件夹;
2、echo "int64 num" > srv/Add.srv 新建Add.srv文件并向文件中写入自定义的服务;或者roscp [package] [service]                     srv/Add.srv从别的包复制一个服务到当前包下; 
3、与创建消息一样;
4、与创建消息一样,message_generation依赖项对srv文件的传化也起作用;
5、在CMakeLists.txt文件中找到add_service_files()函数,去掉注释,在形参列表中添加自定义的服务Add.srv;
6、与创建消息一样;
7、用rossrv show Add查看新定义的消息类型。

你可能感兴趣的:(服务,消息,ROS)