ROS学习:完成创建ROS消息和ROS服务

本文分享了在ROS环境中创建消息和ROS服务的过程及常见问题解决办法,包括如何正确设置package.xml文件,编译CMakeLists.txt文件以及使用rosmsg命令验证创建的消息和服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本人按照ROS官网教程学习创建ROS消息和ROS服务,一度遇到许多烦心问题,在此记下博客为大家更好更快学习!


  1. 创建一个msg中
    $ echo "int64 num" > msg/Num.msg

    echo 与 > 连用表示在msg文件夹中创建Num.msg并将int64 num替换掉Num.msg中的代码,由于这是新建立的文件就相当于将int64 num写入Num.msg中。

  2. 随后一步,我们要确保msg文件被转换成为C++,Python和其他语言的源代码,教程中提示加入两行代码到文件package.xml中,但是使用catkin_make编译时会出现如下错误
    Error(s) in /home/lz/catkin_ws/src/beginner_tutorials/package.xml:
    - The manifest (with format version 2) must not contain the following tags: run_depend
    
    这里应该将
     <run_depend>message_runtime</run_depend>
    改为
    <exec_depend>message_runtime</exec_depend>
    再运行就不会出错。
  3. 按照教程更改了CMakeLists.txt中一系列代码后,进一步使用rosmsg命令检查ROS是否能够识别消息时会出现乱码返回,这时应当通过以下代码先对修改的CMakeLists.txt进行编译再配置环境:
    cd catkin_ws
    catkin_make
    source devel/setup.bash
    这样再运行rosmsg即可出现结果!
  4. 同样再应用rosmsg show命令,检查ROS是否能够识该服务时也需要先对CMakeLists.txt编译。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值