SuperAPI AI 工具集

webots-sensors

通用与其它

查看项目

更新于 10-16 05:01

技能介绍

该技能面向 Webots 仿真中的传感器数据管线,覆盖 Camera、Lidar、DistanceSensor、GPS、Gyro、Accelerometer、InertialUnit、Compass、TouchSensor、RangeFinder、Radar、LightSensor、PositionSensor、Receiver、Altimeter 等设备的实现、配置与调试。核心执行模式为:按 DEF 名获取设备、以采样周期(通常为控制器时间步)enable 传感器、用 step 推进仿真、用对应 getter 读取数值、再做滤波或融合。Python 与 C 均给出通用模式,例如 Python 中 sensor = robot.getDevice("sensor_name")、sensor.enable(timestep),循环内调用 getValue() 或 getValues();C 中 wb_robot_get_device 配合各传感器专属的 enable 与 get 函数。

各传感器要点:Camera 用于 RGB/RGBA 图像采集与可选物体识别,涉及 getImage、getWidth、getHeight、imageGetGray 及 recognitionEnable、getRecognitionObjects 等;Lidar 提供 getRangeImage 深度扫描与 getPointCloud 三维点云(LidarPoint 含 x、y、z、layer_id、time),相关字段有 horizontalResolution、numberOfLayers、fieldOfView、minRange、maxRange;DistanceSensor 返回原始值,需通过节点 lookupTable 换算距离;GPS 提供 getValues、getSpeed、getSpeedVector,坐标系统可为 local 或 WGS84;Gyro 返回角速度,Accelerometer 返回含重力的加速度,InertialUnit 提供 getRollPitchYaw 与 getQuaternion;Compass 返回指向磁北的归一化向量;TouchSensor 分 bumper、force、force-3d 三种类型;RangeFinder 以 getRangeImage 返回逐像素深度;Radar 的 getTargets 含 distance、receivedPower、speed、azimuth;LightSensor 返回光照强度;PositionSensor 用于关节反馈;Receiver 与 Emitter 配对,通过 getQueueLength、getData、nextPacket 读取数据包;Altimeter 提供 getAltitude。

使用与限制:采样周期一般与控制器时间步一致,对 Camera、Lidar、RangeFinder 等开销大的设备可增大周期以降低 CPU 负载;只取所需输出,避免在紧循环中做图像或点云转换。调试需核对设备名与节点名、enable 在首次读取前调用、getter 与传感器类型匹配、节点字段与设计假设一致。资料另提及 references/sensors_reference.md 含完整多语言 API 签名、节点字段、数据格式与识别对象模式。平台、价格与具体收费信息暂未提供。