ROS自定义消息msgs无法通过rostopic echo查看问题解决

继续开始搞无人机,介绍一个查看消息打印遇到的问题。

问题描述:

rostopic echo XXX(topic_name)

Cannot load message class for [quadrotor_msgs/PositionCommand]. Are your messages built?

上边这个报错是在查看某个话题时出现的,大概意思就是我自己定义的话题类型

quadrotor_msgs/PositionCommand找不到,编译器给出的结论是是不是忘记编译了。也就是找不到你自己定义的msgs的.h文件的位置。


解决方法:

1、首先查看你是否把自定义的msgs设置好,看看有没有所谓的.h文件。

打开你的工作空间。

进入devel/include下。

可以看到这里有我的消息文件quadrotor_msgs,进入可以发现一堆的.h文件,其中包括PositionCommand.h这个消息

到这里如果你都正常的话,说明你自定义消息是对的。

如果你没有的话,说明你自定义的话题并没有做对,请看这篇文章,这个作者写的就挺好的。

ROS学习笔记5——话题通信自定义msg_ros中创建msg文件-CSDN博客文章浏览阅读1.2k次,点赞22次,收藏26次。在 ROS 通信协议中,数据载体是一个较为重要组成部分,ROS 中通过 std_msgs 封装了一些原生的数据类型,比如:String、Int32、Int64、Char、Bool、Empty.... 但是,这些数据一般只包含一个 data 字段,结构的单一意味着功能上的局限性,当传输一些复杂的数据,比如: 相机的信息... std_msgs 由于描述性较差而显得力不从心,这种场景下可以使用自定义的消息类型。_ros中创建msg文件https://blog.csdn.net/Simulink_/article/details/135583600

2、更新工作空间的变量

这里一般就是你的.bashrc文件里没有source你的工作空间,或者说source的工作空间里出现了重名的情况。

因此,你可以按照如下代码解决这个问题。

cd XXX_ws
source devel/setup.bash
...
//运行你的程序
...
//查看你的自定义话题
rostopic echo XXX

到这里,问题应该解决了。其他问题,欢迎留言。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值