mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-27 10:17:45 +08:00
New Crowdin translations - uk (#24548)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
This commit is contained in:
@@ -10,4 +10,4 @@
|
|||||||
|
|
||||||
## Дивіться також
|
## Дивіться також
|
||||||
|
|
||||||
- [Периферійні пристрої](../peripherals/README.md) - включає неосновні приводи, такі як захвати, парашути, тощо.
|
- [Периферійні пристрої](../peripherals/README.md) - включає неосновні приводи, такі як захвати, парашути, тощо.
|
||||||
@@ -129,7 +129,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).
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
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`.
|
||||||
|
|
||||||
|
|||||||
@@ -128,21 +128,21 @@ You add some "boilerplate" code to regularly listen for changes in the [uORB Top
|
|||||||
|
|
||||||
- **px4_platform_common/module_params.h** для отримання макросу `DEFINE_PARAMETERS`:
|
- **px4_platform_common/module_params.h** для отримання макросу `DEFINE_PARAMETERS`:
|
||||||
|
|
||||||
```cpp
|
```cpp
|
||||||
#include <px4_platform_common/module_params.h>
|
#include <px4_platform_common/module_params.h>
|
||||||
```
|
```
|
||||||
|
|
||||||
- **parameter_update.h** для доступу до повідомлень uORB `parameter_update`:
|
- **parameter_update.h** для доступу до повідомлень uORB `parameter_update`:
|
||||||
|
|
||||||
```cpp
|
```cpp
|
||||||
#include <uORB/topics/parameter_update.h>
|
#include <uORB/topics/parameter_update.h>
|
||||||
```
|
```
|
||||||
|
|
||||||
- **Subscription.hpp** для uORB C++ API підписки:
|
- **Subscription.hpp** для uORB C++ API підписки:
|
||||||
|
|
||||||
```cpp
|
```cpp
|
||||||
#include <uORB/Subscription.hpp>
|
#include <uORB/Subscription.hpp>
|
||||||
```
|
```
|
||||||
|
|
||||||
Derive your class from `ModuleParams`, and use `DEFINE_PARAMETERS` to specify a list of parameters and their associated parameter attributes.
|
Derive your class from `ModuleParams`, and use `DEFINE_PARAMETERS` to specify a list of parameters and their associated parameter attributes.
|
||||||
Назви параметрів мають збігатися з визначеннями метаданих параметрів.
|
Назви параметрів мають збігатися з визначеннями метаданих параметрів.
|
||||||
@@ -194,7 +194,7 @@ void Module::parameters_update()
|
|||||||
- `_param_update_sub.updated()` повідомляє нам, чи є _будь-яке_ оновлення в uORB-повідомленні `param_update` (але не вказує, який саме параметр змінено).
|
- `_param_update_sub.updated()` повідомляє нам, чи є _будь-яке_ оновлення в uORB-повідомленні `param_update` (але не вказує, який саме параметр змінено).
|
||||||
- Якщо було оновлено "деякий" параметр, ми копіюємо оновлення у `parameter_update_s` (`param_update`), щоб очистити очікуване оновлення.
|
- Якщо було оновлено "деякий" параметр, ми копіюємо оновлення у `parameter_update_s` (`param_update`), щоб очистити очікуване оновлення.
|
||||||
- Then we call `ModuleParams::updateParams()`.
|
- Then we call `ModuleParams::updateParams()`.
|
||||||
This "under the hood" updates all parameter attributes listed in our `DEFINE_PARAMETERS` list.
|
This "under the hood" updates all parameter attributes listed in our `DEFINE_PARAMETERS` list.
|
||||||
|
|
||||||
Атрибути параметрів (`_sys_autostart` і `_att_bias_max` у цьому випадку) можна використовувати для відображення параметрів, і вони будуть оновлюватися щоразу, коли значення параметра змінюватиметься.
|
Атрибути параметрів (`_sys_autostart` і `_att_bias_max` у цьому випадку) можна використовувати для відображення параметрів, і вони будуть оновлюватися щоразу, коли значення параметра змінюватиметься.
|
||||||
|
|
||||||
@@ -267,12 +267,12 @@ YAML meta data is intended as a full replacement for the **.c** definitions.
|
|||||||
- Приклад використання визначень YAML можна знайти у визначенні параметрів MAVLink: [/src/modules/mavlink/module.yaml](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/mavlink/module.yaml).
|
- Приклад використання визначень YAML можна знайти у визначенні параметрів MAVLink: [/src/modules/mavlink/module.yaml](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/mavlink/module.yaml).
|
||||||
- YAML-файл реєструється у системі збірки cmake шляхом додавання
|
- YAML-файл реєструється у системі збірки cmake шляхом додавання
|
||||||
|
|
||||||
```cmake
|
```cmake
|
||||||
MODULE_CONFIG
|
MODULE_CONFIG
|
||||||
module.yaml
|
module.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
до секції `px4_add_module` файлу `CMakeLists.txt` цього модуля.
|
до секції `px4_add_module` файлу `CMakeLists.txt` цього модуля.
|
||||||
|
|
||||||
#### Мета-дані YAML з багатьма екземплярами (шаблонами)
|
#### Мета-дані YAML з багатьма екземплярами (шаблонами)
|
||||||
|
|
||||||
|
|||||||
@@ -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. Параметри, розташовані в розділі, як показано нижче (або ви можете знайти їх):
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Підсумок параметра
|
## Підсумок параметра
|
||||||
|
|
||||||
|
|||||||
@@ -52,80 +52,80 @@ arm-none-eabi-objcopy -O ihex build/px4_fmu-v6x_bootloader/px4_fmu-v6x_bootloade
|
|||||||
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. Термінал _gdb_ з'являється, і він повинен відображати такий вивід:
|
4. Термінал _gdb_ з'являється, і він повинен відображати такий вивід:
|
||||||
|
|
||||||
```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:
|
||||||
<http://www.gnu.org/software/gdb/bugs/>.
|
<http://www.gnu.org/software/gdb/bugs/>.
|
||||||
Find the GDB manual and other documentation resources online at:
|
Find the GDB manual and other documentation resources online at:
|
||||||
<http://www.gnu.org/software/gdb/documentation/>.
|
<http://www.gnu.org/software/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
|
||||||
Якщо ви використовуєте зонд Dronecode, вам може знадобитися зняти футляр, щоб підключитися до порту `FMU-DEBUG` (наприклад, на Pixhawk 4 це можна зробити за допомогою викрутки T6 Torx).
|
Якщо ви використовуєте зонд Dronecode, вам може знадобитися зняти футляр, щоб підключитися до порту `FMU-DEBUG` (наприклад, на Pixhawk 4 це можна зробити за допомогою викрутки T6 Torx).
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
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_.
|
||||||
|
|
||||||
@@ -146,8 +146,8 @@ arm-none-eabi-objcopy -O ihex build/px4_fmu-v6x_bootloader/px4_fmu-v6x_bootloade
|
|||||||
|
|
||||||
2. [Оновіть прошивку](../config/firmware.md#custom) з образом, що містить новий/потрібний завантажувач.
|
2. [Оновіть прошивку](../config/firmware.md#custom) з образом, що містить новий/потрібний завантажувач.
|
||||||
|
|
||||||
::: info
|
::: info
|
||||||
Оновлений завантажувач може бути постачений у власній прошивці (наприклад, від команди розробників), або він може бути включений у останню головну гілку.
|
Оновлений завантажувач може бути постачений у власній прошивці (наприклад, від команди розробників), або він може бути включений у останню головну гілку.
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
@@ -156,7 +156,7 @@ arm-none-eabi-objcopy -O ihex build/px4_fmu-v6x_bootloader/px4_fmu-v6x_bootloade
|
|||||||
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) ще раз, використовуючи правильно/ново встановлений загрузчик.
|
||||||
|
|
||||||
@@ -176,25 +176,25 @@ arm-none-eabi-objcopy -O ihex build/px4_fmu-v6x_bootloader/px4_fmu-v6x_bootloade
|
|||||||
1. Вставте SD-карту (це дозволяє реєструвати журнали завантаження для відлагодження будь-яких проблем).
|
1. Вставте SD-карту (це дозволяє реєструвати журнали завантаження для відлагодження будь-яких проблем).
|
||||||
|
|
||||||
2. [Оновіть програмне забезпечення](../config/firmware.md) до версії PX4 _master_ (під час оновлення програмного забезпечення перевірте **Розширені налаштування** і виберіть **Розробницьку збірку (master)** із випадаючого списку).
|
2. [Оновіть програмне забезпечення](../config/firmware.md) до версії PX4 _master_ (під час оновлення програмного забезпечення перевірте **Розширені налаштування** і виберіть **Розробницьку збірку (master)** із випадаючого списку).
|
||||||
_QGroundControl_ автоматично виявить, що апаратне забезпечення підтримує FMUv2 і встановить відповідне програмне забезпечення.
|
_QGroundControl_ автоматично виявить, що апаратне забезпечення підтримує FMUv2 і встановить відповідне програмне забезпечення.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Зачекайте, доки транспортний засіб перезавантажиться.
|
Зачекайте, доки транспортний засіб перезавантажиться.
|
||||||
|
|
||||||
3. [Знайдіть](../advanced_config/parameters.md) та увімкніть параметр [SYS_BL_UPDATE](../advanced_config/parameter_reference.md#SYS_BL_UPDATE).
|
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 і відповідним чином оновити програмне забезпечення.
|
||||||
|
|
||||||

|

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

|

|
||||||
|
|
||||||
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
|
||||||
```
|
```
|
||||||
|
|
||||||
## Дивіться також
|
## Дивіться також
|
||||||
|
|
||||||
|
|||||||
@@ -152,15 +152,15 @@ PX4 також видає підмножину інформації переві
|
|||||||
Типова послідовність запуску:
|
Типова послідовність запуску:
|
||||||
|
|
||||||
1. Увімкнення живлення.
|
1. Увімкнення живлення.
|
||||||
- Усі приводи заблоковано у беззбройному(вимкненому) положенні
|
- Усі приводи заблоковано у беззбройному(вимкненому) положенні
|
||||||
- Неможливо озброїти(збурити).
|
- Неможливо озброїти(збурити).
|
||||||
2. Перемикання безпеки натиснуто.
|
2. Перемикання безпеки натиснуто.
|
||||||
- Система зараз перевіряється перед збурюванням: актуатори без збурювання можуть рухатися (наприклад, елерони).
|
- Система зараз перевіряється перед збурюванням: актуатори без збурювання можуть рухатися (наприклад, елерони).
|
||||||
- Безпека системи відключена: можливість озброєння(збурення).
|
- Безпека системи відключена: можливість озброєння(збурення).
|
||||||
3. Видається команда на озброєння(збурення).
|
3. Видається команда на озброєння(збурення).
|
||||||
|
|
||||||
- Система озброєна(збурена).
|
- Система озброєна(збурена).
|
||||||
- Усі мотори та приводи можуть рухатися.
|
- Усі мотори та приводи можуть рухатися.
|
||||||
|
|
||||||
### COM_PREARM_MODE=Disabled та Safety Switch
|
### COM_PREARM_MODE=Disabled та Safety Switch
|
||||||
|
|
||||||
@@ -170,15 +170,15 @@ 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
|
||||||
|
|
||||||
@@ -189,13 +189,13 @@ PX4 також видає підмножину інформації переві
|
|||||||
Послідовність запуску така:
|
Послідовність запуску така:
|
||||||
|
|
||||||
1. Увімкнення живлення.
|
1. Увімкнення живлення.
|
||||||
- Система зараз перевіряється перед збурюванням: актуатори без збурювання можуть рухатися (наприклад, елерони).
|
- Система зараз перевіряється перед збурюванням: актуатори без збурювання можуть рухатися (наприклад, елерони).
|
||||||
- Неможливо озброїти(збурити).
|
- Неможливо озброїти(збурити).
|
||||||
2. Перемикання безпеки натиснуто.
|
2. Перемикання безпеки натиснуто.
|
||||||
- Безпека системи відключена: можливість озброєння(збурення).
|
- Безпека системи відключена: можливість озброєння(збурення).
|
||||||
3. Видається команда на озброєння(збурення).
|
3. Видається команда на озброєння(збурення).
|
||||||
- Система озброєна(збурена).
|
- Система озброєна(збурена).
|
||||||
- Усі мотори та приводи можуть рухатися.
|
- Усі мотори та приводи можуть рухатися.
|
||||||
|
|
||||||
### COM_PREARM_MODE=Safety(Безпека) або вимкнено(Disabled) та без перемикача безпеки(No Safety Switch)
|
### COM_PREARM_MODE=Safety(Безпека) або вимкнено(Disabled) та без перемикача безпеки(No Safety Switch)
|
||||||
|
|
||||||
@@ -205,11 +205,11 @@ PX4 також видає підмножину інформації переві
|
|||||||
Послідовність запуску така:
|
Послідовність запуску така:
|
||||||
|
|
||||||
1. Увімкнення живлення.
|
1. Увімкнення живлення.
|
||||||
- Усі приводи заблоковано у беззбройному(вимкненому) положенні
|
- Усі приводи заблоковано у беззбройному(вимкненому) положенні
|
||||||
- Безпека системи відключена: можливість озброєння(збурення).
|
- Безпека системи відключена: можливість озброєння(збурення).
|
||||||
2. Видається команда на озброєння(збурення).
|
2. Видається команда на озброєння(збурення).
|
||||||
- Система озброєна(збурена).
|
- Система озброєна(збурена).
|
||||||
- Усі мотори та приводи можуть рухатися.
|
- Усі мотори та приводи можуть рухатися.
|
||||||
|
|
||||||
### COM_PREARM_MODE=Завжди і без зміни безпеки
|
### COM_PREARM_MODE=Завжди і без зміни безпеки
|
||||||
|
|
||||||
@@ -219,11 +219,11 @@ PX4 також видає підмножину інформації переві
|
|||||||
Послідовність запуску така:
|
Послідовність запуску така:
|
||||||
|
|
||||||
1. Увімкнення живлення.
|
1. Увімкнення живлення.
|
||||||
- Система зараз перевіряється перед збурюванням: актуатори без збурювання можуть рухатися (наприклад, елерони).
|
- Система зараз перевіряється перед збурюванням: актуатори без збурювання можуть рухатися (наприклад, елерони).
|
||||||
- Безпека системи відключена: можливість озброєння(збурення).
|
- Безпека системи відключена: можливість озброєння(збурення).
|
||||||
2. Видається команда на озброєння(збурення).
|
2. Видається команда на озброєння(збурення).
|
||||||
- Система озброєна(збурена).
|
- Система озброєна(збурена).
|
||||||
- Усі мотори та приводи можуть рухатися.
|
- Усі мотори та приводи можуть рухатися.
|
||||||
|
|
||||||
### Параметри
|
### Параметри
|
||||||
|
|
||||||
|
|||||||
@@ -102,11 +102,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_. Відсоток виконання друкується на системній консолі під час калібрування.
|
||||||
|
|
||||||
|
|||||||
@@ -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).
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
@@ -452,8 +452,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), щоб отримати оптимальний набір параметрів.
|
||||||
|
|||||||
@@ -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).
|
||||||
Діаграма потоку фаз посадки
|
Діаграма потоку фаз посадки
|
||||||
|
|||||||
@@ -54,19 +54,19 @@ The setup was tested with the current release of _QGroundControl_ running on Ubu
|
|||||||
Стандартна швидкість передачі даних модуля - 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/en/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/en/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.
|
||||||
|
|
||||||
@@ -102,55 +102,55 @@ drivers/telemetry/iridiumsbd
|
|||||||
|
|
||||||
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. Клонувати репозиторій [SatComInfrastructure](https://github.com/acfloria/SatComInfrastructure.git):
|
5. Клонувати репозиторій [SatComInfrastructure](https://github.com/acfloria/SatComInfrastructure.git):
|
||||||
|
|
||||||
```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
|
||||||
```
|
```
|
||||||
|
|
||||||
Інші інструкції включають:
|
Інші інструкції включають:
|
||||||
|
|
||||||
@@ -178,15 +178,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**, щоб відображати ваші налаштування.
|
||||||
|
|
||||||
@@ -194,20 +194,20 @@ drivers/telemetry/iridiumsbd
|
|||||||
|
|
||||||
5. Додавайте UDP з'єднання в QGC з параметрами:
|
5. Додавайте UDP з'єднання в QGC з параметрами:
|
||||||
|
|
||||||
- Порт прослуховування: 10000
|
- Порт прослуховування: 10000
|
||||||
- Цільові хости: 127.0.0.1:10001
|
- Цільові хости: 127.0.0.1:10001
|
||||||
- Висока затримка: позначено
|
- Висока затримка: позначено
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Перевірка
|
### Перевірка
|
||||||
|
|
||||||
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) до створеної групи доставки на вкладці `Тестові групи доставки`.
|
||||||
|
|
||||||
@@ -218,37 +218,37 @@ drivers/telemetry/iridiumsbd
|
|||||||
## Запуск системи
|
## Запуск системи
|
||||||
|
|
||||||
1. Запустіть _QGroundControl_.
|
1. Запустіть _QGroundControl_.
|
||||||
Спочатку вручну підключіть високо запізнюваний зв'язок, а потім звичайний телеметрійний зв'язок:
|
Спочатку вручну підключіть високо запізнюваний зв'язок, а потім звичайний телеметрійний зв'язок:
|
||||||
|
|
||||||

|

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

|

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

|

|
||||||
|
|
||||||
## Усунення проблем
|
## Усунення проблем
|
||||||
|
|
||||||
|
|||||||
@@ -797,3 +797,4 @@ div.frame_variant td, div.frame_variant th {
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -4,4 +4,4 @@ frame: VTOL
|
|||||||
newEditLink: en/assembly/_assembly.md
|
newEditLink: en/assembly/_assembly.md
|
||||||
---
|
---
|
||||||
|
|
||||||
<!--@include: _assembly.md-->
|
<!--@include: _assembly.md-->
|
||||||
@@ -3,4 +3,4 @@ frame: General
|
|||||||
newEditLink: en/assembly/_assembly.md
|
newEditLink: en/assembly/_assembly.md
|
||||||
---
|
---
|
||||||
|
|
||||||
<!--@include: _assembly.md-->
|
<!--@include: _assembly.md-->
|
||||||
@@ -49,7 +49,7 @@ GPS/компас слід [монтувати на раму](../assembly/mount_g
|
|||||||

|

|
||||||
|
|
||||||
:::info
|
:::info
|
||||||
Pixhawk V6X<sup>®</sup> несумісний з NEO V2 GPS вбудованим дзвіночком: вам слід використовувати [NEO3/NEO 3Pro](https://store.cuav.net/shop/neo-3/) замість нього.
|
Pixhawk V6X<sup>®</sup> is not compatible with NEO V2 GPS built-in buzzer: you should use [NEO3/NEO 3Pro](https://store.cuav.net/shop/neo-3/) instead.
|
||||||
Вбудований безпечний вимикач в GPS-модулі увімкнений _за замовчуванням_ (коли включений, PX4 не дозволить вам готувати до польоту).
|
Вбудований безпечний вимикач в GPS-модулі увімкнений _за замовчуванням_ (коли включений, PX4 не дозволить вам готувати до польоту).
|
||||||
Щоб вимкнути безпеку, натисніть і утримуйте безпечний вимикач протягом 1 секунди.
|
Щоб вимкнути безпеку, натисніть і утримуйте безпечний вимикач протягом 1 секунди.
|
||||||
Ви можете натиснути безпечний вимикач знову, щоб увімкнути безпеку та відключити транспортний засіб (це може бути корисно, якщо, з якихось причин, ви не можете вимкнути транспортний засіб за допомогою вашого пульта дистанційного керування або наземної станції).
|
Ви можете натиснути безпечний вимикач знову, щоб увімкнути безпеку та відключити транспортний засіб (це може бути корисно, якщо, з якихось причин, ви не можете вимкнути транспортний засіб за допомогою вашого пульта дистанційного керування або наземної станції).
|
||||||
|
|||||||
@@ -32,4 +32,4 @@
|
|||||||
Деякі посилання, які ви можете знайти корисними:
|
Деякі посилання, які ви можете знайти корисними:
|
||||||
|
|
||||||
- [An Introduction to Shock & Vibration Response Spectra, Tom Irvine](http://www.vibrationdata.com/tutorials2/srs_intr.pdf) (free paper)
|
- [An Introduction to Shock & Vibration Response Spectra, Tom Irvine](http://www.vibrationdata.com/tutorials2/srs_intr.pdf) (free paper)
|
||||||
- [Structural Dynamics and Vibration in Practice - An Engineering Handbook, Douglas Thorby](https://books.google.ch/books?id=PwzDuWDc8AgC\&printsec=frontcover) (preview).
|
- Structural Dynamics and Vibration in Practice - An Engineering Handbook, Douglas Thorby (preview).
|
||||||
|
|||||||
@@ -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_:
|
||||||
|
|
||||||
Клацніть на **Запуск камери** на головній панелі інструментів.
|
Клацніть на **Запуск камери** на головній панелі інструментів.
|
||||||
Ці знімки не відображаються або не підраховуються для геотегування.
|
Ці знімки не відображаються або не підраховуються для геотегування.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Приклад Sony QX-1 (Фотограметрія)
|
## Приклад Sony QX-1 (Фотограметрія)
|
||||||
|
|
||||||
|
|||||||
@@ -17,4 +17,4 @@ PX4 інтегрується з трьома типами камер:
|
|||||||
## Дивіться також
|
## Дивіться також
|
||||||
|
|
||||||
- [Gimbal (кріплення для камери)](../advanced/gimbal_control.md)
|
- [Gimbal (кріплення для камери)](../advanced/gimbal_control.md)
|
||||||
- [Інтеграція/Архітектура камери](../camera/camera_architecture.md) (Розробники PX4)
|
- [Інтеграція/Архітектура камери](../camera/camera_architecture.md) (Розробники PX4)
|
||||||
@@ -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. Можливо, вам доведеться встановити деякі інші параметри, залежно від вашого з'єднання - наприклад, швидкість передачі даних.
|
||||||
|
|
||||||
Підключіться та налаштуйте камеру, як рекомендовано в її посібнику користувача.
|
Підключіться та налаштуйте камеру, як рекомендовано в її посібнику користувача.
|
||||||
|
|||||||
@@ -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. Можливо, вам доведеться встановити деякі інші параметри, залежно від типу підключення та будь-яких конкретних вимог камери щодо очікуваної швидкості передачі даних і т. д.
|
||||||
|
|
||||||
|
|||||||
@@ -69,15 +69,15 @@ To install the RPi CM4 companion computer:
|
|||||||
|
|
||||||
1. Disconnect the `FAN` wiring.
|
1. Disconnect the `FAN` wiring.
|
||||||
|
|
||||||

|

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

|

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

|

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

|

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

|

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

|

|
||||||
|
|
||||||
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).
|
||||||
|
|
||||||
@@ -247,7 +247,7 @@ Note that we could have used WiFi for the link, but by setting up a dedicated ro
|
|||||||
|
|
||||||
To set up a local ethernet connection between CM4 and the flight computer, the two Ethernet ports need to be connected using the provided 8 pin to 4 pin connector.
|
To set up a local ethernet connection between CM4 and the flight computer, the two Ethernet ports need to be connected using the provided 8 pin to 4 pin connector.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Схема виводів кабелю:
|
Схема виводів кабелю:
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ To use [ROS 2/uXRCE-DDS](../ros2/user_guide.md) instead of MAVLink on `TELEM2`,
|
|||||||
Безпечним і легким у налаштуванні варіантом є використання плати адаптера USB-послідовного порту від FTDI Chip для підключення від `TELEM2` на Pixhawk до USB-порту на супутниковому комп'ютері.
|
Безпечним і легким у налаштуванні варіантом є використання плати адаптера USB-послідовного порту від FTDI Chip для підключення від `TELEM2` на Pixhawk до USB-порту на супутниковому комп'ютері.
|
||||||
Нижче наведено зв'язку карту `TELEM2` до FTDI.
|
Нижче наведено зв'язку карту `TELEM2` до FTDI.
|
||||||
|
|
||||||
| TELEM2 | | FTDI | &nbsp; |
|
| TELEM2 | | FTDI | |
|
||||||
| ------ | ------------------------------ | ---- | ------------------------------------------------------------ |
|
| ------ | ------------------------------ | ---- | ------------------------------------------------------------ |
|
||||||
| 1 | +5V (red) | | DO NOT CONNECT! |
|
| 1 | +5V (red) | | DO NOT CONNECT! |
|
||||||
| 2 | Tx (out) | 5 | FTDI RX (yellow) (in) |
|
| 2 | Tx (out) | 5 | FTDI RX (yellow) (in) |
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -82,18 +82,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) для завершення встановлення
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
<Redirect to="../complete_vehicles_mc/betafpv_beta75x" />
|
<Redirect to="../complete_vehicles_mc/betafpv_beta75x" />
|
||||||
@@ -1 +1 @@
|
|||||||
<Redirect to="../complete_vehicles_mc/crazyflie2" />
|
<Redirect to="../complete_vehicles_mc/crazyflie2" />
|
||||||
@@ -1 +1 @@
|
|||||||
<Redirect to="../complete_vehicles_mc/crazyflie21" />
|
<Redirect to="../complete_vehicles_mc/crazyflie21" />
|
||||||
@@ -1 +1 @@
|
|||||||
<Redirect to="../complete_vehicles_mc/holybro_kops2" />
|
<Redirect to="../complete_vehicles_mc/holybro_kops2" />
|
||||||
@@ -1 +1 @@
|
|||||||
<Redirect to="../complete_vehicles_mc/intel_aero" />
|
<Redirect to="../complete_vehicles_mc/intel_aero" />
|
||||||
@@ -1 +1 @@
|
|||||||
<Redirect to="../complete_vehicles_mc/mindracer210" />
|
<Redirect to="../complete_vehicles_mc/mindracer210" />
|
||||||
@@ -1 +1 @@
|
|||||||
<Redirect to="../complete_vehicles_mc/mindracer_BNF_RTF" />
|
<Redirect to="../complete_vehicles_mc/mindracer_BNF_RTF" />
|
||||||
@@ -1 +1 @@
|
|||||||
<Redirect to="../complete_vehicles_mc/modalai_starling" />
|
<Redirect to="../complete_vehicles_mc/modalai_starling" />
|
||||||
@@ -1 +1 @@
|
|||||||
<Redirect to="../complete_vehicles_mc/nanomind110" />
|
<Redirect to="../complete_vehicles_mc/nanomind110" />
|
||||||
@@ -1 +1 @@
|
|||||||
<Redirect to="../complete_vehicles_mc/px4_vision_kit" />
|
<Redirect to="../complete_vehicles_mc/px4_vision_kit" />
|
||||||
@@ -51,54 +51,54 @@ _Crazyflie 2.0_ було [припинено/замінено](../flight_control
|
|||||||
|
|
||||||
1. Завантажте вихідний код завантажувача PX4:
|
1. Завантажте вихідний код завантажувача PX4:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
git clone https://github.com/PX4/Bootloader.git
|
git clone https://github.com/PX4/Bootloader.git
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Перейдіть до верхньої директорії вихідного коду та скомпілюйте його за допомогою:
|
2. Перейдіть до верхньої директорії вихідного коду та скомпілюйте його за допомогою:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
make crazyflie_bl
|
make crazyflie_bl
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Поставте Crazyflie 2.0 у режим DFU, виконавши ці кроки:
|
3. Поставте Crazyflie 2.0 у режим DFU, виконавши ці кроки:
|
||||||
- Спочатку переконайтеся, що він знеструмлений.
|
- Спочатку переконайтеся, що він знеструмлений.
|
||||||
- Утримуйте кнопку скидання (див. малюнок нижче...).
|
- Утримуйте кнопку скидання (див. малюнок нижче...).
|
||||||

|

|
||||||
- Підключіть до 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. Очікування завершення.
|
||||||
|
|
||||||
|
|||||||
@@ -64,56 +64,56 @@ Crazyflie 2.1 може літати лише в режимі [Стабілізо
|
|||||||
|
|
||||||
1. Завантажте вихідний код завантажувача PX4:
|
1. Завантажте вихідний код завантажувача PX4:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
git clone https://github.com/PX4/Bootloader.git --recurse-submodules
|
git clone https://github.com/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, виконавши ці кроки:
|
||||||
- Спочатку переконайтеся, що він знеструмлений.
|
- Спочатку переконайтеся, що він знеструмлений.
|
||||||
- Переконайтеся, що акумулятор від'єднаний.
|
- Переконайтеся, що акумулятор від'єднаний.
|
||||||
- Утримуйте кнопку скидання (див. малюнок нижче...).
|
- Утримуйте кнопку скидання (див. малюнок нижче...).
|
||||||

|

|
||||||
- Підключіть до 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 @@ Crazyflie 2.1 може літати лише в режимі [Стабілізо
|
|||||||
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) посібник.
|
||||||
|
|
||||||
|
|||||||
@@ -82,26 +82,26 @@ Starling має [відкрите SDK](https://docs.modalai.com/voxl-developer-b
|
|||||||
#### Налаштування відображення
|
#### Налаштування відображення
|
||||||
|
|
||||||
1. **Увімкніть приймач**: Як тільки ваш квадрокоптер увімкнено, ви помітите, що синій світлодіод приймача ELRS мигає.
|
1. **Увімкніть приймач**: Як тільки ваш квадрокоптер увімкнено, ви помітите, що синій світлодіод приймача ELRS мигає.
|
||||||
Це свідчить про те, що отримувач увімкнений, але ще не встановив зв'язок з передавачем.
|
Це свідчить про те, що отримувач увімкнений, але ще не встановив зв'язок з передавачем.
|
||||||
|
|
||||||

|

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

|

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

|

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

|

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

|

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

|

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

|

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

|

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

|

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

|

|
||||||
|
|
||||||
- Червоний лазер видно на передній частині камери _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), щоб запустити місію, і спостерігайте, як транспортний засіб рухається навколо перешкоди, а потім повертається на запланований курс.
|
||||||
|
|
||||||
## Розробка за допомогою комплекту
|
## Розробка за допомогою комплекту
|
||||||
|
|
||||||
@@ -285,22 +285,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).
|
||||||
|
|
||||||
### Запустіть супутній комп'ютер
|
### Запустіть супутній комп'ютер
|
||||||
|
|
||||||
@@ -324,24 +324,24 @@ PX4 та супутниковий комп'ютер обмінюються да
|
|||||||
|
|
||||||
1. Підключіть клавіатуру та мишу до _UP Core_ через порт `USB2`:
|
1. Підключіть клавіатуру та мишу до _UP Core_ через порт `USB2`:
|
||||||
|
|
||||||

|

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

|

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

|

|
||||||
|
|
||||||
Екран входу в Ubuntu повинен з'явитися на моніторі.
|
Екран входу в Ubuntu повинен з'явитися на моніторі.
|
||||||
|
|
||||||
3. Увійдіть в _UP Core_ за допомогою облікових даних:
|
3. Увійдіть в _UP Core_ за допомогою облікових даних:
|
||||||
|
|
||||||
- **Username:** px4vision
|
- **Username:** px4vision
|
||||||
- **Password:** px4vision
|
- **Password:** px4vision
|
||||||
|
|
||||||
### Розробка / Розширення уникнення PX4
|
### Розробка / Розширення уникнення PX4
|
||||||
|
|
||||||
@@ -356,39 +356,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`.
|
||||||
Для посилання на розробку в ROS та використання робочого простору catkin, див. [Посібники ROS catkin](http://wiki.ros.org/catkin/Tutorials).
|
Для посилання на розробку в ROS та використання робочого простору catkin, див. [Посібники ROS catkin](http://wiki.ros.org/catkin/Tutorials).
|
||||||
|
|||||||
@@ -33,4 +33,4 @@ They may come either fully assembled or in parts.
|
|||||||
## Дивіться також
|
## Дивіться також
|
||||||
|
|
||||||
- [Повні Транспортні Засоби (Фіксовані Крила)](../complete_vehicles_fw/README.md)
|
- [Повні Транспортні Засоби (Фіксовані Крила)](../complete_vehicles_fw/README.md)
|
||||||
- [Повні Транспортні Засоби (MC)](../complete_vehicles_mc/README.md)
|
- [Повні Транспортні Засоби (MC)](../complete_vehicles_mc/README.md)
|
||||||
@@ -47,7 +47,7 @@ PX4 v1.14 (and later) supports the [LightWare LiDAR SF45](../sensor/sf45_rotatin
|
|||||||
|
|
||||||
- Attach and configure the distance sensor on a particular port (see [sensor-specific docs](../sensor/rangefinders.md)) and enable collision prevention using [CP_DIST](#CP_DIST).
|
- Attach and configure the distance sensor on a particular port (see [sensor-specific docs](../sensor/rangefinders.md)) and enable collision prevention using [CP_DIST](#CP_DIST).
|
||||||
- Модифікуйте драйвер для встановлення орієнтації.
|
- Модифікуйте драйвер для встановлення орієнтації.
|
||||||
This should be done by mimicking the `SENS_CM8JL65_R_0` parameter (though you might also hard-code the orientation in the sensor _module.yaml_ file to something like `sf0x start -d ${SERIAL_DEV} -R 25` - where 25 is equivalent to `ROTATION_DOWNWARD_FACING`).
|
This should be done by mimicking the `SENS_CM8JL65_R_0` parameter (though you might also hard-code the orientation in the sensor _module.yaml_ file to something like `sf0x start -d ${SERIAL_DEV} -R 25` - where 25 is equivalent to `ROTATION_DOWNWARD_FACING`).
|
||||||
- Modify the driver to set the _field of view_ in the distance sensor UORB topic (`distance_sensor_s.h_fov`).
|
- Modify the driver to set the _field of view_ in the distance sensor UORB topic (`distance_sensor_s.h_fov`).
|
||||||
|
|
||||||
## PX4 (Software) Setup
|
## PX4 (Software) Setup
|
||||||
@@ -184,7 +184,7 @@ Next, adjust the relevant parameters to the appropriate values and add arbitrary
|
|||||||
|
|
||||||
The diagram below shows a simulation of collision prevention as viewed in Gazebo.
|
The diagram below shows a simulation of collision prevention as viewed in Gazebo.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Development Information/Tools
|
## Development Information/Tools
|
||||||
|
|
||||||
@@ -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 (PX4-ROS 2/DDS Bridge)_.
|
For more information see [DDS Topics YAML](../middleware/uxrce_dds.md#dds-topics-yaml) in _uXRCE-DDS (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.
|
||||||
|
|
||||||
@@ -293,7 +293,7 @@ New sensor data is compared to the existing map, and used to update any sections
|
|||||||
|
|
||||||
The angles in the `obstacle_distance` topic are defined as follows:
|
The angles in the `obstacle_distance` topic are defined as follows:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The data from rangefinders, rotary lidars, or companion computers, is processed differently, as described below.
|
The data from rangefinders, rotary lidars, or companion computers, is processed differently, as described below.
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Інтерфейс планування маршруту
|
# Інтерфейс планування маршруту
|
||||||
|
|
||||||
<Badge type="warning" text="Removed" />
|
<Badge type="warning" text="Removed PX4 v1.15" />
|
||||||
|
|
||||||
:::warning
|
:::warning
|
||||||
The **Path Planning Interface**, along with the features **Obstacle avoidance in Missions** and **Safe Landing** are no longer supported or maintained, and _should not_ be used in any PX4 version.
|
The **Path Planning Interface**, along with the features **Obstacle avoidance in Missions** and **Safe Landing** are no longer supported or maintained, and _should not_ be used in any PX4 version.
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ For more detailed/additional information, see: [Using PX4's Navigation Filter (E
|
|||||||
|
|
||||||
Приблизна оцінка затримки може бути отримана з журналів, перевіряючи зсув між частотами IMU та частотами EV:
|
Приблизна оцінка затримки може бути отримана з журналів, перевіряючи зсув між частотами IMU та частотами EV:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
:::info
|
:::info
|
||||||
Графік зовнішніх даних проти вбудованої оцінки (як вище) може бути створений за допомогою [FlightPlot](../log/flight_log_analysis.md#flightplot) або подібних засобів аналізу польоту.
|
Графік зовнішніх даних проти вбудованої оцінки (як вище) може бути створений за допомогою [FlightPlot](../log/flight_log_analysis.md#flightplot) або подібних засобів аналізу польоту.
|
||||||
@@ -132,15 +132,15 @@ For more detailed/additional information, see: [Using PX4's Navigation Filter (E
|
|||||||
Якщо ці кроки є послідовними, ви можете спробувати свій перший польот:
|
Якщо ці кроки є послідовними, ви можете спробувати свій перший польот:
|
||||||
|
|
||||||
1. Покладіть літак на землю і почніть передавати зворотний зв'язок `ODOMETRY` (як вище).
|
1. Покладіть літак на землю і почніть передавати зворотний зв'язок `ODOMETRY` (як вище).
|
||||||
Потягніть палицю газу вниз і зберметизуйте двигуни.
|
Потягніть палицю газу вниз і зберметизуйте двигуни.
|
||||||
|
|
||||||
На цьому етапі, зліва палиця на найнижчому положенні, перейдіть у режим позиціонного контролю.
|
На цьому етапі, зліва палиця на найнижчому положенні, перейдіть у режим позиціонного контролю.
|
||||||
Ви повинні побачити зелену лампочку.
|
Ви повинні побачити зелену лампочку.
|
||||||
Зелена лампочка свідчить про те, що доступний зворотний зв'язок позиції, і позиційний контроль активований.
|
Зелена лампочка свідчить про те, що доступний зворотний зв'язок позиції, і позиційний контроль активований.
|
||||||
|
|
||||||
2. Покладіть палицю газу в середину (мертву зону), щоб літак підтримував свою висоту.
|
2. Покладіть палицю газу в середину (мертву зону), щоб літак підтримував свою висоту.
|
||||||
Підняття палиці збільшить висоту посилки, тоді як зниження значення зменшить її.
|
Підняття палиці збільшить висоту посилки, тоді як зниження значення зменшить її.
|
||||||
Так само, інша палиця змінить положення над землею.
|
Так само, інша палиця змінить положення над землею.
|
||||||
|
|
||||||
3. Збільшуйте значення перемикача газу, і літак злетить. Відразу після цього поверніть його в середину.
|
3. Збільшуйте значення перемикача газу, і літак злетить. Відразу після цього поверніть його в середину.
|
||||||
|
|
||||||
|
|||||||
@@ -71,41 +71,41 @@ events::send<uint8_t, float>(events::ID("event_name"),
|
|||||||
- `/* EVENT`: Цей тег вказує, що коментар описує метадані для наступної події.
|
- `/* EVENT`: Цей тег вказує, що коментар описує метадані для наступної події.
|
||||||
|
|
||||||
- **event_name**: ім'я події (`events::ID(event_name)`).
|
- **event_name**: ім'я події (`events::ID(event_name)`).
|
||||||
- повинно бути унікальним в межах всього вихідного коду PX4.
|
- повинно бути унікальним в межах всього вихідного коду PX4.
|
||||||
Як загальне правило, додайте префікс з назвою модуля або вихідного файлу для великих модулів.
|
Як загальне правило, додайте префікс з назвою модуля або вихідного файлу для великих модулів.
|
||||||
- має бути дійсна назва змінної, тобто не повинна містити пробіли, двокрапки тощо.
|
- має бути дійсна назва змінної, тобто не повинна містити пробіли, двокрапки тощо.
|
||||||
- з цього імені отримується 24-бітний ID події за допомогою геш-функції.
|
- з цього імені отримується 24-бітний ID події за допомогою геш-функції.
|
||||||
Це означає, що до тих пір, поки ім'я події залишається однаковим, ID залишиться тим же.
|
Це означає, що до тих пір, поки ім'я події залишається однаковим, ID залишиться тим же.
|
||||||
|
|
||||||
- **Рівень журналювання**:
|
- **Рівень журналювання**:
|
||||||
|
|
||||||
- припустимі рівні журналювання такі ж, як і у перерахуванні MAVLink [MAV_SEVERITY](https://mavlink.io/en/messages/common.html#MAV_SEVERITY).
|
- припустимі рівні журналювання такі ж, як і у перерахуванні MAVLink [MAV_SEVERITY](https://mavlink.io/en/messages/common.html#MAV_SEVERITY).
|
||||||
Рівні перелічені за зменшенням важливості:
|
Рівні перелічені за зменшенням важливості:
|
||||||
|
|
||||||
```plain
|
```plain
|
||||||
Emergency,
|
Emergency,
|
||||||
Alert,
|
Alert,
|
||||||
Critical,
|
Critical,
|
||||||
Error,
|
Error,
|
||||||
Warning,
|
Warning,
|
||||||
Notice,
|
Notice,
|
||||||
Info,
|
Info,
|
||||||
Debug,
|
Debug,
|
||||||
Disabled,
|
Disabled,
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
Попередньо ми вказали окремий зовнішній і внутрішній рівень журналювання, які є рівнями для користувачів GCS і в файлі журналу, відповідно: `{events::Log::Error, events::LogInternal::Info}`.
|
Попередньо ми вказали окремий зовнішній і внутрішній рівень журналювання, які є рівнями для користувачів GCS і в файлі журналу, відповідно: `{events::Log::Error, events::LogInternal::Info}`.
|
||||||
```
|
```
|
||||||
|
|
||||||
- **Повідомлення про подію**:
|
- **Повідомлення про подію**:
|
||||||
- Коротке повідомлення про подію в один рядок.
|
- Коротке повідомлення про подію в один рядок.
|
||||||
Може мати шаблонні замінники для аргументів (наприклад `{1}`). Для додаткової інформації дивіться нижче. Для додаткової інформації дивіться нижче.
|
Може мати шаблонні замінники для аргументів (наприклад `{1}`). Для додаткової інформації дивіться нижче. Для додаткової інформації дивіться нижче.
|
||||||
|
|
||||||
- **Опис події**:
|
- **Опис події**:
|
||||||
- Докладний, необов'язковий опис події.
|
- Докладний, необов'язковий опис події.
|
||||||
- Може бути кілька рядів/абзаців.
|
- Може бути кілька рядів/абзаців.
|
||||||
- It may contain template placeholders for arguments (e.g. `{2}`) and supported tags (see below)
|
- It may contain template placeholders for arguments (e.g. `{2}`) and supported tags (see below)
|
||||||
|
|
||||||
#### Аргументи та перерахування
|
#### Аргументи та перерахування
|
||||||
|
|
||||||
@@ -124,35 +124,35 @@ Events can have a fixed set of arguments that can be inserted into the message o
|
|||||||
|
|
||||||
- символи можна екранувати за допомогою \\
|
- символи можна екранувати за допомогою \\
|
||||||
|
|
||||||
Ці символи повинні бути екрановані: '\\\\', '\\<', '\\{'.
|
Ці символи повинні бути екрановані: '\\\\', '\\<', '\\{'.
|
||||||
|
|
||||||
- теги що підтримуються:
|
- теги що підтримуються:
|
||||||
|
|
||||||
- Профілі: `<profile name="[!]NAME">CONTENT</profile>`
|
- Профілі: `<profile name="[!]NAME">CONTENT</profile>`
|
||||||
|
|
||||||
`CONTENT` буде показано, лише якщо назва збігається з налаштованим профілем.
|
`CONTENT` буде показано, лише якщо назва збігається з налаштованим профілем.
|
||||||
Це може бути використано, наприклад, щоб приховати інформацію для розробників від кінцевих користувачів.
|
Це може бути використано, наприклад, щоб приховати інформацію для розробників від кінцевих користувачів.
|
||||||
|
|
||||||
- URLs: `<a [href="URL"]>CONTENT</a>`.
|
- URLs: `<a [href="URL"]>CONTENT</a>`.
|
||||||
If `href` is not set, use `CONTENT` as `URL` (i.e.`<a>https://docs.px4.io</a>` is interpreted as `<a href="https://docs.px4.io">https://docs.px4.io</a>`)
|
If `href` is not set, use `CONTENT` as `URL` (i.e.`<a>https://docs.px4.io</a>` is interpreted as `<a href="https://docs.px4.io">https://docs.px4.io</a>`)
|
||||||
|
|
||||||
- Parameters: `<param>PARAM_NAME</param>`
|
- Parameters: `<param>PARAM_NAME</param>`
|
||||||
|
|
||||||
- не дозволено використовувати вкладені теги того ж типу
|
- не дозволено використовувати вкладені теги того ж типу
|
||||||
|
|
||||||
- аргументи: шаблонні замінники, що відповідають синтаксису python з індексацією що починається з 1 (замість 0)
|
- аргументи: шаблонні замінники, що відповідають синтаксису python з індексацією що починається з 1 (замість 0)
|
||||||
|
|
||||||
- загальна форма: `{ARG_IDX[:.NUM_DECIMAL_DIGITS][UNIT]}`
|
- загальна форма: `{ARG_IDX[:.NUM_DECIMAL_DIGITS][UNIT]}`
|
||||||
|
|
||||||
UNIT:
|
UNIT:
|
||||||
|
|
||||||
- m: горизонтальна відстань в метрах
|
- m: горизонтальна відстань в метрах
|
||||||
- m_v: вертикальна відстань в метрах
|
- m_v: вертикальна відстань в метрах
|
||||||
- m^2: площа в метрах квадратних
|
- m^2: площа в метрах квадратних
|
||||||
- m/s: швидкість у метрах в секунду
|
- m/s: швидкість у метрах в секунду
|
||||||
- C: температура у градусах Цельсія
|
- C: температура у градусах Цельсія
|
||||||
|
|
||||||
- `NUM_DECIMAL_DIGITS` підходить тільки для аргументів у вигляді дійсних чисел.
|
- `NUM_DECIMAL_DIGITS` підходить тільки для аргументів у вигляді дійсних чисел.
|
||||||
|
|
||||||
## Логування
|
## Логування
|
||||||
|
|
||||||
|
|||||||
@@ -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:
|
||||||
....
|
....
|
||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
## Перевірка нового польотного завдання
|
## Перевірка нового польотного завдання
|
||||||
|
|
||||||
|
|||||||
+18
-18
@@ -43,13 +43,13 @@ The airframe must fly well enough to handle moderate disturbances, and should be
|
|||||||
2. Take off and <div style="display: inline;" v-if="$frontmatter.frame === 'Multicopter'">hover at 1m above ground in [Altitude mode](../flight_modes_mc/altitude.md) or [Stabilized mode](../flight_modes_mc/manual_stabilized.md)</div><div style="display: inline;" v-else-if="$frontmatter.frame === 'Plane'">fly at cruise speed in [Position mode](../flight_modes_fw/position.md) or [Altitude mode](../flight_modes_fw/altitude.md)</div>.
|
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,35 +72,35 @@ 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**:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
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.
|
||||||
|
|
||||||
5. <div style="display: inline;" v-if="$frontmatter.frame === 'Multicopter'">Manually land and disarm to apply the new tuning parameters.
|
5. <div style="display: inline;" v-if="$frontmatter.frame === 'Multicopter'">Manually land and disarm to apply the new tuning parameters.
|
||||||
Takeoff carefully and manually test that the vehicle is stable.</div><div v-else-if="$frontmatter.frame === 'Plane'">The tuning will be immediately/automatically be applied and tested in flight (by default).
|
Takeoff carefully and manually test that the vehicle is stable.</div><div v-else-if="$frontmatter.frame === 'Plane'">The tuning will be immediately/automatically be applied and tested in flight (by default).
|
||||||
PX4 потім проведе 4-секундний тест і поверне нове налаштування, якщо буде виявлено проблему.</div>
|
PX4 потім проведе 4-секундний тест і поверне нове налаштування, якщо буде виявлено проблему.</div>
|
||||||
|
|
||||||
:::warning
|
:::warning
|
||||||
If any strong oscillations occur, land immediately and follow the instructions in the [Troubleshooting](#troubleshooting) section below.
|
If any strong oscillations occur, land immediately and follow the instructions in the [Troubleshooting](#troubleshooting) section below.
|
||||||
|
|||||||
+46
-46
@@ -448,9 +448,9 @@ QGC потім автоматично обере наступний двигун
|
|||||||
|
|
||||||
4. One motor will start spinning (click **Spin Motor Again** if it stops spinning too quickly to note.)
|
4. One motor will start spinning (click **Spin Motor Again** if it stops spinning too quickly to note.)
|
||||||
|
|
||||||
Виберіть відповідний двигун в розділі геометрії.
|
Виберіть відповідний двигун в розділі геометрії.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
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,34 +501,34 @@ 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.
|
||||||
|
|
||||||

|

|
||||||
::: 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) інкрементами.
|
||||||
"Оптимальне" максимальне значення - це значення, при якому ви востаннє почули зміну тона.
|
"Оптимальне" максимальне значення - це значення, при якому ви востаннє почули зміну тона.
|
||||||
|
|
||||||
### Налаштування поверхонь керування
|
### Налаштування поверхонь керування
|
||||||
|
|
||||||
@@ -551,34 +551,34 @@ 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).
|
||||||
|
|
||||||

|

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

|

|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
- 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`:
|
||||||
@@ -600,13 +600,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.
|
||||||
@@ -630,7 +630,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).
|
||||||
|
|
||||||

|

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

|

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

|

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

|

|
||||||
|
|
||||||
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
|
||||||
```
|
```
|
||||||
|
|
||||||
Примітки:
|
Примітки:
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user