ROS-rosserial概述(1)

xiaoxiao2025-10-04  3

NodeHandles and Initialization

1. 节点句柄2. 初始化3. 自定义硬件对象

rosserial概述官网链接

1. 节点句柄

rosserial_arduino允许您轻松地将Arduino或其他串行设备连接到ROS runtime graph。

所有节点初始化和通信都通过节点句柄(NodeHandle)处理。

在setup()函数之前创建NodeHandle非常简单:

ros::NodeHandle nh;

2. 初始化

您可能在Arduino setup()函数中执行的第一个调用就是调用initNode(),它会初始化ROS节点。

请注意,在一个rosserial设备中只能有一个节点,因此只能调用一次initNode()。

以下示例显示了如何初始化节点并处理loop()函数内的串行数据的完整示例:

#include <ros.h> ros::NodeHandle nh; void setup() { nh.initNode(); } void loop() { nh.spinOnce(); }

3. 自定义硬件对象

rosserial_client库实际上并不直接提供NodeHandle对象。 相反,它提供:

ros::NodeHandle_<HardwareType, MAX_PUBLISHERS=25, MAX_SUBSCRIBERS=25, IN_BUFFER_SIZE=512, OUT_BUFFER_SIZE=512> nh;
转载请注明原文地址: https://www.6miu.com/read-5037325.html

最新回复(0)