ROS中的节点是ROS程序包中的一个可执行文件,ROS节点可以通过ROS客户库与其他节点进行通信。节点可发布或接收一个话题,节点也可以提供或使用某种服务。
例如:一个机器人和一个遥控器,机器人和遥控器开始工作后,就是两个节点。遥控器负责下达指令,机器人监听遥控器下达的指令,完成相应的动作。
总之,节点是一个能够执行特定工作任务的工作单元,且能够互相通信,具体可以根据任务或者用户编写的程序进行定义。
文章以ROS中经典节点场景小乌龟为例,记录一下节点的使用。
节点例子
1 rosl例程安装
sudo apt-get install ros-melodic-ros-tutorials
2 运行小乌龟例程
2.1 终端运行 roscore ,启动一个主节点
roscore
2.2 终端运行模拟小乌龟节点
rosrun turtlesim turtlesim_node
2.3 开启模拟遥控小乌龟移动节点,【注意】在使用上下左右键遥控小乌龟时候,需要将鼠标放在该命令框中,而不是在小乌龟那个框
rosrun turtlesim turtle_teleop_key
可以按上下左右进行调节了
2.4 可以查看例程的节点通信图
rosrun rqt_graph rqt_graph
可以进行显示模式调节
2.5 查看topic具体对应信息
rostopic echo 话题路径
如:
rostopic echo /turtle1/pose
即路径为 下方红色箭头指向的,然后在移动小乌龟时候,会出现下面的通信信息
以上为以小乌龟例程为例节点调试的过程,可以方便你后期的学习。