1.介绍
Carla中传感器类别多种多样,不同传感器数据之间也存在差异。但是传感器的使用方法之间存在一致性。本文介绍Carla中传感器使用的通用方法。有关传感器的描述可以在carla.Sensor类中查看
2. 传感器的通用方法
在介绍传感器的通用方法之前,需要明确传感器在什么时候获取数据以及如何获取数据。
1、获取数据的时间(WHEN)
传感器数据的获取时间取决于传感器的类型。部分传感器的在每一个时间步中获取数据,部分传感器通过特定事件触发获取数据。
在每一个时间步中获取数据:
- Depth camera.
- Gnss sensor.
- IMU sensor.
- Lidar raycast.
- SemanticLidar raycast.
- Radar.
- RGB camera.
- RSS sensor.
- Semantic Segmentation camera
通过特定事件触发获取数据:
- Collision detector.
- Lane invasion detector.
- Obstacle detector
2、如何获取数据(HOW)
每种类型的传感器都有一个listen方法, 使用listen方法获取并处理传感器获取的数据。
1. 设置传感器参数
传感器参数决定了获取数据的质量,可修改的传感器参数见Carla官方文档。Carla中支持的传感器类型:
相机传感器中部分可设置的参数:
在蓝图中设置相机的参数:
# 获取指定传感器的蓝图.
blueprint = world.get_blueprint_library().find('sensor.camera.rgb')
# 修改蓝图的属性以设置图像分辨率和视场角。
blueprint.set_attribute('image_size_x', '1920')
blueprint.set_attribute('image_size_y', '1080')
blueprint.set_attribute('fov', '110')
# 每隔1秒拍摄1次图片
blueprint.set_attribute('sensor_tick', '1.0')
2. 安装传感器
在spawn_actor方法中使用attachment_to和attachment_type参数将相机传感器按装到车辆上
tr