New Crowdin translations - zh-CN (#25747)

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
This commit is contained in:
PX4 Build Bot
2025-10-13 09:08:22 +11:00
committed by GitHub
co-authored by Crowdin Bot
parent 7fb8ea051f
commit 87559f717b
13 changed files with 222 additions and 37 deletions
+3 -1
View File
@@ -851,8 +851,10 @@
- [测试 MC_04 -故障安全测试](test_cards/mc_04_failsafe_testing.md) - [测试 MC_04 -故障安全测试](test_cards/mc_04_failsafe_testing.md)
- [Test MC_05 - Manual Modes (Inside)](test_cards/mc_05_indoor_flight_manual_modes.md) - [Test MC_05 - Manual Modes (Inside)](test_cards/mc_05_indoor_flight_manual_modes.md)
- [Test MC_06 - Optical Flow (Inside)](test_cards/mc_06_optical_flow.md) - [Test MC_06 - Optical Flow (Inside)](test_cards/mc_06_optical_flow.md)
- [Test MC_07 - VIO (Inside)](test_cards/mc_07_vio.md) - [Test MC_07 - Optical Flow Low Mount](test_cards/mc_07_optical_flow_low_mount.md)
- [Test MC_08 - DSHOT ESC](test_cards/mc_08_dshot.md) - [Test MC_08 - DSHOT ESC](test_cards/mc_08_dshot.md)
- [Test MC_09 - VIO (Visual-Inertial Odometry)](test_cards/mc_09_vio.md)
- [Test MC_10 - Optical Flow / GPS Mixed](test_cards/mc_10_optical_flow_gps_mixed.md)
- [单元测试](test_and_ci/unit_tests.md) - [单元测试](test_and_ci/unit_tests.md)
- [Fuzz Tests](test_and_ci/fuzz_tests.md) - [Fuzz Tests](test_and_ci/fuzz_tests.md)
- [持续集成](test_and_ci/continous_integration.md) - [持续集成](test_and_ci/continous_integration.md)
+2 -2
View File
@@ -1,7 +1,7 @@
# 系统启动 # 系统启动
PX4 系统的启动由 shell 脚本文件控制。 PX4 系统的启动由 shell 脚本文件控制。
On NuttX they reside in the [ROMFS/px4fmu_common/init.d](https://github.com/PX4/PX4-Autopilot/tree/main/ROMFS/px4fmu_common/init.d) folder - some of these are also used on Posix (Linux/MacOS). On NuttX they reside in the [ROMFS/px4fmu_common/init.d](https://github.com/PX4/PX4-Autopilot/tree/main/ROMFS/px4fmu_common/init.d) folder - some of these are also used on Posix (Linux/macOS).
The scripts that are only used on Posix are located in [ROMFS/px4fmu_common/init.d-posix](https://github.com/PX4/PX4-Autopilot/tree/main/ROMFS/px4fmu_common/init.d-posix). The scripts that are only used on Posix are located in [ROMFS/px4fmu_common/init.d-posix](https://github.com/PX4/PX4-Autopilot/tree/main/ROMFS/px4fmu_common/init.d-posix).
All files starting with a number and underscore (e.g. `10000_airplane`) are predefined airframe configurations. All files starting with a number and underscore (e.g. `10000_airplane`) are predefined airframe configurations.
@@ -13,7 +13,7 @@ The first executed file is the [init.d/rcS](https://github.com/PX4/PX4-Autopilot
根据 PX4 运行的操作系统将本文后续内容分成了如下各小节。 根据 PX4 运行的操作系统将本文后续内容分成了如下各小节。
## POSIX (Linux/MacOS) ## POSIX (Linux/macOS)
On POSIX, the system shell is used as script interpreter (e.g. /bin/sh, being symlinked to dash on Ubuntu). On POSIX, the system shell is used as script interpreter (e.g. /bin/sh, being symlinked to dash on Ubuntu).
为了使 PX4 可以在 Posix 中正常运行,需要做到以下几点: 为了使 PX4 可以在 Posix 中正常运行,需要做到以下几点:
+1
View File
@@ -502,6 +502,7 @@ Since the Definitions and Data Sections use the same message header format, they
- [ulogreader](https://github.com/maxsun/ulogreader): Javascript, ULog reader and parser outputs log in JSON object format. - [ulogreader](https://github.com/maxsun/ulogreader): Javascript, ULog reader and parser outputs log in JSON object format.
- [Foxglove](https://foxglove.dev): an integrated visualization and diagnosis tool for robotics data that supports ULog files. - [Foxglove](https://foxglove.dev): an integrated visualization and diagnosis tool for robotics data that supports ULog files.
- [TypeScript ULog parser](https://github.com/foxglove/ulog): TypeScript, ULog reader that outputs JS objects. - [TypeScript ULog parser](https://github.com/foxglove/ulog): TypeScript, ULog reader that outputs JS objects.
- [yule_log](https://crates.io/crates/yule_log): A streaming ULog parser written in Rust.
## 文件格式版本历史 ## 文件格式版本历史
+3 -3
View File
@@ -2,15 +2,15 @@
The _supported platforms_ for PX4 development are: The _supported platforms_ for PX4 development are:
- [Ubuntu Linux (22.04/20.04/18.04)](../dev_setup/dev_env_linux_ubuntu.md) — Recommended - [Ubuntu Linux (24.04/22.04)](../dev_setup/dev_env_linux_ubuntu.md) — Recommended
- [Windows (10/11)](../dev_setup/dev_env_windows_wsl.md) — via WSL2 - [Windows (10/11)](../dev_setup/dev_env_windows_wsl.md) — via WSL2
- [Mac OS](../dev_setup/dev_env_mac.md) - [macOS](../dev_setup/dev_env_mac.md)
## 支持的编译目标 ## 支持的编译目标
下表显示了您可以在每个操作系统上构建何种 PX平台的固件编译。 下表显示了您可以在每个操作系统上构建何种 PX平台的固件编译。
| 平台 | Linux (Ubuntu) | Mac | Windows | | 平台 | Linux (Ubuntu) | macOS | Windows |
| ------------------------------------------------------------------------------------------------------------------------------------------------------ | :-------------------------------: | :-------------------------: | :-------------------------: | | ------------------------------------------------------------------------------------------------------------------------------------------------------ | :-------------------------------: | :-------------------------: | :-------------------------: |
| **NuttX based hardware:** [Pixhawk Series](../flight_controller/pixhawk_series.md), [Crazyflie](../complete_vehicles_mc/crazyflie2.md) | &check; | &check; | &check; | | **NuttX based hardware:** [Pixhawk Series](../flight_controller/pixhawk_series.md), [Crazyflie](../complete_vehicles_mc/crazyflie2.md) | &check; | &check; | &check; |
| **Linux-based hardware:** [Raspberry Pi 2/3](../flight_controller/raspberry_pi_navio2.md) | &check; | | | | **Linux-based hardware:** [Raspberry Pi 2/3](../flight_controller/raspberry_pi_navio2.md) | &check; | | |
+4 -4
View File
@@ -1,4 +1,4 @@
# Mac 上的开发环境 # macOS Development Environment
MacOS 是受支持的 PX4 开发平台。 MacOS 是受支持的 PX4 开发平台。
根据本文的指示构建的开发环境可以用编译: 根据本文的指示构建的开发环境可以用编译:
@@ -22,8 +22,8 @@ The "base" macOS setup installs the tools needed for building firmware, and incl
### Environment Setup ### Environment Setup
:::details :::details
Apple Silicon Macbook users! Apple Silicon MacBook users!
If you have an Apple M1, M2 etc. Macbook, make sure to run the terminal as x86 by setting up an x86 terminal: If you have an Apple M1, M2 etc. MacBook, make sure to run the terminal as x86 by setting up an x86 terminal:
1. Locate the Terminal application within the Utilities folder (**Finder > Go menu > Utilities**) 1. Locate the Terminal application within the Utilities folder (**Finder > Go menu > Utilities**)
2. Select _Terminal.app_ and right-click on it, then choose **Duplicate**. 2. Select _Terminal.app_ and right-click on it, then choose **Duplicate**.
@@ -50,7 +50,7 @@ First set up the environment
2. Enforce Python 3 by appending the following lines to `~/.zshenv` 2. Enforce Python 3 by appending the following lines to `~/.zshenv`
```sh ```sh
# Point pip3 to MacOS system python 3 pip # Point pip3 to macOS system python 3 pip
alias pip3=/usr/bin/pip3 alias pip3=/usr/bin/pip3
``` ```
+10 -10
View File
@@ -1,6 +1,6 @@
# ROS 2 Offboard 控制示例 # ROS 2 Offboard 控制示例
以下的 C++ 示例展示了如何在 [离板模式] (../flight_modes/offboard.md) 中从 ROS 2 节点进行多轴位置控制。 以下的 C++ 示例展示了如何在[offboard mode](../flight_modes/offboard.md) 中从 ROS 2 节点进行多轴位置控制。
示例将首先发送设置点、进入offboard模式、解锁、起飞至5米,并悬停等待。 示例将首先发送设置点、进入offboard模式、解锁、起飞至5米,并悬停等待。
虽然简单,但它显示了如何使用offboard控制以及如何向无人机发送指令。 虽然简单,但它显示了如何使用offboard控制以及如何向无人机发送指令。
@@ -13,18 +13,18 @@ _Offboard_ control is dangerous.
::: :::
:::info :::info
ROS 与 PX4 存在若干不同的预设(假设),尤其是在坐标系约定([frame conventions])方面../ros/external_position_estimation.md#reference-frames-and-ros ROS 与 PX4 存在若干不同的预设(假设),尤其是在 [frame conventions](../ros/external_position_estimation.md#reference-frames-and-ros)
当主题发布或订阅时,坐标系类型之间没有隐含转换! 当主题发布或订阅时,坐标系类型之间没有隐含转换!
这个例子按照 PX4 的预期在NED坐标系下发布位置。 这个例子按照 PX4 的预期在NED坐标系下发布位置。
若要订阅来自在不同框架内发布的节点的数据(例如ENU, 这是ROS/ROS 2中的标准参考框架,使用 [frame_transforms](https://github.com/PX4/px4_ros_com/blob/main/src/lib/frame_transforms.cpp)库中的辅助函数。 若要订阅来自在不同框架内发布的节点的数据(例如ENU, 这是ROS/ROS 2中的标准参考框架),使用[frame_transforms](https://github.com/PX4/px4_ros_com/blob/main/src/lib/frame_transforms.cpp)库中的辅助函数。
::: :::
## 小試身手 ## 小试身手
按照 [ROS 2 User Guide](../ros2/user_guide.md)中的说明来安装PX 并运行多轴模拟器,安装ROS 2, 并启动XRCE-DDS代理。 按照 [ROS 2 用户指南](../ros2/user_guide.md)中的说明来安装PX 并运行多轴模拟器,安装ROS 2, 并启动XRCE-DDS代理。
之后,我们可参照 ROS 2 用户指南 > 构建 ROS 2 工作空间 (../ros2/user_guide.md#build-ros-2-workspace)中的相似的步骤来运行这个例子。 之后,我们可参照 [ROS 2 用户指南 > 构建 ROS 2 工作空间](../ros2/user_guide.md#build-ros-2-workspace)中的相似的步骤来运行这个例子。
:::tip :::tip
运行 ROS 2 节点前,请确保 QGC已连接到 PX4。 运行 ROS 2 节点前,请确保 QGC已连接到 PX4。
@@ -42,14 +42,14 @@ ROS 与 PX4 存在若干不同的预设(假设),尤其是在坐标系约
cd ~/ws_offboard_control/src/ cd ~/ws_offboard_control/src/
``` ```
3. 将 px4_msgs 代码仓库克隆到 /src 目录下(每个 ROS 2 PX4 工作空间都需要该仓库!): 3. 将[px4_msgs](https://github.com/PX4/px4_msgs)代码仓库克隆到 /src 目录下(每个 ROS 2 PX4 工作空间都需要该仓库!):
```sh ```sh
git clone https://github.com/PX4/px4_msgs.git git clone https://github.com/PX4/px4_msgs.git
#若未使用 PX4 的 main 分支,请切换到对应的发布分支 # checkout the matching release branch if not using PX4 main.
``` ```
4. 将示例代码仓库 px4_ros_com (https://github.com/PX4/px4_ros_com)克隆到 /src 目录下: 4. 将示例代码仓库 [px4_ros_com](https://github.com/PX4/px4_ros_com)克隆到 /src 目录下:
```sh ```sh
git clone https://github.com/PX4/px4_ros_com.git git clone https://github.com/PX4/px4_ros_com.git
@@ -213,7 +213,7 @@ void OffboardControl::publish_vehicle_command(uint16_t command, float param1, fl
``` ```
:::info :::info
[VehicleCommand](../msg_docs/VehicleCommand.md是命令PX4的最简单和最高效的方式之一。 通过订阅 [VehicleCommandAck](../msg_docs/VehicleCommandAck.md),您也可以确认设置特定命令是否成功。 [VehicleCommand](../msg_docs/VehicleCommand.md) 是命令PX4的最简单和最高效的方式之一。 通过订阅 [VehicleCommandAck](../msg_docs/VehicleCommandAck.md),您也可以确认设置特定命令是否成功。
参数字段和 指令字段对应于 [MAVLink commands](https://mavlink.io/en/messages/common.html#mav_commands)以及他们的参数值 参数字段和 指令字段对应于 [MAVLink commands](https://mavlink.io/en/messages/common.html#mav_commands)以及他们的参数值
::: :::
+1 -1
View File
@@ -24,7 +24,7 @@ Experimental
这些类对 PX4 所使用的内部设定点进行了抽象处理,因此可用于为未来的 PX4 和 ROS 版本提供统一的 ROS 2 接口。 这些类对 PX4 所使用的内部设定点进行了抽象处理,因此可用于为未来的 PX4 和 ROS 版本提供统一的 ROS 2 接口。
PX4 ROS 2 模式相较于 PX4 内部模式,更易于实现和维护,并且在处理能力与既有代码库资源方面,能为开发者提供更丰富的支持。 PX4 ROS 2 模式相较于 PX4 内部模式,更易于实现和维护,并且在处理能力与既有代码库资源方面,能为开发者提供更丰富的支持。
除非该模式属于安全关键型、对时序有严格要求或需要极高的更新速率,或者你的飞行器没有搭载伴随计算机,否则你应优先[考虑使用 PX4 ROS 2 模式,而非 PX4 内部模式](参考链接:../concept/flight_modes.md#internal-vs-external-modes)。 除非该模式属于安全关键型、对时序有严格要求或需要极高的更新速率,或者你的飞行器没有搭载伴随计算机,否则你应优先[考虑使用 PX4 ROS 2 模式,而非 PX4 内部模式](../concept/flight_modes.md#internal-vs-external-modes)。
## 综述 ## 综述
+3 -1
View File
@@ -28,5 +28,7 @@ These are run by the test team as part of release testing, and for more signific
- [MC_04 - Failsafe Testing](../test_cards/mc_04_failsafe_testing.md) - [MC_04 - Failsafe Testing](../test_cards/mc_04_failsafe_testing.md)
- [MC_05 - Indoor Flight (Manual Modes)](../test_cards/mc_05_indoor_flight_manual_modes.md) - [MC_05 - Indoor Flight (Manual Modes)](../test_cards/mc_05_indoor_flight_manual_modes.md)
- [MC_06 - Indoor Flight (Optical Flow)](../test_cards/mc_06_optical_flow.md) - [MC_06 - Indoor Flight (Optical Flow)](../test_cards/mc_06_optical_flow.md)
- [MC_07 - VIO (Visual-Inertial Odometry)](../test_cards/mc_07_vio.md) - [MC_07 - Optical Flow Low Mount](../test_cards/mc_07_optical_flow_low_mount.md)
- [MC_08 - DSHOT ESC](../test_cards/mc_08_dshot.md) - [MC_08 - DSHOT ESC](../test_cards/mc_08_dshot.md)
- [MC_09 - VIO (Visual-Inertial Odometry)](../test_cards/mc_09_vio.md)
- [MC_10 - Optical Flow / GPS Mixed](../test_cards/mc_10_optical_flow_gps_mixed.md)
+19 -10
View File
@@ -2,25 +2,23 @@
## Objective ## Objective
To test that optical flow works as expected Test that optical flow works as expected
## Preflight ## Preflight
Disconnect all GPS / compasses and ensure vehicle is using optical flow for navigation Disconnect all GPS / compasses and ensure vehicle is using optical flow for navigation ([setup information here](../sensor/optical_flow.md))
([Setup Information here](../sensor/optical_flow.md))
Ensure there are no other sources of positioning besides optical flow Ensure there are no other sources of positioning besides optical flow:
- [EKF2_OF_CTRL](../advanced_config/parameter_reference.md#EKF2_OF_CTRL): `1` - [EKF2_OF_CTRL](../advanced_config/parameter_reference.md#EKF2_OF_CTRL): `1`
- [EKF2_GPS_CTRL](../advanced_config/parameter_reference.md#EKF2_GPS_CTRL): `0` - [EKF2_GPS_CTRL](../advanced_config/parameter_reference.md#EKF2_GPS_CTRL): `0`
- [EKF2_EV_CTRL](../advanced_config/parameter_reference.md#EKF2_EV_CTRL): `0` - [EKF2_EV_CTRL](../advanced_config/parameter_reference.md#EKF2_EV_CTRL): `0`
- [SYS_HAS_MAG](../advanced_config/parameter_reference.md#SYS_HAS_MAG): `0`
Ensure that the drone can go into Altitude / Position flight mode while still on the ground Ensure that the drone can go into Altitude / Position mode while still on the ground
## Flight Tests ## Flight Tests
❏ Altitude flight mode ❏ [Altitude mode](../flight_modes_mc/altitude.md)
&nbsp;&nbsp;&nbsp;&nbsp;❏ Vertical position should hold current value with stick centered &nbsp;&nbsp;&nbsp;&nbsp;❏ Vertical position should hold current value with stick centered
@@ -28,7 +26,7 @@ Ensure that the drone can go into Altitude / Position flight mode while still on
&nbsp;&nbsp;&nbsp;&nbsp;❏ Throttle response set to climb/descent rate &nbsp;&nbsp;&nbsp;&nbsp;❏ Throttle response set to climb/descent rate
❏ Position flight mode ❏ [Position mode](../flight_modes_mc/position.md)
&nbsp;&nbsp;&nbsp;&nbsp;❏ Horizontal position should hold current value with stick centered &nbsp;&nbsp;&nbsp;&nbsp;❏ Horizontal position should hold current value with stick centered
@@ -38,6 +36,16 @@ Ensure that the drone can go into Altitude / Position flight mode while still on
&nbsp;&nbsp;&nbsp;&nbsp;❏ Pitch/Roll/Yaw response set to pitch/roll/yaw rates &nbsp;&nbsp;&nbsp;&nbsp;❏ Pitch/Roll/Yaw response set to pitch/roll/yaw rates
❏ Varying height terrain
&nbsp;&nbsp;&nbsp;&nbsp;❏ Put boxes on the ground to create varying heights in terrain
&nbsp;&nbsp;&nbsp;&nbsp;❏ Take off in position mode and fly over the boxes such that the downward facing rangefinder varies in value
&nbsp;&nbsp;&nbsp;&nbsp;❏ Do a few passes with varying amounts of time over the boxes (1-30 seconds if possible)
&nbsp;&nbsp;&nbsp;&nbsp;❏ Drone should not raise in height when flying over boxes
## 降落 ## 降落
❏ Land in either Position or Altitude mode with the throttle below 40% ❏ Land in either Position or Altitude mode with the throttle below 40%
@@ -47,7 +55,8 @@ Ensure that the drone can go into Altitude / Position flight mode while still on
## 预期成果 ## 预期成果
- 当油门升高时,起飞应该是平稳的 - 当油门升高时,起飞应该是平稳的
- Drone should hold altitude in Altitude Flight mode without wandering - Drone should hold altitude in Altitude mode without wandering (over surface with many features)
- Drone should hold position within 1 meter in Position Flight mode without pilot moving sticks - Drone should hold position within 1 meter in Position mode without pilot moving sticks
- 在上述任何飞行模式中都不应出现振荡 - 在上述任何飞行模式中都不应出现振荡
- Drone should not raise in height when flying over boxes
- 着陆时,直升机不应在地面上反弹 - 着陆时,直升机不应在地面上反弹
@@ -0,0 +1,45 @@
# Test MC_07 - Optical Flow Low Sensor
## Objective
Test that optical flow works as expected with a low mounted optical flow sensor
## Preflight
Ensure that the drone's optical flow sensor is mounted more than an inch off of the ground
Ensure that [MPC_THR_MIN](../advanced_config/parameter_reference.md#MPC_THR_MIN) is tuned correctly for landing
Disconnect all GPS / compasses and ensure vehicle is using optical flow for navigation
([Setup Information here](../sensor/optical_flow.md))
Ensure there are no other sources of positioning besides optical flow
- [EKF2_OF_CTRL](../advanced_config/parameter_reference.md#EKF2_OF_CTRL): `1`
- [EKF2_GPS_CTRL](../advanced_config/parameter_reference.md#EKF2_GPS_CTRL): `0`
- [EKF2_EV_CTRL](../advanced_config/parameter_reference.md#EKF2_EV_CTRL): `0`
Ensure that the drone can go into [Position mode](../flight_modes_mc/position.md) while still on the ground
## Flight Tests
❏ [Position mode](../flight_modes_mc/position.md)
&nbsp;&nbsp;&nbsp;&nbsp;❏ Horizontal position should hold current value with stick centered
&nbsp;&nbsp;&nbsp;&nbsp;❏ Vertical position should hold current value with stick centered
&nbsp;&nbsp;&nbsp;&nbsp;❏ Throttle response set to climb/descent rate
&nbsp;&nbsp;&nbsp;&nbsp;❏ Pitch/Roll/Yaw response set to pitch/roll/yaw rates
## 降落
❏ Land in Position mode with the throttle below 40%
❏ Upon touching ground, copter should disarm automatically within 2 seconds (default: see [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISARM_LAND))
## 预期成果
- 当油门升高时,起飞应该是平稳的
- Drone should stay in Position mode, NOT fall into [altitude](../flight_modes_mc/altitude.md) mode
+5 -5
View File
@@ -6,22 +6,22 @@ Regression test for DSHOT working with PX4
## Preflight ## Preflight
- Ensure vehicle is using a DSHOT ESC. - Ensure vehicle is using a DSHOT ESC
- Parameter [DSHOT_BIDIR_EN](../advanced_config/parameter_reference.md#DSHOT_BIDIR_EN) is enabled - Parameter [DSHOT_BIDIR_EN](../advanced_config/parameter_reference.md#DSHOT_BIDIR_EN) is enabled
- Parameter [DSHOT_TEL_CFG](../advanced_config/parameter_reference.md#DSHOT_TEL_CFG) is configured (if ESC supports telemetry) - Parameter [DSHOT_TEL_CFG](../advanced_config/parameter_reference.md#DSHOT_TEL_CFG) is configured (if ESC supports telemetry)
- Parameter [SDLOG_PROFILE](../advanced_config/parameter_reference.md#SDLOG_PROFILE) has Debug (`5`) checked - Parameter [SDLOG_PROFILE](../advanced_config/parameter_reference.md#SDLOG_PROFILE) has Debug (`5`) checked
## Flight Tests ## Flight Tests
❏ Stabilized Flight mode ❏ [Stabilized mode](../flight_modes_mc/manual_stabilized.md)
&nbsp;&nbsp;&nbsp;&nbsp;❏ Takeoff in stabilized flight mode to ensure correct motor spin &nbsp;&nbsp;&nbsp;&nbsp;❏ Takeoff in stabilized mode to ensure correct motor spin
&nbsp;&nbsp;&nbsp;&nbsp;❏ Pitch/Roll/Yaw response 1:1 &nbsp;&nbsp;&nbsp;&nbsp;❏ Pitch/Roll/Yaw response 1:1
&nbsp;&nbsp;&nbsp;&nbsp;❏ Throttle response 1:1 &nbsp;&nbsp;&nbsp;&nbsp;❏ Throttle response 1:1
❏ Position flight mode ❏ [Position mode](../flight_modes_mc/position.md)
&nbsp;&nbsp;&nbsp;&nbsp;❏ Horizontal position should hold current value with stick centered &nbsp;&nbsp;&nbsp;&nbsp;❏ Horizontal position should hold current value with stick centered
@@ -41,6 +41,6 @@ Regression test for DSHOT working with PX4
- Download flight logs - Download flight logs
- Load into Data Plot Juggler - Load into Data Plot Juggler
- Ensure data is logged for esc_status/esc.0x/esc_rpm - Ensure data is logged for `esc_status`/`esc.0x`/`esc_rpm`
![Reference frames](../../assets/test_cards/dshot_log_output.png) ![Reference frames](../../assets/test_cards/dshot_log_output.png)
+52
View File
@@ -0,0 +1,52 @@
# Test MC_09 - VIO (Visual-Inertial Odometry)
## Objective
Test that external vision (VIO) works as expected
## Preflight
Disconnect all GPS / compasses and ensure vehicle is using VIO for navigation
Ensure that the drone can go into [Altitude](../flight_modes_mc/altitude.md) / [Position](../flight_modes_mc/position.md) mode while still on the ground
Ensure there are no other sources of positioning besides VIO:
- [EKF2_OF_CTRL](../advanced_config/parameter_reference.md#EKF2_OF_CTRL): `0`
- [EKF2_GPS_CTRL](../advanced_config/parameter_reference.md#EKF2_GPS_CTRL): `0`
- [EKF2_EV_CTRL](../advanced_config/parameter_reference.md#EKF2_EV_CTRL): `15`
- [SYS_HAS_MAG](../advanced_config/parameter_reference.md#SYS_HAS_MAG): `0`
## Flight Tests
❏ [Altitude mode](../flight_modes_mc/altitude.md)
&nbsp;&nbsp;&nbsp;&nbsp;❏ Vertical position should hold current value with stick centered
&nbsp;&nbsp;&nbsp;&nbsp;❏ Pitch/Roll/Yaw response 1:1
&nbsp;&nbsp;&nbsp;&nbsp;❏ Throttle response set to climb/descent rate
❏ [Position mode](../flight_modes_mc/position.md)
&nbsp;&nbsp;&nbsp;&nbsp;❏ Horizontal position should hold current value with stick centered
&nbsp;&nbsp;&nbsp;&nbsp;❏ Vertical position should hold current value with stick centered
&nbsp;&nbsp;&nbsp;&nbsp;❏ Throttle response set to climb/descent rate
&nbsp;&nbsp;&nbsp;&nbsp;❏ Pitch/Roll/Yaw response set to pitch/roll/yaw rates
## 降落
❏ Land in either Position or Altitude mode with the throttle below 40%
❏ Upon touching ground, copter should disarm automatically within 2 seconds (default: see [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISARM_LAND))
## 预期成果
- 当油门升高时,起飞应该是平稳的
- Drone should hold altitude in Altitude mode without wandering
- Drone should hold position within 1 meter in Position mode without pilot moving sticks
- 在上述任何飞行模式中都不应出现振荡
- 着陆时,直升机不应在地面上反弹
@@ -0,0 +1,74 @@
# Test MC_10 - Optical Flow / GPS Mixed
## Objective
Test that optical flow mixed with GPS works as expected
## Preflight
[Setup optical flow and GPS](../sensor/optical_flow.md)
Ensure there are no other sources of positioning besides optical flow
- [EKF2_OF_CTRL](../advanced_config/parameter_reference.md#EKF2_OF_CTRL): `1`
- [EKF2_GPS_CTRL](../advanced_config/parameter_reference.md#EKF2_GPS_CTRL): `7`
- [EKF2_EV_CTRL](../advanced_config/parameter_reference.md#EKF2_EV_CTRL): `0`
- [SYS_HAS_MAG](../advanced_config/parameter_reference.md#SYS_HAS_MAG): `1`
- [EKF2_HGT_REF](../advanced_config/parameter_reference.md#EKF2_HGT_REF): `1` (GPS)
Ensure that the drone can go into [Altitude](../flight_modes_mc/altitude.md) / [Position](../flight_modes_mc/position.md) mode while still on the ground
## Flight Tests
❏ [Altitude mode](../flight_modes_mc/altitude.md)
&nbsp;&nbsp;&nbsp;&nbsp;❏ Vertical position should hold current value with stick centered
&nbsp;&nbsp;&nbsp;&nbsp;❏ Pitch/Roll/Yaw response 1:1
&nbsp;&nbsp;&nbsp;&nbsp;❏ Throttle response set to climb/descent rate
❏ [Position mode](../flight_modes_mc/position.md)
&nbsp;&nbsp;&nbsp;&nbsp;❏ Horizontal position should hold current value with stick centered
&nbsp;&nbsp;&nbsp;&nbsp;❏ Vertical position should hold current value with stick centered
&nbsp;&nbsp;&nbsp;&nbsp;❏ Throttle response set to climb/descent rate
&nbsp;&nbsp;&nbsp;&nbsp;❏ Pitch/Roll/Yaw response set to pitch/roll/yaw rates
❏ GPS Cutout
&nbsp;&nbsp;&nbsp;&nbsp;❏ Takeoff in position mode in GPS rich environment (outdoors)
&nbsp;&nbsp;&nbsp;&nbsp;❏ Open QGC and navigate to MAVLink Console
&nbsp;&nbsp;&nbsp;&nbsp;❏ Type `gps off` to disable GPS
&nbsp;&nbsp;&nbsp;&nbsp;❏ Drone should maintain position hold via optical flow
❏ GPS Degredation
&nbsp;&nbsp;&nbsp;&nbsp;❏ Takeoff in position mode in GPS rich environment (outdoors)
&nbsp;&nbsp;&nbsp;&nbsp;❏ Fly under a metal surface (or other GPS blocking structure)
&nbsp;&nbsp;&nbsp;&nbsp;❏ Ensure drone does not lose position hold or start drifting
&nbsp;&nbsp;&nbsp;&nbsp;❏ Fly out of metal structure to regain GPS
❏ GPS Acquisition
&nbsp;&nbsp;&nbsp;&nbsp;❏ Takeoff in position mode in non-GPS environment
&nbsp;&nbsp;&nbsp;&nbsp;❏ Fly into a GPS rich environment (outdoors)
&nbsp;&nbsp;&nbsp;&nbsp;❏ Ensure drone acquires GPS position
## 预期成果
- 当油门升高时,起飞应该是平稳的
- Drone should hold position within 1 meter in Position mode without pilot moving sticks
- Drone should hold position in GPS rich environment as well as non-GPS environment
- 在上述任何飞行模式中都不应出现振荡