mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2025-12-07 10:25:23 +08:00
New Crowdin translations - zh-CN
Some checks failed
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
ClusterFuzzLite batch fuzzing / BatchFuzzing (address) (push) Has been cancelled
ClusterFuzzLite batch fuzzing / BatchFuzzing (memory) (push) Has been cancelled
ClusterFuzzLite batch fuzzing / BatchFuzzing (undefined) (push) Has been cancelled
Handle stale issues and PRs / stale (push) Has been cancelled
Some checks failed
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
ClusterFuzzLite batch fuzzing / BatchFuzzing (address) (push) Has been cancelled
ClusterFuzzLite batch fuzzing / BatchFuzzing (memory) (push) Has been cancelled
ClusterFuzzLite batch fuzzing / BatchFuzzing (undefined) (push) Has been cancelled
Handle stale issues and PRs / stale (push) Has been cancelled
This commit is contained in:
committed by
Hamish Willee
parent
da39385544
commit
9a2a8d4d3c
@@ -725,12 +725,13 @@
|
||||
- [AirspeedValidatedV0](msg_docs/AirspeedValidatedV0.md)
|
||||
- [VehicleAttitudeSetpointV0](msg_docs/VehicleAttitudeSetpointV0.md)
|
||||
- [VehicleStatusV0](msg_docs/VehicleStatusV0.md)
|
||||
- [MAVLink通讯](middleware/mavlink.md)
|
||||
- [MAVLink Messaging](mavlink/index.md)
|
||||
- [Adding Messages](mavlink/adding_messages.md)
|
||||
- [Streaming Messages](mavlink/streaming_messages.md)
|
||||
- [Receiving Messages](mavlink/receiving_messages.md)
|
||||
- [Custom MAVLink Messages](mavlink/custom_messages.md)
|
||||
- [Standard Modes Protocol](mavlink/standard_modes.md)
|
||||
- [Protocols/Microservices](mavlink/protocols.md)
|
||||
- [Standard Modes Protocol](mavlink/standard_modes.md)
|
||||
- [uXRCE-DDS (PX4-ROS 2/DDS Bridge)](middleware/uxrce_dds.md)
|
||||
- [模块 & 命令](modules/modules_main.md)
|
||||
- [自动调参](modules/modules_autotune.md)
|
||||
@@ -860,6 +861,7 @@
|
||||
|
||||
- [版本发布](releases/index.md)
|
||||
- [main (alpha)](releases/main.md)
|
||||
- [1.16 (release candidate)](releases/1.16.md)
|
||||
- [1.15 (stable)](releases/1.15.md)
|
||||
- [1.14](releases/1.14.md)
|
||||
- [1.13](releases/1.13.md)
|
||||
|
||||
@@ -12,7 +12,7 @@ To use it you will need to build firmware with this feature enabled and then upl
|
||||
:::
|
||||
|
||||
:::tip
|
||||
Log encryption was has been improved in PX4 main (v1.16+) to generate a single encrypted log file that contains both encrypted log data, and an encrypted symmetric key that you can use to decrypt it (provided you can decrypt the symmetric key).
|
||||
Log encryption was has been improved in PX4 v1.16 to generate a single encrypted log file that contains both encrypted log data, and an encrypted symmetric key that you can use to decrypt it (provided you can decrypt the symmetric key).
|
||||
|
||||
In earlier versions the encrypted symmetric key was stored in a separate file.
|
||||
For more information see the [Log Encryption (PX4 v1.15)](https://docs.px4.io/v1.15/en/dev_log/log_encryption.html).
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
# Holybro Kakute H7 V2
|
||||
# Holybro Kakute H743-Wing
|
||||
|
||||
<Badge type="tip" text="PX4 v1.16" />
|
||||
|
||||
:::warning
|
||||
PX4 does not manufacture this (or any) autopilot.
|
||||
@@ -31,9 +33,7 @@ The board can be bought from one of the following shops (for example):
|
||||
| Buz-, Buz+ | Piezo buzzer | |
|
||||
| M1 to M14 | Motor signal outputs | |
|
||||
|
||||
<a id="bootloader"></a>
|
||||
|
||||
## PX4 Bootloader Update
|
||||
## PX4 Bootloader Update {#bootloader}
|
||||
|
||||
The board comes pre-installed with [Betaflight](https://github.com/betaflight/betaflight/wiki).
|
||||
Before the PX4 firmware can be installed, the _PX4 bootloader_ must be flashed.
|
||||
@@ -50,7 +50,7 @@ make holybro_kakuteh7-wing_default
|
||||
## Installing PX4 Firmware
|
||||
|
||||
:::info
|
||||
KakuteH7-wing is supported with PX4 master & PX4 v1.16 or newer..
|
||||
KakuteH7-wing is supported in PX4 v1.16 or newer.
|
||||
Prior to that release you will need to manually build and install the firmware.
|
||||
:::
|
||||
|
||||
|
||||
@@ -137,7 +137,7 @@ The mission is typically created and uploaded with a Ground Control Station (GCS
|
||||
|
||||
#### Mission commands
|
||||
|
||||
The following commands can be used in missions at time of writing (`main`/planned for `PX4 v1.16+`):
|
||||
The following commands can be used in missions at time of writing (PX4 v1.16):
|
||||
|
||||
| QGC mission item | 通信 | 描述 |
|
||||
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------- |
|
||||
|
||||
@@ -115,7 +115,7 @@ The mission is typically created and uploaded with a Ground Control Station (GCS
|
||||
|
||||
#### Mission commands
|
||||
|
||||
The following commands can be used in missions at time of writing (`main`/planned for `PX4 v1.16+`):
|
||||
The following commands can be used in missions at time of writing (PX4 v1.16):
|
||||
|
||||
| QGC mission item | 通信 | 描述 |
|
||||
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
|
||||
|
||||
@@ -140,7 +140,7 @@ The mission is typically created and uploaded with a Ground Control Station (GCS
|
||||
|
||||
#### Mission commands
|
||||
|
||||
The following commands can be used in missions at time of writing (`main`/planned for `PX4 v1.16+`):
|
||||
The following commands can be used in missions at time of writing (PX4 v1.16):
|
||||
|
||||
| QGC mission item | 通信 | 描述 |
|
||||
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Ackermann Rovers
|
||||
|
||||
<Badge type="tip" text="main (planned for: PX4 v1.16+)" /> <Badge type="warning" text="Experimental" />
|
||||
<Badge type="tip" text="PX4 v1.16" /> <Badge type="warning" text="Experimental" />
|
||||
|
||||
An _Ackermann rover_ controls its direction by pointing the front wheels in the direction of travel — the [Ackermann steering geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates.
|
||||
This kind of steering is used on most commercial vehicles, including cars, trucks etc.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Differential Rovers
|
||||
|
||||
<Badge type="tip" text="main (planned for: PX4 v1.16+)" /> <Badge type="warning" text="Experimental" />
|
||||
<Badge type="tip" text="PX4 v1.16" /> <Badge type="warning" text="Experimental" />
|
||||
|
||||
A differential rover's motion is controlled using a differential drive mechanism, where the left and right wheel speeds are adjusted independently to achieve the desired forward speed and yaw rate.
|
||||
Forward motion is achieved by driving both wheels at the same speed in the same direction.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Mecanum Rovers
|
||||
|
||||
<Badge type="tip" text="main (planned for: PX4 v1.16+)" /> <Badge type="warning" text="Experimental" />
|
||||
<Badge type="tip" text="PX4 v1.16" /> <Badge type="warning" text="Experimental" />
|
||||
|
||||
A Mecanum rover is a type of mobile robot that uses Mecanum wheels to achieve omnidirectional movement. These wheels are unique because they have rollers mounted at a 45-degree angle around their circumference, allowing the rover to move not only forward and backward but also side-to-side and diagonally without needing to rotate first.
|
||||
Each wheel is driven by its own motor, and by controlling the speed and direction of each motor, the rover can move in any direction or spin in place.
|
||||
|
||||
89
docs/zh/mavlink/index.md
Normal file
89
docs/zh/mavlink/index.md
Normal file
@@ -0,0 +1,89 @@
|
||||
# MAVLink通讯
|
||||
|
||||
[MAVLink](https://mavlink.io/en/) is a very lightweight messaging protocol that has been designed for the drone ecosystem.
|
||||
|
||||
PX4 uses _MAVLink_ to communicate with ground stations and MAVLink SDKs, such as _QGroundControl_ and [MAVSDK](https://mavsdk.mavlink.io/), and as the integration mechanism for connecting to drone components outside of the flight controller: companion computers, MAVLink enabled cameras, and so on.
|
||||
|
||||
This topic provides a brief overview of fundamental MAVLink concepts, such as messages, commands, and microservices.
|
||||
It also links instructions for how you can add PX4 support for:
|
||||
|
||||
- [Adding Standard Messages](../mavlink/adding_messages.md)
|
||||
- [Streaming MAVLink messages](../mavlink/streaming_messages.md)
|
||||
- [Handling incoming MAVLink messages (and writing to a uORB topic)](../mavlink/receiving_messages.md)
|
||||
- [Custom MAVLink Messages](../mavlink/custom_messages.md)
|
||||
- [Protocols/Microservices](../mavlink/protocols.md)
|
||||
|
||||
:::info
|
||||
We do not yet cover _command_ handling and sending, or how to implement your own microservices.
|
||||
:::
|
||||
|
||||
## MAVLink Overview
|
||||
|
||||
MAVLink is a lightweight protocol that was designed for efficiently sending messages over unreliable low-bandwidth radio links.
|
||||
|
||||
_Messages_ are simplest and most "fundamental" definition in MAVLink, consisting of a name (e.g. [ATTITUDE](https://mavlink.io/en/messages/common.html#ATTITUDE)), id, and fields containing relevant data.
|
||||
They are deliberately lightweight, with a constrained size, and no semantics for resending and acknowledgement.
|
||||
Stand-alone messages are commonly used for streaming telemetry or status information, and for sending commands where no acknowledgement is required - such as setpoint commands sent at high rate.
|
||||
|
||||
[Microservices](../mavlink/protocols.md) are "meta protocols" built on top of MAVLink messages.
|
||||
They are used to communicate information that cannot be sent in a single message.
|
||||
|
||||
For example, the [Command Protocol](https://mavlink.io/en/services/command.html) is a service for sending commands that may need acknowledgement and retransmission (quality of service).
|
||||
Specific commands are defined as values of the [MAV_CMD](https://mavlink.io/en/messages/common.html#mav_commands) enumeration, such as the takeoff command [MAV_CMD_NAV_TAKEOFF](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_TAKEOFF), and include up to 7 numeric "param" values.
|
||||
The protocol sends a command by packaging the parameter values in a `COMMAND_INT` or `COMMAND_LONG` message, and waits for an acknowledgement with a result in a `COMMAND_ACK`.
|
||||
The command is automatically resent a number of times if no acknowledgment is received.
|
||||
Note that [MAV_CMD](https://mavlink.io/en/messages/common.html#mav_commands) definitions are also used to define mission actions, and that not all definitions are supported for use in commands/missions on PX4.
|
||||
|
||||
Others services include the [File Transfer Protocol](https://mavlink.io/en/services/ftp.html), [Camera Protocol](https://mavlink.io/en/services/camera.html), [Parameter Protocol](https://mavlink.io/en/services/parameter.html), and [Mission Protocol](https://mavlink.io/en/services/mission.html).
|
||||
For more information on what PX4 supports see [Microservices](../mavlink/protocols.md).
|
||||
|
||||
MAVLink messages, commands and enumerations are defined in [XML definition files](https://mavlink.io/en/guide/define_xml_element.html).
|
||||
The MAVLink toolchain includes code generators that create programming-language-specific libraries from these definitions for sending and receiving messages.
|
||||
Note that most generated libraries do not create code to implement microservices.
|
||||
|
||||
The MAVLink project standardizes a number of messages, commands, enumerations, and microservices, for exchanging data using the following definition files (note that higher level files _include_ the definitions of the files below them):
|
||||
|
||||
- [development.xml](https://mavlink.io/en/messages/development.html) — Definitions that are proposed to be part of the standard.
|
||||
The definitions move to `common.xml` if accepted following testing.
|
||||
- [common.xml](https://mavlink.io/en/messages/common.html) — A "library" of definitions meeting many common UAV use cases.
|
||||
These are supported by many flight stacks, ground stations, and MAVLink peripherals.
|
||||
Flight stacks that use these definitions are more likely to interoperate.
|
||||
- [standard.xml](https://mavlink.io/en/messages/standard.html) — Definitions that are actually standard.
|
||||
They are present on the vast majority of flight stacks and implemented in the same way.
|
||||
- [minimal.xml](https://mavlink.io/en/messages/minimal.html) — Definitions required by a minimal MAVLink implementation.
|
||||
|
||||
The project also hosts [dialect XML definitions](https://mavlink.io/en/messages/#dialects), which contain MAVLink definitions that are specific to a flight stack or other stakeholder.
|
||||
|
||||
The protocol relies on each end of the communication having a shared definition of what messages are being sent.
|
||||
What this means is that in order to communicate both ends of the communication must use libraries generated from the same XML definition.
|
||||
|
||||
<!--
|
||||
The messages are sent over-the-wire in the "payload" of a [MAVLink packet](https://mavlink.io/en/guide/serialization.html#mavlink2_packet_format).
|
||||
In order to reduce the amount of information that must be sent, the packet does not include the message metadata, such as what fields are in the message and so on.
|
||||
Instead, the fields are serialized in a predefined order based on data size and XML definition order, and MAVLink relies on each end of the communication having a shared definition of what messages are being sent.
|
||||
The shared identity of the message is conveyed by the message id, along with a CRC ("`CRC_EXTRA`") that uniquely identifies the message based on its name and id, and the field names and types.
|
||||
The receiving end of the communication will discard any packet for which the message id and the `CRC_EXTRA` do not match.
|
||||
-->
|
||||
|
||||
## PX4 and MAVLink
|
||||
|
||||
PX4 releases build `common.xml` MAVLink definitions by default, for the greatest compatibility with MAVLink ground stations, libraries, and external components such as MAVLink cameras.
|
||||
In the `main` branch, these are included from `development.xml` on SITL, and `common.xml` for other boards.
|
||||
|
||||
:::info
|
||||
To be part of a PX4 release, any MAVLink definitions that you use must be in `common.xml` (or included files such as `standard.xml` and `minimal.xml`).
|
||||
During development you can use definitions in `development.xml`.
|
||||
You will need to work with the [MAVLink team](https://mavlink.io/en/contributing/contributing.html) to define and contribute these definitions.
|
||||
:::
|
||||
|
||||
PX4 includes the [mavlink/mavlink](https://github.com/mavlink/mavlink) repo as a submodule under [/src/modules/mavlink](https://github.com/PX4/PX4-Autopilot/tree/main/src/modules/mavlink).
|
||||
This contains XML definition files in [/mavlink/messages/1.0/](https://github.com/mavlink/mavlink/blob/master/message_definitions/v1.0/).
|
||||
|
||||
The build toolchain generates the MAVLink 2 C header files at build time.
|
||||
The XML file for which headers files are generated may be defined in the [PX4 kconfig board configuration](../hardware/porting_guide_config.md#px4-board-configuration-kconfig) on a per-board basis, using the variable `CONFIG_MAVLINK_DIALECT`:
|
||||
|
||||
- For SITL `CONFIG_MAVLINK_DIALECT` is set to `development` in [boards/px4/sitl/default.px4board](https://github.com/PX4/PX4-Autopilot/blob/main/boards/px4/sitl/default.px4board#L36).
|
||||
You can change this to any other definition file, but the file must include `common.xml`.
|
||||
- For other boards `CONFIG_MAVLINK_DIALECT` is not set by default, and PX4 builds the definitions in `common.xml` (these are build into the [mavlink module](../modules/modules_communication.md#mavlink) by default — search for `menuconfig MAVLINK_DIALECT` in [src/modules/mavlink/Kconfig](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/mavlink/Kconfig#L10)).
|
||||
|
||||
The files are generated into the build directory: `/build/<build target>/mavlink/`.
|
||||
51
docs/zh/mavlink/protocols.md
Normal file
51
docs/zh/mavlink/protocols.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# MAVLink Microservices (Protocols)
|
||||
|
||||
MAVLink "microservices" are a protocols that use multiple messages exchanged between components to communicate more complicated information.
|
||||
For example, the [Command Protocol](https://mavlink.io/en/services/command.html) provides an efficient mechanism for packaging a command in a (particular) message and receiving acknowledgement of the command in another message.
|
||||
|
||||
MAVLink microservices are documented the [MAVLink Guide](https://mavlink.io/en/services/) (this is not exhaustive: not all messages are grouped into protocols and not all protocols are documented).
|
||||
|
||||
This section lists the services known to be supported/not supported by PX4 in this version.
|
||||
|
||||
## Supported Microservices
|
||||
|
||||
These services are known to be supported in some form:
|
||||
|
||||
- [Battery Protocol](https://mavlink.io/en/services/battery.html)
|
||||
- [BATTERY_STATUS](https://mavlink.io/en/messages/common.html#BATTERY_STATUS) and [BATTERY_INFO](https://mavlink.io/en/messages/common.html#BATTERY_STATUS) are streamed.
|
||||
- Camera Protocols
|
||||
- [Camera Protocol v2](https://mavlink.io/en/services/camera.html)
|
||||
- [Camera Definition](https://mavlink.io/en/services/camera_def.html)
|
||||
- [Command Protocol](https://mavlink.io/en/services/command.html)
|
||||
- [Component Metadata Protocol](https://mavlink.io/en/services/component_information.html)
|
||||
- [Events Interface](https://mavlink.io/en/services/events.html)
|
||||
- [File Transfer Protocol (FTP)](https://mavlink.io/en/services/ftp.html)
|
||||
- Gimbal Protocols
|
||||
- [Gimbal Protocol v2](https://mavlink.io/en/services/gimbal_v2.html)
|
||||
- Can be enabled by [Gimbal Configuration](../advanced/gimbal_control.md#mavlink-gimbal-mnt-mode-out-mavlink)
|
||||
- PX4 an act as a MAVLink Gimbal for one FC-connected Gimbal
|
||||
- [Heartbeat/Connection Protocol](https://mavlink.io/en/services/heartbeat.html)
|
||||
- [High Latency Protocol](https://mavlink.io/en/services/high_latency.html) — PX4 streams [HIGH_LATENCY2](https://mavlink.io/en/messages/common.html#HIGH_LATENCY2)
|
||||
- [Image Transmission Protocol](https://mavlink.io/en/services/image_transmission.html)
|
||||
- [Landing Target Protocol](https://mavlink.io/en/services/landing_target.html)
|
||||
- [Manual Control (Joystick) Protocol](https://mavlink.io/en/services/manual_control.html)
|
||||
- [MAVLink Id Assignment (sysid, compid)](https://mavlink.io/en/services/mavlink_id_assignment.html)
|
||||
- [Mission Protocol](https://mavlink.io/en/services/mission.html)
|
||||
- [Offboard Control Protocol](https://mavlink.io/en/services/offboard_control.html)
|
||||
- [Remote ID](../peripherals/remote_id.md) ([Open Drone ID Protocol](https://mavlink.io/en/services/opendroneid.html))
|
||||
- [Parameter Protocol](https://mavlink.io/en/services/parameter.html)
|
||||
- [Parameter Protocol Extended](https://mavlink.io/en/services/parameter_ext.html) — Allows setting string parameters. Used for setting string parameters set in camera definition files.
|
||||
- [Payload Protocol](https://mavlink.io/en/services/payload.html)
|
||||
- [Ping Protocol](https://mavlink.io/en/services/ping.html)
|
||||
- [Standard Modes Protocol](../mavlink/standard_modes.md)
|
||||
- [Terrain Protocol](https://mavlink.io/en/services/terrain.html)
|
||||
- [Time Synchronization](https://mavlink.io/en/services/timesync.html)
|
||||
- [Traffic Management (UTM/ADS-B)](https://mavlink.io/en/services/traffic_management.html)
|
||||
- [Arm Authorization Protocol](https://mavlink.io/en/services/arm_authorization.html)
|
||||
|
||||
## Unsupported
|
||||
|
||||
These services are not supported/used by PX4:
|
||||
|
||||
- [Illuminator Protocol](https://mavlink.io/en/services/illuminator.html)
|
||||
- [Tunnel Protocol](https://mavlink.io/en/services/tunnel.html)
|
||||
@@ -1,87 +1 @@
|
||||
# MAVLink通讯
|
||||
|
||||
[MAVLink](https://mavlink.io/en/) is a very lightweight messaging protocol that has been designed for the drone ecosystem.
|
||||
|
||||
PX4 uses _MAVLink_ to communicate with ground stations and MAVLink SDKs, such as _QGroundControl_ and [MAVSDK](https://mavsdk.mavlink.io/), and as the integration mechanism for connecting to drone components outside of the flight controller: companion computers, MAVLink enabled cameras, and so on.
|
||||
|
||||
This topic provides a brief overview of fundamental MAVLink concepts, such as messages, commands, and microservices.
|
||||
It also links instructions for how you can add PX4 support for:
|
||||
|
||||
- [Adding Standard Messages](../mavlink/adding_messages.md)
|
||||
- [Streaming MAVLink messages](../mavlink/streaming_messages.md)
|
||||
- [Handling incoming MAVLink messages (and writing to a uORB topic)](../mavlink/receiving_messages.md)
|
||||
- [Custom MAVLink Messages](../mavlink/custom_messages.md)
|
||||
|
||||
:::info
|
||||
We do not yet cover _command_ handling and sending, or how to implement your own microservices.
|
||||
:::
|
||||
|
||||
## MAVLink Overview
|
||||
|
||||
MAVLink is a lightweight protocol that was designed for efficiently sending messages over unreliable low-bandwidth radio links.
|
||||
|
||||
_Messages_ are simplest and most "fundamental" definition in MAVLink, consisting of a name (e.g. [ATTITUDE](https://mavlink.io/en/messages/common.html#ATTITUDE)), id, and fields containing relevant data.
|
||||
They are deliberately lightweight, with a constrained size, and no semantics for resending and acknowledgement.
|
||||
Stand-alone messages are commonly used for streaming telemetry or status information, and for sending commands where no acknowledgement is required - such as setpoint commands sent at high rate.
|
||||
|
||||
The [Command Protocol](https://mavlink.io/en/services/command.html) is a higher level protocol for sending commands that may need acknowledgement.
|
||||
Specific commands are defined as values of the [MAV_CMD](https://mavlink.io/en/messages/common.html#mav_commands) enumeration, such as the takeoff command [MAV_CMD_NAV_TAKEOFF](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_TAKEOFF), and include up to 7 numeric "param" values.
|
||||
The protocol sends a command by packaging the parameter values in a `COMMAND_INT` or `COMMAND_LONG` message, and waits for an acknowledgement with a result in a `COMMAND_ACK`.
|
||||
The command is resent automatically if no acknowledgment is received.
|
||||
Note that [MAV_CMD](https://mavlink.io/en/messages/common.html#mav_commands) definitions are also used to define mission actions, and that not all definitions are supported for use in commands/missions on PX4.
|
||||
|
||||
[Microservices](https://mavlink.io/en/services/) are other higher level protocols built on top of MAVLink messages.
|
||||
They are used to communicate information that cannot be sent in a single message, and to deliver features such as reliable communication.
|
||||
The command protocol described above is one such service.
|
||||
Others include the [File Transfer Protocol](https://mavlink.io/en/services/ftp.html), [Camera Protocol](https://mavlink.io/en/services/camera.html) and [Mission Protocol](https://mavlink.io/en/services/mission.html).
|
||||
|
||||
MAVLink messages, commands and enumerations are defined in [XML definition files](https://mavlink.io/en/guide/define_xml_element.html).
|
||||
The MAVLink toolchain includes code generators that create programming-language-specific libraries from these definitions for sending and receiving messages.
|
||||
Note that most generated libraries do not create code to implement microservices.
|
||||
|
||||
The MAVLink project standardizes a number of messages, commands, enumerations, and microservices, for exchanging data using the following definition files (note that higher level files _include_ the definitions of the files below them):
|
||||
|
||||
- [development.xml](https://mavlink.io/en/messages/development.html) — Definitions that are proposed to be part of the standard.
|
||||
The definitions move to `common.xml` if accepted following testing.
|
||||
- [common.xml](https://mavlink.io/en/messages/common.html) — A "library" of definitions meeting many common UAV use cases.
|
||||
These are supported by many flight stacks, ground stations, and MAVLink peripherals.
|
||||
Flight stacks that use these definitions are more likely to interoperate.
|
||||
- [standard.xml](https://mavlink.io/en/messages/standard.html) — Definitions that are actually standard.
|
||||
They are present on the vast majority of flight stacks and implemented in the same way.
|
||||
- [minimal.xml](https://mavlink.io/en/messages/minimal.html) — Definitions required by a minimal MAVLink implementation.
|
||||
|
||||
The project also hosts [dialect XML definitions](https://mavlink.io/en/messages/#dialects), which contain MAVLink definitions that are specific to a flight stack or other stakeholder.
|
||||
|
||||
The protocol relies on each end of the communication having a shared definition of what messages are being sent.
|
||||
What this means is that in order to communicate both ends of the communication must use libraries generated from the same XML definition.
|
||||
|
||||
<!--
|
||||
The messages are sent over-the-wire in the "payload" of a [MAVLink packet](https://mavlink.io/en/guide/serialization.html#mavlink2_packet_format).
|
||||
In order to reduce the amount of information that must be sent, the packet does not include the message metadata, such as what fields are in the message and so on.
|
||||
Instead, the fields are serialized in a predefined order based on data size and XML definition order, and MAVLink relies on each end of the communication having a shared definition of what messages are being sent.
|
||||
The shared identity of the message is conveyed by the message id, along with a CRC ("`CRC_EXTRA`") that uniquely identifies the message based on its name and id, and the field names and types.
|
||||
The receiving end of the communication will discard any packet for which the message id and the `CRC_EXTRA` do not match.
|
||||
-->
|
||||
|
||||
## PX4 and MAVLink
|
||||
|
||||
PX4 releases build `common.xml` MAVLink definitions by default, for the greatest compatibility with MAVLink ground stations, libraries, and external components such as MAVLink cameras.
|
||||
In the `main` branch, these are included from `development.xml` on SITL, and `common.xml` for other boards.
|
||||
|
||||
:::info
|
||||
To be part of a PX4 release, any MAVLink definitions that you use must be in `common.xml` (or included files such as `standard.xml` and `minimal.xml`).
|
||||
During development you can use definitions in `development.xml`.
|
||||
You will need to work with the [MAVLink team](https://mavlink.io/en/contributing/contributing.html) to define and contribute these definitions.
|
||||
:::
|
||||
|
||||
PX4 includes the [mavlink/mavlink](https://github.com/mavlink/mavlink) repo as a submodule under [/src/modules/mavlink](https://github.com/PX4/PX4-Autopilot/tree/main/src/modules/mavlink).
|
||||
This contains XML definition files in [/mavlink/messages/1.0/](https://github.com/mavlink/mavlink/blob/master/message_definitions/v1.0/).
|
||||
|
||||
The build toolchain generates the MAVLink 2 C header files at build time.
|
||||
The XML file for which headers files are generated may be defined in the [PX4 kconfig board configuration](../hardware/porting_guide_config.md#px4-board-configuration-kconfig) on a per-board basis, using the variable `CONFIG_MAVLINK_DIALECT`:
|
||||
|
||||
- For SITL `CONFIG_MAVLINK_DIALECT` is set to `development` in [boards/px4/sitl/default.px4board](https://github.com/PX4/PX4-Autopilot/blob/main/boards/px4/sitl/default.px4board#L36).
|
||||
You can change this to any other definition file, but the file must include `common.xml`.
|
||||
- For other boards `CONFIG_MAVLINK_DIALECT` is not set by default, and PX4 builds the definitions in `common.xml` (these are build into the [mavlink module](../modules/modules_communication.md#mavlink) by default — search for `menuconfig MAVLINK_DIALECT` in [src/modules/mavlink/Kconfig](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/mavlink/Kconfig#L10)).
|
||||
|
||||
The files are generated into the build directory: `/build/<build target>/mavlink/`.
|
||||
<Redirect to="../mavlink/" />
|
||||
|
||||
@@ -116,9 +116,9 @@ As there are external tools using uORB messages from log files, such as [Flight
|
||||
|
||||
## Message Versioning
|
||||
|
||||
<Badge type="tip" text="main (planned for: PX4 v1.16+)" />
|
||||
<Badge type="tip" text="PX4 v1.16" />
|
||||
|
||||
Optional message versioning was introduced in the `main` branch (planned for PX4 v1.16+) to make it easier to maintain compatibility between PX4 and ROS 2 versions compiled against different message definitions.
|
||||
Optional message versioning was introduced PX4 v1.16 to make it easier to maintain compatibility between PX4 and ROS 2 versions compiled against different message definitions.
|
||||
Versioned messages are designed to remain more stable over time compared to their non-versioned counterparts, as they are intended to be used across multiple releases of PX4 and external systems, ensuring greater compatibility over longer periods.
|
||||
|
||||
Versioned messages include an additional field `uint32 MESSAGE_VERSION = x`, where `x` corresponds to the current version of the message.
|
||||
|
||||
@@ -430,16 +430,17 @@ publications:
|
||||
|
||||
- topic: /fmu/out/collision_constraints
|
||||
type: px4_msgs::msg::CollisionConstraints
|
||||
rate_limit: 50. # Limit max publication rate to 50 Hz
|
||||
|
||||
...
|
||||
|
||||
- topic: /fmu/out/vehicle_odometry
|
||||
type: px4_msgs::msg::VehicleOdometry
|
||||
rate_limit: 150.
|
||||
# Use default publication rate limit of 100 Hz
|
||||
|
||||
- topic: /fmu/out/vehicle_status
|
||||
type: px4_msgs::msg::VehicleStatus
|
||||
rate_limit: 50.
|
||||
rate_limit: 5.
|
||||
|
||||
- topic: /fmu/out/vehicle_trajectory_waypoint_desired
|
||||
type: px4_msgs::msg::VehicleTrajectoryWaypoint
|
||||
|
||||
221
docs/zh/releases/1.16.md
Normal file
221
docs/zh/releases/1.16.md
Normal file
@@ -0,0 +1,221 @@
|
||||
# PX4-Autopilot v1.16.0 Release Notes
|
||||
|
||||
<Badge type="info" text="Candidate Release" />
|
||||
|
||||
<script setup>
|
||||
import { useData } from 'vitepress'
|
||||
const { site } = useData();
|
||||
</script>
|
||||
|
||||
<div v-if="site.title !== 'PX4 Guide (main)'">
|
||||
<div class="custom-block danger">
|
||||
<p class="custom-block-title">This page is on a release branch, and hence possibly out of date. <a href="https://docs.px4.io/main/en/releases/main.html">See the latest version</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
This document covers all changes in PX4 v1.16.0 since the previous stable release ([PX4 v1.15.0](../releases/1.15.md)).
|
||||
|
||||
:::info
|
||||
These notes include only changes merged in 2023 and later — commits before 2023 are not listed.
|
||||
:::
|
||||
|
||||
## Read Before Upgrading
|
||||
|
||||
Please continue reading for [upgrade instructions](#upgrade-guide).
|
||||
|
||||
## Major Changes
|
||||
|
||||
- **Rover support rework**
|
||||
- New dedicated firmware build for rovers (airframe IDs 50000–52000)
|
||||
- Separate modules for Ackermann, differential and mecanum rovers, each with manual, acro, stabilized, position and auto modes
|
||||
- Shared pure-pursuit guidance library for all rover modules
|
||||
- Legacy rover position control module deprecated in favor of the new modules
|
||||
|
||||
## Upgrade Guide
|
||||
|
||||
- [PX4-Autopilot#24648](https://github.com/PX4/PX4-Autopilot/pull/24648): Added setting default for EKF2_EV_CTRL to 15 for VOXL 2 boards
|
||||
- [PX4-Autopilot#22517](https://github.com/PX4/PX4-Autopilot/pull/22517): Change default ethernet IP
|
||||
- [PX4-Autopilot#24602](https://github.com/PX4/PX4-Autopilot/pull/24602): remove serial port default from sf45 module
|
||||
|
||||
## Other changes
|
||||
|
||||
### Hardware Support
|
||||
|
||||
- **[New Hardware]** [PX4-Autopilot#23830](https://github.com/PX4/PX4-Autopilot/pull/23830): Boards: ARK FPV FC
|
||||
- **[New Hardware]** [PX4-Autopilot#23414](https://github.com/PX4/PX4-Autopilot/pull/23414): board: add cuav 7-nano
|
||||
- **[New Hardware]** [PX4-Autopilot#24769](https://github.com/PX4/PX4-Autopilot/pull/24769): add new board corvon743v1
|
||||
- **[New Hardware]** [PX4-Autopilot#24018](https://github.com/PX4/PX4-Autopilot/pull/24018): boards: bluerobotics: navigator: Add initial support
|
||||
- **[New Hardware]** [PX4-Autopilot#24147](https://github.com/PX4/PX4-Autopilot/pull/24147): boards: add new board micoair743-v2
|
||||
- **[New Hardware]** [PX4-Autopilot#23218](https://github.com/PX4/PX4-Autopilot/pull/23218): boards: add new board micoair h743
|
||||
- **[New Hardware]** [PX4-Autopilot#24512](https://github.com/PX4/PX4-Autopilot/pull/24512): boards: Add FMUv6s target
|
||||
- **[New Hardware]** [PX4-Autopilot#23927](https://github.com/PX4/PX4-Autopilot/pull/23927): manifest: Add Skynode S baseboard
|
||||
- **[New Hardware]** [PX4-Autopilot#23257](https://github.com/PX4/PX4-Autopilot/pull/23257): Add Tropic VMU board support (Baseboard for Teensy 4.1)
|
||||
- **[New Hardware]** [PX4-Autopilot#23697](https://github.com/PX4/PX4-Autopilot/pull/23697): boards: add new board X-MAV AP-H743v2
|
||||
- **[New Hardware]** [PX4-Autopilot#23551](https://github.com/PX4/PX4-Autopilot/pull/23551): 3DR boards: Support for 3DR Control Zero H7 OEM Rev G
|
||||
- **[New Hardware]** [PX4-Autopilot#23623](https://github.com/PX4/PX4-Autopilot/pull/23623): new board support ZeroOne x6
|
||||
|
||||
### Common
|
||||
|
||||
- [Optical flow scaling factor - SENS_FLOW_SCALE](../sensor/optical_flow.md#scale-factor). ([PX4-Autopilot#23936](https://github.com/PX4/PX4-Autopilot/pull/23936)).
|
||||
|
||||
- [PX4-Autopilot#22813](https://github.com/PX4/PX4-Autopilot/pull/22813): Reintroduce optional parameter versioning mechanism for airframe maintainers
|
||||
|
||||
- [Battery level estimation improvements](../config/battery.md). ([PX4-Autopilot#23205](https://github.com/PX4/PX4-Autopilot/pull/23205)).
|
||||
- [Voltage-based estimation with load compensation](../config/battery.md#voltage-based-estimation-with-load-compensation) now uses a real-time estimate of the internal resistance of the battery to compensate voltage drops under load (with increased current), providing a better capacity estimate than with the raw measured voltage.
|
||||
- Thrust-based load compensation has been removed (along with the `BATn_V_LOAD_DROP` parameters, where `n` is the battery number).
|
||||
|
||||
- The [Position (GNSS) loss failsafe](../config/safety.md#position-gnss-loss-failsafe) configurable delay (`COM_POS_FS_DELAY`) has been removed.
|
||||
The failsafe will now trigger 1 second after position has been lost. ([PX4-Autopilot#24063](https://github.com/PX4/PX4-Autopilot/pull/24063)).
|
||||
|
||||
- [Log Encryption](../dev_log/log_encryption.md) now generates an encrypted log that contains the public-key-encrypted symmetric key that can be used to decrypt it, instead of putting the key into a separate file.
|
||||
This makes log decryption much easier, as there is no need to download or identify a separate key file.
|
||||
([PX4-Autopilot#24024](https://github.com/PX4/PX4-Autopilot/pull/24024)).
|
||||
|
||||
- The generic mission command timeout [MIS_COMMAND_TOUT](../advanced_config/parameter_reference.md#MIS_COMMAND_TOUT) parameter replaces the delivery-specific `MIS_PD_TO` parameter.
|
||||
Mission commands that may take some time to complete, such as those for controlling gimbals, winches, and grippers, will progress to the next item when either feedback is received or the timeout expires.
|
||||
This is often used to provide a minimum delay for hardware that does not provide completion feedback, so that it can reach the commanded state before the mission progresses.
|
||||
([PX4-Autopilot#23960](https://github.com/PX4/PX4-Autopilot/pull/23960)).
|
||||
|
||||
- **[uORB]** Introduce a [version field](../middleware/uorb.md#message-versioning) for a subset of uORB messages ([PX4-Autopilot#23850](https://github.com/PX4/PX4-Autopilot/pull/23850))
|
||||
|
||||
- [Compass calibration](../config/compass.md) disables internal compasses if an external compass is available.
|
||||
This typically reduces false warnings due to magnetometer inconsistencies.
|
||||
([PX4-Autopilot#24316](https://github.com/PX4/PX4-Autopilot/pull/24316)).
|
||||
|
||||
### Control
|
||||
|
||||
- [PX4-Autopilot#23863](https://github.com/PX4/PX4-Autopilot/pull/23863): [Sponsored by ARK] Bidirectional DShot
|
||||
|
||||
- [PX4-Autopilot#24196](https://github.com/PX4/PX4-Autopilot/pull/24196): Make control allocation and actuator effectiveness a non-module-specific library
|
||||
|
||||
- [PX4-Autopilot#24221](https://github.com/PX4/PX4-Autopilot/pull/24221): Spacecraft Build and Bare Control Allocator
|
||||
|
||||
- Configurable multicopter orbit-mode yaw via `MC_ORBIT_YAW_MOD` ([PX4-Autopilot#23358](https://github.com/PX4/PX4-Autopilot/pull/23358))
|
||||
|
||||
- Collision prevention now works in manual (acceleration-based) flight mode (`MPC_POS_MODE`) ([PX4-Autopilot#23507](https://github.com/PX4/PX4-Autopilot/pull/23507))
|
||||
|
||||
### Estimation
|
||||
|
||||
- [PX4-Autopilot#23854](https://github.com/PX4/PX4-Autopilot/pull/23854): EKF2: ellipsoidal earth navigation
|
||||
|
||||
- [PX4-Autopilot#23263](https://github.com/PX4/PX4-Autopilot/pull/23263): EKF2: Terrain state
|
||||
|
||||
- [PX4-Autopilot#23185](https://github.com/PX4/PX4-Autopilot/pull/23185): ekf2: add mag type init
|
||||
|
||||
- [PX4-Autopilot#23436](https://github.com/PX4/PX4-Autopilot/pull/23436): ekf2: Optical flow enabled by default
|
||||
|
||||
- Position-loss failsafe delay removed; triggers 1 s after loss (see Common)
|
||||
|
||||
### 传感器
|
||||
|
||||
- [PX4-Autopilot#23656](https://github.com/PX4/PX4-Autopilot/pull/23656): Implemented AUAV absolute/differential pressure sensor support
|
||||
|
||||
- [PX4-Autopilot#23639](https://github.com/PX4/PX4-Autopilot/pull/23639): Implemented temperature sensor support for INA228 / INA238
|
||||
|
||||
- [PX4-Autopilot#22744](https://github.com/PX4/PX4-Autopilot/pull/22744): Add Ublox ZED-F9P-15B
|
||||
|
||||
- [PX4-Autopilot#24316](https://github.com/PX4/PX4-Autopilot/pull/24316): Mag cal: automatically disable internal mags if external ones are available
|
||||
|
||||
- [PX4-Autopilot#23064](https://github.com/PX4/PX4-Autopilot/pull/23064): BMP581: Add Bosch BMP581 barometer
|
||||
|
||||
- [PX4-Autopilot#22914](https://github.com/PX4/PX4-Autopilot/pull/22914): Murata SCH16T IMU driver
|
||||
|
||||
- [PX4-Autopilot#23023](https://github.com/PX4/PX4-Autopilot/pull/23023): ST IIS2MDC Magnetometer driver
|
||||
|
||||
- [PX4-Autopilot#24121](https://github.com/PX4/PX4-Autopilot/pull/24121): Include distance sensor in dds topics
|
||||
|
||||
- [PX4-Autopilot#23925](https://github.com/PX4/PX4-Autopilot/pull/23925): drivers: magnetometer: mmc5983ma: Add SPI support
|
||||
|
||||
- [PX4-Autopilot#23909](https://github.com/PX4/PX4-Autopilot/pull/23909): drivers/magnetometer/ak09916: Add support to AK09915
|
||||
|
||||
- [PX4-Autopilot#23362](https://github.com/PX4/PX4-Autopilot/pull/23362): Add Bosch BMM350 magnetometer
|
||||
|
||||
- [PX4-Autopilot#24316](https://github.com/PX4/PX4-Autopilot/pull/24316): Compass calibration now disables internal compass when external unit present, reducing false warnings
|
||||
|
||||
### 仿真
|
||||
|
||||
- **SIH**:
|
||||
- The SIH on SITL [custom takeoff location](../sim_sih/index.md#set-custom-takeoff-location) in now set using the normal unscaled GPS position values, where previously the value needed to be multiplied by 1E7.
|
||||
([PX4-Autopilot#23363](https://github.com/PX4/PX4-Autopilot/pull/23363)).
|
||||
- SIH now supports the standard VTOL airframe
|
||||
([PX4-Autopilot#24175](https://github.com/PX4/PX4-Autopilot/pull/24175)).
|
||||
- **Gazebo**:
|
||||
- Gazebo Harmonic LTS release replaces Gazebo Garden as the version supported by PX4.
|
||||
The default installer scripts (used for CI) and documentation have been updated.
|
||||
This is required because Garden end-of-life is Nov 2024.
|
||||
([PX4-Autopilot#23603](https://github.com/PX4/PX4-Autopilot/pull/23603))
|
||||
- New vehicle model `x500_lidar_2d` — [x500 Quadrotor with 2D Lidar](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar). ([PX4-Autopilot#22418](https://github.com/PX4/PX4-Autopilot/pull/22418), [PX4-gazebo-models#41](https://github.com/PX4/PX4-gazebo-models/pull/41)).
|
||||
- New vehicle model `x500_lidar_front` — [X500 Quadrotor with 1D LIDAR (Front-facing)](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-1d-lidar-front-facing). ([PX4-Autopilot#23879](https://github.com/PX4/PX4-Autopilot/pull/23879), [PX4-gazebo-models#62](https://github.com/PX4/PX4-gazebo-models/pull/62/files)).
|
||||
- New vehicle model `x500_lidar_down` — [X500 Quadrotor with 1D LIDAR (Down-facing)](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-1d-lidar-down-facing). ([PX4-Autopilot#23879](https://github.com/PX4/PX4-Autopilot/pull/23879), [PX4-gazebo-models#62](https://github.com/PX4/PX4-gazebo-models/pull/62/files)).
|
||||
- New vehicle model `r1_rover` — [Aion Robotics R1 Rover](../sim_gazebo_gz/vehicles.md#differential-rover) ([PX4-Autopilot#22402](https://github.com/PX4/PX4-Autopilot/pull/22402) and [PX4-gazebo-models#21](https://github.com/PX4/PX4-gazebo-models/pull/21)).
|
||||
- New vehicle model `rover_ackermann` — [Ackermann Rover](../sim_gazebo_gz/vehicles.md#ackermann-rover) ([PX4-Autopilot#23383](https://github.com/PX4/PX4-Autopilot/pull/23383) and [PX4-gazebo-models#46](https://github.com/PX4/PX4-gazebo-models/pull/46)).
|
||||
- New vehicle model `x500_gimbal` — [Quadrotor(x500) with gimbal (Front-facing) in Gazebo](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-gimbal-front-facing) ([PX4-Autopilot#23382](https://github.com/PX4/PX4-Autopilot/pull/23382) and [PX4-gazebo-models#47](https://github.com/PX4/PX4-gazebo-models/pull/47) and [PX4-gazebo-models#70](https://github.com/PX4/PX4-gazebo-models/pull/70)).
|
||||
- New vehicle model `quadtailsitter` — [Quad Tailsitter VTOL](../sim_gazebo_gz/vehicles.md#quad-tailsitter-vtol) ([PX4-Autopilot#23943](https://github.com/PX4/PX4-Autopilot/pull/23943) and [PX4-gazebo-models#65](https://github.com/PX4/PX4-gazebo-models/pull/65)).
|
||||
- New vehicle model `tiltrotor` — [Tiltrotor VTOL](../sim_gazebo_gz/vehicles.md#tiltrotor-vtol) ([PX4-Autopilot#24028](https://github.com/PX4/PX4-Autopilot/pull/24028) and [PX4-gazebo-models#66](https://github.com/PX4/PX4-gazebo-models/pull/66)).
|
||||
- [Faster than Real-time Simulation](../simulation/index.md#simulation_speed) ([PX4-Autopilot#24421](https://github.com/PX4/PX4-Autopilot/pull/24421), [PX4-Autopilot#23783](https://github.com/PX4/PX4-Autopilot/pull/23783))
|
||||
- [PX4-Autopilot#24471](https://github.com/PX4/PX4-Autopilot/pull/24471): Gazebo: Moving platform
|
||||
|
||||
### uXRCE-DDS / ROS2
|
||||
|
||||
- **[Feature]** [PX4-Autopilot#24113](https://github.com/PX4/PX4-Autopilot/pull/24113): <Badge type="warning" text="Experimental"/> [ROS 2 Message Translation Node](../ros2/px4_ros2_msg_translation_node.md) to translate PX4 messages from one definition version to another dynamically
|
||||
- [PX4-Autopilot#24582](https://github.com/PX4/PX4-Autopilot/pull/24582): dds_topics: add vtol_vehicle_status
|
||||
- [PX4-Autopilot#24583](https://github.com/PX4/PX4-Autopilot/pull/24583): dds_topics: add home_position
|
||||
|
||||
### MAVLink
|
||||
|
||||
- TBD
|
||||
|
||||
### Multi-Rotor
|
||||
|
||||
- [PX4-Autopilot#24173](https://github.com/PX4/PX4-Autopilot/pull/24173): [Multirotor] add yaw torque low pass filter
|
||||
|
||||
- [PX4-Autopilot#23943](https://github.com/PX4/PX4-Autopilot/pull/23943): Add gz model for quadtailsitter
|
||||
|
||||
- [PX4-Autopilot#23358](https://github.com/PX4/PX4-Autopilot/pull/23358): Allow system-default [multicopter orbit mode](../flight_modes_mc/orbit.md) yaw behaviour to be configured, using the parameter [MC_ORBIT_YAW_MOD](../advanced_config/parameter_reference.md#MC_ORBIT_YAW_MOD)
|
||||
|
||||
- [PX4-Autopilot#23507](https://github.com/PX4/PX4-Autopilot/pull/23507): Adapted the [Collision Prevention](../computer_vision/collision_prevention.md) implementation to work in the default manual flight mode (Acceleration Based) [MPC_POS_MODE](../advanced_config/parameter_reference.md#MPC_POS_MODE).
|
||||
|
||||
### 垂直起降
|
||||
|
||||
- TBD
|
||||
|
||||
### Fixed-wing
|
||||
|
||||
- [PX4-Autopilot#24167](https://github.com/PX4/PX4-Autopilot/pull/24167): Fixedwing: fix wheel controller
|
||||
|
||||
- [PX4-Autopilot#23520](https://github.com/PX4/PX4-Autopilot/pull/23520): FixedWing: allow position control without valid global position
|
||||
|
||||
- Improvement: Fixed-wing auto takeoff: enable setting takeoff flaps for hand/catapult launch. [PX4-Autopilot#23460](https://github.com/PX4/PX4-Autopilot/pull/23460)
|
||||
|
||||
### 无人车
|
||||
|
||||
This release contains a major rework for the rover support in PX4:
|
||||
|
||||
- Complete restructure of the [rover related documentation](../frames_rover/index.md).
|
||||
- New firmware build specifically for [rovers](../frames_rover/index.md#flashing-the-rover-build).
|
||||
- New module dedicated to [Ackermann rovers](../frames_rover/ackermann.md):
|
||||
- The module currently supports [manual mode](../flight_modes_rover/ackermann.md#manual-mode), [acro mode](../flight_modes_rover/ackermann.md#acro-mode), [position mode](../flight_modes_rover/ackermann.md#position-mode) and [auto modes](../flight_modes_rover/ackermann.md#auto-modes).
|
||||
- New module dedicated to [differential rovers](../frames_rover/differential.md):
|
||||
- The module currently supports [manual mode](../flight_modes_rover/differential.md#manual-mode), [acro mode](../flight_modes_rover/differential.md#acro-mode), [stabilized mode](../flight_modes_rover/differential.md#stabilized-mode), [position mode](../flight_modes_rover/differential.md#position-mode) and [auto modes](../flight_modes_rover/differential.md#auto-modes).
|
||||
- New module dedicated to [mecanum rovers](../frames_rover/mecanum.md):
|
||||
- The module currently supports [manual mode](../flight_modes_rover/mecanum.md#manual-mode), [acro mode](../flight_modes_rover/mecanum.md#acro-mode), [stabilized mode](../flight_modes_rover/mecanum.md#stabilized-mode), [position mode](../flight_modes_rover/mecanum.md#position-mode) and [auto modes](../flight_modes_rover/mecanum.md#auto-modes).
|
||||
- Added rover-specific firmware build (`50000–52000`) for Ackermann, differential and mecanum rovers
|
||||
- Restructure of the [rover airframe](../airframes/airframe_reference.md#rover) numbering convention ([PX4-Autopilot#23506](https://github.com/PX4/PX4-Autopilot/pull/23506)).
|
||||
This also introduces several [new rover airframes](../airframes/airframe_reference.md#rover):
|
||||
- Generic Differential Rover `50000`.
|
||||
- Generic Ackermann Rover `51000`.
|
||||
- Axial SCX10 2 Trail Honcho `51001`.
|
||||
- Generic Mecanum Rover `52000`.
|
||||
- Library for the [pure pursuit guidance algorithm](../config_rover/differential.md#pure-pursuit-guidance-logic) that is shared by all the rover modules.
|
||||
- [Simulation](../frames_rover/index.md#simulation) for differential-steering and Ackermann rovers in gazebo (for release notes see `r1_rover` and `rover_ackermann` in [simulation](#simulation)).
|
||||
- Deprecation of the [rover position control](../frames_rover/rover_position_control.md) module: Note that the legacy rover module still exists but has been superseded by the new dedicated modules.
|
||||
|
||||
### Infrastructure
|
||||
|
||||
- [PX4-Autopilot#24011](https://github.com/PX4/PX4-Autopilot/pull/24011): standard_modes: add vehicle-type specific standard modes
|
||||
- [PX4-Autopilot#24020](https://github.com/PX4/PX4-Autopilot/pull/24020): ci: build all upload to releases
|
||||
- [PX4-Autopilot#24002](https://github.com/PX4/PX4-Autopilot/pull/24002): ci: px4-dev container
|
||||
- [PX4-Autopilot#23937](https://github.com/PX4/PX4-Autopilot/pull/23937): ci: workflow for ubuntu 24
|
||||
- [PX4-Autopilot#23869](https://github.com/PX4/PX4-Autopilot/pull/23869): ci: add test for Ubuntu 22.04
|
||||
- [PX4-Autopilot#23574](https://github.com/PX4/PX4-Autopilot/pull/23574): ci: try runs-on Dronecode Infra
|
||||
- [PX4-Autopilot#23550](https://github.com/PX4/PX4-Autopilot/pull/23550): ci: replace build workflows
|
||||
@@ -2,7 +2,8 @@
|
||||
|
||||
这是一份 PX4 发行说明列表,其中包含每次发布所做更改的清单,详细说明了新增功能、漏洞修复、弃用内容以及更新情况。
|
||||
|
||||
- [main](../releases/main.md) (v1.15以来的变化)
|
||||
- [main](../releases/main.md) (changes since v1.16)
|
||||
- [v1.16](../releases/1.16.md)
|
||||
- [v1.15](../releases/1.15.md)
|
||||
- [v1.14](../releases/1.14.md)
|
||||
- [v1.13](../releases/1.13.md)
|
||||
|
||||
@@ -9,15 +9,15 @@ const { site } = useData();
|
||||
|
||||
<div v-if="site.title !== 'PX4 Guide (main)'">
|
||||
<div class="custom-block danger">
|
||||
<p class="custom-block-title">This page is on a release bramch, and hence probably out of date. <a href="https://docs.px4.io/main/en/releases/main.html">See the latest version</a>.</p>
|
||||
<p class="custom-block-title">This page is on a release branch, and hence probably out of date. <a href="https://docs.px4.io/main/en/releases/main.html">See the latest version</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
This contains changes to PX4 `main` branch since the last major release ([PX v1.15](../releases/1.15.md)).
|
||||
This contains changes to PX4 `main` branch since the last major release ([PX v1.16](../releases/1.16.md)).
|
||||
|
||||
:::warning
|
||||
The PX4 v1.15 release is in beta testing, pending release.
|
||||
Update these notes with features that are going to be in `main` but not the PX4 v1.15 release.
|
||||
PX4 v1.16 is in candidate-release testing, pending release.
|
||||
Update these notes with features that are going to be in `main` but not the PX4 v1.16 release.
|
||||
:::
|
||||
|
||||
## Read Before Upgrading
|
||||
@@ -40,22 +40,7 @@ Please continue reading for [upgrade instructions](#upgrade-guide).
|
||||
|
||||
### Common
|
||||
|
||||
- [Battery level estimation improvements](../config/battery.md). ([PX4-Autopilot#23205](https://github.com/PX4/PX4-Autopilot/pull/23205)).
|
||||
- [Voltage-based estimation with load compensation](../config/battery.md#voltage-based-estimation-with-load-compensation) now uses a real-time estimate of the internal resistance of the battery to compensate voltage drops under load (with increased current), providing a better capacity estimate than with the raw measured voltage.
|
||||
- Thrust-based load compensation has been removed (along with the `BATn_V_LOAD_DROP` parameters, where `n` is the battery number).
|
||||
- The [Position (GNSS) loss failsafe](../config/safety.md#position-gnss-loss-failsafe) configurable delay (`COM_POS_FS_DELAY`) has been removed.
|
||||
The failsafe will now trigger 1 second after position has been lost. ([PX4-Autopilot#24063](https://github.com/PX4/PX4-Autopilot/pull/24063)).
|
||||
- [Log Encryption](../dev_log/log_encryption.md) now generates an encrypted log that contains the public-key-encrypted symmetric key that can be used to decrypt it, instead of putting the key into a separate file.
|
||||
This makes log decryption much easier, as there is no need to download or identify a separate key file.
|
||||
([PX4-Autopilot#24024](https://github.com/PX4/PX4-Autopilot/pull/24024)).
|
||||
- The generic mission command timeout [MIS_COMMAND_TOUT](../advanced_config/parameter_reference.md#MIS_COMMAND_TOUT) parameter replaces the delivery-specific `MIS_PD_TO` parameter.
|
||||
Mission commands that may take some time to complete, such as those for controlling gimbals, winches, and grippers, will progress to the next item when either feedback is received or the timeout expires.
|
||||
This is often used to provide a minimum delay for hardware that does not provide completion feedback, so that it can reach the commanded state before the mission progresses.
|
||||
([PX4-Autopilot#23960](https://github.com/PX4/PX4-Autopilot/pull/23960)).
|
||||
- **[uORB]** Introduce a [version field](../middleware/uorb.md#message-versioning) for a subset of uORB messages ([PX4-Autopilot#23850](https://github.com/PX4/PX4-Autopilot/pull/23850))
|
||||
- [Compass calibration](../config/compass.md) disables internal compasses if an external compass is available.
|
||||
This typically reduces false warnings due to magnetometer inconsistencies.
|
||||
([PX4-Autopilot#24316](https://github.com/PX4/PX4-Autopilot/pull/24316)).
|
||||
- TBD
|
||||
|
||||
### Control
|
||||
|
||||
@@ -71,26 +56,7 @@ Please continue reading for [upgrade instructions](#upgrade-guide).
|
||||
|
||||
### 仿真
|
||||
|
||||
- [SIH]:
|
||||
- The SIH on SITL [custom takeoff location](../sim_sih/index.md#set-custom-takeoff-location) in now set using the normal unscaled GPS position values, where previously the value needed to be multiplied by 1E7.
|
||||
([PX4-Autopilot#23363](https://github.com/PX4/PX4-Autopilot/pull/23363)).
|
||||
- SIH now supports the standard VTOL airframe
|
||||
([PX4-Autopilot#24175](https://github.com/PX4/PX4-Autopilot/pull/24175)).
|
||||
- [Gazebo]:
|
||||
- Gazebo Harmonic LTS release replaces Gazebo Garden as the version supported by PX4.
|
||||
The default installer scripts (used for CI) and documentation have been updated.
|
||||
This is required because Garden end-of-life is Nov 2024.
|
||||
([PX4-Autopilot#23603](https://github.com/PX4/PX4-Autopilot/pull/23603))
|
||||
- New vehicle model `x500_lidar_2d` — [x500 Quadrotor with 2D Lidar](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar). ([PX4-Autopilot#22418](https://github.com/PX4/PX4-Autopilot/pull/22418), [PX4-gazebo-models#41](https://github.com/PX4/PX4-gazebo-models/pull/41)).
|
||||
- New vehicle model `x500_lidar_front` — [X500 Quadrotor with 1D LIDAR (Front-facing)](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-1d-lidar-front-facing). ([PX4-Autopilot#23879](https://github.com/PX4/PX4-Autopilot/pull/23879), [PX4-gazebo-models#62](https://github.com/PX4/PX4-gazebo-models/pull/62/files)).
|
||||
- New vehicle model `x500_lidar_down` — [X500 Quadrotor with 1D LIDAR (Down-facing)](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-1d-lidar-down-facing). ([PX4-Autopilot#23879](https://github.com/PX4/PX4-Autopilot/pull/23879), [PX4-gazebo-models#62](https://github.com/PX4/PX4-gazebo-models/pull/62/files)).
|
||||
- New vehicle model `r1_rover` — [Aion Robotics R1 Rover](../sim_gazebo_gz/vehicles.md#differential-rover) ([PX4-Autopilot#22402](https://github.com/PX4/PX4-Autopilot/pull/22402) and [PX4-gazebo-models#21](https://github.com/PX4/PX4-gazebo-models/pull/21)).
|
||||
- New vehicle model `rover_ackermann` — [Ackermann Rover](../sim_gazebo_gz/vehicles.md#ackermann-rover) ([PX4-Autopilot#23383](https://github.com/PX4/PX4-Autopilot/pull/23383) and [PX4-gazebo-models#46](https://github.com/PX4/PX4-gazebo-models/pull/46)).
|
||||
- New vehicle model `x500_gimbal` — [Quadrotor(x500) with gimbal (Front-facing) in Gazebo](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-gimbal-front-facing) ([PX4-Autopilot#23382](https://github.com/PX4/PX4-Autopilot/pull/23382) and [PX4-gazebo-models#47](https://github.com/PX4/PX4-gazebo-models/pull/47) and [PX4-gazebo-models#70](https://github.com/PX4/PX4-gazebo-models/pull/70)).
|
||||
- New vehicle model `quadtailsitter` — [Quad Tailsitter VTOL](../sim_gazebo_gz/vehicles.md#quad-tailsitter-vtol) ([PX4-Autopilot#23943](https://github.com/PX4/PX4-Autopilot/pull/23943) and [PX4-gazebo-models#65](https://github.com/PX4/PX4-gazebo-models/pull/65)).
|
||||
- New vehicle model `tiltrotor` — [Tiltrotor VTOL](../sim_gazebo_gz/vehicles.md#tiltrotor-vtol) ([PX4-Autopilot#24028](https://github.com/PX4/PX4-Autopilot/pull/24028) and [PX4-gazebo-models#66](https://github.com/PX4/PX4-gazebo-models/pull/66)).
|
||||
- [Faster than Real-time Simulation](../simulation/index.md#simulation_speed) ([PX4-Autopilot#24421](https://github.com/PX4/PX4-Autopilot/pull/24421), [PX4-Autopilot#23783](https://github.com/PX4/PX4-Autopilot/pull/23783))
|
||||
- [Moving platform simulation](../sim_gazebo_gz/worlds#moving-platform) ([PX4-Autopilot#24471](https://github.com/PX4/PX4-Autopilot/pull/24471))
|
||||
- TBD
|
||||
|
||||
### Ethernet
|
||||
|
||||
@@ -98,7 +64,7 @@ Please continue reading for [upgrade instructions](#upgrade-guide).
|
||||
|
||||
### uXRCE-DDS / ROS2
|
||||
|
||||
- **[Feature]** <Badge type="warning" text="Experimental"/> [ROS 2 Message Translation Node](../ros2/px4_ros2_msg_translation_node.md) to translate PX4 messages from one definition version to another dynamically ([PX4-Autopilot#24113](https://github.com/PX4/PX4-Autopilot/pull/24113))
|
||||
- [PX4 ROS 2 Interface Library](../ros2/px4_ros2_control_interface.md) support for [Fixed Wing lateral/longitudinal setpoint](../ros2/px4_ros2_control_interface.md#fixed-wing-lateral-and-longitudinal-setpoint-fwlaterallongitudinalsetpointtype) (`FwLateralLongitudinalSetpointType`) and [VTOL transitions](../ros2/px4_ros2_control_interface.md#controlling-a-vtol). ([PX4-Autopilot#24056](https://github.com/PX4/PX4-Autopilot/pull/24056)).
|
||||
|
||||
### MAVLink
|
||||
|
||||
@@ -106,8 +72,7 @@ Please continue reading for [upgrade instructions](#upgrade-guide).
|
||||
|
||||
### Multi-Rotor
|
||||
|
||||
- Allow system-default [multicopter orbit mode](../flight_modes_mc/orbit.md) yaw behaviour to be configured, using the parameter [MC_ORBIT_YAW_MOD](../advanced_config/parameter_reference.md#MC_ORBIT_YAW_MOD) ([PX4-Autopilot#23358](https://github.com/PX4/PX4-Autopilot/pull/23358))
|
||||
- Adapted the [Collision Prevention](../computer_vision/collision_prevention.md) implementation to work in the default manual flight mode (Acceleration Based) [MPC_POS_MODE](../advanced_config/parameter_reference.md#MPC_POS_MODE). ([PX4-Autopilot#23507](https://github.com/PX4/PX4-Autopilot/pull/23507)
|
||||
- TBD
|
||||
|
||||
### 垂直起降
|
||||
|
||||
@@ -115,29 +80,11 @@ Please continue reading for [upgrade instructions](#upgrade-guide).
|
||||
|
||||
### Fixed-wing
|
||||
|
||||
- Improvement: Fixed-wing auto takeoff: enable setting takeoff flaps for hand/catapult launch. [PX4-Autopilot#23460](https://github.com/PX4/PX4-Autopilot/pull/23460)
|
||||
- TBD
|
||||
|
||||
### 无人车
|
||||
|
||||
This release contains a major rework for the rover support in PX4:
|
||||
|
||||
- Complete restructure of the [rover related documentation](../frames_rover/index.md).
|
||||
- New firmware build specifically for [rovers](../frames_rover/index.md#flashing-the-rover-build).
|
||||
- New module dedicated to [Ackermann rovers](../frames_rover/ackermann.md):
|
||||
- The module currently supports [manual mode](../flight_modes_rover/ackermann.md#manual-mode), [acro mode](../flight_modes_rover/ackermann.md#acro-mode), [position mode](../flight_modes_rover/ackermann.md#position-mode) and [auto modes](../flight_modes_rover/ackermann.md#auto-modes).
|
||||
- New module dedicated to [differential rovers](../frames_rover/differential.md):
|
||||
- The module currently supports [manual mode](../flight_modes_rover/differential.md#manual-mode), [acro mode](../flight_modes_rover/differential.md#acro-mode), [stabilized mode](../flight_modes_rover/differential.md#stabilized-mode), [position mode](../flight_modes_rover/differential.md#position-mode) and [auto modes](../flight_modes_rover/differential.md#auto-modes).
|
||||
- New module dedicated to [mecanum rovers](../frames_rover/mecanum.md):
|
||||
- The module currently supports [manual mode](../flight_modes_rover/mecanum.md#manual-mode), [acro mode](../flight_modes_rover/mecanum.md#acro-mode), [stabilized mode](../flight_modes_rover/mecanum.md#stabilized-mode), [position mode](../flight_modes_rover/mecanum.md#position-mode) and [auto modes](../flight_modes_rover/mecanum.md#auto-modes).
|
||||
- Restructure of the [rover airframe](../airframes/airframe_reference.md#rover) numbering convention ([PX4-Autopilot#23506](https://github.com/PX4/PX4-Autopilot/pull/23506)).
|
||||
This also introduces several [new rover airframes](../airframes/airframe_reference.md#rover):
|
||||
- Generic Differential Rover `50000`.
|
||||
- Generic Ackermann Rover `51000`.
|
||||
- Axial SCX10 2 Trail Honcho `51001`.
|
||||
- Generic Mecanum Rover `52000`.
|
||||
- Library for the [pure pursuit guidance algorithm](../config_rover/differential.md#pure-pursuit-guidance-logic) that is shared by all the rover modules.
|
||||
- [Simulation](../frames_rover/index.md#simulation) for differential-steering and Ackermann rovers in gazebo (for release notes see `r1_rover` and `rover_ackermann` in [simulation](#simulation)).
|
||||
- Deprecation of the [rover position control](../frames_rover/rover_position_control.md) module: Note that the legacy rover module still exists but has been superseded by the new dedicated modules.
|
||||
- TBD
|
||||
|
||||
### ROS 2
|
||||
|
||||
|
||||
@@ -345,7 +345,7 @@ The used types also define the compatibility with different vehicle types.
|
||||
The following sections provide a list of supported setpoint types:
|
||||
|
||||
- [GotoSetpointType](#go-to-setpoint-gotosetpointtype): Smooth position and (optionally) heading control
|
||||
- [FwLateralLongitudinalSetpointType](#fixed-wing-lateral-and-longitudinal-setpoint-fwlaterallongitudinalsetpointtype): Direct control of lateral and longitudinal fixed wing dynamics
|
||||
- [FwLateralLongitudinalSetpointType](#fixed-wing-lateral-and-longitudinal-setpoint-fwlaterallongitudinalsetpointtype): <Badge type="tip" text="main (planned for: PX4 v1.17)" /> Direct control of lateral and longitudinal fixed wing dynamics
|
||||
- [DirectActuatorsSetpointType](#direct-actuator-control-setpoint-directactuatorssetpointtype): Direct control of motors and flight surface servo setpoints
|
||||
|
||||
:::tip
|
||||
@@ -407,7 +407,7 @@ _goto_setpoint->update(
|
||||
|
||||
#### Fixed-Wing Lateral and Longitudinal Setpoint (FwLateralLongitudinalSetpointType)
|
||||
|
||||
<Badge type="warning" text="Fixed wing only" />
|
||||
<Badge type="warning" text="Fixed wing only" /> <Badge type="tip" text="main (planned for: PX4 v1.17)" />
|
||||
|
||||
:::info
|
||||
This setpoint type is supported for fixed-wing vehicles and for VTOLs in fixed-wing mode.
|
||||
@@ -549,7 +549,7 @@ If you want to control an actuator that does not control the vehicle's motion, b
|
||||
|
||||
### Controlling a VTOL
|
||||
|
||||
<Badge type="warning" text="Experimental" />
|
||||
<Badge type="tip" text="main (planned for: PX4 v1.17)" /> <Badge type="warning" text="Experimental" />
|
||||
|
||||
To control a VTOL in an external flight mode, ensure you're returning the correct setpoint type based on the current flight configuration:
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# PX4 ROS 2 Message Translation Node
|
||||
|
||||
<Badge type="tip" text="main (planned for: PX4 v1.16+)" /> <Badge type="warning" text="Experimental" />
|
||||
<Badge type="tip" text="PX4 v1.16" /> <Badge type="warning" text="Experimental" />
|
||||
|
||||
The message translation node allows ROS 2 applications that were compiled against different versions of the PX4 messages to interwork with newer versions of PX4, and vice versa, without having to change either the application or the PX4 side.
|
||||
|
||||
@@ -207,7 +207,7 @@ Message translations can be either _direct_ or _generic_.
|
||||
|
||||
### File Structure
|
||||
|
||||
Starting from PX4 v1.16 (main), the PX4-Autopilot `msg/` and `srv/` directories are structured as follows:
|
||||
Starting from PX4 v1.16, the PX4-Autopilot `msg/` and `srv/` directories are structured as follows:
|
||||
|
||||
```
|
||||
PX4-Autopilot
|
||||
|
||||
@@ -34,7 +34,7 @@ The generator uses the uORB message definitions in the source tree: [PX4-Autopil
|
||||
ROS 2 applications need to be built in a workspace that has the _same_ message definitions that were used to create the uXRCE-DDS client module in the PX4 Firmware.
|
||||
You can include these by cloning the interface package [PX4/px4_msgs](https://github.com/PX4/px4_msgs) into your ROS 2 workspace (branches in the repo correspond to the messages for different PX4 releases).
|
||||
|
||||
Starting from PX4 v1.16 (main) in which [message versioning](../middleware/uorb.md#message-versioning) was introduced, ROS2 applications may use a different version of message definitions than those used to build PX4.
|
||||
Starting from PX4 v1.16, in which [message versioning](../middleware/uorb.md#message-versioning) was introduced, ROS2 applications may use a different version of message definitions than those used to build PX4.
|
||||
This requires the [ROS 2 Message Translation Node](../ros2/px4_ros2_msg_translation_node.md) to be running to ensure that messages can be converted and exchanged correctly.
|
||||
|
||||
Note that the micro XRCE-DDS _agent_ itself has no dependency on client-side code.
|
||||
@@ -378,7 +378,7 @@ accelerometer_integral_dt: 4739
|
||||
|
||||
#### (Optional) Starting the Translation Node
|
||||
|
||||
<Badge type="tip" text="main (planned for: PX4 v1.16+)" /> <Badge type="tip" /> <Badge type="warning" text="Experimental" />
|
||||
<Badge type="tip" text="PX4 v1.16" /> <Badge type="warning" text="Experimental" />
|
||||
|
||||
This example is built with PX4 and ROS2 versions that use the same message definitions.
|
||||
If you were to use incompatible [message versions](../middleware/uorb.md#message-versioning) you would need to install and run the [Message Translation Node](./px4_ros2_msg_translation_node.md) as well, before running the example:
|
||||
|
||||
@@ -75,7 +75,7 @@ World with walls that is designed for testing [collision prevention](../computer
|
||||
|
||||
## Moving Platform
|
||||
|
||||
<Badge type="tip" text="main (planned for: PX4 v1.16+)" />
|
||||
<Badge type="tip" text="PX4 v1.16" />
|
||||
|
||||
[Empty world](#default) with the addition of a flat moving platform, to simulate drone operations from moving vehicles like ships or trucks. The platform is controlled by a plugin which is included in the world. The platform is at a height of 2m, so place the vehicle on it with:
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ Operating in the 2.4GHz frequency band, it allows unrestricted global use withou
|
||||
|
||||
- **Frequency Band:** 2.4GHz
|
||||
- **Speed:** Up to 11 Mbps (adjustable)
|
||||
- **Range:** Up to 500 meters (varies upon environments)
|
||||
- **Range:** Up to 1000 meters (varies upon environments)
|
||||
- **Payload Capacity:** Up to 1024 bytes
|
||||
|
||||
### Network Schemes
|
||||
|
||||
Reference in New Issue
Block a user