New Crowdin translations - uk (#25558)

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
This commit is contained in:
PX4 Build Bot
2025-09-16 08:57:19 +10:00
committed by GitHub
parent 0068fea2f5
commit d42aebe100
136 changed files with 3113 additions and 2676 deletions
+5
View File
@@ -157,6 +157,7 @@
- [Швидке підключення mRo (3DR) Pixhawk](assembly/quick_start_pixhawk.md) - [Швидке підключення mRo (3DR) Pixhawk](assembly/quick_start_pixhawk.md)
- [Holybro Pixhawk Mini (FMUv3) - Припинено](flight_controller/pixhawk_mini.md) - [Holybro Pixhawk Mini (FMUv3) - Припинено](flight_controller/pixhawk_mini.md)
- [Автопілоти, що підтримуються виробником](flight_controller/autopilot_manufacturer_supported.md) - [Автопілоти, що підтримуються виробником](flight_controller/autopilot_manufacturer_supported.md)
- [Accton Godwit GA1](flight_controller/accton-godwit_ga1.md)
- [AirMind MindPX](flight_controller/mindpx.md) - [AirMind MindPX](flight_controller/mindpx.md)
- [AirMind MindRacer](flight_controller/mindracer.md) - [AirMind MindRacer](flight_controller/mindracer.md)
- [ARK Electronics ARKV6X](flight_controller/ark_v6x.md) - [ARK Electronics ARKV6X](flight_controller/ark_v6x.md)
@@ -283,6 +284,7 @@
- [CubePilot Here+ (Discontined)](gps_compass/rtk_gps_hex_hereplus.md) - [CubePilot Here+ (Discontined)](gps_compass/rtk_gps_hex_hereplus.md)
- [INS (Інерціальна навігація/GNSS)](sensor/inertial_navigation_systems.md) - [INS (Інерціальна навігація/GNSS)](sensor/inertial_navigation_systems.md)
- [InertialLabs](sensor/inertiallabs.md) - [InertialLabs](sensor/inertiallabs.md)
- [sbgECom](sensor/sbgecom.md)
- [VectorNav](sensor/vectornav.md) - [VectorNav](sensor/vectornav.md)
- [Optical Flow](sensor/optical_flow.md) - [Optical Flow](sensor/optical_flow.md)
- [ARK Flow](dronecan/ark_flow.md) - [ARK Flow](dronecan/ark_flow.md)
@@ -679,6 +681,8 @@
- [RoverPositionSetpoint](msg_docs/RoverPositionSetpoint.md) - [RoverPositionSetpoint](msg_docs/RoverPositionSetpoint.md)
- [RoverRateSetpoint](msg_docs/RoverRateSetpoint.md) - [RoverRateSetpoint](msg_docs/RoverRateSetpoint.md)
- [RoverRateStatus](msg_docs/RoverRateStatus.md) - [RoverRateStatus](msg_docs/RoverRateStatus.md)
- [RoverSpeedSetpoint](msg_docs/RoverSpeedSetpoint.md)
- [RoverSpeedStatus](msg_docs/RoverSpeedStatus.md)
- [RoverSteeringSetpoint](msg_docs/RoverSteeringSetpoint.md) - [RoverSteeringSetpoint](msg_docs/RoverSteeringSetpoint.md)
- [RoverThrottleSetpoint](msg_docs/RoverThrottleSetpoint.md) - [RoverThrottleSetpoint](msg_docs/RoverThrottleSetpoint.md)
- [RoverVelocitySetpoint](msg_docs/RoverVelocitySetpoint.md) - [RoverVelocitySetpoint](msg_docs/RoverVelocitySetpoint.md)
@@ -739,6 +743,7 @@
- [YawEstimatorStatus](msg_docs/YawEstimatorStatus.md) - [YawEstimatorStatus](msg_docs/YawEstimatorStatus.md)
- [AirspeedValidatedV0](msg_docs/AirspeedValidatedV0.md) - [AirspeedValidatedV0](msg_docs/AirspeedValidatedV0.md)
- [ArmingCheckReplyV0](msg_docs/ArmingCheckReplyV0.md) - [ArmingCheckReplyV0](msg_docs/ArmingCheckReplyV0.md)
- [ArmingCheckRequestV0](msg_docs/ArmingCheckRequestV0.md)
- [BatteryStatusV0](msg_docs/BatteryStatusV0.md) - [BatteryStatusV0](msg_docs/BatteryStatusV0.md)
- [EventV0](msg_docs/EventV0.md) - [EventV0](msg_docs/EventV0.md)
- [HomePositionV0](msg_docs/HomePositionV0.md) - [HomePositionV0](msg_docs/HomePositionV0.md)
+1 -1
View File
@@ -131,7 +131,7 @@ The on-screen gimbal control can be used to move/test a connected MAVLink camera
2. Open QGroundControl and enable the on-screen camera control (Application settings). 2. Open QGroundControl and enable the on-screen camera control (Application settings).
![Quadrotor(x500) with gimbal (Front-facing) in Gazebo](../../assets/qgc/fly/gimbal_control_x500gz.png) ![Quadrotor(x500) with gimbal (Front-facing) in Gazebo](../../assets/qgc/fly/gimbal_control_x500gz.png)
3. Make sure the vehicle is armed and flying, e.g. by entering with `commander takeoff`. 3. Make sure the vehicle is armed and flying, e.g. by entering with `commander takeoff`.
+1 -1
View File
@@ -52,7 +52,7 @@ PX4 визначає ряд [стандартних мелодій/тем](../ge
7. Коли ви будете готові зберегти музику: 7. Коли ви будете готові зберегти музику:
- Натисніть **F2**, щоб дати мелодії назву та зберегти її у підпапці _/Music_ вашої інсталяції Melody Master. - Натисніть **F2**, щоб дати мелодії назву та зберегти її у підпапці _/Music_ вашої інсталяції Melody Master.
- Натисніть **F7**, прокрутіть список вихідних форматів праворуч, щоб перейти до ANSI. - Натисніть **F7**, прокрутіть список вихідних форматів праворуч, щоб перейти до ANSI.
Файл буде експортовано в _кореневий каталог_ каталогу Melody Master (з такою самою назвою та розширенням типу файлу). Файл буде експортовано в _кореневий каталог_ каталогу Melody Master (з такою самою назвою та розширенням типу файлу).
8. Відкрийте файл. 8. Відкрийте файл.
Результат може виглядати так: Результат може виглядати так:
@@ -23,7 +23,7 @@
1. Відкрийте меню QGroundControl: **Settings > Parameters > Sensor Calibration**. 1. Відкрийте меню QGroundControl: **Settings > Parameters > Sensor Calibration**.
2. Параметри, розташовані в розділі, як показано нижче (або ви можете знайти їх): 2. Параметри, розташовані в розділі, як показано нижче (або ви можете знайти їх):
![FC Orientation QGC v2](../../assets/qgc/setup/sensor/fc_orientation_qgc_v2.png) ![FC Orientation QGC v2](../../assets/qgc/setup/sensor/fc_orientation_qgc_v2.png)
## Підсумок параметра ## Підсумок параметра
+56 -56
View File
@@ -37,8 +37,8 @@ You can enable this key in your own custom firmware if needed.
2. [Оновіть прошивку](../config/firmware.md#custom) з образом, що містить новий/потрібний завантажувач. 2. [Оновіть прошивку](../config/firmware.md#custom) з образом, що містить новий/потрібний завантажувач.
::: info ::: info
The updated bootloader might be included the default firmware for your board or supplied in custom firmware. 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). 4. [Знайдіть](../advanced_config/parameters.md) та увімкніть параметр [SYS_BL_UPDATE](../advanced_config/parameter_reference.md#SYS_BL_UPDATE).
5. Перезавантажте (відключіть / підключіть плату). 5. Перезавантажте (відключіть / підключіть плату).
Оновлення завантажувача займе лише кілька секунд. Оновлення завантажувача займе лише кілька секунд.
Зазвичай на цьому етапі ви можливо захочете [оновити прошивку](../config/firmware.md) ще раз, використовуючи правильно/ново встановлений загрузчик. Зазвичай на цьому етапі ви можливо захочете [оновити прошивку](../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)). 1. Отримайте бінарний файл, який містить завантажувальник (або від команди розробників, або [зіберіть його самостійно](#building-the-px4-bootloader)).
2. Get a [Debug Probe](../debug/swd_debug.md#debug-probes-for-px4-hardware). 2. Get a [Debug Probe](../debug/swd_debug.md#debug-probes-for-px4-hardware).
Підключіть зонд до комп'ютера за допомогою USB та налаштуйте `gdbserver`. Підключіть зонд до комп'ютера за допомогою USB та налаштуйте `gdbserver`.
3. Перейдіть до каталогу, що містить бінарний файл, і запустіть команду для обраного вами завантажувача в терміналі: 3. Перейдіть до каталогу, що містить бінарний файл, і запустіть команду для обраного вами завантажувача в терміналі:
- FMUv6X - FMUv6X
```sh ```sh
arm-none-eabi-gdb px4_fmu-v6x_bootloader.elf arm-none-eabi-gdb px4_fmu-v6x_bootloader.elf
``` ```
- FMUv6X-RT - FMUv6X-RT
```sh ```sh
arm-none-eabi-gdb px4_fmu-v6xrt_bootloader.elf arm-none-eabi-gdb px4_fmu-v6xrt_bootloader.elf
``` ```
- FMUv5 - FMUv5
```sh ```sh
arm-none-eabi-gdb px4fmuv5_bl.elf arm-none-eabi-gdb px4fmuv5_bl.elf
``` ```
H7 Завантажувачі з [PX4/PX4-Autopilot](https://github.com/PX4/PX4-Autopilot) мають назву за шаблоном `*._bootloader.elf`. H7 Завантажувачі з [PX4/PX4-Autopilot](https://github.com/PX4/PX4-Autopilot) мають назву за шаблоном `*._bootloader.elf`.
Завантажувачі з [PX4/PX4-Bootloader](https://github.com/PX4/PX4-Bootloader) мають назву за шаблоном `*_bl.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: 4. The _gdb terminal_ appears and it should display (something like) the following output:
```sh ```sh
GNU gdb (GNU Tools for Arm Embedded Processors 7-2017-q4-major) 8.0.50.20171128-git GNU gdb (GNU Tools for Arm Embedded Processors 7-2017-q4-major) 8.0.50.20171128-git
Copyright (C) 2017 Free Software Foundation, Inc. Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> 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. This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details. Type "show copying" and "show warranty" for details.
This GDB was configured as "--host=x86_64-linux-gnu --target=arm-none-eabi". This GDB was configured as "--host=x86_64-linux-gnu --target=arm-none-eabi".
Type "show configuration" for configuration details. Type "show configuration" for configuration details.
For bug reporting instructions, please see: For bug reporting instructions, please see:
<https://www.sourceware.org/gdb/bugs/>. <https://www.sourceware.org/gdb/bugs/>.
Find the GDB manual and other documentation resources online at: Find the GDB manual and other documentation resources online at:
<https://www.sourceware.org/gdb/documentation/>. <https://www.sourceware.org/gdb/documentation/>.
For help, type "help". For help, type "help".
Type "apropos word" to search for commands related to "word"... Type "apropos word" to search for commands related to "word"...
Reading symbols from px4fmuv5_bl.elf...done. 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. 5. Find your `<dronecode-probe-id>` by running an `ls` command in the **/dev/serial/by-id** directory.
6. Тепер підключіться до debug probe з наступною командою: 6. Тепер підключіться до debug probe з наступною командою:
```sh ```sh
tar ext /dev/serial/by-id/<dronecode-probe-id> tar ext /dev/serial/by-id/<dronecode-probe-id>
``` ```
7. Увімкніть Pixhawk за допомогою іншого USB-кабелю та під’єднайте зонд до порту `FMU-DEBUG`. 7. Увімкніть Pixhawk за допомогою іншого USB-кабелю та під’єднайте зонд до порту `FMU-DEBUG`.
::: info ::: 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). 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 і підключитися до нього: 8. Використовуйте таку команду, щоб знайти SWD Pixhawk і підключитися до нього:
```sh ```sh
(gdb) mon swdp_scan (gdb) mon swdp_scan
(gdb) attach 1 (gdb) attach 1
``` ```
9. Завантажте двійковий файл в Pixhawk: 9. Завантажте двійковий файл в Pixhawk:
```sh ```sh
(gdb) load (gdb) load
``` ```
Після оновлення завантажувача ви можете [завантажити прошивку PX4](../config/firmware.md) за допомогою _QGroundControl_. Після оновлення завантажувача ви можете [завантажити прошивку PX4](../config/firmware.md) за допомогою _QGroundControl_.
@@ -181,25 +181,25 @@ This example explains how you can use [QGC Bootloader Update](qgc-bootloader-upd
1. Вставте SD-карту (це дозволяє реєструвати журнали завантаження для відлагодження будь-яких проблем). 1. Вставте SD-карту (це дозволяє реєструвати журнали завантаження для відлагодження будь-яких проблем).
2. [Оновіть програмне забезпечення](../config/firmware.md) до версії PX4 _master_ (під час оновлення програмного забезпечення перевірте **Розширені налаштування** і виберіть **Розробницьку збірку (master)** із випадаючого списку). 2. [Оновіть програмне забезпечення](../config/firmware.md) до версії PX4 _master_ (під час оновлення програмного забезпечення перевірте **Розширені налаштування** і виберіть **Розробницьку збірку (master)** із випадаючого списку).
_QGroundControl_ автоматично виявить, що апаратне забезпечення підтримує FMUv2 і встановить відповідне програмне забезпечення. _QGroundControl_ автоматично виявить, що апаратне забезпечення підтримує FMUv2 і встановить відповідне програмне забезпечення.
![FMUv2 update](../../assets/qgc/setup/firmware/bootloader_update.jpg) ![FMUv2 update](../../assets/qgc/setup/firmware/bootloader_update.jpg)
Зачекайте, доки транспортний засіб перезавантажиться. Зачекайте, доки транспортний засіб перезавантажиться.
3. [Знайдіть](../advanced_config/parameters.md) та увімкніть параметр [SYS_BL_UPDATE](../advanced_config/parameter_reference.md#SYS_BL_UPDATE). 3. [Знайдіть](../advanced_config/parameters.md) та увімкніть параметр [SYS_BL_UPDATE](../advanced_config/parameter_reference.md#SYS_BL_UPDATE).
4. Перезавантажте (відключіть / підключіть плату). 4. Перезавантажте (відключіть / підключіть плату).
Оновлення завантажувача займе лише кілька секунд. Оновлення завантажувача займе лише кілька секунд.
5. Тоді знову [Оновити програмне забезпечення](../config/firmware.md). 5. Тоді знову [Оновити програмне забезпечення](../config/firmware.md).
На цей раз _QGroundControl_ повинен автоматично визначити обладнання як FMUv3 і відповідним чином оновити програмне забезпечення. На цей раз _QGroundControl_ повинен автоматично визначити обладнання як FMUv3 і відповідним чином оновити програмне забезпечення.
![FMUv3 update](../../assets/qgc/setup/firmware/bootloader_fmu_v3_update.jpg) ![FMUv3 update](../../assets/qgc/setup/firmware/bootloader_fmu_v3_update.jpg)
::: info ::: info
Якщо апаратне забезпечення має [Помилки в кремнієвій мікросхемі](../flight_controller/silicon_errata.md#fmuv2-pixhawk-silicon-errata), воно все одно буде виявлене як FMUv2, і ви побачите, що FMUv2 було знову встановлено (у консолі). Якщо апаратне забезпечення має [Помилки в кремнієвій мікросхемі](../flight_controller/silicon_errata.md#fmuv2-pixhawk-silicon-errata), воно все одно буде виявлене як FMUv2, і ви побачите, що FMUv2 було знову встановлено (у консолі).
У цьому випадку ви не зможете встановити апаратне забезпечення FMUv3. У цьому випадку ви не зможете встановити апаратне забезпечення FMUv3.
::: :::
+14 -14
View File
@@ -92,29 +92,29 @@ ESC OneShot слід [налаштувати на використання ре
- Мінімальне значення для мотора (за замовчуванням: 1100 мкс) повинно забезпечувати повільний, але надійний оберт мотора, а також надійно запускати його після зупинки. - Мінімальне значення для мотора (за замовчуванням: 1100 мкс) повинно забезпечувати повільний, але надійний оберт мотора, а також надійно запускати його після зупинки.
Ви можете підтвердити, що мотор обертається мінімально (без пропеллерів) в [TestActuator](../config/actuators. d#actuator-testing), увімкнувши повзунки, а потім переміщуючи повзунок виводу тесту для двигуна в першу позицію відключення від низу. Ви можете підтвердити, що мотор обертається мінімально (без пропеллерів) в [TestActuator](../config/actuators. d#actuator-testing), увімкнувши повзунки, а потім переміщуючи повзунок виводу тесту для двигуна в першу позицію відключення від низу.
Правильне значення має зробити так, що мотор обертається негайно і надійно при пересуванні повзунка зі стану роззброєності до мінімуму. Правильне значення має зробити так, що мотор обертається негайно і надійно при пересуванні повзунка зі стану роззброєності до мінімуму.
Щоб знайти «оптимальне» мінімальне значення, пересуньте повзунок вниз (режим роззброєності). Щоб знайти «оптимальне» мінімальне значення, пересуньте повзунок вниз (режим роззброєності).
Потім збільшуйте значення PWM-виходу в режимі `роззброєності` невеликими інкрементами (наприклад, 1025 мкс, 1050 мкс і т. д.), доки мотор не почне надійно обертатися (краще бути трохи вище, ніж трохи нижче). Потім збільшуйте значення PWM-виходу в режимі `роззброєності` невеликими інкрементами (наприклад, 1025 мкс, 1050 мкс і т. д.), доки мотор не почне надійно обертатися (краще бути трохи вище, ніж трохи нижче).
Введіть це значення в параметр «мінімум» для всіх вихідних PWM сигналів мотора, а вихідний сигнал `роззброєності` відновіть до `1100 мкс`. Введіть це значення в параметр «мінімум» для всіх вихідних PWM сигналів мотора, а вихідний сигнал `роззброєності` відновіть до `1100 мкс`.
- Максимальне значення для мотора (за замовчуванням: `1900 мкс`) слід вибрати так, щоб збільшення значення не зробило мотор обертатися швидше. - Максимальне значення для мотора (за замовчуванням: `1900 мкс`) слід вибрати так, щоб збільшення значення не зробило мотор обертатися швидше.
Ви можете підтвердити, що мотор обертається швидко при максимальному значенні у режимі [Тестування приводів](../config/actuators.md#actuator-testing), перемістивши пов'язаний слайдер випробування вверх. Ви можете підтвердити, що мотор обертається швидко при максимальному значенні у режимі [Тестування приводів](../config/actuators.md#actuator-testing), перемістивши пов'язаний слайдер випробування вверх.
Щоб знайти "оптимальне" максимальне значення, спочатку перемістіть повзунок вниз (роззброєно). Щоб знайти "оптимальне" максимальне значення, спочатку перемістіть повзунок вниз (роззброєно).
Потім збільште налаштування вихідної потужності PWM `вимкненої` близько до максимального значення за замовчуванням (`1900`) - мотори повинні розганятися. Потім збільште налаштування вихідної потужності PWM `вимкненої` близько до максимального значення за замовчуванням (`1900`) - мотори повинні розганятися.
Слухайте тон мотора, коли збільшуєте максимальне значення PWM для виводу поетапно (наприклад, 1925 мкс, 1950 мкс і так далі). Слухайте тон мотора, коли збільшуєте максимальне значення PWM для виводу поетапно (наприклад, 1925 мкс, 1950 мкс і так далі).
Оптимальне значення визначається в той момент, коли звук моторів не змінюється при збільшенні значення виводу. Оптимальне значення визначається в той момент, коли звук моторів не змінюється при збільшенні значення виводу.
Введіть це значення в параметр `максимум` для всіх виводів ШІМ мотора, а також відновіть значення виводу `знято` на `1100 мкс`. Введіть це значення в параметр `максимум` для всіх виводів ШІМ мотора, а також відновіть значення виводу `знято` на `1100 мкс`.
- Значення виводу «знято» для мотора (за замовчуванням: `1000 мкс`) повинно зупиняти мотор і залишати його зупиненим. - Значення виводу «знято» для мотора (за замовчуванням: `1000 мкс`) повинно зупиняти мотор і залишати його зупиненим.
Ви можете підтвердити це в розділі [Тестування виконавчих механізмів](../config/actuators.md#actuator-testing), перемістивши слайдер виводу тестування до фіксованого положення у нижній частині слайдера і спостерігаючи, що двигун не обертається. Ви можете підтвердити це в розділі [Тестування виконавчих механізмів](../config/actuators.md#actuator-testing), перемістивши слайдер виводу тестування до фіксованого положення у нижній частині слайдера і спостерігаючи, що двигун не обертається.
Якщо ESC обертається за замовчуванням на значенні 1000 мкс, то ESC не правильно калібрується. Якщо ESC обертається за замовчуванням на значенні 1000 мкс, то ESC не правильно калібрується.
Якщо використовуєте ESC, який не може бути калібрований, вам слід зменшити значення виведення ШІМ для виводу до значення, коли мотор більше не обертається (наприклад, 950 мкс або 900 мкс). Якщо використовуєте ESC, який не може бути калібрований, вам слід зменшити значення виведення ШІМ для виводу до значення, коли мотор більше не обертається (наприклад, 950 мкс або 900 мкс).
::: info ::: info
VTOL and fixed-wing motors do not need any special PWM configuration. VTOL and fixed-wing motors do not need any special PWM configuration.
+61 -61
View File
@@ -87,14 +87,14 @@ DNS=10.41.10.254
3. Введіть команди "like" до наведених нижче у _Консоль MAVLink_ (щоб записати значення у файл конфігурації): 3. Введіть команди "like" до наведених нижче у _Консоль MAVLink_ (щоб записати значення у файл конфігурації):
```sh ```sh
echo DEVICE=eth0 > /fs/microsd/net.cfg echo DEVICE=eth0 > /fs/microsd/net.cfg
echo BOOTPROTO=fallback >> /fs/microsd/net.cfg echo BOOTPROTO=fallback >> /fs/microsd/net.cfg
echo IPADDR=10.41.10.2 >> /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 NETMASK=255.255.255.0 >>/fs/microsd/net.cfg
echo ROUTER=10.41.10.254 >>/fs/microsd/net.cfg echo ROUTER=10.41.10.254 >>/fs/microsd/net.cfg
echo DNS=10.41.10.254 >>/fs/microsd/net.cfg echo DNS=10.41.10.254 >>/fs/microsd/net.cfg
``` ```
4. Після встановлення конфігурації мережі можна від’єднати кабель USB. 4. Після встановлення конфігурації мережі можна від’єднати кабель USB.
@@ -113,36 +113,36 @@ Note that there are many more [examples](https://github.com/canonical/netplan/tr
Для установки Ubuntu комп'ютера: Для установки Ubuntu комп'ютера:
1. In a terminal, create and open a `netplan` configuration file: `/etc/netplan/01-network-manager-all.yaml` 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. Скопіюйте та вставте наступну конфігураційну інформацію у файл (зверніть увагу: відступи мають значення!): 2. Скопіюйте та вставте наступну конфігураційну інформацію у файл (зверніть увагу: відступи мають значення!):
``` ```
network: network:
version: 2 version: 2
renderer: NetworkManager renderer: NetworkManager
ethernets: ethernets:
enp2s0: enp2s0:
addresses: addresses:
- 10.41.10.1/24 - 10.41.10.1/24
nameservers: nameservers:
addresses: [10.41.10.1] addresses: [10.41.10.1]
routes: routes:
- to: 10.41.10.1 - to: 10.41.10.1
via: 10.41.10.1 via: 10.41.10.1
``` ```
Збережіть і закрийте файл. Збережіть і закрийте файл.
3. Застосуйте конфігурацію _netplan_, введіть наступну команду в термінал Ubuntu. 3. Застосуйте конфігурацію _netplan_, введіть наступну команду в термінал Ubuntu.
``` ```
sudo netplan apply sudo netplan apply
``` ```
### Комп’ютер-супутник Налаштування мережі Ethernet ### Комп’ютер-супутник Налаштування мережі 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, відповідно. 3. Запустіть QGroundControl та [визначте комунікаційний канал](https://docs.qgroundcontrol.com/master/en/SettingsView/SettingsView.html) (**Налаштування додатка > Канали зв'язку**), вказавши _адресу сервера_ та порт як IP-адресу та порт, призначений в PX4, відповідно.
Припускаючи, що значення встановлені так, як описано в решті цієї теми, налаштування виглядатиме наступним чином: Припускаючи, що значення встановлені так, як описано в решті цієї теми, налаштування виглядатиме наступним чином:
![QGC comm link for ethernet setup](../../assets/qgc/settings/comm_link/px4_ethernet_link_config.png) ![QGC comm link for ethernet setup](../../assets/qgc/settings/comm_link/px4_ethernet_link_config.png)
4. Після цього QGroundControl має підключитися, якщо ви виберете це посилання. 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. 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. 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. 3. Дотримуйтесь інструкцій у [MAVSDK-python](https://github.com/mavlink/MAVSDK-Python), щоб установити та використовувати MAVSDK.
Наприклад, ваш код буде підключатися до PX4 за допомогою: Наприклад, ваш код буде підключатися до PX4 за допомогою:
```python ```python
await drone.connect(system_address="udp://10.41.10.2:14540") await drone.connect(system_address="udp://10.41.10.2:14540")
``` ```
:::info :::info
MAVSDK can connect to the PX4 on port `14550` if you don't modify the PX4 Ethernet port configuration. 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. 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. 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). 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 ```sh
MicroXRCEAgent udp4 -p 8888 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: 4. Run a [listener node](../ros2/user_guide.md#running-the-example) in a new terminal to confirm the connection is established:
```sh ```sh
source ~/ws_sensor_combined/install/setup.bash source ~/ws_sensor_combined/install/setup.bash
ros2 launch px4_ros_com sensor_combined_listener.launch.py ros2 launch px4_ros_com sensor_combined_listener.launch.py
``` ```
Якщо все налаштовано правильно, в терміналі повинен відображатися наступний вивід: Якщо все налаштовано правильно, в терміналі повинен відображатися наступний вивід:
```sh ```sh
RECEIVED SENSOR COMBINED DATA RECEIVED SENSOR COMBINED DATA
============================= =============================
ts: 855801598 ts: 855801598
gyro_rad[0]: -0.00339938 gyro_rad[0]: -0.00339938
gyro_rad[1]: 0.00440091 gyro_rad[1]: 0.00440091
gyro_rad[2]: 0.00513893 gyro_rad[2]: 0.00513893
gyro_integral_dt: 4997 gyro_integral_dt: 4997
accelerometer_timestamp_relative: 0 accelerometer_timestamp_relative: 0
accelerometer_m_s2[0]: -0.0324082 accelerometer_m_s2[0]: -0.0324082
accelerometer_m_s2[1]: 0.0392213 accelerometer_m_s2[1]: 0.0392213
accelerometer_m_s2[2]: -9.77914 accelerometer_m_s2[2]: -9.77914
accelerometer_integral_dt: 4997 accelerometer_integral_dt: 4997
``` ```
## Дивіться також ## Дивіться також
+25 -25
View File
@@ -152,14 +152,14 @@ PX4 також видає підмножину інформації переві
Типова послідовність запуску: Типова послідовність запуску:
1. Увімкнення живлення. 1. Увімкнення живлення.
- Усі приводи заблоковано у беззбройному(вимкненому) положенні - Усі приводи заблоковано у беззбройному(вимкненому) положенні
- Неможливо озброїти(збурити). - Неможливо озброїти(збурити).
2. Перемикання безпеки натиснуто. 2. Перемикання безпеки натиснуто.
- Система зараз перевіряється перед збурюванням: актуатори без збурювання можуть рухатися (наприклад, елерони). - Система зараз перевіряється перед збурюванням: актуатори без збурювання можуть рухатися (наприклад, елерони).
- Безпека системи відключена: можливість озброєння(збурення). - Безпека системи відключена: можливість озброєння(збурення).
3. Видається команда на озброєння(збурення). 3. Видається команда на озброєння(збурення).
- Система озброєна(збурена). - Система озброєна(збурена).
- Усі мотори та приводи можуть рухатися. - Усі мотори та приводи можуть рухатися.
### COM_PREARM_MODE=Disabled та Safety Switch ### COM_PREARM_MODE=Disabled та Safety Switch
@@ -169,14 +169,14 @@ PX4 також видає підмножину інформації переві
Послідовність запуску така: Послідовність запуску така:
1. Увімкнення живлення. 1. Увімкнення живлення.
- Усі приводи заблоковано у беззбройному(вимкненому) положенні - Усі приводи заблоковано у беззбройному(вимкненому) положенні
- Неможливо озброїти(збурити). - Неможливо озброїти(збурити).
2. Перемикання безпеки натиснуто. 2. Перемикання безпеки натиснуто.
- _All actuators stay locked into disarmed position (same as disarmed)._ - _All actuators stay locked into disarmed position (same as disarmed)._
- Безпека системи відключена: можливість озброєння(збурення). - Безпека системи відключена: можливість озброєння(збурення).
3. Видається команда на озброєння(збурення). 3. Видається команда на озброєння(збурення).
- Система озброєна(збурена). - Система озброєна(збурена).
- Усі мотори та приводи можуть рухатися. - Усі мотори та приводи можуть рухатися.
### COM_PREARM_MODE=Always and Safety Switch ### COM_PREARM_MODE=Always and Safety Switch
@@ -187,13 +187,13 @@ PX4 також видає підмножину інформації переві
Послідовність запуску така: Послідовність запуску така:
1. Увімкнення живлення. 1. Увімкнення живлення.
- Система зараз перевіряється перед збурюванням: актуатори без збурювання можуть рухатися (наприклад, елерони). - Система зараз перевіряється перед збурюванням: актуатори без збурювання можуть рухатися (наприклад, елерони).
- Неможливо озброїти(збурити). - Неможливо озброїти(збурити).
2. Перемикання безпеки натиснуто. 2. Перемикання безпеки натиснуто.
- Безпека системи відключена: можливість озброєння(збурення). - Безпека системи відключена: можливість озброєння(збурення).
3. Видається команда на озброєння(збурення). 3. Видається команда на озброєння(збурення).
- Система озброєна(збурена). - Система озброєна(збурена).
- Усі мотори та приводи можуть рухатися. - Усі мотори та приводи можуть рухатися.
### COM_PREARM_MODE=Safety(Безпека) або вимкнено(Disabled) та без перемикача безпеки(No Safety Switch) ### COM_PREARM_MODE=Safety(Безпека) або вимкнено(Disabled) та без перемикача безпеки(No Safety Switch)
@@ -203,11 +203,11 @@ PX4 також видає підмножину інформації переві
Послідовність запуску така: Послідовність запуску така:
1. Увімкнення живлення. 1. Увімкнення живлення.
- Усі приводи заблоковано у беззбройному(вимкненому) положенні - Усі приводи заблоковано у беззбройному(вимкненому) положенні
- Безпека системи відключена: можливість озброєння(збурення). - Безпека системи відключена: можливість озброєння(збурення).
2. Видається команда на озброєння(збурення). 2. Видається команда на озброєння(збурення).
- Система озброєна(збурена). - Система озброєна(збурена).
- Усі мотори та приводи можуть рухатися. - Усі мотори та приводи можуть рухатися.
### COM_PREARM_MODE=Завжди і без зміни безпеки ### COM_PREARM_MODE=Завжди і без зміни безпеки
@@ -217,11 +217,11 @@ PX4 також видає підмножину інформації переві
Послідовність запуску така: Послідовність запуску така:
1. Увімкнення живлення. 1. Увімкнення живлення.
- Система зараз перевіряється перед збурюванням: актуатори без збурювання можуть рухатися (наприклад, елерони). - Система зараз перевіряється перед збурюванням: актуатори без збурювання можуть рухатися (наприклад, елерони).
- Безпека системи відключена: можливість озброєння(збурення). - Безпека системи відключена: можливість озброєння(збурення).
2. Видається команда на озброєння(збурення). 2. Видається команда на озброєння(збурення).
- Система озброєна(збурена). - Система озброєна(збурена).
- Усі мотори та приводи можуть рухатися. - Усі мотори та приводи можуть рухатися.
### Параметри ### Параметри
@@ -94,11 +94,11 @@ PX4 підтримує два процедури калібрування:
9. Відкрийте вікно терміналу в каталозі **Firmware/Tools** і запустіть сценарій калібрування python: 9. Відкрийте вікно терміналу в каталозі **Firmware/Tools** і запустіть сценарій калібрування python:
```sh ```sh
python process_sensor_caldata.py <full path name to .ulog file> python process_sensor_caldata.py <full path name to .ulog file>
``` ```
Буде створено файл **.pdf**, у якому відображатимуться вимірювані дані та підгонка кривої для кожного датчика, а також файл **.params**, що містить параметри калібрування. Буде створено файл **.pdf**, у якому відображатимуться вимірювані дані та підгонка кривої для кожного датчика, а також файл **.params**, що містить параметри калібрування.
10. Увімкніть плату, підключіть _QGroundControl_ та завантажте параметри зі створеного файлу **.params** на плату за допомогою _QGroundControl_. Відсоток виконання друкується на системній консолі під час калібрування. 10. Увімкніть плату, підключіть _QGroundControl_ та завантажте параметри зі створеного файлу **.params** на плату за допомогою _QGroundControl_. Відсоток виконання друкується на системній консолі під час калібрування.
+20 -20
View File
@@ -152,29 +152,29 @@ Three axis body fixed magnetometer data at a minimum rate of 5Hz is required to
Magnetometer data fusion can be configured using [EKF2_MAG_TYPE](../advanced_config/parameter_reference.md#EKF2_MAG_TYPE): Magnetometer data fusion can be configured using [EKF2_MAG_TYPE](../advanced_config/parameter_reference.md#EKF2_MAG_TYPE):
0. Automatic: 0. Automatic:
- The magnetometer readings only affect the heading estimate before arming, and the whole attitude after arming. - 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. - Heading and tilt errors are compensated when using this method.
- Incorrect magnetic field measurements can degrade the tilt estimate. - Incorrect magnetic field measurements can degrade the tilt estimate.
- The magnetometer biases are estimated whenever observable. - The magnetometer biases are estimated whenever observable.
1. Magnetic heading: 1. Magnetic heading:
- Only the heading is corrected. - Only the heading is corrected.
The tilt estimate is never affected by incorrect magnetic field measurements. 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. - 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. - The magnetometer biases are estimated whenever observable.
2. Deprecated 2. Deprecated
3. Deprecated 3. Deprecated
4. Deprecated 4. Deprecated
5. None: 5. None:
- Magnetometer data is never used. - 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). 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. - 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. - 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. See [Estimate yaw from vehicle movement](#yaw-from-gps-velocity) below.
6. Init only: 6. Init only:
- Magnetometer data is only used to initialize the heading estimate. - 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). 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. - 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. - 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: 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) 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) повторно вперед/назад/ліворуч/праворуч/вгору/вниз між спокоєм і максимальною швидкістю (найкращі результати отримуються, коли цей тест проводиться в спокійних умовах). 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) 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 ::: info
The same **.ulg** log file can also be used to tune the [static pressure position error coefficients](#correction-for-static-pressure-position-error). 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), щоб отримати оптимальний набір параметрів. 3. Використовуйте журнал зі сценарієм Python [mc_wind_estimator_tuning.py](https://github.com/PX4/PX4-Autopilot/tree/main/src/modules/ekf2/EKF/python/tuning_tools/mc_wind_estimator), щоб отримати оптимальний набір параметрів.
+4 -4
View File
@@ -38,14 +38,14 @@ PX4 підтримує точне приземлення для _Multicopters_
Режим Точної посадки має три етапи: Режим Точної посадки має три етапи:
1. **Горизонтальний підхід:** Транспортний засіб підходить до цілі горизонтально, утримуючи свою поточну висоту. 1. **Горизонтальний підхід:** Транспортний засіб підходить до цілі горизонтально, утримуючи свою поточну висоту.
Як тільки положення цілі відносно транспортного засобу опускається нижче порогового значення ([PLD_HACC_RAD](../advanced_config/parameter_reference.md#PLD_HACC_RAD)), відбувається вхід до наступної фази. Як тільки положення цілі відносно транспортного засобу опускається нижче порогового значення ([PLD_HACC_RAD](../advanced_config/parameter_reference.md#PLD_HACC_RAD)), відбувається вхід до наступної фази.
Якщо ціль втрачається під час цієї фази (не видно довше, ніж [PLD_BTOUT](../advanced_config/parameter_reference.md#PLD_BTOUT)), ініціюється процедура пошуку (під час необхідної точної посадки) або транспортний засіб робить звичайну посадку (під час можливої точної посадки). Якщо ціль втрачається під час цієї фази (не видно довше, ніж [PLD_BTOUT](../advanced_config/parameter_reference.md#PLD_BTOUT)), ініціюється процедура пошуку (під час необхідної точної посадки) або транспортний засіб робить звичайну посадку (під час можливої точної посадки).
2. **Спуск над ціль:** Транспортний засіб спускається, залишаючись при цьому над ціллю. 2. **Спуск над ціль:** Транспортний засіб спускається, залишаючись при цьому над ціллю.
Якщо ціль втрачається під час цієї фази (не видно довше, ніж `PLD_BTOUT`), ініціюється процедура пошуку (під час необхідної точної посадки) або транспортний засіб робить звичайну посадку (під час можливої точної посадки). Якщо ціль втрачається під час цієї фази (не видно довше, ніж `PLD_BTOUT`), ініціюється процедура пошуку (під час необхідної точної посадки) або транспортний засіб робить звичайну посадку (під час можливої точної посадки).
3. **Останній підхід:** Коли транспортний засіб знаходиться близько до землі (ближче, ніж [PLD_FAPPR_ALT](../advanced_config/parameter_reference.md#PLD_FAPPR_ALT)), він спускається, залишаючись при цьому над ціллю. 3. **Останній підхід:** Коли транспортний засіб знаходиться близько до землі (ближче, ніж [PLD_FAPPR_ALT](../advanced_config/parameter_reference.md#PLD_FAPPR_ALT)), він спускається, залишаючись при цьому над ціллю.
Якщо ціль втрачається під час цієї фази, спуск продовжується незалежно від виду точної посадки. Якщо ціль втрачається під час цієї фази, спуск продовжується незалежно від виду точної посадки.
Процедури пошуку ініціюються на перших і других етапах і виконуються не більше [PLD_MAX_SRCH разів](../advanced_config/parameter_reference.md#PLD_MAX_SRCH). Процедури пошуку ініціюються на перших і других етапах і виконуються не більше [PLD_MAX_SRCH разів](../advanced_config/parameter_reference.md#PLD_MAX_SRCH).
Діаграма потоку фаз посадки Діаграма потоку фаз посадки
+63 -63
View File
@@ -54,19 +54,19 @@ To [switch between the two antennas modes](https://docs.groundcontrol.com/iot/ro
Стандартна швидкість передачі даних модуля - 19200. However, the PX4 _iridiumsbd_ driver requires a baud rate of 115200 so it needs to be changed using the [AT commands](https://www.groundcontrol.com/wp-content/uploads/2022/02/IRDM_ISU_ATCommandReferenceMAN0009_Rev2.0_ATCOMM_Oct2012.pdf). Стандартна швидкість передачі даних модуля - 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`. 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. Змінити швидкість передачі: 2. Змінити швидкість передачі:
``` ```
AT+IPR=9 AT+IPR=9
``` ```
3. Знову підключіться до моделі з параметрами 115200/8-N-1 і збережіть конфігурацію за допомогою: 3. Знову підключіться до моделі з параметрами 115200/8-N-1 і збережіть конфігурацію за допомогою:
``` ```
AT&W0 AT&W0
``` ```
Модуль тепер готовий до використання з PX4. Модуль тепер готовий до використання з PX4.
@@ -101,55 +101,55 @@ drivers/telemetry/iridiumsbd
Сервер relay має бути запущений або на Ubuntu 16.04 або 14.04 OS. Сервер relay має бути запущений або на Ubuntu 16.04 або 14.04 OS.
1. Сервер, який працює як ретранслятор повідомлень, повинен мати статичну IP-адресу та два загальнодоступних відкритих TCP-порти: 1. Сервер, який працює як ретранслятор повідомлень, повинен мати статичну IP-адресу та два загальнодоступних відкритих TCP-порти:
- `5672` для брокера повідомлень _RabbitMQ_ (можна змінити в налаштуваннях _rabbitmq_) - `5672` для брокера повідомлень _RabbitMQ_ (можна змінити в налаштуваннях _rabbitmq_)
- `45679` для інтерфейсу HTTP POST (можна змінити у файлі **relay.cfg**) - `45679` для інтерфейсу HTTP POST (можна змінити у файлі **relay.cfg**)
2. Встановіть необхідні модулі python: 2. Встановіть необхідні модулі python:
```sh ```sh
sudo pip install pika tornado future sudo pip install pika tornado future
``` ```
3. Встановіть брокер повідомлень `rabbitmq`: 3. Встановіть брокер повідомлень `rabbitmq`:
```sh ```sh
sudo apt install rabbitmq-server sudo apt install rabbitmq-server
``` ```
4. Налаштуйте облікові дані брокера (змініть PWD на ваш бажаний пароль): 4. Налаштуйте облікові дані брокера (змініть PWD на ваш бажаний пароль):
```sh ```sh
sudo rabbitmqctl add_user iridiumsbd PWD sudo rabbitmqctl add_user iridiumsbd PWD
sudo rabbitmqctl set_permissions iridiumsbd ".*" ".*" ".*" sudo rabbitmqctl set_permissions iridiumsbd ".*" ".*" ".*"
``` ```
5. Clone the [SatComInfrastructure](https://github.com/acfloria/SatComInfrastructure) repository: 5. Clone the [SatComInfrastructure](https://github.com/acfloria/SatComInfrastructure) repository:
```sh ```sh
git clone https://github.com/acfloria/SatComInfrastructure.git git clone https://github.com/acfloria/SatComInfrastructure.git
``` ```
6. Перейдіть до розташування репозиторію _SatComInfrastructure_ і налаштуйте черги брокера: 6. Перейдіть до розташування репозиторію _SatComInfrastructure_ і налаштуйте черги брокера:
```sh ```sh
./setup_rabbit.py localhost iridiumsbd PWD ./setup_rabbit.py localhost iridiumsbd PWD
``` ```
7. Перевірте налаштування: 7. Перевірте налаштування:
```sh ```sh
sudo rabbitmqctl list_queues 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. 8. Edit the `relay.cfg` configuration file to reflect your settings.
9. Запустіть скрипт реле в режимі відокремленого виконання: 9. Запустіть скрипт реле в режимі відокремленого виконання:
```sh ```sh
screen -dm bash -c 'cd SatcomInfrastructure/; ./relay.py screen -dm bash -c 'cd SatcomInfrastructure/; ./relay.py
``` ```
Інші інструкції включають: Інші інструкції включають:
@@ -177,15 +177,15 @@ drivers/telemetry/iridiumsbd
1. Встановіть необхідні модулі python: 1. Встановіть необхідні модулі python:
```sh ```sh
sudo pip install pika tornado future sudo pip install pika tornado future
``` ```
2. Клонуйте репозиторій SatComInfrastructure: 2. Клонуйте репозиторій SatComInfrastructure:
```sh ```sh
git clone https://github.com/acfloria/SatComInfrastructure.git git clone https://github.com/acfloria/SatComInfrastructure.git
``` ```
3. Відредагуйте конфігураційний файл **udp2rabbit.cfg**, щоб відображати ваші налаштування. 3. Відредагуйте конфігураційний файл **udp2rabbit.cfg**, щоб відображати ваші налаштування.
@@ -193,20 +193,20 @@ drivers/telemetry/iridiumsbd
5. Додавайте UDP з'єднання в QGC з параметрами: 5. Додавайте UDP з'єднання в QGC з параметрами:
- Порт прослуховування: 10000 - Порт прослуховування: 10000
- Цільові хости: 127.0.0.1:10001 - Цільові хости: 127.0.0.1:10001
- Висока затримка: позначено - Висока затримка: позначено
![High Latency Link Settings](../../assets/satcom/linksettings.png) ![High Latency Link Settings](../../assets/satcom/linksettings.png)
### Перевірка ### Перевірка
1. Відкрийте термінал на комп'ютері наземної станції та перейдіть до розташування репозиторію _SatComInfrastructure_. 1. Відкрийте термінал на комп'ютері наземної станції та перейдіть до розташування репозиторію _SatComInfrastructure_.
Потім запустіть скрипт **udp2rabbit.py**: Потім запустіть скрипт **udp2rabbit.py**:
```sh ```sh
./udp2rabbit.py ./udp2rabbit.py
``` ```
2. Надішліть тестове повідомлення з облікового запису [RockBlock](https://rockblock.rock7.com/Operations) до створеної групи доставки на вкладці `Тестові групи доставки`. 2. Надішліть тестове повідомлення з облікового запису [RockBlock](https://rockblock.rock7.com/Operations) до створеної групи доставки на вкладці `Тестові групи доставки`.
@@ -217,36 +217,36 @@ drivers/telemetry/iridiumsbd
## Запуск системи ## Запуск системи
1. Запустіть _QGroundControl_. 1. Запустіть _QGroundControl_.
Спочатку вручну підключіть високо запізнюваний зв'язок, а потім звичайний телеметрійний зв'язок: Спочатку вручну підключіть високо запізнюваний зв'язок, а потім звичайний телеметрійний зв'язок:
![Connect the High Latency link](../../assets/satcom/linkconnect.png) ![Connect the High Latency link](../../assets/satcom/linkconnect.png)
2. Відкрийте термінал на комп'ютері наземної станції та перейдіть до розташування репозиторію _SatComInfrastructure_. 2. Відкрийте термінал на комп'ютері наземної станції та перейдіть до розташування репозиторію _SatComInfrastructure_.
Потім запустіть скрипт **udp2rabbit.py**: Потім запустіть скрипт **udp2rabbit.py**:
```sh ```sh
./udp2rabbit.py ./udp2rabbit.py
``` ```
3. Увімкніть транспортний засіб. 3. Увімкніть транспортний засіб.
4. Дочекайтеся, доки на QGC не буде отримано перше повідомлення `HIGH_LATENCY2`. 4. Дочекайтеся, доки на QGC не буде отримано перше повідомлення `HIGH_LATENCY2`.
Це можна перевірити за допомогою віджету _Інспектора MAVLink_ або на панелі інструментів за допомогою _індикатора зв'язку(LinkIndicator)_. Це можна перевірити за допомогою віджету _Інспектора MAVLink_ або на панелі інструментів за допомогою _індикатора зв'язку(LinkIndicator)_.
Це можна перевірити за допомогою віджету _Інспектора MAVLink_ або на панелі інструментів за допомогою _індикатора зв'язку(LinkIndicator)_: Це можна перевірити за допомогою віджету _Інспектора MAVLink_ або на панелі інструментів за допомогою _індикатора зв'язку(LinkIndicator)_:
![Link Toolbar](../../assets/satcom/linkindicator.jpg) ![Link Toolbar](../../assets/satcom/linkindicator.jpg)
Індикатор зв'язку завжди показує назву пріоритетного зв'язку. Індикатор зв'язку завжди показує назву пріоритетного зв'язку.
5. Супутникова система зв'язку тепер готова до використання. 5. Супутникова система зв'язку тепер готова до використання.
Пріоритетний зв'язок, через який надсилаються команди, визначається наступними способами: Пріоритетний зв'язок, через який надсилаються команди, визначається наступними способами:
- Якщо користувач не вказав зв'язок, звичайний радіо телеметрійний зв'язок віддається перевагу перед високозапізнюваним зв'язком. - Якщо користувач не вказав зв'язок, звичайний радіо телеметрійний зв'язок віддається перевагу перед високозапізнюваним зв'язком.
- Автопілот та QGC перехоплюватимуть звичайний радіо телеметрійний зв'язок на високозапізнюваний зв'язок, якщо транспортний засіб зброєний, а радіо телеметрійний зв'язок втрачений (не отримано жодного повідомлення MAVLink протягом певного часу). - Автопілот та QGC перехоплюватимуть звичайний радіо телеметрійний зв'язок на високозапізнюваний зв'язок, якщо транспортний засіб зброєний, а радіо телеметрійний зв'язок втрачений (не отримано жодного повідомлення MAVLink протягом певного часу).
Як тільки радіо телеметрійний зв'язок відновлюється, QGC та автопілот повертаються до нього. Як тільки радіо телеметрійний зв'язок відновлюється, QGC та автопілот повертаються до нього.
- Користувач може вибрати пріоритетний зв'язок через індикатор зв'язку на панелі інструментів. - Користувач може вибрати пріоритетний зв'язок через індикатор зв'язку на панелі інструментів.
Це посилання зберігається як пріоритетне посилання, поки воно активне або користувач вибирає інше пріоритетне посилання: Це посилання зберігається як пріоритетне посилання, поки воно активне або користувач вибирає інше пріоритетне посилання:
![Prioritylink Selection](../../assets/satcom/linkselection.png) ![Prioritylink Selection](../../assets/satcom/linkselection.png)
## Усунення проблем ## Усунення проблем
+11 -2
View File
@@ -628,7 +628,16 @@ div.frame_variant td, div.frame_variant th {
### Free-Flyer ### Free-Flyer
<div class="frame_common"> <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>
<div class="frame_variant"> <div class="frame_variant">
@@ -638,7 +647,7 @@ div.frame_variant td, div.frame_variant th {
</thead> </thead>
<tbody> <tbody>
<tr id="spacecraft_free-flyer_kth-atmos"> <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> <td>Maintainer: DISCOWER<p><code>SYS_AUTOSTART</code> = 70000</p></td>
</tr> </tr>
</tbody> </tbody>
+1 -1
View File
@@ -291,7 +291,7 @@ If you're using [DroneCAN ESC](../peripherals/esc_motors.md#dronecan) the contro
### Flight Controller Power ### Flight Controller Power
Pixhawk FCs require a regulated power supply that can supply at around 5V/3A continuous (check your specific FC)! 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. [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). The power module is connected to the FC power port, which is normally labeled `POWER` (or `POWER 1` or `POWER 2` for FCs that have redundant power supply).
+6 -6
View File
@@ -188,16 +188,16 @@ PX4 видає повідомлення MAVLink [CAMERA_TRIGGER](https://mavlink
1. На консолі PX4: 1. На консолі PX4:
```shell ```shell
camera_trigger test camera_trigger test
``` ```
2. Від _QGroundControl_: 2. Від _QGroundControl_:
Клацніть на **Запуск камери** на головній панелі інструментів. Клацніть на **Запуск камери** на головній панелі інструментів.
Ці знімки не відображаються або не підраховуються для геотегування. Ці знімки не відображаються або не підраховуються для геотегування.
![QGC Тестова Камера](../../assets/camera/qgc_test_camera.png) ![QGC Тестова Камера](../../assets/camera/qgc_test_camera.png)
## Приклад Sony QX-1 (Фотограметрія) ## Приклад Sony QX-1 (Фотограметрія)
+1 -1
View File
@@ -86,7 +86,7 @@ PX4 переістовує їх з тим самим ідентифікатор
1. Змініть невикористаний параметр `MAV_n_CONFIG`, такий як [MAV_2_CONFIG](../advanced_config/parameter_reference.md#MAV_2_CONFIG), щоб він був присвоєний порту, до якого підключена ваша камера. 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` (На борту). 2. Встановіть відповідний [MAV_2_MODE](../advanced_config/parameter_reference.md#MAV_2_MODE) на `2` (На борту).
Це забезпечує, що правильний набір повідомлень MAVLink випромінюється та пересилається. Це забезпечує, що правильний набір повідомлень MAVLink випромінюється та пересилається.
3. Можливо, вам доведеться встановити деякі інші параметри, залежно від вашого з'єднання - наприклад, швидкість передачі даних. 3. Можливо, вам доведеться встановити деякі інші параметри, залежно від вашого з'єднання - наприклад, швидкість передачі даних.
Підключіться та налаштуйте камеру, як рекомендовано в її посібнику користувача. Підключіться та налаштуйте камеру, як рекомендовано в її посібнику користувача.
+1 -1
View File
@@ -112,7 +112,7 @@ PX4 видає команди [MAVLink Camera Protocol v2](https://mavlink.io/en
1. Змініть невикористаний параметр `MAV_n_CONFIG`, такий як [MAV_2_CONFIG](../advanced_config/parameter_reference.md#MAV_2_CONFIG), щоб він був присвоєний порту, до якого підключена ваша камера/компаньйонський комп'ютер. 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` (На борту). 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), щоб дозволити пересилання комунікацій з порту на інші порти, такі як той, що підключений до наземної станції. 3. Встановіть [MAV_2_FORWARD](../advanced_config/parameter_reference.md#MAV_2_FORWARD), щоб дозволити пересилання комунікацій з порту на інші порти, такі як той, що підключений до наземної станції.
4. Можливо, вам доведеться встановити деякі інші параметри, залежно від типу підключення та будь-яких конкретних вимог камери щодо очікуваної швидкості передачі даних і т. д. 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: Next we modify the Jetson IP address to be on the same network as the Pixhawk:
1. Make sure `netplan` is installed. 1. Make sure `netplan` is installed.
You can check by running the following command: You can check by running the following command:
```sh ```sh
netplan -h netplan -h
``` ```
If not, install it using the commands: If not, install it using the commands:
```sh ```sh
sudo apt update sudo apt update
sudo apt install netplan.io sudo apt install netplan.io
``` ```
2. Check `system_networkd` is running: 2. Check `system_networkd` is running:
```sh ```sh
sudo systemctl status systemd-networkd 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 ```sh
● systemd-networkd.service - Network Configuration ● systemd-networkd.service - Network Configuration
Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; vendor preset: enabled) 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 Active: active (running) since Wed 2024-09-11 23:32:44 EDT; 23min ago
TriggeredBy: ● systemd-networkd.socket TriggeredBy: ● systemd-networkd.socket
Docs: man:systemd-networkd.service(8) Docs: man:systemd-networkd.service(8)
Main PID: 2452 (systemd-network) Main PID: 2452 (systemd-network)
Status: "Processing requests..." Status: "Processing requests..."
Tasks: 1 (limit: 18457) Tasks: 1 (limit: 18457)
Memory: 2.7M Memory: 2.7M
CPU: 157ms CPU: 157ms
CGroup: /system.slice/systemd-networkd.service CGroup: /system.slice/systemd-networkd.service
└─2452 /lib/systemd/systemd-networkd └─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]: lo: Gained carrier
Sep 11 23:32:44 ubuntu systemd-networkd[2452]: wlan0: Gained IPv6LL 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]: eth0: Gained IPv6LL
Sep 11 23:32:44 ubuntu systemd-networkd[2452]: Enumeration completed 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[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: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: 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: 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: 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: 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 ```sh
sudo systemctl start systemd-networkd sudo systemctl start systemd-networkd
sudo systemctl enable systemd-networkd sudo systemctl enable systemd-networkd
``` ```
3. Open the Netplan configuration file (so we can set up a static IP for the Jetson). 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). 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: Below we use `nano` to open the file, but you can use your preferred text editor:
```sh ```sh
sudo nano /etc/netplan/01-netcfg.yaml sudo nano /etc/netplan/01-netcfg.yaml
``` ```
4. Modify the yaml configuration, by overwriting the contents with the following information and then saving: 4. Modify the yaml configuration, by overwriting the contents with the following information and then saving:
```sh ```sh
network: network:
version: 2 version: 2
renderer: networkd renderer: networkd
ethernets: ethernets:
eth0: eth0:
dhcp4: no dhcp4: no
addresses: addresses:
- 10.41.10.1/24 - 10.41.10.1/24
routes: routes:
- to: 0.0.0.0/0 - to: 0.0.0.0/0
via: 10.41.10.254 via: 10.41.10.254
nameservers: nameservers:
addresses: addresses:
- 10.41.10.254 - 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: 5. Apply the changes using the following command:
```sh ```sh
sudo netplan apply sudo netplan apply
``` ```
The Pixhawk Ethernet address is set to `10.41.10.2` by default, which is on the same subnet. 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: 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. 1. Disconnect the `FAN` wiring.
![HB_Pixhawk_CM4_Fan](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_fan.jpg) ![HB_Pixhawk_CM4_Fan](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_fan.jpg)
2. Видаліть ці 4 гвинти на задній стороні підлогової дошки. 2. Видаліть ці 4 гвинти на задній стороні підлогової дошки.
![Bottom of the board showing screws in corners holding the cover](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_bottom.jpg) ![Bottom of the board showing screws in corners holding the cover](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_bottom.jpg)
3. Видаліть підставку корпусу, встановіть CM4 та використовуйте 4 гвинти для його кріплення (як показано): 3. Видаліть підставку корпусу, встановіть CM4 та використовуйте 4 гвинти для його кріплення (як показано):
![HB_Pixhawk_CM4_Screws](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_screws.jpg) ![HB_Pixhawk_CM4_Screws](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_screws.jpg)
4. Прикріпіть кришку знову. 4. Прикріпіть кришку знову.
@@ -115,29 +115,29 @@ RPi CM4 та контролер польоту повинні бути живл
1. Switch Dip-Switch to `RPI`. 1. Switch Dip-Switch to `RPI`.
![](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/cm4_dip_switch.png) ![](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/cm4_dip_switch.png)
2. Підключіть комп'ютер до порту USB-C _CM4 Slave_, що використовується для живлення та прошивки RPi. 2. Підключіть комп'ютер до порту USB-C _CM4 Slave_, що використовується для живлення та прошивки RPi.
![](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/cm4_usbc_slave_port.png) ![](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/cm4_usbc_slave_port.png)
3. Отримайте `usbboot`, зберіть його та запустіть. 3. Отримайте `usbboot`, зберіть його та запустіть.
```sh ```sh
sudo apt install libusb-1.0-0-dev sudo apt install libusb-1.0-0-dev
git clone --depth=1 https://github.com/raspberrypi/usbboot git clone --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot cd usbboot
make make
sudo ./rpiboot sudo ./rpiboot
``` ```
4. Тепер ви можете встановити свою перевагу Linux дистрибутив за допомогою `rpi-imager`. 4. Тепер ви можете встановити свою перевагу Linux дистрибутив за допомогою `rpi-imager`.
Переконайтеся, що ви додали налаштування WiFi та SSH (приховані за символом шестерні / розширеним). Переконайтеся, що ви додали налаштування WiFi та SSH (приховані за символом шестерні / розширеним).
```sh ```sh
sudo apt install rpi-imager sudo apt install rpi-imager
rpi-imager rpi-imager
``` ```
5. Після завершення відключення USB-C CM4 Slave (це відмонтує томи та вимкне CM4). 5. Після завершення відключення USB-C CM4 Slave (це відмонтує томи та вимкне CM4).
@@ -146,8 +146,8 @@ RPi CM4 та контролер польоту повинні бути живл
7. Увімкніть CM4, надаючи живлення через порт USB-C CM4 Slave. 7. Увімкніть CM4, надаючи живлення через порт USB-C CM4 Slave.
8. Щоб перевірити, чи запускається/працює, ви можете або: 8. Щоб перевірити, чи запускається/працює, ви можете або:
- Перевірте, чи є вихід HDMI - Перевірте, чи є вихід HDMI
- Підключіться через SSH (якщо налаштовано в rpi-imager, і є доступ до WiFi). - Підключіться через SSH (якщо налаштовано в rpi-imager, і є доступ до WiFi).
## Налаштуйте послідовне підключення PX4 до CM4 MAVLink ## Налаштуйте послідовне підключення PX4 до CM4 MAVLink
@@ -167,13 +167,13 @@ FC повинен бути налаштований для підключенн
1. Підключіть комп'ютер, на якому працює QGroundControl, через порт USB Type C на базовій платі, позначеній як `FC` 1. Підключіть комп'ютер, на якому працює QGroundControl, через порт USB Type C на базовій платі, позначеній як `FC`
![Image of baseboard showing FC USB-C connector](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_fc_usb_c.jpg) ![Image of baseboard showing FC USB-C connector](../../assets/companion_computer/holybro_pixhawk_rpi_cm4_baseboard/baseboard_fc_usb_c.jpg)
2. [Встановіть параметри](../advanced_config/parameters.md): 2. [Встановіть параметри](../advanced_config/parameters.md):
- `MAV_1_CONFIG` = `102` - `MAV_1_CONFIG` = `102`
- `MAV_1_MODE = 2` - `MAV_1_MODE = 2`
- `SER_TEL2_BAUD` = `921600` - `SER_TEL2_BAUD` = `921600`
3. Перезавантажте FC. 3. Перезавантажте FC.
@@ -185,13 +185,13 @@ FC повинен бути налаштований для підключенн
2. Увімкніть послідовний порт RPi, запустивши `RPi-config` 2. Увімкніть послідовний порт RPi, запустивши `RPi-config`
- Перейдіть до `3 Варіанти інтерфейсу`, потім `I6 Серійний порт`. - Перейдіть до `3 Варіанти інтерфейсу`, потім `I6 Серійний порт`.
Потім введіть: Потім введіть:
- `login shell accessible over serial → No` - `login shell accessible over serial → No`
- `serial port hardware enabled``Yes` - `serial port hardware enabled``Yes`
3. Завершіть і перезавантажте. 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. 4. Тепер MAVLink-трафік повинен бути доступний на `/dev/serial0` з швидкістю передачі даних 921600.
@@ -201,9 +201,9 @@ FC повинен бути налаштований для підключенн
2. Встановіть MAVSDK Python: 2. Встановіть MAVSDK Python:
```sh ```sh
python3 -m pip install mavsdk python3 -m pip install mavsdk
``` ```
3. Скопіюйте приклад з [прикладів MAVSDK-Python](https://github.com/mavlink/MAVSDK-Python/tree/main/examples). 3. Скопіюйте приклад з [прикладів MAVSDK-Python](https://github.com/mavlink/MAVSDK-Python/tree/main/examples).
+77 -77
View File
@@ -132,50 +132,50 @@ make px4_fmu-v6c_default upload
1. Встановіть `raspi-config`: 1. Встановіть `raspi-config`:
```sh ```sh
sudo apt update sudo apt update
sudo apt upgrade sudo apt upgrade
sudo apt-get install raspi-config sudo apt-get install raspi-config
``` ```
2. Open `raspi-config`: 2. Open `raspi-config`:
```sh ```sh
sudo raspi-config sudo raspi-config
``` ```
3. Перейдіть до **Варіанти інтерфейсу**, а потім клацніть **Серійний порт**. 3. Перейдіть до **Варіанти інтерфейсу**, а потім клацніть **Серійний порт**.
- Виберіть **No**, щоб вимкнути послідовний вхід у оболонку. - Виберіть **No**, щоб вимкнути послідовний вхід у оболонку.
- Виберіть **Так**, щоб увімкнути послідовний інтерфейс. - Виберіть **Так**, щоб увімкнути послідовний інтерфейс.
- Клацніть **Завершити** та перезапустіть RPi. - Клацніть **Завершити** та перезапустіть RPi.
4. Відкрийте файл конфігурації завантаження прошивки в редакторі `nano` на RaPi: 4. Відкрийте файл конфігурації завантаження прошивки в редакторі `nano` на RaPi:
```sh ```sh
sudo nano /boot/firmware/config.txt sudo nano /boot/firmware/config.txt
``` ```
5. Додайте наступний текст в кінець файлу (після останнього рядка): 5. Додайте наступний текст в кінець файлу (після останнього рядка):
```sh ```sh
enable_uart=1 enable_uart=1
dtoverlay=disable-bt dtoverlay=disable-bt
``` ```
6. Далі збережіть файл і перезапустіть RPi. 6. Далі збережіть файл і перезапустіть RPi.
- У `nano` ви можете зберегти файл за допомогою такої послідовності комбінацій клавіш: **ctrl+x**, **ctrl+y**, **Enter**. - У `nano` ви можете зберегти файл за допомогою такої послідовності комбінацій клавіш: **ctrl+x**, **ctrl+y**, **Enter**.
7. Перевірте, чи доступний послідовний порт. 7. Перевірте, чи доступний послідовний порт.
В даному випадку ми використовуємо наступні команди для перегляду серійних пристроїв: В даному випадку ми використовуємо наступні команди для перегляду серійних пристроїв:
```sh ```sh
cd / cd /
ls /dev/ttyAMA0 ls /dev/ttyAMA0
``` ```
Результат команди повинен містити підключення RX/TX `/dev/ttyAMA0` (зверніть увагу, що цей послідовний порт також доступний як `/dev/serial0`). Результат команди повинен містити підключення RX/TX `/dev/ttyAMA0` (зверніть увагу, що цей послідовний порт також доступний як `/dev/serial0`).
RPi наразі налаштований для роботи з RPi та зв'язку за допомогою послідовного порту `/dev/ttyAMA0`. RPi наразі налаштований для роботи з RPi та зв'язку за допомогою послідовного порту `/dev/ttyAMA0`.
Зверніть увагу, що ми встановимо додаткове програмне забезпечення в наступних розділах для роботи з MAVLink та ROS 2. Зверніть увагу, що ми встановимо додаткове програмне забезпечення в наступних розділах для роботи з MAVLink та ROS 2.
@@ -199,38 +199,38 @@ PX4 рекомендує використовувати [MAVSDK](https://mavsdk.
2. Відкрийте QGroundControl (повинно з'єднатися з транспортним засобом). 2. Відкрийте QGroundControl (повинно з'єднатися з транспортним засобом).
3. [Перевірте/змініть наступні параметри](../advanced_config/parameters.md) в QGroundControl: 3. [Перевірте/змініть наступні параметри](../advanced_config/parameters.md) в QGroundControl:
```ini ```ini
MAV_1_CONFIG = TELEM2 MAV_1_CONFIG = TELEM2
UXRCE_DDS_CFG = 0 (Disabled) UXRCE_DDS_CFG = 0 (Disabled)
SER_TEL2_BAUD = 57600 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 за допомогою наступних термінальних команд: Потім встановіть налаштування MAVProxy на RPi за допомогою наступних термінальних команд:
1. Встановіть MAVProxy: 1. Встановіть MAVProxy:
```sh ```sh
sudo apt install python3-pip sudo apt install python3-pip
sudo pip3 install mavproxy sudo pip3 install mavproxy
sudo apt remove modemmanager sudo apt remove modemmanager
``` ```
2. Запустіть MAVProxy, встановивши порт для підключення до `/dev/ttyAMA0` та швидкість передачі даних, щоб відповідати PX4: 2. Запустіть MAVProxy, встановивши порт для підключення до `/dev/ttyAMA0` та швидкість передачі даних, щоб відповідати PX4:
```sh ```sh
sudo mavproxy.py --master=/dev/serial0 --baudrate 57600 sudo mavproxy.py --master=/dev/serial0 --baudrate 57600
``` ```
Зверніть увагу, що вище ми використовували `/dev/serial0`, але ми могли б так само добре використовувати `/dev/ttyAMA0`. Зверніть увагу, що вище ми використовували `/dev/serial0`, але ми могли б так само добре використовувати `/dev/ttyAMA0`.
Якщо ми підключалися через USB, тоді ми замість цього встановили порт як `/dev/ttyACM0`: Якщо ми підключалися через USB, тоді ми замість цього встановили порт як `/dev/ttyACM0`:
```sh ```sh
sudo chmod a+rw /dev/ttyACM0 sudo chmod a+rw /dev/ttyACM0
sudo mavproxy.py --master=/dev/ttyACM0 --baudrate 57600 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: 2. [Перевірте/змініть наступні параметри](../advanced_config/parameters.md) в QGroundControl:
```ini ```ini
MAV_1_CONFIG = 0 (Disabled) MAV_1_CONFIG = 0 (Disabled)
UXRCE_DDS_CFG = 102 (TELEM2) UXRCE_DDS_CFG = 102 (TELEM2)
SER_TEL2_BAUD = 921600 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, відповідно. [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` встановлює швидкість передачі даних зв'язку.\ Швидкість `SER_TEL2_BAUD` встановлює швидкість передачі даних зв'язку.\
Ви так само можете налаштувати підключення до `TELEM1`, використовуючи або `MAV_1_CONFIG`, або `MAV_0_CONFIG`. Ви так само можете налаштувати підключення до `TELEM1`, використовуючи або `MAV_1_CONFIG`, або `MAV_0_CONFIG`.
Вам потрібно перезавантажити керування польотом, щоб застосувати будь-які зміни до цих параметрів. Вам потрібно перезавантажити керування польотом, щоб застосувати будь-які зміни до цих параметрів.
::: :::
3. Перевірте, що модуль [uxrce_dds_client](../modules/modules_system.md#uxrce-dds-client) зараз працює. 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 ```sh
uxrce_dds_client status uxrce_dds_client status
``` ```
:::info :::info
Якщо модуль клієнта не працює, ви можете запустити його вручну в консолі MAVLink: Якщо модуль клієнта не працює, ви можете запустити його вручну в консолі MAVLink:
@@ -298,32 +298,32 @@ uxrce_dds_client start -t serial -d /dev/ttyS3 -b 921600
2. Встановіть git за допомогою терміналу RPi: 2. Встановіть git за допомогою терміналу RPi:
```sh ```sh
sudo apt install git sudo apt install git
``` ```
3. Встановіть агент uXRCE_DDS: 3. Встановіть агент uXRCE_DDS:
```sh ```sh
git clone https://github.com/eProsima/Micro-XRCE-DDS-Agent.git git clone https://github.com/eProsima/Micro-XRCE-DDS-Agent.git
cd Micro-XRCE-DDS-Agent cd Micro-XRCE-DDS-Agent
mkdir build mkdir build
cd build cd build
cmake .. cmake ..
make make
sudo make install sudo make install
sudo ldconfig /usr/local/lib/ 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: 4. Запустіть агента в терміналі RPi:
```sh ```sh
sudo MicroXRCEAgent serial --dev /dev/serial0 -b 921600 sudo MicroXRCEAgent serial --dev /dev/serial0 -b 921600
``` ```
Зверніть увагу, як ми використовуємо раніше налаштований послідовний порт і ту саму швидкість передачі даних, що й для PX4. Зверніть увагу, як ми використовуємо раніше налаштований послідовний порт і ту саму швидкість передачі даних, що й для PX4.
Тепер, коли обидва агент та клієнт працюють, ви повинні бачити активність як на консолі MAVLink, так і на терміналі RPi. Тепер, коли обидва агент та клієнт працюють, ви повинні бачити активність як на консолі MAVLink, так і на терміналі RPi.
Ви можете переглянути доступні теми за допомогою наступної команди на RPi: Ви можете переглянути доступні теми за допомогою наступної команди на RPi:
@@ -80,18 +80,18 @@ Alpha AWUS036ACH - це карта середньої потужності, як
5. Налаштуйте камерний канал. Відкрийте `/etc/systemd/system/fpv-camera.service` і розкоментуйте конвеєр відповідно до вашої камери (камера PI або камера Logitech) 5. Налаштуйте камерний канал. Відкрийте `/etc/systemd/system/fpv-camera.service` і розкоментуйте конвеєр відповідно до вашої камери (камера PI або камера Logitech)
6. Відкрийте `/etc/wifibroadcast.cfg` і налаштуйте канал WiFi відповідно до налаштувань вашої антени (або використовуйте замовчуваний #165 для 5.8GHz) 6. Відкрийте `/etc/wifibroadcast.cfg` і налаштуйте канал WiFi відповідно до налаштувань вашої антени (або використовуйте замовчуваний #165 для 5.8GHz)
7. Налаштуйте PX4 на вивід потоку телеметрії зі швидкістю 1500 Кбіт/с (інші швидкості UART не добре відповідають дільникам частоти RPI). 7. Налаштуйте PX4 на вивід потоку телеметрії зі швидкістю 1500 Кбіт/с (інші швидкості UART не добре відповідають дільникам частоти RPI).
Підключіть UART Pixhawk до UART Raspberry PI. Підключіть UART Pixhawk до UART Raspberry PI.
У розділі `/etc/wifibroadcast.cfg` файлу розкоментуйте `peer = 'serial:ttyS0:1500000'` секцію. У розділі `/etc/wifibroadcast.cfg` файлу розкоментуйте `peer = 'serial:ttyS0:1500000'` секцію.
### Використання ноутбука Linux як GCS (важче, ніж використання RasPi) ### Використання ноутбука Linux як GCS (важче, ніж використання RasPi)
1. На **наземному** Linux комп'ютері розробки: 1. На **наземному** Linux комп'ютері розробки:
```sh ```sh
sudo apt install libpcap-dev libsodium-dev python3-all python3-twisted sudo apt install libpcap-dev libsodium-dev python3-all python3-twisted
git clone -b stable https://github.com/svpcom/wfb-ng.git git clone -b stable https://github.com/svpcom/wfb-ng.git
cd wfb-ng && make deb && sudo apt install ./deb_dist/wfb-ng*.deb 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) для завершення встановлення 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. - 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). - 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. - 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. - 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. 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. It provides accurate power estimates, but does not have some more advanced "smart battery" features.
+28 -28
View File
@@ -51,54 +51,54 @@ _Crazyflie 2.0_ було [припинено/замінено](../flight_control
1. Завантажте вихідний код завантажувача PX4: 1. Завантажте вихідний код завантажувача PX4:
```sh ```sh
git clone https://github.com/PX4/PX4-Bootloader.git git clone https://github.com/PX4/PX4-Bootloader.git
``` ```
2. Перейдіть до верхньої директорії вихідного коду та скомпілюйте його за допомогою: 2. Перейдіть до верхньої директорії вихідного коду та скомпілюйте його за допомогою:
```sh ```sh
make crazyflie_bl make crazyflie_bl
``` ```
3. Поставте Crazyflie 2.0 у режим DFU, виконавши ці кроки: 3. Поставте Crazyflie 2.0 у режим DFU, виконавши ці кроки:
- Спочатку переконайтеся, що він знеструмлений. - Спочатку переконайтеся, що він знеструмлений.
- Утримуйте кнопку скидання (див. малюнок нижче...). - Утримуйте кнопку скидання (див. малюнок нижче...).
![Crazyflie2 Reset Button](../../assets/flight_controller/crazyflie/crazyflie_reset_button.jpg) ![Crazyflie2 Reset Button](../../assets/flight_controller/crazyflie/crazyflie_reset_button.jpg)
- Підключіть до USB-порту комп'ютера. - Підключіть до USB-порту комп'ютера.
- Через секунду синій світлодіод повинен почати блимати, а через 5 секунд повинен почати блимати швидше. - Через секунду синій світлодіод повинен почати блимати, а через 5 секунд повинен почати блимати швидше.
- Відпустіть кнопку. - Відпустіть кнопку.
4. Встановіть _dfu-util_: 4. Встановіть _dfu-util_:
```sh ```sh
sudo apt-get update sudo apt-get update
sudo apt-get install dfu-util sudo apt-get install dfu-util
``` ```
5. Виконайте прошивку завантажувальника за допомогою _dfu-util_ та від'єднайте Crazyflie 2.0, коли це зроблено: 5. Виконайте прошивку завантажувальника за допомогою _dfu-util_ та від'єднайте Crazyflie 2.0, коли це зроблено:
```sh ```sh
sudo dfu-util -d 0483:df11 -a 0 -s 0x08000000 -D ./build/crazyflie_bl/crazyflie_bl.bin 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: 6. Завантажте вихідний код завантажувача автопілоту PX4:
```sh ```sh
git clone https://github.com/PX4/PX4-Autopilot.git git clone https://github.com/PX4/PX4-Autopilot.git
``` ```
7. Перейдіть до верхньої директорії вихідного коду та скомпілюйте його за допомогою: 7. Перейдіть до верхньої директорії вихідного коду та скомпілюйте його за допомогою:
```sh ```sh
make bitcraze_crazyflie_default upload make bitcraze_crazyflie_default upload
``` ```
8. Коли вас попросять підключити пристрій, підключіть Crazyflie 2.0. 8. Коли вас попросять підключити пристрій, підключіть Crazyflie 2.0.
Жовтий світлодіод повинен почати блимати, що вказує на режим завантажувача. Жовтий світлодіод повинен почати блимати, що вказує на режим завантажувача.
Потім червоний світлодіод повинен увімкнутися, що вказує на те, що процес мигання розпочався. Потім червоний світлодіод повинен увімкнутися, що вказує на те, що процес мигання розпочався.
9. Очікування завершення. 9. Очікування завершення.
+40 -40
View File
@@ -64,56 +64,56 @@ An overview of the Crazyflie 2.1 can be [found here](https://www.bitcraze.io/pro
1. Завантажте вихідний код завантажувача PX4: 1. Завантажте вихідний код завантажувача PX4:
```sh ```sh
git clone https://github.com/PX4/PX4-Bootloader.git --recurse-submodules git clone https://github.com/PX4/PX4-Bootloader.git --recurse-submodules
``` ```
2. Перейдіть до верхньої директорії вихідного коду та скомпілюйте його за допомогою: 2. Перейдіть до верхньої директорії вихідного коду та скомпілюйте його за допомогою:
```sh ```sh
make crazyflie21_bl make crazyflie21_bl
``` ```
3. Поставте Crazyflie 2.1 у режим DFU, виконавши ці кроки: 3. Поставте Crazyflie 2.1 у режим DFU, виконавши ці кроки:
- Спочатку переконайтеся, що він знеструмлений. - Спочатку переконайтеся, що він знеструмлений.
- Переконайтеся, що акумулятор від'єднаний. - Переконайтеся, що акумулятор від'єднаний.
- Утримуйте кнопку скидання (див. малюнок нижче...). - Утримуйте кнопку скидання (див. малюнок нижче...).
![Crazyflie2 Reset Button](../../assets/flight_controller/crazyflie/crazyflie_reset_button.jpg) ![Crazyflie2 Reset Button](../../assets/flight_controller/crazyflie/crazyflie_reset_button.jpg)
- Підключіть до USB-порту комп'ютера. - Підключіть до USB-порту комп'ютера.
- Через секунду синій світлодіод повинен почати блимати, а через 5 секунд повинен почати блимати швидше. - Через секунду синій світлодіод повинен почати блимати, а через 5 секунд повинен почати блимати швидше.
- Відпустіть кнопку. - Відпустіть кнопку.
4. Встановіть _dfu-util_: 4. Встановіть _dfu-util_:
```sh ```sh
sudo apt-get update sudo apt-get update
sudo apt-get install dfu-util sudo apt-get install dfu-util
``` ```
5. Виконайте прошивку завантажувальника за допомогою _dfu-util_ та від'єднайте Crazyflie 2.1, коли це зроблено: 5. Виконайте прошивку завантажувальника за допомогою _dfu-util_ та від'єднайте Crazyflie 2.1, коли це зроблено:
```sh ```sh
sudo dfu-util -d 0483:df11 -a 0 -s 0x08000000 -D ./build/crazyflie21_bl/crazyflie21_bl.bin 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: 6. Завантажте вихідний код завантажувача автопілоту PX4:
```sh ```sh
git clone https://github.com/PX4/PX4-Autopilot.git git clone https://github.com/PX4/PX4-Autopilot.git
``` ```
7. Перейдіть до верхньої директорії вихідного коду та скомпілюйте його за допомогою: 7. Перейдіть до верхньої директорії вихідного коду та скомпілюйте його за допомогою:
```sh ```sh
cd PX4-Autopilot/ cd PX4-Autopilot/
make bitcraze_crazyflie21_default upload make bitcraze_crazyflie21_default upload
``` ```
8. Коли вас попросять підключити пристрій, підключіть Crazyflie 2.1. 8. Коли вас попросять підключити пристрій, підключіть Crazyflie 2.1.
Жовтий світлодіод повинен почати блимати, що вказує на режим завантажувача. Жовтий світлодіод повинен почати блимати, що вказує на режим завантажувача.
Потім червоний світлодіод повинен увімкнутися, що вказує на те, що процес мигання розпочався. Потім червоний світлодіод повинен увімкнутися, що вказує на те, що процес мигання розпочався.
9. Очікування завершення. 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) 1. Завантажте останній [завантажувач Crazyflie 2.1](https://github.com/bitcraze/crazyflie2-stm-bootloader/releases)
2. Поставте Crazyflie 2.1 у режим DFU, виконавши ці кроки: 2. Поставте Crazyflie 2.1 у режим DFU, виконавши ці кроки:
- Спочатку переконайтеся, що він знеструмлений. - Спочатку переконайтеся, що він знеструмлений.
- Переконайтеся, що акумулятор від'єднаний. - Переконайтеся, що акумулятор від'єднаний.
- Утримуйте кнопку скидання. - Утримуйте кнопку скидання.
- Підключіть до USB-порту комп'ютера. - Підключіть до USB-порту комп'ютера.
- Через секунду синій світлодіод повинен почати блимати, а через 5 секунд повинен почати блимати швидше. - Через секунду синій світлодіод повинен почати блимати, а через 5 секунд повинен почати блимати швидше.
- Відпустіть кнопку. - Відпустіть кнопку.
3. Виконайте прошивку завантажувальника за допомогою _dfu-util_ та від'єднайте Crazyflie 2.1, коли це зроблено: 3. Виконайте прошивку завантажувальника за допомогою _dfu-util_ та від'єднайте Crazyflie 2.1, коли це зроблено:
```sh ```sh
sudo dfu-util -d 0483:df11 -a 0 -s 0x08000000 -D cf2loader-1.0.bin 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) посібник. 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 мигає. 1. **Увімкніть приймач**: Як тільки ваш квадрокоптер увімкнено, ви помітите, що синій світлодіод приймача ELRS мигає.
Це свідчить про те, що отримувач увімкнений, але ще не встановив зв'язок з передавачем. Це свідчить про те, що отримувач увімкнений, але ще не встановив зв'язок з передавачем.
![Приймач Starling](../../assets/hardware/complete_vehicles/modalai_starling/starling-photo.png) ![Приймач Starling](../../assets/hardware/complete_vehicles/modalai_starling/starling-photo.png)
2. **Увійдіть в режим зв'язку**: Для ініціювання зв'язку відкрийте термінал та виконайте команди `adb shell` та `voxl-elrs -bind`. 2. **Увійдіть в режим зв'язку**: Для ініціювання зв'язку відкрийте термінал та виконайте команди `adb shell` та `voxl-elrs -bind`.
Ви побачите, що світлодіод приймача перемикається на миготливий в режимі миттєвого реагування, сигналізуючи, що тепер він у режимі зв'язку. Ви побачите, що світлодіод приймача перемикається на миготливий в режимі миттєвого реагування, сигналізуючи, що тепер він у режимі зв'язку.
![Boot Screenshot](../../assets/hardware/complete_vehicles/modalai_starling/screenshot-boot.png) ![Boot Screenshot](../../assets/hardware/complete_vehicles/modalai_starling/screenshot-boot.png)
#### Налаштування передавача #### Налаштування передавача
1. **Отримайте доступ до меню**: На вашому передавачі радіо Commando 8, включеному в комплект, натисніть ліву кнопку режиму, щоб відкрити систему меню. 1. **Отримайте доступ до меню**: На вашому передавачі радіо Commando 8, включеному в комплект, натисніть ліву кнопку режиму, щоб відкрити систему меню.
![Натисніть Меню на ПДУ](../../assets/hardware/complete_vehicles/modalai_starling/radio-1.png) ![Натисніть Меню на ПДУ](../../assets/hardware/complete_vehicles/modalai_starling/radio-1.png)
2. **Перейдіть до ExpressLRS**: Використовуйте праву кнопку, щоб вибрати перший пункт меню, який повинен бути "ExpressLRS." 2. **Перейдіть до ExpressLRS**: Використовуйте праву кнопку, щоб вибрати перший пункт меню, який повинен бути "ExpressLRS."
3. **Знайдіть опцію Bind**: Після вибору опції "ExpressLRS" прокрутіть вниз до нижньої частини меню, щоб знайти розділ "Bind". Це можна зробити, натиснувши праву кнопку донизу, поки ви не досягнете опцію "Прив'язка". 3. **Знайдіть опцію Bind**: Після вибору опції "ExpressLRS" прокрутіть вниз до нижньої частини меню, щоб знайти розділ "Bind". Це можна зробити, натиснувши праву кнопку донизу, поки ви не досягнете опцію "Прив'язка".
![Press Binding on RC](../../assets/hardware/complete_vehicles/modalai_starling/radio-2.png) ![Press Binding on RC](../../assets/hardware/complete_vehicles/modalai_starling/radio-2.png)
4. **Ініціювати Прив'язку**: Виберіть "Прив'язати", щоб перевести передавач у режим прив'язки. Ви будете знати, що процес був успішним, коли передавач видасть сигнал, вказуючи на успішне зв'язування. 4. **Ініціювати Прив'язку**: Виберіть "Прив'язати", щоб перевести передавач у режим прив'язки. Ви будете знати, що процес був успішним, коли передавач видасть сигнал, вказуючи на успішне зв'язування.
+79 -79
View File
@@ -42,17 +42,17 @@ This kit is still highly recommended for developing and testing vision solutions
## Попередження та сповіщення ## Попередження та сповіщення
1. Комплект призначений для проєктів комп'ютерного зору, які використовують камеру, спрямовану вперед (він не має камер глибини, спрямованих вниз або назад). 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-координати). 2. Уникання перешкод у місіях можна тестувати лише за наявності сигналу GPS (місії використовують GPS-координати).
Запобігання зіткненням можна перевірити в режимі позиціювання за умови, що є стійке захоплення позиції, отримане або з GPS, або з оптичного потоку. Запобігання зіткненням можна перевірити в режимі позиціювання за умови, що є стійке захоплення позиції, отримане або з GPS, або з оптичного потоку.
3. Порт, позначений `USB1`, може глушити GPS, якщо його використовувати з периферійним пристроєм _USB3_ (вимкніть GPS-залежні функції, зокрема місії). 3. Порт, позначений `USB1`, може глушити GPS, якщо його використовувати з периферійним пристроєм _USB3_ (вимкніть GPS-залежні функції, зокрема місії).
Саме тому образ завантаження постачається на флешці _USB2.0_. Саме тому образ завантаження постачається на флешці _USB2.0_.
4. PX4 Vision v1 з ECN 010 або вище (несуча плата RC05 і вище), _UP Core_ може живитися як від розетки постійного струму, так і від акумулятора. 4. PX4 Vision v1 з ECN 010 або вище (несуча плата RC05 і вище), _UP Core_ може живитися як від розетки постійного струму, так і від акумулятора.
![RC Number](../../assets/hardware/px4_vision_devkit/rc.png) ![ECN Number](../../assets/hardware/px4_vision_devkit/serial_number_update.jpg) ![RC Number](../../assets/hardware/px4_vision_devkit/rc.png) ![ECN Number](../../assets/hardware/px4_vision_devkit/serial_number_update.jpg)
5. Всі PX4 Vision v1.5 _UP Core_ можна живити як від мережі постійного струму, так і від батареї. 5. Всі PX4 Vision v1.5 _UP Core_ можна живити як від мережі постійного струму, так і від батареї.
@@ -132,37 +132,37 @@ PX4 Vision DevKit містить наступні компоненти:
## Перший запуск ## Перший запуск
1. Підключіть [сумісний RC приймач](../getting_started/rc_transmitter_receiver.md#connecting-receivers) до транспортного засобу (не постачається в комплекті): 1. Підключіть [сумісний RC приймач](../getting_started/rc_transmitter_receiver.md#connecting-receivers) до транспортного засобу (не постачається в комплекті):
- Видаліть/відкрутіть верхню пластину (де йде батарея) за допомогою інструменту з головками шестигранника H2.0. - Видаліть/відкрутіть верхню пластину (де йде батарея) за допомогою інструменту з головками шестигранника H2.0.
- [Підключіть приймач до контролера польоту](../assembly/quick_start_pixhawk4.md#radio-control). - [Підключіть приймач до контролера польоту](../assembly/quick_start_pixhawk4.md#radio-control).
- Прикріпіть знову верхню пластину. - Прикріпіть знову верхню пластину.
- Встановіть RC-приймач на плату кар'єра _UP Core_ на задній частині транспортного засобу (використовуйте зажими або двосторонній скотч). - Встановіть RC-приймач на плату кар'єра _UP Core_ на задній частині транспортного засобу (використовуйте зажими або двосторонній скотч).
- Переконайтеся, що антени вільні від будь-яких перешкод і електрично ізольовані від рами (наприклад, закріпіть їх під платою або до рук або ніг транспортного засобу). - Переконайтеся, що антени вільні від будь-яких перешкод і електрично ізольовані від рами (наприклад, закріпіть їх під платою або до рук або ніг транспортного засобу).
2. [Прив'яжіть](../getting_started/rc_transmitter_receiver.md#binding) земельні та повітряні блоки керування RC (якщо ще не зроблено). 2. [Прив'яжіть](../getting_started/rc_transmitter_receiver.md#binding) земельні та повітряні блоки керування RC (якщо ще не зроблено).
Процедура прив'язки залежить від конкретної радіосистеми, яку використовують (прочитайте посібник користувача приймача). Процедура прив'язки залежить від конкретної радіосистеми, яку використовують (прочитайте посібник користувача приймача).
3. Підніміть стійку GPS до вертикального положення та вкрутіть кришку на тримач на базовій пластині. (Не потрібно для v1.5) 3. Підніміть стійку GPS до вертикального положення та вкрутіть кришку на тримач на базовій пластині. (Не потрібно для v1.5)
![Підніміть мачту GPS](../../assets/hardware/px4_vision_devkit/raise_gps_mast.jpg) ![Підніміть мачту GPS](../../assets/hardware/px4_vision_devkit/raise_gps_mast.jpg)
4. Уставте попередньо зображену USB2.0-ручку зі набору в порт _UP Core_, позначений як `USB1` (виділено нижче). 4. Уставте попередньо зображену USB2.0-ручку зі набору в порт _UP Core_, позначений як `USB1` (виділено нижче).
![UP Core: Порт USB1 ](../../assets/hardware/px4_vision_devkit/upcore_port_usb1.png) ![UP Core: Порт USB1 ](../../assets/hardware/px4_vision_devkit/upcore_port_usb1.png)
5. Запустіть транспортний засіб з повністю зарядженою батареєю. 5. Запустіть транспортний засіб з повністю зарядженою батареєю.
:::info :::info
Переконайтеся, що гвинти від'єднані перед підключенням батареї. Переконайтеся, що гвинти від'єднані перед підключенням батареї.
::: :::
6. Підключіть земельну станцію до мережі WiFi транспортного засобу (через кілька секунд) за допомогою наступних типових облікових даних: 6. Підключіть земельну станцію до мережі WiFi транспортного засобу (через кілька секунд) за допомогою наступних типових облікових даних:
- **SSID:** pixhawk4 - **SSID:** pixhawk4
- **Пароль:** px4vision - **Пароль:** px4vision
:::tip :::tip
Ім'я мережі WiFi, пароль та інші облікові дані можуть бути змінені після підключення (за бажанням), використовуючи веб-переглядач для відкриття URL-адреси: `http://192.168.4.1`. Ім'я мережі WiFi, пароль та інші облікові дані можуть бути змінені після підключення (за бажанням), використовуючи веб-переглядач для відкриття URL-адреси: `http://192.168.4.1`.
Швидкість передачі даних (baud rate) не повинна змінюватися з 921600. Швидкість передачі даних (baud rate) не повинна змінюватися з 921600.
::: :::
@@ -170,39 +170,39 @@ PX4 Vision DevKit містить наступні компоненти:
8. [Налаштувати/калібрувати](../config/index.md) транспортний засіб: 8. [Налаштувати/калібрувати](../config/index.md) транспортний засіб:
:::info :::info
Транспортний засіб повинен прибути попередньо каліброваним (наприклад, з вбудованим програмним забезпеченням, конструкцією корпусу, батареєю та датчиками, всі встановлені). Транспортний засіб повинен прибути попередньо каліброваним (наприклад, з вбудованим програмним забезпеченням, конструкцією корпусу, батареєю та датчиками, всі встановлені).
Проте вам все одно потрібно калібрувати радіосистему (яку ви щойно підключили), і часто варто повторно виконати калібрування компаса. Проте вам все одно потрібно калібрувати радіосистему (яку ви щойно підключили), і часто варто повторно виконати калібрування компаса.
::: :::
- [Калібрування Радісистеми](../config/radio.md) - [Калібрування Радісистеми](../config/radio.md)
- [Калібрувати Компас](../config/compass.md) - [Калібрувати Компас](../config/compass.md)
9. (Опціонально) Налаштуйте перемикач режиму польоту на пульті дистанційного керування, скориставшись [вибором режиму польоту](../config/flight_mode.md). 9. (Опціонально) Налаштуйте перемикач режиму польоту на пульті дистанційного керування, скориставшись [вибором режиму польоту](../config/flight_mode.md).
:::info :::info
Режими також можна змінити за допомогою _QGroundControl_ Режими також можна змінити за допомогою _QGroundControl_
::: :::
Ми рекомендуємо визначити RC контролери для перемикачів: Ми рекомендуємо визначити RC контролери для перемикачів:
- [Режим позиції](../flight_modes_mc/position.md) - безпечний ручний режим польоту, який можна використовувати для тестування запобігання зіткнень. - [Режим позиції](../flight_modes_mc/position.md) - безпечний ручний режим польоту, який можна використовувати для тестування запобігання зіткнень.
- [Режим місії](../flight_modes_mc/mission.md) - виконуйте місії та тестуйте уникання перешкод. - [Режим місії](../flight_modes_mc/mission.md) - виконуйте місії та тестуйте уникання перешкод.
- [Режим повернення](../flight_modes_mc/return.md) - повернення транспортного засобу безпечно до точки запуску та посадка. - [Режим повернення](../flight_modes_mc/return.md) - повернення транспортного засобу безпечно до точки запуску та посадка.
10. Прикріпіть гвинти з обертанням, як показано: 10. Прикріпіть гвинти з обертанням, як показано:
![Motor Order Diagram](../../assets/hardware/px4_vision_devkit/motor_order_diagram.png) ![Motor Order Diagram](../../assets/hardware/px4_vision_devkit/motor_order_diagram.png)
- Напрямки гвинтів можна визначити за мітками: _6045_ (звичайний, проти годинникової стрілки) та _6045_**R** (обернений, за годинниковою стрілкою). - Напрямки гвинтів можна визначити за мітками: _6045_ (звичайний, проти годинникової стрілки) та _6045_**R** (обернений, за годинниковою стрілкою).
![Ідентифікація гвинта](../../assets/hardware/px4_vision_devkit/propeller_directions.jpg) ![Ідентифікація гвинта](../../assets/hardware/px4_vision_devkit/propeller_directions.jpg)
- Закрутіть тісно за допомогою наданих гайок пропелера: - Закрутіть тісно за допомогою наданих гайок пропелера:
![Гайки гвинтів](../../assets/hardware/px4_vision_devkit/propeller_nuts.png) ![Гайки гвинтів](../../assets/hardware/px4_vision_devkit/propeller_nuts.png)
## Політ дроном з униканням ## Політ дроном з униканням
@@ -212,30 +212,30 @@ PX4 Vision DevKit містить наступні компоненти:
2. Зачекайте, доки завершиться послідовність завантаження та система уникання розпочне роботу (транспортний засіб відхилить команди на озброєння під час завантаження). 2. Зачекайте, доки завершиться послідовність завантаження та система уникання розпочне роботу (транспортний засіб відхилить команди на озброєння під час завантаження).
:::tip :::tip
Процес завантаження/початку роботи триває близько 1 хвилини з постачаної USB-флешки (або 30 секунд з [внутрішньої пам'яті](#install_image_mission_computer)). Процес завантаження/початку роботи триває близько 1 хвилини з постачаної USB-флешки (або 30 секунд з [внутрішньої пам'яті](#install_image_mission_computer)).
::: :::
3. Перевірте, що система уникання почала працювати належним чином: 3. Перевірте, що система уникання почала працювати належним чином:
- Журнал сповіщень _QGroundControl_ відображає повідомлення: **Підключена система уникнення**. - Журнал сповіщень _QGroundControl_ відображає повідомлення: **Підключена система уникнення**.
![QGC Журнал показує, що система уникання почалася](../../assets/hardware/px4_vision_devkit/qgc_console_vision_system_started.jpg) ![QGC Журнал показує, що система уникання почалася](../../assets/hardware/px4_vision_devkit/qgc_console_vision_system_started.jpg)
- Червоний лазер видно на передній частині камери _Structure Core_. - Червоний лазер видно на передній частині камери _Structure Core_.
4. Зачекайте, доки світлодіод GPS не засвітиться зеленим кольором. 4. Зачекайте, доки світлодіод GPS не засвітиться зеленим кольором.
Це означає, що у транспортного засобу є GPS фіксація і він готовий до польоту! Це означає, що у транспортного засобу є GPS фіксація і він готовий до польоту!
5. Підключіть наземну станцію до мережі WiFi транспортного засобу. 5. Підключіть наземну станцію до мережі WiFi транспортного засобу.
6. Знайдіть безпечне зовнішнє місце для польоту, ідеально з деревом або якою-небудь іншою зручною перешкодою для тестування PX4 Vision. 6. Знайдіть безпечне зовнішнє місце для польоту, ідеально з деревом або якою-небудь іншою зручною перешкодою для тестування PX4 Vision.
7. Для тестування [попередження про зіткнення](../computer_vision/collision_prevention.md), увімкніть [Режим Позиції](../flight_modes_mc/position.md) та літайте вручну до перешкоди. 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. 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) (як описано вище). 2. [Увійдіть в супровідний комп'ютер](#login_mission_computer) (як описано вище).
3. Відкрийте термінал та виконайте наступну команду, щоб скопіювати зображення на внутрішню пам'ять (eMMC). 3. Відкрийте термінал та виконайте наступну команду, щоб скопіювати зображення на внутрішню пам'ять (eMMC).
Термінал буде пропонувати ввести кількість відповідей під час процесу прошивки. Термінал буде пропонувати ввести кількість відповідей під час процесу прошивки.
```sh ```sh
cd ~/catkin_ws/src/px4vision_ros/tools cd ~/catkin_ws/src/px4vision_ros/tools
sudo ./flash_emmc.sh sudo ./flash_emmc.sh
``` ```
:::info :::info
Всю інформацію, збережену в комп'ютері _UP Core_, буде видалено при виконанні цього сценарію. Всю інформацію, збережену в комп'ютері _UP Core_, буде видалено при виконанні цього сценарію.
::: :::
4. Витягніть USB-флешку. 4. Витягніть USB-флешку.
5. Перезавантажте пристрій. 5. Перезавантажте пристрій.
Тепер ком'ютер _UP Core_ буде завантажений з внутрішньої пам'яті (eMMC). Тепер ком'ютер _UP Core_ буде завантажений з внутрішньої пам'яті (eMMC).
### Запустіть супутній комп'ютер ### Запустіть супутній комп'ютер
@@ -319,23 +319,23 @@ PX4 та супутниковий комп'ютер обмінюються да
1. Підключіть клавіатуру та мишу до _UP Core_ через порт `USB2`: 1. Підключіть клавіатуру та мишу до _UP Core_ через порт `USB2`:
![UP Core: USB2](../../assets/hardware/px4_vision_devkit/upcore_port_usb2.png) ![UP Core: USB2](../../assets/hardware/px4_vision_devkit/upcore_port_usb2.png)
- Використовуйте кабель USB-JST з комплекту, щоб отримати роз'єм USB A - Використовуйте кабель USB-JST з комплекту, щоб отримати роз'єм USB A
![USB to JST cable](../../assets/hardware/px4_vision_devkit/usb_jst_cable.jpg) ![USB to JST cable](../../assets/hardware/px4_vision_devkit/usb_jst_cable.jpg)
- До кабелю можна підключити USB хаб, якщо клавіатура та миша мають окремі роз'єми. - До кабелю можна підключити USB хаб, якщо клавіатура та миша мають окремі роз'єми.
2. Підключіть монітор до порту HDMI _UP Core_. 2. Підключіть монітор до порту HDMI _UP Core_.
![UP Core: Порт HDMI](../../assets/hardware/px4_vision_devkit/upcore_port_hdmi.png) ![UP Core: Порт HDMI](../../assets/hardware/px4_vision_devkit/upcore_port_hdmi.png)
Екран входу в Ubuntu повинен з'явитися на моніторі. Екран входу в Ubuntu повинен з'явитися на моніторі.
3. Увійдіть в _UP Core_ за допомогою облікових даних: 3. Увійдіть в _UP Core_ за допомогою облікових даних:
- **Username:** px4vision - **Username:** px4vision
- **Password:** px4vision - **Password:** px4vision
### Розробка / Розширення уникнення PX4 ### Розробка / Розширення уникнення PX4
@@ -350,39 +350,39 @@ PX4 та супутниковий комп'ютер обмінюються да
1. Вимкніть процес уникання за допомогою наступної команди: 1. Вимкніть процес уникання за допомогою наступної команди:
```sh ```sh
systemctl stop avoidance.service systemctl stop avoidance.service
``` ```
Ви можете просто перезавантажити машину, щоб перезапустити службу. Ви можете просто перезавантажити машину, щоб перезапустити службу.
Інші корисні команди підтримуються: Інші корисні команди підтримуються:
```sh ```sh
# restart service # restart service
systemctl start avoidance.service systemctl start avoidance.service
# disable service (stop service and do not restart after boot) # disable service (stop service and do not restart after boot)
systemctl disable avoidance.service systemctl disable avoidance.service
# enable service (start service and enable restart after boot) # enable service (start service and enable restart after boot)
systemctl enable avoidance.service systemctl enable avoidance.service
``` ```
2. Вихідний код пакету уникання перешкод можна знайти за адресою https://github.com/PX4/PX4-Avoidance, який розташований в `~/catkin_ws/src/avoidance`. 2. Вихідний код пакету уникання перешкод можна знайти за адресою https://github.com/PX4/PX4-Avoidance, який розташований в `~/catkin_ws/src/avoidance`.
3. Внесіть зміни до коду! Щоб отримати останній код уникання, витягніть код з репозиторію уникання: 3. Внесіть зміни до коду! Щоб отримати останній код уникання, витягніть код з репозиторію уникання:
```sh ```sh
git pull origin git pull origin
git checkout origin/master git checkout origin/master
``` ```
4. Побудуйте пакет 4. Побудуйте пакет
```sh ```sh
catkin build local_planner catkin build local_planner
``` ```
Робоче середовище ROS розміщене в `~/catkin_ws`. Робоче середовище 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). For reference on developing in ROS and using the catkin workspace, see the [ROS catkin tutorials](https://wiki.ros.org/catkin/Tutorials).
+12 -12
View File
@@ -54,15 +54,15 @@ RoboClaw повинен бути підключений до відповідн
Спочатку налаштуйте послідовне з'єднання: Спочатку налаштуйте послідовне з'єднання:
1. Перейдіть до розділу [Параметри](../advanced_config/parameters.md) в QGroundControl. 1. Перейдіть до розділу [Параметри](../advanced_config/parameters.md) в QGroundControl.
- Встановіть параметр [RBCLW_SER_CFG](../advanced_config/parameter_reference.md#RBCLW_SER_CFG) на послідовний порт, до якого підключений RoboClaw (наприклад, `GPS2`). - Встановіть параметр [RBCLW_SER_CFG](../advanced_config/parameter_reference.md#RBCLW_SER_CFG) на послідовний порт, до якого підключений RoboClaw (наприклад, `GPS2`).
- [RBCLW_COUNTS_REV](../advanced_config/parameter_reference.md#RBCLW_COUNTS_REV) визначає кількість лічильників енкодера, необхідних для одного оберту колеса. - [RBCLW_COUNTS_REV](../advanced_config/parameter_reference.md#RBCLW_COUNTS_REV) визначає кількість лічильників енкодера, необхідних для одного оберту колеса.
Це значення повинно бути залишено на `1200` для протестованого `Контролера руху RoboClaw 2x15A`. Це значення повинно бути залишено на `1200` для протестованого `Контролера руху RoboClaw 2x15A`.
Відрегулюйте значення на основі вашого конкретного енкодера та налаштувань колеса. Відрегулюйте значення на основі вашого конкретного енкодера та налаштувань колеса.
- Контролери моторів RoboClaw повинні мати унікальну адресу на шині. - Контролери моторів RoboClaw повинні мати унікальну адресу на шині.
Стандартна адреса - 128, і вам не потрібно її змінювати (якщо ви це робите, оновіть параметр PX4 [RBCLW_ADDRESS](../advanced_config/parameter_reference.md#RBCLW_ADDRESS) відповідно). Стандартна адреса - 128, і вам не потрібно її змінювати (якщо ви це робите, оновіть параметр PX4 [RBCLW_ADDRESS](../advanced_config/parameter_reference.md#RBCLW_ADDRESS) відповідно).
:::info :::info
PX4 не підтримує кілька контролерів моторів RoboClaw у тому ж транспортному засобі — кожен контролер повинен мати унікальну адресу на шині, і є лише один параметр для встановлення адреси в PX4 (`RBCLW_ADDRESS`). PX4 не підтримує кілька контролерів моторів RoboClaw у тому ж транспортному засобі — кожен контролер повинен мати унікальну адресу на шині, і є лише один параметр для встановлення адреси в PX4 (`RBCLW_ADDRESS`).
::: :::
@@ -71,12 +71,12 @@ RoboClaw повинен бути підключений до відповідн
1. Перейдіть до [Конфігурації та тестування приводів](../config/actuators.md) в QGroundControl. 1. Перейдіть до [Конфігурації та тестування приводів](../config/actuators.md) в QGroundControl.
2. Виберіть драйвер RoboClaw зі списку _Виводів приводів_. 2. Виберіть драйвер RoboClaw зі списку _Виводів приводів_.
Для призначень каналу, роззброю, мінімальних та максимальних значень, будь ласка, звертайтеся до зображення нижче. Для призначень каналу, роззброю, мінімальних та максимальних значень, будь ласка, звертайтеся до зображення нижче.
![RoboClaw QGC](../../assets/airframes/rover/aion_r1/roboclaw_actuator_config_qgc.png) ![RoboClaw QGC](../../assets/airframes/rover/aion_r1/roboclaw_actuator_config_qgc.png)
Для систем з більш ніж двома двигунами можливо призначити одну й ту ж функцію кільком двигунам. Для систем з більш ніж двома двигунами можливо призначити одну й ту ж функцію кільком двигунам.
Причина нестандартних значень можна знайти в [Користувацькому посібнику RoboClaw](https://downloads.basicmicro.com/docs/roboclaw_user_manual.pdf) під `Командами сумісності` для `Пакетної послідовної передачі даних`: Причина нестандартних значень можна знайти в [Користувацькому посібнику RoboClaw](https://downloads.basicmicro.com/docs/roboclaw_user_manual.pdf) під `Командами сумісності` для `Пакетної послідовної передачі даних`:
```plain ```plain
Приводити двигун вперед. Діапазон дійсних даних - від 0 до 127. Значення 127 = повна швидкість вперед, 64 = Приводити двигун вперед. Діапазон дійсних даних - від 0 до 127. Значення 127 = повна швидкість вперед, 64 =
+57 -57
View File
@@ -203,85 +203,85 @@ The Lua script works by extracting the `obstacle_distance_fused` data at each ti
2. Configure PX4 to publish obstacle distance data (so that it is available to PlotJuggler): 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 ```sh
- topic: /fmu/out/obstacle_distance_fused - topic: /fmu/out/obstacle_distance_fused
type: px4_msgs::msg::ObstacleDistance 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. 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 ```lua
obs_dist_fused_xy = ScatterXY.new("obstacle_distance_fused_xy") obs_dist_fused_xy = ScatterXY.new("obstacle_distance_fused_xy")
obs_dist_min = Timeseries.new("obstacle_distance_minimum") obs_dist_min = Timeseries.new("obstacle_distance_minimum")
``` ```
- **function(tracker_time)** - **function(tracker_time)**
```lua ```lua
obs_dist_fused_xy:clear() obs_dist_fused_xy:clear()
i = 0 i = 0
angle_offset = TimeseriesView.find("/fmu/out/obstacle_distance_fused/angle_offset") angle_offset = TimeseriesView.find("/fmu/out/obstacle_distance_fused/angle_offset")
increment = TimeseriesView.find("/fmu/out/obstacle_distance_fused/increment") increment = TimeseriesView.find("/fmu/out/obstacle_distance_fused/increment")
min_dist = 65535 min_dist = 65535
-- Cache increment and angle_offset values at tracker_time to avoid repeated calls -- Cache increment and angle_offset values at tracker_time to avoid repeated calls
local angle_offset_value = angle_offset:atTime(tracker_time) local angle_offset_value = angle_offset:atTime(tracker_time)
local increment_value = increment:atTime(tracker_time) local increment_value = increment:atTime(tracker_time)
if increment_value == nil or increment_value <= 0 then if increment_value == nil or increment_value <= 0 then
print("Invalid increment value: " .. tostring(increment_value)) print("Invalid increment value: " .. tostring(increment_value))
return return
end end
local max_steps = math.floor(360 / increment_value) local max_steps = math.floor(360 / increment_value)
while i < max_steps do while i < max_steps do
local str = string.format("/fmu/out/obstacle_distance_fused/distances[%d]", i) local str = string.format("/fmu/out/obstacle_distance_fused/distances[%d]", i)
local distance = TimeseriesView.find(str) local distance = TimeseriesView.find(str)
if distance == nil then if distance == nil then
print("No distance data for: " .. str) print("No distance data for: " .. str)
break break
end end
local dist = distance:atTime(tracker_time) local dist = distance:atTime(tracker_time)
if dist ~= nil and dist < 65535 then if dist ~= nil and dist < 65535 then
-- Calculate angle and Cartesian coordinates -- Calculate angle and Cartesian coordinates
local angle = angle_offset_value + i * increment_value local angle = angle_offset_value + i * increment_value
local y = dist * math.cos(math.rad(angle)) local y = dist * math.cos(math.rad(angle))
local x = dist * math.sin(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 -- Update minimum distance
if dist < min_dist then if dist < min_dist then
min_dist = dist min_dist = dist
end end
end end
i = i + 1 i = i + 1
end end
-- Push minimum distance once after the loop -- Push minimum distance once after the loop
if min_dist < 65535 then if min_dist < 65535 then
obs_dist_min:push_back(tracker_time, min_dist) obs_dist_min:push_back(tracker_time, min_dist)
else else
print("No valid minimum distance found") print("No valid minimum distance found")
end end
``` ```
4. Enter a name for the script on the top right, and press **Save**. 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). 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. 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` (як вище). 1. Покладіть літак на землю і почніть передавати зворотний зв'язок `ODOMETRY` (як вище).
Потягніть палицю газу вниз і зберметизуйте двигуни. Потягніть палицю газу вниз і зберметизуйте двигуни.
На цьому етапі, зліва палиця на найнижчому положенні, перейдіть у режим позиціонного контролю. На цьому етапі, зліва палиця на найнижчому положенні, перейдіть у режим позиціонного контролю.
Ви повинні побачити зелену лампочку. Ви повинні побачити зелену лампочку.
Зелена лампочка свідчить про те, що доступний зворотний зв'язок позиції, і позиційний контроль активований. Зелена лампочка свідчить про те, що доступний зворотний зв'язок позиції, і позиційний контроль активований.
2. Покладіть палицю газу в середину (мертву зону), щоб літак підтримував свою висоту. 2. Покладіть палицю газу в середину (мертву зону), щоб літак підтримував свою висоту.
Підняття палиці збільшить висоту посилки, тоді як зниження значення зменшить її. Підняття палиці збільшить висоту посилки, тоді як зниження значення зменшить її.
Так само, інша палиця змінить положення над землею. Так само, інша палиця змінить положення над землею.
3. Збільшуйте значення перемикача газу, і літак злетить. Відразу після цього поверніть його в середину. 3. Збільшуйте значення перемикача газу, і літак злетить. Відразу після цього поверніть його в середину.
+40 -40
View File
@@ -38,24 +38,24 @@ _Польотні завдання_ використовуються у [Реж
- Оновіть відмітку про авторське право до поточного року - Оновіть відмітку про авторське право до поточного року
```cmake ```cmake
############################################################################ ############################################################################
# #
# Copyright (c) 2021 PX4 Development Team. All rights reserved. # Copyright (c) 2021 PX4 Development Team. All rights reserved.
# #
``` ```
- Модифікуйте код щоб він відповідав новому завданню, наприклад замініть `FlightTaskOrbit` на `FlightTaskMyTask`. - Модифікуйте код щоб він відповідав новому завданню, наприклад замініть `FlightTaskOrbit` на `FlightTaskMyTask`.
Код буде виглядати приблизно так: Код буде виглядати приблизно так:
```cmake ```cmake
px4_add_library(FlightTaskMyTask px4_add_library(FlightTaskMyTask
FlightTaskMyTask.cpp FlightTaskMyTask.cpp
) )
target_link_libraries(FlightTaskMyTask PUBLIC FlightTask) target_link_libraries(FlightTaskMyTask PUBLIC FlightTask)
target_include_directories(FlightTaskMyTask PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) target_include_directories(FlightTaskMyTask PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
``` ```
4. Оновіть файл заголовків (у цьому випадку **FlightTaskMyTask. pp**): Більшість завдань повторно реалізує віртуальні методи `activate()` і `update()`, в цьому прикладі ми також маємо приватну змінну. 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: - Оновіть `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 ```c
... ...
* @value 0 Direct velocity * @value 0 Direct velocity
* @value 3 Smoothed velocity * @value 3 Smoothed velocity
* @value 4 Acceleration based * @value 4 Acceleration based
* @value 5 My task * @value 5 My task
* @group Multicopter Position Control * @group Multicopter Position Control
*/ */
PARAM_DEFINE_INT32(MPC_POS_MODE, 5); 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` має відповідне значення. - Додайте мітку 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 ```cpp
... ...
// manual position control // manual position control
... ...
switch (_param_mpc_pos_mode.get()) { switch (_param_mpc_pos_mode.get()) {
... ...
case 3: case 3:
error = switchTask(FlightTaskIndex::ManualPositionSmoothVel); error = switchTask(FlightTaskIndex::ManualPositionSmoothVel);
break; break;
case 5: // Add case for new task: MyTask case 5: // Add case for new task: MyTask
error = switchTask(FlightTaskIndex::MyTask); error = switchTask(FlightTaskIndex::MyTask);
break; break;
case 4: case 4:
.... ....
... ...
``` ```
## Перевірка нового польотного завдання ## Перевірка нового польотного завдання
+21 -12
View File
@@ -13,9 +13,9 @@ They are exported at build-time into an `airframes.xml` file which is parsed by
Наступні секції розділені відповідно до операційної системи, на яких виконується PX4. Наступні секції розділені відповідно до операційної системи, на яких виконується 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 повинні виглядати для системи як окремі виконувані файли. - Модулі PX4 повинні виглядати для системи як окремі виконувані файли.
@@ -59,7 +59,7 @@ cd <PX4-Autopilot>/build/px4_sitl_default/bin
### Динамічні модулі ### Динамічні модулі
Зазвичай всі модулі компілюються в єдиний виконуваний файл PX4. Зазвичай всі модулі компілюються в єдиний виконуваний файл 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 ```sh
dyn ./test.px4mod dyn ./test.px4mod
@@ -95,7 +95,7 @@ NuttX має інтегрований інтерпретатор оболонк
Найкращий спосіб змінити запуск системи - це ввести [нову конфігурацію планера](../dev_airframes/adding_a_new_frame.md). Найкращий спосіб змінити запуск системи - це ввести [нову конфігурацію планера](../dev_airframes/adding_a_new_frame.md).
Файл конфігурації планеру може бути включений у прошивку або на SD карту. Файл конфігурації планеру може бути включений у прошивку або на SD карту.
#### Dynamic customization #### Dynamic Customization
Якщо вам потрібно "підлаштувати" конфігурацію що існує, наприклад запустити один або більше застосунків або встановити значення кількох параметрів, можна вказати це створивши два файли у директорії `/etc/` на SD картці: Якщо вам потрібно "підлаштувати" конфігурацію що існує, наприклад запустити один або більше застосунків або встановити значення кількох параметрів, можна вказати це створивши два файли у директорії `/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 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, 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.
you can add a script that will be contained in the binary.
**Note**: In almost all cases, you should use a frame configuration. This method should only be used for :::warning
edge-cases such as customizing `cannode` based boards. 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 ```sh
# File: boards/<vendor>/<board>/init/rc.additional # File: boards/<vendor>/<board>/init/rc.additional
param set-default <param> <value> 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 ```sh
# File: boards/<vendor>/<board>/var.px4board # File: boards/<vendor>/<board>/var.px4board
CONFIG_BOARD_ADDITIONAL_INIT="rc.additional" 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 ```sh
make <target>_var make <target>_var
``` ```
+18 -18
View File
@@ -43,13 +43,13 @@ The airframe must fly well enough to handle moderate disturbances, and should be
2. Take off and <div style="display: inline;" v-if="$frontmatter.frame === 'Multicopter'">hover at 1m above ground in [Altitude mode](../flight_modes_mc/altitude.md) or [Stabilized mode](../flight_modes_mc/manual_stabilized.md)</div><div style="display: inline;" v-else-if="$frontmatter.frame === 'Plane'">fly at cruise speed in [Position mode](../flight_modes_fw/position.md) or [Altitude mode](../flight_modes_fw/altitude.md)</div>. 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). 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. Повторіть маневр, нахиляючись з більшими амплітудами при кожної спроби. 4. Повторіть маневр, нахиляючись з більшими амплітудами при кожної спроби.
Якщо транспортний засіб може стабілізуватися протягом 2 коливань під кутом близько 20 градусів, перейдіть до наступного кроку. Якщо транспортний засіб може стабілізуватися протягом 2 коливань під кутом близько 20 градусів, перейдіть до наступного кроку.
5. Повторіть ті ж маніпуляції, але по осі поля. 5. Повторіть ті ж маніпуляції, але по осі поля.
Як вище, почніть з невеликих кутів і підтвердіть, що транспортний засіб може стабілізуватися самостійно протягом 2 коливань, перш ніж збільшувати нахил. Як вище, почніть з невеликих кутів і підтвердіть, що транспортний засіб може стабілізуватися самостійно протягом 2 коливань, перш ніж збільшувати нахил.
If the drone can stabilize itself within 2 oscillations it is ready for the [auto-tuning procedure](#auto-tuning-procedure). 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). 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). 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'"> 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). 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> This will guide the plane to fly in circle at constant altitude and speed.</div>
3. Enable autotune. 3. Enable autotune.
<div v-if="$frontmatter.frame === 'Plane'"> <div v-if="$frontmatter.frame === 'Plane'">
<div class="tip custom-block"><p class="custom-block-title">TIP</p> <div class="tip custom-block"><p class="custom-block-title">TIP</p>
If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch) is configured you can just toggle the switch to the "enabled" position. If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch) is configured you can just toggle the switch to the "enabled" position.
</div></div> </div></div>
1. In QGroundControl, open the menu **Vehicle setup > PID Tuning**: 1. In QGroundControl, open the menu **Vehicle setup > PID Tuning**:
![Tuning Setup > Autotune Enabled](../../assets/qgc/setup/autotune/autotune.png) ![Tuning Setup > Autotune Enabled](../../assets/qgc/setup/autotune/autotune.png)
2. Select either the _Rate Controller_ or _Attitude Controller_ tabs. 2. Select either the _Rate Controller_ or _Attitude Controller_ tabs.
3. Ensure that the **Autotune enabled** button is enabled (this will display the **Autotune** button and remove the manual tuning selectors). 3. Ensure that the **Autotune enabled** button is enabled (this will display the **Autotune** button and remove the manual tuning selectors).
4. Read the warning popup and click on **OK** to start tuning. 4. Read the warning popup and click on **OK** to start tuning.
4. Дрон спочатку почне виконувати швидкі рухи кочення, а потім рухи тангажу та рухи курсу. 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'"> <div style="display: inline;" v-if="$frontmatter.frame === 'Multicopter'">
5. Manually land and disarm to apply the new tuning parameters. 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'"> </div><div v-else-if="$frontmatter.frame === 'Plane'">
5. The tuning will be immediately/automatically be applied and tested in flight (by default). 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> </div>
+46 -46
View File
@@ -448,9 +448,9 @@ QGC потім автоматично обере наступний двигун
4. One motor will start spinning (click **Spin Motor Again** if it stops spinning too quickly to note.) 4. One motor will start spinning (click **Spin Motor Again** if it stops spinning too quickly to note.)
Виберіть відповідний двигун в розділі геометрії. Виберіть відповідний двигун в розділі геометрії.
![Screenshot showing how to identify/assign motors](../../assets/config/actuators/identify_motors_in_progress.png) ![Screenshot showing how to identify/assign motors](../../assets/config/actuators/identify_motors_in_progress.png)
5. Після призначення всіх двигунів інструмент встановить правильне відображення двигунів для виходів, а потім вийде. 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. 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. 2. Toggle the **Enable sliders** switch in _Actuator Testing_ section.
3. Перемістіть повзунок для приводу, який ви хочете перевірити: 3. Перемістіть повзунок для приводу, який ви хочете перевірити:
- Двигуни повинні бути переведені в положення мінімального тяги. - Двигуни повинні бути переведені в положення мінімального тяги.
- Сервоприводи повинні бути переміщені близько до середнього положення. - Сервоприводи повинні бути переміщені близько до середнього положення.
4. Перевірте, який привод рухається на транспортному засобі. 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. Поверніть слайдер у положення "роззброєно" (донизу для двигунів, по центру для сервоприводів). 5. Поверніть слайдер у положення "роззброєно" (донизу для двигунів, по центру для сервоприводів).
6. Повторити для всіх приводів 6. Повторити для всіх приводів
@@ -501,32 +501,32 @@ Remove propellers!
Для кожного двигуна: Для кожного двигуна:
1. Тягніть слайдер мотора вниз, щоб він защелкнувся унизу. 1. Тягніть слайдер мотора вниз, щоб він защелкнувся унизу.
In this position the motor is set to the outputs `disarmed` value. 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. - 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. 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. 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. - If the motor is not spinning, or spinning too fast you will need to adjust the corresponding PWM `minimum` value in the [Actuator Outputs](#actuator-outputs) such that the motors barely spin.
![PWM Minimum Output](../../assets/config/actuators/pwm_minimum_output.png) ![PWM Minimum Output](../../assets/config/actuators/pwm_minimum_output.png)
::: info ::: info
For DShot output, this is not required. For DShot output, this is not required.
::: :::
3. Збільште значення слайдера до рівня, на якому ви можете перевірити, що двигун обертається в правильному напрямку і що він надасть позитивний тяговий потік в очікуваному напрямку. 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). - 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. 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). - If thrust is in the wrong direction, you may need to [reverse the motors](#reversing-motors).
4. Збільште значення слайдера до максимального значення, щоб двигун швидко обертався. 4. Збільште значення слайдера до максимального значення, щоб двигун швидко обертався.
Reduce the value of the PWM output's `maximum` value just below the default. Reduce the value of the PWM output's `maximum` value just below the default.
Прослухайте тон моторів, коли ви збільшуєте значення малими (25us) інкрементами. Прослухайте тон моторів, коли ви збільшуєте значення малими (25us) інкрементами.
"Оптимальне" максимальне значення - це значення, при якому ви востаннє почули зміну тона. "Оптимальне" максимальне значення - це значення, при якому ви востаннє почули зміну тона.
### Налаштування поверхонь керування ### Налаштування поверхонь керування
@@ -549,33 +549,33 @@ Control surfaces that move either direction around a neutral point include: aile
To set these up: To set these up:
1. Set the `Disarmed` value so that the surfaces will stay at neutral position when disarmed. 1. Set the `Disarmed` value so that the surfaces will stay at neutral position when disarmed.
This is usually around `1500` for PWM servos (near the centre of the servo range). This is usually around `1500` for PWM servos (near the centre of the servo range).
![Control Surface Disarmed 1500 Setting](../../assets/config/actuators/control_surface_aileron_setup.png) ![Control Surface Disarmed 1500 Setting](../../assets/config/actuators/control_surface_aileron_setup.png)
2. Move the slider for the surface upwards (positive command) and verify that it moves in the direction defined in the [Control Surface Convention](#control-surface-deflection-convention). 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. - Ailerons, elevons, V-Tails, A-Tails, and other horizontal surfaces should move up.
- Rudders and other "purely vertical" surfaces should move right. - Rudders and other "purely vertical" surfaces should move right.
::: tip ::: 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). 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. 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 ::: info
This is done in the `Trim` setting of the Geometry panel, usually by "trial and error". This is done in the `Trim` setting of the Geometry panel, usually by "trial and error".
![Control Surface Trimming](../../assets/config/actuators/control_surface_trim.png) ![Control Surface Trimming](../../assets/config/actuators/control_surface_trim.png)
::: :::
- After setting the trim for a control surface, move its slider away from the centre, release, and then back into disarmed (middle) position. - After setting the trim for a control surface, move its slider away from the centre, release, and then back into disarmed (middle) position.
Підтвердіть, що поверхня знаходиться в нейтральному положенні. Підтвердіть, що поверхня знаходиться в нейтральному положенні.
:::info :::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`: 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. 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). 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. 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: 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 decreased towards `Min`, then set `Min` to match `Disarmed`.
- If the value was increased towards `Max`, then set `Max` 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. 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 :::info Special note for flaps
In some vehicle builds, flaps may be configured such that both flaps are controlled from a single output. 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). 2. Position the slider for the servo in the lowest position, and verify that a positive value increase will point towards the `Angle at Min Tilt` (defined in the Geometry section).
![Tilt Servo Geometry Setup](../../assets/config/actuators/tilt_servo_geometry_config.png) ![Tilt Servo Geometry Setup](../../assets/config/actuators/tilt_servo_geometry_config.png)
3. Position the slider for the servo in the highest position, and verify that positive motor thrust will point towards the `Angle at Max Tilt` (as defined in the Geometry section). 3. Position the slider for the servo in the highest position, and verify that positive motor thrust will point towards the `Angle at Max Tilt` (as defined in the Geometry section).
+5 -5
View File
@@ -27,18 +27,18 @@ Before calibration they must be [enabled via the corresponding parameter](../adv
4. Click the **Airspeed** sensor button. 4. Click the **Airspeed** sensor button.
![Airspeed calibration](../../assets/qgc/setup/sensor/sensor_airspeed.jpg) ![Airspeed calibration](../../assets/qgc/setup/sensor/sensor_airspeed.jpg)
5. Захистіть сенсор від вітру (тобто закрийте його рукою). 5. Захистіть сенсор від вітру (тобто закрийте його рукою).
Пильнуйте, щоб не заблокувати жодного з отворів. Пильнуйте, щоб не заблокувати жодного з отворів.
6. Click **OK** to start the calibration. 6. Click **OK** to start the calibration.
7. Після запиту, дмухніть у кінець труби пітота, щоб сигналізувати про завершення калібрування. 7. Після запиту, дмухніть у кінець труби пітота, щоб сигналізувати про завершення калібрування.
:::tip :::tip
Blowing into the tube is also a basic check that the dynamic and static ports are installed correctly. Blowing into the tube is also a basic check that the dynamic and static ports are installed correctly.
Якщо вони будуть поміняні місцями, то датчик буде відображати великий від'ємний перепад тиску, коли ви дмухаєте в трубку, і калібрування завершиться з помилкою. Якщо вони будуть поміняні місцями, то датчик буде відображати великий від'ємний перепад тиску, коли ви дмухаєте в трубку, і калібрування завершиться з помилкою.
::: :::
+15 -15
View File
@@ -23,9 +23,9 @@ If any external magnetometers are available, it then disables the internal magne
Several types of compass calibration are available: 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. 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. 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. Цей тип калібрування лише оцінює зміщення для компенсації ефекту твердого заліза. 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. Виберіть місце подалеку від великих металевих об'єктів або магнітних полів. 1. Виберіть місце подалеку від великих металевих об'єктів або магнітних полів.
:::tip :::tip
Metal is not always obvious! Уникайте калібрування на верхній частині офісного столу (часто містять металеві пластины) або поруч з транспортним засобом. Metal is not always obvious! Уникайте калібрування на верхній частині офісного столу (часто містять металеві пластины) або поруч з транспортним засобом.
Калібрування може бути навіть уражено, якщо ви стоїте на бетонній плиті з нерівномірним розподілом арматури. Калібрування може бути навіть уражено, якщо ви стоїте на бетонній плиті з нерівномірним розподілом арматури.
::: :::
2. Підключайтесь за допомогою телеметричного радіо, а не через USB, якщо це взагалі можливо. 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_. 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. 3. Click the **Compass** sensor button.
![Select Compass calibration PX4](../../assets/qgc/setup/sensor/sensor_compass_select_px4.png) ![Select Compass calibration PX4](../../assets/qgc/setup/sensor/sensor_compass_select_px4.png)
::: info ::: info
You should already have set the [Autopilot Orientation](../config/flight_controller_orientation.md). Якщо ні, ви також можете встановити це тут. 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. Розмістіть транспортний засіб у будь-якому з показаних червоних орієнтацій (неповний) та утримуйте його нерухомим. Після запиту (орієнтаційне зображення стає жовтим) обертайте транспортний засіб навколо вказаної вісі в одному або обох напрямках. Після завершення калібрування для поточного орієнтації пов'язане зображення на екрані стане зеленим. 5. Розмістіть транспортний засіб у будь-якому з показаних червоних орієнтацій (неповний) та утримуйте його нерухомим. Після запиту (орієнтаційне зображення стає жовтим) обертайте транспортний засіб навколо вказаної вісі в одному або обох напрямках. Після завершення калібрування для поточного орієнтації пов'язане зображення на екрані стане зеленим.
![Compass calibration steps on PX4](../../assets/qgc/setup/sensor/sensor_compass_calibrate_px4.png) ![Compass calibration steps on PX4](../../assets/qgc/setup/sensor/sensor_compass_calibrate_px4.png)
6. Повторіть процес калібрування для всіх орієнтацій автомобіля. 6. Повторіть процес калібрування для всіх орієнтацій автомобіля.
@@ -76,7 +76,7 @@ Once you've calibrated the vehicle in all the positions _QGroundControl_ will di
Ця калібровка схожа на відому калібровку компасу у вигляді восьмірки, виконану на смартфоні: Ця калібровка схожа на відому калібровку компасу у вигляді восьмірки, виконану на смартфоні:
1. Утримуйте транспортний засіб перед собою та випадковим чином виконуйте часткові обертання по всіх його осях. 1. Утримуйте транспортний засіб перед собою та випадковим чином виконуйте часткові обертання по всіх його осях.
2-3 коливань на кут близько 30 градусів у кожному напрямку зазвичай достатньо. 2-3 коливань на кут близько 30 градусів у кожному напрямку зазвичай достатньо.
2. Зачекайте, поки оцінка заголовку стабілізується, і перевірте, що компас вказує в правильному напрямку (це може зайняти кілька секунд). 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. 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. 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: 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 ```sh
commander calibrate mag quick commander calibrate mag quick
``` ```
Примітки: Примітки:
+2 -2
View File
@@ -61,10 +61,10 @@ Next you will need to specify the [vehicle airframe](../config/airframe.md) (and
2. Check **Advanced settings** and select the version from the dropdown list: 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!) - **Standard Version (stable):** The default version (i.e. no need to use advanced settings to install this!)
- **Beta Testing (beta):** A beta/candidate release. - **Beta Testing (beta):** A beta/candidate release.
Лише доступно, коли готується новий реліз. Лише доступно, коли готується новий реліз.
- **Developer Build (master):** The latest build of PX4/PX4-Autopilot _main_ branch. - **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)). - **Custom Firmware file...:** A custom firmware file (e.g. [that you have built locally](../dev_setup/building_px4.md)).
Якщо ви виберете це, вам доведеться вибрати власну прошивку з файлової системи на наступному кроці. Якщо ви виберете це, вам доведеться вибрати власну прошивку з файлової системи на наступному кроці.
Оновлення прошивки потім продовжується, як і раніше. Оновлення прошивки потім продовжується, як і раніше.
+10 -10
View File
@@ -40,24 +40,24 @@ PX4 дозволяє вам вказати канал "режиму" та виб
3. Select **"Q" icon > Vehicle Setup > Flight Modes** (sidebar) to open _Flight Modes Setup_. 3. Select **"Q" icon > Vehicle Setup > Flight Modes** (sidebar) to open _Flight Modes Setup_.
![Flight modes single-channel](../../assets/qgc/setup/flight_modes/flight_modes_single_channel.jpg) ![Flight modes single-channel](../../assets/qgc/setup/flight_modes/flight_modes_single_channel.jpg)
4. Specify _Flight Mode Settings_: 4. Specify _Flight Mode Settings_:
- Select the **Mode channel** (above this shown as Channel 5, but this will depend on your transmitter configuration). - 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_). The mode slot matching your current switch position will be highlighted (above this is _Flight Mode 1_).
::: info ::: 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. 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_: 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. Перевірте, що режими відображаються на правильні перемикачі передавача: 6. Перевірте, що режими відображаються на правильні перемикачі передавача:
- Check the _Channel Monitor_ to confirm that the expected channel is changed by each switch. - 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). - Select each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode).
Усі значення автоматично зберігаються після зміни. Усі значення автоматично зберігаються після зміни.
+1 -11
View File
@@ -204,23 +204,13 @@ The relevant parameters shown below.
### Position Loss Failsafe Action ### 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): 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).
- `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.
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. 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. If VTOLs have are configured to switch to hover for landing ([NAV_FORCE_VT](../advanced_config/parameter_reference.md#NAV_FORCE_VT)) then they will first transition and then descend.
Відповідні параметри для всіх транспортних засобів наведено нижче. Відповідні параметри для всіх транспортних засобів наведено нижче.
| Параметр | Опис |
| -------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <a id="COM_POSCTL_NAVL"></a>[COM_POSCTL_NAVL](../advanced_config/parameter_reference.md#COM_POSCTL_NAVL) | Position control navigation loss response during mission. Values: `0` - assume use of RC, `1` - Assume no RC. |
Параметри, які впливають лише на повітряні судна з фіксованим крилом: Параметри, які впливають лише на повітряні судна з фіксованим крилом:
| Параметр | Опис | | Параметр | Опис |
+1 -1
View File
@@ -14,7 +14,7 @@ Note that any delayed action (`COM_FAIL_ACT_T`) will also be delayed in the simu
2. Встановіть тип транспортного засобу 2. Встановіть тип транспортного засобу
3. Set the other values in the **State** or any of the flags under **Conditions** 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). - The **Intended Mode** corresponds to the commanded mode via RC or GCS (or external script).
Станова машина аварійного відновлення може перевизначити це у разі аварійного відновлення. Станова машина аварійного відновлення може перевизначити це у разі аварійного відновлення.
4. Check the action under **Output** 4. Check the action under **Output**
5. Check what happens when changing mode or **Move the RC sticks** 5. Check what happens when changing mode or **Move the RC sticks**
6. Грайте з різними налаштуваннями та умовами! 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. 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. 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. 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, якщо ви не хочете дивитися на журнал або якщо вам зручно керувати літаком вручну. Крок 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. You can then trim your remote (with the trim switches) and report the values to `TRIM_PITCH` (and remove the trims from your transmitter) or update `TRIM_PITCH` directly during flight via telemetry and QGC.
+8 -8
View File
@@ -53,15 +53,15 @@ This section contains topics related to [helicopter](../frames_helicopter/index.
Для кожного набору сервоприводів: Для кожного набору сервоприводів:
- `Angle`: Clockwise angle in degree on the swash plate circle at which the servo arm is attached starting from `0` pointing forwards. - `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 1 | 60° |
| Servo 2 | 180° | | Servo 2 | 180° |
| Servo 3 | 300° | | 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). Коротше плече означає, що та ж сама рух сервопривода зміщує плиту більше. Це дозволяє отримати компенсацію автопілоту. - `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. - `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` - `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. - `Throttle spoolup time`: Set value (in seconds) greater than the achievable minimum motor spool up time.
Більше значення може поліпшити зручність користувача. Більше значення може поліпшити зручність користувача.
3. Видаліть лопаті ротора та пропелери 3. Видаліть лопаті ротора та пропелери
+6 -6
View File
@@ -166,11 +166,11 @@ In this case you might use the settings: [IMU_GYRO_NF0_FRQ=32](../advanced_confi
## Додаткові поради ## Додаткові поради
1. Прийнятна затримка залежить від розміру транспортного засобу та очікувань. 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). 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. 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). 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)). 1. Arm the vehicle, takeoff, and hover (typically in [Position mode](../flight_modes_mc/position.md)).
2. Open _QGroundControl_ **Vehicle Setup > PID Tuning** 2. Open _QGroundControl_ **Vehicle Setup > PID Tuning**
![QGC Rate Controller Tuning UI](../../assets/mc_pid_tuning/qgc_mc_pid_tuning_rate_controller.png) ![QGC Rate Controller Tuning UI](../../assets/mc_pid_tuning/qgc_mc_pid_tuning_rate_controller.png)
3. Select the **Rate Controller** tab. 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) 5. Set the _Thrust curve_ value to: 0.3 (PWM, power-based controllers) or 1 (RPM-based ESCs)
::: info ::: info
For PWM, power-based and (some) UAVCAN speed controllers, the control signal to thrust relationship may not be linear. 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)). - 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 (додаткове налаштування не потрібно, оскільки вони мають квадратичну криву тяги). - Для контролерів на основі 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**. 6. Set the _Select Tuning_ radio button to: **Roll**.
7. (Optionally) Select the **Automatic Flight Mode Switching** checkbox. 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). 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. 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. 10. Rapidly move the _roll stick_ full range and observe the step response on the plots.
:::tip :::tip
Stop tracking to enable easier inspection of the plots. Stop tracking to enable easier inspection of the plots.
Це відбувається автоматично, коли ви збільшуєте/панорамуєте. Це відбувається автоматично, коли ви збільшуєте/панорамуєте.
Use the **Start** button to restart the plots, and **Clear** to reset them. 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. 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 ::: 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 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: The PID values can be adjusted as follows:
- P (пропорційне) або К підсилення: - P (пропорційне) або К підсилення:
- збільште це для більшої реакції - збільште це для більшої реакції
- зменшити, якщо відповідь перевищує і / або коливається (до певної міри збільшення значення D також допомагає). - зменшити, якщо відповідь перевищує і / або коливається (до певної міри збільшення значення D також допомагає).
- D (похідне) надходження: - D (похідне) надходження:
- це можна збільшити, щоб заглушити перевищення та коливання - це можна збільшити, щоб заглушити перевищення та коливання
- збільшуйте це лише настільки, наскільки це потрібно, оскільки це підсилює шум (і може призвести до нагрітих моторів) - збільшуйте це лише настільки, наскільки це потрібно, оскільки це підсилює шум (і може призвести до нагрітих моторів)
- I (інтегральний) коефіцієнт отримання: - I (інтегральний) коефіцієнт отримання:
- використовується для зменшення поміченої похибки стану рівноваги - використовується для зменшення поміченої похибки стану рівноваги
- якщо значення занадто низьке, відповідь може ніколи не досягти заданої точки (наприклад, у вітрових умовах) - якщо значення занадто низьке, відповідь може ніколи не досягти заданої точки (наприклад, у вітрових умовах)
- якщо занадто високий, можуть виникнути повільні коливання - якщо занадто високий, можуть виникнути повільні коливання
12. Повторіть процес налаштування вище для крена та курсу: 12. Повторіть процес налаштування вище для крена та курсу:
- Use _Select Tuning_ radio button to select the axis to tune - Use _Select Tuning_ radio button to select the axis to tune
- Перемістіть відповідні палички (тобто паличку крена для крена, паличку риштування для риштування). - Перемістіть відповідні палички (тобто паличку крена для крена, паличку риштування для риштування).
- Для налаштування крену почніть з тих самих значень, що й для крену. - Для налаштування крену почніть з тих самих значень, що й для крену.
:::tip :::tip
Use the **Save to Clipboard** and **Reset from Clipboard** buttons to copy the roll settings for initial pitch settings. 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. Повторіть процес налаштування контролерів швидкості та позицій (на всіх осях). 14. Повторіть процес налаштування контролерів швидкості та позицій (на всіх осях).
- Використовуйте режим позиції при налаштуванні цих контролерів - Використовуйте режим позиції при налаштуванні цих контролерів
- Select the **Simple position control** option in the _Position control mode ..._ selector (this allows direct control for the generation of step inputs) - Select the **Simple position control** option in the _Position control mode ..._ selector (this allows direct control for the generation of step inputs)
![QGC PID tuning: Simple control selector](../../assets/mc_pid_tuning/qgc_mc_pid_tuning_simple_control.png) ![QGC PID tuning: Simple control selector](../../assets/mc_pid_tuning/qgc_mc_pid_tuning_simple_control.png)
Готово! Готово!
Пам'ятайте увімкнути повітряний режим перед виходом з налаштувань. Пам'ятайте увімкнути повітряний режим перед виходом з налаштувань.
+7 -7
View File
@@ -84,7 +84,7 @@ Navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and
2. (Optional) [RO_ACCEL_LIM](#RO_ACCEL_LIM) [m/s^2]: Maximum acceleration you want to allow for your rover. 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 :::tip
Your rover has a maximum possible acceleration which is determined by the maximum torque the motor can supply. Your rover has a maximum possible acceleration which is determined by the maximum torque the motor can supply.
@@ -128,15 +128,15 @@ $$
with: with:
- $\delta \in [-1, 1]=$ Normalized steering setpoint. - $\delta \in [-1, 1]=$ Normalized steering setpoint.
- $x \in [-1, 1]=$ Normalized stick input. - $x \in [-1, 1]=$ Normalized stick input.
- $f=$ [RO_YAW_EXPO](#RO_YAW_EXPO): `0` Purely linear input curve, `1` Purely cubic input curve. - $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. - $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$: 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)]. - 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)]. - 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. This scaling is useful to limit the normalized steering setpoint, if it is too aggresive for your rover in manual mode.
+8 -8
View File
@@ -25,18 +25,18 @@ Rovers use a custom build that must be flashed onto your flight controller inste
To build for rover with the `make` command, replace the `_default` suffix with `_rover`. 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: For example, to build rover for px4_fmu-v6x boards, you would use the command:
```sh ```sh
make px4_fmu-v6x_rover make px4_fmu-v6x_rover
``` ```
::: info ::: 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)): 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 ```sh
CONFIG_MODULES_ROVER_ACKERMANN=y CONFIG_MODULES_ROVER_ACKERMANN=y
CONFIG_MODULES_ROVER_DIFFERENTIAL=y CONFIG_MODULES_ROVER_DIFFERENTIAL=y
CONFIG_MODULES_ROVER_MECANUM=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). Note that adding the rover modules may lead to flash overflow, in which case you will need to disable modules that you do not plan to use (such as those related to multicopter or fixed wing).
+1 -1
View File
@@ -20,7 +20,7 @@ To tune the velocity controller configure the following [parameters](../advanced
2. [RO_MAX_THR_SPEED](#RO_MAX_THR_SPEED) [m/s]: This parameter is used to calculate the feed-forward term of the closed loop speed control which linearly maps desired speeds to normalized motor commands. 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). 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 ::: tip
To further tune this parameter: 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). 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. 3. In the [Frame setup](../config/airframe.md) section select the appropriate VTOL airframe.
If your airframe is not listed select the [Generic Standard VTOL](../airframes/airframe_reference.md#vtol_standard_vtol_generic_standard_vtol) frame. If your airframe is not listed select the [Generic Standard VTOL](../airframes/airframe_reference.md#vtol_standard_vtol_generic_standard_vtol) frame.
### Перемикач режимів польоту / переходу ### Перемикач режимів польоту / переходу
+101 -101
View File
@@ -63,33 +63,33 @@ If you already have a clone of the [PX4-Autopilot](https://github.com/PX4/PX4-Au
4. Клонуйте ваш форкнутий репозиторій на локальний комп'ютер: 4. Клонуйте ваш форкнутий репозиторій на локальний комп'ютер:
```sh ```sh
cd ~/wherever/ cd ~/wherever/
git clone https://github.com/<your git name>/PX4-Autopilot.git 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 ```sh
git clone https://github.com/john_citizen/PX4-Autopilot.git git clone https://github.com/john_citizen/PX4-Autopilot.git
``` ```
5. Перейдіть до свого локального сховища: 5. Перейдіть до свого локального сховища:
```sh ```sh
cd ~/wherever/PX4-Autopilot cd ~/wherever/PX4-Autopilot
``` ```
6. Add a _remote_ called "upstream" to point to the "official" PX4 version of the library: 6. Add a _remote_ called "upstream" to point to the "official" PX4 version of the library:
```sh ```sh
git remote add upstream https://github.com/PX4/PX4-Autopilot.git git remote add upstream https://github.com/PX4/PX4-Autopilot.git
``` ```
:::tip :::tip
A "remote" is a handle to a particular repository. 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. 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. 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: 1. Bring your copy of the repository `main` branch up to date:
```sh ```sh
git checkout main git checkout main
git fetch upstream main git fetch upstream main
git pull upstream main git pull upstream main
``` ```
2. Create a new branch for your changes: 2. Create a new branch for your changes:
```sh ```sh
git checkout -b <your_feature_branch_name> 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. Внести зміни до документації за необхідною (загальний посібник по цьому в наступних розділах) 3. Внести зміни до документації за необхідною (загальний посібник по цьому в наступних розділах)
4. Коли ви будете задоволені своїми змінами, ви можете додати їх до вашої локальної гілки за допомогою "commit": 4. Коли ви будете задоволені своїми змінами, ви можете додати їх до вашої локальної гілки за допомогою "commit":
```sh ```sh
git add <file name> git add <file name>
git commit -m "<your commit message>" 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. 5. Натисніть "Push" вашу локальну гілку (включаючи додані до неї коміти) у вашу репозиторію-форк на Github.
```sh ```sh
git push origin your_feature_branch_name 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`. 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): 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". - 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>. Він буде перераховувати ваші коміти, і ви можете (маєте) додати значущий заголовок (у випадку одного коміту PR, це зазвичай повідомлення про коміт) та повідомлення (<span style="color:orange">поясніть, що ви зробили і для якої причини. </span>.
Check [other pull requests](https://github.com/PX4/PX4-Autopilot/pulls) for comparison). Check [other pull requests](https://github.com/PX4/PX4-Autopilot/pulls) for comparison).
- Add the "Documentation" label. - Add the "Documentation" label.
8. Готово! 8. Готово!
Редактори PX4 User Guide зараз переглянуть вашу співпрацю і вирішать, чи хочуть вони інтегрувати її. Редактори PX4 User Guide зараз переглянуть вашу співпрацю і вирішать, чи хочуть вони інтегрувати її.
Періодично перевіряйте, чи є у них питання по вашим змінам. Періодично перевіряйте, чи є у них питання по вашим змінам.
### Побудова бібліотеки локально ### Побудова бібліотеки локально
Побудуйте бібліотеку локально, щоб перевірити, що будь-які зміни, які ви внесли, відображені належним чином: Побудуйте бібліотеку локально, щоб перевірити, що будь-які зміни, які ви внесли, відображені належним чином:
1. Install the [Vitepress prerequisites](https://vitepress.dev/guide/getting-started#prerequisites): 1. Install the [Vitepress prerequisites](https://vitepress.dev/guide/getting-started#prerequisites):
- [Nodejs 18+](https://nodejs.org/en) - [Nodejs 18+](https://nodejs.org/en)
- [Yarn classic](https://classic.yarnpkg.com/en/docs/install) - [Yarn classic](https://classic.yarnpkg.com/en/docs/install)
2. Navigate to your local repository and the `/docs` subdirectory: 2. Navigate to your local repository and the `/docs` subdirectory:
```sh ```sh
cd ~/wherever/PX4-Autopilot/docs cd ~/wherever/PX4-Autopilot/docs
``` ```
3. Встановити залежності (включаючи Vuepress): 3. Встановити залежності (включаючи Vuepress):
```sh ```sh
yarn install yarn install
``` ```
4. Попередній перегляд і обслуговування бібліотеки: 4. Попередній перегляд і обслуговування бібліотеки:
```sh ```sh
yarn docs:dev yarn docs:dev
``` ```
- Одного разу, коли сервер розробки / попереднього перегляду побудує бібліотеку (менше хвилини вперше), він покаже вам URL-адресу, за допомогою якої ви можете переглянути сайт. - Одного разу, коли сервер розробки / попереднього перегляду побудує бібліотеку (менше хвилини вперше), він покаже вам URL-адресу, за допомогою якої ви можете переглянути сайт.
This will be something like: `http://localhost:5173/px4_user_guide/`. This will be something like: `http://localhost:5173/px4_user_guide/`.
- Stop serving using **CTRL+C** in the terminal prompt. - Stop serving using **CTRL+C** in the terminal prompt.
5. Open previewed pages in your local editor: 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. 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: For example, you can enable VSCode as your default editor by entering:
- Windows: - Windows:
```sh ```sh
set EDITOR=code set EDITOR=code
``` ```
- Linux: - Linux:
```sh ```sh
export EDITOR=code 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. Побудуйте бібліотеку за допомогою: 6. Побудуйте бібліотеку за допомогою:
```sh ```sh
# Ubuntu # Ubuntu
yarn docs:build yarn docs:build
# Windows # Windows
yarn docs:buildwin yarn docs:buildwin
``` ```
:::tip :::tip
Use `yarn start` to preview changes _as you make them_ (documents are updated and served very quickly). 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. Назви файлів/файлів 1. Назви файлів/файлів
- Put new markdown files in an appropriate sub-folder of `/en/`, such as `/en/contribute/`. - 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/`. - Put new image files in an appropriate nested sub-folder of `/assets/`.
Deeper nesting is allowed/encouraged. Deeper nesting is allowed/encouraged.
- Use descriptive names for folders and files. - Use descriptive names for folders and files.
In particular, image filenames should describe what they contain (don't name as "image1.png") In particular, image filenames should describe what they contain (don't name as "image1.png")
- Use lower case filenames and separate words using underscores (`_`). - Use lower case filenames and separate words using underscores (`_`).
2. Зображення 2. Зображення
- Використовуйте найменший розмір і найнижчу роздільну здатність, яка все ще робить зображення корисним (це зменшує вартість завантаження для користувачів із слабким інтернет-з'єднанням). - Використовуйте найменший розмір і найнижчу роздільну здатність, яка все ще робить зображення корисним (це зменшує вартість завантаження для користувачів із слабким інтернет-з'єднанням).
- New images should be created in a sub-folder of `/assets/` (so they can be shared between translations). - New images should be created in a sub-folder of `/assets/` (so they can be shared between translations).
- SVG files are preferred for diagrams. - SVG files are preferred for diagrams.
PNG files are preferred over JPG for screenshots. PNG files are preferred over JPG for screenshots.
3. Контент 3. Контент
- Use "style" (**bold**, _emphasis_, etc.) consistently and sparingly (as little as possible). - Use "style" (**bold**, _emphasis_, etc.) consistently and sparingly (as little as possible).
- **Bold** for button presses and menu definitions. - **Bold** for button presses and menu definitions.
- _Emphasis_ for tool names such as _QGroundControl_ or _prettier_. - _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`. - `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". - Headings and page titles should use "First Letter Capitalisation".
- The page title should be a first level heading (`#`). - The page title should be a first level heading (`#`).
All other headings should be h2 (`##`) or lower. 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. - 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. - Break lines on sentences by preference.
Don't break lines based on some arbitrary line length. Don't break lines based on some arbitrary line length.
- Format using _prettier_ (_VSCode_ is a has extensions can be used for this). - Format using _prettier_ (_VSCode_ is a has extensions can be used for this).
4. Videos: 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). - 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. - Use instructional videos sparingly as they date badly, and are hard to maintain.
- Cool videos of airframes in flight are always welcome. - Cool videos of airframes in flight are always welcome.
## Де я можу додати зміни? ## Де я можу додати зміни?
+28 -28
View File
@@ -109,23 +109,23 @@ We recommend using PX4 `make` commands to switch between source code branches.
1. Очистити поточну гілку, деініціалізувати підмодуль та видалити всі артефакти збірки: 1. Очистити поточну гілку, деініціалізувати підмодуль та видалити всі артефакти збірки:
```sh ```sh
make clean make clean
make distclean make distclean
``` ```
2. Switch to a new branch or tag (here we first fetch the fictional branch "PR_test_branch" from the `upstream` remote): 2. Switch to a new branch or tag (here we first fetch the fictional branch "PR_test_branch" from the `upstream` remote):
```sh ```sh
git fetch upstream PR_test_branch git fetch upstream PR_test_branch
git checkout PR_test_branch git checkout PR_test_branch
``` ```
3. Отримати підмодулі для нової гілки: 3. Отримати підмодулі для нової гілки:
```sh ```sh
make submodulesclean make submodulesclean
``` ```
<!-- FYI: Cleaning commands in https://github.com/PX4/PX4-Autopilot/blob/main/Makefile#L494 --> <!-- 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: 1. Clone the PX4-Autopilot repo and navigate into _PX4-Autopilot_ directory:
```sh ```sh
git clone https://github.com/PX4/PX4-Autopilot.git git clone https://github.com/PX4/PX4-Autopilot.git
cd PX4-Autopilot 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 ```sh
make clean make clean
make distclean make distclean
``` ```
::: :::
2. Код оформлення замовлення для конкретного тегу (наприклад, для мітки v1.13.0-beta2) 2. Код оформлення замовлення для конкретного тегу (наприклад, для мітки v1.13.0-beta2)
```sh ```sh
git checkout v1.13.0-beta2 git checkout v1.13.0-beta2
``` ```
3. Оновити підмодулі: 3. Оновити підмодулі:
```sh ```sh
make submodulesclean make submodulesclean
``` ```
## Щоб отримати гілку релізу ## Щоб отримати гілку релізу
+17 -17
View File
@@ -53,17 +53,17 @@ For more information, see: [https://gnu-mcu-eclipse.github.io/debug/jlink/instal
7. Пакети з оновленнями: 7. Пакети з оновленнями:
- Click the small icon on the top right called _Open Perspective_ and open the _Packs_ perspective. - Click the small icon on the top right called _Open Perspective_ and open the _Packs_ perspective.
![Eclipse: Workspace](../../assets/debug/eclipse_workspace_perspective.png) ![Eclipse: Workspace](../../assets/debug/eclipse_workspace_perspective.png)
- Click the **update all** button. - Click the **update all** button.
:::tip :::tip
This takes a VERY LONG TIME (10 minutes). This takes a VERY LONG TIME (10 minutes).
Ігноруйте всі помилки про відсутні пакети. Ігноруйте всі помилки про відсутні пакети.
::: :::
![Eclipse: Workspace Packs Perspective](../../assets/debug/eclipse_packs_perspective.jpg) ![Eclipse: Workspace Packs Perspective](../../assets/debug/eclipse_packs_perspective.jpg)
- The STM32Fxx devices are found in the Keil folder, install by right-clicking and then selecting **install** on the according device for F4 and F7. - The STM32Fxx devices are found in the Keil folder, install by right-clicking and then selecting **install** on the according device for F4 and F7.
@@ -79,24 +79,24 @@ For more information, see: [https://gnu-mcu-eclipse.github.io/debug/jlink/instal
![Eclipse: Debug config](../../assets/debug/eclipse_settings_debug_config.png) ![Eclipse: Debug config](../../assets/debug/eclipse_settings_debug_config.png)
10. Then select _GDB SEGGER J-Link Debugging_ and then the **New config** button on the top left. 10. Then select _GDB SEGGER J-Link Debugging_ and then the **New config** button on the top left.
![Eclipse: GDB Segger Debug config](../../assets/debug/eclipse_settings_debug_config_gdb_segger.png) ![Eclipse: GDB Segger Debug config](../../assets/debug/eclipse_settings_debug_config_gdb_segger.png)
11. Налаштування конфігурації збірки: 11. Налаштування конфігурації збірки:
- Give it a name and set the _C/C++ Application_ to the corresponding **.elf** file. - Give it a name and set the _C/C++ Application_ to the corresponding **.elf** file.
- Choose _Disable Auto build_ - Choose _Disable Auto build_
::: info ::: info
Remember that you must build the target from the command line before starting a debug session. Remember that you must build the target from the command line before starting a debug session.
::: :::
![Eclipse: GDB Segger Debug config](../../assets/debug/eclipse_settings_debug_config_gdb_segger_build_config.png) ![Eclipse: GDB Segger Debug config](../../assets/debug/eclipse_settings_debug_config_gdb_segger_build_config.png)
12. The _Debugger_ and _Startup_ tabs shouldnt need any modifications (just verify your settings with the screenshots below) 12. The _Debugger_ and _Startup_ tabs shouldnt need any modifications (just verify your settings with the screenshots below)
![Eclipse: GDB Segger Debug config: debugger tab](../../assets/debug/eclipse_settings_debug_config_gdb_segger_build_config_debugger_tab.png) ![Eclipse: GDB Segger Debug config: debugger tab](../../assets/debug/eclipse_settings_debug_config_gdb_segger_build_config_debugger_tab.png)
![Eclipse: GDB Segger Debug config: startup tab](../../assets/debug/eclipse_settings_debug_config_gdb_segger_build_config_startup_tab.png) ![Eclipse: GDB Segger Debug config: startup tab](../../assets/debug/eclipse_settings_debug_config_gdb_segger_build_config_startup_tab.png)
## Відлагодження з урахуванням завдань SEGGER ## Відлагодження з урахуванням завдань SEGGER
@@ -109,16 +109,16 @@ Task-aware debugging (also known as [thread-aware debugging](https://www.segger.
- Відкрийте термінал у кореневій теці вихідного коду PX4-Autopilot - Відкрийте термінал у кореневій теці вихідного коду PX4-Autopilot
- In the terminal, open `menuconfig` using the appropriate make target for the build. - In the terminal, open `menuconfig` using the appropriate make target for the build.
Це виглядатиме приблизно так: Це виглядатиме приблизно так:
```sh ```sh
make px4_fmu-v5_default boardguiconfig 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: - Ensure that the _Enable TCBinfo struct for debug_ is selected as shown:
![NuttX: Menuconfig: CONFIG_DEBUG_TCBINFO](../../assets/debug/nuttx_tcb_task_aware.png) ![NuttX: Menuconfig: CONFIG_DEBUG_TCBINFO](../../assets/debug/nuttx_tcb_task_aware.png)
2. Compile the **jlink-nuttx.so** library in the terminal by running the following command in the terminal: `make jlink-nuttx` 2. Compile the **jlink-nuttx.so** library in the terminal by running the following command in the terminal: `make jlink-nuttx`

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