跳到主要内容

激光雷达

激光雷达原语覆盖二维扫描与三维点云。robonix/primitive/lidar/lidar(二维 LaserScan)和 robonix/primitive/lidar/lidar3dPointCloud2)都是不绑定具体传输方式的 topic_out 数据面,供建图、避障和场景融合使用;robonix/primitive/lidar/snapshot 供大模型智能体按需取一帧二维扫描。

能力约定 TOML 在 capabilities/primitive/lidar/,接口定义语言(Interface Definition Language,IDL)文件在 capabilities/lib/lidar/capabilities/lib/common_interfaces/

新软件包省略 Driver 条目,由框架自动注册共享的 robonix/lifecycle/driver;显式选择共享 Driver 的行为相同。未实现生命周期回调时,框架记录警告并执行空操作。

后向兼容:激光雷达命名空间 Driver

robonix/primitive/lidar/driverlifecycle/Driverprimitive/lidar/driver.v1.toml 只用于仍由软件包自行维护 Driver TOML 的旧实现。目前仍可使用,但计划迁移到共享 Driver;两种 Driver 不能同时注册。详见生命周期兼容流程

接口

能力约定 ID模式Tiago 参考实现传输载荷(IDL)能力约定 TOML
robonix/primitive/lidar/lidartopic_outROS 2sensor_msgs/LaserScanprimitive/lidar/lidar.v1.toml
robonix/primitive/lidar/lidar3dtopic_out未实现sensor_msgs/PointCloud2primitive/lidar/lidar3d.v1.toml
robonix/primitive/lidar/snapshotrpcMCPlidar/GetLaserScanprimitive/lidar/lidar_snapshot.v1.toml

一个雷达软件包可以按硬件实现 lidar(二维雷达)、lidar3d(三维雷达,如 Livox 或 Velodyne)或两者。原语接口与厂商无关:提供方只暴露标准 LaserScanPointCloud2,厂商 SDK 的私有格式应在驱动内转换为标准消息。

snapshot 的规范 ID 是 robonix/primitive/lidar/snapshot。二维、三维数据是否进入建图或场景融合,取决于对应服务的提供方绑定与运行参数;仅声明 lidarlidar3d 不会自动启用上层处理。

参考实现位于 examples/webots/primitives/tiago_lidar,它把 /scanner 转换为二维激光雷达数据和按需快照,并输出归一化的 /scanner_normalized。实现新雷达包时,应让软件包清单中的 capabilities 与 Atlas 中的实际声明一致,并用 rbnx caps -v 核对提供方。