文章目录
[1 配置](#1 配置)
[2 测试](#2 测试)
[3 附加功能](#3 附加功能)
前言
Copter/Rover 支持避开飞行器前方可能出现的障碍物。启用这些功能的第一步是安装一个正常工作的接近传感器。ArduPilot 最多支持 4 个传感器。
360 度激光雷达通常作为近距离传感器用于物体回避,但也可将多个测距仪传感器或立体深度相机用于近距离检测。
! Note
用户经常将测距仪与接近传感器混淆。测距仪通常是单维度传感器,可提供非常窄的射线距离。近距离传感器一般用于 360 激光雷达和其他具有更宽视场角的传感器。这两类传感器使用的设置和参数是不同的。
1 配置
你需要根据所使用的传感器正确设置参数 PRXx_TYPE。由于 360 度激光雷达的视场中可能会有障碍物,因此为其提供了禁区。禁区可通过 PRXx_IGN_ANGx 和 PRXx_IGN_WIDx 参数设置,指定框架障碍物的方向和宽度,并将其忽略。最多可指定 6 个排除区。
请根据你的设置通过以下链接获取配置信息:
- RangeFinders
- Intel RealSense Depth Camera
- Lightware SF40/C (360 degree)
- Lightware SF45/B (350 degree)
- RPLidar A2 360 degree laser scanner
- TerraRanger Tower (360 degree)
2 测试
实时视图
在 Mission Planner 的近距离查看器中可以看到实时距离。
移动到 MP 的"飞行数据"屏幕,按下 Ctrl-F 并按下"接近"按钮,即可打开该窗口。
数据闪存记录
在 DataFlash 日志的 RFND 信息中可以看到向上和向下的测距仪距离。
飞行器周围 8 个象限内最近物体的距离记录在 DataFlash 日志的 PRX 信息中。由于 Copter 和Rove 4.1 具有存储 3D 障碍物的功能,因此使用了不同的 PRX 信息日志实例。第 0 个实例代表间距为 -75 至 -45 度之间检测到的障碍物。同样,PRX[1] 代表 -45 至 -15 度,PRX[2] 代表 -15 至 + 15 度,以此类推。
3 附加功能
滤波器
自动驾驶仪上可以安装各种传感器。不过,根据传感器的质量和使用情况,它可能会提供噪声数据。这些噪声将作为"障碍物"存储在自动驾驶仪上,飞行器可能会突然开始避开错误的物体。为了解决这个问题,Copter 和 Rover 4.1 对原始传感器数据进行了内置低通滤波器处理。滤波器可以通过 PRX_FILT 进行调整(设置为 0 将禁用该功能)。默认情况下,仅记录滤波后的值。不过,通过设置 PRX_LOG_RAW = 1,传感器的原始值也会被记录下来。这可用于调试目的。
地面探测
! Note
该功能需要先配置一个有效的向下测距仪,并且只能与 Copter 一起使用。
在低空避障和起降时,传感器有时会将下方的地面视为障碍物。这可能很危险,因为飞行器会试图"避开"这些障碍物(如果避障功能已开启)。通过设置 PRX_IGN_GND = 1,我们试图检测并忽略任何靠近地面的障碍物。
! Warning
该功能仅在飞行器解锁时起作用。当飞行器离地面非常近时,也可能会忽略有效障碍物。探测到的障碍物将不会显示在任务规划器的"近距离查看器"或数据闪存日志中。