2026/4/18 12:27:45
网站建设
项目流程
莘县网站建设电话,二手书店网站建设项目规划书,旅游网站模板html免费下载,浙江重大工程交易网传感器使用详解
carla.Sensor 类定义了一种特殊的参与者#xff08;actor#xff09;#xff0c;能够测量并流式传输数据。 这些数据是什么#xff1f; 数据类型因传感器种类而异。所有传感器数据均继承自通用的 carla.SensorData 类。 何时获取数据#xff1f; 要么在每…传感器使用详解carla.Sensor类定义了一种特殊的参与者actor能够测量并流式传输数据。这些数据是什么数据类型因传感器种类而异。所有传感器数据均继承自通用的carla.SensorData类。何时获取数据要么在每个仿真步simulation step获取要么在特定事件触发时获取具体取决于传感器类型。如何获取数据每个传感器都提供一个listen()方法用于接收和处理数据。尽管各类传感器存在差异但它们的使用方式基本一致。设置Setting与所有其他参与者一样首先需从蓝图库中查找传感器蓝图并设置特定属性。这对传感器至关重要——其属性将直接影响所获得的结果。具体属性详见《传感器参考文档》。以下示例设置了一个仪表盘高清摄像头# 查找传感器蓝图blueprintworld.get_blueprint_library().find(sensor.camera.rgb)# 修改蓝图属性设置图像分辨率和视场角FOVblueprint.set_attribute(image_size_x,1920)blueprint.set_attribute(image_size_y,1080)blueprint.set_attribute(fov,110)# 设置传感器两次捕获之间的间隔时间秒blueprint.set_attribute(sensor_tick,1.0)生成Spawning传感器可放置在地图任意位置。通常它们会附着attach到某个父级参与者如车辆上从而像真实安装在车辆上的传感器一样随仿真移动。spawn_actor()方法需要从蓝图库中选择的传感器蓝图和一个变换transform参数对于未附着的传感器该变换定义其在CARLA世界中的绝对位置。对于附着的传感器该变换定义其相对于父级参与者坐标系的相对位置。my_vehicleworld.spawn_actor(vehicle_blueprint,spawn_point)transformcarla.Transform(carla.Location(x0.8,z1.7))sensorworld.spawn_actor(sensor_blueprint,transform,attach_tomy_vehicle)attachment_type参数定义传感器运动如何受其父级参与者控制刚性附着carla.AttachmentType.Rigid传感器严格跟随父级参与者的位姿变化。这是摄像头、激光雷达等常规车载传感器最常用的方式也是默认设置。弹簧臂附着carla.AttachmentType.SpringArm运动经过平滑处理避免突然加速或减速。推荐用于录制仿真视频可使画面流畅避免摄像机位置更新时出现“跳跃”。幽灵弹簧臂附着carla.AttachmentType.SpringArmGhost与弹簧臂类似但不进行碰撞检测因此传感器可能穿过墙壁或其他几何体。sensorworld.spawn_actor(sensor_blueprint,transform,attach_tomy_vehicle,attachment_typecarla.AttachmentType.SpringArm)监听Listening每个传感器都有一个listen()方法在每次获取数据时被调用。该方法接收一个回调函数callback作为参数通常是一个 lambda 函数用于定义数据到达时应执行的操作。回调函数必须接受传感器数据作为输入参数。# 每当摄像头生成新图像时调用 do_something() 函数sensor.listen(lambdadata:do_something(data))...# 碰撞传感器每次检测到碰撞时打印信息defcallback(event):foractor_idinevent:vehicleworld_ref().get_actor(actor_id)print(Vehicle too close: %s%vehicle.type_id)sensor02.listen(callback)数据Data大多数传感器数据对象都提供将信息保存到磁盘的方法便于在其他环境中使用。不同传感器的数据结构差异较大详情请参阅《传感器参考文档》。但所有传感器数据都包含以下基本信息传感器数据属性类型描述frameint测量发生时的帧号timestampdouble自仿真开始以来的模拟时间戳单位秒transformcarla.Transform测量时刻传感器在世界坐标系中的位姿重要提示is_listening()检查传感器是否已通过listen()注册了回调函数。stop()停止传感器监听。sensor_tick蓝图属性设置接收数据之间的仿真时间间隔。传感器类型Types of sensors摄像头Cameras从自身视角拍摄世界画面。对于输出carla.Image的摄像头可使用辅助类carla.ColorConverter将图像转换为不同信息表示形式。数据获取频率每一步仿真。传感器输出类型概述RGBcarla.Image提供清晰的环境视觉类似普通场景照片。广角Wide anglecarla.Image支持广角、鱼眼、360度等非标准相机模型。深度Depthcarla.Image以灰度图渲染视野内物体的深度信息。光流Optical Flowcarla.Image渲染每个像素相对于摄像头的运动矢量。语义分割Semantic segmentationcarla.Image根据物体标签用特定颜色渲染视野内元素。实例分割Instance segmentationcarla.Image在语义分割基础上为每个独立物体分配唯一ID并着色。动态视觉传感器DVScarla.DVSEventArray异步输出亮度变化事件流模拟类脑视觉传感器。探测器Detectors当所附着的物体触发特定事件时才返回数据。数据获取时机事件触发时。传感器输出类型概述碰撞Collisioncarla.CollisionEvent检测其父级参与者与其他物体的碰撞。车道入侵Lane invasioncarla.LaneInvasionEvent当父级参与者跨越车道线时触发。障碍物Obstaclecarla.ObstacleDetectionEvent检测父级参与者前方可能存在的障碍物。其他传感器Other提供导航、物理量测量、场景2D/3D点云等功能。数据获取频率每个仿真步。传感器输出类型概述GNSScarla.GNSSMeasurement获取传感器的地理经纬度位置。IMUcarla.IMUMeasurement包含加速度计、陀螺仪和电子罗盘。激光雷达LIDARcarla.LidarMeasurement旋转式激光雷达生成包含坐标和强度的4D点云用于建模环境。雷达Radarcarla.RadarMeasurement生成2D点图表示视野内物体及其相对于传感器的运动。RSScarla.RssResponse根据安全检查调整施加于车辆的控制指令。该传感器工作方式与其他传感器不同有专门的RSS文档说明。语义激光雷达Semantic LIDARcarla.SemanticLidarMeasurement旋转式激光雷达生成3D点云并附加实例ID和语义分割信息。