mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-17 02:33:35 +08:00
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:
co-authored by
Ramon Roche
parent
8e6d2ebe4a
commit
88d623bedb
@@ -0,0 +1,12 @@
|
||||
# Апаратне забезпечення та налаштування акселерометра
|
||||
|
||||
PX4 використовує дані акселерометра для оцінки швидкості.
|
||||
|
||||
Вам не потрібно прикріплювати акселерометр як окремий зовнішній пристрій:
|
||||
|
||||
- Більшість польотних контролерів, таких, як в [Pixhawk Series](/flight_controller/pixhawk_series.md), включають в себе акселерометр як частину польот контролеру [Inertial Motion (IMU)](https://en.wikipedia.org/wiki/Inertial_measurement_unit).
|
||||
- Гіроскопи присутні як частина зовнішньої системи інерціальної навігації, ARHS або системи підвищеної точності глобальної навігації INS (../sensor/inertial_navigation_systems.md).
|
||||
|
||||
Потрібно відкалібрувати акселерометр перед першим використанням безпілотника:
|
||||
|
||||
- [Accelerometer Calibration](../config/accelerometer.md)
|
||||
@@ -0,0 +1,82 @@
|
||||
# Датчики швидкості польоту
|
||||
|
||||
Airspeed sensors are _highly recommended_ for fixed-wing and VTOL frames.
|
||||
Це важливо, туму що автопілот не має інших засобів для виявлення звалювання.
|
||||
Так як швидкість польоту літака відносно повітря гарантує підіймальну силу, а не швидкість відносно землі!
|
||||
|
||||

|
||||
|
||||
## Варіанти устаткування
|
||||
|
||||
Рекомендовані цифрові сенсори швидкості в повітрі включають:
|
||||
|
||||
- Based on [Pitot tube](https://en.wikipedia.org/wiki/Pitot_tube)
|
||||
- MEAS Spec series (e.g. [MS4525DO](https://www.te.com/usa-en/product-CAT-BLPS0002.html), [MS5525](https://www.te.com/usa-en/product-CAT-BLPS0003.html))
|
||||
- [mRo I2C Airspeed Sensor JST-GH MS4525DO](https://store.mrobotics.io/mRo-I2C-Airspeed-Sensor-JST-GH-p/m10030a.htm) (mRo store)
|
||||
- [Digital Differential Airspeed Sensor Kit](https://store-drotek.com/793-digital-differential-airspeed-sensor-kit-.html) (Drotek).
|
||||
- [Holybro Digital Air Speed Sensor - MS4525DO](https://holybro.com/collections/sensors/products/digital-air-speed-sensor-ms4525do)
|
||||
- [Holybro Digital Air Speed Sensor - MS5525DSO](https://holybro.com/collections/sensors/products/digital-air-speed-sensor-ms5525dso)
|
||||
- [Holybro High Precision DroneCAN Airspeed Sensor - DLVR](https://holybro.com/collections/sensors/products/high-precision-dronecan-airspeed-sensor-dlvr)
|
||||
- [RaccoonLab Cyphal/CAN and DroneCAN Airspeed Sensor](https://raccoonlab.co/tproduct/360882105-652259850171-cyphal-and-dronecan-airspeed-v2)
|
||||
- [Sensirion SDP3x Airspeed Sensor Kit](https://store-drotek.com/793-digital-differential-airspeed-sensor-kit-.html)
|
||||
- Based on [Venturi effect](https://en.wikipedia.org/wiki/Venturi_effect)
|
||||
- [TFSLOT](airspeed_tfslot.md) Venturi effect airspeed sensor.
|
||||
|
||||
Усі зазначені вище сенсори підключені через I2C bus/port.
|
||||
|
||||
::: info
|
||||
|
||||
Additionally, the [Avionics Anonymous Air Data Computer](https://www.tindie.com/products/avionicsanonymous/uavcan-air-data-computer-airspeed-sensor/) can be connected to the CAN bus to determine not only high-accuracy airspeed, but also true static pressure and air temperature via onboard barometer and an OAT probe.
|
||||
|
||||
:::
|
||||
|
||||
## Налаштування
|
||||
|
||||
### Увімкнення датчиків швидкості у повітрі
|
||||
|
||||
Драйвери датчика швидкості в польоті не запускаються автоматично.
|
||||
Enable each type using its [corresponding parameter](../advanced_config/parameters.md):
|
||||
|
||||
- **Sensirion SDP3X:** [SENS_EN_SDP3X](../advanced_config/parameter_reference.md#SENS_EN_SDP3X)
|
||||
- **TE MS4525:** [SENS_EN_MS4525DO](../advanced_config/parameter_reference.md#SENS_EN_MS4525DO)
|
||||
- **TE MS5525:** [SENS_EN_MS5525DS](../advanced_config/parameter_reference.md#SENS_EN_MS5525DS)
|
||||
- **Eagle Tree airspeed sensor:** [SENS_EN_ETSASPD](../advanced_config/parameter_reference.md#SENS_EN_ETSASPD)
|
||||
|
||||
You should also check [ASPD_PRIMARY](../advanced_config/parameter_reference.md#ASPD_PRIMARY) is `1` (see next section - this is the default).
|
||||
|
||||
### Множинні датчики швидкості польоту
|
||||
|
||||
:::warning
|
||||
Експериментальні налаштування
|
||||
Using multiple airspeed sensors is experimental.
|
||||
:::
|
||||
|
||||
If you have multiple airspeed sensors then you can select which sensor is _preferred_ as the primary source using [ASPD_PRIMARY](../advanced_config/parameter_reference.md#ASPD_PRIMARY), where `1`, `2` and `3` reflect the order in which the airspeed sensors were started:
|
||||
|
||||
- `0`: Synthetic airspeed estimation (groundspeed minus windspeed)
|
||||
- `1`: First airspeed sensor started (default)
|
||||
- `2`: Second airspeed sensor started
|
||||
- `3`: Third airspeed sensor started
|
||||
|
||||
The airspeed selector validates the indicated sensor _first_ and only falls back to other sensors if the indicated sensor fails airspeed checks ([ASPD_DO_CHECKS](../advanced_config/parameter_reference.md#ASPD_DO_CHECKS) is used to configure the checks).
|
||||
|
||||
The selected sensor is then used to [supply data to the estimator (EKF2)](../advanced_config/tuning_the_ecl_ekf.md#airspeed) and the controllers.
|
||||
|
||||
### Налаштування датчика
|
||||
|
||||
Крім активації датчика, часто не потрібна конфігурація, специфічна для датчика.
|
||||
If it is needed, it should be covered in the appropriate sensor page (for example [TFSLOT > Configuration](airspeed_tfslot.md#configuration)).
|
||||
|
||||
Конкретна конфігурація для датчиків, які не мають окремої сторінки, перерахована нижче:
|
||||
|
||||
- **Sensirion SDP3X:** [CAL_AIR_CMODEL](../advanced_config/parameter_reference.md#CAL_AIR_CMODEL) (provides overview of required settings), [CAL_AIR_TUBED_MM](../advanced_config/parameter_reference.md#CAL_AIR_TUBED_MM), [CAL_AIR_TUBELEN](../advanced_config/parameter_reference.md#CAL_AIR_TUBELEN).
|
||||
|
||||
## Калібрування
|
||||
|
||||
Airspeed sensors should be calibrated by following the instructions: [Basic Configuration > Airspeed](../config/airspeed.md).
|
||||
|
||||
## Дивіться також
|
||||
|
||||
- [Using PX4's Navigation Filter (EKF2) > Airspeed](../advanced_config/tuning_the_ecl_ekf.md#airspeed)
|
||||
- [Airspeed drivers](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/differential_pressure) (source code)
|
||||
- [VTOL Without an Airspeed Sensor](../config_vtol/vtol_without_airspeed_sensor.md)
|
||||
@@ -0,0 +1,67 @@
|
||||
# TFSLOT датчик швидкості польоту ефекту Вентурі
|
||||
|
||||
[TFSLOT](https://github.com/ThunderFly-aerospace/TFSLOT01) is an open-source airspeed sensor based on the [Venturi effect](https://en.wikipedia.org/wiki/Venturi_effect) that also has an IMU.
|
||||
|
||||

|
||||
|
||||
[TFSLOT](https://github.com/ThunderFly-aerospace/TFSLOT01) is an airspeed sensor based on venturi effects.
|
||||
In the basic configuration, the TFSLOT is equipped with the [TFASPDIMU02](https://github.com/ThunderFly-aerospace/TFASPDIMU02) sensor board, which contains a differential pressure sensor ([Sensirion SDP3x series](https://sensirion.com/products/catalog/?filter_series=d1816d53-f5c8-47e3-ab47-818c3fd54259)) and a 9-axis motion tracking sensor ([ICM-20948](https://invensense.tdk.com/products/motion-tracking/9-axis/icm-20948/)).
|
||||
Одиницю IMU можна використовувати як зовнішній компас.
|
||||
|
||||
- Цей дизайн має кілька переваг при використанні на невеликих і повільних безпілотних літальних апаратах.
|
||||
- Краща роздільна здатність при низьких швидкостях повітря (нижче 10 м/с).
|
||||
- Налаштована чутливість, яка надається зміною профілю.
|
||||
- Менша схильність до засмічення (наприклад, глиною після посадки)
|
||||
- Стійкий до погодних умов (дощ, сніг тощо)
|
||||
- Пряме інтегрування датчика різниці тиску без будь-яких додаткових трубок.
|
||||
Менше шансів на відмову датчика.
|
||||
- Можливість прямої інтеграції в конструкцію безпілотника.
|
||||
Дизайн є повністю відкритим джерелом.
|
||||
- Інтегрований зовнішній блок ІНС.
|
||||
|
||||
Завдяки надрукованому трубці дуже легко змінити профіль вимірювання і таким чином змінити чутливість в певних діапазонах швидкості.
|
||||
У базовій формі воно оптимізовано так, що виміряний диференційний тиск відповідає тиску від труби Піто.
|
||||
|
||||

|
||||
_First integration of TFSLOT into [TF-G2](https://github.com/ThunderFly-aerospace/TF-G2/) autogyro_
|
||||
|
||||
::: info
|
||||
|
||||
Full documentation and source files can be found on [GitHub](https://github.com/ThunderFly-aerospace/TFSLOT01).
|
||||
|
||||
:::
|
||||
|
||||
## Де купити
|
||||
|
||||
TFSLOT is possible to buy at [Tindie store](https://www.tindie.com/products/thunderfly/tfslot01a-inovative-drone-airspeed-sensor/) or by sending us an inquiry via email at info@thunderfly.cz
|
||||
|
||||
## Підключення
|
||||
|
||||
[TFASPDIMU02](https://github.com/ThunderFly-aerospace/TFASPDIMU02) is equipped with I2C JST-GH connector, which conforms to the pinout of the [dronecode standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-009%20Pixhawk%20Connector%20Standard.pdf).
|
||||
Отже, датчик може бути підключений безпосередньо до порту I2C автопілота за допомогою кабелю I2C 4pin JST-GH.
|
||||
|
||||
## Налаштування
|
||||
|
||||
Because there is an [IMU IC](https://invensense.tdk.com/products/motion-tracking/9-axis/icm-20948/) connected in front of the sensor, the IMU IC needs to be set into a bridge mode.
|
||||
Після цього можна запустити драйвер датчика швидкості повітря. Це може бути зроблено за допомогою наступних послідовностей команд. Команди передбачають підключення до порту I2C2.
|
||||
|
||||
```sh
|
||||
icm20948_i2c_passthrough start -X -b 2 -a 0x68
|
||||
sdp3x_airspeed start -X -b 2
|
||||
```
|
||||
|
||||
This sequence can be stored on the SD card in the `/etc/config.txt file`.
|
||||
You can read more about the configuration on the SD card on a [separate page](../concept/system_startup.md#replacing-the-system-startup).
|
||||
|
||||
Оскільки перетворення різниці тиску на швидкість повітря відрізняється від трубки Піто, цей профіль потребує змін.
|
||||
This is done by setting parameter [`CAL_AIR_CMODEL`](../advanced_config/parameter_reference.md#CAL_AIR_CMODEL) to 3 (Venturi effect based airspeed sensor)
|
||||
|
||||
## Калібрування
|
||||
|
||||
Калібрування дещо складне через те, що поточна версія прошивки не підтримує калібрування з від'ємними значеннями.
|
||||
Оскільки використовуваний датчик вимірює обидва напрямки повітряного потоку симетрично і має нульове зміщення, немає потреби калібрувати його знову перед кожним зльотом.
|
||||
Але вам потрібно забезпечити, щоб під час калібрування не було потоку повітря.
|
||||
|
||||
Найлегший спосіб калібрування - взяти клейку стрічку і приклеїти її між тиском на входах до датчика.
|
||||
Потім розпочніть процес калібрування і дмухайте ззаду, коли буде вимога.
|
||||
Якщо буде створено тиск принаймні 50 Па, калібрування буде успішним.
|
||||
@@ -0,0 +1 @@
|
||||
<Redirect to="../dronecan/avanon_laser_interface" />
|
||||
@@ -0,0 +1,46 @@
|
||||
# Барометр
|
||||
|
||||
Барометри вимірюють атмосферний тиск і використовуються в дронах як датчики висоти.
|
||||
|
||||
Most [flight controllers](../flight_controller/index.md) on which PX4 runs include a barometer.
|
||||
By default PX4 will select the barometer with the highest priority (if any are present), and configure it as a data source for [Height estimation](../advanced_config/tuning_the_ecl_ekf.md#height).
|
||||
Якщо виявлено несправність датчика, PX4 перейде на наступний за пріоритетом датчик.
|
||||
|
||||
Зазвичай барометри не потребують налаштування користувачем (або думки)!
|
||||
|
||||
## Варіанти устаткування
|
||||
|
||||
[Pixhawk standard](../flight_controller/autopilot_pixhawk_standard.md) flight controllers include a barometer, as do [many others](../flight_controller/index.md).
|
||||
|
||||
Вони також присутні в іншому обладнанні:
|
||||
|
||||
- [CUAV NEO 3 Pro GNSS module](https://doc.cuav.net/gps/neo-series-gnss/en/neo-3-pro.html#key-data) ([MS5611](../modules/modules_driver_baro.md#ms5611))
|
||||
- [RaccoonLab L1 GNSS NEO-M8N](https://raccoonlab.co/tproduct/360882105-258620719271-cyphal-and-dronecan-gnss-m8n-magnetomete)
|
||||
|
||||
На момент написання водії/частини включають: bmp280, bmp388 (та BMP380), dps310, goertek (spl06), invensense (icp10100, icp10111, icp101xx, icp201xx), lps22hb, lps25h, lps33hw, maiertek (mpc2520), mpl3115a2, ms5611, ms5837, tcbp001ta.
|
||||
|
||||
Note that the supported barometer part numbers can be inferred from the driver names listed in the [Modules Reference: Baro (Driver)](../modules/modules_driver_baro.md) documentation (and the driver source: [PX4-Autopilot/src/drivers/barometer](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/barometer)).
|
||||
|
||||
## Конфігурація PX4
|
||||
|
||||
Зазвичай барометри не потребують налаштування користувачем.
|
||||
Якщо потрібно, ви можете:
|
||||
|
||||
- Enable/Disable barometers as data source for [Height estimation](../advanced_config/tuning_the_ecl_ekf.md#height) using the [EKF2_BARO_CTRL](../advanced_config/parameter_reference.md#EKF2_BARO_CTRL) parameter.
|
||||
- Change the selection order of barometers using the [CAL_BAROx_PRIO](../advanced_config/parameter_reference.md#CAL_BARO0_PRIO) parameters for each barometer.
|
||||
- Disable a barometer by setting its [CAL_BAROx_PRIO](../advanced_config/parameter_reference.md#CAL_BARO0_PRIO) value to `0`.
|
||||
|
||||
## Калібрування
|
||||
|
||||
Барометри не потребують калібрування.
|
||||
|
||||
<!-- Notes:
|
||||
- Absolute value isn't important since we just use the difference in altitude between "now" and the value when initializing EKF2
|
||||
- There is usually a scale factor error but it's compensated by the GNSS altitude using a bias estimator in EKF2 (we don't provide a way to calibrate that). This method is fine as long as the height change of the drone isn't too fast (below 200-300km/h probably; don't have real data on that).
|
||||
- The baro readings can be corrected using a param SENS_BARO_QNH (https://en.wikipedia.org/wiki/Altimeter_setting) parameter, but again, it is only necessary to adjust it if the absolute barometric altitude is required by the pilot.
|
||||
-->
|
||||
|
||||
## Інформація для розробників
|
||||
|
||||
- [Baro driver source code](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/barometer)
|
||||
- [Modules Reference: Baro (Driver)](../modules/modules_driver_baro.md) documentation.
|
||||
@@ -0,0 +1,39 @@
|
||||
# Lanbao PSK-CM8JL65-CC5 ToF Infrared Distance Measuring Sensor (Discontinued)
|
||||
|
||||
<Badge type="info" text="Discontinued" />
|
||||
|
||||
:::warning
|
||||
This product has been discontinued and is no longer commercially available.
|
||||
:::
|
||||
|
||||
The [Lanbao PSK-CM8JL65-CC5](https://www.seeedstudio.com/PSK-CM8JL65-CC5-Infrared-Distance-Measuring-Sensor-p-4028.html) is a very small IR distance sensor with a 0.17m-8m range and millimeter resolution.
|
||||
Це повинно бути підключено до шини UART/серійного порту.
|
||||
|
||||
- Розміри: 38 мм х 18 мм х 7 мм
|
||||
- Вага: ≤10g
|
||||
|
||||

|
||||
|
||||
## Налаштування програмного забезпечення
|
||||
|
||||
PSK-CM8JL65-CC5 can be connected to any unused _serial port_, e.g.: `TELEM2`, `TELEM3`, `GPS2` etc.
|
||||
|
||||
Виводи позначені знизу сенсора:
|
||||
|
||||

|
||||
|
||||
## Налаштування параметрів
|
||||
|
||||
[Configure the serial port](../peripherals/serial_configuration.md) on which the lidar will run using [SENS_CM8JL65_CFG](../advanced_config/parameter_reference.md#SENS_CM8JL65_CFG).
|
||||
|
||||
:::info
|
||||
If the configuration parameter is not available in _QGroundControl_ then you may need to [add the driver to the firmware](../peripherals/serial_configuration.md#parameter_not_in_firmware):
|
||||
|
||||
```plain
|
||||
distance_sensor/cm8jl65
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
In order to use the sensor for _collision prevention_ you will further need to set the parameters [SENS_CM8JL65_R_0](../advanced_config/parameter_reference.md#SENS_CM8JL65_R_0) and [CP_DIST](../advanced_config/parameter_reference.md#CP_DIST).
|
||||
For more information see: [Collision Prevention](../computer_vision/collision_prevention.md#rangefinder).
|
||||
@@ -0,0 +1,12 @@
|
||||
# Апаратне забезпечення та налаштування гіроскопа
|
||||
|
||||
PX4 використовує гіроскоп для оцінки позиції транспортного засобу (орієнтації).
|
||||
|
||||
Вам не потрібно прикріплювати гіроскоп як самостійний зовнішній пристрій:
|
||||
|
||||
- Більшість польотних контролерів, таких, як в [Pixhawk Series](../flight_controller/pixhawk_series.md), включають гіроскоп як частину польот контролеру [Inertial Motion (IMU)](https://en.wikipedia.org/wiki/Inertial_measurement_unit).
|
||||
- Гіроскопи присутні як частина зовнішньої системи інерціальної навігації, ARHS або системи підвищеної точності глобальної навігації INS (../sensor/inertial_navigation_systems.md).
|
||||
|
||||
Потрібно відкалібрувати гіроскоп перед першим використанням безпілотника:
|
||||
|
||||
- [Калібрування гіроскопа](../config/gyroscope.md)
|
||||
@@ -0,0 +1,47 @@
|
||||
# Апаратне забезпечення та налаштування датчика
|
||||
|
||||
Цей розділ описує обов'язкові та необов'язкові датчики та їх налаштування/конфігурацію.
|
||||
|
||||
## Загальний огляд
|
||||
|
||||
Системи на основі PX4 використовують датчики для оцінки стану транспортного засобу, що необхідно для стабілізації та увімкнення автономного керування.
|
||||
Інформація про стан транспортного засобу включає: позицію/висоту, курс, швидкість, швидкість польоту, орієнтацію (відносно чогось), швидкість обертання в різних напрямках, рівень заряду батареї тощо.
|
||||
|
||||
PX4 _мінімально потребує_ гіроскоп, акселерометр, магнетометр (компас) та барометр для вимірювання вищевказаних станів.
|
||||
Дрони літакового типу, а також апарати VTOL _повинні_ також включати датчик швидкості польоту.
|
||||
Для увімкнення усіх автоматичних режимів, а також деяких ручних/допоміжних режимів, потрібна GPS або інша позиційна система.
|
||||
|
||||
[Серія Pixhawk](../flight_controller/pixhawk_series.md) контролерів польоту вже має мінімальний набір сенсорів (часто також це мають і інші платформи контролерів).
|
||||
До контролера можна підключити додаткові/зовнішні датчики — рекомендовано зовнішній GPS та компас, а також датчик швидкості повітря для ВПП та літаків з фіксованим крилом.
|
||||
|
||||
## Теми датчиків
|
||||
|
||||
Обов'язково (включено в Pixhawk серії FCs):
|
||||
|
||||
- [Акселерометр](../sensor/accelerometer.md) — Вимірює зміну прискорення.
|
||||
- [Гіроскоп](../sensor/gyroscope.md) — Вимірює орієнтацію.
|
||||
- [Магнітометр (Компас)](../gps_compass/magnetometer.md) — Вимірює напрямок/напрям.
|
||||
Рекомендується зовнішній компас!
|
||||
- [Барометри](../sensor/barometer.md) — Вимірює висоту (за допомогою атмосферного тиску).
|
||||
|
||||
Рекомендовано:
|
||||
|
||||
- [Датчики швидкості повітря](../sensor/airspeed.md) — Вимірює швидкість повітря.
|
||||
Високо рекомендується для ВТОЛ та фіксованих крил, оскільки це єдиний механізм виявлення строба.
|
||||
- [GNSS (GPS)](../gps_compass/index.md) — Вимірює глобальне положення.
|
||||
Потрібно для місій, а також деяких інших автоматичних та ручних/допоміжних режимів.
|
||||
- [RTK GNSS (GPS)](../gps_compass/rtk_gps.md) — GNSS з точністю на рівні сантиметрів.
|
||||
Деякі налаштування також дозволяють визначати напрямок руху за допомогою GNSS, а не за допомогою магнітометра.
|
||||
|
||||
Необов'язково:
|
||||
|
||||
- [Датчики відстані (дальніміри)](../sensor/rangefinders.md) — Вимірює відстань до цілі.
|
||||
Посадка, уникнення об'єктів і слідування за місцевістю.
|
||||
- [Оптичний потік](../sensor/optical_flow.md) — Оцінює швидкість за допомогою камери, спрямованої вниз, та датчика відстані, спрямованого вниз.
|
||||
Дозволяє отримати більш точне фіксування позиції, ніж просто GPS, і може використовуватися усередині приміщень, коли сигнал GPS недоступний.
|
||||
- [Тахометри (лічильники обертів)](../sensor/tachometers.md) — Використовується лише для реєстрації.
|
||||
|
||||
Інші варіанти включають:
|
||||
|
||||
- [Калібрування фабрики IMU/Компасу](../advanced_config/imu_factory_calibration.md) — Збереження налаштувань калібрування в постійну пам'ять.
|
||||
- [Компенсація Температурних Датчиків](../advanced_config/sensor_thermal_calibration.md) — Компенсувати датчики для змін температури.
|
||||
@@ -0,0 +1,31 @@
|
||||
# IMU, AHRS та INS
|
||||
|
||||
PX4 зазвичай працює на контролерах польоту, які включають в себе ІВП, такі як серія Pixhawk, і об'єднує дані датчиків разом із інформацією ССН (супутникова система навігації) в оцінювачі EKF2 для визначення орієнтації, напрямку, позиції та швидкості транспортного засобу.
|
||||
|
||||
However PX4 can also use some INS devices as either sources of raw data, or as an external estimator, replacing the EKF.
|
||||
|
||||
Системи, які можуть бути використані у такий спосіб, включають в себе:
|
||||
|
||||
- [VectorNav](../sensor/vectornav.md): ІВП/AHRS, ССН/INS, Dual GNSS/INS системи, котрі можуть бути використані як зовнішній INS, або джерело вхідної інформації датчиків.
|
||||
|
||||
## Словник
|
||||
|
||||
### Інерційний вимірювальний пристрій (ІВП)
|
||||
|
||||
An IMU is a device that contains a 3-axis accelerometer (motion sensor), 3-axis gyroscope (rotation sensor), and sometimes a magnetometer (compass).
|
||||
The gyroscope and accelerometer provide raw sensor data that allow measurement of a system's angular rate and acceleration.
|
||||
Магнетометр, якщо він є, надає дані сенсора, які можуть бути використані для визначення напрямку, в якому рухається транспортний засіб.
|
||||
|
||||
### Система посилки заголовку орієнтації (AHRS)
|
||||
|
||||
Система AHRS, яка включає як ІВП, так і систему обробки, яка може надавати інформацію про положення та напрямок на увагу з первинних даних ІВП.
|
||||
|
||||
### Система інерціальної навігації (INS)
|
||||
|
||||
INS є навігаційним пристроєм, який використовує акселерометри, гіроскопи, можливо, магнітометри та комп'ютер для розрахунку положення, швидкості та швидкості руху об'єкта без необхідності зовнішніх посилань.
|
||||
Фактично це AHRS, який також включає оцінку положення/швидкості.
|
||||
|
||||
## Подальша інформація
|
||||
|
||||
- [Що таке інерційна навігаційна система?](https://www.vectornav.com/resources/inertial-navigation-articles/what-is-an-ins) (VectorNav)
|
||||
- [Посібник з інерціальної навігації](https://www.vectornav.com/resources/inertial-navigation-primer) (VectorNav)
|
||||
@@ -0,0 +1,39 @@
|
||||
# LeddarOne Lidar
|
||||
|
||||
[LeddarOne](https://leddartech.com/solutions/leddarone/) is small Lidar module with a narrow, yet diffuse beam that offers excellent overall detection range and performance, in a robust, reliable, cost-effective package.
|
||||
Він має діапазон сенсора від (5см - 40м) і може бути підключений до портів PWM або I2C.
|
||||
|
||||
<img src="../../assets/hardware/sensors/leddar_one.jpg" alt="LeddarOne Lidar rangefinder" width="200px" />
|
||||
|
||||
## Налаштування програмного забезпечення
|
||||
|
||||
LeddarOne can be connected to any unused _serial port_ (UART), e.g.: TELEM2, TELEM3, GPS2 etc.
|
||||
|
||||
Побудуйте кабель, використовуючи плату та роз'єм, а також роз'єм LeddarOne (показаний нижче). Вам лише потрібно буде підключити контакти 5V, TX, RX та GND.
|
||||
|
||||
| Pin | LeddarOne |
|
||||
| --- | --------- |
|
||||
| 1 | GND |
|
||||
| 2 | - |
|
||||
| 3 | VCC |
|
||||
| 4 | RX |
|
||||
| 5 | TX |
|
||||
| 6 | - |
|
||||
|
||||
## Налаштування параметрів
|
||||
|
||||
[Configure the serial port](../peripherals/serial_configuration.md) on which the lidar will run using [SENS_LEDDAR1_CFG](../advanced_config/parameter_reference.md#SENS_LEDDAR1_CFG).
|
||||
Немає потреби встановлювати швидкість передачі для порту, оскільки це налаштовано драйвером.
|
||||
|
||||
:::info
|
||||
If the configuration parameter is not available in _QGroundControl_ then you may need to [add the driver to the firmware](../peripherals/serial_configuration.md#parameter_not_in_firmware):
|
||||
|
||||
```plain
|
||||
CONFIG_DRIVERS_DISTANCE_SENSOR_LEDDAR_ONE=y
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
## Подальша інформація
|
||||
|
||||
- [LeddarOne Spec sheet](https://leddartech.com/app/uploads/dlm_uploads/2021/04/Spec-Sheet_LeddarOne_V10.0_EN-1.pdf)
|
||||
@@ -0,0 +1,86 @@
|
||||
# Lidar-Lite
|
||||
|
||||
LIDAR-Lite це компактний, високопродуктивний оптичний сенсор віддаленого вимірювання для застосувань дронів, роботів або безпілотних транспортних засобів. Можна підключити до I2C або PWM.
|
||||
|
||||

|
||||
|
||||
## Де купити
|
||||
|
||||
- [LIDAR-Lite v3](https://buy.garmin.com/en-AU/AU/p/557294) (5cm - 40m)
|
||||
|
||||
## Схема розташування виводів
|
||||
|
||||
Схема підключення Lidar-Lite (v2, v3) показана нижче.
|
||||
|
||||
| Pin | Назва | Опис |
|
||||
| --- | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| 1 | POWER_IN | Джерело живлення 4,75-5,5 В постійного струму Номінально, Максимально 6 В постійного струму. |
|
||||
| 2 | POWER_EN | Активний високий, дозволяє роботу регулятора мікроконтролера 3,3 В. Low puts board to sleep, draws <40 μA. (Внутрішній 100K імпульс) |
|
||||
| 3 | Керування вибором режиму | Надає тригер (високий-низький край) PWM вихід (високий) |
|
||||
| 4 | SCL | I2C Clock |
|
||||
| 5 | SDA | Дані I2C |
|
||||
| 6 | GND | Сигнальна / заземлювальна земля. |
|
||||
|
||||
## Підключення
|
||||
|
||||
The _Lidar-Lite v3_ can be used with either PWM or I2C.
|
||||
PWM рекомендується при використанні застарілої моделі.
|
||||
Дальномер повинен бути окремо живлений через деякий ESC/BEC (чи підключений через PWM або I2C).
|
||||
|
||||
:::info
|
||||
The I2C interface of non-blue-label Lidar-Lite (v1) devices has stability limitations and all silver-label generations of Lidar-Lite sensors are therefore excluded from the I2C interface.
|
||||
Використання інтерфейсу ШІМ (як детально описано нижче) рекомендується для цих сенсорів.
|
||||
Пристрої з синім маркуванням (v2) можуть мати постійне зміщення, якщо їх увімкнути з напругою менше 5 В за певних умов.
|
||||
Це наразі (Q4/2015) перебуває на розгляді виробником і, можливо, може бути вирішено дотриманням конкретних робочих умов.
|
||||
Рекомендоване міцне налаштування - це пристрій v1, який взаємодіє через PWM.
|
||||
:::
|
||||
|
||||
The standard wiring instructions for Lidar-Lite 3 (from the [Operation Manual](http://static.garmin.com/pumac/LIDAR_Lite_v3_Operation_Manual_and_Technical_Specifications.pdf)) are shown below.
|
||||
Lidar-Lite v2 та v3 є однаковими, за винятком того, що порядок контактів у роз'ємі обернений (тобто це, ніби роз'єм був перевернутий).
|
||||
|
||||

|
||||
|
||||
### Проводка інтерфейсу ШІМ
|
||||
|
||||
The pin connections for wiring LidarLite to the _Pixhawk 1_ AUX ports (PWM interface) are shown below.
|
||||
|
||||
| Pin | Lidar-Lite (v2, v3) | Pixhawk AUX Servo | Коментар |
|
||||
| --- | -------------------------------------- | -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| 1 | VCC | AUX 6 (центр) | Джерело живлення 4,75-5,5 В постійного струму Номінально, Максимально 6 В постійного струму. |
|
||||
| 2 | RESET | AUX 6 (знизу) | Скинути лінію датчика |
|
||||
| 3 | PWM | AUX 5 (знизу) | PWM вихід Lidar Lite. **Needs a 470 Ohm pull-down (to GND), Do not use a 1 K0hm resistor.** |
|
||||
| 4 | SCL | - | Не підключено |
|
||||
| 5 | SDA | - | Не підключено |
|
||||
| 6 | GND | AUX 6 (top) | Ground |
|
||||
|
||||
:::info
|
||||
On a flight controller that has no AUX port the equivalent MAIN pins are used (e.g. the PWM output on the lidar instead maps to MAIN 5).
|
||||
Номери пінів зафіксовані жорстко.
|
||||
:::
|
||||
|
||||
Проводка для LidarLite v2 показана нижче.
|
||||
Lidar-Lite v3 підключений аналогічно, за винятком того, що нумерація контактів на роз'ємі є зворотною.
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
### Проводка інтерфейсу I2C
|
||||
|
||||
Проводка I2C однакова для будь-якого іншого датчика відстані.
|
||||
Просто підключіть SLA, SLC, GND та VCC до відповідних (таких же) контактів на контролері польоту та сенсорі.
|
||||
|
||||
## Конфігурація програмного забезпечення
|
||||
|
||||
The rangefinder/port is enabled using [SENS_EN_LL40LS](../advanced_config/parameter_reference.md#SENS_EN_LL40LS) - set to `1` for PWM, or `2` for I2C.
|
||||
|
||||
:::info
|
||||
The driver for this rangefinder is usually present in firmware.
|
||||
If missing, you would also need to add the driver (`drivers/ll40ls`) to the board configuration.
|
||||
:::
|
||||
|
||||
## Подальша інформація
|
||||
|
||||
- [LIDAR_Lite_v3_Operation_Manual_and_Technical_Specifications.pdf](http://static.garmin.com/pumac/LIDAR_Lite_v3_Operation_Manual_and_Technical_Specifications.pdf) (Garmin)
|
||||
@@ -0,0 +1,104 @@
|
||||
# Оптичний потік(Optical Flow)
|
||||
|
||||
_Optical Flow_ uses a downward facing camera and a downward facing distance sensor for velocity estimation.
|
||||
It can be used to determine speed when navigating without GNSS — in buildings, underground, or in any other GNSS-denied environment.
|
||||
|
||||
The video below shows PX4 holding position using the [Ark Flow](../dronecan/ark_flow.md) sensor for velocity estimation in [Position Mode](../flight_modes_mc/position.md):
|
||||
|
||||
<lite-youtube videoid="aPQKgUof3Pc" title="ARK Flow with PX4 Optical Flow Position Hold"/>
|
||||
|
||||
<!-- ARK Flow with PX4 Optical Flow Position Hold: 20210605 -->
|
||||
|
||||
The image below shows an optical flow setup with a separate flow sensor ([PX4Flow](../sensor/px4flow.md)) and distance sensor ([Lidar-Lite](../sensor/lidar_lite.md)):
|
||||
|
||||

|
||||
|
||||
## Установка
|
||||
|
||||
An Optical Flow setup requires a downward facing camera and a downward facing [distance sensor](../sensor/rangefinders.md) (preferably a LiDAR).
|
||||
These can be combined in a single product, such as the [ARK Flow](../dronecan/ark_flow.md), [ARK Flow MR](../dronecan/ark_flow_mr.md) and [Holybro H-Flow](https://holybro.com/products/h-flow), or they may be separate sensors.
|
||||
|
||||
The sensor(s) can be connected via MAVLink, I2C or any other bus that supports the peripheral.
|
||||
|
||||
:::info
|
||||
If connected to PX4 via MAVLink the Optical Flow camera sensor must publish the [OPTICAL_FLOW_RAD](https://mavlink.io/en/messages/common.html#OPTICAL_FLOW_RAD) message, and the distance sensor must publish the [DISTANCE_SENSOR](https://mavlink.io/en/messages/common.html#DISTANCE_SENSOR) message.
|
||||
The information is written to the corresponding uORB topics: [DistanceSensor](../msg_docs/DistanceSensor.md) and [ObstacleDistance](../msg_docs/ObstacleDistance.md).
|
||||
:::
|
||||
|
||||
Вихід потоку при руху в різних напрямках повинен бути наступним:
|
||||
|
||||
| Рух транспортного засобу | Інтегрований потік |
|
||||
| ------------------------ | ------------------ |
|
||||
| Вперед | + Y |
|
||||
| Назад | - Y |
|
||||
| Справа | - X |
|
||||
| Зліва | + X |
|
||||
|
||||
Дані сенсора від пристрою оптичного потоку об'єднуються з іншими джерелами даних швидкості.
|
||||
The approach used for fusing sensor data and any offsets from the center of the vehicle must be configured in the [estimator](#estimators).
|
||||
|
||||
### Scale Factor
|
||||
|
||||
For pure rotations the `OPTICAL_FLOW_RAD.integrated_xgyro` and `OPTICAL_FLOW_RAD.integrated_x` (respectively `integrated_ygyro` and `integrated_y`) have to be the same.
|
||||
If this is not the case, the optical flow scale factor can be adjusted using [SENS_FLOW_SCALE](../advanced_config/parameter_reference.md#SENS_FLOW_SCALE).
|
||||
|
||||
:::tip
|
||||
The low resolution of common optical flow sensors can cause slow oscillations when hovering at a high altitude above ground (> 20m).
|
||||
Reducing the optical flow scale factor can improve the situation.
|
||||
:::
|
||||
|
||||
## Датчики потоку/Камери
|
||||
|
||||
### ARK Flow & ARK Flow MR
|
||||
|
||||
[ARK Flow](../dronecan/ark_flow.md) is a [DroneCAN](../dronecan/index.md) optical flow sensor, [distance sensor](../sensor/rangefinders.md), and IMU.
|
||||
It has a PAW3902 optical flow sensor, Broadcom AFBR-S50LV85D 30 meter distance sensor, and Invensense ICM-42688-P 6-Axis IMU.
|
||||
|
||||
[ARK Flow MR](../dronecan/ark_flow_mr.md) is a [DroneCAN](../dronecan/index.md) optical flow sensor, [distance sensor](../sensor/rangefinders.md), and IMU, for mid-range applications.
|
||||
It has a PixArt PAA3905 optical flow sensor, Broadcom AFBR-S50LX85D 50 meter distance sensor, and Invensense IIM-42653 6-Axis IMU.
|
||||
|
||||
### Holybro H-Flow
|
||||
|
||||
The [Holybro H-Flow](https://holybro.com/products/h-flow) is a compact [DroneCAN](../dronecan/index.md) optical flow and [distance sensor](../sensor/rangefinders.md) module.
|
||||
It combines a PixArt PAA3905 optical flow sensor, a Broadcom AFBR-S50LV85D distance sensor, and an InvenSense ICM-42688-P 6-axis IMU.
|
||||
An all-in-one design that simplifies installation, with an onboard infrared LED enhances visibility in low-light conditions.
|
||||
|
||||
### Датчики на основі PMW3901
|
||||
|
||||
[PMW3901](../sensor/pmw3901.md) is an optical flow tracking sensor similar to what you would find in a computer mouse, but adapted to work between 80 mm and infinity.
|
||||
Він використовується в ряді продуктів, включаючи деякі від: Bitcraze, Tindie, Hex, Thone та Alientek.
|
||||
|
||||
### Інші Камери/Сенсори
|
||||
|
||||
Також можна використовувати дошку/квадрокоптер, яка має вбудовану камеру.
|
||||
For this the [Optical Flow repo](https://github.com/PX4/OpticalFlow) can be used (see also [snap_cam](https://github.com/PX4/snap_cam)).
|
||||
|
||||
## Далекомір
|
||||
|
||||
You can use any supported [distance sensor](../sensor/rangefinders.md).
|
||||
Проте ми рекомендуємо використовувати LIDAR замість зондів сонар, через їхню надійність та точність.
|
||||
|
||||
## Оцінювач
|
||||
|
||||
Оцінювачі об'єднують дані з датчика оптичного потоку та інших джерел.
|
||||
Налаштування для виконання злиття, а також відносні зсуви до центру транспортного засобу повинні бути вказані для використаного оцінювача.
|
||||
|
||||
Зміщення обчислюються відносно орієнтації транспортного засобу та центру, як показано нижче:
|
||||
|
||||

|
||||
|
||||
Optical Flow based navigation is enabled by both [EKF2](#ekf2) and LPE (deprecated).
|
||||
|
||||
### Extended Kalman Filter (EKF2) {#ekf2}
|
||||
|
||||
For optical flow fusion using EKF2, set [EKF2_OF_CTRL](../advanced_config/parameter_reference.md#EKF2_OF_CTRL).
|
||||
|
||||
Якщо ваш оптичний датчик потоку зміщений від центру транспортного засобу, ви можете встановити це за допомогою наступних параметрів.
|
||||
|
||||
| Параметр | Опис |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| <a id="EKF2_OF_POS_X"></a>[EKF2_OF_POS_X](../advanced_config/parameter_reference.md#EKF2_OF_POS_X) | Позиція X оптичного потоку фокусної точки в системі тіла (за замовчуванням 0.0 м). |
|
||||
| <a id="EKF2_OF_POS_Y"></a>[EKF2_OF_POS_Y](../advanced_config/parameter_reference.md#EKF2_OF_POS_Y) | Позиція Y оптичного потоку фокусної точки в системі тіла (за замовчуванням 0.0 м). |
|
||||
| <a id="EKF2_OF_POS_Z"></a>[EKF2_OF_POS_Z](../advanced_config/parameter_reference.md#EKF2_OF_POS_Z) | Позиція Z оптичного потоку фокусної точки в системі тіла (за замовчуванням 0.0 м). |
|
||||
|
||||
See [Using PX4's Navigation Filter (EKF2) > Optical flow](../advanced_config/tuning_the_ecl_ekf.md#optical-flow) for more information.
|
||||
@@ -0,0 +1,206 @@
|
||||
# Датчики на основі PMW3901 для вимірювання потоку
|
||||
|
||||
PMW3901 is an [optical flow](../sensor/optical_flow.md) ASIC that computes the flow internally and provides a difference in pixels between each frame.
|
||||
Він використовує сенсор відстеження, який схожий на те, що ви знайдете в комп'ютерній мишці, але адаптований для роботи від 80 мм і безмежжя.
|
||||
PMW3901 використовується в декількох продуктах, включаючи деякі від Bitcraze, Tindie, Hex, Thone та Alientek
|
||||
|
||||

|
||||
|
||||
Ця тема містить посилання на датчики, які були протестовані, разом з інформацією про кріплення та конфігурацію PX4 (це загальне для всіх датчиків цього типу).
|
||||
|
||||
## Плати, які використовують PMW3901
|
||||
|
||||
Наступна таблиця показує деякі плати, які використовують цей датчик, зазначаючи кількість інтерфейсів, кількість датчиків, вхідну напругу та розмір.
|
||||
Назва дошки посилається на розділи, що містять інформацію про підключення та інформацію про покупку.
|
||||
|
||||
| Виробництво | Материнська плата | Інтерфейс | Потік | Далекомір | Гіроскоп | Напруга (V) | Розмір (мм) | Максимальна висота (м) |
|
||||
| ----------- | --------------------------------------------------------------------------------- | --------- | ----- | --------- | -------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
|
||||
| Bitcraze | [Flow breakout](#bitcraze-flow-breakout) | SPI | Y | Y | - | 3 - 5 | 21x20 | 1 |
|
||||
| Tindie | [PMW3901 Optical Flow Sensor](#tindie-pmw3901-optical-flow-sensor) | SPI | Y | - | - | 3 - 5 | AxB | - |
|
||||
| Hex | [HereFlow PMW3901 Optical Flow Sensor](#hex-hereflow-pmw3901-optical-flow-sensor) | CAN | Y | Y | Y | 3 - 5 | AxB | 4 |
|
||||
| Holybro | [Holybro PMW3901 Optical Flow Sensor](#holybro-pmw3901-optical-flow-sensor) | UART | Y | - | - | 3 - 5 | AxB | - |
|
||||
| Thone | [ThoneFlow-3901U](#thone-thoneflow-3901u) | UART | Y | - | - | 3 - 5 | AxB | - |
|
||||
| Alientek | [ATK-PMW3901](#alientek-atk-pmw3901) | SPI | Y | - | - | 3.3 - 4.2 | 27.5x16.5 | 1 |
|
||||
|
||||
## Підтримувані дальномери
|
||||
|
||||
An external rangefinder/distance sensor is _required_ for the sensors that don't have a rangefinder (e.g. _Tindie_ or _Thone_) and _recommended_ for the other boards (as their range is quite limited).
|
||||
|
||||
Діапазон, необхідний для застосування, залежить від програми:
|
||||
|
||||
- Польот у приміщенні: ≈4 метри
|
||||
- Польот на відкритому повітрі: ≥10 метрів (наприклад, для підтримки контролю за позицією в середовищах, де можуть виникнути проблеми з GPS)
|
||||
|
||||
Any [rangefinder/distance sensor](../sensor/rangefinders.md) supported by PX4 may be used.
|
||||
Датчик може бути встановлений будь-де, але повинен бути спрямований вниз і повинен бути підключений/налаштований як зазвичай.
|
||||
|
||||
:::tip
|
||||
The PX4 team mainly tested using the [Lidar Lite V3](../sensor/lidar_lite.md) on larger vehicles and the [Lanbao CM8JL65](../sensor/cm8jl65_ir_distance_sensor.md) (Discontinued) on smaller vehicles.
|
||||
:::
|
||||
|
||||
## Монтаж/Орієнтація
|
||||
|
||||
Модулі потоку зазвичай встановлюються близько до центру транспортного засобу.
|
||||
If mounted off-centre you will need to set offsets: [Optical Flow > EKF2](../sensor/optical_flow.md#ekf2).
|
||||
|
||||
The flow modules may be mounted with any yaw orientation relative to the vehicle body frame, but you must set the value used in [SENS_FLOW_ROT](../advanced_config/parameter_reference.md#SENS_FLOW_ROT).
|
||||
|
||||
The "zero" rotation is when the sensor board and [vehicle](../getting_started/px4_basic_concepts.md#heading-and-directions) X-axes are aligned (i.e. the "front" of the vehicle and the board are in the same direction), with rotations increasing in a clockwise direction.
|
||||
|
||||
PMW3901 modules have a small notch indicating the direction of the **back** of the board.
|
||||
The diagram shows the relative board and vehicle orientations that correspond to `SENS_FLOW_ROT=0` (note the notch at the back).
|
||||
|
||||

|
||||
|
||||
Діаграма вище показує дошку Bitcraze.
|
||||
Ви можете використовувати виступ, щоб знайти орієнтацію інших плат у тому ж самому способі:
|
||||
|
||||
| &nbsp; | &nbsp; |
|
||||
| ---------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
|
||||
| Tindie<br>![PMW3901 Tindie Notch][tindie_notch] | Hex Hereflow<br>![PMW3901 Hereflow Notch][hereflow_notch] |
|
||||
| Thone<br>![PMW3901 Thoneflow Notch][thoneflow_notch] | Alientek (also has an arrow indicating the front!)<br>![PMW3901 Alientek Notch][alientek_notch] |
|
||||
|
||||
[tindie_notch]: ../../assets/hardware/sensors/pmw3901/tindie_notch.jpg
|
||||
[thoneflow_notch]: ../../assets/hardware/sensors/pmw3901/thoneflow_3901u_notch.jpg
|
||||
[alientek_notch]: ../../assets/hardware/sensors/pmw3901/alientek_pmw3901_notch.jpg
|
||||
[hereflow_notch]: ../../assets/hardware/sensors/pmw3901/hex_hereflow_notch.jpg
|
||||
|
||||
## Конфігурація PX4
|
||||
|
||||
Конфігурація PX4, яка є загальною для всіх плат на основі PMW3901:
|
||||
|
||||
- [Optical Flow > EKF2](../sensor/optical_flow.md#ekf2) explains how to fuse optical flow data in the EKF2 estimator and set position offsets for the mounting position of the flow sensor.
|
||||
- [SENS_FLOW_ROT](../advanced_config/parameter_reference.md#SENS_FLOW_ROT) sets the orientation of the flow sensor relative to vehicle heading.
|
||||
|
||||
Окрім того для:
|
||||
|
||||
- SPI-connected sensors you must set [SENS_EN_PMW3901](../advanced_config/parameter_reference.md#SENS_EN_PMW3901) to `1` in order to enable the sensor driver.
|
||||
- UART-connected sensors (e.g. ThoneFlow-3901UY) you must [configure the associated serial port](../peripherals/serial_configuration.md) by setting the parameter [SENS_TFLOW_CFG](../advanced_config/parameter_reference.md#SENS_TFLOW_CFG) to the value of the connected UART port (for example, if you connected this sensor to `TELEM 2`, you need to set `SENS_TFLOW_CFG` to `102`).
|
||||
- DroneCAN sensors you must set `UAVCAN_ENABLE` appropriately.
|
||||
For more information see [DroneCAN Peripherals](../dronecan/index.md) (and the [HereFlow PMW3901 docs below](#dronecan_wiring)).
|
||||
|
||||
Індивідуальні датчики потоку додатково налаштовуються/конфігуруються, як описано в розділах нижче.
|
||||
|
||||
## Розгалуження Bitcraze Flow
|
||||
|
||||
The [Bitcraze Flow breakout](https://www.bitcraze.io/products/flow-breakout/) directly exposes the [SPI interface](#spi-wiring) from the PMW3901 module.
|
||||
|
||||
The board also incorporates a distance sensor [wired to the Pixhawk I2C port](#i2c-wiring).
|
||||
Цей датчик відстані - це датчик ToF VL53L0x від STMicroelectronics.
|
||||
Діапазон сенсора мінімальний (2 метри) і буде зменшуватися під час польоту на сонці.
|
||||
We therefore highly recommend that you use an [external distance sensor](#external-rangefinders).
|
||||
|
||||

|
||||
|
||||
[PX4 configuration](#px4-configuration) and [mounting/orientation](#mounting-orientation) instructions are provided above.
|
||||
|
||||
### Підключення SPI
|
||||
|
||||
PMW3901, якщо підключений до порту SPI на Pixhawk 4, автоматично виявить модуль потоку Bitcraze.
|
||||
Драйвер цього пристрою був явно написаний для підключення до порту SPI за допомогою вибору чіпа 1.
|
||||
No parameters will have to be configured other than the [orientation and position of the sensor](#mounting-orientation).
|
||||
|
||||
Схема виводів для порту SPI Pixhawk до плати Bitcraze Flow показана нижче (схема виводів однакова для всіх версій Pixhawk FMU).
|
||||
|
||||
| Порт SPI Pixhawk (зліва направо) | Плата потоку Bitcraze |
|
||||
| --------------------------------------------------- | --------------------- |
|
||||
| 1 (VCC) | VCC |
|
||||
| 2 (SCK) | CLK |
|
||||
| 3 (MISO) | MISO |
|
||||
| 4 (MOSI) | MOSI |
|
||||
| 5 (CS1) | CS |
|
||||
| 6 (CS2) | Не підключайте |
|
||||
| 7 (GND) | GND |
|
||||
|
||||
Щоб підключити плату bitcraze flow до Pixhawk, вам потрібно злити дроти кабелю SPI Pixhawk на плату flow.
|
||||
Кабель SPI має 7 провідів, з яких потрібно підключити 6 до плати потоку.
|
||||
|
||||
Наступна діаграма показує, як підключити датчик до Pixhawk 4.
|
||||
|
||||

|
||||
|
||||
### Підключення I2C
|
||||
|
||||
Проводка I2C однакова для будь-якого іншого датчика відстані.
|
||||
Просто підключіть SLA, SLC, GND та VCC до відповідних (таких же) контактів на Pixhawk та сенсорі.
|
||||
|
||||
## Оптичний датчик потоку Tindie PMW3901
|
||||
|
||||
The Tindie [PMW3901 Optical Flow Sensor](https://www.tindie.com/products/onehorse/pmw3901-optical-flow-sensor/) exposes the SPI interface from the PMW3901 module exactly as on the Bitcraze module (see [SPI Wiring](#spi-wiring)).
|
||||
|
||||

|
||||
|
||||
The sensor doesn't have a distance sensor onboard, so you will need to use an [external distance sensor](#external-rangefinders).
|
||||
|
||||
[PX4 configuration](#px4-configuration) and [mounting/orientation](#mounting-orientation) instructions are provided above.
|
||||
|
||||
## AlienTek ATK-PMW3901
|
||||
|
||||
The AlienTek [ATK-PMW3901](https://www.aliexpress.com/i/32979605707.html) exposes the SPI interface from the PMW3901 module in the same way as the Bitcraze module (see [SPI Wiring](#spi-wiring)).
|
||||
|
||||

|
||||
|
||||
The board also incorporates a distance sensor (we recommend that you use an [external distance sensor](#external-rangefinders)).
|
||||
You can wire the internal sensor to the Pixhawk I2C port [in the same way as any other I2C peripheral.](#i2c-wiring)
|
||||
A screenshot showing the I2C pins (SLA, SLC, GND, and VCC) is provided below.
|
||||
|
||||

|
||||
|
||||
[PX4 configuration](#px4-configuration) and [mounting/orientation](#mounting-orientation) instructions are provided above.
|
||||
|
||||
## Hex HereFlow Оптичний датчик потоку PMW3901
|
||||
|
||||
The Hex [HereFlow PMW3901 Optical Flow Sensor](http://www.proficnc.com/all-products/185-pixhawk2-suite.html) is a tiny board containing the PMW3901 flow module, VL53L1X distance sensor, and an IMU (used to synchronize the flow data with the gyro data).
|
||||
|
||||
Вбудований мікроконтролер зразки три датчики та публікує дві повідомлення DroneCAN, що містять всю інформацію, необхідну для розрахунків датчика потоку та відстані.
|
||||
|
||||
The board can be connected to any CAN port on any Pixhawk board (see [DroneCAN wiring](#dronecan_wiring)).
|
||||
|
||||
As for the other optical flow boards, we recommend that you use an [external distance sensor](#external-rangefinders).
|
||||
|
||||
[PX4 configuration](#px4-configuration) and [mounting/orientation](#mounting-orientation) instructions are provided above.
|
||||
|
||||
<a id="dronecan_wiring"></a>
|
||||
|
||||
### Проводка/Налаштування DroneCAN
|
||||
|
||||
Схема нижче показує, як підключити датчик до шини CAN Pixhawk 4.
|
||||
|
||||

|
||||
|
||||
In addition to any other configuration, you will need to set the parameter [UAVCAN_ENABLE](../advanced_config/parameter_reference.md#UAVCAN_ENABLE) to either 2 or 3, depending on your system:
|
||||
|
||||
- `UAVCAN_ENABLE=2`: DroneCAN sensors but no motor controllers.
|
||||
- `UAVCAN_ENABLE=3`: DroneCAN sensors and motor controllers.
|
||||
|
||||
For general information about DroneCAN wiring and configuration see: [DroneCAN Peripherals](../dronecan/index.md).
|
||||
|
||||
## Holybro PMW3901 Оптичний датчик потоку
|
||||
|
||||
The [Holybro PMW3901 Optical Flow Sensor](https://holybro.com/products/pmw3901-optical-flow-sensor) exposes a PMW3901 optical flow module via a UART interface.
|
||||
|
||||
The board doesn't include a distance sensor onboard, so you will need to use an [external distance sensor](#external-rangefinders).
|
||||
|
||||
<img src="../../assets/hardware/sensors/pmw3901/holybro-pmw3901-1.jpg" width="350px" title="HB-pmw3901-1" />
|
||||
<img src="../../assets/hardware/sensors/pmw3901/holybro-pmw3901-2.jpg" width="350px" title="HB-pmw3901-2" />
|
||||
|
||||
Це поставляється з корпусом, надрукованим у 3D, та передпаяним TX, напругою та GND 4-контактним роз'ємом, який можна підключити до порту телеметрії вашого контролера польоту, як показано нижче (для Pixhawk 6C).
|
||||
|
||||

|
||||
|
||||
## Thone ThoneFlow-3901U
|
||||
|
||||
The Thone [ThoneFlow-3901U](https://www.seeedstudio.com/ThoneFlow-3901U-UART-Serial-Version-PMW3901-Optical-Flow-Sensor-p-4040.html) exposes a PMW3901 optical flow module via a UART interface.
|
||||
|
||||
The board doesn't include a distance sensor onboard, so you will need to use an [external distance sensor](#external-rangefinders).
|
||||
|
||||

|
||||
|
||||
<!-- note, this will be set using SENS_TFLOW_CFG
|
||||
Wiring is also required.
|
||||
-->
|
||||
|
||||
[PX4 configuration](#px4-configuration) and [mounting/orientation](#mounting-orientation) instructions are provided above.
|
||||
|
||||
In addition, you must also set the parameter [SENS_TFLOW_CFG](../advanced_config/parameter_reference.md#SENS_TFLOW_CFG) to the value of the UART port you connected (e.g. if the sensor is connected to `TELEM 2` then set `SENS_TFLOW_CFG=102`.
|
||||
For more information see [Serial Port Configuration](../peripherals/serial_configuration.md).
|
||||
@@ -0,0 +1,8 @@
|
||||
# PX4FLOW Smart Camera (Застаріла версія)
|
||||
|
||||
<Badge type="info" text="Discontinued" />
|
||||
|
||||
PX4 does not support the PX4Flow [optical flow](../sensor/optical_flow.md) sensor from PX4 v1.13 (it doesn't work with current firmware).
|
||||
PX4 може працювати зі старішою прошивкою PX4Flow.
|
||||
|
||||
Documentation has been removed (if needed, see [Legacy Docs for PX4Flow in v1.13](https://docs.px4.io/v1.13/en/sensor/px4flow.html)).
|
||||
@@ -0,0 +1,256 @@
|
||||
# Датчики відстані (далекодобива)
|
||||
|
||||
Distance sensors provide distance measurement that can be used for [terrain following](../flying/terrain_following_holding.md#terrain_following), [terrain holding](../flying/terrain_following_holding.md#terrain_hold) (i.e. precision hovering for photography), improved landing behaviour ([conditional range aid](../advanced_config/tuning_the_ecl_ekf.md#conditional-range-aiding)), warning of regulatory height limits, collision prevention, etc.
|
||||
|
||||
This section lists the distance sensors supported by PX4 (linked to more detailed documentation), and provides information about the [generic configuration](#configuration) required for all rangefinders, [testing](#testing), and simulation with [Gazebo](#gazebo-simulation) or [Gazebo-Classic](#gazebo-classic-simulation).
|
||||
Додаткову інформацію щодо налаштування та конфігурації надається в темах, посилених нижче (та в бічній панелі).
|
||||
|
||||
<img src="../../assets/hardware/sensors/lidar_lite/lidar_lite_v3.jpg" alt="Lidar Lite V3" width="200px" /><img src="../../assets/hardware/sensors/lidar_lightware/sf11c_120_m.jpg" alt="LightWare SF11/C Lidar" width="200px" /><img src="../../assets/hardware/sensors/optical_flow/ark_flow_distance_sensor.jpg" alt="ARK Flow" width="200px">
|
||||
|
||||
## Підтримувані дальномери
|
||||
|
||||
:::tip
|
||||
This is a subset of the rangefinders that can be used with PX4.
|
||||
[Modules: Distance Sensors](../modules/modules_driver_distance_sensor.md) lists PX4 drivers for other non-CAN rangefinders.
|
||||
There may also be other DroneCAN rangefinders than those listed here.
|
||||
:::
|
||||
|
||||
### ARK Flow & AKR Flow MR
|
||||
|
||||
[ARK Flow](../dronecan/ark_flow.md) and [ARK Flow](../dronecan/ark_flow_mr.md) are open-source Time-of-Flight (ToF) and optical flow sensor modules, which are capable of measuring distances from 8cm to 30m and from 8cm to 50m, respectively.
|
||||
Він може бути підключений до контролера польоту через свій порт CAN1, що дозволяє підключати додаткові датчики через свій порт CAN2.
|
||||
It supports [DroneCAN](../dronecan/index.md), runs [PX4 DroneCAN Firmware](../dronecan/px4_cannode_fw.md), and is packed into a tiny form factor.
|
||||
|
||||
### Лідар Holybro ST VL53L1X
|
||||
|
||||
The [VL53L1X](https://holybro.com/products/st-vl53l1x-lidar) is a state-of-the-art, Time-of-Flight (ToF), laser-ranging sensor, enhancing the ST FlightSense™ product family.
|
||||
Це найшвидший мініатюрний датчик ToF на ринку з точним вимірюванням до 4 м і швидкою частотою вимірювання до 50 Гц.
|
||||
|
||||
It comes with a JST GHR 4 pin connector that is compatible with the I2C port on [Pixhawk 4](../flight_controller/pixhawk4.md), [Pixhawk 5X](../flight_controller/pixhawk5x.md), and other flight controllers that follow the [Pixhawk Connector Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-009%20Pixhawk%20Connector%20Standard.pdf).
|
||||
|
||||
### Lidar-Lite
|
||||
|
||||
[Lidar-Lite](../sensor/lidar_lite.md) is a compact, high-performance optical distant measurement rangefinder.
|
||||
Він має діапазон сенсора від (5см - 40м) і може бути підключений до портів PWM або I2C.
|
||||
|
||||
### MaxBotix I2CXL-MaxSonar-EZ
|
||||
|
||||
The MaxBotix [I2CXL-MaxSonar-EZ](https://www.maxbotix.com/product-category/i2cxl-maxsonar-ez-products) range has a number of relatively short-ranged sonar based rangefinders that are suitable for assisted takeoff/landing and collision avoidance.
|
||||
Ці можуть бути підключені за допомогою порту I2C.
|
||||
|
||||
The rangefinders are enabled using the parameter [SENS_EN_MB12XX](../advanced_config/parameter_reference.md#SENS_EN_MB12XX).
|
||||
|
||||
### Лідари Lightware
|
||||
|
||||
[Lightware SFxx Lidar](../sensor/sfxx_lidar.md) provide a broad range of lightweight “laser altimeters” that are suitable for many drone applications.
|
||||
|
||||
PX4 підтримує: SF11/c та SF/LW20.
|
||||
PX4 також може бути використаний з наступними припиненими моделями: SF02, SF10/a, SF10/b, SF10/c.
|
||||
|
||||
Others may be supported via the [RaccoonLab Cyphal and DroneCAN Rangefinder Adapter](#raccoonlab-cyphal-and-dronecan-rangefinder-adapter) described below.
|
||||
|
||||
PX4 also supports the [LightWare LiDAR SF45 Rotating Lidar](../sensor/sf45_rotating_lidar.md) for [collision prevention](../computer_vision/collision_prevention.md) applications.
|
||||
|
||||
### Дальніміри TeraRanger
|
||||
|
||||
[TeraRanger](../sensor/teraranger.md) provide a number of lightweight distance measurement sensors based on infrared Time-of-Flight (ToF) technology.
|
||||
Вони зазвичай швидші і мають більший діапазон, ніж ехолокатори, і менші та легші, ніж системи на основі лазера.
|
||||
|
||||
PX4 підтримує наступні моделі, підключені через шину I2C: TeraRanger One, TeraRanger Evo 60m та TeraRanger Evo 600Hz.
|
||||
|
||||
### Стандартний радарний висотомір Ainstein US-D1
|
||||
|
||||
The _Ainstein_ [US-D1 Standard Radar Altimeter](../sensor/ulanding_radar.md) is compact microwave rangefinder that has been optimised for use on UAVs.
|
||||
Він має діапазон виявлення близько 50м.
|
||||
Особливі переваги цього продукту полягають в тому, що він може ефективно працювати в усіх погодних умовах і на всіх типах місцевості (включаючи воду).
|
||||
|
||||
### LeddarOne
|
||||
|
||||
[LeddarOne](../sensor/leddar_one.md) is small Lidar module with a narrow, yet diffuse beam that offers excellent overall detection range and performance, in a robust, reliable, cost-effective package.
|
||||
Він має діапазон сенсора від (5см - 40м) і може бути підключений до портів PWM або I2C.
|
||||
|
||||
### TFmini
|
||||
|
||||
The [Benewake TFmini Lidar](../sensor/tfmini.md) is a tiny, low cost, and low power LIDAR with 12m range.
|
||||
|
||||
### PSK-CM8JL65-CC5
|
||||
|
||||
<Badge type="info" text="Discontinued" />
|
||||
|
||||
The [Lanbao PSK-CM8JL65-CC5 ToF Infrared Distance Measuring Sensor](../sensor/cm8jl65_ir_distance_sensor.md) is a very small (38 mm x 18mm x 7mm, <10g) IR distance sensor with a 0.17m-8m range and millimeter resolution.
|
||||
Це повинно бути підключено до шини UART/серійного порту.
|
||||
|
||||
### Avionics Anonymous UAVCAN Laser Altimeter Interface
|
||||
|
||||
The [Avionics Anonymous UAVCAN Laser Altimeter Interface](../dronecan/avanon_laser_interface.md) allows several common rangefinders (e.g. [Lightware SF11/c, SF30/D](../sensor/sfxx_lidar.md), etc) to be connected to the [CAN](../can/index.md) bus via [DroneCAN](../dronecan/index.md), a more robust interface than I2C.
|
||||
|
||||
### RaccoonLab Cyphal and DroneCAN Rangefinder Adapter
|
||||
|
||||
The [RaccoonLab Cyphal and DroneCAN Rangefinder Adapter](https://raccoonlab.co/tproduct/360882105-910084093051-cyphal-and-dronecan-rangefinder-adapter) allows several common rangefinders to be connected to the CAN bus via Cyphal or DroneCAN, providing a more robust interface than I2C or UART.
|
||||
This adapter efficiently reads measurements via I2C or UART and publishes range data in meters, making it a versatile solution for UAVs, robotics, and technical documentation applications.
|
||||
|
||||
Supported rangefinders include:
|
||||
|
||||
- LightWare LW20/C
|
||||
- TF-Luna
|
||||
- Garmin Lite V3
|
||||
- VL53L1CB
|
||||
|
||||
### RaccoonLab Cyphal and DroneCAN µRANGEFINDER
|
||||
|
||||
[RaccoonLab µRANGEFINDER](https://docs.raccoonlab.co/guide/rangefinder/uRANGEFINDER.html) is designed to measure distance and publish it via Cyphal/DroneCAN protocols.
|
||||
It can be used to estimate precision landing or object avoidance.
|
||||
|
||||
Features:
|
||||
|
||||
- [VL53L1CBV0FY-1](https://www.st.com/resource/en/datasheet/vl53l1.pdf) sensor
|
||||
- Input voltage sensor
|
||||
- CAN connectors: 2 [UCANPHY Micro (JST-GH 4)](https://raccoonlabdev.github.io/docs/guide/wires/).
|
||||
|
||||
## Configuration/Setup {#configuration}
|
||||
|
||||
Rangefinders are usually connected to either a serial (PWM) or I2C port (depending on the device driver), and are enabled on the port by setting a particular parameter.
|
||||
|
||||
The hardware and software setup that is _specific to each distance sensor_ is covered in their individual topics.
|
||||
|
||||
The generic configuration that is _common to all distance sensors_, covering both the physical setup and usage, is given below.
|
||||
|
||||
### Generic Configuration
|
||||
|
||||
The common rangefinder configuration is specified using [EKF2_RNG\_\*](../advanced_config/parameter_reference.md#EKF2_RNG_CTRL) parameters.
|
||||
These include (non exhaustively):
|
||||
|
||||
- [EKF2_RNG_POS_X](../advanced_config/parameter_reference.md#EKF2_RNG_POS_X), [EKF2_RNG_POS_Y](../advanced_config/parameter_reference.md#EKF2_RNG_POS_Y), [EKF2_RNG_POS_Z](../advanced_config/parameter_reference.md#EKF2_RNG_POS_Z) - offset of the rangefinder from the vehicle centre of gravity in X, Y, Z directions.
|
||||
- [EKF2_RNG_PITCH](../advanced_config/parameter_reference.md#EKF2_RNG_PITCH) - A value of 0 degrees (default) corresponds to the range finder being exactly aligned with the vehicle vertical axis (i.e. straight down), while 90 degrees indicates that the range finder is pointing forward.
|
||||
Simple trigonometry is used to calculate the distance to ground if a non-zero pitch is used.
|
||||
- [EKF2_RNG_DELAY](../advanced_config/parameter_reference.md#EKF2_RNG_DELAY) - approximate delay of data reaching the estimator from the sensor.
|
||||
- [EKF2_RNG_SFE](../advanced_config/parameter_reference.md#EKF2_RNG_SFE) - Range finder range dependent noise scaler.
|
||||
- [EKF2_RNG_NOISE](../advanced_config/parameter_reference.md#EKF2_RNG_NOISE) - Measurement noise for range finder fusion
|
||||
|
||||
## Тестування
|
||||
|
||||
The easiest way to test the rangefinder is to vary the range and compare to the values detected by PX4.
|
||||
The sections below show some approaches to getting the measured range.
|
||||
|
||||
### QGroundControl MAVLink Inspector
|
||||
|
||||
The _QGroundControl MAVLink Inspector_ lets you view messages sent from the vehicle, including `DISTANCE_SENSOR` information from the rangefinder.
|
||||
The main difference between the tools is that the _Analyze_ tool can plot values in a graph.
|
||||
|
||||
:::info
|
||||
The messages that are sent depend on the vehicle configuration.
|
||||
You will only get `DISTANCE_SENSOR` messages if the connected vehicle has a rangefinder installed and is publishing sensor values.
|
||||
:::
|
||||
|
||||
To view the rangefinder output:
|
||||
|
||||
1. Open the menu **Q > Select Tool > Analyze Tools**:
|
||||
|
||||

|
||||
|
||||
2. Select the message `DISTANCE_SENSOR`, and then check the plot checkbox against `current_distance`.
|
||||
The tool will then plot the result:
|
||||

|
||||
|
||||
### QGroundControl MAVLink Console
|
||||
|
||||
You can also use the _QGroundControl MAVLink Console_ to observe the `distance_sensor` uORB topic:
|
||||
|
||||
```sh
|
||||
listener distance_sensor 5
|
||||
```
|
||||
|
||||
:::info
|
||||
The _QGroundControl MAVLink Console_ works when connected to Pixhawk or other NuttX targets, but not the Simulator.
|
||||
On the Simulator you can run the commands directly in the terminal.
|
||||
:::
|
||||
|
||||
For more information see: [Development > Debugging/Logging > Sensor/Topic Debugging using the Listener Command](../debug/sensor_uorb_topic_debugging.md).
|
||||
|
||||
## Симуляція
|
||||
|
||||
### Gazebo Simulation
|
||||
|
||||
Lidar and sonar rangefinders can be used in the [Gazebo](../sim_gazebo_gz/index.md) simulator.
|
||||
To do this you must start the simulator using a vehicle model that includes the rangefinder.
|
||||
|
||||
Downward facing sensors that write to the [DistanceSensor](../msg_docs/DistanceSensor.md) UORB topic can be used to test use cases such as [landing](../flight_modes_mc/land.md) and [terrain following](../flying/terrain_following_holding.md):
|
||||
|
||||
- [Quadrotor(x500) with 1D LIDAR (Down-facing)](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-1d-lidar-down-facing)
|
||||
|
||||
```sh
|
||||
make px4_sitl gz_x500_lidar_down
|
||||
```
|
||||
|
||||
Front-facing sensors that write to [ObstacleDistance](../msg_docs/ObstacleDistance.md) can be used to test [Collision Prevention](../computer_vision/collision_prevention.md#gazebo-simulation):
|
||||
|
||||
- [Quadrotor(x500) with 2D LIDAR](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar)
|
||||
|
||||
```sh
|
||||
make px4_sitl gz_x500_lidar_2d
|
||||
```
|
||||
|
||||
- [Quadrotor(x500) with 1D LIDAR (Front-facing)](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-1d-lidar-front-facing)
|
||||
|
||||
```sh
|
||||
make px4_sitl gz_x500_lidar_front
|
||||
```
|
||||
|
||||
### Gazebo-Classic Simulation
|
||||
|
||||
Lidar and sonar rangefinders can be used in the [Gazebo Classic](../sim_gazebo_classic/index.md) simulator.
|
||||
To do this you must start the simulator using a vehicle model that includes the rangefinder.
|
||||
|
||||
The iris optical flow model includes a Lidar rangefinder:
|
||||
|
||||
```sh
|
||||
make px4_sitl gazebo-classic_iris_opt_flow
|
||||
```
|
||||
|
||||
The typhoon_h480 includes a sonar rangefinder:
|
||||
|
||||
```sh
|
||||
make px4_sitl gazebo-classic_typhoon_h480
|
||||
```
|
||||
|
||||
If you need to use a different vehicle you can include the model in its configuration file.
|
||||
You can see how in the respective Iris and Typhoon configuration files:
|
||||
|
||||
- [iris_opt_flow.sdf](https://github.com/PX4/PX4-SITL_gazebo-classic/blob/main/models/iris_opt_flow/iris_opt_flow.sdf)
|
||||
|
||||
```xml
|
||||
<include>
|
||||
<uri>model://lidar</uri>
|
||||
<pose>-0.12 0 0 0 3.1415 0</pose>
|
||||
</include>
|
||||
<joint name="lidar_joint" type="revolute">
|
||||
<child>lidar::link</child>
|
||||
<parent>iris::base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
```
|
||||
|
||||
- [typhoon_h480.sdf](https://github.com/PX4/PX4-SITL_gazebo-classic/blob/main/models/typhoon_h480/typhoon_h480.sdf.jinja#L1131-L1145)
|
||||
|
||||
```xml
|
||||
<include>
|
||||
<uri>model://sonar</uri>
|
||||
</include>
|
||||
<joint name="sonar_joint" type="revolute">
|
||||
<child>sonar_model::link</child>
|
||||
<parent>typhoon_h480::base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
```
|
||||
@@ -0,0 +1,129 @@
|
||||
# Lightware SF45/B Rotary Lidar
|
||||
|
||||
LightWare [SF45/B](https://lightwarelidar.com/shop/sf45-b-50-m/) is an extremely small and light rotating Lidar with a range of 50m.
|
||||
It can be used to enable [Collision Prevention](../computer_vision/collision_prevention.md) without a companion computer.
|
||||
|
||||

|
||||
|
||||
:::info
|
||||
The lidar driver is not included in the default build of PX4.
|
||||
You will need to [create and use a custom build](#add-the-driver-to-the-px4-build).
|
||||
:::
|
||||
|
||||
## LightWare Studio Setup
|
||||
|
||||
In the [LightWare Studio](https://www.lightwarelidar.com/resources-software) app set following values:
|
||||
|
||||
| Параметр | Опис |
|
||||
| --------- | ------ |
|
||||
| Baud rate | 921600 |
|
||||
|
||||
Make sure the scan angles are set so that nothing on the drone interferes with the measurements.
|
||||
The driver and [Collision Prevention](../computer_vision/collision_prevention.md) automatically handle angles different from the maximum angles.
|
||||
|
||||
## Налаштування програмного забезпечення
|
||||
|
||||
The rangefinder can be connected to any unused serial port, such as `TELEM2`.
|
||||
[Parameter Configuration](#parameter-configuration) explains how to configure the port to use and the other properties of the rangefinder.
|
||||
|
||||
## Налаштування PX4
|
||||
|
||||
### Add the Driver to the PX4 Build
|
||||
|
||||
The driver for this LiDar is not included in PX4 firmware by default.
|
||||
|
||||
Вам потрібно:
|
||||
|
||||
1. Add the [lightware_sf45_serial](../modules/modules_driver_distance_sensor.md#lightware-sf45-serial) driver to firmware:
|
||||
- Install and open [menuconfig](../hardware/porting_guide_config.md#px4-menuconfig-setup)
|
||||
- In [menuconfig](../hardware/porting_guide_config.md#px4-menuconfig-setup), navigate to **Drivers > Distance sensors**
|
||||
- Select/Enable `lightware_sf45_serial`
|
||||
2. [Build PX4](../dev_setup/building_px4.md) for your flight controller target and then upload the new firmware.
|
||||
|
||||
### Налаштування параметрів
|
||||
|
||||
You will need to configure PX4 to indicate the serial port to which the sensor is connected (as per [Serial Port Configuration](../peripherals/serial_configuration.md)) and also the orientation and other properties of the sensor.
|
||||
|
||||
The [parameters to change](../advanced_config/parameters.md) are listed in the table.
|
||||
|
||||
| Параметр | Опис |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
|
||||
| <a id="SENS_EN_SF45_CFG"></a>[SENS_EN_SF45_CFG](../advanced_config/parameter_reference.md#SENS_EN_SF45_CFG) | Set to the serial port you have the sensor connected to. |
|
||||
| <a id="SF45_ORIENT_CFG"></a>[SF45_ORIENT_CFG](../advanced_config/parameter_reference.md#SF45_ORIENT_CFG) | Set the orientation of the sensor (facing up or down) |
|
||||
| <a id="SF45_UPDATE_CFG"></a>[SF45_UPDATE_CFG](../advanced_config/parameter_reference.md#SF45_UPDATE_CFG) | Set the update rate |
|
||||
| <a id="SF45_YAW_CFG"></a>[SF45_YAW_CFG](../advanced_config/parameter_reference.md#SF45_YAW_CFG) | Set the yaw orientation |
|
||||
|
||||
## Тестування
|
||||
|
||||
You can confirm that the sensor is correctly configured by connecting QGroundControl, and observing that [OBSTACLE_DISTANCE](https://mavlink.io/en/messages/common.html#OBSTACLE_DISTANCE) is present in the [MAVLink Inspector](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/analyze_view/mavlink_inspector.html).
|
||||
|
||||
Налаштування перешкод в QGC буде виглядати так:
|
||||
|
||||

|
||||
|
||||
## Driver Implementation
|
||||
|
||||
The [sensor driver](../modules/modules_driver_distance_sensor.md#lightware-sf45-serial) publishes the [ObstacleDistance](../msg_docs/ObstacleDistance.md) UORB Message that is used by PX4 [Collision Prevention](../computer_vision/collision_prevention.md).
|
||||
The measurements in each sector will correspond to the lowest measurement the sensor had in that corresponding sector.
|
||||
The data is then published to the [OBSTACLE_DISTANCE](https://mavlink.io/en/messages/common.html#OBSTACLE_DISTANCE) MAVLink message.
|
||||
|
||||
## Усунення проблем
|
||||
|
||||
### Errors and Jerky Movements
|
||||
|
||||
Start-up issues, jerky movements, or a lot of communication errors displayed with `lightware_sf45_serial status` could mean that the sensor is not getting enough power.
|
||||
|
||||
According to its datasheet, the sensor needs 300 mA of current at 5V.
|
||||
The supplied cable is fairly long and when connected to the 5V supply, such as the flight controller `TELEM2` port, the voltage at the rangefinder may drop below the required level.
|
||||
One mitigation/alternative is to power the SF45 via a separate step-down converter from battery voltage, ensuring that there are 5V across the rangefinder itself.
|
||||
|
||||
### Debugging with PlotJuggler
|
||||
|
||||
Debugging problems with distance sensors is much easier if you can plot the [OBSTACLE_DISTANCE](https://mavlink.io/en/messages/common.html#OBSTACLE_DISTANCE) message in an x-y plot, because this lets you directly see the orientation of the measurement in respect of the drone.
|
||||
|
||||
The video below shows how you can view such a plot in PlotJuggler.
|
||||
|
||||
<lite-youtube videoid="VwEd_7aiLEo" title="PX4 Autopilot: SF45 rangefinder - collision prevention "/>
|
||||
|
||||
In order to generate this kind of plot you will need to add the following reactive Lua scripts to PlotJuggler.
|
||||
If you save these scripts and then add new data, you will see a new timeseries called `obstacle_distance_xy`, which is the same as is displayed in the video.
|
||||
|
||||
:::tip
|
||||
The [Plotting Obstacle Distance and Minimum Distance in Real-Time with PlotJuggler](../computer_vision/collision_prevention.md#plotting-obstacle-distance-and-minimum-distance-in-real-time-with-plotjuggler) in the _Collision Prevention_ topic has a more detailed example of how use Reactive scripts in PlotJuggler.
|
||||
:::
|
||||
|
||||
**Global code, executed once:**
|
||||
|
||||
```lua
|
||||
obs_dist_xy = ScatterXY.new("obstacle_distance_xy")
|
||||
```
|
||||
|
||||
**function(tracker_time)**
|
||||
|
||||
```lua
|
||||
obs_dist_xy:clear()
|
||||
|
||||
i = 0
|
||||
angle_offset = TimeseriesView.find("obstacle_distance/angle_offset")
|
||||
increment = TimeseriesView.find("obstacle_distance/increment")
|
||||
|
||||
while(true) do
|
||||
|
||||
str = string.format("obstacle_distance/distances.%02d", i)
|
||||
distance = TimeseriesView.find( str )
|
||||
|
||||
if distance == nil then break end
|
||||
angle = angle_offset:atTime(tracker_time) + i * increment:atTime(tracker_time)
|
||||
|
||||
y = distance:atTime(tracker_time) * math.cos(math.rad(angle))
|
||||
x = distance:atTime(tracker_time) * math.sin(math.rad(angle))
|
||||
|
||||
obs_dist_xy:push_back(x, y)
|
||||
|
||||
i = i + 1
|
||||
end
|
||||
```
|
||||
|
||||
:::tip
|
||||
To also see the fused `obstacle_distance`, you can just adapt the script to work on the `obstacle_distance_fused` message.
|
||||
:::
|
||||
@@ -0,0 +1,93 @@
|
||||
# LightWare Lidar (SF1X/SF02/LW20/SF45)
|
||||
|
||||
LightWare розробляє широкий спектр легких, загального призначення лазерних альтиметрів ("Lidar"), які підходять для установки на БПЛА.
|
||||
Ці інструменти корисні для застосувань, включаючи слідування за рельєфом, точне зависання у повітрі (наприклад, для фотографії), попередження про регуляторні висотні обмеження, антиколізійний датчик тощо.
|
||||
|
||||
<img src="../../assets/hardware/sensors/lidar_lightware/sf11c_120_m.jpg" width="350px" alt="LightWare SF11/C Lidar"/>
|
||||
|
||||
## Підтримувані плати
|
||||
|
||||
Наступні моделі підтримуються PX4 та можуть бути підключені до шини I2C або Serial (таблиці нижче показують, яку шину можна використовувати для кожної моделі).
|
||||
|
||||
| Модель | Range (m) | Шина | Опис |
|
||||
| ---------------------------------------------------------- | ---------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------- |
|
||||
| [SF11/C](https://lightwarelidar.com/products/sf11-c-100-m) | 100 | Серійна або I2C шина | |
|
||||
| [LW20/C](https://lightware.co.za/products/lw20-c-100-m) | 100 | Шина I2C | Водонепроникний (IP67) з сервоприводом для додатків з детекцією та уникненням перешкод |
|
||||
| [SF45/B](../sensor/sf45_rotating_lidar.md) | 50 | Серія | Rotary Lidar (Used for [Collision Prevention](../computer_vision/collision_prevention.md)) |
|
||||
|
||||
:::details
|
||||
Discontinued
|
||||
|
||||
The following models are supported by PX4 but are no longer available from the manufacturer.
|
||||
|
||||
| Модель | Діапазон | Шина | |
|
||||
| -------------------------------------------------------------------------------------------------- | -------- | -------------------- | --------------------------------------------------------------------------------------------------------- |
|
||||
| [SF02](http://documents.lightware.co.za/SF02%20-%20Laser%20Rangefinder%20Manual%20-%20Rev%208.pdf) | 50 | Серія | |
|
||||
| [SF10/A](http://documents.lightware.co.za/SF10%20-%20Laser%20Altimeter%20Manual%20-%20Rev%206.pdf) | 25 | Серійна або I2C шина | |
|
||||
| [SF10/B](http://documents.lightware.co.za/SF10%20-%20Laser%20Altimeter%20Manual%20-%20Rev%206.pdf) | 50 | Серійна або I2C шина | |
|
||||
| SF10/C | 100m | Серійна або I2C шина | |
|
||||
| LW20/B | 50 | Шина I2C | Водонепроникний (IP67) з сервоприводом для додатків з детекцією та уникненням перешкод |
|
||||
|
||||
:::
|
||||
|
||||
## Налаштування I2C
|
||||
|
||||
Перевірте таблиці вище, щоб підтвердити, які моделі можна підключити до порту I2C.
|
||||
|
||||
### Lidar Configuration (SF11/C)
|
||||
|
||||
The SF11/C hardware (only) does not ship with Pixhawk I2C compatibility enabled by default.
|
||||
To enable support, you have to download [LightWare Studio](https://lightwarelidar.com/pages/lightware-studio) and got to **Parameters > Communication** and tick mark **I2C compatibility mode (Pixhawk)**
|
||||
|
||||

|
||||
|
||||
This step is not required for the other supported Lightware rangefinders.
|
||||
|
||||
### Апаратне забезпечення(Hardware)
|
||||
|
||||
Connect the Lidar the autopilot I2C port as shown below (in this case, for the [Pixhawk 1](../flight_controller/mro_pixhawk.md)).
|
||||
|
||||

|
||||
|
||||
:::info
|
||||
Some older revisions cannot be used with PX4.
|
||||
Specifically they may be miss-configured to have an I2C address equal to `0x55`, which conflicts with `rgbled` module.
|
||||
On Linux systems you may be able to determine the address using [i2cdetect](https://linux.die.net/man/8/i2cdetect).
|
||||
If the I2C address is equal to `0x66` the sensor can be used with PX4.
|
||||
:::
|
||||
|
||||
### Parameter Setup {#i2c_parameter_setup}
|
||||
|
||||
Set the [SENS_EN_SF1XX](../advanced_config/parameter_reference.md#SENS_EN_SF1XX) parameter to match the rangefinder model and then reboot.
|
||||
|
||||
VTOL vehicles may choose to also set [SF1XX_MODE](../advanced_config/parameter_reference.md#SF1XX_MODE) to `2: Disabled during VTOL fast forward flight`.
|
||||
|
||||
## Serial Setup {#serial_hardware_setup}
|
||||
|
||||
:::tip
|
||||
[SF45/B](../sensor/sf45_rotating_lidar.md) setup is covered in the linked document.
|
||||
:::
|
||||
|
||||
### Апаратне забезпечення(Hardware)
|
||||
|
||||
The lidar can be connected to any unused _serial port_ (UART), e.g.: TELEM2, TELEM3, GPS2 etc.
|
||||
|
||||
<!-- Would be good to show serial setup! -->
|
||||
|
||||
### Parameter Setup {#serial_parameter_setup}
|
||||
|
||||
[Configure the serial port](../peripherals/serial_configuration.md) on which the lidar will run using [SENS_SF0X_CFG](../advanced_config/parameter_reference.md#SENS_SF0X_CFG).
|
||||
Немає потреби встановлювати швидкість передачі для порту, оскільки це налаштовано драйвером.
|
||||
|
||||
:::info
|
||||
If the configuration parameter is not available in _QGroundControl_ then you may need to [add the driver to the firmware](../peripherals/serial_configuration.md#parameter_not_in_firmware).
|
||||
:::
|
||||
|
||||
Then set the [SENS_EN_SF0X](../advanced_config/parameter_reference.md#SENS_EN_SF0X) parameter to match the rangefinder model and reboot.
|
||||
|
||||
VTOL vehicles may choose to also set [SF1XX_MODE](../advanced_config/parameter_reference.md#SF1XX_MODE) to `2: Disabled during VTOL fast forward flight`.
|
||||
|
||||
## Подальша інформація
|
||||
|
||||
- [Modules Reference: Distance Sensor (Driver) : lightware_laser_i2c](../modules/modules_driver_distance_sensor.md#lightware-laser-i2c)
|
||||
- [Modules Reference: Distance Sensor (Driver) : lightware_laser_serial](../modules/modules_driver_distance_sensor.md#lightware-laser-serial)
|
||||
@@ -0,0 +1,16 @@
|
||||
# Тахометри (лічильники обертів)
|
||||
|
||||
Tachometers (also known as [revolution-counter sensors](https://en.wikipedia.org/wiki/Tachometer#In_automobiles,_trucks,_tractors_and_aircraft)) can be used to measure the rate of rotation turning vehicle parts like rotors, engines, or wheels.
|
||||
|
||||
:::info
|
||||
Currently PX4 just logs RPM data: it is not used for state estimation or control.
|
||||
:::
|
||||
|
||||
Цей розділ містить список датчиків тахометра, підтриманих PX4 (посилання на більш докладну документацію).
|
||||
Додаткову інформацію щодо налаштування та конфігурації надається в темах, посилених нижче (та в бічній панелі).
|
||||
|
||||

|
||||
|
||||
## Підтримуване обладнання
|
||||
|
||||
- [ThunderFly TFRPM01 Tachometer](../sensor/thunderfly_tachometer.md)
|
||||
@@ -0,0 +1,41 @@
|
||||
# Дальніміри TeraRanger
|
||||
|
||||
TeraRanger надає ряд легких сенсорів вимірювання відстані на основі інфрачервоної технології часу польоту (ToF).
|
||||
Вони зазвичай швидші і мають більший діапазон, ніж ехолокатори, і менші та легші, ніж системи на основі лазера.
|
||||
|
||||
PX4 підтримує:
|
||||
|
||||
- [TeraRanger Evo 60m](https://www.terabee.com/shop/lidar-tof-range-finders/teraranger-evo-60m/) (0.5 – 60 m)
|
||||
- [TeraRanger Evo 600Hz](https://www.terabee.com/shop/lidar-tof-range-finders/teraranger-evo-600hz/) (0.75 - 8 m)
|
||||
|
||||
:::info
|
||||
PX4 also supports _TeraRanger One_ (I2C adapter required).
|
||||
Ця функція припинена.
|
||||
:::
|
||||
|
||||
## Де купити
|
||||
|
||||
- Уточнюється
|
||||
|
||||
## Схема розташування виводів
|
||||
|
||||
## Підключення
|
||||
|
||||
Усі сенсори TeraRanger повинні бути підключені через шину I2C.
|
||||
|
||||
## Конфігурація програмного забезпечення
|
||||
|
||||
The sensors are enabled using the parameter [SENS_EN_TRANGER](../advanced_config/parameter_reference.md#SENS_EN_TRANGER) (you can set the type of sensor or that PX4 should auto-detect the type).
|
||||
|
||||
:::info
|
||||
If using auto-detect for Evo sensors the minimum and maximum values for the range are set to the lowest and highest possible readings across the Evo family (currently 0.5 - 60 m).
|
||||
Для використання правильних максимальних/мінімальних значень слід встановити відповідну модель датчика Evo в параметрі (замість автоматичного визначення).
|
||||
:::
|
||||
|
||||
:::tip
|
||||
The driver for this rangefinder is usually present in firmware. If missing, you would also need to add the driver (`distance_sensor/teraranger`) to the board configuration.
|
||||
:::
|
||||
|
||||
## Подальша інформація
|
||||
|
||||
- [Modules Reference: Distance Sensor (Driver) : teraranger](../modules/modules_driver_distance_sensor.md#teraranger)
|
||||
@@ -0,0 +1,32 @@
|
||||
# Benewake TFmini Lidar
|
||||
|
||||
The _Benewake TFmini LiDAR_ is a tiny, low cost, and low power LIDAR with 12m range.
|
||||
|
||||
PX4 підтримує всі три варіанти серії: TFmini-s, TFmini-i, TFmini Plus.
|
||||
Ці повинні бути підключені до шини UART/серійного порту.
|
||||
|
||||

|
||||
|
||||
## Де купити
|
||||
|
||||
- [TFmini-s](https://en.benewake.com/TFminiS/index_proid_325.html)
|
||||
- [TFmini-i](https://en.benewake.com/TFminii/index_proid_324.html) (industrial)
|
||||
- [TFmini Plus](https://en.benewake.com/TFminiPlus/index_proid_323.html)
|
||||
|
||||
## Налаштування програмного забезпечення
|
||||
|
||||
TFmini can be connected to any unused _serial port_ (UART), such as: `TELEM2`, `TELEM3`, `GPS2` etc.
|
||||
|
||||
## Налаштування параметрів
|
||||
|
||||
[Configure the serial port](../peripherals/serial_configuration.md) on which the lidar will run using [SENS_TFMINI_CFG](../advanced_config/parameter_reference.md#SENS_TFMINI_CFG).
|
||||
Не потрібно встановлювати швидкість передачі (вона зашита в програму драйвера сенсора, оскільки підтримується лише одна швидкість).
|
||||
|
||||
:::info
|
||||
If the configuration parameter is not available in _QGroundControl_ then the [tfmini](../modules/modules_driver_distance_sensor.md#tfmini) driver may not be in firmware.
|
||||
Для отримання інформації про те, як її додати, див. :
|
||||
|
||||
- [Serial port Configuration: Configuration Parameter Missing from QGroundControl](../peripherals/serial_configuration.md#parameter_not_in_firmware)
|
||||
- [PX4 Board Configuration (Kconfig)](../hardware/porting_guide_config.md#px4-menuconfig-setup).
|
||||
|
||||
:::
|
||||
@@ -0,0 +1,129 @@
|
||||
# Датчик тахометра ThunderFly TFRPM01
|
||||
|
||||
The [TFRPM01](https://github.com/ThunderFly-aerospace/TFRPM01) tachometer is a small, and low system demanding revolution-counter.
|
||||
|
||||
Сама плата не містить фактичного датчика, але може бути використана з багатьма різними типами датчиків/зондів для підрахунку обертів.
|
||||
Він має роз'єм I²C для підключення до PX4 та підключений до фактичного датчика через 3-контактний роз'єм.
|
||||
Також він має світлодіод, який надає базову діагностичну інформацію.
|
||||
|
||||

|
||||
|
||||
:::info
|
||||
The TFRPM01 sensor is open-source hardware commercially available from [ThunderFly s.r.o.](https://www.thunderfly.cz/) (manufacturing data is [available on GitHub](https://github.com/ThunderFly-aerospace/TFRPM01)).
|
||||
:::
|
||||
|
||||
## Налаштування програмного забезпечення
|
||||
|
||||
Плата обладнана (двома крізь прохідними) роз'ємами I²C для підключення до PX4 та має 3-контактний роз'єм, який можна використовувати для підключення до різних датчиків:
|
||||
|
||||
- TFRPM01 може бути підключений до будь-якого порту I²C.
|
||||
- TFRPM01 має роз'єм з 3 контактами (з входом з підтяжкою), який може бути підключений до різних типів зондів.
|
||||
- Апаратне забезпечення датчика/зонда потребує імпульсного сигналу.
|
||||
The signal input accepts +5V TTL logic or [open collector](https://en.wikipedia.org/wiki/Open_collector) outputs.
|
||||
Максимальна частота пульса - 20 кГц з циклом роботи 50%.
|
||||
- Раз'єм зонду забезпечує живлення +5V від шини I²C, максимальна потужність, яку можна використовувати, обмежена фільтром RC (див. схеми для деталей).
|
||||
|
||||
Електроніка TFRPM01A обладнана сигнальним світлодіодом, який може бути використаний для перевірки правильного підключення датчика.
|
||||
Світлодіод загоряється, коли вхід імпульсу заземлений або відкритий для логічного 0, тому ви можете перевірити, що датчик працює правильно, просто обертаючи ротор вручну.
|
||||
|
||||
### Зонд сенсора ефекту Холла
|
||||
|
||||
Датчики Холла (магнітно-оперовані) ідеально підходять для жорстких умов, де бруд, пил і вода можуть контактувати з відчуваним ротором.
|
||||
|
||||
Багато різних датчиків ефекту Холла є комерційно доступними.
|
||||
For example, a [55100 Miniature Flange Mounting Proximity Sensor](https://m.littelfuse.com/media?resourcetype=datasheets\&itemid=6d69d457-770e-46ba-9998-012c5e0aedd7\&filename=littelfuse-hall-effect-sensors-55100-datasheet) is a good choice.
|
||||
|
||||

|
||||
|
||||
### Оптичний датчик зонду
|
||||
|
||||
Оптичний сенсор також може бути використаний (і може бути кращим варіантом, залежно від вимог до вимірювань).
|
||||
Як трансмісивний, так і рефлекторний типи сенсорів можуть бути використані для генерації імпульсів.
|
||||
|
||||

|
||||
|
||||
## Налаштування програмного забезпечення
|
||||
|
||||
### Запуск драйвера
|
||||
|
||||
Драйвер не запускається автоматично (в будь-якій конструкції).
|
||||
You will need to start it manually, either using the [QGroundControl MAVLink Console](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/analyze_view/mavlink_console.html) or by adding the driver to the [startup script](../concept/system_startup.md#customizing-the-system-startup) on an SD card.
|
||||
|
||||
#### Запустіть драйвер з консолі
|
||||
|
||||
Start the driver from the [console](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/analyze_view/mavlink_console.html) using the command:
|
||||
|
||||
```sh
|
||||
pcf8583 start -X -b <bus number>
|
||||
```
|
||||
|
||||
де:
|
||||
|
||||
- `-X` means that it is an external bus.
|
||||
- `<bus number>` is the bus number to which the device is connected
|
||||
|
||||
:::info
|
||||
The bus number in code `-b <bus number>` may not match the bus labels on the autopilot.
|
||||
Наприклад, при використанні CUAV V5+ або CUAV Nano:
|
||||
|
||||
| Мітка автопілоту | -b номер |
|
||||
| ---------------- | -------- |
|
||||
| I2C1 | -X -b 4 |
|
||||
| I2C2 | -X -b 2 |
|
||||
| I2C3 | -X -b 1 |
|
||||
|
||||
The `pcf8583 start` command outputs the corresponding autopilot bus name/label for each bus number.
|
||||
:::
|
||||
|
||||
### Тестування
|
||||
|
||||
Ви можете перевірити, що лічильник працює, використовуючи кілька методів
|
||||
|
||||
#### PX4 (NuttX) Консоль MAVLink
|
||||
|
||||
The [QGroundControl MAVLink Console](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/analyze_view/mavlink_console.html) can also be used to check that the driver is running and the UORB topics it is outputting.
|
||||
|
||||
Щоб перевірити статус драйвера TFRPM01, виконайте команду:
|
||||
|
||||
```sh
|
||||
pcf8583 status
|
||||
```
|
||||
|
||||
Якщо драйвер працює, порт I²C буде надруковано разом з іншими основними параметрами запущеного екземпляру.
|
||||
Якщо драйвер не працює, його можна запустити за допомогою процедури, описаної вище.
|
||||
|
||||
The [listener](../modules/modules_command.md#listener) command allows you to monitor RPM UORB messages from the running driver.
|
||||
|
||||
```sh
|
||||
listener rpm
|
||||
```
|
||||
|
||||
For periodic display, you can add `-n 50` parameter after the command, which prints the next 50 messages.
|
||||
|
||||
#### QGroundControl MAVLink Inspector
|
||||
|
||||
The QGroundControl [Mavlink Inspector](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/analyze_view/mavlink_inspector.html) can be used to observe MAVLink messages from PX4, including [RAW_RPM](https://mavlink.io/en/messages/common.html#RAW_RPM) emitted by the driver:
|
||||
|
||||
1. Start the inspector from the QGC menu: **Analyze tools > Mavlink Inspector**
|
||||
2. Check that `RAW_RPM` is present in the list of messages (if it is missing, check that the driver is running).
|
||||
|
||||
### Налаштування параметрів
|
||||
|
||||
Зазвичай, сенсори можуть бути використані без конфігурації, але значення обертів на хвилину повинні відповідати кратними реальним обертам. It is because the `PCF8583_MAGNET` parameter needs to correspond to the real number of pulses per single revolution of the sensed rotor.
|
||||
Якщо потрібно, наступні параметри слід налаштувати:
|
||||
|
||||
- [PCF8583_POOL](../advanced_config/parameter_reference.md#PCF8583_POOL) — pooling interval between readout the counted number
|
||||
- [PCF8583_RESET](../advanced_config/parameter_reference.md#PCF8583_RESET) — Counter value where the counted number should be reset to zero.
|
||||
- [PCF8583_MAGNET](../advanced_config/parameter_reference.md#PCF8583_MAGNET) — Number of pulses per revolution e.g. number of magnets at a rotor disc.
|
||||
|
||||
:::info
|
||||
The parameters above appear in QGC after the driver/PX4 are restarted.
|
||||
|
||||
Якщо параметри конфігурації не доступні після перезапуску, то вам слід перевірити, чи відбувся запуск драйвера.
|
||||
It may be that the [driver is not present in the firmware](../peripherals/serial_configuration.md#configuration-parameter-missing-from-qgroundcontrol), in which case it must be added to the board configuration:
|
||||
|
||||
```sh
|
||||
drivers/rpm/pcf8583
|
||||
```
|
||||
|
||||
:::
|
||||
@@ -0,0 +1,38 @@
|
||||
# Стандартний радарний висотомір Ainstein US-D1
|
||||
|
||||
:::tip
|
||||
This supersedes the _Aerotenna uLanding Radar_ (discontinued) but uses the same driver/setup.
|
||||
:::
|
||||
|
||||
The _Ainstein_ [US-D1 Standard Radar Altimeter](https://ainstein.ai/us-d1-all-weather-radar-altimeter/) is a compact microwave rangefinder that has been optimised for use on UAVs.
|
||||
З діапазоном відчуття близько 50 метрів, він корисний для застосувань, включаючи слідування за місцевістю, точне зависання (наприклад, для фотографії), датчик запобігання зіткненням тощо.
|
||||
Особливі переваги цього продукту полягають в тому, що він може ефективно працювати в усіх погодних умовах і на всіх типах місцевості (включаючи воду).
|
||||
The user manual can be found [here](https://ainstein.ai/wp-content/uploads/US-D1-Technical-User-Manual-D00.02.05.docx.pdf).
|
||||
|
||||

|
||||
|
||||
The rangefinder is not automatically included in most firmware, and hence cannot be used just by setting a parameter through _QGroundControl_ (as is possible with some other rangefinders).
|
||||
Для використання його вам потрібно додати драйвер до вбудованого програмного забезпечення та оновити файл конфігурації, щоб запустити драйвер при завантаженні.
|
||||
Нижче пояснюється, як.
|
||||
|
||||
## Налаштування програмного забезпечення
|
||||
|
||||
Дальномер підтримується будь-яким обладнанням, яке працює під управлінням операційної системи NuttX або Posix і яке може пропонувати послідовний порт для інтерфейсу.
|
||||
Minimally this will include most, if not all, [Pixhawk Series](../flight_controller/pixhawk_series.md) controllers.
|
||||
|
||||
US-D1 can be connected to any unused _serial port_ (UART), e.g.: TELEM2, TELEM3, GPS2 etc.
|
||||
|
||||
## Налаштування параметрів
|
||||
|
||||
[Configure the serial port](../peripherals/serial_configuration.md) on which the lidar will run using [SENS_ULAND_CFG](../advanced_config/parameter_reference.md#SENS_ULAND_CFG).
|
||||
Немає потреби встановлювати швидкість передачі для порту, оскільки це налаштовано драйвером.
|
||||
|
||||
::: info
|
||||
|
||||
If the configuration parameter is not available in _QGroundControl_ then you may need to [add the driver to the firmware](../peripherals/serial_configuration.md#parameter_not_in_firmware):
|
||||
|
||||
```plain
|
||||
CONFIG_DRIVERS_DISTANCE_SENSOR_ULANDING_RADAR=y
|
||||
```
|
||||
|
||||
:::
|
||||
@@ -0,0 +1,142 @@
|
||||
# VectorNav
|
||||
|
||||
Компанія VectorNav Technologies розробляє та створює високопродуктивні, малих розмірів та маси [IMU/AHRS](https://www.vectornav.com/resources/inertial-navigation-primer/theory-of-operation/theory-ahrs), [GNSS/INS](https://www.vectornav.com/resources/inertial-navigation-primer/theory-of-operation/theory-gpsins) та [Dual GNSS/INS](https://www.vectornav.com/resources/inertial-navigation-primer/theory-of-operation/theory-gnsscompass) рішення, які забезпечують безпечну та надійну автономію в масштабі.
|
||||
|
||||

|
||||
|
||||
Продукція VectorNav надає ряд переваг користувачам PX4 і може бути інтегрована для:
|
||||
|
||||
- Вища точність оцінки напрямку, крену та кочення
|
||||
- Більш надійна геоприв'язка GNSS
|
||||
- Покращена точність позиціонування та установки під час конфлікту супутникового зв'язку
|
||||
- Продуктивність при динамічних умовах (наприклад, запуски катапультою, операції VTOL, високі g або високі операції з великою кутовою швидкістю)
|
||||
|
||||
VectorNav PX4 Driver спрощений для забезпечення простої архітектури plug-and-play, видаляючи інженерні перешкоди і дозволяючи прискорити проєктування, розробку та запуск платформ, щоб відповідати швидкому темпу інновацій.
|
||||
|
||||
PX4 може використовувати це як [зовнішній INS] (../sensor/inertial_navigation_systems.md), обходячи/замінюючи оцінювач EKF2 або як джерело сирої сенсорної інформації, наданої оцінювачеві.
|
||||
|
||||
Драйвер підтримує [всі сенсори VectorNav](https://www.vectornav.com/store/products).
|
||||
Зокрема, рекомендуємо наступні системи:
|
||||
|
||||
- **VN-200 ГЛОНАСС/ІНС:** Рекомендується для фіксованих крилових систем без постійного зависання, де статичний курс не є необхідним.
|
||||
- **VN-300 DUAL GNSS/INS:** Рекомендований для багатокоптерних систем, де для утримання на місці та низької динаміки потрібно використання статичного напрямку.
|
||||
|
||||
## Де купити
|
||||
|
||||
Рішення VectorNav IMU/AHRS, GNSS/INS та подвійні GNSS/INS доступні безпосередньо від [VectorNav Technologies](https://www.vectornav.com/store/products) (США) або через їх Глобальних Представників з Продажу. Для отримання додаткової інформації про їх рішення або для міжнародних замовлень, будь ласка, звертайтеся sales@vectornav.com.
|
||||
|
||||
[Придбати Набір Розробника VN-200](https://www.vectornav.com/store/products/gnss-ins/p/vn-200-rugged-development-kit) (ГНСС/ІНС)
|
||||
[Придбати Набір Розробника VN-300](https://www.vectornav.com/store/products/dual-gnss-ins/p/vn-300-rugged-development-kit) (Подвійний ГНСС/ІНС)
|
||||
|
||||
## Налаштування програмного забезпечення
|
||||
|
||||
### Підключення
|
||||
|
||||
Підключіть будь-який не використанний інтерфейс серійного керування контролера польоту, такий як запасний порт `GPS` або `TELEM`, до порту UART2 VectorNav (необхідно для PX4).
|
||||
|
||||
### Встановлення
|
||||
|
||||
Датчик VectorNav може бути встановлений в будь-якому положенні, в будь-якому положенні на транспортному засобі, без врахування центру важіння.
|
||||
Всі сенсори VectorNav за замовчуванням використовують систему координат x-вперед, y-справа та z-вниз, що робить замовчуванням монтаж як з'єднувач-ззаду, основа внизу.
|
||||
Це можна змінити на будь-який жорсткий оберт використовуючи реєстр обертання в опорній системі VectorNav.
|
||||
|
||||
Якщо використовується продукт з підтримкою GNSS, антена GNSS повинна бути жорстко монтуватися щодо інерційного датчика та мати необмежений вид на небо. Якщо використовується продукт з підтримкою двоканальної ГНСС (VN-3X0), друга антена повинна бути жорстко змонтована щодо первинної антени та інерціального датчика з неперешкодженим видом на небо.
|
||||
|
||||
Для отримання додаткових вимог і рекомендацій щодо монтажу, див. відповідний [Керівний початок роботи](https://www.vectornav.com/resources/quick-start-guides).
|
||||
|
||||
## Конфігурація прошивки
|
||||
|
||||
### Конфігурація PX4
|
||||
|
||||
Для використання драйвера VectorNav:
|
||||
|
||||
1. Включіть модуль в прошивку в [конфігурації плати kconfig](../hardware/porting_guide_config.md#px4-board-configuration-kconfig), встановивши змінні конфігурації kconfig: `CONFIG_DRIVERS_INS_VECTORNAV` або `CONFIG_COMMON_INS`.
|
||||
|
||||
2. [Встановіть параметр](../advanced_config/parameters.md) [SENS_VN_CFG](../advanced_config/parameter_reference.md#SENS_VN_CFG) на апаратний порт, що підключений до VectorNav (докладнішу інформацію див. у розділі [Конфігурація послідовного порту](../peripherals/serial_configuration.md)).
|
||||
|
||||
3. Вимкніть попередні перевірки магнітометра, встановивши [SYS_HAS_MAG](../advanced_config/parameter_reference.md#SYS_HAS_MAG) на `0`.
|
||||
|
||||
4. Дозвольте драйвер VectorNav ініціалізуватися, перезапустивши PX4.
|
||||
|
||||
5. Налаштуйте водія як зовнішній INS або надайте сирові дані:
|
||||
|
||||
- Якщо використовувати VectorNav як зовнішній INS, встановіть [VN_MODE](../advanced_config/parameter_reference.md#VN_MODE) на `INS`.
|
||||
Це вимикає EKF2.
|
||||
- Якщо використовувати VectorNav як зовнішні інерційні сенсори:
|
||||
|
||||
1. Встановіть [VN_MODE](../advanced_config/parameter_reference.md#VN_MODE) на `Sensors Only`
|
||||
2. Якщо внутрішні датчики увімкнені, пріоритетом є датчики VectorNav за допомогою [CAL_GYROn_PRIO](../advanced_config/parameter_reference.md#CAL_GYRO0_PRIO), [CAL_ACCn_PRIO](../advanced_config/parameter_reference.md#CAL_ACC0_PRIO), [CAL_BAROn_PRIO](../advanced_config/parameter_reference.md#CAL_BARO0_PRIO), [CAL_MAGn_PRIO](../advanced_config/parameter_reference.md#CAL_MAG0_PRIO), де _n_ - це номер екземпляра компонента ІМП (0, 1 і т.д.).
|
||||
|
||||
:::tip
|
||||
У більшості випадків зовнішній IMU (VN) має найвищий номер.
|
||||
Ви можете отримати список доступних компонентів IMU, використовуючи [`uorb top -1`](../middleware/uorb.md#uorb-top-command), ви можете відрізняти їх за допомогою команди [`listener`](../modules/modules_command.md#listener) та розглядаючи дані чи просто швидкості.
|
||||
|
||||
За потреби ви можете перевірити [CAL_GYROn_ID](../advanced_config/parameter_reference.md#CAL_GYRO0_ID), щоб побачити ідентифікатор пристрою.
|
||||
Пріоритет становить 0-255, де 0 абсолютно вимкнено, а 255 - найвищий пріоритет.
|
||||
|
||||
:::
|
||||
|
||||
6. Перезавантажте PX4.
|
||||
|
||||
Після активації модуль буде виявлено при завантаженні.
|
||||
Дані ІМП мають бути опубліковані з частотою 800 Гц (400 Гц, якщо використовується VN-300).
|
||||
|
||||
## Конфігурація VectorNav
|
||||
|
||||
Визначення для всіх команд та реєстрів, на які посилаються в цьому розділі, можна знайти в відповідному [VectorNav ICD](https://www.vectornav.com/resources/interface-control-documents).
|
||||
|
||||
Під час ініціалізації PX4 налаштовує пристрій VectorNav наступним чином:
|
||||
|
||||
- Увімкнує необхідні бінарні виходи
|
||||
- Вимкнути ASCII виводи на активному послідовному порту
|
||||
- Налаштовує режим керування заголовком VPE на Абсолютний
|
||||
- Автосканує швидкості передачі і конфігурує активний порт на 921600 біт/с
|
||||
|
||||
Всі інші необхідні параметри конфігурації повинні бути окремо завантажені в пристрій VectorNav вручну. Найчастіше ці включають:
|
||||
|
||||
- `Зміщення GNSS антени A` Необхідно у випадку використання продукту з підтримкою GNSS та якщо антена GNSS встановлена більш ніж на 10 см від блоку VectorNav
|
||||
- `Базова антена ГНСС` Необхідна, якщо використовується продукт з підтримкою двох систем ГНСС
|
||||
- `Поворот рамки посилання` Необхідно, якщо не встановлено як коннектор-назад, база-вниз
|
||||
- `Конфігурація фільтрації ІМП` Рекомендується налаштувати фільтрацію ІМП 200 Гц за замовчуванням
|
||||
|
||||
Після встановлення цих параметрів налаштування повинні бути встановлені для збереження після циклу живлення за допомогою команди Write Non Volatile.
|
||||
|
||||
## Опубліковані дані
|
||||
|
||||
При ініціалізації водій повинен надрукувати наступну інформацію до консолі (надруковано за допомогою `PX4_INFO`)
|
||||
|
||||
- Номер моделі блока
|
||||
- Версія апаратної одиниці
|
||||
- Номер серійного номеру блока
|
||||
- Номер прошивки одиниці
|
||||
|
||||
Цей текст має бути доступний за допомогою команди [`dmesg`](../modules/modules_system.md#dmesg).
|
||||
|
||||
Водій VectorNav завжди публікує дані пристрою на наступні теми UOrb:
|
||||
|
||||
- [sensor_accel](../msg_docs/SensorAccel.md)
|
||||
- [датчик_гіроскопа](../msg_docs/SensorGyro.md)
|
||||
- [sensor_mag](../msg_docs/SensorMag.md)
|
||||
- [sensor_baro](../msg_docs/SensorBaro.md)
|
||||
- [sensor_gps](../msg_docs/SensorGps.md)
|
||||
|
||||
і, якщо увімкнено як зовнішнє INS, публікує:
|
||||
|
||||
- [vehicle_local_position](../msg_docs/VehicleLocalPosition.md)
|
||||
- [vehicle_global_positon](../msg_docs/VehicleGlobalPosition.md)
|
||||
- [vehicle_attitude](../msg_docs/VehicleAttitude.md)
|
||||
|
||||
або, якщо увімкнено як зовнішній датчик, публікує:
|
||||
|
||||
- `external_ins_local_position`
|
||||
- `external_ins_global_position`
|
||||
- `external_ins_attitude`
|
||||
|
||||
:::tip
|
||||
Опубліковані теми можна переглянути за допомогою команди `listener`.
|
||||
:::
|
||||
|
||||
## Характеристики обладнання
|
||||
|
||||
- [Короткі описи продуктів](https://www.vectornav.com/resources/product-briefs)
|
||||
- [Документи з даними](https://www.vectornav.com/resources/datasheets)
|
||||
Reference in New Issue
Block a user