Інструментарій на віртуальних машинах Windows
WARNING
Це середовище розробки підтримується та утримується спільнотою. Воно може працювати або не працювати з поточними версіями PX4.
Дивіться Встановлення інструментарію для отримання інформації про середовища та інструменти, які підтримуються основною командою розробників.
Розробники на Windows можуть використовувати інструментарій PX4 у віртуальній машині (VM) з гостьовою операційною системою Linux. Після створення віртуальної машини, установка та налаштування PX4 у VM така сама, як і на звичайному комп'ютері з Linux.
Хоч використання віртуальної машини - це простий спосіб налаштувати та протестувати середовище для збірки прошивки, користувачі повинні взяти до уваги:
- Збірка прошивки буде повільніша, ніж нативна збірка на Linux.
- У симуляції JMAVSim частота кадрів набагато повільніша, ніж на рідному Linux. В деяких випадках засіб може розбитися через проблеми, пов'язані з недостатніми ресурсами віртуальної машини.
- Gazebo та ROS встановлюються, але повільні настільки що ними неможливо користуватись.
TIP
Виділіть якомога більше ресурсів процесора і пам'яті для VM.
Існує кілька способів налаштування VM, яка здатна виконувати PX4 середовище на вашій системі. Цей посібник допоможе вам налаштувати VMWare. В кінці є неповний розділ для VirtualBox (і ми запрошуємо до розширення цього розділу когось з членів спільноти).
Налаштування VMWare
Ефективність VMWare прийнятна для основного застосування (збірки прошивки) але не для запуску ROS чи Gazebo Classic.
Завантажте VMWare Player Freeware
Установіть його на вашу Windows систему
Завантажте бажану версію ISO образу Ubuntu Desktop. (див. сторінку інструкцій для Linux для рекомендованої версії Ubuntu).
Відкрийте VMWare Player.
Увімкніть 3D прискорення в налаштуваннях VM: VM > Settings > Hardware > Display > Accelerate 3D graphics
:::note Цей параметр необхідний для належного запуску 3D середовищ симуляції на зразок jMAVSim та Gazebo Classic. Рекомендуємо зробити це перед встановленням Linux у віртуальному середовищі. :::
Перейдіть до створення нової віртуальної машини.
У майстрі створення VM оберіть завантажений ISO образ з Ubuntu як носій установки з якого буде автоматично виявлено операційну систему, яку ви хочете використати.
Також у майстрі, оберіть ресурси, які ви хочете виділити віртуальній машині під час роботи. Виділіть стільки пам'яті та ядер процесора скільки зможете таким чином щоб вашою основною Windows системою можна було продовжити користуватись.
Запустіть нову VM в кінці майстра та завершіть встановлення Ubuntu відповідно до інструкцій з установки. Запам'ятайте, всі налаштування потрібні тільки для використання у вашій основній операційній системі, тому можна вимкнути будь-який режим збереження екрана та функції безпеки локальні робочої станції, що не збільшують ризик мережевої атаки.
Після того, як нова VM завантажиться, переконайтеся, що ви встановили допоміжні драйвери та розширення VMWare в гостьовій системі. Це підвищить продуктивність та зручність користування віртуальною машиною:
- Значно поліпшена продуктивність графіки
- Належна підтримка використання апаратного забезпечення, наприклад розподілу портів USB (важливо для завантаження прошивок), прокручування коліщатком миші, підтримка звуку
- Адаптація роздільної здатності дисплею гостя до розміру вікна емулятора
- Спільний доступ до буфера обміну з основної ОС
- Спільний доступ до файлів з основної ОС
Переходьте до встановлення середовища PX4 для Linux.
Налаштування VirtualBox 7
Налаштування VirtualBox схоже на VMWare. Учасники спільноти, запрошуємо до створення покрокових інструкцій для цього розділу!
Пропускання USB для QGroundControl / запису прошивки
TIP
Цей розділ було протестовано на Ubuntu 20.04 LTS яка була запущена у VirtualBox 7 на основній машині з Windows 10.
Єдине обмеження віртуальних машин - ви не можете автоматично під'єднатися до польотного контролера з'єднаного з USB портом основного комп'ютера для того, щоб зібрати та завантажити прошивку PX4 з термінала. Також, не можна приєднатися до польотного контролера з QGroundControl в віртуальній машині.
Щоб дозволити це, необхідно налаштувати параметри пропуску USB:
Переконайтеся, що користувач був доданий в групу dialout в VM використовуючи команду терміналу:
shsudo usermod -a -G dialout $USER
Потім перезавантажте Ubuntu у віртуальній машині.
Увімкніть послідовний порт(и) в VM: VirtualBox > Settings > Serial Ports 1/2/3/etc...
Увімкніть контролер USB у VM: VirtualBox > Settings > USB
Додайте фільтри USB для завантажувача в VM: VirtualBox > Settings > USB > Add new USB filter.
Відкрийте меню і під'єднайте USB-кабель, підключений до автопілота. Оберіть пристрій
...Bootloader
коли він з'явиться в інтерфейсі.:::note Пристрій завантажувача з'являється тільки на кілька секунд після під'єднання USB. Якщо він зникає до того як ви змогли обрати його, від'єднайте та повторно під'єднайте USB. :::
Оберіть пристрій
...Autopilot
коли він з'явиться (це станеться коли завантажувач завершить роботу).
Оберіть пристрій у меню що випадає у відкритій VM VirtualBox > Devices > your_device
У разі успіху ваш пристрій з'явиться у виводі команди lsusb
і QGroundControl буде підключатися до пристрою автоматично. Ви також матимете можливість збирати та завантажувати прошивку за допомогою команди:
sh
make px4_fmu-v5_default upload
Телеметрія через WiFi для QGroundControl
При використанні QGroundControl у віртуальній машині, потрібно встановити мережеві параметри VM в режим "Bridged Adapter". Це дає гостьовій ОС прямий доступ до мережевого обладнання на основній машині. Якщо ви використовуєте режим трансляції мережевих адрес (NAT), який встановлюється за замовчуванням для VirtualBox 7 для Ubuntu 20.04 LTS, це заблокує вихідні UDP-пакети, які використовує QGroundControl для зв'язку з рухомим засобом.