目标:学习ROS2中节点的功能,以及与他们交互的工具
背景
1、ROS2graph
ROS图是ROS2元素同时一起处理数据的网络。它包含了所有可执行文件以及它们之间的连接,如果您要将它们全部映射出来并可视化的话。
2、在ROS2中的节点
在ROS中的每一个节点都应该负责单一的模块化目的,例如控制车轮电机或发布激光测距仪的传感器数据。每一个节点可以通过话题,服务,行为以及参数来发送和接收来自于其他节点的数据。
一个完整的机器人系统由许多协同工作的节点组成。在ROS2中,单个可执行文件(C++程序、Python程序)可以包含一个或多个节点。
任务
1、ros2 run
本命令用于启动一个包中的一个可执行文件
ros2 run <package_name> <executable_name>
输入下面的命令,运行turtlesim
ros2 run turtlesim turtlesim_node
包的名字是turtlesim,可执行文件的名字叫turtlesim_node,但仍然不知道节点的名字,使用ros2 node list来查看
2、ros2 node list
它会显示所有运行的节点的名字;当需要与某个节点交互,或者跟踪他们的时候,会比较有用。
2.1 重映射
Remapping允许重新安排默认节点的属性,比如节点名字,话题名字,服务名字等等来自定义值。下面对turtlesim节点的名字进行重映射。
ros2 run turtlesim turtlesim_node --ros-args --remap __node:=my_turtle
3、ros2 node info
知道了节点名,可以通过如下命令来获取更多的信息:
ros2 node info <node_name>
总结
节点是一个基本的ROS 2元件,在机器人系统中具有单一的模块化用途。
本教程,使用在turtlesim包通过运行不同的可执行文件turtlesim_node和turtle_teleop_key来创建节点。
学习了ros2 node list来发现活跃的节点,ros2 node info来检查节点的信息。这些工具用于真实复杂的机器人系统的数据流是很重要的。
下一步
现在理解了ROS2 中节点的概念,下一节讲解话题是连接的节点之间通信的类型之一。
标签:node,可执行文件,Beginner,ROS2,turtlesim,节点,ros2 From: https://www.cnblogs.com/gary-guo/p/17449206.html