当前位置: 首页 > news >正文

8-传感器和数据

    传感器是从周围环境中获取数据的角色。每类传感器的详细信息可以参考这里sensors reference。

1 传感器简介

    carla.Sensor定义了一种能够测量和传输数据的特殊类型的actor。
    这些传感器数据是什么?它因传感器的类型而异。所有类型的数据都继承自carla.SensorData。
    传感器什么时候检索数据?在每个仿真步骤或者在某个事件触发时均可检索数据,这取决于传感器的类型。
    传感器如何检索数据?每个传感器都有一个listen()方法来接收和管理数据。
    尽管存在差异,但所有传感器的使用方式都是相似的。

1.1 设置

    与其他actor一样,找到蓝图并设置特定属性。这在处理传感器时是必不可少的。传感器的属性将决定获得的结果。这些在传感器参考sensors reference中有详细说明。
    下面以设置仪高清摄像头为例。

# Find the blueprint of the sensor.
blueprint = world.get_blueprint_library().find('sensor.camera.rgb')
# Modify the attributes of the blueprint to set image resolution and field of view.
blueprint.set_attribute('image_size_x', '1920')
blueprint.set_attribute('image_size_y', '1080')
blueprint.set_attribute('fov', '110')
# Set the time in seconds between sensor captures
blueprint.set_attribute('sensor_tick', '1.0')

1.2 生成


  attachment_toattachment_type是至关重要的。传感器应该连接到一个父角色上,通常是一辆车,以跟随它并收集信息。attachment_type将决定其相对于所述车辆的位置如何更新。
    刚性连接(Rigid attachment)。移动对其父位置要求严格。这是从仿真中检索数据的推荐设置。
    弹簧臂附件(SpringArm attachment)。相机移动过程中的加速和减速很小。此附件仅建议用于录制模拟视频。移动平稳,在更新相机位置时避免了“跳跃”。

transform = carla.Transform(carla.Location(x=0.8, z=1.7))
sensor = world.spawn_actor(blueprint, transform, attach_to=my_vehicle)

    注意:当使用附件生成传感器时,位置设置必须是相对于父角色的。

1.3 监听

    每个传感器都有一个listen()方法。每次传感器检索数据时都会调用这个函数。

    参数callback是一个lambda函数(lambda function)。它描述了在检索数据时传感器应该做什么,必须将检索到的数据作为参数。

# do_something() will be called each time a new image is generated by the camera.
sensor.listen(lambda data: do_something(data))...# This collision sensor would print everytime a collision is detected. 
def callback(event):for actor_id in event:vehicle = world_ref().get_actor(actor_id)print('Vehicle too close: %s' % vehicle.type_id)sensor02.listen(callback)

1.4 数据

    大多数传感器数据对象都具有将信息保存到磁盘的功能。这将允许在其他环境中使用它。

    不同类型的传感器数据差别较大。请查看传感器参考以获得详细的信息。

传感器属性类型描述
frameint测量时的帧数
timestampdouble自开始以来的测量时间戳(以模拟秒为单位)。
transformcarla.Transform测量时传感器的世界参考值。

   注意:

    is_listening是一个传感器属性,可以随意启用/禁用数据监听。

    sensor_tick是一个蓝图属性,用于设置接收到的数据之间的模拟时间。

2 传感器类型

2.1 相机

     相机(cameras)返回图像数据( carla.Image),您可以使用carla.ColorConverter来修改图像以表示不同的信息。

    检索每个仿真步的数据:

传感器输出概述
深度(Depth)carla.Image在灰度图中渲染视野中元素的深度。
RGBcarla.Image提供清晰的视野。看起来像一张正常的现场照片。
光流(Optical Flow)carla.Image渲染来自相机的每个像素的运动。
语义分割(Semantic segmentation)carla.Image根据它们的标签,用特定的颜色呈现视图中的元素。
DVScarla.DVSEventArray以事件流的形式异步测量亮度强度的变化。

2.2 探测器

    当它们所连接的对象注册特定事件时,检索数据。

    在触发时检索数据:

传感器输出概述
碰撞carla.CollisionEvent检索父角色和其他角色之间的碰撞。
车道侵入carla.LaneInvasionEvent当其父级车辆越过车道标记时进行注册。
障碍物carla.ObstacleDetectionEvent探测前方可能的障碍物。

2.3 其他

    不同的功能,如导航、物理特性测量和场景的2D/3D点图。
    在每个仿真步中检索数据:

传感器输出概述
GNSScarla.GNSSMeasurement检索传感器的地理位置。
IMUcarla.IMUMeasurement由加速计、陀螺仪和指南针组成。
LIDARcarla.LidarMeasurement旋转激光雷达。生成具有每个点的坐标和强度的4D点云,以对周围环境进行建模。
Radarcarla.RadarMeasurement视线中的二维点图建模元素及其相对于传感器的运动。
RSScarla.RssResponse根据安全检查修改应用于车辆的控制器。这个传感器的工作方式与其他传感器不同,它有特定的RSS文档(RSS documentation)。
Semantic LIDARcarla.SemanticLidarMeasurement旋转激光雷达。生成一个带有实例和语义分割额外信息的3D点云。


http://www.mrgr.cn/news/45210.html

相关文章:

  • 按图搜索1688商品(拍立淘) :API接口编程
  • 【qt】QQ仿真项目2
  • 记一次升级系统补丁导致 VS2022 崩溃分析
  • html+css+js实现轮播图
  • 获取淘宝直播间弹幕数据的技术探索实践方法
  • 面试字节跳动精选20道产品经理面试题分析回答
  • 【数据库】 MongoDB 撤销用户的角色和权限
  • Windows下的python安装教程_2024年10月最新最详细的安装指南
  • 如何优化低计算密集度神经网络在GPU和NPU上的性能
  • SpringBoot教程(二十四) | SpringBoot实现分布式定时任务之Quartz
  • 【30天玩转python】机器学习入门
  • 添加菜品到购物车
  • 注重睡眠,养生保健的重要性
  • 20241008软考架构-------软考211-216答案解析
  • Docker 环境下 PostgreSQL 监控实战:从 Exporter 到 Prometheus 的部署详解
  • 特斯拉的TTPoE协议到底是啥?比TCP/IP快n倍?真的假的…
  • 互联网摸鱼日报(2024-10-08)
  • PADS原理图封装制作:【图文讲解】
  • 众智OA办公系统 Account/Login SQL注入漏洞复现
  • 生信初学者教程(二十七):单细胞数据处理