Налаштування польотного контролера Porting Guide
Ця тема призначена для розробників, які хочуть портувати PX4 для роботи з новим апаратним засобом керування польотом.
Архітектура системи PX4
PX4 складається з двох основних рівнів: шару підтримки плати та проміжного програмного забезпечення поверх операційної системи хоста (NuttX, Linux або будь-якої іншої платформи POSIX, такої як Mac OS), та додатків (Flight Stack у src/modules). Будь ласка, зверніться до Огляду архітектури PX4 для отримання додаткової інформації.
Цей посібник спрямований лише на операційну систему хоста та проміжне програмне забезпечення, оскільки програми/стек польоту будуть працювати на будь-якій цільовій платі.
Налаштування режиму польоту файлової структури
Файли запуску та конфігурації дошки розташовані під /boards в кожному каталозі постачальника дошки (тобто boards/VENDOR/MODEL/).
Наприклад, для FMUv5:
- (Усі) Файли, специфічні для плати: /boards/px4/fmu-v5
- Конфігурація збирання: /boards/px4/fmu-v5/default.px4board.
- Файл ініціалізації для конкретної плати: /boards/px4/fmu-v5/init/rc.board_defaults
- Файл ініціалізації, специфічний для плати, автоматично включається в сценарії запуску, якщо він знайдений у каталозі плат під шляхом init/rc.board.
- Файл використовується для запуску сенсорів (та інших речей), які існують лише на конкретній платі. Це також може бути використано для встановлення параметрів за замовчуванням дошки, відображень UART та будь-яких інших виняткових випадків.
- Для FMUv5 ви можете побачити, як запускаються всі датчики Pixhawk 4, а також встановлюється більший LOGGER_BUF.
Конфігурація операційної системи хоста
Цей розділ описує призначення та місцезнаходження файлів конфігурації, необхідних для кожної підтримуваної операційної системи хоста, щоб перенести їх на нове апаратне засіб керування польотом.
NuttX
Див. Посібник з портування дошки NuttX.
Linux
Плати Linux не включають ОС та конфігурацію ядра. Ці дані вже надаються зображенням Linux, доступним для плати (яке повинно підтримувати інерційні сенсори з коробки).
- дошки/px4/raspberrypi/default.px4board - Крос-компиляція RPI.
Компоненти та конфігурація проміжного програмного забезпечення
Цей розділ описує різноманітні компоненти проміжного програмного забезпечення та необхідні оновлення файлів конфігурації для перенесення їх на нове апаратне засіб керування польотом.
QuRT / Шестикутник
- Початковий скрипт знаходиться в posix-configs/.
- Конфігурація ОС є частиною стандартного образу Linux (TODO: Вказати місце розташування ОБРАЗУ LINUX та інструкції щодо прошивки).
- Конфігурація проміжного програмного забезпечення PX4 розташована в src/boards. TODO: ДОДАТИ НАЛАШТУВАННЯ АВТОБУСА
Рекомендації з підключення RC UART
Зазвичай рекомендується підключати RC через окремі піни RX та TX до мікроконтролера. Якщо, проте, RX та TX з'єднані разом, UART повинен бути переведений в режим одножильного кабелю, щоб уникнути будь-яких конфліктів. Це робиться за допомогою конфігураційної дошки та файлів маніфесту. Один приклад - px4fmu-v5.
Офіційно Підтримуване Обладнання
Проект PX4 підтримує та забезпечує стандартне посилання на апаратне забезпечення FMU та будь-які плати, які сумісні з цим стандартом. Це включає серію Pixhawk (див. посібник користувача для повного списку офіційно підтримуваного обладнання).
Кожна офіційно підтримувана дошка користується наступними перевагами:
- Порт PX4 доступний у сховищі PX4
- Автоматичні версії прошивки, які можна отримати з QGroundControl
- Сумісність з рештою екосистеми
- Автоматизовані перевірки через CI - безпека залишається найважливішою для цієї спільноти
- Тестування польоту
Ми закликаємо виробників плат спрямовуватися на повну сумісність з специфікацією FMU. З повною сумісністю ви користуєтеся постійним розвитком PX4 щодня, але не маєте жодних витрат на обслуговування, які виникають у зв'язку з відхиленнями від специфікації.
TIP
Виробники повинні ретельно розглянути витрати на обслуговування перед відхиленням від специфікації (витрати виробника пропорційні рівню відхилення).
Ласкаво просимо будь-яку фізичну особу або компанію подати їхній порт для включення в нашу підтримувану апаратуру, за умови, що вони готові дотримуватися нашого Кодексу поведінки та співпрацювати з Технічною Командою, щоб забезпечити безпечний та задоволений досвід з PX4 для їхніх клієнтів.
Також важливо зауважити, що команда розробників PX4 має відповідальність випускати безпечне програмне забезпечення, тому ми вимагаємо, щоб будь-який виробник плати зобов'язався витрачати всі необхідні ресурси для підтримки їхнього порту в актуальному стані та працездатному.
Якщо ви хочете, щоб ваша дошка була офіційно підтримана в PX4:
- Ваше обладнання повинно бути доступним на ринку (тобто його можна придбати будь-якому розробнику без обмежень).
- Апаратні засоби повинні бути доступні команді розробників PX4, щоб вони могли підтвердити порт (звертайтеся до lorenz@px4.io за допомогою, куди відправити апаратне забезпечення для тестування).
- Плата повинна пройти повний набір тестів та польотне тестування.
Проект PX4 залишає за собою право відмовитися від прийняття нових портів (або видалити поточні порти), якщо вони не відповідають вимогам, встановленим проектом.
Ви можете звернутися до команди основних розробників та спільноти на офіційних каналах підтримки.
Пов'язана інформація
- Драйвери пристроїв - Як підтримувати нове зовнішнє обладнання (драйвери пристроїв)
- Збірка коду - Як зібрати вихідний код та завантажити прошивку
- Підтримувані автопілоти включають:
- Автопілот апаратного забезпечення
- Список підтримуваних плат (Github) - Плати, для яких PX4-Autopilot має конкретний код
- Підтримувані периферійні пристрої