mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2025-12-11 09:01:54 +08:00
New Crowdin translations - uk
This commit is contained in:
committed by
Hamish Willee
parent
78e70d85a9
commit
e8859a7e0d
@@ -542,6 +542,7 @@
|
||||
- [Airspeed](msg_docs/Airspeed.md)
|
||||
- [AirspeedWind](msg_docs/AirspeedWind.md)
|
||||
- [AutotuneAttitudeControlStatus](msg_docs/AutotuneAttitudeControlStatus.md)
|
||||
- [BatteryInfo](msg_docs/BatteryInfo.md)
|
||||
- [ButtonEvent](msg_docs/ButtonEvent.md)
|
||||
- [CameraCapture](msg_docs/CameraCapture.md)
|
||||
- [CameraStatus](msg_docs/CameraStatus.md)
|
||||
@@ -560,6 +561,7 @@
|
||||
- [DifferentialPressure](msg_docs/DifferentialPressure.md)
|
||||
- [DistanceSensor](msg_docs/DistanceSensor.md)
|
||||
- [DistanceSensorModeChangeRequest](msg_docs/DistanceSensorModeChangeRequest.md)
|
||||
- [DronecanNodeStatus](msg_docs/DronecanNodeStatus.md)
|
||||
- [Ekf2Timestamps](msg_docs/Ekf2Timestamps.md)
|
||||
- [EscReport](msg_docs/EscReport.md)
|
||||
- [EscStatus](msg_docs/EscStatus.md)
|
||||
@@ -732,6 +734,10 @@
|
||||
- [Wind](msg_docs/Wind.md)
|
||||
- [YawEstimatorStatus](msg_docs/YawEstimatorStatus.md)
|
||||
- [AirspeedValidatedV0](msg_docs/AirspeedValidatedV0.md)
|
||||
- [ArmingCheckReplyV0](msg_docs/ArmingCheckReplyV0.md)
|
||||
- [BatteryStatusV0](msg_docs/BatteryStatusV0.md)
|
||||
- [EventV0](msg_docs/EventV0.md)
|
||||
- [HomePositionV0](msg_docs/HomePositionV0.md)
|
||||
- [VehicleAttitudeSetpointV0](msg_docs/VehicleAttitudeSetpointV0.md)
|
||||
- [VehicleStatusV0](msg_docs/VehicleStatusV0.md)
|
||||
- [MAVLink Messaging](mavlink/index.md)
|
||||
@@ -796,6 +802,9 @@
|
||||
- [Інтеграція камери/Архітектура](camera/camera_architecture.md)
|
||||
- [Комп'ютерний зір](advanced/computer_vision.md)
|
||||
- [Захоплення руху (VICON, Optitrack, NOKOV)](tutorials/motion-capture.md)
|
||||
- [Neural Networks](advanced/neural_networks.md)
|
||||
- [Neural Network Module Utilities](advanced/nn_module_utilities.md)
|
||||
- [TensorFlow Lite Micro (TFLM)](advanced/tflm.md)
|
||||
- [Встановлюється драйвер для Intel RealSense R200](advanced/realsense_intel_driver.md)
|
||||
- [Перемикання оцінювачів стану](advanced/switching_state_estimators.md)
|
||||
- [Out-of-Tree модулі](advanced/out_of_tree_modules.md)
|
||||
@@ -827,7 +836,8 @@
|
||||
- [Тест MC_02 - Повна автономність](test_cards/mc_02_full_autonomous.md)
|
||||
- [Тест MC_03 - поєднання автоматичного і ручного керування](test_cards/mc_03_auto_manual_mix.md)
|
||||
- [Тест MC_04 - Тестування відмовостійкості](test_cards/mc_04_failsafe_testing.md)
|
||||
- [Тест MC_05 - Політ у приміщенні (ручні режими)](test_cards/mc_05_indoor_flight_manual_modes.md)
|
||||
- [Test MC_05 - Manual Modes (Inside)](test_cards/mc_05_indoor_flight_manual_modes.md)
|
||||
- [Test MC_06 - Optical Flow (Inside)](test_cards/mc_06_optical_flow.md)
|
||||
- [Модульні Тести](test_and_ci/unit_tests.md)
|
||||
- [Fuzz Tests](test_and_ci/fuzz_tests.md)
|
||||
- [Безперервна інтеграція](test_and_ci/continous_integration.md)
|
||||
|
||||
115
docs/uk/advanced/neural_networks.md
Normal file
115
docs/uk/advanced/neural_networks.md
Normal file
@@ -0,0 +1,115 @@
|
||||
# Neural Networks
|
||||
|
||||
<Badge type="tip" text="main (planned for: PX4 v1.17)" /> <Badge type="warning" text="Experimental" />
|
||||
|
||||
:::warning
|
||||
This is an experimental module.
|
||||
Use at your own risk.
|
||||
:::
|
||||
|
||||
The Multicopter Neural Network (NN) module ([mc_nn_control](../modules/modules_controller.md#mc_nn_control)) is an example module that allows you to experiment with using a pre-trained neural network on PX4.
|
||||
It might be used, for example, to experiment with controllers for non-traditional drone morphologies, computer vision tasks, and so on.
|
||||
|
||||
The module integrates a pre-trained neural network based on the [TensorFlow Lite Micro (TFLM)](../advanced/tflm.md) module.
|
||||
The module is trained for the [X500 V2](../frames_multicopter/holybro_x500v2_pixhawk6c.md) multicopter frame.
|
||||
While the controller is fairly robust, and might work on other platforms, we recommend [Training your own Network](#training-your-own-network) if you use a different vehicle.
|
||||
Note that after training the network you will need to update and rebuild PX4.
|
||||
|
||||
TLFM is a mature inference library intended for use on embedded devices.
|
||||
It has support for several architectures, so there is a high likelihood that you can build it for the board you want to use.
|
||||
If not, there are other possible NN frameworks, such as [Eigen](https://eigen.tuxfamily.org/index.php?title=Main_Page) and [Executorch](https://pytorch.org/executorch-overview).
|
||||
|
||||
This document explains how you can include the module in your PX4 build, and provides a broad overview of how it works.
|
||||
The other documents in the section provide more information about the integration, allowing you to replace the NN with a version trained on different data, or even to replace the TLFM library altogether.
|
||||
|
||||
If you are looking for more resources to learn about the module, a website has been created with links to a youtube video and a workshop paper. A full master's thesis will be added later. [A Neural Network Mode for PX4 on Embedded Flight Controllers](https://ntnu-arl.github.io/px4-nns/).
|
||||
|
||||
## Neural Network PX4 Firmware
|
||||
|
||||
The module has been tested on a number of configurations, which can be build locally using the commands:
|
||||
|
||||
```sh
|
||||
make px4_sitl_neural
|
||||
```
|
||||
|
||||
```sh
|
||||
make px4_fmu-v6c_neural
|
||||
```
|
||||
|
||||
```sh
|
||||
make mro_pixracerpro_neural
|
||||
```
|
||||
|
||||
You can add the module to other board configurations by modifying their `default.px4board file` configuration to include these lines:
|
||||
|
||||
```sh
|
||||
CONFIG_LIB_TFLM=y
|
||||
CONFIG_MODULES_MC_NN_CONTROL=y
|
||||
```
|
||||
|
||||
:::tip
|
||||
The `mc_nn_control` module takes up roughly 50KB, and many of the `default.px4board file` are already close to filling all the flash on their boards. To make room for the neural control module you can remove the include statements for other modules, such as FW, rover, VTOL and UUV.
|
||||
:::
|
||||
|
||||
## Example Module Overview
|
||||
|
||||
The example module replaces the entire controller structure as well as the control allocator, as shown in the diagram below:
|
||||
|
||||

|
||||
|
||||
In the [controller diagram](../flight_stack/controller_diagrams.md) you can see the [uORB message](../middleware/uorb.md) flow.
|
||||
We hook into this flow by subscribing to messages at particular points, using our neural network to calculate outputs, and then publishing them into the next point in the flow.
|
||||
We also need to stop the module publishing the topic to be replaced, which is covered in [Neural Network Module: System Integration](nn_module_utilities.md)
|
||||
|
||||
### Вхід
|
||||
|
||||
The input can be changed to whatever you want.
|
||||
Set up the input you want to use during training and then provide the same input in PX4.
|
||||
In the Neural Control module the input is an array of 15 numbers, and consists of these values in this order:
|
||||
|
||||
- [3] Local position error. (goal position - current position)
|
||||
- [6] The first 2 rows of a 3 dimensional rotation matrix.
|
||||
- [3] Linear velocity
|
||||
- [3] Angular velocity
|
||||
|
||||
All the input values are collected from uORB topics and transformed into the correct representation in the `PopulateInputTensor()` function.
|
||||
PX4 uses the NED frame representation, while the Aerial Gym Simulator, in which the NN was trained, uses the ENU representation.
|
||||
Therefore two rotation matrices are created in the function and all the inputs are transformed from the NED representation to the ENU one.
|
||||
|
||||

|
||||
|
||||
ENU and NED are just rotation representations, the translational difference is only there so both can be seen in the same figure.
|
||||
|
||||
### Output
|
||||
|
||||
The output consists of 4 values, the motor forces, one for each motor.
|
||||
These are transformed in the `RescaleActions()` function.
|
||||
This is done because PX4 expects normalized motor commands while the Aerial Gym Simulator uses physical values.
|
||||
So the output from the network needs to be normalized before they can be sent to the motors in PX4.
|
||||
|
||||
The commands are published to the [ActuatorMotors](../msg_docs/ActuatorMotors.md) topic.
|
||||
The publishing is handled in `PublishOutput(float* command_actions)` function.
|
||||
|
||||
:::tip
|
||||
If the neural control mode is too aggressive or unresponsive the [MC_NN_THRST_COEF](../advanced_config/parameter_reference.md#MC_NN_THRST_COEF) parameter can be tuned.
|
||||
Decrease it for more thrust.
|
||||
:::
|
||||
|
||||
## Training your own Network
|
||||
|
||||
The network is currently trained for the [X500 V2](../frames_multicopter/holybro_x500v2_pixhawk6c.md).
|
||||
But the controller is somewhat robust, so it could work directly on other platforms, but performing system identification and training a new network is recommended.
|
||||
|
||||
Since the Aerial Gym Simulator is open-source you can download it and train your own networks as long as you have access to an NVIDIA GPU.
|
||||
If you want to train a control network optimized for your platform you can follow the instructions in the [Aerial Gym Documentation](https://ntnu-arl.github.io/aerial_gym_simulator/9_sim2real/).
|
||||
|
||||
You should do one system identification flight for this and get an approximate inertia matrix for your platform.
|
||||
On the `sys-id` flight you need ESC telemetry, you can read more about that in [DSHOT](../peripherals/dshot.md).
|
||||
|
||||
Then do the following steps:
|
||||
|
||||
- Do a hover flight
|
||||
- Read of the logs what RPM is required for the drone to hover.
|
||||
- Use the weight of each motor, length of the motor arms, total weight of the platform with battery to calculate an approximate inertia matrix for the platform.
|
||||
- Insert these values into the Aerial Gym configuration and train your network.
|
||||
- Convert the network as explained in [TFLM](tflm.md).
|
||||
86
docs/uk/advanced/nn_module_utilities.md
Normal file
86
docs/uk/advanced/nn_module_utilities.md
Normal file
@@ -0,0 +1,86 @@
|
||||
# Neural Network Module: System Integration
|
||||
|
||||
The neural control module ([mc_nn_control](../modules/modules_controller.md#mc_nn_control)) implements an end-to-end controller utilizing neural networks.
|
||||
|
||||
The parts of the module directly concerned with generating the code for the trained neural network and integrating it into the module are covered in [TensorFlow Lite Micro (TFLM)](../advanced/tflm.md).
|
||||
This page covers the changes that were made to integrate the module into PX4, both within the module, and in larger system configuration.
|
||||
|
||||
:::tip
|
||||
This topic should help you to shape the module to your own needs.
|
||||
|
||||
You will need some familiarity with PX4 development.
|
||||
For more information see the developer [Getting Started](../dev_setup/getting_started.md).
|
||||
:::
|
||||
|
||||
## Автозавантаження
|
||||
|
||||
A line to autostart the [mc_nn_control](../modules/modules_controller.md#mc_nn_control) module has been added in the [`ROMFS/px4fmu_common/init.d/rc.mc_apps`](https://github.com/PX4/PX4-Autopilot/blob/main/ROMFS/px4fmu_common/init.d/rc.mc_apps) startup script.
|
||||
|
||||
It checks whether the module is included by looking for the parameter [MC_NN_EN](../advanced_config/parameter_reference.md#MC_NN_EN).
|
||||
If this is set to `1` (the default value), the module will be started when booting PX4.
|
||||
Similarly you could create other parameters in the [`mc_nn_control_params.c`](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/mc_nn_control/mc_nn_control_params.c) file for other startup script checks.
|
||||
|
||||
## Custom Flight Mode
|
||||
|
||||
The module creates its own flight mode "Neural Control" which lets you choose it from the flight mode menu in QGC and bind it to a switch on you RC controller.
|
||||
This is done by using the [ROS 2 Interface Library](../ros2/px4_ros2_interface_lib.md) internally.
|
||||
This involves several steps and is visualized here:
|
||||
|
||||
:::info
|
||||
The module does not actually use ROS 2, it just uses the API exposed through uORB topics.
|
||||
:::
|
||||
|
||||
:::info
|
||||
In some QGC versions the flight mode does not show up, so make sure to update to the newest version.
|
||||
This only works for some flight controllers, so you might have to use an RC controller to switch to the correct external flight mode.
|
||||
:::
|
||||
|
||||

|
||||
|
||||
1. Publish a [RegisterExtComponentRequest](../msg_docs/RegisterExtComponentRequest.md).
|
||||
This specifies what you want to create, you can read more about this in the [Control Interface](../ros2/px4_ros2_control_interface.md).
|
||||
In this case we register an arming check and a mode.
|
||||
2. Wait for a [RegisterExtComponentReply](../msg_docs/RegisterExtComponentReply.md).
|
||||
This will give feedback on wether the mode registration was successful, and what the mode and arming check id is for the new mode.
|
||||
3. [Optional] With the mode id, publish a [VehicleControlMode](../msg_docs/VehicleControlMode.md) message on the `config_control_setpoints` topic.
|
||||
Here you can configure what other modules run in parallel.
|
||||
The example controller replaces everything, so it turns off allocation.
|
||||
If you want to replace other parts you can enable or disable the modules accordingly.
|
||||
4. [Optional] With the mode id, publish a [ConfigOverrides](../msg_docs/ConfigOverrides.md) on the `config_overrides_request` topic.
|
||||
(This is not done in the example module) This will let you defer failsafes or stop it from automatically disarming.
|
||||
5. When the mode has been registered a [ArmingCheckRequest](../msg_docs/ArmingCheckRequest.md) will be sent, asking if your mode has everything it needs to run.
|
||||
This message must be answered with a [ArmingCheckReply](../msg_docs/ArmingCheckReply.md) so the mode is not flagged as unresponsive.
|
||||
In this response it is possible to set what requirements the mode needs to run, like local position.
|
||||
If any of these requirements are set the commander will stop you from switching to the mode if they are not fulfilled.
|
||||
It is also important to set health_component_index and num_events to 0 to not get a segmentation fault.
|
||||
Unless you have a health component or events.
|
||||
6. Listen to the [VehicleStatus](../msg_docs/VehicleStatus.md) topic.
|
||||
If the nav_state equals the assigned `mode_id`, then the Neural Controller is activated.
|
||||
7. When active the module will run the controller and publish to [ActuatorMotors](../msg_docs/ActuatorMotors.md).
|
||||
If you want to replace a different part of the controller, you should find the appropriate topic to publish to.
|
||||
|
||||
To see how the requests are handled you can check out [src/modules/commander/ModeManagement.cpp](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/commander/ModeManagement.cpp).
|
||||
|
||||
## Логування
|
||||
|
||||
To add module-specific logging a new topic has been added to [uORB](../middleware/uorb.md) called [NeuralControl](../msg_docs/NeuralControl.md).
|
||||
The message definition is also added in `msg/CMakeLists.txt`, and to [`src/modules/logger/logged_topics.cpp`](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/logger/logged_topics.cpp) under the debug category.
|
||||
For these messages to be saved in your logs you need to include `debug` in the [SDLOG_PROFILE](../advanced_config/parameter_reference.md#SDLOG_PROFILE) parameter.
|
||||
|
||||
## Timing
|
||||
|
||||
The module has two includes for measuring the inference times.
|
||||
The first one is a driver that works on the actual flight controller units, but a second one, `chrono`, is loaded for SITL testing.
|
||||
Which timing library is included and used is based on wether PX4 is built with NUTTX or not.
|
||||
|
||||
## Changing the setpoint
|
||||
|
||||
The module uses the [TrajectorySetpoint](../msg_docs/TrajectorySetpoint.md) message’s position fields to define its target.
|
||||
To follow a trajectory, you can send updated setpoints.
|
||||
For an example of how to do this in a PX4 module, see the [mc_nn_testing](https://github.com/SindreMHegre/PX4-Autopilot-public/tree/main/src/modules/mc_nn_testing) module in this fork.
|
||||
Note that this is not included in upstream PX4.
|
||||
To use it, copy the module folder from the linked repository into your workspace, and enable it by adding the following line to your `.px4board` file:
|
||||
|
||||
```sh
|
||||
CONFIG_MODULES_MC_NN_TESTING=y
|
||||
```
|
||||
77
docs/uk/advanced/tflm.md
Normal file
77
docs/uk/advanced/tflm.md
Normal file
@@ -0,0 +1,77 @@
|
||||
# TensorFlow Lite Micro (TFLM)
|
||||
|
||||
The PX4 [Multicopter Neural Network](advanced/neural_networks.md) module ([mc_nn_control](../modules/modules_controller.md#mc_nn_control)) integrates a neural network that uses the [TensorFlow Lite Micro (TFLM)](https://github.com/tensorflow/tflite-micro) inference library.
|
||||
|
||||
This is a mature inference library intended for use on embedded devices, and is hence a suitable choice for PX4.
|
||||
|
||||
This guide explains how the TFLM library is integrated into the [mc_nn_control](../modules/modules_controller.md#mc_nn_control) module, and the changes you would have to make to use it for your own neural network.
|
||||
|
||||
:::tip
|
||||
For more information, see the [TFLM guide](https://ai.google.dev/edge/litert/microcontrollers/get_started).
|
||||
:::
|
||||
|
||||
## TLMF NN Formats
|
||||
|
||||
TFLM uses networks in its own [tflite format](https://ai.google.dev/edge/litert/models/convert).
|
||||
However, since many microcontrollers do not have native filesystem support, a tflite file can be converted to a C++ source and header file.
|
||||
|
||||
This is what is done in `mc_nn_control`.
|
||||
The tflight neural network is represented in code by the files [`control_net.cpp`](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/mc_nn_control/control_net.cpp) and [`control_net.hpp`](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/mc_nn_control/control_net.hpp).
|
||||
|
||||
### Getting a Network in tflite Format
|
||||
|
||||
There are many online resource for generating networks in the `.tflite` format.
|
||||
|
||||
For this example we trained the network in the open source [Aerial Gym Simulator](https://ntnu-arl.github.io/aerial_gym_simulator/).
|
||||
Aerial Gym includes a guide, and supports RL both for control and vision-based navigation tasks.
|
||||
|
||||
The project includes conversion code for `PyTorch -> TFLM` in the [resources/conversion](https://github.com/ntnu-arl/aerial_gym_simulator/tree/main/resources/conversion) folder.
|
||||
|
||||
### Updating `mc_nn_control` with your own NN
|
||||
|
||||
You can convert a `.tflite` network into a `.cc` file in the ubuntu terminal with this command:
|
||||
|
||||
```sh
|
||||
xxd -i converted_model.tflite > model_data.cc
|
||||
```
|
||||
|
||||
You will then have to modify the `control_net.hpp` and `control_net.cpp` to include the data from `model_data.cc`:
|
||||
|
||||
- Take the size of the network in the bottom of the `.cc` file and replace the size in `control_net.hpp`.
|
||||
- Take the data in the model array in the `cc` file, and replace the ones in `control_net.cpp`.
|
||||
|
||||
You are now ready to run your own network.
|
||||
|
||||
## Code Explanation
|
||||
|
||||
This section explains the code used to integrate the NN in `control_net.cpp`.
|
||||
|
||||
### Operations and Resolver
|
||||
|
||||
Firstly we need to create the resolver and load the needed operators to run inference on the NN.
|
||||
This is done in the top of `mc_nn_control.cpp`.
|
||||
The number in `MicroMutableOpResolver<3>` represents how many operations you need to run the inference.
|
||||
|
||||
A full list of the operators can be found in the [micro_mutable_op_resolver.h](https://github.com/tensorflow/tflite-micro/blob/main/tensorflow/lite/micro/micro_mutable_op_resolver.h) file.
|
||||
There are quite a few supported operators, but you will not find the most advanced ones.
|
||||
In the control example the network is fully connected so we use `AddFullyConnected()`.
|
||||
Then the activation function is ReLU, and we `AddAdd()` for the bias on each neuron.
|
||||
|
||||
### Interpreter
|
||||
|
||||
In the `InitializeNetwork()` we start by setting up the model that we loaded from the source and header file.
|
||||
Next is to set up the interpreter, this code is taken from the TFLM documentation and is thoroughly explained there.
|
||||
The end state is that the `_control_interpreter` is set up to later run inference with the `Invoke()` member function.
|
||||
The `_input_tensor` is also defined, it is fetched from `_control_interpreter->input(0)`.
|
||||
|
||||
### Вхідні дані
|
||||
|
||||
The `_input_tensor` is filled in the `PopulateInputTensor()` function.
|
||||
`_input_tensor` works by accessing the `->data.f` member array and fill in the required inputs for your network.
|
||||
The inputs used in the control network is covered in [Neural Networks](../advanced/neural_networks.md).
|
||||
|
||||
### Виводи
|
||||
|
||||
For the outputs the approach is fairly similar to the inputs.
|
||||
After setting the correct inputs, calling the `Invoke()` function the outputs can be found by getting `_control_interpreter->output(0)`.
|
||||
And from the output tensor you get the `->data.f` array.
|
||||
@@ -1,12 +1,33 @@
|
||||
# Конфігурація завершення польоту
|
||||
|
||||
Дія _аварійного зупинення польоту_ може бути викликана [автономною захисною дією](../config/safety.md#failsafe-actions) (наприклад, втрата зв'язку з радіокеруванням, порушення геозони тощо на будь-якому типі транспортного засобу або у будь-якому режимі польоту), або [виявником відмов](../config/safety.md#failure-detector).
|
||||
The _Flight termination_ [failsafe action](../config/safety.md#failsafe-actions) irreversibly turns off controllers and sets PWM values to their parameter configured failsafe values.
|
||||
|
||||
:::info
|
||||
Flight termination may also be triggered from a ground station or companion computer using the MAVLink [MAV_CMD_DO_FLIGHTTERMINATION](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_FLIGHTTERMINATION) command.
|
||||
This is sent, for example, when you call the [MAVSDK Action plugin](https://mavsdk.mavlink.io/main/en/cpp/api_reference/classmavsdk_1_1_action.html#classmavsdk_1_1_action_1a47536c4a4bc8367ccd30a92eb09781c5) `terminate()` or `terminate_async()` methods.
|
||||
Flight termination differs from the [Kill action](../config/safety.html#kill-switch) in that it is permanent until after reboot.
|
||||
:::
|
||||
|
||||
:::warning
|
||||
This is _not_ an independent _Flight Termination System_.
|
||||
Якщо втрачається живлення або автопілот повністю відмовляє, аварійні пристрої не будуть активовані.
|
||||
:::
|
||||
|
||||
## Загальний огляд
|
||||
|
||||
### Termination Triggers
|
||||
|
||||
Termination may be triggered by:
|
||||
|
||||
- [Safety checks](../config/safety.md) for RC Loss, geofence violation, and so on (on any vehicle type or in any flight mode).
|
||||
- [Failure Detector](../config/safety.md#failure-detector) trigger
|
||||
- RC termination switch (mapped to an RC channel using [RC_MAP_TERM_SW](../advanced_config/parameter_reference.md#RC_MAP_TERM_SW)).
|
||||
- The MAVLink [MAV_CMD_DO_FLIGHTTERMINATION](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_FLIGHTTERMINATION) MAVLink command from a GCS or companion computer (see [MAVLink Trigger](#mavlink-trigger) below).
|
||||
|
||||
Немає можливості відновлення після аварійного припинення польоту.
|
||||
Після виклику аварійного припинення польоту вам слід якнайшвидше відключити батарею.
|
||||
Перед тим, як знову використовувати транспортний засіб, вам доведеться перезавантажити/вимкнути живлення.
|
||||
|
||||
### Termination Actions
|
||||
|
||||
Коли активується _аварійне припинення польоту_, PX4 одночасно вимикає всі контролери та встановлює всі виходи PWM у значення аварійного режиму.
|
||||
|
||||
Залежно від підключених пристроїв, вихідні значення аварійного режиму PWM можуть бути використані для:
|
||||
@@ -17,10 +38,6 @@ This is sent, for example, when you call the [MAVSDK Action plugin](https://mavs
|
||||
- Запустіть надувний пристрій, наприклад подушку безпеки.
|
||||
- Запустити тривогу.
|
||||
|
||||
Немає можливості відновлення після аварійного припинення польоту.
|
||||
Після виклику аварійного припинення польоту вам слід якнайшвидше відключити батарею.
|
||||
Перед тим, як знову використовувати транспортний засіб, вам доведеться перезавантажити/вимкнути живлення.
|
||||
|
||||
:::tip
|
||||
PX4 не знає, які пристрої безпеки приєднані - він просто застосовує заздалегідь визначений набір значень ШІМ до своїх виходів.
|
||||
:::
|
||||
@@ -30,11 +47,6 @@ Failsafe values are applied to all outputs on termination.
|
||||
Немає способу налаштувати незалежне тригерування моторів або конкретних пристроїв безпеки на основі часу (або іншого критерію).
|
||||
:::
|
||||
|
||||
:::info
|
||||
This is _not_ an independent _Flight Termination System_.
|
||||
Якщо втрачається живлення або автопілот повністю відмовляє, аварійні пристрої не будуть активовані.
|
||||
:::
|
||||
|
||||
## Конфігурація апаратного забезпечення
|
||||
|
||||
Будь-який _пристрій безпеки_ (наприклад, [парашут](../peripherals/parachute.md)), який може бути активований зміною значення PWM, може бути використаний та підключений до будь-якого вільного порту PWM (як MAIN, так і AUX).
|
||||
@@ -70,6 +82,17 @@ This is _not_ an independent _Flight Termination System_.
|
||||
|
||||
Для кожного AUX виходу, до якого підключений пристрій безпеки, де "n" - номер порту PWM, встановіть:
|
||||
|
||||
:::info
|
||||
Flight termination via ATS only works if `drivers/pwm_input` is included in the firmware for your board.
|
||||
If not, you need to add it manually to your board configuration using [boardconfig](../hardware/porting_guide_config.md#px4-menuconfig-setup).
|
||||
:::
|
||||
|
||||
## MAVLink Trigger
|
||||
|
||||
The [MAV_CMD_DO_FLIGHTTERMINATION](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_FLIGHTTERMINATION) command can be used to trigger Flight termination from a ground station or companion computer.
|
||||
|
||||
This is sent, for example, when you call the [MAVSDK Action plugin](https://mavsdk.mavlink.io/main/en/cpp/api_reference/classmavsdk_1_1_action.html#classmavsdk_1_1_action_1a47536c4a4bc8367ccd30a92eb09781c5) `terminate()` or `terminate_async()` methods.
|
||||
|
||||
## Схема логіки
|
||||
|
||||
Нарешті, встановіть значення PWM для портів `PWM_AUX_FAILn` та `PWM_MAIN_FAILn` для будь-яких двигунів.
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
# Aion Robotics R1 UGV
|
||||
|
||||
<Badge type="tip" text="PX4 v1.15" />
|
||||
<Badge type="tip" text="PX4 v1.15" /> <Badge type="info" text="Discontinued" />
|
||||
|
||||
:::warning
|
||||
This vehicle has been discontinued and is no longer available from its manufacturer.
|
||||
It is still available for purchase from other vendors (e.g. second hand).
|
||||
:::
|
||||
|
||||
The [Aion R1](https://www.aionrobotics.com/) vehicle was chosen to test and improve the differential drive support for PX4, and to improve driver support for Roboclaw Motor Controllers, such as the [RoboClaw 2x15A](https://www.basicmicro.com/RoboClaw-2x15A-Motor-Controller_p_10.html).
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ _QGroundControl for Windows_ is additionally required if you need to:
|
||||
Note that you can also use it to monitor a simulation, but you must manually [connect to the simulation running in WSL](#qgroundcontrol-on-windows).
|
||||
|
||||
:::info
|
||||
Connecting to a USB device from within WSL is not supported, so you can't update firmware using the [`upload`](../dev_setup/building_px4.md#uploading-firmware-flashing-the-board) option when building on the command line, or from _QGroundControl for Linux_.
|
||||
Connecting to an USB device from within WSL is not natively supported, however it can still be achieved by using the [USBIPD-WIN](https://learn.microsoft.com/en-us/windows/wsl/connect-usb) project. With this you can automatically upload firmware from the command line in WSL using the [`upload`](../dev_setup/building_px4.md#uploading-firmware-flashing-the-board) function.
|
||||
:::
|
||||
|
||||
:::info
|
||||
|
||||
@@ -330,46 +330,6 @@ rover_mecanum <command> [arguments...]
|
||||
status print status info
|
||||
```
|
||||
|
||||
## rover_pos_control
|
||||
|
||||
Source: [modules/rover_pos_control](https://github.com/PX4/PX4-Autopilot/tree/main/src/modules/rover_pos_control)
|
||||
|
||||
### Опис
|
||||
|
||||
Controls the position of a ground rover using an L1 controller.
|
||||
|
||||
Publishes `vehicle_thrust_setpoint (only in x) and vehicle_torque_setpoint (only yaw)` messages at IMU_GYRO_RATEMAX.
|
||||
|
||||
### Імплементація
|
||||
|
||||
Currently, this implementation supports only a few modes:
|
||||
|
||||
- Full manual: Throttle and yaw controls are passed directly through to the actuators
|
||||
- Auto mission: The rover runs missions
|
||||
- Loiter: The rover will navigate to within the loiter radius, then stop the motors
|
||||
|
||||
### Приклади
|
||||
|
||||
CLI usage example:
|
||||
|
||||
```
|
||||
rover_pos_control start
|
||||
rover_pos_control status
|
||||
rover_pos_control stop
|
||||
```
|
||||
|
||||
### Usage {#rover_pos_control_usage}
|
||||
|
||||
```
|
||||
rover_pos_control <command> [arguments...]
|
||||
Commands:
|
||||
start
|
||||
|
||||
stop
|
||||
|
||||
status print status info
|
||||
```
|
||||
|
||||
## spacecraft
|
||||
|
||||
Source: [modules/spacecraft](https://github.com/PX4/PX4-Autopilot/tree/main/src/modules/spacecraft)
|
||||
@@ -388,6 +348,8 @@ spacecraft <command> [arguments...]
|
||||
Commands:
|
||||
start
|
||||
|
||||
status
|
||||
|
||||
stop
|
||||
|
||||
status print status info
|
||||
|
||||
@@ -327,9 +327,6 @@ dshot <command> [arguments...]
|
||||
beep5 Send Beep pattern 5
|
||||
[-m <val>] Motor index (1-based, default=all)
|
||||
|
||||
esc_info Request ESC information
|
||||
-m <val> Motor index (1-based)
|
||||
|
||||
stop
|
||||
|
||||
status print status info
|
||||
@@ -839,6 +836,8 @@ msp_osd <command> [arguments...]
|
||||
stop
|
||||
|
||||
status print status info
|
||||
|
||||
channel Change VTX channel
|
||||
```
|
||||
|
||||
## newpixel
|
||||
|
||||
@@ -32,8 +32,6 @@ afbrs50 <command> [arguments...]
|
||||
[-r <val>] Sensor rotation - downward facing by default
|
||||
default: 25
|
||||
|
||||
test Test driver
|
||||
|
||||
stop Stop driver
|
||||
```
|
||||
|
||||
@@ -206,6 +204,42 @@ lightware_sf45_serial <command> [arguments...]
|
||||
|
||||
## ll40ls
|
||||
|
||||
Source: [drivers/distance_sensor/ll40ls](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/distance_sensor/ll40ls)
|
||||
|
||||
### Опис
|
||||
|
||||
I2C bus driver for LidarLite rangefinders.
|
||||
|
||||
The sensor/driver must be enabled using the parameter SENS_EN_LL40LS.
|
||||
|
||||
Setup/usage information: https://docs.px4.io/main/en/sensor/lidar_lite.html
|
||||
|
||||
### Usage {#ll40ls_usage}
|
||||
|
||||
```
|
||||
ll40ls <command> [arguments...]
|
||||
Commands:
|
||||
start
|
||||
[-I] Internal I2C bus(es)
|
||||
[-X] External I2C bus(es)
|
||||
[-b <val>] board-specific bus (default=all) (external SPI: n-th bus
|
||||
(default=1))
|
||||
[-f <val>] bus frequency in kHz
|
||||
[-q] quiet startup (no message if no device found)
|
||||
[-a <val>] I2C address
|
||||
default: 98
|
||||
[-R <val>] Sensor rotation - downward facing by default
|
||||
default: 25
|
||||
|
||||
regdump
|
||||
|
||||
stop
|
||||
|
||||
status print status info
|
||||
```
|
||||
|
||||
## ll40ls_pwm
|
||||
|
||||
Source: [drivers/distance_sensor/ll40ls_pwm](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/distance_sensor/ll40ls_pwm)
|
||||
|
||||
### Опис
|
||||
@@ -216,10 +250,10 @@ The sensor/driver must be enabled using the parameter SENS_EN_LL40LS.
|
||||
|
||||
Setup/usage information: https://docs.px4.io/main/en/sensor/lidar_lite.html
|
||||
|
||||
### Usage {#ll40ls_usage}
|
||||
### Usage {#ll40ls_pwm_usage}
|
||||
|
||||
```
|
||||
ll40ls <command> [arguments...]
|
||||
ll40ls_pwm <command> [arguments...]
|
||||
Commands:
|
||||
start Start driver
|
||||
[-R <val>] Sensor rotation - downward facing by default
|
||||
|
||||
@@ -325,6 +325,32 @@ qmc5883l <command> [arguments...]
|
||||
status print status info
|
||||
```
|
||||
|
||||
## qmc5883p
|
||||
|
||||
Source: [drivers/magnetometer/qmc5883p](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/magnetometer/qmc5883p)
|
||||
|
||||
### Usage {#qmc5883p_usage}
|
||||
|
||||
```
|
||||
qmc5883p <command> [arguments...]
|
||||
Commands:
|
||||
start
|
||||
[-I] Internal I2C bus(es)
|
||||
[-X] External I2C bus(es)
|
||||
[-b <val>] board-specific bus (default=all) (external SPI: n-th bus
|
||||
(default=1))
|
||||
[-f <val>] bus frequency in kHz
|
||||
[-q] quiet startup (no message if no device found)
|
||||
[-a <val>] I2C address
|
||||
default: 44
|
||||
[-R <val>] Rotation
|
||||
default: 0
|
||||
|
||||
stop
|
||||
|
||||
status print status info
|
||||
```
|
||||
|
||||
## rm3100
|
||||
|
||||
Source: [drivers/magnetometer/rm3100](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/magnetometer/rm3100)
|
||||
|
||||
@@ -62,7 +62,7 @@ The `CAMERA_IMAGE_CAPTURED` message is then emitted (by streaming code) followin
|
||||
### Імплементація
|
||||
|
||||
`CameraTrigger` topics are published by the `camera_trigger` module (`feedback` field set `false`)
|
||||
when image capture is triggered, and may also be published by the `camera_capture` driver
|
||||
when image capture is triggered, and may also be published by the `camera_capture` driver
|
||||
(with `feedback` field set `true`) if the camera capture pin is activated.
|
||||
|
||||
The `camera_feedback` module subscribes to `CameraTrigger`.
|
||||
@@ -281,6 +281,33 @@ gyro_fft <command> [arguments...]
|
||||
status print status info
|
||||
```
|
||||
|
||||
## hardfault_stream
|
||||
|
||||
Source: [modules/hardfault_stream](https://github.com/PX4/PX4-Autopilot/tree/main/src/modules/hardfault_stream)
|
||||
|
||||
### Опис
|
||||
|
||||
Background process that streams the latest hardfault via MAVLink.
|
||||
|
||||
The module is especially useful when it is necessary to quickly push a hard fault to the ground station.
|
||||
This is useful in cases where the drone experiences a hard fault during flight.
|
||||
It ensures that some data is retained in case the permanent storage is destroyed during a crash.
|
||||
|
||||
To reliably stream, it is necessary to send the STATUSTEXT message via MAVLink at a
|
||||
high enough frequency. The recommended frequency is 10 Hz or higher.
|
||||
|
||||
### Usage {#hardfault_stream_usage}
|
||||
|
||||
```
|
||||
hardfault_stream <command> [arguments...]
|
||||
Commands:
|
||||
start Start the background task
|
||||
|
||||
stop
|
||||
|
||||
status print status info
|
||||
```
|
||||
|
||||
## heater
|
||||
|
||||
Source: [drivers/heater](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/heater)
|
||||
@@ -367,8 +394,10 @@ The state machine:
|
||||
|
||||
- Checks if [Rpm.msg](../msg_docs/Rpm.md) is updated to know if the engine is running
|
||||
- Allows for user inputs from:
|
||||
- AUX{N}
|
||||
- Manual control AUX
|
||||
- Arming state in [VehicleStatus.msg](../msg_docs/VehicleStatus.md)
|
||||
- In the state "Stopped" the throttle is set to NAN, which by definition will set the
|
||||
throttle output to the disarmed value configured for the specific output.
|
||||
|
||||
The module publishes [InternalCombustionEngineControl.msg](../msg_docs/InternalCombustionEngineControl.md).
|
||||
|
||||
@@ -611,8 +640,8 @@ The `show` option will display the network settings in `net.cfg` to the console.
|
||||
|
||||
### Приклади
|
||||
|
||||
$ netman save # Save the parameters to the SD card.
|
||||
$ netman show # display current settings.
|
||||
$ netman save # Save the parameters to the SD card.
|
||||
$ netman show # display current settings.
|
||||
$ netman update -i eth0 # do an update
|
||||
|
||||
### Usage {#netman_usage}
|
||||
|
||||
@@ -14,6 +14,7 @@ uint8 ACTION_KILL = 4
|
||||
uint8 ACTION_SWITCH_MODE = 5
|
||||
uint8 ACTION_VTOL_TRANSITION_TO_MULTICOPTER = 6
|
||||
uint8 ACTION_VTOL_TRANSITION_TO_FIXEDWING = 7
|
||||
uint8 ACTION_TERMINATE = 8
|
||||
|
||||
uint8 source # how the request was triggered
|
||||
uint8 SOURCE_STICK_GESTURE = 0
|
||||
|
||||
@@ -2,23 +2,27 @@
|
||||
|
||||
Повідомлення про керування двигуном
|
||||
|
||||
Normalised thrust setpoint for up to 12 motors.
|
||||
Published by the vehicle's allocation and consumed by the ESC protocol drivers e.g. PWM, DSHOT, UAVCAN.
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/versioned/ActuatorMotors.msg)
|
||||
|
||||
```c
|
||||
# Motor control message
|
||||
#
|
||||
# Normalised thrust setpoint for up to 12 motors.
|
||||
# Published by the vehicle's allocation and consumed by the ESC protocol drivers e.g. PWM, DSHOT, UAVCAN.
|
||||
|
||||
uint32 MESSAGE_VERSION = 0
|
||||
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
uint64 timestamp_sample # the timestamp the data this control response is based on was sampled
|
||||
uint64 timestamp # [us] Time since system start
|
||||
uint64 timestamp_sample # [us] Sampling timestamp of the data this control response is based on
|
||||
|
||||
uint16 reversible_flags # bitset which motors are configured to be reversible
|
||||
uint16 reversible_flags # Bitset indicating which motors are configured to be reversible
|
||||
|
||||
uint8 ACTUATOR_FUNCTION_MOTOR1 = 101
|
||||
|
||||
uint8 NUM_CONTROLS = 12
|
||||
float32[12] control # range: [-1, 1], where 1 means maximum positive thrust,
|
||||
# -1 maximum negative (if not supported by the output, <0 maps to NaN),
|
||||
# and NaN maps to disarmed (stop the motors)
|
||||
float32[12] control # [@range -1, 1] Normalized thrust. where 1 means maximum positive thrust, -1 maximum negative (if not supported by the output, <0 maps to NaN). NaN maps to disarmed (stop the motors)
|
||||
|
||||
```
|
||||
|
||||
@@ -2,19 +2,23 @@
|
||||
|
||||
Повідомлення про керування сервоприводом
|
||||
|
||||
Normalised output setpoint for up to 8 servos.
|
||||
Published by the vehicle's allocation and consumed by the actuator output drivers.
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/versioned/ActuatorServos.msg)
|
||||
|
||||
```c
|
||||
# Servo control message
|
||||
#
|
||||
# Normalised output setpoint for up to 8 servos.
|
||||
# Published by the vehicle's allocation and consumed by the actuator output drivers.
|
||||
|
||||
uint32 MESSAGE_VERSION = 0
|
||||
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
uint64 timestamp_sample # the timestamp the data this control response is based on was sampled
|
||||
uint64 timestamp # [us] Time since system start
|
||||
uint64 timestamp_sample # [us] Sampling timestamp of the data this control response is based on
|
||||
|
||||
uint8 NUM_CONTROLS = 8
|
||||
float32[8] control # range: [-1, 1], where 1 means maximum positive position,
|
||||
# -1 maximum negative,
|
||||
# and NaN maps to disarmed
|
||||
float32[8] control # [@range -1, 1] Normalized output. 1 means maximum positive position. -1 maximum negative position (if not supported by the output, <0 maps to NaN). NaN maps to disarmed.
|
||||
|
||||
```
|
||||
|
||||
@@ -1,15 +1,22 @@
|
||||
# Airspeed (повідомлення UORB)
|
||||
|
||||
Airspeed data from sensors
|
||||
|
||||
This is published by airspeed sensor drivers, CAN airspeed sensors, simulators.
|
||||
It is subscribed by the airspeed selector module, which validates the data from multiple sensors and passes on a single estimation to the EKF, controllers and telemetry providers.
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/Airspeed.msg)
|
||||
|
||||
```c
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
uint64 timestamp_sample
|
||||
# Airspeed data from sensors
|
||||
#
|
||||
# This is published by airspeed sensor drivers, CAN airspeed sensors, simulators.
|
||||
# It is subscribed by the airspeed selector module, which validates the data from multiple sensors and passes on a single estimation to the EKF, controllers and telemetry providers.
|
||||
|
||||
float32 indicated_airspeed_m_s # indicated airspeed in m/s
|
||||
|
||||
float32 true_airspeed_m_s # true filtered airspeed in m/s
|
||||
|
||||
float32 confidence # confidence value from 0 to 1 for this sensor
|
||||
uint64 timestamp # [us] Time since system start
|
||||
uint64 timestamp_sample # [us] Timestamp of the raw data
|
||||
float32 indicated_airspeed_m_s # [m/s] Indicated airspeed
|
||||
float32 true_airspeed_m_s # [m/s] True airspeed
|
||||
float32 confidence # [@range 0,1] Confidence value for this sensor
|
||||
|
||||
```
|
||||
|
||||
@@ -1,41 +1,59 @@
|
||||
# ArmingCheckReply (повідомлення UORB)
|
||||
|
||||
Arming check reply.
|
||||
|
||||
This is a response to an ArmingCheckRequest message sent by the FMU to an external component, such as a ROS 2 navigation mode.
|
||||
The response contains the current set of external mode requirements, and a queue of events indicating recent failures to set the mode (which the FMU may then forward to a ground station).
|
||||
The request is sent regularly to all registered ROS modes, even while armed, so that the FMU always knows and can forward the current state.
|
||||
|
||||
Note that the external component is identified by its registration_id, which is allocated to the component during registration (arming_check_id in RegisterExtComponentReply).
|
||||
The message is not used by internal/FMU components, as their mode requirements are known at compile time.
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/versioned/ArmingCheckReply.msg)
|
||||
|
||||
```c
|
||||
uint32 MESSAGE_VERSION = 0
|
||||
# Arming check reply.
|
||||
#
|
||||
# This is a response to an ArmingCheckRequest message sent by the FMU to an external component, such as a ROS 2 navigation mode.
|
||||
# The response contains the current set of external mode requirements, and a queue of events indicating recent failures to set the mode (which the FMU may then forward to a ground station).
|
||||
# The request is sent regularly to all registered ROS modes, even while armed, so that the FMU always knows and can forward the current state.
|
||||
#
|
||||
# Note that the external component is identified by its registration_id, which is allocated to the component during registration (arming_check_id in RegisterExtComponentReply).
|
||||
# The message is not used by internal/FMU components, as their mode requirements are known at compile time.
|
||||
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
uint32 MESSAGE_VERSION = 1
|
||||
|
||||
uint8 request_id
|
||||
uint8 registration_id
|
||||
uint64 timestamp # [us] Time since system start.
|
||||
|
||||
uint8 HEALTH_COMPONENT_INDEX_NONE = 0
|
||||
uint8 request_id # Id of ArmingCheckRequest for which this is a response.
|
||||
uint8 registration_id # Id of external component emitting this response.
|
||||
|
||||
uint8 health_component_index # HEALTH_COMPONENT_INDEX_*
|
||||
bool health_component_is_present
|
||||
bool health_component_warning
|
||||
bool health_component_error
|
||||
uint8 HEALTH_COMPONENT_INDEX_NONE = 0 # Index of health component for which this response applies.
|
||||
|
||||
bool can_arm_and_run # whether arming is possible, and if it's a navigation mode, if it can run
|
||||
uint8 health_component_index # [@enum HEALTH_COMPONENT_INDEX]
|
||||
bool health_component_is_present # Unused. Intended for use with health events interface (health_component_t in events.json).
|
||||
bool health_component_warning # Unused. Intended for use with health events interface (health_component_t in events.json).
|
||||
bool health_component_error # Unused. Intended for use with health events interface (health_component_t in events.json).
|
||||
|
||||
uint8 num_events
|
||||
bool can_arm_and_run # True if the component can arm. For navigation mode components, true if the component can arm in the mode or switch to the mode when already armed.
|
||||
|
||||
Event[5] events
|
||||
uint8 num_events # Number of queued failure messages (Event) in the events field.
|
||||
|
||||
Event[5] events # Arming failure reasons (Queue of events to report to GCS).
|
||||
|
||||
# Mode requirements
|
||||
bool mode_req_angular_velocity
|
||||
bool mode_req_attitude
|
||||
bool mode_req_local_alt
|
||||
bool mode_req_local_position
|
||||
bool mode_req_local_position_relaxed
|
||||
bool mode_req_global_position
|
||||
bool mode_req_mission
|
||||
bool mode_req_home_position
|
||||
bool mode_req_prevent_arming
|
||||
bool mode_req_manual_control
|
||||
bool mode_req_angular_velocity # Requires angular velocity estimate (e.g. from gyroscope).
|
||||
bool mode_req_attitude # Requires an attitude estimate.
|
||||
bool mode_req_local_alt # Requires a local altitude estimate.
|
||||
bool mode_req_local_position # Requires a local position estimate.
|
||||
bool mode_req_local_position_relaxed # Requires a more relaxed global position estimate.
|
||||
bool mode_req_global_position # Requires a global position estimate.
|
||||
bool mode_req_global_position_relaxed # Requires a relaxed global position estimate.
|
||||
bool mode_req_mission # Requires an uploaded mission.
|
||||
bool mode_req_home_position # Requires a home position (such as RTL/Return mode).
|
||||
bool mode_req_prevent_arming # Prevent arming (such as in Land mode).
|
||||
bool mode_req_manual_control # Requires a manual controller
|
||||
|
||||
|
||||
uint8 ORB_QUEUE_LENGTH = 4
|
||||
uint8 ORB_QUEUE_LENGTH = 4 #
|
||||
|
||||
```
|
||||
|
||||
41
docs/uk/msg_docs/ArmingCheckReplyV0.md
Normal file
41
docs/uk/msg_docs/ArmingCheckReplyV0.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# ArmingCheckReplyV0 (UORB message)
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/px4_msgs_old/msg/ArmingCheckReplyV0.msg)
|
||||
|
||||
```c
|
||||
uint32 MESSAGE_VERSION = 0
|
||||
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
|
||||
uint8 request_id
|
||||
uint8 registration_id
|
||||
|
||||
uint8 HEALTH_COMPONENT_INDEX_NONE = 0
|
||||
|
||||
uint8 health_component_index # HEALTH_COMPONENT_INDEX_*
|
||||
bool health_component_is_present
|
||||
bool health_component_warning
|
||||
bool health_component_error
|
||||
|
||||
bool can_arm_and_run # whether arming is possible, and if it's a navigation mode, if it can run
|
||||
|
||||
uint8 num_events
|
||||
|
||||
EventV0[5] events
|
||||
|
||||
# Mode requirements
|
||||
bool mode_req_angular_velocity
|
||||
bool mode_req_attitude
|
||||
bool mode_req_local_alt
|
||||
bool mode_req_local_position
|
||||
bool mode_req_local_position_relaxed
|
||||
bool mode_req_global_position
|
||||
bool mode_req_mission
|
||||
bool mode_req_home_position
|
||||
bool mode_req_prevent_arming
|
||||
bool mode_req_manual_control
|
||||
|
||||
|
||||
uint8 ORB_QUEUE_LENGTH = 4
|
||||
|
||||
```
|
||||
@@ -1,14 +1,30 @@
|
||||
# ArmingCheckRequest (повідомлення UORB)
|
||||
|
||||
Arming check request.
|
||||
|
||||
Broadcast message to request arming checks be reported by all registered components, such as external ROS 2 navigation modes.
|
||||
All registered components should respond with an ArmingCheckReply message that indicates their current mode requirements, and any arming failure information.
|
||||
The request is sent regularly, even while armed, so that the FMU always knows the current arming state for external modes, and can forward it to ground stations.
|
||||
|
||||
The reply will include the published request_id, allowing correlation of all arming check information for a particular request.
|
||||
The reply will also include the registration_id for each external component, provided to it during the registration process (RegisterExtComponentReply).
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/versioned/ArmingCheckRequest.msg)
|
||||
|
||||
```c
|
||||
# Arming check request.
|
||||
#
|
||||
# Broadcast message to request arming checks be reported by all registered components, such as external ROS 2 navigation modes.
|
||||
# All registered components should respond with an ArmingCheckReply message that indicates their current mode requirements, and any arming failure information.
|
||||
# The request is sent regularly, even while armed, so that the FMU always knows the current arming state for external modes, and can forward it to ground stations.
|
||||
#
|
||||
# The reply will include the published request_id, allowing correlation of all arming check information for a particular request.
|
||||
# The reply will also include the registration_id for each external component, provided to it during the registration process (RegisterExtComponentReply).
|
||||
|
||||
uint32 MESSAGE_VERSION = 0
|
||||
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
uint64 timestamp # [us] Time since system start.
|
||||
|
||||
# broadcast message to request all registered arming checks to be reported
|
||||
|
||||
uint8 request_id
|
||||
uint8 request_id # Id of this request. Allows correlation with associated ArmingCheckReply messages.
|
||||
|
||||
```
|
||||
|
||||
21
docs/uk/msg_docs/BatteryInfo.md
Normal file
21
docs/uk/msg_docs/BatteryInfo.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# BatteryInfo (UORB message)
|
||||
|
||||
Battery information
|
||||
|
||||
Static or near-invariant battery information.
|
||||
Should be streamed at low rate.
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/BatteryInfo.msg)
|
||||
|
||||
```c
|
||||
# Battery information
|
||||
#
|
||||
# Static or near-invariant battery information.
|
||||
# Should be streamed at low rate.
|
||||
|
||||
uint64 timestamp # [us] Time since system start
|
||||
|
||||
uint8 id # Must match the id in the battery_status message for the same battery
|
||||
char[32] serial_number # [@invalid 0 All bytes] Serial number of the battery pack in ASCII characters, 0 terminated
|
||||
|
||||
```
|
||||
@@ -1,81 +1,91 @@
|
||||
# BatteryStatus (повідомлення UORB)
|
||||
|
||||
Battery status
|
||||
|
||||
Battery status information for up to 4 battery instances.
|
||||
These are populated from power module and smart battery device drivers, and one battery updated from MAVLink.
|
||||
Battery instance information is also logged and streamed in MAVLink telemetry.
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/versioned/BatteryStatus.msg)
|
||||
|
||||
```c
|
||||
uint32 MESSAGE_VERSION = 0
|
||||
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
bool connected # Whether or not a battery is connected, based on a voltage threshold
|
||||
float32 voltage_v # Battery voltage in volts, 0 if unknown
|
||||
float32 current_a # Battery current in amperes, -1 if unknown
|
||||
float32 current_average_a # Battery current average in amperes (for FW average in level flight), -1 if unknown
|
||||
float32 discharged_mah # Discharged amount in mAh, -1 if unknown
|
||||
float32 remaining # From 1 to 0, -1 if unknown
|
||||
float32 scale # Power scaling factor, >= 1, or -1 if unknown
|
||||
float32 time_remaining_s # predicted time in seconds remaining until battery is empty under previous averaged load, NAN if unknown
|
||||
float32 temperature # Temperature of the battery in degrees Celcius, NaN if unknown
|
||||
uint8 cell_count # Number of cells, 0 if unknown
|
||||
|
||||
uint8 SOURCE_POWER_MODULE = 0
|
||||
uint8 SOURCE_EXTERNAL = 1
|
||||
uint8 SOURCE_ESCS = 2
|
||||
uint8 source # Battery source
|
||||
uint8 priority # Zero based priority is the connection on the Power Controller V1..Vn AKA BrickN-1
|
||||
uint16 capacity # actual capacity of the battery
|
||||
uint16 cycle_count # number of discharge cycles the battery has experienced
|
||||
uint16 average_time_to_empty # predicted remaining battery capacity based on the average rate of discharge in min
|
||||
uint16 serial_number # serial number of the battery pack
|
||||
uint16 manufacture_date # manufacture date, part of serial number of the battery pack. Formatted as: Day + Month×32 + (Year–1980)×512
|
||||
uint16 state_of_health # state of health. FullChargeCapacity/DesignCapacity, 0-100%.
|
||||
uint16 max_error # max error, expected margin of error in % in the state-of-charge calculation with a range of 1 to 100%
|
||||
uint8 id # ID number of a battery. Should be unique and consistent for the lifetime of a vehicle. 1-indexed.
|
||||
uint16 interface_error # interface error counter
|
||||
|
||||
float32[14] voltage_cell_v # Battery individual cell voltages, 0 if unknown
|
||||
float32 max_cell_voltage_delta # Max difference between individual cell voltages
|
||||
|
||||
bool is_powering_off # Power off event imminent indication, false if unknown
|
||||
bool is_required # Set if the battery is explicitly required before arming
|
||||
|
||||
|
||||
uint8 WARNING_NONE = 0 # no battery low voltage warning active
|
||||
uint8 WARNING_LOW = 1 # warning of low voltage
|
||||
uint8 WARNING_CRITICAL = 2 # critical voltage, return / abort immediately
|
||||
uint8 WARNING_EMERGENCY = 3 # immediate landing required
|
||||
uint8 WARNING_FAILED = 4 # the battery has failed completely
|
||||
uint8 STATE_UNHEALTHY = 6 # Battery is diagnosed to be defective or an error occurred, usage is discouraged / prohibited. Possible causes (faults) are listed in faults field.
|
||||
uint8 STATE_CHARGING = 7 # Battery is charging
|
||||
|
||||
uint8 FAULT_DEEP_DISCHARGE = 0 # Battery has deep discharged
|
||||
uint8 FAULT_SPIKES = 1 # Voltage spikes
|
||||
uint8 FAULT_CELL_FAIL= 2 # One or more cells have failed
|
||||
uint8 FAULT_OVER_CURRENT = 3 # Over-current
|
||||
uint8 FAULT_OVER_TEMPERATURE = 4 # Over-temperature
|
||||
uint8 FAULT_UNDER_TEMPERATURE = 5 # Under-temperature fault
|
||||
uint8 FAULT_INCOMPATIBLE_VOLTAGE = 6 # Vehicle voltage is not compatible with this battery (batteries on same power rail should have similar voltage).
|
||||
uint8 FAULT_INCOMPATIBLE_FIRMWARE = 7 # Battery firmware is not compatible with current autopilot firmware
|
||||
uint8 FAULT_INCOMPATIBLE_MODEL = 8 # Battery model is not supported by the system
|
||||
uint8 FAULT_HARDWARE_FAILURE = 9 # hardware problem
|
||||
uint8 FAULT_FAILED_TO_ARM = 10 # Battery had a problem while arming
|
||||
uint8 FAULT_COUNT = 11 # Counter - keep it as last element!
|
||||
|
||||
uint16 faults # Smart battery supply status/fault flags (bitmask) for health indication.
|
||||
uint8 warning # Current battery warning
|
||||
# Battery status
|
||||
#
|
||||
# Battery status information for up to 4 battery instances.
|
||||
# These are populated from power module and smart battery device drivers, and one battery updated from MAVLink.
|
||||
# Battery instance information is also logged and streamed in MAVLink telemetry.
|
||||
|
||||
uint32 MESSAGE_VERSION = 1
|
||||
uint8 MAX_INSTANCES = 4
|
||||
|
||||
float32 full_charge_capacity_wh # The compensated battery capacity
|
||||
float32 remaining_capacity_wh # The compensated battery capacity remaining
|
||||
uint16 over_discharge_count # Number of battery overdischarge
|
||||
float32 nominal_voltage # Nominal voltage of the battery pack
|
||||
uint64 timestamp # [us] Time since system start
|
||||
bool connected # Whether or not a battery is connected. For power modules this is based on a voltage threshold.
|
||||
float32 voltage_v # [V] [@invalid 0] Battery voltage
|
||||
float32 current_a # [A] [@invalid -1] Battery current
|
||||
float32 current_average_a # [A] [@invalid -1] Battery current average (for FW average in level flight)
|
||||
float32 discharged_mah # [mAh] [@invalid -1] Discharged amount
|
||||
float32 remaining # [@range 0,1] [@invalid -1] Remaining capacity
|
||||
float32 scale # [@range 1,] [@invalid -1] Scaling factor to compensate for lower actuation power caused by voltage sag
|
||||
float32 time_remaining_s # [s] [@invalid NaN] Predicted time remaining until battery is empty under previous averaged load
|
||||
float32 temperature # [°C] [@invalid NaN] Temperature of the battery
|
||||
uint8 cell_count # [@invalid 0] Number of cells
|
||||
|
||||
float32 internal_resistance_estimate # [Ohm] Internal resistance per cell estimate
|
||||
float32 ocv_estimate # [V] Open circuit voltage estimate
|
||||
float32 ocv_estimate_filtered # [V] Filtered open circuit voltage estimate
|
||||
float32 volt_based_soc_estimate # [0, 1] Normalized volt based state of charge estimate
|
||||
float32 voltage_prediction # [V] Predicted voltage
|
||||
float32 prediction_error # [V] Prediction error
|
||||
float32 estimation_covariance_norm # Norm of the covariance matrix
|
||||
|
||||
uint8 source # [@enum SOURCE] Battery source
|
||||
uint8 SOURCE_POWER_MODULE = 0 # Power module
|
||||
uint8 SOURCE_EXTERNAL = 1 # External
|
||||
uint8 SOURCE_ESCS = 2 # ESCs
|
||||
|
||||
uint8 priority # Zero based priority is the connection on the Power Controller V1..Vn AKA BrickN-1
|
||||
uint16 capacity # [mAh] Capacity of the battery when fully charged
|
||||
uint16 cycle_count # Number of discharge cycles the battery has experienced
|
||||
uint16 average_time_to_empty # [minutes] Predicted remaining battery capacity based on the average rate of discharge
|
||||
uint16 manufacture_date # Manufacture date, part of serial number of the battery pack. Formatted as: Day + Month×32 + (Year–1980)×512
|
||||
uint16 state_of_health # [%] [@range 0, 100] State of health. FullChargeCapacity/DesignCapacity
|
||||
uint16 max_error # [%] [@range 1, 100] Max error, expected margin of error in the state-of-charge calculation
|
||||
uint8 id # ID number of a battery. Should be unique and consistent for the lifetime of a vehicle. 1-indexed
|
||||
uint16 interface_error # Interface error counter
|
||||
|
||||
float32[14] voltage_cell_v # [V] [@invalid 0] Battery individual cell voltages
|
||||
float32 max_cell_voltage_delta # Max difference between individual cell voltages
|
||||
|
||||
bool is_powering_off # Power off event imminent indication, false if unknown
|
||||
bool is_required # Set if the battery is explicitly required before arming
|
||||
|
||||
uint8 warning # [@enum WARNING STATE] Current battery warning
|
||||
uint8 WARNING_NONE = 0 # No battery low voltage warning active
|
||||
uint8 WARNING_LOW = 1 # Low voltage warning
|
||||
uint8 WARNING_CRITICAL = 2 # Critical voltage, return / abort immediately
|
||||
uint8 WARNING_EMERGENCY = 3 # Immediate landing required
|
||||
uint8 WARNING_FAILED = 4 # Battery has failed completely
|
||||
uint8 STATE_UNHEALTHY = 6 # Battery is diagnosed to be defective or an error occurred, usage is discouraged / prohibited. Possible causes (faults) are listed in faults field
|
||||
uint8 STATE_CHARGING = 7 # Battery is charging
|
||||
|
||||
uint16 faults # [@enum FAULT] Smart battery supply status/fault flags (bitmask) for health indication
|
||||
uint8 FAULT_DEEP_DISCHARGE = 0 # Battery has deep discharged
|
||||
uint8 FAULT_SPIKES = 1 # Voltage spikes
|
||||
uint8 FAULT_CELL_FAIL= 2 # One or more cells have failed
|
||||
uint8 FAULT_OVER_CURRENT = 3 # Over-current
|
||||
uint8 FAULT_OVER_TEMPERATURE = 4 # Over-temperature
|
||||
uint8 FAULT_UNDER_TEMPERATURE = 5 # Under-temperature fault
|
||||
uint8 FAULT_INCOMPATIBLE_VOLTAGE = 6 # Vehicle voltage is not compatible with this battery (batteries on same power rail should have similar voltage)
|
||||
uint8 FAULT_INCOMPATIBLE_FIRMWARE = 7 # Battery firmware is not compatible with current autopilot firmware
|
||||
uint8 FAULT_INCOMPATIBLE_MODEL = 8 # Battery model is not supported by the system
|
||||
uint8 FAULT_HARDWARE_FAILURE = 9 # Hardware problem
|
||||
uint8 FAULT_FAILED_TO_ARM = 10 # Battery had a problem while arming
|
||||
uint8 FAULT_COUNT = 11 # Counter. Keep this as last element
|
||||
|
||||
float32 full_charge_capacity_wh # [Wh] Compensated battery capacity
|
||||
float32 remaining_capacity_wh # [Wh] Compensated battery capacity remaining
|
||||
uint16 over_discharge_count # Number of battery overdischarge
|
||||
float32 nominal_voltage # [V] Nominal voltage of the battery pack
|
||||
|
||||
float32 internal_resistance_estimate # [Ohm] Internal resistance per cell estimate
|
||||
float32 ocv_estimate # [V] Open circuit voltage estimate
|
||||
float32 ocv_estimate_filtered # [V] Filtered open circuit voltage estimate
|
||||
float32 volt_based_soc_estimate # [@range 0, 1] Normalized volt based state of charge estimate
|
||||
float32 voltage_prediction # [V] Predicted voltage
|
||||
float32 prediction_error # [V] Prediction error
|
||||
float32 estimation_covariance_norm # Norm of the covariance matrix
|
||||
|
||||
```
|
||||
|
||||
92
docs/uk/msg_docs/BatteryStatusV0.md
Normal file
92
docs/uk/msg_docs/BatteryStatusV0.md
Normal file
@@ -0,0 +1,92 @@
|
||||
# BatteryStatusV0 (UORB message)
|
||||
|
||||
Battery status
|
||||
|
||||
Battery status information for up to 4 battery instances.
|
||||
These are populated from power module and smart battery device drivers, and one battery updated from MAVLink.
|
||||
Battery instance information is also logged and streamed in MAVLink telemetry.
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/px4_msgs_old/msg/BatteryStatusV0.msg)
|
||||
|
||||
```c
|
||||
# Battery status
|
||||
#
|
||||
# Battery status information for up to 4 battery instances.
|
||||
# These are populated from power module and smart battery device drivers, and one battery updated from MAVLink.
|
||||
# Battery instance information is also logged and streamed in MAVLink telemetry.
|
||||
|
||||
uint32 MESSAGE_VERSION = 0
|
||||
uint8 MAX_INSTANCES = 4
|
||||
|
||||
uint64 timestamp # [us] Time since system start
|
||||
bool connected # Whether or not a battery is connected. For power modules this is based on a voltage threshold.
|
||||
float32 voltage_v # [V] [@invalid 0] Battery voltage
|
||||
float32 current_a # [A] [@invalid -1] Battery current
|
||||
float32 current_average_a # [A] [@invalid -1] Battery current average (for FW average in level flight)
|
||||
float32 discharged_mah # [mAh] [@invalid -1] Discharged amount
|
||||
float32 remaining # [@range 0,1] [@invalid -1] Remaining capacity
|
||||
float32 scale # [@range 1,] [@invalid -1] Scaling factor to compensate for lower actuation power caused by voltage sag
|
||||
float32 time_remaining_s # [s] [@invalid NaN] Predicted time remaining until battery is empty under previous averaged load
|
||||
float32 temperature # [°C] [@invalid NaN] Temperature of the battery
|
||||
uint8 cell_count # [@invalid 0] Number of cells
|
||||
|
||||
|
||||
uint8 source # [@enum SOURCE] Battery source
|
||||
uint8 SOURCE_POWER_MODULE = 0 # Power module
|
||||
uint8 SOURCE_EXTERNAL = 1 # External
|
||||
uint8 SOURCE_ESCS = 2 # ESCs
|
||||
|
||||
uint8 priority # Zero based priority is the connection on the Power Controller V1..Vn AKA BrickN-1
|
||||
uint16 capacity # [mAh] Capacity of the battery when fully charged
|
||||
uint16 cycle_count # Number of discharge cycles the battery has experienced
|
||||
uint16 average_time_to_empty # [minutes] Predicted remaining battery capacity based on the average rate of discharge
|
||||
uint16 serial_number # Serial number of the battery pack
|
||||
uint16 manufacture_date # Manufacture date, part of serial number of the battery pack. Formatted as: Day + Month×32 + (Year–1980)×512
|
||||
uint16 state_of_health # [%] [@range 0, 100] State of health. FullChargeCapacity/DesignCapacity
|
||||
uint16 max_error # [%] [@range 1, 100] Max error, expected margin of error in the state-of-charge calculation
|
||||
uint8 id # ID number of a battery. Should be unique and consistent for the lifetime of a vehicle. 1-indexed
|
||||
uint16 interface_error # Interface error counter
|
||||
|
||||
float32[14] voltage_cell_v # [V] [@invalid 0] Battery individual cell voltages
|
||||
float32 max_cell_voltage_delta # Max difference between individual cell voltages
|
||||
|
||||
bool is_powering_off # Power off event imminent indication, false if unknown
|
||||
bool is_required # Set if the battery is explicitly required before arming
|
||||
|
||||
uint8 warning # [@enum WARNING STATE] Current battery warning
|
||||
uint8 WARNING_NONE = 0 # No battery low voltage warning active
|
||||
uint8 WARNING_LOW = 1 # Low voltage warning
|
||||
uint8 WARNING_CRITICAL = 2 # Critical voltage, return / abort immediately
|
||||
uint8 WARNING_EMERGENCY = 3 # Immediate landing required
|
||||
uint8 WARNING_FAILED = 4 # Battery has failed completely
|
||||
uint8 STATE_UNHEALTHY = 6 # Battery is diagnosed to be defective or an error occurred, usage is discouraged / prohibited. Possible causes (faults) are listed in faults field
|
||||
uint8 STATE_CHARGING = 7 # Battery is charging
|
||||
|
||||
uint16 faults # [@enum FAULT] Smart battery supply status/fault flags (bitmask) for health indication
|
||||
uint8 FAULT_DEEP_DISCHARGE = 0 # Battery has deep discharged
|
||||
uint8 FAULT_SPIKES = 1 # Voltage spikes
|
||||
uint8 FAULT_CELL_FAIL= 2 # One or more cells have failed
|
||||
uint8 FAULT_OVER_CURRENT = 3 # Over-current
|
||||
uint8 FAULT_OVER_TEMPERATURE = 4 # Over-temperature
|
||||
uint8 FAULT_UNDER_TEMPERATURE = 5 # Under-temperature fault
|
||||
uint8 FAULT_INCOMPATIBLE_VOLTAGE = 6 # Vehicle voltage is not compatible with this battery (batteries on same power rail should have similar voltage)
|
||||
uint8 FAULT_INCOMPATIBLE_FIRMWARE = 7 # Battery firmware is not compatible with current autopilot firmware
|
||||
uint8 FAULT_INCOMPATIBLE_MODEL = 8 # Battery model is not supported by the system
|
||||
uint8 FAULT_HARDWARE_FAILURE = 9 # Hardware problem
|
||||
uint8 FAULT_FAILED_TO_ARM = 10 # Battery had a problem while arming
|
||||
uint8 FAULT_COUNT = 11 # Counter. Keep this as last element
|
||||
|
||||
float32 full_charge_capacity_wh # [Wh] Compensated battery capacity
|
||||
float32 remaining_capacity_wh # [Wh] Compensated battery capacity remaining
|
||||
uint16 over_discharge_count # Number of battery overdischarge
|
||||
float32 nominal_voltage # [V] Nominal voltage of the battery pack
|
||||
|
||||
float32 internal_resistance_estimate # [Ohm] Internal resistance per cell estimate
|
||||
float32 ocv_estimate # [V] Open circuit voltage estimate
|
||||
float32 ocv_estimate_filtered # [V] Filtered open circuit voltage estimate
|
||||
float32 volt_based_soc_estimate # [@range 0, 1] Normalized volt based state of charge estimate
|
||||
float32 voltage_prediction # [V] Predicted voltage
|
||||
float32 prediction_error # [V] Prediction error
|
||||
float32 estimation_covariance_norm # Norm of the covariance matrix
|
||||
|
||||
```
|
||||
@@ -11,39 +11,39 @@ This is currently used only for logging cell status from MAVLink.
|
||||
#
|
||||
# This is currently used only for logging cell status from MAVLink.
|
||||
|
||||
uint64 timestamp # [us] Time since system start.
|
||||
uint64 timestamp # [us] Time since system start
|
||||
|
||||
uint16 status # [@enum STATUS_FLAG] Status bitmap.
|
||||
uint16 STATUS_FLAG_UNKNOWN = 1 # State unknown or not reportable.
|
||||
uint16 STATUS_FLAG_FAILED = 2 # Modem is unusable.
|
||||
uint16 STATUS_FLAG_INITIALIZING = 4 # Modem is being initialized.
|
||||
uint16 STATUS_FLAG_LOCKED = 8 # Modem is locked.
|
||||
uint16 STATUS_FLAG_DISABLED = 16 # Modem is not enabled and is powered down.
|
||||
uint16 STATUS_FLAG_DISABLING = 32 # Modem is currently transitioning to the STATUS_FLAG_DISABLED state.
|
||||
uint16 STATUS_FLAG_ENABLING = 64 # Modem is currently transitioning to the STATUS_FLAG_ENABLED state.
|
||||
uint16 STATUS_FLAG_ENABLED = 128 # Modem is enabled and powered on but not registered with a network provider and not available for data connections.
|
||||
uint16 STATUS_FLAG_SEARCHING = 256 # Modem is searching for a network provider to register.
|
||||
uint16 STATUS_FLAG_REGISTERED = 512 # Modem is registered with a network provider, and data connections and messaging may be available for use.
|
||||
uint16 STATUS_FLAG_DISCONNECTING = 1024 # Modem is disconnecting and deactivating the last active packet data bearer. This state will not be entered if more than one packet data bearer is active and one of the active bearers is deactivated.
|
||||
uint16 STATUS_FLAG_CONNECTING = 2048 # Modem is activating and connecting the first packet data bearer. Subsequent bearer activations when another bearer is already active do not cause this state to be entered.
|
||||
uint16 STATUS_FLAG_CONNECTED = 4096 # One or more packet data bearers is active and connected.
|
||||
uint16 status # [@enum STATUS_FLAG] Status bitmap
|
||||
uint16 STATUS_FLAG_UNKNOWN = 1 # State unknown or not reportable
|
||||
uint16 STATUS_FLAG_FAILED = 2 # Modem is unusable
|
||||
uint16 STATUS_FLAG_INITIALIZING = 4 # Modem is being initialized
|
||||
uint16 STATUS_FLAG_LOCKED = 8 # Modem is locked
|
||||
uint16 STATUS_FLAG_DISABLED = 16 # Modem is not enabled and is powered down
|
||||
uint16 STATUS_FLAG_DISABLING = 32 # Modem is currently transitioning to the STATUS_FLAG_DISABLED state
|
||||
uint16 STATUS_FLAG_ENABLING = 64 # Modem is currently transitioning to the STATUS_FLAG_ENABLED state
|
||||
uint16 STATUS_FLAG_ENABLED = 128 # Modem is enabled and powered on but not registered with a network provider and not available for data connections
|
||||
uint16 STATUS_FLAG_SEARCHING = 256 # Modem is searching for a network provider to register
|
||||
uint16 STATUS_FLAG_REGISTERED = 512 # Modem is registered with a network provider, and data connections and messaging may be available for use
|
||||
uint16 STATUS_FLAG_DISCONNECTING = 1024 # Modem is disconnecting and deactivating the last active packet data bearer. This state will not be entered if more than one packet data bearer is active and one of the active bearers is deactivated
|
||||
uint16 STATUS_FLAG_CONNECTING = 2048 # Modem is activating and connecting the first packet data bearer. Subsequent bearer activations when another bearer is already active do not cause this state to be entered
|
||||
uint16 STATUS_FLAG_CONNECTED = 4096 # One or more packet data bearers is active and connected
|
||||
|
||||
uint8 failure_reason # [@enum FAILURE_REASON] Failure reason.
|
||||
uint8 FAILURE_REASON_NONE = 0 # No error.
|
||||
uint8 FAILURE_REASON_UNKNOWN = 1 # Error state is unknown.
|
||||
uint8 FAILURE_REASON_SIM_MISSING = 2 # SIM is required for the modem but missing.
|
||||
uint8 FAILURE_REASON_SIM_ERROR = 3 # SIM is available, but not usable for connection.
|
||||
uint8 failure_reason # [@enum FAILURE_REASON] Failure reason
|
||||
uint8 FAILURE_REASON_NONE = 0 # No error
|
||||
uint8 FAILURE_REASON_UNKNOWN = 1 # Error state is unknown
|
||||
uint8 FAILURE_REASON_SIM_MISSING = 2 # SIM is required for the modem but missing
|
||||
uint8 FAILURE_REASON_SIM_ERROR = 3 # SIM is available, but not usable for connection
|
||||
|
||||
uint8 type # [@enum CELLULAR_NETWORK_RADIO_TYPE] Cellular network radio type.
|
||||
uint8 type # [@enum CELLULAR_NETWORK_RADIO_TYPE] Cellular network radio type
|
||||
uint8 CELLULAR_NETWORK_RADIO_TYPE_NONE = 0 # None
|
||||
uint8 CELLULAR_NETWORK_RADIO_TYPE_GSM = 1 # GSM
|
||||
uint8 CELLULAR_NETWORK_RADIO_TYPE_CDMA = 2 # CDMA
|
||||
uint8 CELLULAR_NETWORK_RADIO_TYPE_WCDMA = 3 # WCDMA
|
||||
uint8 CELLULAR_NETWORK_RADIO_TYPE_LTE = 4 # LTE
|
||||
|
||||
uint8 quality # [dBm] Cellular network RSSI/RSRP, absolute value.
|
||||
uint16 mcc # [@invalid UINT16_MAX] Mobile country code.
|
||||
uint16 mnc # [@invalid UINT16_MAX] Mobile network code.
|
||||
uint16 lac # [@invalid 0] Location area code.
|
||||
uint8 quality # [dBm] Cellular network RSSI/RSRP, absolute value
|
||||
uint16 mcc # [@invalid UINT16_MAX] Mobile country code
|
||||
uint16 mnc # [@invalid UINT16_MAX] Mobile network code
|
||||
uint16 lac # [@invalid 0] Location area code
|
||||
|
||||
```
|
||||
|
||||
48
docs/uk/msg_docs/DronecanNodeStatus.md
Normal file
48
docs/uk/msg_docs/DronecanNodeStatus.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# DronecanNodeStatus (UORB message)
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/DronecanNodeStatus.msg)
|
||||
|
||||
```c
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
|
||||
uint16 node_id # The node ID which this data comes from
|
||||
|
||||
# From the uavcan.protocol.NodeStatus message
|
||||
uint32 uptime_sec # Node uptime
|
||||
|
||||
#
|
||||
# Abstract node health.
|
||||
#
|
||||
uint8 HEALTH_OK = 0 # The node is functioning properly.
|
||||
uint8 HEALTH_WARNING = 1 # A critical parameter went out of range or the node encountered a minor failure.
|
||||
uint8 HEALTH_ERROR = 2 # The node encountered a major failure.
|
||||
uint8 HEALTH_CRITICAL = 3 # The node suffered a fatal malfunction.
|
||||
uint8 health
|
||||
|
||||
#
|
||||
# Current mode.
|
||||
#
|
||||
# Mode OFFLINE can be actually reported by the node to explicitly inform other network
|
||||
# participants that the sending node is about to shutdown. In this case other nodes will not
|
||||
# have to wait OFFLINE_TIMEOUT_MS before they detect that the node is no longer available.
|
||||
#
|
||||
# Reserved values can be used in future revisions of the specification.
|
||||
#
|
||||
uint8 MODE_OPERATIONAL = 0 # Normal operating mode.
|
||||
uint8 MODE_INITIALIZATION = 1 # Initialization is in progress; this mode is entered immediately after startup.
|
||||
uint8 MODE_MAINTENANCE = 2 # E.g. calibration, the bootloader is running, etc.
|
||||
uint8 MODE_SOFTWARE_UPDATE = 3 # New software/firmware is being loaded.
|
||||
uint8 MODE_OFFLINE = 7 # The node is no longer available.
|
||||
uint8 mode
|
||||
|
||||
#
|
||||
# Not used currently, keep zero when publishing, ignore when receiving.
|
||||
#
|
||||
uint8 sub_mode
|
||||
|
||||
#
|
||||
# Optional, vendor-specific node status code, e.g. a fault code or a status bitmask.
|
||||
#
|
||||
uint16 vendor_specific_status_code
|
||||
|
||||
```
|
||||
@@ -2,10 +2,12 @@
|
||||
|
||||
Інтерфейс подій
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/Event.msg)
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/versioned/Event.msg)
|
||||
|
||||
```c
|
||||
# Events interface
|
||||
uint32 MESSAGE_VERSION = 1
|
||||
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
|
||||
uint32 id # Event ID
|
||||
|
||||
24
docs/uk/msg_docs/EventV0.md
Normal file
24
docs/uk/msg_docs/EventV0.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# EventV0 (UORB message)
|
||||
|
||||
this message is required here in the msg_old folder because other msg are depending on it
|
||||
Events interface
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/px4_msgs_old/msg/EventV0.msg)
|
||||
|
||||
```c
|
||||
# this message is required here in the msg_old folder because other msg are depending on it
|
||||
# Events interface
|
||||
|
||||
uint32 MESSAGE_VERSION = 0
|
||||
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
|
||||
uint32 id # Event ID
|
||||
uint16 event_sequence # Event sequence number
|
||||
uint8[25] arguments # (optional) arguments, depend on event id
|
||||
|
||||
uint8 log_levels # Log levels: 4 bits MSB: internal, 4 bits LSB: external
|
||||
|
||||
uint8 ORB_QUEUE_LENGTH = 16
|
||||
|
||||
```
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
Input flags for the failsafe state machine set by the arming & health checks.
|
||||
|
||||
Прапорці повинні мати назви такі, що false == відсутність відмови (наприклад, _invalid, _unhealthy, _lost)
|
||||
Коментарі до прапорців використовуються як мітка для симуляції аварійного стану машини
|
||||
Flags must be named such that false == no failure (e.g. \_invalid, \_unhealthy, \_lost)
|
||||
The flag comments are used as label for the failsafe state machine simulation
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/FailsafeFlags.msg)
|
||||
|
||||
@@ -22,6 +22,7 @@ uint32 mode_req_local_alt
|
||||
uint32 mode_req_local_position
|
||||
uint32 mode_req_local_position_relaxed
|
||||
uint32 mode_req_global_position
|
||||
uint32 mode_req_global_position_relaxed
|
||||
uint32 mode_req_mission
|
||||
uint32 mode_req_offboard_signal
|
||||
uint32 mode_req_home_position
|
||||
@@ -39,6 +40,7 @@ bool local_position_invalid # Local position estimate invalid
|
||||
bool local_position_invalid_relaxed # Local position with reduced accuracy requirements invalid (e.g. flying with optical flow)
|
||||
bool local_velocity_invalid # Local velocity estimate invalid
|
||||
bool global_position_invalid # Global position estimate invalid
|
||||
bool global_position_invalid_relaxed # Global position estimate invalid with relaxed accuracy requirements
|
||||
bool auto_mission_missing # No mission available
|
||||
bool offboard_control_signal_lost # Offboard signal lost
|
||||
bool home_position_invalid # No home position available
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
```c
|
||||
# GPS home position in WGS84 coordinates.
|
||||
|
||||
uint32 MESSAGE_VERSION = 0
|
||||
uint32 MESSAGE_VERSION = 1
|
||||
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
|
||||
@@ -19,6 +19,8 @@ float32 x # X coordinate in meters
|
||||
float32 y # Y coordinate in meters
|
||||
float32 z # Z coordinate in meters
|
||||
|
||||
float32 roll # Pitch angle in radians
|
||||
float32 pitch # Roll angle in radians
|
||||
float32 yaw # Yaw angle in radians
|
||||
|
||||
bool valid_alt # true when the altitude has been set
|
||||
|
||||
32
docs/uk/msg_docs/HomePositionV0.md
Normal file
32
docs/uk/msg_docs/HomePositionV0.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# HomePositionV0 (UORB message)
|
||||
|
||||
Домашнє GPS положення в координатах WGS84.
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/px4_msgs_old/msg/HomePositionV0.msg)
|
||||
|
||||
```c
|
||||
# GPS home position in WGS84 coordinates.
|
||||
|
||||
uint32 MESSAGE_VERSION = 0
|
||||
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
|
||||
float64 lat # Latitude in degrees
|
||||
float64 lon # Longitude in degrees
|
||||
float32 alt # Altitude in meters (AMSL)
|
||||
|
||||
float32 x # X coordinate in meters
|
||||
float32 y # Y coordinate in meters
|
||||
float32 z # Z coordinate in meters
|
||||
|
||||
float32 yaw # Yaw angle in radians
|
||||
|
||||
bool valid_alt # true when the altitude has been set
|
||||
bool valid_hpos # true when the latitude and longitude have been set
|
||||
bool valid_lpos # true when the local position (xyz) has been set
|
||||
|
||||
bool manual_home # true when home position was set manually
|
||||
|
||||
uint32 update_count # update counter of the home position
|
||||
|
||||
```
|
||||
@@ -5,10 +5,10 @@
|
||||
```c
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
|
||||
bool ignition_on # activate/deactivate ignition (Spark Plug)
|
||||
float32 throttle_control # [0,1] - Motor should idle with 0. Includes slew rate if enabled.
|
||||
float32 choke_control # [0,1] - 1 fully closes the air inlet.
|
||||
float32 starter_engine_control # [0,1] - control value for electric starter motor.
|
||||
bool ignition_on # activate/deactivate ignition (spark plug)
|
||||
float32 throttle_control # setpoint for throttle actuator, with slew rate if enabled, idles with 0 [norm] [@range 0,1] [@uncontrolled NAN to stop motor]
|
||||
float32 choke_control # setpoint for choke actuator, 1: fully closed [norm] [@range 0,1]
|
||||
float32 starter_engine_control # setpoint for (electric) starter motor [norm] [@range 0,1]
|
||||
|
||||
uint8 user_request # user intent for the ICE being on/off
|
||||
|
||||
|
||||
@@ -28,16 +28,17 @@ uint8 return_switch # return to launch 2 position switch (mandatory
|
||||
uint8 loiter_switch # loiter 2 position switch (optional): _MISSION_, LOITER
|
||||
uint8 offboard_switch # offboard 2 position switch (optional): _NORMAL_, OFFBOARD
|
||||
uint8 kill_switch # throttle kill: _NORMAL_, KILL
|
||||
uint8 termination_switch # trigger termination which cannot be undone
|
||||
uint8 gear_switch # landing gear switch: _DOWN_, UP
|
||||
uint8 transition_switch # VTOL transition switch: _HOVER, FORWARD_FLIGHT
|
||||
|
||||
uint8 photo_switch # Photo trigger switch
|
||||
uint8 video_switch # Photo trigger switch
|
||||
|
||||
uint8 payload_power_switch # Payload power switch
|
||||
|
||||
uint8 engage_main_motor_switch # Engage the main motor (for helicopters)
|
||||
|
||||
uint8 payload_power_switch # Payload power switch
|
||||
|
||||
uint32 switch_changes # number of switch changes
|
||||
|
||||
```
|
||||
|
||||
@@ -1,14 +1,17 @@
|
||||
# PurePursuitStatus (UORB message)
|
||||
|
||||
Pure pursuit status
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/PurePursuitStatus.msg)
|
||||
|
||||
```c
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
# Pure pursuit status
|
||||
|
||||
float32 lookahead_distance # [m] Lookahead distance of pure the pursuit controller
|
||||
float32 target_bearing # [rad] Target bearing calculated by the pure pursuit controller
|
||||
float32 crosstrack_error # [m] Shortest distance from the vehicle to the path (Positiv: Vehicle is on the right hand side with respect to the oriented path vector, Negativ: Left of the path)
|
||||
float32 distance_to_waypoint # [m] Distance from the vehicle to the current waypoint
|
||||
float32 bearing_to_waypoint # [rad] Bearing towards current waypoint
|
||||
uint64 timestamp # [us] Time since system start
|
||||
float32 lookahead_distance # [m] [@range 0, inf] Lookahead distance of pure the pursuit controller
|
||||
float32 target_bearing # [rad] [@range -pi, pi] [@frame NED] Target bearing calculated by the pure pursuit controller
|
||||
float32 crosstrack_error # [m] [@range -inf (Left of the path), inf (Right of the path)] Shortest distance from the vehicle to the path
|
||||
float32 distance_to_waypoint # [m] [@range -inf, inf]Distance from the vehicle to the current waypoint
|
||||
float32 bearing_to_waypoint # [rad] [@range -pi, pi] [@frame NED]Bearing towards current waypoint
|
||||
|
||||
```
|
||||
|
||||
@@ -34,13 +34,14 @@ uint8 FUNCTION_FLTBTN_SLOT_5 = 25
|
||||
uint8 FUNCTION_FLTBTN_SLOT_6 = 26
|
||||
uint8 FUNCTION_ENGAGE_MAIN_MOTOR = 27
|
||||
uint8 FUNCTION_PAYLOAD_POWER = 28
|
||||
uint8 FUNCTION_TERMINATION = 29
|
||||
|
||||
uint8 FUNCTION_FLTBTN_SLOT_COUNT = 6
|
||||
|
||||
uint64 timestamp_last_valid # Timestamp of last valid RC signal
|
||||
float32[18] channels # Scaled to -1..1 (throttle: 0..1)
|
||||
uint8 channel_count # Number of valid channels
|
||||
int8[29] function # Functions mapping
|
||||
int8[30] function # Functions mapping
|
||||
uint8 rssi # Receive signal strength index
|
||||
bool signal_lost # Control signal lost, should be checked together with topic timeout
|
||||
uint32 frame_drop_count # Number of dropped frames
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
# RoverAttitudeSetpoint (UORB message)
|
||||
|
||||
Rover Attitude Setpoint
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/RoverAttitudeSetpoint.msg)
|
||||
|
||||
```c
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
# Rover Attitude Setpoint
|
||||
|
||||
float32 yaw_setpoint # [rad] Expressed in NED frame
|
||||
uint64 timestamp # [us] Time since system start
|
||||
float32 yaw_setpoint # [rad] [@range -inf, inf] [@frame NED] Yaw setpoint
|
||||
|
||||
```
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
# RoverAttitudeStatus (UORB message)
|
||||
|
||||
Rover Attitude Status
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/RoverAttitudeStatus.msg)
|
||||
|
||||
```c
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
# Rover Attitude Status
|
||||
|
||||
float32 measured_yaw # [rad/s] Measured yaw rate
|
||||
float32 adjusted_yaw_setpoint # [rad/s] Yaw setpoint that is being tracked (Applied slew rates)
|
||||
uint64 timestamp # [us] Time since system start
|
||||
float32 measured_yaw # [rad] [@range -pi, pi] [@frame NED]Measured yaw
|
||||
float32 adjusted_yaw_setpoint # [rad] [@range -pi, pi] [@frame NED] Yaw setpoint that is being tracked (Applied slew rates)
|
||||
|
||||
```
|
||||
|
||||
@@ -1,15 +1,17 @@
|
||||
# RoverPositionSetpoint (UORB message)
|
||||
|
||||
Rover Position Setpoint
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/RoverPositionSetpoint.msg)
|
||||
|
||||
```c
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
# Rover Position Setpoint
|
||||
|
||||
float32[2] position_ned # 2-dimensional position setpoint in NED frame [m]
|
||||
float32[2] start_ned # (Optional) 2-dimensional start position in NED frame used to define the line that the rover will track to position_ned [m] (Defaults to vehicle position)
|
||||
float32 cruising_speed # (Optional) Specify rover speed [m/s] (Defaults to maximum speed)
|
||||
float32 arrival_speed # (Optional) Specify arrival speed [m/s] (Defaults to zero)
|
||||
|
||||
float32 yaw # [rad] [-pi,pi] from North. Optional, NAN if not set. Mecanum only. (Defaults to vehicle yaw)
|
||||
uint64 timestamp # [us] Time since system start
|
||||
float32[2] position_ned # [m] [@range -inf, inf] [@frame NED] Target position
|
||||
float32[2] start_ned # [m] [@range -inf, inf] [@frame NED] [@invalid NaN Defaults to vehicle position] Start position which specifies a line for the rover to track
|
||||
float32 cruising_speed # [m/s] [@range 0, inf] [@invalid NaN Defaults to maximum speed] Cruising speed
|
||||
float32 arrival_speed # [m/s] [@range 0, inf] [@invalid NaN Defaults to 0] Speed the rover should arrive at the target with
|
||||
float32 yaw # [rad] [@range -pi,pi] [@frame NED] [@invalid NaN Defaults to vehicle yaw] Mecanum only: Specify vehicle yaw during travel
|
||||
|
||||
```
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
# RoverRateSetpoint (UORB message)
|
||||
|
||||
Rover Rate setpoint
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/RoverRateSetpoint.msg)
|
||||
|
||||
```c
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
# Rover Rate setpoint
|
||||
|
||||
float32 yaw_rate_setpoint # [rad/s] Expressed in NED frame
|
||||
uint64 timestamp # [us] Time since system start
|
||||
float32 yaw_rate_setpoint # [rad/s] [@range -inf, inf] [@frame NED] Yaw rate setpoint
|
||||
|
||||
```
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
# RoverRateStatus (UORB message)
|
||||
|
||||
Rover Rate Status
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/RoverRateStatus.msg)
|
||||
|
||||
```c
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
# Rover Rate Status
|
||||
|
||||
float32 measured_yaw_rate # [rad/s] Measured yaw rate
|
||||
float32 adjusted_yaw_rate_setpoint # [rad/s] Yaw rate setpoint that is being tracked (Applied slew rates)
|
||||
float32 pid_yaw_rate_integral # Integral of the PID for the closed loop yaw rate controller
|
||||
uint64 timestamp # [us] Time since system start
|
||||
float32 measured_yaw_rate # [rad/s] [@range -inf, inf] [@frame NED] Measured yaw rate
|
||||
float32 adjusted_yaw_rate_setpoint # [rad/s] [@range -inf, inf] [@frame NED] Yaw rate setpoint that is being tracked (Applied slew rates)
|
||||
float32 pid_yaw_rate_integral # [] [@range -1, 1] Integral of the PID for the closed loop yaw rate controller
|
||||
|
||||
```
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
# RoverSteeringSetpoint (UORB message)
|
||||
|
||||
Rover Steering setpoint
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/RoverSteeringSetpoint.msg)
|
||||
|
||||
```c
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
# Rover Steering setpoint
|
||||
|
||||
float32 normalized_steering_angle # [-1, 1] Normalized steering angle (Ackermann only, Positiv: Steer right, Negativ: Steer left)
|
||||
|
||||
float32 normalized_speed_diff # [-1, 1] Normalized speed difference between the left and right wheels of the rover (Differential/Mecanum only, Positiv = Turn right, Negativ: Turn left)
|
||||
uint64 timestamp # [us] Time since system start
|
||||
float32 normalized_steering_setpoint # [@range -1 (Left), 1 (Right)] [@frame Body] Ackermann: Normalized steering angle, Differential/Mecanum: Normalized speed difference between the left and right wheels
|
||||
|
||||
```
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
# RoverThrottleSetpoint (UORB message)
|
||||
|
||||
Rover Throttle setpoint
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/RoverThrottleSetpoint.msg)
|
||||
|
||||
```c
|
||||
# Rover Throttle setpoint
|
||||
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
|
||||
float32 throttle_body_x # throttle setpoint along body X axis [-1, 1] (Positiv = forwards, Negativ = backwards)
|
||||
float32 throttle_body_y # throttle setpoint along body Y axis [-1, 1] (Mecanum only, Positiv = right, Negativ = left)
|
||||
uint64 timestamp # [us] Time since system start
|
||||
float32 throttle_body_x # [] [@range -1 (Backwards), 1 (Forwards)] [@frame Body] Throttle setpoint along body X axis
|
||||
float32 throttle_body_y # [] [@range -1 (Left), 1 (Right)] [@frame Body] [@invalid NaN If not mecanum] Mecanum only: Throttle setpoint along body Y axis
|
||||
|
||||
```
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
# RoverVelocitySetpoint (UORB message)
|
||||
|
||||
Rover Velocity Setpoint
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/RoverVelocitySetpoint.msg)
|
||||
|
||||
```c
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
# Rover Velocity Setpoint
|
||||
|
||||
float32 speed # [m/s] [-inf, inf] Speed setpoint (Backwards driving if negative)
|
||||
float32 bearing # [rad] [-pi,pi] from North. [invalid: NAN, speed is defined in body x direction]
|
||||
float32 yaw # [rad] [-pi, pi] (Mecanum only, Optional, defaults to current vehicle yaw) Vehicle yaw setpoint in NED frame
|
||||
uint64 timestamp # [us] Time since system start
|
||||
float32 speed # [m/s] [@range -inf (Backwards), inf (Forwards)] Speed setpoint
|
||||
float32 bearing # [rad] [@range -pi,pi] [@frame NED] [@invalid: NaN, speed is defined in body x direction] Bearing setpoint
|
||||
float32 yaw # [rad] [@range -pi, pi] [@frame NED] [@invalid NaN, Defaults to vehicle yaw] Mecanum only: Yaw setpoint
|
||||
|
||||
```
|
||||
|
||||
@@ -1,15 +1,18 @@
|
||||
# RoverVelocityStatus (UORB message)
|
||||
|
||||
Rover Velocity Status
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/RoverVelocityStatus.msg)
|
||||
|
||||
```c
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
# Rover Velocity Status
|
||||
|
||||
float32 measured_speed_body_x # [m/s] Measured speed in body x direction. Positiv: forwards, Negativ: backwards
|
||||
float32 adjusted_speed_body_x_setpoint # [m/s] Post slew rate speed setpoint in body x direction. Positiv: forwards, Negativ: backwards
|
||||
float32 pid_throttle_body_x_integral # Integral of the PID for the closed loop controller of the speed in body x direction
|
||||
float32 measured_speed_body_y # [m/s] Measured speed in body y direction. Positiv: right, Negativ: left (Mecanum only)
|
||||
float32 adjusted_speed_body_y_setpoint # [m/s] Post slew rate speed setpoint in body y direction. Positiv: right, Negativ: left (Mecanum only)
|
||||
float32 pid_throttle_body_y_integral # Integral of the PID for the closed loop controller of the speed in body y direction (Mecanum only)
|
||||
uint64 timestamp # [us] Time since system start
|
||||
float32 measured_speed_body_x # [m/s] [@range -inf (Backwards), inf (Forwards)] [@frame Body] Measured speed in body x direction
|
||||
float32 adjusted_speed_body_x_setpoint # [m/s] [@range -inf (Backwards), inf (Forwards)] [@frame Body] Speed setpoint in body x direction that is being tracked (Applied slew rates)
|
||||
float32 pid_throttle_body_x_integral # [] [@range -1, 1] Integral of the PID for the closed loop controller of the speed in body x direction
|
||||
float32 measured_speed_body_y # [m/s] [@range -inf (Left), inf (Right)] [@frame Body] [@invalid NaN If not mecanum] Mecanum only: Measured speed in body y direction
|
||||
float32 adjusted_speed_body_y_setpoint # [m/s] [@range -inf (Left), inf (Right)] [@frame Body] [@invalid NaN If not mecanum] Mecanum only: Speed setpoint in body y direction that is being tracked (Applied slew rates)
|
||||
float32 pid_throttle_body_y_integral # [] [@range -1, 1] [@invalid NaN If not mecanum] Mecanum only: Integral of the PID for the closed loop controller of the speed in body y direction
|
||||
|
||||
```
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
|
||||
```c
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
uint8 SAT_INFO_MAX_SATELLITES = 20
|
||||
uint8 SAT_INFO_MAX_SATELLITES = 40
|
||||
|
||||
uint8 count # Number of satellites visible to the receiver
|
||||
uint8[20] svid # Space vehicle ID [1..255], see scheme below
|
||||
uint8[20] used # 0: Satellite not used, 1: used for navigation
|
||||
uint8[20] elevation # Elevation (0: right on top of receiver, 90: on the horizon) of satellite
|
||||
uint8[20] azimuth # Direction of satellite, 0: 0 deg, 255: 360 deg.
|
||||
uint8[20] snr # dBHz, Signal to noise ratio of satellite C/N0, range 0..99, zero when not tracking this satellite.
|
||||
uint8[20] prn # Satellite PRN code assignment, (psuedorandom number SBAS, valid codes are 120-144)
|
||||
uint8[40] svid # Space vehicle ID [1..255], see scheme below
|
||||
uint8[40] used # 0: Satellite not used, 1: used for navigation
|
||||
uint8[40] elevation # Elevation (0: right on top of receiver, 90: on the horizon) of satellite
|
||||
uint8[40] azimuth # Direction of satellite, 0: 0 deg, 255: 360 deg.
|
||||
uint8[40] snr # dBHz, Signal to noise ratio of satellite C/N0, range 0..99, zero when not tracking this satellite.
|
||||
uint8[40] prn # Satellite PRN code assignment, (psuedorandom number SBAS, valid codes are 120-144)
|
||||
|
||||
```
|
||||
|
||||
@@ -9,7 +9,7 @@ float64 lat # Latitude, expressed as degrees
|
||||
float64 lon # Longitude, expressed as degrees
|
||||
uint8 altitude_type # Type from ADSB_ALTITUDE_TYPE enum
|
||||
float32 altitude # Altitude(ASL) in meters
|
||||
float32 heading # Course over ground in radians, -pi to +pi, 0 is north
|
||||
float32 heading # Course over ground in radians, 0 to 2pi, 0 is north
|
||||
float32 hor_velocity # The horizontal velocity in m/s
|
||||
float32 ver_velocity # The vertical velocity in m/s, positive is up
|
||||
char[9] callsign # The callsign, 8+null
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# VehicleCommandAck (повідомлення UORB)
|
||||
|
||||
Повідомлення uORB підтвердження команди автомобіля.
|
||||
Використовується для підтвердження отримання команди для транспортного засобу.
|
||||
Дотримується визначення MAVLink COMMAND_ACK повідомлення
|
||||
Used for acknowledging the vehicle command being received.
|
||||
Follows the MAVLink COMMAND_ACK message definition
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/versioned/VehicleCommandAck.msg)
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# VehicleGlobalPosition (повідомлення UORB)
|
||||
|
||||
Об'єднана глобальна позиція в WGS84.
|
||||
Ця структура містить глобальну оцінку позиції. Це не сирі GPS
|
||||
This struct contains global position estimation. Це не сирі GPS
|
||||
вимірювання (@see vehicle_gps_position). Ця тема зазвичай публікується позиціонером, який враховує більше джерел інформації, ніж просто GPS, наприклад, керування введеннями транспортного засобу в реалізації фільтра Калмана.
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/versioned/VehicleGlobalPosition.msg)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# VehicleLocalPosition (повідомлення UORB)
|
||||
|
||||
Fused local position in NED.
|
||||
Початкова точка координатної системи - це позиція транспортного засобу в момент запуску модуля EKF2.
|
||||
The coordinate system origin is the vehicle position at the time when the EKF2-module was started.
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/versioned/VehicleLocalPosition.msg)
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# VehicleOdometry (повідомлення UORB)
|
||||
|
||||
Дані odometry Техніки. Відповідає ROS REP 147 для повітряних суден
|
||||
Дані odometry Техніки. Fits ROS REP 147 for aerial vehicles
|
||||
|
||||
[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/versioned/VehicleOdometry.msg)
|
||||
|
||||
|
||||
@@ -96,9 +96,10 @@ uint8 HIL_STATE_ON = 1
|
||||
|
||||
# Current vehicle locomotion method. A vehicle can have different methods (e.g. VTOL transitions from RW to FW method)
|
||||
uint8 vehicle_type
|
||||
uint8 VEHICLE_TYPE_ROTARY_WING = 0
|
||||
uint8 VEHICLE_TYPE_FIXED_WING = 1
|
||||
uint8 VEHICLE_TYPE_ROVER = 2
|
||||
uint8 VEHICLE_TYPE_UNSPECIFIED = 0
|
||||
uint8 VEHICLE_TYPE_ROTARY_WING = 1
|
||||
uint8 VEHICLE_TYPE_FIXED_WING = 2
|
||||
uint8 VEHICLE_TYPE_ROVER = 3
|
||||
|
||||
uint8 FAILSAFE_DEFER_STATE_DISABLED = 0
|
||||
uint8 FAILSAFE_DEFER_STATE_ENABLED = 1
|
||||
|
||||
@@ -16,10 +16,11 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
|
||||
- [ActuatorMotors](ActuatorMotors.md) — Motor control message
|
||||
- [ActuatorServos](ActuatorServos.md) — Servo control message
|
||||
- [AirspeedValidated](AirspeedValidated.md)
|
||||
- [ArmingCheckReply](ArmingCheckReply.md)
|
||||
- [ArmingCheckRequest](ArmingCheckRequest.md)
|
||||
- [BatteryStatus](BatteryStatus.md)
|
||||
- [ArmingCheckReply](ArmingCheckReply.md) — Arming check reply.
|
||||
- [ArmingCheckRequest](ArmingCheckRequest.md) — Arming check request.
|
||||
- [BatteryStatus](BatteryStatus.md) — Battery status
|
||||
- [ConfigOverrides](ConfigOverrides.md) — Configurable overrides by (external) modes or mode executors
|
||||
- [Event](Event.md) — Events interface
|
||||
- [FixedWingLateralSetpoint](FixedWingLateralSetpoint.md) — Fixed Wing Lateral Setpoint message
|
||||
Used by the fw_lateral_longitudinal_control module
|
||||
At least one of course, airspeed_direction, or lateral_acceleration must be finite.
|
||||
@@ -42,7 +43,8 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
|
||||
- [ManualControlSetpoint](ManualControlSetpoint.md)
|
||||
- [ModeCompleted](ModeCompleted.md) — Mode completion result, published by an active mode.
|
||||
Можливі значення nav_state визначені в повідомленні VehicleStatus.
|
||||
Зверніть увагу, що це не завжди публікується (наприклад, коли користувач переходить у режими або при активації failsafe)
|
||||
Note that this is not always published (e.g. when a user switches modes or on
|
||||
failsafe activation)
|
||||
- [RegisterExtComponentReply](RegisterExtComponentReply.md)
|
||||
- [RegisterExtComponentRequest](RegisterExtComponentRequest.md) — Request to register an external component
|
||||
- [TrajectorySetpoint](TrajectorySetpoint.md) — Trajectory setpoint in NED frame
|
||||
@@ -54,19 +56,21 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
|
||||
- [VehicleAttitude](VehicleAttitude.md) — This is similar to the mavlink message ATTITUDE_QUATERNION, but for onboard use
|
||||
The quaternion uses the Hamilton convention, and the order is q(w, x, y, z)
|
||||
- [VehicleAttitudeSetpoint](VehicleAttitudeSetpoint.md)
|
||||
- [VehicleCommand](VehicleCommand.md) — Vehicle Command uORB message. Використовується для управління місією / дією / тощо.
|
||||
Дотримується визначення MAVLink COMMAND_INT / COMMAND_LONG
|
||||
- [VehicleCommand](VehicleCommand.md) — Vehicle Command uORB message. Used for commanding a mission / action / etc.
|
||||
Follows the MAVLink COMMAND_INT / COMMAND_LONG definition
|
||||
- [VehicleCommandAck](VehicleCommandAck.md) — Vehicle Command Ackonwledgement uORB message.
|
||||
Використовується для підтвердження отримання команди для транспортного засобу.
|
||||
Дотримується визначення MAVLink COMMAND_ACK повідомлення
|
||||
Used for acknowledging the vehicle command being received.
|
||||
Follows the MAVLink COMMAND_ACK message definition
|
||||
- [VehicleControlMode](VehicleControlMode.md)
|
||||
- [VehicleGlobalPosition](VehicleGlobalPosition.md) — Fused global position in WGS84.
|
||||
Ця структура містить глобальну оцінку позиції. Це не сирі GPS
|
||||
вимірювання (@see vehicle_gps_position). Ця тема зазвичай публікується позиціонером, який враховує більше джерел інформації, ніж просто GPS, наприклад, керування введеннями транспортного засобу в реалізації фільтра Калмана.
|
||||
This struct contains global position estimation. It is not the raw GPS
|
||||
measurement (@see vehicle_gps_position). This topic is usually published by the position
|
||||
estimator, which will take more sources of information into account than just GPS,
|
||||
e.g. control inputs of the vehicle in a Kalman-filter implementation.
|
||||
- [VehicleLandDetected](VehicleLandDetected.md)
|
||||
- [VehicleLocalPosition](VehicleLocalPosition.md) — Fused local position in NED.
|
||||
Початкова точка координатної системи - це позиція транспортного засобу в момент запуску модуля EKF2.
|
||||
- [VehicleOdometry](VehicleOdometry.md) — Vehicle odometry data. Відповідає ROS REP 147 для повітряних суден
|
||||
The coordinate system origin is the vehicle position at the time when the EKF2-module was started.
|
||||
- [VehicleOdometry](VehicleOdometry.md) — Vehicle odometry data. Fits ROS REP 147 for aerial vehicles
|
||||
- [VehicleRatesSetpoint](VehicleRatesSetpoint.md)
|
||||
- [VehicleStatus](VehicleStatus.md) — Encodes the system state of the vehicle published by commander
|
||||
- [VtolVehicleStatus](VtolVehicleStatus.md) — VEHICLE_VTOL_STATE, should match 1:1 MAVLinks's MAV_VTOL_STATE
|
||||
@@ -80,9 +84,10 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
|
||||
- [ActuatorServosTrim](ActuatorServosTrim.md) — Servo trims, added as offset to servo outputs
|
||||
- [ActuatorTest](ActuatorTest.md)
|
||||
- [AdcReport](AdcReport.md)
|
||||
- [Airspeed](Airspeed.md)
|
||||
- [Airspeed](Airspeed.md) — Airspeed data from sensors
|
||||
- [AirspeedWind](AirspeedWind.md)
|
||||
- [AutotuneAttitudeControlStatus](AutotuneAttitudeControlStatus.md)
|
||||
- [BatteryInfo](BatteryInfo.md) — Battery information
|
||||
- [ButtonEvent](ButtonEvent.md)
|
||||
- [CameraCapture](CameraCapture.md)
|
||||
- [CameraStatus](CameraStatus.md)
|
||||
@@ -102,6 +107,7 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
|
||||
- [DifferentialPressure](DifferentialPressure.md)
|
||||
- [DistanceSensor](DistanceSensor.md) — DISTANCE_SENSOR message data
|
||||
- [DistanceSensorModeChangeRequest](DistanceSensorModeChangeRequest.md)
|
||||
- [DronecanNodeStatus](DronecanNodeStatus.md)
|
||||
- [Ekf2Timestamps](Ekf2Timestamps.md) — this message contains the (relative) timestamps of the sensor inputs used by EKF2.
|
||||
Це може бути використано для відтворення.
|
||||
- [EscReport](EscReport.md)
|
||||
@@ -115,12 +121,11 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
|
||||
- [EstimatorGpsStatus](EstimatorGpsStatus.md)
|
||||
- [EstimatorInnovations](EstimatorInnovations.md)
|
||||
- [EstimatorSelectorStatus](EstimatorSelectorStatus.md)
|
||||
- [EstimatorSensorBias](EstimatorSensorBias.md) — Sensor readings and in-run biases in SI-unit form. Показання датчиків компенсуються для статичних зсувів,
|
||||
похибки шкали, зсув під час роботи та тепловий зсув (якщо термокомпенсація увімкнена та доступна).
|
||||
- [EstimatorSensorBias](EstimatorSensorBias.md) — Sensor readings and in-run biases in SI-unit form. Sensor readings are compensated for static offsets,
|
||||
scale errors, in-run bias and thermal drift (if thermal compensation is enabled and available).
|
||||
- [EstimatorStates](EstimatorStates.md)
|
||||
- [EstimatorStatus](EstimatorStatus.md)
|
||||
- [EstimatorStatusFlags](EstimatorStatusFlags.md)
|
||||
- [Event](Event.md) — Events interface
|
||||
- [FailsafeFlags](FailsafeFlags.md) — Input flags for the failsafe state machine set by the arming & health checks.
|
||||
- [FailureDetectorStatus](FailureDetectorStatus.md)
|
||||
- [FigureEightStatus](FigureEightStatus.md)
|
||||
@@ -208,7 +213,7 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
|
||||
- [PowerButtonState](PowerButtonState.md) — power button state notification message
|
||||
- [PowerMonitor](PowerMonitor.md) — power monitor message
|
||||
- [PpsCapture](PpsCapture.md)
|
||||
- [PurePursuitStatus](PurePursuitStatus.md)
|
||||
- [PurePursuitStatus](PurePursuitStatus.md) — Pure pursuit status
|
||||
- [PwmInput](PwmInput.md)
|
||||
- [Px4ioStatus](Px4ioStatus.md)
|
||||
- [QshellReq](QshellReq.md)
|
||||
@@ -217,15 +222,15 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
|
||||
- [RateCtrlStatus](RateCtrlStatus.md)
|
||||
- [RcChannels](RcChannels.md)
|
||||
- [RcParameterMap](RcParameterMap.md)
|
||||
- [RoverAttitudeSetpoint](RoverAttitudeSetpoint.md)
|
||||
- [RoverAttitudeStatus](RoverAttitudeStatus.md)
|
||||
- [RoverPositionSetpoint](RoverPositionSetpoint.md)
|
||||
- [RoverRateSetpoint](RoverRateSetpoint.md)
|
||||
- [RoverRateStatus](RoverRateStatus.md)
|
||||
- [RoverSteeringSetpoint](RoverSteeringSetpoint.md)
|
||||
- [RoverThrottleSetpoint](RoverThrottleSetpoint.md)
|
||||
- [RoverVelocitySetpoint](RoverVelocitySetpoint.md)
|
||||
- [RoverVelocityStatus](RoverVelocityStatus.md)
|
||||
- [RoverAttitudeSetpoint](RoverAttitudeSetpoint.md) — Rover Attitude Setpoint
|
||||
- [RoverAttitudeStatus](RoverAttitudeStatus.md) — Rover Attitude Status
|
||||
- [RoverPositionSetpoint](RoverPositionSetpoint.md) — Rover Position Setpoint
|
||||
- [RoverRateSetpoint](RoverRateSetpoint.md) — Rover Rate setpoint
|
||||
- [RoverRateStatus](RoverRateStatus.md) — Rover Rate Status
|
||||
- [RoverSteeringSetpoint](RoverSteeringSetpoint.md) — Rover Steering setpoint
|
||||
- [RoverThrottleSetpoint](RoverThrottleSetpoint.md) — Rover Throttle setpoint
|
||||
- [RoverVelocitySetpoint](RoverVelocitySetpoint.md) — Rover Velocity Setpoint
|
||||
- [RoverVelocityStatus](RoverVelocityStatus.md) — Rover Velocity Status
|
||||
- [Rpm](Rpm.md)
|
||||
- [RtlStatus](RtlStatus.md)
|
||||
- [RtlTimeEstimate](RtlTimeEstimate.md)
|
||||
@@ -235,7 +240,8 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
|
||||
- [SensorAirflow](SensorAirflow.md)
|
||||
- [SensorBaro](SensorBaro.md)
|
||||
- [SensorCombined](SensorCombined.md) — Sensor readings in SI-unit form.
|
||||
Ці поля масштабуються та компенсуються зміщенням, де це можливо, і не змінюються з ревізіями плати та оновленнями сенсора.
|
||||
These fields are scaled and offset-compensated where possible and do not
|
||||
change with board revisions and sensor updates.
|
||||
- [SensorCorrection](SensorCorrection.md) — Sensor corrections in SI-unit form for the voted sensor
|
||||
- [SensorGnssRelative](SensorGnssRelative.md) — GNSS relative positioning information in NED frame. NED кадр визначається як локальна топологічна система на задній станції.
|
||||
- [SensorGps](SensorGps.md) — GPS position in WGS84 coordinates.
|
||||
@@ -268,7 +274,7 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
|
||||
then the frequency, duration are used otherwise those values are ignored.
|
||||
- [UavcanParameterRequest](UavcanParameterRequest.md) — UAVCAN-MAVLink parameter bridge request type
|
||||
- [UavcanParameterValue](UavcanParameterValue.md) — UAVCAN-MAVLink parameter bridge response type
|
||||
- [UlogStream](UlogStream.md) — Message to stream ULog data from the logger. Відповідає повідомленню mavlink LOGGING_DATA
|
||||
- [UlogStream](UlogStream.md) — Message to stream ULog data from the logger. Corresponds to the LOGGING_DATA
|
||||
mavlink message
|
||||
- [UlogStreamAck](UlogStreamAck.md) — Ack a previously sent ulog_stream message that had
|
||||
the NEED_ACK flag set
|
||||
@@ -293,5 +299,10 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
|
||||
- [Wind](Wind.md)
|
||||
- [YawEstimatorStatus](YawEstimatorStatus.md)
|
||||
- [AirspeedValidatedV0](AirspeedValidatedV0.md)
|
||||
- [ArmingCheckReplyV0](ArmingCheckReplyV0.md)
|
||||
- [BatteryStatusV0](BatteryStatusV0.md) — Battery status
|
||||
- [EventV0](EventV0.md) — this message is required here in the msg_old folder because other msg are depending on it
|
||||
Events interface
|
||||
- [HomePositionV0](HomePositionV0.md) — GPS home position in WGS84 coordinates.
|
||||
- [VehicleAttitudeSetpointV0](VehicleAttitudeSetpointV0.md)
|
||||
- [VehicleStatusV0](VehicleStatusV0.md) — Encodes the system state of the vehicle published by commander
|
||||
|
||||
@@ -27,3 +27,4 @@ When submitting [Pull Requests](../contribute/code.md#pull-requests) for new fun
|
||||
- [MC_03 - Auto Manual Mix](../test_cards/mc_03_auto_manual_mix.md)
|
||||
- [MC_04 - Failsafe Testing](../test_cards/mc_04_failsafe_testing.md)
|
||||
- [MC_05 - Indoor Flight (Manual Modes)](../test_cards/mc_05_indoor_flight_manual_modes.md)
|
||||
- [MC_06 - Indoor Flight (Optical Flow)](../test_cards/mc_06_optical_flow.md)
|
||||
|
||||
43
docs/uk/test_cards/mc_06_optical_flow.md
Normal file
43
docs/uk/test_cards/mc_06_optical_flow.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# Test MC_06 - Optical Flow
|
||||
|
||||
## Objective
|
||||
|
||||
To test that optical flow / external vision work as expected
|
||||
|
||||
## Preflight
|
||||
|
||||
Disconnect all GPS / compasses and ensure vehicle is using optical flow for navigation
|
||||
|
||||
Ensure that the drone can go into Altitude / Position flight mode while still on the ground
|
||||
|
||||
## Flight Tests
|
||||
|
||||
❏ Altitude flight mode
|
||||
|
||||
❏ Vertical position should hold current value with stick centered
|
||||
|
||||
❏ Pitch/Roll/Yaw response 1:1
|
||||
|
||||
❏ Throttle response set to climb/descent rate
|
||||
|
||||
❏ Position flight mode
|
||||
|
||||
❏ Horizontal position should hold current value with stick centered
|
||||
|
||||
❏ Vertical position should hold current value with stick centered
|
||||
|
||||
❏ Throttle response set to climb/descent rate
|
||||
|
||||
❏ 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))
|
||||
|
||||
## Очікувані результати
|
||||
|
||||
- Зліт повинен бути плавним, коли газ піднято
|
||||
- Немає коливання в жодному з перерахованих режимів польоту
|
||||
- Після посадки, коптер не повинен підскакувати на землі
|
||||
Reference in New Issue
Block a user