ROS学习笔记(七):新建一个消息和服务

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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值