Симулятор квадрокоптера на ПК

Как правильно управлять квадрокоптером

В многочисленных рекламных проспектах, статьях в интернете можно прочитать, что квадро или любой другой мультикоптер — очень простое в управлении устройство. На практике это не совсем так. Управлять квадрокоптером нужно научиться. Поэтому рекомендуется вначале остановить свой выбор на простой и легкой модели. А с приобретением навыка управлять дроном — покупать дорогой аппарат. Все коптеры, предлагаемые на рынке, имеют одну стандартную схему манипулирования и реакций. Она используется вне зависимости от того, управляется ли дрон с пульта, смартфона или планшета.

Квадрокоптер — потенциально опасное для человека и довольно хрупкое устройство. При неудачной посадке или ударе о преграду машина может повредить лопасти или раму. При этом возможна ситуация, когда пользоваться квадрокоптером после аварии нереально. Игрушка или устройство для специального применения требует дорогого ремонта или целиком отправляется на свалку.

Для начинающих существует простая рекомендация: чтобы освоить управление квадрокоптером, лучше купить недорогую и легкую модель с защитой лопастей. Стоимость подобных изделий менее 50 долларов. Но одновременно — такая простая модель позволит освоить любой метод манипулирования, будь то управление квадрокоптером с телефона, со специального пульта, с компьютера.

Пока идет обучение и привыкание к управлению, стоит следовать простым рекомендациям.

  1. Коптер следует запускать на больших открытых пространствах. Так достигается максимальная дальность связи. Кроме этого, минимизируется опасность поломки машины из-за удара о препятствия.
  2. Начинать учиться полету стоит на стандартных режимах, заложенных в функционал программного обеспечения или пульта.
  3. Не нужно запускать коптер при сильном ветре, в дождливую погоду.
  4. Как потенциально опасное для человека устройство, коптер не стоит запускать в людных местах. По крайней мере, пока владелец не научится уверенно управлять дроном с полным контролем машины.

Важно! Перед тем, как ехать за город на пикник, стоит почитать законы. Существуют определенные правила запуска дронов. Есть и закрытые для любых полетов зоны, которые располагаются возле аэропортов, военных баз, областей особого контроля, мест с повышенным режимом охраны (дамбы, подстанции, газопроводы и т.д.).

Первый способ полета на симуляторе

До появления неплохих программ-симуляторов полета существовал другой способ научиться летать на воздушном судне. Для этого использовались программные симуляторы, к которым подсоединялись настоящие модельные пульты управления.

Симулятор квадрокоптера на компьютере

У современных передатчиков на задней паннели присутствует ppm выход, с помощью которого происходит соединение пульта управления с компьютером. Для такой связи используется специальный адаптерный шнурок стоимостью до 15 долларов.

У такого подхода несомненным преимуществом будет то, что вы с первых же минут управления виртуальным коптером привыкните к настоящему пульту управления и поэтому, когда перейдете с тем же пультом к управлению настоящей модели, то уже почти в автоматическом режиме будете управлять дроном.

Другими словами, не надо будет перестраиваться к другому передатчику, от чего первые полеты, конечно, получатся неуверенными.

Минусом в данном случае будет то, что потенциометры настоящего пульта управления очень быстро могут выйти из строя. Все из-за постоянных рывков, неумелых движений и хаотичных вращений пульта управления.

В большинстве случаев замена этих элементов обходится в кругленькую сумму, в зависимости от модели вашего беспилотного аппарата. Поэтому, если вам не жалко ваш пульт и вы готовы к таким «потерям», то тогда лучше этого способа вам точно не найти. Если, конечно же, речь идет о виртуальных полетах на квадролетах.

Прежде чем выбирать симулятор

Для начала нужно выбрать аппаратуру управления.

Конечно, вы можете использовать джойстик от игровой приставки или даже клавиатуру! Однако, я настоятельно рекомендую использовать аппаратуру управления моделями, это позволит получить максимум от тренировок и поможет развить моторную память.

fpv-simulator-transmitter-controller-setup-drl

Есть два варианта подключения аппаратуры управления к компьютеру:

  • некоторые пульты управления работают с симуляторами прямо из коробки, а есть и такие, которым требуется специальный адаптер.

Вот список популярных передатчиков для гоночных коптеров, они совместимы со всеми симуляторами, которые будут описаны в этой статье. Это не полный список, но в нем указаны все самые популярные модели.

Купить на:

Аппаратура управления с USB портом для подключения к компьютеру — это огромный плюс при использовании симуляторов. Я всем рекомендую Taranis X9D (обзор, англ), Taranis QX7 (обзор) и Flysky Nirvana не только потому, что это самые популярные передатчики для управления коптерами, но и потому что они «plug-and-play» на компьютерах. При подключении аппаратуры к компьютеру при помощи USB кабеля — она определяется как джойстик.

Некоторые дешевые передатчики, например, Flysky i6 и Turnigy 9X не имеют USB порта, поэтому нуждаются в специальном USB адаптере для подключения. С одной стороны — USB разъем, с другой — моно джек для тренерского порта (часто в комплекте много разных переходников/разъемов, практически под все известные аппы, прим. перев).

transmitter-usb-adapter

Настройка и запуск Ardupilot

Релизы новых версий Ardupilot немного запаздывают в сборке от Emlid. Если необходимый функционал доступен в самой последней версии, то установить ее из исходников можно по этой инструкции.

Разработчики Navio добавили в свою сборку простую и удобную утилиту Emlid tool для проверки датчиков и настройки Ardupilot. Сначала проверим, видит ли Raspberry контроллер Navio:

Если в ответ на эту команду выдает что-то вроде:

значит видит. Проверим состояние датчиков (покажет список и состояние):

и драйвера ШИМ-контроллера в ядре Linux:

0 = не работает, 1 = работает.

Прошивка ШИМ-контроллера обновляется так:

Теперь настроим Ardupilot:

В терминале откроется текстовый GUI с пошаговыми менюшками. Выбираем copter последней версии, тип arducopter, автозапуск при включении (On boot: enable), старт после настройки (Ardupilot: start).

image

Выходим через пункт меню Quit.

Проверим запустился ли Ardupilot:

Обратите внимание, файл запуска в systemd называется arducopter, так как настроен был вариант copter.

Теперь нужно настроить Ardupilot так, чтобы он отправлял нам телеметрию. Для этого отредактируем файл конфигурации:

В нем должны быть такие строки:

Сохраняем файл (Ctrl+X, затем Y) и перезапускаем Ardupilot:

Проверить состояние процесса Ardupilot можно такой командой:

С такими настройками Ardupilot будет транслировать телеметрию (пакеты MAVLink) в локальный UDP-порт 14550. Далее, скрипт MAVProxy (описание ниже) будет забирать оттуда телеметрию и передавать в GCS или скрипт, а также отправлять в обратном направлении пакеты с командами.

Вместо локального адреса и порта можно записать IP-адрес ПК или планшета в локальной сети и пакеты будут транслироваться сразу туда.

image

Однако, такой подход оправдан, если данные телеметрии больше нигде не используются и у устройства с GCS статический IP адрес. Иначе каждый раз в настройках Ardupilot придется прописывать новый. Чтобы общаться с автопилотом по TCP могли одновременно несколько GCS с динамическими адресами и еще какие-нибудь скрипты на самом бортовом компьютере, удобнее использовать MAVProxy.

image

Этот скрипт (написан на Python) может получать пакеты MAVLink на локальный UDP-адрес и ретранслировать их на несколько локальных или удаленных IP-адресов как по UDP, так и по TCP. Пакеты передаются в обоих направлениях Ardupilot ⇔ GCS. Кроме того, MAVProxy представляет из себя полноценную GCS, но с текстовым интерфейсом.

Какие бывают дроны

Дроны бывают разные. По конструкции различают несколько типов дронов:

  • мультироторный — коптеры;
  • самолетный — fixed wing;
  • гибридный — он взлетает вертикально, потом использует крылья.

Также дроны делятся на потребительские (consumer) и коммерческие (commercial).

Потребительские, как ты понимаешь, — это те, которые можно купить в магазине и использовать как летающую камеру. DJI Phantom и Mavic — хорошие модели. Есть и менее дорогие, но они определенно уступают по качеству. Такие квадрокоптеры используют для съемки разных мероприятий, зданий, исторических объектов. Например, с беспилотника можно сделать серию фотографий здания или памятника, а затем создать из них 3D-модель объекта методом фотограмметрии.

Как правило, такие дроны летают на ручном управлении, реже по миссии в автономном режиме по GPS-координатам. Рынок потребительских квадрокоптеров больше чем наполовину принадлежит одной компании — DJI. С ней очень сложно конкурировать, поскольку там делают реально крутой продукт: доступный, функциональный, удобный. Хотя в области квадрокоптеров для селфи DJI начинает теснить компания Skydio со своим дроном R2. Фишка этого дрона в том, что он может летать автономно, например за мотоциклистом в лесу. При этом беспилотник видит все препятствия и прокладывает автономный безопасный маршрут в реальном времени так, чтобы человек всегда оставался в кадре. Реально крутая штука.

Коммерческие дроны используются в компаниях для решения определенной задачи. Одни следят за состоянием сельхозполей, летая над ними регулярно и делая фотографии, другие умеют распылять удобрения точечно. Дроны используют на стройках, в карьерах. Каждый день они облетают строительный объект, делают фотографии, по которым создается 3D-модель в облаке, и уже она помогает отслеживать ежедневные изменения.

Пример российской компании, которая активно работает с этой технологией на рынке США, — Traceair.

Другой способ применения — осмотр трубопроводов дронами. Это особенно актуально для России: у нас газовые трубопроводы тянутся на тысячи километров, и надо контролировать утечки и врезки.

Ну и конечно, у всех на слуху доставка товаров дронами. Не знаю, заработает ли когда-нибудь сервис Amazon Prime Air, но уже сейчас компания Matternet доставляет товары в Цюрихе и некоторых городах США, а компания Zipline давно отправляет медикаменты в полет над просторами Африки. В России успехов тут пока намного меньше, недавно была новость про дрон Почты России, который разбился на первом тесте, а Сбербанк тестирует доставку денег дронами.

Компании Volocopter и Ehang уже имеют летающие прототипы такси, а компания с российскими корнями Hoversurf разрабатывает летающий байк.

В помещениях тоже есть задачи для коммерческих дронов, но пока они не сильно распространены, в этой области идут интенсивные R&D-исследования. Возможные применения для такого вида дронов:

Поживем — увидим, какие проекты будут реализованы и задисраптят нашу жизнь. Глобальная цель — сделать систему управления дроном, которой герой фильма «Бегущий по лезвию 2049» мог бы сказать: «Сфотографируй тут все!»

Первый способ полета на симуляторе

До появления неплохих программ-симуляторов полета существовал другой способ научиться летать на воздушном судне. Для этого использовались программные симуляторы, к которым подсоединялись настоящие модельные пульты управления.

Симулятор квадрокоптера на компьютере

У современных передатчиков на задней паннели присутствует ppm выход, с помощью которого происходит соединение пульта управления с компьютером. Для такой связи используется специальный адаптерный шнурок стоимостью до 15 долларов.

У такого подхода несомненным преимуществом будет то, что вы с первых же минут управления виртуальным коптером привыкните к настоящему пульту управления и поэтому, когда перейдете с тем же пультом к управлению настоящей модели, то уже в почти автоматическом режиме будете управлять дроном.

Другими словами не надо будет перестраиваться к другому передатчику, от чего первые полеты, конечно, получатся неуверенными.

Минусом в данном случае будет то, что потенциометры настоящего пульта управления очень быстро могут выйти из строя. Все из-за постоянных рывков, неумелых движений и хаотичных вращений пульта управления.

В большинстве случаев замена этих элементов обходится в кругленькую сумму, в зависимости от модели вашего беспилотного аппарата. Поэтому если вам не жалко ваш пульт и вы готовы к таким «потерям», то тогда лучше этого способа вам точно не найти. Если, конечно же, речь идет о виртуальных полетах на квадролетах.

Использовать ли шлем/очки в симуляторе?

Симулятор полёта квадрокоптера на ПК. Обзор программ.

Кто-то спросит, есть ли смысл практиковаться в своем FPV шлеме/очках, лично я считаю, что особой разницы нет, возможно в очках получится лучше сконцентрироваться, но не факт. Я летаю, глядя в монитор.

Большинство современных очков для FPV типа Fatshark имеют HDMI вход. Т.е. монитор можно продублировать в очках или использовать очки как внешний, дополнительный монитор.

Попробуйте сами и тогда определитесь.

Если вы можете быстро летать в симуляторе, то это не значит, что в реальной жизни получится также, на настоящем коптере тоже нужно тренироваться.

Следует признать, что симуляторы в основном нужны для тренировки моторной памяти при управлении коптером и для изучения новых трюков Они становятся всё лучше и лучше, но никогда не превзойдут полеты в реальности.

Выбраться куда-то и полетать — это лучший способ тренировок и отличный отдых! Сборка TinyWhoop — это довольно дешевый способ научиться летать FPV.

Практика

Поскольку мы хотим затестить простую программу управления дроном в автономном режиме и при этом ничего не разбить, воспользуемся эмулятором. Нам понадобится следующий софт.

Полетный контроллер

Непосредственно вращением моторов и полетом дрона управляет полетный контроллер, представляющий собой плату Pixhawk с процессором ARM на борту и прошивкой под названием PX4. Сам программный код PX4 можно скомпилировать в режиме software in the loop как раз для тестирования на персональном компьютере на Intel x84 CPU. Софт PX4 в этом режиме думает, что он работает на реальном железе полетного контроллера, хотя на самом деле он выполняется в симуляционной среде на ПК и получает подменные данные с сенсоров.

Программирование дронов

Robot Operating System

Нам потребуется много разных программных модулей. Одни будут работать с сенсорами, другие будут реализовывать SLAM, третьи — строить 3D-карту, четвертые — планировать в ней безопасный маршрут. Для создания этих модулей мы используем Robot Operating System (ROS) — распространенный фреймворк для разработки приложений робототехники. Приложение для ROS представляет собой набор взаимодействующих пакетов, каждый экземпляр которых называется узел, или node.

Один из узлов называется мастер (master node) и отвечает за регистрацию остальных узлов приложения. Каждый узел представляет собой отдельный процесс Linux. ROS предоставляет механизм передачи и синхронизации сообщений между узлами. Существуют как стандартные сообщения, так и определенные программистом. В качестве сообщений выступают данные с сенсоров, видеокадры, облака точек, команды управления и передачи параметров.

Узлы ROS могут быть запущены на разных машинах — в этом случае взаимодействуют они через сетевой интерфейс. В составе ROS есть специальный узел rviz, он служит для графической визуализации передаваемых в ROS сообщений. Например, можно посмотреть, как БПЛА видит мир вокруг себя, отобразить траекторию его движения и видеопоток с камеры.

Для создания пакетов ROS предоставляет возможность использовать языки C++ и Python.

Программный симулятор реального мира Gazebo

Все эти программные средства должны брать данные с сенсоров и управлять чем-то. Программе неважно, работать ли с реальными или симуляционными датчиками и актуаторами, поэтому все алгоритмы можно сначала протестировать на компьютере, в мире Gazebo.

Gazebo симулирует взаимодействие робота с окружающим пространством. Качественная трехмерная графика здесь позволяет увидеть мир и робота как в компьютерной игре. Есть встроенная модель физики мира и возможность использовать разные физические датчики, видеокамеры, дальномеры. Набор существующих сенсоров можно при желании дополнять своими, создавая плагины. Измерения сенсоров моделируются с задаваемым уровнем шума.

В Gazebo есть готовые окружения и примеры заданий и, конечно же, можно создавать свои. Помимо плагинов-сенсоров, можно делать и программные. Например, ты можешь описать в виде программы модель работы мотора, которая задаст зависимость между сигналом контроллера и тягой двигателя.

Образ Docker

Чтобы развернуть у себя на компьютере описанную среду симуляции, надо поставить большое количество программных пакетов, и могут возникнуть проблемы с зависимостями. Чтобы сэкономить тебе время, я создал образ Docker с уже настроенными пакетами и нужным нам софтом для первого теста дрона в Gazebo.

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector