New Crowdin translations - uk (#25558)

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
This commit is contained in:
PX4 Build Bot
2025-09-16 08:57:19 +10:00
committed by GitHub
co-authored by Crowdin Bot
parent 0068fea2f5
commit d42aebe100
136 changed files with 3113 additions and 2676 deletions
+5
View File
@@ -157,6 +157,7 @@
- [Швидке підключення mRo (3DR) Pixhawk](assembly/quick_start_pixhawk.md)
- [Holybro Pixhawk Mini (FMUv3) - Припинено](flight_controller/pixhawk_mini.md)
- [Автопілоти, що підтримуються виробником](flight_controller/autopilot_manufacturer_supported.md)
- [Accton Godwit GA1](flight_controller/accton-godwit_ga1.md)
- [AirMind MindPX](flight_controller/mindpx.md)
- [AirMind MindRacer](flight_controller/mindracer.md)
- [ARK Electronics ARKV6X](flight_controller/ark_v6x.md)
@@ -283,6 +284,7 @@
- [CubePilot Here+ (Discontined)](gps_compass/rtk_gps_hex_hereplus.md)
- [INS (Інерціальна навігація/GNSS)](sensor/inertial_navigation_systems.md)
- [InertialLabs](sensor/inertiallabs.md)
- [sbgECom](sensor/sbgecom.md)
- [VectorNav](sensor/vectornav.md)
- [Optical Flow](sensor/optical_flow.md)
- [ARK Flow](dronecan/ark_flow.md)
@@ -679,6 +681,8 @@
- [RoverPositionSetpoint](msg_docs/RoverPositionSetpoint.md)
- [RoverRateSetpoint](msg_docs/RoverRateSetpoint.md)
- [RoverRateStatus](msg_docs/RoverRateStatus.md)
- [RoverSpeedSetpoint](msg_docs/RoverSpeedSetpoint.md)
- [RoverSpeedStatus](msg_docs/RoverSpeedStatus.md)
- [RoverSteeringSetpoint](msg_docs/RoverSteeringSetpoint.md)
- [RoverThrottleSetpoint](msg_docs/RoverThrottleSetpoint.md)
- [RoverVelocitySetpoint](msg_docs/RoverVelocitySetpoint.md)
@@ -739,6 +743,7 @@
- [YawEstimatorStatus](msg_docs/YawEstimatorStatus.md)
- [AirspeedValidatedV0](msg_docs/AirspeedValidatedV0.md)
- [ArmingCheckReplyV0](msg_docs/ArmingCheckReplyV0.md)
- [ArmingCheckRequestV0](msg_docs/ArmingCheckRequestV0.md)
- [BatteryStatusV0](msg_docs/BatteryStatusV0.md)
- [EventV0](msg_docs/EventV0.md)
- [HomePositionV0](msg_docs/HomePositionV0.md)
+1 -1
View File
@@ -131,7 +131,7 @@ The on-screen gimbal control can be used to move/test a connected MAVLink camera
2. Open QGroundControl and enable the on-screen camera control (Application settings).
![Quadrotor(x500) with gimbal (Front-facing) in Gazebo](../../assets/qgc/fly/gimbal_control_x500gz.png)
![Quadrotor(x500) with gimbal (Front-facing) in Gazebo](../../assets/qgc/fly/gimbal_control_x500gz.png)
3. Make sure the vehicle is armed and flying, e.g. by entering with `commander takeoff`.
+1 -1
View File
@@ -52,7 +52,7 @@ PX4 визначає ряд [стандартних мелодій/тем](../ge
7. Коли ви будете готові зберегти музику:
- Натисніть **F2**, щоб дати мелодії назву та зберегти її у підпапці _/Music_ вашої інсталяції Melody Master.
- Натисніть **F7**, прокрутіть список вихідних форматів праворуч, щоб перейти до ANSI.
Файл буде експортовано в _кореневий каталог_ каталогу Melody Master (з такою самою назвою та розширенням типу файлу).
Файл буде експортовано в _кореневий каталог_ каталогу Melody Master (з такою самою назвою та розширенням типу файлу).
8. Відкрийте файл.
Результат може виглядати так:
@@ -23,7 +23,7 @@
1. Відкрийте меню QGroundControl: **Settings > Parameters > Sensor Calibration**.
2. Параметри, розташовані в розділі, як показано нижче (або ви можете знайти їх):
![FC Orientation QGC v2](../../assets/qgc/setup/sensor/fc_orientation_qgc_v2.png)
![FC Orientation QGC v2](../../assets/qgc/setup/sensor/fc_orientation_qgc_v2.png)
## Підсумок параметра
+56 -56
View File
@@ -37,8 +37,8 @@ You can enable this key in your own custom firmware if needed.
2. [Оновіть прошивку](../config/firmware.md#custom) з образом, що містить новий/потрібний завантажувач.
::: info
The updated bootloader might be included the default firmware for your board or supplied in custom firmware.
::: info
The updated bootloader might be included the default firmware for your board or supplied in custom firmware.
:::
@@ -47,7 +47,7 @@ You can enable this key in your own custom firmware if needed.
4. [Знайдіть](../advanced_config/parameters.md) та увімкніть параметр [SYS_BL_UPDATE](../advanced_config/parameter_reference.md#SYS_BL_UPDATE).
5. Перезавантажте (відключіть / підключіть плату).
Оновлення завантажувача займе лише кілька секунд.
Оновлення завантажувача займе лише кілька секунд.
Зазвичай на цьому етапі ви можливо захочете [оновити прошивку](../config/firmware.md) ще раз, використовуючи правильно/ново встановлений загрузчик.
@@ -89,80 +89,80 @@ PX4 boards up to FMUv5X (before STM32H7) used the [PX4 bootloader](https://githu
1. Отримайте бінарний файл, який містить завантажувальник (або від команди розробників, або [зіберіть його самостійно](#building-the-px4-bootloader)).
2. Get a [Debug Probe](../debug/swd_debug.md#debug-probes-for-px4-hardware).
Підключіть зонд до комп'ютера за допомогою USB та налаштуйте `gdbserver`.
Підключіть зонд до комп'ютера за допомогою USB та налаштуйте `gdbserver`.
3. Перейдіть до каталогу, що містить бінарний файл, і запустіть команду для обраного вами завантажувача в терміналі:
- FMUv6X
- FMUv6X
```sh
arm-none-eabi-gdb px4_fmu-v6x_bootloader.elf
```
```sh
arm-none-eabi-gdb px4_fmu-v6x_bootloader.elf
```
- FMUv6X-RT
- FMUv6X-RT
```sh
arm-none-eabi-gdb px4_fmu-v6xrt_bootloader.elf
```
```sh
arm-none-eabi-gdb px4_fmu-v6xrt_bootloader.elf
```
- FMUv5
- FMUv5
```sh
arm-none-eabi-gdb px4fmuv5_bl.elf
```
```sh
arm-none-eabi-gdb px4fmuv5_bl.elf
```
H7 Завантажувачі з [PX4/PX4-Autopilot](https://github.com/PX4/PX4-Autopilot) мають назву за шаблоном `*._bootloader.elf`.
Завантажувачі з [PX4/PX4-Bootloader](https://github.com/PX4/PX4-Bootloader) мають назву за шаблоном `*_bl.elf`.
H7 Завантажувачі з [PX4/PX4-Autopilot](https://github.com/PX4/PX4-Autopilot) мають назву за шаблоном `*._bootloader.elf`.
Завантажувачі з [PX4/PX4-Bootloader](https://github.com/PX4/PX4-Bootloader) мають назву за шаблоном `*_bl.elf`.
:::
4. The _gdb terminal_ appears and it should display (something like) the following output:
```sh
GNU gdb (GNU Tools for Arm Embedded Processors 7-2017-q4-major) 8.0.50.20171128-git
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "--host=x86_64-linux-gnu --target=arm-none-eabi".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.sourceware.org/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<https://www.sourceware.org/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from px4fmuv5_bl.elf...done.
```
```sh
GNU gdb (GNU Tools for Arm Embedded Processors 7-2017-q4-major) 8.0.50.20171128-git
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "--host=x86_64-linux-gnu --target=arm-none-eabi".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.sourceware.org/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<https://www.sourceware.org/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from px4fmuv5_bl.elf...done.
```
5. Find your `<dronecode-probe-id>` by running an `ls` command in the **/dev/serial/by-id** directory.
6. Тепер підключіться до debug probe з наступною командою:
```sh
tar ext /dev/serial/by-id/<dronecode-probe-id>
```
```sh
tar ext /dev/serial/by-id/<dronecode-probe-id>
```
7. Увімкніть Pixhawk за допомогою іншого USB-кабелю та під’єднайте зонд до порту `FMU-DEBUG`.
::: info
If using a Zubax BugFace BF1 you may need to remove the case in order to connect to the `FMU-DEBUG` port (e.g. on Pixhawk 4 you would do this using a T6 Torx screwdriver).
::: info
If using a Zubax BugFace BF1 you may need to remove the case in order to connect to the `FMU-DEBUG` port (e.g. on Pixhawk 4 you would do this using a T6 Torx screwdriver).
:::
8. Використовуйте таку команду, щоб знайти SWD Pixhawk і підключитися до нього:
```sh
(gdb) mon swdp_scan
(gdb) attach 1
```
```sh
(gdb) mon swdp_scan
(gdb) attach 1
```
9. Завантажте двійковий файл в Pixhawk:
```sh
(gdb) load
```
```sh
(gdb) load
```
Після оновлення завантажувача ви можете [завантажити прошивку PX4](../config/firmware.md) за допомогою _QGroundControl_.
@@ -181,25 +181,25 @@ This example explains how you can use [QGC Bootloader Update](qgc-bootloader-upd
1. Вставте SD-карту (це дозволяє реєструвати журнали завантаження для відлагодження будь-яких проблем).
2. [Оновіть програмне забезпечення](../config/firmware.md) до версії PX4 _master_ (під час оновлення програмного забезпечення перевірте **Розширені налаштування** і виберіть **Розробницьку збірку (master)** із випадаючого списку).
_QGroundControl_ автоматично виявить, що апаратне забезпечення підтримує FMUv2 і встановить відповідне програмне забезпечення.
_QGroundControl_ автоматично виявить, що апаратне забезпечення підтримує FMUv2 і встановить відповідне програмне забезпечення.
![FMUv2 update](../../assets/qgc/setup/firmware/bootloader_update.jpg)
![FMUv2 update](../../assets/qgc/setup/firmware/bootloader_update.jpg)
Зачекайте, доки транспортний засіб перезавантажиться.
Зачекайте, доки транспортний засіб перезавантажиться.
3. [Знайдіть](../advanced_config/parameters.md) та увімкніть параметр [SYS_BL_UPDATE](../advanced_config/parameter_reference.md#SYS_BL_UPDATE).
4. Перезавантажте (відключіть / підключіть плату).
Оновлення завантажувача займе лише кілька секунд.
Оновлення завантажувача займе лише кілька секунд.
5. Тоді знову [Оновити програмне забезпечення](../config/firmware.md).
На цей раз _QGroundControl_ повинен автоматично визначити обладнання як FMUv3 і відповідним чином оновити програмне забезпечення.
На цей раз _QGroundControl_ повинен автоматично визначити обладнання як FMUv3 і відповідним чином оновити програмне забезпечення.
![FMUv3 update](../../assets/qgc/setup/firmware/bootloader_fmu_v3_update.jpg)
![FMUv3 update](../../assets/qgc/setup/firmware/bootloader_fmu_v3_update.jpg)
::: info
Якщо апаратне забезпечення має [Помилки в кремнієвій мікросхемі](../flight_controller/silicon_errata.md#fmuv2-pixhawk-silicon-errata), воно все одно буде виявлене як FMUv2, і ви побачите, що FMUv2 було знову встановлено (у консолі).
У цьому випадку ви не зможете встановити апаратне забезпечення FMUv3.
::: info
Якщо апаратне забезпечення має [Помилки в кремнієвій мікросхемі](../flight_controller/silicon_errata.md#fmuv2-pixhawk-silicon-errata), воно все одно буде виявлене як FMUv2, і ви побачите, що FMUv2 було знову встановлено (у консолі).
У цьому випадку ви не зможете встановити апаратне забезпечення FMUv3.
:::
+14 -14
View File
@@ -92,29 +92,29 @@ ESC OneShot слід [налаштувати на використання ре
- Мінімальне значення для мотора (за замовчуванням: 1100 мкс) повинно забезпечувати повільний, але надійний оберт мотора, а також надійно запускати його після зупинки.
Ви можете підтвердити, що мотор обертається мінімально (без пропеллерів) в [TestActuator](../config/actuators. d#actuator-testing), увімкнувши повзунки, а потім переміщуючи повзунок виводу тесту для двигуна в першу позицію відключення від низу.
Правильне значення має зробити так, що мотор обертається негайно і надійно при пересуванні повзунка зі стану роззброєності до мінімуму.
Ви можете підтвердити, що мотор обертається мінімально (без пропеллерів) в [TestActuator](../config/actuators. d#actuator-testing), увімкнувши повзунки, а потім переміщуючи повзунок виводу тесту для двигуна в першу позицію відключення від низу.
Правильне значення має зробити так, що мотор обертається негайно і надійно при пересуванні повзунка зі стану роззброєності до мінімуму.
Щоб знайти «оптимальне» мінімальне значення, пересуньте повзунок вниз (режим роззброєності).
Потім збільшуйте значення PWM-виходу в режимі `роззброєності` невеликими інкрементами (наприклад, 1025 мкс, 1050 мкс і т. д.), доки мотор не почне надійно обертатися (краще бути трохи вище, ніж трохи нижче).
Введіть це значення в параметр «мінімум» для всіх вихідних PWM сигналів мотора, а вихідний сигнал `роззброєності` відновіть до `1100 мкс`.
Щоб знайти «оптимальне» мінімальне значення, пересуньте повзунок вниз (режим роззброєності).
Потім збільшуйте значення PWM-виходу в режимі `роззброєності` невеликими інкрементами (наприклад, 1025 мкс, 1050 мкс і т. д.), доки мотор не почне надійно обертатися (краще бути трохи вище, ніж трохи нижче).
Введіть це значення в параметр «мінімум» для всіх вихідних PWM сигналів мотора, а вихідний сигнал `роззброєності` відновіть до `1100 мкс`.
- Максимальне значення для мотора (за замовчуванням: `1900 мкс`) слід вибрати так, щоб збільшення значення не зробило мотор обертатися швидше.
Ви можете підтвердити, що мотор обертається швидко при максимальному значенні у режимі [Тестування приводів](../config/actuators.md#actuator-testing), перемістивши пов'язаний слайдер випробування вверх.
Ви можете підтвердити, що мотор обертається швидко при максимальному значенні у режимі [Тестування приводів](../config/actuators.md#actuator-testing), перемістивши пов'язаний слайдер випробування вверх.
Щоб знайти "оптимальне" максимальне значення, спочатку перемістіть повзунок вниз (роззброєно).
Потім збільште налаштування вихідної потужності PWM `вимкненої` близько до максимального значення за замовчуванням (`1900`) - мотори повинні розганятися.
Слухайте тон мотора, коли збільшуєте максимальне значення PWM для виводу поетапно (наприклад, 1925 мкс, 1950 мкс і так далі).
Оптимальне значення визначається в той момент, коли звук моторів не змінюється при збільшенні значення виводу.
Введіть це значення в параметр `максимум` для всіх виводів ШІМ мотора, а також відновіть значення виводу `знято` на `1100 мкс`.
Щоб знайти "оптимальне" максимальне значення, спочатку перемістіть повзунок вниз (роззброєно).
Потім збільште налаштування вихідної потужності PWM `вимкненої` близько до максимального значення за замовчуванням (`1900`) - мотори повинні розганятися.
Слухайте тон мотора, коли збільшуєте максимальне значення PWM для виводу поетапно (наприклад, 1925 мкс, 1950 мкс і так далі).
Оптимальне значення визначається в той момент, коли звук моторів не змінюється при збільшенні значення виводу.
Введіть це значення в параметр `максимум` для всіх виводів ШІМ мотора, а також відновіть значення виводу `знято` на `1100 мкс`.
- Значення виводу «знято» для мотора (за замовчуванням: `1000 мкс`) повинно зупиняти мотор і залишати його зупиненим.
Ви можете підтвердити це в розділі [Тестування виконавчих механізмів](../config/actuators.md#actuator-testing), перемістивши слайдер виводу тестування до фіксованого положення у нижній частині слайдера і спостерігаючи, що двигун не обертається.
Ви можете підтвердити це в розділі [Тестування виконавчих механізмів](../config/actuators.md#actuator-testing), перемістивши слайдер виводу тестування до фіксованого положення у нижній частині слайдера і спостерігаючи, що двигун не обертається.
Якщо ESC обертається за замовчуванням на значенні 1000 мкс, то ESC не правильно калібрується.
Якщо використовуєте ESC, який не може бути калібрований, вам слід зменшити значення виведення ШІМ для виводу до значення, коли мотор більше не обертається (наприклад, 950 мкс або 900 мкс).
Якщо ESC обертається за замовчуванням на значенні 1000 мкс, то ESC не правильно калібрується.
Якщо використовуєте ESC, який не може бути калібрований, вам слід зменшити значення виведення ШІМ для виводу до значення, коли мотор більше не обертається (наприклад, 950 мкс або 900 мкс).
::: info
VTOL and fixed-wing motors do not need any special PWM configuration.
+61 -61
View File
@@ -87,14 +87,14 @@ DNS=10.41.10.254
3. Введіть команди "like" до наведених нижче у _Консоль MAVLink_ (щоб записати значення у файл конфігурації):
```sh
echo DEVICE=eth0 > /fs/microsd/net.cfg
echo BOOTPROTO=fallback >> /fs/microsd/net.cfg
echo IPADDR=10.41.10.2 >> /fs/microsd/net.cfg
echo NETMASK=255.255.255.0 >>/fs/microsd/net.cfg
echo ROUTER=10.41.10.254 >>/fs/microsd/net.cfg
echo DNS=10.41.10.254 >>/fs/microsd/net.cfg
```
```sh
echo DEVICE=eth0 > /fs/microsd/net.cfg
echo BOOTPROTO=fallback >> /fs/microsd/net.cfg
echo IPADDR=10.41.10.2 >> /fs/microsd/net.cfg
echo NETMASK=255.255.255.0 >>/fs/microsd/net.cfg
echo ROUTER=10.41.10.254 >>/fs/microsd/net.cfg
echo DNS=10.41.10.254 >>/fs/microsd/net.cfg
```
4. Після встановлення конфігурації мережі можна від’єднати кабель USB.
@@ -113,36 +113,36 @@ Note that there are many more [examples](https://github.com/canonical/netplan/tr
Для установки Ubuntu комп'ютера:
1. In a terminal, create and open a `netplan` configuration file: `/etc/netplan/01-network-manager-all.yaml`
Below we do this using the _nano_ text editor.
Below we do this using the _nano_ text editor.
```
sudo nano /etc/netplan/01-network-manager-all.yaml
```
```
sudo nano /etc/netplan/01-network-manager-all.yaml
```
2. Скопіюйте та вставте наступну конфігураційну інформацію у файл (зверніть увагу: відступи мають значення!):
```
network:
version: 2
renderer: NetworkManager
ethernets:
enp2s0:
addresses:
- 10.41.10.1/24
nameservers:
addresses: [10.41.10.1]
routes:
- to: 10.41.10.1
via: 10.41.10.1
```
```
network:
version: 2
renderer: NetworkManager
ethernets:
enp2s0:
addresses:
- 10.41.10.1/24
nameservers:
addresses: [10.41.10.1]
routes:
- to: 10.41.10.1
via: 10.41.10.1
```
Збережіть і закрийте файл.
Збережіть і закрийте файл.
3. Застосуйте конфігурацію _netplan_, введіть наступну команду в термінал Ubuntu.
```
sudo netplan apply
```
```
sudo netplan apply
```
### Комп’ютер-супутник Налаштування мережі Ethernet
@@ -189,9 +189,9 @@ Assuming you have already [Set up the Ethernet Network](#setting-up-the-ethernet
3. Запустіть QGroundControl та [визначте комунікаційний канал](https://docs.qgroundcontrol.com/master/en/SettingsView/SettingsView.html) (**Налаштування додатка > Канали зв'язку**), вказавши _адресу сервера_ та порт як IP-адресу та порт, призначений в PX4, відповідно.
Припускаючи, що значення встановлені так, як описано в решті цієї теми, налаштування виглядатиме наступним чином:
Припускаючи, що значення встановлені так, як описано в решті цієї теми, налаштування виглядатиме наступним чином:
![QGC comm link for ethernet setup](../../assets/qgc/settings/comm_link/px4_ethernet_link_config.png)
![QGC comm link for ethernet setup](../../assets/qgc/settings/comm_link/px4_ethernet_link_config.png)
4. Після цього QGroundControl має підключитися, якщо ви виберете це посилання.
@@ -205,14 +205,14 @@ Assuming you have already [Set up the Ethernet Network](#setting-up-the-ethernet
1. [Set up the Ethernet Network](#setting-up-the-ethernet-network) so your companion computer and PX4 run on the same network.
2. Modify the [PX4 Ethernet Port Configuration](#px4-ethernet-network-setup) to connect to a companion computer.
You might change the parameters [MAV_2_REMOTE_PRT](../advanced_config/parameter_reference.md#MAV_2_REMOTE_PRT) and [MAV_2_UDP_PRT](../advanced_config/parameter_reference.md#MAV_2_UDP_PRT) to `14540`, and [MAV_2_MODE](../advanced_config/parameter_reference.md#MAV_2_MODE) to `2` (Onboard).
You might change the parameters [MAV_2_REMOTE_PRT](../advanced_config/parameter_reference.md#MAV_2_REMOTE_PRT) and [MAV_2_UDP_PRT](../advanced_config/parameter_reference.md#MAV_2_UDP_PRT) to `14540`, and [MAV_2_MODE](../advanced_config/parameter_reference.md#MAV_2_MODE) to `2` (Onboard).
3. Дотримуйтесь інструкцій у [MAVSDK-python](https://github.com/mavlink/MAVSDK-Python), щоб установити та використовувати MAVSDK.
Наприклад, ваш код буде підключатися до PX4 за допомогою:
Наприклад, ваш код буде підключатися до PX4 за допомогою:
```python
await drone.connect(system_address="udp://10.41.10.2:14540")
```
```python
await drone.connect(system_address="udp://10.41.10.2:14540")
```
:::info
MAVSDK can connect to the PX4 on port `14550` if you don't modify the PX4 Ethernet port configuration.
@@ -235,38 +235,38 @@ MAVSDK can connect to the PX4 on port `14550` if you don't modify the PX4 Ethern
1. Підключіть ваш автопілот і компаньйон комп'ютер за допомогою Ethernet.
2. [Start the uXRCE-DDS client on PX4](../middleware/uxrce_dds.md#starting-the-client), either manually or by customizing the system startup script.
Note that you must use the IP address of the companion computer and the UDP port on which the agent is listening (the example configuration above sets the companion IP address to `10.41.10.1`, and the agent UDP port is set to `8888` in the next step).
Note that you must use the IP address of the companion computer and the UDP port on which the agent is listening (the example configuration above sets the companion IP address to `10.41.10.1`, and the agent UDP port is set to `8888` in the next step).
3. [Start the micro XRCE-DDS agent on the companion computer](../middleware/uxrce_dds.md#starting-the-agent).
For example, enter the following command in a terminal to start the agent listening on UDP port `8888`.
For example, enter the following command in a terminal to start the agent listening on UDP port `8888`.
```sh
MicroXRCEAgent udp4 -p 8888
```
```sh
MicroXRCEAgent udp4 -p 8888
```
4. Run a [listener node](../ros2/user_guide.md#running-the-example) in a new terminal to confirm the connection is established:
```sh
source ~/ws_sensor_combined/install/setup.bash
ros2 launch px4_ros_com sensor_combined_listener.launch.py
```
```sh
source ~/ws_sensor_combined/install/setup.bash
ros2 launch px4_ros_com sensor_combined_listener.launch.py
```
Якщо все налаштовано правильно, в терміналі повинен відображатися наступний вивід:
Якщо все налаштовано правильно, в терміналі повинен відображатися наступний вивід:
```sh
RECEIVED SENSOR COMBINED DATA
=============================
ts: 855801598
gyro_rad[0]: -0.00339938
gyro_rad[1]: 0.00440091
gyro_rad[2]: 0.00513893
gyro_integral_dt: 4997
accelerometer_timestamp_relative: 0
accelerometer_m_s2[0]: -0.0324082
accelerometer_m_s2[1]: 0.0392213
accelerometer_m_s2[2]: -9.77914
accelerometer_integral_dt: 4997
```
```sh
RECEIVED SENSOR COMBINED DATA
=============================
ts: 855801598
gyro_rad[0]: -0.00339938
gyro_rad[1]: 0.00440091
gyro_rad[2]: 0.00513893
gyro_integral_dt: 4997
accelerometer_timestamp_relative: 0
accelerometer_m_s2[0]: -0.0324082
accelerometer_m_s2[1]: 0.0392213
accelerometer_m_s2[2]: -9.77914
accelerometer_integral_dt: 4997
```
## Дивіться також
+25 -25
View File
@@ -152,14 +152,14 @@ PX4 також видає підмножину інформації переві
Типова послідовність запуску:
1. Увімкнення живлення.
- Усі приводи заблоковано у беззбройному(вимкненому) положенні
- Неможливо озброїти(збурити).
- Усі приводи заблоковано у беззбройному(вимкненому) положенні
- Неможливо озброїти(збурити).
2. Перемикання безпеки натиснуто.
- Система зараз перевіряється перед збурюванням: актуатори без збурювання можуть рухатися (наприклад, елерони).
- Безпека системи відключена: можливість озброєння(збурення).
- Система зараз перевіряється перед збурюванням: актуатори без збурювання можуть рухатися (наприклад, елерони).
- Безпека системи відключена: можливість озброєння(збурення).
3. Видається команда на озброєння(збурення).
- Система озброєна(збурена).
- Усі мотори та приводи можуть рухатися.
- Система озброєна(збурена).
- Усі мотори та приводи можуть рухатися.
### COM_PREARM_MODE=Disabled та Safety Switch
@@ -169,14 +169,14 @@ PX4 також видає підмножину інформації переві
Послідовність запуску така:
1. Увімкнення живлення.
- Усі приводи заблоковано у беззбройному(вимкненому) положенні
- Неможливо озброїти(збурити).
- Усі приводи заблоковано у беззбройному(вимкненому) положенні
- Неможливо озброїти(збурити).
2. Перемикання безпеки натиснуто.
- _All actuators stay locked into disarmed position (same as disarmed)._
- Безпека системи відключена: можливість озброєння(збурення).
- _All actuators stay locked into disarmed position (same as disarmed)._
- Безпека системи відключена: можливість озброєння(збурення).
3. Видається команда на озброєння(збурення).
- Система озброєна(збурена).
- Усі мотори та приводи можуть рухатися.
- Система озброєна(збурена).
- Усі мотори та приводи можуть рухатися.
### COM_PREARM_MODE=Always and Safety Switch
@@ -187,13 +187,13 @@ PX4 також видає підмножину інформації переві
Послідовність запуску така:
1. Увімкнення живлення.
- Система зараз перевіряється перед збурюванням: актуатори без збурювання можуть рухатися (наприклад, елерони).
- Неможливо озброїти(збурити).
- Система зараз перевіряється перед збурюванням: актуатори без збурювання можуть рухатися (наприклад, елерони).
- Неможливо озброїти(збурити).
2. Перемикання безпеки натиснуто.
- Безпека системи відключена: можливість озброєння(збурення).
- Безпека системи відключена: можливість озброєння(збурення).
3. Видається команда на озброєння(збурення).
- Система озброєна(збурена).
- Усі мотори та приводи можуть рухатися.
- Система озброєна(збурена).
- Усі мотори та приводи можуть рухатися.
### COM_PREARM_MODE=Safety(Безпека) або вимкнено(Disabled) та без перемикача безпеки(No Safety Switch)
@@ -203,11 +203,11 @@ PX4 також видає підмножину інформації переві
Послідовність запуску така:
1. Увімкнення живлення.
- Усі приводи заблоковано у беззбройному(вимкненому) положенні
- Безпека системи відключена: можливість озброєння(збурення).
- Усі приводи заблоковано у беззбройному(вимкненому) положенні
- Безпека системи відключена: можливість озброєння(збурення).
2. Видається команда на озброєння(збурення).
- Система озброєна(збурена).
- Усі мотори та приводи можуть рухатися.
- Система озброєна(збурена).
- Усі мотори та приводи можуть рухатися.
### COM_PREARM_MODE=Завжди і без зміни безпеки
@@ -217,11 +217,11 @@ PX4 також видає підмножину інформації переві
Послідовність запуску така:
1. Увімкнення живлення.
- Система зараз перевіряється перед збурюванням: актуатори без збурювання можуть рухатися (наприклад, елерони).
- Безпека системи відключена: можливість озброєння(збурення).
- Система зараз перевіряється перед збурюванням: актуатори без збурювання можуть рухатися (наприклад, елерони).
- Безпека системи відключена: можливість озброєння(збурення).
2. Видається команда на озброєння(збурення).
- Система озброєна(збурена).
- Усі мотори та приводи можуть рухатися.
- Система озброєна(збурена).
- Усі мотори та приводи можуть рухатися.
### Параметри
@@ -94,11 +94,11 @@ PX4 підтримує два процедури калібрування:
9. Відкрийте вікно терміналу в каталозі **Firmware/Tools** і запустіть сценарій калібрування python:
```sh
python process_sensor_caldata.py <full path name to .ulog file>
```
```sh
python process_sensor_caldata.py <full path name to .ulog file>
```
Буде створено файл **.pdf**, у якому відображатимуться вимірювані дані та підгонка кривої для кожного датчика, а також файл **.params**, що містить параметри калібрування.
Буде створено файл **.pdf**, у якому відображатимуться вимірювані дані та підгонка кривої для кожного датчика, а також файл **.params**, що містить параметри калібрування.
10. Увімкніть плату, підключіть _QGroundControl_ та завантажте параметри зі створеного файлу **.params** на плату за допомогою _QGroundControl_. Відсоток виконання друкується на системній консолі під час калібрування.
+20 -20
View File
@@ -152,29 +152,29 @@ Three axis body fixed magnetometer data at a minimum rate of 5Hz is required to
Magnetometer data fusion can be configured using [EKF2_MAG_TYPE](../advanced_config/parameter_reference.md#EKF2_MAG_TYPE):
0. Automatic:
- The magnetometer readings only affect the heading estimate before arming, and the whole attitude after arming.
- Heading and tilt errors are compensated when using this method.
- Incorrect magnetic field measurements can degrade the tilt estimate.
- The magnetometer biases are estimated whenever observable.
- The magnetometer readings only affect the heading estimate before arming, and the whole attitude after arming.
- Heading and tilt errors are compensated when using this method.
- Incorrect magnetic field measurements can degrade the tilt estimate.
- The magnetometer biases are estimated whenever observable.
1. Magnetic heading:
- Only the heading is corrected.
The tilt estimate is never affected by incorrect magnetic field measurements.
- Tilt errors that could arise when flying without velocity/position aiding are not corrected when using this method.
- The magnetometer biases are estimated whenever observable.
- Only the heading is corrected.
The tilt estimate is never affected by incorrect magnetic field measurements.
- Tilt errors that could arise when flying without velocity/position aiding are not corrected when using this method.
- The magnetometer biases are estimated whenever observable.
2. Deprecated
3. Deprecated
4. Deprecated
5. None:
- Magnetometer data is never used.
This is useful when the data can never be trusted (e.g.: high current close to the sensor, external anomalies).
- The estimator will use other sources of heading: [GPS heading](#yaw-measurements) or external vision.
- When using GPS measurements without another source of heading, the heading can only be initialized after sufficient horizontal acceleration.
See [Estimate yaw from vehicle movement](#yaw-from-gps-velocity) below.
- Magnetometer data is never used.
This is useful when the data can never be trusted (e.g.: high current close to the sensor, external anomalies).
- The estimator will use other sources of heading: [GPS heading](#yaw-measurements) or external vision.
- When using GPS measurements without another source of heading, the heading can only be initialized after sufficient horizontal acceleration.
See [Estimate yaw from vehicle movement](#yaw-from-gps-velocity) below.
6. Init only:
- Magnetometer data is only used to initialize the heading estimate.
This is useful when the data can be used before arming but not afterwards (e.g.: high current after the vehicle is armed).
- After initialization, the heading is constrained using other observations.
- Unlike mag type `None`, when combined with GPS measurements, this method allows position controlled modes to run directly during takeoff.
- Magnetometer data is only used to initialize the heading estimate.
This is useful when the data can be used before arming but not afterwards (e.g.: high current after the vehicle is armed).
- After initialization, the heading is constrained using other observations.
- Unlike mag type `None`, when combined with GPS measurements, this method allows position controlled modes to run directly during takeoff.
The following selection tree can be used to select the right option:
@@ -236,7 +236,7 @@ The following selection tree can be used to select the right option:
2. Витягніть `.ulg` файл журналу за допомогою, наприклад, [QGroundControl: Аналізувати > Завантажити журнал](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/analyze_view/log_download.html)
Той самий файл журналу можна використовувати для налаштування оцінювача вітру багатовертольотника [multirotor wind estimator](#mc_wind_estimation_using_drag).
Той самий файл журналу можна використовувати для налаштування оцінювача вітру багатовертольотника [multirotor wind estimator](#mc_wind_estimation_using_drag).
:::
@@ -449,8 +449,8 @@ PX4 дозволяє постійно об'єднувати дальномер
1. Проведіть польоти один раз у режимі позиції [Position mode](../flight_modes_mc/position.md) повторно вперед/назад/ліворуч/праворуч/вгору/вниз між спокоєм і максимальною швидкістю (найкращі результати отримуються, коли цей тест проводиться в спокійних умовах).
2. Extract the **.ulg** log file using, for example, [QGroundControl: Analyze > Log Download](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/analyze_view/log_download.html)
::: info
The same **.ulg** log file can also be used to tune the [static pressure position error coefficients](#correction-for-static-pressure-position-error).
::: info
The same **.ulg** log file can also be used to tune the [static pressure position error coefficients](#correction-for-static-pressure-position-error).
:::
3. Використовуйте журнал зі сценарієм Python [mc_wind_estimator_tuning.py](https://github.com/PX4/PX4-Autopilot/tree/main/src/modules/ekf2/EKF/python/tuning_tools/mc_wind_estimator), щоб отримати оптимальний набір параметрів.
+4 -4
View File
@@ -38,14 +38,14 @@ PX4 підтримує точне приземлення для _Multicopters_
Режим Точної посадки має три етапи:
1. **Горизонтальний підхід:** Транспортний засіб підходить до цілі горизонтально, утримуючи свою поточну висоту.
Як тільки положення цілі відносно транспортного засобу опускається нижче порогового значення ([PLD_HACC_RAD](../advanced_config/parameter_reference.md#PLD_HACC_RAD)), відбувається вхід до наступної фази.
Якщо ціль втрачається під час цієї фази (не видно довше, ніж [PLD_BTOUT](../advanced_config/parameter_reference.md#PLD_BTOUT)), ініціюється процедура пошуку (під час необхідної точної посадки) або транспортний засіб робить звичайну посадку (під час можливої точної посадки).
Як тільки положення цілі відносно транспортного засобу опускається нижче порогового значення ([PLD_HACC_RAD](../advanced_config/parameter_reference.md#PLD_HACC_RAD)), відбувається вхід до наступної фази.
Якщо ціль втрачається під час цієї фази (не видно довше, ніж [PLD_BTOUT](../advanced_config/parameter_reference.md#PLD_BTOUT)), ініціюється процедура пошуку (під час необхідної точної посадки) або транспортний засіб робить звичайну посадку (під час можливої точної посадки).
2. **Спуск над ціль:** Транспортний засіб спускається, залишаючись при цьому над ціллю.
Якщо ціль втрачається під час цієї фази (не видно довше, ніж `PLD_BTOUT`), ініціюється процедура пошуку (під час необхідної точної посадки) або транспортний засіб робить звичайну посадку (під час можливої точної посадки).
Якщо ціль втрачається під час цієї фази (не видно довше, ніж `PLD_BTOUT`), ініціюється процедура пошуку (під час необхідної точної посадки) або транспортний засіб робить звичайну посадку (під час можливої точної посадки).
3. **Останній підхід:** Коли транспортний засіб знаходиться близько до землі (ближче, ніж [PLD_FAPPR_ALT](../advanced_config/parameter_reference.md#PLD_FAPPR_ALT)), він спускається, залишаючись при цьому над ціллю.
Якщо ціль втрачається під час цієї фази, спуск продовжується незалежно від виду точної посадки.
Якщо ціль втрачається під час цієї фази, спуск продовжується незалежно від виду точної посадки.
Процедури пошуку ініціюються на перших і других етапах і виконуються не більше [PLD_MAX_SRCH разів](../advanced_config/parameter_reference.md#PLD_MAX_SRCH).
Діаграма потоку фаз посадки
+63 -63
View File
@@ -54,19 +54,19 @@ To [switch between the two antennas modes](https://docs.groundcontrol.com/iot/ro
Стандартна швидкість передачі даних модуля - 19200. However, the PX4 _iridiumsbd_ driver requires a baud rate of 115200 so it needs to be changed using the [AT commands](https://www.groundcontrol.com/wp-content/uploads/2022/02/IRDM_ISU_ATCommandReferenceMAN0009_Rev2.0_ATCOMM_Oct2012.pdf).
1. Connect to the module with using a 19200/8-N-1 setting and check if the communication is working using the command: `AT`.
Відповідь має бути: `OK`.
Відповідь має бути: `OK`.
2. Змінити швидкість передачі:
```
AT+IPR=9
```
```
AT+IPR=9
```
3. Знову підключіться до моделі з параметрами 115200/8-N-1 і збережіть конфігурацію за допомогою:
```
AT&W0
```
```
AT&W0
```
Модуль тепер готовий до використання з PX4.
@@ -101,55 +101,55 @@ drivers/telemetry/iridiumsbd
Сервер relay має бути запущений або на Ubuntu 16.04 або 14.04 OS.
1. Сервер, який працює як ретранслятор повідомлень, повинен мати статичну IP-адресу та два загальнодоступних відкритих TCP-порти:
- `5672` для брокера повідомлень _RabbitMQ_ (можна змінити в налаштуваннях _rabbitmq_)
- `45679` для інтерфейсу HTTP POST (можна змінити у файлі **relay.cfg**)
- `5672` для брокера повідомлень _RabbitMQ_ (можна змінити в налаштуваннях _rabbitmq_)
- `45679` для інтерфейсу HTTP POST (можна змінити у файлі **relay.cfg**)
2. Встановіть необхідні модулі python:
```sh
sudo pip install pika tornado future
```
```sh
sudo pip install pika tornado future
```
3. Встановіть брокер повідомлень `rabbitmq`:
```sh
sudo apt install rabbitmq-server
```
```sh
sudo apt install rabbitmq-server
```
4. Налаштуйте облікові дані брокера (змініть PWD на ваш бажаний пароль):
```sh
sudo rabbitmqctl add_user iridiumsbd PWD
sudo rabbitmqctl set_permissions iridiumsbd ".*" ".*" ".*"
```
```sh
sudo rabbitmqctl add_user iridiumsbd PWD
sudo rabbitmqctl set_permissions iridiumsbd ".*" ".*" ".*"
```
5. Clone the [SatComInfrastructure](https://github.com/acfloria/SatComInfrastructure) repository:
```sh
git clone https://github.com/acfloria/SatComInfrastructure.git
```
```sh
git clone https://github.com/acfloria/SatComInfrastructure.git
```
6. Перейдіть до розташування репозиторію _SatComInfrastructure_ і налаштуйте черги брокера:
```sh
./setup_rabbit.py localhost iridiumsbd PWD
```
```sh
./setup_rabbit.py localhost iridiumsbd PWD
```
7. Перевірте налаштування:
```sh
sudo rabbitmqctl list_queues
```
```sh
sudo rabbitmqctl list_queues
```
Це повинно дати вам список із 4 черг: `MO`, `MO_LOG`, `MT`, `MT_LOG`
Це повинно дати вам список із 4 черг: `MO`, `MO_LOG`, `MT`, `MT_LOG`
8. Edit the `relay.cfg` configuration file to reflect your settings.
9. Запустіть скрипт реле в режимі відокремленого виконання:
```sh
screen -dm bash -c 'cd SatcomInfrastructure/; ./relay.py
```
```sh
screen -dm bash -c 'cd SatcomInfrastructure/; ./relay.py
```
Інші інструкції включають:
@@ -177,15 +177,15 @@ drivers/telemetry/iridiumsbd
1. Встановіть необхідні модулі python:
```sh
sudo pip install pika tornado future
```
```sh
sudo pip install pika tornado future
```
2. Клонуйте репозиторій SatComInfrastructure:
```sh
git clone https://github.com/acfloria/SatComInfrastructure.git
```
```sh
git clone https://github.com/acfloria/SatComInfrastructure.git
```
3. Відредагуйте конфігураційний файл **udp2rabbit.cfg**, щоб відображати ваші налаштування.
@@ -193,20 +193,20 @@ drivers/telemetry/iridiumsbd
5. Додавайте UDP з'єднання в QGC з параметрами:
- Порт прослуховування: 10000
- Цільові хости: 127.0.0.1:10001
- Висока затримка: позначено
- Порт прослуховування: 10000
- Цільові хости: 127.0.0.1:10001
- Висока затримка: позначено
![High Latency Link Settings](../../assets/satcom/linksettings.png)
![High Latency Link Settings](../../assets/satcom/linksettings.png)
### Перевірка
1. Відкрийте термінал на комп'ютері наземної станції та перейдіть до розташування репозиторію _SatComInfrastructure_.
Потім запустіть скрипт **udp2rabbit.py**:
Потім запустіть скрипт **udp2rabbit.py**:
```sh
./udp2rabbit.py
```
```sh
./udp2rabbit.py
```
2. Надішліть тестове повідомлення з облікового запису [RockBlock](https://rockblock.rock7.com/Operations) до створеної групи доставки на вкладці `Тестові групи доставки`.
@@ -217,36 +217,36 @@ drivers/telemetry/iridiumsbd
## Запуск системи
1. Запустіть _QGroundControl_.
Спочатку вручну підключіть високо запізнюваний зв'язок, а потім звичайний телеметрійний зв'язок:
Спочатку вручну підключіть високо запізнюваний зв'язок, а потім звичайний телеметрійний зв'язок:
![Connect the High Latency link](../../assets/satcom/linkconnect.png)
![Connect the High Latency link](../../assets/satcom/linkconnect.png)
2. Відкрийте термінал на комп'ютері наземної станції та перейдіть до розташування репозиторію _SatComInfrastructure_.
Потім запустіть скрипт **udp2rabbit.py**:
Потім запустіть скрипт **udp2rabbit.py**:
```sh
./udp2rabbit.py
```
```sh
./udp2rabbit.py
```
3. Увімкніть транспортний засіб.
4. Дочекайтеся, доки на QGC не буде отримано перше повідомлення `HIGH_LATENCY2`.
Це можна перевірити за допомогою віджету _Інспектора MAVLink_ або на панелі інструментів за допомогою _індикатора зв'язку(LinkIndicator)_.
Це можна перевірити за допомогою віджету _Інспектора MAVLink_ або на панелі інструментів за допомогою _індикатора зв'язку(LinkIndicator)_:
Це можна перевірити за допомогою віджету _Інспектора MAVLink_ або на панелі інструментів за допомогою _індикатора зв'язку(LinkIndicator)_.
Це можна перевірити за допомогою віджету _Інспектора MAVLink_ або на панелі інструментів за допомогою _індикатора зв'язку(LinkIndicator)_:
![Link Toolbar](../../assets/satcom/linkindicator.jpg)
![Link Toolbar](../../assets/satcom/linkindicator.jpg)
Індикатор зв'язку завжди показує назву пріоритетного зв'язку.
Індикатор зв'язку завжди показує назву пріоритетного зв'язку.
5. Супутникова система зв'язку тепер готова до використання.
Пріоритетний зв'язок, через який надсилаються команди, визначається наступними способами:
- Якщо користувач не вказав зв'язок, звичайний радіо телеметрійний зв'язок віддається перевагу перед високозапізнюваним зв'язком.
- Автопілот та QGC перехоплюватимуть звичайний радіо телеметрійний зв'язок на високозапізнюваний зв'язок, якщо транспортний засіб зброєний, а радіо телеметрійний зв'язок втрачений (не отримано жодного повідомлення MAVLink протягом певного часу).
Як тільки радіо телеметрійний зв'язок відновлюється, QGC та автопілот повертаються до нього.
- Користувач може вибрати пріоритетний зв'язок через індикатор зв'язку на панелі інструментів.
Це посилання зберігається як пріоритетне посилання, поки воно активне або користувач вибирає інше пріоритетне посилання:
Пріоритетний зв'язок, через який надсилаються команди, визначається наступними способами:
- Якщо користувач не вказав зв'язок, звичайний радіо телеметрійний зв'язок віддається перевагу перед високозапізнюваним зв'язком.
- Автопілот та QGC перехоплюватимуть звичайний радіо телеметрійний зв'язок на високозапізнюваний зв'язок, якщо транспортний засіб зброєний, а радіо телеметрійний зв'язок втрачений (не отримано жодного повідомлення MAVLink протягом певного часу).
Як тільки радіо телеметрійний зв'язок відновлюється, QGC та автопілот повертаються до нього.
- Користувач може вибрати пріоритетний зв'язок через індикатор зв'язку на панелі інструментів.
Це посилання зберігається як пріоритетне посилання, поки воно активне або користувач вибирає інше пріоритетне посилання:
![Prioritylink Selection](../../assets/satcom/linkselection.png)
![Prioritylink Selection](../../assets/satcom/linkselection.png)
## Усунення проблем
+11 -2
View File
@@ -628,7 +628,16 @@ div.frame_variant td, div.frame_variant th {
### Free-Flyer
<div class="frame_common">
<img src="../../assets/airframes/types/AirframeUnknown.svg"/>
<img src="../../assets/airframes/types/FreeFlyer.svg"/>
<table>
<thead>
<tr><th>Загальні виводи</th></tr>
</thead>
<tbody>
<tr>
<td><ul><li><b>Motor1</b>: back left thruster, +x thrust</li><li><b>Motor2</b>: front left thruster, -x thrust</li><li><b>Motor3</b>: back right thruster, +x thrust</li><li><b>Motor4</b>: front right thruster, -x thrust</li><li><b>Motor5</b>: front left thruster, +y thrust</li><li><b>Motor6</b>: front right thruster, -y thrust</li><li><b>Motor7</b>: back left thruster, +y thrust</li><li><b>Motor8</b>: back right thruster, -y thrust</li></ul></td>
</tr>
</tbody></table>
</div>
<div class="frame_variant">
@@ -638,7 +647,7 @@ div.frame_variant td, div.frame_variant th {
</thead>
<tbody>
<tr id="spacecraft_free-flyer_kth-atmos">
<td>KTH-ATMOS</td>
<td><a href="https://atmos.discower.io">KTH-ATMOS</a></td>
<td>Maintainer: DISCOWER<p><code>SYS_AUTOSTART</code> = 70000</p></td>
</tr>
</tbody>
+1 -1
View File
@@ -291,7 +291,7 @@ If you're using [DroneCAN ESC](../peripherals/esc_motors.md#dronecan) the contro
### Flight Controller Power
Pixhawk FCs require a regulated power supply that can supply at around 5V/3A continuous (check your specific FC)!
This is sufficient to power the controller itself and a few low-power peripherals, such as a GNSS module, RC transmitter, and low power telemetry radio, but not for motors, actuators, and other peripherals.
This is sufficient to power the controller itself and a few low-power peripherals, such as a GNSS module, RC receiver, and low power telemetry radio, but not for motors, actuators, and other peripherals.
[Power modules](../power_module/index.md) are commonly used to "split off" this regulated power supply for the FC and also to provide measurements of the battery voltage and total current to the whole system — which PX4 can use to estimate power levels.
The power module is connected to the FC power port, which is normally labeled `POWER` (or `POWER 1` or `POWER 2` for FCs that have redundant power supply).
+6 -6
View File
@@ -188,16 +188,16 @@ PX4 видає повідомлення MAVLink [CAMERA_TRIGGER](https://mavlink
1. На консолі PX4:
```shell
camera_trigger test
```
```shell
camera_trigger test
```
2. Від _QGroundControl_:
Клацніть на **Запуск камери** на головній панелі інструментів.
Ці знімки не відображаються або не підраховуються для геотегування.
Клацніть на **Запуск камери** на головній панелі інструментів.
Ці знімки не відображаються або не підраховуються для геотегування.
![QGC Тестова Камера](../../assets/camera/qgc_test_camera.png)
![QGC Тестова Камера](../../assets/camera/qgc_test_camera.png)
## Приклад Sony QX-1 (Фотограметрія)
+1 -1
View File
@@ -86,7 +86,7 @@ PX4 переістовує їх з тим самим ідентифікатор
1. Змініть невикористаний параметр `MAV_n_CONFIG`, такий як [MAV_2_CONFIG](../advanced_config/parameter_reference.md#MAV_2_CONFIG), щоб він був присвоєний порту, до якого підключена ваша камера.
2. Встановіть відповідний [MAV_2_MODE](../advanced_config/parameter_reference.md#MAV_2_MODE) на `2` (На борту).
Це забезпечує, що правильний набір повідомлень MAVLink випромінюється та пересилається.
Це забезпечує, що правильний набір повідомлень MAVLink випромінюється та пересилається.
3. Можливо, вам доведеться встановити деякі інші параметри, залежно від вашого з'єднання - наприклад, швидкість передачі даних.
Підключіться та налаштуйте камеру, як рекомендовано в її посібнику користувача.
+1 -1
View File
@@ -112,7 +112,7 @@ PX4 видає команди [MAVLink Camera Protocol v2](https://mavlink.io/en
1. Змініть невикористаний параметр `MAV_n_CONFIG`, такий як [MAV_2_CONFIG](../advanced_config/parameter_reference.md#MAV_2_CONFIG), щоб він був присвоєний порту, до якого підключена ваша камера/компаньйонський комп'ютер.
2. Встановіть відповідний [MAV_2_MODE](../advanced_config/parameter_reference.md#MAV_2_MODE) на `2` (На борту).
Це забезпечує, що правильний набір повідомлень MAVLink випромінюється для супутнього комп'ютера (або камери).
Це забезпечує, що правильний набір повідомлень MAVLink випромінюється для супутнього комп'ютера (або камери).
3. Встановіть [MAV_2_FORWARD](../advanced_config/parameter_reference.md#MAV_2_FORWARD), щоб дозволити пересилання комунікацій з порту на інші порти, такі як той, що підключений до наземної станції.
4. Можливо, вам доведеться встановити деякі інші параметри, залежно від типу підключення та будь-яких конкретних вимог камери щодо очікуваної швидкості передачі даних і т. д.
@@ -892,95 +892,95 @@ These instructions approximately mirror the [PX4 Ethernet setup](../advanced_con
Next we modify the Jetson IP address to be on the same network as the Pixhawk:
1. Make sure `netplan` is installed.
You can check by running the following command:
You can check by running the following command:
```sh
netplan -h
```
```sh
netplan -h
```
If not, install it using the commands:
If not, install it using the commands:
```sh
sudo apt update
sudo apt install netplan.io
```
```sh
sudo apt update
sudo apt install netplan.io
```
2. Check `system_networkd` is running:
```sh
sudo systemctl status systemd-networkd
```
```sh
sudo systemctl status systemd-networkd
```
You should see output like below if it is active:
You should see output like below if it is active:
```sh
● systemd-networkd.service - Network Configuration
Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2024-09-11 23:32:44 EDT; 23min ago
TriggeredBy: ● systemd-networkd.socket
Docs: man:systemd-networkd.service(8)
Main PID: 2452 (systemd-network)
Status: "Processing requests..."
Tasks: 1 (limit: 18457)
Memory: 2.7M
CPU: 157ms
CGroup: /system.slice/systemd-networkd.service
└─2452 /lib/systemd/systemd-networkd
```sh
● systemd-networkd.service - Network Configuration
Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2024-09-11 23:32:44 EDT; 23min ago
TriggeredBy: ● systemd-networkd.socket
Docs: man:systemd-networkd.service(8)
Main PID: 2452 (systemd-network)
Status: "Processing requests..."
Tasks: 1 (limit: 18457)
Memory: 2.7M
CPU: 157ms
CGroup: /system.slice/systemd-networkd.service
└─2452 /lib/systemd/systemd-networkd
Sep 11 23:32:44 ubuntu systemd-networkd[2452]: lo: Gained carrier
Sep 11 23:32:44 ubuntu systemd-networkd[2452]: wlan0: Gained IPv6LL
Sep 11 23:32:44 ubuntu systemd-networkd[2452]: eth0: Gained IPv6LL
Sep 11 23:32:44 ubuntu systemd-networkd[2452]: Enumeration completed
Sep 11 23:32:44 ubuntu systemd[1]: Started Network Configuration.
Sep 11 23:32:44 ubuntu systemd-networkd[2452]: wlan0: Connected WiFi access point: Verizon_7YLWWD (78:67:0e:ea:a6:0>
Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: Re-configuring with /run/systemd/network/10-netplan-eth0.netwo>
Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: DHCPv6 lease lost
Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: Re-configuring with /run/systemd/network/10-netplan-eth0.netwo>
Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: DHCPv6 lease lost
```
Sep 11 23:32:44 ubuntu systemd-networkd[2452]: lo: Gained carrier
Sep 11 23:32:44 ubuntu systemd-networkd[2452]: wlan0: Gained IPv6LL
Sep 11 23:32:44 ubuntu systemd-networkd[2452]: eth0: Gained IPv6LL
Sep 11 23:32:44 ubuntu systemd-networkd[2452]: Enumeration completed
Sep 11 23:32:44 ubuntu systemd[1]: Started Network Configuration.
Sep 11 23:32:44 ubuntu systemd-networkd[2452]: wlan0: Connected WiFi access point: Verizon_7YLWWD (78:67:0e:ea:a6:0>
Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: Re-configuring with /run/systemd/network/10-netplan-eth0.netwo>
Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: DHCPv6 lease lost
Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: Re-configuring with /run/systemd/network/10-netplan-eth0.netwo>
Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: DHCPv6 lease lost
```
If `system_networkd` is not running, it can be enabled using:
If `system_networkd` is not running, it can be enabled using:
```sh
sudo systemctl start systemd-networkd
sudo systemctl enable systemd-networkd
```
```sh
sudo systemctl start systemd-networkd
sudo systemctl enable systemd-networkd
```
3. Open the Netplan configuration file (so we can set up a static IP for the Jetson).
The Netplan configuration file is usually located in the `/etc/netplan/` directory and named something like `01-netcfg.yaml` (the name can vary).
Below we use `nano` to open the file, but you can use your preferred text editor:
The Netplan configuration file is usually located in the `/etc/netplan/` directory and named something like `01-netcfg.yaml` (the name can vary).
Below we use `nano` to open the file, but you can use your preferred text editor:
```sh
sudo nano /etc/netplan/01-netcfg.yaml
```
```sh
sudo nano /etc/netplan/01-netcfg.yaml
```
4. Modify the yaml configuration, by overwriting the contents with the following information and then saving:
```sh
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses:
- 10.41.10.1/24
routes:
- to: 0.0.0.0/0
via: 10.41.10.254
nameservers:
addresses:
- 10.41.10.254
```
```sh
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses:
- 10.41.10.1/24
routes:
- to: 0.0.0.0/0
via: 10.41.10.254
nameservers:
addresses:
- 10.41.10.254
```
This gives the Jetson a static IP address on the Ethernet interface of `10.41.10.1` .
This gives the Jetson a static IP address on the Ethernet interface of `10.41.10.1` .
5. Apply the changes using the following command:
```sh
sudo netplan apply
```
```sh
sudo netplan apply
```
The Pixhawk Ethernet address is set to `10.41.10.2` by default, which is on the same subnet.
We can test our changes above by pinging the Pixhawk from within the Jetson terminal:
@@ -69,15 +69,15 @@ To install the RPi CM4 companion computer:
1. Disconnect the `FAN` wiring.
![HB_Pixhawk_CM4_Fan](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_fan.jpg)
![HB_Pixhawk_CM4_Fan](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_fan.jpg)
2. Видаліть ці 4 гвинти на задній стороні підлогової дошки.
![Bottom of the board showing screws in corners holding the cover](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_bottom.jpg)
![Bottom of the board showing screws in corners holding the cover](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_bottom.jpg)
3. Видаліть підставку корпусу, встановіть CM4 та використовуйте 4 гвинти для його кріплення (як показано):
![HB_Pixhawk_CM4_Screws](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_screws.jpg)
![HB_Pixhawk_CM4_Screws](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_screws.jpg)
4. Прикріпіть кришку знову.
@@ -115,29 +115,29 @@ RPi CM4 та контролер польоту повинні бути живл
1. Switch Dip-Switch to `RPI`.
![](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/cm4_dip_switch.png)
![](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/cm4_dip_switch.png)
2. Підключіть комп'ютер до порту USB-C _CM4 Slave_, що використовується для живлення та прошивки RPi.
![](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/cm4_usbc_slave_port.png)
![](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/cm4_usbc_slave_port.png)
3. Отримайте `usbboot`, зберіть його та запустіть.
```sh
sudo apt install libusb-1.0-0-dev
git clone --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot
make
sudo ./rpiboot
```
```sh
sudo apt install libusb-1.0-0-dev
git clone --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot
make
sudo ./rpiboot
```
4. Тепер ви можете встановити свою перевагу Linux дистрибутив за допомогою `rpi-imager`.
Переконайтеся, що ви додали налаштування WiFi та SSH (приховані за символом шестерні / розширеним).
Переконайтеся, що ви додали налаштування WiFi та SSH (приховані за символом шестерні / розширеним).
```sh
sudo apt install rpi-imager
rpi-imager
```
```sh
sudo apt install rpi-imager
rpi-imager
```
5. Після завершення відключення USB-C CM4 Slave (це відмонтує томи та вимкне CM4).
@@ -146,8 +146,8 @@ RPi CM4 та контролер польоту повинні бути живл
7. Увімкніть CM4, надаючи живлення через порт USB-C CM4 Slave.
8. Щоб перевірити, чи запускається/працює, ви можете або:
- Перевірте, чи є вихід HDMI
- Підключіться через SSH (якщо налаштовано в rpi-imager, і є доступ до WiFi).
- Перевірте, чи є вихід HDMI
- Підключіться через SSH (якщо налаштовано в rpi-imager, і є доступ до WiFi).
## Налаштуйте послідовне підключення PX4 до CM4 MAVLink
@@ -167,13 +167,13 @@ FC повинен бути налаштований для підключенн
1. Підключіть комп'ютер, на якому працює QGroundControl, через порт USB Type C на базовій платі, позначеній як `FC`
![Image of baseboard showing FC USB-C connector](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_fc_usb_c.jpg)
![Image of baseboard showing FC USB-C connector](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_fc_usb_c.jpg)
2. [Встановіть параметри](../advanced_config/parameters.md):
- `MAV_1_CONFIG` = `102`
- `MAV_1_MODE = 2`
- `SER_TEL2_BAUD` = `921600`
- `MAV_1_CONFIG` = `102`
- `MAV_1_MODE = 2`
- `SER_TEL2_BAUD` = `921600`
3. Перезавантажте FC.
@@ -185,13 +185,13 @@ FC повинен бути налаштований для підключенн
2. Увімкніть послідовний порт RPi, запустивши `RPi-config`
- Перейдіть до `3 Варіанти інтерфейсу`, потім `I6 Серійний порт`.
Потім введіть:
- `login shell accessible over serial → No`
- `serial port hardware enabled` → `Yes`
- Перейдіть до `3 Варіанти інтерфейсу`, потім `I6 Серійний порт`.
Потім введіть:
- `login shell accessible over serial → No`
- `serial port hardware enabled` → `Yes`
3. Завершіть і перезавантажте.
This will add `enable_uart=1` to `/boot/config.txt`, and remove `console=serial0,115200` from `/boot/cmdline.txt`.
This will add `enable_uart=1` to `/boot/config.txt`, and remove `console=serial0,115200` from `/boot/cmdline.txt`.
4. Тепер MAVLink-трафік повинен бути доступний на `/dev/serial0` з швидкістю передачі даних 921600.
@@ -201,9 +201,9 @@ FC повинен бути налаштований для підключенн
2. Встановіть MAVSDK Python:
```sh
python3 -m pip install mavsdk
```
```sh
python3 -m pip install mavsdk
```
3. Скопіюйте приклад з [прикладів MAVSDK-Python](https://github.com/mavlink/MAVSDK-Python/tree/main/examples).
+77 -77
View File
@@ -132,50 +132,50 @@ make px4_fmu-v6c_default upload
1. Встановіть `raspi-config`:
```sh
sudo apt update
sudo apt upgrade
sudo apt-get install raspi-config
```
```sh
sudo apt update
sudo apt upgrade
sudo apt-get install raspi-config
```
2. Open `raspi-config`:
```sh
sudo raspi-config
```
```sh
sudo raspi-config
```
3. Перейдіть до **Варіанти інтерфейсу**, а потім клацніть **Серійний порт**.
- Виберіть **No**, щоб вимкнути послідовний вхід у оболонку.
- Виберіть **Так**, щоб увімкнути послідовний інтерфейс.
- Клацніть **Завершити** та перезапустіть RPi.
- Виберіть **No**, щоб вимкнути послідовний вхід у оболонку.
- Виберіть **Так**, щоб увімкнути послідовний інтерфейс.
- Клацніть **Завершити** та перезапустіть RPi.
4. Відкрийте файл конфігурації завантаження прошивки в редакторі `nano` на RaPi:
```sh
sudo nano /boot/firmware/config.txt
```
```sh
sudo nano /boot/firmware/config.txt
```
5. Додайте наступний текст в кінець файлу (після останнього рядка):
```sh
enable_uart=1
dtoverlay=disable-bt
```
```sh
enable_uart=1
dtoverlay=disable-bt
```
6. Далі збережіть файл і перезапустіть RPi.
- У `nano` ви можете зберегти файл за допомогою такої послідовності комбінацій клавіш: **ctrl+x**, **ctrl+y**, **Enter**.
- У `nano` ви можете зберегти файл за допомогою такої послідовності комбінацій клавіш: **ctrl+x**, **ctrl+y**, **Enter**.
7. Перевірте, чи доступний послідовний порт.
В даному випадку ми використовуємо наступні команди для перегляду серійних пристроїв:
В даному випадку ми використовуємо наступні команди для перегляду серійних пристроїв:
```sh
cd /
ls /dev/ttyAMA0
```
```sh
cd /
ls /dev/ttyAMA0
```
Результат команди повинен містити підключення RX/TX `/dev/ttyAMA0` (зверніть увагу, що цей послідовний порт також доступний як `/dev/serial0`).
Результат команди повинен містити підключення RX/TX `/dev/ttyAMA0` (зверніть увагу, що цей послідовний порт також доступний як `/dev/serial0`).
RPi наразі налаштований для роботи з RPi та зв'язку за допомогою послідовного порту `/dev/ttyAMA0`.
Зверніть увагу, що ми встановимо додаткове програмне забезпечення в наступних розділах для роботи з MAVLink та ROS 2.
@@ -199,38 +199,38 @@ PX4 рекомендує використовувати [MAVSDK](https://mavsdk.
2. Відкрийте QGroundControl (повинно з'єднатися з транспортним засобом).
3. [Перевірте/змініть наступні параметри](../advanced_config/parameters.md) в QGroundControl:
```ini
MAV_1_CONFIG = TELEM2
UXRCE_DDS_CFG = 0 (Disabled)
SER_TEL2_BAUD = 57600
```
```ini
MAV_1_CONFIG = TELEM2
UXRCE_DDS_CFG = 0 (Disabled)
SER_TEL2_BAUD = 57600
```
Зверніть увагу, що параметри можуть вже бути налаштовані належним чином.
Для отримання інформації про те, як працюють послідовні порти та конфігурація MAVLink, див. [Конфігурація послідовного порту](../peripherals/serial_configuration.md) та [Периферійні пристрої MAVLink](../peripherals/mavlink_peripherals.md).
Зверніть увагу, що параметри можуть вже бути налаштовані належним чином.
Для отримання інформації про те, як працюють послідовні порти та конфігурація MAVLink, див. [Конфігурація послідовного порту](../peripherals/serial_configuration.md) та [Периферійні пристрої MAVLink](../peripherals/mavlink_peripherals.md).
Потім встановіть налаштування MAVProxy на RPi за допомогою наступних термінальних команд:
1. Встановіть MAVProxy:
```sh
sudo apt install python3-pip
sudo pip3 install mavproxy
sudo apt remove modemmanager
```
```sh
sudo apt install python3-pip
sudo pip3 install mavproxy
sudo apt remove modemmanager
```
2. Запустіть MAVProxy, встановивши порт для підключення до `/dev/ttyAMA0` та швидкість передачі даних, щоб відповідати PX4:
```sh
sudo mavproxy.py --master=/dev/serial0 --baudrate 57600
```
```sh
sudo mavproxy.py --master=/dev/serial0 --baudrate 57600
```
Зверніть увагу, що вище ми використовували `/dev/serial0`, але ми могли б так само добре використовувати `/dev/ttyAMA0`.
Якщо ми підключалися через USB, тоді ми замість цього встановили порт як `/dev/ttyACM0`:
Зверніть увагу, що вище ми використовували `/dev/serial0`, але ми могли б так само добре використовувати `/dev/ttyAMA0`.
Якщо ми підключалися через USB, тоді ми замість цього встановили порт як `/dev/ttyACM0`:
```sh
sudo chmod a+rw /dev/ttyACM0
sudo mavproxy.py --master=/dev/ttyACM0 --baudrate 57600
```
```sh
sudo chmod a+rw /dev/ttyACM0
sudo mavproxy.py --master=/dev/ttyACM0 --baudrate 57600
```
:::
@@ -258,26 +258,26 @@ The [ROS 2 Guide](../ros2/user_guide.md) and [uXRCE-DDS](../middleware/uxrce_dds
2. [Перевірте/змініть наступні параметри](../advanced_config/parameters.md) в QGroundControl:
```ini
MAV_1_CONFIG = 0 (Disabled)
UXRCE_DDS_CFG = 102 (TELEM2)
SER_TEL2_BAUD = 921600
```
```ini
MAV_1_CONFIG = 0 (Disabled)
UXRCE_DDS_CFG = 102 (TELEM2)
SER_TEL2_BAUD = 921600
```
[MAV_1_CONFIG=0](../advanced_config/parameter_reference.md#MAV_1_CONFIG) та [UXRCE_DDS_CFG=102](../advanced_config/parameter_reference.md#UXRCE_DDS_CFG) вимикають MAVLink на TELEM2 та увімкнюють клієнт uXRCE-DDS на TELEM2, відповідно.
Швидкість `SER_TEL2_BAUD` встановлює швидкість передачі даних зв'язку.\
Ви так само можете налаштувати підключення до `TELEM1`, використовуючи або `MAV_1_CONFIG`, або `MAV_0_CONFIG`.
[MAV_1_CONFIG=0](../advanced_config/parameter_reference.md#MAV_1_CONFIG) та [UXRCE_DDS_CFG=102](../advanced_config/parameter_reference.md#UXRCE_DDS_CFG) вимикають MAVLink на TELEM2 та увімкнюють клієнт uXRCE-DDS на TELEM2, відповідно.
Швидкість `SER_TEL2_BAUD` встановлює швидкість передачі даних зв'язку.\
Ви так само можете налаштувати підключення до `TELEM1`, використовуючи або `MAV_1_CONFIG`, або `MAV_0_CONFIG`.
Вам потрібно перезавантажити керування польотом, щоб застосувати будь-які зміни до цих параметрів.
Вам потрібно перезавантажити керування польотом, щоб застосувати будь-які зміни до цих параметрів.
:::
3. Перевірте, що модуль [uxrce_dds_client](../modules/modules_system.md#uxrce-dds-client) зараз працює.
Ви можете це зробити, запустивши наступну команду в QGroundControl [MAVLink Console](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/analyze_view/mavlink_console.html):
Ви можете це зробити, запустивши наступну команду в QGroundControl [MAVLink Console](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/analyze_view/mavlink_console.html):
```sh
uxrce_dds_client status
```
```sh
uxrce_dds_client status
```
:::info
Якщо модуль клієнта не працює, ви можете запустити його вручну в консолі MAVLink:
@@ -298,32 +298,32 @@ uxrce_dds_client start -t serial -d /dev/ttyS3 -b 921600
2. Встановіть git за допомогою терміналу RPi:
```sh
sudo apt install git
```
```sh
sudo apt install git
```
3. Встановіть агент uXRCE_DDS:
```sh
git clone https://github.com/eProsima/Micro-XRCE-DDS-Agent.git
cd Micro-XRCE-DDS-Agent
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig /usr/local/lib/
```
```sh
git clone https://github.com/eProsima/Micro-XRCE-DDS-Agent.git
cd Micro-XRCE-DDS-Agent
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig /usr/local/lib/
```
Див. [uXRCE-DDS > Встановлення агента Micro XRCE-DDS](../middleware/uxrce_dds.md#micro-xrce-dds-agent-installation) для альтернативних способів встановлення агента.
Див. [uXRCE-DDS > Встановлення агента Micro XRCE-DDS](../middleware/uxrce_dds.md#micro-xrce-dds-agent-installation) для альтернативних способів встановлення агента.
4. Запустіть агента в терміналі RPi:
```sh
sudo MicroXRCEAgent serial --dev /dev/serial0 -b 921600
```
```sh
sudo MicroXRCEAgent serial --dev /dev/serial0 -b 921600
```
Зверніть увагу, як ми використовуємо раніше налаштований послідовний порт і ту саму швидкість передачі даних, що й для PX4.
Зверніть увагу, як ми використовуємо раніше налаштований послідовний порт і ту саму швидкість передачі даних, що й для PX4.
Тепер, коли обидва агент та клієнт працюють, ви повинні бачити активність як на консолі MAVLink, так і на терміналі RPi.
Ви можете переглянути доступні теми за допомогою наступної команди на RPi:
@@ -80,18 +80,18 @@ Alpha AWUS036ACH - це карта середньої потужності, як
5. Налаштуйте камерний канал. Відкрийте `/etc/systemd/system/fpv-camera.service` і розкоментуйте конвеєр відповідно до вашої камери (камера PI або камера Logitech)
6. Відкрийте `/etc/wifibroadcast.cfg` і налаштуйте канал WiFi відповідно до налаштувань вашої антени (або використовуйте замовчуваний #165 для 5.8GHz)
7. Налаштуйте PX4 на вивід потоку телеметрії зі швидкістю 1500 Кбіт/с (інші швидкості UART не добре відповідають дільникам частоти RPI).
Підключіть UART Pixhawk до UART Raspberry PI.
У розділі `/etc/wifibroadcast.cfg` файлу розкоментуйте `peer = 'serial:ttyS0:1500000'` секцію.
Підключіть UART Pixhawk до UART Raspberry PI.
У розділі `/etc/wifibroadcast.cfg` файлу розкоментуйте `peer = 'serial:ttyS0:1500000'` секцію.
### Використання ноутбука Linux як GCS (важче, ніж використання RasPi)
1. На **наземному** Linux комп'ютері розробки:
```sh
sudo apt install libpcap-dev libsodium-dev python3-all python3-twisted
git clone -b stable https://github.com/svpcom/wfb-ng.git
cd wfb-ng && make deb && sudo apt install ./deb_dist/wfb-ng*.deb
```
```sh
sudo apt install libpcap-dev libsodium-dev python3-all python3-twisted
git clone -b stable https://github.com/svpcom/wfb-ng.git
cd wfb-ng && make deb && sudo apt install ./deb_dist/wfb-ng*.deb
```
2. Слідуйте інструкції з [Setup HOWTO](https://github.com/svpcom/wfb-ng/wiki/Setup-HOWTO) для завершення встановлення
@@ -22,7 +22,7 @@ It is pre-installed with PX4 v1.15.4 at time of writing (a more recent version m
- Compatibility with many different components, providing platform for loading other user sensors, preparing for functional model development.
- Abundant power supply making it perfect for installing additional sensors and onboard computers (including 5 external output voltages, 3 channels of 5V, 2 channels of 12V).
- Pc-SDK support.
This is a PC-based Python SDK Library based on MAVSDK that significantly simplifies UAV development compared to other approaches, such as using ROS or using C++. All you need is a basic understanding of Python programming and some simple coordinate system principles!
This is a PC-based Python SDK Library based on MAVSDK that significantly simplifies UAV development compared to other approaches, such as using ROS or using C++. All you need is a basic understanding of Python programming and some simple coordinate system principles!
- The [documentation](https://docs.amovlab.com/f450-v6c-wiki/#/en/) shows many of the options.
7. Quasi-smart battery. The battery has a hard housing design that makes easy to install and remove.
It provides accurate power estimates, but does not have some more advanced "smart battery" features.
+28 -28
View File
@@ -51,54 +51,54 @@ _Crazyflie 2.0_ було [припинено/замінено](../flight_control
1. Завантажте вихідний код завантажувача PX4:
```sh
git clone https://github.com/PX4/PX4-Bootloader.git
```
```sh
git clone https://github.com/PX4/PX4-Bootloader.git
```
2. Перейдіть до верхньої директорії вихідного коду та скомпілюйте його за допомогою:
```sh
make crazyflie_bl
```
```sh
make crazyflie_bl
```
3. Поставте Crazyflie 2.0 у режим DFU, виконавши ці кроки:
- Спочатку переконайтеся, що він знеструмлений.
- Утримуйте кнопку скидання (див. малюнок нижче...).
![Crazyflie2 Reset Button](../../assets/flight_controller/crazyflie/crazyflie_reset_button.jpg)
- Підключіть до USB-порту комп'ютера.
- Через секунду синій світлодіод повинен почати блимати, а через 5 секунд повинен почати блимати швидше.
- Відпустіть кнопку.
- Спочатку переконайтеся, що він знеструмлений.
- Утримуйте кнопку скидання (див. малюнок нижче...).
![Crazyflie2 Reset Button](../../assets/flight_controller/crazyflie/crazyflie_reset_button.jpg)
- Підключіть до USB-порту комп'ютера.
- Через секунду синій світлодіод повинен почати блимати, а через 5 секунд повинен почати блимати швидше.
- Відпустіть кнопку.
4. Встановіть _dfu-util_:
```sh
sudo apt-get update
sudo apt-get install dfu-util
```
```sh
sudo apt-get update
sudo apt-get install dfu-util
```
5. Виконайте прошивку завантажувальника за допомогою _dfu-util_ та від'єднайте Crazyflie 2.0, коли це зроблено:
```sh
sudo dfu-util -d 0483:df11 -a 0 -s 0x08000000 -D ./build/crazyflie_bl/crazyflie_bl.bin
```
```sh
sudo dfu-util -d 0483:df11 -a 0 -s 0x08000000 -D ./build/crazyflie_bl/crazyflie_bl.bin
```
Коли увімкнено Crazyflie 2.0, жовтий світлодіод повинен мигати.
Коли увімкнено Crazyflie 2.0, жовтий світлодіод повинен мигати.
6. Завантажте вихідний код завантажувача автопілоту PX4:
```sh
git clone https://github.com/PX4/PX4-Autopilot.git
```
```sh
git clone https://github.com/PX4/PX4-Autopilot.git
```
7. Перейдіть до верхньої директорії вихідного коду та скомпілюйте його за допомогою:
```sh
make bitcraze_crazyflie_default upload
```
```sh
make bitcraze_crazyflie_default upload
```
8. Коли вас попросять підключити пристрій, підключіть Crazyflie 2.0.
Жовтий світлодіод повинен почати блимати, що вказує на режим завантажувача.
Потім червоний світлодіод повинен увімкнутися, що вказує на те, що процес мигання розпочався.
Жовтий світлодіод повинен почати блимати, що вказує на режим завантажувача.
Потім червоний світлодіод повинен увімкнутися, що вказує на те, що процес мигання розпочався.
9. Очікування завершення.
+40 -40
View File
@@ -64,56 +64,56 @@ An overview of the Crazyflie 2.1 can be [found here](https://www.bitcraze.io/pro
1. Завантажте вихідний код завантажувача PX4:
```sh
git clone https://github.com/PX4/PX4-Bootloader.git --recurse-submodules
```
```sh
git clone https://github.com/PX4/PX4-Bootloader.git --recurse-submodules
```
2. Перейдіть до верхньої директорії вихідного коду та скомпілюйте його за допомогою:
```sh
make crazyflie21_bl
```
```sh
make crazyflie21_bl
```
3. Поставте Crazyflie 2.1 у режим DFU, виконавши ці кроки:
- Спочатку переконайтеся, що він знеструмлений.
- Переконайтеся, що акумулятор від'єднаний.
- Утримуйте кнопку скидання (див. малюнок нижче...).
![Crazyflie2 Reset Button](../../assets/flight_controller/crazyflie/crazyflie_reset_button.jpg)
- Підключіть до USB-порту комп'ютера.
- Через секунду синій світлодіод повинен почати блимати, а через 5 секунд повинен почати блимати швидше.
- Відпустіть кнопку.
- Спочатку переконайтеся, що він знеструмлений.
- Переконайтеся, що акумулятор від'єднаний.
- Утримуйте кнопку скидання (див. малюнок нижче...).
![Crazyflie2 Reset Button](../../assets/flight_controller/crazyflie/crazyflie_reset_button.jpg)
- Підключіть до USB-порту комп'ютера.
- Через секунду синій світлодіод повинен почати блимати, а через 5 секунд повинен почати блимати швидше.
- Відпустіть кнопку.
4. Встановіть _dfu-util_:
```sh
sudo apt-get update
sudo apt-get install dfu-util
```
```sh
sudo apt-get update
sudo apt-get install dfu-util
```
5. Виконайте прошивку завантажувальника за допомогою _dfu-util_ та від'єднайте Crazyflie 2.1, коли це зроблено:
```sh
sudo dfu-util -d 0483:df11 -a 0 -s 0x08000000 -D ./build/crazyflie21_bl/crazyflie21_bl.bin
```
```sh
sudo dfu-util -d 0483:df11 -a 0 -s 0x08000000 -D ./build/crazyflie21_bl/crazyflie21_bl.bin
```
Коли увімкнено Crazyflie 2.1, жовтий світлодіод повинен мигати.
Коли увімкнено Crazyflie 2.1, жовтий світлодіод повинен мигати.
6. Завантажте вихідний код завантажувача автопілоту PX4:
```sh
git clone https://github.com/PX4/PX4-Autopilot.git
```
```sh
git clone https://github.com/PX4/PX4-Autopilot.git
```
7. Перейдіть до верхньої директорії вихідного коду та скомпілюйте його за допомогою:
```sh
cd PX4-Autopilot/
make bitcraze_crazyflie21_default upload
```
```sh
cd PX4-Autopilot/
make bitcraze_crazyflie21_default upload
```
8. Коли вас попросять підключити пристрій, підключіть Crazyflie 2.1.
Жовтий світлодіод повинен почати блимати, що вказує на режим завантажувача.
Потім червоний світлодіод повинен увімкнутися, що вказує на те, що процес мигання розпочався.
Жовтий світлодіод повинен почати блимати, що вказує на режим завантажувача.
Потім червоний світлодіод повинен увімкнутися, що вказує на те, що процес мигання розпочався.
9. Очікування завершення.
@@ -124,20 +124,20 @@ An overview of the Crazyflie 2.1 can be [found here](https://www.bitcraze.io/pro
1. Завантажте останній [завантажувач Crazyflie 2.1](https://github.com/bitcraze/crazyflie2-stm-bootloader/releases)
2. Поставте Crazyflie 2.1 у режим DFU, виконавши ці кроки:
- Спочатку переконайтеся, що він знеструмлений.
- Переконайтеся, що акумулятор від'єднаний.
- Утримуйте кнопку скидання.
- Підключіть до USB-порту комп'ютера.
- Через секунду синій світлодіод повинен почати блимати, а через 5 секунд повинен почати блимати швидше.
- Відпустіть кнопку.
- Спочатку переконайтеся, що він знеструмлений.
- Переконайтеся, що акумулятор від'єднаний.
- Утримуйте кнопку скидання.
- Підключіть до USB-порту комп'ютера.
- Через секунду синій світлодіод повинен почати блимати, а через 5 секунд повинен почати блимати швидше.
- Відпустіть кнопку.
3. Виконайте прошивку завантажувальника за допомогою _dfu-util_ та від'єднайте Crazyflie 2.1, коли це зроблено:
```sh
sudo dfu-util -d 0483:df11 -a 0 -s 0x08000000 -D cf2loader-1.0.bin
```
```sh
sudo dfu-util -d 0483:df11 -a 0 -s 0x08000000 -D cf2loader-1.0.bin
```
Коли увімкнено Crazyflie 2.1, жовтий світлодіод повинен мигати.
Коли увімкнено Crazyflie 2.1, жовтий світлодіод повинен мигати.
4. Встановіть останнє програмне забезпечення для польоту Bitcraze Crazyflie 2.1, використовуючи [цей](https://www.bitcraze.io/documentation/tutorials/getting-started-with-crazyflie-2-x/#update-fw) посібник.
@@ -84,26 +84,26 @@ The Starling features ModalAI's [open SDK](https://docs.modalai.com/voxl-develop
#### Налаштування відображення
1. **Увімкніть приймач**: Як тільки ваш квадрокоптер увімкнено, ви помітите, що синій світлодіод приймача ELRS мигає.
Це свідчить про те, що отримувач увімкнений, але ще не встановив зв'язок з передавачем.
Це свідчить про те, що отримувач увімкнений, але ще не встановив зв'язок з передавачем.
![Приймач Starling](../../assets/hardware/complete_vehicles/modalai_starling/starling-photo.png)
![Приймач Starling](../../assets/hardware/complete_vehicles/modalai_starling/starling-photo.png)
2. **Увійдіть в режим зв'язку**: Для ініціювання зв'язку відкрийте термінал та виконайте команди `adb shell` та `voxl-elrs -bind`.
Ви побачите, що світлодіод приймача перемикається на миготливий в режимі миттєвого реагування, сигналізуючи, що тепер він у режимі зв'язку.
Ви побачите, що світлодіод приймача перемикається на миготливий в режимі миттєвого реагування, сигналізуючи, що тепер він у режимі зв'язку.
![Boot Screenshot](../../assets/hardware/complete_vehicles/modalai_starling/screenshot-boot.png)
![Boot Screenshot](../../assets/hardware/complete_vehicles/modalai_starling/screenshot-boot.png)
#### Налаштування передавача
1. **Отримайте доступ до меню**: На вашому передавачі радіо Commando 8, включеному в комплект, натисніть ліву кнопку режиму, щоб відкрити систему меню.
![Натисніть Меню на ПДУ](../../assets/hardware/complete_vehicles/modalai_starling/radio-1.png)
![Натисніть Меню на ПДУ](../../assets/hardware/complete_vehicles/modalai_starling/radio-1.png)
2. **Перейдіть до ExpressLRS**: Використовуйте праву кнопку, щоб вибрати перший пункт меню, який повинен бути "ExpressLRS."
3. **Знайдіть опцію Bind**: Після вибору опції "ExpressLRS" прокрутіть вниз до нижньої частини меню, щоб знайти розділ "Bind". Це можна зробити, натиснувши праву кнопку донизу, поки ви не досягнете опцію "Прив'язка".
![Press Binding on RC](../../assets/hardware/complete_vehicles/modalai_starling/radio-2.png)
![Press Binding on RC](../../assets/hardware/complete_vehicles/modalai_starling/radio-2.png)
4. **Ініціювати Прив'язку**: Виберіть "Прив'язати", щоб перевести передавач у режим прив'язки. Ви будете знати, що процес був успішним, коли передавач видасть сигнал, вказуючи на успішне зв'язування.
+79 -79
View File
@@ -42,17 +42,17 @@ This kit is still highly recommended for developing and testing vision solutions
## Попередження та сповіщення
1. Комплект призначений для проєктів комп'ютерного зору, які використовують камеру, спрямовану вперед (він не має камер глибини, спрямованих вниз або назад).
Consequently it can't be used (without modification) for testing features that require a downward-facing camera.
Consequently it can't be used (without modification) for testing features that require a downward-facing camera.
2. Уникання перешкод у місіях можна тестувати лише за наявності сигналу GPS (місії використовують GPS-координати).
Запобігання зіткненням можна перевірити в режимі позиціювання за умови, що є стійке захоплення позиції, отримане або з GPS, або з оптичного потоку.
Запобігання зіткненням можна перевірити в режимі позиціювання за умови, що є стійке захоплення позиції, отримане або з GPS, або з оптичного потоку.
3. Порт, позначений `USB1`, може глушити GPS, якщо його використовувати з периферійним пристроєм _USB3_ (вимкніть GPS-залежні функції, зокрема місії).
Саме тому образ завантаження постачається на флешці _USB2.0_.
Саме тому образ завантаження постачається на флешці _USB2.0_.
4. PX4 Vision v1 з ECN 010 або вище (несуча плата RC05 і вище), _UP Core_ може живитися як від розетки постійного струму, так і від акумулятора.
![RC Number](../../assets/hardware/px4_vision_devkit/rc.png) ![ECN Number](../../assets/hardware/px4_vision_devkit/serial_number_update.jpg)
![RC Number](../../assets/hardware/px4_vision_devkit/rc.png) ![ECN Number](../../assets/hardware/px4_vision_devkit/serial_number_update.jpg)
5. Всі PX4 Vision v1.5 _UP Core_ можна живити як від мережі постійного струму, так і від батареї.
@@ -132,37 +132,37 @@ PX4 Vision DevKit містить наступні компоненти:
## Перший запуск
1. Підключіть [сумісний RC приймач](../getting_started/rc_transmitter_receiver.md#connecting-receivers) до транспортного засобу (не постачається в комплекті):
- Видаліть/відкрутіть верхню пластину (де йде батарея) за допомогою інструменту з головками шестигранника H2.0.
- [Підключіть приймач до контролера польоту](../assembly/quick_start_pixhawk4.md#radio-control).
- Прикріпіть знову верхню пластину.
- Встановіть RC-приймач на плату кар'єра _UP Core_ на задній частині транспортного засобу (використовуйте зажими або двосторонній скотч).
- Переконайтеся, що антени вільні від будь-яких перешкод і електрично ізольовані від рами (наприклад, закріпіть їх під платою або до рук або ніг транспортного засобу).
- Видаліть/відкрутіть верхню пластину (де йде батарея) за допомогою інструменту з головками шестигранника H2.0.
- [Підключіть приймач до контролера польоту](../assembly/quick_start_pixhawk4.md#radio-control).
- Прикріпіть знову верхню пластину.
- Встановіть RC-приймач на плату кар'єра _UP Core_ на задній частині транспортного засобу (використовуйте зажими або двосторонній скотч).
- Переконайтеся, що антени вільні від будь-яких перешкод і електрично ізольовані від рами (наприклад, закріпіть їх під платою або до рук або ніг транспортного засобу).
2. [Прив'яжіть](../getting_started/rc_transmitter_receiver.md#binding) земельні та повітряні блоки керування RC (якщо ще не зроблено).
Процедура прив'язки залежить від конкретної радіосистеми, яку використовують (прочитайте посібник користувача приймача).
Процедура прив'язки залежить від конкретної радіосистеми, яку використовують (прочитайте посібник користувача приймача).
3. Підніміть стійку GPS до вертикального положення та вкрутіть кришку на тримач на базовій пластині. (Не потрібно для v1.5)
![Підніміть мачту GPS](../../assets/hardware/px4_vision_devkit/raise_gps_mast.jpg)
![Підніміть мачту GPS](../../assets/hardware/px4_vision_devkit/raise_gps_mast.jpg)
4. Уставте попередньо зображену USB2.0-ручку зі набору в порт _UP Core_, позначений як `USB1` (виділено нижче).
![UP Core: Порт USB1 ](../../assets/hardware/px4_vision_devkit/upcore_port_usb1.png)
![UP Core: Порт USB1 ](../../assets/hardware/px4_vision_devkit/upcore_port_usb1.png)
5. Запустіть транспортний засіб з повністю зарядженою батареєю.
:::info
Переконайтеся, що гвинти від'єднані перед підключенням батареї.
:::info
Переконайтеся, що гвинти від'єднані перед підключенням батареї.
:::
6. Підключіть земельну станцію до мережі WiFi транспортного засобу (через кілька секунд) за допомогою наступних типових облікових даних:
- **SSID:** pixhawk4
- **Пароль:** px4vision
- **SSID:** pixhawk4
- **Пароль:** px4vision
:::tip
Ім'я мережі WiFi, пароль та інші облікові дані можуть бути змінені після підключення (за бажанням), використовуючи веб-переглядач для відкриття URL-адреси: `http://192.168.4.1`.
Швидкість передачі даних (baud rate) не повинна змінюватися з 921600.
:::tip
Ім'я мережі WiFi, пароль та інші облікові дані можуть бути змінені після підключення (за бажанням), використовуючи веб-переглядач для відкриття URL-адреси: `http://192.168.4.1`.
Швидкість передачі даних (baud rate) не повинна змінюватися з 921600.
:::
@@ -170,39 +170,39 @@ PX4 Vision DevKit містить наступні компоненти:
8. [Налаштувати/калібрувати](../config/index.md) транспортний засіб:
:::info
Транспортний засіб повинен прибути попередньо каліброваним (наприклад, з вбудованим програмним забезпеченням, конструкцією корпусу, батареєю та датчиками, всі встановлені).
Проте вам все одно потрібно калібрувати радіосистему (яку ви щойно підключили), і часто варто повторно виконати калібрування компаса.
:::info
Транспортний засіб повинен прибути попередньо каліброваним (наприклад, з вбудованим програмним забезпеченням, конструкцією корпусу, батареєю та датчиками, всі встановлені).
Проте вам все одно потрібно калібрувати радіосистему (яку ви щойно підключили), і часто варто повторно виконати калібрування компаса.
:::
- [Калібрування Радісистеми](../config/radio.md)
- [Калібрувати Компас](../config/compass.md)
- [Калібрування Радісистеми](../config/radio.md)
- [Калібрувати Компас](../config/compass.md)
9. (Опціонально) Налаштуйте перемикач режиму польоту на пульті дистанційного керування, скориставшись [вибором режиму польоту](../config/flight_mode.md).
:::info
Режими також можна змінити за допомогою _QGroundControl_
:::info
Режими також можна змінити за допомогою _QGroundControl_
:::
Ми рекомендуємо визначити RC контролери для перемикачів:
Ми рекомендуємо визначити RC контролери для перемикачів:
- [Режим позиції](../flight_modes_mc/position.md) - безпечний ручний режим польоту, який можна використовувати для тестування запобігання зіткнень.
- [Режим місії](../flight_modes_mc/mission.md) - виконуйте місії та тестуйте уникання перешкод.
- [Режим повернення](../flight_modes_mc/return.md) - повернення транспортного засобу безпечно до точки запуску та посадка.
- [Режим позиції](../flight_modes_mc/position.md) - безпечний ручний режим польоту, який можна використовувати для тестування запобігання зіткнень.
- [Режим місії](../flight_modes_mc/mission.md) - виконуйте місії та тестуйте уникання перешкод.
- [Режим повернення](../flight_modes_mc/return.md) - повернення транспортного засобу безпечно до точки запуску та посадка.
10. Прикріпіть гвинти з обертанням, як показано:
![Motor Order Diagram](../../assets/hardware/px4_vision_devkit/motor_order_diagram.png)
![Motor Order Diagram](../../assets/hardware/px4_vision_devkit/motor_order_diagram.png)
- Напрямки гвинтів можна визначити за мітками: _6045_ (звичайний, проти годинникової стрілки) та _6045_**R** (обернений, за годинниковою стрілкою).
- Напрямки гвинтів можна визначити за мітками: _6045_ (звичайний, проти годинникової стрілки) та _6045_**R** (обернений, за годинниковою стрілкою).
![Ідентифікація гвинта](../../assets/hardware/px4_vision_devkit/propeller_directions.jpg)
![Ідентифікація гвинта](../../assets/hardware/px4_vision_devkit/propeller_directions.jpg)
- Закрутіть тісно за допомогою наданих гайок пропелера:
- Закрутіть тісно за допомогою наданих гайок пропелера:
![Гайки гвинтів](../../assets/hardware/px4_vision_devkit/propeller_nuts.png)
![Гайки гвинтів](../../assets/hardware/px4_vision_devkit/propeller_nuts.png)
## Політ дроном з униканням
@@ -212,30 +212,30 @@ PX4 Vision DevKit містить наступні компоненти:
2. Зачекайте, доки завершиться послідовність завантаження та система уникання розпочне роботу (транспортний засіб відхилить команди на озброєння під час завантаження).
:::tip
Процес завантаження/початку роботи триває близько 1 хвилини з постачаної USB-флешки (або 30 секунд з [внутрішньої пам'яті](#install_image_mission_computer)).
:::tip
Процес завантаження/початку роботи триває близько 1 хвилини з постачаної USB-флешки (або 30 секунд з [внутрішньої пам'яті](#install_image_mission_computer)).
:::
3. Перевірте, що система уникання почала працювати належним чином:
- Журнал сповіщень _QGroundControl_ відображає повідомлення: **Підключена система уникнення**.
- Журнал сповіщень _QGroundControl_ відображає повідомлення: **Підключена система уникнення**.
![QGC Журнал показує, що система уникання почалася](../../assets/hardware/px4_vision_devkit/qgc_console_vision_system_started.jpg)
![QGC Журнал показує, що система уникання почалася](../../assets/hardware/px4_vision_devkit/qgc_console_vision_system_started.jpg)
- Червоний лазер видно на передній частині камери _Structure Core_.
- Червоний лазер видно на передній частині камери _Structure Core_.
4. Зачекайте, доки світлодіод GPS не засвітиться зеленим кольором.
Це означає, що у транспортного засобу є GPS фіксація і він готовий до польоту!
Це означає, що у транспортного засобу є GPS фіксація і він готовий до польоту!
5. Підключіть наземну станцію до мережі WiFi транспортного засобу.
6. Знайдіть безпечне зовнішнє місце для польоту, ідеально з деревом або якою-небудь іншою зручною перешкодою для тестування PX4 Vision.
7. Для тестування [попередження про зіткнення](../computer_vision/collision_prevention.md), увімкніть [Режим Позиції](../flight_modes_mc/position.md) та літайте вручну до перешкоди.
Транспортний засіб повинен сповільнити і зупинитися протягом 6м від перешкоди (відстань може бути [змінена](../advanced_config/parameters.md) за допомогою параметра [CP_DIST](../advanced_config/parameter_reference.md#CP_DIST)).
Транспортний засіб повинен сповільнити і зупинитися протягом 6м від перешкоди (відстань може бути [змінена](../advanced_config/parameters.md) за допомогою параметра [CP_DIST](../advanced_config/parameter_reference.md#CP_DIST)).
8. To test obstacle avoidance, create a mission where the path is blocked by an obstacle.
Потім перейдіть до [Режиму Місії](../flight_modes_mc/mission.md), щоб запустити місію, і спостерігайте, як транспортний засіб рухається навколо перешкоди, а потім повертається на запланований курс.
Потім перейдіть до [Режиму Місії](../flight_modes_mc/mission.md), щоб запустити місію, і спостерігайте, як транспортний засіб рухається навколо перешкоди, а потім повертається на запланований курс.
## Розробка за допомогою комплекту
@@ -280,22 +280,22 @@ PX4 та супутниковий комп'ютер обмінюються да
2. [Увійдіть в супровідний комп'ютер](#login_mission_computer) (як описано вище).
3. Відкрийте термінал та виконайте наступну команду, щоб скопіювати зображення на внутрішню пам'ять (eMMC).
Термінал буде пропонувати ввести кількість відповідей під час процесу прошивки.
Термінал буде пропонувати ввести кількість відповідей під час процесу прошивки.
```sh
cd ~/catkin_ws/src/px4vision_ros/tools
sudo ./flash_emmc.sh
```
```sh
cd ~/catkin_ws/src/px4vision_ros/tools
sudo ./flash_emmc.sh
```
:::info
Всю інформацію, збережену в комп'ютері _UP Core_, буде видалено при виконанні цього сценарію.
:::info
Всю інформацію, збережену в комп'ютері _UP Core_, буде видалено при виконанні цього сценарію.
:::
4. Витягніть USB-флешку.
5. Перезавантажте пристрій.
Тепер ком'ютер _UP Core_ буде завантажений з внутрішньої пам'яті (eMMC).
Тепер ком'ютер _UP Core_ буде завантажений з внутрішньої пам'яті (eMMC).
### Запустіть супутній комп'ютер
@@ -319,23 +319,23 @@ PX4 та супутниковий комп'ютер обмінюються да
1. Підключіть клавіатуру та мишу до _UP Core_ через порт `USB2`:
![UP Core: USB2](../../assets/hardware/px4_vision_devkit/upcore_port_usb2.png)
![UP Core: USB2](../../assets/hardware/px4_vision_devkit/upcore_port_usb2.png)
- Використовуйте кабель USB-JST з комплекту, щоб отримати роз'єм USB A
- Використовуйте кабель USB-JST з комплекту, щоб отримати роз'єм USB A
![USB to JST cable](../../assets/hardware/px4_vision_devkit/usb_jst_cable.jpg)
![USB to JST cable](../../assets/hardware/px4_vision_devkit/usb_jst_cable.jpg)
- До кабелю можна підключити USB хаб, якщо клавіатура та миша мають окремі роз'єми.
- До кабелю можна підключити USB хаб, якщо клавіатура та миша мають окремі роз'єми.
2. Підключіть монітор до порту HDMI _UP Core_.
![UP Core: Порт HDMI](../../assets/hardware/px4_vision_devkit/upcore_port_hdmi.png)
![UP Core: Порт HDMI](../../assets/hardware/px4_vision_devkit/upcore_port_hdmi.png)
Екран входу в Ubuntu повинен з'явитися на моніторі.
Екран входу в Ubuntu повинен з'явитися на моніторі.
3. Увійдіть в _UP Core_ за допомогою облікових даних:
- **Username:** px4vision
- **Password:** px4vision
- **Username:** px4vision
- **Password:** px4vision
### Розробка / Розширення уникнення PX4
@@ -350,39 +350,39 @@ PX4 та супутниковий комп'ютер обмінюються да
1. Вимкніть процес уникання за допомогою наступної команди:
```sh
systemctl stop avoidance.service
```
```sh
systemctl stop avoidance.service
```
Ви можете просто перезавантажити машину, щоб перезапустити службу.
Ви можете просто перезавантажити машину, щоб перезапустити службу.
Інші корисні команди підтримуються:
Інші корисні команди підтримуються:
```sh
# restart service
systemctl start avoidance.service
```sh
# restart service
systemctl start avoidance.service
# disable service (stop service and do not restart after boot)
systemctl disable avoidance.service
# disable service (stop service and do not restart after boot)
systemctl disable avoidance.service
# enable service (start service and enable restart after boot)
systemctl enable avoidance.service
```
# enable service (start service and enable restart after boot)
systemctl enable avoidance.service
```
2. Вихідний код пакету уникання перешкод можна знайти за адресою https://github.com/PX4/PX4-Avoidance, який розташований в `~/catkin_ws/src/avoidance`.
3. Внесіть зміни до коду! Щоб отримати останній код уникання, витягніть код з репозиторію уникання:
```sh
git pull origin
git checkout origin/master
```
```sh
git pull origin
git checkout origin/master
```
4. Побудуйте пакет
```sh
catkin build local_planner
```
```sh
catkin build local_planner
```
Робоче середовище ROS розміщене в `~/catkin_ws`.
For reference on developing in ROS and using the catkin workspace, see the [ROS catkin tutorials](https://wiki.ros.org/catkin/Tutorials).
+12 -12
View File
@@ -54,15 +54,15 @@ RoboClaw повинен бути підключений до відповідн
Спочатку налаштуйте послідовне з'єднання:
1. Перейдіть до розділу [Параметри](../advanced_config/parameters.md) в QGroundControl.
- Встановіть параметр [RBCLW_SER_CFG](../advanced_config/parameter_reference.md#RBCLW_SER_CFG) на послідовний порт, до якого підключений RoboClaw (наприклад, `GPS2`).
- [RBCLW_COUNTS_REV](../advanced_config/parameter_reference.md#RBCLW_COUNTS_REV) визначає кількість лічильників енкодера, необхідних для одного оберту колеса.
Це значення повинно бути залишено на `1200` для протестованого `Контролера руху RoboClaw 2x15A`.
Відрегулюйте значення на основі вашого конкретного енкодера та налаштувань колеса.
- Контролери моторів RoboClaw повинні мати унікальну адресу на шині.
Стандартна адреса - 128, і вам не потрібно її змінювати (якщо ви це робите, оновіть параметр PX4 [RBCLW_ADDRESS](../advanced_config/parameter_reference.md#RBCLW_ADDRESS) відповідно).
- Встановіть параметр [RBCLW_SER_CFG](../advanced_config/parameter_reference.md#RBCLW_SER_CFG) на послідовний порт, до якого підключений RoboClaw (наприклад, `GPS2`).
- [RBCLW_COUNTS_REV](../advanced_config/parameter_reference.md#RBCLW_COUNTS_REV) визначає кількість лічильників енкодера, необхідних для одного оберту колеса.
Це значення повинно бути залишено на `1200` для протестованого `Контролера руху RoboClaw 2x15A`.
Відрегулюйте значення на основі вашого конкретного енкодера та налаштувань колеса.
- Контролери моторів RoboClaw повинні мати унікальну адресу на шині.
Стандартна адреса - 128, і вам не потрібно її змінювати (якщо ви це робите, оновіть параметр PX4 [RBCLW_ADDRESS](../advanced_config/parameter_reference.md#RBCLW_ADDRESS) відповідно).
:::info
PX4 не підтримує кілька контролерів моторів RoboClaw у тому ж транспортному засобі — кожен контролер повинен мати унікальну адресу на шині, і є лише один параметр для встановлення адреси в PX4 (`RBCLW_ADDRESS`).
:::info
PX4 не підтримує кілька контролерів моторів RoboClaw у тому ж транспортному засобі — кожен контролер повинен мати унікальну адресу на шині, і є лише один параметр для встановлення адреси в PX4 (`RBCLW_ADDRESS`).
:::
@@ -71,12 +71,12 @@ RoboClaw повинен бути підключений до відповідн
1. Перейдіть до [Конфігурації та тестування приводів](../config/actuators.md) в QGroundControl.
2. Виберіть драйвер RoboClaw зі списку _Виводів приводів_.
Для призначень каналу, роззброю, мінімальних та максимальних значень, будь ласка, звертайтеся до зображення нижче.
Для призначень каналу, роззброю, мінімальних та максимальних значень, будь ласка, звертайтеся до зображення нижче.
![RoboClaw QGC](../../assets/airframes/rover/aion_r1/roboclaw_actuator_config_qgc.png)
![RoboClaw QGC](../../assets/airframes/rover/aion_r1/roboclaw_actuator_config_qgc.png)
Для систем з більш ніж двома двигунами можливо призначити одну й ту ж функцію кільком двигунам.
Причина нестандартних значень можна знайти в [Користувацькому посібнику RoboClaw](https://downloads.basicmicro.com/docs/roboclaw_user_manual.pdf) під `Командами сумісності` для `Пакетної послідовної передачі даних`:
Для систем з більш ніж двома двигунами можливо призначити одну й ту ж функцію кільком двигунам.
Причина нестандартних значень можна знайти в [Користувацькому посібнику RoboClaw](https://downloads.basicmicro.com/docs/roboclaw_user_manual.pdf) під `Командами сумісності` для `Пакетної послідовної передачі даних`:
```plain
Приводити двигун вперед. Діапазон дійсних даних - від 0 до 127. Значення 127 = повна швидкість вперед, 64 =
+57 -57
View File
@@ -203,85 +203,85 @@ The Lua script works by extracting the `obstacle_distance_fused` data at each ti
2. Configure PX4 to publish obstacle distance data (so that it is available to PlotJuggler):
Add the [`obstacle_distance_fused`](../msg_docs/ObstacleDistance.md) UORB topic to your [`dds_topics.yaml`](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/uxrce_dds_client/dds_topics.yaml) so that it is published by PX4:
Add the [`obstacle_distance_fused`](../msg_docs/ObstacleDistance.md) UORB topic to your [`dds_topics.yaml`](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/uxrce_dds_client/dds_topics.yaml) so that it is published by PX4:
```sh
- topic: /fmu/out/obstacle_distance_fused
type: px4_msgs::msg::ObstacleDistance
```
```sh
- topic: /fmu/out/obstacle_distance_fused
type: px4_msgs::msg::ObstacleDistance
```
For more information see [DDS Topics YAML](../middleware/uxrce_dds.md#dds-topics-yaml) in [uXRCE-DDS](../middleware/uxrce_dds.md) (PX4-ROS 2/DDS Bridge)\_.
For more information see [DDS Topics YAML](../middleware/uxrce_dds.md#dds-topics-yaml) in [uXRCE-DDS](../middleware/uxrce_dds.md) (PX4-ROS 2/DDS Bridge)\_.
3. Open PlotJuggler and navigate to the **Tools > Reactive Script Editor** section.
In the **Script Editor** tab, add following scripts in the appropriate sections:
In the **Script Editor** tab, add following scripts in the appropriate sections:
- **Global code, executed once:**
- **Global code, executed once:**
```lua
obs_dist_fused_xy = ScatterXY.new("obstacle_distance_fused_xy")
obs_dist_min = Timeseries.new("obstacle_distance_minimum")
```
```lua
obs_dist_fused_xy = ScatterXY.new("obstacle_distance_fused_xy")
obs_dist_min = Timeseries.new("obstacle_distance_minimum")
```
- **function(tracker_time)**
- **function(tracker_time)**
```lua
obs_dist_fused_xy:clear()
```lua
obs_dist_fused_xy:clear()
i = 0
angle_offset = TimeseriesView.find("/fmu/out/obstacle_distance_fused/angle_offset")
increment = TimeseriesView.find("/fmu/out/obstacle_distance_fused/increment")
min_dist = 65535
i = 0
angle_offset = TimeseriesView.find("/fmu/out/obstacle_distance_fused/angle_offset")
increment = TimeseriesView.find("/fmu/out/obstacle_distance_fused/increment")
min_dist = 65535
-- Cache increment and angle_offset values at tracker_time to avoid repeated calls
local angle_offset_value = angle_offset:atTime(tracker_time)
local increment_value = increment:atTime(tracker_time)
-- Cache increment and angle_offset values at tracker_time to avoid repeated calls
local angle_offset_value = angle_offset:atTime(tracker_time)
local increment_value = increment:atTime(tracker_time)
if increment_value == nil or increment_value <= 0 then
print("Invalid increment value: " .. tostring(increment_value))
return
end
if increment_value == nil or increment_value <= 0 then
print("Invalid increment value: " .. tostring(increment_value))
return
end
local max_steps = math.floor(360 / increment_value)
local max_steps = math.floor(360 / increment_value)
while i < max_steps do
local str = string.format("/fmu/out/obstacle_distance_fused/distances[%d]", i)
local distance = TimeseriesView.find(str)
if distance == nil then
print("No distance data for: " .. str)
break
end
while i < max_steps do
local str = string.format("/fmu/out/obstacle_distance_fused/distances[%d]", i)
local distance = TimeseriesView.find(str)
if distance == nil then
print("No distance data for: " .. str)
break
end
local dist = distance:atTime(tracker_time)
if dist ~= nil and dist < 65535 then
-- Calculate angle and Cartesian coordinates
local angle = angle_offset_value + i * increment_value
local y = dist * math.cos(math.rad(angle))
local x = dist * math.sin(math.rad(angle))
local dist = distance:atTime(tracker_time)
if dist ~= nil and dist < 65535 then
-- Calculate angle and Cartesian coordinates
local angle = angle_offset_value + i * increment_value
local y = dist * math.cos(math.rad(angle))
local x = dist * math.sin(math.rad(angle))
obs_dist_fused_xy:push_back(x, y)
obs_dist_fused_xy:push_back(x, y)
-- Update minimum distance
if dist < min_dist then
min_dist = dist
end
end
-- Update minimum distance
if dist < min_dist then
min_dist = dist
end
end
i = i + 1
end
i = i + 1
end
-- Push minimum distance once after the loop
if min_dist < 65535 then
obs_dist_min:push_back(tracker_time, min_dist)
else
print("No valid minimum distance found")
end
```
-- Push minimum distance once after the loop
if min_dist < 65535 then
obs_dist_min:push_back(tracker_time, min_dist)
else
print("No valid minimum distance found")
end
```
4. Enter a name for the script on the top right, and press **Save**.
Once saved, the script should appear in the _Active Scripts_ section.
Once saved, the script should appear in the _Active Scripts_ section.
5. Start streaming the data using the approach described in [Plotting uORB Topic Data in Real Time using PlotJuggler](../debug/plotting_realtime_uorb_data.md).
You should see the `obstacle_distance_fused_xy` and `obstacle_distance_minimum` timeseries on the left.
You should see the `obstacle_distance_fused_xy` and `obstacle_distance_minimum` timeseries on the left.
Note that you have to press **Save** again to re-enable the scripts after loading a new log file or otherwise clearing data.
@@ -125,15 +125,15 @@ For more detailed/additional information, see: [Using PX4's Navigation Filter (E
Якщо ці кроки є послідовними, ви можете спробувати свій перший польот:
1. Покладіть літак на землю і почніть передавати зворотний зв'язок `ODOMETRY` (як вище).
Потягніть палицю газу вниз і зберметизуйте двигуни.
Потягніть палицю газу вниз і зберметизуйте двигуни.
На цьому етапі, зліва палиця на найнижчому положенні, перейдіть у режим позиціонного контролю.
Ви повинні побачити зелену лампочку.
Зелена лампочка свідчить про те, що доступний зворотний зв'язок позиції, і позиційний контроль активований.
На цьому етапі, зліва палиця на найнижчому положенні, перейдіть у режим позиціонного контролю.
Ви повинні побачити зелену лампочку.
Зелена лампочка свідчить про те, що доступний зворотний зв'язок позиції, і позиційний контроль активований.
2. Покладіть палицю газу в середину (мертву зону), щоб літак підтримував свою висоту.
Підняття палиці збільшить висоту посилки, тоді як зниження значення зменшить її.
Так само, інша палиця змінить положення над землею.
Підняття палиці збільшить висоту посилки, тоді як зниження значення зменшить її.
Так само, інша палиця змінить положення над землею.
3. Збільшуйте значення перемикача газу, і літак злетить. Відразу після цього поверніть його в середину.
+40 -40
View File
@@ -38,24 +38,24 @@ _Польотні завдання_ використовуються у [Реж
- Оновіть відмітку про авторське право до поточного року
```cmake
############################################################################
#
# Copyright (c) 2021 PX4 Development Team. All rights reserved.
#
```
```cmake
############################################################################
#
# Copyright (c) 2021 PX4 Development Team. All rights reserved.
#
```
- Модифікуйте код щоб він відповідав новому завданню, наприклад замініть `FlightTaskOrbit` на `FlightTaskMyTask`.
Код буде виглядати приблизно так:
Код буде виглядати приблизно так:
```cmake
px4_add_library(FlightTaskMyTask
FlightTaskMyTask.cpp
)
```cmake
px4_add_library(FlightTaskMyTask
FlightTaskMyTask.cpp
)
target_link_libraries(FlightTaskMyTask PUBLIC FlightTask)
target_include_directories(FlightTaskMyTask PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
```
target_link_libraries(FlightTaskMyTask PUBLIC FlightTask)
target_include_directories(FlightTaskMyTask PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
```
4. Оновіть файл заголовків (у цьому випадку **FlightTaskMyTask. pp**): Більшість завдань повторно реалізує віртуальні методи `activate()` і `update()`, в цьому прикладі ми також маємо приватну змінну.
@@ -140,35 +140,35 @@ _Польотні завдання_ використовуються у [Реж
- Оновіть `MPC_POS_MODE` ([multicopter_position_mode_params.](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/mc_pos_control/multicopter_position_mode_params.c)), щоб додати варіант для вибору "MyTask", якщо параметр має раніше невикористане значення, наприклад 5:
```c
...
* @value 0 Direct velocity
* @value 3 Smoothed velocity
* @value 4 Acceleration based
* @value 5 My task
* @group Multicopter Position Control
*/
PARAM_DEFINE_INT32(MPC_POS_MODE, 5);
```
```c
...
* @value 0 Direct velocity
* @value 3 Smoothed velocity
* @value 4 Acceleration based
* @value 5 My task
* @group Multicopter Position Control
*/
PARAM_DEFINE_INT32(MPC_POS_MODE, 5);
```
- Додайте мітку case для нового варіанту в операторі switch для параметра в [FlightModeManager.cpp](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/flight_mode_manager/FlightModeManager.cpp#L266-L285), щоб увімкнути завдання коли `_param_mpc_pos_mode` має відповідне значення.
```cpp
...
// manual position control
...
switch (_param_mpc_pos_mode.get()) {
...
case 3:
error = switchTask(FlightTaskIndex::ManualPositionSmoothVel);
break;
case 5: // Add case for new task: MyTask
error = switchTask(FlightTaskIndex::MyTask);
break;
case 4:
....
...
```
```cpp
...
// manual position control
...
switch (_param_mpc_pos_mode.get()) {
...
case 3:
error = switchTask(FlightTaskIndex::ManualPositionSmoothVel);
break;
case 5: // Add case for new task: MyTask
error = switchTask(FlightTaskIndex::MyTask);
break;
case 4:
....
...
```
## Перевірка нового польотного завдання
+21 -12
View File
@@ -13,9 +13,9 @@ They are exported at build-time into an `airframes.xml` file which is parsed by
Наступні секції розділені відповідно до операційної системи, на яких виконується PX4.
## Posix (Linux/MacOS)
## POSIX (Linux/MacOS)
На Posix системна оболонка використовується як інтерпретатор скриптів (наприклад, /bin/sh що є символьним посиланням на dash в Ubuntu).
On POSIX, the system shell is used as script interpreter (e.g. /bin/sh, being symlinked to dash on Ubuntu).
Щоб це працювало потрібно кілька речей:
- Модулі PX4 повинні виглядати для системи як окремі виконувані файли.
@@ -59,7 +59,7 @@ cd <PX4-Autopilot>/build/px4_sitl_default/bin
### Динамічні модулі
Зазвичай всі модулі компілюються в єдиний виконуваний файл PX4.
Однак, на Posix системах, є можливість компіляції модуля в окремий файл, який можна завантажити в PX4 використовуючи команду `dyn`.
However, on POSIX, there's the option of compiling a module into a separate file, which can be loaded into PX4 using the `dyn` command.
```sh
dyn ./test.px4mod
@@ -95,7 +95,7 @@ NuttX має інтегрований інтерпретатор оболонк
Найкращий спосіб змінити запуск системи - це ввести [нову конфігурацію планера](../dev_airframes/adding_a_new_frame.md).
Файл конфігурації планеру може бути включений у прошивку або на SD карту.
#### Dynamic customization
#### Dynamic Customization
Якщо вам потрібно "підлаштувати" конфігурацію що існує, наприклад запустити один або більше застосунків або встановити значення кількох параметрів, можна вказати це створивши два файли у директорії `/etc/` на SD картці:
@@ -153,27 +153,36 @@ param set-default PWM_MAIN_MIN3 1120
mandatory_app start # Will abort boot if mandatory_app is unknown or fails
```
#### Additional customization
#### Additional Init-File Customization
In rare cases where the desired setup cannot be achieved through frame configuration or dynamic customization,
you can add a script that will be contained in the binary.
In rare cases where the desired setup cannot be achieved through frame configuration or dynamic customization, you can add a script that will be compiled into the binary for a particular `make` target build variant.
**Note**: In almost all cases, you should use a frame configuration. This method should only be used for
edge-cases such as customizing `cannode` based boards.
:::warning
In almost all cases, you should use a frame configuration.
This method should only be used for edge-cases such as customizing `cannode` based boards.
:::
Кроки наступні:
- Add a new init script in `boards/<vendor>/<board>/init` that will run during board startup.
Наприклад:
- Add a new init script in `boards/<vendor>/<board>/init` that will run during board startup. Наприклад:
```sh
# File: boards/<vendor>/<board>/init/rc.additional
param set-default <param> <value>
```
- Add a new board variant in `boards/<vendor>/<board>/<variant>.px4board` that includes the additional script. Наприклад:
- Add a new board variant in `boards/<vendor>/<board>/<variant>.px4board` that includes the additional script.
Наприклад:
```sh
# File: boards/<vendor>/<board>/var.px4board
CONFIG_BOARD_ADDITIONAL_INIT="rc.additional"
```
- Compile the firmware with your new variant by appending the variant name to the compile target. Наприклад:
- Compile the firmware with your new variant by appending the variant name to the compile target.
Наприклад:
```sh
make <target>_var
```
+18 -18
View File
@@ -43,13 +43,13 @@ The airframe must fly well enough to handle moderate disturbances, and should be
2. Take off and <div style="display: inline;" v-if="$frontmatter.frame === 'Multicopter'">hover at 1m above ground in [Altitude mode](../flight_modes_mc/altitude.md) or [Stabilized mode](../flight_modes_mc/manual_stabilized.md)</div><div style="display: inline;" v-else-if="$frontmatter.frame === 'Plane'">fly at cruise speed in [Position mode](../flight_modes_fw/position.md) or [Altitude mode](../flight_modes_fw/altitude.md)</div>.
3. Use the RC transmitter roll stick to perform the following maneuver, tilting the vehicle just a few degrees: _roll left > roll right > center_ (The whole maneuver should take about 3 seconds).
Транспортний засіб повинен стабілізуватися протягом 2 коливань.
Транспортний засіб повинен стабілізуватися протягом 2 коливань.
4. Повторіть маневр, нахиляючись з більшими амплітудами при кожної спроби.
Якщо транспортний засіб може стабілізуватися протягом 2 коливань під кутом близько 20 градусів, перейдіть до наступного кроку.
Якщо транспортний засіб може стабілізуватися протягом 2 коливань під кутом близько 20 градусів, перейдіть до наступного кроку.
5. Повторіть ті ж маніпуляції, але по осі поля.
Як вище, почніть з невеликих кутів і підтвердіть, що транспортний засіб може стабілізуватися самостійно протягом 2 коливань, перш ніж збільшувати нахил.
Як вище, почніть з невеликих кутів і підтвердіть, що транспортний засіб може стабілізуватися самостійно протягом 2 коливань, перш ніж збільшувати нахил.
If the drone can stabilize itself within 2 oscillations it is ready for the [auto-tuning procedure](#auto-tuning-procedure).
@@ -72,41 +72,41 @@ The RC sticks cannot be used during autotuning (moving the sticks will stop the
1. Perform the [pre-tuning test](#pre-tuning-test).
2. Takeoff using RC control <div style="display: inline;" v-if="$frontmatter.frame === 'Multicopter'">in [Altitude mode](../flight_modes_mc/altitude.md).
Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m).</div><div v-else-if="$frontmatter.frame === 'Plane'">
Once flying at cruise speed, activate [Hold mode](../flight_modes_fw/hold.md).
This will guide the plane to fly in circle at constant altitude and speed.</div>
Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m).</div><div v-else-if="$frontmatter.frame === 'Plane'">
Once flying at cruise speed, activate [Hold mode](../flight_modes_fw/hold.md).
This will guide the plane to fly in circle at constant altitude and speed.</div>
3. Enable autotune.
<div v-if="$frontmatter.frame === 'Plane'">
<div class="tip custom-block"><p class="custom-block-title">TIP</p>
<div v-if="$frontmatter.frame === 'Plane'">
<div class="tip custom-block"><p class="custom-block-title">TIP</p>
If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch) is configured you can just toggle the switch to the "enabled" position.
If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch) is configured you can just toggle the switch to the "enabled" position.
</div></div>
</div></div>
1. In QGroundControl, open the menu **Vehicle setup > PID Tuning**:
1. In QGroundControl, open the menu **Vehicle setup > PID Tuning**:
![Tuning Setup > Autotune Enabled](../../assets/qgc/setup/autotune/autotune.png)
![Tuning Setup > Autotune Enabled](../../assets/qgc/setup/autotune/autotune.png)
2. Select either the _Rate Controller_ or _Attitude Controller_ tabs.
2. Select either the _Rate Controller_ or _Attitude Controller_ tabs.
3. Ensure that the **Autotune enabled** button is enabled (this will display the **Autotune** button and remove the manual tuning selectors).
3. Ensure that the **Autotune enabled** button is enabled (this will display the **Autotune** button and remove the manual tuning selectors).
4. Read the warning popup and click on **OK** to start tuning.
4. Read the warning popup and click on **OK** to start tuning.
4. Дрон спочатку почне виконувати швидкі рухи кочення, а потім рухи тангажу та рухи курсу.
The progress is shown in the progress bar, next to the _Autotune_ button.
The progress is shown in the progress bar, next to the _Autotune_ button.
<div style="display: inline;" v-if="$frontmatter.frame === 'Multicopter'">
5. Manually land and disarm to apply the new tuning parameters.
Takeoff carefully and manually test that the vehicle is stable.
Takeoff carefully and manually test that the vehicle is stable.
</div><div v-else-if="$frontmatter.frame === 'Plane'">
5. The tuning will be immediately/automatically be applied and tested in flight (by default).
PX4 will then run a 4 second test and revert the new tuning if a problem is detected.
PX4 will then run a 4 second test and revert the new tuning if a problem is detected.
</div>
+46 -46
View File
@@ -448,9 +448,9 @@ QGC потім автоматично обере наступний двигун
4. One motor will start spinning (click **Spin Motor Again** if it stops spinning too quickly to note.)
Виберіть відповідний двигун в розділі геометрії.
Виберіть відповідний двигун в розділі геометрії.
![Screenshot showing how to identify/assign motors](../../assets/config/actuators/identify_motors_in_progress.png)
![Screenshot showing how to identify/assign motors](../../assets/config/actuators/identify_motors_in_progress.png)
5. Після призначення всіх двигунів інструмент встановить правильне відображення двигунів для виходів, а потім вийде.
@@ -467,15 +467,15 @@ Actuator outputs for both motors and servos can be _manually_ assigned using sli
1. First assign functions to the outputs that you think are _likely_ to be correct in the _Actuator Outputs_ section.
2. Toggle the **Enable sliders** switch in _Actuator Testing_ section.
3. Перемістіть повзунок для приводу, який ви хочете перевірити:
- Двигуни повинні бути переведені в положення мінімального тяги.
- Сервоприводи повинні бути переміщені близько до середнього положення.
- Двигуни повинні бути переведені в положення мінімального тяги.
- Сервоприводи повинні бути переміщені близько до середнього положення.
4. Перевірте, який привод рухається на транспортному засобі.
This should match the actuator positions for your geometry (the [airframe reference](../airframes/airframe_reference.md) shows motor positions for a number of standard airframes).
- Якщо правильний привод рухається, перейдіть до наступного кроку.
- Якщо неправильний привод рухається, поміняйте призначення виводу.
- Якщо нічого не рухається, то збільште регулятор наполовину діапазону, потім вище, якщо потрібно.
Якщо після цього нічого не рухається, вихід може бути не підключений, можливо, двигун не живиться або вихід може бути неправильно налаштований.
Вам потрібно буде вирішити проблему (можливо, спробуйте інші виходи виконавчих пристроїв, щоб побачити, чи "щось" рухається).
This should match the actuator positions for your geometry (the [airframe reference](../airframes/airframe_reference.md) shows motor positions for a number of standard airframes).
- Якщо правильний привод рухається, перейдіть до наступного кроку.
- Якщо неправильний привод рухається, поміняйте призначення виводу.
- Якщо нічого не рухається, то збільште регулятор наполовину діапазону, потім вище, якщо потрібно.
Якщо після цього нічого не рухається, вихід може бути не підключений, можливо, двигун не живиться або вихід може бути неправильно налаштований.
Вам потрібно буде вирішити проблему (можливо, спробуйте інші виходи виконавчих пристроїв, щоб побачити, чи "щось" рухається).
5. Поверніть слайдер у положення "роззброєно" (донизу для двигунів, по центру для сервоприводів).
6. Повторити для всіх приводів
@@ -501,32 +501,32 @@ Remove propellers!
Для кожного двигуна:
1. Тягніть слайдер мотора вниз, щоб він защелкнувся унизу.
In this position the motor is set to the outputs `disarmed` value.
- Перевірте, що двигун не обертається в цьому положенні.
- If the motor spins, reduce the corresponding PWM `disarmed` value in the [Actuator Outputs](#actuator-outputs) section to below the level at which it still spins.
In this position the motor is set to the outputs `disarmed` value.
- Перевірте, що двигун не обертається в цьому положенні.
- If the motor spins, reduce the corresponding PWM `disarmed` value in the [Actuator Outputs](#actuator-outputs) section to below the level at which it still spins.
2. Slowly move the slider up until it snaps to the _minimum_ position.
In this position the motor is set to the outputs `minimum` value.
- Перевірте, чи двигун обертається дуже повільно в цьому положенні.
- If the motor is not spinning, or spinning too fast you will need to adjust the corresponding PWM `minimum` value in the [Actuator Outputs](#actuator-outputs) such that the motors barely spin.
In this position the motor is set to the outputs `minimum` value.
- Перевірте, чи двигун обертається дуже повільно в цьому положенні.
- If the motor is not spinning, or spinning too fast you will need to adjust the corresponding PWM `minimum` value in the [Actuator Outputs](#actuator-outputs) such that the motors barely spin.
![PWM Minimum Output](../../assets/config/actuators/pwm_minimum_output.png)
::: info
For DShot output, this is not required.
![PWM Minimum Output](../../assets/config/actuators/pwm_minimum_output.png)
::: info
For DShot output, this is not required.
:::
3. Збільште значення слайдера до рівня, на якому ви можете перевірити, що двигун обертається в правильному напрямку і що він надасть позитивний тяговий потік в очікуваному напрямку.
- Очікувана напрямок тяги може відрізнятися в залежності від типу транспортного засобу.
Наприклад, у багатороторних літаках тяга завжди повинна вказувати вгору, тоді як у повітряному судні з фіксованим крилом тяга буде тягти судно вперед.
- For VTOL, thrust should point upwards when the Tilt Servo is at 0 degrees as defined the [Tilt Servo Convention](#tilt-servo-coordinate-system).
Testing of the [Tilt Servo](#tilt-servo-setup) is covered below as well.
- If thrust is in the wrong direction, you may need to [reverse the motors](#reversing-motors).
- Очікувана напрямок тяги може відрізнятися в залежності від типу транспортного засобу.
Наприклад, у багатороторних літаках тяга завжди повинна вказувати вгору, тоді як у повітряному судні з фіксованим крилом тяга буде тягти судно вперед.
- For VTOL, thrust should point upwards when the Tilt Servo is at 0 degrees as defined the [Tilt Servo Convention](#tilt-servo-coordinate-system).
Testing of the [Tilt Servo](#tilt-servo-setup) is covered below as well.
- If thrust is in the wrong direction, you may need to [reverse the motors](#reversing-motors).
4. Збільште значення слайдера до максимального значення, щоб двигун швидко обертався.
Reduce the value of the PWM output's `maximum` value just below the default.
Прослухайте тон моторів, коли ви збільшуєте значення малими (25us) інкрементами.
"Оптимальне" максимальне значення - це значення, при якому ви востаннє почули зміну тона.
Reduce the value of the PWM output's `maximum` value just below the default.
Прослухайте тон моторів, коли ви збільшуєте значення малими (25us) інкрементами.
"Оптимальне" максимальне значення - це значення, при якому ви востаннє почули зміну тона.
### Налаштування поверхонь керування
@@ -549,33 +549,33 @@ Control surfaces that move either direction around a neutral point include: aile
To set these up:
1. Set the `Disarmed` value so that the surfaces will stay at neutral position when disarmed.
This is usually around `1500` for PWM servos (near the centre of the servo range).
This is usually around `1500` for PWM servos (near the centre of the servo range).
![Control Surface Disarmed 1500 Setting](../../assets/config/actuators/control_surface_aileron_setup.png)
![Control Surface Disarmed 1500 Setting](../../assets/config/actuators/control_surface_aileron_setup.png)
2. Move the slider for the surface upwards (positive command) and verify that it moves in the direction defined in the [Control Surface Convention](#control-surface-deflection-convention).
- Ailerons, elevons, V-Tails, A-Tails, and other horizontal surfaces should move up.
- Rudders and other "purely vertical" surfaces should move right.
- Ailerons, elevons, V-Tails, A-Tails, and other horizontal surfaces should move up.
- Rudders and other "purely vertical" surfaces should move right.
::: tip
It is important that the slider movement matches the control surface convention, in order to normalize control for different servo mountings (moving the slider up may actually decrease the output value sent to the servo).
::: tip
It is important that the slider movement matches the control surface convention, in order to normalize control for different servo mountings (moving the slider up may actually decrease the output value sent to the servo).
:::
If the control surface moves in the opposite direction, click on the `Rev Range` checkbox to reverse the range.
If the control surface moves in the opposite direction, click on the `Rev Range` checkbox to reverse the range.
3. Move the slider again to the middle and check if the Control Surfaces are aligned in the neutral position of the wing.
- If it is not aligned, you can set the **Trim** value for the control surface.
- If it is not aligned, you can set the **Trim** value for the control surface.
::: info
This is done in the `Trim` setting of the Geometry panel, usually by "trial and error".
![Control Surface Trimming](../../assets/config/actuators/control_surface_trim.png)
::: info
This is done in the `Trim` setting of the Geometry panel, usually by "trial and error".
![Control Surface Trimming](../../assets/config/actuators/control_surface_trim.png)
:::
- After setting the trim for a control surface, move its slider away from the centre, release, and then back into disarmed (middle) position.
Підтвердіть, що поверхня знаходиться в нейтральному положенні.
- After setting the trim for a control surface, move its slider away from the centre, release, and then back into disarmed (middle) position.
Підтвердіть, що поверхня знаходиться в нейтральному положенні.
:::info
Another way to test without using the sliders would be to set the [`COM_PREARM_MODE`](../advanced_config/parameter_reference.md#COM_PREARM_MODE) parameter to `Always`:
@@ -597,13 +597,13 @@ One approach for setting these up is:
1. Set values `Disarmed` to `1500`, `Min` to `1200`, `Max` to `1700` so that the values are around the centre of the servo range.
2. Move the corresponding slider up and check the control moves and that it is extending (moving away from the disarmed position).
If not, click on the `Rev Range` checkbox to reverse the range.
If not, click on the `Rev Range` checkbox to reverse the range.
3. Enable slider in the disarmed position, them change the value of the `Disarmed` signal until the control is retracted/flush with wing.
This may require that the `Disarmed` value is increased or decreased:
- If the value was decreased towards `Min`, then set `Min` to match `Disarmed`.
- If the value was increased towards `Max`, then set `Max` to match `Disarmed`.
This may require that the `Disarmed` value is increased or decreased:
- If the value was decreased towards `Min`, then set `Min` to match `Disarmed`.
- If the value was increased towards `Max`, then set `Max` to match `Disarmed`.
4. The value that you did _not_ set to match `Disarmed` controls the maximum amount that the control surface can extend.
Set the slider to the top of the control, then change the value (`Max` or `Min`) so that the control surface is fully extended when the slider is at top.
Set the slider to the top of the control, then change the value (`Max` or `Min`) so that the control surface is fully extended when the slider is at top.
:::info Special note for flaps
In some vehicle builds, flaps may be configured such that both flaps are controlled from a single output.
@@ -627,7 +627,7 @@ First set the _frame rate_ for the servos used in each group of outputs.
2. Position the slider for the servo in the lowest position, and verify that a positive value increase will point towards the `Angle at Min Tilt` (defined in the Geometry section).
![Tilt Servo Geometry Setup](../../assets/config/actuators/tilt_servo_geometry_config.png)
![Tilt Servo Geometry Setup](../../assets/config/actuators/tilt_servo_geometry_config.png)
3. Position the slider for the servo in the highest position, and verify that positive motor thrust will point towards the `Angle at Max Tilt` (as defined in the Geometry section).
+5 -5
View File
@@ -27,18 +27,18 @@ Before calibration they must be [enabled via the corresponding parameter](../adv
4. Click the **Airspeed** sensor button.
![Airspeed calibration](../../assets/qgc/setup/sensor/sensor_airspeed.jpg)
![Airspeed calibration](../../assets/qgc/setup/sensor/sensor_airspeed.jpg)
5. Захистіть сенсор від вітру (тобто закрийте його рукою).
Пильнуйте, щоб не заблокувати жодного з отворів.
Пильнуйте, щоб не заблокувати жодного з отворів.
6. Click **OK** to start the calibration.
7. Після запиту, дмухніть у кінець труби пітота, щоб сигналізувати про завершення калібрування.
:::tip
Blowing into the tube is also a basic check that the dynamic and static ports are installed correctly.
Якщо вони будуть поміняні місцями, то датчик буде відображати великий від'ємний перепад тиску, коли ви дмухаєте в трубку, і калібрування завершиться з помилкою.
:::tip
Blowing into the tube is also a basic check that the dynamic and static ports are installed correctly.
Якщо вони будуть поміняні місцями, то датчик буде відображати великий від'ємний перепад тиску, коли ви дмухаєте в трубку, і калібрування завершиться з помилкою.
:::
+15 -15
View File
@@ -23,9 +23,9 @@ If any external magnetometers are available, it then disables the internal magne
Several types of compass calibration are available:
1. [Complete](#complete-calibration): This calibration is required after installing the autopilot on an airframe for the first time or when the configuration of the vehicle has changed significantly.
Воно компенсує впливи твердого та м'якого заліза, оцінюючи зміщення та коефіцієнт масштабу для кожної вісі.
Воно компенсує впливи твердого та м'якого заліза, оцінюючи зміщення та коефіцієнт масштабу для кожної вісі.
2. [Partial](#partial-quick-calibration): This calibration can be performed as a routine when preparing the vehicle for a flight, after changing the payload, or simply when the compass rose seems inaccurate.
Цей тип калібрування лише оцінює зміщення для компенсації ефекту твердого заліза.
Цей тип калібрування лише оцінює зміщення для компенсації ефекту твердого заліза.
3. [Large vehicle](#large-vehicle-calibration): This calibration can be performed when the vehicle is too large or heavy to perform a complete calibration. Цей тип калібрування лише оцінює зміщення для компенсації ефекту твердого заліза.
## Виконання калібрування
@@ -35,13 +35,13 @@ Several types of compass calibration are available:
Перед початком калібрування:
1. Виберіть місце подалеку від великих металевих об'єктів або магнітних полів.
:::tip
Metal is not always obvious! Уникайте калібрування на верхній частині офісного столу (часто містять металеві пластины) або поруч з транспортним засобом.
Калібрування може бути навіть уражено, якщо ви стоїте на бетонній плиті з нерівномірним розподілом арматури.
:::tip
Metal is not always obvious! Уникайте калібрування на верхній частині офісного столу (часто містять металеві пластины) або поруч з транспортним засобом.
Калібрування може бути навіть уражено, якщо ви стоїте на бетонній плиті з нерівномірним розподілом арматури.
:::
2. Підключайтесь за допомогою телеметричного радіо, а не через USB, якщо це взагалі можливо.
USB потенційно може викликати значне магнітне втручання.
USB потенційно може викликати значне магнітне втручання.
3. If using an external compass (or a combined GPS/compass module), make sure it is [mounted](../assembly/mount_gps_compass.md) as far as possible from other electronics in order to reduce magnetic interference, and in a _supported orientation_.
### Повне калібрування
@@ -54,10 +54,10 @@ Several types of compass calibration are available:
3. Click the **Compass** sensor button.
![Select Compass calibration PX4](../../assets/qgc/setup/sensor/sensor_compass_select_px4.png)
![Select Compass calibration PX4](../../assets/qgc/setup/sensor/sensor_compass_select_px4.png)
::: info
You should already have set the [Autopilot Orientation](../config/flight_controller_orientation.md). Якщо ні, ви також можете встановити це тут.
::: info
You should already have set the [Autopilot Orientation](../config/flight_controller_orientation.md). Якщо ні, ви також можете встановити це тут.
:::
@@ -65,7 +65,7 @@ Several types of compass calibration are available:
5. Розмістіть транспортний засіб у будь-якому з показаних червоних орієнтацій (неповний) та утримуйте його нерухомим. Після запиту (орієнтаційне зображення стає жовтим) обертайте транспортний засіб навколо вказаної вісі в одному або обох напрямках. Після завершення калібрування для поточного орієнтації пов'язане зображення на екрані стане зеленим.
![Compass calibration steps on PX4](../../assets/qgc/setup/sensor/sensor_compass_calibrate_px4.png)
![Compass calibration steps on PX4](../../assets/qgc/setup/sensor/sensor_compass_calibrate_px4.png)
6. Повторіть процес калібрування для всіх орієнтацій автомобіля.
@@ -76,7 +76,7 @@ Once you've calibrated the vehicle in all the positions _QGroundControl_ will di
Ця калібровка схожа на відому калібровку компасу у вигляді восьмірки, виконану на смартфоні:
1. Утримуйте транспортний засіб перед собою та випадковим чином виконуйте часткові обертання по всіх його осях.
2-3 коливань на кут близько 30 градусів у кожному напрямку зазвичай достатньо.
2-3 коливань на кут близько 30 градусів у кожному напрямку зазвичай достатньо.
2. Зачекайте, поки оцінка заголовку стабілізується, і перевірте, що компас вказує в правильному напрямку (це може зайняти кілька секунд).
Примітки:
@@ -94,12 +94,12 @@ This calibration process leverages external knowledge of vehicle's orientation a
1. Ensure GNSS Fix. This is required to find the expected Earth magnetic field in WMM tables.
2. Align the vehicle to face True North.
Be as accurate as possible for best results.
Be as accurate as possible for best results.
3. Open the [QGroundControl MAVLink Console](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/analyze_view/mavlink_console.html) and send the following command:
```sh
commander calibrate mag quick
```
```sh
commander calibrate mag quick
```
Примітки:
+2 -2
View File
@@ -61,10 +61,10 @@ Next you will need to specify the [vehicle airframe](../config/airframe.md) (and
2. Check **Advanced settings** and select the version from the dropdown list:
- **Standard Version (stable):** The default version (i.e. no need to use advanced settings to install this!)
- **Beta Testing (beta):** A beta/candidate release.
Лише доступно, коли готується новий реліз.
Лише доступно, коли готується новий реліз.
- **Developer Build (master):** The latest build of PX4/PX4-Autopilot _main_ branch.
- **Custom Firmware file...:** A custom firmware file (e.g. [that you have built locally](../dev_setup/building_px4.md)).
Якщо ви виберете це, вам доведеться вибрати власну прошивку з файлової системи на наступному кроці.
Якщо ви виберете це, вам доведеться вибрати власну прошивку з файлової системи на наступному кроці.
Оновлення прошивки потім продовжується, як і раніше.
+10 -10
View File
@@ -40,24 +40,24 @@ PX4 дозволяє вам вказати канал "режиму" та виб
3. Select **"Q" icon > Vehicle Setup > Flight Modes** (sidebar) to open _Flight Modes Setup_.
![Flight modes single-channel](../../assets/qgc/setup/flight_modes/flight_modes_single_channel.jpg)
![Flight modes single-channel](../../assets/qgc/setup/flight_modes/flight_modes_single_channel.jpg)
4. Specify _Flight Mode Settings_:
- Select the **Mode channel** (above this shown as Channel 5, but this will depend on your transmitter configuration).
- Перемістіть перемикач передавача (або перемикачі), які ви налаштували для вибору режиму, через доступні позиції.
The mode slot matching your current switch position will be highlighted (above this is _Flight Mode 1_).
::: info
While you can set flight modes in any of the 6 slots, only the channels that are mapped to switch positions will be highlighted/used.
- Select the **Mode channel** (above this shown as Channel 5, but this will depend on your transmitter configuration).
- Перемістіть перемикач передавача (або перемикачі), які ви налаштували для вибору режиму, через доступні позиції.
The mode slot matching your current switch position will be highlighted (above this is _Flight Mode 1_).
::: info
While you can set flight modes in any of the 6 slots, only the channels that are mapped to switch positions will be highlighted/used.
:::
- Виберіть режим польоту, який ви хочете активувати для кожного положення перемикача.
- Виберіть режим польоту, який ви хочете активувати для кожного положення перемикача.
5. Specify _Switch Settings_:
- Select the channels that you want to map to specific actions - e.g.: _Return_ mode, _Kill switch_, _offboard_ mode, etc. (if you have spare switches and channels on your transmitter).
- Select the channels that you want to map to specific actions - e.g.: _Return_ mode, _Kill switch_, _offboard_ mode, etc. (if you have spare switches and channels on your transmitter).
6. Перевірте, що режими відображаються на правильні перемикачі передавача:
- Check the _Channel Monitor_ to confirm that the expected channel is changed by each switch.
- Select each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode).
- Check the _Channel Monitor_ to confirm that the expected channel is changed by each switch.
- Select each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode).
Усі значення автоматично зберігаються після зміни.
+1 -11
View File
@@ -204,23 +204,13 @@ The relevant parameters shown below.
### Position Loss Failsafe Action
The failure action is controlled by [COM_POSCTL_NAVL](../advanced_config/parameter_reference.md#COM_POSCTL_NAVL), based on whether RC control is assumed to be available (and altitude information):
- `0`: Remote control available.
Switch to _Altitude mode_ if a height estimate is available, otherwise _Stabilized mode_.
- `1`: Remote control _not_ available.
Switch to _Descend mode_ if a height estimate is available, otherwise enter flight termination.
_Descend mode_ is a landing mode that does not require a position estimate.
Multicopters will switch to [Altitude mode](../flight_modes_mc/altitude.md) if a height estimate is available, otherwise [Stabilized mode](../flight_modes_mc/manual_stabilized.md).
Fixed-wing planes, and VTOLs not configured to land in hover ([NAV_FORCE_VT](../advanced_config/parameter_reference.md#NAV_FORCE_VT)), have a parameter ([FW_GPSF_LT](../advanced_config/parameter_reference.md#FW_GPSF_LT)) that defines how long they will loiter (circle with a constant roll angle ([FW_GPSF_R](../advanced_config/parameter_reference.md#FW_GPSF_R)) at the current altitude) after losing position before attempting to land.
If VTOLs have are configured to switch to hover for landing ([NAV_FORCE_VT](../advanced_config/parameter_reference.md#NAV_FORCE_VT)) then they will first transition and then descend.
Відповідні параметри для всіх транспортних засобів наведено нижче.
| Параметр | Опис |
| -------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <a id="COM_POSCTL_NAVL"></a>[COM_POSCTL_NAVL](../advanced_config/parameter_reference.md#COM_POSCTL_NAVL) | Position control navigation loss response during mission. Values: `0` - assume use of RC, `1` - Assume no RC. |
Параметри, які впливають лише на повітряні судна з фіксованим крилом:
| Параметр | Опис |
+1 -1
View File
@@ -14,7 +14,7 @@ Note that any delayed action (`COM_FAIL_ACT_T`) will also be delayed in the simu
2. Встановіть тип транспортного засобу
3. Set the other values in the **State** or any of the flags under **Conditions**
- The **Intended Mode** corresponds to the commanded mode via RC or GCS (or external script).
Станова машина аварійного відновлення може перевизначити це у разі аварійного відновлення.
Станова машина аварійного відновлення може перевизначити це у разі аварійного відновлення.
4. Check the action under **Output**
5. Check what happens when changing mode or **Move the RC sticks**
6. Грайте з різними налаштуваннями та умовами!
@@ -29,10 +29,10 @@ The [Advanced Trimming](#advanced-trimming) section introduces parameters that c
1. Trim the servos by physically adjusting the linkages lengths if possible and fine tune by trimming the PWM channels (use `PWM_MAIN/AUX_TRIMx`) on the bench to properly set the control surfaces to their theoretical position.
2. Fly in stabilized mode at cruise speed and set the pitch setpoint offset (`FW_PSP_OFF`) to desired angle of attack.
Необхідний кут атаки при крейсерській швидкості відповідає куту крена, який потрібно літаку летіти, щоб утримати постійну висоту під час польоту з вирівняним крилом.
If you are using an airspeed sensor, also set the correct cruise airspeed (`FW_AIRSPD_TRIM`).
Необхідний кут атаки при крейсерській швидкості відповідає куту крена, який потрібно літаку летіти, щоб утримати постійну висоту під час польоту з вирівняним крилом.
If you are using an airspeed sensor, also set the correct cruise airspeed (`FW_AIRSPD_TRIM`).
3. Look at the actuator controls in the log file (upload it to [Flight Review](https://logs.px4.io) and check the _Actuator Controls_ plot for example) and set the pitch trim (`TRIM_PITCH`).
Встановіть це значення на середнє зміщення сигналу тану під час польоту на рівні крила.
Встановіть це значення на середнє зміщення сигналу тану під час польоту на рівні крила.
Крок 3 можна виконати перед кроком 2, якщо ви не хочете дивитися на журнал або якщо вам зручно керувати літаком вручну.
You can then trim your remote (with the trim switches) and report the values to `TRIM_PITCH` (and remove the trims from your transmitter) or update `TRIM_PITCH` directly during flight via telemetry and QGC.
+8 -8
View File
@@ -53,15 +53,15 @@ This section contains topics related to [helicopter](../frames_helicopter/index.
Для кожного набору сервоприводів:
- `Angle`: Clockwise angle in degree on the swash plate circle at which the servo arm is attached starting from `0` pointing forwards.
Приклад для типової настройки, де три сервопривода керують планкою рівномірно розподіленою по колу (360° / 3 =) по 120° кожен, що призводить до наступних кутів:
Приклад для типової настройки, де три сервопривода керують планкою рівномірно розподіленою по колу (360° / 3 =) по 120° кожен, що призводить до наступних кутів:
| # | Кут |
| ------- | ---- |
| Servo 1 | 60° |
| Servo 2 | 180° |
| Servo 3 | 300° |
| # | Кут |
| ------- | ---- |
| Servo 1 | 60° |
| Servo 2 | 180° |
| Servo 3 | 300° |
<img width="700" alt="warning and requirement" src="../../assets/airframes/helicopter/swash_plate_servo_angles.png">
<img width="700" alt="warning and requirement" src="../../assets/airframes/helicopter/swash_plate_servo_angles.png">
- `Arm Length (relative to each other)`: Radius from the swash plate center (top view). Коротше плече означає, що та ж сама рух сервопривода зміщує плиту більше. Це дозволяє отримати компенсацію автопілоту.
@@ -72,7 +72,7 @@ This section contains topics related to [helicopter](../frames_helicopter/index.
- `Yaw compensation scale based on collective pitch`: How much yaw is feed forward compensated based on the current collective pitch.
- `Main rotor turns counter-clockwise`: `Disabled` (clockwise rotation) | `Enabled`
- `Throttle spoolup time`: Set value (in seconds) greater than the achievable minimum motor spool up time.
Більше значення може поліпшити зручність користувача.
Більше значення може поліпшити зручність користувача.
3. Видаліть лопаті ротора та пропелери
+6 -6
View File
@@ -166,11 +166,11 @@ In this case you might use the settings: [IMU_GYRO_NF0_FRQ=32](../advanced_confi
## Додаткові поради
1. Прийнятна затримка залежить від розміру транспортного засобу та очікувань.
FPV racers typically tune for the absolute minimal latency (as a ballpark `IMU_GYRO_CUTOFF` around 120, `IMU_DGYRO_CUTOFF` of 50 to 80).
For bigger vehicles latency is less critical and `IMU_GYRO_CUTOFF` of around 80 might be acceptable.
FPV racers typically tune for the absolute minimal latency (as a ballpark `IMU_GYRO_CUTOFF` around 120, `IMU_DGYRO_CUTOFF` of 50 to 80).
For bigger vehicles latency is less critical and `IMU_GYRO_CUTOFF` of around 80 might be acceptable.
2. You can start tuning at higher `IMU_GYRO_CUTOFF` values (e.g. 100Hz), which might be desirable because the default tuning of `IMU_GYRO_CUTOFF` is set very low (30Hz).
Однак вам потрібно бути обізнаними з ризиками:
- Не літайте більше 20-30 секунд
- Перевірте, що двигуни не нагріваються занадто сильно
- Слухайте дивні звуки та симптоми надмірного шуму, як обговорено вище.
Однак вам потрібно бути обізнаними з ризиками:
- Не літайте більше 20-30 секунд
- Перевірте, що двигуни не нагріваються занадто сильно
- Слухайте дивні звуки та симптоми надмірного шуму, як обговорено вище.
@@ -72,7 +72,7 @@ Make sure to have assigned a [Kill switch](../config/safety.md#emergency-switche
1. Arm the vehicle, takeoff, and hover (typically in [Position mode](../flight_modes_mc/position.md)).
2. Open _QGroundControl_ **Vehicle Setup > PID Tuning**
![QGC Rate Controller Tuning UI](../../assets/mc_pid_tuning/qgc_mc_pid_tuning_rate_controller.png)
![QGC Rate Controller Tuning UI](../../assets/mc_pid_tuning/qgc_mc_pid_tuning_rate_controller.png)
3. Select the **Rate Controller** tab.
@@ -80,60 +80,60 @@ Make sure to have assigned a [Kill switch](../config/safety.md#emergency-switche
5. Set the _Thrust curve_ value to: 0.3 (PWM, power-based controllers) or 1 (RPM-based ESCs)
::: info
For PWM, power-based and (some) UAVCAN speed controllers, the control signal to thrust relationship may not be linear.
Як результат, оптимальне налаштування при потужності утримання може бути не ідеальним, коли транспортний засіб працює на вищій потужності.
::: info
For PWM, power-based and (some) UAVCAN speed controllers, the control signal to thrust relationship may not be linear.
Як результат, оптимальне налаштування при потужності утримання може бути не ідеальним, коли транспортний засіб працює на вищій потужності.
Значення кривої тяги може бути використане для компенсації цієї нелинійності:
Значення кривої тяги може бути використане для компенсації цієї нелинійності:
- For PWM controllers, 0.3 is a good default (which may benefit from [further tuning](../config_mc/pid_tuning_guide_multicopter.md#thrust-curve)).
- Для контролерів на основі RPM використовуйте 1 (додаткове налаштування не потрібно, оскільки вони мають квадратичну криву тяги).
- For PWM controllers, 0.3 is a good default (which may benefit from [further tuning](../config_mc/pid_tuning_guide_multicopter.md#thrust-curve)).
- Для контролерів на основі RPM використовуйте 1 (додаткове налаштування не потрібно, оскільки вони мають квадратичну криву тяги).
For more information see the [detailed PID tuning guide](../config_mc/pid_tuning_guide_multicopter.md#thrust-curve).
For more information see the [detailed PID tuning guide](../config_mc/pid_tuning_guide_multicopter.md#thrust-curve).
:::
6. Set the _Select Tuning_ radio button to: **Roll**.
7. (Optionally) Select the **Automatic Flight Mode Switching** checkbox.
This will _automatically_ switch from [Position mode](../flight_modes_mc/position.md) to [Stabilised mode](../flight_modes_mc/manual_stabilized.md) when you press the **Start** button
This will _automatically_ switch from [Position mode](../flight_modes_mc/position.md) to [Stabilised mode](../flight_modes_mc/manual_stabilized.md) when you press the **Start** button
8. For rate controller tuning switch to _Acro mode_, _Stabilized mode_ or _Altitude mode_ (unless automatic switching is enabled).
9. Select the **Start** button in order to start tracking the setpoint and response curves.
10. Rapidly move the _roll stick_ full range and observe the step response on the plots.
:::tip
Stop tracking to enable easier inspection of the plots.
Це відбувається автоматично, коли ви збільшуєте/панорамуєте.
Use the **Start** button to restart the plots, and **Clear** to reset them.
:::tip
Stop tracking to enable easier inspection of the plots.
Це відбувається автоматично, коли ви збільшуєте/панорамуєте.
Use the **Start** button to restart the plots, and **Clear** to reset them.
:::
11. Modify the three PID values using the sliders (for roll rate-tuning these affect `MC_ROLLRATE_K`, `MC_ROLLRATE_I`, `MC_ROLLRATE_D`) and observe the step response again.
Значення зберігаються на транспортний засіб, як тільки переміщуються слайдери.
::: info
The goal is for the _Response_ curve to match the _Setpoint_ curve as closely as possible (i.e. a fast response without overshoots).
Значення зберігаються на транспортний засіб, як тільки переміщуються слайдери.
::: info
The goal is for the _Response_ curve to match the _Setpoint_ curve as closely as possible (i.e. a fast response without overshoots).
:::
The PID values can be adjusted as follows:
- P (пропорційне) або К підсилення:
- збільште це для більшої реакції
- зменшити, якщо відповідь перевищує і / або коливається (до певної міри збільшення значення D також допомагає).
- D (похідне) надходження:
- це можна збільшити, щоб заглушити перевищення та коливання
- збільшуйте це лише настільки, наскільки це потрібно, оскільки це підсилює шум (і може призвести до нагрітих моторів)
- I (інтегральний) коефіцієнт отримання:
- використовується для зменшення поміченої похибки стану рівноваги
- якщо значення занадто низьке, відповідь може ніколи не досягти заданої точки (наприклад, у вітрових умовах)
- якщо занадто високий, можуть виникнути повільні коливання
The PID values can be adjusted as follows:
- P (пропорційне) або К підсилення:
- збільште це для більшої реакції
- зменшити, якщо відповідь перевищує і / або коливається (до певної міри збільшення значення D також допомагає).
- D (похідне) надходження:
- це можна збільшити, щоб заглушити перевищення та коливання
- збільшуйте це лише настільки, наскільки це потрібно, оскільки це підсилює шум (і може призвести до нагрітих моторів)
- I (інтегральний) коефіцієнт отримання:
- використовується для зменшення поміченої похибки стану рівноваги
- якщо значення занадто низьке, відповідь може ніколи не досягти заданої точки (наприклад, у вітрових умовах)
- якщо занадто високий, можуть виникнути повільні коливання
12. Повторіть процес налаштування вище для крена та курсу:
- Use _Select Tuning_ radio button to select the axis to tune
- Перемістіть відповідні палички (тобто паличку крена для крена, паличку риштування для риштування).
- Для налаштування крену почніть з тих самих значень, що й для крену.
:::tip
Use the **Save to Clipboard** and **Reset from Clipboard** buttons to copy the roll settings for initial pitch settings.
- Use _Select Tuning_ radio button to select the axis to tune
- Перемістіть відповідні палички (тобто паличку крена для крена, паличку риштування для риштування).
- Для налаштування крену почніть з тих самих значень, що й для крену.
:::tip
Use the **Save to Clipboard** and **Reset from Clipboard** buttons to copy the roll settings for initial pitch settings.
:::
@@ -141,10 +141,10 @@ Make sure to have assigned a [Kill switch](../config/safety.md#emergency-switche
14. Повторіть процес налаштування контролерів швидкості та позицій (на всіх осях).
- Використовуйте режим позиції при налаштуванні цих контролерів
- Select the **Simple position control** option in the _Position control mode ..._ selector (this allows direct control for the generation of step inputs)
- Використовуйте режим позиції при налаштуванні цих контролерів
- Select the **Simple position control** option in the _Position control mode ..._ selector (this allows direct control for the generation of step inputs)
![QGC PID tuning: Simple control selector](../../assets/mc_pid_tuning/qgc_mc_pid_tuning_simple_control.png)
![QGC PID tuning: Simple control selector](../../assets/mc_pid_tuning/qgc_mc_pid_tuning_simple_control.png)
Готово!
Пам'ятайте увімкнути повітряний режим перед виходом з налаштувань.
+7 -7
View File
@@ -84,7 +84,7 @@ Navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and
2. (Optional) [RO_ACCEL_LIM](#RO_ACCEL_LIM) [m/s^2]: Maximum acceleration you want to allow for your rover.
<a id="RO_ACCEL_LIM_CONSIDERATIONS"></a>
<a id="RO_ACCEL_LIM_CONSIDERATIONS"></a>
:::tip
Your rover has a maximum possible acceleration which is determined by the maximum torque the motor can supply.
@@ -128,15 +128,15 @@ $$
with:
- $\delta \in [-1, 1]=$ Normalized steering setpoint.
- $x \in [-1, 1]=$ Normalized stick input.
- $f=$ [RO_YAW_EXPO](#RO_YAW_EXPO): `0` Purely linear input curve, `1` Purely cubic input curve.
- $g=$ [RO_YAW_SUPEXPO](#RO_YAW_SUPEXPO): `0` Pure Expo function, `0.7` reasonable shape enhancement for intuitive stick feel, `0.95` very strong bent input curve only near maxima have effect.
- $\delta \in [-1, 1]=$ Normalized steering setpoint.
- $x \in [-1, 1]=$ Normalized stick input.
- $f=$ [RO_YAW_EXPO](#RO_YAW_EXPO): `0` Purely linear input curve, `1` Purely cubic input curve.
- $g=$ [RO_YAW_SUPEXPO](#RO_YAW_SUPEXPO): `0` Pure Expo function, `0.7` reasonable shape enhancement for intuitive stick feel, `0.95` very strong bent input curve only near maxima have effect.
In [Manual mode](../flight_modes_rover/manual.md#manual-mode) we can additionally scale $\delta$ with an additional parameter $r$:
- Differential Rover: $r=$ [RD_YAW_STK_GAIN](#RD_YAW_STK_GAIN), which enables adjusting the slope of the input mapping. This leads to a normalized steering input $\hat{\delta} = \delta \cdot r \in$ [-[RD_YAW_STK_GAIN](#RD_YAW_STK_GAIN), [RD_YAW_STK_GAIN](#RD_YAW_STK_GAIN)].
- Mecanum Rover: $r=$ [RM_YAW_STK_GAIN](#RM_YAW_STK_GAIN), which enables adjusting the slope of the input mapping. This leads to a normalized steering input $\hat{\delta} = \delta \cdot r \in$ [-[RM_YAW_STK_GAIN](#RM_YAW_STK_GAIN), [RM_YAW_STK_GAIN](#RM_YAW_STK_GAIN)].
- Differential Rover: $r=$ [RD_YAW_STK_GAIN](#RD_YAW_STK_GAIN), which enables adjusting the slope of the input mapping. This leads to a normalized steering input $\hat{\delta} = \delta \cdot r \in$ [-[RD_YAW_STK_GAIN](#RD_YAW_STK_GAIN), [RD_YAW_STK_GAIN](#RD_YAW_STK_GAIN)].
- Mecanum Rover: $r=$ [RM_YAW_STK_GAIN](#RM_YAW_STK_GAIN), which enables adjusting the slope of the input mapping. This leads to a normalized steering input $\hat{\delta} = \delta \cdot r \in$ [-[RM_YAW_STK_GAIN](#RM_YAW_STK_GAIN), [RM_YAW_STK_GAIN](#RM_YAW_STK_GAIN)].
This scaling is useful to limit the normalized steering setpoint, if it is too aggresive for your rover in manual mode.
+8 -8
View File
@@ -25,18 +25,18 @@ Rovers use a custom build that must be flashed onto your flight controller inste
To build for rover with the `make` command, replace the `_default` suffix with `_rover`.
For example, to build rover for px4_fmu-v6x boards, you would use the command:
```sh
make px4_fmu-v6x_rover
```
```sh
make px4_fmu-v6x_rover
```
::: info
You can also enable the modules in default builds by adding these lines to your [board configuration](../hardware/porting_guide_config.md) (e.g. for fmu-v6x you might add them to [`main/boards/px4/fmu-v6x/default.px4board`](https://github.com/PX4/PX4-Autopilot/blob/main/boards/px4/fmu-v6x/default.px4board)):
```sh
CONFIG_MODULES_ROVER_ACKERMANN=y
CONFIG_MODULES_ROVER_DIFFERENTIAL=y
CONFIG_MODULES_ROVER_MECANUM=y
```
```sh
CONFIG_MODULES_ROVER_ACKERMANN=y
CONFIG_MODULES_ROVER_DIFFERENTIAL=y
CONFIG_MODULES_ROVER_MECANUM=y
```
Note that adding the rover modules may lead to flash overflow, in which case you will need to disable modules that you do not plan to use (such as those related to multicopter or fixed wing).
+1 -1
View File
@@ -20,7 +20,7 @@ To tune the velocity controller configure the following [parameters](../advanced
2. [RO_MAX_THR_SPEED](#RO_MAX_THR_SPEED) [m/s]: This parameter is used to calculate the feed-forward term of the closed loop speed control which linearly maps desired speeds to normalized motor commands.
As mentioned in the [Manual mode](../flight_modes_rover/manual.md#manual-mode) configuration , a good starting point is the observed ground speed when the rover drives at maximum throttle in [Manual mode](../flight_modes_rover/manual.md#manual-mode).
<a id="RA_SPEED_TUNING"></a>
<a id="RA_SPEED_TUNING"></a>
::: tip
To further tune this parameter:
@@ -11,7 +11,7 @@ For airframe specific documentation and build instructions see [VTOL Framebuilds
2. Flash the firmware for your current release or master (PX4 `main` branch build).
3. In the [Frame setup](../config/airframe.md) section select the appropriate VTOL airframe.
If your airframe is not listed select the [Generic Standard VTOL](../airframes/airframe_reference.md#vtol_standard_vtol_generic_standard_vtol) frame.
If your airframe is not listed select the [Generic Standard VTOL](../airframes/airframe_reference.md#vtol_standard_vtol_generic_standard_vtol) frame.
### Перемикач режимів польоту / переходу
+101 -101
View File
@@ -63,33 +63,33 @@ If you already have a clone of the [PX4-Autopilot](https://github.com/PX4/PX4-Au
4. Клонуйте ваш форкнутий репозиторій на локальний комп'ютер:
```sh
cd ~/wherever/
git clone https://github.com/<your git name>/PX4-Autopilot.git
```
```sh
cd ~/wherever/
git clone https://github.com/<your git name>/PX4-Autopilot.git
```
For example, to clone PX4 source fork for a user with Github account "john_citizen":
For example, to clone PX4 source fork for a user with Github account "john_citizen":
```sh
git clone https://github.com/john_citizen/PX4-Autopilot.git
```
```sh
git clone https://github.com/john_citizen/PX4-Autopilot.git
```
5. Перейдіть до свого локального сховища:
```sh
cd ~/wherever/PX4-Autopilot
```
```sh
cd ~/wherever/PX4-Autopilot
```
6. Add a _remote_ called "upstream" to point to the "official" PX4 version of the library:
```sh
git remote add upstream https://github.com/PX4/PX4-Autopilot.git
```
```sh
git remote add upstream https://github.com/PX4/PX4-Autopilot.git
```
:::tip
A "remote" is a handle to a particular repository.
The remote named _origin_ is created by default when you clone the repository, and points to _your fork_ of the guide.
Above you create a new remote _upstream_ that points to the PX4 project version of the documents.
:::tip
A "remote" is a handle to a particular repository.
The remote named _origin_ is created by default when you clone the repository, and points to _your fork_ of the guide.
Above you create a new remote _upstream_ that points to the PX4 project version of the documents.
:::
@@ -99,111 +99,111 @@ Within the repository you created above:
1. Bring your copy of the repository `main` branch up to date:
```sh
git checkout main
git fetch upstream main
git pull upstream main
```
```sh
git checkout main
git fetch upstream main
git pull upstream main
```
2. Create a new branch for your changes:
```sh
git checkout -b <your_feature_branch_name>
```
```sh
git checkout -b <your_feature_branch_name>
```
This creates a local branch on your computer named `your_feature_branch_name`.
This creates a local branch on your computer named `your_feature_branch_name`.
3. Внести зміни до документації за необхідною (загальний посібник по цьому в наступних розділах)
4. Коли ви будете задоволені своїми змінами, ви можете додати їх до вашої локальної гілки за допомогою "commit":
```sh
git add <file name>
git commit -m "<your commit message>"
```
```sh
git add <file name>
git commit -m "<your commit message>"
```
For a good commit message, please refer to the [Source Code Management](../contribute/code.md#commits-and-commit-messages) section.
For a good commit message, please refer to the [Source Code Management](../contribute/code.md#commits-and-commit-messages) section.
5. Натисніть "Push" вашу локальну гілку (включаючи додані до неї коміти) у вашу репозиторію-форк на Github.
```sh
git push origin your_feature_branch_name
```
```sh
git push origin your_feature_branch_name
```
6. Go to your forked repository on Github in a web browser, e.g.: `https://github.com/<your git name>/PX4-Autopilot.git`.
Там ви маєте побачити повідомлення, що нова гілка була відправлена у вашу репозиторію-форк.
Там ви маєте побачити повідомлення, що нова гілка була відправлена у вашу репозиторію-форк.
7. Створіть запит на витягнення (Pull Request, PR):
- On the right hand side of the "new branch message" (see one step before), you should see a green button saying "Compare & Create Pull Request".
Натисніть на неї.
- Буде створено шаблон запиту на витягнення.
Він буде перераховувати ваші коміти, і ви можете (маєте) додати значущий заголовок (у випадку одного коміту PR, це зазвичай повідомлення про коміт) та повідомлення (<span style="color:orange">поясніть, що ви зробили і для якої причини. </span>.
Check [other pull requests](https://github.com/PX4/PX4-Autopilot/pulls) for comparison).
- Add the "Documentation" label.
- On the right hand side of the "new branch message" (see one step before), you should see a green button saying "Compare & Create Pull Request".
Натисніть на неї.
- Буде створено шаблон запиту на витягнення.
Він буде перераховувати ваші коміти, і ви можете (маєте) додати значущий заголовок (у випадку одного коміту PR, це зазвичай повідомлення про коміт) та повідомлення (<span style="color:orange">поясніть, що ви зробили і для якої причини. </span>.
Check [other pull requests](https://github.com/PX4/PX4-Autopilot/pulls) for comparison).
- Add the "Documentation" label.
8. Готово!
Редактори PX4 User Guide зараз переглянуть вашу співпрацю і вирішать, чи хочуть вони інтегрувати її.
Періодично перевіряйте, чи є у них питання по вашим змінам.
Редактори PX4 User Guide зараз переглянуть вашу співпрацю і вирішать, чи хочуть вони інтегрувати її.
Періодично перевіряйте, чи є у них питання по вашим змінам.
### Побудова бібліотеки локально
Побудуйте бібліотеку локально, щоб перевірити, що будь-які зміни, які ви внесли, відображені належним чином:
1. Install the [Vitepress prerequisites](https://vitepress.dev/guide/getting-started#prerequisites):
- [Nodejs 18+](https://nodejs.org/en)
- [Yarn classic](https://classic.yarnpkg.com/en/docs/install)
- [Nodejs 18+](https://nodejs.org/en)
- [Yarn classic](https://classic.yarnpkg.com/en/docs/install)
2. Navigate to your local repository and the `/docs` subdirectory:
```sh
cd ~/wherever/PX4-Autopilot/docs
```
```sh
cd ~/wherever/PX4-Autopilot/docs
```
3. Встановити залежності (включаючи Vuepress):
```sh
yarn install
```
```sh
yarn install
```
4. Попередній перегляд і обслуговування бібліотеки:
```sh
yarn docs:dev
```
```sh
yarn docs:dev
```
- Одного разу, коли сервер розробки / попереднього перегляду побудує бібліотеку (менше хвилини вперше), він покаже вам URL-адресу, за допомогою якої ви можете переглянути сайт.
This will be something like: `http://localhost:5173/px4_user_guide/`.
- Stop serving using **CTRL+C** in the terminal prompt.
- Одного разу, коли сервер розробки / попереднього перегляду побудує бібліотеку (менше хвилини вперше), він покаже вам URL-адресу, за допомогою якої ви можете переглянути сайт.
This will be something like: `http://localhost:5173/px4_user_guide/`.
- Stop serving using **CTRL+C** in the terminal prompt.
5. Open previewed pages in your local editor:
First specify a local text editor file using the `EDITOR` environment variable, before calling `yarn start` to preview the library.
For example, you can enable VSCode as your default editor by entering:
First specify a local text editor file using the `EDITOR` environment variable, before calling `yarn start` to preview the library.
For example, you can enable VSCode as your default editor by entering:
- Windows:
- Windows:
```sh
set EDITOR=code
```
```sh
set EDITOR=code
```
- Linux:
- Linux:
```sh
export EDITOR=code
```
```sh
export EDITOR=code
```
The **Open in your editor** link at the bottom of each page will then open the current page in the editor (this replaces the _Open in GitHub_ link).
The **Open in your editor** link at the bottom of each page will then open the current page in the editor (this replaces the _Open in GitHub_ link).
6. Побудуйте бібліотеку за допомогою:
```sh
# Ubuntu
yarn docs:build
```sh
# Ubuntu
yarn docs:build
# Windows
yarn docs:buildwin
```
# Windows
yarn docs:buildwin
```
:::tip
Use `yarn start` to preview changes _as you make them_ (documents are updated and served very quickly).
@@ -256,38 +256,38 @@ When you add a new page you must also add it to `en/SUMMARY.md`!
## Інструкція зі стилістичного оформлення
1. Назви файлів/файлів
- Put new markdown files in an appropriate sub-folder of `/en/`, such as `/en/contribute/`.
Не створюйте додаткових вкладених папок.
- Put new image files in an appropriate nested sub-folder of `/assets/`.
Deeper nesting is allowed/encouraged.
- Use descriptive names for folders and files.
In particular, image filenames should describe what they contain (don't name as "image1.png")
- Use lower case filenames and separate words using underscores (`_`).
- Put new markdown files in an appropriate sub-folder of `/en/`, such as `/en/contribute/`.
Не створюйте додаткових вкладених папок.
- Put new image files in an appropriate nested sub-folder of `/assets/`.
Deeper nesting is allowed/encouraged.
- Use descriptive names for folders and files.
In particular, image filenames should describe what they contain (don't name as "image1.png")
- Use lower case filenames and separate words using underscores (`_`).
2. Зображення
- Використовуйте найменший розмір і найнижчу роздільну здатність, яка все ще робить зображення корисним (це зменшує вартість завантаження для користувачів із слабким інтернет-з'єднанням).
- New images should be created in a sub-folder of `/assets/` (so they can be shared between translations).
- SVG files are preferred for diagrams.
PNG files are preferred over JPG for screenshots.
- Використовуйте найменший розмір і найнижчу роздільну здатність, яка все ще робить зображення корисним (це зменшує вартість завантаження для користувачів із слабким інтернет-з'єднанням).
- New images should be created in a sub-folder of `/assets/` (so they can be shared between translations).
- SVG files are preferred for diagrams.
PNG files are preferred over JPG for screenshots.
3. Контент
- Use "style" (**bold**, _emphasis_, etc.) consistently and sparingly (as little as possible).
- **Bold** for button presses and menu definitions.
- _Emphasis_ for tool names such as _QGroundControl_ or _prettier_.
- `code` for file paths, and code, parameter names that aren't linked, using tools in a command line, such as `prettier`.
- Headings and page titles should use "First Letter Capitalisation".
- The page title should be a first level heading (`#`).
All other headings should be h2 (`##`) or lower.
- Не додавати ніяких стилів до заголовків.
- Don't translate the text indicating the name of an `info`, `tip` or `warning` declaration (e.g. `::: tip`) as this precise text is required to render the aside properly.
- Break lines on sentences by preference.
Don't break lines based on some arbitrary line length.
- Format using _prettier_ (_VSCode_ is a has extensions can be used for this).
- Use "style" (**bold**, _emphasis_, etc.) consistently and sparingly (as little as possible).
- **Bold** for button presses and menu definitions.
- _Emphasis_ for tool names such as _QGroundControl_ or _prettier_.
- `code` for file paths, and code, parameter names that aren't linked, using tools in a command line, such as `prettier`.
- Headings and page titles should use "First Letter Capitalisation".
- The page title should be a first level heading (`#`).
All other headings should be h2 (`##`) or lower.
- Не додавати ніяких стилів до заголовків.
- Don't translate the text indicating the name of an `info`, `tip` or `warning` declaration (e.g. `::: tip`) as this precise text is required to render the aside properly.
- Break lines on sentences by preference.
Don't break lines based on some arbitrary line length.
- Format using _prettier_ (_VSCode_ is a has extensions can be used for this).
4. Videos:
- Youtube videos can be added using the format `<lite-youtube videoid="<youtube-video-id>" title="your title"/>` (supported via the [https://www.npmjs.com/package/lite-youtube-embed](https://www.npmjs.com/package/lite-youtube-embed) custom element, which has other parameters you can pass).
- Use instructional videos sparingly as they date badly, and are hard to maintain.
- Cool videos of airframes in flight are always welcome.
- Youtube videos can be added using the format `<lite-youtube videoid="<youtube-video-id>" title="your title"/>` (supported via the [https://www.npmjs.com/package/lite-youtube-embed](https://www.npmjs.com/package/lite-youtube-embed) custom element, which has other parameters you can pass).
- Use instructional videos sparingly as they date badly, and are hard to maintain.
- Cool videos of airframes in flight are always welcome.
## Де я можу додати зміни?
+28 -28
View File
@@ -109,23 +109,23 @@ We recommend using PX4 `make` commands to switch between source code branches.
1. Очистити поточну гілку, деініціалізувати підмодуль та видалити всі артефакти збірки:
```sh
make clean
make distclean
```
```sh
make clean
make distclean
```
2. Switch to a new branch or tag (here we first fetch the fictional branch "PR_test_branch" from the `upstream` remote):
```sh
git fetch upstream PR_test_branch
git checkout PR_test_branch
```
```sh
git fetch upstream PR_test_branch
git checkout PR_test_branch
```
3. Отримати підмодулі для нової гілки:
```sh
make submodulesclean
```
```sh
make submodulesclean
```
<!-- FYI: Cleaning commands in https://github.com/PX4/PX4-Autopilot/blob/main/Makefile#L494 -->
@@ -138,35 +138,35 @@ To get the source code for a _specific older release_ (tag):
1. Clone the PX4-Autopilot repo and navigate into _PX4-Autopilot_ directory:
```sh
git clone https://github.com/PX4/PX4-Autopilot.git
cd PX4-Autopilot
```
```sh
git clone https://github.com/PX4/PX4-Autopilot.git
cd PX4-Autopilot
```
:::info
:::info
Ви можете повторно використовувати існуючий репозиторій, а не клонувати новий.
In this case clean the build environment (see [changing source trees](#changing-source-trees)):
Ви можете повторно використовувати існуючий репозиторій, а не клонувати новий.
In this case clean the build environment (see [changing source trees](#changing-source-trees)):
```sh
make clean
make distclean
```
```sh
make clean
make distclean
```
:::
2. Код оформлення замовлення для конкретного тегу (наприклад, для мітки v1.13.0-beta2)
```sh
git checkout v1.13.0-beta2
```
```sh
git checkout v1.13.0-beta2
```
3. Оновити підмодулі:
```sh
make submodulesclean
```
```sh
make submodulesclean
```
## Щоб отримати гілку релізу
+17 -17
View File
@@ -53,17 +53,17 @@ For more information, see: [https://gnu-mcu-eclipse.github.io/debug/jlink/instal
7. Пакети з оновленнями:
- Click the small icon on the top right called _Open Perspective_ and open the _Packs_ perspective.
![Eclipse: Workspace](../../assets/debug/eclipse_workspace_perspective.png)
![Eclipse: Workspace](../../assets/debug/eclipse_workspace_perspective.png)
- Click the **update all** button.
:::tip
This takes a VERY LONG TIME (10 minutes).
Ігноруйте всі помилки про відсутні пакети.
:::tip
This takes a VERY LONG TIME (10 minutes).
Ігноруйте всі помилки про відсутні пакети.
:::
![Eclipse: Workspace Packs Perspective](../../assets/debug/eclipse_packs_perspective.jpg)
![Eclipse: Workspace Packs Perspective](../../assets/debug/eclipse_packs_perspective.jpg)
- The STM32Fxx devices are found in the Keil folder, install by right-clicking and then selecting **install** on the according device for F4 and F7.
@@ -79,24 +79,24 @@ For more information, see: [https://gnu-mcu-eclipse.github.io/debug/jlink/instal
![Eclipse: Debug config](../../assets/debug/eclipse_settings_debug_config.png)
10. Then select _GDB SEGGER J-Link Debugging_ and then the **New config** button on the top left.
![Eclipse: GDB Segger Debug config](../../assets/debug/eclipse_settings_debug_config_gdb_segger.png)
![Eclipse: GDB Segger Debug config](../../assets/debug/eclipse_settings_debug_config_gdb_segger.png)
11. Налаштування конфігурації збірки:
- Give it a name and set the _C/C++ Application_ to the corresponding **.elf** file.
- Choose _Disable Auto build_
- Give it a name and set the _C/C++ Application_ to the corresponding **.elf** file.
- Choose _Disable Auto build_
::: info
Remember that you must build the target from the command line before starting a debug session.
:::
![Eclipse: GDB Segger Debug config](../../assets/debug/eclipse_settings_debug_config_gdb_segger_build_config.png)
![Eclipse: GDB Segger Debug config](../../assets/debug/eclipse_settings_debug_config_gdb_segger_build_config.png)
12. The _Debugger_ and _Startup_ tabs shouldn’t need any modifications (just verify your settings with the screenshots below)
![Eclipse: GDB Segger Debug config: debugger tab](../../assets/debug/eclipse_settings_debug_config_gdb_segger_build_config_debugger_tab.png)
![Eclipse: GDB Segger Debug config: startup tab](../../assets/debug/eclipse_settings_debug_config_gdb_segger_build_config_startup_tab.png)
![Eclipse: GDB Segger Debug config: debugger tab](../../assets/debug/eclipse_settings_debug_config_gdb_segger_build_config_debugger_tab.png)
![Eclipse: GDB Segger Debug config: startup tab](../../assets/debug/eclipse_settings_debug_config_gdb_segger_build_config_startup_tab.png)
## Відлагодження з урахуванням завдань SEGGER
@@ -109,16 +109,16 @@ Task-aware debugging (also known as [thread-aware debugging](https://www.segger.
- Відкрийте термінал у кореневій теці вихідного коду PX4-Autopilot
- In the terminal, open `menuconfig` using the appropriate make target for the build.
Це виглядатиме приблизно так:
Це виглядатиме приблизно так:
```sh
make px4_fmu-v5_default boardguiconfig
```
```sh
make px4_fmu-v5_default boardguiconfig
```
(See [PX4 Menuconfig Setup](../hardware/porting_guide_config.md#px4-menuconfig-setup) for more information) on using the config tools).
(See [PX4 Menuconfig Setup](../hardware/porting_guide_config.md#px4-menuconfig-setup) for more information) on using the config tools).
- Ensure that the _Enable TCBinfo struct for debug_ is selected as shown:
![NuttX: Menuconfig: CONFIG_DEBUG_TCBINFO](../../assets/debug/nuttx_tcb_task_aware.png)
![NuttX: Menuconfig: CONFIG_DEBUG_TCBINFO](../../assets/debug/nuttx_tcb_task_aware.png)
2. Compile the **jlink-nuttx.so** library in the terminal by running the following command in the terminal: `make jlink-nuttx`
+6 -6
View File
@@ -68,13 +68,13 @@ failure <component> <failure_type> [-i <instance_number>]
1. Enable the parameter [SYS_FAILURE_EN](../advanced_config/parameter_reference.md#SYS_FAILURE_EN).
2. Enter the following commands on the MAVLink console or SITL _pxh shell_:
```sh
# Fail RC (turn publishing off)
failure rc_signal off
```sh
# Fail RC (turn publishing off)
failure rc_signal off
# Restart RC publishing
failure rc_signal ok
```
# Restart RC publishing
failure rc_signal ok
```
## MAVSDK відлагоджувальний плагін
+28 -28
View File
@@ -37,8 +37,8 @@ Alternatively you can just append the modified parameters to the startup configu
Як додати конфігурацію до прошивки:
1. Create a new config file in the [init.d/airframes](https://github.com/PX4/PX4-Autopilot/tree/main/ROMFS/px4fmu_common/init.d/airframes) folder.
- Give it a short descriptive filename and prepend the filename with an unused autostart ID (for example, `1033092_superfast_vtol`).
- Оновіть файл з параметрами конфігурації та програмами (див. вище).
- Give it a short descriptive filename and prepend the filename with an unused autostart ID (for example, `1033092_superfast_vtol`).
- Оновіть файл з параметрами конфігурації та програмами (див. вище).
2. Add the name of the new frame config file to the [CMakeLists.txt](https://github.com/PX4/PX4-Autopilot/blob/main/ROMFS/px4fmu_common/init.d/airframes/CMakeLists.txt) in the relevant section for the type of vehicle.
3. [Build and upload](../dev_setup/building_px4.md) the software.
@@ -292,37 +292,37 @@ If the airframe is for a **new group** you additionally need to:
2. Add a mapping between the new group name and image filename in the [srcparser.py](https://github.com/PX4/PX4-Autopilot/blob/main/Tools/px4airframes/srcparser.py) method `GetImageName()` (follow the pattern below):
```python
def GetImageName(self):
"""
Get parameter group image base name (w/o extension)
"""
if (self.name == "Standard Plane"):
return "Plane"
elif (self.name == "Flying Wing"):
return "FlyingWing"
...
...
return "AirframeUnknown"
```
```python
def GetImageName(self):
"""
Get parameter group image base name (w/o extension)
"""
if (self.name == "Standard Plane"):
return "Plane"
elif (self.name == "Flying Wing"):
return "FlyingWing"
...
...
return "AirframeUnknown"
```
3. Update _QGroundControl_:
- Add the svg image for the group into: [src/AutopilotPlugins/Common/images](https://github.com/mavlink/qgroundcontrol/tree/master/src/AutoPilotPlugins/Common/Images)
- Add reference to the svg image into [qgcimages.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgcimages.qrc), following the pattern below:
- Add the svg image for the group into: [src/AutopilotPlugins/Common/images](https://github.com/mavlink/qgroundcontrol/tree/master/src/AutoPilotPlugins/Common/Images)
- Add reference to the svg image into [qgcimages.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgcimages.qrc), following the pattern below:
```xml
<qresource prefix="/qmlimages">
...
<file alias="Airframe/AirframeSimulation">src/AutoPilotPlugins/Common/Images/AirframeSimulation.svg</file>
<file alias="Airframe/AirframeUnknown">src/AutoPilotPlugins/Common/Images/AirframeUnknown.svg</file>
<file alias="Airframe/Boat">src/AutoPilotPlugins/Common/Images/Boat.svg</file>
<file alias="Airframe/FlyingWing">src/AutoPilotPlugins/Common/Images/FlyingWing.svg</file>
...
```
```xml
<qresource prefix="/qmlimages">
...
<file alias="Airframe/AirframeSimulation">src/AutoPilotPlugins/Common/Images/AirframeSimulation.svg</file>
<file alias="Airframe/AirframeUnknown">src/AutoPilotPlugins/Common/Images/AirframeUnknown.svg</file>
<file alias="Airframe/Boat">src/AutoPilotPlugins/Common/Images/Boat.svg</file>
<file alias="Airframe/FlyingWing">src/AutoPilotPlugins/Common/Images/FlyingWing.svg</file>
...
```
::: info
The remaining airframe metadata should be automatically included in the firmware (once **srcparser.py** is updated).
::: info
The remaining airframe metadata should be automatically included in the firmware (once **srcparser.py** is updated).
:::
+17 -17
View File
@@ -30,7 +30,7 @@ If another algorithm is supported in future, the process is _likely_ to remain t
The encryption process for each new ULog is:
1. A XChaCha20 symmetric key is generated and encrypted using an RSA2048 public key.
This wrapped (encrypted) key is stored on the SD card in the beginning of a file that has the suffix `.ulge` ("ulog encrypted").
This wrapped (encrypted) key is stored on the SD card in the beginning of a file that has the suffix `.ulge` ("ulog encrypted").
2. When a log is captured, the ULog data is encrypted with the unwrapped symmetric key and the resulting data is appended into the end of the `.ulge` file immediately after the wrapped key data.
After the flight, the `.ulge` file containing both the wrapped symmetric key and the encrypted log data can be found on the SD card.
@@ -356,26 +356,26 @@ This section explains how you might manually run the same steps as the script (s
2. Use OpenSSL to generate a RSA2048 private and public key:
```sh
openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
```
```sh
openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
```
3. Create a public key from this private key:
```sh
# Convert private_key.pem to a DER file
openssl rsa -pubout -in private_key.pem -outform DER -out public_key.der
# From the DER file, generate a public key in hex format, separated by commas
xxd -p public_key.der | tr -d '\n' | sed 's/\(..\)/0x\1, /g' > public_key.pub
```
```sh
# Convert private_key.pem to a DER file
openssl rsa -pubout -in private_key.pem -outform DER -out public_key.der
# From the DER file, generate a public key in hex format, separated by commas
xxd -p public_key.der | tr -d '\n' | sed 's/\(..\)/0x\1, /g' > public_key.pub
```
4. Copy the keys into the appropriate locations expected by the rest of the toolchain (as shown in previous section).
5. To use this key, modify your `.px4board` file to point `CONFIG_PUBLIC_KEY1` to the file location of `public_key.pub`.
```sh
CONFIG_PUBLIC_KEY1="../../../keys/public/public_key.pub"
```
```sh
CONFIG_PUBLIC_KEY1="../../../keys/public/public_key.pub"
```
## Flight Review & Encrypted logs
@@ -397,10 +397,10 @@ This can use logs that you have downloaded and decrypted yourself, or you can in
3. Add this key location into the server config file: `flight_review/app/config_default.ini`.
The line to add should look something like this (for the file above):
The line to add should look something like this (for the file above):
```sh
ulge_private_key = ../private_key/private_key.pem
```
```sh
ulge_private_key = ../private_key/private_key.pem
```
4. Follow the Flight Review Instructions to start your server.
+11 -11
View File
@@ -33,24 +33,24 @@ The script is intended to be run on _clean_ Ubuntu LTS installations, and may no
1. [Download PX4 Source Code](../dev_setup/building_px4.md):
```sh
git clone https://github.com/PX4/PX4-Autopilot.git --recursive
```
```sh
git clone https://github.com/PX4/PX4-Autopilot.git --recursive
```
::: info
The environment setup scripts in the source usually work for recent PX4 releases.
If working with an older version of PX4 you may need to [get the source code specific to your release](../contribute/git_examples.md#get-a-specific-release).
::: info
The environment setup scripts in the source usually work for recent PX4 releases.
If working with an older version of PX4 you may need to [get the source code specific to your release](../contribute/git_examples.md#get-a-specific-release).
:::
2. Run the **ubuntu.sh** with no arguments (in a bash shell) to install everything:
```sh
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh
```
```sh
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh
```
- При появі підказки по ходу виконання скрипту підтвердить вибір.
- You can use the `--no-nuttx` and `--no-sim-tools` options to omit the NuttX and/or simulation tools.
- При появі підказки по ходу виконання скрипту підтвердить вибір.
- You can use the `--no-nuttx` and `--no-sim-tools` options to omit the NuttX and/or simulation tools.
3. If you need Gazebo Classic (Ubuntu 22.04 only) then you can manually remove Gazebo and install it by following the instructions in [Gazebo Classic > Installation](../sim_gazebo_classic/index.md#installation).
+39 -39
View File
@@ -38,21 +38,21 @@ If you have an Apple M1, M2 etc. Macbook, make sure to run the terminal as x86 b
1. Enable more open files by appending the following line to the `~/.zshenv` file (creating it if necessary):
```sh
echo ulimit -S -n 2048 >> ~/.zshenv
```
```sh
echo ulimit -S -n 2048 >> ~/.zshenv
```
::: info
If you don't do this, the build toolchain may report the error: `"LD: too many open files"`
::: info
If you don't do this, the build toolchain may report the error: `"LD: too many open files"`
:::
2. Enforce Python 3 by appending the following lines to `~/.zshenv`
```sh
# Point pip3 to MacOS system python 3 pip
alias pip3=/usr/bin/pip3
```
```sh
# Point pip3 to MacOS system python 3 pip
alias pip3=/usr/bin/pip3
```
### Загальні інструменти
@@ -62,19 +62,19 @@ If you have an Apple M1, M2 etc. Macbook, make sure to run the terminal as x86 b
2. Виконайте ці команди в командній оболонці для встановлення загальних інструментів:
```sh
brew tap PX4/px4
brew install px4-dev
```
```sh
brew tap PX4/px4
brew install px4-dev
```
3. Встановіть необхідні пакети Python:
```sh
# install required packages using pip3
python3 -m pip install --user pyserial empty toml numpy pandas jinja2 pyyaml pyros-genmsg packaging kconfiglib future jsonschema
# if this fails with a permissions error, your Python install is in a system path - use this command instead:
sudo -H python3 -m pip install --user pyserial empty toml numpy pandas jinja2 pyyaml pyros-genmsg packaging kconfiglib future jsonschema
```
```sh
# install required packages using pip3
python3 -m pip install --user pyserial empty toml numpy pandas jinja2 pyyaml pyros-genmsg packaging kconfiglib future jsonschema
# if this fails with a permissions error, your Python install is in a system path - use this command instead:
sudo -H python3 -m pip install --user pyserial empty toml numpy pandas jinja2 pyyaml pyros-genmsg packaging kconfiglib future jsonschema
```
## Симуляція Gazebo Classic
@@ -82,35 +82,35 @@ To setup the environment for [Gazebo Classic](../sim_gazebo_classic/index.md) si
1. Виконайте наступні команди в командній оболонці:
```sh
brew unlink tbb
sed -i.bak '/disable! date:/s/^/ /; /disable! date:/s/./#/3' $(brew --prefix)/Library/Taps/homebrew/homebrew-core/Formula/tbb@2020.rb
brew install tbb@2020
brew link tbb@2020
```
```sh
brew unlink tbb
sed -i.bak '/disable! date:/s/^/ /; /disable! date:/s/./#/3' $(brew --prefix)/Library/Taps/homebrew/homebrew-core/Formula/tbb@2020.rb
brew install tbb@2020
brew link tbb@2020
```
::: info
September 2021: The commands above are a workaround to this bug: [PX4-Autopilot#17644](https://github.com/PX4/PX4-Autopilot/issues/17644).
Вони можуть бути видалені після того, як вона буде виправлена (разом з цією нотаткою).
::: info
September 2021: The commands above are a workaround to this bug: [PX4-Autopilot#17644](https://github.com/PX4/PX4-Autopilot/issues/17644).
Вони можуть бути видалені після того, як вона буде виправлена (разом з цією нотаткою).
:::
2. Для встановлення симуляції SITL з Gazebo Classic:
```sh
brew install --cask temurin
brew install --cask xquartz
brew install px4-sim-gazebo
```
```sh
brew install --cask temurin
brew install --cask xquartz
brew install px4-sim-gazebo
```
3. Run the macOS setup script: `PX4-Autopilot/Tools/setup/macos.sh`
The easiest way to do this is to clone the PX4 source, and then run the script from the directory, as shown:
The easiest way to do this is to clone the PX4 source, and then run the script from the directory, as shown:
```sh
git clone https://github.com/PX4/PX4-Autopilot.git --recursive
cd PX4-Autopilot/Tools/setup
sh macos.sh
```
```sh
git clone https://github.com/PX4/PX4-Autopilot.git --recursive
cd PX4-Autopilot/Tools/setup
sh macos.sh
```
## Наступні кроки
@@ -135,31 +135,31 @@ The toolchain gets maintained and hence these instructions might not cover every
10. Download [**Apache Ant**](https://ant.apache.org/bindownload.cgi) as zip archive of the binaries for Windows and unpack the content to the folder `C:\PX4\toolchain\apache-ant`.
:::tip
Make sure you don't have an additional folder layer from the folder which is inside the downloaded archive.
:::tip
Make sure you don't have an additional folder layer from the folder which is inside the downloaded archive.
:::
::: info
This is what the toolchain does in: [apache-ant/install-apache-ant.bat](https://github.com/PX4/PX4-windows-toolchain/blob/master/toolchain/apache-ant/install-apache-ant.bat).
::: info
This is what the toolchain does in: [apache-ant/install-apache-ant.bat](https://github.com/PX4/PX4-windows-toolchain/blob/master/toolchain/apache-ant/install-apache-ant.bat).
:::
11. Download, build and add _genromfs_ to the path:
- Clone the source code to the folder **C:\PX4\toolchain\genromfs\genromfs-src** with
- Clone the source code to the folder **C:\PX4\toolchain\genromfs\genromfs-src** with
```sh
cd /c/toolchain/genromfs
git clone https://github.com/chexum/genromfs.git genromfs-src
```
- Скомпілюйте це:
- Скомпілюйте це:
```sh
cd genromfs-src
make all
```
- Copy the resulting binary **genromfs.exe** one folder level out to: **C:\PX4\toolchain\genromfs**
- Copy the resulting binary **genromfs.exe** one folder level out to: **C:\PX4\toolchain\genromfs**
12. Make sure all the binary folders of all the installed components are correctly listed in the `PATH` variable configured by [**setup-environment.bat**](https://github.com/PX4/PX4-windows-toolchain/blob/master/toolchain/scripts/setup-environment.bat).
+10 -10
View File
@@ -57,12 +57,12 @@ Allocate as many CPU cores and memory resources to the VM as possible.
Запам'ятайте, всі налаштування потрібні тільки для використання у вашій основній операційній системі, тому можна вимкнути будь-який режим збереження екрана та функції безпеки локальні робочої станції, що не збільшують ризик мережевої атаки.
10. Once the new VM is booted up make sure you install _VMWare tools drivers and tools extension_ inside your guest system.
Це підвищить продуктивність та зручність користування віртуальною машиною:
- Значно поліпшена продуктивність графіки
- Належна підтримка використання апаратного забезпечення, наприклад розподілу портів USB (важливо для завантаження прошивок), прокручування коліщатком миші, підтримка звуку
- Адаптація роздільної здатності дисплею гостя до розміру вікна емулятора
- Спільний доступ до буфера обміну з основної ОС
- Спільний доступ до файлів з основної ОС
Це підвищить продуктивність та зручність користування віртуальною машиною:
- Значно поліпшена продуктивність графіки
- Належна підтримка використання апаратного забезпечення, наприклад розподілу портів USB (важливо для завантаження прошивок), прокручування коліщатком миші, підтримка звуку
- Адаптація роздільної здатності дисплею гостя до розміру вікна емулятора
- Спільний доступ до буфера обміну з основної ОС
- Спільний доступ до файлів з основної ОС
11. Continue with [PX4 environment setup for Linux](../dev_setup/dev_env_linux.md)
@@ -96,11 +96,11 @@ One limitation of virtual machines is that you can't automatically connect to a
4. Add USB filters for the bootloader in VM: **VirtualBox > Settings > USB > Add new USB filter**.
- Відкрийте меню і під'єднайте USB-кабель, підключений до автопілота.
Select the `...Bootloader` device when it appears in the UI.
Select the `...Bootloader` device when it appears in the UI.
::: info
The bootloader device only appears for a few seconds after connecting USB.
Якщо він зникає до того як ви змогли обрати його, від'єднайте та повторно під'єднайте USB.
::: info
The bootloader device only appears for a few seconds after connecting USB.
Якщо він зникає до того як ви змогли обрати його, від'єднайте та повторно під'єднайте USB.
:::
+103 -97
View File
@@ -33,7 +33,7 @@ _QGroundControl for Windows_ is additionally required if you need to:
Note that you can also use it to monitor a simulation, but you must manually [connect to the simulation running in WSL](#qgroundcontrol-on-windows).
:::info
Connecting to an USB device from within WSL is not natively supported, however it can still be achieved by using the [USBIPD-WIN](https://learn.microsoft.com/en-us/windows/wsl/connect-usb) project. With this you can automatically upload firmware from the command line in WSL using the [`upload`](../dev_setup/building_px4.md#uploading-firmware-flashing-the-board) function.
Connecting to an USB device from within WSL is not natively supported, however it can still be achieved by using the [USBIPD-WIN](https://learn.microsoft.com/en-us/windows/wsl/connect-usb) project. With this you can automatically upload firmware from the command line in WSL using the [`upload`](../dev_setup/building_px4.md#uploading-firmware-flashing-the-board) function.
:::
:::info
@@ -48,38 +48,38 @@ The approach is similar to installing PX4 in your _own_ virtual machine, as desc
Щоб встановити WSL2 з Ubuntu на новій установці Windows 10 або 11:
1. Переконайтеся, що функція віртуалізації увімкнена в BIOS вашого комп'ютера.
Зазвичай її називають "Virtualization Technology", "Intel VT-x" чи "AMD-V" відповідно.
Зазвичай її називають "Virtualization Technology", "Intel VT-x" чи "AMD-V" відповідно.
2. Open _cmd.exe_ as administrator.
This can be done by pressing the start key, typing `cmd`, right-clicking on the _Command prompt_ entry and selecting **Run as administrator**.
This can be done by pressing the start key, typing `cmd`, right-clicking on the _Command prompt_ entry and selecting **Run as administrator**.
3. Виконайте наступні команди для встановлення WSL2 та певної версії Ubuntu:
- Версія за замовчуванням (Ubuntu 22.04):
- Версія за замовчуванням (Ubuntu 22.04):
```sh
wsl --install
```
```sh
wsl --install
```
- Ubuntu 20.04 ([Gazebo-Classic Simulation](../sim_gazebo_classic/index.md))
- Ubuntu 20.04 ([Gazebo-Classic Simulation](../sim_gazebo_classic/index.md))
```sh
wsl --install -d Ubuntu-20.04
```
```sh
wsl --install -d Ubuntu-20.04
```
- Ubuntu 22.04 ([Gazebo Simulation](../sim_gazebo_gz/index.md))
- Ubuntu 22.04 ([Gazebo Simulation](../sim_gazebo_gz/index.md))
```sh
wsl --install -d Ubuntu-22.04
```
```sh
wsl --install -d Ubuntu-22.04
```
::: info
You can also install[Ubuntu 20.04](https://www.microsoft.com/store/productId/9MTTCL66CPXJ) and [Ubuntu 22.04](https://www.microsoft.com/store/productId/9PN20MSR04DW) from the store, which allows you to delete the application using the normal Windows Add/Remove settings:
::: info
You can also install[Ubuntu 20.04](https://www.microsoft.com/store/productId/9MTTCL66CPXJ) and [Ubuntu 22.04](https://www.microsoft.com/store/productId/9PN20MSR04DW) from the store, which allows you to delete the application using the normal Windows Add/Remove settings:
:::
4. WSL запитає про ім'я користувача та пароль для встановлення Ubuntu.
Запишіть ці облікові дані, оскільки вони знадобляться пізніше!
Запишіть ці облікові дані, оскільки вони знадобляться пізніше!
Тепер командний рядок є терміналом в нововстановленому середовищі Ubuntu.
@@ -94,26 +94,26 @@ If you're using [Windows Terminal](https://learn.microsoft.com/en-us/windows/ter
Щоб відкрити оболонку WSL за допомогою командного рядка:
1. Відкрийте командний рядок:
- Press the Windows **Start** key.
- Type `cmd` and press **Enter** to open the prompt.
- Press the Windows **Start** key.
- Type `cmd` and press **Enter** to open the prompt.
2. Щоб запустити WSL і отримати доступ до WSL оболонки, виконайте команду:
```sh
wsl -d <distribution_name>
```
```sh
wsl -d <distribution_name>
```
Наприклад:
Наприклад:
```sh
wsl -d Ubuntu
```
```sh
wsl -d Ubuntu
```
```sh
wsl -d Ubuntu-20.04
```
```sh
wsl -d Ubuntu-20.04
```
If you only have one version of Ubuntu, you can just use `wsl`.
If you only have one version of Ubuntu, you can just use `wsl`.
Введіть наступні команди, щоб спочатку закрити WSL оболонку, а потім завершити WSL:
@@ -135,57 +135,57 @@ This will install the toolchain for Gazebo Classic simulation and Pixhawk/NuttX
2. Execute the command `cd ~` to switch to the home folder of WSL for the next steps.
:::warning
This is important!
Якщо ви працюєте за межами файлової системи WSL, то ви стикнетесь з такими проблемами, як дуже повільне виконання та помилки прав доступу/дозволів.
:::warning
This is important!
Якщо ви працюєте за межами файлової системи WSL, то ви стикнетесь з такими проблемами, як дуже повільне виконання та помилки прав доступу/дозволів.
:::
3. Download the PX4 source code using `git` (which is already installed in WSL2):
```sh
git clone https://github.com/PX4/PX4-Autopilot.git --recursive
```
```sh
git clone https://github.com/PX4/PX4-Autopilot.git --recursive
```
::: info
The environment setup scripts in the source usually work for recent PX4 releases.
If working with an older version of PX4 you may need to [get the source code specific to your release](../contribute/git_examples.md#get-a-specific-release).
::: info
The environment setup scripts in the source usually work for recent PX4 releases.
If working with an older version of PX4 you may need to [get the source code specific to your release](../contribute/git_examples.md#get-a-specific-release).
:::
4. Run the **ubuntu.sh** installer script and acknowledge any prompts as the script progresses:
```sh
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh
```
```sh
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh
```
::: info
This installs tools to build PX4 for Pixhawk and either Gazebo or Gazebo Classic targets:
::: info
This installs tools to build PX4 for Pixhawk and either Gazebo or Gazebo Classic targets:
- You can use the `--no-nuttx` and `--no-sim-tools` options to omit the NuttX and/or simulation tools.
- Other Linux build targets are untested (you can try these by entering the appropriate commands in [Ubuntu Development Environment](../dev_setup/dev_env_linux_ubuntu.md) into the WSL shell).
- You can use the `--no-nuttx` and `--no-sim-tools` options to omit the NuttX and/or simulation tools.
- Other Linux build targets are untested (you can try these by entering the appropriate commands in [Ubuntu Development Environment](../dev_setup/dev_env_linux_ubuntu.md) into the WSL shell).
:::
5. Перезапустіть "комп'ютер WSL" після завершення скрипту (вийти з оболонки, вимкнути WSL та перезапустити WSL):
```sh
exit
wsl --shutdown
wsl
```
```sh
exit
wsl --shutdown
wsl
```
6. Перейдіть в репозиторій PX4 в домашній директорії WSL:
```sh
cd ~/PX4-Autopilot
```
```sh
cd ~/PX4-Autopilot
```
7. Зберіть ціль PX4 SITL та перевірте середовище:
```sh
make px4_sitl
```
```sh
make px4_sitl
```
For more build options see [Building PX4 Software](../dev_setup/building_px4.md).
@@ -205,26 +205,26 @@ VS Code на Windows добре інтегрований з WSL.
5. У WSL оболонці перейдіть у директорію PX4:
```sh
cd ~/PX4-Autopilot
```
```sh
cd ~/PX4-Autopilot
```
6. В оболонці WSL запустіть VS Code:
```sh
code .
```
```sh
code .
```
Це відкриє IDE повністю інтегроване в WSL оболонку.
Це відкриє IDE повністю інтегроване в WSL оболонку.
Переконайтеся, що ви завжди відкриваєте PX4 репозиторій у режимі Remote WSL.
Переконайтеся, що ви завжди відкриваєте PX4 репозиторій у режимі Remote WSL.
7. Next time you want to develop WSL2 you can very easily open it again in Remote WSL mode by selecting **Open Recent** (as shown below).
Це запустить WSL.
Це запустить WSL.
![](../../assets/toolchain/vscode/vscode_wsl.png)
![](../../assets/toolchain/vscode/vscode_wsl.png)
Зверніть увагу, що IP-адреса віртуальної машини WSL буде змінена, так що ви не зможете контролювати симуляцію з QGC для Windows (ви все ще можете використовувати QGC для Linux)
Зверніть увагу, що IP-адреса віртуальної машини WSL буде змінена, так що ви не зможете контролювати симуляцію з QGC для Windows (ви все ще можете використовувати QGC для Linux)
## QGroundControl
@@ -240,21 +240,21 @@ If you need to [flash a flight control board](#flash-a-flight-control-board) wit
1. In a web browser, navigate to the QGC [Ubuntu download section](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/getting_started/download_and_install.html#ubuntu)
2. Right-click on the **QGroundControl.AppImage** link, and select "Copy link address".
This will be something like _https://d176td9ibe4jno.cloudfront.net/builds/master/QGroundControl.AppImage_
This will be something like _https://d176td9ibe4jno.cloudfront.net/builds/master/QGroundControl.AppImage_
3. [Open a WSL shell](#opening-a-wsl-shell) and enter the following commands to download the appimage and make it executable (replace the AppImage URL where indicated):
```sh
cd ~
wget <the_copied_AppImage_URL>
chmod +x QGroundControl.AppImage
```
```sh
cd ~
wget <the_copied_AppImage_URL>
chmod +x QGroundControl.AppImage
```
4. Запустіть QGroundControl:
```sh
./QGroundControl.AppImage
```
```sh
./QGroundControl.AppImage
```
QGroundControl запуститься та автоматично приєднається до запущеної симуляції, що дозволить вам спостерігати та контролювати ваші рухомі засоби.
@@ -270,15 +270,15 @@ Install [QGroundControl on Windows](https://docs.qgroundcontrol.com/master/en/qg
2. Check the IP address of the WSL virtual machine by running the command `ip addr | grep eth0`:
```sh
$ ip addr | grep eth0
```sh
$ ip addr | grep eth0
6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
inet 172.18.46.131/20 brd 172.18.47.255 scope global eth0
```
6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
inet 172.18.46.131/20 brd 172.18.47.255 scope global eth0
```
Copy the first part of the `eth0` interface `inet` address to the clipboard.
In this case: `172.18.46.131`.
Copy the first part of the `eth0` interface `inet` address to the clipboard.
In this case: `172.18.46.131`.
3. In QGC go to **Q > Application Settings > Comm Links**
@@ -304,14 +304,14 @@ Instead you connect [QGroundControl for Windows](#qgroundcontrol-on-windows) to
1. If you haven't already built the binary in WSL e.g. with a [WSL shell](dev_env_windows_wsl.md#opening-a-wsl-shell) and by running:
```sh
cd ~/PX4-Autopilot
make px4_fmu-v5
```
```sh
cd ~/PX4-Autopilot
make px4_fmu-v5
```
::: tip
Use the correct `make` target for your board.
`px4_fmu-v5` can be used for a Pixhawk 4 board.
::: tip
Use the correct `make` target for your board.
`px4_fmu-v5` can be used for a Pixhawk 4 board.
:::
@@ -325,12 +325,12 @@ Instead you connect [QGroundControl for Windows](#qgroundcontrol-on-windows) to
6. Continue and select the firmware binary you just built in WSL.
У відкритому діалозі знайдіть розташування "Linux" з іконкою пінгвіна на лівій панелі.
Зазвичай, вона в самому низу.
Choose the file in the path: `Ubuntu\home\{your WSL user name}\PX4-Autopilot\build\{your build target}\{your build target}.px4`
У відкритому діалозі знайдіть розташування "Linux" з іконкою пінгвіна на лівій панелі.
Зазвичай, вона в самому низу.
Choose the file in the path: `Ubuntu\home\{your WSL user name}\PX4-Autopilot\build\{your build target}\{your build target}.px4`
::: info
You can add the folder to the favourites to access it quickly next time.
::: info
You can add the folder to the favourites to access it quickly next time.
:::
@@ -349,3 +349,9 @@ sudo add-apt-repository ppa:kisak/kisak-mesa
sudo apt update
sudo apt upgrade
```
### QGroundControl not connecting to PX4 SITL
- The connection between PX4 SITL on WSL2 and QGroundControl on Windows requires [broadcasting](../simulation/index.md#enable-udp-broadcasting) or [streaming to a specific address](../simulation/index.md#enable-streaming-to-specific-address) to be enabled.
Streaming to a specific address should be enabled by default, but is something to check if a connection can't be established.
- Network traffic might be blocked by firewall or antivirus on you system.
+10 -10
View File
@@ -27,10 +27,10 @@ You must already have installed the command line [PX4 developer environment](../
- Select _Open folder ..._ option on the welcome page (or using the menu: **File > Open Folder**):
![Open Folder](../../assets/toolchain/vscode/welcome_open_folder.jpg)
![Open Folder](../../assets/toolchain/vscode/welcome_open_folder.jpg)
- З'явиться діалогове вікно вибору файлу.
Select the **PX4-Autopilot** directory and then press **OK**.
Select the **PX4-Autopilot** directory and then press **OK**.
The project files and configuration will then load into _VSCode_.
@@ -49,9 +49,9 @@ You must already have installed the command line [PX4 developer environment](../
:::
- If prompted to install a new version of _cmake_:
- Say **No** (the right version is installed with the [PX4 developer environment](../dev_setup/dev_env.md)).
- Say **No** (the right version is installed with the [PX4 developer environment](../dev_setup/dev_env.md)).
- If prompted to sign into _github.com_ and add your credentials:
- Це ваш розсуд! Це забезпечує глибоку інтеграцію між Github та IDE, що може спростити ваш робочий процес.
- Це ваш розсуд! Це забезпечує глибоку інтеграцію між Github та IDE, що може спростити ваш робочий процес.
- Інші підказки необов'язкові та можуть бути встановлені, якщо вважаються корисними. <!-- perhaps add screenshot of these prompts -->
<a id="building"></a>
@@ -63,21 +63,21 @@ You must already have installed the command line [PX4 developer environment](../
1. Оберіть свою ціль збірки ("cmake build config"):
- The current _cmake build target_ is shown on the blue _config_ bar at the bottom (if this is already your desired target, skip to next step).
![Select Cmake build target](../../assets/toolchain/vscode/cmake_build_config.jpg)
![Select Cmake build target](../../assets/toolchain/vscode/cmake_build_config.jpg)
::: info
The cmake target you select affects the targets offered for when [building/debugging](#debugging) (i.e. for hardware debugging you must select a hardware target like `px4_fmu-v6`).
::: info
The cmake target you select affects the targets offered for when [building/debugging](#debugging) (i.e. for hardware debugging you must select a hardware target like `px4_fmu-v6`).
:::
- Натисніть на ціль на панелі config, щоб показати інші параметри та вибрати ту, яка вам потрібна (це замінить обрану ціль).
- _Cmake_ will then configure your project (see notification in bottom right).
![Cmake config project](../../assets/toolchain/vscode/cmake_configuring_project.jpg)
![Cmake config project](../../assets/toolchain/vscode/cmake_configuring_project.jpg)
- Зачекайте, поки налаштування завершиться.
When this is done the notification will disappear and you'll be shown the build location:
![Cmake config project](../../assets/toolchain/vscode/cmake_configuring_project_done.jpg).
When this is done the notification will disappear and you'll be shown the build location:
![Cmake config project](../../assets/toolchain/vscode/cmake_configuring_project_done.jpg).
2. You can then kick off a build from the config bar (select either **Build** or **Debug**).
![Run debug or build](../../assets/toolchain/vscode/run_debug_build.jpg)
+10 -10
View File
@@ -64,10 +64,10 @@ To update the "AP Periph" firmware to the latest version:
1. [Download the latest binary](https://firmware.ardupilot.org/AP_Periph/latest/HolybroG4_GPS/).
2. Update the firmware using either of the following approaches:
- Using ArduPilot:
1. Install _Ardupilot_ firmware on your flight controller and the Mission Planner GCS on your computer.
2. Update the binary by following the instructions in the [DroneCAN FW Upgrade](https://docs.holybro.com/gps-and-rtk-system/zed-f9p-h-rtk-series/dronecan-fw-upgrade) guide.
- Use a serial-to-can converter (such as the [Zubax Babel](https://github.com/Zubax/canface_cf1?tab=readme-ov-file)) and the [DroneCAN GUI Tool](https://dronecan.github.io/Implementations/Libuavcan/Tutorials/11._Firmware_update/).
- Using ArduPilot:
1. Install _Ardupilot_ firmware on your flight controller and the Mission Planner GCS on your computer.
2. Update the binary by following the instructions in the [DroneCAN FW Upgrade](https://docs.holybro.com/gps-and-rtk-system/zed-f9p-h-rtk-series/dronecan-fw-upgrade) guide.
- Use a serial-to-can converter (such as the [Zubax Babel](https://github.com/Zubax/canface_cf1?tab=readme-ov-file)) and the [DroneCAN GUI Tool](https://dronecan.github.io/Implementations/Libuavcan/Tutorials/11._Firmware_update/).
Remember to change the firmware on the flight controller back to PX4 afterwards.
@@ -98,14 +98,14 @@ In order to use dual ZED-F9P GPS heading in PX4, follow these steps:
1. Open the QGroundControl parameters page.
2. On the left side next to the parameters list, double-click on the _System_ section (this hides the section).
3. Components should be visible on the left panel.
Click on the first `_Component_<ID#>` that maps to the ZED-F9P DroneCAN node (below shown as _Component 124_).
Click on the first `_Component_<ID#>` that maps to the ZED-F9P DroneCAN node (below shown as _Component 124_).
4. Click on the _GPS_ subsection and configure the parameters listed below:
- `GPS_TYPE`: Either set to `17` for moving baseline _base_, or set to `18` to be the moving baseline _rover_.
One F9P MUST be _rover_, and the other MUST be _base_.
- `GPS_AUTO_CONFIG`: set to 1 for both the rover and base
- `GPS_POS_X`, `GPS_POS_Y`, `GPS_POS_Z`: This is the antenna placement, which for the F9P is internal to the module.
This is the local offset (FRD) with respect to the autopilot.
- `GPS_TYPE`: Either set to `17` for moving baseline _base_, or set to `18` to be the moving baseline _rover_.
One F9P MUST be _rover_, and the other MUST be _base_.
- `GPS_AUTO_CONFIG`: set to 1 for both the rover and base
- `GPS_POS_X`, `GPS_POS_Y`, `GPS_POS_Z`: This is the antenna placement, which for the F9P is internal to the module.
This is the local offset (FRD) with respect to the autopilot.
![QGC Setup](../../assets/hardware/gps/holybro_h_rtk_zed_f9p_rover/holybro_f9p_gps_qgc_setup.png)
+5 -5
View File
@@ -45,11 +45,11 @@ Source code and build instructions can be found on [the bitbucket](https://bitbu
1. Enable DroneCAN by setting the [UAVCAN_ENABLE](../advanced_config/parameter_reference.md#UAVCAN_ENABLE) parameter to `2` (Sensors Automatic Config) or `3`.
2. Enable DroneCAN battery monitoring by setting [UAVCAN_SUB_BAT](../advanced_config/parameter_reference.md#UAVCAN_SUB_BAT) to `1` or `2` ( depending on your battery).
3. Set the following module parameters using the [MAVLink console](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/analyze_view/mavlink_console.html):
- Battery capacity in mAh: `battery_capacity_mAh`
- Battery voltage when _full_: `battery_full_V`,
- Battery voltage when _empty_: `battery_empty_V`
- Turn on current integration: `enable_current_track`
- (optional) Turn Off CANbus termination resistor :`enable_can_term`
- Battery capacity in mAh: `battery_capacity_mAh`
- Battery voltage when _full_: `battery_full_V`,
- Battery voltage when _empty_: `battery_empty_V`
- Turn on current integration: `enable_current_track`
- (optional) Turn Off CANbus termination resistor :`enable_can_term`
**Example:** A Power Module with UAVCAN node id `125` connected to a `3S` LiPo with capacity of `5000mAh` can be configured with the following commands:
+2 -2
View File
@@ -7,9 +7,9 @@ CAN power connectors are designed for light unmanned aerial (UAV) and other vehi
There are two types of devices:
1. `CAN-MUX` devices provide power from XT30 connector to CAN.
There are 2 variation of this type of the device with different number of connectors.
There are 2 variation of this type of the device with different number of connectors.
2. `Power connector node` is designed to pass current (up to 60A) to power load and CAN, measure voltage and current on load.
It behaves as Cyphal/DroneCAN node.
It behaves as Cyphal/DroneCAN node.
Please refer to the RaccoonLab docs [CAN Power Connectors](https://docs.raccoonlab.co/guide/pmu/power/) page.
@@ -0,0 +1,153 @@
# Accton Godwit G-A1
:::warning
PX4 не розробляє цей (або будь-який інший) автопілот.
Contact the [manufacturer](https://cubepilot.org/#/home) for hardware support or compliance issues.
:::
The G-A1 is a state-of-the-art flight controller developed derived from the [Pixhawk Autopilot v6X Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-012%20Pixhawk%20Autopilot%20v6X%20Standard.pdf).
It includes an STM32H753 double-precision floating-point FMU processor and an STM32F103 IO coprocessor, multiple IMUs with 6-axis inertial sensors, two pressure/temperature sensors, and a geomagnetic sensor.
It also has independent buses and power supplies, and is designed for safety and rich expansion capabilities.
With an integrated 10/100M Ethernet Physical Layer (PHY), the G-A1 can also communicate with a mission computer (airborne computer), high-end surveying and mapping cameras, and other UxV-mounted equipment for high-speed communications, meeting the needs of advanced UxV systems.
:::tip
Visit [Accton-IoT Godwit](https://www.accton-iot.com/godwit/) for more information.
:::
![AccGodwitGA1](../../assets/flight_controller/accton-godwit/ga1/outlook.png "Accton Godwit G-A1")
![AccGodwitGA1 Top View](../../assets/flight_controller/accton-godwit/ga1/orientation.png "Accton Godwit G-A1 Top View")
:::info
This flight controller is [manufacturer supported](../flight_controller/autopilot_manufacturer_supported.md).
:::
## Характеристики
### Процесор
- STM32H753IIK (Arm® Cortex®-M7 480MHz)
- STM32F103 (Arm® Cortex®-M3, 72MHz)
### Датчики
- Bosch BMI088 (vibration isolated)
- TDK InvenSense ICM-42688-P x 2 (one vibration isolated)
- TDK Barometric Pressure and Temperature Sensor CP-20100 x 2 (one vibration isolated)
- PNI RM3100 Geomagnetic Sensor (vibration isolated)
### Power
- 4.6V to 5.7V
### External ports
- 2 CAN Buses (CAN1 and CAN2)
- 3 TELEM Ports (TELEM1, TELEM2 and TELEM3)
- 2 GPS Ports (GPS1 with safety switch, LED, buzzer, and GPS2)
- 1 PPM IN
- 1 SBUS OUT
- 2 USB Ports (1 TYPE-C and 1 JST GH1.25)
- 1 10/100Base-T Ethernet Port
- 1 DSM/SBUS RC
- 1 UART 4
- 1 AD&IO Port
- 2 Debug Ports (1 IO Debug and 1 FMU Debug)
- 1 SPI6 Bus
- 4 Power Inputs (Power 1, Power 2, Power C1 and Power C2)
- 16 PWM Servo Outputs (A1-A8 from FMU and M1-M8 from IO)
- Micro SD Socket (supports SD 4.1 & SDIO 4.0 in two databus modes: 1 bit (default) and 4 bits)
### Size and Dimensions
- 92.2 (L) x 51.2 (W) x 28.3 (H) mm
- 77.6g (carrier board with IMU)
## Де купити
- [Accton-IoT Godwit](https://www.accton-iot.com/godwit/)
- [sales@accton-iot.com](sales@accton-iot.com)
## Схема розташування виводів
![G-A1 Pin definition](../../assets/flight_controller/accton-godwit/ga1/pin_definition.png "G-A1 Pin definition")
## UART Mapping
| Serial# | Протокол | Порт | Примітки |
| ------- | --------- | ------ | ---------- |
| SERIAL1 | Telem1 | UART7 | /dev/ttyS6 |
| SERIAL2 | Telem2 | UART5 | /dev/ttyS4 |
| SERIAL3 | GPS1 | USART1 | /dev/ttyS0 |
| SERIAL4 | GPS2 | UART8 | /dev/ttyS7 |
| SERIAL5 | Telem3 | USART2 | /dev/ttyS1 |
| SERIAL6 | UART4 | UART4 | /dev/ttyS3 |
| SERIAL7 | FMU Debug | USART3 | |
| SERIAL8 | OTG2 | USB | |
## Wiring Diagram
![G-A1 Wiring](../../assets/flight_controller/accton-godwit/ga1/wiring.png "G-A1 Wiring")
## PWM Output
PWM M1-M8 (IO Main PWM), A1-A8(FMU PWM).
All these 16 support normal PWM output formats.
FMU PWM A1-A6 can support DShot and B-Directional DShot.
A1-A8(FMU PWM) are grouped as:
- Group 1: A1, A2, A3, A4
- Group 2: A5, A6
- Group 3: A7, A8
The motor and servo system should be connected to these ports according to the order outlined in the fuselage reference for your carrier.
![G-A1 PWM Motor Servo](../../assets/flight_controller/accton-godwit/ga1/motor_servo.png "G-A1 PWM Motor Servo")
## RC-вхід
For DSM/SBUS receivers, connect them to the DSM/SBUS interface which provides dedicated 3.3V and 5V power pins respectively, and check above "Pinout" for detailed pin definition.
PPM receivers should be connected to the PPM interface. And other RC systems can be connected via other spare telemetry ports.
![G-A1 Radio](../../assets/flight_controller/accton-godwit/ga1/radio.png "G-A1 Radio")
## GPS/компас
The Godwit G-A1 has a built-in compass
Due to potential interference, the autopilot is usually used with an external I2C compass as part of a GPS/Compass combination.
![G-A1 GPS](../../assets/flight_controller/accton-godwit/ga1/gps.png "G-A1 GPS")
## Power Connection and Battery Monitor
This universal controller features a CAN PMU module that supports 3 to 14s lithium batteries.
To ensure proper connection, attach the module's 6-pin connector to the flight control Power C1 and/or Power C2 interface.
This universal controller does not provide power to the servos.
To power them, an external BEC must be connected to the positive and negative terminals of any A1–A8 or M1–M8 port.
![G-A1 Power](../../assets/flight_controller/accton-godwit/ga1/power.png "G-A1 Power")
## SD-карта
The SD card is NOT included in the package, you need to prepare the SD card and insert it into the slot.
![G-A1 SD Card](../../assets/flight_controller/accton-godwit/ga1/sdcard.png "G-A1 SD Card")
## Прошивка
The autopilot is compatible with PX4 firmware. And G-A1 can be detected by QGroundControl automatically. Users can also build it with target "accton-godwit_ga1"
To [build PX4](../dev_setup/building_px4.md) for this target, open up the terminal and enter:
```sh
make accton-godwit_ga1
```
## More Information and Support
- [Accton-IoT Godwit](https://www.accton-iot.com/godwit/)
- [sales@accton-iot.com](sales@accton-iot.com)
- [support@accton-iot.com](mailto:support@accton-iot.com)
@@ -12,6 +12,7 @@ This category includes boards that are not fully compliant with the pixhawk stan
Плати цієї категорії:
- [Accton Godwit GA1](../flight_controller/accton-godwit_ga1.md)
- [AirMind MindPX](../flight_controller/mindpx.md)
- [AirMind MindRacer](../flight_controller/mindracer.md)
- [ARK Electronics ARKV6X](../flight_controller/ark_v6x.md) (and [ARK Electronics Pixhawk Autopilot Bus Carrier](../flight_controller/ark_pab.md))
+13 -13
View File
@@ -29,32 +29,32 @@ _Режим місії_ змушує транспортний засіб вик
1. Якщо місія не збережена, або якщо PX4 завершив виконання всіх команд місії, або якщо [місія не є можливою](#mission-feasibility-checks):
- Якщо літає транспортний засіб, він буде марнувати час.
- Якщо посадять транспортний засіб, він буде "чекати".
- Якщо літає транспортний засіб, він буде марнувати час.
- Якщо посадять транспортний засіб, він буде "чекати".
2. Якщо місія збережена, а PX4 летить, вона виконає [місію / план польоту](../flying/missions.md) з поточного кроку.
- Пункт відправлення буде розглядатися як звичайна точка місії.
- Пункт відправлення буде розглядатися як звичайна точка місії.
3. Якщо місія збережена, а транспортний засіб приземлений, він злетить лише у випадку, якщо активна точка маршруту - це 'Зльот'.
Якщо налаштовано для запуску з катапульта, транспортний засіб також повинен бути запущений (див. [Зліт/посадка FW у місії](#mission-takeoff)).
Якщо налаштовано для запуску з катапульта, транспортний засіб також повинен бути запущений (див. [Зліт/посадка FW у місії](#mission-takeoff)).
4. Якщо жодне завдання не збережено, або якщо PX4 завершив виконання всіх команд місії:
- Якщо літає транспортний засіб, він буде марнувати час.
- Якщо посадять транспортний засіб, він буде "чекати".
- Якщо літає транспортний засіб, він буде марнувати час.
- Якщо посадять транспортний засіб, він буде "чекати".
5. Ви можете вручну змінити поточну команду місії, вибравши її в _QGroundControl_.
:::info
Якщо у вас є команда _Перейти до елементу_ в місії, переміщення до іншого елементу **не** скине лічильник циклу.
Однією з наслідків є те, що якщо ви зміните поточну команду місії на 1, це не призведе до "повного перезапуску" місії.
:::info
Якщо у вас є команда _Перейти до елементу_ в місії, переміщення до іншого елементу **не** скине лічильник циклу.
Однією з наслідків є те, що якщо ви зміните поточну команду місії на 1, це не призведе до "повного перезапуску" місії.
:::
6. Місія скине тільки тоді, коли транспортний засіб буде роззброєний або коли буде завантажена нова місія.
:::tip
Щоб автоматично роззброїти транспортний засіб після посадки, у _QGroundControl_ перейдіть до [Налаштування Транспортного Засобу > Безпека](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/safety.html), перейдіть до _Налаштувань Режиму Посадки_ та позначте прапорець _Роззброювати після_.
Введіть час очікування після посадки перед відброюванням транспортного засобу.
:::tip
Щоб автоматично роззброїти транспортний засіб після посадки, у _QGroundControl_ перейдіть до [Налаштування Транспортного Засобу > Безпека](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/safety.html), перейдіть до _Налаштувань Режиму Посадки_ та позначте прапорець _Роззброювати після_.
Введіть час очікування після посадки перед відброюванням транспортного засобу.
:::
@@ -261,7 +261,7 @@ A fixed-wing mission requires a `Takeoff` mission item to takeoff; if however th
1. **Літайте до місця посадки**: Літак летить на поточній висоті до точки обертання.
2. **Опускаючись на орбіту для наближення до висоти**: При досягненні радіусу утримання точки шляху, транспортний засіб виконує опускаючу орбіту до досягнення "висоти наближення" (висота точки утримання).
Транспортний засіб продовжує обертатися на цій висоті до тих пір, поки він не матиме тангенціальну траєкторію до пункту наземної точки, після чого ініціюється посадковий захід.
Транспортний засіб продовжує обертатися на цій висоті до тих пір, поки він не матиме тангенціальну траєкторію до пункту наземної точки, після чого ініціюється посадковий захід.
3. **Приземлення**: Літак слідує нахилу під час приземлення до точки на землі до досягнення висоти флеру.
4. **Світло**: Транспортний засіб світиться, доки не сідає на землю.
+1 -1
View File
@@ -93,7 +93,7 @@ Once it reaches [MIS_TAKEOFF_ALT](#MIS_TAKEOFF_ALT) it will automatically switch
1. Увімкніть дрон
2. Put the vehicle into _Takeoff mode_
3. Запустіть / киньте транспортний засіб (міцно) безпосередньо у вітер.
Ви також можете спершу потрясти транспортний засіб, зачекати, поки рушить двигун, а потім кинути його
Ви також можете спершу потрясти транспортний засіб, зачекати, поки рушить двигун, а потім кинути його
### Параметри (виявник запуску)
+6 -6
View File
@@ -151,19 +151,19 @@ The follow-me behavior can be configured using the following parameters:
1. Set the [follow distance](#FLW_TGT_DST) to more than 12 meters (8 meters is a "recommended minimum").
Існує вроджений вплив позиції (3 ~ 5 метрів) між цільовим об'єктом та GPS-датчиком дрона, що змушує дрон слідувати 'примарній цілі' десь поблизу фактичної цілі.
Це стає більш очевидним, коли відстань слідування дуже мала.
Ми рекомендуємо встановити достатньо велику відстань, щоб відхилення GPS не було значним.
Існує вроджений вплив позиції (3 ~ 5 метрів) між цільовим об'єктом та GPS-датчиком дрона, що змушує дрон слідувати 'примарній цілі' десь поблизу фактичної цілі.
Це стає більш очевидним, коли відстань слідування дуже мала.
Ми рекомендуємо встановити достатньо велику відстань, щоб відхилення GPS не було значним.
2. The speed at which you can change the follow angle depends on the [maximum tangential velocity](#FLW_TGT_MAX_VEL) setting.
Experimentation shows that values between `5 m/s` are `10 m/s` are usually suitable.
Experimentation shows that values between `5 m/s` are `10 m/s` are usually suitable.
3. Використовуючи коригування RC для висоти, відстані та кута, ви можете отримати деякі креативні знімки камери.
<lite-youtube videoid="o3DhvCL_M1E" title="YUN0012 almostCinematic"/>
<lite-youtube videoid="o3DhvCL_M1E" title="YUN0012 almostCinematic"/>
This video demonstrates a Google-Earth view perspective, by adjusting the height to around 50 meters (high), distance to 1 meter (close). Що дозволяє перспективу, як знято з супутника.
This video demonstrates a Google-Earth view perspective, by adjusting the height to around 50 meters (high), distance to 1 meter (close). Що дозволяє перспективу, як знято з супутника.
## Відомі проблеми
+13 -13
View File
@@ -31,33 +31,33 @@ They may also be created by a MAVLink API such as [MAVSDK](../robotics/mavsdk.md
1. Якщо місія не збережена, або якщо PX4 завершив виконання всіх команд місії, або якщо [місія не є можливою](#mission-feasibility-checks):
- Якщо літає транспортний засіб, він буде утримувати.
- Якщо посадять транспортний засіб, він буде "чекати".
- Якщо літає транспортний засіб, він буде утримувати.
- Якщо посадять транспортний засіб, він буде "чекати".
2. Якщо місія збережена, а PX4 летить, вона виконає [місію / план польоту](../flying/missions.md) з поточного кроку.
- Пункт `TAKEOFF` трактується як звичайна точка місії.
- Пункт `TAKEOFF` трактується як звичайна точка місії.
3. Якщо місія збережена і PX4 приземлився:
- PX4 виконає [місію/план польоту](../flying/missions.md).
- Якщо місія не має пункту `TAKEOFF`, то PX4 підніме транспортний засіб на мінімальну висоту перед виконанням решти польотного плану з поточного кроку.
- PX4 виконає [місію/план польоту](../flying/missions.md).
- Якщо місія не має пункту `TAKEOFF`, то PX4 підніме транспортний засіб на мінімальну висоту перед виконанням решти польотного плану з поточного кроку.
4. Якщо жодне завдання не збережено, або якщо PX4 завершив виконання всіх команд місії:
- Якщо літає транспортний засіб, він буде утримувати.
- Якщо посадять транспортний засіб, він буде "чекати".
- Якщо літає транспортний засіб, він буде утримувати.
- Якщо посадять транспортний засіб, він буде "чекати".
5. Ви можете вручну змінити поточну команду місії, вибравши її в _QGroundControl_.
:::info
Якщо у вас є команда _Перейти до елементу_ в місії, переміщення до іншого елементу **не** скине лічильник циклу.
Однією з наслідків є те, що якщо ви зміните поточну команду місії на 1, це не призведе до "повного перезапуску" місії.
:::info
Якщо у вас є команда _Перейти до елементу_ в місії, переміщення до іншого елементу **не** скине лічильник циклу.
Однією з наслідків є те, що якщо ви зміните поточну команду місії на 1, це не призведе до "повного перезапуску" місії.
:::
6. Місія скине тільки тоді, коли транспортний засіб буде роззброєний або коли буде завантажена нова місія.
:::tip
Щоб автоматично роззброїти транспортний засіб після посадки, у _QGroundControl_ перейдіть до [Налаштування Транспортного Засобу > Безпека](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/safety.html), перейдіть до _Налаштувань Режиму Посадки_ та позначте прапорець _Роззброювати після_.
Введіть час очікування після посадки перед відброюванням транспортного засобу.
:::tip
Щоб автоматично роззброїти транспортний засіб після посадки, у _QGroundControl_ перейдіть до [Налаштування Транспортного Засобу > Безпека](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/safety.html), перейдіть до _Налаштувань Режиму Посадки_ та позначте прапорець _Роззброювати після_.
Введіть час очікування після посадки перед відброюванням транспортного засобу.
:::
+14 -14
View File
@@ -43,16 +43,16 @@ When throw launch is enabled, the vehicle is initially armed in a "lockdown" sta
Окрім того:
1. Носіть засоби безпеки.
Захист для очей та рукавички для роботи рекомендовані.
Захист для очей та рукавички для роботи рекомендовані.
2. Маєте легкий доступний та протестований [вимикач вимкнення](../config/safety.md#kill-switch).
Нагадайте оператору бути уважним та використовувати вимикач аварійного вимкнення за потреби.
Пілоти часто забувають, що транспортні засоби можна замінити, але вони - ні!
Нагадайте оператору бути уважним та використовувати вимикач аварійного вимкнення за потреби.
Пілоти часто забувають, що транспортні засоби можна замінити, але вони - ні!
3. Тестуйте якомога більше без гвинтів.
Утримуйте інструменти для зняття гвинтів пропелерів поруч/легкодоступними.
Утримуйте інструменти для зняття гвинтів пропелерів поруч/легкодоступними.
4. Перевірте цю функцію з принаймні двома людьми — один керує літаком, інший — пультом дистанційного керування.
5. Пам'ятайте, що після кидка точна поведінка літака може бути важко передбачити, оскільки вона сильно залежить від способу кидка.
Іноді воно залишатиметься на місці ідеально, але іноді (наприклад, через великий кочення), воно може відхилятися в один бік під час стабілізації.
Дотримуйтеся безпечної відстані!
Іноді воно залишатиметься на місці ідеально, але іноді (наприклад, через великий кочення), воно може відхилятися в один бік під час стабілізації.
Дотримуйтеся безпечної відстані!
Під час першого польоту нового транспортного засобу ми рекомендуємо виконати [Тест запуску без гвинтів (Throw Launch test without propellers)](#throw-launch-pretest) (див. нижче).
@@ -65,13 +65,13 @@ When throw launch is enabled, the vehicle is initially armed in a "lockdown" sta
1. Демонтуйте пропелери.
2. Встановіть [COM_THROW_EN](../advanced_config/parameter_reference.md#COM_THROW_EN) на `Увімкнено`.
3. Озброїте літак.
Двигуни не повинні крутитися, але транспортний засіб повинен бути збройований і продовжувати відтворювати мелодію зброювання.
Двигуни не повинні крутитися, але транспортний засіб повинен бути збройований і продовжувати відтворювати мелодію зброювання.
4. Киньте літак приблизно на 2 м у повітря.
Якщо літак не буде кидати достатньо високо, двигуни не ввімкнуться.
Якщо літак не буде кидати достатньо високо, двигуни не ввімкнуться.
5. Двигуни повинні запуститися одразу після перетинання вершини.
6. Увімкніть вимикач вбивства (ідеально, щоб це робив друга особа, яка керує RC).
7. Спіймай дрон.
Не забувайте використовувати захисні рукавички!
Не забувайте використовувати захисні рукавички!
## Запуск з катапульти чи підкиданням
@@ -79,12 +79,12 @@ When throw launch is enabled, the vehicle is initially armed in a "lockdown" sta
1. Встановіть [COM_THROW_EN](../advanced_config/parameter_reference.md#COM_THROW_EN) на `Увімкнено`.
2. Озброїте літак.
Пропелери не повинні обертатися, але транспортний засіб повинен бути збройований і продовжувати відтворювати мелодію зброювання.
Пропелери не повинні обертатися, але транспортний засіб повинен бути збройований і продовжувати відтворювати мелодію зброювання.
3. Викиньте літак від себе, вперед і вгору (рекомендується близько 2 м відстані та 2 м вгору).
- Транспортний засіб повинен досягти швидкості [COM_THROW_SPEED](../advanced_config/parameter_reference.md#COM_THROW_SPEED), щоб виявити запуск, яка за замовчуванням встановлена на 5 м/с.
Якщо цю швидкість не досягнуто, двигуни не запустяться, і літак впаде на землю.
- Спробуйте уникати надмірного обертання під час кидка, оскільки це може призвести до відмови дрона або непередбачуваної поведінки.
Точне значення "надмірного обертання" залежить від платформи: наприклад, [PX4Vision](../complete_vehicles_mc/px4_vision_kit.md), яка використовувалася для тестування, все ще вдалося відновитися після 2-3 повних обертань.
- Транспортний засіб повинен досягти швидкості [COM_THROW_SPEED](../advanced_config/parameter_reference.md#COM_THROW_SPEED), щоб виявити запуск, яка за замовчуванням встановлена на 5 м/с.
Якщо цю швидкість не досягнуто, двигуни не запустяться, і літак впаде на землю.
- Спробуйте уникати надмірного обертання під час кидка, оскільки це може призвести до відмови дрона або непередбачуваної поведінки.
Точне значення "надмірного обертання" залежить від платформи: наприклад, [PX4Vision](../complete_vehicles_mc/px4_vision_kit.md), яка використовувалася для тестування, все ще вдалося відновитися після 2-3 повних обертань.
4. Після виявлення швидкості вниз (транспортний засіб досягає свого апексу і починає падати), мотори повинні увімкнутися, і транспортний засіб почне летіти в поточному режимі.
## Параметри
+1 -1
View File
@@ -43,7 +43,7 @@ Geofence planning is fully documented in [Plan View > GeoFence](https://docs.qgr
- Маркер центру зони може бути використаний для переміщення зони у правильне положення.
- Маркер на межі кругової зони може бути використаний для зміни радіуса.
- Маркери на кутах (вершинах) можуть бути використані для зміни геометрії полігону.
Додаткові вершини створюються шляхом натискання на середину ліній між наявними маркерами.
Додаткові вершини створюються шляхом натискання на середину ліній між наявними маркерами.
5. Use the _Geofence Editor_ to set a fence as an inclusion or exclusion, and to select a fence to edit (**Edit** radio button) or Delete (**Del** button).
6. Додайте стільки зон, скільки забажаєте.
7. Once finished, click on the **Upload** button (top right) to send the fence (along with rally points and mission) to the vehicle.
+2 -2
View File
@@ -37,9 +37,9 @@ Note that if landed, the next mission item after deployment should be another `W
- Щоб скинути посилку під час польоту, установіть відповідну висоту для маршрутної точки (і переконайтеся, що маршрутна точка знаходиться в безпечному місці для скидання посилки).
- If you'd like to land the vehicle to make the delivery you will need to change the `Waypoint` to a `Land` mission item.
Do this by selecting the mission item heading, then selecting `Land` in the popup dialog.
Do this by selecting the mission item heading, then selecting `Land` in the popup dialog.
![Waypoint to Land mission item](../../assets/flying/package_delivery_land_waypoint.png)
![Waypoint to Land mission item](../../assets/flying/package_delivery_land_waypoint.png)
3. Додайте маршрутну точку на карті (у будь-якому місці) для вивільнення захвату.
To change this to a `Gripper Mechanism` select the "Waypoint" heading, and in the popup changing the group to "Advanced", then selecting `Gripper Mechanism`.
@@ -106,52 +106,52 @@ This topic provides full instructions for building the kit and configuring PX4 u
1. Прикріпіть 4 ніжки до нижньої пластини за допомогою наданих гвинтів.
![Arms to bottom plate](../../assets/airframes/multicopter/dji_f450_cuav_5nano/1_attach_arms_bottom_plate.jpg)
![Arms to bottom plate](../../assets/airframes/multicopter/dji_f450_cuav_5nano/1_attach_arms_bottom_plate.jpg)
2. Припаяйте ЕСК (електронний регулятор швидкості) до плати, позитивний (червоний) та негативний (чорний).
![Solder ESCs](../../assets/airframes/multicopter/dji_f450_cuav_5nano/2_solder_esc.jpg)
![Solder ESCs](../../assets/airframes/multicopter/dji_f450_cuav_5nano/2_solder_esc.jpg)
3. Припаяйте модуль живлення, позитивний (червоний) та негативний (чорний).
![Solder power module](../../assets/airframes/multicopter/dji_f450_cuav_5nano/3_solder_power_module.jpg)
![Solder power module](../../assets/airframes/multicopter/dji_f450_cuav_5nano/3_solder_power_module.jpg)
4. Підключіть двигуни до ESC відповідно до їхніх позицій.
![Plug in motors](../../assets/airframes/multicopter/dji_f450_cuav_5nano/4_plug_in_motors.jpg)
![Plug in motors](../../assets/airframes/multicopter/dji_f450_cuav_5nano/4_plug_in_motors.jpg)
5. Прикріпіть двигуни до відповідних рук.
![Attach motors to arms (white)](../../assets/airframes/multicopter/dji_f450_cuav_5nano/5a_attach_motors_to_arms.jpg)
![Attach motors to arms (red)](../../assets/airframes/multicopter/dji_f450_cuav_5nano/5b_attach_motors_to_arms.jpg)
![Attach motors to arms (white)](../../assets/airframes/multicopter/dji_f450_cuav_5nano/5a_attach_motors_to_arms.jpg)
![Attach motors to arms (red)](../../assets/airframes/multicopter/dji_f450_cuav_5nano/5b_attach_motors_to_arms.jpg)
6. Додайте верхню дошку (прикрутіть до верхньої частини ніг).
![Add top board](../../assets/airframes/multicopter/dji_f450_cuav_5nano/6_add_top_board.jpg)
![Add top board](../../assets/airframes/multicopter/dji_f450_cuav_5nano/6_add_top_board.jpg)
7. Add damping foam to the _CUAV V5 nano_ flight controller.
![Damping foam](../../assets/airframes/multicopter/dji_f450_cuav_5nano/7a_attach_cuav5nano.jpg)
![Damping foam](../../assets/airframes/multicopter/dji_f450_cuav_5nano/7b_attach_cuav5nano.jpg)
![Damping foam](../../assets/airframes/multicopter/dji_f450_cuav_5nano/7a_attach_cuav5nano.jpg)
![Damping foam](../../assets/airframes/multicopter/dji_f450_cuav_5nano/7b_attach_cuav5nano.jpg)
8. Прикріпіть приймач FrSky до нижньої плати за допомогою двосторонньої стрічки.
![Attach FrSky receiver with double-sided tape](../../assets/airframes/multicopter/dji_f450_cuav_5nano/8_attach_frsky.jpg)
![Attach FrSky receiver with double-sided tape](../../assets/airframes/multicopter/dji_f450_cuav_5nano/8_attach_frsky.jpg)
9. Прикріпіть телеметричний модуль до нижньої плати транспортного засобу за допомогою двосторонньої стрічки.
![Attach telemetry radio](../../assets/airframes/multicopter/dji_f450_cuav_5nano/9a_telemtry_radio.jpg)
![Attach telemetry radio](../../assets/airframes/multicopter/dji_f450_cuav_5nano/9b_telemtry_radio.jpg)
![Attach telemetry radio](../../assets/airframes/multicopter/dji_f450_cuav_5nano/9a_telemtry_radio.jpg)
![Attach telemetry radio](../../assets/airframes/multicopter/dji_f450_cuav_5nano/9b_telemtry_radio.jpg)
10. Поставте алюмінієві опори на платформу кнопок і прикріпіть GPS.
![Aluminium standoffs](../../assets/airframes/multicopter/dji_f450_cuav_5nano/10_aluminium_standoffs.jpg)
![Aluminium standoffs](../../assets/airframes/multicopter/dji_f450_cuav_5nano/10_aluminium_standoffs.jpg)
11. Plug in Telemetry (`TELEM1`), GPS module (`GPS/SAFETY`), RC receiver (`RC`), all 4 ESC’s (`M1-M4`), and the power module (`Power1`) into the flight controller.
![Attach peripherals to flight controller](../../assets/airframes/multicopter/dji_f450_cuav_5nano/12_fc_attach_periperhals.jpg)
![Attach peripherals to flight controller](../../assets/airframes/multicopter/dji_f450_cuav_5nano/12_fc_attach_periperhals.jpg)
::: info
The motor order is defined in the [Airframe Reference > Quadrotor x](../airframes/airframe_reference.md#quadrotor-x)
::: info
The motor order is defined in the [Airframe Reference > Quadrotor x](../airframes/airframe_reference.md#quadrotor-x)
:::
@@ -108,53 +108,53 @@ This topic provides full instructions for building the kit and configuring PX4 u
1. Прикріпіть 4 ніжки до нижньої пластини за допомогою наданих гвинтів.
![Arms to bottom plate](../../assets/airframes/multicopter/dji_f450_cuav_5plus/1_attach_arms_bottom_plate.jpg)
![Arms to bottom plate](../../assets/airframes/multicopter/dji_f450_cuav_5plus/1_attach_arms_bottom_plate.jpg)
2. Припаяйте ЕСК (електронний регулятор швидкості) до плати, позитивний (червоний) та негативний (чорний).
![Solder ESCs](../../assets/airframes/multicopter/dji_f450_cuav_5plus/2_solder_esc.jpg)
![Solder ESCs](../../assets/airframes/multicopter/dji_f450_cuav_5plus/2_solder_esc.jpg)
3. Припаяйте модуль живлення, позитивний (червоний) та негативний (чорний).
![Solder power module](../../assets/airframes/multicopter/dji_f450_cuav_5plus/3_solder_power_module.jpg)
![Solder power module](../../assets/airframes/multicopter/dji_f450_cuav_5plus/3_solder_power_module.jpg)
4. Підключіть двигуни до ESC відповідно до їхніх позицій.
![Plug in motors](../../assets/airframes/multicopter/dji_f450_cuav_5plus/4_plug_in_motors.jpg)
![Plug in motors](../../assets/airframes/multicopter/dji_f450_cuav_5plus/4_plug_in_motors.jpg)
5. Прикріпіть двигуни до відповідних рук.
![Attach motors to arms (white)](../../assets/airframes/multicopter/dji_f450_cuav_5plus/5a_attach_motors_to_arms.jpg)
![Attach motors to arms (red)](../../assets/airframes/multicopter/dji_f450_cuav_5plus/5b_attach_motors_to_arms.jpg)
![Attach motors to arms (white)](../../assets/airframes/multicopter/dji_f450_cuav_5plus/5a_attach_motors_to_arms.jpg)
![Attach motors to arms (red)](../../assets/airframes/multicopter/dji_f450_cuav_5plus/5b_attach_motors_to_arms.jpg)
6. Додайте верхню дошку (прикрутіть до верхньої частини ніг).
![Add top board](../../assets/airframes/multicopter/dji_f450_cuav_5plus/6_add_top_board.jpg)
![Add top board](../../assets/airframes/multicopter/dji_f450_cuav_5plus/6_add_top_board.jpg)
7. Додайте двосторонній скотч (3M) до контролера польоту CUAV V5+ (він має внутрішнє гасіння вібрацій, тому використовувати піну не потрібно).
![Tape CUAV v5+](../../assets/airframes/multicopter/dji_f450_cuav_5plus/7_attach_cuav5plus.jpg)
![Tape CUAV v5+](../../assets/airframes/multicopter/dji_f450_cuav_5plus/7_attach_cuav5plus.jpg)
8. Прикріпіть приймач FrSky до нижньої плати за допомогою двосторонньої стрічки.
![Attach FrSky receiver with double-sided tape](../../assets/airframes/multicopter/dji_f450_cuav_5plus/8_attach_frsky.jpg)
![Attach FrSky receiver with double-sided tape](../../assets/airframes/multicopter/dji_f450_cuav_5plus/8_attach_frsky.jpg)
9. Прикріпіть телеметричний модуль до нижньої плати транспортного засобу за допомогою двосторонньої стрічки.
![Attach telemetry radio](../../assets/airframes/multicopter/dji_f450_cuav_5plus/9a_telemtry_radio.jpg)
![Attach telemetry radio](../../assets/airframes/multicopter/dji_f450_cuav_5plus/9b_telemtry_radio.jpg)
![Attach telemetry radio](../../assets/airframes/multicopter/dji_f450_cuav_5plus/9a_telemtry_radio.jpg)
![Attach telemetry radio](../../assets/airframes/multicopter/dji_f450_cuav_5plus/9b_telemtry_radio.jpg)
10. Поставте алюмінієві опори на платформу кнопок.
11. Plug in Telemetry (`TELEM1`) and GPS module (`GPS/SAFETY`) to the flight controller.
![Attach GPS](../../assets/airframes/multicopter/dji_f450_cuav_5plus/11a_gps.jpg)
![Attach GPS](../../assets/airframes/multicopter/dji_f450_cuav_5plus/11b_gps.jpg)
![Attach GPS](../../assets/airframes/multicopter/dji_f450_cuav_5plus/11a_gps.jpg)
![Attach GPS](../../assets/airframes/multicopter/dji_f450_cuav_5plus/11b_gps.jpg)
12. Plug in the RC receiver (`RC`), all 4 ESC’s (`M1-M4`), and the power module (`Power1`) into the flight controller.
![Attach peripherals to flight controller](../../assets/airframes/multicopter/dji_f450_cuav_5plus/12_fc_attach_periperhals.jpg)
![Attach peripherals to flight controller](../../assets/airframes/multicopter/dji_f450_cuav_5plus/12_fc_attach_periperhals.jpg)
::: info
The motor order is defined in the [Airframe Reference > Quadrotor x](../airframes/airframe_reference.md#quadrotor-x)
::: info
The motor order is defined in the [Airframe Reference > Quadrotor x](../airframes/airframe_reference.md#quadrotor-x)
:::
@@ -103,78 +103,78 @@ Estimated time to assemble frame is 2 hours and 1.5 hours installing the autopil
1. Прикріпіть руки до плати кнопки за допомогою гвинтів довжиною 15 мм, як показано:
![QAV250 Add arms to button plate](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/1_button_plate_add_arms.jpg)
![QAV250 Add arms to button plate](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/1_button_plate_add_arms.jpg)
2. Покладіть коротку пластину над руками
![QAV250 Add short plate over arms](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/2_short_plate_over_arms.jpg)
![QAV250 Add short plate over arms](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/2_short_plate_over_arms.jpg)
3. Покладіть гайки на відносно 15 мм гвинти (показано в наступному кроці)
4. Insert the plastic screws into the indicated holes (note that this part of the frame faces down when the vehicle is complete).
![QAV250 Add nuts to 15mm screws and put plastic nuts in holes](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/3_nuts_screws_holes.jpg)
![QAV250 Add nuts to 15mm screws and put plastic nuts in holes](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/3_nuts_screws_holes.jpg)
5. Add the plastic nuts to the screws (turn over, as shown)
![QAV250 Plastic nuts onto screws](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/4_plastic_nuts_on_screws.jpg)
![QAV250 Plastic nuts onto screws](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/4_plastic_nuts_on_screws.jpg)
6. Lower the power module over the plastic screws and then add the plastics standoffs
![QAV250 Add power module and standoffs](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/5_power_module_on_screws.jpg)
![QAV250 Add power module and standoffs](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/5_power_module_on_screws.jpg)
7. Put the flight controller plate on the standoffs (over the power module)
![QAV250 Add flight controller plate](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/6_flight_controller_plate.jpg)
![QAV250 Add flight controller plate](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/6_flight_controller_plate.jpg)
8. Підключіть двигуни. Двигуни мають стрілку, що показує напрямок обертання.
![QAV250 Add motors](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/7_motors.jpg)
![QAV250 Add motors](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/7_motors.jpg)
9. Use double sided tape from kit to attach the _Pixhawk 4 Mini_ to the flight controller plate.
![QAV250 Add doublesided tape](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/8_double_sided_tape_controller.jpg)
![QAV250 Add doublesided tape](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/8_double_sided_tape_controller.jpg)
10. Connect the power module's "power" cable to _Pixhawk 4 mini_.
![QAV250 Power Pixhawk](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/9_power_module_power_pixhawk.jpg)
![QAV250 Power Pixhawk](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/9_power_module_power_pixhawk.jpg)
11. Attach the aluminium standoffs to the button plate
![QAV250 Aluminium standoffs](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/10_aluminium_standoffs.jpg)
![QAV250 Aluminium standoffs](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/10_aluminium_standoffs.jpg)
12. Підключіть ESC з моторами та утримуйте. На цьому зображенні показаний порядок розташування двигунів та напрямок обертання.
![QAV250 Connect ESCs](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/11_escs.jpg)
![QAV250 Connect ESCs](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/11_escs.jpg)
Підключіть двигуни на ESC, переконайтеся, що двигуни обертаються у правильному напрямку, якщо двигун обертається у протилежний бік, змініть кабель A на плату C та C на плату A ESC.
Підключіть двигуни на ESC, переконайтеся, що двигуни обертаються у правильному напрямку, якщо двигун обертається у протилежний бік, змініть кабель A на плату C та C на плату A ESC.
:::warning
Test motor directions with propellers removed.
:::warning
Test motor directions with propellers removed.
:::
![QAV250 Connect ESCs to Power](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/11b_escs.jpg)
![QAV250 Connect ESCs to Power](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/11b_escs.jpg)
13. Підключіть кабелі сигналу ESC до виходів PWM Pixhawk у правильному порядку (див. попереднє зображення)
![QAV250 Connect ESCs to Pixhawk PWM](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/12_escs_pixhawk.jpg)
![QAV250 Connect ESCs to Pixhawk PWM](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/12_escs_pixhawk.jpg)
14. Підключіть приймач.
- Якщо використовуєте приймач PPM, підключіть його до порту PPM.
- Якщо використовуєте приймач PPM, підключіть його до порту PPM.
![QAV250 Connect Receiver PPM](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/13_rc_receiver_ppm.jpg)
![QAV250 Connect Receiver PPM](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/13_rc_receiver_ppm.jpg)
- Якщо використовується приймач SBUS, підключіть його до порту RC IN
- Якщо використовується приймач SBUS, підключіть його до порту RC IN
![QAV250 Connect Receiver SBUS](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/13_rc_receiver_sbus.jpg)
![QAV250 Connect Receiver SBUS](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/13_rc_receiver_sbus.jpg)
15. Підключіть модуль телеметрії. Вставте модуль за допомогою двостворчастої стрічки та підключіть його до порту телеметрії.
![QAV250 Telemetry module](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/14_telemetry.jpg)
![QAV250 Telemetry module](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/14_telemetry.jpg)
16. Підключіть модуль GPS
![QAV250 Connect GPS](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/15a_connect_gps.jpg)
![QAV250 Connect GPS](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/15a_connect_gps.jpg)
Прикріпіть модуль на верхню плату (використовуючи наданий стрічку 3M, або пастою). Потім покладіть верхню плиту на стойки, як показано
Прикріпіть модуль на верхню плату (використовуючи наданий стрічку 3M, або пастою). Потім покладіть верхню плиту на стойки, як показано
![QAV250 Connect GPS](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/15b_attach_gps.jpg)
![QAV250 Connect GPS](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/15b_attach_gps.jpg)
17. Останнім "обов'язковим" кроком зборки є додавання липучки для утримання батареї
![QAV250 Velcro battery strap](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/16_velcro_strap.jpg)
![QAV250 Velcro battery strap](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/16_velcro_strap.jpg)
The "basic" frame build is now complete (though if you need them, you can find more information about connecting components in the [Pixhawk 4 Wiring Quickstart](../assembly/quick_start_pixhawk4.md)).
@@ -189,17 +189,17 @@ If you have the "basic" version of the kit, you can now jump ahead to instructio
Кроки для встановлення комплекту:
1. Install the camera bracket on the frame
![Camera Connection](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/fpv_camera_bracket.jpg)
![Camera Connection](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/fpv_camera_bracket.jpg)
2. Install the camera on the bracket
![Camera on Bracket](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/fpv_camera_on_bracket.jpg)
![Camera on Bracket](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/fpv_camera_on_bracket.jpg)
3. The power module on the complete kit comes with wiring ready to connect the Video Transmitter and Camera:
![Connecting FPV](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/fpv_connection_board.jpg)
- Attach the camera connector
![Camera Connection](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/fpv_camera_connection.jpg)
The wires are: blue=voltage sensor, yellow=video out, black=ground, red=+voltage.
- Connect the Video Transmitter (VTX) connector
![Video Transmitter Connection](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/fpv_video_transmitter_connection.jpg)
The wires are: yellow=video out, black=ground, red=+voltage.
![Connecting FPV](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/fpv_connection_board.jpg)
- Attach the camera connector
![Camera Connection](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/fpv_camera_connection.jpg)
The wires are: blue=voltage sensor, yellow=video out, black=ground, red=+voltage.
- Connect the Video Transmitter (VTX) connector
![Video Transmitter Connection](../../assets/airframes/multicopter/qav250_holybro_pixhawk4_mini/fpv_video_transmitter_connection.jpg)
The wires are: yellow=video out, black=ground, red=+voltage.
4. Закріпіть відеопередавач і плату OSD на рамку за допомогою стрічки.
:::info
@@ -115,11 +115,11 @@ No LiPo battery is included.
Оцінкований час для збирання - 90 хвилин, близько 45 хвилин на збірку рами та 45 хвилин на встановлення та налаштування автопілота в QGroundControl.
1. Збірка шасі.
Ми збираємося почати зі складання шасі на вертикальний стовп. Відкрутіть гвинти стійки посадки та вставте вертикальний стовп, як показано нижче.
Ми збираємося почати зі складання шасі на вертикальний стовп. Відкрутіть гвинти стійки посадки та вставте вертикальний стовп, як показано нижче.
![Figure 1](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig1.jpg)
![Figure 1](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig1.jpg)
![Figure 2](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig2.jpg)
![Figure 2](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig2.jpg)
2. Зібрати плату управління живленням до стільникового шасі. Закрутіть шасі з вертикальним полем на повністю зібрану плату управління живленням.
@@ -132,132 +132,132 @@ No LiPo battery is included.
![Figure 4](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig4.jpg)
1. Зберігайте зброю на плату керування живленням.
Прикріпіть руку до плати управління живленням.
Прикріпіть руку до плати управління живленням.
![Figure 6](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig7.jpg)
![Figure 6](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig7.jpg)
![Figure 7](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig8.jpg)
![Figure 7](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig8.jpg)
Використовуйте гвинти M2 5X6 по 2 штуки в кожній руці.
Вставте гвинти знизу пластини.
Використовуйте гвинти M2 5X6 по 2 штуки в кожній руці.
Вставте гвинти знизу пластини.
![Figure 8](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig9.jpg)
![Figure 8](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig9.jpg)
Переконайтеся, що кабелі ESC прокладені через середину руки.
Переконайтеся, що кабелі ESC прокладені через середину руки.
![Figure 9](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig91.jpg)
![Figure 9](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig91.jpg)
2. Assemble the 8_3 2.54mm pitch Horizontal Pin to the 10 to 10 pin cable (PWM) to the Power Management Board.
Connect the 10 to 10 pin cable (PWM) to the 8_3 2.54mm pitch Horizontal Pin.
Connect the 10 to 10 pin cable (PWM) to the 8_3 2.54mm pitch Horizontal Pin.
![Figure 10](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig10.jpg)
![Figure 10](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig10.jpg)
Виріжте шматок стрічки 3M та прикріпіть його до нижньої частини горизонтального штиря:
Виріжте шматок стрічки 3M та прикріпіть його до нижньої частини горизонтального штиря:
![Figure 11](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig11.jpg)
![Figure 11](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig11.jpg)
Stick the Horizontal Pin to the Power Management Board:
Stick the Horizontal Pin to the Power Management Board:
![Figure 12](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig12.jpg)
![Figure 12](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig12.jpg)
![Figure 13](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig13.jpg)
![Figure 13](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig13.jpg)
3. Зберіть двигуни на руки. Для цього нам знадобляться 16 шурупів M3X7, 4 мотори та 4 руки.
Встановіть двигуни в кожну руку, пропустіть гвинт через дно руки:
Встановіть двигуни в кожну руку, пропустіть гвинт через дно руки:
![Figure 14](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig14.jpg)
![Figure 14](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig14.jpg)
![Figure 15](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig15.jpg)
![Figure 15](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig15.jpg)
Після того, як 4 мотори встановлені на руку, візьміть кабелі (червоний, синій, чорний) і пропустіть їх через різьбу руки.
3 кабелі, які мають колірну маркування, підключаються до ESC.
Після того, як 4 мотори встановлені на руку, візьміть кабелі (червоний, синій, чорний) і пропустіть їх через різьбу руки.
3 кабелі, які мають колірну маркування, підключаються до ESC.
![Figure 16](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig16.jpg)
![Figure 16](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig16.jpg)
![Figure 17](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig17.jpg)
![Figure 17](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig17.jpg)
4. Монтаж GPS на рамці.
Для цього нам знадобиться GPS Pixhawk 4 та монтажна плита.
Для цього нам знадобиться GPS Pixhawk 4 та монтажна плита.
![GPS Parts](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_gpskit.png)
![GPS Parts](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_gpskit.png)
Встановіть мачту GPS на задню частину дошки, використовуйте 4 гвинти:
Встановіть мачту GPS на задню частину дошки, використовуйте 4 гвинти:
![Figure 18](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig18.jpg)
![Figure 18](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig18.jpg)
![Figure 19](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig19.jpg)
![Figure 19](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig19.jpg)
Використовуйте стрічку та приклейте GPS на верх мачти GPS:
Використовуйте стрічку та приклейте GPS на верх мачти GPS:
![Figure 20](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig20.jpg)
![Figure 20](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig20.jpg)
5. Вставте FrSky на дошку. Наклейте FrSky за допомогою двосторонньої стрічки (3M) на нижню плату.
Прикріпіть FrSky до рами:
Прикріпіть FrSky до рами:
![Figure 21](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig21.jpg)
![Figure 21](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig21.jpg)
![Figure 22](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig22.jpg)
![Figure 22](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig22.jpg)
6. Прикріпіть телеметрію до рами.
Наступним кроком є взяти телеметричне радіо Holybro та прикріпити його до рами, використовуйте стрічку 3M.
Наступним кроком є взяти телеметричне радіо Holybro та прикріпити його до рами, використовуйте стрічку 3M.
![Figure 23](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig23.jpg)
![Figure 23](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig23.jpg)
![Figure 24](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig24.jpg)
![Figure 24](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig24.jpg)
Цей збірний вузол прикріплений всередину рами, спрямований на зовнішню сторону вперед автомобіля.
На нижче наведеному зображенні показано радіо, яке знаходиться всередині нижньої частини рами.
Цей збірний вузол прикріплений всередину рами, спрямований на зовнішню сторону вперед автомобіля.
На нижче наведеному зображенні показано радіо, яке знаходиться всередині нижньої частини рами.
![Figure 25](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig25.jpg)
![Figure 25](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig25.jpg)
7. Монтаж Pixhawk 4 на плату.
Використовуйте двосторонній скотч для кріплення Pixhawk 4 до центральної пластини:
Використовуйте двосторонній скотч для кріплення Pixhawk 4 до центральної пластини:
![Figure 26](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig26.jpg)
![Figure 26](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig26.jpg)
![Figure 27](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig27.jpg)
![Figure 27](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig27.jpg)
![Figure 28](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig28.jpg)
![Figure 28](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig28.jpg)
Наступним кроком є монтаж Pixhawk 4 на плату до рами.
Для цього нам знадобляться винти M2 5X6.
Вирівняйте пластину з рамою та вставте гвинти.
Перед тим як встановлювати плату, ми рекомендуємо накласти стрічку на модуль живлення (таким чином він буде щільно фіксуватися).
Наступним кроком є монтаж Pixhawk 4 на плату до рами.
Для цього нам знадобляться винти M2 5X6.
Вирівняйте пластину з рамою та вставте гвинти.
Перед тим як встановлювати плату, ми рекомендуємо накласти стрічку на модуль живлення (таким чином він буде щільно фіксуватися).
![Figure 29](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig29.jpg)
![Figure 29](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig29.jpg)
![Figure 30](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig30.jpg)
![Figure 30](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig30.jpg)
8. Збирання кронштейну батареї до рами.
Для цього нам знадобляться винти M2 5X6 та кріплення батареї:
Для цього нам знадобляться винти M2 5X6 та кріплення батареї:
![Figure 31](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig31.jpg)
![Figure 31](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig31.jpg)
Вставте довгі важі в маленькі кільця:
Вставте довгі важі в маленькі кільця:
![Figure 32](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig32.png)
![Figure 32](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig32.png)
![Figure 33](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig33.png)
![Figure 33](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig33.png)
Додайте це до рами, переконайтеся, що всі чотири сторони вирівняні для вставки гвинтів:
Додайте це до рами, переконайтеся, що всі чотири сторони вирівняні для вставки гвинтів:
![Figure 34](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig34.jpg)
![Figure 34](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig34.jpg)
Зберіть маленьку пластину до ніг та відкрутіть по всіх чотирьох сторонах.
Зберіть маленьку пластину до ніг та відкрутіть по всіх чотирьох сторонах.
![Figure 35](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig35.jpg)
![Figure 35](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig35.jpg)
Останнім кроком є закріплення плати:
Останнім кроком є закріплення плати:
![Figure 36](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig36.jpg)
![Figure 36](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig36.jpg)
9. Підключення Pixhawk 4. Pixhawk 4, який має кілька різних дротів та з'єднань з ним.
Нижче наведено зображення кожного дроту, який потрібен з Pixhawk, і його вигляд підключення.
Нижче наведено зображення кожного дроту, який потрібен з Pixhawk, і його вигляд підключення.
10. Підключіть модуль телеметрії та GPS до контролера польоту, як показано на рисунку 37; підключіть RC приймач, всі 4 ESC до контролера польоту, а також модуль живлення.
![Figure 37](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig37.png)
![Figure 37](../../assets/airframes/multicopter/s500_holybro_pixhawk4/s500_fig37.png)
Після повної збірки комплект виглядає як показано нижче:
@@ -93,92 +93,92 @@ _Figure 1_: X500 V2 ARF Kit what's inside
Орієнтовний час збірки - 55 хвилин (25 хвилин на раму, 30 хвилин на встановлення/налаштування автопілота)
1. Start by assembling the payload & battery holder.
Втисніть гумки в захоплювачі (не використовуйте гострі предмети, щоб їх втиснути в них!).
Далі пропустіть тримачі через планки тримача з основами тримача батарей, як показано на рисунку 3.
Втисніть гумки в захоплювачі (не використовуйте гострі предмети, щоб їх втиснути в них!).
Далі пропустіть тримачі через планки тримача з основами тримача батарей, як показано на рисунку 3.
![Landing Figure 1: Components](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/payload_holder_required_stuff.png)
![Landing Figure 1: Components](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/payload_holder_required_stuff.png)
_Figure 2_: Payload holder components
_Figure 2_: Payload holder components
![Landing Figure 2: Assembled](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/payload_holder_assembled.png)
![Landing Figure 2: Assembled](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/payload_holder_assembled.png)
_Figure 3_: Payload holder assembled
_Figure 3_: Payload holder assembled
2. Наступним кроком буде прикріплення нижньої пластини до тримача вантажу.
Вам знадобляться деталі, як показано на рисунку 4.
Потім встановіть основу для розподільної плати живлення, використовуючи нейлонові гайки, як зображено на Рис. 5.
Нарешті, використовуючи 8 шестигранних гвинтів, ви можете приєднати нижню пластину до тримача навантаження (Рисунок 7)
Вам знадобляться деталі, як показано на рисунку 4.
Потім встановіть основу для розподільної плати живлення, використовуючи нейлонові гайки, як зображено на Рис. 5.
Нарешті, використовуючи 8 шестигранних гвинтів, ви можете приєднати нижню пластину до тримача навантаження (Рисунок 7)
![Materials to attach bottom plate](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/topplate_holder_stuff.png)
![Materials to attach bottom plate](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/topplate_holder_stuff.png)
_Figure 4_: Needed Materials
_Figure 4_: Needed Materials
![PDB mountbase](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/powerboard-mountbase.png)
![PDB mountbase](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/powerboard-mountbase.png)
_Figure 5_: PDB mount base
_Figure 5_: PDB mount base
![PDB attachment](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/pdb_bottom_plate.png)
![PDB attachment](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/pdb_bottom_plate.png)
_Figure 6_: Mounted pdb with nylon nuts
_Figure 6_: Mounted pdb with nylon nuts
![Bottom plate Final](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/bottom_plate_holder_final.png)
![Bottom plate Final](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/bottom_plate_holder_final.png)
_Figure 7_: Mounted Plate on payload holder
_Figure 7_: Mounted Plate on payload holder
3. Давайте зберемо речі, необхідні для монтажу посадкового шасі, як на рисунку 8.
Використовуйте гвинти, щоб приєднати посадкові шасі до нижньої пластини.
Також потрібно відкрити три шестигранних гвинти на кожній з ніжок, щоб ви могли вставити їх у вуглецеві труби.
Не забудьте знову їх затягнути.
Використовуйте гвинти, щоб приєднати посадкові шасі до нижньої пластини.
Також потрібно відкрити три шестигранних гвинти на кожній з ніжок, щоб ви могли вставити їх у вуглецеві труби.
Не забудьте знову їх затягнути.
![Attach Landing Gear Stuff](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/landing_gear_materials.png)
![Attach Landing Gear Stuff](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/landing_gear_materials.png)
_Figure 8_: Required parts for landing gear attachment
_Figure 8_: Required parts for landing gear attachment
![Lanfing great to bottom plate](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/attached_landing_gear.png)
![Lanfing great to bottom plate](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/attached_landing_gear.png)
_Figure 9_: Landing gear attachment to the body
_Figure 9_: Landing gear attachment to the body
4. Зараз ми зберемо все оснащення, щоб встановити верхню пластину.
Прошу звернути увагу, що номери моторів на кронштейнах відповідають тим, що згадані на верхній платі.
На щастя, мотори встановлені, а ESCs були з'єднані заздалегідь.
Почніть, проходячи через всі гвинти, так як ви зафіксували кронштейни на їхніх власних місцях (Вони мають направляючий елемент, як показано на рисунку 11, щоб переконатися, що вони на місці), і трохи підтягніть всі нейлонові гайки.
Потім ви зможете підключити роз'єми живлення XT30 до плати живлення.
Пам'ятайте, що дроти сигналу повинні бути проведені через верхню пластину так, що ми зможемо пізніше їх підключити до Pixhawk.
Прошу звернути увагу, що номери моторів на кронштейнах відповідають тим, що згадані на верхній платі.
На щастя, мотори встановлені, а ESCs були з'єднані заздалегідь.
Почніть, проходячи через всі гвинти, так як ви зафіксували кронштейни на їхніх власних місцях (Вони мають направляючий елемент, як показано на рисунку 11, щоб переконатися, що вони на місці), і трохи підтягніть всі нейлонові гайки.
Потім ви зможете підключити роз'єми живлення XT30 до плати живлення.
Пам'ятайте, що дроти сигналу повинні бути проведені через верхню пластину так, що ми зможемо пізніше їх підключити до Pixhawk.
<img src="../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/needed_stuff_top_plate.png" width="700" title="Arms and top plate materials">
<img src="../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/needed_stuff_top_plate.png" width="700" title="Arms and top plate materials">
_Figure 10_: Connecting arms needed materials.
_Figure 10_: Connecting arms needed materials.
<img src="../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/guide_for_arm_mount.png" width="700" title="Guide for the arms mount">
<img src="../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/guide_for_arm_mount.png" width="700" title="Guide for the arms mount">
_Figure 11_: Guide for the arms mount
_Figure 11_: Guide for the arms mount
5. Для затягування всіх 16 гвинтів і гайок використовуйте як шестигранний ключ, так і гайковий ключ.
![Top plae mounted](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/finalized_top_plate.png)
![Top plae mounted](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/finalized_top_plate.png)
_Figure 12_: Mounted top plate
_Figure 12_: Mounted top plate
6. Наступним кроком ви можете закріпити свій pixhawk на верхній плиті, використовуючи наклейки.
Рекомендується мати напрямок стрілки вашого Pixhawk таким же, як зазначено на верхній плиті.
Рекомендується мати напрямок стрілки вашого Pixhawk таким же, як зазначено на верхній плиті.
![Flight controller mounting stickers](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/pixhawk5x_stickertapes.png)
![Flight controller mounting stickers](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/pixhawk5x_stickertapes.png)
_Figure 13_: Sticker tapes on Pixhawk
_Figure 13_: Sticker tapes on Pixhawk
7. Якщо ви хочете встановити GPS на плату компаньйона-комп'ютера, тепер ви можете закріпити кріплення GPS на ній за допомогою 4 гвинтів і гайок.
<img src="../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/gps_mount_plate.png" width="400" title="Secure GPS mount onto companion plate">
<img src="../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/gps_mount_plate.png" width="400" title="Secure GPS mount onto companion plate">
_Figure 14_: Secure GPS mount onto companion plate
_Figure 14_: Secure GPS mount onto companion plate
8. За допомогою скотча приклейте GPS до верхньої частини GPS-щогли і встановіть її на щоглу.
Переконайтеся, що стрілка на gps вказує вперед (зображення 15).
Переконайтеся, що стрілка на gps вказує вперед (зображення 15).
<img src="../../assets/airframes/multicopter/x500_holybro_pixhawk4/gps2.jpg" width="400" title="Figure 16: GPS and mast">
<img src="../../assets/airframes/multicopter/x500_holybro_pixhawk4/gps2.jpg" width="400" title="Figure 16: GPS and mast">
_Figure 15_: GPS and mast
_Figure 15_: GPS and mast
9. Наразі ви можете підключити інтерфейси Pixhawk, такі як телеметрійне радіо до 'TELEM1' та відповідно кабелі сигналів для моторів.
@@ -81,125 +81,125 @@ Additionally you will need a battery and receiver ([compatible radio system](../
Час збірки (приблизно): 3.75 години (180 хвилин на раму, 45 хвилин на встановлення/налаштування автопілота)
1. Почніть зі збирання шасі.
Відкрутіть гвинти шасі і вставте вертикальну стійку (зобр. 1 і 2).
Відкрутіть гвинти шасі і вставте вертикальну стійку (зобр. 1 і 2).
![Landing Figure 1: Components](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_step_1_fig1.jpg)
![Landing Figure 1: Components](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_step_1_fig1.jpg)
_Figure 2_: Landing gear components
_Figure 2_: Landing gear components
![Landing Figure 2: Assembled](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_step_1_fig2.jpg)
![Landing Figure 2: Assembled](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_step_1_fig2.jpg)
_Figure 2_: Landing gear assembled
_Figure 2_: Landing gear assembled
2. Потім просуньте 4 кронштейни через 4 основи двигуна, як показано на малюнку 3.
Переконайтеся, що штанги злегка виступають з основи і є однаковими на всіх 4-х плечах, а також переконайтеся, що дроти електродвигуна спрямовані назовні.
Переконайтеся, що штанги злегка виступають з основи і є однаковими на всіх 4-х плечах, а також переконайтеся, що дроти електродвигуна спрямовані назовні.
![Attach arms to motor bases](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_step_2_fig3.png)
![Attach arms to motor bases](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_step_2_fig3.png)
_Figure 3_: Attach arms to motor bases
_Figure 3_: Attach arms to motor bases
3. Вставте 4 нейлонові гвинти та нейлонові стійки і прикріпіть модуль живлення PM07 до нижньої панелі за допомогою 4 нейлонових гайок, як показано на зображенні 4.
![Attach power module](../../assets/airframes/multicopter/x500_holybro_pixhawk4/power_module.jpg)
![Attach power module](../../assets/airframes/multicopter/x500_holybro_pixhawk4/power_module.jpg)
_Figure 4_: Attach power module
_Figure 4_: Attach power module
4. Протягніть 4 двигуни ESC через кожне з кронштейнів і підключіть трижильні дроти до двигунів, як показано на зображенні 5.
<img src="../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_fig17.jpg" width="250" title="Connect motors">
<img src="../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_fig17.jpg" width="250" title="Connect motors">
_Figure 5_: Connect motors
_Figure 5_: Connect motors
5. Connect the ESCs power wires onto the power module PM07, black->black and red->red, ESC PWM signal wires goes to "FMU-PWM-Out".
Переконайтеся, що ви підключили дроти ШІМ ESC двигуна в правильному порядку.
Номер двигуна повітряного корпусу дивіться на зображенні 7 і підключіть його до відповідного номера на платі PM07.
Переконайтеся, що ви підключили дроти ШІМ ESC двигуна в правильному порядку.
Номер двигуна повітряного корпусу дивіться на зображенні 7 і підключіть його до відповідного номера на платі PM07.
![ESC power module and signal wiring](../../assets/airframes/multicopter/x500_holybro_pixhawk4/pm07_pwm.jpg)
_Figure 7_: ESC power module and signal wiring
![ESC power module and signal wiring](../../assets/airframes/multicopter/x500_holybro_pixhawk4/pm07_pwm.jpg)
_Figure 7_: ESC power module and signal wiring
Колір на верхній частині двигуна вказує на напрямок обертання (зображення 7-1), чорний кінчик - за годинниковою стрілкою, а білий - проти годинникової стрілки.
Переконайтеся, що при виборі напрямку двигуна ви дотримуєтесь орієнтира px4 quadrotor x airframe (зображення 7-2).
Колір на верхній частині двигуна вказує на напрямок обертання (зображення 7-1), чорний кінчик - за годинниковою стрілкою, а білий - проти годинникової стрілки.
Переконайтеся, що при виборі напрямку двигуна ви дотримуєтесь орієнтира px4 quadrotor x airframe (зображення 7-2).
<img src="../../assets/airframes/multicopter/x500_holybro_pixhawk4/quadx.png" width="240">
<img src="../../assets/airframes/multicopter/x500_holybro_pixhawk4/quadx.png" width="240">
_Figure 7_: Motor order/direction diagram
_Figure 7_: Motor order/direction diagram
<img src="../../assets/airframes/multicopter/x500_holybro_pixhawk4/motor_direction1.jpg" width="400">
<img src="../../assets/airframes/multicopter/x500_holybro_pixhawk4/motor_direction1.jpg" width="400">
_Figure 7-1_: Motor direction
_Figure 7-1_: Motor direction
6. Підключіть 10-контактні кабелі до FMU-PWM-in, а 6-контактні - до PWR1 на модулі живлення PM07.
![Flight controller/Power module PWM and Power connections](../../assets/airframes/multicopter/x500_holybro_pixhawk4/pm07_cable.jpg)
![Flight controller/Power module PWM and Power connections](../../assets/airframes/multicopter/x500_holybro_pixhawk4/pm07_cable.jpg)
_Figure 8_: Power module PWM and power wiring
_Figure 8_: Power module PWM and power wiring
7. Якщо ви хочете встановити GPS на верхній панелі, то тепер ви можете закріпити кріплення GPS на верхній панелі за допомогою 4 гвинтів і гайок.
<img src="../../assets/airframes/multicopter/x500_holybro_pixhawk4/gpsmount.jpg" width="400" title="Secure GPS mount onto top plate">
<img src="../../assets/airframes/multicopter/x500_holybro_pixhawk4/gpsmount.jpg" width="400" title="Secure GPS mount onto top plate">
_Figure 9_: Secure GPS mount onto top plate
_Figure 9_: Secure GPS mount onto top plate
8. Протягніть кабелі PM07 через верхню пластину.
З'єднайте верхню і нижню пластини за допомогою 4 U-подібних нейлонових ременів, гвинтів і гайок з кожного боку, переконайтеся, що кабелі ESC двигуна знаходяться всередині U-подібних нейлонових ременів, як показано на зображенні 10, гайки не затягуйте.
З'єднайте верхню і нижню пластини за допомогою 4 U-подібних нейлонових ременів, гвинтів і гайок з кожного боку, переконайтеся, що кабелі ESC двигуна знаходяться всередині U-подібних нейлонових ременів, як показано на зображенні 10, гайки не затягуйте.
<img src="../../assets/airframes/multicopter/x500_holybro_pixhawk4/top_plate.jpg" width="300">
<img src="../../assets/airframes/multicopter/x500_holybro_pixhawk4/top_plate.jpg" width="300">
_Figure 10-1_: Feed power module cables through top plate
_Figure 10-1_: Feed power module cables through top plate
<img src="../../assets/airframes/multicopter/x500_holybro_pixhawk4/ushape.jpg" width="355" title="Connecting top and bottom plate">
<img src="../../assets/airframes/multicopter/x500_holybro_pixhawk4/ushape.jpg" width="355" title="Connecting top and bottom plate">
_Figure 10-2_: Connecting top and bottom plate
_Figure 10-2_: Connecting top and bottom plate
9. Трохи всуньте трубки кронштейнів у раму і переконайтеся, що величина виступу (червоний квадрат на зображенні 11) є однаковою на всіх 4-х кронштейнах.
Переконайтеся, що всі двигуни спрямовані прямо вгору, а потім затягніть усі гайки та гвинти.
Переконайтеся, що всі двигуни спрямовані прямо вгору, а потім затягніть усі гайки та гвинти.
![Arms 3](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_fig16.jpg)
![Arms 3](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_fig16.jpg)
10. Вставте прокладки для підвісів у 4 підвіси та закріпіть їх на нижній пластині за допомогою 8 шестигранних гвинтів (Зображення 11).
Отвори для гвинтів позначені білою стрілкою на зображенні 12.
Ми рекомендуємо нахилити дрон убік, щоб полегшити встановлення.
Отвори для гвинтів позначені білою стрілкою на зображенні 12.
Ми рекомендуємо нахилити дрон убік, щоб полегшити встановлення.
<img src="../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_fig9.png" width="400" title="Hanger gaskets">
<img src="../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_fig9.png" width="400" title="Hanger gaskets">
_Figure 11_: Hanger gaskets
_Figure 11_: Hanger gaskets
![Battery Mount 4](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_fig10.jpg)
![Battery Mount 4](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_fig10.jpg)
_Figure 12_: Screw holes
_Figure 12_: Screw holes
11. Вставте направляючі планки на кільця кріплення (зображення 13).
Зберіть кріплення для батареї та плату платформи і встановіть їх на направляючі, як показано на зображенні 14.
Зберіть кріплення для батареї та плату платформи і встановіть їх на направляючі, як показано на зображенні 14.
![Battery Mount 2: Slide bars](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_fig8.png)
![Battery Mount 2: Slide bars](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_fig8.png)
_Figure 13_: Slide bars
_Figure 13_: Slide bars
<img src="../../assets/airframes/multicopter/x500_holybro_pixhawk4/battery_mount1.jpg" width="400" title="Battery mount on slide bars">
<img src="../../assets/airframes/multicopter/x500_holybro_pixhawk4/battery_mount1.jpg" width="400" title="Battery mount on slide bars">
_Figure 14_: Battery mount on slide bars
_Figure 14_: Battery mount on slide bars
12. Встановіть шасі на нижню пластину.
Ми рекомендуємо нахилити дрон убік, щоб полегшити встановлення.
Ми рекомендуємо нахилити дрон убік, щоб полегшити встановлення.
![Landing Gear](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_fig5.jpg)
![Landing Gear](../../assets/airframes/multicopter/x500_holybro_pixhawk4/x500_fig5.jpg)
_Figure 15_: Landing Gear
_Figure 15_: Landing Gear
13. За допомогою скотча приклейте GPS до верхньої частини GPS-щогли і встановіть її на щоглу.
Переконайтеся, що стрілка на gps вказує вперед (зображення 16).
Переконайтеся, що стрілка на gps вказує вперед (зображення 16).
<img src="../../assets/airframes/multicopter/x500_holybro_pixhawk4/gps2.jpg" width="400" title="Figure 16: GPS and mast">
<img src="../../assets/airframes/multicopter/x500_holybro_pixhawk4/gps2.jpg" width="400" title="Figure 16: GPS and mast">
_Figure 16_: GPS and mast
_Figure 16_: GPS and mast
14. Встановіть телеметричну радіостанцію на верхню пластину.
Plug the telemetry cable into `TELEM1` port and GPS module to `GPS MODULE` port on the flight controller.
Plug the cable from PM07 `FMU-PWM-in` to `I/O-PWM-out`on the FC and PM07 `PWR1` to `POWER1` on the FC, as shown in Figure 17.
Plug the telemetry cable into `TELEM1` port and GPS module to `GPS MODULE` port on the flight controller.
Plug the cable from PM07 `FMU-PWM-in` to `I/O-PWM-out`on the FC and PM07 `PWR1` to `POWER1` on the FC, as shown in Figure 17.
![Pixhawk 4 wiring 1](../../assets/airframes/multicopter/x500_holybro_pixhawk4/fc_connections.jpg)
![Pixhawk 4 wiring 1](../../assets/airframes/multicopter/x500_holybro_pixhawk4/fc_connections.jpg)
_Figure 17_: Mount telemetry radio/plug in PWM and Power cables to Flight controller.
_Figure 17_: Mount telemetry radio/plug in PWM and Power cables to Flight controller.
Please refer to [Pixhawk 4 Quick Start](../assembly/quick_start_pixhawk4.md) for more information.
@@ -18,21 +18,21 @@ This topic provides full instructions for building the [Holybro X500 V2 ARF Kit]
**Screw**- Sunk Screw M2.5\*6 12pcs
1. Вставте резинове кільце підвіски-висувки в кожну з їхніх відповідних підвісок.
Не використовуйте гострi предмети для натискання резинок всередині.
Не використовуйте гострi предмети для натискання резинок всередині.
[![Assembly1](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly1.png)](https://www.youtube.com/watch?v=4Tid-FCP_aI)
[![Assembly1](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly1.png)](https://www.youtube.com/watch?v=4Tid-FCP_aI)
2. Take the battery mounting board and screw it with the slide bar clip using the Sunk Screw M2.5\*6.
[![Assembly2](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly2.png)](https://youtu.be/9E-rld6tPWQ)
[![Assembly2](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly2.png)](https://youtu.be/9E-rld6tPWQ)
3. Screw 4 hangers to the Platform Board using Sunk Screw M2.5\*6.
[![Assembly3](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly3.png)](https://youtu.be/4qIBABc9KsY))
[![Assembly3](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly3.png)](https://youtu.be/4qIBABc9KsY))
4. Візьміть зациклювальну планку та вставте 4 вісця, щоб прикрутити до нижньої плати пізніше.
[![Assembly4](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly4.png)](https://youtu.be/CFx6Ct7FCIc))
[![Assembly4](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly4.png)](https://youtu.be/CFx6Ct7FCIc))
5. Now insert the battery holder and payload holders assembled in step 2 & 3
@@ -44,11 +44,11 @@ This topic provides full instructions for building the [Holybro X500 V2 ARF Kit]
1. Take the bottom plate and insert 4 M3\*14 screws and fasten the nylon standoffs on the same.
[![Assembly6](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly6.png)](https://youtu.be/IfsMXTr3Uy4)
[![Assembly6](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly6.png)](https://youtu.be/IfsMXTr3Uy4)
2. Розмістіть Планку розподілу живлення та використовуйте гайки-самостопорювачі для їх збирання. Модуль живлення PM02 (для Pixhawk 6C) буде живити цю плату
[![Assembly7](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly7.png)](https://youtu.be/Qjs6pqarRIY)
[![Assembly7](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly7.png)](https://youtu.be/Qjs6pqarRIY)
3. Use Socket Cap Screws M2.5\*6 and screw the bottom plate on the 4 hangers (that we inserted in the 2 bars on the 3rd step of the payload holder assembly)
@@ -56,15 +56,15 @@ This topic provides full instructions for building the [Holybro X500 V2 ARF Kit]
1. Для збирання станції шасі відкрутіть заздалегідь складені винти шасі - перекрестна стрічка та вставте шасі - вертикальний стовп і затягніть той же.
[![Assembly8](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly8.png)](https://youtu.be/mU4vm4zyjcY)
[![Assembly8](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly8.png)](https://youtu.be/mU4vm4zyjcY)
[![Assembly9](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly9.png)](https://youtu.be/7REaF3YAqLg)
[![Assembly9](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly9.png)](https://youtu.be/7REaF3YAqLg)
2. Use the Socket Cap Screw M3\*8 to screw the landing gears to the bottom plate
[![Assembly11](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly11.png)](https://youtu.be/iDxzWeyCN54)
[![Assembly11](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly11.png)](https://youtu.be/iDxzWeyCN54)
[![Assembly12](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly12.png)](https://youtu.be/3fNJQraCJx0)
[![Assembly12](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly12.png)](https://youtu.be/3fNJQraCJx0)
Оскільки важко вставити проводи після того, як верхня плита складена, зробіть проводку заздалегідь.
Хоча дизайн добре спроектований таким чином, що ви зможете зробити це пізніше також.
@@ -92,28 +92,28 @@ Pixhawk 6C запитується за допомогою плати живле
1. Поставити руки досить просто, оскільки двигуни поставляються вже зібраними.
- Переконайтесь, що у вас є правильна пронумерована рука з мотором на відповідному боці.
- Переконайтесь, що у вас є правильна пронумерована рука з мотором на відповідному боці.
[![Assembly15](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly15.png)](https://youtu.be/45KCey3WiJ4)
[![Assembly15](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly15.png)](https://youtu.be/45KCey3WiJ4)
:::tip
Use your allen keys/ any elongated item and insert it on the opposite side of the bolt that you're trying to fasten.
:::tip
Use your allen keys/ any elongated item and insert it on the opposite side of the bolt that you're trying to fasten.
:::
2. Возьміть одну руку та вставте прямокутний виступ всередину прямокутного порожнини на нижній плиті.
[![Assembly16](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly16.png)](https://youtu.be/GOTqmjq9_3s)
[![Assembly16](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly16.png)](https://youtu.be/GOTqmjq9_3s)
3. While inserting the top plate on top of this the 3 piece assembly (bottom plate, top plate & arms) have to screwed using Socket Cap Screw M3\*38 and Flange Locknut M3.
4. Утримуйте одну сторону, використовуючи міні-гайковий ключ, який надається у розробницькому комплекті.
[![Assembly17](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly17.png)](https://youtu.be/2rcNVekJQd0)
[![Assembly17](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly17.png)](https://youtu.be/2rcNVekJQd0)
5. Не зав'язуйте жодних болтів, поки всі 3 мотори не будуть на місці, оскільки це може зробити складним збирання 3-го та 4-го моторів.
[![Assembly18](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly18.png)](https://youtu.be/SlKRuNoE_AY)
[![Assembly18](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly18.png)](https://youtu.be/SlKRuNoE_AY)
### Пропелери
@@ -132,13 +132,13 @@ Pixhawk 6C запитується за допомогою плати живле
1. Зберіть GPS, дотримуючись відео.
[![Assembly20](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly20.png)](https://youtu.be/aiFxVJFjlos)
[![Assembly20](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly20.png)](https://youtu.be/aiFxVJFjlos)
У цьому посібнику використовується місце кріплення GPS, запропоноване в посібнику Holybro.
У цьому посібнику використовується місце кріплення GPS, запропоноване в посібнику Holybro.
2. Screw the GPS mount’s bottom end on the payload holder side using Locknut M3 & Screw M3\*10
[![Assembly21](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly21.png)](https://youtu.be/uG5UKy3FrIc)
[![Assembly21](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly21.png)](https://youtu.be/uG5UKy3FrIc)
### Pixhawk 6C
@@ -67,45 +67,45 @@ The _Falcon Vertigo Hybrid VTOL_ is a quadplane VTOL aircraft that has been desi
1. Нанесіть клей Gorilla всередину кронштейнів крила, як показано.
![Add glue on wing brackets](../../assets/airframes/vtol/falcon_vertigo/wing_brackets_glue.jpg)
![Add glue on wing brackets](../../assets/airframes/vtol/falcon_vertigo/wing_brackets_glue.jpg)
2. Вкріпіть карбонову трубку в держаки. Для вирівнювання піддона та трубки слід використовувати білу позначку (як показано на зображенні).
::: info
This is very important because the white mark indicates the center of gravity.
::: info
This is very important because the white mark indicates the center of gravity.
:::
<img src="../../assets/airframes/vtol/falcon_vertigo/carbon_tube_in_brackets.jpg" title="Carbon tube in brackets" width="300px" />
<img src="../../assets/airframes/vtol/falcon_vertigo/carbon_tube_in_brackets.jpg" title="Carbon tube in brackets" width="300px" />
3. Наступні зображення показують вирівнювання стержнів з інших точок зору:
![quad motor frame rod alignment from bottom](../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_9_bottom_view_rod_alignment.jpg)
![quad motor frame rod alignment schematic](../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_11_rod_alignment_schamatic.jpg)
![quad motor frame rod alignment from bottom](../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_9_bottom_view_rod_alignment.jpg)
![quad motor frame rod alignment schematic](../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_11_rod_alignment_schamatic.jpg)
### Крок 2: Прикріпіть крила
1. Вставте обидві вуглецеві труби в фюзеляж.
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_15_fuselage_tubes.jpg" width="500px" title="Fuselage carbon tubes" />
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_15_fuselage_tubes.jpg" width="500px" title="Fuselage carbon tubes" />
2. Нанесіть клей gorilla між двома білими позначками на кожну трубку (вказано червоними стрілками). Білий знак по центру (синя стрілка) буде розміщений в центрі фюзеляжу, а інші знаки - по боках.
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_13_rod_apply_glue.jpg" width="500px" title="Apply glue to rod" />
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_13_rod_apply_glue.jpg" width="500px" title="Apply glue to rod" />
3. Після того, як вуглецеві трубки знаходяться всередині фюзеляжу, розподіліть клей gorilla на решту трубки та прикріпіть крила.
4. Фюзеляж має два отвори для кабелів двигуна та сервоприводів. Пропустіть кабелі через отвори, а потім приєднайте крила до фюзеляжу.
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_17_fuselage_holes_cables.jpg" width="500px" title="Fuselage holes for cables" />
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_17_fuselage_holes_cables.jpg" width="500px" title="Fuselage holes for cables" />
5. Усередині фюзеляжу під'єднайте сигнальні кабелі, які ви щойно прокинули з крил до регулятора ESC, використовуючи надані роз'єми. Регулятори швидкості ESC вже підключені до двигунів і налаштовані на обертання в правильному порядку (вам потрібно буде підключити ESC PDB до модуля живлення на пізнішому етапі).
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_19_connect_esc_power_and_signal_cables.jpg" width="500px" title="Connect ESC power and signal cables" />
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_19_connect_esc_power_and_signal_cables.jpg" width="500px" title="Connect ESC power and signal cables" />
6. Так само, як і з ESC, сервопристосування вже встановлені. Підключіть сигнальний кабель з крила (проходить через фюзеляж) до контролера польоту.
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_21_connect_servo_cables.jpg" width="500px" title="Connect servo cables" />
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_21_connect_servo_cables.jpg" width="500px" title="Connect servo cables" />
7. Повторіть ці кроки для іньшого крила.
@@ -123,11 +123,11 @@ General information about connecting Dropix can be found in [Dropix Flight Contr
1. Підключіть ЕСС до модуля живлення за допомогою роз'єму XT60
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_25_aileron_esc_connections.jpg" width="500px" title="" />
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_25_aileron_esc_connections.jpg" width="500px" title="" />
2. Передайте кабелі сигналів до контролера польоту
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_27_gps_esc_servo_connections.jpg" width="500px" title="GPS, ESC, Servo connections" />
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_27_gps_esc_servo_connections.jpg" width="500px" title="GPS, ESC, Servo connections" />
#### Підключення двигуна
@@ -162,7 +162,7 @@ The geometry and output assignment can be configured in the [Actuators Configura
3. Підключіть кабель сигналу двигуна дроселя від ESC до відповідного допоміжного порту контролера польоту. Підключіть ESC до регулятора газу.
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_37_connect_throttle_motor.jpg" width="500px" title="Connect throttle motor" />
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_37_connect_throttle_motor.jpg" width="500px" title="Connect throttle motor" />
4. Підключіть приймач (RC IN).
@@ -176,7 +176,7 @@ The geometry and output assignment can be configured in the [Actuators Configura
1. Підключіть телеметрію, датчик швидкості, GPS, гудок та безпечний перемикач, як показано.
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_39_connect_sensors.jpg" width="500px" title="Connect sensors" />
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_39_connect_sensors.jpg" width="500px" title="Connect sensors" />
#### Контролер польоту: Підключіть модуль живлення та зовнішній USB
@@ -184,7 +184,7 @@ The geometry and output assignment can be configured in the [Actuators Configura
1. Підключіть живлення та USB, як показано
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_41_connect_power_module_usb.jpg" width="500px" title="Connect power module and USB" />
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_41_connect_power_module_usb.jpg" width="500px" title="Connect power module and USB" />
:::tip
The external USB is optional.
@@ -201,27 +201,27 @@ It is important that nothing obstructs airflow to the Pitot tube. Це крит
1. Встановіть трубку Піто у передній частині літака
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_43_airspeed_sensor_mounting.jpg" width="500px" title="Airspeed sensor mounting" />
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_43_airspeed_sensor_mounting.jpg" width="500px" title="Airspeed sensor mounting" />
2. Зафіксуйте з'єднуючі трубки та переконайтеся, що вони не зігнуті / пом'яті.
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_45_airspeed_sensor_tubing.jpg" width="500px" title="Airspeed sensor mounting" />
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_45_airspeed_sensor_tubing.jpg" width="500px" title="Airspeed sensor mounting" />
3. Підключіть трубки до датчика швидкості.
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_47_connect_airspeed_sensor_tubing.jpg" width="500px" title="Connect airspeed sensor and tubing" />
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_47_connect_airspeed_sensor_tubing.jpg" width="500px" title="Connect airspeed sensor and tubing" />
#### Встановлення/підключення приймача та модуля телеметрії
1. Вставте приймач та телеметричний модуль на зовнішню сторону рами транспортного засобу.
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_49_receiver_mounting.jpg" width="500px" title="Paste receiver" />
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_49_receiver_mounting.jpg" width="500px" title="Paste receiver" />
2. Connect the receiver to the RC IN port on the _back_ of the dropix, as shown above (also see the [flight controller instructions](#dropix_back)).
3. Connect the telemetry module to the _front_ of the flight controller as shown below (see the [flight controller instructions](#dropix_front) for more detail on the pins).
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_51_telemetry_module_mounting.jpg" width="500px" title="Paste telemetry module" />
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_51_telemetry_module_mounting.jpg" width="500px" title="Paste telemetry module" />
<a id="compass_gps"></a>
@@ -237,7 +237,7 @@ It is important that nothing obstructs airflow to the Pitot tube. Це крит
1. Встановіть орієнтацію вашого політ контролеру на 270 градусів.
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_53_flight_controller_orientation.jpg" width="500px" title="Flight controller orientation" />
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_53_flight_controller_orientation.jpg" width="500px" title="Flight controller orientation" />
2. Закріпіть контролер на місці за допомогою піни для поглинання вібрації.
@@ -247,21 +247,21 @@ It is important that nothing obstructs airflow to the Pitot tube. Це крит
1. Перевірте, що двигуни обертаються у правильних напрямках (як у діаграмі QuadX нижче).
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_35_quad_motor_directions.png" width="200px" title="Quad motor order/directions" />
<img src="../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_35_quad_motor_directions.png" width="200px" title="Quad motor order/directions" />
::: info
If necessary the servo direction can be reversed using the `Rev Range (for servos)` checkbox associated with each servo output in the QGroundControl [Actuator Output](../config/actuators.md#actuator-outputs) configuration (for servos only) (this sets the [PWM_AUX_REV](../advanced_config/parameter_reference.md#PWM_AUX_REV) or [PWM_AUX_MAIN](../advanced_config/parameter_reference.md#PWM_MAIN_REV) parameter).
::: info
If necessary the servo direction can be reversed using the `Rev Range (for servos)` checkbox associated with each servo output in the QGroundControl [Actuator Output](../config/actuators.md#actuator-outputs) configuration (for servos only) (this sets the [PWM_AUX_REV](../advanced_config/parameter_reference.md#PWM_AUX_REV) or [PWM_AUX_MAIN](../advanced_config/parameter_reference.md#PWM_MAIN_REV) parameter).
:::
2. Перевірте, чи транспортний засіб збалансований навколо очікуваного центру мас
- Утримуйте транспортний засіб пальцями у центрі ваги та переконайтеся, що транспортний засіб залишається стабільним.
- Утримуйте транспортний засіб пальцями у центрі ваги та переконайтеся, що транспортний засіб залишається стабільним.
![Level Centre of Gravity](../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_57_level_centre_of_gravity.jpg)
![Level Centre of Gravity](../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_57_level_centre_of_gravity.jpg)
- Якщо транспортний засіб нахиляється вперед або назад, перемістіть двигуни, щоб утримати рівновагу.
- Якщо транспортний засіб нахиляється вперед або назад, перемістіть двигуни, щоб утримати рівновагу.
![Level Motors](../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_55_level_motors.jpg)
![Level Motors](../../assets/airframes/vtol/falcon_vertigo/falcon_vertigo_55_level_motors.jpg)
## Налаштування
@@ -271,7 +271,7 @@ Perform the normal [Basic Configuration](../config/index.md).
1. For [Airframe](../config/airframe.md) select the vehicle group/type as _Standard VTOL_ and the specific vehicle as [Generic Standard VTOL](../airframes/airframe_reference.md#vtol_standard_vtol_generic_standard_vtol) as shown below.
![QCG - Select Generic Standard VTOL](../../assets/qgc/setup/airframe/px4_frame_generic_standard_vtol.png)
![QCG - Select Generic Standard VTOL](../../assets/qgc/setup/airframe/px4_frame_generic_standard_vtol.png)
2. Set the [Autopilot Orientation](../config/flight_controller_orientation.md) to `ROTATION_YAW_270` as the autopilot is mounted [sideways](#flight_controller_orientation) with respect to the front of the vehicle. The compass is oriented forward, so you can leave that at the default (`ROTATION_NONE`).
@@ -99,33 +99,33 @@ Foxtech Loong 2160 VTOL - це легкий у монтажі майже гот
1. Вставте 10x різьбових вкладок M3 в піддон, як показано на малюнку:
![Основна плита з різбленими вставками](../../assets/airframes/vtol/foxtech_loong_2160/03-baseplate.jpg)
![Основна плита з різбленими вставками](../../assets/airframes/vtol/foxtech_loong_2160/03-baseplate.jpg)
2. Вставте 2x різьбові вставки M3 в пристрій для накладання, як показано на зображенні нижче:
![Фіксатор стекла з нарізними вкладками](../../assets/airframes/vtol/foxtech_loong_2160/04-stack-fixture.jpg)
![Фіксатор стекла з нарізними вкладками](../../assets/airframes/vtol/foxtech_loong_2160/04-stack-fixture.jpg)
3. Вставте 2x різьбові вкладки M4 в кріплення вентилятора та кріплення радіо, як показано на малюнку нижче.
![Кріплення радіо](../../assets/airframes/vtol/foxtech_loong_2160/05-radio-mount.jpg)
![Кріплення радіо](../../assets/airframes/vtol/foxtech_loong_2160/05-radio-mount.jpg)
Якщо ви хочете додати 40-мм вентилятор з напругою 5 В на кріплення вентилятора, вставте 4x вставки M3.
Якщо ви хочете додати 40-мм вентилятор з напругою 5 В на кріплення вентилятора, вставте 4x вставки M3.
![Fan-mount](../../assets/airframes/vtol/foxtech_loong_2160/06-fan-mount.jpg)
![Fan-mount](../../assets/airframes/vtol/foxtech_loong_2160/06-fan-mount.jpg)
4. Змініть кабельний роз'єм на роз'єм для сервоприводу, щоб його можна було вставити в шину сервоприводу для живлення.
::: info
Можливо знадобиться вентилятор, якщо використовується потужне радіо.
::: info
Можливо знадобиться вентилятор, якщо використовується потужне радіо.
:::
![Кріплення вентилятора](../../assets/airframes/vtol/foxtech_loong_2160/07-fan-mount.jpg)
![Кріплення вентилятора](../../assets/airframes/vtol/foxtech_loong_2160/07-fan-mount.jpg)
5. Вилучіть оригінальну кронштейнну пластину з автомобіля.
Приклейте кабелі до зовнішньої частини фюзеляжу.
Приклейте кабелі до зовнішньої частини фюзеляжу.
![Порожнє фюзеляж](../../assets/airframes/vtol/foxtech_loong_2160/08-preparations.jpg)
![Порожнє фюзеляж](../../assets/airframes/vtol/foxtech_loong_2160/08-preparations.jpg)
6. Перемістіть підставку в транспортний засіб.
@@ -142,9 +142,9 @@ Foxtech Loong 2160 VTOL - це легкий у монтажі майже гот
1. Вилучіть корпус з 40A PM.
2. Зафіксуйте ПМ з 2x M2x6mm до нижньої пластини.
3. Створіть кабель для подовження роз'єму XT60 до XT30, який закріплений на базовій платі.
З цим, живлення від акумулятора 6S може бути підключено безпосередньо до роз'єму XT30 за допомогою попередньо налаштованого кабелю, що поставляється з транспортним засобом.
З цим, живлення від акумулятора 6S може бути підключено безпосередньо до роз'єму XT30 за допомогою попередньо налаштованого кабелю, що поставляється з транспортним засобом.
![Встановлення модуля живлення 40A](../../assets/airframes/vtol/foxtech_loong_2160/10-40a-power-module.jpg)
![Встановлення модуля живлення 40A](../../assets/airframes/vtol/foxtech_loong_2160/10-40a-power-module.jpg)
Якщо потрібно, вихід 10V з радіопорту на PM також може бути викладений через XT30, який може бути встановлений поруч зі входом батареї 6S XT60.
@@ -153,17 +153,17 @@ Foxtech Loong 2160 VTOL - це легкий у монтажі майже гот
#### Трубка Піто
1. Датчик може бути встановлений за допомогою 2x винтів M3x16мм в передньому правому куті підставки.
Піклуйтесь, щоб конектор був звернутий у бік центру фюзеляжу.
Піклуйтесь, щоб конектор був звернутий у бік центру фюзеляжу.
![Встановлений датчик швидкості повітря](../../assets/airframes/vtol/foxtech_loong_2160/11-airspeed-sensor.jpg)
![Встановлений датчик швидкості повітря](../../assets/airframes/vtol/foxtech_loong_2160/11-airspeed-sensor.jpg)
Лише передню трубу (не так, як показано на картинці) використовується; іншу трубу можна видалити, оскільки наш досвід показав, що тиск всередині фюзеляжу достатній як статичний тиск.
Лише передню трубу (не так, як показано на картинці) використовується; іншу трубу можна видалити, оскільки наш досвід показав, що тиск всередині фюзеляжу достатній як статичний тиск.
2. Коли стек встановлено всередині фюзеляжу, труба, що йде з крила, та труба, що йде з датчика швидкості повітря, повинні бути з'єднані разом.
Використовуйте трохи слини (це найлегший спосіб) щоб з'єднати їх разом, а потім використовуйте термоусадочну трубку, щоб посилити з'єднання.
Використовуйте трохи слини (це найлегший спосіб) щоб з'єднати їх разом, а потім використовуйте термоусадочну трубку, щоб посилити з'єднання.
:::warning
Використовуйте джерело тепла обережно, оскільки піна починаєтся танути при високих температурах.
:::warning
Використовуйте джерело тепла обережно, оскільки піна починаєтся танути при високих температурах.
:::
@@ -175,22 +175,22 @@ Foxtech Loong 2160 VTOL - це легкий у монтажі майже гот
:::
1. Позначте місце для встановлення лідару за допомогою скотчу або ручки.
Виріжте отвір всередині оболонки з ПВХ та піни, щоб лідар вміщувався на місце.
Виріжте отвір всередині оболонки з ПВХ та піни, щоб лідар вміщувався на місце.
![Підготоване отвір лідару](../../assets/airframes/vtol/foxtech_loong_2160/12-lidar-01.jpg)
![Підготоване отвір лідару](../../assets/airframes/vtol/foxtech_loong_2160/12-lidar-01.jpg)
2. Закріпіть лідар з гарячим клеєм.
![Встановлений лідар](../../assets/airframes/vtol/foxtech_loong_2160/13-lidar-02.jpg)
![Встановлений лідар](../../assets/airframes/vtol/foxtech_loong_2160/13-lidar-02.jpg)
#### GPS/компас
1. Використовуйте двосторонній скотч для кріплення GPS на задній частині транспортного засобу під задньою засувкою.
![Встановлений GPS](../../assets/airframes//vtol/foxtech_loong_2160/14-gps.jpg)
![Встановлений GPS](../../assets/airframes//vtol/foxtech_loong_2160/14-gps.jpg)
Стрілка на GPS для орієнтації може бути проігнорована.
Орієнтацію буде визначено під час калібрування автопілота.
Стрілка на GPS для орієнтації може бути проігнорована.
Орієнтацію буде визначено під час калібрування автопілота.
### Політний контролер
@@ -203,15 +203,15 @@ Foxtech Loong 2160 VTOL - це легкий у монтажі майже гот
#### Skynode
1. Використовуйте 4x гвинти M3x8 для кріплення Skynode до підстави.
Переконайтеся, що верхня частина "A" спрямована вперед транспортного засобу.
Переконайтеся, що верхня частина "A" спрямована вперед транспортного засобу.
2. Вставте 40-амперний модуль живлення в верхній з двох роз'ємів живлення.
3. Вставте один (або якщо потрібно, два) USB адаптери в 4-контактні роз'єми JST-GH на задній частині Skynode та прокладіть їх до передньої панелі.
Виправте кабелі за допомогою хомутів-ґудзиків на місці.
Виправте кабелі за допомогою хомутів-ґудзиків на місці.
4. Приклейте розгалужувач I2C до правої передньої сторони підставки (Розгалужувач може бути використаний для підключення пристроїв ETH, таких як радіозв'язок.)
5. Підключіть розгалужувач I2C до порту ETH на задній панелі Skynode.
6. Вставте два 40-контактних кабелі у передню частину Skynode.
7. Підключіть USB-C кабель подовження та згинайте його впереду.
Згин повинен бути дуже тугим, щоб пластина влізла в дрон.
Згин повинен бути дуже тугим, щоб пластина влізла в дрон.
![Встановлений Skynode](../../assets/airframes/vtol/foxtech_loong_2160/15-skynode.jpg)
@@ -223,17 +223,17 @@ Foxtech Loong 2160 VTOL - це легкий у монтажі майже гот
1. Приклейте антени Skynode LTE до боку фюзеляжу, як показано на зображенні:
![Антени LTE](../../assets/airframes/vtol/foxtech_loong_2160/16-lte-antennas.jpg)
![Антени LTE](../../assets/airframes/vtol/foxtech_loong_2160/16-lte-antennas.jpg)
2. Якщо ви використовуєте модуль радіотелеметрії, ви можете встановити антени на верх фюзеляжу.
Зверху ви можете прямо встановити кабель подовження антени.
Зверху ви можете прямо встановити кабель подовження антени.
![WIFI-Антени-Фронтальні](../../assets/airframes/vtol/foxtech_loong_2160/17-antenna-front.jpg)
![WIFI-Антени-Фронтальні](../../assets/airframes/vtol/foxtech_loong_2160/17-antenna-front.jpg)
На задній частині ви можете використовувати адаптер антени з використанням технології 3D-друку.
Адаптер можна склеювати на місці гарячим клеєм.
На задній частині ви можете використовувати адаптер антени з використанням технології 3D-друку.
Адаптер можна склеювати на місці гарячим клеєм.
![Задня WIFI антена](../../assets/airframes/vtol/foxtech_loong_2160/19-rear-antenna.jpg)
![Задня WIFI антена](../../assets/airframes/vtol/foxtech_loong_2160/19-rear-antenna.jpg)
### Модуль потужності 12S
@@ -93,7 +93,7 @@ ZMO FPV в його початковому стані.
### ESC регулятори швидкості
1. Відпаяйте сигнальні контакти PWM та контакти заземлення ESC регулятора швидкості та припаяйте до контактів подовжувач сервоприводу.
Кабель повинен бути достатньо довгим, щоб підключити дріт до контактів FMU плати керування польотом.
Кабель повинен бути достатньо довгим, щоб підключити дріт до контактів FMU плати керування польотом.
2. Розпаяйте 3 роз’єми «банан» заднього двигуна (може не знадобитися для інтеграції Pixhawk 6).
@@ -103,17 +103,17 @@ ZMO FPV в його початковому стані.
5. Припаяйте сигнальні та GND-дроти до входу PWM ESC регулятора швидкості.
![ESC 01](../../assets/airframes/vtol/omp_hobby_zmo_fpv/esc-01.jpg)
![ESC 01](../../assets/airframes/vtol/omp_hobby_zmo_fpv/esc-01.jpg)
6. Зніміть гніздову вилку на ESC.
Це надасть вам більше місця для встановлення польотного контролера.
Це надасть вам більше місця для встановлення польотного контролера.
![ESC 02](../../assets/airframes/vtol/omp_hobby_zmo_fpv/esc-02.jpg)
![ESC 02](../../assets/airframes/vtol/omp_hobby_zmo_fpv/esc-02.jpg)
7. Припаяйте проводи заднього двигуна до ESC регулятора швидкості.
Переконайтеся, що підключаєте так, щоб двигун обертався у правильному напрямку.
Переконайтеся, що підключаєте так, щоб двигун обертався у правильному напрямку.
![ESC 03](../../assets/airframes/vtol/omp_hobby_zmo_fpv/esc-03.jpg)
![ESC 03](../../assets/airframes/vtol/omp_hobby_zmo_fpv/esc-03.jpg)
### З'єднувач крила
@@ -122,9 +122,9 @@ ZMO FPV в його початковому стані.
1. Приклейте з'єднувачі крила до деталі, надрукованої на 3D-принтері, гарячим клеєм або 5 хвилинною епоксидною смолою.
2. Приклейте 3D-друковану частину разом із з'єднувачем у фюзеляж.
Переконайтеся, що правильно вирівняли з'єднувач, поки клей сохне.
Переконайтеся, що правильно вирівняли з'єднувач, поки клей сохне.
Найпростіший спосіб вирівняти роз'єм - встановити крило, поки клей застигає, але переконайтеся, що клей не потрапив між фюзеляжем і крилом, інакше крило може застрягти.
Найпростіший спосіб вирівняти роз'єм - встановити крило, поки клей застигає, але переконайтеся, що клей не потрапив між фюзеляжем і крилом, інакше крило може застрягти.
Роз'єм, вклеєний у 3D-друковану частину
@@ -137,58 +137,58 @@ ZMO FPV в його початковому стані.
### Плати адаптерів Pixhawk та BEC
1. Виріжте пінопласт, як показано на малюнках, щоб створити простір для кріплення адаптерних плат Pixhawk і BEC двостороннім скотчем.
Плата FMU розміщується зліва (у напрямку польоту) від фюзеляжу.
Зпаяйте серво конектор та кабель для напруги батареї до BEC.
Плата FMU розміщується зліва (у напрямку польоту) від фюзеляжу.
Зпаяйте серво конектор та кабель для напруги батареї до BEC.
![Foam cutout 01](../../assets/airframes/vtol/omp_hobby_zmo_fpv/foam-cut-01.png)
![Pixhawk adapter board mount 01](../../assets/airframes/vtol/omp_hobby_zmo_fpv/pixhawk-adapter-01.jpg)
![Foam cutout 01](../../assets/airframes/vtol/omp_hobby_zmo_fpv/foam-cut-01.png)
![Pixhawk adapter board mount 01](../../assets/airframes/vtol/omp_hobby_zmo_fpv/pixhawk-adapter-01.jpg)
2. Підготуйте BEC для підключення до IO плати та батареї.
BEC також можна припаяти безпосередньо до акумуляторних колодок ESC.
BEC також можна припаяти безпосередньо до акумуляторних колодок ESC.
![BEC preparation](../../assets/airframes/vtol/omp_hobby_zmo_fpv/bec-01.jpg)
![BEC preparation](../../assets/airframes/vtol/omp_hobby_zmo_fpv/bec-01.jpg)
3. Закріпіть BEC двостороннім скотчем.
![BEC mounting](../../assets/airframes/vtol/omp_hobby_zmo_fpv/bec-02.jpg)
![BEC mounting](../../assets/airframes/vtol/omp_hobby_zmo_fpv/bec-02.jpg)
### Кабелі
1. Відріжте роз’єми від сервоприводів і припаяйте подовжувачі сервоприводів до кабелів.
Переконайтеся, що кабелі достатньо довгі, щоб дістатися до адаптерної плати Pixhawk.
Якщо у вас є обтискний інструмент, ви також можете безпосередньо додати роз’єми без пайки.
Переконайтеся, що кабелі достатньо довгі, щоб дістатися до адаптерної плати Pixhawk.
Якщо у вас є обтискний інструмент, ви також можете безпосередньо додати роз’єми без пайки.
2. Під'єднайте кабелі сервоприводу до IO плати адаптера в такому порядку:
- 1 - Aileron left
- 2 - Aileron right
- 3 - V-Tail left
- 4 - V-Tail right
- 5 - Tilt left
- 6 - Tilt right
- 1 - Aileron left
- 2 - Aileron right
- 3 - V-Tail left
- 4 - V-Tail right
- 5 - Tilt left
- 6 - Tilt right
3. Під'єднайте сигнальні кабелі мотора до адаптерної плати FMU у такому порядку:
- 1 - Передній лівий
- 2 - Передній правий
- 3 - Задній
- 1 - Передній лівий
- 2 - Передній правий
- 3 - Задній
### Датчики
#### Трубка Піто
1. Спочатку перевірте, чи трубка Піто влазить у кріплення, надруковане на 3D-принтері.
Якщо це так, то приклейте трубку Піто на місце у кріплення.
Якщо це так, то приклейте трубку Піто на місце у кріплення.
Щоб вирівняти трубку пропустіть її через другий отвір праворуч від передньої пластини FPV.
Кріплення дозволить вам вдавити трубку назад у фюзеляж, щоб захистити її під час транспортування та обробки.
Датчик може бути встановлений зверху на кріпленні, надрукованому на 3D-принтері, за допомогою двостороннього скотчу.
Щоб вирівняти трубку пропустіть її через другий отвір праворуч від передньої пластини FPV.
Кріплення дозволить вам вдавити трубку назад у фюзеляж, щоб захистити її під час транспортування та обробки.
Датчик може бути встановлений зверху на кріпленні, надрукованому на 3D-принтері, за допомогою двостороннього скотчу.
2. Приклейте кріплення, надруковане на 3D-принтері, на місце.
![Pitot tube 01](../../assets/airframes/vtol/omp_hobby_zmo_fpv/pitot-tube-01.png)
![Pitot tube 01](../../assets/airframes/vtol/omp_hobby_zmo_fpv/pitot-tube-01.png)
3. Датчик може бути встановлений зверху на кріпленні, надрукованому на 3D-принтері.
![Pitot tube 02](../../assets/airframes/vtol/omp_hobby_zmo_fpv/pitot-tube-02.png)
![Pitot tube 02](../../assets/airframes/vtol/omp_hobby_zmo_fpv/pitot-tube-02.png)
#### Лідар
@@ -209,9 +209,9 @@ ZMO FPV в його початковому стані.
2. Вийміть GPS із пластикового корпусу та від’єднайте роз’єм.
3. Протягніть кабель через вуглецевий лонжерон.
4. Glue the 3D-Printed part with 5 min epoxy in place.
![Glue the GPS mount into place](../../assets/airframes/vtol/omp_hobby_zmo_fpv/gps-01.jpg)
![Glue the GPS mount into place](../../assets/airframes/vtol/omp_hobby_zmo_fpv/gps-01.jpg)
5. After the glue has cured, screw the GPS with 4x M2.5x10 screws to the plate.
![Screw the GPS to the mount2](../../assets/airframes/vtol/omp_hobby_zmo_fpv/gps-02.jpg)
![Screw the GPS to the mount2](../../assets/airframes/vtol/omp_hobby_zmo_fpv/gps-02.jpg)
#### USB Камера
@@ -219,9 +219,9 @@ ZMO FPV в його початковому стані.
2. Відріжте кабель USB-адаптера на 25 см і спаяйте два кабелі між собою.
3. Для встановлення камери потрібно вирізати отвір у пінопласті перегородки.
![USB Camera 01: Hole to feed the USB cable through the wall.](../../assets/airframes/vtol/omp_hobby_zmo_fpv/camera-01.jpg)
![USB Camera 01: Hole to feed the USB cable through the wall.](../../assets/airframes/vtol/omp_hobby_zmo_fpv/camera-01.jpg)
Потім ви можете закріпити камеру на перегородці за допомогою двостороннього скотча.
Потім ви можете закріпити камеру на перегородці за допомогою двостороннього скотча.
### Політний контролер
@@ -237,7 +237,7 @@ ZMO FPV в його початковому стані.
1. Помістіть його на верхню частину ESC і позначте 2 задніх місця кріплення на литій пластиковій частині ZMO.
2. Remove the Skynode from the vehicle and drill 2 holes with a 2.8 mm drill bit into the plastic part.
![Mounting holes for the Skynode in the back](../../assets/airframes/vtol/omp_hobby_zmo_fpv/flight-controller-01.jpg)
![Mounting holes for the Skynode in the back](../../assets/airframes/vtol/omp_hobby_zmo_fpv/flight-controller-01.jpg)
3. Встановіть Skynode на місце і прикрутіть його 2-ма гвинтами M3x10.
Інший варіант - додати в отвори різьбові вставки.
@@ -245,9 +245,9 @@ ZMO FPV в його початковому стані.
1. Прикрутіть переднє кріплення Skynode 2-ма гвинтами M3x10 до Skynode.
2. Потім додайте трохи епоксидного клею на 5 хвилин в нижню частину кріплення і покладіть вантаж зверху на Skynode, поки клей не затвердіє.
Щоб отримати доступ до 2 кріпильних гвинтів спереду, проткніть 2 отвори зверху через пінопласт.
Щоб отримати доступ до 2 кріпильних гвинтів спереду, проткніть 2 отвори зверху через пінопласт.
![Skynode mount in the front](../../assets/airframes/vtol/omp_hobby_zmo_fpv/flight-controller-02.jpg)
![Skynode mount in the front](../../assets/airframes/vtol/omp_hobby_zmo_fpv/flight-controller-02.jpg)
### Антени та RC приймач
@@ -258,14 +258,14 @@ An inexpensive example would be a [SiK Telemetry Radio](../telemetry/sik_radio.m
:::
1. Одна антена LTE може бути встановлена в нижній частині транспортного засобу.
Для цього ви можете протягнути дріт антени через отвір для радіатора ESC.
Для цього ви можете протягнути дріт антени через отвір для радіатора ESC.
![LTE antenna 01](../../assets/airframes/vtol/omp_hobby_zmo_fpv/lte-antenna-01.jpg)
![LTE antenna 01](../../assets/airframes/vtol/omp_hobby_zmo_fpv/lte-antenna-01.jpg)
2. Другу антену можна встановити всередині транспортного засобу з лівого боку акумуляторного відсіку.
Пульт дистанційного керування також можна розмістити з лівого боку батарейного відсіку.
Пульт дистанційного керування також можна розмістити з лівого боку батарейного відсіку.
![LTE antenna 2 and RC receiver](../../assets/airframes/vtol/omp_hobby_zmo_fpv/lte-antenna-02.jpg)
![LTE antenna 2 and RC receiver](../../assets/airframes/vtol/omp_hobby_zmo_fpv/lte-antenna-02.jpg)
## Налаштування програмного забезпечення
@@ -332,9 +332,9 @@ The airspeed sensor can be enabled in the [Parameters](../advanced_config/parame
1. Switch the vehicle into manual mode (either via the flight mode switch or type `commander mode manual` into the MAVLink shell).
2. Перевірте, чи двигуни спрямовані вгору.
Якщо двигуни спрямовані вперед, то пов'язані з ними сервоприводи нахилу потрібно змінити на протилежні (встановіть прапорець біля кожного сервоприводу).
Якщо двигуни спрямовані вперед, то пов'язані з ними сервоприводи нахилу потрібно змінити на протилежні (встановіть прапорець біля кожного сервоприводу).
![Tilt Servo adjustment](../../assets/airframes/vtol/omp_hobby_zmo_fpv/tilt-limits-01.jpg)
![Tilt Servo adjustment](../../assets/airframes/vtol/omp_hobby_zmo_fpv/tilt-limits-01.jpg)
3. Adjust the minimum (or, if revesed: maximum) value such that the rotor thrust can point backward (needed for proper yaw allocation in Multicopter mode).
+5 -5
View File
@@ -145,21 +145,21 @@ To ensure the port is set up correctly perform a [Serial Port Configuration](../
The following steps show how to configure a secondary GPS on the `GPS 2` port in _QGroundControl_:
1. [Find and set](../advanced_config/parameters.md) the parameter [GPS_2_CONFIG](../advanced_config/parameter_reference.md#GPS_2_CONFIG) to **GPS 2**.
- Open _QGroundControl_ and navigate to the **Vehicle Setup > Parameters** section.
- Select the **GPS** tab, then open the [GPS_2_CONFIG](../advanced_config/parameter_reference.md#GPS_2_CONFIG) parameter and select `GPS 2` from the dropdown list.
- Open _QGroundControl_ and navigate to the **Vehicle Setup > Parameters** section.
- Select the **GPS** tab, then open the [GPS_2_CONFIG](../advanced_config/parameter_reference.md#GPS_2_CONFIG) parameter and select `GPS 2` from the dropdown list.
![QGC Serial Example](../../assets/peripherals/qgc_serial_config_example.png)
![QGC Serial Example](../../assets/peripherals/qgc_serial_config_example.png)
2. Перезавантажте апарат, щоб побачити інші параметри.
3. Select the **Serial** tab, and open the [SER_GPS2_BAUD](../advanced_config/parameter_reference.md#SER_GPS2_BAUD) parameter (`GPS 2` port baud rate): set it to _Auto_ (or 115200 for the Trimble).
![QGC Serial Baudrate Example](../../assets/peripherals/qgc_serial_baudrate_example.png)
![QGC Serial Baudrate Example](../../assets/peripherals/qgc_serial_baudrate_example.png)
Після налаштування другого GPS-порту:
1. Налаштуйте обчислювач ECL/EKF2, щоб об'єднати дані з обох GPS-систем.
For detailed instructions see: [Using the ECL EKF > Dual Receivers](../advanced_config/tuning_the_ecl_ekf.md#dual-receivers).
For detailed instructions see: [Using the ECL EKF > Dual Receivers](../advanced_config/tuning_the_ecl_ekf.md#dual-receivers).
### DroneCAN GNSS Configuration
+14 -14
View File
@@ -122,35 +122,35 @@ This should be set by default, but if not, follow the [MAVLink2 configuration in
Підключення RTK GPS насправді просте:
1. Start _QGroundControl_ and attach the base RTK GPS via USB to the ground station.
Пристрій визнається автоматично.
Пристрій визнається автоматично.
2. Start the vehicle and make sure it is connected to _QGroundControl_.
:::tip
_QGroundControl_ displays an RTK GPS status icon in the top icon bar while an RTK GPS device is connected (in addition to the normal GPS status icon).
Іконка червона, поки налаштовується RTK, а потім змінюється на білу, коли RTK GPS активний.
Ви можете натиснути на піктограму, щоб побачити поточний стан та точність RTK.
:::tip
_QGroundControl_ displays an RTK GPS status icon in the top icon bar while an RTK GPS device is connected (in addition to the normal GPS status icon).
Іконка червона, поки налаштовується RTK, а потім змінюється на білу, коли RTK GPS активний.
Ви можете натиснути на піктограму, щоб побачити поточний стан та точність RTK.
:::
3. _QGroundControl_ then starts the RTK setup process (known as "Survey-In").
Survey-In - це процедура запуску для отримання точної оцінки положення базової станції.
The process typically takes several minutes (it ends after reaching the minimum time and accuracy specified in the [RTK settings](#rtk-gps-settings)).
Survey-In - це процедура запуску для отримання точної оцінки положення базової станції.
The process typically takes several minutes (it ends after reaching the minimum time and accuracy specified in the [RTK settings](#rtk-gps-settings)).
Ви можете відстежити прогрес, натиснувши на піктограму стану RTK GPS.
Ви можете відстежити прогрес, натиснувши на піктограму стану RTK GPS.
![survey-in](../../assets/qgc/setup/rtk/qgc_rtk_survey-in.png)
![survey-in](../../assets/qgc/setup/rtk/qgc_rtk_survey-in.png)
4. Після завершення опитування:
- The RTK GPS icon changes to white and _QGroundControl_ starts to stream position data to the vehicle:
- The RTK GPS icon changes to white and _QGroundControl_ starts to stream position data to the vehicle:
![RTK streaming](../../assets/qgc/setup/rtk/qgc_rtk_streaming.png)
![RTK streaming](../../assets/qgc/setup/rtk/qgc_rtk_streaming.png)
- Транспортний GPS переходить у режим RTK.
The new mode is displayed in the _normal_ GPS status icon (`3D RTK GPS Lock`):
- Транспортний GPS переходить у режим RTK.
The new mode is displayed in the _normal_ GPS status icon (`3D RTK GPS Lock`):
![RTK GPS Status](../../assets/qgc/setup/rtk/qgc_rtk_gps_status.png)
![RTK GPS Status](../../assets/qgc/setup/rtk/qgc_rtk_gps_status.png)
### Налаштування GPS як Джерело розділення/Курсування
+2 -2
View File
@@ -33,8 +33,8 @@ Boards that are not compliant with the requirements are [unsupported](#unsupport
6. Достатня документація, яка включає, але не обмежується:
- Повний підключення, яке стало доступним для громадськості, яке відображає PX4 визначення контактів на:
1. Піни мікроконтролера
2. Фізичні зовнішні роз'ємники
1. Піни мікроконтролера
2. Фізичні зовнішні роз'ємники
- A block diagram or full schematic of the main components (sensors, power supply, etc.) that allows to infer software requirements and boot order
- Посібник з використання готового продукту
+14 -14
View File
@@ -62,30 +62,30 @@ To run `qconfig` you may need to install additional Qt dependencies.
2. Завантажте вихідний код і переконайтеся, що ви можете зібрати існуючу ціль:
```sh
git clone --recursive https://github.com/PX4/PX4-Autopilot.git
cd PX4-Autopilot
make px4_fmu-v5
```
```sh
git clone --recursive https://github.com/PX4/PX4-Autopilot.git
cd PX4-Autopilot
make px4_fmu-v5
```
3. Знаходьте існуючу ціль, яка використовує той самий (або тісно пов'язаний) тип ЦП, і скопіюйте її.
Наприклад для STM32F7:
Наприклад для STM32F7:
```sh
mkdir boards/manufacturer
cp -r boards/px4/fmu-v5 boards/manufacturer/my-target-v1
```
```sh
mkdir boards/manufacturer
cp -r boards/px4/fmu-v5 boards/manufacturer/my-target-v1
```
Change **manufacturer** to the manufacturer name and **my-target-v1** to your board name.
Change **manufacturer** to the manufacturer name and **my-target-v1** to your board name.
Next you need to go through all files under **boards/manufacturer/my-target-v1** and update them according to your board.
1. **firmware.prototype**: update the board ID and name
2. **default.px4board**: update the **VENDOR** and **MODEL** to match the directory names (**my-target-v1**).
Налаштування послідовних портів.
Налаштування послідовних портів.
3. Configure NuttX (**defconfig**) via `make manufacturer_my-target-v1 menuconfig`: Adjust the CPU and chip, configure the peripherals (UART's, SPI, I2C, ADC).
4. **nuttx-config/include/board.h**: Configure the NuttX pins.
Для всіх зовнішніх пристроїв з кількома варіантами контактів, NuttX повинен знати контакт.
They are defined in the chip-specific pinmap header file, for example [stm32f74xx75xx_pinmap.h](https://github.com/PX4/NuttX/blob/px4_firmware_nuttx-8.2/arch/arm/src/stm32f7/hardware/stm32f74xx75xx_pinmap.h).
Для всіх зовнішніх пристроїв з кількома варіантами контактів, NuttX повинен знати контакт.
They are defined in the chip-specific pinmap header file, for example [stm32f74xx75xx_pinmap.h](https://github.com/PX4/NuttX/blob/px4_firmware_nuttx-8.2/arch/arm/src/stm32f7/hardware/stm32f74xx75xx_pinmap.h).
5. **src**: go through all files under **src** and update them as needed, in particular **board_config.h**.
6. **init/rc.board_sensors**: start the sensors that are attached to the board.
+41 -41
View File
@@ -118,78 +118,78 @@ This considerably speeds up the build process but requires that the Agent depend
1. Створіть директорію робочого простору для агента:
```sh
mkdir -p ~/px4_ros_uxrce_dds_ws/src
```
```sh
mkdir -p ~/px4_ros_uxrce_dds_ws/src
```
2. Clone the source code for the eProsima [Micro-XRCE-DDS-Agent](https://github.com/eProsima/Micro-XRCE-DDS-Agent) to the `/src` directory (the `main` branch is cloned by default):
```sh
cd ~/px4_ros_uxrce_dds_ws/src
git clone -b v2.4.2 https://github.com/eProsima/Micro-XRCE-DDS-Agent.git
```
```sh
cd ~/px4_ros_uxrce_dds_ws/src
git clone -b v2.4.2 https://github.com/eProsima/Micro-XRCE-DDS-Agent.git
```
3. Source the ROS 2 development environment, and compile the workspace using `colcon`:
:::: tabs
:::: tabs
::: tab humble
::: tab humble
```sh
source /opt/ros/humble/setup.bash
colcon build
```
```sh
source /opt/ros/humble/setup.bash
colcon build
```
:::
::: tab foxy
::: tab foxy
```sh
source /opt/ros/foxy/setup.bash
colcon build
```
```sh
source /opt/ros/foxy/setup.bash
colcon build
```
:::
::::
::::
This builds all the folders under `/src` using the sourced toolchain.
This builds all the folders under `/src` using the sourced toolchain.
Для запуску агента micro XRCE-DDS в робочому просторі:
1. Source the `local_setup.bash` to make the executables available in the terminal (also `setup.bash` if using a new terminal).
:::: tabs
:::: tabs
::: tab humble
::: tab humble
```sh
source /opt/ros/humble/setup.bash
source install/local_setup.bash
```
```sh
source /opt/ros/humble/setup.bash
source install/local_setup.bash
```
:::
::: tab foxy
::: tab foxy
```sh
source /opt/ros/foxy/setup.bash
source install/local_setup.bash
```
```sh
source /opt/ros/foxy/setup.bash
source install/local_setup.bash
```
:::
::::
::::
1) Запустіть агента з налаштуваннями для підключення до клієнта uXRCE-DDS, який працює на симуляторі:
```sh
MicroXRCEAgent udp4 -p 8888
```
```sh
MicroXRCEAgent udp4 -p 8888
```
## Запуск агента та клієнта
@@ -466,15 +466,15 @@ Each (`topic`,`type`) pairs defines:
1. A new `publication`, `subscription`, or `subscriptions_multi`, depending on the list to which it is added.
2. The topic _base name_, which **must** coincide with the desired uORB topic name that you want to publish/subscribe.
It is identified by the last token in `topic:` that starts with `/` and does not contains any `/` in it.
`vehicle_odometry`, `vehicle_status` and `offboard_control_mode` are examples of base names.
It is identified by the last token in `topic:` that starts with `/` and does not contains any `/` in it.
`vehicle_odometry`, `vehicle_status` and `offboard_control_mode` are examples of base names.
3. The topic [namespace](https://design.ros2.org/articles/topic_and_service_names.html#namespaces).
By default it is set to:
- `/fmu/out/` for topics that are _published_ by PX4.
- `/fmu/in/` for topics that are _subscribed_ by PX4.
By default it is set to:
- `/fmu/out/` for topics that are _published_ by PX4.
- `/fmu/in/` for topics that are _subscribed_ by PX4.
4. The message type (`VehicleOdometry`, `VehicleStatus`, `OffboardControlMode`, etc.) and the ROS 2 package (`px4_msgs`) that is expected to provide the message definition.
5. **(Optional)**: An additional `rate_limit` field (only for publication entries), which specifies the maximum rate (Hz) at which messages will be published on this topic by PX4 to ROS 2.
If left unspecified, the maximum publication rate limit is set to 100 Hz.
If left unspecified, the maximum publication rate limit is set to 100 Hz.
`subscriptions` and `subscriptions_multi` allow us to choose the uORB topic instance that ROS 2 topics are routed to: either a shared instance that may also be getting updates from internal PX4 uORB publishers, or a separate instance that is reserved for ROS2 publications, respectively.
Without this mechanism all ROS 2 messages would be routed to the _same_ uORB topic instance (because ROS 2 does not have the concept of [multiple topic instances](../middleware/uorb.md#multi-instance)), and it would not be possible for PX4 subscribers to differentiate between streams from ROS 2 or PX4 publishers.
+119 -119
View File
@@ -28,151 +28,151 @@ This consists of a single _C_ file and a _cmake_ definition (which tells the too
1. Create a new directory **PX4-Autopilot/src/examples/px4_simple_app**.
2. Create a new C file in that directory named **px4_simple_app.c**:
- Скопіюйте заголовок за замовчуванням у верхній частині сторінки.
Це повинно бути присутнім у всіх розміщених файлах!
- Скопіюйте заголовок за замовчуванням у верхній частині сторінки.
Це повинно бути присутнім у всіх розміщених файлах!
```c
/****************************************************************************
*
* Copyright (c) 2012-2022 PX4 Development Team. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name PX4 nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
****************************************************************************/
```
```c
/****************************************************************************
*
* Copyright (c) 2012-2022 PX4 Development Team. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name PX4 nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
****************************************************************************/
```
- Скопіюйте наступний код під заголовком за замовчуванням.
Це повинно бути присутнім у всіх розміщених файлах!
- Скопіюйте наступний код під заголовком за замовчуванням.
Це повинно бути присутнім у всіх розміщених файлах!
```c
/**
* @file px4_simple_app.c
* Minimal application example for PX4 autopilot
*
* @author Example User <mail@example.com>
*/
```c
/**
* @file px4_simple_app.c
* Minimal application example for PX4 autopilot
*
* @author Example User <mail@example.com>
*/
#include <px4_platform_common/log.h>
#include <px4_platform_common/log.h>
__EXPORT int px4_simple_app_main(int argc, char *argv[]);
__EXPORT int px4_simple_app_main(int argc, char *argv[]);
int px4_simple_app_main(int argc, char *argv[])
{
PX4_INFO("Hello Sky!");
return OK;
}
```
int px4_simple_app_main(int argc, char *argv[])
{
PX4_INFO("Hello Sky!");
return OK;
}
```
:::tip
The main function must be named `<module_name>_main` and exported from the module as shown.
:::tip
The main function must be named `<module_name>_main` and exported from the module as shown.
:::
:::tip
`PX4_INFO` is the equivalent of `printf` for the PX4 shell (included from **px4_platform_common/log.h**).
There are different log levels: `PX4_INFO`, `PX4_WARN`, `PX4_ERR`, `PX4_DEBUG`.
Warnings and errors are additionally added to the [ULog](../dev_log/ulog_file_format.md) and shown on [Flight Review](https://logs.px4.io/).
:::tip
`PX4_INFO` is the equivalent of `printf` for the PX4 shell (included from **px4_platform_common/log.h**).
There are different log levels: `PX4_INFO`, `PX4_WARN`, `PX4_ERR`, `PX4_DEBUG`.
Warnings and errors are additionally added to the [ULog](../dev_log/ulog_file_format.md) and shown on [Flight Review](https://logs.px4.io/).
:::
3. Create and open a new _cmake_ definition file named **CMakeLists.txt**.
Скопіюйте текст нижче:
Скопіюйте текст нижче:
```cmake
############################################################################
#
# Copyright (c) 2015 PX4 Development Team. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name PX4 nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
px4_add_module(
MODULE examples__px4_simple_app
MAIN px4_simple_app
STACK_MAIN 2000
SRCS
px4_simple_app.c
DEPENDS
)
```
```cmake
############################################################################
#
# Copyright (c) 2015 PX4 Development Team. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name PX4 nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
px4_add_module(
MODULE examples__px4_simple_app
MAIN px4_simple_app
STACK_MAIN 2000
SRCS
px4_simple_app.c
DEPENDS
)
```
The `px4_add_module()` method builds a static library from a module description.
The `px4_add_module()` method builds a static library from a module description.
- The `MODULE` block is the Firmware-unique name of the module (by convention the module name is prefixed by parent directories back to `src`).
- The `MAIN` block lists the entry point of the module, which registers the command with NuttX so that it can be called from the PX4 shell or SITL console.
- The `MODULE` block is the Firmware-unique name of the module (by convention the module name is prefixed by parent directories back to `src`).
- The `MAIN` block lists the entry point of the module, which registers the command with NuttX so that it can be called from the PX4 shell or SITL console.
:::tip
The `px4_add_module()` format is documented in [PX4-Autopilot/cmake/px4_add_module.cmake](https://github.com/PX4/PX4-Autopilot/blob/main/cmake/px4_add_module.cmake). <!-- NEED px4_version -->
:::tip
The `px4_add_module()` format is documented in [PX4-Autopilot/cmake/px4_add_module.cmake](https://github.com/PX4/PX4-Autopilot/blob/main/cmake/px4_add_module.cmake). <!-- NEED px4_version -->
:::
::: info
If you specify `DYNAMIC` as an option to `px4_add_module`, a _shared library_ is created instead of a static library on POSIX platforms (these can be loaded without having to recompile PX4, and shared to others as binaries rather than source code).
Your app will not become a builtin command, but ends up in a separate file called `examples__px4_simple_app.px4mod`.
You can then run your command by loading the file at runtime using the `dyn` command: `dyn ./examples__px4_simple_app.px4mod`
::: info
If you specify `DYNAMIC` as an option to `px4_add_module`, a _shared library_ is created instead of a static library on POSIX platforms (these can be loaded without having to recompile PX4, and shared to others as binaries rather than source code).
Your app will not become a builtin command, but ends up in a separate file called `examples__px4_simple_app.px4mod`.
You can then run your command by loading the file at runtime using the `dyn` command: `dyn ./examples__px4_simple_app.px4mod`
:::
4. Create and open a new _Kconfig_ definition file named **Kconfig** and define your symbol for naming (see [Kconfig naming convention](../hardware/porting_guide_config.md#px4-kconfig-symbol-naming-convention)).
Скопіюйте текст нижче:
Скопіюйте текст нижче:
```
menuconfig EXAMPLES_PX4_SIMPLE_APP
bool "px4_simple_app"
default n
---help---
Enable support for px4_simple_app
```
```
menuconfig EXAMPLES_PX4_SIMPLE_APP
bool "px4_simple_app"
default n
---help---
Enable support for px4_simple_app
```
## Побудуйте Програму/прошивку
+15 -15
View File
@@ -22,27 +22,27 @@ PX4-Autopilot contains a template for writing a new application (module) that ru
Підсумовуючи:
1. Specify the dependency on the work queue library in the cmake definition file ([CMakeLists.txt](https://github.com/PX4/PX4-Autopilot/blob/main/src/examples/work_item/CMakeLists.txt)):
```
...
DEPENDS
px4_work_queue
```
```
...
DEPENDS
px4_work_queue
```
2. In addition to `ModuleBase`, the task should also derive from `ScheduledWorkItem` (included from [ScheduledWorkItem.hpp](https://github.com/PX4/PX4-Autopilot/blob/main/platforms/common/include/px4_platform_common/px4_work_queue/ScheduledWorkItem.hpp))
3. Вкажіть чергу, до якої додати завдання у конструкторі ініціалізації.
The [work_item](https://github.com/PX4/PX4-Autopilot/blob/main/src/examples/work_item/WorkItemExample.cpp#L42) example adds itself to the `wq_configurations::test1` work queue as shown below:
The [work_item](https://github.com/PX4/PX4-Autopilot/blob/main/src/examples/work_item/WorkItemExample.cpp#L42) example adds itself to the `wq_configurations::test1` work queue as shown below:
```cpp
WorkItemExample::WorkItemExample() :
ModuleParams(nullptr),
ScheduledWorkItem(MODULE_NAME, px4::wq_configurations::test1)
{
}
```
```cpp
WorkItemExample::WorkItemExample() :
ModuleParams(nullptr),
ScheduledWorkItem(MODULE_NAME, px4::wq_configurations::test1)
{
}
```
::: info
The available work queues (`wq_configurations`) are listed in [WorkQueueManager.hpp](https://github.com/PX4/PX4-Autopilot/blob/main/platforms/common/include/px4_platform_common/px4_work_queue/WorkQueueManager.hpp#L49).
::: info
The available work queues (`wq_configurations`) are listed in [WorkQueueManager.hpp](https://github.com/PX4/PX4-Autopilot/blob/main/platforms/common/include/px4_platform_common/px4_work_queue/WorkQueueManager.hpp#L49).
:::
+35
View File
@@ -45,6 +45,41 @@ MicroStrain <command> [arguments...]
status Driver status
```
## eulernav_bahrs
Source: [drivers/ins/eulernav_bahrs](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/ins/eulernav_bahrs)
### Опис
Serial bus driver for the EULER-NAV Baro-Inertial AHRS.
### Приклади
Attempt to start driver on a specified serial device.
```
eulernav_bahrs start -d /dev/ttyS1
```
Stop driver
```
eulernav_bahrs stop
```
### Usage {#eulernav_bahrs_usage}
```
eulernav_bahrs <command> [arguments...]
Commands:
start Start driver
-d <val> Serial device
status Print driver status
stop Stop driver
```
## ilabs
Source: [drivers/ins/ilabs](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/ins/ilabs)
+17 -17
View File
@@ -15,25 +15,25 @@ Request are published by `manual_control` and subscribed by the `commander` and
# It allows mapping triggers from various external interfaces like RC channels or MAVLink to cause an action.
# Request are published by `manual_control` and subscribed by the `commander` and `vtol_att_control` modules.
uint64 timestamp # [us] Time since system start
uint64 timestamp # [us] Time since system start
uint8 action # [@enum ACTION] Requested action
uint8 ACTION_DISARM = 0 # Disarm vehicle
uint8 ACTION_ARM = 1 # Arm vehicle
uint8 ACTION_TOGGLE_ARMING = 2 # Toggle arming
uint8 ACTION_UNKILL = 3 # Revert a kill action
uint8 ACTION_KILL = 4 # Kill vehicle (instantly stop the motors)
uint8 ACTION_SWITCH_MODE = 5 # Switch mode. The target mode is set in the `mode` field.
uint8 ACTION_VTOL_TRANSITION_TO_MULTICOPTER = 6 # Transition to hover flight
uint8 ACTION_VTOL_TRANSITION_TO_FIXEDWING = 7 # Transition to fast forward flight
uint8 ACTION_TERMINATION = 8 # Irreversably output failsafe values on all outputs, trigger parachute
uint8 action # [@enum ACTION] Requested action
uint8 ACTION_DISARM = 0 # Disarm vehicle
uint8 ACTION_ARM = 1 # Arm vehicle
uint8 ACTION_TOGGLE_ARMING = 2 # Toggle arming
uint8 ACTION_UNKILL = 3 # Revert a kill action
uint8 ACTION_KILL = 4 # Kill vehicle (instantly stop the motors)
uint8 ACTION_SWITCH_MODE = 5 # Switch mode. The target mode is set in the `mode` field.
uint8 ACTION_VTOL_TRANSITION_TO_MULTICOPTER = 6 # Transition to hover flight
uint8 ACTION_VTOL_TRANSITION_TO_FIXEDWING = 7 # Transition to fast forward flight
uint8 ACTION_TERMINATION = 8 # Irreversibly output failsafe values on all outputs, trigger parachute
uint8 source # [@enum SOURCE] Request trigger type, such as a switch, button or gesture
uint8 SOURCE_STICK_GESTURE = 0 # Triggered by holding the sticks in a certain position
uint8 SOURCE_RC_SWITCH = 1 # Triggered by an RC switch moving into a certain position
uint8 SOURCE_RC_BUTTON = 2 # Triggered by a momentary button on the RC being pressed or held
uint8 SOURCE_RC_MODE_SLOT = 3 # Mode change through the RC mode selection mechanism
uint8 source # [@enum SOURCE] Request trigger type, such as a switch, button or gesture
uint8 SOURCE_STICK_GESTURE = 0 # Triggered by holding the sticks in a certain position
uint8 SOURCE_RC_SWITCH = 1 # Triggered by an RC switch moving into a certain position
uint8 SOURCE_RC_BUTTON = 2 # Triggered by a momentary button on the RC being pressed or held
uint8 SOURCE_RC_MODE_SLOT = 3 # Mode change through the RC mode selection mechanism
uint8 mode # Requested mode. Only applies when `action` is `ACTION_SWITCH_MODE`. Values for this field are defined by the `vehicle_status_s::NAVIGATION_STATE_*` enumeration.
uint8 mode # Requested mode. Only applies when `action` is `ACTION_SWITCH_MODE`. Values for this field are defined by the `vehicle_status_s::NAVIGATION_STATE_*` enumeration.
```
+6 -6
View File
@@ -15,14 +15,14 @@ Published by the vehicle's allocation and consumed by the ESC protocol drivers e
uint32 MESSAGE_VERSION = 0
uint64 timestamp # [us] Time since system start
uint64 timestamp_sample # [us] Sampling timestamp of the data this control response is based on
uint64 timestamp # [us] Time since system start
uint64 timestamp_sample # [us] Sampling timestamp of the data this control response is based on
uint16 reversible_flags # Bitset indicating which motors are configured to be reversible
uint16 reversible_flags # Bitset indicating which motors are configured to be reversible
uint8 ACTUATOR_FUNCTION_MOTOR1 = 101
uint8 ACTUATOR_FUNCTION_MOTOR1 = 101 #
uint8 NUM_CONTROLS = 12
float32[12] control # [@range -1, 1] Normalized thrust. where 1 means maximum positive thrust, -1 maximum negative (if not supported by the output, <0 maps to NaN). NaN maps to disarmed (stop the motors)
uint8 NUM_CONTROLS = 12 #
float32[12] control # [@range -1, 1] Normalized thrust. where 1 means maximum positive thrust, -1 maximum negative (if not supported by the output, <0 maps to NaN). NaN maps to disarmed (stop the motors)
```
+4 -4
View File
@@ -15,10 +15,10 @@ Published by the vehicle's allocation and consumed by the actuator output driver
uint32 MESSAGE_VERSION = 0
uint64 timestamp # [us] Time since system start
uint64 timestamp_sample # [us] Sampling timestamp of the data this control response is based on
uint64 timestamp # [us] Time since system start
uint64 timestamp_sample # [us] Sampling timestamp of the data this control response is based on
uint8 NUM_CONTROLS = 8
float32[8] control # [@range -1, 1] Normalized output. 1 means maximum positive position. -1 maximum negative position (if not supported by the output, <0 maps to NaN). NaN maps to disarmed.
uint8 NUM_CONTROLS = 8 #
float32[8] control # [@range -1, 1] Normalized output. 1 means maximum positive position. -1 maximum negative position (if not supported by the output, <0 maps to NaN). NaN maps to disarmed.
```
+5 -5
View File
@@ -13,10 +13,10 @@ It is subscribed by the airspeed selector module, which validates the data from
# This is published by airspeed sensor drivers, CAN airspeed sensors, simulators.
# It is subscribed by the airspeed selector module, which validates the data from multiple sensors and passes on a single estimation to the EKF, controllers and telemetry providers.
uint64 timestamp # [us] Time since system start
uint64 timestamp_sample # [us] Timestamp of the raw data
float32 indicated_airspeed_m_s # [m/s] Indicated airspeed
float32 true_airspeed_m_s # [m/s] True airspeed
float32 confidence # [@range 0,1] Confidence value for this sensor
uint64 timestamp # [us] Time since system start
uint64 timestamp_sample # [us] Timestamp of the raw data
float32 indicated_airspeed_m_s # [m/s] Indicated airspeed
float32 true_airspeed_m_s # [m/s] True airspeed
float32 confidence # [@range 0,1] Confidence value for this sensor
```
+23 -23
View File
@@ -21,39 +21,39 @@ The message is not used by internal/FMU components, as their mode requirements a
# Note that the external component is identified by its registration_id, which is allocated to the component during registration (arming_check_id in RegisterExtComponentReply).
# The message is not used by internal/FMU components, as their mode requirements are known at compile time.
uint32 MESSAGE_VERSION = 1
uint32 MESSAGE_VERSION = 1
uint64 timestamp # [us] Time since system start.
uint8 request_id # Id of ArmingCheckRequest for which this is a response.
uint8 registration_id # Id of external component emitting this response.
uint8 request_id # Id of ArmingCheckRequest for which this is a response.
uint8 registration_id # Id of external component emitting this response.
uint8 HEALTH_COMPONENT_INDEX_NONE = 0 # Index of health component for which this response applies.
uint8 HEALTH_COMPONENT_INDEX_NONE = 0 # Index of health component for which this response applies.
uint8 health_component_index # [@enum HEALTH_COMPONENT_INDEX]
bool health_component_is_present # Unused. Intended for use with health events interface (health_component_t in events.json).
bool health_component_warning # Unused. Intended for use with health events interface (health_component_t in events.json).
bool health_component_error # Unused. Intended for use with health events interface (health_component_t in events.json).
uint8 health_component_index # [@enum HEALTH_COMPONENT_INDEX]
bool health_component_is_present # Unused. Intended for use with health events interface (health_component_t in events.json).
bool health_component_warning # Unused. Intended for use with health events interface (health_component_t in events.json).
bool health_component_error # Unused. Intended for use with health events interface (health_component_t in events.json).
bool can_arm_and_run # True if the component can arm. For navigation mode components, true if the component can arm in the mode or switch to the mode when already armed.
bool can_arm_and_run # True if the component can arm. For navigation mode components, true if the component can arm in the mode or switch to the mode when already armed.
uint8 num_events # Number of queued failure messages (Event) in the events field.
uint8 num_events # Number of queued failure messages (Event) in the events field.
Event[5] events # Arming failure reasons (Queue of events to report to GCS).
Event[5] events # Arming failure reasons (Queue of events to report to GCS).
# Mode requirements
bool mode_req_angular_velocity # Requires angular velocity estimate (e.g. from gyroscope).
bool mode_req_attitude # Requires an attitude estimate.
bool mode_req_local_alt # Requires a local altitude estimate.
bool mode_req_local_position # Requires a local position estimate.
bool mode_req_local_position_relaxed # Requires a more relaxed global position estimate.
bool mode_req_global_position # Requires a global position estimate.
bool mode_req_global_position_relaxed # Requires a relaxed global position estimate.
bool mode_req_mission # Requires an uploaded mission.
bool mode_req_home_position # Requires a home position (such as RTL/Return mode).
bool mode_req_prevent_arming # Prevent arming (such as in Land mode).
bool mode_req_manual_control # Requires a manual controller
bool mode_req_angular_velocity # Requires angular velocity estimate (e.g. from gyroscope).
bool mode_req_attitude # Requires an attitude estimate.
bool mode_req_local_alt # Requires a local altitude estimate.
bool mode_req_local_position # Requires a local position estimate.
bool mode_req_local_position_relaxed # Requires a more relaxed global position estimate.
bool mode_req_global_position # Requires a global position estimate.
bool mode_req_global_position_relaxed # Requires a relaxed global position estimate.
bool mode_req_mission # Requires an uploaded mission.
bool mode_req_home_position # Requires a home position (such as RTL/Return mode).
bool mode_req_prevent_arming # Prevent arming (such as in Land mode).
bool mode_req_manual_control # Requires a manual controller
uint8 ORB_QUEUE_LENGTH = 4 #
uint8 ORB_QUEUE_LENGTH = 4
```
+5 -3
View File
@@ -21,10 +21,12 @@ The reply will also include the registration_id for each external component, pro
# The reply will include the published request_id, allowing correlation of all arming check information for a particular request.
# The reply will also include the registration_id for each external component, provided to it during the registration process (RegisterExtComponentReply).
uint32 MESSAGE_VERSION = 0
uint32 MESSAGE_VERSION = 1
uint64 timestamp # [us] Time since system start.
uint64 timestamp # [us] Time since system start.
uint8 request_id # Id of this request. Allows correlation with associated ArmingCheckReply messages.
uint8 request_id # Id of this request. Allows correlation with associated ArmingCheckReply messages.
uint32 valid_registrations_mask # Bitmask of valid registration ID's (the bit is also cleared if flagged as unresponsive)
```
+30
View File
@@ -0,0 +1,30 @@
# ArmingCheckRequestV0 (UORB message)
Arming check request.
Broadcast message to request arming checks be reported by all registered components, such as external ROS 2 navigation modes.
All registered components should respond with an ArmingCheckReply message that indicates their current mode requirements, and any arming failure information.
The request is sent regularly, even while armed, so that the FMU always knows the current arming state for external modes, and can forward it to ground stations.
The reply will include the published request_id, allowing correlation of all arming check information for a particular request.
The reply will also include the registration_id for each external component, provided to it during the registration process (RegisterExtComponentReply).
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/px4_msgs_old/msg/ArmingCheckRequestV0.msg)
```c
# Arming check request.
#
# Broadcast message to request arming checks be reported by all registered components, such as external ROS 2 navigation modes.
# All registered components should respond with an ArmingCheckReply message that indicates their current mode requirements, and any arming failure information.
# The request is sent regularly, even while armed, so that the FMU always knows the current arming state for external modes, and can forward it to ground stations.
#
# The reply will include the published request_id, allowing correlation of all arming check information for a particular request.
# The reply will also include the registration_id for each external component, provided to it during the registration process (RegisterExtComponentReply).
uint32 MESSAGE_VERSION = 0
uint64 timestamp # [us] Time since system start.
uint8 request_id # Id of this request. Allows correlation with associated ArmingCheckReply messages.
```
+30 -30
View File
@@ -11,39 +11,39 @@ This is currently used only for logging cell status from MAVLink.
#
# This is currently used only for logging cell status from MAVLink.
uint64 timestamp # [us] Time since system start
uint64 timestamp # [us] Time since system start
uint16 status # [@enum STATUS_FLAG] Status bitmap
uint16 STATUS_FLAG_UNKNOWN = 1 # State unknown or not reportable
uint16 STATUS_FLAG_FAILED = 2 # Modem is unusable
uint16 STATUS_FLAG_INITIALIZING = 4 # Modem is being initialized
uint16 STATUS_FLAG_LOCKED = 8 # Modem is locked
uint16 STATUS_FLAG_DISABLED = 16 # Modem is not enabled and is powered down
uint16 STATUS_FLAG_DISABLING = 32 # Modem is currently transitioning to the STATUS_FLAG_DISABLED state
uint16 STATUS_FLAG_ENABLING = 64 # Modem is currently transitioning to the STATUS_FLAG_ENABLED state
uint16 STATUS_FLAG_ENABLED = 128 # Modem is enabled and powered on but not registered with a network provider and not available for data connections
uint16 STATUS_FLAG_SEARCHING = 256 # Modem is searching for a network provider to register
uint16 STATUS_FLAG_REGISTERED = 512 # Modem is registered with a network provider, and data connections and messaging may be available for use
uint16 STATUS_FLAG_DISCONNECTING = 1024 # Modem is disconnecting and deactivating the last active packet data bearer. This state will not be entered if more than one packet data bearer is active and one of the active bearers is deactivated
uint16 STATUS_FLAG_CONNECTING = 2048 # Modem is activating and connecting the first packet data bearer. Subsequent bearer activations when another bearer is already active do not cause this state to be entered
uint16 STATUS_FLAG_CONNECTED = 4096 # One or more packet data bearers is active and connected
uint16 status # [@enum STATUS_FLAG] Status bitmap
uint16 STATUS_FLAG_UNKNOWN = 1 # State unknown or not reportable
uint16 STATUS_FLAG_FAILED = 2 # Modem is unusable
uint16 STATUS_FLAG_INITIALIZING = 4 # Modem is being initialized
uint16 STATUS_FLAG_LOCKED = 8 # Modem is locked
uint16 STATUS_FLAG_DISABLED = 16 # Modem is not enabled and is powered down
uint16 STATUS_FLAG_DISABLING = 32 # Modem is currently transitioning to the STATUS_FLAG_DISABLED state
uint16 STATUS_FLAG_ENABLING = 64 # Modem is currently transitioning to the STATUS_FLAG_ENABLED state
uint16 STATUS_FLAG_ENABLED = 128 # Modem is enabled and powered on but not registered with a network provider and not available for data connections
uint16 STATUS_FLAG_SEARCHING = 256 # Modem is searching for a network provider to register
uint16 STATUS_FLAG_REGISTERED = 512 # Modem is registered with a network provider, and data connections and messaging may be available for use
uint16 STATUS_FLAG_DISCONNECTING = 1024 # Modem is disconnecting and deactivating the last active packet data bearer. This state will not be entered if more than one packet data bearer is active and one of the active bearers is deactivated
uint16 STATUS_FLAG_CONNECTING = 2048 # Modem is activating and connecting the first packet data bearer. Subsequent bearer activations when another bearer is already active do not cause this state to be entered
uint16 STATUS_FLAG_CONNECTED = 4096 # One or more packet data bearers is active and connected
uint8 failure_reason # [@enum FAILURE_REASON] Failure reason
uint8 FAILURE_REASON_NONE = 0 # No error
uint8 FAILURE_REASON_UNKNOWN = 1 # Error state is unknown
uint8 FAILURE_REASON_SIM_MISSING = 2 # SIM is required for the modem but missing
uint8 FAILURE_REASON_SIM_ERROR = 3 # SIM is available, but not usable for connection
uint8 failure_reason # [@enum FAILURE_REASON] Failure reason
uint8 FAILURE_REASON_NONE = 0 # No error
uint8 FAILURE_REASON_UNKNOWN = 1 # Error state is unknown
uint8 FAILURE_REASON_SIM_MISSING = 2 # SIM is required for the modem but missing
uint8 FAILURE_REASON_SIM_ERROR = 3 # SIM is available, but not usable for connection
uint8 type # [@enum CELLULAR_NETWORK_RADIO_TYPE] Cellular network radio type
uint8 CELLULAR_NETWORK_RADIO_TYPE_NONE = 0 # None
uint8 CELLULAR_NETWORK_RADIO_TYPE_GSM = 1 # GSM
uint8 CELLULAR_NETWORK_RADIO_TYPE_CDMA = 2 # CDMA
uint8 CELLULAR_NETWORK_RADIO_TYPE_WCDMA = 3 # WCDMA
uint8 CELLULAR_NETWORK_RADIO_TYPE_LTE = 4 # LTE
uint8 type # [@enum CELLULAR_NETWORK_RADIO_TYPE] Cellular network radio type
uint8 CELLULAR_NETWORK_RADIO_TYPE_NONE = 0 # None
uint8 CELLULAR_NETWORK_RADIO_TYPE_GSM = 1 # GSM
uint8 CELLULAR_NETWORK_RADIO_TYPE_CDMA = 2 # CDMA
uint8 CELLULAR_NETWORK_RADIO_TYPE_WCDMA = 3 # WCDMA
uint8 CELLULAR_NETWORK_RADIO_TYPE_LTE = 4 # LTE
uint8 quality # [dBm] Cellular network RSSI/RSRP, absolute value
uint16 mcc # [@invalid UINT16_MAX] Mobile country code
uint16 mnc # [@invalid UINT16_MAX] Mobile network code
uint16 lac # [@invalid 0] Location area code
uint8 quality # [dBm] Cellular network RSSI/RSRP, absolute value
uint16 mcc # [@invalid UINT16_MAX] Mobile country code
uint16 mnc # [@invalid UINT16_MAX] Mobile network code
uint16 lac # [@invalid 0] Location area code
```
+14
View File
@@ -0,0 +1,14 @@
# RoverSpeedSetpoint (UORB message)
Rover Speed Setpoint
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/RoverSpeedSetpoint.msg)
```c
# Rover Speed Setpoint
uint64 timestamp # [us] Time since system start
float32 speed_body_x # [m/s] [@range -inf (Backwards), inf (Forwards)] [@frame Body] Speed setpoint in body x direction
float32 speed_body_y # [m/s] [@range -inf (Left), inf (Right)] [@frame Body] [@invalid NaN If not mecanum] Mecanum only: Speed setpoint in body y direction
```
+18
View File
@@ -0,0 +1,18 @@
# RoverSpeedStatus (UORB message)
Rover Velocity Status
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/RoverSpeedStatus.msg)
```c
# Rover Velocity Status
uint64 timestamp # [us] Time since system start
float32 measured_speed_body_x # [m/s] [@range -inf (Backwards), inf (Forwards)] [@frame Body] Measured speed in body x direction
float32 adjusted_speed_body_x_setpoint # [m/s] [@range -inf (Backwards), inf (Forwards)] [@frame Body] Speed setpoint in body x direction that is being tracked (Applied slew rates)
float32 pid_throttle_body_x_integral # [] [@range -1, 1] Integral of the PID for the closed loop controller of the speed in body x direction
float32 measured_speed_body_y # [m/s] [@range -inf (Left), inf (Right)] [@frame Body] [@invalid NaN If not mecanum] Mecanum only: Measured speed in body y direction
float32 adjusted_speed_body_y_setpoint # [m/s] [@range -inf (Left), inf (Right)] [@frame Body] [@invalid NaN If not mecanum] Mecanum only: Speed setpoint in body y direction that is being tracked (Applied slew rates)
float32 pid_throttle_body_y_integral # [] [@range -1, 1] [@invalid NaN If not mecanum] Mecanum only: Integral of the PID for the closed loop controller of the speed in body y direction
```
+18 -14
View File
@@ -1,22 +1,26 @@
# VehicleAirData (повідомлення UORB)
Vehicle air data
Data from the currently selected barometer (plus ambient temperature from the source specified in temperature_source).
Includes calculated data such as barometric altitude and air density.
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAirData.msg)
```c
# Vehicle air data
#
# Data from the currently selected barometer (plus ambient temperature from the source specified in temperature_source).
# Includes calculated data such as barometric altitude and air density.
uint64 timestamp # time since system start (microseconds)
uint64 timestamp_sample # the timestamp of the raw data (microseconds)
uint32 baro_device_id # unique device ID for the selected barometer
float32 baro_alt_meter # Altitude above MSL calculated from temperature compensated baro sensor data using an ISA corrected for sea level pressure SENS_BARO_QNH.
float32 baro_pressure_pa # Absolute pressure in Pascals
float32 ambient_temperature # Abient temperature in degrees Celsius
uint8 temperature_source # Source of temperature data: 0: Default Temperature (15°C), 1: External Baro, 2: Airspeed
float32 rho # air density
uint8 calibration_count # Calibration changed counter. Monotonically increases whenever calibration changes.
uint64 timestamp # [us] Time since system start
uint64 timestamp_sample # [us] Timestamp of the raw data
uint32 baro_device_id # Unique device ID for the selected barometer
float32 baro_alt_meter # [m] [@frame MSL] Altitude above MSL calculated from temperature compensated baro sensor data using an ISA corrected for sea level pressure SENS_BARO_QNH
float32 baro_pressure_pa # [Pa] Absolute pressure
float32 ambient_temperature # [degC] Ambient temperature
uint8 temperature_source # Source of temperature data: 0: Default Temperature (15°C), 1: External Baro, 2: Airspeed
float32 rho # [kg/m^3] Air density
uint8 calibration_count # Calibration changed counter. Monotonically increases whenever calibration changes.
```

Some files were not shown because too many files have changed in this diff Show More