diff --git a/assets/flight_controller/arkpab/arkpab_back2.jpg b/assets/flight_controller/arkpab/arkpab_back2.jpg index 8c3e657a4aac..ad9294985f23 100644 Binary files a/assets/flight_controller/arkpab/arkpab_back2.jpg and b/assets/flight_controller/arkpab/arkpab_back2.jpg differ diff --git a/assets/flight_controller/arkpab/arkpab_main.jpg b/assets/flight_controller/arkpab/arkpab_main.jpg index 638d8dea1aea..b46347651fc5 100644 Binary files a/assets/flight_controller/arkpab/arkpab_main.jpg and b/assets/flight_controller/arkpab/arkpab_main.jpg differ diff --git a/assets/flight_controller/arkpab/arkpab_top.jpg b/assets/flight_controller/arkpab/arkpab_top.jpg index 28836bba7f47..bd085981ac84 100644 Binary files a/assets/flight_controller/arkpab/arkpab_top.jpg and b/assets/flight_controller/arkpab/arkpab_top.jpg differ diff --git a/assets/flight_controller/arkv6x/ark_v6x_front.jpg b/assets/flight_controller/arkv6x/ark_v6x_front.jpg index d7b9725163dd..ce8d2b95b571 100644 Binary files a/assets/flight_controller/arkv6x/ark_v6x_front.jpg and b/assets/flight_controller/arkv6x/ark_v6x_front.jpg differ diff --git a/de/advanced_config/land_detector.md b/de/advanced_config/land_detector.md index edbee6c9269e..db5eb0a360cc 100644 --- a/de/advanced_config/land_detector.md +++ b/de/advanced_config/land_detector.md @@ -13,7 +13,7 @@ You can set [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISA The complete set of relevant landing detector parameters are listed in the parameter reference with the prefix [LNDMC](../advanced_config/parameter_reference.md#land-detector) (these can be edited in QGroundControl via the [parameter editor](../advanced_config/parameters.md)). :::tip -Information about how the parameters affect landing can be found below in [Land Detector States](#states). +Information about how the parameters affect landing can be found below in [Land Detector States](#mc-land-detector-states). ::: Other key parameters that you may need to tune in order to improve landing behaviour on particular airframes are: @@ -25,44 +25,38 @@ Incorrectly setting `MPC_THR_HOVER` may result in ground-contact or maybe-landed ::: * [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN) - the overall minimum throttle of the system. This should be set to enable a controlled descent. +* [MPC_LAND_CRWL](../advanced_config/parameter_reference.md#MPC_LAND_CRWL) - the vertical speed applied in the last stage of autonomous landing if the system has a distance sensor and it is present and working. Has to be set larger than LNDMC_Z_VEL_MAX. -## Fixed Wing Configuration - -The complete set of relevant parameters is available under the [LNDFW](../advanced_config/parameter_reference.md#land-detector) prefix. These two parameters are sometimes worth tuning: - -* [LNDFW_AIRSPD_MAX](../advanced_config/parameter_reference.md#LNDFW_AIRSPD_MAX) - the maximum airspeed allowed for the system still to be considered landed. The default of 8 m/s is a reliable tradeoff between airspeed sensing accuracy and triggering fast enough. Better airspeed sensors should allow lower values of this parameter. -* [LNDFW_VEL_XY_MAX ](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX) - the maximum horizontal velocity for the system to be still be considered landed. -* [LNDFW_VEL_Z_MAX](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX) - the maximum vertical velocity for the system to be still be considered landed. This parameter can be adjusted to ensure land detection triggers earlier or later on throwing the airframe for hand-launches. - - - -## Land Detector States - -### Multicopter Land Detection +### MC Land Detector States In order to detect landing, the multicopter first has to go through three different states, where each state contains the conditions from the previous states plus tighter constraints. If a condition cannot be reached because of missing sensors, then the condition is true by default. For instance, in [Acro mode](../flight_modes/acro_mc.md) and no sensor is active except for the gyro sensor, then the detection solely relies on thrust output and time. -In order to proceed to the next state, each condition has to be true for some predefined time. If one condition fails, the land detector drops out of the current state immediately. +In order to proceed to the next state, each condition has to be true for a third of the configured total land detector trigger time [LNDMC_TRIG_TIME](../advanced_config/parameter_reference.md#LNDMC_TRIG_TIME). If the vehicle is equipped with a distance sensor, but the distance to ground is currently not measurable (usually because it is too large), the trigger time is increased by a factor of 3. + +If one condition fails, the land detector drops out of the current state immediately. #### Ground Contact -This state is reached if following conditions are true for 0.35 seconds: +Conditions for this state: - no vertical movement ([LNDMC_Z_VEL_MAX](../advanced_config/parameter_reference.md#LNDMC_Z_VEL_MAX)) - no horizontal movement ([LNDMC_XY_VEL_MAX](../advanced_config/parameter_reference.md#LNDMC_XY_VEL_MAX)) -- lower thrust than [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN) + ([MPC_THR_HOVER](../advanced_config/parameter_reference.md#MPC_THR_HOVER) - [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN)) * (0.3, unless a hover thrust estimate is available, then 0.6), or velocity setpoint is 0.9 of land speed but vehicle has no vertical movement. +- lower thrust than [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN) + (hover throttle - [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN)) * (0.3, unless a hover thrust estimate is available, then 0.6), +- additional check if vehicle is currently in a height-rate controlled flight mode: the vehicle has to have the intent to descend (vertical velocity setpoint above LNDMC_Z_VEL_MAX). +- additional check for vehicles with a distance sensor: current distance to ground is below 1m. If the vehicle is in position- or velocity-control and ground contact was detected, the position controller will set the thrust vector along the body x-y-axis to zero. #### Maybe Landed -This state is reached if following conditions are true for 0.25 seconds: +Conditions for this state: -- all conditions of ground contact are true +- all conditions of the [ground contact](#ground-contact) state are true - is not rotating ([LNDMC_ROT_MAX](../advanced_config/parameter_reference.md#LNDMC_ROT_MAX)) - has low thrust `MPC_THR_MIN + (MPC_THR_HOVER - MPC_THR_MIN) * 0.1` +- no freefall detected If the vehicle only has knowledge of thrust and angular rate, in order to proceed to the next state the vehicle has to have low thrust and no rotation for 8.0 seconds. @@ -71,5 +65,25 @@ If the vehicle is in position or velocity control and maybe landed was detected, #### Landed -This state is reached if following conditions are true for 0.3 seconds: -- all conditions of maybe landed are true +Conditions for this state: +- all conditions of the [maybe landed](#maybe-landed) state are true + + +## Fixed-wing Configuration + +Tuning parameters for fixed-wing land detection: + +* [LNDFW_AIRSPD_MAX](../advanced_config/parameter_reference.md#LNDFW_AIRSPD_MAX) - the maximum airspeed allowed for the system still to be considered landed. Has to be a tradeoff between airspeed sensing accuracy and triggering fast enough. Better airspeed sensors should allow lower values of this parameter. +* [LNDFW_VEL_XY_MAX ](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX) - the maximum horizontal velocity for the system to be still be considered landed. +* [LNDFW_VEL_Z_MAX](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX) - the maximum vertical velocity for the system to be still be considered landed. +* [LNDFW_XYACC_MAX](../advanced_config/parameter_reference.md#LNDFW_XYACC_MAX) - the maximal horizontal acceleration for the system to still be considered landed. +* [LNDFW_TRIG_TIME](../advanced_config/parameter_reference.md#LNDFW_TRIG_TIME) - Trigger time during which the conditions above have to be fulfilled to declare a landing. + +:::note +When FW launch detection is enabled ([FW_LAUN_DETCN_ON](../advanced_config/parameter_reference.md#FW_LAUN_DETCN_ON)), the vehicle will stay in "landed" state until takeoff is detected (which is purely based on acceleration and not velocity). +::: + + +## VTOL Land Detector + +The VTOL land detector is 1:1 the same as the MC land detector if the system is in hover mode. In FW mode, land detection is disabled. diff --git a/de/flight_controller/pixhawk6x.md b/de/flight_controller/pixhawk6x.md index 5451597e8e0a..ac2481fca4ea 100644 --- a/de/flight_controller/pixhawk6x.md +++ b/de/flight_controller/pixhawk6x.md @@ -48,7 +48,7 @@ The Pixhawk®​ 6X is perfect for developers at corporate research labs, startu * IO Processor: STM32F100 * 32 Bit Arm® Cortex®-M3, 24MHz, 8KB SRAM * On-board sensors - * Accel/Gyro: ICM-20649 + * Accel/Gyro: ICM-20649 or BMI088 * Accel/Gyro: ICM-42688-P * Accel/Gyro: ICM-42670-P * Mag: BMM150 diff --git a/de/tutorials/video_streaming_wifi_broadcast.md b/de/tutorials/video_streaming_wifi_broadcast.md index 936150e777a7..d74f8a8e3dea 100644 --- a/de/tutorials/video_streaming_wifi_broadcast.md +++ b/de/tutorials/video_streaming_wifi_broadcast.md @@ -53,7 +53,7 @@ Alpha AWUS036ACH is a medium power card that uses a lot of current while transmi For **Raspberry PI** (UAV or ground) it must be directly connected to 5V BEC (or high current power adapter in case of ground pi) in one of two ways: -- Make a custom USB cable ([cut `+5V` wire from USB plug and connect it to BEC])(https://electronics.stackexchange.com/questions/218500/usb-charge-and-data-separate-cables) +- Make a custom USB cable [(cut `+5V` wire from USB plug and connect it to BEC)](https://electronics.stackexchange.com/questions/218500/usb-charge-and-data-separate-cables) - Cut a `+5V` wire on PCB near USB port and wire it to BEC (don't do this if doubt - use custom cable instead). You must also add a 470uF **low ESR capacitor** (like ESC has) between **card +5v and ground** to filter voltage spikes. You should integrate the capacitor with a custom USB cable. Without the capacitor you can get packet corruption or packet loss. Be aware of [ground loop](https://en.wikipedia.org/wiki/Ground_loop_%28electricity%29) when using several ground wires. @@ -72,7 +72,9 @@ You must also add a 470uF **low ESR capacitor** (like ESC has) between **card +5 ### Using a Linux Laptop as GCS (Harder than using a RasPi) 1. On **ground** Linux development computer: ``` - sudo apt install libpcap-dev libsodium-dev python3-all python3-twisted + sudo apt install python3-all libpcap-dev libsodium-dev python3-pip python3-pyroute2 \ + python3-future python3-twisted python3-serial iw virtualenv \ + debhelper dh-python build-essential -y git clone -b stable https://github.com/svpcom/wfb-ng.git cd wfb-ng && make deb && sudo apt install ./deb_dist/wfb-ng*.deb ``` @@ -135,5 +137,7 @@ You can use any other Linux ARM board, but you need to use an Ethernet or USB ca ## Theory -WFB-ng puts the WiFi cards into monitor mode. This mode allows to send and receive arbitrary packets without association and waiting for ACK packets. [Analysis of Injection Capabilities and Media Access of IEEE 802.11 Hardware in Monitor Mode](https://github.com/svpcom/wfb-ng/blob/master/doc/Analysis%20of%20Injection%20Capabilities%20and%20Media%20Access%20of%20IEEE%20802.11%20Hardware%20in%20Monitor%20Mode.pdf) [802.11 timings](https://github.com/ewa/802.11-data) +WFB-ng puts the WiFi cards into monitor mode. This mode allows to send and receive arbitrary packets without association and waiting for ACK packets. +- [Analysis of Injection Capabilities and Media Access of IEEE 802.11 Hardware in Monitor Mode](https://github.com/svpcom/wfb-ng/blob/master/doc/Analysis%20of%20Injection%20Capabilities%20and%20Media%20Access%20of%20IEEE%20802.11%20Hardware%20in%20Monitor%20Mode.pdf) +- [802.11 timings](https://github.com/ewa/802.11-data) diff --git a/en/SUMMARY.md b/en/SUMMARY.md index 7bae085a5adb..db70c1269af6 100644 --- a/en/SUMMARY.md +++ b/en/SUMMARY.md @@ -320,10 +320,11 @@ * [DroneCAN Peripherals](dronecan/README.md) * [PX4 DroneCAN Firmware](dronecan/px4_cannode_fw.md) * [ARK CANnode](dronecan/ark_cannode.md) + * [Integrated FC/Companion](companion_computer/integrated_companion.md) + * [Holybro Pixhawk RPI CM4 Baseboard](companion_computer/holybro_pixhawk_rpi_cm4_baseboard.md) * [Companion Computers](companion_computer/README.md) * [Pixhawk + Companion Setup](companion_computer/pixhawk_companion.md) * [Companion Computer Peripherals](companion_computer/companion_computer_peripherals.md) - * [Holybro Pixhawk RPI CM4 Baseboard](companion_computer/holybro_pixhawk_rpi_cm4_baseboard.md) * [Development](development/development.md) * [Getting Started](dev_setup/getting_started.md) * [Recommended Hardware/Setup](dev_setup/config_initial.md) diff --git a/en/advanced_config/imu_factory_calibration.md b/en/advanced_config/imu_factory_calibration.md index 81edbec0cf5b..c287b27a748b 100644 --- a/en/advanced_config/imu_factory_calibration.md +++ b/en/advanced_config/imu_factory_calibration.md @@ -8,7 +8,7 @@ This data will then be used when the parameters are set (or reset) to their defa :::warning This feature relies on the FMU having a dedicated EEPROM chip or an accompanying IMU PCBA that has sufficient space for the data. -PX4 will store the data to `/fs/mtd_caldata`, creating the file if necessary. +PX4 will store the data to `/fs/mtd_caldata`. ::: :::note diff --git a/en/companion_computer/README.md b/en/companion_computer/README.md index 545be1bd83ba..d0ab7b3db200 100644 --- a/en/companion_computer/README.md +++ b/en/companion_computer/README.md @@ -20,9 +20,7 @@ Communications with the ground stations and the cloud are usually routed via the Controller boards that come with a pre-integrated companion computer and flight controller can significantly ease both software and hardware setup. In some cases the boards are set up to allow easy replacement of flight controller and/or companion computer parts. -The following boards are known to provide a good integration with PX4: - -- [Holybro Pixhawk RPI CM4 Baseboard](../companion_computer/holybro_pixhawk_rpi_cm4_baseboard.md) +For more information see [Integrated FC/Companion Computers](companion_computer/integrated_companion.md). ## Supported Companion Computers diff --git a/en/companion_computer/integrated_companion.md b/en/companion_computer/integrated_companion.md new file mode 100644 index 000000000000..8fa48717d8f9 --- /dev/null +++ b/en/companion_computer/integrated_companion.md @@ -0,0 +1,22 @@ +# Integrated Flight Controller/Companion Computer + +Controller boards that come with a _pre-integrated_ [companion/mission computer](../companion_computer/README.md) and [flight controller](../flight_controller/README.md) are recommended for supporting computationally expensive features, such as [object avoidance](../computer_vision/obstacle_avoidance.md) and [collision prevention](../computer_vision/collision_prevention.md). + +If you need a companion computer, then using a pre-integrated board is likely to significantly reduce your costs. + +## Supported Boards + +The following boards are known to provide a good integration with PX4: + +- [Holybro Pixhawk RPI CM4 Baseboard](../companion_computer/holybro_pixhawk_rpi_cm4_baseboard.md) - Baseboard with plugin Raspberry Pi and [Pixhawk Autopilot Bus](../flight_controller/pixhawk_autopilot_bus.md) compatible flight controllers. + +## Software Setup + +The companion computer and flight controller must be set up to communicate with each other (typically using MAVLink and ROS2, over Ethernet or a serial port), and may also be set up to communicate with ground controllers, cloud and other systems. + +The setup depends on the companion computer and its operating system, and how the companion and flight controller are connected. +Setup information for common configurations is provided in [Companion computers](../companion_computer/README.md). + +## Further Information + +- [Companion computer](../companion_computer/README.md): General companion/flight controller hardware and software setup. diff --git a/en/complete_vehicles/px4_vision_kit.md b/en/complete_vehicles/px4_vision_kit.md index bb0cc7b22472..4edb938f7cad 100644 --- a/en/complete_vehicles/px4_vision_kit.md +++ b/en/complete_vehicles/px4_vision_kit.md @@ -252,7 +252,7 @@ To flash the USB image to the *UP Core*: 1. Open a terminal and run the following command to copy the image onto internal memory (eMMC). The terminal will prompt for a number of responses during the flashing process. ```sh - cd ~/catkin_ws/src/px4vision_ros + cd ~/catkin_ws/src/px4vision_ros/tools sudo ./flash_emmc.sh ``` diff --git a/en/config/safety.md b/en/config/safety.md index f0da6c76d819..f9fcfaf9482c 100644 --- a/en/config/safety.md +++ b/en/config/safety.md @@ -222,19 +222,12 @@ Parameter | Description [COM_OBL_ACT](../advanced_config/parameter_reference.md#COM_OBL_ACT) | Failsafe action if no RC is available: Land mode, Hold mode, Return mode. [COM_OBL_RC_ACT](../advanced_config/parameter_reference.md#COM_OBL_RC_ACT) | Failsafe action if RC is available: Position mode, Altitude mode, Manual mode, Return mode, Land mode, Hold mode. +### Mission Feasibility Checks -### Mission Failsafe - -The Mission Failsafe checks prevent a previous mission being started at a new takeoff location or if it is too big (distance between waypoints is too great). -The failsafe action is that the mission will not be run. - -The relevant parameters are shown below: - -Parameter | Description ---- | --- -[MIS_DIST_1WP](../advanced_config/parameter_reference.md#MIS_DIST_1WP) | The mission will not be started if the current waypoint is more distant than this value from the home position. Disabled if value is 0 or less. -[MIS_DIST_WPS](../advanced_config/parameter_reference.md#MIS_DIST_WPS) | The mission will not be started if any distance between two subsequent waypoints is greater than this value. +A number of checks are run to ensure that a mission can only be started if it is _feasible_. +For example, the checks ensures that the first waypoint isn't too far away, and that the mission flight path doesn't conflict with any geofences. +As these are not strictly speaking "failsafes" they are documented in [Mission Mode > Mission Feasibility Checks](../flight_modes/mission.md#mission-feasibility-checks). ### Traffic Avoidance Failsafe diff --git a/en/flight_modes/mission.md b/en/flight_modes/mission.md index 77c0dac53f6c..92587cba8fb1 100644 --- a/en/flight_modes/mission.md +++ b/en/flight_modes/mission.md @@ -6,11 +6,11 @@ The mission is typically created and uploaded with a Ground Control Station (GCS) application like [QGroundControl](https://docs.qgroundcontrol.com/master/en/) (QGC). :::note -* This mode requires 3d position information (e.g. GPS). -* The vehicle must be armed before this mode can be engaged. -* This mode is automatic - no user intervention is *required* to control the vehicle. -* RC control switches can be used to change flight modes on any vehicle. -* RC stick movement in a multicopter (or VTOL in multicopter mode) will [by default](#COM_RC_OVERRIDE) change the vehicle to [Position mode](../flight_modes/position_mc.md) unless handling a critical battery failsafe. +- This mode requires 3d position information (e.g. GPS). +- The vehicle must be armed before this mode can be engaged. +- This mode is automatic - no user intervention is *required* to control the vehicle. +- RC control switches can be used to change flight modes on any vehicle. +- RC stick movement in a multicopter (or VTOL in multicopter mode) will [by default](#COM_RC_OVERRIDE) change the vehicle to [Position mode](../flight_modes/position_mc.md) unless handling a critical battery failsafe. ::: ## Description @@ -27,22 +27,28 @@ Missions are uploaded onto a SD card that needs to be inserted **before** bootin At high level all vehicle types behave in the same way when MISSION mode is engaged: -1. If a mission is stored and PX4 is flying it will execute the [mission/flight plan](../flying/missions.md) from the current step. +1. If no mission is stored, or if PX4 has finished executing all mission commands, or if the [mission is not feasible](#mission-feasibility-checks): + + - If flying the vehicle will loiter. + - If landed the vehicle will "wait". +1. If a mission is stored and PX4 is flying it will execute the [mission/flight plan](../flying/missions.md) from the current step. + - On copters PX4 will treat a takeoff item as a normal waypoint if already flying. 1. If a mission is stored and PX4 is landed: - * On copters PX4 will execute the [mission/flight plan](../flying/missions.md). If the mission does not have a `TAKEOFF` command then PX4 will fly the vehicle to the minimum altitude before executing the remainder of the flight plan from the current step. - * On fixed-wing vehicles PX4 will not automatically take off (the autopilot will detect the lack of movement and set the throttle to zero). The vehicle may start executing the mission if hand- or catapult- launched while in mission mode. -1. If no mission is stored, or if PX4 has finished executing all mission commands: - * If flying the vehicle will loiter. - * If landed the vehicle will "wait". + - On copters PX4 will execute the [mission/flight plan](../flying/missions.md). + If the mission does not have a `TAKEOFF` command then PX4 will fly the vehicle to the minimum altitude before executing the remainder of the flight plan from the current step. + - On fixed-wing vehicles PX4 will not automatically take off (the autopilot will detect the lack of movement and set the throttle to zero). + The vehicle may start executing the mission if hand- or catapult- launched while in mission mode. 1. You can manually change the current mission command by selecting it in *QGroundControl*. :::note - If you have a *Jump to item* command in the mission, moving to another item will **not** reset the loop counter. One implication is that if you change the current mission command to 1 this will not "fully restart" the mission. + If you have a *Jump to item* command in the mission, moving to another item will **not** reset the loop counter. + One implication is that if you change the current mission command to 1 this will not "fully restart" the mission. ::: 1. The mission will only reset when the vehicle is disarmed or when a new mission is uploaded. :::tip - To automatically disarm the vehicle after it lands, in *QGroundControl* go to [Vehicle Setup > Safety](https://docs.qgroundcontrol.com/master/en/SetupView/Safety.html), navigate to *Land Mode Settings* and check the box labeled *Disarm after*. Enter the time to wait after landing before disarming the vehicle. + To automatically disarm the vehicle after it lands, in *QGroundControl* go to [Vehicle Setup > Safety](https://docs.qgroundcontrol.com/master/en/SetupView/Safety.html), navigate to *Land Mode Settings* and check the box labeled *Disarm after*. + Enter the time to wait after landing before disarming the vehicle. ::: Missions can be paused by activating [HOLD mode](../flight_modes/hold.md). @@ -55,15 +61,32 @@ We recommend you centre the control sticks before switching to any other mode. ::: For more information about mission planning, see: -* [Mission Planning](../flying/missions.md) -* [Plan View](https://docs.qgroundcontrol.com/master/en/PlanView/PlanView.html) (*QGroundControl* User Guide) +- [Mission Planning](../flying/missions.md) +- [Plan View](https://docs.qgroundcontrol.com/master/en/PlanView/PlanView.html) (*QGroundControl* User Guide) + +## Mission Feasibility Checks + +PX4 runs some basic sanity checks to determine if a mission is feasible when it is uploaded, and when the vehicle is first armed. +If any of the checks fail, the user is notified and it is not possible to start the mission. + +A subset of the most important checks are listed below: + +- First mission item too far away from vehicle ([MIS_DIST_1WP](#MIS_DIST_1WP)) +- Distance between two subsequent items is too large ([MIS_DIST_WPS](#MIS_DIST_WPS)) +- Any mission item conflicts with a plan or safety geofence +- More than one land start mission item defined ([MAV_CMD_DO_LAND_START](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_LAND_START)) +- A fixed-wing landing has an infeasible slope angle ([FW_LND_ANG](#FW_LND_ANG)) +- Land start item (`MAV_CMD_DO_LAND_START`) appears in mission before an RTL item ([MAV_CMD_NAV_RETURN_TO_LAUNCH](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_RETURN_TO_LAUNCH)) +- Missing takeoff and/or land item when these are configured as a requirement ([MIS_TKO_LAND_REQ](#MIS_TKO_LAND_REQ)) ## QGroundControl Support -*QGroundControl* provides additional GCS-level mission handling support (in addition to that provided by the flight controller). For more information see: -* [Remove mission after vehicle lands](https://docs.qgroundcontrol.com/master/en/releases/stable_v3.2_long.html#remove-mission-after-vehicle-lands) -* [Resume mission after Return mode](https://docs.qgroundcontrol.com/master/en/releases/stable_v3.2_long.html#resume-mission) +*QGroundControl* provides additional GCS-level mission handling support (in addition to that provided by the flight controller). + +For more information see: +- [Remove mission after vehicle lands](https://docs.qgroundcontrol.com/master/en/releases/stable_v3.2_long.html#remove-mission-after-vehicle-lands) +- [Resume mission after Return mode](https://docs.qgroundcontrol.com/master/en/releases/stable_v3.2_long.html#resume-mission) ## Mission Parameters @@ -71,14 +94,27 @@ For more information about mission planning, see: Mission behaviour is affected by a number of parameters, most of which are documented in [Parameter Reference > Mission](../advanced_config/parameter_reference.md#mission). A very small subset are listed below. +General parameters: + Parameter | Description --- | --- -[NAV_RCL_ACT](../advanced_config/parameter_reference.md#NAV_RCL_ACT) | RC loss failsafe mode (what the vehicle will do if it looses RC connection) - e.g. enter hold mode, return mode, terminate etc. -[NAV_LOITER_RAD](../advanced_config/parameter_reference.md#NAV_RCL_ACT) | Fixed-wing loiter radius. -[COM_RC_OVERRIDE](../advanced_config/parameter_reference.md#COM_RC_OVERRIDE) | Controls whether stick movement on a multicopter (or VTOL in MC mode) gives control back to the pilot in [Position mode](../flight_modes/position_mc.md). This can be separately enabled for auto modes and for offboard mode, and is enabled in auto modes by default. -[COM_RC_STICK_OV](../advanced_config/parameter_reference.md#COM_RC_STICK_OV) | The amount of stick movement that causes a transition to [Position mode](../flight_modes/position_mc.md) (if [COM_RC_OVERRIDE](#COM_RC_OVERRIDE) is enabled). +[NAV_RCL_ACT](../advanced_config/parameter_reference.md#NAV_RCL_ACT) | RC loss failsafe mode (what the vehicle will do if it looses RC connection) - e.g. enter hold mode, return mode, terminate etc. +[NAV_LOITER_RAD](../advanced_config/parameter_reference.md#NAV_RCL_ACT) | Fixed-wing loiter radius. +[COM_RC_OVERRIDE](../advanced_config/parameter_reference.md#COM_RC_OVERRIDE) | Controls whether stick movement on a multicopter (or VTOL in MC mode) gives control back to the pilot in [Position mode](../flight_modes/position_mc.md). This can be separately enabled for auto modes and for offboard mode, and is enabled in auto modes by default. +[COM_RC_STICK_OV](../advanced_config/parameter_reference.md#COM_RC_STICK_OV) | The amount of stick movement that causes a transition to [Position mode](../flight_modes/position_mc.md) (if [COM_RC_OVERRIDE](#COM_RC_OVERRIDE) is enabled). - + +Parameters related to [mission feasibility checks](#mission-feasibility-checks): + +Parameter | Description +--- | --- +[MIS_DIST_1WP](../advanced_config/parameter_reference.md#MIS_DIST_1WP) | The mission will not be started if the current waypoint is more distant than this value from the home position. Disabled if value is 0 or less. +[MIS_DIST_WPS](../advanced_config/parameter_reference.md#MIS_DIST_WPS) | The mission will not be started if any distance between two subsequent waypoints is greater than this value. Disabled if value is 0 or less. +[FW_LND_ANG](../advanced_config/parameter_reference.md#FW_LND_ANG) | Maximum landing slope angle. +[MIS_TKO_LAND_REQ](../advanced_config/parameter_reference.md#MIS_TKO_LAND_REQ) | Mission takeoff/landing requirement configuration. FW and VTOL both have it set to 2 by default, which means that the mission has to contain a landing. + + + ## Supported Mission Commands PX4 "accepts" the following MAVLink mission commands in Mission mode (with some _caveats_, given after the list). @@ -93,7 +129,7 @@ Unless otherwise noted, the implementation is as defined in the MAVLink specific * [MAV_CMD_NAV_LOITER_TO_ALT](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_LOITER_TO_ALT) * [MAV_CMD_NAV_VTOL_TAKEOFF](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_VTOL_TAKEOFF) - `MAV_CMD_NAV_VTOL_TAKEOFF.param2` (transition heading) is ignored. - Instead the heading to the next waypoint is used for the transition heading. + Instead the heading to the next waypoint is used for the transition heading. * [MAV_CMD_NAV_VTOL_LAND](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_VTOL_LAND) * [MAV_CMD_NAV_FENCE_RETURN_POINT](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_FENCE_RETURN_POINT) * [MAV_CMD_NAV_FENCE_POLYGON_VERTEX_INCLUSION](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_FENCE_POLYGON_VERTEX_INCLUSION) @@ -161,4 +197,3 @@ Vehicles switch to the next waypoint as soon as they enter the acceptance radius - By default, it's about 70 meters. - The equation is: $$L_{1_{distance}}=\frac{1}{\pi}L_{1_{damping}}L_{1_{period}}\left \| \vec{v}_{ {xy}_{ground} } \right \|$$ - diff --git a/en/flying/missions.md b/en/flying/missions.md index 2890c878953f..775464f38d84 100644 --- a/en/flying/missions.md +++ b/en/flying/missions.md @@ -18,6 +18,17 @@ For more information see the [QGroundControl User Guide](https://docs.qgroundcon ![planning-mission](../../assets/flying/planning_mission.jpg) +### Mission Feasibility Checks + +PX4 runs some basic sanity checks to determine if a mission is feasible. +For example, whether the mission is close enough to the vehicle, if the mission will conflict with a geofence, or if a mission landing pattern is required but is not present. + +The checks are run when the mission is uploaded and immediately before it is run. +If any of the checks fail, the user is notified and it is not possible to start the mission. + + +For more detail on the checks and possible actions, see: [Mission Mode > Mission Feasibility Checks](../flight_modes/mission.md#mission-feasibility-checks). + ### Setting Vehicle Yaw If set, a multi-rotor vehicle will yaw to face the **Heading** value specified in the target waypoint (corresponding to [MAV_CMD_NAV_WAYPOINT.param4](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_WAYPOINT)). diff --git a/en/tutorials/video_streaming_wifi_broadcast.md b/en/tutorials/video_streaming_wifi_broadcast.md index ae633e469e27..095e22616372 100644 --- a/en/tutorials/video_streaming_wifi_broadcast.md +++ b/en/tutorials/video_streaming_wifi_broadcast.md @@ -58,7 +58,7 @@ If you connect it to **USB3** port via **native USB3 cable** to a **Linux laptop For **Raspberry PI** (UAV or ground) it must be directly connected to 5V BEC (or high current power adapter in case of ground pi) in one of two ways: -- Make a custom USB cable ([cut `+5V` wire from USB plug and connect it to BEC])(https://electronics.stackexchange.com/questions/218500/usb-charge-and-data-separate-cables) +- Make a custom USB cable [(cut `+5V` wire from USB plug and connect it to BEC)](https://electronics.stackexchange.com/questions/218500/usb-charge-and-data-separate-cables) - Cut a `+5V` wire on PCB near USB port and wire it to BEC (don't do this if doubt - use custom cable instead). You must also add a 470uF **low ESR capacitor** (like ESC has) between **card +5v and ground** to filter voltage spikes. @@ -81,7 +81,9 @@ Be aware of [ground loop](https://en.wikipedia.org/wiki/Ground_loop_%28electrici ### Using a Linux Laptop as GCS (Harder than using a RasPi) 1. On **ground** Linux development computer: ``` - sudo apt install libpcap-dev libsodium-dev python3-all python3-twisted + sudo apt install python3-all libpcap-dev libsodium-dev python3-pip python3-pyroute2 \ + python3-future python3-twisted python3-serial iw virtualenv \ + debhelper dh-python build-essential -y git clone -b stable https://github.com/svpcom/wfb-ng.git cd wfb-ng && make deb && sudo apt install ./deb_dist/wfb-ng*.deb ``` @@ -156,6 +158,6 @@ You can use any other Linux ARM board, but you need to use an Ethernet or USB ca ## Theory WFB-ng puts the WiFi cards into monitor mode. This mode allows to send and receive arbitrary packets without association and waiting for ACK packets. -[Analysis of Injection Capabilities and Media Access of IEEE 802.11 Hardware in Monitor Mode](https://github.com/svpcom/wfb-ng/blob/master/doc/Analysis%20of%20Injection%20Capabilities%20and%20Media%20Access%20of%20IEEE%20802.11%20Hardware%20in%20Monitor%20Mode.pdf) -[802.11 timings](https://github.com/ewa/802.11-data) +- [Analysis of Injection Capabilities and Media Access of IEEE 802.11 Hardware in Monitor Mode](https://github.com/svpcom/wfb-ng/blob/master/doc/Analysis%20of%20Injection%20Capabilities%20and%20Media%20Access%20of%20IEEE%20802.11%20Hardware%20in%20Monitor%20Mode.pdf) +- [802.11 timings](https://github.com/ewa/802.11-data) diff --git a/ja/advanced_config/land_detector.md b/ja/advanced_config/land_detector.md index edbee6c9269e..db5eb0a360cc 100644 --- a/ja/advanced_config/land_detector.md +++ b/ja/advanced_config/land_detector.md @@ -13,7 +13,7 @@ You can set [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISA The complete set of relevant landing detector parameters are listed in the parameter reference with the prefix [LNDMC](../advanced_config/parameter_reference.md#land-detector) (these can be edited in QGroundControl via the [parameter editor](../advanced_config/parameters.md)). :::tip -Information about how the parameters affect landing can be found below in [Land Detector States](#states). +Information about how the parameters affect landing can be found below in [Land Detector States](#mc-land-detector-states). ::: Other key parameters that you may need to tune in order to improve landing behaviour on particular airframes are: @@ -25,44 +25,38 @@ Incorrectly setting `MPC_THR_HOVER` may result in ground-contact or maybe-landed ::: * [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN) - the overall minimum throttle of the system. This should be set to enable a controlled descent. +* [MPC_LAND_CRWL](../advanced_config/parameter_reference.md#MPC_LAND_CRWL) - the vertical speed applied in the last stage of autonomous landing if the system has a distance sensor and it is present and working. Has to be set larger than LNDMC_Z_VEL_MAX. -## Fixed Wing Configuration - -The complete set of relevant parameters is available under the [LNDFW](../advanced_config/parameter_reference.md#land-detector) prefix. These two parameters are sometimes worth tuning: - -* [LNDFW_AIRSPD_MAX](../advanced_config/parameter_reference.md#LNDFW_AIRSPD_MAX) - the maximum airspeed allowed for the system still to be considered landed. The default of 8 m/s is a reliable tradeoff between airspeed sensing accuracy and triggering fast enough. Better airspeed sensors should allow lower values of this parameter. -* [LNDFW_VEL_XY_MAX ](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX) - the maximum horizontal velocity for the system to be still be considered landed. -* [LNDFW_VEL_Z_MAX](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX) - the maximum vertical velocity for the system to be still be considered landed. This parameter can be adjusted to ensure land detection triggers earlier or later on throwing the airframe for hand-launches. - - - -## Land Detector States - -### Multicopter Land Detection +### MC Land Detector States In order to detect landing, the multicopter first has to go through three different states, where each state contains the conditions from the previous states plus tighter constraints. If a condition cannot be reached because of missing sensors, then the condition is true by default. For instance, in [Acro mode](../flight_modes/acro_mc.md) and no sensor is active except for the gyro sensor, then the detection solely relies on thrust output and time. -In order to proceed to the next state, each condition has to be true for some predefined time. If one condition fails, the land detector drops out of the current state immediately. +In order to proceed to the next state, each condition has to be true for a third of the configured total land detector trigger time [LNDMC_TRIG_TIME](../advanced_config/parameter_reference.md#LNDMC_TRIG_TIME). If the vehicle is equipped with a distance sensor, but the distance to ground is currently not measurable (usually because it is too large), the trigger time is increased by a factor of 3. + +If one condition fails, the land detector drops out of the current state immediately. #### Ground Contact -This state is reached if following conditions are true for 0.35 seconds: +Conditions for this state: - no vertical movement ([LNDMC_Z_VEL_MAX](../advanced_config/parameter_reference.md#LNDMC_Z_VEL_MAX)) - no horizontal movement ([LNDMC_XY_VEL_MAX](../advanced_config/parameter_reference.md#LNDMC_XY_VEL_MAX)) -- lower thrust than [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN) + ([MPC_THR_HOVER](../advanced_config/parameter_reference.md#MPC_THR_HOVER) - [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN)) * (0.3, unless a hover thrust estimate is available, then 0.6), or velocity setpoint is 0.9 of land speed but vehicle has no vertical movement. +- lower thrust than [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN) + (hover throttle - [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN)) * (0.3, unless a hover thrust estimate is available, then 0.6), +- additional check if vehicle is currently in a height-rate controlled flight mode: the vehicle has to have the intent to descend (vertical velocity setpoint above LNDMC_Z_VEL_MAX). +- additional check for vehicles with a distance sensor: current distance to ground is below 1m. If the vehicle is in position- or velocity-control and ground contact was detected, the position controller will set the thrust vector along the body x-y-axis to zero. #### Maybe Landed -This state is reached if following conditions are true for 0.25 seconds: +Conditions for this state: -- all conditions of ground contact are true +- all conditions of the [ground contact](#ground-contact) state are true - is not rotating ([LNDMC_ROT_MAX](../advanced_config/parameter_reference.md#LNDMC_ROT_MAX)) - has low thrust `MPC_THR_MIN + (MPC_THR_HOVER - MPC_THR_MIN) * 0.1` +- no freefall detected If the vehicle only has knowledge of thrust and angular rate, in order to proceed to the next state the vehicle has to have low thrust and no rotation for 8.0 seconds. @@ -71,5 +65,25 @@ If the vehicle is in position or velocity control and maybe landed was detected, #### Landed -This state is reached if following conditions are true for 0.3 seconds: -- all conditions of maybe landed are true +Conditions for this state: +- all conditions of the [maybe landed](#maybe-landed) state are true + + +## Fixed-wing Configuration + +Tuning parameters for fixed-wing land detection: + +* [LNDFW_AIRSPD_MAX](../advanced_config/parameter_reference.md#LNDFW_AIRSPD_MAX) - the maximum airspeed allowed for the system still to be considered landed. Has to be a tradeoff between airspeed sensing accuracy and triggering fast enough. Better airspeed sensors should allow lower values of this parameter. +* [LNDFW_VEL_XY_MAX ](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX) - the maximum horizontal velocity for the system to be still be considered landed. +* [LNDFW_VEL_Z_MAX](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX) - the maximum vertical velocity for the system to be still be considered landed. +* [LNDFW_XYACC_MAX](../advanced_config/parameter_reference.md#LNDFW_XYACC_MAX) - the maximal horizontal acceleration for the system to still be considered landed. +* [LNDFW_TRIG_TIME](../advanced_config/parameter_reference.md#LNDFW_TRIG_TIME) - Trigger time during which the conditions above have to be fulfilled to declare a landing. + +:::note +When FW launch detection is enabled ([FW_LAUN_DETCN_ON](../advanced_config/parameter_reference.md#FW_LAUN_DETCN_ON)), the vehicle will stay in "landed" state until takeoff is detected (which is purely based on acceleration and not velocity). +::: + + +## VTOL Land Detector + +The VTOL land detector is 1:1 the same as the MC land detector if the system is in hover mode. In FW mode, land detection is disabled. diff --git a/ja/complete_vehicles/px4_vision_kit.md b/ja/complete_vehicles/px4_vision_kit.md index a6dea32c08b1..402f18b940c6 100644 --- a/ja/complete_vehicles/px4_vision_kit.md +++ b/ja/complete_vehicles/px4_vision_kit.md @@ -239,7 +239,7 @@ To flash the USB image to the *UP Core*: 1. [Login to the companion computer](#login_mission_computer) (as described above). 1. Open a terminal and run the following command to copy the image onto internal memory (eMMC). The terminal will prompt for a number of responses during the flashing process. ```sh - cd ~/catkin_ws/src/px4vision_ros + cd ~/catkin_ws/src/px4vision_ros/tools sudo ./flash_emmc.sh ``` diff --git a/ja/flight_controller/pixhawk6x.md b/ja/flight_controller/pixhawk6x.md index 5451597e8e0a..ac2481fca4ea 100644 --- a/ja/flight_controller/pixhawk6x.md +++ b/ja/flight_controller/pixhawk6x.md @@ -48,7 +48,7 @@ The Pixhawk®​ 6X is perfect for developers at corporate research labs, startu * IO Processor: STM32F100 * 32 Bit Arm® Cortex®-M3, 24MHz, 8KB SRAM * On-board sensors - * Accel/Gyro: ICM-20649 + * Accel/Gyro: ICM-20649 or BMI088 * Accel/Gyro: ICM-42688-P * Accel/Gyro: ICM-42670-P * Mag: BMM150 diff --git a/ja/tutorials/video_streaming_wifi_broadcast.md b/ja/tutorials/video_streaming_wifi_broadcast.md index 936150e777a7..d74f8a8e3dea 100644 --- a/ja/tutorials/video_streaming_wifi_broadcast.md +++ b/ja/tutorials/video_streaming_wifi_broadcast.md @@ -53,7 +53,7 @@ Alpha AWUS036ACH is a medium power card that uses a lot of current while transmi For **Raspberry PI** (UAV or ground) it must be directly connected to 5V BEC (or high current power adapter in case of ground pi) in one of two ways: -- Make a custom USB cable ([cut `+5V` wire from USB plug and connect it to BEC])(https://electronics.stackexchange.com/questions/218500/usb-charge-and-data-separate-cables) +- Make a custom USB cable [(cut `+5V` wire from USB plug and connect it to BEC)](https://electronics.stackexchange.com/questions/218500/usb-charge-and-data-separate-cables) - Cut a `+5V` wire on PCB near USB port and wire it to BEC (don't do this if doubt - use custom cable instead). You must also add a 470uF **low ESR capacitor** (like ESC has) between **card +5v and ground** to filter voltage spikes. You should integrate the capacitor with a custom USB cable. Without the capacitor you can get packet corruption or packet loss. Be aware of [ground loop](https://en.wikipedia.org/wiki/Ground_loop_%28electricity%29) when using several ground wires. @@ -72,7 +72,9 @@ You must also add a 470uF **low ESR capacitor** (like ESC has) between **card +5 ### Using a Linux Laptop as GCS (Harder than using a RasPi) 1. On **ground** Linux development computer: ``` - sudo apt install libpcap-dev libsodium-dev python3-all python3-twisted + sudo apt install python3-all libpcap-dev libsodium-dev python3-pip python3-pyroute2 \ + python3-future python3-twisted python3-serial iw virtualenv \ + debhelper dh-python build-essential -y git clone -b stable https://github.com/svpcom/wfb-ng.git cd wfb-ng && make deb && sudo apt install ./deb_dist/wfb-ng*.deb ``` @@ -135,5 +137,7 @@ You can use any other Linux ARM board, but you need to use an Ethernet or USB ca ## Theory -WFB-ng puts the WiFi cards into monitor mode. This mode allows to send and receive arbitrary packets without association and waiting for ACK packets. [Analysis of Injection Capabilities and Media Access of IEEE 802.11 Hardware in Monitor Mode](https://github.com/svpcom/wfb-ng/blob/master/doc/Analysis%20of%20Injection%20Capabilities%20and%20Media%20Access%20of%20IEEE%20802.11%20Hardware%20in%20Monitor%20Mode.pdf) [802.11 timings](https://github.com/ewa/802.11-data) +WFB-ng puts the WiFi cards into monitor mode. This mode allows to send and receive arbitrary packets without association and waiting for ACK packets. +- [Analysis of Injection Capabilities and Media Access of IEEE 802.11 Hardware in Monitor Mode](https://github.com/svpcom/wfb-ng/blob/master/doc/Analysis%20of%20Injection%20Capabilities%20and%20Media%20Access%20of%20IEEE%20802.11%20Hardware%20in%20Monitor%20Mode.pdf) +- [802.11 timings](https://github.com/ewa/802.11-data) diff --git a/ko/advanced_config/land_detector.md b/ko/advanced_config/land_detector.md index 8c9c70060bb7..c058e4343ee2 100644 --- a/ko/advanced_config/land_detector.md +++ b/ko/advanced_config/land_detector.md @@ -13,7 +13,7 @@ 착륙 감지기 관련 매개변수는 접두사 [LNDMC](../advanced_config/parameter_reference.md#land-detector)가 붙어 있습니다(QGroundControl의 [매개변수 편집기](../advanced_config/parameters.md)에서 수정 가능합니다). :::tip -착륙 관련 매개변수들은 [착륙 감지 상태](#states)편을 참고하십시오. +Information about how the parameters affect landing can be found below in [Land Detector States](#mc-land-detector-states). ::: 각 기체에서 착륙 동작 개선용 미세 조정 핵심 매개변수는 다음과 같습니다: @@ -25,44 +25,38 @@ ::: * [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN) - 시스템의 전체 최소 추진력. 제어 하강을 가능하게하기 위하여 설정되어야 합니다. +* [MPC_LAND_CRWL](../advanced_config/parameter_reference.md#MPC_LAND_CRWL) - the vertical speed applied in the last stage of autonomous landing if the system has a distance sensor and it is present and working. Has to be set larger than LNDMC_Z_VEL_MAX. -## 고정익 설정 - -관련 매개변수는 [LNDFW](../advanced_config/parameter_reference.md#land-detector) 접두어가 붙어있습니다. 아래의 두 개의 매개변수는 수시로 약간씩 튜닝하는 것이 좋습니다. - -* [LNDFW_AIRSPD_MAX](../advanced_config/parameter_reference.md#LNDFW_AIRSPD_MAX) -시스템이 여전히 착륙했다고 간주할 수 있는 최대 항속. 기본값 8m/s는 대기속도 센서의 정확도와 착륙 감지기의 시작을 안정적으로 절충합니다. 좋은 대기속도 센서는 이 파라미터 값을 낮출 수 있게 합니다. -* [LNDFW_VEL_XY_MAX ](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX) - 시스템이 착륙하는 것으로 간주되는 최대 수평 속도 -* [LNDFW_VEL_Z_MAX](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX)-시스템이 착륙한 것으로 간주되는 최대 수직 속도. 이 파라미터는 착륙 감지 시작을 조금 더 빠르거나 느리도록 조절하거나, 기체를 손으로 던져서 날릴 때 사용할 수 있습니다. - - - -## 착륙 감지기 상태 - -### 멀티콥터 착륙 감지 +### MC Land Detector States 멀티콥터는 착륙 감지에 3개의 서로 다른 상태를 거치게 됩니다. 각각의 상태는 이전 상태의 조건에 더해 엄격한 제약조건을 가지게 됩니다. 센서 손실로 인해 조건이 만족되지 않는다면, 기본값으로 그 조건은 참이 됩니다. 예를 들어, [곡예 모드](../flight_modes/acro_mc.md)에서 자이로스코프 센서를 제외한 다른 센서가 활성화되지 않았으면, 착륙 감지는 추력 출력값과 시간에 의존합니다. -다음 상태로 넘어가려면, 미리 정해진 시간동안 각 조건들이 참인 상태를 유지하여야 합니다. 만약에 조건중 하나라도 만족하지 않으면, 착륙 감지기는 즉시 현재 상태를 벗어납니다. +In order to proceed to the next state, each condition has to be true for a third of the configured total land detector trigger time [LNDMC_TRIG_TIME](../advanced_config/parameter_reference.md#LNDMC_TRIG_TIME). If the vehicle is equipped with a distance sensor, but the distance to ground is currently not measurable (usually because it is too large), the trigger time is increased by a factor of 3. + +만약에 조건중 하나라도 만족하지 않으면, 착륙 감지기는 즉시 현재 상태를 벗어납니다. #### 접지 -아래의 조건들이 0.35초 동안 참이면 접지 상태에 도달합니다: +Conditions for this state: - 수직 방향으로 움직임이 없음 ([LNDMC_Z_VEL_MAX](../advanced_config/parameter_reference.md#LNDMC_Z_VEL_MAX)) - 수평 방향으로 움직임이 없음 ([LNDMC_XY_VEL_MAX](../advanced_config/parameter_reference.md#LNDMC_XY_VEL_MAX)) -- [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN) + ([MPC_THR_HOVER](../advanced_config/parameter_reference.md#MPC_THR_HOVER)-[MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN)) * (0.3, 호버 추력 추정치를 사용할 수 없는 경우 0.6)나 속도 설정점보다 낮은 추력 지상 속도는 0.9이지만 기체의 수직 이동이 없습니다. +- lower thrust than [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN) + (hover throttle - [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN)) * (0.3, unless a hover thrust estimate is available, then 0.6), +- additional check if vehicle is currently in a height-rate controlled flight mode: the vehicle has to have the intent to descend (vertical velocity setpoint above LNDMC_Z_VEL_MAX). +- additional check for vehicles with a distance sensor: current distance to ground is below 1m. 기체가 위치나 속도 제어중에 지면 접촉을 감지하면, 위치 제어기는 기체의 x-y 축을 따르는 추력 벡터를 0으로 설정합니다. #### 착륙 예측 -다음 조건이 0.25초 동안 참이면 착륙 예측 상태에 도달합니다: +Conditions for this state: -- 접지 조건이 모두 참일 경우 +- all conditions of the [ground contact](#ground-contact) state are true - 기체 회전이 없을 경우 ([LNDMC_ROT_MAX](../advanced_config/parameter_reference.md#LNDMC_ROT_MAX)) - 추력이 `MPC_THR_MIN + (MPC_THR_HOVER - MPC_THR_MIN) * 0.1`보다 낮을 경우 +- no freefall detected 만약 기체가 추력과 각가속도만을 알고 있다면, 다음 상태로 진입하기 위해서는 기체의 추력이 낮아야 하고, 8초 동안 회전하지 않아야 합니다. @@ -71,5 +65,25 @@ #### 착륙 -다음 조건이 0.3초 동안 참이면 이 상태에 도달합니다: -- 착륙 예측 조건이 모두 참인 경우 +Conditions for this state: +- all conditions of the [maybe landed](#maybe-landed) state are true + + +## Fixed-wing Configuration + +Tuning parameters for fixed-wing land detection: + +* [LNDFW_AIRSPD_MAX](../advanced_config/parameter_reference.md#LNDFW_AIRSPD_MAX) -시스템이 여전히 착륙했다고 간주할 수 있는 최대 항속. Has to be a tradeoff between airspeed sensing accuracy and triggering fast enough. 좋은 대기속도 센서는 이 파라미터 값을 낮출 수 있게 합니다. +* [LNDFW_VEL_XY_MAX ](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX) - 시스템이 착륙하는 것으로 간주되는 최대 수평 속도 +* [LNDFW_VEL_Z_MAX](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX)-시스템이 착륙한 것으로 간주되는 최대 수직 속도. +* [LNDFW_XYACC_MAX](../advanced_config/parameter_reference.md#LNDFW_XYACC_MAX) - the maximal horizontal acceleration for the system to still be considered landed. +* [LNDFW_TRIG_TIME](../advanced_config/parameter_reference.md#LNDFW_TRIG_TIME) - Trigger time during which the conditions above have to be fulfilled to declare a landing. + +:::note +When FW launch detection is enabled ([FW_LAUN_DETCN_ON](../advanced_config/parameter_reference.md#FW_LAUN_DETCN_ON)), the vehicle will stay in "landed" state until takeoff is detected (which is purely based on acceleration and not velocity). +::: + + +## VTOL Land Detector + +The VTOL land detector is 1:1 the same as the MC land detector if the system is in hover mode. In FW mode, land detection is disabled. diff --git a/ko/complete_vehicles/px4_vision_kit.md b/ko/complete_vehicles/px4_vision_kit.md index c45f20d09454..e8ac5260a92a 100644 --- a/ko/complete_vehicles/px4_vision_kit.md +++ b/ko/complete_vehicles/px4_vision_kit.md @@ -239,7 +239,7 @@ USB 이미지를 *UP Core*로 플래시하려면 : 1. [보조 컴퓨터에 로그인](#login_mission_computer)합니다(위 설명 참조). 1. 터미널에서 다음 명령어를 실행하여 이미지를 내부 메모리 (eMMC)에 복사합니다. 터미널은 깜박이는 프로세스동안에 여러가지 응답을 요청합니다. ```sh - cd ~/catkin_ws/src/px4vision_ros + cd ~/catkin_ws/src/px4vision_ros/tools sudo ./flash_emmc.sh ``` diff --git a/ko/flight_controller/pixhawk6x.md b/ko/flight_controller/pixhawk6x.md index 1e4b9d9eae7c..5b43a765ce7e 100644 --- a/ko/flight_controller/pixhawk6x.md +++ b/ko/flight_controller/pixhawk6x.md @@ -48,7 +48,7 @@ The Pixhawk®​ 6X is perfect for developers at corporate research labs, startu * IO Processor: STM32F100 * 32 Bit Arm® Cortex®-M3, 24MHz, 8KB SRAM * On-board sensors - * Accel/Gyro: ICM-20649 + * Accel/Gyro: ICM-20649 or BMI088 * Accel/Gyro: ICM-42688-P * Accel/Gyro: ICM-42670-P * Mag: BMM150 diff --git a/ko/tutorials/video_streaming_wifi_broadcast.md b/ko/tutorials/video_streaming_wifi_broadcast.md index b01126d14de4..ca459377d966 100644 --- a/ko/tutorials/video_streaming_wifi_broadcast.md +++ b/ko/tutorials/video_streaming_wifi_broadcast.md @@ -53,7 +53,7 @@ Alpha AWUS036ACH is a medium power card that uses a lot of current while transmi For **Raspberry PI** (UAV or ground) it must be directly connected to 5V BEC (or high current power adapter in case of ground pi) in one of two ways: -- Make a custom USB cable ([cut `+5V` wire from USB plug and connect it to BEC])(https://electronics.stackexchange.com/questions/218500/usb-charge-and-data-separate-cables) +- Make a custom USB cable [(cut `+5V` wire from USB plug and connect it to BEC)](https://electronics.stackexchange.com/questions/218500/usb-charge-and-data-separate-cables) - USB 포트 인근의 PCB 기판에서 <1>+5V 선을 뽑아 BEC에 연결(동작 여부가 의심스럽다면 진행하지 마십시오 - 대신 자체 제작 케이블을 쓰십시오). You must also add a 470uF **low ESR capacitor** (like ESC has) between **card +5v and ground** to filter voltage spikes. You should integrate the capacitor with a custom USB cable. Without the capacitor you can get packet corruption or packet loss. 여러개의 접지선을 사용하면, [접지 루프](https://en.wikipedia.org/wiki/Ground_loop_%28electricity%29)가 나타날 수 있음을 명심하십시오. @@ -72,7 +72,9 @@ You must also add a 470uF **low ESR capacitor** (like ESC has) between **card +5 ### Using a Linux Laptop as GCS (Harder than using a RasPi) 1. On **ground** Linux development computer: ``` - sudo apt install libpcap-dev libsodium-dev python3-all python3-twisted + sudo apt install python3-all libpcap-dev libsodium-dev python3-pip python3-pyroute2 \ + python3-future python3-twisted python3-serial iw virtualenv \ + debhelper dh-python build-essential -y git clone -b stable https://github.com/svpcom/wfb-ng.git cd wfb-ng && make deb && sudo apt install ./deb_dist/wfb-ng*.deb ``` @@ -135,5 +137,7 @@ You can use any other Linux ARM board, but you need to use an Ethernet or USB ca ## 이론 -WFB-ng puts the WiFi cards into monitor mode. 이 모드를 사용하면 연관 없이 임의의 패킷을 송수신할 수 있으며, ACK 패킷을 기다릴 수 있습니다. [Analysis of Injection Capabilities and Media Access of IEEE 802.11 Hardware in Monitor Mode](https://github.com/svpcom/wfb-ng/blob/master/doc/Analysis%20of%20Injection%20Capabilities%20and%20Media%20Access%20of%20IEEE%20802.11%20Hardware%20in%20Monitor%20Mode.pdf) [802.11 timings](https://github.com/ewa/802.11-data) +WFB-ng puts the WiFi cards into monitor mode. 이 모드를 사용하면 연관 없이 임의의 패킷을 송수신할 수 있으며, ACK 패킷을 기다릴 수 있습니다. +- [Analysis of Injection Capabilities and Media Access of IEEE 802.11 Hardware in Monitor Mode](https://github.com/svpcom/wfb-ng/blob/master/doc/Analysis%20of%20Injection%20Capabilities%20and%20Media%20Access%20of%20IEEE%20802.11%20Hardware%20in%20Monitor%20Mode.pdf) +- [802.11 timings](https://github.com/ewa/802.11-data) diff --git a/ru/advanced_config/land_detector.md b/ru/advanced_config/land_detector.md index edbee6c9269e..db5eb0a360cc 100644 --- a/ru/advanced_config/land_detector.md +++ b/ru/advanced_config/land_detector.md @@ -13,7 +13,7 @@ You can set [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISA The complete set of relevant landing detector parameters are listed in the parameter reference with the prefix [LNDMC](../advanced_config/parameter_reference.md#land-detector) (these can be edited in QGroundControl via the [parameter editor](../advanced_config/parameters.md)). :::tip -Information about how the parameters affect landing can be found below in [Land Detector States](#states). +Information about how the parameters affect landing can be found below in [Land Detector States](#mc-land-detector-states). ::: Other key parameters that you may need to tune in order to improve landing behaviour on particular airframes are: @@ -25,44 +25,38 @@ Incorrectly setting `MPC_THR_HOVER` may result in ground-contact or maybe-landed ::: * [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN) - the overall minimum throttle of the system. This should be set to enable a controlled descent. +* [MPC_LAND_CRWL](../advanced_config/parameter_reference.md#MPC_LAND_CRWL) - the vertical speed applied in the last stage of autonomous landing if the system has a distance sensor and it is present and working. Has to be set larger than LNDMC_Z_VEL_MAX. -## Fixed Wing Configuration - -The complete set of relevant parameters is available under the [LNDFW](../advanced_config/parameter_reference.md#land-detector) prefix. These two parameters are sometimes worth tuning: - -* [LNDFW_AIRSPD_MAX](../advanced_config/parameter_reference.md#LNDFW_AIRSPD_MAX) - the maximum airspeed allowed for the system still to be considered landed. The default of 8 m/s is a reliable tradeoff between airspeed sensing accuracy and triggering fast enough. Better airspeed sensors should allow lower values of this parameter. -* [LNDFW_VEL_XY_MAX ](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX) - the maximum horizontal velocity for the system to be still be considered landed. -* [LNDFW_VEL_Z_MAX](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX) - the maximum vertical velocity for the system to be still be considered landed. This parameter can be adjusted to ensure land detection triggers earlier or later on throwing the airframe for hand-launches. - - - -## Land Detector States - -### Multicopter Land Detection +### MC Land Detector States In order to detect landing, the multicopter first has to go through three different states, where each state contains the conditions from the previous states plus tighter constraints. If a condition cannot be reached because of missing sensors, then the condition is true by default. For instance, in [Acro mode](../flight_modes/acro_mc.md) and no sensor is active except for the gyro sensor, then the detection solely relies on thrust output and time. -In order to proceed to the next state, each condition has to be true for some predefined time. If one condition fails, the land detector drops out of the current state immediately. +In order to proceed to the next state, each condition has to be true for a third of the configured total land detector trigger time [LNDMC_TRIG_TIME](../advanced_config/parameter_reference.md#LNDMC_TRIG_TIME). If the vehicle is equipped with a distance sensor, but the distance to ground is currently not measurable (usually because it is too large), the trigger time is increased by a factor of 3. + +If one condition fails, the land detector drops out of the current state immediately. #### Ground Contact -This state is reached if following conditions are true for 0.35 seconds: +Conditions for this state: - no vertical movement ([LNDMC_Z_VEL_MAX](../advanced_config/parameter_reference.md#LNDMC_Z_VEL_MAX)) - no horizontal movement ([LNDMC_XY_VEL_MAX](../advanced_config/parameter_reference.md#LNDMC_XY_VEL_MAX)) -- lower thrust than [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN) + ([MPC_THR_HOVER](../advanced_config/parameter_reference.md#MPC_THR_HOVER) - [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN)) * (0.3, unless a hover thrust estimate is available, then 0.6), or velocity setpoint is 0.9 of land speed but vehicle has no vertical movement. +- lower thrust than [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN) + (hover throttle - [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN)) * (0.3, unless a hover thrust estimate is available, then 0.6), +- additional check if vehicle is currently in a height-rate controlled flight mode: the vehicle has to have the intent to descend (vertical velocity setpoint above LNDMC_Z_VEL_MAX). +- additional check for vehicles with a distance sensor: current distance to ground is below 1m. If the vehicle is in position- or velocity-control and ground contact was detected, the position controller will set the thrust vector along the body x-y-axis to zero. #### Maybe Landed -This state is reached if following conditions are true for 0.25 seconds: +Conditions for this state: -- all conditions of ground contact are true +- all conditions of the [ground contact](#ground-contact) state are true - is not rotating ([LNDMC_ROT_MAX](../advanced_config/parameter_reference.md#LNDMC_ROT_MAX)) - has low thrust `MPC_THR_MIN + (MPC_THR_HOVER - MPC_THR_MIN) * 0.1` +- no freefall detected If the vehicle only has knowledge of thrust and angular rate, in order to proceed to the next state the vehicle has to have low thrust and no rotation for 8.0 seconds. @@ -71,5 +65,25 @@ If the vehicle is in position or velocity control and maybe landed was detected, #### Landed -This state is reached if following conditions are true for 0.3 seconds: -- all conditions of maybe landed are true +Conditions for this state: +- all conditions of the [maybe landed](#maybe-landed) state are true + + +## Fixed-wing Configuration + +Tuning parameters for fixed-wing land detection: + +* [LNDFW_AIRSPD_MAX](../advanced_config/parameter_reference.md#LNDFW_AIRSPD_MAX) - the maximum airspeed allowed for the system still to be considered landed. Has to be a tradeoff between airspeed sensing accuracy and triggering fast enough. Better airspeed sensors should allow lower values of this parameter. +* [LNDFW_VEL_XY_MAX ](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX) - the maximum horizontal velocity for the system to be still be considered landed. +* [LNDFW_VEL_Z_MAX](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX) - the maximum vertical velocity for the system to be still be considered landed. +* [LNDFW_XYACC_MAX](../advanced_config/parameter_reference.md#LNDFW_XYACC_MAX) - the maximal horizontal acceleration for the system to still be considered landed. +* [LNDFW_TRIG_TIME](../advanced_config/parameter_reference.md#LNDFW_TRIG_TIME) - Trigger time during which the conditions above have to be fulfilled to declare a landing. + +:::note +When FW launch detection is enabled ([FW_LAUN_DETCN_ON](../advanced_config/parameter_reference.md#FW_LAUN_DETCN_ON)), the vehicle will stay in "landed" state until takeoff is detected (which is purely based on acceleration and not velocity). +::: + + +## VTOL Land Detector + +The VTOL land detector is 1:1 the same as the MC land detector if the system is in hover mode. In FW mode, land detection is disabled. diff --git a/ru/complete_vehicles/px4_vision_kit.md b/ru/complete_vehicles/px4_vision_kit.md index a6dea32c08b1..402f18b940c6 100644 --- a/ru/complete_vehicles/px4_vision_kit.md +++ b/ru/complete_vehicles/px4_vision_kit.md @@ -239,7 +239,7 @@ To flash the USB image to the *UP Core*: 1. [Login to the companion computer](#login_mission_computer) (as described above). 1. Open a terminal and run the following command to copy the image onto internal memory (eMMC). The terminal will prompt for a number of responses during the flashing process. ```sh - cd ~/catkin_ws/src/px4vision_ros + cd ~/catkin_ws/src/px4vision_ros/tools sudo ./flash_emmc.sh ``` diff --git a/ru/flight_controller/pixhawk6x.md b/ru/flight_controller/pixhawk6x.md index 5451597e8e0a..ac2481fca4ea 100644 --- a/ru/flight_controller/pixhawk6x.md +++ b/ru/flight_controller/pixhawk6x.md @@ -48,7 +48,7 @@ The Pixhawk®​ 6X is perfect for developers at corporate research labs, startu * IO Processor: STM32F100 * 32 Bit Arm® Cortex®-M3, 24MHz, 8KB SRAM * On-board sensors - * Accel/Gyro: ICM-20649 + * Accel/Gyro: ICM-20649 or BMI088 * Accel/Gyro: ICM-42688-P * Accel/Gyro: ICM-42670-P * Mag: BMM150 diff --git a/ru/tutorials/video_streaming_wifi_broadcast.md b/ru/tutorials/video_streaming_wifi_broadcast.md index 936150e777a7..d74f8a8e3dea 100644 --- a/ru/tutorials/video_streaming_wifi_broadcast.md +++ b/ru/tutorials/video_streaming_wifi_broadcast.md @@ -53,7 +53,7 @@ Alpha AWUS036ACH is a medium power card that uses a lot of current while transmi For **Raspberry PI** (UAV or ground) it must be directly connected to 5V BEC (or high current power adapter in case of ground pi) in one of two ways: -- Make a custom USB cable ([cut `+5V` wire from USB plug and connect it to BEC])(https://electronics.stackexchange.com/questions/218500/usb-charge-and-data-separate-cables) +- Make a custom USB cable [(cut `+5V` wire from USB plug and connect it to BEC)](https://electronics.stackexchange.com/questions/218500/usb-charge-and-data-separate-cables) - Cut a `+5V` wire on PCB near USB port and wire it to BEC (don't do this if doubt - use custom cable instead). You must also add a 470uF **low ESR capacitor** (like ESC has) between **card +5v and ground** to filter voltage spikes. You should integrate the capacitor with a custom USB cable. Without the capacitor you can get packet corruption or packet loss. Be aware of [ground loop](https://en.wikipedia.org/wiki/Ground_loop_%28electricity%29) when using several ground wires. @@ -72,7 +72,9 @@ You must also add a 470uF **low ESR capacitor** (like ESC has) between **card +5 ### Using a Linux Laptop as GCS (Harder than using a RasPi) 1. On **ground** Linux development computer: ``` - sudo apt install libpcap-dev libsodium-dev python3-all python3-twisted + sudo apt install python3-all libpcap-dev libsodium-dev python3-pip python3-pyroute2 \ + python3-future python3-twisted python3-serial iw virtualenv \ + debhelper dh-python build-essential -y git clone -b stable https://github.com/svpcom/wfb-ng.git cd wfb-ng && make deb && sudo apt install ./deb_dist/wfb-ng*.deb ``` @@ -135,5 +137,7 @@ You can use any other Linux ARM board, but you need to use an Ethernet or USB ca ## Theory -WFB-ng puts the WiFi cards into monitor mode. This mode allows to send and receive arbitrary packets without association and waiting for ACK packets. [Analysis of Injection Capabilities and Media Access of IEEE 802.11 Hardware in Monitor Mode](https://github.com/svpcom/wfb-ng/blob/master/doc/Analysis%20of%20Injection%20Capabilities%20and%20Media%20Access%20of%20IEEE%20802.11%20Hardware%20in%20Monitor%20Mode.pdf) [802.11 timings](https://github.com/ewa/802.11-data) +WFB-ng puts the WiFi cards into monitor mode. This mode allows to send and receive arbitrary packets without association and waiting for ACK packets. +- [Analysis of Injection Capabilities and Media Access of IEEE 802.11 Hardware in Monitor Mode](https://github.com/svpcom/wfb-ng/blob/master/doc/Analysis%20of%20Injection%20Capabilities%20and%20Media%20Access%20of%20IEEE%20802.11%20Hardware%20in%20Monitor%20Mode.pdf) +- [802.11 timings](https://github.com/ewa/802.11-data) diff --git a/tr/advanced_config/land_detector.md b/tr/advanced_config/land_detector.md index edbee6c9269e..db5eb0a360cc 100644 --- a/tr/advanced_config/land_detector.md +++ b/tr/advanced_config/land_detector.md @@ -13,7 +13,7 @@ You can set [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISA The complete set of relevant landing detector parameters are listed in the parameter reference with the prefix [LNDMC](../advanced_config/parameter_reference.md#land-detector) (these can be edited in QGroundControl via the [parameter editor](../advanced_config/parameters.md)). :::tip -Information about how the parameters affect landing can be found below in [Land Detector States](#states). +Information about how the parameters affect landing can be found below in [Land Detector States](#mc-land-detector-states). ::: Other key parameters that you may need to tune in order to improve landing behaviour on particular airframes are: @@ -25,44 +25,38 @@ Incorrectly setting `MPC_THR_HOVER` may result in ground-contact or maybe-landed ::: * [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN) - the overall minimum throttle of the system. This should be set to enable a controlled descent. +* [MPC_LAND_CRWL](../advanced_config/parameter_reference.md#MPC_LAND_CRWL) - the vertical speed applied in the last stage of autonomous landing if the system has a distance sensor and it is present and working. Has to be set larger than LNDMC_Z_VEL_MAX. -## Fixed Wing Configuration - -The complete set of relevant parameters is available under the [LNDFW](../advanced_config/parameter_reference.md#land-detector) prefix. These two parameters are sometimes worth tuning: - -* [LNDFW_AIRSPD_MAX](../advanced_config/parameter_reference.md#LNDFW_AIRSPD_MAX) - the maximum airspeed allowed for the system still to be considered landed. The default of 8 m/s is a reliable tradeoff between airspeed sensing accuracy and triggering fast enough. Better airspeed sensors should allow lower values of this parameter. -* [LNDFW_VEL_XY_MAX ](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX) - the maximum horizontal velocity for the system to be still be considered landed. -* [LNDFW_VEL_Z_MAX](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX) - the maximum vertical velocity for the system to be still be considered landed. This parameter can be adjusted to ensure land detection triggers earlier or later on throwing the airframe for hand-launches. - - - -## Land Detector States - -### Multicopter Land Detection +### MC Land Detector States In order to detect landing, the multicopter first has to go through three different states, where each state contains the conditions from the previous states plus tighter constraints. If a condition cannot be reached because of missing sensors, then the condition is true by default. For instance, in [Acro mode](../flight_modes/acro_mc.md) and no sensor is active except for the gyro sensor, then the detection solely relies on thrust output and time. -In order to proceed to the next state, each condition has to be true for some predefined time. If one condition fails, the land detector drops out of the current state immediately. +In order to proceed to the next state, each condition has to be true for a third of the configured total land detector trigger time [LNDMC_TRIG_TIME](../advanced_config/parameter_reference.md#LNDMC_TRIG_TIME). If the vehicle is equipped with a distance sensor, but the distance to ground is currently not measurable (usually because it is too large), the trigger time is increased by a factor of 3. + +If one condition fails, the land detector drops out of the current state immediately. #### Ground Contact -This state is reached if following conditions are true for 0.35 seconds: +Conditions for this state: - no vertical movement ([LNDMC_Z_VEL_MAX](../advanced_config/parameter_reference.md#LNDMC_Z_VEL_MAX)) - no horizontal movement ([LNDMC_XY_VEL_MAX](../advanced_config/parameter_reference.md#LNDMC_XY_VEL_MAX)) -- lower thrust than [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN) + ([MPC_THR_HOVER](../advanced_config/parameter_reference.md#MPC_THR_HOVER) - [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN)) * (0.3, unless a hover thrust estimate is available, then 0.6), or velocity setpoint is 0.9 of land speed but vehicle has no vertical movement. +- lower thrust than [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN) + (hover throttle - [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN)) * (0.3, unless a hover thrust estimate is available, then 0.6), +- additional check if vehicle is currently in a height-rate controlled flight mode: the vehicle has to have the intent to descend (vertical velocity setpoint above LNDMC_Z_VEL_MAX). +- additional check for vehicles with a distance sensor: current distance to ground is below 1m. If the vehicle is in position- or velocity-control and ground contact was detected, the position controller will set the thrust vector along the body x-y-axis to zero. #### Maybe Landed -This state is reached if following conditions are true for 0.25 seconds: +Conditions for this state: -- all conditions of ground contact are true +- all conditions of the [ground contact](#ground-contact) state are true - is not rotating ([LNDMC_ROT_MAX](../advanced_config/parameter_reference.md#LNDMC_ROT_MAX)) - has low thrust `MPC_THR_MIN + (MPC_THR_HOVER - MPC_THR_MIN) * 0.1` +- no freefall detected If the vehicle only has knowledge of thrust and angular rate, in order to proceed to the next state the vehicle has to have low thrust and no rotation for 8.0 seconds. @@ -71,5 +65,25 @@ If the vehicle is in position or velocity control and maybe landed was detected, #### Landed -This state is reached if following conditions are true for 0.3 seconds: -- all conditions of maybe landed are true +Conditions for this state: +- all conditions of the [maybe landed](#maybe-landed) state are true + + +## Fixed-wing Configuration + +Tuning parameters for fixed-wing land detection: + +* [LNDFW_AIRSPD_MAX](../advanced_config/parameter_reference.md#LNDFW_AIRSPD_MAX) - the maximum airspeed allowed for the system still to be considered landed. Has to be a tradeoff between airspeed sensing accuracy and triggering fast enough. Better airspeed sensors should allow lower values of this parameter. +* [LNDFW_VEL_XY_MAX ](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX) - the maximum horizontal velocity for the system to be still be considered landed. +* [LNDFW_VEL_Z_MAX](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX) - the maximum vertical velocity for the system to be still be considered landed. +* [LNDFW_XYACC_MAX](../advanced_config/parameter_reference.md#LNDFW_XYACC_MAX) - the maximal horizontal acceleration for the system to still be considered landed. +* [LNDFW_TRIG_TIME](../advanced_config/parameter_reference.md#LNDFW_TRIG_TIME) - Trigger time during which the conditions above have to be fulfilled to declare a landing. + +:::note +When FW launch detection is enabled ([FW_LAUN_DETCN_ON](../advanced_config/parameter_reference.md#FW_LAUN_DETCN_ON)), the vehicle will stay in "landed" state until takeoff is detected (which is purely based on acceleration and not velocity). +::: + + +## VTOL Land Detector + +The VTOL land detector is 1:1 the same as the MC land detector if the system is in hover mode. In FW mode, land detection is disabled. diff --git a/tr/complete_vehicles/px4_vision_kit.md b/tr/complete_vehicles/px4_vision_kit.md index a6dea32c08b1..402f18b940c6 100644 --- a/tr/complete_vehicles/px4_vision_kit.md +++ b/tr/complete_vehicles/px4_vision_kit.md @@ -239,7 +239,7 @@ To flash the USB image to the *UP Core*: 1. [Login to the companion computer](#login_mission_computer) (as described above). 1. Open a terminal and run the following command to copy the image onto internal memory (eMMC). The terminal will prompt for a number of responses during the flashing process. ```sh - cd ~/catkin_ws/src/px4vision_ros + cd ~/catkin_ws/src/px4vision_ros/tools sudo ./flash_emmc.sh ``` diff --git a/tr/flight_controller/pixhawk6x.md b/tr/flight_controller/pixhawk6x.md index 5451597e8e0a..ac2481fca4ea 100644 --- a/tr/flight_controller/pixhawk6x.md +++ b/tr/flight_controller/pixhawk6x.md @@ -48,7 +48,7 @@ The Pixhawk®​ 6X is perfect for developers at corporate research labs, startu * IO Processor: STM32F100 * 32 Bit Arm® Cortex®-M3, 24MHz, 8KB SRAM * On-board sensors - * Accel/Gyro: ICM-20649 + * Accel/Gyro: ICM-20649 or BMI088 * Accel/Gyro: ICM-42688-P * Accel/Gyro: ICM-42670-P * Mag: BMM150 diff --git a/tr/tutorials/video_streaming_wifi_broadcast.md b/tr/tutorials/video_streaming_wifi_broadcast.md index 936150e777a7..d74f8a8e3dea 100644 --- a/tr/tutorials/video_streaming_wifi_broadcast.md +++ b/tr/tutorials/video_streaming_wifi_broadcast.md @@ -53,7 +53,7 @@ Alpha AWUS036ACH is a medium power card that uses a lot of current while transmi For **Raspberry PI** (UAV or ground) it must be directly connected to 5V BEC (or high current power adapter in case of ground pi) in one of two ways: -- Make a custom USB cable ([cut `+5V` wire from USB plug and connect it to BEC])(https://electronics.stackexchange.com/questions/218500/usb-charge-and-data-separate-cables) +- Make a custom USB cable [(cut `+5V` wire from USB plug and connect it to BEC)](https://electronics.stackexchange.com/questions/218500/usb-charge-and-data-separate-cables) - Cut a `+5V` wire on PCB near USB port and wire it to BEC (don't do this if doubt - use custom cable instead). You must also add a 470uF **low ESR capacitor** (like ESC has) between **card +5v and ground** to filter voltage spikes. You should integrate the capacitor with a custom USB cable. Without the capacitor you can get packet corruption or packet loss. Be aware of [ground loop](https://en.wikipedia.org/wiki/Ground_loop_%28electricity%29) when using several ground wires. @@ -72,7 +72,9 @@ You must also add a 470uF **low ESR capacitor** (like ESC has) between **card +5 ### Using a Linux Laptop as GCS (Harder than using a RasPi) 1. On **ground** Linux development computer: ``` - sudo apt install libpcap-dev libsodium-dev python3-all python3-twisted + sudo apt install python3-all libpcap-dev libsodium-dev python3-pip python3-pyroute2 \ + python3-future python3-twisted python3-serial iw virtualenv \ + debhelper dh-python build-essential -y git clone -b stable https://github.com/svpcom/wfb-ng.git cd wfb-ng && make deb && sudo apt install ./deb_dist/wfb-ng*.deb ``` @@ -135,5 +137,7 @@ You can use any other Linux ARM board, but you need to use an Ethernet or USB ca ## Theory -WFB-ng puts the WiFi cards into monitor mode. This mode allows to send and receive arbitrary packets without association and waiting for ACK packets. [Analysis of Injection Capabilities and Media Access of IEEE 802.11 Hardware in Monitor Mode](https://github.com/svpcom/wfb-ng/blob/master/doc/Analysis%20of%20Injection%20Capabilities%20and%20Media%20Access%20of%20IEEE%20802.11%20Hardware%20in%20Monitor%20Mode.pdf) [802.11 timings](https://github.com/ewa/802.11-data) +WFB-ng puts the WiFi cards into monitor mode. This mode allows to send and receive arbitrary packets without association and waiting for ACK packets. +- [Analysis of Injection Capabilities and Media Access of IEEE 802.11 Hardware in Monitor Mode](https://github.com/svpcom/wfb-ng/blob/master/doc/Analysis%20of%20Injection%20Capabilities%20and%20Media%20Access%20of%20IEEE%20802.11%20Hardware%20in%20Monitor%20Mode.pdf) +- [802.11 timings](https://github.com/ewa/802.11-data) diff --git a/zh/advanced_config/land_detector.md b/zh/advanced_config/land_detector.md index 0a7207a578ab..6ff9821c6d92 100644 --- a/zh/advanced_config/land_detector.md +++ b/zh/advanced_config/land_detector.md @@ -13,7 +13,7 @@ 所有的关于着陆探测器的参数集在参数索引中列出,带有前缀 [LNDMC](../advanced_config/parameter_reference.md#land-detector) (可以通过[参数编辑器](../advanced_config/parameters.md)在 QGroundControl 中编辑这些参数)。 :::tip -关于参数如何影响着着陆的信息可以在下面的 [Land Detor States](#states) 中找到。 +Information about how the parameters affect landing can be found below in [Land Detector States](#mc-land-detector-states). ::: 为了改善特定机架上的着陆,您可能需要调整的其他关键参数包括: @@ -25,44 +25,38 @@ ::: * [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN)-系统的全局最小油门。 应该将其设置为可控的下降 +* [MPC_LAND_CRWL](../advanced_config/parameter_reference.md#MPC_LAND_CRWL) - the vertical speed applied in the last stage of autonomous landing if the system has a distance sensor and it is present and working. Has to be set larger than LNDMC_Z_VEL_MAX. -## 固定翼配置 - -完整的相关参数集可在 [LNDFW](../advanced_config/parameter_reference.md#land-detector) 前缀下查阅。 这两个参数有时需要调整: - -* [LNDFW_AIRSPD_MAX](../advanced_config/parameter_reference.md#LNDFW_AIRSPD_MAX)----飞机降落时允许的最大空速。 默认值 8 m 是,在空速传感器精度和足够快的触发速度之间权衡后,一个合适的设定值。 越好的空速传感器允许此参数的值越低。 -* [ LNDFW_VEL_XY_MAX ](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX)-是着陆时系统的最大水平速度,这应当被考虑,从而选择一个合适的值。 -* [ LNDFW_VEL_Z_MAX](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX)-是着陆时系统的最大垂直速度,这应当被考虑,从而选择一个合适的值。 可以调整此参数,以确保着陆探测器触发早于或者晚于将飞机手动投掷。 - - - -## 着陆探测器状态 - -### 多旋翼着陆检测 +### MC Land Detector States 为了探测着陆,多旋翼首先必须经历三个不同的状态,其中每个状态都包含来自先前状态的条件以及更严格的约束。 如果由于缺少传感器而无法达到条件,则默认情况下认为该条件为真。 例如,在[ 特技模式 ](../flight_modes/acro_mc.md)中并且除了陀螺仪传感器之外没有传感器处于活动状态,则检测仅依赖于推力输出和时间。 -为了进入下一个状态,每个条件必须在某个预定义的时间内为真。 如果一个条件失败,则陆地探测器立即退出当前状态。 +In order to proceed to the next state, each condition has to be true for a third of the configured total land detector trigger time [LNDMC_TRIG_TIME](../advanced_config/parameter_reference.md#LNDMC_TRIG_TIME). If the vehicle is equipped with a distance sensor, but the distance to ground is currently not measurable (usually because it is too large), the trigger time is increased by a factor of 3. + +如果一个条件失败,则陆地探测器立即退出当前状态。 #### 地面接触 -如果满足以下条件达到 0.35 秒,则进入此状态: +Conditions for this state: - 没有垂直运动 ([LNDMC_Z_VEL_MAX](../advanced_config/parameter_reference.md#LNDMC_Z_VEL_MAX)) - 没有水平运动 ([LNDMC_XY_VEL_MAX](../advanced_config/parameter_reference.md#LNDMC_XY_VEL_MAX)) -- 推力低于 [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN) + ([MPPC_THR_HOVER](../advanced_config/parameter_reference.md#MPC_THR_HOVER) - [MPPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN)) * (0.3 除非有悬停推理估计,否则 0.6), 或速度设定点是着陆速度的 0.9, 但车辆没有垂直移动。 +- lower thrust than [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN) + (hover throttle - [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN)) * (0.3, unless a hover thrust estimate is available, then 0.6), +- additional check if vehicle is currently in a height-rate controlled flight mode: the vehicle has to have the intent to descend (vertical velocity setpoint above LNDMC_Z_VEL_MAX). +- additional check for vehicles with a distance sensor: current distance to ground is below 1m. 如果飞行器处于位置控制或速度控制并且检测到地面接触,位置控制器会将沿飞行器 x-y 轴的推力矢量设置为零。 #### 可能着陆 -如果满足以下条件达到 0.25 秒,则进入此状态: +Conditions for this state: -- 所有的地面接触条件都是真 +- all conditions of the [ground contact](#ground-contact) state are true - 没有滚动运动 ([LNDMC_Z_VEL_MAX](../advanced_config/parameter_reference.md#LNDMC_ROT_MAX)) - 具有低推力 `MPC_THR_MIN + (MPC_THR_HOVER - MPC_THR_MIN) * 0.1` +- no freefall detected 如果飞行器只知道推力和角速度,为了进入下一个状态,飞行器必须具有较低的推力(油门)和非旋转状态达到 8.0 秒。 @@ -71,5 +65,25 @@ #### 降落完成 -如果满足以下条件达到 0.3 秒,则进入此状态: -- 所有的可能着陆条件均为真 +Conditions for this state: +- all conditions of the [maybe landed](#maybe-landed) state are true + + +## Fixed-wing Configuration + +Tuning parameters for fixed-wing land detection: + +* [LNDFW_AIRSPD_MAX](../advanced_config/parameter_reference.md#LNDFW_AIRSPD_MAX)----飞机降落时允许的最大空速。 Has to be a tradeoff between airspeed sensing accuracy and triggering fast enough. 越好的空速传感器允许此参数的值越低。 +* [ LNDFW_VEL_XY_MAX ](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX)-是着陆时系统的最大水平速度,这应当被考虑,从而选择一个合适的值。 +* [ LNDFW_VEL_Z_MAX](../advanced_config/parameter_reference.md#LNDFW_VEL_XY_MAX)-是着陆时系统的最大垂直速度,这应当被考虑,从而选择一个合适的值。 +* [LNDFW_XYACC_MAX](../advanced_config/parameter_reference.md#LNDFW_XYACC_MAX) - the maximal horizontal acceleration for the system to still be considered landed. +* [LNDFW_TRIG_TIME](../advanced_config/parameter_reference.md#LNDFW_TRIG_TIME) - Trigger time during which the conditions above have to be fulfilled to declare a landing. + +:::note +When FW launch detection is enabled ([FW_LAUN_DETCN_ON](../advanced_config/parameter_reference.md#FW_LAUN_DETCN_ON)), the vehicle will stay in "landed" state until takeoff is detected (which is purely based on acceleration and not velocity). +::: + + +## VTOL Land Detector + +The VTOL land detector is 1:1 the same as the MC land detector if the system is in hover mode. In FW mode, land detection is disabled. diff --git a/zh/complete_vehicles/px4_vision_kit.md b/zh/complete_vehicles/px4_vision_kit.md index 459193e0f0a9..e6dc8b9ddc13 100644 --- a/zh/complete_vehicles/px4_vision_kit.md +++ b/zh/complete_vehicles/px4_vision_kit.md @@ -239,7 +239,7 @@ To flash the USB image to the *UP Core*: ```sh - cd ~/catkin_ws/src/px4vision_ros + cd ~/catkin_ws/src/px4vision_ros/tools sudo ./flash_emmc.sh ``` diff --git a/zh/flight_controller/pixhawk6x.md b/zh/flight_controller/pixhawk6x.md index 5451597e8e0a..ac2481fca4ea 100644 --- a/zh/flight_controller/pixhawk6x.md +++ b/zh/flight_controller/pixhawk6x.md @@ -48,7 +48,7 @@ The Pixhawk®​ 6X is perfect for developers at corporate research labs, startu * IO Processor: STM32F100 * 32 Bit Arm® Cortex®-M3, 24MHz, 8KB SRAM * On-board sensors - * Accel/Gyro: ICM-20649 + * Accel/Gyro: ICM-20649 or BMI088 * Accel/Gyro: ICM-42688-P * Accel/Gyro: ICM-42670-P * Mag: BMM150 diff --git a/zh/tutorials/video_streaming_wifi_broadcast.md b/zh/tutorials/video_streaming_wifi_broadcast.md index 2e12bac98b13..14ed1dbdfbaa 100644 --- a/zh/tutorials/video_streaming_wifi_broadcast.md +++ b/zh/tutorials/video_streaming_wifi_broadcast.md @@ -53,7 +53,7 @@ Alpha AWUS036ACH is a medium power card that uses a lot of current while transmi For **Raspberry PI** (UAV or ground) it must be directly connected to 5V BEC (or high current power adapter in case of ground pi) in one of two ways: -- Make a custom USB cable ([cut `+5V` wire from USB plug and connect it to BEC])(https://electronics.stackexchange.com/questions/218500/usb-charge-and-data-separate-cables) +- Make a custom USB cable [(cut `+5V` wire from USB plug and connect it to BEC)](https://electronics.stackexchange.com/questions/218500/usb-charge-and-data-separate-cables) - Cut a `+5V` wire on PCB near USB port and wire it to BEC. Don't do this if doubt. Use custom cable instead! Also I suggest to add 470uF low ESR capacitor (like ESC has) between power and ground to filter voltage spikes. Be aware of [ground loop](https://en.wikipedia.org/wiki/Ground_loop_%28electricity%29) when using several ground wires. You must also add a 470uF **low ESR capacitor** (like ESC has) between **card +5v and ground** to filter voltage spikes. You should integrate the capacitor with a custom USB cable. Without the capacitor you can get packet corruption or packet loss. 使用多根地线时,请注意 [ground loop](https://en.wikipedia.org/wiki/Ground_loop_%28electricity%29)。 @@ -72,7 +72,9 @@ You must also add a 470uF **low ESR capacitor** (like ESC has) between **card +5 ### Using a Linux Laptop as GCS (Harder than using a RasPi) 1. On **ground** Linux development computer: ``` - sudo apt install libpcap-dev libsodium-dev python3-all python3-twisted + sudo apt install python3-all libpcap-dev libsodium-dev python3-pip python3-pyroute2 \ + python3-future python3-twisted python3-serial iw virtualenv \ + debhelper dh-python build-essential -y git clone -b stable https://github.com/svpcom/wfb-ng.git cd wfb-ng && make deb && sudo apt install ./deb_dist/wfb-ng*.deb ``` @@ -135,5 +137,7 @@ You can use any other Linux ARM board, but you need to use an Ethernet or USB ca ## Theory -WFB-ng puts the WiFi cards into monitor mode. This mode allows to send and receive arbitrary packets without association and waiting for ACK packets. [Analysis of Injection Capabilities and Media Access of IEEE 802.11 Hardware in Monitor Mode](https://github.com/svpcom/wfb-ng/blob/master/doc/Analysis%20of%20Injection%20Capabilities%20and%20Media%20Access%20of%20IEEE%20802.11%20Hardware%20in%20Monitor%20Mode.pdf) [802.11 timings](https://github.com/ewa/802.11-data) +WFB-ng puts the WiFi cards into monitor mode. This mode allows to send and receive arbitrary packets without association and waiting for ACK packets. +- [Analysis of Injection Capabilities and Media Access of IEEE 802.11 Hardware in Monitor Mode](https://github.com/svpcom/wfb-ng/blob/master/doc/Analysis%20of%20Injection%20Capabilities%20and%20Media%20Access%20of%20IEEE%20802.11%20Hardware%20in%20Monitor%20Mode.pdf) +- [802.11 timings](https://github.com/ewa/802.11-data)