mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-28 10:46:33 +08:00
New Crowdin translations - zh-CN (#25661)
Container build / Set Tags and Variables (push) Has been cancelled
Container build / Build Container (amd64) (push) Has been cancelled
Container build / Build Container (arm64) (push) Has been cancelled
Container build / Deploy To Registry (push) Has been cancelled
Docs - Deploy PX4 User Guide / build (push) Has been cancelled
Docs - Deploy PX4 User Guide / deploy (push) Has been cancelled
Docs - Deploy PX4 User Guide to AWS / build (push) Has been cancelled
Docs - Deploy PX4 User Guide to AWS / deploy (push) Has been cancelled
Container build / Set Tags and Variables (push) Has been cancelled
Container build / Build Container (amd64) (push) Has been cancelled
Container build / Build Container (arm64) (push) Has been cancelled
Container build / Deploy To Registry (push) Has been cancelled
Docs - Deploy PX4 User Guide / build (push) Has been cancelled
Docs - Deploy PX4 User Guide / deploy (push) Has been cancelled
Docs - Deploy PX4 User Guide to AWS / build (push) Has been cancelled
Docs - Deploy PX4 User Guide to AWS / deploy (push) Has been cancelled
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
This commit is contained in:
@@ -62,6 +62,11 @@ bool thrust_and_torque
|
||||
bool direct_actuator
|
||||
```
|
||||
|
||||
:::warning
|
||||
The following list shows the `OffboardControlMode` options for copter, fixed-wing, and VTOL.
|
||||
For rovers see the [rover section](#rover).
|
||||
:::
|
||||
|
||||
The fields are ordered in terms of priority such that `position` takes precedence over `velocity` and later fields, `velocity` takes precedence over `acceleration`, and so on.
|
||||
第一个非零字段(从上到下) 定义了Offboard模式所需的有效估计以及可用的设定值消息。
|
||||
For example, if the `acceleration` field is the first non-zero value, then PX4 requires a valid `velocity estimate`, and the setpoint must be specified using the `TrajectorySetpoint` message.
|
||||
@@ -90,20 +95,93 @@ Before using offboard mode with ROS 2, please spend a few minutes understanding
|
||||
- Velocity setpoint (`velocity` different from `NaN` and `position` set to `NaN`). Non-`NaN` values acceleration are used as feedforward terms for the inner loop controllers.
|
||||
- Acceleration setpoint (`acceleration` different from `NaN` and `position` and `velocity` set to `NaN`)
|
||||
|
||||
- 所有值都是基于NED(北, 东, 地)坐标系,位置、速度和加速的单位分别为\[m\], \[m/s\] 和\[m/s^2\] 。
|
||||
- All values are interpreted in NED (Nord, East, Down) coordinate system and the units are `[m]`, `[m/s]` and `[m/s^2]` for position, velocity and acceleration, respectively.
|
||||
|
||||
- [px4_msgs::msg::VehicleAttitudeSetpoint](https://github.com/PX4/PX4-Autopilot/blob/main/msg/versioned/VehicleAttitudeSetpoint.msg)
|
||||
- 支持以下输入组合:
|
||||
- quaternion `q_d` + thrust setpoint `thrust_body`.
|
||||
Non-`NaN` values of `yaw_sp_move_rate` are used as feedforward terms expressed in Earth frame and in \[rad/s\].
|
||||
Non-`NaN` values of `yaw_sp_move_rate` are used as feedforward terms expressed in Earth frame and in `[rad/s]`.
|
||||
|
||||
- 姿态四元数表示无人机机体坐标系FRD(前、右、下) 与NED坐标系之间的旋转。 这个推力是在无人机体轴FRD坐标系下,并归一化为 \[-1, 1\] 。
|
||||
- 姿态四元数表示无人机机体坐标系FRD(前、右、下) 与NED坐标系之间的旋转。
|
||||
这个推力是在无人机体轴FRD坐标系下,并归一化为 \[-1, 1\] 。
|
||||
|
||||
- [px4_msgs::msg::VehicleRatesSetpoint](https://github.com/PX4/PX4-Autopilot/blob/main/msg/versioned/VehicleRatesSetpoint.msg)
|
||||
- 支持以下输入组合:
|
||||
- `roll`, `pitch`, `yaw` and `thrust_body`.
|
||||
|
||||
- 所有值都表示在无人机体轴FRD坐标系下。 角速率(roll, pitch, yaw) 单位为\[rad/s\] ,thrust_body归一化为 \[-1, 1\]。
|
||||
- 所有值都表示在无人机体轴FRD坐标系下。
|
||||
The rates are in `[rad/s]` while thrust_body is normalized in `[-1, 1]`.
|
||||
|
||||
### 无人车
|
||||
|
||||
Rover modules must set the control mode using `OffboardControlMode` and use the appropriate messages to configure the corresponding setpoints.
|
||||
The approach is similar to other vehicle types, but the allowed control mode combinations and setpoints are different:
|
||||
|
||||
| Category | 用法 | Setpoints |
|
||||
| -------------------------------------------------------------------------------------- | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| (Recommended) [Rover Setpoints](#rover-setpoints) | General rover control | [RoverPositionSetpoint](../msg_docs/RoverPositionSetpoint.md), [RoverSpeedSetpoint](../msg_docs/RoverSpeedSetpoint.md), [RoverAttitudeSetpoint](../msg_docs/RoverAttitudeSetpoint.md), [RoverRateSetpoint](../msg_docs/RoverRateSetpoint.md), [RoverThrottleSetpoint](../msg_docs/RoverThrottleSetpoint.md), [RoverSteeringSetpoint](../msg_docs/RoverSteeringSetpoint.md) |
|
||||
| [Actuator Setpoints](#actuator-setpoints) | Direct actuator control | [ActuatorMotors](../msg_docs/ActuatorMotors.md), [ActuatorServos](../msg_docs/ActuatorServos.md) |
|
||||
| (Deprecated) [Trajectory Setpoint](#deprecated-trajectory-setpoint) | General vehicle control | [TrajectorySetpoint](../msg_docs/TrajectorySetpoint.md) |
|
||||
|
||||
#### Rover Setpoints
|
||||
|
||||
The rover modules use a hierarchical structure to propagate setpoints:
|
||||
|
||||

|
||||
|
||||
The "highest" setpoint that is provided will be used within the PX4 rover modules to generate the setpoints that are below it (overriding them!).
|
||||
With this hierarchy there are clear rules for providing a valid control input:
|
||||
|
||||
- Provide a position setpoint **or**
|
||||
- One of the setpoints on the "left" (speed **or** throttle) **and** one of the setpoints on the "right" (attitude, rate **or** steering).
|
||||
All combinations of "left" and "right" setpoints are valid.
|
||||
|
||||
The following are all valid setpoint combinations and their respective control flags that must be set through [OffboardControlMode](../msg_docs/OffboardControlMode.md) (set all others to _false_).
|
||||
Additionally, for some combinations we require certain setpoints to be published with `NAN` values so that the setpoints of interest are not overridden by the rover module (due to the hierarchy above).
|
||||
✓ are the relevant setpoints we publish, and ✗ are the setpoint that need to be published with `NAN` values.
|
||||
|
||||
| Setpoint Combination | Control Flag | [RoverPositionSetpoint](../msg_docs/RoverPositionSetpoint.md) | [RoverSpeedSetpoint](../msg_docs/RoverSpeedSetpoint.md) | [RoverThrottleSetpoint](../msg_docs/RoverThrottleSetpoint.md) | [RoverAttitudeSetpoint](../msg_docs/RoverAttitudeSetpoint.md) | [RoverRateSetpoint](../msg_docs/RoverRateSetpoint.md) | [RoverSteeringSetpoint](../msg_docs/RoverSteeringSetpoint.md) |
|
||||
| -------------------- | ----------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ----------------------------------------------------- | ------------------------------------------------------------- |
|
||||
| 安装位置 | 位置 | ✓ | | | | | |
|
||||
| Speed + Attitude | 速度 | | ✓ | | ✓ | | |
|
||||
| Speed + Rate | 速度 | | ✓ | | ✗ | ✓ | |
|
||||
| Speed + Steering | 速度 | | ✓ | | ✗ | ✗ | ✓ |
|
||||
| Throttle + Attitude | attitude | | | ✓ | ✓ | | |
|
||||
| Throttle + Rate | body_rate | | | ✓ | | ✓ | |
|
||||
| Throttle + Steering | thrust_and_torque | | | ✓ | | | ✓ |
|
||||
|
||||
:::info
|
||||
If you intend to use the rover setpoints, we recommend using the [PX4 ROS 2 Interface Library](../ros2/px4_ros2_interface_lib.md) instead since it simplifies the publishing of these setpoints.
|
||||
:::
|
||||
|
||||
#### Actuator Setpoints
|
||||
|
||||
Instead of controlling the vehicle using position, speed, rate and other setpoints, you can directly control the motors and actuators using [ActuatorMotors](../msg_docs/ActuatorMotors.md) and [ActuatorServos](../msg_docs/ActuatorServos.md).
|
||||
In [OffboardControlMode](../msg_docs/OffboardControlMode.md) set `direct_actuator` to _true_ and all other flags to _false_.
|
||||
|
||||
:::info
|
||||
This bypasses the rover modules including any limits on steering rates or accelerations and the inverse kinematics step.
|
||||
We recommend using [RoverSteeringSetpoint](../msg_docs/RoverSteeringSetpoint.md) and [RoverThrottleSetpoint](../msg_docs/RoverThrottleSetpoint.md) instead for low level control (see [Rover Setpoints](#rover-setpoints)).
|
||||
:::
|
||||
|
||||
#### (Deprecated) Trajectory Setpoint
|
||||
|
||||
:::warning
|
||||
The [Rover Setpoints](#rover-setpoints) are a replacement for the [TrajectorySetpoint](../msg_docs/TrajectorySetpoint.md) and we highly recommend using those instead as they have a well defined behaviour and offer more flexibility.
|
||||
:::
|
||||
|
||||
The rover modules support the _position_, _velocity_ and _yaw_ fields of the [TrajectorySetpoint](../msg_docs/TrajectorySetpoint.md).
|
||||
However, only one of the fields is active at a time and is defined by the flags of [OffboardControlMode](../msg_docs/OffboardControlMode.md):
|
||||
|
||||
| Control Mode Flag | Active Trajectory Setpoint Field |
|
||||
| ----------------- | -------------------------------- |
|
||||
| 位置 | 位置 |
|
||||
| 速度 | 速度 |
|
||||
| attitude | yaw |
|
||||
|
||||
:::info
|
||||
Ackermann rovers do not support the yaw setpoint.
|
||||
:::
|
||||
|
||||
### Generic Vehicle
|
||||
|
||||
@@ -116,8 +194,10 @@ Before using offboard mode with ROS 2, please spend a few minutes understanding
|
||||
|
||||
- [px4_msgs::msg::ActuatorMotors](https://github.com/PX4/PX4-Autopilot/blob/main/msg/versioned/ActuatorMotors.msg) + [px4_msgs::msg::ActuatorServos](https://github.com/PX4/PX4-Autopilot/blob/main/msg/versioned/ActuatorServos.msg)
|
||||
- 直接控制电机输出和/或伺服系统(舵机)输出。
|
||||
- Currently works at lower level than then `control_allocator` module. Do not publish these messages when not in offboard mode.
|
||||
- 所有值归一化为\[-1, 1\]。 For outputs that do not support negative values, negative entries map to `NaN`.
|
||||
- Currently works at lower level than then `control_allocator` module.
|
||||
Do not publish these messages when not in offboard mode.
|
||||
- All the values normalized in `[-1, 1]`.
|
||||
For outputs that do not support negative values, negative entries map to `NaN`.
|
||||
- `NaN` maps to disarmed.
|
||||
|
||||
## MAVLink 消息
|
||||
@@ -207,41 +287,7 @@ Before using offboard mode with ROS 2, please spend a few minutes understanding
|
||||
|
||||
### 无人车
|
||||
|
||||
- [SET_POSITION_TARGET_LOCAL_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED)
|
||||
- The following input combinations are supported (in `type_mask`): <!-- https://github.com/PX4/PX4-Autopilot/blob/main/src/lib/FlightTasks/tasks/Offboard/FlightTaskOffboard.cpp#L166-L170 -->
|
||||
- Position setpoint (only `x`, `y`, `z`)
|
||||
- Specify the _type_ of the setpoint in `type_mask`:
|
||||
|
||||
::: info
|
||||
The _setpoint type_ values below are not part of the MAVLink standard for the `type_mask` field.
|
||||
::
|
||||
|
||||
值为:
|
||||
|
||||
- 12288:悬停设定值(无人机足够接近设定值时会停止)。
|
||||
|
||||
- Velocity setpoint (only `vx`, `vy`, `vz`)
|
||||
|
||||
- PX4 supports the coordinate frames (`coordinate_frame` field): [MAV_FRAME_LOCAL_NED](https://mavlink.io/en/messages/common.html#MAV_FRAME_LOCAL_NED) and [MAV_FRAME_BODY_NED](https://mavlink.io/en/messages/common.html#MAV_FRAME_BODY_NED).
|
||||
|
||||
- [SET_POSITION_TARGET_GLOBAL_INT](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_GLOBAL_INT)
|
||||
- The following input combinations are supported (in `type_mask`): <!-- https://github.com/PX4/PX4-Autopilot/blob/main/src/lib/FlightTasks/tasks/Offboard/FlightTaskOffboard.cpp#L166-L170 -->
|
||||
- Position setpoint (only `lat_int`, `lon_int`, `alt`)
|
||||
|
||||
- Specify the _type_ of the setpoint in `type_mask` (not part of the MAVLink standard).
|
||||
值为:
|
||||
- 下面的比特位没有置位,是正常表现。
|
||||
- 12288:悬停设定值(无人机足够接近设定值时会停止)。
|
||||
|
||||
- PX4 supports the coordinate frames (`coordinate_frame` field): [MAV_FRAME_GLOBAL](https://mavlink.io/en/messages/common.html#MAV_FRAME_GLOBAL).
|
||||
|
||||
- [SET_ATTITUDE_TARGET](https://mavlink.io/en/messages/common.html#SET_ATTITUDE_TARGET)
|
||||
- 支持以下输入组合:
|
||||
- Attitude/orientation (`SET_ATTITUDE_TARGET.q`) with thrust setpoint (`SET_ATTITUDE_TARGET.thrust`).
|
||||
::: info
|
||||
Only the yaw setting is actually used/extracted.
|
||||
|
||||
:::
|
||||
Rover does not support a MAVLink offboard API (ROS2 is supported).
|
||||
|
||||
## Offboard参数
|
||||
|
||||
|
||||
Reference in New Issue
Block a user