ROS-rosserial概述(1)
程序员文章站
2022-07-12 09:43:17
...
NodeHandles and Initialization
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;
上一篇: 算法:二分查找及其变种
下一篇: 二分搜索及其变形应用