详细解读运行roscore的结果

        在ros的学习过程中,第一个需要了解的就是roscore,在了解roscore后,对ros系统也会有一些了解,知道ros系统的运行的过程!!!

        首先,运行节点(node)之前,都需要启动roscore,来启动运行ros节点必要的ROS Master和ROS parameter.

        当 roscore 命令执行时,命令首先检查命令行参数,为 rosmaster 提供一个新的端口号。如果它获得端口号,它将开始监听新的端口号,否则它将使用默认端口。这个端口号和roscore.xml 的启动将会传递到 roslaunch 系统。 roslaunch 系统是在 Python 模块中实现的,它将解析端口号并启动 roscore.xml。

启动roscore后,系统会启动三个部分:

        ros master

        ros parameter server

        rosout logging nodes

         其中,rosout节点可以从其他节点手机日志消息,并存储再日志中,并且将收集到的日志发布到另一个话题上。话题由rosout节点节点订阅,在另一个节点rosout_agg话题中,重新广播。

        使用 rosnode list命令查看启动roscore后,正在运行的节点:

sasa@sasa-ThinkPad-E550:~$ rosnode list
/rosout

        使用rostopic list查看运行roscore后系统的话题

sasa@sasa-ThinkPad-E550:~$ rostopic list 
/rosout
/rosout_agg

        下面是启动roscore后的界面:

sasa@sasa-ThinkPad-E550:~$ roscore
... logging to /home/sasa/.ros/log/c7d84de8-eeb1-11eb-a4d5-48e2447b179d/roslaunch-sasa-ThinkPad-E550-5731.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://sasa-ThinkPad-E550:39331/
ros_comm version 1.12.17


SUMMARY
========

PARAMETERS
 * /rosdistro: kinetic
 * /rosversion: 1.12.17

NODES

auto-starting new master
process[master]: started with pid [5741]
ROS_MASTER_URI=http://sasa-ThinkPad-E550:11311/

setting /run_id to c7d84de8-eeb1-11eb-a4d5-48e2447b179d
process[rosout-1]: started with pid [5754]
started core service [/rosout]

        下面主要就是对该部分进行解读!

... logging to /home/sasa/.ros/log/c7d84de8-eeb1-11eb-a4d5-48e2447b179d/roslaunch-sasa-ThinkPad-E550-5731.log
Checking log directory for disk usage. This may take awhile.

        这部分指的是在/home/sasa/.ros/log 创建了一个日志(log)文件,包含从ros节点中收集到的日志,根据日志信息可以进行调试。

started roslaunch server http://sasa-ThinkPad-E550:39331/
ros_comm version 1.12.17

        这部分指,启动了一个叫roscore.xml的launch文件。当launch文件启动的,系统自动启动ros_master和ros_parameter参数服务器。且显示了端口的ROS参数服务器的地址和ros_comm版本(ros_comm是ROS中的一个metapackage,它主要包括了ROS通信相关(计算图尺度)的package,其中节点,主题,服务,参数)

PARAMETERS
 * /rosdistro: kinetic
 * /rosversion: 1.12.17

        这部分指,ROS发行版本和rosvrsion。可以在roscore.xml文件中查看到这两个参数。这两个参数称为 rosversion 和 ros 发行版,使用命令标记存储 rosversion roslaunch 和rosversion -d 命令的输出,这是 ROS param 标记的一部分。命令标记将执行上面提到的命令,并将命令的输出存储在这两个参数中。

NODES

auto-starting new master
process[master]: started with pid [5741]
ROS_MASTER_URI=http://sasa-ThinkPad-E550:11311/

        这部分指启动了ros_master。并且,ros_master节点使用ROS_MASTER_URI的环境变量。这里解释一下URI(Uniform Resource Identifier,统一资源标识符)就是在IMS网络中IMS用户的“名字”,也就是IMS用户的身份标识。ROS_MASTER_URI 是一个 IP 地址和 rosmaster 将要监听的端口的组合。可以根据 roscore 命令中给定的端口号更改端口号。当需要使用远程调用的时候,需要在系统中修改地址位远程调用的地址。

setting /run_id to c7d84de8-eeb1-11eb-a4d5-48e2447b179d
process[rosout-1]: started with pid [5754]
started core service [/rosout]

        这部分表明rosout节点启动,开始订阅/rosout话题,并发布到/rosout_agg上。

        同时,也可以使用一些命令查看启动roscore后,系统运行的服务,参数等相关信息。

sasa@sasa-ThinkPad-E550:~$ rosservice list 
/rosout/get_loggers
/rosout/set_logger_level
sasa@sasa-ThinkPad-E550:~$ rosparam list 
/rosdistro
/roslaunch/uris/host_sasa_thinkpad_e550__39331
/rosversion
/run_id

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值