1.简介
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。