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
parent 8e6d2ebe4a
commit 88d623bedb
5176 changed files with 558771 additions and 2 deletions
+12
View File
@@ -0,0 +1,12 @@
# Розширені функції
Цей розділ містить теми, пов'язані з деякими більш розширеними функціями автопілота PX4:
- [Уникнення повітряного трафіку: ADS-B/FLARM/UTM](../peripherals/adsb_flarm.md)
- [Комп'ютерний зір](../computer_vision/index.md)
- [Попередження зіткнень](../computer_vision/collision_prevention.md) (може використовувати комп'ютер-компаньйон або датчики на польотному контролері)
- [Захоплення руху (MoCap)](../computer_vision/motion_capture.md)
- [Візуальна інерційна одометрія (VIO)](../computer_vision/visual_inertial_odometry.md)
- [Система супутникового зв'язку Iridium/RockBlock](../advanced_features/satcom_roadblock.md)
- [Точна посадка](../advanced_features/precland.md)
- [RTK GNSS (GPS)](../gps_compass/rtk_gps.md)
+215
View File
@@ -0,0 +1,215 @@
# Точна посадка
PX4 підтримує точне приземлення для _Multicopters_ на стаціонарних або рухомих цілях.
Ціль може бути надана вбудованим ІЧ-датчиком та приземленням, або зовнішньою системою позиціонування.
Пристрій для точного приземлення може бути [запущений/ініційований](#initiating-a-precision-landing) як частина [місії](#mission), у режимі [повернення](#return-mode-precision-landing) на посадку або при вході у режим польоту [_Точна посадка_](#precision-landing-flight-mode).
:::info
Точна посадка можлива лише з дійсною глобальною позицією (через обмеження в поточній реалізації контролера позиції).
:::
## Загальний огляд
### Режими посадки
Точну посадку можна налаштувати як "обов'язкову" або "вигідну".
Вибір режиму впливає на те, як виконується точна посадка.
#### Необхідний режим
У _Required Mode_ транспортний засіб буде шукати ціль, якщо нічого не видно під час початку посадки.
Транспортний засіб виконає точну посадку, якщо ціль буде знайдена.
Процедура пошуку полягає у підйомі на висоту пошуку ([PLD_SRCH_ALT](../advanced_config/parameter_reference.md#PLD_SRCH_ALT)).
Якщо мішень все ще не видно на висоті пошуку після закінчення часу пошуку ([PLD_SRCH_TOUT](../advanced_config/parameter_reference.md#PLD_SRCH_TOUT)), то ініціюється звичайна посадка на поточному місці.
:::info
Якщо використовується позамежна система позиціонування, PX4 передбачає, що ціль буде видима, коли отримує повідомлення MAVLink [LANDING_TARGET](https://mavlink.io/en/messages/common.html#LANDING_TARGET).
:::
#### Опортуністичний режим
У режимі _Opportunistic Mode_ транспортний засіб використовуватиме точну посадку, _якщо_ (і тільки якщо) ціль буде видима, коли розпочинається посадка.
Якщо ціль не видно, транспортний засіб негайно виконує _звичайну_ посадку на поточному місці.
### Фази посадки
Режим Точної посадки має три етапи:
1. **Горизонтальний підхід:** Транспортний засіб підходить до цілі горизонтально, утримуючи свою поточну висоту.
Як тільки положення цілі відносно транспортного засобу опускається нижче порогового значення ([PLD_HACC_RAD](../advanced_config/parameter_reference.md#PLD_HACC_RAD)), відбувається вхід до наступної фази.
Якщо ціль втрачається під час цієї фази (не видно довше, ніж [PLD_BTOUT](../advanced_config/parameter_reference.md#PLD_BTOUT)), ініціюється процедура пошуку (під час необхідної точної посадки) або транспортний засіб робить звичайну посадку (під час можливої точної посадки).
2. **Спуск над ціль:** Транспортний засіб спускається, залишаючись при цьому над ціллю.
Якщо ціль втрачається під час цієї фази (не видно довше, ніж `PLD_BTOUT`), ініціюється процедура пошуку (під час необхідної точної посадки) або транспортний засіб робить звичайну посадку (під час можливої точної посадки).
3. **Останній підхід:** Коли транспортний засіб знаходиться близько до землі (ближче, ніж [PLD_FAPPR_ALT](../advanced_config/parameter_reference.md#PLD_FAPPR_ALT)), він спускається, залишаючись при цьому над ціллю.
Якщо ціль втрачається під час цієї фази, спуск продовжується незалежно від виду точної посадки.
Процедури пошуку ініціюються на перших і других етапах і виконуються не більше [PLD_MAX_SRCH разів](../advanced_config/parameter_reference.md#PLD_MAX_SRCH).
Діаграма потоку фаз посадки
Діаграма потоку, що показує фази, може бути знайдена на [діаграмі потоку фаз посадки](#landing-phases-flow-diagram) нижче.
## Початок точної посадки
Точне приземлення можна використовувати у місіях, під час фази посадки у режимі _Повернення_, або ввійшовши в режим _Точна посадка_.
<a id="mission"></a>
### Місія Точна посадка
Точне приземлення може бути запущено як частина [місії](../flying/missions.md), використовуючи [MAV_CMD_NAV_LAND](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_LAND) з відповідно встановленим `param2`:
- `0`: нормальне приземлення без використання цілі.
- `1`: [Opportunistic](#opportunistic-mode) режим точної посадки.
- `2`: [Required](#required-mode) режим точної посадки.
### Режим повернення з точною посадкою
Точна посадка може бути використана у фазі посадки у [режимі повернення](../flight_modes/return.md).
Це вмикається за допомогою параметра [RTL_PLD_MD](../advanced_config/parameter_reference.md#RTL_PLD_MD), який приймає такі значення:
- `0`: Точна посадка вимкнена (посадка як зазвичай).
- `1`: [Опортуничний](#opportunistic-mode) режим точної посадки.
- `2`: [Вимагається](#required-mode) режим точної посадки.
### Режим польоту з точною посадкою
Точна посадка може бути ввімкнена, переключившись у режим польоту з _точною посадкою_.
Ви можете перевірити це, використовуючи [консоль MAVLink _QGroundControl_](../debug/mavlink_shell.md#qgroundcontrol-mavlink-console) для введення наступної команди:
```sh
commander mode auto:precland
```
:::info
При переході до режиму таким чином, точна посадка завжди "вимагається"; немає способу вказати тип посадки.
:::
:::info
На момент написання немає _зручного_ способу безпосередньо викликати точну посадку (окрім командування режимом повернення):
- QGroundControl_ не надає його як параметр користувальницького інтерфейсу.
- Команда [MAV_CMD_NAV_LAND](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_LAND) працює лише в місіях.
- Команда [MAV_CMD_DO_SET_MODE](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_SET_MODE) має працювати, але вам потрібно визначити відповідні базові і користувацькі режими, які використовує PX4 для представлення режиму точної посадки.
:::
## Налаштування програмного забезпечення
### Налаштування IR Сенсора/Бікона
Рішення з інфрачервоним датчиком/посадковим маяком потребує датчика [IR-LOCK](https://irlock.com/products/ir-lock-sensor-precision-landing-kit) та напрямленого донизу [датчика відстані](../sensor/rangefinders.md), підключеного до автопілота, а також інфрачервоного маяка в якості цілі (наприклад, [IR-LOCK MarkOne](https://irlock.com/collections/markone)).
Це дозволяє приземлитися з точністю приблизно 10 см (в той час як точність GPS може бути в декілька метрів).
Встановіть датчик IR-LOCK, слідуючи [офіційному посібнику](https://irlock.readme.io/v2.0/docs).
Переконайтеся, що ось x сенсора вирівняна з осью y транспортного засобу, а ось y сенсора вирівняна з напрямком -x транспортного засобу (це відбувається, якщо камера нахилена вниз на 90 градусів від напрямку вперед).
Установіть [датчик дальності/відстані](../sensor/rangefinders.md) (виявлено, що _LidarLite v3_ працює добре).
:::info
Багато датчиків дальності на основі інфрачервоного випромінювання погано працюють в присутності маяка IR-LOCK.
Зверніться до посібника з IR-LOCK для інших сумісних датчиків.
:::
## Позабортне позиціонування
Для позабортового рішення потрібна система позиціонування, яка реалізує [Landing Target Protocol](https://mavlink.io/en/services/landing_target.html) MAVLink.
Це може використовувати будь-який механізм позиціонування для визначення місця посадки, наприклад комп'ютерного зору та візуального маркера.
Система повинна публікувати координати цілі в повідомленні [LANDING_TARGET](https://mavlink.io/en/messages/common.html#LANDING_TARGET).
Зверніть увагу, що PX4 _вимагає_, щоб `LANDING_TARGET.frame` був [MAV_FRAME_LOCAL_NED](https://mavlink.io/en/messages/common.html#MAV_FRAME_LOCAL_NED) і заповнював лише поля `x`, `y`, та `z`.
Початок локальної системи NED [0,0] - це домашня позиція (ви можете відобразити цю домашню позицію на глобальні координати, використовуючи [GPS_GLOBAL_ORIGIN](https://mavlink.io/en/messages/common.html#GPS_GLOBAL_ORIGIN)).
PX4 does not explicitly require a [distance sensor](../sensor/rangefinders.md) or other sensors, but will perform better if it can more precisely determine its own position.
## Конфігурація прошивки
Для точної посадки потрібні модулі `irlock` та `landing_target_estimator`.
Ці модулі включені до прошивки PX4 за замовчуванням для більшості польотних контролерів.
Вони не включені за замовчуванням на контролерах, що базуються на FMUv2.
На цих та інших платах, де вони не включені, ви можете додати їх, встановивши наступні ключі на 'y' у відповідному конфігураційному файлі для вашого автопілота (наприклад, як зроблено тут для FMUv5: [PX4-Autopilot/boards/px4/fmu-v5/default.px4board](https://github.com/PX4/PX4-Autopilot/blob/main/boards/px4/fmu-v5/default.px4board)):
```
CONFIG_DRIVERS_IRLOCK=y
CONFIG_MODULES_LANDING_TARGET_ESTIMATOR=y
```
## Конфігурація PX4 (параметри)
Датчик IR-Lock вимкнено за замовчуванням.
Увімкніть його, встановивши [SENS_EN_IRLOCK](../advanced_config/parameter_reference.md#SENS_EN_IRLOCK) на `1` (true).
[LTEST_MODE](../advanced_config/parameter_reference.md#LTEST_MODE) визначає, чи припускається, що ціль є нерухомою або рухливою.
Якщо параметр `LTEST_MODE` встановлено на значення moving (наприклад, він встановлений на транспортний засіб, на який має сісти багтроплан), вимірювання цілі використовуються лише для генерації цілейових точок позиції в контролері точної посадки.
Якщо параметр `LTEST_MODE` встановлено ​​на значення stationary, вимірювання цілі також використовуються оцінювачем позиції транспортного засобу (EKF2 або LPE).
Інші важливі параметри перераховані в посиланнях на параметри в референсі параметрів під [Landing_target estimator](../advanced_config/parameter_reference.md#landing-target-estimator) та [Precision land](../advanced_config/parameter_reference.md#precision-land).
Деякі з найбільш корисних перераховані нижче.
| Параметр | Опис |
| ----------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <a id="SENS_EN_IRLOCK"></a>[SENS_EN_IRLOCK](../advanced_config/parameter_reference.md#SENS_EN_IRLOCK) | IR-LOCK Sensor (зовнішній I2C). Disable: `0` (default): Enable: `1`). |
| <a id="LTEST_MODE"></a>[LTEST_MODE](../advanced_config/parameter_reference.md#LTEST_MODE) | Landing target is moving (`0`) or stationary (`1`). За замовчуванням - рухома. |
| <a id="PLD_HACC_RAD"></a>[PLD_HACC_RAD](../advanced_config/parameter_reference.md#PLD_HACC_RAD) | Горизонтальний радіус прийняття, всередині якого транспортний засіб почне спускатися. За замовчуванням - 0,2 м. |
| <a id="PLD_BTOUT"></a>[PLD_BTOUT](../advanced_config/parameter_reference.md#PLD_BTOUT) | Таймаут цілі посадки, після якого припускається, що ціль втрачена. За замовчуванням - 5 секунд. |
| <a id="PLD_FAPPR_ALT"></a>[PLD_FAPPR_ALT](../advanced_config/parameter_reference.md#PLD_FAPPR_ALT) | Висота останнього підходу. Висота останнього підходу. За замовчуванням - 0,1 метра. |
| <a id="PLD_MAX_SRCH"></a>[PLD_MAX_SRCH](../advanced_config/parameter_reference.md#PLD_MAX_SRCH) | Максимальна кількість спроб пошуку у вимаганій посадці. |
| <a id="RTL_PLD_MD"></a>[RTL_PLD_MD](../advanced_config/parameter_reference.md#RTL_PLD_MD) | Режим точної посадки RTL. `0`: disabled, `1`: [Opportunistic](#opportunistic-mode), `2`: [Required](#required-mode). |
### Масштабування ІЧ-маяка
Масштабування вимірювань може бути необхідним через спотворення об'єктива датчика IR-LOCK.
[LTEST_SCALE_X](../advanced_config/parameter_reference.md#LTEST_SCALE_X) та [LTEST_SCALE_Y](../advanced_config/parameter_reference.md#LTEST_SCALE_Y) можуть бути використані для масштабування вимірів маяка, перед тим як вони будуть використані для оцінки позиції та швидкості маяка відносно транспортного засобу.
Зверніть увагу, що `LTEST_SCALE_X` та `LTEST_SCALE_Y` вважаються в рамках датчика, а не в рамках транспортного засобу.
Щоб калібрувати ці параметри масштабу, встановіть `LTEST_MODE` на значення moving, підніміть свій багатокоптер вище за маяк і виконайте рухи вперед-назад та ліворуч-праворуч з транспортним засобом, під час цього [записуючи](../dev_log/logging.md#configuration) дані з `landing_target_pose` та `vehicle_local_position`.
Потім порівняйте `landing_target_pose.vx_rel` та `landing_target_pose.vy_rel` з `vehicle_local_position.vx` та `vehicle_local_position.vy` відповідно (обидва виміри у системі координат NED).
Якщо оцінювані швидкості маяка завжди менші або більші за швидкості транспортного засобу, налаштуйте параметри масштабування для компенсації.
Якщо ви спостерігаєте повільні бокові коливання літального апарата під час точної посадки з параметром `LTEST_MODE`, встановленим на стаціонарний, ймовірно, вимірювання маяка занадто високі, і вам слід зменшити параметр масштабування у відповідному напрямку.
## Симуляція
Точне приземлення з датчиком IR-LOCK та маяком може бути симульоване в [Gazebo Classic](../sim_gazebo_classic/README.md).
Щоб запустити симуляцію зі світом, що містить маяк IR-LOCK та транспортний засіб із датчиком дальності та камерою IR-LOCK, виконайте наступну команду:
```sh
make px4_sitl gazebo-classic_iris_irlock
```
Ви можете змінити розташування маяка або перемістивши її в Gazebo Classic GUI або змінивши її місце в [Gazebo World](https://github.com/PX4/PX4-SITL_gazebo-classic/blob/main/worlds/iris_irlock.world#L42).
## Принцип дії
### Оцінювач цілей посадки
`landing_target_estimator` бере вимірювання з драйвера irlock, а також оцінює висоту місцевості для оцінки позиції маяка відносно транспортного засобу.
The measurements in `irlock_report` містять тангенс кутів від центру зображення до маяка.
Іншими словами, вимірювання - це компоненти x та y вектора, що вказує на маяк, де компонент z має довжину "1".
Це означає, що масштабування вимірювання за відстанню від камери до маяка призводить до вектора від камери до маяка.
Ця відносна позиція потім повертається у зіставлений з півночі, рівномірний корпусний каркас за допомогою оцінки польоту засобами повітряного судна.
Обидва компоненти x та y відносного вимірювання позиції фільтруються в окремих фільтрах Калмана, які діють як прості фільтри згладжування з низькою пропускною спроможністю, що також генерують оцінку швидкості та дозволяють відкидати викиди.
`landing_target_estimator` публікує приблизну відносну позицію і швидкість щоразу, коли новий звіт про `irlock_report` об'єднується в оцінку.
Нічого не публікується, якщо маяк не бачиться або вимірювання маяка відхиляються.
Оцінка посадкової цілі публікується в повідомленні uORB `landing_target_pose`.
### Покращена оцінка положення транспортного засобу
Якщо ціль вказана як стаціонарна за допомогою параметра `LTEST_MODE`, оцінку положення/швидкості транспортного засобу можна покращити за допомогою вимірів цілі.
Це виконується шляхом злиття швидкості цілі як вимірювання від'ємної швидкості транспортного засобу.
### Діаграма потоку фаз посадки
Це зображення показує [фази посадки](#landing-phases) у вигляді діаграми потоку.
![Precision Landing Flow Diagram](../../assets/precision_land/precland-flow-diagram.png)
+1
View File
@@ -0,0 +1 @@
<Redirect to="../gps_compass/rtk_gps" />
@@ -0,0 +1,280 @@
# Система супутникового зв'язку Iridium/RockBlock
Система супутникового зв'язку може використовуватись для забезпечення високого діапазону між наземною станцією та транспортним засобом.
Ця тема описує спосіб налаштування системи, яка використовує RockBlock як постачальника послуг для системи зв'язку зі супутниковими системами SBD.
З огляду на хорошу якість сигналу, користувачі можуть очікувати затримки від 10 до 15 секунд.
## Загальний огляд
Для посилання на супутникове зв'язку потрібні наступні компоненти:
- Модуль [Супутникового модему RockBlock 9603 Iridium](https://www.iridium.com/products/rock-seven-rockblock-9603/), підключений до Pixhawk, спалахнув за допомогою автопілота PX4.
- Сервер повторного повідомлення працює Ubuntu Linux.
- Автономний комп'ютер запущено _QGroundControl_ на Ubuntu Linux
Нижче показана вся архітектура системи:
![Architecture](../../assets/satcom/architecture.jpg)
:::info
The setup was tested with the current release of _QGroundControl_ running on Ubuntu 14.04 and 16.04.
- Можливо, можна запустити систему на інших наземних станціях і операційних системах, але це не було перевірено (і не гарантовано працює).
- Також можна використовувати модуль [RockBlock MK2](https://www.groundcontrol.com/us/product/rockblock-9602-satellite-modem/).
Модуль RockBlock 9603 рекомендується оскільки він є меншим та легшим, одночасно забезпечує той самий функціонал.
:::
## Витрати
Посилання на посилання, що працює в Великобританії, складається з вартості оренди лінії та витрат на повідомлення:
- Кожен модуль повинен бути активований, який коштує 10,00 в місяць
- Кожне повідомлення, передане через систему, коштує один _кредит_ за 50 байт.
Пакети кредитів можна купити від RockBlock за £0.04-£0.11 за кредит, в залежності від розміру пакета.
Звертайтесь до [документації RockBlock](https://docs.rockblock.rock7.com/docs) для детального пояснення модулів, оперативних витрат та _RockBlock_ загалом.
## Налаштування транспорту
### Підключення
Підключіть модуль RockBlock до послідовного порту Pixhawk.
Через вимоги до живлення модуля його можна живити лише через високопотужний послідовний порт, оскільки для роботи необхідно максимум 0,5 А при 5 В.
Якщо жоден з них недоступний або вільний, то інший джерело живлення, яке має той самий рівень землі, що й Pixhawk і може забезпечити необхідну потужність, повинно бути налаштоване.
Деталі щодо [роз'ємів](https://docs.rockblock.rock7.com/docs/connectors) та вимог до [живлення](https://docs.rockblock.rock7.com/docs/power-supply) можна знайти в документації RockBlock.
### Модулі
Модуль може використовувати як внутрішню антену, так і зовнішню, підключену до роз'єму SMA.
Для [перемикання між двома режимами антен](https://docs.rockblock.rock7.com/docs/switching-rockblock-9603-antenna-mode) потрібно змінити положення невеликого кабелю RF.
Якщо використовується зовнішня антена, завжди переконуйтеся, що антена підключена до модуля перед включенням живлення, щоб уникнути пошкодження модуля.
Стандартна швидкість передачі даних модуля - 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`.
Відповідь має бути: `OK`.
2. Змінити швидкість передачі:
```
AT+IPR=9
```
3. Знову підключіться до моделі з параметрами 115200/8-N-1 і збережіть конфігурацію за допомогою:
```
AT&W0
```
Модуль тепер готовий до використання з PX4.
### Програмне забезпечення
[Налаштуйте послідовний порт](../peripherals/serial_configuration.md), на якому буде працювати модуль RockBlock, використовуючи [ISBD_CONFIG](../advanced_config/parameter_reference.md#ISBD_CONFIG).
Немає потреби встановлювати швидкість передачі для порту, оскільки це налаштовано драйвером.
:::info
Якщо параметр конфігурації недоступний у _QGroundControl_, можливо, вам знадобиться [додати драйвер до мікропрограми](../peripherals/serial_configuration.md#parameter_not_in_firmware):
```
drivers/telemetry/iridiumsbd
```
:::
## Налаштування RockBlock
При придбанні першого модуля на RockBlock спочатку потрібно створити обліковий запис користувача.
Увійдіть у [зобліковий запис](https://rockblock.rock7.com/Operations) та зареєструйте модуль RockBlock в розділі `Мої RockBLOCKs`.
Активуйте оренду лінії для модуля та переконайтеся, що на обліковому записі є достатньо кредитів для очікуваного часу польоту.
Якщо використовуються налаштування за замовчуванням, з апаратури відправляється одне повідомлення на хвилину на наземну станцію.
Створіть групу доставки для реле-сервера повідомлень та додайте модуль до цієї групи доставки:
![Delivery Groups](../../assets/satcom/deliverygroup.png)
## Налаштування сервера станції
Сервер relay має бути запущений або на Ubuntu 16.04 або 14.04 OS.
1. Сервер, який працює як ретранслятор повідомлень, повинен мати статичну IP-адресу та два загальнодоступних відкритих TCP-порти:
- `5672` для брокера повідомлень _RabbitMQ_ (можна змінити в налаштуваннях _rabbitmq_)
- `45679` для інтерфейсу HTTP POST (можна змінити у файлі **relay.cfg**)
2. Встановіть необхідні модулі python:
```sh
sudo pip install pika tornado future
```
3. Встановіть брокер повідомлень `rabbitmq`:
```sh
sudo apt install rabbitmq-server
```
4. Налаштуйте облікові дані брокера (змініть PWD на ваш бажаний пароль):
```sh
sudo rabbitmqctl add_user iridiumsbd PWD
sudo rabbitmqctl set_permissions iridiumsbd ".*" ".*" ".*"
```
5. Клонувати репозиторій [SatComInfrastructure](https://github.com/acfloria/SatComInfrastructure.git):
```sh
git clone https://github.com/acfloria/SatComInfrastructure.git
```
6. Перейдіть до розташування репозиторію _SatComInfrastructure_ і налаштуйте черги брокера:
```sh
./setup_rabbit.py localhost iridiumsbd PWD
```
7. Перевірте налаштування:
```sh
sudo rabbitmqctl list_queues
```
Це повинно дати вам список із 4 черг: `MO`, `MO_LOG`, `MT`, `MT_LOG`
8. Edit the `relay.cfg` configuration file to reflect your settings.
9. Запустіть скрипт реле в режимі відокремленого виконання:
```sh
screen -dm bash -c 'cd SatcomInfrastructure/; ./relay.py
```
Інші інструкції включають:
- Від’єднати від екрану:
```sh
ctrl+a d
```
- Припиніть виконання сценарію:
```sh
ctrl+a :quit
```
- Знову приєднати до екрана:
```sh
screen -dr
```
## Наземна станція
Для налаштування наземної станції:
1. Встановіть необхідні модулі python:
```sh
sudo pip install pika tornado future
```
2. Клонуйте репозиторій SatComInfrastructure:
```sh
git clone https://github.com/acfloria/SatComInfrastructure.git
```
3. Відредагуйте конфігураційний файл **udp2rabbit.cfg**, щоб відображати ваші налаштування.
4. [Встановить _QGroundControl_](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/getting_started/download_and_install.html) (щоденна збірка).
5. Додавайте UDP з'єднання в QGC з параметрами:
- Порт прослуховування: 10000
- Цільові хости: 127.0.0.1:10001
- Висока затримка: позначено
![High Latency Link Settings](../../assets/satcom/linksettings.png)
### Перевірка
1. Відкрийте термінал на комп'ютері наземної станції та перейдіть до розташування репозиторію _SatComInfrastructure_.
Потім запустіть скрипт **udp2rabbit.py**:
```sh
./udp2rabbit.py
```
2. Надішліть тестове повідомлення з облікового запису [RockBlock](https://rockblock.rock7.com/Operations) до створеної групи доставки на вкладці `Тестові групи доставки`.
Якщо в терміналі, де запущений скрипт `udp2rabbit.py`, протягом кількох секунд можна спостерігати підтвердження для повідомлення, то група доставки RockBlock, реле-сервер та скрипт udp2rabbit налаштовані правильно:
![udp2rabbit message acknowledge](../../assets/satcom/verification.png)
## Запуск системи
1. Запустіть _QGroundControl_.
Спочатку вручну підключіть високо запізнюваний зв'язок, а потім звичайний телеметрійний зв'язок:
![Connect the High Latency link](../../assets/satcom/linkconnect.png)
2. Відкрийте термінал на комп'ютері наземної станції та перейдіть до розташування репозиторію _SatComInfrastructure_.
Потім запустіть скрипт **udp2rabbit.py**:
```sh
./udp2rabbit.py
```
3. Увімкніть транспортний засіб.
4. Дочекайтеся, доки на QGC не буде отримано перше повідомлення `HIGH_LATENCY2`.
Це можна перевірити за допомогою віджету _Інспектора MAVLink_ або на панелі інструментів за допомогою _індикатора зв'язку(LinkIndicator)_.
Це можна перевірити за допомогою віджету _Інспектора MAVLink_ або на панелі інструментів за допомогою _індикатора зв'язку(LinkIndicator)_:
![Link Toolbar](../../assets/satcom/linkindicator.jpg)
Індикатор зв'язку завжди показує назву пріоритетного зв'язку.
5. Супутникова система зв'язку тепер готова до використання.
Пріоритетний зв'язок, через який надсилаються команди, визначається наступними способами:
- Якщо користувач не вказав зв'язок, звичайний радіо телеметрійний зв'язок віддається перевагу перед високозапізнюваним зв'язком.
- Автопілот та QGC перехоплюватимуть звичайний радіо телеметрійний зв'язок на високозапізнюваний зв'язок, якщо транспортний засіб зброєний, а радіо телеметрійний зв'язок втрачений (не отримано жодного повідомлення MAVLink протягом певного часу).
Як тільки радіо телеметрійний зв'язок відновлюється, QGC та автопілот повертаються до нього.
- Користувач може вибрати пріоритетний зв'язок через індикатор зв'язку на панелі інструментів.
Це посилання зберігається як пріоритетне посилання, поки воно активне або користувач вибирає інше пріоритетне посилання:
![Prioritylink Selection](../../assets/satcom/linkselection.png)
## Усунення проблем
- Повідомлення з супутникового зв'язку від літака отримуються, але команди не можуть бути передані (транспортний засіб не реагує)
- Перевірте налаштування реле-сервера і переконайтеся, що вони правильні, особливо IMEI.
- Повідомлення з супутникового зв'язку від літака не надходять на наземну станцію:
- Перевірте за допомогою системної консолі, чи запущено драйвер _iridiumsbd_, і якщо так, чи приймається сигнал від будь-якого супутника модулем:
```sh
iridiumsbd status
```
- Впевніться за допомогою перевірочних кроків вище, що реле-сервер, група доставки і скрипт `udp2rabbit.py` налаштовані правильно.
- Перевірте, чи з'єднання активне, і чи налаштування в ньому правильні.
- Драйвер IridiumSBD не запускається:
- Перезапустіть транспортний засіб.
Якщо це допомагає, збільште час затримки в `extras.txt`, перед тим як драйвер буде запущений.
Якщо це не допомагає, переконайтеся, що Pixhawk і модуль мають одинаковий рівень ґрунту. Підтвердіть також, що швидкість передачі даних модуля встановлена на 115200.
- Перше повідомлення отримане на землі, але як тільки транспортний засіб літає, жодне повідомлення не може бути передане, або затримка значно збільшується (в розмірах хвилин)
- Перевірте якість сигналу після польоту.
Якщо вона зменшується під час польоту, і ви використовуєте внутрішню антену, розгляньте можливість використання зовнішньої антени.
Якщо ви вже використовуєте зовнішню антену, спробуйте віддалити антену якнайдалі від будь-якої електроніки або будь-якого обладнання, яке може перешкоджати сигналу.
Також переконайтеся, що антена не пошкоджена.
@@ -0,0 +1 @@
<Redirect to="../peripherals/adsb_flarm" />
@@ -0,0 +1 @@
<Redirect to="../peripherals/adsb_flarm" />