传感器#
在本节中,我们将概述 Isaac Lab 提供的各种传感器 API。
每个传感器在 Isaac Lab 中都继承自 SensorBase
抽象类,该类提供了所有传感器固有的核心功能,即提供对场景的 “测量” 数据的访问。这些测量数据可以有多种形式,如光线投射结果、相机渲染的图像,甚至是直接从仿真中查询的真实数据(例如位姿)。无论数据是什么,我们可以认为传感器具有一个缓冲区,该缓冲区通过查询场景定期更新测量数据。这个 update_period
是以 “模拟” 秒为单位定义的,这意味着即使仿真中的时间流逝相对于现实世界有所延迟,传感器也会以适当的速率更新。SensorBase
还考虑到了向量化的设计,持有所有传感器在克隆环境中的副本的缓冲区。
更新缓冲区是通过重写 _update_buffers_impl
抽象方法来完成的,该方法属于 SensorBase
类。在每个仿真时间步长 dt
中,所有传感器都会被查询以获取更新。在此查询过程中,每个由该传感器管理的缓冲区的总时间会通过 dt
递增。如果总时间大于或等于某个缓冲区的 update_period
,则该缓冲区会被标记为在下次查询时更新。
以下页面更详细地描述了可用的传感器: