(一)ROS基础概念
一、ROS的核心就在于节点间的通信。
节点是一种ROS程序,它利用ROS的中间件进行通信。节点可以启动在任何时间,任何地点,各个节点之间完全独立。节点间的通信涉及roscore,topic,message,publisher,subscriber。
发布器节点通过实例化ros::Publisher类的一个对象,调用advertise函数,来通知roscore一个话题名和相应的消息类型,从而初始化一个话题,这叫做advertising话题。
订阅器节点通过实例化ros::Subscriber类的一个对象,调用subscribe函数,来接收数据,这个函数的参数包括一个话题名和一个回调函数名。
二、传感器与ROS系统的通信需要特定的代码和硬件。
例如激光雷达LIDAR和ROS系统进行通信就需要一个专用的微控制器来接收数据;然后在一个话题上以某种消息格式发布数据,这样就能吧特殊的传感器数据转化为通用的ROS通信格式。