Выбор между лидаром и радаром для вашего дрона на 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 | Тип сенсора | Интерфейс | Дальность | Примечание |
|---|---|---|---|---|
| 0 | None | — | — | Отключено |
| 1 | Analog | ADC | до 100м | Для SF10/SF11 в режиме Analog |
| 3 | LidarLite-I2C | I2C | до 40м | Garmin LIDAR-Lite v3 |
| 5 | PWM | PWM | до 40м | LIDAR-Lite через PWM (рекомендуется) |
| 7 | LightWare-I2C | I2C | до 120м | SF10/SF11/SF20 |
| 8 | LightWare-Serial | UART | до 120м | SF10/SF11/SF20 (рекомендуется) |
| 11 | USD1-Serial | UART | до 200м | Ainstein US-D1 Radar |
| 15 | PLI2CV3 | I2C | до 40м | PulsedLight LIDAR-Lite v3 |
| 19 | BenewakeTF02 | UART | до 10м | Benewake TF02 (устарел) |
| 20 | BenewakeTFmini | UART/I2C | до 12м | TFmini/TFmini Plus |
| 27 | BenewakeTF03 | UART/CAN | до 50м | TF02-Pro/TF03/TFS20-L/TF-Luna/TF-Nova/TF350 |
| 33 | USD1-CAN | CAN | до 200м | Ainstein US-D1 Radar через CAN |
| 34 | Benewake-CAN | CAN | до 150м | TF02-i/TF03/TF350 через CAN |
| 38 | TOF-Sense-P-CAN | CAN | до 50м | Nooploop TOF-Sense P |
| 39 | NRA-24 | CAN/UART | до 200м | Nanoradar NRA24 (24GHz radar) |
| 41 | JRE-Serial | UART | до 30м | JAE JRE-30 |
| 42 | Ainstein_LR_D1 | UART/CAN | до 100м | Ainstein LR-D1 Radar |
| 43 | RDS02UF | UART | до 20м | RDS02UF radar |
| 44 | HEXSOON_RADAR | CAN | до 200м | Hexsoon 24G Radar |
| 45 | LEDDAR_ONE | UART | до 120м | LeddarTech LeddarOne |
| 46 | TFS20L | UART | до 15м | Benewake TFS20L |
| 47 | DTS6012M | UART | до 12м | DTS6012M |
| 48 | GRF-I2C | I2C | до 500м | LightWare GRF250/GRF500 |
360° лидары для обхода препятствий (Omnidirectional)
| PROXIMITY_TYPE | Тип сенсора | Интерфейс | Угол обзора | Примечание |
|---|---|---|---|---|
| 1 | BG | UART | 360° | Benewake 360° |
| 2 | CYG | UART | 120° | Cygbot D1 |
| 3 | LD | UART | 360° | LDRobot LD-06/LD-19 |
| 4 | SF40 | UART | 360° | LightWare SF40/C |
| 5 | SF45 | UART | 350° | LightWare SF45/B (рекомендуется) |
| 6 | TeraRanger | UART | 360° | TeraRanger Tower EVO |
| 7 | RPLidar | UART | 360° | 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 (рекомендуется):

# Для 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 Plus | 0.2-12м | 5г | UART/I2C | $ |
| TF03 | 1-50м | 89г | UART/CAN | $$ |
| TF02-Pro | 0.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:
- 13м смещение — иногда показывает на 13м больше реального
- Помехи GPS — особенно чёрные версии (black-label)
- Блокировки 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) |
Ориентация дальномера
| Значение | Ориентация |
|---|---|
| 25 | Down (вниз) |
| 84 | Forward (вперёд) |
| 177 | Up (вверх) |
| 263 | Back (назад) |
Параметры для 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/C | Lidar | 120м | ±5см | 24г | $$$ | Профессиональные применения |
| Benewake TF03 | Lidar | 50м | ±2см | 89г | $$ | Универсальное |
| Benewake TFmini+ | Lidar | 12м | ±2см | 5г | $ | Малые квадрокоптеры |
| LIDAR-Lite v3 | Lidar | 40м | ±2.5см | 22г | $ | Бюджетное (с оговорками) |
| NRA24 | Radar | 200м | ±2см | 95г | $$ | Всепогодные полёты |
| SF45/B | 360° Lidar | 50м | ±5см | 59г | $$$$ | Обход препятствий |
🛠️ Диагностика и troubleshooting
Проверка работы дальномера
- Подключитесь к Mission Planner
- Откройте Flight Data → Status
- Найдите строку
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при необходимости - [ ] Проверьте работу в полёте (на безопасной высоте!)
📚 Источники
- Rangefinders (landing page) — ArduPilot [[6]]
- LightWare SF10 and SF11 Lidar [[5]]
- LIDAR-Lite Rangefinder [[3]]
- Benewake TF02-Pro / TF03 [[30]]
- Nanoradar NRA 24 [[44]]
- Hexsoon 24G Radar [[52]]
- RangeFinders Setup Overview [[74]]
🎯 Заключение
Правильный выбор и настройка дальномера/радара критически важны для безопасных полётов.
Рекомендации:
- Для точной посадки: LightWare SF11 или Benewake TF03
- Для малых квадрокоптеров: Benewake TFmini Plus
- Для всепогодных полётов: Nanoradar NRA24 (радар)
- Для обхода препятствий: LightWare SF45/B (360°)
- Для бюджетных проектов: LIDAR-Lite v3 (через PWM!)
