mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-03 07:28:54 +08:00
New Crowdin translations - uk (#25558)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
This commit is contained in:
co-authored by
Crowdin Bot
parent
0068fea2f5
commit
d42aebe100
@@ -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)
|
||||
|
||||
@@ -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).
|
||||
|
||||

|
||||

|
||||
|
||||
3. Make sure the vehicle is armed and flying, e.g. by entering with `commander takeoff`.
|
||||
|
||||
|
||||
@@ -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. Параметри, розташовані в розділі, як показано нижче (або ви можете знайти їх):
|
||||
|
||||

|
||||

|
||||
|
||||
## Підсумок параметра
|
||||
|
||||
|
||||
@@ -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 і встановить відповідне програмне забезпечення.
|
||||
|
||||

|
||||

|
||||
|
||||
Зачекайте, доки транспортний засіб перезавантажиться.
|
||||
Зачекайте, доки транспортний засіб перезавантажиться.
|
||||
|
||||
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 і відповідним чином оновити програмне забезпечення.
|
||||
|
||||

|
||||

|
||||
|
||||
::: 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.
|
||||
|
||||
:::
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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, відповідно.
|
||||
|
||||
Припускаючи, що значення встановлені так, як описано в решті цієї теми, налаштування виглядатиме наступним чином:
|
||||
Припускаючи, що значення встановлені так, як описано в решті цієї теми, налаштування виглядатиме наступним чином:
|
||||
|
||||

|
||||

|
||||
|
||||
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
|
||||
```
|
||||
|
||||
## Дивіться також
|
||||
|
||||
|
||||
@@ -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_. Відсоток виконання друкується на системній консолі під час калібрування.
|
||||
|
||||
|
||||
@@ -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), щоб отримати оптимальний набір параметрів.
|
||||
|
||||
@@ -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).
|
||||
Діаграма потоку фаз посадки
|
||||
|
||||
@@ -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
|
||||
- Висока затримка: позначено
|
||||
|
||||

|
||||

|
||||
|
||||
### Перевірка
|
||||
|
||||
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_.
|
||||
Спочатку вручну підключіть високо запізнюваний зв'язок, а потім звичайний телеметрійний зв'язок:
|
||||
Спочатку вручну підключіть високо запізнюваний зв'язок, а потім звичайний телеметрійний зв'язок:
|
||||
|
||||

|
||||

|
||||
|
||||
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)_:
|
||||
|
||||

|
||||

|
||||
|
||||
Індикатор зв'язку завжди показує назву пріоритетного зв'язку.
|
||||
Індикатор зв'язку завжди показує назву пріоритетного зв'язку.
|
||||
|
||||
5. Супутникова система зв'язку тепер готова до використання.
|
||||
Пріоритетний зв'язок, через який надсилаються команди, визначається наступними способами:
|
||||
- Якщо користувач не вказав зв'язок, звичайний радіо телеметрійний зв'язок віддається перевагу перед високозапізнюваним зв'язком.
|
||||
- Автопілот та QGC перехоплюватимуть звичайний радіо телеметрійний зв'язок на високозапізнюваний зв'язок, якщо транспортний засіб зброєний, а радіо телеметрійний зв'язок втрачений (не отримано жодного повідомлення MAVLink протягом певного часу).
|
||||
Як тільки радіо телеметрійний зв'язок відновлюється, QGC та автопілот повертаються до нього.
|
||||
- Користувач може вибрати пріоритетний зв'язок через індикатор зв'язку на панелі інструментів.
|
||||
Це посилання зберігається як пріоритетне посилання, поки воно активне або користувач вибирає інше пріоритетне посилання:
|
||||
Пріоритетний зв'язок, через який надсилаються команди, визначається наступними способами:
|
||||
- Якщо користувач не вказав зв'язок, звичайний радіо телеметрійний зв'язок віддається перевагу перед високозапізнюваним зв'язком.
|
||||
- Автопілот та QGC перехоплюватимуть звичайний радіо телеметрійний зв'язок на високозапізнюваний зв'язок, якщо транспортний засіб зброєний, а радіо телеметрійний зв'язок втрачений (не отримано жодного повідомлення MAVLink протягом певного часу).
|
||||
Як тільки радіо телеметрійний зв'язок відновлюється, QGC та автопілот повертаються до нього.
|
||||
- Користувач може вибрати пріоритетний зв'язок через індикатор зв'язку на панелі інструментів.
|
||||
Це посилання зберігається як пріоритетне посилання, поки воно активне або користувач вибирає інше пріоритетне посилання:
|
||||
|
||||

|
||||

|
||||
|
||||
## Усунення проблем
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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).
|
||||
|
||||
@@ -188,16 +188,16 @@ PX4 видає повідомлення MAVLink [CAMERA_TRIGGER](https://mavlink
|
||||
|
||||
1. На консолі PX4:
|
||||
|
||||
```shell
|
||||
camera_trigger test
|
||||
```
|
||||
```shell
|
||||
camera_trigger test
|
||||
```
|
||||
|
||||
2. Від _QGroundControl_:
|
||||
|
||||
Клацніть на **Запуск камери** на головній панелі інструментів.
|
||||
Ці знімки не відображаються або не підраховуються для геотегування.
|
||||
Клацніть на **Запуск камери** на головній панелі інструментів.
|
||||
Ці знімки не відображаються або не підраховуються для геотегування.
|
||||
|
||||

|
||||

|
||||
|
||||
## Приклад Sony QX-1 (Фотограметрія)
|
||||
|
||||
|
||||
@@ -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. Можливо, вам доведеться встановити деякі інші параметри, залежно від вашого з'єднання - наприклад, швидкість передачі даних.
|
||||
|
||||
Підключіться та налаштуйте камеру, як рекомендовано в її посібнику користувача.
|
||||
|
||||
@@ -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.
|
||||
|
||||

|
||||

|
||||
|
||||
2. Видаліть ці 4 гвинти на задній стороні підлогової дошки.
|
||||
|
||||

|
||||

|
||||
|
||||
3. Видаліть підставку корпусу, встановіть CM4 та використовуйте 4 гвинти для його кріплення (як показано):
|
||||
|
||||

|
||||

|
||||
|
||||
4. Прикріпіть кришку знову.
|
||||
|
||||
@@ -115,29 +115,29 @@ RPi CM4 та контролер польоту повинні бути живл
|
||||
|
||||
1. Switch Dip-Switch to `RPI`.
|
||||
|
||||

|
||||

|
||||
|
||||
2. Підключіть комп'ютер до порту USB-C _CM4 Slave_, що використовується для живлення та прошивки RPi.
|
||||
|
||||

|
||||

|
||||
|
||||
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`
|
||||
|
||||

|
||||

|
||||
|
||||
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).
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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, виконавши ці кроки:
|
||||
- Спочатку переконайтеся, що він знеструмлений.
|
||||
- Утримуйте кнопку скидання (див. малюнок нижче...).
|
||||

|
||||
- Підключіть до USB-порту комп'ютера.
|
||||
- Через секунду синій світлодіод повинен почати блимати, а через 5 секунд повинен почати блимати швидше.
|
||||
- Відпустіть кнопку.
|
||||
- Спочатку переконайтеся, що він знеструмлений.
|
||||
- Утримуйте кнопку скидання (див. малюнок нижче...).
|
||||

|
||||
- Підключіть до 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. Очікування завершення.
|
||||
|
||||
|
||||
@@ -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, виконавши ці кроки:
|
||||
- Спочатку переконайтеся, що він знеструмлений.
|
||||
- Переконайтеся, що акумулятор від'єднаний.
|
||||
- Утримуйте кнопку скидання (див. малюнок нижче...).
|
||||

|
||||
- Підключіть до USB-порту комп'ютера.
|
||||
- Через секунду синій світлодіод повинен почати блимати, а через 5 секунд повинен почати блимати швидше.
|
||||
- Відпустіть кнопку.
|
||||
- Спочатку переконайтеся, що він знеструмлений.
|
||||
- Переконайтеся, що акумулятор від'єднаний.
|
||||
- Утримуйте кнопку скидання (див. малюнок нижче...).
|
||||

|
||||
- Підключіть до 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 мигає.
|
||||
Це свідчить про те, що отримувач увімкнений, але ще не встановив зв'язок з передавачем.
|
||||
Це свідчить про те, що отримувач увімкнений, але ще не встановив зв'язок з передавачем.
|
||||
|
||||

|
||||

|
||||
|
||||
2. **Увійдіть в режим зв'язку**: Для ініціювання зв'язку відкрийте термінал та виконайте команди `adb shell` та `voxl-elrs -bind`.
|
||||
Ви побачите, що світлодіод приймача перемикається на миготливий в режимі миттєвого реагування, сигналізуючи, що тепер він у режимі зв'язку.
|
||||
Ви побачите, що світлодіод приймача перемикається на миготливий в режимі миттєвого реагування, сигналізуючи, що тепер він у режимі зв'язку.
|
||||
|
||||

|
||||

|
||||
|
||||
#### Налаштування передавача
|
||||
|
||||
1. **Отримайте доступ до меню**: На вашому передавачі радіо Commando 8, включеному в комплект, натисніть ліву кнопку режиму, щоб відкрити систему меню.
|
||||
|
||||

|
||||

|
||||
|
||||
2. **Перейдіть до ExpressLRS**: Використовуйте праву кнопку, щоб вибрати перший пункт меню, який повинен бути "ExpressLRS."
|
||||
|
||||
3. **Знайдіть опцію Bind**: Після вибору опції "ExpressLRS" прокрутіть вниз до нижньої частини меню, щоб знайти розділ "Bind". Це можна зробити, натиснувши праву кнопку донизу, поки ви не досягнете опцію "Прив'язка".
|
||||
|
||||

|
||||

|
||||
|
||||
4. **Ініціювати Прив'язку**: Виберіть "Прив'язати", щоб перевести передавач у режим прив'язки. Ви будете знати, що процес був успішним, коли передавач видасть сигнал, вказуючи на успішне зв'язування.
|
||||
|
||||
|
||||
@@ -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_ може живитися як від розетки постійного струму, так і від акумулятора.
|
||||
|
||||
 
|
||||
 
|
||||
|
||||
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)
|
||||
|
||||

|
||||

|
||||
|
||||
4. Уставте попередньо зображену USB2.0-ручку зі набору в порт _UP Core_, позначений як `USB1` (виділено нижче).
|
||||
|
||||

|
||||

|
||||
|
||||
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. Прикріпіть гвинти з обертанням, як показано:
|
||||
|
||||

|
||||

|
||||
|
||||
- Напрямки гвинтів можна визначити за мітками: _6045_ (звичайний, проти годинникової стрілки) та _6045_**R** (обернений, за годинниковою стрілкою).
|
||||
- Напрямки гвинтів можна визначити за мітками: _6045_ (звичайний, проти годинникової стрілки) та _6045_**R** (обернений, за годинниковою стрілкою).
|
||||
|
||||

|
||||

|
||||
|
||||
- Закрутіть тісно за допомогою наданих гайок пропелера:
|
||||
- Закрутіть тісно за допомогою наданих гайок пропелера:
|
||||
|
||||

|
||||

|
||||
|
||||
## Політ дроном з униканням
|
||||
|
||||
@@ -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_ відображає повідомлення: **Підключена система уникнення**.
|
||||
|
||||

|
||||

|
||||
|
||||
- Червоний лазер видно на передній частині камери _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`:
|
||||
|
||||

|
||||

|
||||
|
||||
- Використовуйте кабель USB-JST з комплекту, щоб отримати роз'єм USB A
|
||||
- Використовуйте кабель USB-JST з комплекту, щоб отримати роз'єм USB A
|
||||
|
||||

|
||||

|
||||
|
||||
- До кабелю можна підключити USB хаб, якщо клавіатура та миша мають окремі роз'єми.
|
||||
- До кабелю можна підключити USB хаб, якщо клавіатура та миша мають окремі роз'єми.
|
||||
|
||||
2. Підключіть монітор до порту HDMI _UP Core_.
|
||||
|
||||

|
||||

|
||||
|
||||
Екран входу в 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).
|
||||
|
||||
@@ -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](https://downloads.basicmicro.com/docs/roboclaw_user_manual.pdf) під `Командами сумісності` для `Пакетної послідовної передачі даних`:
|
||||
Для систем з більш ніж двома двигунами можливо призначити одну й ту ж функцію кільком двигунам.
|
||||
Причина нестандартних значень можна знайти в [Користувацькому посібнику RoboClaw](https://downloads.basicmicro.com/docs/roboclaw_user_manual.pdf) під `Командами сумісності` для `Пакетної послідовної передачі даних`:
|
||||
|
||||
```plain
|
||||
Приводити двигун вперед. Діапазон дійсних даних - від 0 до 127. Значення 127 = повна швидкість вперед, 64 =
|
||||
|
||||
@@ -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. Збільшуйте значення перемикача газу, і літак злетить. Відразу після цього поверніть його в середину.
|
||||
|
||||
|
||||
@@ -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:
|
||||
....
|
||||
...
|
||||
```
|
||||
|
||||
## Перевірка нового польотного завдання
|
||||
|
||||
|
||||
@@ -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
@@ -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**:
|
||||
|
||||

|
||||

|
||||
|
||||
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
@@ -448,9 +448,9 @@ QGC потім автоматично обере наступний двигун
|
||||
|
||||
4. One motor will start spinning (click **Spin Motor Again** if it stops spinning too quickly to note.)
|
||||
|
||||
Виберіть відповідний двигун в розділі геометрії.
|
||||
Виберіть відповідний двигун в розділі геометрії.
|
||||
|
||||

|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||
::: info
|
||||
For DShot output, this is not required.
|
||||

|
||||
::: 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).
|
||||
|
||||

|
||||

|
||||
|
||||
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".
|
||||

|
||||
::: info
|
||||
This is done in the `Trim` setting of the Geometry panel, usually by "trial and error".
|
||||

|
||||
|
||||
:::
|
||||
|
||||
- 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).
|
||||
|
||||

|
||||

|
||||
|
||||
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).
|
||||
|
||||
|
||||
@@ -27,18 +27,18 @@ Before calibration they must be [enabled via the corresponding parameter](../adv
|
||||
|
||||
4. Click the **Airspeed** sensor button.
|
||||
|
||||

|
||||

|
||||
|
||||
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
@@ -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.
|
||||
|
||||

|
||||

|
||||
|
||||
::: 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. Розмістіть транспортний засіб у будь-якому з показаних червоних орієнтацій (неповний) та утримуйте його нерухомим. Після запиту (орієнтаційне зображення стає жовтим) обертайте транспортний засіб навколо вказаної вісі в одному або обох напрямках. Після завершення калібрування для поточного орієнтації пов'язане зображення на екрані стане зеленим.
|
||||
|
||||

|
||||

|
||||
|
||||
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
|
||||
```
|
||||
|
||||
Примітки:
|
||||
|
||||
|
||||
@@ -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)).
|
||||
Якщо ви виберете це, вам доведеться вибрати власну прошивку з файлової системи на наступному кроці.
|
||||
Якщо ви виберете це, вам доведеться вибрати власну прошивку з файлової системи на наступному кроці.
|
||||
|
||||
Оновлення прошивки потім продовжується, як і раніше.
|
||||
|
||||
|
||||
@@ -40,24 +40,24 @@ PX4 дозволяє вам вказати канал "режиму" та виб
|
||||
|
||||
3. Select **"Q" icon > Vehicle Setup > Flight Modes** (sidebar) to open _Flight Modes Setup_.
|
||||
|
||||

|
||||

|
||||
|
||||
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).
|
||||
|
||||
Усі значення автоматично зберігаються після зміни.
|
||||
|
||||
|
||||
@@ -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. |
|
||||
|
||||
Параметри, які впливають лише на повітряні судна з фіксованим крилом:
|
||||
|
||||
| Параметр | Опис |
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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. Видаліть лопаті ротора та пропелери
|
||||
|
||||
|
||||
@@ -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**
|
||||

|
||||

|
||||
|
||||
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)
|
||||
|
||||

|
||||

|
||||
|
||||
Готово!
|
||||
Пам'ятайте увімкнути повітряний режим перед виходом з налаштувань.
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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).
|
||||
|
||||
|
||||
@@ -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
@@ -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.
|
||||
|
||||
## Де я можу додати зміни?
|
||||
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
## Щоб отримати гілку релізу
|
||||
|
||||
|
||||
@@ -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.
|
||||

|
||||

|
||||
|
||||
- Click the **update all** button.
|
||||
|
||||
:::tip
|
||||
This takes a VERY LONG TIME (10 minutes).
|
||||
Ігноруйте всі помилки про відсутні пакети.
|
||||
:::tip
|
||||
This takes a VERY LONG TIME (10 minutes).
|
||||
Ігноруйте всі помилки про відсутні пакети.
|
||||
|
||||
:::
|
||||
|
||||

|
||||

|
||||
|
||||
- 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
|
||||

|
||||
|
||||
10. Then select _GDB SEGGER J-Link Debugging_ and then the **New config** button on the top left.
|
||||

|
||||

|
||||
|
||||
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.
|
||||
|
||||
:::
|
||||
|
||||

|
||||

|
||||
|
||||
12. The _Debugger_ and _Startup_ tabs shouldn’t need any modifications (just verify your settings with the screenshots below)
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
## Відлагодження з урахуванням завдань 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:
|
||||

|
||||

|
||||
|
||||
2. Compile the **jlink-nuttx.so** library in the terminal by running the following command in the terminal: `make jlink-nuttx`
|
||||
|
||||
|
||||
@@ -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 відлагоджувальний плагін
|
||||
|
||||
|
||||
@@ -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).
|
||||
|
||||
:::
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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).
|
||||
|
||||
|
||||
@@ -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).
|
||||
|
||||
@@ -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.
|
||||
|
||||
:::
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||

|
||||

|
||||
|
||||
Зверніть увагу, що 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
@@ -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**):
|
||||
|
||||

|
||||

|
||||
|
||||
- З'явиться діалогове вікно вибору файлу.
|
||||
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).
|
||||

|
||||

|
||||
|
||||
::: 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).
|
||||

|
||||

|
||||
|
||||
- Зачекайте, поки налаштування завершиться.
|
||||
When this is done the notification will disappear and you'll be shown the build location:
|
||||
.
|
||||
When this is done the notification will disappear and you'll be shown the build location:
|
||||
.
|
||||
|
||||
2. You can then kick off a build from the config bar (select either **Build** or **Debug**).
|
||||

|
||||
|
||||
@@ -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.
|
||||
|
||||

|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
|
||||
@@ -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.
|
||||
:::
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
:::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)
|
||||
|
||||
## Схема розташування виводів
|
||||
|
||||

|
||||
|
||||
## 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
|
||||
|
||||

|
||||
|
||||
## 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.
|
||||
|
||||

|
||||
|
||||
## 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.
|
||||
|
||||

|
||||
|
||||
## 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.
|
||||
|
||||

|
||||
|
||||
## 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.
|
||||
|
||||

|
||||
|
||||
## SD-карта
|
||||
|
||||
The SD card is NOT included in the package, you need to prepare the SD card and insert it into the slot.
|
||||
|
||||

|
||||
|
||||
## Прошивка
|
||||
|
||||
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))
|
||||
|
||||
@@ -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. **Світло**: Транспортний засіб світиться, доки не сідає на землю.
|
||||
|
||||
|
||||
@@ -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. Запустіть / киньте транспортний засіб (міцно) безпосередньо у вітер.
|
||||
Ви також можете спершу потрясти транспортний засіб, зачекати, поки рушить двигун, а потім кинути його
|
||||
Ви також можете спершу потрясти транспортний засіб, зачекати, поки рушить двигун, а потім кинути його
|
||||
|
||||
### Параметри (виявник запуску)
|
||||
|
||||
|
||||
@@ -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). Що дозволяє перспективу, як знято з супутника.
|
||||
|
||||
## Відомі проблеми
|
||||
|
||||
|
||||
@@ -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), перейдіть до _Налаштувань Режиму Посадки_ та позначте прапорець _Роззброювати після_.
|
||||
Введіть час очікування після посадки перед відброюванням транспортного засобу.
|
||||
|
||||
:::
|
||||
|
||||
|
||||
@@ -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. Після виявлення швидкості вниз (транспортний засіб досягає свого апексу і починає падати), мотори повинні увімкнутися, і транспортний засіб почне летіти в поточному режимі.
|
||||
|
||||
## Параметри
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||

|
||||

|
||||
|
||||
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 ніжки до нижньої пластини за допомогою наданих гвинтів.
|
||||
|
||||

|
||||

|
||||
|
||||
2. Припаяйте ЕСК (електронний регулятор швидкості) до плати, позитивний (червоний) та негативний (чорний).
|
||||
|
||||

|
||||

|
||||
|
||||
3. Припаяйте модуль живлення, позитивний (червоний) та негативний (чорний).
|
||||
|
||||

|
||||

|
||||
|
||||
4. Підключіть двигуни до ESC відповідно до їхніх позицій.
|
||||
|
||||

|
||||

|
||||
|
||||
5. Прикріпіть двигуни до відповідних рук.
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
6. Додайте верхню дошку (прикрутіть до верхньої частини ніг).
|
||||
|
||||

|
||||

|
||||
|
||||
7. Add damping foam to the _CUAV V5 nano_ flight controller.
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
8. Прикріпіть приймач FrSky до нижньої плати за допомогою двосторонньої стрічки.
|
||||
|
||||

|
||||

|
||||
|
||||
9. Прикріпіть телеметричний модуль до нижньої плати транспортного засобу за допомогою двосторонньої стрічки.
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
10. Поставте алюмінієві опори на платформу кнопок і прикріпіть GPS.
|
||||
|
||||

|
||||

|
||||
|
||||
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.
|
||||

|
||||

|
||||
|
||||
::: 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 ніжки до нижньої пластини за допомогою наданих гвинтів.
|
||||
|
||||

|
||||

|
||||
|
||||
2. Припаяйте ЕСК (електронний регулятор швидкості) до плати, позитивний (червоний) та негативний (чорний).
|
||||
|
||||

|
||||

|
||||
|
||||
3. Припаяйте модуль живлення, позитивний (червоний) та негативний (чорний).
|
||||
|
||||

|
||||

|
||||
|
||||
4. Підключіть двигуни до ESC відповідно до їхніх позицій.
|
||||
|
||||

|
||||

|
||||
|
||||
5. Прикріпіть двигуни до відповідних рук.
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
6. Додайте верхню дошку (прикрутіть до верхньої частини ніг).
|
||||
|
||||

|
||||

|
||||
|
||||
7. Додайте двосторонній скотч (3M) до контролера польоту CUAV V5+ (він має внутрішнє гасіння вібрацій, тому використовувати піну не потрібно).
|
||||
|
||||

|
||||

|
||||
|
||||
8. Прикріпіть приймач FrSky до нижньої плати за допомогою двосторонньої стрічки.
|
||||
|
||||

|
||||

|
||||
|
||||
9. Прикріпіть телеметричний модуль до нижньої плати транспортного засобу за допомогою двосторонньої стрічки.
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
10. Поставте алюмінієві опори на платформу кнопок.
|
||||
|
||||
11. Plug in Telemetry (`TELEM1`) and GPS module (`GPS/SAFETY`) to the flight controller.
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
12. Plug in the RC receiver (`RC`), all 4 ESC’s (`M1-M4`), and the power module (`Power1`) into the flight controller.
|
||||

|
||||

|
||||
|
||||
::: 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 мм, як показано:
|
||||
|
||||

|
||||

|
||||
|
||||
2. Покладіть коротку пластину над руками
|
||||
|
||||

|
||||

|
||||
|
||||
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).
|
||||

|
||||

|
||||
|
||||
5. Add the plastic nuts to the screws (turn over, as shown)
|
||||

|
||||

|
||||
|
||||
6. Lower the power module over the plastic screws and then add the plastics standoffs
|
||||

|
||||

|
||||
|
||||
7. Put the flight controller plate on the standoffs (over the power module)
|
||||

|
||||

|
||||
|
||||
8. Підключіть двигуни. Двигуни мають стрілку, що показує напрямок обертання.
|
||||

|
||||

|
||||
|
||||
9. Use double sided tape from kit to attach the _Pixhawk 4 Mini_ to the flight controller plate.
|
||||

|
||||

|
||||
|
||||
10. Connect the power module's "power" cable to _Pixhawk 4 mini_.
|
||||

|
||||

|
||||
|
||||
11. Attach the aluminium standoffs to the button plate
|
||||

|
||||

|
||||
|
||||
12. Підключіть ESC з моторами та утримуйте. На цьому зображенні показаний порядок розташування двигунів та напрямок обертання.
|
||||

|
||||

|
||||
|
||||
Підключіть двигуни на 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.
|
||||
|
||||
:::
|
||||
|
||||

|
||||

|
||||
|
||||
13. Підключіть кабелі сигналу ESC до виходів PWM Pixhawk у правильному порядку (див. попереднє зображення)
|
||||
|
||||

|
||||

|
||||
|
||||
14. Підключіть приймач.
|
||||
- Якщо використовуєте приймач PPM, підключіть його до порту PPM.
|
||||
- Якщо використовуєте приймач PPM, підключіть його до порту PPM.
|
||||
|
||||

|
||||

|
||||
|
||||
- Якщо використовується приймач SBUS, підключіть його до порту RC IN
|
||||
- Якщо використовується приймач SBUS, підключіть його до порту RC IN
|
||||
|
||||

|
||||

|
||||
|
||||
15. Підключіть модуль телеметрії. Вставте модуль за допомогою двостворчастої стрічки та підключіть його до порту телеметрії.
|
||||
|
||||

|
||||

|
||||
|
||||
16. Підключіть модуль GPS
|
||||
|
||||

|
||||

|
||||
|
||||
Прикріпіть модуль на верхню плату (використовуючи наданий стрічку 3M, або пастою). Потім покладіть верхню плиту на стойки, як показано
|
||||
Прикріпіть модуль на верхню плату (використовуючи наданий стрічку 3M, або пастою). Потім покладіть верхню плиту на стойки, як показано
|
||||
|
||||

|
||||

|
||||
|
||||
17. Останнім "обов'язковим" кроком зборки є додавання липучки для утримання батареї
|
||||
|
||||

|
||||

|
||||
|
||||
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
|
||||

|
||||

|
||||
2. Install the camera on the bracket
|
||||

|
||||

|
||||
3. The power module on the complete kit comes with wiring ready to connect the Video Transmitter and Camera:
|
||||

|
||||
- Attach the camera connector
|
||||

|
||||
The wires are: blue=voltage sensor, yellow=video out, black=ground, red=+voltage.
|
||||
- Connect the Video Transmitter (VTX) connector
|
||||

|
||||
The wires are: yellow=video out, black=ground, red=+voltage.
|
||||

|
||||
- Attach the camera connector
|
||||

|
||||
The wires are: blue=voltage sensor, yellow=video out, black=ground, red=+voltage.
|
||||
- Connect the Video Transmitter (VTX) connector
|
||||

|
||||
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. Збірка шасі.
|
||||
Ми збираємося почати зі складання шасі на вертикальний стовп. Відкрутіть гвинти стійки посадки та вставте вертикальний стовп, як показано нижче.
|
||||
Ми збираємося почати зі складання шасі на вертикальний стовп. Відкрутіть гвинти стійки посадки та вставте вертикальний стовп, як показано нижче.
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
2. Зібрати плату управління живленням до стільникового шасі. Закрутіть шасі з вертикальним полем на повністю зібрану плату управління живленням.
|
||||
|
||||
@@ -132,132 +132,132 @@ No LiPo battery is included.
|
||||

|
||||
|
||||
1. Зберігайте зброю на плату керування живленням.
|
||||
Прикріпіть руку до плати управління живленням.
|
||||
Прикріпіть руку до плати управління живленням.
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
Використовуйте гвинти M2 5X6 по 2 штуки в кожній руці.
|
||||
Вставте гвинти знизу пластини.
|
||||
Використовуйте гвинти M2 5X6 по 2 штуки в кожній руці.
|
||||
Вставте гвинти знизу пластини.
|
||||
|
||||

|
||||

|
||||
|
||||
Переконайтеся, що кабелі ESC прокладені через середину руки.
|
||||
Переконайтеся, що кабелі ESC прокладені через середину руки.
|
||||
|
||||

|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||

|
||||
|
||||
Виріжте шматок стрічки 3M та прикріпіть його до нижньої частини горизонтального штиря:
|
||||
Виріжте шматок стрічки 3M та прикріпіть його до нижньої частини горизонтального штиря:
|
||||
|
||||

|
||||

|
||||
|
||||
Stick the Horizontal Pin to the Power Management Board:
|
||||
Stick the Horizontal Pin to the Power Management Board:
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
3. Зберіть двигуни на руки. Для цього нам знадобляться 16 шурупів M3X7, 4 мотори та 4 руки.
|
||||
|
||||
Встановіть двигуни в кожну руку, пропустіть гвинт через дно руки:
|
||||
Встановіть двигуни в кожну руку, пропустіть гвинт через дно руки:
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
Після того, як 4 мотори встановлені на руку, візьміть кабелі (червоний, синій, чорний) і пропустіть їх через різьбу руки.
|
||||
3 кабелі, які мають колірну маркування, підключаються до ESC.
|
||||
Після того, як 4 мотори встановлені на руку, візьміть кабелі (червоний, синій, чорний) і пропустіть їх через різьбу руки.
|
||||
3 кабелі, які мають колірну маркування, підключаються до ESC.
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
4. Монтаж GPS на рамці.
|
||||
Для цього нам знадобиться GPS Pixhawk 4 та монтажна плита.
|
||||
Для цього нам знадобиться GPS Pixhawk 4 та монтажна плита.
|
||||
|
||||

|
||||

|
||||
|
||||
Встановіть мачту GPS на задню частину дошки, використовуйте 4 гвинти:
|
||||
Встановіть мачту GPS на задню частину дошки, використовуйте 4 гвинти:
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
Використовуйте стрічку та приклейте GPS на верх мачти GPS:
|
||||
Використовуйте стрічку та приклейте GPS на верх мачти GPS:
|
||||
|
||||

|
||||

|
||||
|
||||
5. Вставте FrSky на дошку. Наклейте FrSky за допомогою двосторонньої стрічки (3M) на нижню плату.
|
||||
Прикріпіть FrSky до рами:
|
||||
Прикріпіть FrSky до рами:
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
6. Прикріпіть телеметрію до рами.
|
||||
Наступним кроком є взяти телеметричне радіо Holybro та прикріпити його до рами, використовуйте стрічку 3M.
|
||||
Наступним кроком є взяти телеметричне радіо Holybro та прикріпити його до рами, використовуйте стрічку 3M.
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
Цей збірний вузол прикріплений всередину рами, спрямований на зовнішню сторону вперед автомобіля.
|
||||
На нижче наведеному зображенні показано радіо, яке знаходиться всередині нижньої частини рами.
|
||||
Цей збірний вузол прикріплений всередину рами, спрямований на зовнішню сторону вперед автомобіля.
|
||||
На нижче наведеному зображенні показано радіо, яке знаходиться всередині нижньої частини рами.
|
||||
|
||||

|
||||

|
||||
|
||||
7. Монтаж Pixhawk 4 на плату.
|
||||
Використовуйте двосторонній скотч для кріплення Pixhawk 4 до центральної пластини:
|
||||
Використовуйте двосторонній скотч для кріплення Pixhawk 4 до центральної пластини:
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
Наступним кроком є монтаж Pixhawk 4 на плату до рами.
|
||||
Для цього нам знадобляться винти M2 5X6.
|
||||
Вирівняйте пластину з рамою та вставте гвинти.
|
||||
Перед тим як встановлювати плату, ми рекомендуємо накласти стрічку на модуль живлення (таким чином він буде щільно фіксуватися).
|
||||
Наступним кроком є монтаж Pixhawk 4 на плату до рами.
|
||||
Для цього нам знадобляться винти M2 5X6.
|
||||
Вирівняйте пластину з рамою та вставте гвинти.
|
||||
Перед тим як встановлювати плату, ми рекомендуємо накласти стрічку на модуль живлення (таким чином він буде щільно фіксуватися).
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
8. Збирання кронштейну батареї до рами.
|
||||
Для цього нам знадобляться винти M2 5X6 та кріплення батареї:
|
||||
Для цього нам знадобляться винти M2 5X6 та кріплення батареї:
|
||||
|
||||

|
||||

|
||||
|
||||
Вставте довгі важі в маленькі кільця:
|
||||
Вставте довгі важі в маленькі кільця:
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
Додайте це до рами, переконайтеся, що всі чотири сторони вирівняні для вставки гвинтів:
|
||||
Додайте це до рами, переконайтеся, що всі чотири сторони вирівняні для вставки гвинтів:
|
||||
|
||||

|
||||

|
||||
|
||||
Зберіть маленьку пластину до ніг та відкрутіть по всіх чотирьох сторонах.
|
||||
Зберіть маленьку пластину до ніг та відкрутіть по всіх чотирьох сторонах.
|
||||
|
||||

|
||||

|
||||
|
||||
Останнім кроком є закріплення плати:
|
||||
Останнім кроком є закріплення плати:
|
||||
|
||||

|
||||

|
||||
|
||||
9. Підключення Pixhawk 4. Pixhawk 4, який має кілька різних дротів та з'єднань з ним.
|
||||
Нижче наведено зображення кожного дроту, який потрібен з Pixhawk, і його вигляд підключення.
|
||||
Нижче наведено зображення кожного дроту, який потрібен з Pixhawk, і його вигляд підключення.
|
||||
|
||||
10. Підключіть модуль телеметрії та GPS до контролера польоту, як показано на рисунку 37; підключіть RC приймач, всі 4 ESC до контролера польоту, а також модуль живлення.
|
||||
|
||||

|
||||

|
||||
|
||||
Після повної збірки комплект виглядає як показано нижче:
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||

|
||||

|
||||
|
||||
_Figure 2_: Payload holder components
|
||||
_Figure 2_: Payload holder components
|
||||
|
||||

|
||||

|
||||
|
||||
_Figure 3_: Payload holder assembled
|
||||
_Figure 3_: Payload holder assembled
|
||||
|
||||
2. Наступним кроком буде прикріплення нижньої пластини до тримача вантажу.
|
||||
|
||||
Вам знадобляться деталі, як показано на рисунку 4.
|
||||
Потім встановіть основу для розподільної плати живлення, використовуючи нейлонові гайки, як зображено на Рис. 5.
|
||||
Нарешті, використовуючи 8 шестигранних гвинтів, ви можете приєднати нижню пластину до тримача навантаження (Рисунок 7)
|
||||
Вам знадобляться деталі, як показано на рисунку 4.
|
||||
Потім встановіть основу для розподільної плати живлення, використовуючи нейлонові гайки, як зображено на Рис. 5.
|
||||
Нарешті, використовуючи 8 шестигранних гвинтів, ви можете приєднати нижню пластину до тримача навантаження (Рисунок 7)
|
||||
|
||||

|
||||

|
||||
|
||||
_Figure 4_: Needed Materials
|
||||
_Figure 4_: Needed Materials
|
||||
|
||||

|
||||

|
||||
|
||||
_Figure 5_: PDB mount base
|
||||
_Figure 5_: PDB mount base
|
||||
|
||||

|
||||

|
||||
|
||||
_Figure 6_: Mounted pdb with nylon nuts
|
||||
_Figure 6_: Mounted pdb with nylon nuts
|
||||
|
||||

|
||||

|
||||
|
||||
_Figure 7_: Mounted Plate on payload holder
|
||||
_Figure 7_: Mounted Plate on payload holder
|
||||
|
||||
3. Давайте зберемо речі, необхідні для монтажу посадкового шасі, як на рисунку 8.
|
||||
Використовуйте гвинти, щоб приєднати посадкові шасі до нижньої пластини.
|
||||
Також потрібно відкрити три шестигранних гвинти на кожній з ніжок, щоб ви могли вставити їх у вуглецеві труби.
|
||||
Не забудьте знову їх затягнути.
|
||||
Використовуйте гвинти, щоб приєднати посадкові шасі до нижньої пластини.
|
||||
Також потрібно відкрити три шестигранних гвинти на кожній з ніжок, щоб ви могли вставити їх у вуглецеві труби.
|
||||
Не забудьте знову їх затягнути.
|
||||
|
||||

|
||||

|
||||
|
||||
_Figure 8_: Required parts for landing gear attachment
|
||||
_Figure 8_: Required parts for landing gear attachment
|
||||
|
||||

|
||||

|
||||
|
||||
_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 гвинтів і гайок використовуйте як шестигранний ключ, так і гайковий ключ.
|
||||
|
||||

|
||||

|
||||
|
||||
_Figure 12_: Mounted top plate
|
||||
_Figure 12_: Mounted top plate
|
||||
|
||||
6. Наступним кроком ви можете закріпити свій pixhawk на верхній плиті, використовуючи наклейки.
|
||||
Рекомендується мати напрямок стрілки вашого Pixhawk таким же, як зазначено на верхній плиті.
|
||||
Рекомендується мати напрямок стрілки вашого Pixhawk таким же, як зазначено на верхній плиті.
|
||||
|
||||

|
||||

|
||||
|
||||
_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).
|
||||
|
||||

|
||||

|
||||
|
||||
_Figure 2_: Landing gear components
|
||||
_Figure 2_: Landing gear components
|
||||
|
||||

|
||||

|
||||
|
||||
_Figure 2_: Landing gear assembled
|
||||
_Figure 2_: Landing gear assembled
|
||||
|
||||
2. Потім просуньте 4 кронштейни через 4 основи двигуна, як показано на малюнку 3.
|
||||
Переконайтеся, що штанги злегка виступають з основи і є однаковими на всіх 4-х плечах, а також переконайтеся, що дроти електродвигуна спрямовані назовні.
|
||||
Переконайтеся, що штанги злегка виступають з основи і є однаковими на всіх 4-х плечах, а також переконайтеся, що дроти електродвигуна спрямовані назовні.
|
||||
|
||||

|
||||

|
||||
|
||||
_Figure 3_: Attach arms to motor bases
|
||||
_Figure 3_: Attach arms to motor bases
|
||||
|
||||
3. Вставте 4 нейлонові гвинти та нейлонові стійки і прикріпіть модуль живлення PM07 до нижньої панелі за допомогою 4 нейлонових гайок, як показано на зображенні 4.
|
||||
|
||||

|
||||

|
||||
|
||||
_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.
|
||||
|
||||

|
||||
_Figure 7_: ESC power module and signal wiring
|
||||

|
||||
_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.
|
||||
|
||||

|
||||

|
||||
|
||||
_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-х кронштейнах.
|
||||
Переконайтеся, що всі двигуни спрямовані прямо вгору, а потім затягніть усі гайки та гвинти.
|
||||
Переконайтеся, що всі двигуни спрямовані прямо вгору, а потім затягніть усі гайки та гвинти.
|
||||
|
||||

|
||||

|
||||
|
||||
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
|
||||
|
||||

|
||||

|
||||
|
||||
_Figure 12_: Screw holes
|
||||
_Figure 12_: Screw holes
|
||||
|
||||
11. Вставте направляючі планки на кільця кріплення (зображення 13).
|
||||
Зберіть кріплення для батареї та плату платформи і встановіть їх на направляючі, як показано на зображенні 14.
|
||||
Зберіть кріплення для батареї та плату платформи і встановіть їх на направляючі, як показано на зображенні 14.
|
||||
|
||||

|
||||

|
||||
|
||||
_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. Встановіть шасі на нижню пластину.
|
||||
Ми рекомендуємо нахилити дрон убік, щоб полегшити встановлення.
|
||||
Ми рекомендуємо нахилити дрон убік, щоб полегшити встановлення.
|
||||
|
||||

|
||||

|
||||
|
||||
_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.
|
||||
|
||||

|
||||

|
||||
|
||||
_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 предмети для натискання резинок всередині.
|
||||
|
||||
[](https://www.youtube.com/watch?v=4Tid-FCP_aI)
|
||||
[](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.
|
||||
|
||||
[](https://youtu.be/9E-rld6tPWQ)
|
||||
[](https://youtu.be/9E-rld6tPWQ)
|
||||
|
||||
3. Screw 4 hangers to the Platform Board using Sunk Screw M2.5\*6.
|
||||
|
||||
[](https://youtu.be/4qIBABc9KsY))
|
||||
[](https://youtu.be/4qIBABc9KsY))
|
||||
|
||||
4. Візьміть зациклювальну планку та вставте 4 вісця, щоб прикрутити до нижньої плати пізніше.
|
||||
|
||||
[](https://youtu.be/CFx6Ct7FCIc))
|
||||
[](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.
|
||||
|
||||
[](https://youtu.be/IfsMXTr3Uy4)
|
||||
[](https://youtu.be/IfsMXTr3Uy4)
|
||||
|
||||
2. Розмістіть Планку розподілу живлення та використовуйте гайки-самостопорювачі для їх збирання. Модуль живлення PM02 (для Pixhawk 6C) буде живити цю плату
|
||||
|
||||
[](https://youtu.be/Qjs6pqarRIY)
|
||||
[](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. Для збирання станції шасі відкрутіть заздалегідь складені винти шасі - перекрестна стрічка та вставте шасі - вертикальний стовп і затягніть той же.
|
||||
|
||||
[](https://youtu.be/mU4vm4zyjcY)
|
||||
[](https://youtu.be/mU4vm4zyjcY)
|
||||
|
||||
[](https://youtu.be/7REaF3YAqLg)
|
||||
[](https://youtu.be/7REaF3YAqLg)
|
||||
|
||||
2. Use the Socket Cap Screw M3\*8 to screw the landing gears to the bottom plate
|
||||
|
||||
[](https://youtu.be/iDxzWeyCN54)
|
||||
[](https://youtu.be/iDxzWeyCN54)
|
||||
|
||||
[](https://youtu.be/3fNJQraCJx0)
|
||||
[](https://youtu.be/3fNJQraCJx0)
|
||||
|
||||
Оскільки важко вставити проводи після того, як верхня плита складена, зробіть проводку заздалегідь.
|
||||
Хоча дизайн добре спроектований таким чином, що ви зможете зробити це пізніше також.
|
||||
@@ -92,28 +92,28 @@ Pixhawk 6C запитується за допомогою плати живле
|
||||
|
||||
1. Поставити руки досить просто, оскільки двигуни поставляються вже зібраними.
|
||||
|
||||
- Переконайтесь, що у вас є правильна пронумерована рука з мотором на відповідному боці.
|
||||
- Переконайтесь, що у вас є правильна пронумерована рука з мотором на відповідному боці.
|
||||
|
||||
[](https://youtu.be/45KCey3WiJ4)
|
||||
[](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. Возьміть одну руку та вставте прямокутний виступ всередину прямокутного порожнини на нижній плиті.
|
||||
|
||||
[](https://youtu.be/GOTqmjq9_3s)
|
||||
[](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. Утримуйте одну сторону, використовуючи міні-гайковий ключ, який надається у розробницькому комплекті.
|
||||
|
||||
[](https://youtu.be/2rcNVekJQd0)
|
||||
[](https://youtu.be/2rcNVekJQd0)
|
||||
|
||||
5. Не зав'язуйте жодних болтів, поки всі 3 мотори не будуть на місці, оскільки це може зробити складним збирання 3-го та 4-го моторів.
|
||||
|
||||
[](https://youtu.be/SlKRuNoE_AY)
|
||||
[](https://youtu.be/SlKRuNoE_AY)
|
||||
|
||||
### Пропелери
|
||||
|
||||
@@ -132,13 +132,13 @@ Pixhawk 6C запитується за допомогою плати живле
|
||||
|
||||
1. Зберіть GPS, дотримуючись відео.
|
||||
|
||||
[](https://youtu.be/aiFxVJFjlos)
|
||||
[](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
|
||||
|
||||
[](https://youtu.be/uG5UKy3FrIc)
|
||||
[](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 всередину кронштейнів крила, як показано.
|
||||
|
||||

|
||||

|
||||
|
||||
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. Наступні зображення показують вирівнювання стержнів з інших точок зору:
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
### Крок 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. Перевірте, чи транспортний засіб збалансований навколо очікуваного центру мас
|
||||
- Утримуйте транспортний засіб пальцями у центрі ваги та переконайтеся, що транспортний засіб залишається стабільним.
|
||||
- Утримуйте транспортний засіб пальцями у центрі ваги та переконайтеся, що транспортний засіб залишається стабільним.
|
||||
|
||||

|
||||

|
||||
|
||||
- Якщо транспортний засіб нахиляється вперед або назад, перемістіть двигуни, щоб утримати рівновагу.
|
||||
- Якщо транспортний засіб нахиляється вперед або назад, перемістіть двигуни, щоб утримати рівновагу.
|
||||
|
||||

|
||||

|
||||
|
||||
## Налаштування
|
||||
|
||||
@@ -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.
|
||||
|
||||

|
||||

|
||||
|
||||
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 в піддон, як показано на малюнку:
|
||||
|
||||

|
||||

|
||||
|
||||
2. Вставте 2x різьбові вставки M3 в пристрій для накладання, як показано на зображенні нижче:
|
||||
|
||||

|
||||

|
||||
|
||||
3. Вставте 2x різьбові вкладки M4 в кріплення вентилятора та кріплення радіо, як показано на малюнку нижче.
|
||||
|
||||

|
||||

|
||||
|
||||
Якщо ви хочете додати 40-мм вентилятор з напругою 5 В на кріплення вентилятора, вставте 4x вставки M3.
|
||||
Якщо ви хочете додати 40-мм вентилятор з напругою 5 В на кріплення вентилятора, вставте 4x вставки M3.
|
||||
|
||||

|
||||

|
||||
|
||||
4. Змініть кабельний роз'єм на роз'єм для сервоприводу, щоб його можна було вставити в шину сервоприводу для живлення.
|
||||
|
||||
::: info
|
||||
Можливо знадобиться вентилятор, якщо використовується потужне радіо.
|
||||
::: info
|
||||
Можливо знадобиться вентилятор, якщо використовується потужне радіо.
|
||||
|
||||
:::
|
||||
|
||||

|
||||

|
||||
|
||||
5. Вилучіть оригінальну кронштейнну пластину з автомобіля.
|
||||
Приклейте кабелі до зовнішньої частини фюзеляжу.
|
||||
Приклейте кабелі до зовнішньої частини фюзеляжу.
|
||||
|
||||

|
||||

|
||||
|
||||
6. Перемістіть підставку в транспортний засіб.
|
||||
|
||||
@@ -142,9 +142,9 @@ Foxtech Loong 2160 VTOL - це легкий у монтажі майже гот
|
||||
1. Вилучіть корпус з 40A PM.
|
||||
2. Зафіксуйте ПМ з 2x M2x6mm до нижньої пластини.
|
||||
3. Створіть кабель для подовження роз'єму XT60 до XT30, який закріплений на базовій платі.
|
||||
З цим, живлення від акумулятора 6S може бути підключено безпосередньо до роз'єму XT30 за допомогою попередньо налаштованого кабелю, що поставляється з транспортним засобом.
|
||||
З цим, живлення від акумулятора 6S може бути підключено безпосередньо до роз'єму XT30 за допомогою попередньо налаштованого кабелю, що поставляється з транспортним засобом.
|
||||
|
||||

|
||||

|
||||
|
||||
Якщо потрібно, вихід 10V з радіопорту на PM також може бути викладений через XT30, який може бути встановлений поруч зі входом батареї 6S XT60.
|
||||
|
||||
@@ -153,17 +153,17 @@ Foxtech Loong 2160 VTOL - це легкий у монтажі майже гот
|
||||
#### Трубка Піто
|
||||
|
||||
1. Датчик може бути встановлений за допомогою 2x винтів M3x16мм в передньому правому куті підставки.
|
||||
Піклуйтесь, щоб конектор був звернутий у бік центру фюзеляжу.
|
||||
Піклуйтесь, щоб конектор був звернутий у бік центру фюзеляжу.
|
||||
|
||||

|
||||

|
||||
|
||||
Лише передню трубу (не так, як показано на картинці) використовується; іншу трубу можна видалити, оскільки наш досвід показав, що тиск всередині фюзеляжу достатній як статичний тиск.
|
||||
Лише передню трубу (не так, як показано на картинці) використовується; іншу трубу можна видалити, оскільки наш досвід показав, що тиск всередині фюзеляжу достатній як статичний тиск.
|
||||
|
||||
2. Коли стек встановлено всередині фюзеляжу, труба, що йде з крила, та труба, що йде з датчика швидкості повітря, повинні бути з'єднані разом.
|
||||
Використовуйте трохи слини (це найлегший спосіб) щоб з'єднати їх разом, а потім використовуйте термоусадочну трубку, щоб посилити з'єднання.
|
||||
Використовуйте трохи слини (це найлегший спосіб) щоб з'єднати їх разом, а потім використовуйте термоусадочну трубку, щоб посилити з'єднання.
|
||||
|
||||
:::warning
|
||||
Використовуйте джерело тепла обережно, оскільки піна починаєтся танути при високих температурах.
|
||||
:::warning
|
||||
Використовуйте джерело тепла обережно, оскільки піна починаєтся танути при високих температурах.
|
||||
|
||||
:::
|
||||
|
||||
@@ -175,22 +175,22 @@ Foxtech Loong 2160 VTOL - це легкий у монтажі майже гот
|
||||
:::
|
||||
|
||||
1. Позначте місце для встановлення лідару за допомогою скотчу або ручки.
|
||||
Виріжте отвір всередині оболонки з ПВХ та піни, щоб лідар вміщувався на місце.
|
||||
Виріжте отвір всередині оболонки з ПВХ та піни, щоб лідар вміщувався на місце.
|
||||
|
||||

|
||||

|
||||
|
||||
2. Закріпіть лідар з гарячим клеєм.
|
||||
|
||||

|
||||

|
||||
|
||||
#### GPS/компас
|
||||
|
||||
1. Використовуйте двосторонній скотч для кріплення GPS на задній частині транспортного засобу під задньою засувкою.
|
||||
|
||||

|
||||

|
||||
|
||||
Стрілка на 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 кабель подовження та згинайте його впереду.
|
||||
Згин повинен бути дуже тугим, щоб пластина влізла в дрон.
|
||||
Згин повинен бути дуже тугим, щоб пластина влізла в дрон.
|
||||
|
||||

|
||||
|
||||
@@ -223,17 +223,17 @@ Foxtech Loong 2160 VTOL - це легкий у монтажі майже гот
|
||||
|
||||
1. Приклейте антени Skynode LTE до боку фюзеляжу, як показано на зображенні:
|
||||
|
||||

|
||||

|
||||
|
||||
2. Якщо ви використовуєте модуль радіотелеметрії, ви можете встановити антени на верх фюзеляжу.
|
||||
Зверху ви можете прямо встановити кабель подовження антени.
|
||||
Зверху ви можете прямо встановити кабель подовження антени.
|
||||
|
||||

|
||||

|
||||
|
||||
На задній частині ви можете використовувати адаптер антени з використанням технології 3D-друку.
|
||||
Адаптер можна склеювати на місці гарячим клеєм.
|
||||
На задній частині ви можете використовувати адаптер антени з використанням технології 3D-друку.
|
||||
Адаптер можна склеювати на місці гарячим клеєм.
|
||||
|
||||

|
||||

|
||||
|
||||
### Модуль потужності 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 регулятора швидкості.
|
||||
|
||||

|
||||

|
||||
|
||||
6. Зніміть гніздову вилку на ESC.
|
||||
Це надасть вам більше місця для встановлення польотного контролера.
|
||||
Це надасть вам більше місця для встановлення польотного контролера.
|
||||
|
||||

|
||||

|
||||
|
||||
7. Припаяйте проводи заднього двигуна до ESC регулятора швидкості.
|
||||
Переконайтеся, що підключаєте так, щоб двигун обертався у правильному напрямку.
|
||||
Переконайтеся, що підключаєте так, щоб двигун обертався у правильному напрямку.
|
||||
|
||||

|
||||

|
||||
|
||||
### З'єднувач крила
|
||||
|
||||
@@ -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.
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
2. Підготуйте BEC для підключення до IO плати та батареї.
|
||||
BEC також можна припаяти безпосередньо до акумуляторних колодок ESC.
|
||||
BEC також можна припаяти безпосередньо до акумуляторних колодок ESC.
|
||||
|
||||

|
||||

|
||||
|
||||
3. Закріпіть BEC двостороннім скотчем.
|
||||
|
||||

|
||||

|
||||
|
||||
### Кабелі
|
||||
|
||||
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-принтері, на місце.
|
||||
|
||||

|
||||

|
||||
|
||||
3. Датчик може бути встановлений зверху на кріпленні, надрукованому на 3D-принтері.
|
||||
|
||||

|
||||

|
||||
|
||||
#### Лідар
|
||||
|
||||
@@ -209,9 +209,9 @@ ZMO FPV в його початковому стані.
|
||||
2. Вийміть GPS із пластикового корпусу та від’єднайте роз’єм.
|
||||
3. Протягніть кабель через вуглецевий лонжерон.
|
||||
4. Glue the 3D-Printed part with 5 min epoxy in place.
|
||||

|
||||

|
||||
5. After the glue has cured, screw the GPS with 4x M2.5x10 screws to the plate.
|
||||

|
||||

|
||||
|
||||
#### USB Камера
|
||||
|
||||
@@ -219,9 +219,9 @@ ZMO FPV в його початковому стані.
|
||||
2. Відріжте кабель USB-адаптера на 25 см і спаяйте два кабелі між собою.
|
||||
3. Для встановлення камери потрібно вирізати отвір у пінопласті перегородки.
|
||||
|
||||

|
||||

|
||||
|
||||
Потім ви можете закріпити камеру на перегородці за допомогою двостороннього скотча.
|
||||
Потім ви можете закріпити камеру на перегородці за допомогою двостороннього скотча.
|
||||
|
||||
### Політний контролер
|
||||
|
||||
@@ -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.
|
||||

|
||||

|
||||
3. Встановіть Skynode на місце і прикрутіть його 2-ма гвинтами M3x10.
|
||||
|
||||
Інший варіант - додати в отвори різьбові вставки.
|
||||
@@ -245,9 +245,9 @@ ZMO FPV в його початковому стані.
|
||||
|
||||
1. Прикрутіть переднє кріплення Skynode 2-ма гвинтами M3x10 до Skynode.
|
||||
2. Потім додайте трохи епоксидного клею на 5 хвилин в нижню частину кріплення і покладіть вантаж зверху на Skynode, поки клей не затвердіє.
|
||||
Щоб отримати доступ до 2 кріпильних гвинтів спереду, проткніть 2 отвори зверху через пінопласт.
|
||||
Щоб отримати доступ до 2 кріпильних гвинтів спереду, проткніть 2 отвори зверху через пінопласт.
|
||||
|
||||

|
||||

|
||||
|
||||
### Антени та RC приймач
|
||||
|
||||
@@ -258,14 +258,14 @@ An inexpensive example would be a [SiK Telemetry Radio](../telemetry/sik_radio.m
|
||||
:::
|
||||
|
||||
1. Одна антена LTE може бути встановлена в нижній частині транспортного засобу.
|
||||
Для цього ви можете протягнути дріт антени через отвір для радіатора ESC.
|
||||
Для цього ви можете протягнути дріт антени через отвір для радіатора ESC.
|
||||
|
||||

|
||||

|
||||
|
||||
2. Другу антену можна встановити всередині транспортного засобу з лівого боку акумуляторного відсіку.
|
||||
Пульт дистанційного керування також можна розмістити з лівого боку батарейного відсіку.
|
||||
Пульт дистанційного керування також можна розмістити з лівого боку батарейного відсіку.
|
||||
|
||||

|
||||

|
||||
|
||||
## Налаштування програмного забезпечення
|
||||
|
||||
@@ -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. Перевірте, чи двигуни спрямовані вгору.
|
||||
Якщо двигуни спрямовані вперед, то пов'язані з ними сервоприводи нахилу потрібно змінити на протилежні (встановіть прапорець біля кожного сервоприводу).
|
||||
Якщо двигуни спрямовані вперед, то пов'язані з ними сервоприводи нахилу потрібно змінити на протилежні (встановіть прапорець біля кожного сервоприводу).
|
||||
|
||||

|
||||

|
||||
|
||||
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).
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||

|
||||

|
||||
|
||||
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).
|
||||
|
||||

|
||||

|
||||
|
||||
Після налаштування другого 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
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||

|
||||

|
||||
|
||||
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:
|
||||
|
||||

|
||||

|
||||
|
||||
- Транспортний 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`):
|
||||
|
||||

|
||||

|
||||
|
||||
### Налаштування GPS як Джерело розділення/Курсування
|
||||
|
||||
|
||||
@@ -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
|
||||
- Посібник з використання готового продукту
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
@@ -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
|
||||
```
|
||||
|
||||
## Побудуйте Програму/прошивку
|
||||
|
||||
|
||||
@@ -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).
|
||||
|
||||
:::
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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.
|
||||
|
||||
```
|
||||
|
||||
@@ -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)
|
||||
|
||||
```
|
||||
|
||||
@@ -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.
|
||||
|
||||
```
|
||||
|
||||
@@ -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
|
||||
|
||||
```
|
||||
|
||||
@@ -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
|
||||
|
||||
```
|
||||
|
||||
@@ -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)
|
||||
|
||||
```
|
||||
|
||||
@@ -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.
|
||||
|
||||
```
|
||||
@@ -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
|
||||
|
||||
```
|
||||
|
||||
@@ -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
|
||||
|
||||
```
|
||||
@@ -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
|
||||
|
||||
```
|
||||
@@ -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
Reference in New Issue
Block a user