大家好,我是小鱼。小鱼发现很多同学在学习和使用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