继续开始搞无人机,介绍一个查看消息打印遇到的问题。
问题描述:
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这个消息。
到这里如果你都正常的话,说明你自定义消息是对的。
如果你没有的话,说明你自定义的话题并没有做对,请看这篇文章,这个作者写的就挺好的。
2、更新工作空间的变量
这里一般就是你的.bashrc文件里没有source你的工作空间,或者说source的工作空间里出现了重名的情况。
因此,你可以按照如下代码解决这个问题。
cd XXX_ws
source devel/setup.bash
...
//运行你的程序
...
//查看你的自定义话题
rostopic echo XXX
到这里,问题应该解决了。其他问题,欢迎留言。