欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ROS-rosserial概述(1)

程序员文章站 2022-07-12 09:43:17
...

NodeHandles and Initialization

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;
相关标签: ros