Move PX4 Guide source into /docs (#24490)

* Add vitepress tree

* Update existing workflows so they dont trigger on changes in the docs path

* Add nojekyll, package.json, LICENCE etc

* Add crowdin docs upload/download scripts

* Add docs flaw checker workflows

* Used docs prefix for docs workflows

* Crowdin obvious fixes

* ci: docs move to self hosted runner

runs on a beefy server for faster builds

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

* ci: don't run build action for docs or ci changes

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

* ci: update runners

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

* Add docs/en

* Add docs assets and scripts

* Fix up editlinks to point to PX4 sources

* Download just the translations that are supported

* Add translation sources for zh, uk, ko

* Update latest tranlsation and uorb graphs

* update vitepress to latest

---------

Signed-off-by: Ramon Roche <mrpollo@gmail.com>
Co-authored-by: Ramon Roche <mrpollo@gmail.com>
This commit is contained in:
Hamish Willee
2025-03-13 16:08:27 +11:00
committed by GitHub
co-authored by Ramon Roche
parent 8e6d2ebe4a
commit 88d623bedb
5176 changed files with 558771 additions and 2 deletions
+216
View File
@@ -0,0 +1,216 @@
# Симуляція Flightgear
:::warning
This simulator is [community supported and maintained](../simulation/community_supported_simulators.md).
Це може працювати або не працювати з поточними версіями PX4.
Дивіться [Встановлення інструментарію](../dev_setup/dev_env.md) для інформації про середовища та інструменти, що підтримуються основною командою розробників.
:::
[FlightGear](https://www.flightgear.org/) is a flight simulator with powerful [FDM engines](http://wiki.flightgear.org/Flight_Dynamics_Model).
This allows FlightGear to simulate rotorcrafts under various meteorological conditions (which is why the bridge was originally developed by [ThunderFly s.r.o.](https://www.thunderfly.cz/)).
Ця сторінка описує використання FlightGear з одним транспортним засобом у реальному часі на віртуальному полігоні (SITL).
For information about multi-vehicle use see: [Multi-Vehicle Simulation with FlightGear](../sim_flightgear/multi_vehicle.md).
**Supported Vehicles:** Autogyro, Plane, Rover.
<lite-youtube videoid="iqdcN5Gj4wI" title="[ThunderFly] PX4 SITL with Flightgear, Rascal110 - electric version"/>
[![Mermaid Graph ](https://mermaid.ink/img/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEZsaWdodEdlYXIgLS0-IEZsaWdodEdlYXItQnJpZGdlO1xuICBGbGlnaHRHZWFyLUJyaWRnZSAtLT4gTUFWTGluaztcbiAgTUFWTGluayAtLT4gUFg0X1NJVEw7XG5cdCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEZsaWdodEdlYXIgLS0-IEZsaWdodEdlYXItQnJpZGdlO1xuICBGbGlnaHRHZWFyLUJyaWRnZSAtLT4gTUFWTGluaztcbiAgTUFWTGluayAtLT4gUFg0X1NJVEw7XG5cdCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9)
<!-- Original mermaid graph
graph LR;
FlightGear-- >FlightGear-Bridge;
FlightGear-Bridge-- >MAVLink;
MAVLink-- >PX4_SITL;
-->
:::info
See [Simulation](../simulation/index.md) for general information about simulators, the simulation environment, and simulation configuration (e.g. supported vehicles).
:::
## Встановлення (Ubuntu Linux)
:::info
These instructions were tested on Ubuntu 18.04
:::
1. Install the usual [Development Environment on Ubuntu LTS / Debian Linux](../dev_setup/dev_env_linux_ubuntu.md).
2. Встановити FlightGear:
```sh
sudo add-apt-repository ppa:saiarcot895/flightgear
sudo apt update
sudo apt install flightgear
```
Це встановить останню стабільну версію FlightGear зі сховища PAA разом із пакетом FGdata.
:::tip
For some models (e.g. those with electric engines) the daily build with the newest features may be necessary.
Install this using the [daily build PPA](https://launchpad.net/~saiarcot895/+archive/ubuntu/flightgear-edge).
:::
3. Перевірте, що ви можете запустити FlightGear:
```sh
fgfs --launcher
```
4. Set write permissions to the **Protocols** folder in the FlightGear installation directory:
```sh
sudo chmod a+w /usr/share/games/flightgear/Protocol
```
Налаштування дозволів потрібне, оскільки PX4-FlightGear-Bridge розміщує тут файл визначення зв’язку.
Additional installation instructions can be found on [FlightGear wiki](http://wiki.flightgear.org/Howto:Install_Flightgear_from_a_PPA).
## Запуск симуляції
Запустіть симуляцію, запустивши PX4 SITL та вказавши конфігурацію повітряного каркасу на ваш вибір.
The easiest way to do this is to open a terminal in the root directory of the PX4 _PX4-Autopilot_ repository and call `make` for the desired target.Наприклад, для запуску симуляції літака:
```sh
cd /path/to/PX4-Autopilot
make px4_sitl_nolockstep flightgear_rascal
```
The supported vehicles and `make` commands are listed below (click on the links to see the vehicle images).
| Транспортний засіб | Команда |
| ------------------------------------------------------------------------------------------------------------ | -------------------------------------------- |
| [Standard Plane](../sim_flightgear/vehicles.md#standard-plane) | `make px4_sitl_nolockstep flightgear_rascal` |
| [Ackermann vehicle (UGV/Rover)](../sim_flightgear/vehicles.md#ackerman-vehicle-ugv-rover) | `make px4_sitl_nolockstep flightgear_tf-r1` |
| [Autogyro](../sim_flightgear/vehicles.md#autogyro) | `make px4_sitl_nolockstep flightgear_tf-g1` |
Вищенаведені команди запускають єдиний засіб з повним користувацьким інтерфейсом.
_QGroundControl_ should be able to automatically connect to the simulated vehicle.
:::info
For the full list of FlightGear build targets (highlighted) run:
```sh
make px4_sitl_nolockstep list_vmd_make_targets | grep flightgear_
```
For additional information see: [FlightGear Vehicles](../sim_flightgear/vehicles.md) (this includes information about "unsupported" vehicles, and adding new vehicles).
:::
:::info
The [Installing Files and Code](../dev_setup/dev_env.md) guide is a useful reference if there are build errors.
:::
## Підйом у небо
The `make` commands mentioned above first build PX4 and then run it along with the FlightGear simulator.
Після запуску PX4 запуститься оболонка PX4, як показано нижче.
Ви повинні вибрати enter, щоб відкрити командний рядок.
```sh
______ __ __ ___
| ___ \ \ \ / / / |
| |_/ / \ V / / /| |
| __/ / \ / /_| |
| | / /^\ \ \___ |
\_| \/ \/ |_/
px4 starting.
INFO [px4] Calling startup script: /bin/sh etc/init.d-posix/rcS 0
INFO [param] selected parameter default file eeprom/parameters_1034
I'm Mavlink to FlightGear Bridge
Target Bridge Freq: 200, send data every step: 1
4
5 -1
7 -1
2 1
4 1
[param] Loaded: eeprom/parameters_1034
INFO [dataman] Unknown restart, data manager file './dataman' size is 11798680 bytes
INFO [simulator] Waiting for simulator to accept connection on TCP port 4560
INFO [simulator] Simulator connected on TCP port 4560.
INFO [commander] LED: open /dev/led0 failed (22)
INFO [commander] Mission #3 loaded, 9 WPs, curr: 8
INFO [mavlink] mode: Normal, data rate: 4000000 B/s on udp port 18570 remote port 14550
INFO [airspeed_selector] No airspeed sensor detected. Switch to non-airspeed mode.
INFO [mavlink] mode: Onboard, data rate: 4000000 B/s on udp port 14580 remote port 14540
INFO [mavlink] mode: Onboard, data rate: 4000 B/s on udp port 14280 remote port 14030
INFO [logger] logger started (mode=all)
INFO [logger] Start file log (type: full)
INFO [logger] Opened full log file: ./log/2020-04-28/22_03_36.ulg
INFO [mavlink] MAVLink only on localhost (set param MAV_{i}_BROADCAST = 1 to enable network)
INFO [px4] Startup script returned successfully
pxh> StatsHandler::StatsHandler() Setting up GL2 compatible shaders
Now checking for plug-in osgPlugins-3.4.1/osgdb_nvtt.so
PX4 Communicator: PX4 Connected.
pxh>
```
Консоль буде виводити статус поки PX4 завантажує файли ініціалізації та параметрів для певного планера, чекати та (підключатися) до симулятора.
Once there is an INFO print that [ecl/EKF] is `commencing GPS fusion` the vehicle is ready to arm.
На цьому етапі ви повинні побачити вікно FlightGear з якоюсь видимою частиною літака.
:::info
You can change the view by pressing **Ctrl+V**.
:::
![FlightGear UI](../../assets/simulation/flightgear/flightgearUI.jpg)
Ви можете підняти його у повітря надрукувавши:
```sh
pxh> commander takeoff
```
## Використання/Налаштування
Ви можете налаштувати вашу FG установку/налаштування за допомогою наступних змінних середовища:
- `FG\_BINARY` - absolute path to FG binary to run. (Це може бути AppImage)
- `FG\_MODELS\_DIR` - absolute path to the folder containing the manually-downloaded aircraft models which should be used for simulation.
- `FG\_ARGS\_EX` - any additional FG parameters.
<a id="frame_rate"></a>
### Відображення частоти кадрів
In FlightGear you can display the frame rate by enabling it in: **View > View Options > Show frame rate**.
### Встановлення власного місця зльоту
Місце зльоту в SITL FlightGear можна встановити за допомогою додаткових змінних.
Встановлення змінної перевищить місце вильоту за замовчуванням.
The variables which can be set are as follows: `--airport`, `--runway`, and `--offset-distance`.
Other options can be found on [FlightGear wiki](http://wiki.flightgear.org/Command_line_options#Initial_Position_and_Orientation)
Наприклад:
```sh
FG_ARGS_EX="--airport=PHNL" make px4_sitl_nolockstep flightgear_rascal
```
The example above starts the simulation on the [Honolulu international airport](http://wiki.flightgear.org/Suggested_airports)
### Використання джойстика
Joystick and thumb-joystick are supported through _QGroundControl_ ([setup instructions here](../simulation/index.md#joystick-gamepad-integration)).
Вхід джойстика в FlightGear слід вимкнути, в іншому випадку виникне "конфлікт умов" між введенням джойстика FG та командами PX4.
## Розширення та персоналізація
To extend or customize the simulation interface, edit the files in the **Tools/simulation/flightgear/flightgear_bridge** folder.
The code is available in the [PX4-FlightGear-Bridge repository](https://github.com/ThunderFly-aerospace/PX4-FlightGear-Bridge) on Github.
## Подальша інформація
- [PX4-FlightGear-Bridge readme](https://github.com/ThunderFly-aerospace/PX4-FlightGear-Bridge)
+60
View File
@@ -0,0 +1,60 @@
# Симуляція кількох літальних апаратів з FlightGear
:::warning
This simulator is [community supported and maintained](../simulation/community_supported_simulators.md).
Це може працювати або не працювати з поточними версіями PX4.
Дивіться [Встановлення інструментарію](../dev_setup/dev_env.md) для інформації про середовища та інструменти, що підтримуються основною командою розробників.
:::
Цей розділ пояснює як моделювати кілька транспортних засобів за допомогою FlightGear в SITL.
Всі екземпляри транспортних засобів мають параметри, визначені їхніми сценаріями запуску.
:::info
This is the most environmentally realistic way to simulate multiple vehicles running PX4, and allows easy testing of multiple different types of vehicles.
It is suitable for testing multi-vehicle support in _QGroundControl_, [MAVSDK](https://mavsdk.mavlink.io/), etc.
[Multi-Vehicle Simulation with Gazebo Classic](../sim_gazebo_classic/multi_vehicle_simulation.md) should be used instead for: swarm simulations with many vehicles, and testing features like computer vision that are only supported by Gazebo Classic.
:::
## Як запустити кілька екземплярів
Для запуску кількох екземплярів (на окремих портах та ID):
1. Checkout the [PX4 branch that supports multiple vehicles](https://github.com/ThunderFly-aerospace/PX4Firmware/tree/flightgear-multi) (at ThunderFly-aerospace):
```sh
git clone https://github.com/ThunderFly-aerospace/PX4Firmware.git
cd PX4Firmware
git checkout flightgear-multi
```
2. Побудуйте прошивку PX4 за допомогою стандартного інструментарію (з встановленим FlightGear).
3. Start the first instance using the [predefined scripts](https://github.com/ThunderFly-aerospace/PX4-FlightGear-Bridge/tree/master/scripts):
```sh
cd ./Tools/flightgear_bridge/scripts
./vehicle1.sh
```
4. Почніть наступні екземпляри, використовуючи інший скрипт:
```sh
./vehicle2.sh
```
Кожен екземпляр повинен мати свій власний запусковий скрипт, який може представляти абсолютно різний тип транспортного засобу.
Для підготовлених сценаріїв вам слід отримати наступний вигляд.
![Multi-vehicle simulation using PX4 SITL and FlightGear](../../assets/simulation/flightgear/flightgear-multi-vehicle-sitl.jpg)
Ground stations such as _QGroundControl_ connect to all instances using the normal UDP port 14550 (all traffic goes to the same port).
Кількість одночасно працюючих екземплярів обмежена в основному ресурсами комп'ютера.
FlightGear є однопотоковим додатком, але розв'язувачі аеродинаміки споживають багато пам'яті.
Therefore splitting to multiple computers and using a [multiplayer server](https://wiki.flightgear.org/Howto:Multiplayer) is probably required to run _many_ vehicle instances.
## Додаткові ресурси
- See [Simulation](../simulation/index.md) for more information about the port configuration.
+130
View File
@@ -0,0 +1,130 @@
# Літальні апарати FlightGear
:::warning
This simulator is [community supported and maintained](../simulation/community_supported_simulators.md).
Це може працювати або не працювати з поточними версіями PX4.
Дивіться [Встановлення інструментарію](../dev_setup/dev_env.md) для інформації про середовища та інструменти, що підтримуються основною командою розробників.
:::
This topic lists/displays the vehicles supported by the PX4 [FlightGear](../sim_flightgear/index.md) simulation, and the `make` commands required to run them (the commands are run from terminal in the **PX4-Autopilot** directory).
Підтримувані типи: літак, автогир та ровер (існують конкретні рамки в межах цих типів).
:::tip
For the full list of build targets run `make px4_sitl list_vmd_make_targets` (filter out those that start with `flightgear_`).
:::
:::info
The [FlightGear](../sim_flightgear/index.md) page shows how to install and use FlightGear in more detail (this page is a summary of vehicle-specific features).
:::
## Стандартний літак
FlightGear має моделі для багатьох літаків.
The most suitable one for UAV development is currently the [Rascal RC plane](https://github.com/ThunderFly-aerospace/FlightGear-Rascal) (which also exists in multiple variants).
![Rascal plane in FlightGear](../../assets/simulation/flightgear/vehicles/rascal110.jpg)
The variants differ mainly by the [FDM](http://wiki.flightgear.org/Flight_Dynamics_Model) model.
All variants have a common feature selection table that can be activated by pressing the `=` key on the computer keyboard.
Є спливаюче вікно, яке може бути використане для активації розширених функцій.
![Rascal plane FlightGear advanced options](../../assets/simulation/flightgear/vehicles/rascal_options.jpg)
Найбільш відповідна опція:
- Smoke - generates a smoke trail to enhance the visibility of aircraft in the air (smoke and particles option needs to be activated in **FG View > rendering options > Particles checkbox**).
- Маркери траєкторії - відображають ортогональні маркери по траєкторії польоту.
Маркери траєкторії показують абсолютний шлях польоту в світових координатах, а димовий слід показує відносний шлях у повітряній масі.
### Rascal 110 YASim
Основний варіант моделі Rascal має модель згоряння поршневого двигуна.
Це призводить до ненульової потужності холостого ходу, що викликає обертання гвинта на холостих обертах двигуна.
Команда запуску:
```sh
make px4_sitl_nolockstep flightgear_rascal
```
### Rascal 110 Електричний YASim
Транспортний засіб Rascal з електричним двигуном.
```sh
make px4_sitl_nolockstep flightgear_rascal-electric
```
:::info
This variant needs the latest FlightGear code (sources at least from 26 April 2020).
В іншому випадку, FlightGear аварійно завершує роботу через неочікуване визначення електричного двигуна.
:::
### Rascal 110 JSBsim
Rascal JSBsim варіант.
This variant does not have a direct `make` option but can be manually selected in the **rascal.json** configuration file (part of [PX4-FlightGear-Bridge](https://github.com/ThunderFly-aerospace/PX4-FlightGear-Bridge)).
Simply change `Rascal110-YASim` to `Rascal110-JSBSim` in [this file](https://github.com/ThunderFly-aerospace/PX4-FlightGear-Bridge/blob/master/models/rascal.json#L2).
## Автогиро
The only UAV autogyro model supported by FlightGear is [TF-G1 Autogyro](https://github.com/ThunderFly-aerospace/TF-G1).
```sh
make px4_sitl_nolockstep flightgear_tf-g1
```
![TF-G1 in FlightGear](../../assets/simulation/flightgear/vehicles/tf-g1.jpg)
## Автомобіль Акермана (UGV/Rover)
### TF-R1 Ровер наземної підтримки
Цей ровер обладнаний буксирним гачком і може бути використаний для повітряного буксирування інших транспортних засобів.
```sh
make px4_sitl_nolockstep flightgear_tf-r1
```
![TF-R1 rover in FlightGear](../../assets/simulation/flightgear/vehicles/tf-r1_towing.jpg)
## Квадротор
There is only an [incomplete multirotor model](https://github.com/ThunderFly-aerospace/FlightGear-TF-Mx1).
Це ще не можна використовувати (воно чисельно нестійке і потребує додаткової роботи).
## Додавання нового транспортного засобу
A new vehicle model needs to be included as a git submodule into [PX4-FlightGear-Bridge/models/](https://github.com/PX4/PX4-FlightGear-Bridge/tree/master/models) directory.
This directory contains an control channel definition [JSON file](https://github.com/PX4/PX4-FlightGear-Bridge/blob/master/models/rascal.json).
```json
{
"FgModel": "Rascal110-YASim",
"Url": "https://github.com/ThunderFly-aerospace/FlightGear-Rascal/archive/master.zip",
"Controls": [
["5", "/controls/flight/aileron", "-1"],
["7", "/controls/flight/elevator", "-1"],
["2", "/controls/flight/rudder", "1"],
["4", "/controls/engines/engine/throttle", "1"]
]
}
```
Зміст файлу означає наступне:
- `FgModel` - a precise case sensitive name of the FlightGear model corresponding to "XXXX-set.xml" in the model directory (where XXXX is the model name).
- `Url` is optional and it is not currently used. Призначено для майбутнього використання для автоматичного завантаження моделей з Інтернету
- `Controls` - the most important part of the process of adding a vehicle. This section contains the mapping between the PX4 mixer file and [FlightGear property tree](http://wiki.flightgear.org/Property_tree).
- Перше число у списку вибирає вихід змішувача PX4.
- Рядок шляху - це змінна FlightGear, яка знаходиться в дереві властивостей.
- Останній номер у списку є множником, що дозволяє інвертування або масштабування входу мікшера.
Після підготовки всіх цих файлів до системи PX4 потрібно додати новий транспортний засіб.
The PX4 configuration is in [/platforms/posix/cmake/sitl_target.cmake](https://github.com/PX4/PX4-Autopilot/blob/c5341da8137f460c84f47f0e38293667ea69a6cb/platforms/posix/cmake/sitl_target.cmake#L164-L171).
Ім'я нового json-файлу для транспортного засобу повинно бути додане до списку.