mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-07-26 16:28:06 +08:00
docs(docs): Link fixes, _sidebar, uorb docs generator tweak (#27482)
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
- [Введення](/index.md)
|
||||
- [Основні поняття](/getting_started/px4_basic_concepts.md)
|
||||
|
||||
- [Try PX4 (Simulation)](/simulation/px4_simulation_quickstart.md)
|
||||
|
||||
- [Мультикоптери](/frames_multicopter/index.md)
|
||||
- [Функції](/features_mc/index.md)
|
||||
- [Режим польоту](/flight_modes_mc/index.md)
|
||||
@@ -21,6 +23,8 @@
|
||||
- [Offboard Mode (MC)](/flight_modes_mc/offboard.md)
|
||||
- [Запобігання зіткненням](/computer_vision/collision_prevention.md)
|
||||
- [Точна посадка](/advanced_features/precland.md)
|
||||
- [Vision Target Estimator](/advanced_features/vision_target_estimator.md)
|
||||
- [Vision Target Estimator Deep Dive](/advanced_features/vision_target_estimator_advanced.md)
|
||||
- [Послідовність місцевості/захистки](/flying/terrain_following_holding.md)
|
||||
- [Запуск з катапульти чи підкиданням](/flight_modes_mc/throw_launch.md)
|
||||
- [Збірка](/assembly/assembly_mc.md)
|
||||
@@ -77,6 +81,7 @@
|
||||
- [Takeoff Mode (FW)](/flight_modes_fw/takeoff.md)
|
||||
- [Land Mode (FW)](/flight_modes_fw/land.md)
|
||||
- [Hold Mode (FW)](/flight_modes_fw/hold.md)
|
||||
- [Guided Course Mode (FW)](/flight_modes_fw/guided_course.md)
|
||||
- [Mission Mode (FW)](/flight_modes_fw/mission.md)
|
||||
- [Return Mode (FW)](/flight_modes_fw/return.md)
|
||||
- [Offboard Mode (FW)](/flight_modes_fw/offboard.md)
|
||||
@@ -164,14 +169,17 @@
|
||||
- [AirMind MindPX](/flight_controller/mindpx.md)
|
||||
- [AirMind MindRacer](/flight_controller/mindracer.md)
|
||||
- [ARK Electronics ARKV6X](/flight_controller/ark_v6x.md)
|
||||
- [ARK Electronics ARKV6S](/flight_controller/ark_v6s.md)
|
||||
- [ARK FPV Flight Controller](/flight_controller/ark_fpv.md)
|
||||
- [ARK Pi6X Flow Flight Controller](/flight_controller/ark_pi6x.md)
|
||||
- [CORVON 743v1](/flight_controller/corvon_743v1.md)
|
||||
- [CUAV Nora](/flight_controller/cuav_nora.md)
|
||||
- [CUAV V5+ (FMUv5)](/flight_controller/cuav_v5_plus.md)
|
||||
- [Wiring Quickstart](/assembly/quick_start_cuav_v5_plus.md)
|
||||
- [CUAV V5 nano (FMUv5)](/flight_controller/cuav_v5_nano.md)
|
||||
- [Швидке підключення CUAV V5 nano](/assembly/quick_start_cuav_v5_nano.md)
|
||||
- [CUAV X25 EVO](/flight_controller/cuav_x25-evo.md)
|
||||
- [CUAV X25 EVO Wiring Quick Start](/assembly/quick_start_cuav_x25_evo.md)
|
||||
- [CUAV X25 SUPER](/flight_controller/cuav_x25-super.md)
|
||||
- [CubePilot Cube Orange+ (CubePilot)](/flight_controller/cubepilot_cube_orangeplus.md)
|
||||
- [CubePilot Cube Orange (CubePilot)](/flight_controller/cubepilot_cube_orange.md)
|
||||
@@ -310,6 +318,7 @@
|
||||
- [DroneCAN ESCs](/dronecan/escs.md)
|
||||
- [PX4 Sapog ESC Firmware](/dronecan/sapog.md)
|
||||
- [ARK 4IN1 ESC](/esc/ark_4in1_esc.md)
|
||||
- [Hiwonder 4Ch Encoder Motor Module](/peripherals/hiwonder_emm.md)
|
||||
- [Holybro Kotleta](/dronecan/holybro_kotleta.md)
|
||||
- [Vertiq Motor/ESC Modules](/peripherals/vertiq.md)
|
||||
- [VESC Project ESCs](/peripherals/vesc.md)
|
||||
@@ -329,6 +338,7 @@
|
||||
- [Телеметричне радіо RFD900 (SiK)](/telemetry/rfd900_telemetry.md)
|
||||
- [ThunderFly TFSIK01 Telemetry Radio](/telemetry/tfsik_telemetry.md)
|
||||
- [HolyBro (SIK) Телеметричне радіо](/telemetry/holybro_sik_radio.md)
|
||||
- [HolyBro SiK Long Range Telemetry Radio](/telemetry/holybro_sik_longrange.md)
|
||||
- [Телеметрія Wi-Fi](/telemetry/telemetry_wifi.md)
|
||||
- [Модуль WiFi ESP8266](/telemetry/esp8266_wifi_module.md)
|
||||
- [Модуль WiFi ESP32](/telemetry/esp32_wifi_module.md)
|
||||
@@ -382,6 +392,7 @@
|
||||
|
||||
- [Периферія](/peripherals/index.md)
|
||||
- [ADSB/FLARM/UTM (уникнення трафіку)](/peripherals/adsb_flarm.md)
|
||||
- [On-Screen Display (OSD)](/peripherals/osd.md)
|
||||
- [Парашут](/peripherals/parachute.md)
|
||||
- [Remote ID](/peripherals/remote_id.md)
|
||||
|
||||
@@ -421,6 +432,8 @@
|
||||
|
||||
- [Стандартна конфігурація](/config/index.md)
|
||||
|
||||
- [OEM Configuration](/advanced_config/oem.md)
|
||||
|
||||
- [Розширені налаштування](/advanced_config/index.md)
|
||||
- [Using PX4's Navigation Filter (EKF2)](/advanced_config/tuning_the_ecl_ekf.md)
|
||||
- [GNSS-Denied & Degraded Flight](/advanced_config/gnss_degraded_or_denied_flight.md)
|
||||
@@ -446,7 +459,10 @@
|
||||
- [Position Tuning](/config_rover/position_tuning.md)
|
||||
- [Apps & API](/flight_modes_rover/api.md)
|
||||
- [Complete Vehicles](/complete_vehicles_rover/index.md)
|
||||
- [Aion Robotics R1](/complete_vehicles_rover/aion_r1.md)
|
||||
- [Hiwonder Ackermann Chassis](/complete_vehicles_rover/hiwonder_ackermann.md)
|
||||
- [Hiwonder Tracked Chassis](/complete_vehicles_rover/hiwonder_tracked.md)
|
||||
- [Hiwonder Mecanum Chassis](/complete_vehicles_rover/hiwonder_mecanum.md)
|
||||
- [Aion Robotics R1 (Discontinued)](/complete_vehicles_rover/aion_r1.md)
|
||||
- [Submarines (experimental)](/frames_sub/index.md)
|
||||
- [BlueROV2](/frames_sub/bluerov2.md)
|
||||
- [Airframes Reference](/airframes/airframe_reference.md)
|
||||
@@ -487,17 +503,21 @@
|
||||
- [Plugins](/sim_gazebo_gz/plugins.md)
|
||||
- [Gazebo Models Repository](/sim_gazebo_gz/gazebo_models.md)
|
||||
- [Багатотранспортний Sim](/sim_gazebo_gz/multi_vehicle_simulation.md)
|
||||
- [SIH Simulation](/sim_sih/index.md)
|
||||
- [Hawkeye Visualizer](/sim_hawkeye/index.md)
|
||||
- [Симуляція Gazebo Classic](/sim_gazebo_classic/index.md)
|
||||
- [Vehicles](/sim_gazebo_classic/vehicles.md)
|
||||
- [Worlds](/sim_gazebo_classic/worlds.md)
|
||||
- [Багатотранспортний Sim](/sim_gazebo_classic/multi_vehicle_simulation.md)
|
||||
- [Симуляція запобігання відмовам](/simulation/failsafes.md)
|
||||
- [Pre-built Packages](/simulation/px4_sitl_prebuilt_packages.md)
|
||||
- [Апаратне забезпечення](/hardware/index.md)
|
||||
- [Дизайн контролера польоту](/hardware/reference_design.md)
|
||||
- [Manufacturer’s Board Support Guide](/hardware/board_support_guide.md)
|
||||
- [Flight Controller Porting Guide](/hardware/porting_guide.md)
|
||||
- [PX4 Конфігурація плати (kconfig)](/hardware/porting_guide_config.md)
|
||||
- [Посібник з портування NuttX](/hardware/porting_guide_nuttx.md)
|
||||
- [Board Firmware Packaging (.deb)](/hardware/board_packaging.md)
|
||||
- [Serial Port Mapping](/hardware/serial_port_mapping.md)
|
||||
- [Airframes](/dev_airframes/index.md)
|
||||
- [Adding a New Airframe](/dev_airframes/adding_a_new_frame.md)
|
||||
@@ -585,6 +605,8 @@
|
||||
- [DistanceSensorModeChangeRequest](/msg_docs/DistanceSensorModeChangeRequest.md)
|
||||
- [DronecanNodeStatus](/msg_docs/DronecanNodeStatus.md)
|
||||
- [Ekf2Timestamps](/msg_docs/Ekf2Timestamps.md)
|
||||
- [EscEepromRead](/msg_docs/EscEepromRead.md)
|
||||
- [EscEepromWrite](/msg_docs/EscEepromWrite.md)
|
||||
- [EscReport](/msg_docs/EscReport.md)
|
||||
- [EscStatus](/msg_docs/EscStatus.md)
|
||||
- [EstimatorAidSource1d](/msg_docs/EstimatorAidSource1d.md)
|
||||
@@ -593,6 +615,7 @@
|
||||
- [EstimatorBias](/msg_docs/EstimatorBias.md)
|
||||
- [EstimatorBias3d](/msg_docs/EstimatorBias3d.md)
|
||||
- [EstimatorEventFlags](/msg_docs/EstimatorEventFlags.md)
|
||||
- [EstimatorFusionControl](/msg_docs/EstimatorFusionControl.md)
|
||||
- [EstimatorGpsStatus](/msg_docs/EstimatorGpsStatus.md)
|
||||
- [EstimatorInnovations](/msg_docs/EstimatorInnovations.md)
|
||||
- [EstimatorSelectorStatus](/msg_docs/EstimatorSelectorStatus.md)
|
||||
@@ -691,6 +714,7 @@
|
||||
- [QshellReq](/msg_docs/QshellReq.md)
|
||||
- [QshellRetval](/msg_docs/QshellRetval.md)
|
||||
- [RadioStatus](/msg_docs/RadioStatus.md)
|
||||
- [RangingBeacon](/msg_docs/RangingBeacon.md)
|
||||
- [RateCtrlStatus](/msg_docs/RateCtrlStatus.md)
|
||||
- [RcChannels](/msg_docs/RcChannels.md)
|
||||
- [RcParameterMap](/msg_docs/RcParameterMap.md)
|
||||
@@ -769,17 +793,23 @@
|
||||
- [HomePositionV0](/msg_docs/HomePositionV0.md)
|
||||
- [RegisterExtComponentReplyV0](/msg_docs/RegisterExtComponentReplyV0.md)
|
||||
- [RegisterExtComponentRequestV0](/msg_docs/RegisterExtComponentRequestV0.md)
|
||||
- [RegisterExtComponentRequestV1](/msg_docs/RegisterExtComponentRequestV1.md)
|
||||
- [VehicleAttitudeSetpointV0](/msg_docs/VehicleAttitudeSetpointV0.md)
|
||||
- [VehicleCommandAckV0](/msg_docs/VehicleCommandAckV0.md)
|
||||
- [VehicleGlobalPositionV0](/msg_docs/VehicleGlobalPositionV0.md)
|
||||
- [VehicleLocalPositionV0](/msg_docs/VehicleLocalPositionV0.md)
|
||||
- [VehicleStatusV0](/msg_docs/VehicleStatusV0.md)
|
||||
- [VehicleStatusV1](/msg_docs/VehicleStatusV1.md)
|
||||
- [VehicleStatusV2](/msg_docs/VehicleStatusV2.md)
|
||||
- [VehicleStatusV3](/msg_docs/VehicleStatusV3.md)
|
||||
- [MAVLink Messaging](/mavlink/index.md)
|
||||
- [Adding Messages](/mavlink/adding_messages.md)
|
||||
- [Streaming Messages](/mavlink/streaming_messages.md)
|
||||
- [MAVLink Profiles](/mavlink/mavlink_profiles.md)
|
||||
- [Receiving Messages](/mavlink/receiving_messages.md)
|
||||
- [Custom MAVLink Messages](/mavlink/custom_messages.md)
|
||||
- [Message Signing](/mavlink/message_signing.md)
|
||||
- [Security Hardening](/mavlink/security_hardening.md)
|
||||
- [Protocols/Microservices](/mavlink/protocols.md)
|
||||
- [Standard Modes Protocol](/mavlink/standard_modes.md)
|
||||
- [uXRCE-DDS (PX4-ROS 2/DDS Bridge)](/middleware/uxrce_dds.md)
|
||||
@@ -866,28 +896,32 @@
|
||||
- [Multi-Vehicle Sim with JMAVSim](/sim_jmavsim/multi_vehicle.md)
|
||||
- [JSBSim Simulation](/sim_jsbsim/index.md)
|
||||
- [AirSim Simulation](/sim_airsim/index.md)
|
||||
- [HITL Simulation](/simulation/hitl.md)
|
||||
- [Simulation-In-Hardware](/sim_sih/index.md)
|
||||
- [Hardware Simulation](/simulation/hardware.md)
|
||||
- [HITL Simulation](/simulation/hitl.md)
|
||||
- [SIH on Hardware](/sim_sih/hardware.md)
|
||||
- [Multi-vehicle simulation](/simulation/multi-vehicle-simulation.md)
|
||||
- [Тестування платформи та CI](/test_and_ci/index.md)
|
||||
- [Польотні тести](/test_and_ci/test_flights.md)
|
||||
- [Тест MC_01 - Ручні режими](/test_cards/mc_01_manual_modes.md)
|
||||
- [Тест 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)
|
||||
- [Test MC_05 - Manual Modes (Inside)](/test_cards/mc_05_indoor_flight_manual_modes.md)
|
||||
- [Test MC_06 - Optical Flow (Inside)](/test_cards/mc_06_optical_flow.md)
|
||||
- [Test MC_07 - Optical Flow Low Mount](/test_cards/mc_07_optical_flow_low_mount.md)
|
||||
- [Test MC_08 - DSHOT ESC](/test_cards/mc_08_dshot.md)
|
||||
- [Test MC_09 - VIO (Visual-Inertial Odometry)](/test_cards/mc_09_vio.md)
|
||||
- [Test MC_10 - Optical Flow / GPS Mixed](/test_cards/mc_10_optical_flow_gps_mixed.md)
|
||||
- [Multicopter](/test_and_ci/test_flights.md#multicopter)
|
||||
- [Тест MC_01 - Ручні режими](/test_cards/mc_01_manual_modes.md)
|
||||
- [Тест 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)
|
||||
- [Test MC_05 - Manual Modes (Inside)](/test_cards/mc_05_indoor_flight_manual_modes.md)
|
||||
- [Test MC_06 - Optical Flow (Inside)](/test_cards/mc_06_optical_flow.md)
|
||||
- [Test MC_07 - Optical Flow Low Mount](/test_cards/mc_07_optical_flow_low_mount.md)
|
||||
- [Test MC_08 - DSHOT ESC](/test_cards/mc_08_dshot.md)
|
||||
- [Test MC_09 - VIO (Visual-Inertial Odometry)](/test_cards/mc_09_vio.md)
|
||||
- [Test MC_10 - Optical Flow / GPS Mixed](/test_cards/mc_10_optical_flow_gps_mixed.md)
|
||||
- [Fixed Wing](/test_and_ci/test_flights.md#fixed-wing)
|
||||
- [Test FW_01 - Manual Modes](/test_cards/fw_01_manual_modes.md)
|
||||
- [Test FW_02 - Full Autonomous](/test_cards/fw_02_full_autonomous.md)
|
||||
- [Модульні Тести](/test_and_ci/unit_tests.md)
|
||||
- [Fuzz Tests](/test_and_ci/fuzz_tests.md)
|
||||
- [Безперервна інтеграція](/test_and_ci/continous_integration.md)
|
||||
- [Integration Testing](/test_and_ci/integration_testing.md)
|
||||
- [MAVSDK Тестування інтеграції ](/test_and_ci/integration_testing_mavsdk.md)
|
||||
- [PX4 ROS2 Interface Library Integration Testing](/test_and_ci/integration_testing_px4_ros2_interface.md)
|
||||
- [ROS 1 Integration Testing](/test_and_ci/integration_testing_ros1_mavros.md)
|
||||
- [Докер-контейнер](/test_and_ci/docker.md)
|
||||
- [Підтримка](/test_and_ci/maintenance.md)
|
||||
|
||||
@@ -923,6 +957,7 @@
|
||||
- [Translation](/contribute/translation.md)
|
||||
- [Термінологія/Нотація](/contribute/notation.md)
|
||||
- [Ліцензії](/contribute/licenses.md)
|
||||
- [SBOM](/contribute/sbom.md)
|
||||
|
||||
- [Релізи](/releases/index.md)
|
||||
- [Release Process](/releases/release_process.md)
|
||||
|
||||
@@ -1,153 +0,0 @@
|
||||
# Integration Testing using ROS 1
|
||||
|
||||
This topic explains how to run (and extend) PX4's ROS (1) and MAVROS -based integration tests.
|
||||
|
||||
:::warning
|
||||
This test framework is deprecated.
|
||||
It should be used only for new test cases that _require_ ROS 1.
|
||||
|
||||
[MAVSDK Integration Testing](../test_and_ci/integration_testing_mavsdk.md) is preferred when writing new tests.
|
||||
:::
|
||||
|
||||
:::info
|
||||
All PX4 integration tests are executed automatically by our [Continuous Integration](../test_and_ci/continous_integration.md) system.
|
||||
:::
|
||||
|
||||
## Вимоги
|
||||
|
||||
- [Gazebo Classic Simulator](../sim_gazebo_classic/index.md)
|
||||
- [ROS and MAVROS](../simulation/ros_interface.md)
|
||||
|
||||
## Execute Tests
|
||||
|
||||
To run the MAVROS tests:
|
||||
|
||||
```sh
|
||||
source <catkin_ws>/devel/setup.bash
|
||||
cd <PX4-Autopilot_clone>
|
||||
make px4_sitl_default sitl_gazebo
|
||||
make <test_target>
|
||||
```
|
||||
|
||||
`test_target` is a makefile targets from the set: _tests_mission_, _tests_mission_coverage_, _tests_offboard_ and _tests_avoidance_.
|
||||
|
||||
Test can also be executed directly by running the test scripts, located under `test/`:
|
||||
|
||||
```sh
|
||||
source <catkin_ws>/devel/setup.bash
|
||||
cd <PX4-Autopilot_clone>
|
||||
make px4_sitl_default sitl_gazebo
|
||||
./test/<test_bash_script> <test_launch_file>
|
||||
```
|
||||
|
||||
Наприклад:
|
||||
|
||||
```sh
|
||||
./test/rostest_px4_run.sh mavros_posix_tests_offboard_posctl.test
|
||||
```
|
||||
|
||||
Tests can also be run with a GUI to see what's happening (by default the tests run "headless"):
|
||||
|
||||
```sh
|
||||
./test/rostest_px4_run.sh mavros_posix_tests_offboard_posctl.test gui:=true headless:=false
|
||||
```
|
||||
|
||||
The **.test** files launch the corresponding Python tests defined in `integrationtests/python_src/px4_it/mavros/`
|
||||
|
||||
## Write a New MAVROS Test (Python)
|
||||
|
||||
This section explains how to write a new python test using ROS 1/MAVROS, test it, and add it to the PX4 test suite.
|
||||
|
||||
We recommend you review the existing tests as examples/inspiration ([integrationtests/python_src/px4_it/mavros/](https://github.com/PX4/PX4-Autopilot/tree/main/integrationtests/python_src/px4_it/mavros)).
|
||||
The official ROS documentation also contains information on how to use [unittest](https://wiki.ros.org/unittest) (on which this test suite is based).
|
||||
|
||||
To write a new test:
|
||||
|
||||
1. Create a new test script by copying the empty test skeleton below:
|
||||
|
||||
```python
|
||||
#!/usr/bin/env python
|
||||
# [... LICENSE ...]
|
||||
|
||||
#
|
||||
# @author Example Author <author@example.com>
|
||||
#
|
||||
PKG = 'px4'
|
||||
|
||||
import unittest
|
||||
import rospy
|
||||
import rosbag
|
||||
|
||||
from sensor_msgs.msg import NavSatFix
|
||||
|
||||
class MavrosNewTest(unittest.TestCase):
|
||||
"""
|
||||
Test description
|
||||
"""
|
||||
|
||||
def setUp(self):
|
||||
rospy.init_node('test_node', anonymous=True)
|
||||
rospy.wait_for_service('mavros/cmd/arming', 30)
|
||||
|
||||
rospy.Subscriber("mavros/global_position/global", NavSatFix, self.global_position_callback)
|
||||
self.rate = rospy.Rate(10) # 10hz
|
||||
self.has_global_pos = False
|
||||
|
||||
def tearDown(self):
|
||||
pass
|
||||
|
||||
#
|
||||
# General callback functions used in tests
|
||||
#
|
||||
def global_position_callback(self, data):
|
||||
self.has_global_pos = True
|
||||
|
||||
def test_method(self):
|
||||
"""Test method description"""
|
||||
|
||||
# FIXME: hack to wait for simulation to be ready
|
||||
while not self.has_global_pos:
|
||||
self.rate.sleep()
|
||||
|
||||
# TODO: execute test
|
||||
|
||||
if __name__ == '__main__':
|
||||
import rostest
|
||||
rostest.rosrun(PKG, 'mavros_new_test', MavrosNewTest)
|
||||
```
|
||||
|
||||
2. Run the new test only
|
||||
- Start the simulator:
|
||||
|
||||
```sh
|
||||
cd <PX4-Autopilot_clone>
|
||||
source Tools/simulation/gazebo/setup_gazebo.bash
|
||||
roslaunch launch/mavros_posix_sitl.launch
|
||||
```
|
||||
|
||||
- Run test (in a new shell):
|
||||
|
||||
```sh
|
||||
cd <PX4-Autopilot_clone>
|
||||
source Tools/simulation/gazebo/setup_gazebo.bash
|
||||
rosrun px4 mavros_new_test.py
|
||||
```
|
||||
|
||||
3. Add new test node to a launch file
|
||||
- In `test/` create a new `<test_name>.test` ROS launch file.
|
||||
- Call the test file using one of the base scripts _rostest_px4_run.sh_ or _rostest_avoidance_run.sh_
|
||||
|
||||
4. (Optional) Create a new target in the Makefile
|
||||
|
||||
- Open the Makefile
|
||||
- Search the _Testing_ section
|
||||
- Add a new target name and call the test
|
||||
|
||||
Наприклад:
|
||||
|
||||
```sh
|
||||
tests_<new_test_target_name>: rostest
|
||||
@"$(SRC_DIR)"/test/rostest_px4_run.sh mavros_posix_tests_<new_test>.test
|
||||
```
|
||||
|
||||
Run the tests as described above.
|
||||
Reference in New Issue
Block a user