PX4 Autopilot: различия между версиями

Материал из ALT Linux Wiki
(Добавил категории)
Нет описания правки
 
Строка 4: Строка 4:
== Подготовка к установке ==
== Подготовка к установке ==
Начать стоит с установки необходимых пакетов. Их достаточно много, но список всё равно не полный и может не охватывать всех возможных сценариев применения данной среды.
Начать стоит с установки необходимых пакетов. Их достаточно много, но список всё равно не полный и может не охватывать всех возможных сценариев применения данной среды.
  # su -
  $ su -
  # apt-get update
  # apt-get update
  # apt-get dist-upgrade
  # apt-get dist-upgrade
Строка 11: Строка 11:


Теперь от обычного пользователя необходимо помимо пакетов Альт установить пакеты python3 через стандартный пакетный менеджер pip3.
Теперь от обычного пользователя необходимо помимо пакетов Альт установить пакеты python3 через стандартный пакетный менеджер pip3.
  # pip3 install kconfiglib curses-util empy==3.3.4 jinja2 symforce pyros-genmsg pyyaml jsonschema setuptools
  $ pip3 install kconfiglib curses-util empy==3.3.4 jinja2 symforce pyros-genmsg pyyaml jsonschema setuptools


== Установка ==
== Установка ==
Начать необходимо с клонирования репозитория PX4 с гитхаба. Обращаю внимание что необходимо именно клонировать с помощью гита, а не скачивать архивом с сайта. Вызвано это тем что помимо основного репозитория PX4 необходимо подгрузить ещё  и его зависимости в виде ещё нескольких репозиториев. По этому скачивать исходники PX4 необходимо командой:
Начать необходимо с клонирования репозитория PX4 с гитхаба. Обращаю внимание что необходимо именно клонировать с помощью гита, а не скачивать архивом с сайта. Вызвано это тем что помимо основного репозитория PX4 необходимо подгрузить ещё  и его зависимости в виде ещё нескольких репозиториев. По этому скачивать исходники PX4 необходимо командой:
  # git clone https://github.com/PX4/PX4-Autopilot.git --recursive
  $ git clone https://github.com/PX4/PX4-Autopilot.git --recursive
Из-за большого числа зависимостей процесс клонирования может идти достаточно долго.
Из-за большого числа зависимостей процесс клонирования может идти достаточно долго.
{{Note|Клонирование в данном примере производится в домашнею папку пользователя.}}
{{Note|Клонирование в данном примере производится в домашнею папку пользователя.}}
== Проверка работоспособности ==
== Проверка работоспособности ==
Для начала работы необходимо перейти в папку с исходниками PX4:
Для начала работы необходимо перейти в папку с исходниками PX4:
  # cd PX4-Autopilot/
  $ cd PX4-Autopilot/
Для проверки работоспособности соберём прошивку для полётного контроллера [https://holybro.com/products/fmuv6x-rt-developer-edition Holybro Pixhawk 6X-RT (FMUv6X)].
Для проверки работоспособности соберём прошивку для полётного контроллера [https://holybro.com/products/fmuv6x-rt-developer-edition Holybro Pixhawk 6X-RT (FMUv6X)].
  # make px4_fmu-v6xrt_default
  $ make px4_fmu-v6xrt_default
В случае успеха вы увидите в конце вывода командной строки что-то вроде:
В случае успеха вы увидите в конце вывода командной строки что-то вроде:
<source lang="text">[100%] Linking CXX executable ../../px4_fmu-v6xrt_default.elf
<source lang="text">[100%] Linking CXX executable ../../px4_fmu-v6xrt_default.elf

Текущая версия от 13:21, 27 августа 2024

PX4 Autopilot - специализированное ПО для работы с прошивками полётных контроллеров дронов с открытым исходным кодом. Помимо сборки непосредственно прошивок возможна и сборка для запуска в среде моделирования для робототехники Gazebo. Основная часть кода написана на C++ и Python. Основывается на ОСРВ Nuttx. Сборка основана на Cmake.

Примечание: Работа проводилась на Альт Рабочая Станция К 10.3.


Подготовка к установке

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

$ su -
# apt-get update
# apt-get dist-upgrade
# apt-get install gcc make cmake git arm-none-eabi-gcc arm-none-eabi-gcc-c++ python3 python3-modules-curses python3-module-pip python3-module-setuptools python3-module-future python3-modules-sqlite3 libncurses libncurses-devel gcc-c++ libidn1.34
# exit

Теперь от обычного пользователя необходимо помимо пакетов Альт установить пакеты python3 через стандартный пакетный менеджер pip3.

$ pip3 install kconfiglib curses-util empy==3.3.4 jinja2 symforce pyros-genmsg pyyaml jsonschema setuptools

Установка

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

$ git clone https://github.com/PX4/PX4-Autopilot.git --recursive

Из-за большого числа зависимостей процесс клонирования может идти достаточно долго.

Примечание: Клонирование в данном примере производится в домашнею папку пользователя.

Проверка работоспособности

Для начала работы необходимо перейти в папку с исходниками PX4:

$ cd PX4-Autopilot/

Для проверки работоспособности соберём прошивку для полётного контроллера Holybro Pixhawk 6X-RT (FMUv6X).

$ make px4_fmu-v6xrt_default

В случае успеха вы увидите в конце вывода командной строки что-то вроде:

[100%] Linking CXX executable ../../px4_fmu-v6xrt_default.elf
Memory region         Used Size  Region Size  %age Used
           flash:     2085884 B      3968 KB     51.34%
            sram:       91756 B      1280 KB      7.00%
            itcm:      212240 B       256 KB     80.96%
            dtcm:         936 B       256 KB      0.36%
[100%] Built target px4
[100%] Generating ../../px4_fmu-v6xrt_default.bin
[100%] Creating /home/user/PX4-Autopilot/build/px4_fmu-v6xrt_default/px4_fmu-v6xrt_default.px4
[100%] Built target px4_package

Собранный исполняемый файл лежит в папке:

PX4-Autopilot/build/px4_fmu-v6xrt_default/