New Crowdin translations - uk

This commit is contained in:
Crowdin Bot
2025-06-11 22:40:45 +00:00
committed by Hamish Willee
parent 359d58effd
commit 71e553c67e
11 changed files with 412 additions and 411 deletions

View File

@@ -733,6 +733,7 @@
- [Protocols/Microservices](mavlink/protocols.md) - [Protocols/Microservices](mavlink/protocols.md)
- [Standard Modes Protocol](mavlink/standard_modes.md) - [Standard Modes Protocol](mavlink/standard_modes.md)
- [uXRCE-DDS (PX4-ROS 2/DDS Bridge)](middleware/uxrce_dds.md) - [uXRCE-DDS (PX4-ROS 2/DDS Bridge)](middleware/uxrce_dds.md)
- [UORB Bridged to ROS 2](middleware/dds_topics.md)
- [Модулі & Команди](modules/modules_main.md) - [Модулі & Команди](modules/modules_main.md)
- [Автоматичне підлаштування](modules/modules_autotune.md) - [Автоматичне підлаштування](modules/modules_autotune.md)
- [Команди](modules/modules_command.md) - [Команди](modules/modules_command.md)

View File

@@ -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 з багатьма екземплярами (шаблонами)

View File

@@ -20,7 +20,7 @@ This guide walks through the process of setting up the board and connecting to P
You will temporarily need the following hardware in order to log into your Jetson and get its IP address, after which you will be able to log in via SSH: You will temporarily need the following hardware in order to log into your Jetson and get its IP address, after which you will be able to log in via SSH:
- External display. - External display.
If your display doesn't have a mini HDMI connector you will also need a [Mini HDMI to HDMI converter](https://a.co/d/6N815N9) if your external display has HDMI input If your display doesn't have a mini HDMI connector you will also need a [Mini HDMI to HDMI converter](https://a.co/d/6N815N9) if your external display has HDMI input
- Ethernet cable - Ethernet cable
- Mouse and keyboard (the baseboard has 4 USB ports exposed from Jetson, two of which are USB 3.0) - Mouse and keyboard (the baseboard has 4 USB ports exposed from Jetson, two of which are USB 3.0)
@@ -45,11 +45,11 @@ This information comes from the [Holybro Pixhawk-Jetson Baseboard Documentation]
- Розміри - Розміри
- 126 x 80 x 45mm (with Jetson Orin NX + Heatsink/Fan & FC Module) - 126 x 80 x 45mm (with Jetson Orin NX + Heatsink/Fan & FC Module)
- 126 x 80 x 22.9mm (without Jetson and FC Module) - 126 x 80 x 22.9mm (without Jetson and FC Module)
- Вага - Вага
- 190g (with Jetson, Heatsink, Flight Controller, M.2 SSD, M.2 Wi-Fi Module) - 190g (with Jetson, Heatsink, Flight Controller, M.2 SSD, M.2 Wi-Fi Module)
::: :::
@@ -57,67 +57,67 @@ This information comes from the [Holybro Pixhawk-Jetson Baseboard Documentation]
- 2x Gigabit Ethernet Port - 2x Gigabit Ethernet Port
- Connected to both Jetson & Autopilot via Ethernet switch (RTL8367S) - Connected to both Jetson & Autopilot via Ethernet switch (RTL8367S)
- Ethernet Switch powered by the same circuit as the Pixhawk - Ethernet Switch powered by the same circuit as the Pixhawk
- 8-pin JST-GH - 8-pin JST-GH
- RJ45 - RJ45
- 2x MIPI CSI Camera Inputs - 2x MIPI CSI Camera Inputs
- 4 Lanes each - 4 Lanes each
- 22-Pin Raspberry Pi Cam FFC - 22-Pin Raspberry Pi Cam FFC
- 2x USB 3.0 Host Port - 2x USB 3.0 Host Port
- USB A - USB A
- 5A Current Limit - 5A Current Limit
- 2x USB 2.0 Host Port - 2x USB 2.0 Host Port
- 5-Pin JST-GH - 5-Pin JST-GH
- 0A Current Limit - 0A Current Limit
- USB 2.0 for Programming/Debugging - USB 2.0 for Programming/Debugging
- USB-C - USB-C
- 2 Key M 2242/2280 for NVMe SSD - 2 Key M 2242/2280 for NVMe SSD
- PCIEx4 - PCIEx4
- 2 Key E 2230 for WiFi/BT - 2 Key E 2230 for WiFi/BT
- PCIEx2 - PCIEx2
- USB - USB
- UART - UART
- I2S - I2S
- Mini HDMI Out - Mini HDMI Out
- 4x GPIO - 4x GPIO
- 6-pin JST-GH - 6-pin JST-GH
- CAN Port - CAN Port
- Connected to Autopilot's CAN2 (4 Pin JST-GH) - Connected to Autopilot's CAN2 (4 Pin JST-GH)
- SPI порт - SPI порт
- 7-Pin JST-GH - 7-Pin JST-GH
- I2C порт - I2C порт
- 4-Pin JST-GH - 4-Pin JST-GH
- I2S Port - I2S Port
- 7-Pin JST-GH - 7-Pin JST-GH
- 2x UART Port - 2x UART Port
- 1 for debug - 1 for debug
- 1 connected to Autopilot's telem2 - 1 connected to Autopilot's telem2
- Fan Power Port - Fan Power Port
@@ -129,13 +129,13 @@ This information comes from the [Holybro Pixhawk-Jetson Baseboard Documentation]
- Pixhawk Autopilot Bus Interface - Pixhawk Autopilot Bus Interface
- 100 Pin Hirose DF40 - 100 Pin Hirose DF40
- 50 Pin Hirose DF40 - 50 Pin Hirose DF40
- Redundant Digital Power Module Inputs - Redundant Digital Power Module Inputs
- I2C Power Monitor Support - I2C Power Monitor Support
- 2x 6-Pin Molex CLIK-Mate - 2x 6-Pin Molex CLIK-Mate
- Power Path Selector - Power Path Selector
@@ -143,68 +143,68 @@ This information comes from the [Holybro Pixhawk-Jetson Baseboard Documentation]
- Номінальна напруга - Номінальна напруга
- Максимальна вхідна напруга: 6 В - Максимальна вхідна напруга: 6 В
- Вхід USB Power: 4.75~5.25V - Вхід USB Power: 4.75~5.25V
- Повноцінний порт перемикача безпеки GPS Plus - Повноцінний порт перемикача безпеки GPS Plus
- 10-Pin JST-GH - 10-Pin JST-GH
- Secondary (GPS2) Port - Secondary (GPS2) Port
- 6-Pin JST-GH - 6-Pin JST-GH
- 2x CAN Ports - 2x CAN Ports
- 4-Pin JST-GH - 4-Pin JST-GH
- 3x Telemetry Ports with Flow Control - 3x Telemetry Ports with Flow Control
- 2x 6-Pin JST-GH - 2x 6-Pin JST-GH
- 1 is connected to Jetson's `UART1` Port - 1 is connected to Jetson's `UART1` Port
- 16 PWM Outputs - 16 PWM Outputs
- 2x 10-Pin JST-GH - 2x 10-Pin JST-GH
- UART4 & I2C Port - UART4 & I2C Port
- 6-Pin JST-GH - 6-Pin JST-GH
- 2x Gigabit Ethernet Port - 2x Gigabit Ethernet Port
- Connected to both Jetson & Autopilot via Ethernet switch (RTL8367S) - Connected to both Jetson & Autopilot via Ethernet switch (RTL8367S)
- 8-Pin JST-GH - 8-Pin JST-GH
- RJ45 - RJ45
- AD & IO - AD & IO
- 8-Pin JST-GH - 8-Pin JST-GH
- USB 2.0 - USB 2.0
- USB-C - USB-C
- 4-Pin JST-GH - 4-Pin JST-GH
- DSM Input - DSM Input
- 3-Pin JST-ZH 1.5mm Pitch - 3-Pin JST-ZH 1.5mm Pitch
- RC In - RC In
- PPM/SBUS - PPM/SBUS
- 5-Pin JST-GH - 5-Pin JST-GH
- SPI порт - SPI порт
- External Sensor Bus (SPI5) - External Sensor Bus (SPI5)
- 11-Pin JST-GH - 11-Pin JST-GH
- 2x Debug Port - 2x Debug Port
- 1 for FMU - 1 for FMU
- 1 for IO - 1 for IO
- 10-Pin JST-SH - 10-Pin JST-SH
::: :::
@@ -218,7 +218,7 @@ The Jetson has separate input power circuitry from the Pixhawk autopilot:
- 8V/3A Minimum (Depends on Usage and Peripherals) - 8V/3A Minimum (Depends on Usage and Peripherals)
- Voltage Rating: 7-21V (3S-4S) - Voltage Rating: 7-21V (3S-4S)
- Jetson Baseboard onboard BEC is rated for 7-21V (3S-4S). - Jetson Baseboard onboard BEC is rated for 7-21V (3S-4S).
Note that the external UBEC-12A can be used for applications above 4S Note that the external UBEC-12A can be used for applications above 4S
During development using the following wired power supply is recommended: During development using the following wired power supply is recommended:
@@ -698,7 +698,7 @@ On the following screen, confirm your selected device:
- Choose `Pre-config` for the OEM Configuration (this will skip Ubuntu first time setup screens after reboot). - Choose `Pre-config` for the OEM Configuration (this will skip Ubuntu first time setup screens after reboot).
- Choose your preferred username and password (and write them down). - Choose your preferred username and password (and write them down).
These will be used as your login credentials to Jetpack. These will be used as your login credentials to Jetpack.
- Choose `NVMe` as the storage device because the board has separate SSD for storage. - Choose `NVMe` as the storage device because the board has separate SSD for storage.
![SDK Manager installation storage and OEM config page](../../assets/companion_computer/holybro_pixhawk_jetson_baseboard/nvidia_sdkmanager_3.png) ![SDK Manager installation storage and OEM config page](../../assets/companion_computer/holybro_pixhawk_jetson_baseboard/nvidia_sdkmanager_3.png)
@@ -922,95 +922,95 @@ These instructions approximately mirror the [PX4 Ethernet setup](../advanced_con
Next we modify the Jetson IP address to be on the same network as the Pixhawk: Next we modify the Jetson IP address to be on the same network as the Pixhawk:
1. Make sure `netplan` is installed. 1. Make sure `netplan` is installed.
You can check by running the following command: You can check by running the following command:
```sh ```sh
netplan -h netplan -h
``` ```
If not, install it using the commands: If not, install it using the commands:
```sh ```sh
sudo apt update sudo apt update
sudo apt install netplan.io sudo apt install netplan.io
``` ```
2. Check `system_networkd` is running: 2. Check `system_networkd` is running:
```sh ```sh
sudo systemctl status systemd-networkd sudo systemctl status systemd-networkd
``` ```
You should see output like below if it is active: You should see output like below if it is active:
```sh ```sh
● systemd-networkd.service - Network Configuration ● systemd-networkd.service - Network Configuration
Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; vendor preset: enabled) Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2024-09-11 23:32:44 EDT; 23min ago Active: active (running) since Wed 2024-09-11 23:32:44 EDT; 23min ago
TriggeredBy: ● systemd-networkd.socket TriggeredBy: ● systemd-networkd.socket
Docs: man:systemd-networkd.service(8) Docs: man:systemd-networkd.service(8)
Main PID: 2452 (systemd-network) Main PID: 2452 (systemd-network)
Status: "Processing requests..." Status: "Processing requests..."
Tasks: 1 (limit: 18457) Tasks: 1 (limit: 18457)
Memory: 2.7M Memory: 2.7M
CPU: 157ms CPU: 157ms
CGroup: /system.slice/systemd-networkd.service CGroup: /system.slice/systemd-networkd.service
└─2452 /lib/systemd/systemd-networkd └─2452 /lib/systemd/systemd-networkd
Sep 11 23:32:44 ubuntu systemd-networkd[2452]: lo: Gained carrier Sep 11 23:32:44 ubuntu systemd-networkd[2452]: lo: Gained carrier
Sep 11 23:32:44 ubuntu systemd-networkd[2452]: wlan0: Gained IPv6LL Sep 11 23:32:44 ubuntu systemd-networkd[2452]: wlan0: Gained IPv6LL
Sep 11 23:32:44 ubuntu systemd-networkd[2452]: eth0: Gained IPv6LL Sep 11 23:32:44 ubuntu systemd-networkd[2452]: eth0: Gained IPv6LL
Sep 11 23:32:44 ubuntu systemd-networkd[2452]: Enumeration completed Sep 11 23:32:44 ubuntu systemd-networkd[2452]: Enumeration completed
Sep 11 23:32:44 ubuntu systemd[1]: Started Network Configuration. Sep 11 23:32:44 ubuntu systemd[1]: Started Network Configuration.
Sep 11 23:32:44 ubuntu systemd-networkd[2452]: wlan0: Connected WiFi access point: Verizon_7YLWWD (78:67:0e:ea:a6:0> Sep 11 23:32:44 ubuntu systemd-networkd[2452]: wlan0: Connected WiFi access point: Verizon_7YLWWD (78:67:0e:ea:a6:0>
Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: Re-configuring with /run/systemd/network/10-netplan-eth0.netwo> Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: Re-configuring with /run/systemd/network/10-netplan-eth0.netwo>
Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: DHCPv6 lease lost Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: DHCPv6 lease lost
Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: Re-configuring with /run/systemd/network/10-netplan-eth0.netwo> Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: Re-configuring with /run/systemd/network/10-netplan-eth0.netwo>
Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: DHCPv6 lease lost Sep 11 23:34:16 ubuntu systemd-networkd[2452]: eth0: DHCPv6 lease lost
``` ```
If `system_networkd` is not running, it can be enabled using: If `system_networkd` is not running, it can be enabled using:
```sh ```sh
sudo systemctl start systemd-networkd sudo systemctl start systemd-networkd
sudo systemctl enable systemd-networkd sudo systemctl enable systemd-networkd
``` ```
3. Open the Netplan configuration file (so we can set up a static IP for the Jetson). 3. Open the Netplan configuration file (so we can set up a static IP for the Jetson).
The Netplan configuration file is usually located in the `/etc/netplan/` directory and named something like `01-netcfg.yaml` (the name can vary). The Netplan configuration file is usually located in the `/etc/netplan/` directory and named something like `01-netcfg.yaml` (the name can vary).
Below we use `nano` to open the file, but you can use your preferred text editor: Below we use `nano` to open the file, but you can use your preferred text editor:
```sh ```sh
sudo nano /etc/netplan/01-netcfg.yaml sudo nano /etc/netplan/01-netcfg.yaml
``` ```
4. Modify the yaml configuration, by overwriting the contents with the following information and then saving: 4. Modify the yaml configuration, by overwriting the contents with the following information and then saving:
```sh ```sh
network: network:
version: 2 version: 2
renderer: networkd renderer: networkd
ethernets: ethernets:
eth0: eth0:
dhcp4: no dhcp4: no
addresses: addresses:
- 10.41.10.1/24 - 10.41.10.1/24
routes: routes:
- to: 0.0.0.0/0 - to: 0.0.0.0/0
via: 10.41.10.254 via: 10.41.10.254
nameservers: nameservers:
addresses: addresses:
- 10.41.10.254 - 10.41.10.254
``` ```
This gives the Jetson a static IP address on the Ethernet interface of `10.41.10.1` . This gives the Jetson a static IP address on the Ethernet interface of `10.41.10.1` .
5. Apply the changes using the following command: 5. Apply the changes using the following command:
```sh ```sh
sudo netplan apply sudo netplan apply
``` ```
The Pixhawk Ethernet address is set to `10.41.10.2` by default, which is on the same subnet. The Pixhawk Ethernet address is set to `10.41.10.2` by default, which is on the same subnet.
We can test our changes above by pinging the Pixhawk from within the Jetson terminal: We can test our changes above by pinging the Pixhawk from within the Jetson terminal:
@@ -1221,15 +1221,15 @@ Assuming the client is set up as defined above:
- (Serial connection) Start the agent on `/dev/ttyTHS1`: - (Serial connection) Start the agent on `/dev/ttyTHS1`:
```sh ```sh
sudo MicroXRCEAgent serial --dev /dev/ttyTHS1 -b 921600 sudo MicroXRCEAgent serial --dev /dev/ttyTHS1 -b 921600
``` ```
- (Ethernet) Start the agent on UDP port `8888`: - (Ethernet) Start the agent on UDP port `8888`:
```sh ```sh
MicroXRCEAgent udp4 -p 8888 MicroXRCEAgent udp4 -p 8888
``` ```
If your agent and client are connected and no nodes are running, you should see output similar to this in the Agent terminal: If your agent and client are connected and no nodes are running, you should see output similar to this in the Agent terminal:

View File

@@ -38,9 +38,9 @@ Selecting an airframe applies a [frame configuration file](../dev_airframes/addi
Коли ви виводите новий транспортний засіб, рама зазвичай містить досить мінімальну конфігурацію: Коли ви виводите новий транспортний засіб, рама зазвичай містить досить мінімальну конфігурацію:
- Кадри з назвою "Загальний" визначають тип транспортного засобу, кількість роторів та позиції роторів-заповнювачі. - Кадри з назвою "Загальний" визначають тип транспортного засобу, кількість роторів та позиції роторів-заповнювачі.
Після вибору конструкції фюзеляжу ви визначаєте фактичну геометрію, а потім налаштовуєте виходи. Після вибору конструкції фюзеляжу ви визначаєте фактичну геометрію, а потім налаштовуєте виходи.
- Кадри з назвою моделі/бренду визначать тип транспортного засобу, кількість роторів, фактичні позиції роторів та напрямки руху двигуна. - Кадри з назвою моделі/бренду визначать тип транспортного засобу, кількість роторів, фактичні позиції роторів та напрямки руху двигуна.
Після вибору конструкції фюзеляжу вам зазвичай все ще потрібно налаштувати виводи. Після вибору конструкції фюзеляжу вам зазвичай все ще потрібно налаштувати виводи.
::: :::
@@ -52,7 +52,7 @@ If using PWM ESCs and OneShot ESCs (but not DShot and DroneCAN/Cyphal ESC) you s
The final step is [Motor Configuration](../config/actuators.md#motor-configuration): The final step is [Motor Configuration](../config/actuators.md#motor-configuration):
- [Reverse any motors](../config/actuators.md#reversing-motors) that don't match the spin direction configured in the Geometry. - [Reverse any motors](../config/actuators.md#reversing-motors) that don't match the spin direction configured in the Geometry.
Для DShot ESC ви можете це зробити через інтерфейс тестування приводу. Для DShot ESC ви можете це зробити через інтерфейс тестування приводу.
- PWM, OneShot та CAN ESC встановлюють ліміти введення мотора для режимів роззброєння, низької та високої швидкості (не потрібно для DShot ESC) - PWM, OneShot та CAN ESC встановлюють ліміти введення мотора для режимів роззброєння, низької та високої швидкості (не потрібно для DShot ESC)
Відповідні теми: Відповідні теми:
@@ -123,14 +123,14 @@ PX4 може бути налаштований для автоматичної
- [Autotune](../config/autotune_mc.md) — Automates tuning PX4 rate and attitude controllers (recommended). - [Autotune](../config/autotune_mc.md) — Automates tuning PX4 rate and attitude controllers (recommended).
::: info ::: info
Automatic tuning works on frames that have reasonable authority and dynamics around all the body axes. Automatic tuning works on frames that have reasonable authority and dynamics around all the body axes.
Це було перевірено в основному на гоночних квадрокоптерах та X500, і очікується, що воно буде менш ефективним на трикоптерах з нахилом ротора. Це було перевірено в основному на гоночних квадрокоптерах та X500, і очікується, що воно буде менш ефективним на трикоптерах з нахилом ротора.
Manual tuning using these guides are only needed if there is a problem with autotune: Manual tuning using these guides are only needed if there is a problem with autotune:
- [MC PID Tuning (Manual/Basic)](../config_mc/pid_tuning_guide_multicopter_basic.md) — Manual tuning basic how to. - [MC PID Tuning (Manual/Basic)](../config_mc/pid_tuning_guide_multicopter_basic.md) — Manual tuning basic how to.
- [MC PID Tuning Guide (Manual/Detailed)](../config_mc/pid_tuning_guide_multicopter.md) — Manual tuning with detailed explanation. - [MC PID Tuning Guide (Manual/Detailed)](../config_mc/pid_tuning_guide_multicopter.md) — Manual tuning with detailed explanation.
::: :::
@@ -138,7 +138,7 @@ PX4 може бути налаштований для автоматичної
- [MC Filter/Control Latency Tuning](../config_mc/filter_tuning.md) — Trade off control latency and noise filtering. - [MC Filter/Control Latency Tuning](../config_mc/filter_tuning.md) — Trade off control latency and noise filtering.
- [MC Setpoint Tuning (Trajectory Generator)](../config_mc/mc_trajectory_tuning.md) - [MC Setpoint Tuning (Trajectory Generator)](../config_mc/mc_trajectory_tuning.md)
- [MC Jerk-limited Type Trajectory](../config_mc/mc_jerk_limited_type_trajectory.md) - [MC Jerk-limited Type Trajectory](../config_mc/mc_jerk_limited_type_trajectory.md)
- [Multicopter Racer Setup](../config_mc/racer_setup.md) - [Multicopter Racer Setup](../config_mc/racer_setup.md)
@@ -167,7 +167,7 @@ Yes but it must be physically feasible. E.g. if you make a quadrotor where all m
- [Периферія контролера польоту](../peripherals/README.md) - налаштування конкретних датчиків, опціональних датчиків, приводів тощо. - [Периферія контролера польоту](../peripherals/README.md) - налаштування конкретних датчиків, опціональних датчиків, приводів тощо.
- [Advanced Configuration](../advanced_config/index.md) - Factory/OEM calibration, configuring advanced features, less-common configuration. - [Advanced Configuration](../advanced_config/index.md) - Factory/OEM calibration, configuring advanced features, less-common configuration.
- Конфігурація/налаштування, що залежать від апарату: - Конфігурація/налаштування, що залежать від апарату:
- **Multicopter Config/Tuning** - **Multicopter Config/Tuning**
- [Конфігурація/налаштування гелікоптера](../config_heli/index.md) - [Конфігурація/налаштування гелікоптера](../config_heli/index.md)
- [Fixed Wing Config/Tuning](../config_fw/index.md) - [Fixed Wing Config/Tuning](../config_fw/index.md)
- [Конфігурація/налаштування VTOL](../config_vtol/index.md) - [Конфігурація/налаштування VTOL](../config_vtol/index.md)

View File

@@ -26,13 +26,13 @@ This topic provides full instructions for building the [Holybro X500 V2 ARF Kit]
The Holybro [X500 V2 Kit](https://holybro.com/collections/x500-kits) includes almost all the required components: The Holybro [X500 V2 Kit](https://holybro.com/collections/x500-kits) includes almost all the required components:
- X500V2 Frame Kit - X500V2 Frame Kit
- Body - Full Carbon Fiber Top & Bottom plate (144 x 144mm, 2mm thick) - Body - Full Carbon Fiber Top & Bottom plate (144 x 144mm, 2mm thick)
- Arm - High strength & ultra-lightweight 16mm carbon fiber tubes - Arm - High strength & ultra-lightweight 16mm carbon fiber tubes
- Landing gear - 16mm & 10mm diameter carbon fiber tubes - Landing gear - 16mm & 10mm diameter carbon fiber tubes
- Platform board - With mounting holes for GPS & popular companion computer - Platform board - With mounting holes for GPS & popular companion computer
- Система кріплення з подвійними пружинними валиками 10 мм Ø та довжиною 250 мм - Система кріплення з подвійними пружинними валиками 10 мм Ø та довжиною 250 мм
- Кріплення батареї з двома стропами для батареї - Кріплення батареї з двома стропами для батареї
- Ручні інструменти для встановлення - Ручні інструменти для встановлення
- Holybro Motors - 2216 KV880 x6 (superseded - check [spare parts list](https://holybro.com/products/spare-parts-x500-v2-kit) for current version). - Holybro Motors - 2216 KV880 x6 (superseded - check [spare parts list](https://holybro.com/products/spare-parts-x500-v2-kit) for current version).
- Holybro BLHeli S ESC 20A x4 (superseded - check [spare parts list](https://holybro.com/products/spare-parts-x500-v2-kit) for current version). - Holybro BLHeli S ESC 20A x4 (superseded - check [spare parts list](https://holybro.com/products/spare-parts-x500-v2-kit) for current version).
- Propellers - 1045 x4 (superseded - check [spare parts list](https://holybro.com/products/spare-parts-x500-v2-kit) for current version). - Propellers - 1045 x4 (superseded - check [spare parts list](https://holybro.com/products/spare-parts-x500-v2-kit) for current version).
@@ -93,92 +93,92 @@ _Figure 1_: X500 V2 ARF Kit what's inside
Орієнтовний час збірки - 55 хвилин (25 хвилин на раму, 30 хвилин на встановлення/налаштування автопілота) Орієнтовний час збірки - 55 хвилин (25 хвилин на раму, 30 хвилин на встановлення/налаштування автопілота)
1. Start by assembling the payload & battery holder. 1. Start by assembling the payload & battery holder.
Втисніть гумки в захоплювачі (не використовуйте гострі предмети, щоб їх втиснути в них!). Втисніть гумки в захоплювачі (не використовуйте гострі предмети, щоб їх втиснути в них!).
Далі пропустіть тримачі через планки тримача з основами тримача батарей, як показано на рисунку 3. Далі пропустіть тримачі через планки тримача з основами тримача батарей, як показано на рисунку 3.
![Landing Figure 1: Components](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/payload_holder_required_stuff.png) ![Landing Figure 1: Components](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/payload_holder_required_stuff.png)
_Figure 2_: Payload holder components _Figure 2_: Payload holder components
![Landing Figure 2: Assembled](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/payload_holder_assembled.png) ![Landing Figure 2: Assembled](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/payload_holder_assembled.png)
_Figure 3_: Payload holder assembled _Figure 3_: Payload holder assembled
2. Наступним кроком буде прикріплення нижньої пластини до тримача вантажу. 2. Наступним кроком буде прикріплення нижньої пластини до тримача вантажу.
Вам знадобляться деталі, як показано на рисунку 4. Вам знадобляться деталі, як показано на рисунку 4.
Потім встановіть основу для розподільної плати живлення, використовуючи нейлонові гайки, як зображено на Рис. 5. Потім встановіть основу для розподільної плати живлення, використовуючи нейлонові гайки, як зображено на Рис. 5.
Нарешті, використовуючи 8 шестигранних гвинтів, ви можете приєднати нижню пластину до тримача навантаження (Рисунок 7) Нарешті, використовуючи 8 шестигранних гвинтів, ви можете приєднати нижню пластину до тримача навантаження (Рисунок 7)
![Materials to attach bottom plate](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/topplate_holder_stuff.png) ![Materials to attach bottom plate](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/topplate_holder_stuff.png)
_Figure 4_: Needed Materials _Figure 4_: Needed Materials
![PDB mountbase](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/powerboard-mountbase.png) ![PDB mountbase](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/powerboard-mountbase.png)
_Figure 5_: PDB mount base _Figure 5_: PDB mount base
![PDB attachment](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/pdb_bottom_plate.png) ![PDB attachment](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/pdb_bottom_plate.png)
_Figure 6_: Mounted pdb with nylon nuts _Figure 6_: Mounted pdb with nylon nuts
![Bottom plate Final](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/bottom_plate_holder_final.png) ![Bottom plate Final](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/bottom_plate_holder_final.png)
_Figure 7_: Mounted Plate on payload holder _Figure 7_: Mounted Plate on payload holder
3. Давайте зберемо речі, необхідні для монтажу посадкового шасі, як на рисунку 8. 3. Давайте зберемо речі, необхідні для монтажу посадкового шасі, як на рисунку 8.
Використовуйте гвинти, щоб приєднати посадкові шасі до нижньої пластини. Використовуйте гвинти, щоб приєднати посадкові шасі до нижньої пластини.
Також потрібно відкрити три шестигранних гвинти на кожній з ніжок, щоб ви могли вставити їх у вуглецеві труби. Також потрібно відкрити три шестигранних гвинти на кожній з ніжок, щоб ви могли вставити їх у вуглецеві труби.
Не забудьте знову їх затягнути. Не забудьте знову їх затягнути.
![Attach Landing Gear Stuff](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/landing_gear_materials.png) ![Attach Landing Gear Stuff](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/landing_gear_materials.png)
_Figure 8_: Required parts for landing gear attachment _Figure 8_: Required parts for landing gear attachment
![Lanfing great to bottom plate](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/attached_landing_gear.png) ![Lanfing great to bottom plate](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/attached_landing_gear.png)
_Figure 9_: Landing gear attachment to the body _Figure 9_: Landing gear attachment to the body
4. Зараз ми зберемо все оснащення, щоб встановити верхню пластину. 4. Зараз ми зберемо все оснащення, щоб встановити верхню пластину.
Прошу звернути увагу, що номери моторів на кронштейнах відповідають тим, що згадані на верхній платі. Прошу звернути увагу, що номери моторів на кронштейнах відповідають тим, що згадані на верхній платі.
На щастя, мотори встановлені, а ESCs були з'єднані заздалегідь. На щастя, мотори встановлені, а ESCs були з'єднані заздалегідь.
Почніть, проходячи через всі гвинти, так як ви зафіксували кронштейни на їхніх власних місцях (Вони мають направляючий елемент, як показано на рисунку 11, щоб переконатися, що вони на місці), і трохи підтягніть всі нейлонові гайки. Почніть, проходячи через всі гвинти, так як ви зафіксували кронштейни на їхніх власних місцях (Вони мають направляючий елемент, як показано на рисунку 11, щоб переконатися, що вони на місці), і трохи підтягніть всі нейлонові гайки.
Потім ви зможете підключити роз'єми живлення XT30 до плати живлення. Потім ви зможете підключити роз'єми живлення XT30 до плати живлення.
Пам'ятайте, що дроти сигналу повинні бути проведені через верхню пластину так, що ми зможемо пізніше їх підключити до Pixhawk. Пам'ятайте, що дроти сигналу повинні бути проведені через верхню пластину так, що ми зможемо пізніше їх підключити до Pixhawk.
<img src="../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/needed_stuff_top_plate.png" width="700" title="Arms and top plate materials"> <img src="../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/needed_stuff_top_plate.png" width="700" title="Arms and top plate materials">
_Figure 10_: Connecting arms needed materials. _Figure 10_: Connecting arms needed materials.
<img src="../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/guide_for_arm_mount.png" width="700" title="Guide for the arms mount"> <img src="../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/guide_for_arm_mount.png" width="700" title="Guide for the arms mount">
_Figure 11_: Guide for the arms mount _Figure 11_: Guide for the arms mount
5. Для затягування всіх 16 гвинтів і гайок використовуйте як шестигранний ключ, так і гайковий ключ. 5. Для затягування всіх 16 гвинтів і гайок використовуйте як шестигранний ключ, так і гайковий ключ.
![Top plae mounted](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/finalized_top_plate.png) ![Top plae mounted](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/finalized_top_plate.png)
_Figure 12_: Mounted top plate _Figure 12_: Mounted top plate
6. Наступним кроком ви можете закріпити свій pixhawk на верхній плиті, використовуючи наклейки. 6. Наступним кроком ви можете закріпити свій pixhawk на верхній плиті, використовуючи наклейки.
Рекомендується мати напрямок стрілки вашого Pixhawk таким же, як зазначено на верхній плиті. Рекомендується мати напрямок стрілки вашого Pixhawk таким же, як зазначено на верхній плиті.
![Flight controller mounting stickers](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/pixhawk5x_stickertapes.png) ![Flight controller mounting stickers](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/pixhawk5x_stickertapes.png)
_Figure 13_: Sticker tapes on Pixhawk _Figure 13_: Sticker tapes on Pixhawk
7. Якщо ви хочете встановити GPS на плату компаньйона-комп'ютера, тепер ви можете закріпити кріплення GPS на ній за допомогою 4 гвинтів і гайок. 7. Якщо ви хочете встановити GPS на плату компаньйона-комп'ютера, тепер ви можете закріпити кріплення GPS на ній за допомогою 4 гвинтів і гайок.
<img src="../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/gps_mount_plate.png" width="400" title="Secure GPS mount onto companion plate"> <img src="../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/gps_mount_plate.png" width="400" title="Secure GPS mount onto companion plate">
_Figure 14_: Secure GPS mount onto companion plate _Figure 14_: Secure GPS mount onto companion plate
8. За допомогою скотча приклейте GPS до верхньої частини GPS-щогли і встановіть її на щоглу. 8. За допомогою скотча приклейте GPS до верхньої частини GPS-щогли і встановіть її на щоглу.
Переконайтеся, що стрілка на gps вказує вперед (зображення 15). Переконайтеся, що стрілка на gps вказує вперед (зображення 15).
<img src="../../assets/airframes/multicopter/x500_holybro_pixhawk4/gps2.jpg" width="400" title="Figure 16: GPS and mast"> <img src="../../assets/airframes/multicopter/x500_holybro_pixhawk4/gps2.jpg" width="400" title="Figure 16: GPS and mast">
_Figure 15_: GPS and mast _Figure 15_: GPS and mast
9. Наразі ви можете підключити інтерфейси Pixhawk, такі як телеметрійне радіо до 'TELEM1' та відповідно кабелі сигналів для моторів. 9. Наразі ви можете підключити інтерфейси Pixhawk, такі як телеметрійне радіо до 'TELEM1' та відповідно кабелі сигналів для моторів.
@@ -204,14 +204,14 @@ _QGroundControl_ is used to install the PX4 autopilot and configure/tune it for
- [Airframe](../config/airframe.md) - [Airframe](../config/airframe.md)
You will need to select the _Holybro X500 V2_ airframe (**Quadrotor x > Holybro 500 V2**) You will need to select the _Holybro X500 V2_ airframe (**Quadrotor x > Holybro 500 V2**)
![QGroundControl - Select HolyBro 500 airframe](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/x500v2_airframe_qgc.png) ![QGroundControl - Select HolyBro 500 airframe](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk5x/x500v2_airframe_qgc.png)
- [Actuators](../config/actuators.md) - [Actuators](../config/actuators.md)
- Вам не потрібно оновлювати геометрію транспортного засобу (оскільки це попередньо налаштована конструкція повітряного каркасу). - Вам не потрібно оновлювати геометрію транспортного засобу (оскільки це попередньо налаштована конструкція повітряного каркасу).
- Призначте функції приводу до актуаторів, щоб відповідати вашому підключенню. - Призначте функції приводу до актуаторів, щоб відповідати вашому підключенню.
- Перевірте конфігурацію, використовуючи слайдери. - Перевірте конфігурацію, використовуючи слайдери.
Потім виконайте обов'язкове налаштування / калібрування: Потім виконайте обов'язкове налаштування / калібрування:

View File

@@ -20,12 +20,12 @@ The Reptile Dragon 2 is a twin motor RC airplane specifically designed for effic
- Видалення V-хвоста або варіанти звичайного хвоста включені - Видалення V-хвоста або варіанти звичайного хвоста включені
- Різьбові вставки в крилах та верхній частині фюзеляжу для зовнішнього монтажу - Різьбові вставки в крилах та верхній частині фюзеляжу для зовнішнього монтажу
- Чимало кріплень-ознак - Чимало кріплень-ознак
- Отвір для верхньої антени - Отвір для верхньої антени
- Верхнє покриття GPS - Верхнє покриття GPS
- Кріплення антени біля гільзи "T" - Кріплення антени біля гільзи "T"
- Задній електронний лоток - Задній електронний лоток
- Виріз "екшн камери" на передній панелі - Виріз "екшн камери" на передній панелі
- Виріз для камери FPV спереду - Виріз для камери FPV спереду
- Знімні крила - Знімні крила
- Низька швидкість стійки - Низька швидкість стійки
- Лагідна обробка - Лагідна обробка
@@ -69,10 +69,10 @@ The Reptile Dragon 2 is a twin motor RC airplane specifically designed for effic
- [6s2p 18650 LiIon flight battery](https://www.upgradeenergytech.com/product-page/6s-22-2v-5600mah-30c-dark-lithium-liion-drone-battery) (select XT60 connector) - [6s2p 18650 LiIon flight battery](https://www.upgradeenergytech.com/product-page/6s-22-2v-5600mah-30c-dark-lithium-liion-drone-battery) (select XT60 connector)
- [Custom designed 3D printed parts](https://github.com/PX4/PX4-user_guide/raw/main/assets/airframes/fw/reptile_dragon_2/rd2_3d_printed_parts.zip) - [Custom designed 3D printed parts](https://github.com/PX4/PX4-user_guide/raw/main/assets/airframes/fw/reptile_dragon_2/rd2_3d_printed_parts.zip)
- Монтаж платформи ARK6X - Монтаж платформи ARK6X
- Кріплення для каркасу Holybro Pixhawk 5x - Кріплення для каркасу Holybro Pixhawk 5x
- FPV модуль та кріплення камери - FPV модуль та кріплення камери
- Адаптер "заглушка" статичного зонда Піто - Адаптер "заглушка" статичного зонда Піто
- [Custom designed power distribution PCB](https://github.com/PX4/PX4-user_guide/raw/main/assets/airframes/fw/reptile_dragon_2/xt30_power_distro_pcb.zip) - [Custom designed power distribution PCB](https://github.com/PX4/PX4-user_guide/raw/main/assets/airframes/fw/reptile_dragon_2/xt30_power_distro_pcb.zip)
@@ -425,15 +425,15 @@ With the propellers removed, power the airplane up and use the [Actuator](../con
Я рекомендую перевірити наступні елементи: Я рекомендую перевірити наступні елементи:
- Калібрування датчиків (QGC) - Калібрування датчиків (QGC)
- Калібрування магнітів - Калібрування магнітів
- Калібрування акселерометра - Калібрування акселерометра
- Калібрування швидкості повітря - Калібрування швидкості повітря
- Калібрування рівня горизонту - Калібрування рівня горизонту
- Перевірка контролю над відхиленням поверхні - Перевірка контролю над відхиленням поверхні
- Right stick -> Right aileron goes up, left aileron goes down - Right stick -> Right aileron goes up, left aileron goes down
- Left stick -> Left aileron goes up, right aileron goes down - Left stick -> Left aileron goes up, right aileron goes down
- Stick back -> elevator goes up - Stick back -> elevator goes up
-Stick forward -> elevator goes down -Stick forward -> elevator goes down
- Left rudder -> Rudder goes left - Left rudder -> Rudder goes left
- Right rudder -> Rudder goes right - Right rudder -> Rudder goes right
- Check Px4 inputs (in `stabilized mode`) - Check Px4 inputs (in `stabilized mode`)

View File

@@ -98,11 +98,11 @@ The mapping between flight controller outputs and specific controls/motors depen
Assembly information is covered in several sections: Assembly information is covered in several sections:
- [Basic Assembly](../assembly/index.md) contains topics shows the setup of core components for a number of popular [flight controllers](../flight_controller/index.md). - [Basic Assembly](../assembly/index.md) contains topics shows the setup of core components for a number of popular [flight controllers](../flight_controller/index.md).
Контролери польоту, для яких у нас немає посібників, зазвичай налаштовуються таким же чином (і майже завжди містять схожі посібники з налаштуванням). Контролери польоту, для яких у нас немає посібників, зазвичай налаштовуються таким же чином (і майже завжди містять схожі посібники з налаштуванням).
- [Peripherals](../peripherals/index.md) contains information about other peripherals, including [Airspeed Sensors](../sensor/airspeed.md). - [Peripherals](../peripherals/index.md) contains information about other peripherals, including [Airspeed Sensors](../sensor/airspeed.md).
- [Airframes Reference > VTOL](../airframes/airframe_reference.md#vtol) explains which flight controller outputs must be connected to different flight controls for each airframe configuration: - [Airframes Reference > VTOL](../airframes/airframe_reference.md#vtol) explains which flight controller outputs must be connected to different flight controls for each airframe configuration:
- Виберіть конфігурацію для вашого транспортного засобу, якщо вона існує, оскільки вона буде достатньо попередньо налаштована для польоту (можливо, потребує тільки дрібного налаштування). - Виберіть конфігурацію для вашого транспортного засобу, якщо вона існує, оскільки вона буде достатньо попередньо налаштована для польоту (можливо, потребує тільки дрібного налаштування).
- В іншому випадку виберіть "Загальну конструкцію", яка відповідає вашому транспортному засобу. - В іншому випадку виберіть "Загальну конструкцію", яка відповідає вашому транспортному засобу.
In addition, build logs showing how others have set up different types of vehicles are provided as sub topics. In addition, build logs showing how others have set up different types of vehicles are provided as sub topics.
For example see [FunCub QuadPlane](../frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md). For example see [FunCub QuadPlane](../frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md).

View File

@@ -29,151 +29,151 @@ This consists of a single _C_ file and a _cmake_ definition (which tells the too
2. Create a new C file in that directory named **px4_simple_app.c**: 2. Create a new C file in that directory named **px4_simple_app.c**:
- Скопіюйте заголовок за замовчуванням у верхній частині сторінки. - Скопіюйте заголовок за замовчуванням у верхній частині сторінки.
Це повинно бути присутнім у всіх розміщених файлах! Це повинно бути присутнім у всіх розміщених файлах!
```c ```c
/**************************************************************************** /****************************************************************************
* *
* Copyright (c) 2012-2022 PX4 Development Team. All rights reserved. * Copyright (c) 2012-2022 PX4 Development Team. All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions * modification, are permitted provided that the following conditions
* are met: * are met:
* *
* 1. Redistributions of source code must retain the above copyright * 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer. * notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright * 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in * notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the * the documentation and/or other materials provided with the
* distribution. * distribution.
* 3. Neither the name PX4 nor the names of its contributors may be * 3. Neither the name PX4 nor the names of its contributors may be
* used to endorse or promote products derived from this software * used to endorse or promote products derived from this software
* without specific prior written permission. * without specific prior written permission.
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE. * POSSIBILITY OF SUCH DAMAGE.
* *
****************************************************************************/ ****************************************************************************/
``` ```
- Скопіюйте наступний код під заголовком за замовчуванням. - Скопіюйте наступний код під заголовком за замовчуванням.
Це повинно бути присутнім у всіх розміщених файлах! Це повинно бути присутнім у всіх розміщених файлах!
```c ```c
/** /**
* @file px4_simple_app.c * @file px4_simple_app.c
* Minimal application example for PX4 autopilot * Minimal application example for PX4 autopilot
* *
* @author Example User <mail@example.com> * @author Example User <mail@example.com>
*/ */
#include <px4_platform_common/log.h> #include <px4_platform_common/log.h>
__EXPORT int px4_simple_app_main(int argc, char *argv[]); __EXPORT int px4_simple_app_main(int argc, char *argv[]);
int px4_simple_app_main(int argc, char *argv[]) int px4_simple_app_main(int argc, char *argv[])
{ {
PX4_INFO("Hello Sky!"); PX4_INFO("Hello Sky!");
return OK; return OK;
} }
``` ```
:::tip :::tip
The main function must be named `<module_name>_main` and exported from the module as shown. The main function must be named `<module_name>_main` and exported from the module as shown.
::: :::
:::tip :::tip
`PX4_INFO` is the equivalent of `printf` for the PX4 shell (included from **px4_platform_common/log.h**). `PX4_INFO` is the equivalent of `printf` for the PX4 shell (included from **px4_platform_common/log.h**).
There are different log levels: `PX4_INFO`, `PX4_WARN`, `PX4_ERR`, `PX4_DEBUG`. There are different log levels: `PX4_INFO`, `PX4_WARN`, `PX4_ERR`, `PX4_DEBUG`.
Warnings and errors are additionally added to the [ULog](../dev_log/ulog_file_format.md) and shown on [Flight Review](https://logs.px4.io/). Warnings and errors are additionally added to the [ULog](../dev_log/ulog_file_format.md) and shown on [Flight Review](https://logs.px4.io/).
::: :::
3. Create and open a new _cmake_ definition file named **CMakeLists.txt**. 3. Create and open a new _cmake_ definition file named **CMakeLists.txt**.
Скопіюйте текст нижче: Скопіюйте текст нижче:
```cmake ```cmake
############################################################################ ############################################################################
# #
# Copyright (c) 2015 PX4 Development Team. All rights reserved. # Copyright (c) 2015 PX4 Development Team. All rights reserved.
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions # modification, are permitted provided that the following conditions
# are met: # are met:
# #
# 1. Redistributions of source code must retain the above copyright # 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer. # notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright # 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in # notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the # the documentation and/or other materials provided with the
# distribution. # distribution.
# 3. Neither the name PX4 nor the names of its contributors may be # 3. Neither the name PX4 nor the names of its contributors may be
# used to endorse or promote products derived from this software # used to endorse or promote products derived from this software
# without specific prior written permission. # without specific prior written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED # OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE. # POSSIBILITY OF SUCH DAMAGE.
# #
############################################################################ ############################################################################
px4_add_module( px4_add_module(
MODULE examples__px4_simple_app MODULE examples__px4_simple_app
MAIN px4_simple_app MAIN px4_simple_app
STACK_MAIN 2000 STACK_MAIN 2000
SRCS SRCS
px4_simple_app.c px4_simple_app.c
DEPENDS DEPENDS
) )
``` ```
The `px4_add_module()` method builds a static library from a module description. The `px4_add_module()` method builds a static library from a module description.
- The `MODULE` block is the Firmware-unique name of the module (by convention the module name is prefixed by parent directories back to `src`). - The `MODULE` block is the Firmware-unique name of the module (by convention the module name is prefixed by parent directories back to `src`).
- The `MAIN` block lists the entry point of the module, which registers the command with NuttX so that it can be called from the PX4 shell or SITL console. - The `MAIN` block lists the entry point of the module, which registers the command with NuttX so that it can be called from the PX4 shell or SITL console.
:::tip :::tip
The `px4_add_module()` format is documented in [PX4-Autopilot/cmake/px4_add_module.cmake](https://github.com/PX4/PX4-Autopilot/blob/main/cmake/px4_add_module.cmake). <!-- NEED px4_version --> The `px4_add_module()` format is documented in [PX4-Autopilot/cmake/px4_add_module.cmake](https://github.com/PX4/PX4-Autopilot/blob/main/cmake/px4_add_module.cmake). <!-- NEED px4_version -->
::: :::
::: info ::: info
If you specify `DYNAMIC` as an option to `px4_add_module`, a _shared library_ is created instead of a static library on POSIX platforms (these can be loaded without having to recompile PX4, and shared to others as binaries rather than source code). If you specify `DYNAMIC` as an option to `px4_add_module`, a _shared library_ is created instead of a static library on POSIX platforms (these can be loaded without having to recompile PX4, and shared to others as binaries rather than source code).
Your app will not become a builtin command, but ends up in a separate file called `examples__px4_simple_app.px4mod`. Your app will not become a builtin command, but ends up in a separate file called `examples__px4_simple_app.px4mod`.
You can then run your command by loading the file at runtime using the `dyn` command: `dyn ./examples__px4_simple_app.px4mod` You can then run your command by loading the file at runtime using the `dyn` command: `dyn ./examples__px4_simple_app.px4mod`
::: :::
4. Create and open a new _Kconfig_ definition file named **Kconfig** and define your symbol for naming (see [Kconfig naming convention](../hardware/porting_guide_config.md#px4-kconfig-symbol-naming-convention)). 4. Create and open a new _Kconfig_ definition file named **Kconfig** and define your symbol for naming (see [Kconfig naming convention](../hardware/porting_guide_config.md#px4-kconfig-symbol-naming-convention)).
Скопіюйте текст нижче: Скопіюйте текст нижче:
``` ```
menuconfig EXAMPLES_PX4_SIMPLE_APP menuconfig EXAMPLES_PX4_SIMPLE_APP
bool "px4_simple_app" bool "px4_simple_app"
default n default n
---help--- ---help---
Enable support for px4_simple_app Enable support for px4_simple_app
``` ```
## Побудуйте Програму/прошивку ## Побудуйте Програму/прошивку

View File

@@ -347,7 +347,7 @@ CONFIG_DRIVERS_RPM_CAPTURE=y
Additionally, to enable the module: Additionally, to enable the module:
- Set [ICE_EN](../advanced_config/parameter_reference.md#ICE_EN) - Set [ICE_EN](../advanced_config/parameter_reference.md#ICE_EN)
to true and adjust the other `ICE_` module parameters according to your needs. to true and adjust the other `ICE_` module parameters according to your needs.
- Set [RPM_CAP_ENABLE](../advanced_config/parameter_reference.md#RPM_CAP_ENABLE) to true. - Set [RPM_CAP_ENABLE](../advanced_config/parameter_reference.md#RPM_CAP_ENABLE) to true.
The module outputs control signals for ignition, throttle, and choke, The module outputs control signals for ignition, throttle, and choke,
@@ -367,8 +367,8 @@ The state machine:
- Checks if [Rpm.msg](../msg_docs/Rpm.md) is updated to know if the engine is running - Checks if [Rpm.msg](../msg_docs/Rpm.md) is updated to know if the engine is running
- Allows for user inputs from: - Allows for user inputs from:
- AUX{N} - AUX{N}
- Arming state in [VehicleStatus.msg](../msg_docs/VehicleStatus.md) - Arming state in [VehicleStatus.msg](../msg_docs/VehicleStatus.md)
The module publishes [InternalCombustionEngineControl.msg](../msg_docs/InternalCombustionEngineControl.md). The module publishes [InternalCombustionEngineControl.msg](../msg_docs/InternalCombustionEngineControl.md).
@@ -484,7 +484,7 @@ The normal log is always a superset of the mission log.
The implementation uses two threads: The implementation uses two threads:
- The main thread, running at a fixed rate (or polling on a topic if started with -p) and checking for - The main thread, running at a fixed rate (or polling on a topic if started with -p) and checking for
data updates data updates
- The writer thread, writing data to the file - The writer thread, writing data to the file
In between there is a write buffer with configurable size (and another fixed-size buffer for In between there is a write buffer with configurable size (and another fixed-size buffer for
@@ -688,9 +688,9 @@ There are 2 environment variables used for configuration: `replay`, which must b
the log file to be replayed. The second is the mode, specified via `replay_mode`: the log file to be replayed. The second is the mode, specified via `replay_mode`:
- `replay_mode=ekf2`: specific EKF2 replay mode. It can only be used with the ekf2 module, but allows the replay - `replay_mode=ekf2`: specific EKF2 replay mode. It can only be used with the ekf2 module, but allows the replay
to run as fast as possible. to run as fast as possible.
- Generic otherwise: this can be used to replay any module(s), but the replay will be done with the same speed as the - Generic otherwise: this can be used to replay any module(s), but the replay will be done with the same speed as the
log was recorded. log was recorded.
The module is typically used together with uORB publisher rules, to specify which messages should be replayed. The module is typically used together with uORB publisher rules, to specify which messages should be replayed.
The replay module will just publish all messages that are found in the log. It also applies the parameters from The replay module will just publish all messages that are found in the log. It also applies the parameters from
@@ -842,12 +842,12 @@ it into a more usable form, and publishes it for the rest of the system.
The provided functionality includes: The provided functionality includes:
- Read the output from the sensor drivers (`SensorGyro`, etc.). - Read the output from the sensor drivers (`SensorGyro`, etc.).
If there are multiple of the same type, do voting and failover handling. If there are multiple of the same type, do voting and failover handling.
Then apply the board rotation and temperature calibration (if enabled). And finally publish the data; one of the Then apply the board rotation and temperature calibration (if enabled). And finally publish the data; one of the
topics is `SensorCombined`, used by many parts of the system. topics is `SensorCombined`, used by many parts of the system.
- Make sure the sensor drivers get the updated calibration parameters (scale & offset) when the parameters change or - Make sure the sensor drivers get the updated calibration parameters (scale & offset) when the parameters change or
on startup. The sensor drivers use the ioctl interface for parameter updates. For this to work properly, the on startup. The sensor drivers use the ioctl interface for parameter updates. For this to work properly, the
sensor drivers must already be running when `sensors` is started. sensor drivers must already be running when `sensors` is started.
- Do sensor consistency checks and publish the `SensorsStatusImu` topic. - Do sensor consistency checks and publish the `SensorsStatusImu` topic.
### Імплементація ### Імплементація

View File

@@ -25,37 +25,37 @@ Other examples in Python can be found here: [integrationtests/python_src/px4_it/
1. Open the terminal and go to `~/catkin_ws/src` directory 1. Open the terminal and go to `~/catkin_ws/src` directory
```sh ```sh
roscd # Should cd into ~/catkin_ws/devel roscd # Should cd into ~/catkin_ws/devel
cd .. cd ..
cd src cd src
``` ```
2. In the `~/catkin_ws/src` directory create a new package named `offboard_py` (in this case) with the `rospy` dependency: 2. In the `~/catkin_ws/src` directory create a new package named `offboard_py` (in this case) with the `rospy` dependency:
```sh ```sh
catkin_create_pkg offboard_py rospy catkin_create_pkg offboard_py rospy
``` ```
3. Build the new package in the `~/catkin_ws/` directory: 3. Build the new package in the `~/catkin_ws/` directory:
```sh ```sh
cd .. # Assuming previous directory to be ~/catkin_ws/src cd .. # Assuming previous directory to be ~/catkin_ws/src
catkin build catkin build
source devel/setup.bash source devel/setup.bash
``` ```
4. Тепер ви можете мати можливість перейти до пакета, використовуючи: 4. Тепер ви можете мати можливість перейти до пакета, використовуючи:
```sh ```sh
``` ```
5. To store your Python files, create a new folder called `/scripts` on the package: 5. To store your Python files, create a new folder called `/scripts` on the package:
```sh ```sh
mkdir scripts mkdir scripts
cd scripts cd scripts
``` ```
## Код ## Код

View File

@@ -37,63 +37,63 @@ This is needed because, by default, you cannot arm a vehicle without a connectio
2. Створіть новий каталог робочого простору colcon і перейдіть до нього за допомогою: 2. Створіть новий каталог робочого простору colcon і перейдіть до нього за допомогою:
```sh ```sh
mkdir -p ~/ws_offboard_control/src/ mkdir -p ~/ws_offboard_control/src/
cd ~/ws_offboard_control/src/ cd ~/ws_offboard_control/src/
``` ```
3. Clone the [px4_msgs](https://github.com/PX4/px4_msgs) repo to the `/src` directory (this repo is needed in every ROS 2 PX4 workspace!): 3. Clone the [px4_msgs](https://github.com/PX4/px4_msgs) repo to the `/src` directory (this repo is needed in every ROS 2 PX4 workspace!):
```sh ```sh
git clone https://github.com/PX4/px4_msgs.git git clone https://github.com/PX4/px4_msgs.git
# checkout the matching release branch if not using PX4 main. # checkout the matching release branch if not using PX4 main.
``` ```
4. Clone the example repository [px4_ros_com](https://github.com/PX4/px4_ros_com) to the `/src` directory: 4. Clone the example repository [px4_ros_com](https://github.com/PX4/px4_ros_com) to the `/src` directory:
```sh ```sh
git clone https://github.com/PX4/px4_ros_com.git git clone https://github.com/PX4/px4_ros_com.git
``` ```
5. Source the ROS 2 development environment into the current terminal and compile the workspace using `colcon`: 5. Source the ROS 2 development environment into the current terminal and compile the workspace using `colcon`:
:::: tabs :::: tabs
::: tab humble ::: tab humble
```sh ```sh
cd .. cd ..
source /opt/ros/humble/setup.bash source /opt/ros/humble/setup.bash
colcon build colcon build
``` ```
::: :::
::: tab foxy ::: tab foxy
```sh ```sh
cd .. cd ..
source /opt/ros/foxy/setup.bash source /opt/ros/foxy/setup.bash
colcon build colcon build
``` ```
::: :::
:::: ::::
6. Source the `local_setup.bash`: 6. Source the `local_setup.bash`:
```sh ```sh
source install/local_setup.bash source install/local_setup.bash
``` ```
7. Запустіть приклад. 7. Запустіть приклад.
``` ```
ros2 run px4_ros_com offboard_control ros2 run px4_ros_com offboard_control
``` ```
Транспортний засіб повинен озброїтися, піднятися на 5 метрів і потім зачекати (вічно). Транспортний засіб повинен озброїтися, піднятися на 5 метрів і потім зачекати (вічно).