ROS学习笔记(2):package相关命令

目录

2 package相关命令

2.1 rospack

2.2 roscd

2.3 rosls

2.4 rosdep

3 Metapackage

2 package相关命令

2.1 rospack

rospack是对package管理的工具,命令的用法如下:

  • rospack help 显示rospack的用法
  • rospack list 列出本机所有package
  • rospack depends [package] 显示package的依赖包
  • rospack find [package] 定位某个package
  • rospack profile 刷新所有package的位置记录
    以上命令如果package缺省,则默认为当前目录(如果当前目录包含package.xml)

2.2 roscd

roscd 命令类似与Linux系统的 cd ,改进之处在于 roscd 可以直接 cd 到ROS的软件包。

roscd [pacakge] cd到ROS package所在路径

2.3 rosls

rosls 也可以视为Linux指令 ls 的改进版,可以直接 ls ROS软件包的内容。

  • rosls [pacakge] 列出pacakge下的文件

    2.4 rosdep

    rosdep 是用于管理ROS package依赖项的命令行工具,用法如下:

  • rosdep check [pacakge] 检查package的依赖是否满足

  • rosdep install [pacakge] 安装pacakge的依赖
  • rosdep db 生成和显示依赖数据库
  • rosdep init 初始化/etc/ros/rosdep中的源
  • rosdep keys 检查package的依赖是否满足
  • rosdep update 更新本地的rosdep数据库
    一个较常使用的命令是 rosdep install —from-paths src —ignore-src —rosdistro=kinetic -y ,用于安装工作空间中 src 路径下所有package的依赖项(由pacakge.xml文件指定)。

3 Metapackage

metapackage指的是将多个功能接近、甚至相互依赖的软件包的放到一个集合中去。

ROS里常见的Metapacakge有:

Metapacakge名称 描述 链接
navigation 导航相关的功能包集 https://github.com/rosplanning/navigation
moveit 运动规划相关的(主要是机械臂)功能包集 https://github.com/rosplanning/moveit
image_pipeline 图像获取、处理相关的功能包集 https://github.com/rosperception/image_common
vision_opencv ROS与OpenCV交互的功能包集 https://github.com/rosperception/vision_opencv
turtlebot Turtlebot机器人相关的功能包集 https://github.com/turtlebot/turtlebot
pr2_robot pr2机器人驱动功能包集 https://github.com/PR2/pr2_robot

navigation有以下pacakge:

  • amcl 定位
  • fake_localization 定位
  • map_server 提供地图
  • move_base 路径规划节点
  • nav_core 路径规划的接口类
  • base_local_planner 局部规划
  • dwa_local_planner 局部规划