ROS学习笔记3-基础课程之文件系统向导

  1. 准备工作
    需要使用如下命令安装ros的教程:
    $ sudo apt-get install ros-<distro>-ros-tutorials
    

    其中,distro为所用ros的发行版本,该教程使用kinetic。

    $ sudo apt-get install ros-kinetic-ros-tutorials
    
  2. ROS文件系统概览
    1. Packages:ROS文件系统由许多Package组成,每个package可能包含库(Libraries),可执行程序,脚本或者其它人工编写的材料。
    2. Manifests (package.xml):包描述文件。
  3. 文献系统工具命令
    1. rospack
      rospack用以获得包(Package)的相关信息,在该教程中仅给出rospack find的使用,该命令返回一个包的路径
      用法:

      $ rospack find [package_name]
      

      例如:

      $ rospack find roscpp
      

       返回为:

      YOUR_INSTALL_PATH/share/roscpp
      

       在笔者的机子上返回为:

      /opt/ros/kinetic/share/roscpp
      

       

    2. roscd
      roscd是rosbash的一部分,用以改变目录,或进入某个目录,与cd命令类似。
      例如:
      $ roscd roscpp
      

      表示当前目录变为roscpp目录。

      使用pwd命令显示当前目录,则为:
      /opt/ros/kinetic/share/roscpp
      

      注意,ros工具命令只能识别出在环境变量ROS_PACKAGE_PATH 中列出的包,你可以通过改变环境变量将额外的包加入到ROS_PACKAGE_PATH 路径中。

      可以使用如下命令查看该环境变量中包含哪些路径:
      $ echo $ROS_PACKAGE_PATH
      

      在本机中返回如下:

      /home/yangbo/mybot_ws/src:/home/yangbo/project_ws/src:/home/yangbo/catkin_ws/src:/home/yangbo/hector_quadrotor_tutorial/src:/opt/ros/kinetic/share:/home/yangbo/px4/Firmware:/home/yangbo/px4/Firmware/Tools/sitl_gazebo
      

      每个用冒号分开。

    3. roscd log
      该命令进入ros的日志文件目录,若没有日志文件目录,则会给出错误提示。
    4. rosls
      rosls 也是 rosbash的一部分,用于列出一个package下的所有文件和目录。
      例如使用如下命令查看roscpp_tutorials中的所有文件和目录:
      $ rosls roscpp_tutorials
      

      返回为:

      cmake  launch  package.xml  srv
      

       

    5. TAB自动完成
      ros命令行工具支持TAB自动完成,例如你记不住每个包的全称,但是知道开头,可以用TAB自动补全。

      $ roscd roscpp_tut<<< now push the TAB key >>>
      

       例如输入roscd roscpp_tut然后按TAB键,则会自动完成roscpp_tut开头的包。

      roscd roscpp_tutorials/
      

      如果有多个包名和开头的一致,则会自动完成和开头最接近的一个,再按一下TAB则会列出所有与开头匹配的选项,例如:

      roscd tur
      

       按了TAB则自动补全为:

      roscd turtle
      

       再按一下TAB则列出所有以tur开头的包:

      turtle_actionlib/        turtlebot_navigation/    turtlesim/
      turtlebot_bringup/       turtlebot_simulator/     turtle_tf/
      turtlebot_capabilities/  turtlebot_stage/         turtle_tf2/
      turtlebot_description/   turtlebot_stdr/          
      turtlebot_gazebo/        turtlebot_teleop/
      
posted @ 2019-09-15 00:30  SpyCoder  阅读(299)  评论(0编辑  收藏  举报