ROS学习笔记_2

        ROS命令的格式是

               rosrun package node

其中rosrun是运行命令。package是软件包,我的理解是它对应的是ROS目录下的src或者build文件夹里面的子文件夹。这样一个软件包是一些功能相关性强的程序的集合。包中的每一个可执行程序(C++)或者脚本文件(python)就是一个node节点。每一个节点执行时就是一个进程。

      

      ROS系统在运行时,需要一个主控节点,或者说核心进程,叫做master。master节点启动用命令  roscore 。如果要把多条ros命令一起运行,用roslaunch命令。roslaunch命令顺利执行需要写一个类似于批处理脚本的文件。

      master节点启动后,还会自动启动rosout节点,用来产生各种运行的log记录。还会运行parameter server服务器,给整个ros系统提供需要的配置参数。

      在ROS系统运行起来后,可以用一些node相关的命令来查看信息。

       可以先用   rosnode list 来查看现在有多少节点在运行。

      

      想了解某个节点的信息,包括发布的主题(topic),订阅的主题,服务内容等。可以用命令 rosnode info /节点名

       

      从结果可以看出,base_control节点发布了4个topic(battery,odom,rosout,tf),订阅了一个topic(cmd_vel)。

      从connections部分可以看出,发出的rosout主题的订阅者是rosout节点。订阅的cmd_vel主题来自于teleop_twist_keboard节点。

     如果是想要看整个ros系统中有多少主题发布出来。用rostopic list命令。结果与rosnode list类似。

     同样的,如果要查看某个topic的信息,用rostopic  info /主题的名字。可以看到这个主题的信息,包括发布者,订阅者是谁,ip地址是多少,以及消息类型等。

     

     topic是传递信息的载体,或者想象成信纸。具体的消息是写在信纸上的内容。消息本身是有具体的格式的。比如上面的例子,/rosout_agg这个topic的消息类型就是

     rosgraph_msgs/Log ,也就是说,消息是rosgraph_msgs这个软件包中定义的名为Log的message类型。

     消息(message)类型相当于一个C语言中结构体,一个消息有多个子项组成。可以用命令来查看某个具体消息的组成。

     rosmsg info  rosgraph_msgs/Log  , 显示结果如下。

    

     

     

 

      

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值