ROS学习笔记(七):新建一个消息和服务
2017-07-10 15:59
204 查看
1.简介
msg 文件是一个描述ROS消息的文件,src文件则是一个描述服务的文件,一般包含请求和响应两个部分。
在msg文件中,常用到的数据类型包括int8,int16,int32,int64(同样还有无符号的),float32,float64,string,time,duration以及一些数组。在ROS中还有一种特殊的类,Header。
2.msg
创建一个msg文件
最后一行指令向msg文件内写入一行“int64 num”
打开package.xml,找到下面两行,去掉注释
打开CMakeList.txt,找到find_package
同样,找到catkin_package,添加runtime依赖项
找到add_message_files,并去掉注释,作如下修改
找到generate_message,解注释
3.srv
新建一个srv文件
利用复制指令拷贝代码
在CMakeList中找到add_service_files,作如下修改
4.编译运行
运行后,C++头文件会被创建在~/catkin_ws/devel/include/beginner_tutorials/。Python头文件被创建在~/catkin_ws/devel/lib/python2.7/dist-packages/beginner_tutorials/msg。
msg 文件是一个描述ROS消息的文件,src文件则是一个描述服务的文件,一般包含请求和响应两个部分。
在msg文件中,常用到的数据类型包括int8,int16,int32,int64(同样还有无符号的),float32,float64,string,time,duration以及一些数组。在ROS中还有一种特殊的类,Header。
2.msg
创建一个msg文件
$ roscd beginner_tutorials $ mkdir msg $ echo "int64 num" > msg/Num.msg
最后一行指令向msg文件内写入一行“int64 num”
打开package.xml,找到下面两行,去掉注释
<build_depend>message_generation</build_depend> <run_depend>message_runtime</run_depend>
打开CMakeList.txt,找到find_package
find_package(catkin REQUIRED COMPONENTS roscpp rospy std_msgs message_generation )
同样,找到catkin_package,添加runtime依赖项
catkin_package( ... CATKIN_DEPENDS message_runtime ... ...)
找到add_message_files,并去掉注释,作如下修改
add_message_files( FILES Num.msg )
找到generate_message,解注释
generate_messages( DEPENDENCIES std_msgs )
3.srv
新建一个srv文件
$ roscd beginner_tutorials $ mkdir srv
利用复制指令拷贝代码
$ roscp rospy_tutorials AddTwoInts.srv srv/AddTwoInts.srv
在CMakeList中找到add_service_files,作如下修改
add_service_files( FILES AddTwoInts.srv )
4.编译运行
# In your catkin workspace $ roscd beginner_tutorials $ cd ../.. $ catkin_make install $ cd -
运行后,C++头文件会被创建在~/catkin_ws/devel/include/beginner_tutorials/。Python头文件被创建在~/catkin_ws/devel/lib/python2.7/dist-packages/beginner_tutorials/msg。
相关文章推荐
- msgget()打开或新建一个消息队列
- 为一个包创建消息(.msg)和服务(.srv)
- ROS学习笔记4-使用节点,消息,主题和服务
- 基于netty4的tcp消息转发服务--外包接的一个小项目
- 关于UDP消息服务抛出“远程主机强迫关闭了一个现有的连接”的异常说明及处理方法
- mDNS原理的简单理解——每个进入局域网的主机,如果开启了mDNS服务的话,都会向局域网内的所有主机组播一个消息,我是谁,和我的IP地址是多少。然后其他也有该服务的主机就会响应,也会告诉你,它是谁,它的IP地址是多少
- (2)创建一个服务和消息
- WCF 第五章 行为 为服务终结点行为实现一个消息检测器
- 关于UDP消息服务抛出“远程主机强迫关闭了一个现有的连接”的异常说明及处理方法
- Mysql如何新建一个服务和移除所新建的服务
- WCF入门随笔 (一). 新建一个WCF服务
- 新建一个启动服务(tomcat为例子)
- WCF 第五章 行为 为服务终结点行为实现一个消息检测器
- 微信小程序统一服务消息下发接口 公众号和小程序消息都可以在一个接口推送了
- Nodejs和一个简单的web页面消息推送服务
- [Unity&UI&NGU][UGUI]如何新建一个像《守望先锋》消息的信息框
- 【Android Training - 03】使用Fragments建立动态的UI [ Lesson 2 - 新建一个Fragment ]
- Axis2C发布一个服务
- 利用WCF的Duplex服务向Winform程序推送消息
- 新建一个spring boot项目