最近在玩ROS,写一点小错误的汇总。
关于rosrun
执行的文件找不到的错误
- 检查是否把当前workspace的devel文件夹下的
setup.bash
文件加入环境变量,如果没有,则通过source <setup.bash的路径>
添加。 - 我的
melodic
似乎有一个小bug,对于新创建的功能包,即便将启动脚本加入了环境变量,还是无法被rosrun
找到。我的方法是通过rospack profile
指令来查看当前所有的功能包。不知道为什么,执行完这个指令后就解决了问题。 - 下面这个错误是个妈见打的错误hhh:
IOError: [Errno 2] No such file or directory: u'${find ros_robotics}/urdf/${arg model}'
hhh,我应该是Python用多了,在Python中,变量直接加入字符串是通过花括号括起来的。但是ROS中是通过小括号括起来的。
URDF
文件的错误
xml
这种脚本语言没有什么报错信息debug起来很难受。我是使用urdf_to_graphiz
命令来debug的。urdf_to_graphiz
会自动生成graphviz
脚本,在生成的过程中将bug显示出来。比如我们需要debugrobot.urdf
这个文件,那么我们通过以下命令生成graphviz
流程图:(请确保你已经安装了相关的依赖库)
$ urdf_to_graphiz robot.urdf
如果你能够成功生成流程图,那么说明你原本的URDF
文件也是没问题的。
- 除了使用
urdf_to_graphiz
,还可以使用check_urdf
命令来检查URDF文件的语法是否正确。并输出调试信息