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
parent 7fb8ea051f
commit 87559f717b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 222 additions and 37 deletions

View File

@ -851,8 +851,10 @@
- [测试 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_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_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)
- [Fuzz Tests](test_and_ci/fuzz_tests.md)
- [持续集成](test_and_ci/continous_integration.md)

View File

@ -1,7 +1,7 @@
# 系统启动
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).
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 运行的操作系统将本文后续内容分成了如下各小节。
## 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).
为了使 PX4 可以在 Posix 中正常运行,需要做到以下几点:

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.
- [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.
- [yule_log](https://crates.io/crates/yule_log): A streaming ULog parser written in Rust.
## 文件格式版本历史

View File

@ -2,15 +2,15 @@
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
- [Mac OS](../dev_setup/dev_env_mac.md)
- [macOS](../dev_setup/dev_env_mac.md)
## 支持的编译目标
下表显示了您可以在每个操作系统上构建何种 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; |
| **Linux-based hardware:** [Raspberry Pi 2/3](../flight_controller/raspberry_pi_navio2.md) | &check; | | |

View File

@ -1,4 +1,4 @@
# Mac 上的开发环境
# macOS Development Environment
MacOS 是受支持的 PX4 开发平台。
根据本文的指示构建的开发环境可以用编译:
@ -22,8 +22,8 @@ The "base" macOS setup installs the tools needed for building firmware, and incl
### Environment Setup
:::details
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:
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:
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**.
@ -50,7 +50,7 @@ First set up the environment
2. Enforce Python 3 by appending the following lines to `~/.zshenv`
```sh
# Point pip3 to MacOS system python 3 pip
# Point pip3 to macOS system python 3 pip
alias pip3=/usr/bin/pip3
```

View File

@ -1,6 +1,6 @@
# ROS 2 Offboard 控制示例
以下的 C++ 示例展示了如何在 [离板模式] (../flight_modes/offboard.md) 中从 ROS 2 节点进行多轴位置控制。
以下的 C++ 示例展示了如何在[offboard mode](../flight_modes/offboard.md) 中从 ROS 2 节点进行多轴位置控制。
示例将首先发送设置点、进入offboard模式、解锁、起飞至5米并悬停等待。
虽然简单但它显示了如何使用offboard控制以及如何向无人机发送指令。
@ -13,18 +13,18 @@ _Offboard_ control is dangerous.
:::
:::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坐标系下发布位置。
若要订阅来自在不同框架内发布的节点的数据(例如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
运行 ROS 2 节点前,请确保 QGC已连接到 PX4。
@ -42,14 +42,14 @@ ROS 与 PX4 存在若干不同的预设(假设),尤其是在坐标系约
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
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
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
[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)以及他们的参数值
:::

View File

@ -24,7 +24,7 @@ Experimental
这些类对 PX4 所使用的内部设定点进行了抽象处理,因此可用于为未来的 PX4 和 ROS 版本提供统一的 ROS 2 接口。
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)
## 综述

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_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_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_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)

View File

@ -2,25 +2,23 @@
## Objective
To test that optical flow works as expected
Test that optical flow works as expected
## Preflight
Disconnect all GPS / compasses and ensure vehicle is using optical flow for navigation
([Setup Information here](../sensor/optical_flow.md))
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
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`
- [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
Altitude flight mode
[Altitude mode](../flight_modes_mc/altitude.md)
&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
Position flight mode
[Position mode](../flight_modes_mc/position.md)
&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
❏ 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%
@ -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 position within 1 meter in Position Flight mode without pilot moving sticks
- Drone should hold altitude in Altitude mode without wandering (over surface with many features)
- Drone should hold position within 1 meter in Position mode without pilot moving sticks
- 在上述任何飞行模式中都不应出现振荡
- Drone should not raise in height when flying over boxes
- 着陆时,直升机不应在地面上反弹

View File

@ -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

View File

@ -6,22 +6,22 @@ Regression test for DSHOT working with PX4
## 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_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
## 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;❏ 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
@ -41,6 +41,6 @@ Regression test for DSHOT working with PX4
- Download flight logs
- 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)

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
- 在上述任何飞行模式中都不应出现振荡
- 着陆时,直升机不应在地面上反弹

View File

@ -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
- 在上述任何飞行模式中都不应出现振荡