Advertisement

AirSim 自动驾驶仿真 (9) - 如何在 AirSim 使用雷达

阅读量:

AirSim 自动驾驶仿真 (9) - 如何在 AirSim 使用雷达

针对载具和汽车,AirSim 支持雷达。

其他雷达设定可通过 AirSimSettings 的 JSON 配置文件进行设置。
请访问 general sensors 以查阅通用/共享的传感器设置信息。

在汽车上使能雷达 Enabling lidar on a vehicle

默认情况下,雷达处于不可用状态。为了实现对雷达的使用,在配置文件中参数设置中,请您指定 radar.SensorType 和 enabled 设置项。

复制代码
        "Lidar1": {
             "SensorType": 6,
             "Enabled" : true,
  • 汽车多雷达也可用.

雷达配置 Lidar configuration

目前,下列参数可通过 setting json 来配置.

参数 描述
NumberOfChannels 雷达的激光/通道数目
Range 范围, 米值
PointsPerSecond 每秒捕捉的点数
RotationsPerSecond 每秒旋转角度
HorizontalFOVStart 雷达初始 Horizontal FOV, 角度制
HorizontalFOVEnd 雷达终止 Horizontal FOV, 角度制
VerticalFOVUpper 雷达 Vertical FOV 上限, 角度制
VerticalFOVLower 雷达 Vertical FOV 下限, 角度制
X Y Z 雷达相对于汽车的位置 (NED 坐标系, 米制)
Roll Pitch Yaw 雷达相对于汽车的方向 (角度制, 沿 +X 方向的 yaw-pitch-roll)
DataFrame 输出的数据坐标系 (“VehicleInertialFrame” 或 “SensorLocalFrame”)

例如,

复制代码
    {
      "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/master/docs/settings_json.md",
      "SettingsVersion": 1.2,
    
      "SimMode": "Multirotor",
    
      "Vehicles": {
    "Drone1": {
      "VehicleType": "simpleflight",
      "AutoCreate": true,
      "Sensors": {
        "LidarSensor1": {
          "SensorType": 6,
          "Enabled": true,
          "NumberOfChannels": 16,
          "RotationsPerSecond": 10,
          "PointsPerSecond": 100000,
          "X": 0,
          "Y": 0,
          "Z": -1,
          "Roll": 0,
          "Pitch": 0,
          "Yaw": 0,
          "VerticalFOVUpper": -15,
          "VerticalFOVLower": -25,
          "HorizontalFOVStart": -20,
          "HorizontalFOVEnd": 20,
          "DrawDebugPoints": true,
          "DataFrame": "SensorLocalFrame"
        },
        "LidarSensor2": {
          "SensorType": 6,
          "Enabled": true,
          "NumberOfChannels": 4,
          "RotationsPerSecond": 10,
          "PointsPerSecond": 10000,
          "X": 0,
          "Y": 0,
          "Z": -1,
          "Roll": 0,
          "Pitch": 0,
          "Yaw": 0,
          "VerticalFOVUpper": -15,
          "VerticalFOVLower": -25,
          "DrawDebugPoints": true,
          "DataFrame": "SensorLocalFrame"
        }
      }
    }
      }
    }

用于调试的服务端可视化 Server side visualization for debugging

通常情况下,在视图中无法显示扫描点。 希望能够在视图中显示激光扫描点,请将配置文件中的此选项设置为True

复制代码
        "Lidar1": {
             ...
             "DrawDebugPoints": true
        },

客户端 API Client API

使用 getLidarData() API 来获取雷达数据.

  • 该 API 生成包含捕获时间戳和雷达位置信息的平面阵列的浮点数数组.

    • 点云:
      • 浮点数表示每个被最后扫描到的 [x,y,z] 坐标.
      • 输出的数据帧可通过 "DataFrame" 属性进行配置.
        • "或者 " VehicleInertialFrame" – 默认; 返回以汽车惯性坐标系(采用 NED 坐标系, 米制)表示的位置.
        • "SensorLocalFrame" – 返回以雷达局部坐标系(采用 NED 坐标系, 米制)表示的位置.
  • radar position:

  • 在汽车惯性坐标系中的雷达位置(采用NED坐标系和米制单位)

  • 能够在其他坐标系统中实现转换。

Python 例程 Python Examples

airsim-python-client存储库下的dronelidar.py目录

即将到来

  • 客户端的雷达数据可视化.

全部评论 (0)

还没有任何评论哟~