mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-17 05:43:33 +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 @@
|
||||
# Accelerometer Hardware & Setup
|
||||
|
||||
PX4 uses accelerometer data for velocity estimation.
|
||||
|
||||
You should not need to attach an accelometer as a stand-alone external device:
|
||||
|
||||
- Most flight controllers, such as those in the [Pixhawk Series](../flight_controller/pixhawk_series.md), include an accelerometer as part of the flight controller's [Inertial Motion Unit (IMU)](https://en.wikipedia.org/wiki/Inertial_measurement_unit).
|
||||
- Gyroscopes are present as part of an [external INS, ARHS or INS-enhanced GNSS system](../sensor/inertial_navigation_systems.md).
|
||||
|
||||
The accelerometer must be calibrated before first use of the vehicle:
|
||||
|
||||
- [Accelerometer Calibration](../config/accelerometer.md)
|
||||
@@ -0,0 +1,82 @@
|
||||
# 풍속 센서
|
||||
|
||||
Airspeed sensors are _highly recommended_ for fixed-wing and VTOL frames.
|
||||
They are so important because the autopilot does not have other means to detect stall.
|
||||
For fixed-wing flight it is the airspeed that guarantees lift — not ground speed!
|
||||
|
||||

|
||||
|
||||
## 하드웨어 옵션
|
||||
|
||||
권장 디지털 속도 센서는 다음과 같습니다.
|
||||
|
||||
- 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 버스/포트를 통해 연결됩니다.
|
||||
|
||||
::: 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 Airspeed Sensors
|
||||
|
||||
Airspeed sensor drivers are not started automatically.
|
||||
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).
|
||||
|
||||
### Multiple Airspeed Sensors
|
||||
|
||||
:::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.
|
||||
|
||||
### Sensor-specific Configuration
|
||||
|
||||
Other than enabling the sensor, sensor-specific configuration is often not required.
|
||||
If it is needed, it should be covered in the appropriate sensor page (for example [TFSLOT > Configuration](airspeed_tfslot.md#configuration)).
|
||||
|
||||
The specific configuration for sensors that do not have a separate page is listed below:
|
||||
|
||||
- **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).
|
||||
|
||||
## Calibration
|
||||
|
||||
Airspeed sensors should be calibrated by following the instructions: [Basic Configuration > Airspeed](../config/airspeed.md).
|
||||
|
||||
## See Also
|
||||
|
||||
- [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 - Venturi effect airspeed sensor
|
||||
|
||||
[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/)).
|
||||
The IMU unit can be used as an external compass.
|
||||
|
||||
- This design brings several advantages when used on small-scale and slow-flying UAVs.
|
||||
- Better resolution at low airspeeds (below 10 m/s).
|
||||
- Configurable sensitivity brought by changing the profile.
|
||||
- Less tendency to clogging (For example, by clay after landing)
|
||||
- Weatherproof (rain, snow, etc.)
|
||||
- Direct differential pressure sensor integration without any additional tubing.
|
||||
Less chance of sensor malfunction.
|
||||
- Possibility of direct integration into the construction of the drone.
|
||||
Design is fully open source.
|
||||
- Integrated external IMU unit.
|
||||
|
||||
Thanks to the printed tube, it is very easy to change the measuring profile and thus to change the sensitivity in certain speed ranges.
|
||||
In the basic form, it is optimized so that the measured differential pressure corresponds to the pressure from the pitot tube.
|
||||
|
||||

|
||||
_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).
|
||||
Therefore the sensor can be connected directly to an I2C port of autopilot using an I2C 4pin JST-GH cable.
|
||||
|
||||
## 설정
|
||||
|
||||
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.
|
||||
Following this the airspeed sensor driver can be run. This can be done using the following command sequences. The commands assume a connection to I2C2 port.
|
||||
|
||||
```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).
|
||||
|
||||
Because the conversion of differential pressure to airspeed differs from the Pitot tube, this profile needs to be changed.
|
||||
This is done by setting parameter [`CAL_AIR_CMODEL`](../advanced_config/parameter_reference.md#CAL_AIR_CMODEL) to 3 (Venturi effect based airspeed sensor)
|
||||
|
||||
## Calibration
|
||||
|
||||
Calibration is a bit difficult because the current firmware version does not support calibration with negative values.
|
||||
Because the used sensor measures both airflow directions symmetrically and has zero offset, there is no need to calibrate repeatedly before every takeoff.
|
||||
But you have to ensure that there is no airflow during the calibration process.
|
||||
|
||||
The easiest way to do the calibration is to take the adhesive tape and tape it between the pressure inlets to the sensor.
|
||||
Then start the calibration process and blow from the back when prompted.
|
||||
If the pressure of at least 50 Pa is created, the calibration will be successful.
|
||||
@@ -0,0 +1 @@
|
||||
<Redirect to="../dronecan/avanon_laser_interface" />
|
||||
@@ -0,0 +1,46 @@
|
||||
# Barometers
|
||||
|
||||
Barometers measure atmospheric pressure, and are used in drones as altitude sensors.
|
||||
|
||||
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).
|
||||
If a sensor fault is detected, PX4 will fall back to the next highest priority sensor.
|
||||
|
||||
Generally barometers require no user configuration (or thought)!
|
||||
|
||||
## 하드웨어 옵션
|
||||
|
||||
[Pixhawk standard](../flight_controller/autopilot_pixhawk_standard.md) flight controllers include a barometer, as do [many others](../flight_controller/index.md).
|
||||
|
||||
They are also present in other hardware:
|
||||
|
||||
- [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)
|
||||
|
||||
At time of writing, drivers/parts include: bmp280, bmp388 (and 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 설정
|
||||
|
||||
Generally barometers require no user configuration.
|
||||
If needed, you can:
|
||||
|
||||
- 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`.
|
||||
|
||||
## Calibration
|
||||
|
||||
Barometers don't require calibration.
|
||||
|
||||
<!-- 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 mm x 18mm x 7mm
|
||||
- 중량: ≤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 @@
|
||||
# Gyroscope Hardware & Setup
|
||||
|
||||
PX4 uses a gyroscope for estimating the vehicle attitude (orientation).
|
||||
|
||||
You should not need to attach a gyroscope as a stand-alone external device:
|
||||
|
||||
- Most flight controllers, such as those in the [Pixhawk Series](../flight_controller/pixhawk_series.md), include a gyroscope as part of the flight controller's [Inertial Motion Unit (IMU)](https://en.wikipedia.org/wiki/Inertial_measurement_unit).
|
||||
- Gyroscopes are present as part of an [external INS, ARHS or INS-enhanced GNSS system](../sensor/inertial_navigation_systems.md).
|
||||
|
||||
The gyroscope must be calibrated before first use of the vehicle:
|
||||
|
||||
- [Gyroscope Calibration](../config/gyroscope.md)
|
||||
@@ -0,0 +1,47 @@
|
||||
# Sensor Hardware & Setup
|
||||
|
||||
This section describes the mandatory and optional sensors and their setup/configuration.
|
||||
|
||||
## 개요
|
||||
|
||||
PX4-based systems use sensors to estimate vehicle state, which is needed for stabilization and to enable autonomous control.
|
||||
Vehicle state information includes: position/altitude, heading, speed, airspeed, orientation (attitude), rates of rotation in different directions, battery level, and so on.
|
||||
|
||||
PX4 _minimally requires_ a gyroscope, accelerometer, magnetometer (compass), and barometer to measure the above states.
|
||||
Fixed-wing and VTOL-vehicles _should_ also include an airspeed sensor.
|
||||
A GPS or other positioning system is needed to enable all automatic modes, and some manual/assisted modes.
|
||||
|
||||
[Pixhawk Series](../flight_controller/pixhawk_series.md) flight controllers already have the minimum set of sensors (other controller platforms often do too).
|
||||
Additional/external sensors can be attached to the controller — an external GPS and compass are recommended, along with an airspeed sensor for VTOL and Fixed wing vehicles.
|
||||
|
||||
## Sensor Topics
|
||||
|
||||
Mandatory (included in Pixhawk series FCs):
|
||||
|
||||
- [Accelerometer](../sensor/accelerometer.md) — Measures changing acceleration.
|
||||
- [Gyroscope](../sensor/gyroscope.md) — Measures orientation.
|
||||
- [Magnetometer (Compass)](../gps_compass/magnetometer.md) — Measures heading/direction.
|
||||
External compass recommended!
|
||||
- [Barometers](../sensor/barometer.md) — Measures altitude (via air pressure).
|
||||
|
||||
Recommended:
|
||||
|
||||
- [Airspeed Sensors](../sensor/airspeed.md) — Measures airspeed.
|
||||
Highly recommended for VTOL and Fixed-wing as they are the only mechanism to detect stall.
|
||||
- [GNSS (GPS)](../gps_compass/index.md) — Measures global position.
|
||||
Needed for missions, and some other automatic and manual/assisted modes.
|
||||
- [RTK GNSS (GPS)](../gps_compass/rtk_gps.md) — GNSS with centimetre-level accuracy.
|
||||
Some setups also allow heading to be determine from GNSS rather than a magnetometer.
|
||||
|
||||
Optional:
|
||||
|
||||
- [Distance Sensors (Rangefinders)](../sensor/rangefinders.md) — Measures distance to target.
|
||||
Aids landing, object avoidance, and terrain following.
|
||||
- [Optical Flow](../sensor/optical_flow.md) — Estimates velocity using a downward facing camera and a downward facing distance sensor.
|
||||
Enables a more accurate position lock than GPS alone, and can be used indoors when no GPS signal is available.
|
||||
- [Tachometers (Revolution Counters)](../sensor/tachometers.md) — Only used for logging.
|
||||
|
||||
Other optional:
|
||||
|
||||
- [IMU/Compass Factory Calibration](../advanced_config/imu_factory_calibration.md) — Save calibration settings to persistent storage.
|
||||
- [Sensor Thermal Compensation](../advanced_config/sensor_thermal_calibration.md) — Compensate sensors for temperature variations.
|
||||
@@ -0,0 +1,31 @@
|
||||
# IMU, AHRS, and INS
|
||||
|
||||
PX4 typically runs on flight controllers that include an IMU, such as the Pixhawk series, and fuse the sensor data along with GNSS information in the EKF2 estimator to determine vehicle attitude, heading, position, and velocity.
|
||||
|
||||
However PX4 can also use some INS devices as either sources of raw data, or as an external estimator, replacing the EKF.
|
||||
|
||||
Systems that can be used in this way include:
|
||||
|
||||
- [VectorNav](../sensor/vectornav.md): IMU/AHRS, GNSS/INS, Dual GNSS/INS systems that can be used as an external INS or as a source of raw sensor data.
|
||||
|
||||
## Glossary
|
||||
|
||||
### Inertial Measurement Unit (IMU)
|
||||
|
||||
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.
|
||||
The magnetometer, if present, provides sensor data that can be used to provide the direction that the vehicle is facing/heading.
|
||||
|
||||
### Attitude Heading Reference System (AHRS)
|
||||
|
||||
An AHRS system that includes both an IMU and a processing system that can provide attitude and heading information from the IMUs raw data.
|
||||
|
||||
### Inertial Navigation System (INS)
|
||||
|
||||
An INS is a navigation device that uses accelerometers, gyroscopes, possibly magnetometers, and a computer to calculate the attitude, position, and velocity of a moving object without the need for external references.
|
||||
Essentially it is an AHRS that also includes position/velocity estimation.
|
||||
|
||||
## 추가 정보
|
||||
|
||||
- [What is an Inertial Navigation System?](https://www.vectornav.com/resources/inertial-navigation-articles/what-is-an-ins) (VectorNav)
|
||||
- [Inertial Navigation Primer](https://www.vectornav.com/resources/inertial-navigation-primer) (VectorNav)
|
||||
@@ -0,0 +1,39 @@
|
||||
# LeddarOne 라이다
|
||||
|
||||
[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.
|
||||
감지 범위는 1cm ~ 40m이며 UART/직렬 버스로 연결합니다.
|
||||
|
||||
<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 핀만 연결하면 됩니다.
|
||||
|
||||
| 핀 | 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) 핀배열은 아래와 같습니다.
|
||||
|
||||
| 핀 | 명칭 | 설명 |
|
||||
| - | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| 1 | POWER_IN | 전원 공급. 4.75-5.5V DC 공칭, 최대 6V DC. |
|
||||
| 2 | POWER_EN | 액티브 하이는 3.3V 마이크로 컨트롤러 레귤레이터의 작동을 가능하게 합니다. Low puts board to sleep, draws <40 μA. (Internal 100K pull-up) |
|
||||
| 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.
|
||||
이러한 센서에는 PWM 인터페이스(아래에 자세히 설명)를 사용하는 것이 좋습니다.
|
||||
파란색 레이블(v2) 장치는 일부 조건에서 5V 미만 전원을 사용하며, 일정한 오프셋을 나타낼 수 있습니다.
|
||||
이는 현재 (2015 년 4 분기) 제조업체에서 조사 중이며, 특정 운영 조건을 준수하여 잠재적으로 해결 가능합니다.
|
||||
권장되는 강력한 설정은 PWM 인터페이스를 가진 v1 장치입니다.
|
||||
:::
|
||||
|
||||
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은 커넥터의 핀 순서가 역전된다는 점을 제외하면 동일합니다 (즉, 커넥터가 뒤집힌 것처럼).
|
||||
|
||||

|
||||
|
||||
### PWM 인터페이스 배선
|
||||
|
||||
The pin connections for wiring LidarLite to the _Pixhawk 1_ AUX ports (PWM interface) are shown below.
|
||||
|
||||
| 핀 | Lidar-Lite (v2, v3) | Pixhawk AUX Servo | 설명 |
|
||||
| - | -------------------------------------- | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| 1 | VCC | AUX 6 (중앙) | 전원 공급. 4.75-5.5V DC 공칭, 최대 6V DC. |
|
||||
| 2 | RESET | AUX 6 (하단) | 센서의 재설정 라인 |
|
||||
| 3 | PWM | AUX 5 (하단) | Lidar Lite의 PWM 출력. **Needs a 470 Ohm pull-down (to GND), Do not use a 1 K0hm resistor.** |
|
||||
| 4 | SCL | - | 연결되지 않음 |
|
||||
| 5 | SDA | - | 연결되지 않음 |
|
||||
| 6 | GND | AUX 6 (상단) | 접지 |
|
||||
|
||||
:::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_ 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.0m). |
|
||||
| <a id="EKF2_OF_POS_Y"></a>[EKF2_OF_POS_Y](../advanced_config/parameter_reference.md#EKF2_OF_POS_Y) | 바디 프레임에서 광류 초점의 Y 위치 (기본값은 0.0m). |
|
||||
| <a id="EKF2_OF_POS_Z"></a>[EKF2_OF_POS_Z](../advanced_config/parameter_reference.md#EKF2_OF_POS_Z) | 바디 프레임에서 광류 초점의 Z 위치 (기본값은 0.0m). |
|
||||
|
||||
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.
|
||||
컴퓨터 마우스와 유사한 추적 센서를 사용하지만 80mm에서 무한대 사이에서 작동하도록 조정되었습니다.
|
||||
PMW3901은 Bitcraze, Tindie, Hex, Thone 및 Alientek의 일부 제품을 포함하여 여러 제품에 사용됩니다.
|
||||
|
||||

|
||||
|
||||
장착 방법, PX4 설정 방법과 테스트 센서에 대한 링크를 제공합니다 (이 유형의 모든 센서에 공통임).
|
||||
|
||||
## PMW3901을 사용하는 보드
|
||||
|
||||
다음 표는이 센서를 사용하는 일부 보드를 보여 주며, 인터페이스 수, 센서 수, 입력 전압 및 크기를 나열합니다.
|
||||
보드 이름은 배선 및 구매 정보가 포함된 보드 별 섹션으로 연결됩니다.
|
||||
|
||||
| 제조사 | 보드 | 인터페이스 | 흐름 | 거리 측정기 | 자이로 | 전압 (V) | 크기 (mm) | 최대 높이 (m) |
|
||||
| -------- | --------------------------------------------------------------------------------- | ----- | -- | ------ | --- | ----------------------------------------- | ----------------------------------------- | ---------------------------- |
|
||||
| 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).
|
||||
|
||||
필요한 범위는 애플리케이션에 따라 다릅니다.
|
||||
|
||||
- 실내 비행 : ≈4m
|
||||
- 실외 비행 : ≥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 설정
|
||||
|
||||
모든 PMW3901 기반 보드에 공통적인 PX4 설정:
|
||||
|
||||
- [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 Breakout
|
||||
|
||||
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).
|
||||
이 거리 센서는 STMicroelectronics의 VL53L0x ToF 센서입니다.
|
||||
센서 범위는 최소 (2m)이며 햇빛 아래에서 비행시 줄어듭니다.
|
||||
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은 Pixhawk 4의 SPI 포트에 연결된 경우 Bitcraze 흐름 모듈을 자동으로 감지합니다.
|
||||
이 장치의 드라이버는 칩 선택 1을 사용하여 SPI 포트에 연결되도록 명시적으로 작성되었습니다.
|
||||
No parameters will have to be configured other than the [orientation and position of the sensor](#mounting-orientation).
|
||||
|
||||
Pixhawk SPI 포트와 Bitcraze Flow Board의 핀아웃 매핑은 아래에 나와 있습니다 (포트 매핑은 모든 Pixhawk FMU 버전과 동일합니다).
|
||||
|
||||
| Pixhawk SPI 포트 (왼쪽에서 오른쪽으로) | Bitcraze 플로우 보드 |
|
||||
| ---------------------------------------------- | --------------- |
|
||||
| 1 (VCC) | VCC |
|
||||
| 2 (SCK) | CLK |
|
||||
| 3 (MISO) | MISO |
|
||||
| 4 (MOSI) | MOSI |
|
||||
| 5 (CS1) | CS |
|
||||
| 6 (CS2) | 연결하지 마십시오 |
|
||||
| 7 (GND) | GND |
|
||||
|
||||
Bitcraze 플로우 보드를 Pixhawk에 연결하려면 Pixhawk SPI 케이블의 와이어를 플로우 보드에 납땜하여야 합니다.
|
||||
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).
|
||||
|
||||
An onboard microcontroller samples the three sensors and publishes two DroneCAN messages containing all the information needed for the flow and distance sensor calculations.
|
||||
|
||||
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 Wiring/Setup
|
||||
|
||||
아래의 다이어그램은 센서를 Pixhawk 4 CAN 버스에 연결하는 방법을 보여줍니다.
|
||||
|
||||

|
||||
|
||||
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 Optical Flow Sensor
|
||||
|
||||
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" />
|
||||
|
||||
It comes with a 3D printed case and has a pre-soldered TX, Voltage, and GND 4 pin connector that can be plugged into the telemetry port of your flight controller, as shown below (for the 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 (Deprecated)
|
||||
|
||||
<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 may work with older PX4Flow firmware.
|
||||
|
||||
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 Lidar
|
||||
|
||||
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.
|
||||
최대 4m의 정확한 범위와 최대 50Hz의 빠른 범위 주파수를 제공하는 시장에서 가장 빠른 소형 ToF 센서입니다.
|
||||
|
||||
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.
|
||||
It has a sensor range from (5cm - 40m) and can be connected to either PWM or I2C ports.
|
||||
|
||||
### 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.
|
||||
These can be connected using an I2C port.
|
||||
|
||||
The rangefinders are enabled using the parameter [SENS_EN_MB12XX](../advanced_config/parameter_reference.md#SENS_EN_MB12XX).
|
||||
|
||||
### Lightware LIDARs
|
||||
|
||||
[Lightware SFxx Lidar](../sensor/sfxx_lidar.md) provide a broad range of lightweight “laser altimeters” that are suitable for many drone applications.
|
||||
|
||||
PX4 supports: SF11/c and SF/LW20.
|
||||
PX4 can also be used with the following discontinued models: 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.
|
||||
They are typically faster and have greater range than sonar, and smaller and lighter than laser-based systems.
|
||||
|
||||
PX4 supports the following models connected via the I2C bus: TeraRanger One, TeraRanger Evo 60m and TeraRanger Evo 600Hz.
|
||||
|
||||
### Ainstein US-D1 Standard Radar Altimeter
|
||||
|
||||
The _Ainstein_ [US-D1 Standard Radar Altimeter](../sensor/ulanding_radar.md) is compact microwave rangefinder that has been optimised for use on UAVs.
|
||||
It has a sensing range of around 50m.
|
||||
A particular advantages of this product are that it can operate effectively in all weather conditions and over all terrain types (including water).
|
||||
|
||||
### 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.
|
||||
감지 범위는 1cm ~ 40m이며 UART/직렬 버스로 연결합니다.
|
||||
|
||||
### 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 Setup
|
||||
|
||||
### Add the Driver to the PX4 Build
|
||||
|
||||
The driver for this LiDar is not included in PX4 firmware by default.
|
||||
|
||||
You will need to:
|
||||
|
||||
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.
|
||||
|
||||
### Parameter Configuration
|
||||
|
||||
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).
|
||||
|
||||
The obstacle overlay in QGC will look like this:
|
||||
|
||||

|
||||
|
||||
## 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는 UAV에 장착에 적합한 경량의 범용 레이저 고도계( "라이다")를 개발합니다.
|
||||
지형 추적, 정밀 호버링 (예 : 사진 촬영), 규제 높이 제한 경고, 충돌 방지 감지 등에 사용됩니다.
|
||||
|
||||
<img src="../../assets/hardware/sensors/lidar_lightware/sf11c_120_m.jpg" width="350px" alt="LightWare SF11/C Lidar"/>
|
||||
|
||||
## 지원 모델
|
||||
|
||||
아래의 모델들은 PX4에서 지원되며, I2C 또는 직렬 버스에 연결할 수 있습니다 (아래 표는 각 모델에 사용할 수 있는 버스를 나타냄).
|
||||
|
||||
| 모델 | 범위 (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.
|
||||
|
||||
### 하드웨어
|
||||
|
||||
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.
|
||||
:::
|
||||
|
||||
### 하드웨어
|
||||
|
||||
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(Time-of-Flight) 기반의 다양한 경량 거리측정 센서입니다.
|
||||
They are typically faster and have greater range than sonar, and smaller and lighter than laser-based systems.
|
||||
|
||||
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).
|
||||
This has been discontinued.
|
||||
:::
|
||||
|
||||
## 구매처
|
||||
|
||||
- TBD
|
||||
|
||||
## 핀배열
|
||||
|
||||
## 배선
|
||||
|
||||
모든 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 라이다
|
||||
|
||||
The _Benewake TFmini LiDAR_ is a tiny, low cost, and low power LIDAR with 12m range.
|
||||
|
||||
PX4 supports all three variants in the series: TFmini-s, TFmini-i, TFmini Plus.
|
||||
These must be connected to a UART/serial bus.
|
||||
|
||||

|
||||
|
||||
## 구매처
|
||||
|
||||
- [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.
|
||||
For information on how to add it see:
|
||||
|
||||
- [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 Revolution Counter
|
||||
|
||||
The [TFRPM01](https://github.com/ThunderFly-aerospace/TFRPM01) tachometer is a small, and low system demanding revolution-counter.
|
||||
|
||||
보드 자체에는 실제 센서가 포함되어 있지 않지만, 회전 계수를 위하여 다양한 센서/프로브 유형과 함께 사용할 수 있습니다.
|
||||
PX4 연결 I²C 커넥터가 있으며, 3핀 커넥터를 통하여 실제 센서에 연결됩니다.
|
||||
기본 진단 정보를 제공하는 LED도 있습니다.
|
||||
|
||||

|
||||
|
||||
:::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)).
|
||||
:::
|
||||
|
||||
## 하드웨어 설정
|
||||
|
||||
이 보드에는 PX4 연결 (투 스루 패스) I²C 커넥터가 장착되어 있으며, 다양한 센서에 연결용 3핀 커넥터가 있습니다.
|
||||
|
||||
- TFRPM01은 모든 I²C 포트에 연결 가능합니다.
|
||||
- TFRPM01에는 다양한 프로브 유형에 연결 3핀 헤더 커넥터 (풀업 장착 입력 포함)가 있습니다.
|
||||
- 센서/프로브 하드웨어에는 펄스 신호가 필요합니다.
|
||||
The signal input accepts +5V TTL logic or [open collector](https://en.wikipedia.org/wiki/Open_collector) outputs.
|
||||
최대 펄스 주파수는 50% 듀티 사이클에서 20kHz입니다.
|
||||
- 프로브 커넥터는 I²C 버스에서 +5V 전원을 제공하며, 최대 전력은 RC 필터에 의해 제한됩니다 (자세한 내용은 회로도 참조).
|
||||
|
||||
TFRPM01A 전자 장치에는 프로브가 연결 여부를 표시하는 LED가 있습니다.
|
||||
펄스 입력이 접지되거나 논리 0에 노출되면 LED가 켜지므로 로터를 수동으로 회전하는 것만으로 프로브가 올바르게 작동하는 지 확인할 수 있습니다.
|
||||
|
||||
### 홀 효과 센서 프로브
|
||||
|
||||
홀 효과 센서 (자기 적으로 작동)는 먼지, 먼지 및 물이 감지된 로터에 접촉할 수있는 열악한 환경에 이상적입니다.
|
||||
|
||||
다양한 홀 효과 센서가 시판중입니다.
|
||||
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).
|
||||
|
||||
### 매개변수 설정
|
||||
|
||||
일반적으로 센서는 설정 없이도 사용할 수 있지만, RPM 값은 실제 RPM의 배수이어야 합니다. 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 Standard Radar Altimeter
|
||||
|
||||
:::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.
|
||||
With a sensing range of about 50 metres, it is useful for applications including terrain following, precision hovering (e.g. for photography), anti-collision sensing etc.
|
||||
이 제품의 특별한 장점은 모든 기상 조건과 모든 지형 유형(물 포함)에서 잘 작동한다는 점입니다.
|
||||
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 OS에서 직렬 포트를 제공하는 하드웨어에서 지원됩니다.
|
||||
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 designs and develops high-performance, low-SWaP [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), and [Dual GNSS/INS](https://www.vectornav.com/resources/inertial-navigation-primer/theory-of-operation/theory-gnsscompass) solutions that enable safe and reliable autonomy at scale.
|
||||
|
||||

|
||||
|
||||
VectorNav products provide a range of benefits to PX4 users and can be integrated for:
|
||||
|
||||
- Higher accuracy heading, pitch, and roll estimates
|
||||
- More robust and reliable GNSS positioning
|
||||
- Improved positioning and attitude performance in GNSS-contested environments
|
||||
- Performance under challenging dynamic conditions (e.g. catapult launches, VTOL operations, high-g or high angular rate operations)
|
||||
|
||||
The VectorNav PX4 Driver is streamlined to provide a simple plug-and-play architecture, removing engineering obstacles and allowing the acceleration of the design, development, and launch of platforms to keep pace with the rapid rate of innovation.
|
||||
|
||||
PX4 can use these as an [external INS](../sensor/inertial_navigation_systems.md), bypassing/replacing the EKF2 estimator, or as a source of raw sensor data provided to the estimator.
|
||||
|
||||
The driver supports [all VectorNav sensors](https://www.vectornav.com/store/products).
|
||||
In particular the following systems are recommended:
|
||||
|
||||
- **VN-200 GNSS/INS:** Recommended for fixed-wing systems without hovering, where static heading is not necessary.
|
||||
- **VN-300 DUAL GNSS/INS:** Recommended for multicopter systems where hovering and low dynamics requires the use of static heading.
|
||||
|
||||
## 구매처
|
||||
|
||||
VectorNav IMU/AHRS, GNSS/INS, and Dual GNSS/INS solutions are available directly from [VectorNav Technologies](https://www.vectornav.com/store/products) (US) or through their Global Sales Representatives. For more information on their solutions or for international orders, please contact sales@vectornav.com.
|
||||
|
||||
[Purchase VN-200 Development Kit](https://www.vectornav.com/store/products/gnss-ins/p/vn-200-rugged-development-kit) (GNSS/INS)
|
||||
[Purchase VN-300 Development Kit](https://www.vectornav.com/store/products/dual-gnss-ins/p/vn-300-rugged-development-kit) (Dual GNSS/INS)
|
||||
|
||||
## 하드웨어 설정
|
||||
|
||||
### 배선
|
||||
|
||||
Connect any unused flight controller serial interface, such as a spare `GPS` or `TELEM` port, to the VectorNav UART2 port (required by PX4).
|
||||
|
||||
### 장착
|
||||
|
||||
The VectorNav sensor can be mounted in any orientation, in any position on the vehicle, without regard to center of gravity.
|
||||
All VectorNav sensors default to a coordinate system of x-forward, y-right, and z-down, making the default mounting as connector-back, base down.
|
||||
This can be changed to any rigid rotation using the VectorNav Reference Frame Rotation register.
|
||||
|
||||
If using a GNSS-enabled product, the GNSS antenna must be mounted rigidly with respect to the inertial sensor and with an unobstructed sky view. If using a dual-GNSS-enabled product (VN-3X0), the secondary antenna must be mounted rigidly with respect to the primary antenna and the inertial sensor with an unobstructed sky view.
|
||||
|
||||
For more mounting requirements and recommendations, see the relevant [Quick Start Guide](https://www.vectornav.com/resources/quick-start-guides).
|
||||
|
||||
## 펌웨어 설정
|
||||
|
||||
### PX4 설정
|
||||
|
||||
To use the VectorNav driver:
|
||||
|
||||
1. Include the module in firmware in the [kconfig board configuration](../hardware/porting_guide_config.md#px4-board-configuration-kconfig) by setting the kconfig variables: `CONFIG_DRIVERS_INS_VECTORNAV` or `CONFIG_COMMON_INS`.
|
||||
|
||||
2. [Set the parameter](../advanced_config/parameters.md) [SENS_VN_CFG](../advanced_config/parameter_reference.md#SENS_VN_CFG) to the hardware port connected to the VectorNav (for more information see [Serial Port Configuration](../peripherals/serial_configuration.md)).
|
||||
|
||||
3. Disable magnetometer preflight checks by setting [SYS_HAS_MAG](../advanced_config/parameter_reference.md#SYS_HAS_MAG) to `0`.
|
||||
|
||||
4. Allow the VectorNav driver to initialize by restarting PX4.
|
||||
|
||||
5. Configure driver as either an external INS or to provide raw data:
|
||||
|
||||
- If using the VectorNav as an external INS, set [VN_MODE](../advanced_config/parameter_reference.md#VN_MODE) to `INS`.
|
||||
This disables EKF2.
|
||||
- If using the VectorNav as external inertial sensors:
|
||||
|
||||
1. Set [VN_MODE](../advanced_config/parameter_reference.md#VN_MODE) to `Sensors Only`
|
||||
2. If internal sensors are enabled, prioritize VectorNav sensors using [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), where _n_ is the instance number of the IMU component (0, 1, etc.).
|
||||
|
||||
::: tip
|
||||
In most cases the external IMU (VN) is the highest-numbered.
|
||||
You can get a list of the IMU components available using [`uorb top -1`](../middleware/uorb.md#uorb-top-command), you can differentiate between them using the [`listener`](../modules/modules_command.md#listener) command and looking through the data, or just the rates.
|
||||
|
||||
Alternatively, you can check [CAL_GYROn_ID](../advanced_config/parameter_reference.md#CAL_GYRO0_ID) to see the device id.
|
||||
The priority is 0-255, where 0 is entirely disabled and 255 is highest priority.
|
||||
|
||||
:::
|
||||
|
||||
6. Restart PX4.
|
||||
|
||||
Once enabled, the module will be detected on boot.
|
||||
IMU data should be published at 800Hz (400Hz if using VN-300).
|
||||
|
||||
## VectorNav Configuration
|
||||
|
||||
Definitions for all commands and registers referenced in this section can be found in the respective [VectorNav ICD](https://www.vectornav.com/resources/interface-control-documents).
|
||||
|
||||
Upon initialization, PX4 configures the VectorNav unit as follows:
|
||||
|
||||
- Enables necessary binary outputs
|
||||
- Disables ASCII outputs on active serial port
|
||||
- Configures VPE Heading Mode to Absolute
|
||||
- Autoscans baudrates and configures active port to 921600 bps
|
||||
|
||||
All other necessary configuration parameters must be separately loaded to the VectorNav unit manually. These most commonly include:
|
||||
|
||||
- `GNSS Antenna A Offset` Necessary if using a GNSS-enabled product and the GNSS antenna is mounted more than 10 cm from the VectorNav unit
|
||||
- `GNSS Antenna Baseline` Necessary if using a dual-GNSS-enabled product
|
||||
- `Reference Frame Rotation` Necessary if not mounted as connector-back, base-down
|
||||
- `IMU Filtering Config` Recommended to adjust the default 200Hz IMU filtering
|
||||
|
||||
After setting these parameters, the settings must be set to persist over a power cycle using a Write Non Volatile command.
|
||||
|
||||
## Published Data
|
||||
|
||||
Upon initialization, the driver should print the following information to console (printed using `PX4_INFO`)
|
||||
|
||||
- Unit model number
|
||||
- Unit hardware version
|
||||
- Unit serial number
|
||||
- Unit firmware number
|
||||
|
||||
This should be accessible using the [`dmesg`](../modules/modules_system.md#dmesg) command.
|
||||
|
||||
The VectorNav driver always publishes the unit's data to the following UOrb topics:
|
||||
|
||||
- [sensor_accel](../msg_docs/SensorAccel.md)
|
||||
- [sensor_gyro](../msg_docs/SensorGyro.md)
|
||||
- [sensor_mag](../msg_docs/SensorMag.md)
|
||||
- [sensor_baro](../msg_docs/SensorBaro.md)
|
||||
- [sensor_gps](../msg_docs/SensorGps.md)
|
||||
|
||||
and, if enabled as an external INS, publishes:
|
||||
|
||||
- [vehicle_local_position](../msg_docs/VehicleLocalPosition.md)
|
||||
- [vehicle_global_positon](../msg_docs/VehicleGlobalPosition.md)
|
||||
- [vehicle_attitude](../msg_docs/VehicleAttitude.md)
|
||||
|
||||
or, if enabled as external sensor only, publishes:
|
||||
|
||||
- `external_ins_local_position`
|
||||
- `external_ins_global_position`
|
||||
- `external_ins_attitude`
|
||||
|
||||
:::tip
|
||||
Published topics can be viewed using the `listener` command.
|
||||
:::
|
||||
|
||||
## Hardware Specifications
|
||||
|
||||
- [Product Briefs](https://www.vectornav.com/resources/product-briefs)
|
||||
- [Datasheets](https://www.vectornav.com/resources/datasheets)
|
||||
Reference in New Issue
Block a user