机器人传感器
移动机器人配备了大量传感器,使它们能够看到和感知周围的环境。这些传感器获取的信息可用于构建和维护环境地图、在地图上定位机器人以及查看环境中的障碍物。这些任务对于能够安全有效地在动态环境中导航机器人至关重要。
机器人的传感器类似人的感官,眼睛 和 嗅觉 等等
常用传感器的示例包括激光雷达、雷达、RGB 摄像头、深度摄像头、IMU 和 GPS。为了标准化这些传感器的消息格式并允许供应商之间更轻松地进行互操作,ROS 提供了sensor_msgs定义通用传感器接口的包。这也允许用户使用任何传感器供应商,只要它遵循sensor_msgs. 在下一小节中,我们将介绍一些导航中常用的消息,即sensor_msgs/LaserScan、sensor_msgs/PointCloud2、sensor_msgs/Range和sensor_msgs/Image。
除了软件包之外sensor_msgs,您还应该了解radar_msgs一些标准接口。vision_msgs它radar_msgs 定义了雷达专用传感器的消息,而该vision_msgs包定义了计算机视觉中使用的消息,例如对象检测、分割和其他机器学习模型。此包支持的消息有vision_msgs/Classification2D、vision_msgs/Classification3D、vision_msgs/Detection2D和vision_msgs/Detection3D,仅举几例。
您的物理机器人的传感器可能具有为其编写的 ROS 驱动程序(例如,连接到传感器、将数据填充到消息中并发布它们以供您的机器人使用的 ROS 节点),这些驱动程序遵循包中的标准接口sensor_msgs。该sensor_msgs套件使您可以轻松使用来自不同制造商的多种不同传感器。然后,像 Nav2 这样的通用软件包就可以读取这些标准化消息并独立于传感器硬件执行任务。在诸如 之类的模拟机器人上sam_bot,Gazebo 具有传感器插件,它们也会在包之后发布其信息sensor_msgs。