ROS学习笔记(三、ros节点使用)

对于ros节点的理解部分:

节点(nodes)是ros中一个很重要的部分,一个节点等价于一个可执行文件。

通俗理解就是:我们所有写的代码,脚本都是需要执行的,因此需要将我们写的代码等转化成一个ros中可以执行的文件,这个可执行文件在ros中称为节点。

一个节点可以通过ros与其他节点进行一个通信。

意思就是说:假设有一个机器人和一个遥控器,那么机器人和遥控器都开始工作后,就是两个节点:遥控器节点负责发送指令;机器人节点负责监听遥控器下达的指令,并完成相应动作。在这整个过程中,我们可以知道,两个节点之间可以互相通信,从而实现对机器人的遥控功能。当然在这个系统中,也可能不止有两个节点,甚至更多的节点需要根据用户编写的程序来定义。

在运行ros所有程序前必须运行roscore,因为其中不仅会运行roscore,而且是打开了rosmaster。

rosmaster相当于婚姻介绍所,roscore相当于男性,其他节点相当于女性,想要男女信息匹配,需要在rosmaster里面去登记信息,相当于一个中间站一样的东西。所以,如果一开始没有运行roscore程序,所有ros信息都是运行不起来的。

------------------------------------------------------------------------------------------------

对于ros节点的命令使用部分:

现在,我们理解了rosnode(节点)的意思,接下来,我们会了解rosnode的常用命令。

rosnode list列出ros中活跃的节点
rosnode info <>返回一个特定节点的信息
rosnode kill <>停止指定节点的运行
rosnode cleanup删除失连节点的注册信息

在学会使用rosnode命令后,我们需要让节点运行起来,需要使用到rosrun命令。

rosrun [package_name] [node_name]

使用包名直接运行一个包内的节点

(不需要知道包的路径)

---------------------------------------------------------------------------------------------

对于ros节点实操部分:

接下来,我们将接着笔记二中我们创建的ros工作空间实操一遍,详细了解节点意义和命令使用。

首先,打开终端,设置使ros环境生效(每次打开终端都需要输入的命令)

source catkin_ws/devel/setup.bash

接着,打开roscore,同时可以让婚姻介绍所开张

roscore

会得到这样一个和界面:

然后,再打开一个终端,设置环境变量:

source catkin_ws/devel/setup.bash

此时,输入命令

rosnode list

将会得到一个结果

(注意,需要两个终端同时开启的状态下,才能看到)

此时,我们已经得到了婚姻介绍所(master)里面男性(/rosout)的信息,还缺少一个女性的信息。所以,我们使用一个ros自带的一个轻量级的模拟器turtlesim作为女性节点。

在刚刚的基础上,在第二个终端输入命令

rosrun turtlesim turtlesim_node

我们会看到这样一个小乌龟的模拟器界面:

然后,我们打开第三个终端,查看活跃的节点数:

可以发现,我们现在拥有了rosout和turtlesim两个节点。

至此,我们已经能够理解并且深度理解了ros节点的含义,并知道如何使用rosnode和rosrun命令使操作节点啦!!!(p≧w≦q)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值