dajianli

金牌会员
  • 主题:31
  • 回复:288
  • 金钱:1016
  • 积分:1674
常用工具命令
1rosnode 节点
          1.png    
                  rosnode ping             测试连接节点
                  rosnode list               显示当前活动节点
                  rosnode info              返回一个特定节点信息
                  rosnode machine     列出机器上的节点或者特定机器上运行的节点
                  rosnode kill                结束一个当前运行的节点
                  rosnode cleanup      清除注册的不可达的节点信息
         
2、rostopic话题
         2.png
                  rostopic bw          显示话题宽度
                  rostopic echo            显示话题上的数据信息
                  例:rostopic echo/turtle1/cmd_vel
                  rostopic find              查找话题类型
                  rostopic hz                 显示话题频率
                  rostopic info              显示活动话题的信息
                  rostopic list               列出当前活动的话题
                   rostopictype            查看话题的消息类型
                  例:rostopic type/turtle1/cmd_vel
                  rostopic pub              发布数据到当前正在广播的话题
                  例:rostopic pub[topic] [msg_type] [args]
                   rostopicpub -1 /turtle1/cmd_vel geometry_msgs/Twist -- '[2.0, 0.0, 0.0]' '[0.0, 0.0,1.8]'
                  解释:
                  rostopic  pub:发布数据到某个给定的话题
                   -1:发布一条消息后马上退出
                   /turtle1/cmd_vel:消息发布到的话题名称
                   geometry_msgs/Twist:发布消息的类型
                   --:告诉解析器下来的参数部分都不是命令选项,这在参数里面包含破折号时是必须要添加的
                   '[2.0,0.0,0.0]':参数,是geometry_msgs/Twist所需要的数据类型
3、rosmsg 查看消息的详细情况

       3.png         
例:rosmsg showgeometry_msgs/Twist
4、rqt_graph
         4.png
  显示当前运行的节点和话题,能够创建一个显示当前系统运行情况的动态图形
         假设当前运行的节点为:rosrun turtlesim turtlesim_node
         例:rosrunrqt_graph rqt_graph
         其中蓝色绿色为节点,红色为话题
5、rqt_plot
   5.png
   实时显示一个发布到某一个话题上的数据变化图形
         假设当前运行的节点为:rosrunturtlesim turtlesim_node
         例:rosrunrqt_plot rqt_plot

6、rosservice
         服务:节点之间通讯的另一种形式,服务允许节点发送请求并获得一个响应
         6.png
         rosservicelist                   输出可用服务的信息
         rosservicecall                 调用带参数的服务
         例:rosservicecall clear        调用clear服务
         rosservicetype               查看指定服务的类型
         例:rosservicetype clear        查看clear服务的类型
         rosservicefind                 根据指定类型寻找服务
         rosserviceuri                 输出服务的ROSRPC uri
7、rosparam
         能够存储并操作ROS参数服务器上的数据,而参数服务器能够存储整型、浮点、布尔、字符串、字典和列表等数据类型,rosparam使用YAML标记语言的语法。
         YAML语法:1 是整型, 1.0 是浮点型, one是字符串, true是布尔, [1, 2,3]是整型列表, {a: b, c: d}是字典.
         7.png
         rosparamlist                  列出参数名
         rosparamset                  设置参数
         rosparamget               获取参数
         rosparamload                 从文件读取参数
         rosparamdump           向文件中写入参数
         rosparamdelete              删除参数
8、rqt_console和rqt_logger_level
   8.png
         假设当前运行的节点为:rosrunturtlesim turtlesim_node
         rqt_console:属于日志框架的一部分,用来显示节点的输出信息
         用法:rosrunrqt_console      rqt_console
         rqt_logger_level:允许我们修改节点运行时输出信息的日志等级(DEBUGWARN\INFO\ERROR
         用法:rosrun  rqt_logger_level rqt_logger_lever
9、rosed
         rosed rosbash 的一部分。可以直接通过package名来获取到待编辑的文件而无需指定该文件的存储路径了.
         用法:rosed[package_name] [filename]
10、roslaunch
         启动定义在launch文件中的多个节点
         用法:roslaunch[package] [filename.launch]
         例程:
                     cd /catkin_ws/src/beginner_tutorials
                     mkdir launch
                     cd launch
         launch下建立一个turtlemimic.launch文件
         文件内容:
         //标签开头标明这是一个launch文件
       <launch>  
         //创建了两个节点分组并以'命名空间(namespace)'标签来区分,其中一个名为turtulesim1,另一个名为turtlesim2,两个组里面都使用相同的turtlesim节点并命名为'sim'。这样可以让我们同时启动两个turtlesim模拟器而不会产生命名冲突。
           <group ns="turtlesim1">
             <node pkg="turtlesim"name="sim" type="turtlesim_node"/>
           </group>
           <group ns="turtlesim2">
             <node pkg="turtlesim"name="sim" type="turtlesim_node"/>
           </group>
           //启动模仿节点,并将所有话题的输入和输出分别重命名为turtlesim1turtlesim2,这样就会使turtlesim2模仿turtlesim1
           <node pkg="turtlesim"name="mimic" type="mimic">
             <remap from="input"to="turtlesim1/turtle1"/>
             <remap from="output"to="turtlesim2/turtle1"/>
           </node>
           //launch文件的结束标签。
         </launch>
11、roswtf
         roswtf 可以检查你的ROS系统并尝试发现问题
         用法:打开终端,输入roswtf
         10.png
         看来没什么问题,其中
         "Staticchecks summary": 这是有关文件系统问题的检查报告,现在的检查结果表示文件系统没问题。
         如果出现"Cannot communicate with master, ignoring graph checks
         则是,无法与master连接,忽略图(graph)检查,roscore没有运行,所以roswtf没有做运行时检查。
         roswtf还可以发现很多其它类型的问题。如果你发现自己被一个编译或者通信之类的问题困扰的时候,可以尝试运行roswtf看能否帮你解决。
9.png