ardupilot开发 --- 避障篇

避障的类型

  • 空中防碰撞ADSB,主要是防止与其他飞行器的碰撞;
  • 避障,防止与天花板地板障碍物的碰撞;

实现避障必要的传感器

  • ADSB receivers
  • Rangefinders or Proximity Sensors or Realsense Depth Camera

ADSB

https://ardupilot.org/copter/docs/common-ads-b-receiver.html#common-ads-b-receiver

路径规划和避障功能

这些方法用于避开接近传感器检测到的障碍物以及地面站设置的围栏;

传感器选择

  • Proximity Sensors 接近传感器
  • Rangefinders 测距仪
  • Realsense Depth Camera 深度相机(Realsense 品牌)

用户经常将测距仪与接近传感器混淆。测距仪通常是一维传感器,可以提供距离非常窄的光线的距离。接近传感器通常是360激光雷达和其他FOV更宽的传感器的名称。两类传感器使用的设置和参数不同。

Proximity Sensors 接近传感器

ArduPilot最多支持4个传感器。
360度激光雷达通常作为接近传感器用于物体规避,但多个测距仪传感器或立体深度相机也可用于接近检测。
选定一个接近传感器然后配置飞控并测试:
https://ardupilot.org/copter/docs/common-proximity-landingpage.html#common-proximity-landingpage

Avoidance Types 配置

Simple Object Avoidance

Copter支持水平和向上的简单物体回避;
简单目标规避可以使用地理围栏和围栏信标作为接近传感器,根据AVOID_ENABLE参数的设置;

算法介绍:

proximity sensor source 只能有一个:

  • 要么是一个360deg的雷达;
  • 要么是9个测距仪(rangefinders);

避障用于哪些飞行模式?

  • Horizontal object avoidance works in AltHold and Loiter modes.
  • Upward object avoidance works in LOITER, ALTHOLD modes only.
  • For Object Avoidance in AUTO and GUIDED modes in Copter and Rover, see Object Avoidance with Bendy Ruler or Object Avoidance with Dijkstra’s

原理与实现

any sensor capable of providing distances using the MAVLink DISTANCE_SENSOR message.
ardupilot需要距离传感器提供哪些数据?
源码:The AP_Proximity 和 AC_Avoidance.
待续:https://ardupilot.org/dev/docs/code-overview-object-avoidance.html#code-overview-object-avoidance

你可能感兴趣的:(Ardupilot)