一. ROS常用命令

1. 查看ros环境变量(ros中的工具只能用在环境变量中的软件包)

     $ echo $ROS_PACKAGE_PATH

     ROS_PACKAGE_PATH应该包含保存有ROS软件包的路径,且每个路径用冒号(:)分隔开来。

     可以人为添加其他路径,用冒号隔开。

2.  环境变量设置文件

     $sudo gedit ./.bashrc

       包含: source /opt/ros/kinetic/setup.bash

                   source ~/catkin_ws/devel/setup.bash

3.  确认环境变量已经设置正确

     $export | grep ROS

4.  安装树,图形化显示目录的结构

     $sudo apt install tree  (使用时在查看结构路径下$tree)

5.   source刷新工作空间环境

     $source ~/workspace_name/devel/setup.bash

6.  启动ROS系统,同时会启动Master,ros out,parameter server

     $roscore

7.  创建一个包

    $catkin_create_pkg package_name [dep1] [dep2] [dep3]    

        依赖项通常是std_msgs,roscpp,rospy等(依照需要自选)

8.  Rosdep 

      1) 自动安装某个包所需的依赖(dep=depend)

          $rosdep install package_name

      2)检查package的依赖是否满足

          $rosdep check package_name    or   $rosdep keys

      3)更新本地的rosdep数据库

          $rosdep update

 9.  Rospack 获取功能包的信息

      1)  查找某个包的地址

          $rospack find package_name

      2)  列出本地所有package

          $rospack list

      3)  显示package的依赖包

          $rospack depends package_name

      4)  显示rospack的用法

          $rospack help 

10. Roscd  

     1)  跳转到某个package路径下   

         $roscd package_name

     2)  切换到ROS保存日记文件的目录下,如果没有执行任何ROS程序,系统会报错说该目录不存在

         $roscd log

 11. Rosls   列举某个包下文件的信息

       $rosls package_name

 12. Rosed   编辑包中的文件

       $rosed package_name file_name

 13. Rosrun  启动一个节点

       $rosrun package_name node_name

         在启动的时候更改节点,主题或者参数的名称

       $rosrun package_name package_node_name:=new_name

         更改参数与上类似,只需在参数名称前添加一个下划线。

 14. Rosnode   节点操作命令工具

       1) 测试节点之间的连通性                 2) 返回指定节点的信息

           $rosnode ping node_name            $rosnode info node_name

        3) 列出当前活动的节点                    4) 结束当前运行的节点进程

            $rosnode list                                   $rosnode kill node_name

 15. Rostopic  主题操作命令工具 , $rostopic -h 查看子命令

       1) 列出当前运行的所有主题  

           $rostopic list              

       2) 显示topic的属性(publisher&subscriber)

            $rostopic info /topic_name

       3) 显示某个topic的内容

           $rostopic echo /topic_name

       4) 向某个topic发布数据

           $rostopic pub /topic_name

       5) 显示主题的发布频率

            $rostopic hz /topic_name(每秒发布的消息数量)

            $rostopic bw /topic_name(带宽,每秒发布信息所占的字节量)

       6) 输出topic中发布的消息类型(主题类型)

            $rostopic type /topic_name

       7) 按照消息类型找topic

            $rostopic find message_type

16. Rqt工具

      1) Rqt_graph 查看节点构成的计算图

          $rosrun rqt_graph rqt_graph

      2) Rqt_plot 实时显示一个发布到某个话题上的数据变化图形

          $rosrun rqt_plot rqt_plot

      3) Rqt_console 属于ROS日志框架(logging framework)的一部分,用来显示节点输出信息

           $rosrun rqt_console rqt_console

      4) Rqt_logger_level  允许修改节点运行时输出信息的日志等级(logger levels)(包括error,warn,info和debug)

           $rosrun rqt_logger_level rqt­­­_logger_level

 17. Rosservice 连接到ROS的client/service框架

       1) 输出可用服务的信息     

           $rosservice list 

        2) 输出服务类型

            $roservice type service_name

        3) 调用带参数的服务

            $rosservice call service_name args

        4) 依据服务类型寻找服务

             $rosservice find service_type

        5) 查看服务的服务类型(服务的信息)

             $rosservice info service_name

        6) 查看特定服务的节点

             $rosservice node service_name

        7) 打印出服务的ROSRPC uri

             $rosservice uri

  18. Rosparam   区别于topic和srvice通信的通信方式,是节点存     储参数的地方,维护着一个数据字典,字典里存储着各种参数和配置。

        1) 列出参数名称

             $rosparam list

        2) 删除参数

             $rosparam delete

        3) 设置参数,要分别设置key和value

             $rosparam set param_key param_value

        4) 获取参数

             $rosparam get param_key

             $rosparam get /   可以显示参数服务器上的所有内容

        5) 保存参数到文件             

             $rosparam dump file_name    

        6) 从文件加载参数,也可重载到一个新的命名空间namespace

             $rosparam load file_name namespace

        7) Param操作需要调用rosservice call clear才能生效

  19. Roslaunch    启动定义在launch文件中的多个节点

        使用格式:

                        $roslaunch package_name file_name.launch

  20. Roscd  可以通过包名直接编辑包中的一个文件而不用打印包     的整个路径.

        1) 使用格式:

             $roscd package_name file_name

        2) 利用<tab>键编辑一个包下的所有文件

             $roscd package_name <tab><tab>

 21. Rosmsg

        1) 列出所有的msg

             $rosmsg list

        2) 显示某个msg的内容

              $rosmsg show message_name

 22. Rossrv

       1) 列出所有的服务

            $rossrv list

       2) 显示出服务的描述

           $rossrv show service_name

       3) 列出包中的服务

           $rossrv package

       4) 列出包含服务的包

            $rossrv packages

 23. Rosbag   录制与回放数据;需要创建一个文件来存储数据;只有消息已经被发布了才可以被录制。

       1) 记录某些topic到bag文件

            $rosbag record topic_name

        2) 记录所有节点发布的所有消息到bag文件

            $rosbag record -a

        3) 录制数据子集(录制某些特别指定的话题,而不是全部)

            $rosbag record -O bagfile_name  topic_name1

         参数-0通知rosbag record将数据记录保存到名为bagfile_name.bag的文件中,同时后面的topic参数告诉rosbag record只能             录制这指定的话题。

         4) 查看bag文件(需要在存储该.bag文件的目录的路径下)

              $rosbag info bagfile_name

          5) 回放bag文件

              $rosbag play bagfile_name

默认模式下,rosbag play会在每条消息发布后等待一小段时间(0.2s)后才真正开始发布bag文件中的内容。这一小段时间可以通知订阅该message的订阅者消息数据马上到来。如果rosbag play在发布消息之后立即发布,订阅器可能会接收不到几条最先发布的消息。等待时间可以通过-d选项来指定。-s参数选项可以让rosbag play命令等待一段时间跳过bag文件初始部分后再真正开始回放。-r选项允许通过设定一个参数来该改变消息发布速率。例如rosbag play -r 2 bagfile_name  #两倍速执行

 

 

     

 

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/weixin_41070687/article/details/82014667