Лидары и радары для ArduPilot

Все статьи

Выбор между лидаром и радаром для вашего дрона на ArduPilot зависит от конкретных задач. Обе технологии измеряют расстояние, но работают по-разному и имеют свои преимущества.


Ключевые различия: Лидар vs Радар

Принцип работы

Лидар (LiDAR — Light Detection and Ranging) использует лазерные импульсы для измерения расстояния. Он испускает световые волны и измеряет время их возврата. Это обеспечивает высокую точность (до ±1 см), но делает технологию чувствительной к погодным условиям.

Радар (Radar — Radio Detection and Ranging) работает с радиоволнами. Он менее точен (погрешность ±10-50 см), но не боится дождя, тумана, пыли и дыма, что критично для промышленных применений.

Сравнительная таблица

ПараметрЛидарРадар
Точность±1-10 см±10-50 см
Дальность0.2-350 м5-200 м
ВсепогодностьЧувствителен к осадкамРаботает в любую погоду
Цена$30-$2000$100-$800
Вес8-100 г50-200 г
Потребление50-200 мА100-400 мА
РазрешениеВысокое (детали)Низкое (общая картина)

Лидары (лазерные дальномеры) и радары — критически важные сенсоры для современных БПЛА на ArduPilot. Они используются для:

  • Точной посадки и удержания высоты
  • Следования рельефу (Terrain Following)
  • Обнаружения препятствий (Object Avoidance)
  • Работы в сложных условиях (туман, дождь, пыль)

В ArduPilot 4.6/4.7 поддерживается до 10 дальномеров одновременно (RNGFND1-RNGFND10).


RNGFND_TYPE для ArduPilot 4.6/4.7

Однонаправленные дальномеры (Unidirectional Rangefinders)

RNGFND_TYPEТип сенсораИнтерфейсДальностьПримечание
0NoneОтключено
1AnalogADCдо 100мДля SF10/SF11 в режиме Analog
3LidarLite-I2CI2Cдо 40мGarmin LIDAR-Lite v3
5PWMPWMдо 40мLIDAR-Lite через PWM (рекомендуется)
7LightWare-I2CI2Cдо 120мSF10/SF11/SF20
8LightWare-SerialUARTдо 120мSF10/SF11/SF20 (рекомендуется)
11USD1-SerialUARTдо 200мAinstein US-D1 Radar
15PLI2CV3I2Cдо 40мPulsedLight LIDAR-Lite v3
19BenewakeTF02UARTдо 10мBenewake TF02 (устарел)
20BenewakeTFminiUART/I2Cдо 12мTFmini/TFmini Plus
27BenewakeTF03UART/CANдо 50мTF02-Pro/TF03/TFS20-L/TF-Luna/TF-Nova/TF350
33USD1-CANCANдо 200мAinstein US-D1 Radar через CAN
34Benewake-CANCANдо 150мTF02-i/TF03/TF350 через CAN
38TOF-Sense-P-CANCANдо 50мNooploop TOF-Sense P
39NRA-24CAN/UARTдо 200мNanoradar NRA24 (24GHz radar)
41JRE-SerialUARTдо 30мJAE JRE-30
42Ainstein_LR_D1UART/CANдо 100мAinstein LR-D1 Radar
43RDS02UFUARTдо 20мRDS02UF radar
44HEXSOON_RADARCANдо 200мHexsoon 24G Radar
45LEDDAR_ONEUARTдо 120мLeddarTech LeddarOne
46TFS20LUARTдо 15мBenewake TFS20L
47DTS6012MUARTдо 12мDTS6012M
48GRF-I2CI2Cдо 500мLightWare GRF250/GRF500

360° лидары для обхода препятствий (Omnidirectional)

PROXIMITY_TYPEТип сенсораИнтерфейсУгол обзораПримечание
1BGUART360°Benewake 360°
2CYGUART120°Cygbot D1
3LDUART360°LDRobot LD-06/LD-19
4SF40UART360°LightWare SF40/C
5SF45UART350°LightWare SF45/B (рекомендуется)
6TeraRangerUART360°TeraRanger Tower EVO
7RPLidarUART360°RPLidar A2/C1/S1

⚠️ Важно: В ArduPilot 4.6+ параметр PROXIMITY_TYPE заменён на систему PRXx_TYPE для каждого сенсора отдельно!


🎯 Популярные сенсоры: подробная настройка

1️⃣ LightWare SF10/SF11/SF20 (рекомендуется)

Характеристики:

  • SF10/A: 25м, SF10/B: 50м, SF10/C: 100м, SF11/C: 120м
  • Вес: 24г
  • Частота: до 250Гц
  • Интерфейсы: Serial, I2C, Analog

Подключение через UART (рекомендуется):

Схема подключения LightWare
# Для SERIAL4 (пример):
SERIAL4_PROTOCOL = 9        # Rangefinder
SERIAL4_BAUD = 115          # 115200 baud
RNGFND1_TYPE = 8            # LightWare-Serial
RNGFND1_MIN = 0.05          # Минимальная дальность (м)
RNGFND1_MAX = 120           # Максимальная (SF11/C = 120м)
RNGFND1_GNDCLR = 0.1        # Клиренс при посадке (м)
RNGFND1_ORIENT = 25         # Down (направлен вниз)

Видео: Подключение LightWare к Pixhawk

📹 How to connect your Pixhawk to a LightWare LiDAR


2️⃣ Benewake TFmini Plus / TF03

Характеристики:

МодельДальностьВесИнтерфейсЦена
TFmini Plus0.2-12мUART/I2C$
TF031-50м89гUART/CAN$$
TF02-Pro0.4-13.5м50гUART$

Подключение через UART:

# Для SERIAL2 (пример):
SERIAL2_PROTOCOL = 9        # Rangefinder
SERIAL2_BAUD = 115          # 115200 baud
RNGFND1_TYPE = 27           # BenewakeTF03 (для всех новых моделей)
RNGFND1_MIN = 0.2           # Для TFmini: 0.2м
RNGFND1_MAX = 12            # Для TFmini: 12м
RNGFND1_GNDCLR = 0.1
RNGFND1_ORIENT = 25         # Down

Видео: Обзор и настройка TFmini Plus

📹 Benewake TFmini Plus LiDAR Review


3️⃣ Garmin LIDAR-Lite v3

Характеристики:

  • Дальность: до 40м
  • Вес: 22г
  • Интерфейсы: I2C, PWM

⚠️ Проблемы LIDAR-Lite:

  1. 13м смещение — иногда показывает на 13м больше реального
  2. Помехи GPS — особенно чёрные версии (black-label)
  3. Блокировки I2C — рекомендуется использовать PWM

Подключение через PWM (рекомендуется):

RNGFND1_TYPE = 5            # PWM
RNGFND1_PIN = 54            # AUX5 (или другой AUX)
RNGFND1_MAX = 35            # 35м (с запасом)
RNGFND1_MIN = 0.2
RNGFND1_SCALING = 1.0       # Может потребоваться калибровка
RNGFND1_OFFSET = 0
SERVO5_FUNCTION = -1        # Освободить AUX5 для GPIO (4.2+)

Видео: Настройка LIDAR-Lite

📹 Pixhawk & Lidar Lite sensor setup


4️⃣ Nanoradar NRA24 (24GHz радар)

Характеристики:

  • Дальность: 0.5-200м
  • Точность: ±2см
  • Всепогодный (работает в дождь, туман, пыль)
  • Вес: 95г

Подключение через CAN:

# Для CAN2:
CAN_P2_DRIVER = 2           # Второй CAN драйвер
CAN_D2_PROTOCOL = 14        # RadarCAN
CAN_P2_BITRATE = 500000     # 500 кбит/с

RNGFND1_TYPE = 39           # NRA-24
RNGFND1_MAX = 190           # 200м с запасом 10м
RNGFND1_MIN = 0.5           # 0.5м минимум
RNGFND1_RECV_ID = 0         # Принимать все CAN ID

Видео: NRA24 в работе

📹 NRA24 Radar Installation Guide


5️⃣ LightWare SF45/B (360° для обхода препятствий)

Характеристики:

  • Угол обзора: 350°
  • Дальность: 0.2-50м
  • Вес: 59г
  • Частота: до 100Гц

Подключение:

# Для SERIAL1:
SERIAL1_PROTOCOL = 11       # Lidar360
SERIAL1_BAUD = 115              # 115200

PRX1_TYPE = 5                  # SF45 (350 degree)
PRX1_MAX = 50                # 50м

Видео: SF45/B с ArduPilot

📹 Lightware SF45/B and Simple Avoidance on Copter-4.1.0

📹 Lightware SF45 LiDAR For Drone — Ardupilot Demo


Подключение нескольких дальномеров

ArduPilot 4.6/4.7 поддерживает до 10 дальномеров одновременно:

# Первый дальномер (вниз для посадки):
RNGFND1_TYPE = 8            # LightWare Serial
RNGFND1_MAX = 120
RNGFND1_ORIENT = 25         # Down

# Второй дальномер (вперёд для обхода препятствий):
RNGFND2_TYPE = 27           # Benewake TF03
RNGFND2_MAX = 50
RNGFND2_ORIENT = 84         # Forward

Основные параметры настройки

Базовые параметры для всех дальномеров

ПараметрОписаниеПример
RNGFNDx_TYPEТип дальномера8 (LightWare-Serial)
RNGFNDx_MINМинимальная дальность (м)0.05
RNGFNDx_MAXМаксимальная дальность (м)120
RNGFNDx_GNDCLRКлиренс при посадке (м)0.1
RNGFNDx_ORIENTОриентация (0-255)25 (Down)
RNGFNDx_POS_X/Y/ZСмещение позиции (м)0.0
RNGFNDx_LANDINGИспользовать для посадки1 (Yes)

Ориентация дальномера

ЗначениеОриентация
25Down (вниз)
84Forward (вперёд)
177Up (вверх)
263Back (назад)

Параметры для UART подключения

SERIALx_PROTOCOL = 9        # Rangefinder
SERIALx_BAUD = 115          # 115200 (или согласно документации)

Параметры для CAN подключения

CAN_Px_DRIVER = 1/2         # Номер CAN драйвера
CAN_Dx_PROTOCOL = 11/14     # Benewake/RadarCAN
CAN_Px_BITRATE = 500000     # 500 кбит/с

Сравнение популярных сенсоров

СенсорТипДальностьТочностьВесЦенаЛучше всего для
LightWare SF11/CLidar120м±5см24г$$$Профессиональные применения
Benewake TF03Lidar50м±2см89г$$Универсальное
Benewake TFmini+Lidar12м±2см$Малые квадрокоптеры
LIDAR-Lite v3Lidar40м±2.5см22г$Бюджетное (с оговорками)
NRA24Radar200м±2см95г$$Всепогодные полёты
SF45/B360° Lidar50м±5см59г$$$$Обход препятствий

🛠️ Диагностика и troubleshooting

Проверка работы дальномера

  1. Подключитесь к Mission Planner
  2. Откройте Flight Data → Status
  3. Найдите строку rangefinder1

Должно отображаться текущее расстояние в метрах.

Типичные проблемы

Проблема 1: Дальномер не определяется

Симптомы: Pre-arm error: «Rangefinder not healthy»

Решения:

1. Проверьте правильность RNGFNDx_TYPE
2. Убедитесь, что SERIALx_PROTOCOL = 9
3. Проверьте подключение проводов (RX↔TX)
4. Проверьте питание (5V или внешний BEC)

Проблема 2: Нестабильные показания

Симптомы: Показания скачут или показывают неверное расстояние

Решения:

1. Проверьте RNGFNDx_MIN/MAX — должны соответствовать сенсору
2. Увеличьте RNGFNDx_GNDCLR
3. Проверьте на вибрации (установите на демпферы)
4. Для LIDAR-Lite: используйте PWM вместо I2C

Проблема 3: Помехи от солнца

Симптомы: Днём показания неверные, ночью — нормальные

Решения:

1. Установите защитный козырёк
2. Используйте радар вместо лидара (NRA24, Hexsoon)
3. Увеличьте RNGFNDx_MAX на 10-20%

📹 Видео материалы

Установка и настройка

📹 Connecting RPLidar to Drone/Pixhawk

📹 How to Integrate Laser Rangefinder into ArduPilot

Практическое применение

📹 Terrain Following with Rangefinder

📹 Obstacle Avoidance with 360° Lidar


✅ Чек-лист настройки

Этап 1: Выбор сенсора

  • [ ] Определитесь с задачей (посадка/обход препятствий/terrain following)
  • [ ] Выберите подходящий сенсор из таблицы
  • [ ] Проверьте совместимость с вашим автопилотом

Этап 2: Подключение

  • [ ] Подключите сенсор к UART/CAN/I2C порту
  • [ ] Обеспечьте стабильное питание (отдельный BEC рекомендуется)
  • [ ] Закрепите сенсор на раме (учтите ориентацию)

Этап 3: Настройка параметров

  • [ ] Установите правильный RNGFNDx_TYPE
  • [ ] Настройте SERIALx_PROTOCOL и SERIALx_BAUD (для UART)
  • [ ] Установите RNGFNDx_MIN и RNGFNDx_MAX
  • [ ] Настройте RNGFNDx_GNDCLR (клиренс)
  • [ ] Укажите RNGFNDx_ORIENT (ориентацию)
  • [ ] Перезагрузите автопилот

Этап 4: Тестирование

  • [ ] Проверьте показания в Mission Planner
  • [ ] Протестируйте на известных расстояниях (1м, 3м, 5м)
  • [ ] Откалибруйте RNGFNDx_SCALING при необходимости
  • [ ] Проверьте работу в полёте (на безопасной высоте!)

📚 Источники

  1. Rangefinders (landing page) — ArduPilot [[6]]
  2. LightWare SF10 and SF11 Lidar [[5]]
  3. LIDAR-Lite Rangefinder [[3]]
  4. Benewake TF02-Pro / TF03 [[30]]
  5. Nanoradar NRA 24 [[44]]
  6. Hexsoon 24G Radar [[52]]
  7. RangeFinders Setup Overview [[74]]

🎯 Заключение

Правильный выбор и настройка дальномера/радара критически важны для безопасных полётов.

Рекомендации:

  • Для точной посадки: LightWare SF11 или Benewake TF03
  • Для малых квадрокоптеров: Benewake TFmini Plus
  • Для всепогодных полётов: Nanoradar NRA24 (радар)
  • Для обхода препятствий: LightWare SF45/B (360°)
  • Для бюджетных проектов: LIDAR-Lite v3 (через PWM!)

Прокрутить вверх