学会ROS中这个指令,让功能包错误无所遁形!

大家好,我是小鱼。小鱼发现很多同学在学习和使用ROS的过程中都会遇到找不到某个包的问题。错误大概像下面这个样子。

图片

遇到这种情况该怎么检查呢?

今天小鱼带大家认识一个指令rospack,这个指令可以查看当前工作空间下所有的包的列表。

如果列表中没有这个库,那就考虑有没有source环境或者安装了

如果列表中有,可以使用rospack查找到某个包所在的具体路径,看看这个包下面是否有你想要的指令。

接下来和小鱼一起尝试一下吧。

查看当前环境下所有的包的名字和位置

rospack list
复制代码
(base) ➜  armsim rospack listactionlib /opt/ros/melodic/share/actionlibactionlib_msgs /opt/ros/melodic/share/actionlib_msgsactionlib_tutorials /opt/ros/melodic/share/actionlib_tutorialsamcl /opt/ros/melodic/share/amcl...........
复制代码

可以看到一大堆的包,那我想过滤一下ur5关键词,怎么搞呢?

rospack list | grep ur5
复制代码

小鱼尝试运行了一下,发现什么都没有输出,那说明我的工作空间下的确没有这个包。

图片

这个时候小鱼就发现自己忘记source了,就可以先source一下环境。

source devel/setup.bash
复制代码

然后再试一次

(base)➜armsim rospack list | grep ur5ur5_moveit_config /home/monster/code/learn/armsim/src/universal_robot/ur5_moveit_config
复制代码
rospack find package-name
复制代码

比如

(base)➜armsim rospack find turtlesim /opt/ros/melodic/share/turtlesim
复制代码

还有更多使用方法,比如查找一个包的所有依赖。

(base) ➜  armsim rospack depends-on turtlesimturtle_tfturtle_tf2turtle_actionlib
复制代码

当我们手动下载编译一个包的时候,可以先使用rospack检查一下包的相关依赖再动手安装。

更多使用姿势大家可以使用rospack -h来查看。

图片

我是小鱼,一名在职机器人算法工程师

目前在做公众号,输出

机器人算法注解、学习教程、工作经验等

欢迎大家关注

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享