mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-06-01 01:00:05 +08:00
Compare commits
328 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ac7e369418 | |||
| 740d2fccb1 | |||
| bcae7e550b | |||
| a242a0210e | |||
| c32cf21b63 | |||
| a7b909234b | |||
| 6f861ba889 | |||
| f9f466854b | |||
| 26c36a96f2 | |||
| bf98503dec | |||
| f771c7ff63 | |||
| 96a305322a | |||
| 1c5750b292 | |||
| c35ae7260b | |||
| 4e6c094a54 | |||
| 128e49358e | |||
| ed558e199f | |||
| c267cf71c3 | |||
| 67b2c835e0 | |||
| d8e483ae20 | |||
| 4afd19f037 | |||
| 96e7ea7a08 | |||
| f0a0a3e545 | |||
| 2f3ea88099 | |||
| 7786437a19 | |||
| 5030b21d2e | |||
| fb3adc3faa | |||
| b400b7fcc4 | |||
| 89bc28e836 | |||
| 2549054b28 | |||
| 7115d5643c | |||
| a7124d3738 | |||
| 487b84e90b | |||
| fe80e7aa46 | |||
| 309465858a | |||
| cea185268e | |||
| e211e0ca0e | |||
| f60b883041 | |||
| f9509b442c | |||
| 870229ef49 | |||
| 5ca28dd6dc | |||
| 93de9567a5 | |||
| f77d7d9413 | |||
| cf9859965a | |||
| e33215b61c | |||
| 42f683fa64 | |||
| 10f9ac148f | |||
| a41b6f416e | |||
| f11908a266 | |||
| ccd90ede7a | |||
| aade01776a | |||
| ebc883f157 | |||
| 0c4b2cd0c5 | |||
| 7e49147bcf | |||
| b71fc63162 | |||
| 0d2ff6e224 | |||
| 535415a537 | |||
| 75c63aee2a | |||
| 7c237fca74 | |||
| 743200df22 | |||
| d792a3ff5b | |||
| 2a9801f191 | |||
| 8b9ac2d7f3 | |||
| 77a36219c6 | |||
| b92cbe12a0 | |||
| 5ea8c6e507 | |||
| 42c613a0c7 | |||
| 42dd9b5063 | |||
| 0d6766d14d | |||
| 677f3e9294 | |||
| 8545164869 | |||
| 116bb6049f | |||
| 7bc90c7f00 | |||
| 4bbe8f3c0d | |||
| e2d1e79614 | |||
| ea44c89366 | |||
| 458e5a6b0e | |||
| 1b4092abbb | |||
| a8a3107c05 | |||
| df084d65e3 | |||
| a4e511b90e | |||
| 079dfdf209 | |||
| 3c290d812d | |||
| d542ffc10c | |||
| f9c8e760b1 | |||
| 0ddba3ea90 | |||
| 2de990fd4b | |||
| 8a9a091ff3 | |||
| 3be8d52c8e | |||
| 7f7137320a | |||
| 7e9ec325f7 | |||
| bdd043f27f | |||
| 53865118fb | |||
| f7c749c9cd | |||
| d0f92bfbd5 | |||
| 5f54f6fcda | |||
| c09be0f0ac | |||
| 9b7a8d4568 | |||
| f7819f5dba | |||
| 38d3739b6d | |||
| e2d8ca73a5 | |||
| 3d1da597dd | |||
| 6ee2252b8c | |||
| 3fcdf40a47 | |||
| acaa50a448 | |||
| ebc88afe46 | |||
| 693af897b3 | |||
| 24142bc014 | |||
| c72c580a0b | |||
| 6fda555cba | |||
| cf2eb69d25 | |||
| 500a896a56 | |||
| e4bb219d10 | |||
| ae6377dfa0 | |||
| 455b885f86 | |||
| a04230faa1 | |||
| 82911e48be | |||
| 27f8298bb9 | |||
| 57c7b5e843 | |||
| 31dfdea12e | |||
| e9387cac1d | |||
| 9159f020cb | |||
| ce609144b0 | |||
| 9010029e0d | |||
| f3964513c7 | |||
| ee4821ed0a | |||
| 30150f723a | |||
| 064f3f86bc | |||
| 022aa13aa1 | |||
| 6d612b1ba4 | |||
| 8cc39096cb | |||
| 29b031c862 | |||
| 5f0a539633 | |||
| f79dad1e63 | |||
| 46e6e83e14 | |||
| dafead6f20 | |||
| 02035d94aa | |||
| 06a0aedbdb | |||
| 0af87ec745 | |||
| b179427b4c | |||
| e4b4df4e5d | |||
| f96507bb22 | |||
| c807d6079d | |||
| 0cf2ecedb9 | |||
| 5c77bbcb4c | |||
| 04b1cbb423 | |||
| 6db92b4011 | |||
| 4520186878 | |||
| 4b687beb3b | |||
| 299e6058e3 | |||
| 29ebef1f74 | |||
| 41cda14126 | |||
| c9441bb48a | |||
| aa2b47845a | |||
| f4d2e176ae | |||
| f7a5c91fb3 | |||
| 644a836d0a | |||
| cf0cd4ebf2 | |||
| 2bd1ac005f | |||
| 9b3cb6c758 | |||
| 34b6786f79 | |||
| 64ae0049de | |||
| a27aeb30bf | |||
| 20b46ad33f | |||
| 1914053db2 | |||
| f753b92cff | |||
| bb790c9bec | |||
| da99387215 | |||
| d3849c0265 | |||
| d4e5876d4c | |||
| f9522e831c | |||
| f89df9d986 | |||
| fdcbabeb9e | |||
| 9c5a423753 | |||
| dd2e6bd416 | |||
| fbc7e6a435 | |||
| 97e3b76a2e | |||
| 20457c5e2e | |||
| 5d39fdba6d | |||
| 2dcde93d96 | |||
| e2f3157ecb | |||
| 99ef597719 | |||
| 59e86c490d | |||
| 1f7080a710 | |||
| 16f8adb4b3 | |||
| 06f2004580 | |||
| 70d73c8690 | |||
| 0ee4d89744 | |||
| a5bfc3fbc2 | |||
| 7bc79b491f | |||
| 462d0af384 | |||
| 2717137982 | |||
| b0a7d206f3 | |||
| cfdaba35cc | |||
| 779e738143 | |||
| 770f8080c0 | |||
| 57bdac2b26 | |||
| ca0465aeca | |||
| e58275e6f5 | |||
| 77fdce9f3c | |||
| 86cddc6a52 | |||
| b7fab39165 | |||
| eb2a714aa5 | |||
| 16b4149492 | |||
| 32277f6332 | |||
| d30ccb2b1d | |||
| e6b292b693 | |||
| d749389f95 | |||
| cddade2047 | |||
| 8080ca966a | |||
| 13d565d707 | |||
| e65d48c070 | |||
| fdf4b668eb | |||
| 38d332a553 | |||
| 1806f0d2b4 | |||
| 300288b57e | |||
| ed16354413 | |||
| e284d4aa52 | |||
| 21daa0f398 | |||
| 9493008dbb | |||
| 0df878bc18 | |||
| c6c7733587 | |||
| e8ac9b266b | |||
| 54c97db8b2 | |||
| d7fab74727 | |||
| 828f629413 | |||
| d948fcd72b | |||
| a53e1277dd | |||
| a96187cb18 | |||
| d5f7763817 | |||
| e41913a699 | |||
| 2a6cd4a409 | |||
| 5aa873aed5 | |||
| d78de90fc8 | |||
| a47895e809 | |||
| b922307ddb | |||
| 94c8a4a840 | |||
| 13fc5918cc | |||
| 1a5d0f4347 | |||
| 0a5c9d4951 | |||
| 11dd924bd4 | |||
| c707997b9e | |||
| 87815d8869 | |||
| 3440f543f1 | |||
| 98036f93c5 | |||
| e1098c328e | |||
| 07c34f7446 | |||
| cfb98e44c9 | |||
| eaa9eae472 | |||
| 085ec0e8ef | |||
| f300ec1da2 | |||
| ff196a7363 | |||
| 97f239d3ab | |||
| b682b30ab1 | |||
| b910c1dcf4 | |||
| 8f7233b1e2 | |||
| 05850e2fc0 | |||
| eaac84ab20 | |||
| 585e81fc30 | |||
| 5fcdffc8c0 | |||
| 30e867d4de | |||
| fc89705ef8 | |||
| 70194f52cd | |||
| 3b9936edd2 | |||
| b1c7098c54 | |||
| 2e83c3a465 | |||
| 4951ce0ed7 | |||
| 328bc5b8c2 | |||
| 9e2ff11d45 | |||
| 9c0750776d | |||
| 5a74f07a74 | |||
| e9f349a2fc | |||
| 5f0fc7aaf1 | |||
| 7a760c8c6e | |||
| 0ce76679b7 | |||
| 80243aef53 | |||
| c3e6421549 | |||
| b885c920d8 | |||
| e3dff5c074 | |||
| f5215e8207 | |||
| facf01d69d | |||
| 54b5d4c5b8 | |||
| 9245d71397 | |||
| b4f27c9abb | |||
| 27780308c0 | |||
| 5a7f098b8d | |||
| f9b6edab07 | |||
| 82b28bc72f | |||
| 7ca16cd504 | |||
| 1080855f4d | |||
| ba1b6f4d2c | |||
| 3398380262 | |||
| 3dffa5e6df | |||
| b8fb5dfa51 | |||
| 34d8bd7988 | |||
| 6bd81c0eb7 | |||
| ae1e12a6b5 | |||
| fe4a6ce8de | |||
| a54fa7b9b1 | |||
| aa716936bf | |||
| 86f7e15f7a | |||
| 8f25acd428 | |||
| bfe0d71a21 | |||
| c5336abba2 | |||
| 99a20646e2 | |||
| 355f184f06 | |||
| 238fdadfee | |||
| 3f3a5f19f0 | |||
| 296b1704c5 | |||
| efcf4c95fd | |||
| 9d1aeb6aa7 | |||
| b09329f287 | |||
| e268e69265 | |||
| b45daac0e8 | |||
| 15fece7e14 | |||
| 13f9eabd70 | |||
| 55be169e18 | |||
| 4ec9e2f216 | |||
| bdec17a9d4 | |||
| baa05b2631 | |||
| ce337a3d80 | |||
| bcdd2203d3 | |||
| 72efe84b80 | |||
| a7bbcd5b04 | |||
| 0019ffbea6 | |||
| d3312f955f | |||
| 5dd1e5a018 | |||
| cac9c51ac8 |
@@ -42,6 +42,8 @@ pipeline {
|
||||
"ark_can-gps_default",
|
||||
"ark_can-rtk-gps_canbootloader",
|
||||
"ark_can-rtk-gps_default",
|
||||
"ark_fmu-v6x_bootloader",
|
||||
"ark_fmu-v6x_default",
|
||||
"atl_mantis-edu_default",
|
||||
"av_x-v1_default",
|
||||
"bitcraze_crazyflie_default",
|
||||
@@ -67,23 +69,18 @@ pipeline {
|
||||
"matek_h743-slim_default",
|
||||
"matek_h743_default",
|
||||
"modalai_fc-v1_default",
|
||||
"modalai_fc-v1_rtps",
|
||||
"modalai_fc-v2_default",
|
||||
"modalai_voxl2-io_default",
|
||||
"mro_ctrl-zero-f7_default",
|
||||
"mro_ctrl-zero-f7-oem_default",
|
||||
"mro_ctrl-zero-h7-oem_default",
|
||||
"mro_ctrl-zero-h7-oem_rtps",
|
||||
"mro_ctrl-zero-h7_default",
|
||||
"mro_ctrl-zero-h7_rtps",
|
||||
"mro_pixracerpro_default",
|
||||
"mro_pixracerpro_rtps",
|
||||
"mro_x21-777_default",
|
||||
"mro_x21_default",
|
||||
"nxp_fmuk66-e_default",
|
||||
"nxp_fmuk66-e_rtps",
|
||||
"nxp_fmuk66-e_socketcan",
|
||||
"nxp_fmuk66-v3_default",
|
||||
"nxp_fmuk66-v3_rtps",
|
||||
"nxp_fmuk66-v3_socketcan",
|
||||
"nxp_fmurt1062-v1_default",
|
||||
"nxp_ucans32k146_canbootloader",
|
||||
@@ -101,7 +98,6 @@ pipeline {
|
||||
"px4_fmu-v5_debug",
|
||||
"px4_fmu-v5_default",
|
||||
"px4_fmu-v5_lto",
|
||||
"px4_fmu-v5_rtps",
|
||||
"px4_fmu-v5_stackcheck",
|
||||
"px4_fmu-v5_uavcanv0periph",
|
||||
"px4_fmu-v5x_default",
|
||||
|
||||
@@ -771,8 +771,6 @@ void checkStatus() {
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "perf latency"'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "perf"'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ps"'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "pwm info -d /dev/pwm_output0"'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "pwm info -d /dev/pwm_output1" || true'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "pwm_out status"'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sensors status"'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "top once"'
|
||||
@@ -857,7 +855,6 @@ void printTopics() {
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener actuator_controls_0" || true'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener actuator_controls_1" || true'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener actuator_controls_2" || true'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener actuator_controls_3" || true'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener actuator_outputs" || true'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener adc_report" || true'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener airspeed_validated" || true'
|
||||
@@ -919,7 +916,6 @@ void printTopics() {
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener system_power" || true'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener task_stack_info" || true'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener telemetry_status" || true'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener test_motor" || true'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener trajectory_setpoint" || true'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener tune_control" || true'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_acceleration" || true'
|
||||
@@ -941,7 +937,7 @@ void printTopics() {
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_odometry" || true'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_rates_setpoint" || true'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_status" || true'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_status_flags" || true'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener failsafe_flags" || true'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vtol_vehicle_status" || true'
|
||||
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener yaw_estimator_status" || true'
|
||||
}
|
||||
|
||||
+1
-2
@@ -19,9 +19,8 @@
|
||||
*.jar binary
|
||||
*.xml text eol=lf
|
||||
|
||||
# PX4 mixers, msgs, etc
|
||||
# PX4 msgs, etc
|
||||
*.bin binary
|
||||
*.mix text eol=lf
|
||||
*.msg text eol=lf
|
||||
*.config text eol=lf
|
||||
*.sdf text eol=lf
|
||||
|
||||
@@ -23,7 +23,6 @@ jobs:
|
||||
"shellcheck_all",
|
||||
"NO_NINJA_BUILD=1 px4_fmu-v5_default",
|
||||
"NO_NINJA_BUILD=1 px4_sitl_default",
|
||||
"BUILD_MICRORTPS_AGENT=1 px4_sitl_rtps",
|
||||
"airframe_metadata",
|
||||
"module_documentation",
|
||||
"parameters_metadata",
|
||||
|
||||
@@ -21,6 +21,7 @@ jobs:
|
||||
ark_can-gps,
|
||||
ark_can-rtk-gps,
|
||||
ark_cannode,
|
||||
ark_fmu-v6x,
|
||||
atl_mantis-edu,
|
||||
av_x-v1,
|
||||
bitcraze_crazyflie,
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
name: Failsafe Simulator Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'main'
|
||||
pull_request:
|
||||
branches:
|
||||
- '*'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
check: [
|
||||
"failsafe_web",
|
||||
]
|
||||
container:
|
||||
image: px4io/px4-dev-nuttx-focal:2021-09-08
|
||||
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
with:
|
||||
token: ${{ secrets.ACCESS_TOKEN }}
|
||||
|
||||
- name: check environment
|
||||
run: |
|
||||
export
|
||||
ulimit -a
|
||||
- name: install emscripten
|
||||
run: |
|
||||
git clone https://github.com/emscripten-core/emsdk.git _emscripten_sdk
|
||||
cd _emscripten_sdk
|
||||
./emsdk install latest
|
||||
./emsdk activate latest
|
||||
- name: ${{matrix.check}}
|
||||
run: |
|
||||
. ./_emscripten_sdk/emsdk_env.sh
|
||||
make ${{matrix.check}}
|
||||
@@ -116,7 +116,7 @@ jobs:
|
||||
ls -ls *
|
||||
# TODO: deploy graph_px4_sitl.json to S3 px4-travis:Firmware/master/
|
||||
|
||||
micrortps_agent:
|
||||
ROS2_msgs:
|
||||
runs-on: ubuntu-latest
|
||||
container: px4io/px4-dev-base-focal:2021-09-08
|
||||
steps:
|
||||
@@ -124,34 +124,8 @@ jobs:
|
||||
with:
|
||||
token: ${{ secrets.ACCESS_TOKEN }}
|
||||
|
||||
- name: microRTPS agent
|
||||
run: |
|
||||
make px4_sitl_rtps
|
||||
git clone https://github.com/PX4/micrortps_agent.git
|
||||
cp -R build/px4_sitl_rtps/src/modules/micrortps_bridge/micrortps_agent/* micrortps_agent
|
||||
|
||||
ROS_msgs:
|
||||
runs-on: ubuntu-latest
|
||||
container: px4io/px4-dev-base-focal:2021-09-08
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
with:
|
||||
token: ${{ secrets.ACCESS_TOKEN }}
|
||||
|
||||
- name: PX4 ROS msgs
|
||||
- name: PX4 ROS2 msgs
|
||||
run: |
|
||||
git clone https://github.com/PX4/px4_msgs.git
|
||||
python3 msg/tools/uorb_to_ros_msgs.py msg/ px4_msgs/msg/
|
||||
|
||||
ROS2_bridge:
|
||||
runs-on: ubuntu-latest
|
||||
container: px4io/px4-dev-base-focal:2021-09-08
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
with:
|
||||
token: ${{ secrets.ACCESS_TOKEN }}
|
||||
|
||||
- name: PX4 ROS2 bridge
|
||||
run: |
|
||||
git clone https://github.com/PX4/px4_ros_com.git
|
||||
./msg/tools/uorb_to_ros_urtps_topics.py -i msg/tools/urtps_bridge_topics.yaml -o px4_ros_com/templates/urtps_bridge_topics.yaml
|
||||
rm px4_msgs/msg/*.msg
|
||||
cp msg/*.msg px4_msgs/msg/
|
||||
|
||||
@@ -93,7 +93,6 @@ rules.ninja
|
||||
/googletest-*/
|
||||
/logs
|
||||
/mavsdk_tests
|
||||
/test_mixer_multirotor
|
||||
/unit-*
|
||||
/uORB/
|
||||
DartConfiguration.tcl
|
||||
|
||||
+6
-8
@@ -9,19 +9,15 @@
|
||||
[submodule "Tools/simulation/jmavsim/jMAVSim"]
|
||||
path = Tools/simulation/jmavsim/jMAVSim
|
||||
url = https://github.com/PX4/jMAVSim.git
|
||||
branch = master
|
||||
branch = main
|
||||
[submodule "Tools/simulation/gazebo/sitl_gazebo"]
|
||||
path = Tools/simulation/gazebo/sitl_gazebo
|
||||
url = https://github.com/PX4/PX4-SITL_gazebo.git
|
||||
branch = master
|
||||
branch = main
|
||||
[submodule "src/drivers/gps/devices"]
|
||||
path = src/drivers/gps/devices
|
||||
url = https://github.com/PX4/PX4-GPSDrivers.git
|
||||
branch = master
|
||||
[submodule "src/modules/micrortps_bridge/micro-CDR"]
|
||||
path = src/modules/micrortps_bridge/micro-CDR
|
||||
url = https://github.com/PX4/Micro-CDR.git
|
||||
branch = master
|
||||
branch = main
|
||||
[submodule "platforms/nuttx/NuttX/nuttx"]
|
||||
path = platforms/nuttx/NuttX/nuttx
|
||||
url = https://github.com/PX4/NuttX.git
|
||||
@@ -53,6 +49,7 @@
|
||||
[submodule "src/lib/events/libevents"]
|
||||
path = src/lib/events/libevents
|
||||
url = https://github.com/mavlink/libevents.git
|
||||
branch = main
|
||||
[submodule "src/lib/crypto/libtomcrypt"]
|
||||
path = src/lib/crypto/libtomcrypt
|
||||
url = https://github.com/PX4/libtomcrypt.git
|
||||
@@ -63,4 +60,5 @@
|
||||
branch = px4
|
||||
[submodule "src/modules/microdds_client/Micro-XRCE-DDS-Client"]
|
||||
path = src/modules/microdds_client/Micro-XRCE-DDS-Client
|
||||
url = https://github.com/eProsima/Micro-XRCE-DDS-Client.git
|
||||
url = https://github.com/PX4/Micro-XRCE-DDS-Client.git
|
||||
branch = px4
|
||||
|
||||
Vendored
+18
-8
@@ -6,16 +6,11 @@ CONFIG:
|
||||
buildType: RelWithDebInfo
|
||||
settings:
|
||||
CONFIG: px4_sitl_default
|
||||
px4_sitl_ign:
|
||||
short: px4_sitl_ign
|
||||
px4_sitl_nolockstep:
|
||||
short: px4_sitl_nolockstep
|
||||
buildType: RelWithDebInfo
|
||||
settings:
|
||||
CONFIG: px4_sitl_ign
|
||||
px4_sitl_rtps:
|
||||
short: px4_sitl_rtps
|
||||
buildType: RelWithDebInfo
|
||||
settings:
|
||||
CONFIG: px4_sitl_rtps
|
||||
CONFIG: px4_sitl_nolockstep
|
||||
px4_sitl_asan:
|
||||
short: px4_sitl (AddressSanitizer)
|
||||
buildType: AddressSanitizer
|
||||
@@ -136,6 +131,16 @@ CONFIG:
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: ark_cannode_canbootloader
|
||||
ark_fmu-v6x_bootloader:
|
||||
short: ark_fmu-v6x_bootloader
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: ark_fmu-v6x_bootloader
|
||||
ark_fmu-v6x_default:
|
||||
short: ark_fmu-v6x_default
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: ark_fmu-v6x_default
|
||||
atl_mantis-edu_default:
|
||||
short: atl_mantis-edu
|
||||
buildType: MinSizeRel
|
||||
@@ -231,6 +236,11 @@ CONFIG:
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: modalai_fc-v2_default
|
||||
modalai_voxl2-io_default:
|
||||
short: modalai_voxl2-io
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: modalai_voxl2-io_default
|
||||
mro_ctrl-zero-f7_default:
|
||||
short: mro_ctrl-zero-f7
|
||||
buildType: MinSizeRel
|
||||
|
||||
Vendored
+43
-81
@@ -56,15 +56,17 @@
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}/Tools/simulation/jmavsim/jMAVSim"
|
||||
},
|
||||
"problemMatcher": [],
|
||||
"presentation":{
|
||||
"presentation": {
|
||||
"echo": true,
|
||||
"reveal": "never",
|
||||
"revealProblems": "onProblem",
|
||||
"focus": false,
|
||||
"panel": "shared",
|
||||
"panel": "dedicated",
|
||||
"showReuseMessage": false,
|
||||
"clear": false,
|
||||
}
|
||||
"close": true
|
||||
},
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"label": "jmavsim",
|
||||
@@ -81,24 +83,28 @@
|
||||
"presentation": {
|
||||
"echo": true,
|
||||
"reveal": "never",
|
||||
"revealProblems": "onProblem",
|
||||
"focus": false,
|
||||
"panel": "shared",
|
||||
"panel": "dedicated",
|
||||
"showReuseMessage": false,
|
||||
"clear": false
|
||||
"clear": false,
|
||||
"close": true
|
||||
},
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"label": "jmavsim kill",
|
||||
"type": "shell",
|
||||
"command": "kill $(ps aux | grep jmavsim | grep -v 'grep' | awk '{print $2}')",
|
||||
"command": "kill $(ps aux | grep jmavsim | grep -v 'grep' | awk '{print $2}') || true",
|
||||
"presentation": {
|
||||
"echo": false,
|
||||
"echo": true,
|
||||
"reveal": "never",
|
||||
"revealProblems": "onProblem",
|
||||
"focus": false,
|
||||
"panel": "shared",
|
||||
"panel": "dedicated",
|
||||
"showReuseMessage": false,
|
||||
"clear": false
|
||||
"clear": false,
|
||||
"close": true
|
||||
},
|
||||
"problemMatcher": [],
|
||||
"dependsOn":["px4_sitl_cleanup"]
|
||||
@@ -110,15 +116,17 @@
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}"
|
||||
},
|
||||
"problemMatcher": [],
|
||||
"presentation":{
|
||||
"presentation": {
|
||||
"echo": true,
|
||||
"reveal": "always",
|
||||
"reveal": "never",
|
||||
"revealProblems": "onProblem",
|
||||
"focus": false,
|
||||
"panel": "shared",
|
||||
"panel": "dedicated",
|
||||
"showReuseMessage": false,
|
||||
"clear": false,
|
||||
}
|
||||
"close": true
|
||||
},
|
||||
"problemMatcher": [],
|
||||
},
|
||||
{
|
||||
"label": "gazebo start",
|
||||
@@ -132,15 +140,17 @@
|
||||
"PX4_SIM_SPEED_FACTOR": "1"
|
||||
}
|
||||
},
|
||||
"command": "gzserver --verbose ${workspaceFolder}/Tools/simulation/gazebo/sitl_gazebo/worlds/${input:gazeboWorld}.world",
|
||||
"command": "gzserver --verbose ${workspaceFolder}/Tools/simulation/gazebo/sitl_gazebo/worlds/empty.world",
|
||||
"isBackground": true,
|
||||
"presentation": {
|
||||
"echo": true,
|
||||
"reveal": "never",
|
||||
"revealProblems": "onProblem",
|
||||
"focus": false,
|
||||
"panel": "shared",
|
||||
"panel": "dedicated",
|
||||
"showReuseMessage": false,
|
||||
"clear": false
|
||||
"clear": false,
|
||||
"close": true
|
||||
},
|
||||
"problemMatcher": [
|
||||
{
|
||||
@@ -172,15 +182,17 @@
|
||||
"PX4_SIM_SPEED_FACTOR": "1"
|
||||
}
|
||||
},
|
||||
"command": "gz model --verbose --spawn-file=${workspaceFolder}/Tools/simulation/gazebo/sitl_gazebo/models/${input:gazeboModel}/${input:gazeboModel}.sdf --model-name=${input:gazeboModel} -x 1.01 -y 0.98 -z 0.83",
|
||||
"command": "gz model --verbose --spawn-file=${workspaceFolder}/Tools/simulation/gazebo/sitl_gazebo/models/iris/iris.sdf --model-name=iris -x 1.01 -y 0.98 -z 0.83",
|
||||
"isBackground": false,
|
||||
"presentation": {
|
||||
"echo": true,
|
||||
"reveal": "never",
|
||||
"revealProblems": "onProblem",
|
||||
"focus": false,
|
||||
"panel": "shared",
|
||||
"panel": "dedicated",
|
||||
"showReuseMessage": false,
|
||||
"clear": false
|
||||
"clear": false,
|
||||
"close": true
|
||||
},
|
||||
"problemMatcher": [
|
||||
{
|
||||
@@ -206,39 +218,23 @@
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}",
|
||||
"env": {
|
||||
"IGN_GAZEBO_RESOURCE_PATH": "${workspaceFolder}/Tools/simulation/ignition/models",
|
||||
"PX4_SIM_SPEED_FACTOR": "1"
|
||||
"IGN_GAZEBO_RESOURCE_PATH": "${workspaceFolder}/Tools/simulation/gz/models",
|
||||
}
|
||||
},
|
||||
"command": "ign gazebo -v 4 -r ${workspaceFolder}/Tools/simulation/ignition/worlds/${input:ignWorld}.sdf",
|
||||
"command": "ign gazebo -v 4 -r ${workspaceFolder}/Tools/simulation/gz/worlds/${input:gzWorld}.sdf",
|
||||
"isBackground": true,
|
||||
"presentation": {
|
||||
"echo": true,
|
||||
"reveal": "never",
|
||||
"reveal": "always",
|
||||
"revealProblems": "onProblem",
|
||||
"focus": false,
|
||||
"focus": true,
|
||||
"panel": "dedicated",
|
||||
"showReuseMessage": false,
|
||||
"clear": false,
|
||||
"close": true
|
||||
"close": false
|
||||
},
|
||||
"problemMatcher": [
|
||||
{
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": ".",
|
||||
"file": 1,
|
||||
"location": 2,
|
||||
"message": 3
|
||||
}
|
||||
],
|
||||
"background": {
|
||||
"activeOnStart": true,
|
||||
"beginsPattern": ".",
|
||||
"endsPattern": ".",
|
||||
}
|
||||
}
|
||||
]
|
||||
"problemMatcher": [],
|
||||
"dependsOn":["ign gazebo kill"]
|
||||
},
|
||||
{
|
||||
"label": "gazebo kill",
|
||||
@@ -260,7 +256,7 @@
|
||||
{
|
||||
"label": "ign gazebo kill",
|
||||
"type": "shell",
|
||||
"command": "pkill -9 -f ign || true",
|
||||
"command": "pkill -9 -f 'ign gazebo' || true",
|
||||
"presentation": {
|
||||
"echo": true,
|
||||
"reveal": "never",
|
||||
@@ -346,46 +342,12 @@
|
||||
"inputs": [
|
||||
{
|
||||
"type": "pickString",
|
||||
"id": "ignWorld",
|
||||
"description": "Ignition world",
|
||||
"id": "gzWorld",
|
||||
"description": "gz world",
|
||||
"options": [
|
||||
"default"
|
||||
],
|
||||
"default": "default"
|
||||
},
|
||||
{
|
||||
"type": "pickString",
|
||||
"id": "gazeboModel",
|
||||
"description": "gazebo model",
|
||||
"options": [
|
||||
"iris",
|
||||
"typhoon_h480",
|
||||
"plane",
|
||||
"plane_catapult",
|
||||
"plane_lidar",
|
||||
"standard_vtol",
|
||||
"tailsitter",
|
||||
"tiltrotor",
|
||||
"r1_rover",
|
||||
"boat"
|
||||
],
|
||||
"default": "iris"
|
||||
},
|
||||
{
|
||||
"type": "pickString",
|
||||
"id": "gazeboWorld",
|
||||
"description": "gazebo world",
|
||||
"options": [
|
||||
"baylands",
|
||||
"empty",
|
||||
"ksql_airport",
|
||||
"mcmillan_airfield",
|
||||
"sonoma_raceway",
|
||||
"warehouse",
|
||||
"windy",
|
||||
"yosemite"
|
||||
],
|
||||
"default": "empty"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+1
-2
@@ -410,11 +410,10 @@ if(BUILD_TESTING)
|
||||
include(gtest)
|
||||
|
||||
add_custom_target(test_results
|
||||
COMMAND GTEST_COLOR=1 ${CMAKE_CTEST_COMMAND} --output-on-failure -T Test -R ${TESTFILTER} USES_TERMINAL
|
||||
COMMAND GTEST_COLOR=1 ${CMAKE_CTEST_COMMAND} --output-on-failure -T Test -R \"${TESTFILTER}\" USES_TERMINAL
|
||||
DEPENDS
|
||||
px4
|
||||
examples__dyn_hello
|
||||
test_mixer_multirotor
|
||||
USES_TERMINAL
|
||||
COMMENT "Running tests"
|
||||
WORKING_DIRECTORY ${PX4_BINARY_DIR})
|
||||
|
||||
@@ -829,7 +829,6 @@ RECURSIVE = YES
|
||||
# run.
|
||||
|
||||
EXCLUDE = @CMAKE_SOURCE_DIR@/src/modules/uavcan/libuavcan \
|
||||
@CMAKE_SOURCE_DIR@/src/modules/micrortps_bridge/micro-CDR \
|
||||
@CMAKE_SOURCE_DIR@/src/examples \
|
||||
@CMAKE_SOURCE_DIR@/src/templates
|
||||
|
||||
|
||||
Vendored
+34
-154
@@ -13,76 +13,6 @@ pipeline {
|
||||
}
|
||||
}
|
||||
parallel {
|
||||
// stage('Catkin build on ROS workspace') {
|
||||
// agent {
|
||||
// docker {
|
||||
// image 'px4io/px4-dev-ros-melodic:2021-08-18'
|
||||
// args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
|
||||
// }
|
||||
// }
|
||||
// steps {
|
||||
// sh 'ls -l'
|
||||
// sh '''#!/bin/bash -l
|
||||
// echo $0;
|
||||
// mkdir -p catkin_ws/src;
|
||||
// cd catkin_ws;
|
||||
// git -C ${WORKSPACE}/catkin_ws/src/Firmware submodule update --init --recursive --force Tools/simulation/gazebo/sitl_gazebo
|
||||
// git clone --recursive ${WORKSPACE}/catkin_ws/src/Firmware/Tools/simulation/gazebo/sitl_gazebo src/mavlink_sitl_gazebo;
|
||||
// git -C ${WORKSPACE}/catkin_ws/src/Firmware fetch --tags;
|
||||
// source /opt/ros/melodic/setup.bash;
|
||||
// export PYTHONPATH=/opt/ros/$ROS_DISTRO/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages:/usr/local/lib/python2.7/dist-packages;
|
||||
// catkin init;
|
||||
// catkin build -j$(nproc) -l$(nproc);
|
||||
// '''
|
||||
// // test if the binary was correctly installed and runs using 'mavros_posix_sitl.launch'
|
||||
// sh '''#!/bin/bash -l
|
||||
// echo $0;
|
||||
// source catkin_ws/devel/setup.bash;
|
||||
// rostest px4 pub_test.launch;
|
||||
// '''
|
||||
// }
|
||||
// post {
|
||||
// always {
|
||||
// sh 'rm -rf catkin_ws'
|
||||
// }
|
||||
// failure {
|
||||
// archiveArtifacts(allowEmptyArchive: false, artifacts: '.ros/**/*.xml, .ros/**/*.log')
|
||||
// }
|
||||
// }
|
||||
// options {
|
||||
// checkoutToSubdirectory('catkin_ws/src/Firmware')
|
||||
// }
|
||||
// }
|
||||
|
||||
stage('Colcon build on ROS2 workspace') {
|
||||
agent {
|
||||
docker {
|
||||
image 'px4io/px4-dev-ros2-foxy:2021-08-18'
|
||||
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
sh 'ls -l'
|
||||
sh '''#!/bin/bash -l
|
||||
echo $0;
|
||||
unset ROS_DISTRO;
|
||||
mkdir -p colcon_ws/src;
|
||||
cd colcon_ws;
|
||||
git -C ${WORKSPACE}/colcon_ws/src/Firmware submodule update --init --recursive --force Tools/simulation/gazebo/sitl_gazebo;
|
||||
git -C ${WORKSPACE}/colcon_ws/src/Firmware fetch --tags;
|
||||
source /opt/ros/foxy/setup.sh;
|
||||
colcon build --event-handlers console_direct+ --symlink-install;
|
||||
'''
|
||||
}
|
||||
post {
|
||||
always {
|
||||
sh 'rm -rf colcon_ws'
|
||||
}
|
||||
}
|
||||
options {
|
||||
checkoutToSubdirectory('colcon_ws/src/Firmware')
|
||||
}
|
||||
}
|
||||
|
||||
stage('Airframe') {
|
||||
agent {
|
||||
@@ -149,7 +79,7 @@ pipeline {
|
||||
docker { image 'px4io/px4-dev-base-focal:2021-08-18' }
|
||||
}
|
||||
steps {
|
||||
sh 'mkdir -p build/msg_docs; ./msg/tools/generate_msg_docs.py -d build/msg_docs'
|
||||
sh 'mkdir -p build/msg_docs; ./Tools/msg/generate_msg_docs.py -d build/msg_docs'
|
||||
dir('build') {
|
||||
archiveArtifacts(artifacts: 'msg_docs/*.md')
|
||||
stash includes: 'msg_docs/*.md', name: 'msg_documentation'
|
||||
@@ -162,6 +92,35 @@ pipeline {
|
||||
}
|
||||
}
|
||||
|
||||
stage('failsafe docs') {
|
||||
agent {
|
||||
docker { image 'px4io/px4-dev-base-focal:2021-08-18' }
|
||||
}
|
||||
steps {
|
||||
sh '''#!/bin/bash -l
|
||||
echo $0;
|
||||
git clone https://github.com/emscripten-core/emsdk.git _emscripten_sdk;
|
||||
cd _emscripten_sdk;
|
||||
./emsdk install latest;
|
||||
./emsdk activate latest;
|
||||
. ./_emscripten_sdk/emsdk_env.sh;
|
||||
make failsafe_web;
|
||||
cd build/px4_sitl_default_failsafe_web;
|
||||
mkdir -p failsafe_sim;
|
||||
cp index.* parameters.json failsafe_sim;
|
||||
'''
|
||||
dir('build/px4_sitl_default_failsafe_web') {
|
||||
archiveArtifacts(artifacts: 'failsafe_sim/*')
|
||||
stash includes: 'failsafe_sim/*', name: 'failsafe_sim'
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
sh 'make distclean; git clean -ff -x -d .'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('uORB graphs') {
|
||||
agent {
|
||||
docker {
|
||||
@@ -203,6 +162,7 @@ pipeline {
|
||||
unstash 'metadata_parameters'
|
||||
unstash 'metadata_module_documentation'
|
||||
unstash 'msg_documentation'
|
||||
unstash 'failsafe_sim'
|
||||
unstash 'uorb_graph'
|
||||
withCredentials([usernamePassword(credentialsId: 'px4buildbot_github_personal_token', passwordVariable: 'GIT_PASS', usernameVariable: 'GIT_USER')]) {
|
||||
sh('git clone https://${GIT_USER}:${GIT_PASS}@github.com/PX4/PX4-user_guide.git')
|
||||
@@ -211,6 +171,7 @@ pipeline {
|
||||
sh('cp -R modules/*.md PX4-user_guide/en/modules/')
|
||||
sh('cp -R graph_*.json PX4-user_guide/.vuepress/public/en/middleware/')
|
||||
sh('cp -R msg_docs/*.md PX4-user_guide/en/msg_docs/')
|
||||
sh('cp -R failsafe_sim/* PX4-user_guide/.vuepress/public/en/config/failsafe')
|
||||
sh('cd PX4-user_guide; git status; git add .; git commit -a -m "Update PX4 Firmware metadata `date`" || true')
|
||||
sh('cd PX4-user_guide; git push origin main || true')
|
||||
sh('rm -rf PX4-user_guide')
|
||||
@@ -257,37 +218,6 @@ pipeline {
|
||||
}
|
||||
}
|
||||
|
||||
stage('microRTPS agent') {
|
||||
agent {
|
||||
docker { image 'px4io/px4-dev-base-focal:2021-08-18' }
|
||||
}
|
||||
steps {
|
||||
sh('export')
|
||||
sh('git fetch --all --tags')
|
||||
sh('make distclean; git clean -ff -x -d .')
|
||||
sh('make px4_sitl_rtps')
|
||||
withCredentials([usernamePassword(credentialsId: 'px4buildbot_github_personal_token', passwordVariable: 'GIT_PASS', usernameVariable: 'GIT_USER')]) {
|
||||
sh("git clone https://${GIT_USER}:${GIT_PASS}@github.com/PX4/micrortps_agent.git -b ${BRANCH_NAME}")
|
||||
sh("rm -rf micrortps_agent/src micrortps_agent/idl")
|
||||
sh('cp -R build/px4_sitl_rtps/src/modules/micrortps_bridge/micrortps_agent/* micrortps_agent')
|
||||
sh('cd micrortps_agent; git status; git add src; git commit -a -m "Update microRTPS agent source code `date`" || true')
|
||||
sh('cd micrortps_agent; git push origin ${BRANCH_NAME} || true')
|
||||
sh('cd micrortps_agent; git status; git add idl; git commit -a -m "Update IDL definitions `date`" || true')
|
||||
sh('cd micrortps_agent; git push origin ${BRANCH_NAME} || true')
|
||||
sh('cd micrortps_agent; git status; git add CMakeLists.txt; git commit -a -m "Update CMakeLists.txt `date`" || true')
|
||||
sh('cd micrortps_agent; git push origin ${BRANCH_NAME} || true')
|
||||
sh('rm -rf micrortps_agent')
|
||||
}
|
||||
}
|
||||
when {
|
||||
anyOf {
|
||||
branch 'main'
|
||||
branch 'master' // should be removed, but in case there is something going on...
|
||||
branch 'pr-jenkins' // for testing
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('PX4 ROS msgs') {
|
||||
agent {
|
||||
docker { image 'px4io/px4-dev-base-focal:2021-08-18' }
|
||||
@@ -298,66 +228,16 @@ pipeline {
|
||||
withCredentials([usernamePassword(credentialsId: 'px4buildbot_github_personal_token', passwordVariable: 'GIT_PASS', usernameVariable: 'GIT_USER')]) {
|
||||
sh("git clone https://${GIT_USER}:${GIT_PASS}@github.com/PX4/px4_msgs.git")
|
||||
// 'main' branch
|
||||
sh('./msg/tools/uorb_to_ros_msgs.py msg/ px4_msgs/msg/')
|
||||
sh('rm -f px4_msgs/msg/*.msg')
|
||||
sh('cp msg/*.msg px4_msgs/msg/')
|
||||
sh('cd px4_msgs; git status; git add .; git commit -a -m "Update message definitions `date`" || true')
|
||||
sh('cd px4_msgs; git push origin main || true')
|
||||
// 'ros1' branch
|
||||
sh('cd px4_msgs; git checkout ros1')
|
||||
sh('./msg/tools/uorb_to_ros_msgs.py msg/ px4_msgs/msg/')
|
||||
sh('cd px4_msgs; git status; git add .; git commit -a -m "Update message definitions `date`" || true')
|
||||
sh('cd px4_msgs; git push origin ros1 || true')
|
||||
sh('rm -rf px4_msgs')
|
||||
}
|
||||
}
|
||||
when {
|
||||
anyOf {
|
||||
branch 'main'
|
||||
branch 'master' // should be removed, but in case there is something going on...
|
||||
branch 'pr-jenkins' // for testing
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('PX4 ROS2 bridge') {
|
||||
agent {
|
||||
docker { image 'px4io/px4-dev-base-focal:2021-08-18' }
|
||||
}
|
||||
steps {
|
||||
sh('export')
|
||||
sh('make distclean; git clean -ff -x -d .')
|
||||
withCredentials([usernamePassword(credentialsId: 'px4buildbot_github_personal_token', passwordVariable: 'GIT_PASS', usernameVariable: 'GIT_USER')]) {
|
||||
sh("git clone https://${GIT_USER}:${GIT_PASS}@github.com/PX4/px4_ros_com.git -b ${BRANCH_NAME}")
|
||||
// deploy uORB RTPS ID map
|
||||
sh('./msg/tools/uorb_to_ros_urtps_topics.py -i msg/tools/urtps_bridge_topics.yaml -o px4_ros_com/templates/urtps_bridge_topics.yaml')
|
||||
sh('cd px4_ros_com; git status; git add .; git commit -a -m "Update uORB RTPS ID map `date`" || true')
|
||||
sh('cd px4_ros_com; git push origin ${BRANCH_NAME} || true')
|
||||
// deploy uORB RTPS required tools
|
||||
sh('cp msg/tools/uorb_rtps_classifier.py px4_ros_com/scripts/uorb_rtps_classifier.py')
|
||||
sh('cp msg/tools/generate_microRTPS_bridge.py px4_ros_com/scripts/generate_microRTPS_bridge.py')
|
||||
sh('cp msg/tools/px_generate_uorb_topic_files.py px4_ros_com/scripts/px_generate_uorb_topic_files.py')
|
||||
sh('cp msg/tools/px_generate_uorb_topic_helper.py px4_ros_com/scripts/px_generate_uorb_topic_helper.py')
|
||||
// deploy templates
|
||||
sh('cp msg/templates/urtps/microRTPS_agent.cpp.em px4_ros_com/templates/microRTPS_agent.cpp.em')
|
||||
sh('cp msg/templates/urtps/microRTPS_timesync.cpp.em px4_ros_com/templates/microRTPS_timesync.cpp.em')
|
||||
sh('cp msg/templates/urtps/microRTPS_timesync.h.em px4_ros_com/templates/microRTPS_timesync.h.em')
|
||||
sh('cp msg/templates/urtps/microRTPS_transport.cpp px4_ros_com/templates/microRTPS_transport.cpp')
|
||||
sh('cp msg/templates/urtps/microRTPS_transport.h px4_ros_com/templates/microRTPS_transport.h')
|
||||
sh('cp msg/templates/urtps/Publisher.cpp.em px4_ros_com/templates/Publisher.cpp.em')
|
||||
sh('cp msg/templates/urtps/Publisher.h.em px4_ros_com/templates/Publisher.h.em')
|
||||
sh('cp msg/templates/urtps/Subscriber.cpp.em px4_ros_com/templates/Subscriber.cpp.em')
|
||||
sh('cp msg/templates/urtps/Subscriber.h.em px4_ros_com/templates/Subscriber.h.em')
|
||||
sh('cp msg/templates/urtps/RtpsTopics.cpp.em px4_ros_com/templates/RtpsTopics.cpp.em')
|
||||
sh('cp msg/templates/urtps/RtpsTopics.h.em px4_ros_com/templates/RtpsTopics.h.em')
|
||||
sh('cd px4_ros_com; git status; git add .; git commit -a -m "Update uORB RTPS script tools `date`" || true')
|
||||
sh('cd px4_ros_com; git push origin ${BRANCH_NAME} || true')
|
||||
sh('rm -rf px4_msgs')
|
||||
}
|
||||
}
|
||||
when {
|
||||
anyOf {
|
||||
branch 'main'
|
||||
branch 'master' // should be removed, but in case there is something going on...
|
||||
branch 'pr-jenkins' // for testing
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -172,11 +172,6 @@ ifdef PYTHON_EXECUTABLE
|
||||
override CMAKE_ARGS += -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
|
||||
endif
|
||||
|
||||
# Check if the microRTPS agent is to be built
|
||||
ifdef BUILD_MICRORTPS_AGENT
|
||||
override CMAKE_ARGS += -DBUILD_MICRORTPS_AGENT=ON
|
||||
endif
|
||||
|
||||
# Functions
|
||||
# --------------------------------------------------------------------
|
||||
# describe how to build a cmake config
|
||||
@@ -253,7 +248,7 @@ endef
|
||||
# Other targets
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
.PHONY: qgc_firmware px4fmu_firmware misc_qgc_extra_firmware check_rtps
|
||||
.PHONY: qgc_firmware px4fmu_firmware misc_qgc_extra_firmware
|
||||
|
||||
# QGroundControl flashable NuttX firmware
|
||||
qgc_firmware: px4fmu_firmware misc_qgc_extra_firmware
|
||||
@@ -278,15 +273,7 @@ misc_qgc_extra_firmware: \
|
||||
check_airmind_mindpx-v2_default \
|
||||
sizes
|
||||
|
||||
# builds with RTPS
|
||||
check_rtps: \
|
||||
check_px4_fmu-v3_rtps \
|
||||
check_px4_fmu-v4_rtps \
|
||||
check_px4_fmu-v4pro_rtps \
|
||||
check_px4_sitl_rtps \
|
||||
sizes
|
||||
|
||||
.PHONY: sizes check quick_check check_rtps uorb_graphs
|
||||
.PHONY: sizes check quick_check uorb_graphs
|
||||
|
||||
sizes:
|
||||
@-find build -name *.elf -type f | xargs size 2> /dev/null || :
|
||||
@@ -320,8 +307,10 @@ px4io_update:
|
||||
@$(MAKE) --no-print-directory px4_io-v2_default
|
||||
@$(MAKE) --no-print-directory cubepilot_io-v2_default
|
||||
# px4_io-v2_default
|
||||
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/ark/fmu-v6x/extras/px4_io-v2_default.bin
|
||||
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/holybro/durandal-v1/extras/px4_io-v2_default.bin
|
||||
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/holybro/pix32v5/extras/px4_io-v2_default.bin
|
||||
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/mro/x21/extras/px4_io-v2_default.bin
|
||||
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/mro/x21-777/extras/px4_io-v2_default.bin
|
||||
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/px4/fmu-v2/extras/px4_io-v2_default.bin
|
||||
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/px4/fmu-v3/extras/px4_io-v2_default.bin
|
||||
@@ -335,7 +324,7 @@ px4io_update:
|
||||
cp build/cubepilot_io-v2_default/cubepilot_io-v2_default.bin boards/cubepilot/cubeyellow/extras/cubepilot_io-v2_default.bin
|
||||
git status
|
||||
|
||||
bootloaders_update: cuav_nora_bootloader cuav_x7pro_bootloader cubepilot_cubeorange_bootloader holybro_durandal-v1_bootloader holybro_kakuteh7_bootloader matek_h743_bootloader matek_h743-mini_bootloader matek_h743-slim_bootloader modalai_fc-v2_bootloader mro_ctrl-zero-classic_bootloader mro_ctrl-zero-h7_bootloader mro_ctrl-zero-h7-oem_bootloader mro_pixracerpro_bootloader px4_fmu-v6c_bootloader px4_fmu-v6u_bootloader px4_fmu-v6x_bootloader
|
||||
bootloaders_update: ark_fmu-v6x_bootloader cuav_nora_bootloader cuav_x7pro_bootloader cubepilot_cubeorange_bootloader holybro_durandal-v1_bootloader holybro_kakuteh7_bootloader matek_h743_bootloader matek_h743-mini_bootloader matek_h743-slim_bootloader modalai_fc-v2_bootloader mro_ctrl-zero-classic_bootloader mro_ctrl-zero-h7_bootloader mro_ctrl-zero-h7-oem_bootloader mro_pixracerpro_bootloader px4_fmu-v6c_bootloader px4_fmu-v6u_bootloader px4_fmu-v6x_bootloader
|
||||
git status
|
||||
|
||||
.PHONY: coverity_scan
|
||||
@@ -397,6 +386,8 @@ tests_coverage:
|
||||
@mkdir -p coverage
|
||||
@lcov --directory build/px4_sitl_test --base-directory build/px4_sitl_test --gcov-tool gcov --capture -o coverage/lcov.info
|
||||
|
||||
test_unit:
|
||||
@$(MAKE) tests TESTFILTER="unit\|functional"
|
||||
|
||||
rostest: px4_sitl_default
|
||||
@$(MAKE) --no-print-directory px4_sitl_default sitl_gazebo
|
||||
@@ -493,7 +484,9 @@ shellcheck_all:
|
||||
|
||||
validate_module_configs:
|
||||
@find "$(SRC_DIR)"/src/modules "$(SRC_DIR)"/src/drivers "$(SRC_DIR)"/src/lib -name *.yaml -type f \
|
||||
-not -path "$(SRC_DIR)/src/lib/mixer_module/*" -not -path "$(SRC_DIR)/src/lib/crypto/libtommath/*" -print0 | \
|
||||
-not -path "$(SRC_DIR)/src/lib/mixer_module/*" \
|
||||
-not -path "$(SRC_DIR)/src/modules/microdds_client/dds_topics.yaml" \
|
||||
-not -path "$(SRC_DIR)/src/lib/crypto/libtommath/*" -print0 | \
|
||||
xargs -0 "$(SRC_DIR)"/Tools/validate_yaml.py --schema-file "$(SRC_DIR)"/validation/module_schema.yaml
|
||||
|
||||
# Cleanup
|
||||
@@ -559,17 +552,12 @@ check_px4: $(call make_list,nuttx,"px4") \
|
||||
check_nxp: $(call make_list,nuttx,"nxp") \
|
||||
sizes
|
||||
|
||||
ifneq ($(ROS2_WS_DIR),)
|
||||
ROS2_WS_DIR := $(basename ${ROS2_WS_DIR})
|
||||
else
|
||||
ROS2_WS_DIR := ~/colcon_ws
|
||||
endif
|
||||
|
||||
update_ros2_bridge:
|
||||
@Tools/update_px4_ros2_bridge.sh --ws_dir ${ROS2_WS_DIR} --all
|
||||
|
||||
update_px4_ros_com:
|
||||
@Tools/update_px4_ros2_bridge.sh --ws_dir ${ROS2_WS_DIR} --px4_ros_com
|
||||
|
||||
update_px4_msgs:
|
||||
@Tools/update_px4_ros2_bridge.sh --ws_dir ${ROS2_WS_DIR} --px4_msgs
|
||||
.PHONY: failsafe_web run_failsafe_web_server
|
||||
failsafe_web:
|
||||
@if ! command -v emcc; then echo -e "Install emscripten first: https://emscripten.org/docs/getting_started/downloads.html\nAnd source the env: source <path>/emsdk_env.sh"; exit 1; fi
|
||||
@$(MAKE) --no-print-directory px4_sitl_default failsafe_test parameters_xml \
|
||||
PX4_CMAKE_BUILD_TYPE=Release BUILD_DIR_SUFFIX=_failsafe_web \
|
||||
CMAKE_ARGS="-DCMAKE_CXX_COMPILER=em++ -DCMAKE_C_COMPILER=emcc"
|
||||
run_failsafe_web_server: failsafe_web
|
||||
@cd build/px4_sitl_default_failsafe_web && \
|
||||
python3 -m http.server
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
[](https://github.com/PX4/PX4-Autopilot/actions?query=workflow%3A%22Nuttx+Targets%22?branch=master) [](https://github.com/PX4/PX4-Autopilot/actions?query=workflow%3A%22SITL+Tests%22)
|
||||
|
||||
[](https://join.slack.com/t/px4/shared_invite/zt-si4xo5qs-R4baYFmMjlrT4rQK5yUnaA)
|
||||
[](https://discord.gg/dronecode)
|
||||
|
||||
This repository holds the [PX4](http://px4.io) flight control solution for drones, with the main applications located in the [src/modules](https://github.com/PX4/PX4-Autopilot/tree/main/src/modules) directory. It also contains the PX4 Drone Middleware Platform, which provides drivers and middleware to run drones.
|
||||
|
||||
@@ -75,7 +75,7 @@ The PX4 Dev Team syncs up on a [weekly dev call](https://docs.px4.io/main/en/con
|
||||
* [Paul Riseborough](https://github.com/priseborough)
|
||||
* Vision based navigation and Obstacle Avoidance
|
||||
* [Markus Achtelik](https://github.com/markusachtelik)
|
||||
* RTPS/ROS2 Interface
|
||||
* DDS/ROS2 Interface
|
||||
* [Nuno Marques](https://github.com/TSC21)
|
||||
|
||||
See also [maintainers list](https://px4.io/community/maintainers/) (px4.io) and the [contributors list](https://github.com/PX4/PX4-Autopilot/graphs/contributors) (Github).
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
############################################################################
|
||||
|
||||
add_subdirectory(init.d)
|
||||
add_subdirectory(mixers)
|
||||
# TODO: make this configurable from the board config, or better combine
|
||||
if("${PX4_BOARD}" MATCHES "sitl")
|
||||
add_subdirectory(init.d-posix)
|
||||
|
||||
@@ -36,7 +36,6 @@ add_subdirectory(airframes)
|
||||
px4_add_romfs_files(
|
||||
px4-rc.mavlink
|
||||
px4-rc.params
|
||||
px4-rc.rtps
|
||||
px4-rc.simulator
|
||||
rc.replay
|
||||
rcS
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Advanced Plane SITL
|
||||
#
|
||||
|
||||
. ${R}etc/init.d/rc.fw_defaults
|
||||
|
||||
param set-default EKF2_MAG_ACCLIM 0
|
||||
param set-default EKF2_MAG_YAWLIM 0
|
||||
|
||||
param set-default FW_LND_AIRSPD_SC 1
|
||||
param set-default FW_LND_ANG 8
|
||||
param set-default FW_THR_LND_MAX 0
|
||||
|
||||
param set-default FW_L1_PERIOD 12
|
||||
|
||||
param set-default FW_MAN_P_MAX 30
|
||||
|
||||
param set-default FW_PSP_OFF 2
|
||||
param set-default FW_P_LIM_MAX 32
|
||||
param set-default FW_P_LIM_MIN -15
|
||||
|
||||
param set-default FW_SPOILERS_LND 0.4
|
||||
|
||||
param set-default FW_THR_MIN 0.05
|
||||
param set-default FW_THR_TRIM 0.25
|
||||
|
||||
param set-default FW_T_CLMB_MAX 8
|
||||
param set-default FW_T_SINK_MAX 2.7
|
||||
param set-default FW_T_SINK_MIN 2.2
|
||||
|
||||
param set-default FW_W_EN 1
|
||||
|
||||
param set-default MIS_LTRMIN_ALT 30
|
||||
param set-default MIS_TAKEOFF_ALT 30
|
||||
|
||||
param set-default NAV_ACC_RAD 15
|
||||
param set-default NAV_DLL_ACT 2
|
||||
|
||||
param set-default RWTO_TKOFF 1
|
||||
|
||||
#param set-default SYS_CTRL_ALLOC 1
|
||||
param set-default CA_AIRFRAME 1
|
||||
|
||||
param set-default CA_ROTOR_COUNT 1
|
||||
param set-default CA_ROTOR0_PX 0.3
|
||||
|
||||
param set-default CA_SV_CS_COUNT 6
|
||||
param set-default CA_SV_CS0_TRQ_R -0.5
|
||||
param set-default CA_SV_CS0_TYPE 1
|
||||
param set-default CA_SV_CS1_TRQ_R 0.5
|
||||
param set-default CA_SV_CS1_TYPE 2
|
||||
param set-default CA_SV_CS2_TRQ_P 1.0
|
||||
param set-default CA_SV_CS2_TYPE 3
|
||||
param set-default CA_SV_CS3_TRQ_Y 1.0
|
||||
param set-default CA_SV_CS3_TYPE 4
|
||||
param set-default CA_SV_CS4_TYPE 9
|
||||
param set-default CA_SV_CS5_TYPE 10
|
||||
param set-default PWM_MAIN_FUNC3 204
|
||||
param set-default PWM_MAIN_FUNC4 205
|
||||
param set-default PWM_MAIN_FUNC5 101
|
||||
param set-default PWM_MAIN_FUNC6 201
|
||||
param set-default PWM_MAIN_FUNC7 202
|
||||
param set-default PWM_MAIN_FUNC8 203
|
||||
param set-default PWM_MAIN_FUNC9 206
|
||||
param set-default PWM_MAIN_REV 256
|
||||
|
||||
|
||||
set MIXER_FILE etc/mixers-sitl/plane_sitl.main.mix
|
||||
set MIXER custom
|
||||
@@ -61,6 +61,7 @@ param set-default FW_T_CLMB_MAX 8
|
||||
param set-default FW_T_SINK_MAX 2.7
|
||||
param set-default FW_T_SINK_MIN 2.2
|
||||
|
||||
param set-default MC_AIRMODE 1
|
||||
param set-default MC_ROLLRATE_P 0.3
|
||||
param set-default MC_YAW_P 1.6
|
||||
|
||||
@@ -76,8 +77,6 @@ param set-default NAV_ACC_RAD 5
|
||||
|
||||
param set-default VT_FWD_THRUST_EN 4
|
||||
param set-default VT_F_TRANS_THR 0.75
|
||||
param set-default VT_MOT_ID 1234
|
||||
param set-default VT_FW_MOT_OFFID 1234
|
||||
param set-default VT_B_TRANS_DUR 8
|
||||
param set-default VT_TYPE 2
|
||||
|
||||
|
||||
@@ -58,6 +58,7 @@ param set-default FW_T_SINK_MAX 2.7
|
||||
param set-default FW_T_SINK_MIN 2.2
|
||||
param set-default FW_T_TAS_TC 2
|
||||
|
||||
param set-default MC_AIRMODE 1
|
||||
param set-default MC_ROLLRATE_P 0.3
|
||||
|
||||
param set-default MPC_ACC_HOR_MAX 2
|
||||
|
||||
@@ -34,8 +34,6 @@ param set-default CA_SV_CS1_TYPE 2
|
||||
param set-default CA_SV_CS2_TRQ_P 1.0
|
||||
param set-default CA_SV_CS2_TYPE 3
|
||||
param set-default CA_SV_CS_COUNT 3
|
||||
param set-default CA_SV_TL0_CT 0
|
||||
param set-default CA_SV_TL1_CT 0
|
||||
param set-default CA_SV_TL_COUNT 2
|
||||
|
||||
param set-default PWM_MAIN_FUNC1 101
|
||||
@@ -62,6 +60,7 @@ param set-default FW_T_CLMB_MAX 8
|
||||
param set-default FW_T_SINK_MAX 2.7
|
||||
param set-default FW_T_SINK_MIN 2.2
|
||||
|
||||
param set-default MC_AIRMODE 1
|
||||
param set-default MC_YAWRATE_P 0.3
|
||||
param set-default MC_YAWRATE_I 0.3
|
||||
|
||||
|
||||
@@ -1,17 +1,15 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Ignition Gazebo X3
|
||||
# @name Gazebo x500
|
||||
#
|
||||
# @type Quadrotor
|
||||
#
|
||||
|
||||
. ${R}etc/init.d/rc.mc_defaults
|
||||
|
||||
PX4_SIMULATOR=${PX4_SIMULATOR:=ignition}
|
||||
PX4_SIMULATOR=${PX4_SIMULATOR:=gz}
|
||||
PX4_GZ_WORLD=${PX4_GZ_WORLD:=default}
|
||||
PX4_SIM_MODEL=${PX4_SIM_MODEL:=x500}
|
||||
PX4_SIM_WORLD=${PX4_SIM_WORLD:=default}
|
||||
|
||||
param set-default SYS_CTRL_ALLOC 1
|
||||
|
||||
param set-default CA_AIRFRAME 0
|
||||
param set-default CA_ROTOR_COUNT 4
|
||||
@@ -32,19 +30,19 @@ param set-default CA_ROTOR3_PX -0.13
|
||||
param set-default CA_ROTOR3_PY 0.20
|
||||
param set-default CA_ROTOR3_KM -0.05
|
||||
|
||||
param set-default SIM_IGN_FUNC1 101
|
||||
param set-default SIM_IGN_FUNC2 102
|
||||
param set-default SIM_IGN_FUNC3 103
|
||||
param set-default SIM_IGN_FUNC4 104
|
||||
param set-default SIM_GZ_FUNC1 101
|
||||
param set-default SIM_GZ_FUNC2 102
|
||||
param set-default SIM_GZ_FUNC3 103
|
||||
param set-default SIM_GZ_FUNC4 104
|
||||
|
||||
param set-default SIM_IGN_MIN1 150
|
||||
param set-default SIM_IGN_MIN2 150
|
||||
param set-default SIM_IGN_MIN3 150
|
||||
param set-default SIM_IGN_MIN4 150
|
||||
param set-default SIM_GZ_MIN1 150
|
||||
param set-default SIM_GZ_MIN2 150
|
||||
param set-default SIM_GZ_MIN3 150
|
||||
param set-default SIM_GZ_MIN4 150
|
||||
|
||||
param set-default SIM_IGN_MAX1 1000
|
||||
param set-default SIM_IGN_MAX2 1000
|
||||
param set-default SIM_IGN_MAX3 1000
|
||||
param set-default SIM_IGN_MAX4 1000
|
||||
param set-default SIM_GZ_MAX1 1000
|
||||
param set-default SIM_GZ_MAX2 1000
|
||||
param set-default SIM_GZ_MAX3 1000
|
||||
param set-default SIM_GZ_MAX4 1000
|
||||
|
||||
param set-default MPC_THR_HOVER 0.60
|
||||
|
||||
@@ -61,6 +61,7 @@ px4_add_romfs_files(
|
||||
1036_malolo
|
||||
1037_believer
|
||||
1038_glider
|
||||
1039_advanced_plane
|
||||
1040_standard_vtol
|
||||
1041_tailsitter
|
||||
1042_tiltrotor
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
#!/bin/sh
|
||||
# shellcheck disable=SC2154
|
||||
|
||||
micrortps_client start -t UDP -r $((2019+2*px4_instance)) -s $((2020+2*px4_instance))
|
||||
@@ -6,12 +6,18 @@ param set-default IMU_INTEG_RATE 250
|
||||
|
||||
if [ "$PX4_SIMULATOR" = "sihsim" ] || [ "$(param show -q SYS_AUTOSTART)" -eq "0" ]; then
|
||||
|
||||
if ! simulator_sih start; then
|
||||
if simulator_sih start; then
|
||||
|
||||
sensor_baro_sim start
|
||||
sensor_gps_sim start
|
||||
sensor_mag_sim start
|
||||
|
||||
else
|
||||
echo "ERROR [init] simulator_sih failed to start"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
elif [ "$PX4_SIMULATOR" = "ignition" ]; then
|
||||
elif [ "$PX4_SIMULATOR" = "gz" ]; then
|
||||
|
||||
# source generated gazebo_env.sh for IGN_GAZEBO_RESOURCE_PATH
|
||||
if [ -f gazebo_env.sh ]; then
|
||||
@@ -20,43 +26,85 @@ elif [ "$PX4_SIMULATOR" = "ignition" ]; then
|
||||
. ../gazebo_env.sh
|
||||
fi
|
||||
|
||||
ign_world=$( ign topic -l | grep -m 1 -e "/world/.*/clock" | sed 's/\/world\///g; s/\/clock//g' )
|
||||
|
||||
if [ -z $ign_world ]; then
|
||||
|
||||
# starting ign gazebo with ${PX4_SIM_WORLD} world
|
||||
echo "INFO [init] starting ign gazebo"
|
||||
|
||||
if [ -z $HEADLESS ]; then
|
||||
ign gazebo --verbose=1 -r "${PX4_IGN_GAZEBO_WORLDS}/${PX4_SIM_WORLD}.sdf" &
|
||||
# shellcheck disable=SC2236
|
||||
if [ ! -z $PX4_GZ_VERBOSE ]; then
|
||||
if [ "$PX4_GZ_VERBOSE" -le "4" ] && [ "$PX4_GZ_VERBOSE" -ge "1" ]; then
|
||||
gz_verbose=$PX4_GZ_VERBOSE
|
||||
else
|
||||
# starting ign gazebo headless
|
||||
ign gazebo --verbose=1 -r -s "${PX4_IGN_GAZEBO_WORLDS}/${PX4_SIM_WORLD}.sdf" &
|
||||
gz_verbose=4
|
||||
echo "WARN [init] PX4_GZ_VERBOSE was passed: $PX4_GZ_VERBOSE, not in range [1,4], defaulting to: $gz_verbose."
|
||||
fi
|
||||
echo "INFO [init] PX4_GZ_VERBOSE set to $gz_verbose."
|
||||
else
|
||||
echo "INFO [init] ign gazebo already running world: $ign_world"
|
||||
PX4_SIM_WORLD=$ign_world
|
||||
gz_verbose=1
|
||||
echo "INFO [init] PX4_GZ_VERBOSE not explicitly set, defaulting to: $gz_verbose."
|
||||
fi
|
||||
|
||||
if [ -z $PX4_IGN_MODEL_POSE ]; then
|
||||
# start ignition bridge without pose arg.
|
||||
echo "WARN [init] PX4_IGN_MODEL_POSE not set, spawning at origin."
|
||||
if simulator_ignition_bridge start -m "${PX4_SIM_MODEL}" -w "${PX4_SIM_WORLD}"; then
|
||||
sensor_baro_sim start
|
||||
sensor_gps_sim start
|
||||
sensor_mag_sim start
|
||||
else
|
||||
echo "ERROR [init] ign gazebo failed to start"
|
||||
exit 1
|
||||
gz_world=$( ign topic -l | grep -m 1 -e "/world/.*/clock" | sed 's/\/world\///g; s/\/clock//g' )
|
||||
|
||||
gz_version_major=$( ign gazebo --versions | sed 's/\..*//g' )
|
||||
gz_version_minor=$( ign gazebo --versions | sed 's/'"${gz_version_major}"\.'//; s/\..*//g' )
|
||||
gz_version_point=$( ign gazebo --versions | sed 's/'"${gz_version_major}"\.'//; s/'"${gz_version_minor}"\.'//')
|
||||
|
||||
if [ "$gz_version_major" -gt "6" ] || { [ "$gz_version_major" -eq "6" ] && [ "$gz_version_minor" -gt "12" ]; } || { [ "$gz_version_major" -eq "6" ] && [ "$gz_version_minor" -eq "12" ] && [ "$gz_version_point" -gt "0" ]; }; then
|
||||
echo "INFO [init] using latest version of MultiCopterMotor plugin."
|
||||
else
|
||||
echo "WARN [init] using older version of MultiCopterMotor plugin, please update to latest gazebo > 6.12.0."
|
||||
if [ "$PX4_SIM_MODEL" = "x500" ]; then
|
||||
PX4_SIM_MODEL="x500-Legacy"
|
||||
echo "WARN [init] setting PX4_SIM_MODEL -> $PX4_SIM_MODEL from x500 till gazebo > 6.12.0"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z $gz_world ]; then
|
||||
|
||||
# starting ign gazebo with ${PX4_GZ_WORLD} world
|
||||
echo "INFO [init] starting ign gazebo"
|
||||
# shellcheck disable=SC2153
|
||||
ign gazebo --verbose=$gz_verbose -r -s "${PX4_GZ_WORLDS}/${PX4_GZ_WORLD}.sdf" &
|
||||
|
||||
if [ -z $HEADLESS ]; then
|
||||
# HEADLESS not set, starting ign gazebo gui
|
||||
ign gazebo -g &
|
||||
fi
|
||||
else
|
||||
echo "INFO [init] ign gazebo already running world: $gz_world"
|
||||
PX4_GZ_WORLD=$gz_world
|
||||
fi
|
||||
|
||||
# Clean potential input line formatting.
|
||||
model_pose="$( echo ${PX4_IGN_MODEL_POSE} | sed -e 's/^[ \t]*//; s/[ \t]*$//; s/,/ /g; s/ / /g; s/ /,/g' )"
|
||||
echo "INFO [init] PX4_IGN_MODEL_POSE set, spawning at: ${model_pose}"
|
||||
# shellcheck disable=SC2236
|
||||
if [ ! -z $PX4_GZ_MODEL ] && [ -z $PX4_GZ_MODEL_NAME ]; then
|
||||
|
||||
# start ignition bridge with pose arg.
|
||||
if simulator_ignition_bridge start -p "${model_pose}" -m "${PX4_SIM_MODEL}" -w "${PX4_SIM_WORLD}"; then
|
||||
# shellcheck disable=SC2236
|
||||
if [ ! -z $PX4_GZ_MODEL_POSE ]; then
|
||||
# Clean potential input line formatting.
|
||||
model_pose="$( echo ${PX4_GZ_MODEL_POSE} | sed -e 's/^[ \t]*//; s/[ \t]*$//; s/,/ /g; s/ / /g; s/ /,/g' )"
|
||||
echo "INFO [init] PX4_GZ_MODEL_POSE set, spawning at: ${model_pose}"
|
||||
else
|
||||
echo "WARN [init] PX4_GZ_MODEL_POSE not set, spawning at origin."
|
||||
model_pose="0,0,0,0,0,0"
|
||||
fi
|
||||
# start gz bridge with pose arg.
|
||||
if gz_bridge start -p "${model_pose}" -m "${PX4_GZ_MODEL}" -w "${PX4_GZ_WORLD}" -i "${px4_instance}"; then
|
||||
sensor_baro_sim start
|
||||
sensor_gps_sim start
|
||||
sensor_mag_sim start
|
||||
else
|
||||
echo "ERROR [init] ign gazebo failed to start"
|
||||
exit 1
|
||||
fi
|
||||
elif [ ! -z $PX4_GZ_MODEL_NAME ] && [ -z $PX4_GZ_MODEL ]; then
|
||||
if gz_bridge start -n "${PX4_GZ_MODEL_NAME}" -w "${PX4_GZ_WORLD}"; then
|
||||
sensor_baro_sim start
|
||||
sensor_gps_sim start
|
||||
sensor_mag_sim start
|
||||
else
|
||||
echo "ERROR [init] ign gazebo failed to start"
|
||||
exit 1
|
||||
fi
|
||||
elif [ ! -z $PX4_SIM_MODEL ] && [ -z $PX4_GZ_MODEL_NAME ] && [ -z $PX4_GZ_MODEL ]; then
|
||||
echo "WARN [init] PX4_GZ_MODEL_NAME or PX4_GZ_MODEL not set using PX4_SIM_MODEL."
|
||||
if gz_bridge start -m "${PX4_SIM_MODEL}" -w "${PX4_GZ_WORLD}" -i "${px4_instance}"; then
|
||||
sensor_baro_sim start
|
||||
sensor_gps_sim start
|
||||
sensor_mag_sim start
|
||||
@@ -65,6 +113,9 @@ elif [ "$PX4_SIMULATOR" = "ignition" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
else
|
||||
echo "ERROR [init] failed to pass only PX4_GZ_MODEL_NAME or PX4_GZ_MODEL"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
else
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
# Un comment and use set +e to ignore and set -e to enable 'exit on error control'
|
||||
set +e
|
||||
# Un comment the line below to help debug scripts by printing a trace of the script commands
|
||||
#set -x
|
||||
|
||||
# PX4 commands need the 'px4-' prefix in bash.
|
||||
# (px4-alias.sh is expected to be in the PATH)
|
||||
@@ -23,16 +26,6 @@ then
|
||||
fi
|
||||
|
||||
# initialize script variables
|
||||
set IO_PRESENT no
|
||||
set MIXER skip
|
||||
set MIXER_AUX none
|
||||
set MIXER_FILE none
|
||||
set OUTPUT_MODE sim
|
||||
set EXTRA_MIXER_MODE none
|
||||
set PWM_OUT none
|
||||
set PWM_AUX_OUT none
|
||||
set SDCARD_MIXERS_PATH etc/mixers
|
||||
set USE_IO no
|
||||
set VEHICLE_TYPE none
|
||||
set LOGGER_ARGS ""
|
||||
set LOGGER_BUF 1000
|
||||
@@ -62,7 +55,7 @@ then
|
||||
# shellcheck disable=SC2012
|
||||
REQUESTED_AUTOSTART=$(ls "${R}etc/init.d-posix/airframes" | sed -n 's/^\([0-9][0-9]*\)_'${PX4_SIM_MODEL}'$/\1/p')
|
||||
if [ -z "$REQUESTED_AUTOSTART" ]; then
|
||||
echo "ERROR [init] Unknown model $PX4_SIM_MODEL (not found by name on ${R}etc/init.d-posix/airframes)"
|
||||
echo "ERROR [init] Unknown model $PX4_SIM_MODEL (not found by name on ${R}etc/init.d-posix/airframes)"
|
||||
exit 1
|
||||
else
|
||||
SYS_AUTOSTART=$REQUESTED_AUTOSTART
|
||||
@@ -72,18 +65,45 @@ fi
|
||||
|
||||
# Load parameters
|
||||
set PARAM_FILE parameters.bson
|
||||
param select $PARAM_FILE
|
||||
set PARAM_BACKUP_FILE parameters_backup.bson
|
||||
|
||||
if [ -f $PARAM_FILE ]
|
||||
then
|
||||
if param load
|
||||
param select $PARAM_FILE
|
||||
if [ -f $PARAM_FILE ]; then
|
||||
|
||||
if ! param import
|
||||
then
|
||||
echo "[param] Loaded: $PARAM_FILE"
|
||||
else
|
||||
echo "[param] FAILED loading $PARAM_FILE"
|
||||
echo "ERROR [init] param import failed"
|
||||
|
||||
param dump $PARAM_FILE
|
||||
|
||||
# try to make a backup copy
|
||||
cp $PARAM_FILE param_import_fail.bson
|
||||
|
||||
# try importing from backup file
|
||||
if [ -f $PARAM_BACKUP_FILE ]
|
||||
then
|
||||
echo "[init] importing from parameter backup"
|
||||
|
||||
# dump current backup file contents for comparison
|
||||
param dump $PARAM_BACKUP_FILE
|
||||
|
||||
param import $PARAM_BACKUP_FILE
|
||||
|
||||
# overwrite invalid $PARAM_FILE with backup
|
||||
cp $PARAM_BACKUP_FILE $PARAM_FILE
|
||||
fi
|
||||
|
||||
param status
|
||||
fi
|
||||
|
||||
elif [ -f $PARAM_BACKUP_FILE ]; then
|
||||
echo "ERROR [init] primary param file $PARAM_FILE unavailable, using backup $PARAM_BACKUP_FILE"
|
||||
param import $PARAM_BACKUP_FILE
|
||||
fi
|
||||
|
||||
param select-backup $PARAM_BACKUP_FILE
|
||||
|
||||
|
||||
# exit early when the minimal shell is requested
|
||||
[ $RUN_MINIMAL_SHELL = yes ] && exit 0
|
||||
|
||||
@@ -227,19 +247,20 @@ manual_control start
|
||||
sensors start
|
||||
commander start
|
||||
|
||||
# Configure vehicle type specific parameters.
|
||||
# Note: rc.vehicle_setup is the entry point for rc.interface,
|
||||
# rc.fw_apps, rc.mc_apps, rc.rover_apps, and rc.vtol_apps.
|
||||
if ! pwm_out_sim start -m sim
|
||||
then
|
||||
tune_control play error
|
||||
fi
|
||||
|
||||
#
|
||||
# Configure vehicle type specific parameters.
|
||||
# Note: rc.vehicle_setup is the entry point for all vehicle type specific setup.
|
||||
. ${R}etc/init.d/rc.vehicle_setup
|
||||
|
||||
navigator start
|
||||
|
||||
# Try to start the micrortps_client with UDP transport if module exists
|
||||
if px4-micrortps_client status > /dev/null 2>&1
|
||||
then
|
||||
. px4-rc.rtps
|
||||
fi
|
||||
# Try to start the microdds_client with UDP transport if module exists
|
||||
microdds_client start -t udp -p 8888
|
||||
|
||||
if param greater -s MNT_MODE_IN -1
|
||||
then
|
||||
|
||||
@@ -42,7 +42,6 @@ px4_add_romfs_files(
|
||||
rc.fw_apps
|
||||
rc.fw_defaults
|
||||
rc.heli_defaults
|
||||
rc.interface
|
||||
rc.logging
|
||||
rc.mc_apps
|
||||
rc.mc_defaults
|
||||
|
||||
@@ -38,7 +38,6 @@ param set-default MIS_YAW_TMT 10
|
||||
param set-default MPC_ACC_HOR_MAX 2
|
||||
param set-default MPC_ACC_HOR_MAX 2
|
||||
param set-default MPC_THR_MIN 0.1
|
||||
param set-default MPC_TKO_SPEED 1
|
||||
param set-default MPC_XY_P 0.8
|
||||
param set-default MPC_XY_VEL_D_ACC 0.1
|
||||
param set-default MPC_XY_VEL_I_ACC 4
|
||||
@@ -55,8 +54,6 @@ param set-default RTL_RETURN_ALT 30
|
||||
param set-default SDLOG_DIRS_MAX 7
|
||||
|
||||
param set-default VT_F_TRANS_THR 0.75
|
||||
param set-default VT_MOT_ID 1234
|
||||
param set-default VT_FW_MOT_OFFID 1234
|
||||
param set-default VT_TYPE 2
|
||||
|
||||
param set-default CA_AIRFRAME 2
|
||||
|
||||
@@ -99,8 +99,6 @@ param set-default MPC_YAWRAUTO_MAX 20
|
||||
|
||||
param set-default NAV_LOITER_RAD 100
|
||||
|
||||
param set-default PWM_AUX_DISARM 950
|
||||
|
||||
param set-default PWM_MAIN_DIS5 1500
|
||||
param set-default PWM_MAIN_DIS6 1500
|
||||
param set-default PWM_MAIN_DIS7 900
|
||||
@@ -116,8 +114,6 @@ param set-default MAV_1_FORWARD 1
|
||||
param set-default SER_TEL2_BAUD 57600
|
||||
|
||||
param set-default VT_TYPE 2
|
||||
param set-default VT_MOT_ID 1234
|
||||
param set-default VT_FW_MOT_OFFID 1234
|
||||
param set-default VT_F_TRANS_THR 1
|
||||
param set-default VT_PITCH_MIN 8
|
||||
param set-default VT_FW_QC_P 55
|
||||
@@ -126,7 +122,6 @@ param set-default VT_TRANS_MIN_TM 15
|
||||
param set-default VT_B_TRANS_DUR 8
|
||||
param set-default VT_FWD_THRUST_SC 4
|
||||
param set-default VT_F_TRANS_DUR 1
|
||||
param set-default VT_IDLE_PWM_MC 1025
|
||||
param set-default VT_B_REV_OUT 0.5
|
||||
param set-default VT_B_TRANS_THR 0.7
|
||||
param set-default VT_TRANS_TIMEOUT 22
|
||||
|
||||
@@ -65,7 +65,6 @@ param set-default COM_SPOOLUP_TIME 1.5
|
||||
param set-default MPC_THR_HOVER 0.45
|
||||
param set-default MPC_TILTMAX_AIR 25
|
||||
param set-default MPC_TKO_RAMP_T 1.8
|
||||
param set-default MPC_TKO_SPEED 1
|
||||
param set-default MPC_VEL_MANUAL 3
|
||||
param set-default MPC_XY_CRUISE 3
|
||||
param set-default MPC_XY_VEL_MAX 3.5
|
||||
@@ -76,7 +75,6 @@ param set-default NAV_ACC_RAD 3
|
||||
|
||||
param set-default PWM_MAIN_DIS3 1000
|
||||
param set-default PWM_MAIN_MIN3 1120
|
||||
param set-default PWM_MAIN_MIN 950
|
||||
|
||||
param set-default SENS_BOARD_ROT 4
|
||||
|
||||
@@ -86,10 +84,7 @@ param set-default VT_B_DEC_MSS 1.5
|
||||
param set-default VT_B_TRANS_DUR 12
|
||||
param set-default VT_ELEV_MC_LOCK 0
|
||||
param set-default VT_FWD_THRUST_SC 1.2
|
||||
param set-default VT_FW_MOT_OFFID 5678
|
||||
param set-default VT_F_TR_OL_TM 8
|
||||
param set-default VT_IDLE_PWM_MC 1000
|
||||
param set-default VT_MOT_ID 5678
|
||||
param set-default VT_PSHER_RMP_DT 2
|
||||
param set-default VT_TRANS_MIN_TM 4
|
||||
param set-default VT_TYPE 2
|
||||
|
||||
@@ -16,10 +16,7 @@
|
||||
|
||||
param set-default MAV_TYPE 21
|
||||
|
||||
param set-default VT_IDLE_PWM_MC 1100
|
||||
param set-default VT_TYPE 1
|
||||
param set-default VT_MOT_ID 1234
|
||||
param set-default VT_FW_MOT_OFFID 24
|
||||
|
||||
param set-default CA_AIRFRAME 3
|
||||
param set-default CA_ROTOR_COUNT 4
|
||||
|
||||
@@ -24,9 +24,6 @@
|
||||
param set-default BAT1_CAPACITY 3300
|
||||
param set-default BAT1_N_CELLS 3
|
||||
|
||||
param set-default PWM_AUX_RATE 50
|
||||
param set-default PWM_MAIN_RATE 50
|
||||
|
||||
param set-default SENS_BOARD_ROT 4
|
||||
|
||||
param set-default FW_AIRSPD_MAX 20
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name PX4 Vision DevKit Platform
|
||||
# @name PX4 Vision Dev Kit v1
|
||||
#
|
||||
# @type Quadrotor x
|
||||
# @class Copter
|
||||
@@ -63,7 +63,6 @@ param set-default MPC_ACC_UP_MAX 4
|
||||
param set-default MPC_MAN_Y_MAX 120
|
||||
param set-default MPC_TILTMAX_AIR 45
|
||||
param set-default MPC_THR_HOVER 0.3
|
||||
param set-default MPC_TKO_SPEED 1
|
||||
param set-default MPC_VEL_MANUAL 5
|
||||
param set-default MPC_XY_CRUISE 5
|
||||
param set-default MPC_XY_VEL_MAX 5
|
||||
@@ -80,9 +79,6 @@ param set-default CP_GO_NO_DATA 1
|
||||
# Navigator Parameters
|
||||
param set-default NAV_ACC_RAD 2
|
||||
|
||||
# use oneshot motor output protocol
|
||||
param set-default PWM_MAIN_RATE 0
|
||||
|
||||
# RTL Parameters
|
||||
param set-default RTL_DESCEND_ALT 5
|
||||
param set-default RTL_RETURN_ALT 5
|
||||
|
||||
@@ -0,0 +1,126 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name PX4 Vision Dev Kit v1.5
|
||||
#
|
||||
# @type Quadrotor x
|
||||
# @class Copter
|
||||
#
|
||||
# @board px4_fmu-v2 exclude
|
||||
# @board bitcraze_crazyflie exclude
|
||||
#
|
||||
|
||||
. ${R}etc/init.d/rc.mc_defaults
|
||||
|
||||
# Commander Parameters
|
||||
param set-default COM_OBS_AVOID 1
|
||||
param set-default COM_DISARM_LAND 0.5
|
||||
|
||||
# EKF2 parameters
|
||||
param set-default EKF2_AID_MASK 35
|
||||
param set-default EKF2_IMU_POS_X 0.02
|
||||
param set-default EKF2_GPS_POS_X 0.055
|
||||
param set-default EKF2_GPS_POS_Z -0.15
|
||||
param set-default EKF2_MIN_RNG 0.03
|
||||
param set-default EKF2_OF_POS_X 0.055
|
||||
param set-default EKF2_OF_POS_Y 0.02
|
||||
param set-default EKF2_OF_POS_Z 0.065
|
||||
param set-default EKF2_REQ_HDRIFT 0.3
|
||||
param set-default EKF2_REQ_SACC 1
|
||||
param set-default EKF2_REQ_VDRIFT 0.3
|
||||
param set-default EKF2_RNG_A_HMAX 8
|
||||
param set-default EKF2_RNG_A_VMAX 2
|
||||
param set-default EKF2_RNG_POS_X 0.055
|
||||
param set-default EKF2_RNG_POS_Y -0.01
|
||||
param set-default EKF2_RNG_POS_Z 0.065
|
||||
param set-default EKF2_PCOEF_XP -0.25
|
||||
param set-default EKF2_PCOEF_YN -0.55
|
||||
param set-default EKF2_PCOEF_YP -0.55
|
||||
|
||||
# MAVLink parameters
|
||||
param set-default MAV_0_CONFIG 101
|
||||
param set-default MAV_1_CONFIG 102
|
||||
param set-default MAV_1_RATE 80000
|
||||
param set-default MAV_1_MODE 9
|
||||
param set-default SER_TEL1_BAUD 921600
|
||||
|
||||
# Vehicle attitude PID tuning
|
||||
param set-default MC_ACRO_EXPO 0
|
||||
param set-default MC_ACRO_EXPO_Y 0
|
||||
param set-default MC_ACRO_P_MAX 200
|
||||
param set-default MC_ACRO_R_MAX 200
|
||||
param set-default MC_ACRO_SUPEXPO 0
|
||||
param set-default MC_ACRO_SUPEXPOY 0
|
||||
param set-default MC_ACRO_Y_MAX 150
|
||||
param set-default MC_PITCHRATE_D 0.0015
|
||||
param set-default MC_ROLLRATE_D 0.0015
|
||||
param set-default MC_YAWRATE_P 0.3
|
||||
|
||||
# Position Control Tuning
|
||||
param set-default CP_DIST 6
|
||||
param set-default MPC_ACC_DOWN_MAX 5
|
||||
param set-default MPC_ACC_HOR_MAX 10
|
||||
param set-default MPC_ACC_UP_MAX 4
|
||||
param set-default MPC_MANTHR_MIN 0
|
||||
param set-default MPC_MAN_Y_MAX 120
|
||||
param set-default MPC_TILTMAX_AIR 45
|
||||
param set-default MPC_THR_HOVER 0.3
|
||||
param set-default MPC_VEL_MANUAL 5
|
||||
param set-default MPC_XY_CRUISE 5
|
||||
param set-default MPC_XY_VEL_MAX 5
|
||||
param set-default MPC_XY_VEL_P_ACC 1.58
|
||||
param set-default MPC_XY_TRAJ_P 0.3
|
||||
param set-default MPC_Z_TRAJ_P 0.3
|
||||
param set-default MPC_Z_VEL_P_ACC 5
|
||||
param set-default MPC_Z_VEL_I_ACC 3
|
||||
param set-default MPC_LAND_ALT1 3
|
||||
param set-default MPC_LAND_ALT2 1
|
||||
param set-default MPC_POS_MODE 3
|
||||
param set-default CP_GO_NO_DATA 1
|
||||
|
||||
# Navigator Parameters
|
||||
param set-default NAV_ACC_RAD 2
|
||||
|
||||
# RTL Parameters
|
||||
param set-default RTL_DESCEND_ALT 5
|
||||
param set-default RTL_RETURN_ALT 5
|
||||
|
||||
# Logging Parameters
|
||||
param set-default SDLOG_PROFILE 131
|
||||
|
||||
# Sensors Parameters
|
||||
param set-default SENS_CM8JL65_CFG 202
|
||||
param set-default SENS_FLOW_MAXHGT 25
|
||||
param set-default SENS_FLOW_MINHGT 0.5
|
||||
param set-default IMU_GYRO_CUTOFF 100
|
||||
param set-default SENS_TFLOW_CFG 103
|
||||
|
||||
# Power Parameters
|
||||
param set-default BAT1_N_CELLS 4
|
||||
param set-default BAT1_A_PER_V 36.364
|
||||
param set-default BAT1_V_DIV 18.182
|
||||
|
||||
# Circuit breakers
|
||||
param set-default CBRK_IO_SAFETY 22027
|
||||
|
||||
param set-default THR_MDL_FAC 0.3
|
||||
|
||||
param set-default CA_ROTOR_COUNT 4
|
||||
param set-default CA_ROTOR0_PX 0.15
|
||||
param set-default CA_ROTOR0_PY 0.15
|
||||
param set-default CA_ROTOR0_KM 0.05
|
||||
param set-default CA_ROTOR1_PX -0.15
|
||||
param set-default CA_ROTOR1_PY -0.15
|
||||
param set-default CA_ROTOR1_KM 0.05
|
||||
param set-default CA_ROTOR2_PX 0.15
|
||||
param set-default CA_ROTOR2_PY -0.15
|
||||
param set-default CA_ROTOR2_KM -0.05
|
||||
param set-default CA_ROTOR3_PX -0.15
|
||||
param set-default CA_ROTOR3_PY 0.15
|
||||
param set-default CA_ROTOR3_KM -0.05
|
||||
|
||||
# Outputs
|
||||
param set-default PWM_AUX_FUNC1 101
|
||||
param set-default PWM_AUX_FUNC2 102
|
||||
param set-default PWM_AUX_FUNC3 103
|
||||
param set-default PWM_AUX_FUNC4 104
|
||||
|
||||
@@ -42,8 +42,6 @@ param set-default MC_YAW_P 4
|
||||
param set-default MPC_MANTHR_MIN 0
|
||||
param set-default MPC_MAN_TILT_MAX 60
|
||||
|
||||
param set-default DSHOT_CONFIG 600
|
||||
|
||||
param set-default SYS_HAS_BARO 0
|
||||
param set-default SYS_HAS_MAG 0
|
||||
|
||||
|
||||
@@ -44,8 +44,6 @@ param set-default MPC_THR_HOVER 0.25
|
||||
param set-default MPC_THR_MIN 0.05
|
||||
param set-default MPC_Z_VEL_I_ACC 1.7
|
||||
|
||||
param set-default PWM_MAIN_MIN 1050
|
||||
|
||||
param set-default THR_MDL_FAC 0.3
|
||||
|
||||
param set-default CA_ROTOR_COUNT 4
|
||||
|
||||
@@ -32,7 +32,6 @@ param set-default IMU_DGYRO_CUTOFF 90
|
||||
param set-default IMU_GYRO_CUTOFF 100
|
||||
|
||||
# System
|
||||
param set-default PWM_MAIN_MIN 1100
|
||||
|
||||
param set-default SENS_BOARD_ROT 10
|
||||
|
||||
@@ -54,7 +53,6 @@ param set-default MPC_XY_VEL_P_ACC 2.6
|
||||
param set-default MPC_XY_VEL_I_ACC 1.2
|
||||
param set-default MPC_XY_VEL_D_ACC 0.2
|
||||
param set-default MPC_TKO_RAMP_T 1
|
||||
param set-default MPC_TKO_SPEED 1.1
|
||||
param set-default MPC_VEL_MANUAL 3
|
||||
|
||||
param set-default BAT1_SOURCE 0
|
||||
|
||||
@@ -62,7 +62,6 @@ param set-default MPC_XY_VEL_P_ACC 2.6
|
||||
param set-default MPC_XY_VEL_I_ACC 1.2
|
||||
param set-default MPC_XY_VEL_D_ACC 0.2
|
||||
param set-default MPC_TKO_RAMP_T 1
|
||||
param set-default MPC_TKO_SPEED 1.1
|
||||
param set-default MPC_VEL_MANUAL 3
|
||||
|
||||
param set-default BAT1_SOURCE 0
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Aion Robotics R1 UGV
|
||||
#
|
||||
# @url https://www.aionrobotics.com/r1
|
||||
#
|
||||
# @type Rover
|
||||
# @class Rover
|
||||
#
|
||||
# @board px4_fmu-v2 exclude
|
||||
# @board bitcraze_crazyflie exclude
|
||||
#
|
||||
|
||||
. ${R}etc/init.d/rc.rover_defaults
|
||||
|
||||
param set-default BAT1_N_CELLS 4
|
||||
|
||||
param set-default EKF2_GBIAS_INIT 0.01
|
||||
param set-default EKF2_ANGERR_INIT 0.01
|
||||
param set-default EKF2_MAG_TYPE 1
|
||||
|
||||
param set-default FW_AIRSPD_MIN 0
|
||||
param set-default FW_AIRSPD_TRIM 1
|
||||
param set-default FW_AIRSPD_MAX 3
|
||||
|
||||
param set-default GND_SP_CTRL_MODE 1
|
||||
param set-default GND_L1_DIST 5
|
||||
param set-default GND_L1_PERIOD 3
|
||||
param set-default GND_THR_CRUISE 0.7
|
||||
param set-default GND_THR_MAX 0.5
|
||||
|
||||
# Because this is differential drive, it can make a turn with radius 0.
|
||||
# This corresponds to a turn angle of pi radians.
|
||||
# If a special case is made for differential-drive, this will need to change.
|
||||
param set-default GND_MAX_ANG 3.142
|
||||
param set-default GND_WHEEL_BASE 0.3
|
||||
|
||||
# TODO: Set to -1.0, to allow reversing. This will require many changes in the codebase
|
||||
# to support negative throttle.
|
||||
param set-default GND_THR_MIN 0
|
||||
param set-default GND_SPEED_P 0.25
|
||||
param set-default GND_SPEED_I 3
|
||||
param set-default GND_SPEED_D 0.001
|
||||
param set-default GND_SPEED_IMAX 0.125
|
||||
param set-default GND_SPEED_THR_SC 1
|
||||
|
||||
param set-default MIS_LTRMIN_ALT 0.01
|
||||
param set-default MIS_TAKEOFF_ALT 0.01
|
||||
|
||||
param set-default NAV_ACC_RAD 0.5
|
||||
|
||||
# Enable Airspeed check circuit breaker because Rovers will have no airspeed sensor
|
||||
param set-default CBRK_AIRSPD_CHK 162128
|
||||
|
||||
# Differential drive acts like ackermann steering with a maximum turn angle of 180 degrees, or pi radians
|
||||
param set-default GND_MAX_ANG 3.1415
|
||||
|
||||
param set-default RBCLW_BAUD 8
|
||||
param set-default RBCLW_COUNTS_REV 1200
|
||||
param set-default RBCLW_ADDRESS 128
|
||||
# 104 corresponds to Telem 4
|
||||
param set-default RBCLW_SER_CFG 104
|
||||
# Start this driver after setting parameters, because the driver uses some of those parameters.
|
||||
# roboclaw start /dev/ttyS3
|
||||
|
||||
# Set geometry & output configration
|
||||
param set-default CA_AIRFRAME 6
|
||||
param set-default CA_R_REV 3
|
||||
param set-default PWM_MAIN_FUNC1 101
|
||||
param set-default PWM_MAIN_FUNC2 102
|
||||
param set-default PWM_MAIN_DIS1 1500
|
||||
param set-default PWM_MAIN_DIS2 1500
|
||||
param set-default PWM_MAIN_TIM0 50
|
||||
param set-default PWM_MAIN_TIM1 50
|
||||
|
||||
@@ -61,7 +61,6 @@ param set-default IMU_GYRO_CUTOFF 100
|
||||
param set-default THR_MDL_FAC 0.25
|
||||
|
||||
# System
|
||||
param set-default PWM_MAIN_MIN 1100
|
||||
param set-default PWM_MAIN_DIS5 980
|
||||
param set-default PWM_MAIN_DIS6 980
|
||||
|
||||
|
||||
@@ -57,6 +57,7 @@ px4_add_romfs_files(
|
||||
4016_holybro_px4vision
|
||||
4017_nxp_hovergames
|
||||
4019_x500_v2
|
||||
4020_holybro_px4vision_v1_5
|
||||
4040_reaper
|
||||
4041_beta75x
|
||||
4050_generic_250
|
||||
@@ -117,6 +118,7 @@ px4_add_romfs_files(
|
||||
|
||||
50000_generic_ground_vehicle
|
||||
50004_nxpcup_car_dfrobot_gpx
|
||||
50003_aion_robotics_r1_rover
|
||||
|
||||
# [60000, 61000] (Unmanned) Underwater Robots
|
||||
60000_uuv_generic
|
||||
|
||||
@@ -48,13 +48,10 @@ fi
|
||||
# End Estimator Group Selection #
|
||||
###############################################################################
|
||||
|
||||
if param compare SYS_CTRL_ALLOC 1
|
||||
then
|
||||
#
|
||||
# Start Control Allocator
|
||||
#
|
||||
control_allocator start
|
||||
fi
|
||||
#
|
||||
# Start Control Allocator
|
||||
#
|
||||
control_allocator start
|
||||
|
||||
#
|
||||
# Start Airship Attitude Controller.
|
||||
|
||||
@@ -9,9 +9,3 @@ set VEHICLE_TYPE airship
|
||||
|
||||
# MAV_TYPE_AIRSHIP 7
|
||||
param set-default MAV_TYPE 7
|
||||
|
||||
#
|
||||
# This is the gimbal pass mixer.
|
||||
#
|
||||
set MIXER_AUX pass
|
||||
set PWM_AUX_OUT 1234
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
#
|
||||
# External airframe startup script (on SD card)
|
||||
#
|
||||
set SDCARD_MIXERS_PATH ${SDCARD_EXT_PATH}/mixers
|
||||
|
||||
if [ -e ${SDCARD_EXT_PATH}/rc.autostart ]
|
||||
then
|
||||
|
||||
@@ -20,22 +20,3 @@ param set-default NAV_ACC_RAD 2
|
||||
|
||||
# Temporary.
|
||||
param set-default NAV_FW_ALT_RAD 1000
|
||||
|
||||
#
|
||||
# Enable servo output on pins 3 and 4 (steering and thrust)
|
||||
# but also include 1+2 as they form together one output group
|
||||
# and need to be set together.
|
||||
#
|
||||
set PWM_OUT 1234
|
||||
|
||||
#
|
||||
# PWM Hz - 50 Hz is the normal rate in RC cars, higher rates
|
||||
# may damage analog servos.
|
||||
#
|
||||
set PWM_MAIN_RATE 50
|
||||
|
||||
#
|
||||
# This is the gimbal pass mixer.
|
||||
#
|
||||
set MIXER_AUX pass
|
||||
set PWM_AUX_OUT 1234
|
||||
|
||||
@@ -10,13 +10,10 @@
|
||||
#
|
||||
ekf2 start &
|
||||
|
||||
if param compare SYS_CTRL_ALLOC 1
|
||||
then
|
||||
#
|
||||
# Start Control Allocator
|
||||
#
|
||||
control_allocator start
|
||||
fi
|
||||
#
|
||||
# Start Control Allocator
|
||||
#
|
||||
control_allocator start
|
||||
|
||||
#
|
||||
# Start attitude controller.
|
||||
|
||||
@@ -46,17 +46,7 @@ param set-default MIS_DIST_WPS 5000
|
||||
param set-default MIS_LTRMIN_ALT 25
|
||||
param set-default MIS_TAKEOFF_ALT 25
|
||||
|
||||
param set-default PWM_MAIN_RATE 50
|
||||
|
||||
#
|
||||
# FW takeoff acceleration can easily exceed ublox GPS 2G default.
|
||||
#
|
||||
param set-default GPS_UBX_DYNMODEL 8
|
||||
|
||||
#
|
||||
# This is the gimbal pass mixer.
|
||||
#
|
||||
set MIXER_AUX pass
|
||||
|
||||
set PWM_AUX_RATE 50
|
||||
set PWM_AUX_OUT 1234
|
||||
|
||||
@@ -1,284 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Script to configure control interfaces.
|
||||
#
|
||||
#
|
||||
# NOTE: environment variable references:
|
||||
# If the dollar sign ('$') is followed by a left bracket ('{') then the
|
||||
# variable name is terminated with the right bracket character ('}').
|
||||
# Otherwise, the variable name goes to the end of the argument.
|
||||
#
|
||||
|
||||
set OUTPUT_CMD pwm_out
|
||||
set MIXER_AUX_FILE none
|
||||
set MIXER_EXTRA_FILE none
|
||||
|
||||
set OUTPUT_DEV none
|
||||
set OUTPUT_AUX_DEV /dev/pwm_output1
|
||||
set OUTPUT_EXTRA_DEV /dev/pwm_output0
|
||||
|
||||
# set these before starting the modules
|
||||
if [ $PWM_AUX_OUT != none ]
|
||||
then
|
||||
|
||||
param set PWM_AUX_OUT ${PWM_AUX_OUT}
|
||||
fi
|
||||
|
||||
|
||||
if [ $PWM_OUT != none ]
|
||||
then
|
||||
param set PWM_MAIN_OUT ${PWM_OUT}
|
||||
fi
|
||||
|
||||
#
|
||||
# If mount (gimbal) control is enabled and output mode is AUX, set the aux
|
||||
# mixer to mount (override the airframe-specific MIXER_AUX setting).
|
||||
#
|
||||
if param greater -s MNT_MODE_IN -1
|
||||
then
|
||||
if param compare -s MNT_MODE_OUT 0
|
||||
then
|
||||
set MIXER_AUX mount
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# Set the default output mode if none was set.
|
||||
#
|
||||
if [ $OUTPUT_MODE = none -a $OUTPUT_MODE != skip ]
|
||||
then
|
||||
if [ $USE_IO = yes ]
|
||||
then
|
||||
# Enable IO output only if IO is present.
|
||||
if [ $IO_PRESENT = yes ]
|
||||
then
|
||||
set OUTPUT_MODE io
|
||||
if param greater -s DSHOT_CONFIG 0
|
||||
then
|
||||
set OUTPUT_CMD dshot
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if param greater -s DSHOT_CONFIG 0
|
||||
then
|
||||
set OUTPUT_MODE dshot
|
||||
set OUTPUT_CMD dshot
|
||||
else
|
||||
set OUTPUT_MODE pwm_out
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# If OUTPUT_MODE = none then something is wrong with setup and we shouldn't try to enable output.
|
||||
#
|
||||
if [ $OUTPUT_MODE != none -a $OUTPUT_MODE != skip ]
|
||||
then
|
||||
|
||||
if [ $OUTPUT_MODE = hil -o $OUTPUT_MODE = sim ]
|
||||
then
|
||||
if ! pwm_out_sim start -m $OUTPUT_MODE
|
||||
then
|
||||
tune_control play error
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $OUTPUT_MODE = uavcan_esc ]
|
||||
then
|
||||
if param compare UAVCAN_ENABLE 0
|
||||
then
|
||||
param set UAVCAN_ENABLE 3
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# Start IO for PWM output or RC input if needed.
|
||||
#
|
||||
if [ $IO_PRESENT = yes ]
|
||||
then
|
||||
if ! px4io start
|
||||
then
|
||||
echo "PX4IO start failed"
|
||||
tune_control play -t 18 # PROG_PX4IO_ERR
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $OUTPUT_MODE = $OUTPUT_CMD -o $OUTPUT_MODE = io ]
|
||||
then
|
||||
if param compare SYS_CTRL_ALLOC 1
|
||||
then
|
||||
pwm_out start
|
||||
dshot start
|
||||
else
|
||||
if ! $OUTPUT_CMD start
|
||||
then
|
||||
echo "$OUTPUT_CMD start failed"
|
||||
tune_control play error
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $MIXER != none -a $MIXER != skip ]
|
||||
then
|
||||
#
|
||||
# Load main mixer.
|
||||
#
|
||||
if [ $MIXER_AUX = none -a $USE_IO = yes ]
|
||||
then
|
||||
set MIXER_AUX ${MIXER}
|
||||
fi
|
||||
|
||||
if [ "$MIXER_FILE" = none ]
|
||||
then
|
||||
if [ -f ${SDCARD_MIXERS_PATH}/${MIXER}.main.mix ]
|
||||
then
|
||||
# Use the mixer file from the SD-card if it exists.
|
||||
set MIXER_FILE ${SDCARD_MIXERS_PATH}/${MIXER}.main.mix
|
||||
else
|
||||
# Try out the old convention, for backward compatibility.
|
||||
if [ -f ${SDCARD_MIXERS_PATH}/${MIXER}.mix ]
|
||||
then
|
||||
set MIXER_FILE ${SDCARD_MIXERS_PATH}/${MIXER}.mix
|
||||
else
|
||||
set MIXER_FILE /etc/mixers/${MIXER}.main.mix
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
set OUTPUT_DEV /dev/pwm_output0
|
||||
|
||||
if [ $OUTPUT_MODE = uavcan_esc ]
|
||||
then
|
||||
set OUTPUT_DEV /dev/uavcan/esc
|
||||
fi
|
||||
|
||||
if mixer load ${OUTPUT_DEV} ${MIXER_FILE}
|
||||
then
|
||||
echo "INFO [init] Mixer: ${MIXER_FILE} on ${OUTPUT_DEV}"
|
||||
|
||||
else
|
||||
echo "ERROR [init] Failed loading mixer: ${MIXER_FILE}"
|
||||
tune_control play -t 18 # tune 18 = PROG_PX4IO_ERR
|
||||
fi
|
||||
|
||||
else
|
||||
if [ $MIXER != skip ]
|
||||
then
|
||||
echo "ERROR [init] Mixer undefined"
|
||||
tune_control play -t 18 # tune 18 = PROG_PX4IO_ERR
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $MIXER_AUX != none ]
|
||||
then
|
||||
#
|
||||
# Load aux mixer.
|
||||
#
|
||||
if [ -f ${SDCARD_MIXERS_PATH}/${MIXER_AUX}.aux.mix ]
|
||||
then
|
||||
set MIXER_AUX_FILE ${SDCARD_MIXERS_PATH}/${MIXER_AUX}.aux.mix
|
||||
else
|
||||
|
||||
if [ -f /etc/mixers/${MIXER_AUX}.aux.mix ]
|
||||
then
|
||||
set MIXER_AUX_FILE /etc/mixers/${MIXER_AUX}.aux.mix
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $MIXER_AUX_FILE != none ]
|
||||
then
|
||||
# Append aux mixer to main device.
|
||||
if param greater SYS_HITL 0
|
||||
then
|
||||
if mixer append ${OUTPUT_DEV} ${MIXER_AUX_FILE}
|
||||
then
|
||||
echo "INFO [init] Mixer: ${MIXER_AUX_FILE} appended to ${OUTPUT_DEV}"
|
||||
else
|
||||
echo "ERROR [init] Failed appending mixer: ${MIXER_AUX_FILE}"
|
||||
fi
|
||||
fi
|
||||
if [ -e $OUTPUT_AUX_DEV -a $OUTPUT_MODE != hil ]
|
||||
then
|
||||
if mixer load ${OUTPUT_AUX_DEV} ${MIXER_AUX_FILE}
|
||||
then
|
||||
echo "INFO [init] Mixer: ${MIXER_AUX_FILE} on ${OUTPUT_AUX_DEV}"
|
||||
else
|
||||
echo "ERROR [init] Failed loading mixer: ${MIXER_AUX_FILE}"
|
||||
fi
|
||||
else
|
||||
echo "INFO [init] setting PWM_AUX_OUT none"
|
||||
set PWM_AUX_OUT none
|
||||
fi
|
||||
|
||||
# for DShot do not configure pwm values
|
||||
if [ $OUTPUT_CMD != dshot ]
|
||||
then
|
||||
# Set min / max for aux out and rates.
|
||||
if [ $PWM_AUX_OUT != none ]
|
||||
then
|
||||
# Set PWM_AUX output frequency.
|
||||
if [ $PWM_AUX_RATE != none ]
|
||||
then
|
||||
pwm rate -c ${PWM_AUX_OUT} -r ${PWM_AUX_RATE} -d ${OUTPUT_AUX_DEV}
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $OUTPUT_MODE = pwm_out -o $OUTPUT_MODE = io ]
|
||||
then
|
||||
if [ $PWM_OUT != none -a $PWM_MAIN_RATE != none ]
|
||||
then
|
||||
# Set PWM output frequency.
|
||||
if ! param compare SYS_CTRL_ALLOC 1
|
||||
then
|
||||
pwm rate -c ${PWM_OUT} -r ${PWM_MAIN_RATE}
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $EXTRA_MIXER_MODE != none ]
|
||||
then
|
||||
|
||||
if [ -f ${SDCARD_MIXERS_PATH}/${MIXER_EXTRA}.aux.mix ]
|
||||
then
|
||||
# Use the mixer file from the SD-card if it exists.
|
||||
set MIXER_EXTRA_FILE ${SDCARD_MIXERS_PATH}/${MIXER_EXTRA}.aux.mix
|
||||
else
|
||||
# Try out the old convention, for backward compatibility.
|
||||
if [ -f ${SDCARD_MIXERS_PATH}/${MIXER_EXTRA}.mix ]
|
||||
then
|
||||
set MIXER_EXTRA_FILE ${SDCARD_MIXERS_PATH}/${MIXER_EXTRA}.mix
|
||||
else
|
||||
set MIXER_EXTRA_FILE /etc/mixers/${MIXER_EXTRA}.aux.mix
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if mixer load ${OUTPUT_EXTRA_DEV} ${MIXER_EXTRA_FILE}
|
||||
then
|
||||
echo "INFO [init] Mixer: ${MIXER_EXTRA_FILE} on ${OUTPUT_EXTRA_DEV}"
|
||||
else
|
||||
echo "ERROR [init] Failed loading mixer: ${MIXER_EXTRA_FILE}"
|
||||
tune_control play -t 20
|
||||
fi
|
||||
|
||||
if [ $PWM_EXTRA_OUT != none ]
|
||||
then
|
||||
# Set PWM output frequency.
|
||||
if [ $PWM_EXTRA_RATE != none ]
|
||||
then
|
||||
pwm rate -c ${PWM_EXTRA_OUT} -r ${PWM_EXTRA_RATE}
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
unset OUTPUT_CMD
|
||||
unset MIXER_AUX_FILE
|
||||
unset MIXER_EXTRA_FILE
|
||||
|
||||
unset OUTPUT_DEV
|
||||
unset OUTPUT_AUX_DEV
|
||||
unset OUTPUT_EXTRA_DEV
|
||||
@@ -48,13 +48,10 @@ fi
|
||||
# End Estimator Group Selection #
|
||||
###############################################################################
|
||||
|
||||
if param compare SYS_CTRL_ALLOC 1
|
||||
then
|
||||
#
|
||||
# Start Control Allocator
|
||||
#
|
||||
control_allocator start
|
||||
fi
|
||||
#
|
||||
# Start Control Allocator
|
||||
#
|
||||
control_allocator start
|
||||
|
||||
#
|
||||
# Start Multicopter Rate Controller.
|
||||
|
||||
@@ -20,19 +20,4 @@ param set-default NAV_ACC_RAD 2
|
||||
param set-default RTL_RETURN_ALT 30
|
||||
param set-default RTL_DESCEND_ALT 10
|
||||
|
||||
param set-default PWM_MAIN_MAX 1950
|
||||
param set-default PWM_MAIN_MIN 1075
|
||||
param set-default PWM_MAIN_RATE 400
|
||||
|
||||
param set-default GPS_UBX_DYNMODEL 6
|
||||
|
||||
#
|
||||
# This is the gimbal pass mixer.
|
||||
#
|
||||
set MIXER_AUX pass
|
||||
|
||||
set MIXER quad_x
|
||||
|
||||
set PWM_OUT 1234
|
||||
|
||||
set PWM_AUX_OUT 1234
|
||||
|
||||
@@ -12,13 +12,10 @@ ekf2 start &
|
||||
#attitude_estimator_q start
|
||||
#local_position_estimator start
|
||||
|
||||
if param compare SYS_CTRL_ALLOC 1
|
||||
then
|
||||
#
|
||||
# Start Control Allocator
|
||||
#
|
||||
control_allocator start
|
||||
fi
|
||||
#
|
||||
# Start Control Allocator
|
||||
#
|
||||
control_allocator start
|
||||
|
||||
#
|
||||
# Start attitude controllers.
|
||||
|
||||
@@ -21,22 +21,3 @@ param set-default NAV_LOITER_RAD 2
|
||||
|
||||
# Temporary.
|
||||
param set-default NAV_FW_ALT_RAD 1000
|
||||
|
||||
#
|
||||
# Enable servo output on pins 3 and 4 (steering and thrust)
|
||||
# but also include 1+2 as they form together one output group
|
||||
# and need to be set together.
|
||||
#
|
||||
set PWM_OUT 1234
|
||||
|
||||
#
|
||||
# PWM Hz - 50 Hz is the normal rate in RC cars, higher rates
|
||||
# may damage analog servos.
|
||||
#
|
||||
set PWM_MAIN_RATE 50
|
||||
|
||||
#
|
||||
# This is the gimbal pass mixer.
|
||||
#
|
||||
set MIXER_AUX pass
|
||||
set PWM_AUX_OUT 1234
|
||||
|
||||
@@ -15,13 +15,10 @@ ekf2 start &
|
||||
# End Estimator Group Selection #
|
||||
###############################################################################
|
||||
|
||||
if param compare SYS_CTRL_ALLOC 1
|
||||
then
|
||||
#
|
||||
# Start Control Allocator
|
||||
#
|
||||
control_allocator start
|
||||
fi
|
||||
#
|
||||
# Start Control Allocator
|
||||
#
|
||||
control_allocator start
|
||||
|
||||
#
|
||||
# Start UUV Attitude Controller.
|
||||
|
||||
@@ -9,24 +9,3 @@ set VEHICLE_TYPE uuv
|
||||
|
||||
# MAV_TYPE_SUBMARINE 12
|
||||
param set-default MAV_TYPE 12
|
||||
|
||||
param set-default PWM_MAIN_MAX 1950
|
||||
param set-default PWM_MAIN_MIN 1050
|
||||
param set-default PWM_MAIN_DISARM 1500
|
||||
|
||||
#
|
||||
# PWM Hz - 50 Hz is the normal rate in RC cars, boats etc,
|
||||
# higher rates may damage analog servos.
|
||||
#
|
||||
set PWM_MAIN_RATE 50
|
||||
|
||||
#
|
||||
# Enable servo output on pins 1-4
|
||||
set PWM_OUT 1234
|
||||
|
||||
#
|
||||
# This is the gimbal pass mixer.
|
||||
#
|
||||
set MIXER_AUX pass
|
||||
set PWM_AUX_OUT 1234
|
||||
set PWM_AUX_RATE 50
|
||||
|
||||
@@ -10,14 +10,6 @@
|
||||
#
|
||||
if [ $VEHICLE_TYPE = fw ]
|
||||
then
|
||||
if [ $MIXER = none ]
|
||||
then
|
||||
echo "FW mixer undefined"
|
||||
fi
|
||||
|
||||
# Load mixer and configure outputs.
|
||||
. ${R}etc/init.d/rc.interface
|
||||
|
||||
# Start standard fixedwing apps.
|
||||
. ${R}etc/init.d/rc.fw_apps
|
||||
fi
|
||||
@@ -27,14 +19,6 @@ fi
|
||||
#
|
||||
if [ $VEHICLE_TYPE = mc ]
|
||||
then
|
||||
if [ $MIXER = none ]
|
||||
then
|
||||
echo "MC mixer undefined"
|
||||
fi
|
||||
|
||||
# Load mixer and configure outputs.
|
||||
. ${R}etc/init.d/rc.interface
|
||||
|
||||
# Start standard multicopter apps.
|
||||
. ${R}etc/init.d/rc.mc_apps
|
||||
fi
|
||||
@@ -44,14 +28,6 @@ fi
|
||||
#
|
||||
if [ $VEHICLE_TYPE = rover ]
|
||||
then
|
||||
if [ $MIXER = none ]
|
||||
then
|
||||
echo "rover mixer undefined"
|
||||
fi
|
||||
|
||||
# Load mixer and configure outputs.
|
||||
. ${R}etc/init.d/rc.interface
|
||||
|
||||
# Start standard UGV apps.
|
||||
. ${R}etc/init.d/rc.rover_apps
|
||||
fi
|
||||
@@ -61,14 +37,6 @@ fi
|
||||
#
|
||||
if [ $VEHICLE_TYPE = vtol ]
|
||||
then
|
||||
if [ $MIXER = none ]
|
||||
then
|
||||
echo "VTOL mixer undefined"
|
||||
fi
|
||||
|
||||
# Load mixer and configure outputs.
|
||||
. ${R}etc/init.d/rc.interface
|
||||
|
||||
# Start standard vtol apps.
|
||||
. ${R}etc/init.d/rc.vtol_apps
|
||||
fi
|
||||
@@ -78,14 +46,6 @@ fi
|
||||
#
|
||||
if [ $VEHICLE_TYPE = airship ]
|
||||
then
|
||||
if [ $MIXER = none ]
|
||||
then
|
||||
echo "Airship mixer undefined"
|
||||
fi
|
||||
|
||||
# Load mixer and configure outputs.
|
||||
. ${R}etc/init.d/rc.interface
|
||||
|
||||
# Start airship apps.
|
||||
. ${R}etc/init.d/rc.airship_apps
|
||||
fi
|
||||
@@ -95,14 +55,6 @@ fi
|
||||
#
|
||||
if [ $VEHICLE_TYPE = uuv ]
|
||||
then
|
||||
if [ $MIXER = none ]
|
||||
then
|
||||
echo "UUV mixer undefined"
|
||||
fi
|
||||
|
||||
# Load mixer and configure outputs.
|
||||
. ${R}etc/init.d/rc.interface
|
||||
|
||||
# Start standard vtol apps.
|
||||
. ${R}etc/init.d/rc.uuv_apps
|
||||
fi
|
||||
|
||||
@@ -15,13 +15,10 @@ ekf2 start &
|
||||
# End Estimator group selection #
|
||||
###############################################################################
|
||||
|
||||
if param compare SYS_CTRL_ALLOC 1
|
||||
then
|
||||
#
|
||||
# Start Control Allocator
|
||||
#
|
||||
control_allocator start
|
||||
fi
|
||||
#
|
||||
# Start Control Allocator
|
||||
#
|
||||
control_allocator start
|
||||
|
||||
airspeed_selector start
|
||||
|
||||
|
||||
@@ -36,9 +36,6 @@ param set-default MC_YAW_P 2
|
||||
param set-default MC_YAWRATE_MAX 120
|
||||
param set-default MPC_MAN_Y_MAX 90
|
||||
|
||||
param set-default PWM_AUX_RATE 50
|
||||
param set-default PWM_MAIN_RATE 400
|
||||
|
||||
param set-default RTL_TYPE 1
|
||||
|
||||
param set-default WV_EN 1
|
||||
|
||||
+66
-103
@@ -25,29 +25,15 @@ set FCONFIG /fs/microsd/etc/config.txt
|
||||
set FEXTRAS /fs/microsd/etc/extras.txt
|
||||
set FRC /fs/microsd/etc/rc.txt
|
||||
set IOFW "/etc/extras/px4_io-v2_default.bin"
|
||||
set IO_PRESENT no
|
||||
set LOGGER_ARGS ""
|
||||
set LOGGER_BUF 8
|
||||
set MIXER skip
|
||||
set MIXER_AUX none
|
||||
set MIXER_FILE none
|
||||
set MIXER_EXTRA none
|
||||
set OUTPUT_MODE none
|
||||
set PARAM_FILE ""
|
||||
set PWM_OUT none
|
||||
set PWM_MAIN_RATE p:PWM_MAIN_RATE
|
||||
set PWM_AUX_OUT none
|
||||
set PWM_AUX_RATE p:PWM_AUX_RATE
|
||||
set PWM_EXTRA_OUT none
|
||||
set PWM_EXTRA_RATE p:PWM_EXTRA_RATE
|
||||
set EXTRA_MIXER_MODE none
|
||||
set PARAM_BACKUP_FILE ""
|
||||
set RC_INPUT_ARGS ""
|
||||
set SDCARD_AVAILABLE no
|
||||
set SDCARD_EXT_PATH /fs/microsd/ext_autostart
|
||||
set SDCARD_FORMAT no
|
||||
set SDCARD_MIXERS_PATH /fs/microsd/etc/mixers
|
||||
set STARTUP_TUNE 1
|
||||
set USE_IO no
|
||||
set VEHICLE_TYPE none
|
||||
|
||||
#
|
||||
@@ -108,6 +94,7 @@ then
|
||||
fi
|
||||
|
||||
set PARAM_FILE /fs/microsd/params
|
||||
set PARAM_BACKUP_FILE "/fs/microsd/parameters_backup.bson"
|
||||
fi
|
||||
|
||||
#
|
||||
@@ -147,27 +134,32 @@ else
|
||||
|
||||
if [ -d "/fs/microsd" ]
|
||||
then
|
||||
dmesg >> /fs/microsd/param_import_fail.txt &
|
||||
|
||||
# try to make a backup copy
|
||||
cp $PARAM_FILE /fs/microsd/param_import_fail.bson &
|
||||
fi
|
||||
cp $PARAM_FILE /fs/microsd/param_import_fail.bson
|
||||
|
||||
# try importing from backup file
|
||||
if [ -f "/fs/microsd/parameters_backup.bson" ]
|
||||
then
|
||||
echo "[init] importing from parameter backup"
|
||||
# try importing from backup file
|
||||
if [ -f $PARAM_BACKUP_FILE ]
|
||||
then
|
||||
echo "[init] importing from parameter backup"
|
||||
|
||||
# dump current backup file contents for comparison
|
||||
param dump /fs/microsd/parameters_backup.bson
|
||||
# dump current backup file contents for comparison
|
||||
param dump $PARAM_BACKUP_FILE
|
||||
|
||||
param import /fs/microsd/parameters_backup.bson
|
||||
param import $PARAM_BACKUP_FILE
|
||||
|
||||
# overwrite invalid $PARAM_FILE with backup
|
||||
cp $PARAM_BACKUP_FILE $PARAM_FILE
|
||||
fi
|
||||
|
||||
param status
|
||||
|
||||
dmesg >> /fs/microsd/param_import_fail.txt &
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $SDCARD_AVAILABLE = yes ]
|
||||
then
|
||||
param select-backup /fs/microsd/parameters_backup.bson
|
||||
param select-backup $PARAM_BACKUP_FILE
|
||||
fi
|
||||
|
||||
if ver hwcmp PX4_FMU_V5X PX4_FMU_V6X
|
||||
@@ -236,7 +228,7 @@ else
|
||||
# Waypoint storage.
|
||||
# REBOOTWORK this needs to start in parallel.
|
||||
#
|
||||
if param compare SYS_DM_BACKEND 1
|
||||
if param compare -s SYS_DM_BACKEND 1
|
||||
then
|
||||
dataman start -r
|
||||
else
|
||||
@@ -278,13 +270,8 @@ else
|
||||
if param greater -s UAVCAN_ENABLE 0
|
||||
then
|
||||
# Start core UAVCAN module.
|
||||
if uavcan start
|
||||
if ! uavcan start
|
||||
then
|
||||
if param greater UAVCAN_ENABLE 2
|
||||
then
|
||||
set OUTPUT_MODE uavcan_esc
|
||||
fi
|
||||
else
|
||||
tune_control play error
|
||||
fi
|
||||
else
|
||||
@@ -295,22 +282,15 @@ else
|
||||
fi
|
||||
|
||||
#
|
||||
# Check if PX4IO present and update firmware if needed.
|
||||
# Assumption IOFW set to firmware file and IO_PRESENT = no
|
||||
# Start IO for PWM output or RC input if enabled
|
||||
#
|
||||
|
||||
if [ -f $IOFW ]
|
||||
if param compare -s SYS_USE_IO 1
|
||||
then
|
||||
# Check for the mini using build with px4io fw file
|
||||
# but not a px4IO
|
||||
if ver hwtypecmp V5004000 V5006000
|
||||
# Check if PX4IO present and update firmware if needed.
|
||||
if [ -f $IOFW ]
|
||||
then
|
||||
param set SYS_USE_IO 0
|
||||
else
|
||||
if px4io checkcrc ${IOFW}
|
||||
if ! px4io checkcrc ${IOFW}
|
||||
then
|
||||
set IO_PRESENT yes
|
||||
else
|
||||
# tune Program PX4IO
|
||||
tune_control play -t 16 # tune 16 = PROG_PX4IO
|
||||
|
||||
@@ -321,7 +301,6 @@ else
|
||||
if px4io checkcrc ${IOFW}
|
||||
then
|
||||
tune_control play -t 17 # tune 17 = PROG_PX4IO_OK
|
||||
set IO_PRESENT yes
|
||||
else
|
||||
tune_control play -t 18 # tune 18 = PROG_PX4IO_ERR
|
||||
fi
|
||||
@@ -330,20 +309,12 @@ else
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# Set USE_IO flag.
|
||||
#
|
||||
if param compare -s SYS_USE_IO 1
|
||||
then
|
||||
set USE_IO yes
|
||||
fi
|
||||
|
||||
if [ $USE_IO = yes -a $IO_PRESENT = no ]
|
||||
then
|
||||
echo "PX4IO not found"
|
||||
set STARTUP_TUNE 2 # tune 2 = ERROR_TUNE
|
||||
if ! px4io start
|
||||
then
|
||||
echo "PX4IO start failed"
|
||||
set STARTUP_TUNE 2 # tune 2 = ERROR_TUNE
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
@@ -353,13 +324,38 @@ else
|
||||
rc_update start
|
||||
manual_control start
|
||||
|
||||
# Start camera trigger, capture and PPS before pwm_out as they might access
|
||||
# pwm pins
|
||||
if param greater -s TRIG_MODE 0
|
||||
then
|
||||
camera_trigger start
|
||||
camera_feedback start
|
||||
fi
|
||||
# PPS capture driver
|
||||
if param greater -s PPS_CAP_ENABLE 0
|
||||
then
|
||||
pps_capture start
|
||||
fi
|
||||
# Camera capture driver
|
||||
if param greater -s CAM_CAP_FBACK 0
|
||||
then
|
||||
if camera_capture start
|
||||
then
|
||||
camera_capture on
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# Sensors System (start before Commander so Preflight checks are properly run).
|
||||
# Commander needs to be this early for in-air-restarts.
|
||||
#
|
||||
if param greater SYS_HITL 0
|
||||
then
|
||||
set OUTPUT_MODE hil
|
||||
if ! pwm_out_sim start -m hil
|
||||
then
|
||||
tune_control play error
|
||||
fi
|
||||
|
||||
sensors start -h
|
||||
commander start -h
|
||||
# disable GPS
|
||||
@@ -369,6 +365,8 @@ else
|
||||
if param compare SYS_HITL 2
|
||||
then
|
||||
simulator_sih start
|
||||
sensor_baro_sim start
|
||||
sensor_mag_sim start
|
||||
fi
|
||||
|
||||
else
|
||||
@@ -397,13 +395,14 @@ else
|
||||
|
||||
sensors start
|
||||
commander start
|
||||
|
||||
dshot start
|
||||
pwm_out start
|
||||
fi
|
||||
|
||||
#
|
||||
# Configure vehicle type specific parameters.
|
||||
# Note: rc.vehicle_setup is the entry point for rc.interface,
|
||||
# rc.fw_apps, rc.mc_apps, rc.rover_apps, and rc.vtol_apps.
|
||||
#
|
||||
# Note: rc.vehicle_setup is the entry point for all vehicle type specific setup.
|
||||
. ${R}etc/init.d/rc.vehicle_setup
|
||||
|
||||
# Pre-takeoff continuous magnetometer calibration
|
||||
@@ -412,12 +411,6 @@ else
|
||||
mag_bias_estimator start
|
||||
fi
|
||||
|
||||
if param greater -s TRIG_MODE 0
|
||||
then
|
||||
camera_trigger start
|
||||
camera_feedback start
|
||||
fi
|
||||
|
||||
#
|
||||
# Optional board mavlink streams: rc.board_mavlink
|
||||
#
|
||||
@@ -435,26 +428,8 @@ else
|
||||
#
|
||||
. ${R}etc/init.d/rc.serial
|
||||
|
||||
if [ $IO_PRESENT = no ]
|
||||
then
|
||||
# Must be started after the serial config is read
|
||||
rc_input start $RC_INPUT_ARGS
|
||||
fi
|
||||
|
||||
# PPS capture driver (before pwm_out)
|
||||
if param greater -s PPS_CAP_ENABLE 0
|
||||
then
|
||||
pps_capture start
|
||||
fi
|
||||
|
||||
# Camera capture driver (before pwm_out)
|
||||
if param greater -s CAM_CAP_FBACK 0
|
||||
then
|
||||
if camera_capture start
|
||||
then
|
||||
camera_capture on
|
||||
fi
|
||||
fi
|
||||
# Must be started after the serial config is read
|
||||
rc_input start $RC_INPUT_ARGS
|
||||
|
||||
#
|
||||
# Play the startup tune (if not disabled or there is an error)
|
||||
@@ -564,28 +539,16 @@ unset R
|
||||
unset FCONFIG
|
||||
unset FEXTRAS
|
||||
unset FRC
|
||||
unset IO_PRESENT
|
||||
unset IOFW
|
||||
unset LOGGER_ARGS
|
||||
unset LOGGER_BUF
|
||||
unset MIXER
|
||||
unset MIXER_AUX
|
||||
unset MIXER_FILE
|
||||
unset OUTPUT_MODE
|
||||
unset PARAM_FILE
|
||||
unset PWM_AUX_OUT
|
||||
unset PWM_AUX_RATE
|
||||
unset PWM_MAIN_RATE
|
||||
unset PWM_OUT
|
||||
unset PWM_EXTRA_OUT
|
||||
unset PWM_EXTRA_RATE
|
||||
unset PARAM_BACKUP_FILE
|
||||
unset RC_INPUT_ARGS
|
||||
unset SDCARD_AVAILABLE
|
||||
unset SDCARD_EXT_PATH
|
||||
unset SDCARD_FORMAT
|
||||
unset SDCARD_MIXERS_PATH
|
||||
unset STARTUP_TUNE
|
||||
unset USE_IO
|
||||
unset VEHICLE_TYPE
|
||||
|
||||
#
|
||||
|
||||
@@ -1,88 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
Aileron/rudder/elevator/throttle/wheel/flaps mixer for PX4FMU
|
||||
=======================================================
|
||||
|
||||
This file defines mixers suitable for controlling a fixed wing aircraft with
|
||||
aileron, rudder, elevator, throttle and steerable wheel controls using PX4FMU.
|
||||
The configuration assumes the aileron servo(s) are connected to PX4FMU servo
|
||||
output 0 and 1, the elevator to output 2, the rudder to output 3, the throttle
|
||||
to output 4 and the wheel to output 5.
|
||||
|
||||
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0
|
||||
(roll), 1 (pitch), 2 (yaw) and 3 (thrust) 4 (flaps).
|
||||
|
||||
Aileron mixer (roll + spoiler)
|
||||
---------------------------------
|
||||
|
||||
This mixer assumes that the aileron servos are set up correctly mechanically;
|
||||
depending on the actual configuration it may be necessary to reverse the scaling
|
||||
factors (to reverse the servo movement) and adjust the offset, scaling and
|
||||
endpoints to suit.
|
||||
|
||||
M: 2
|
||||
S: 0 0 10000 10000 0 -10000 10000
|
||||
S: 0 5 10000 10000 0 -10000 10000
|
||||
|
||||
M: 2
|
||||
S: 0 0 10000 10000 0 -10000 10000
|
||||
S: 0 5 -10000 -10000 0 -10000 10000
|
||||
|
||||
Elevator mixer
|
||||
------------
|
||||
Two scalers total (output, roll).
|
||||
|
||||
This mixer assumes that the elevator servo is set up correctly mechanically;
|
||||
depending on the actual configuration it may be necessary to reverse the scaling
|
||||
factors (to reverse the servo movement) and adjust the offset, scaling and
|
||||
endpoints to suit.
|
||||
|
||||
M: 1
|
||||
S: 0 1 -10000 -10000 0 -10000 10000
|
||||
|
||||
Rudder mixer
|
||||
------------
|
||||
Two scalers total (output, yaw).
|
||||
|
||||
This mixer assumes that the rudder servo is set up correctly mechanically;
|
||||
depending on the actual configuration it may be necessary to reverse the scaling
|
||||
factors (to reverse the servo movement) and adjust the offset, scaling and
|
||||
endpoints to suit.
|
||||
|
||||
M: 1
|
||||
S: 0 2 10000 10000 0 -10000 10000
|
||||
|
||||
Motor speed mixer
|
||||
-----------------
|
||||
Two scalers total (output, thrust).
|
||||
|
||||
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
|
||||
range. Inputs below zero are treated as zero.
|
||||
|
||||
M: 1
|
||||
S: 0 3 0 20000 -10000 -10000 10000
|
||||
|
||||
Wheel mixer
|
||||
------------
|
||||
Two scalers total (output, yaw).
|
||||
|
||||
This mixer assumes that the wheel servo is set up correctly mechanically;
|
||||
depending on the actual configuration it may be necessary to reverse the scaling
|
||||
factors (to reverse the servo movement) and adjust the offset, scaling and
|
||||
endpoints to suit.
|
||||
|
||||
M: 1
|
||||
S: 0 2 10000 10000 0 -10000 10000
|
||||
|
||||
|
||||
Flaps / gimbal / payload mixer for last three channels,
|
||||
using the payload control group
|
||||
-----------------------------------------------------
|
||||
|
||||
M: 1
|
||||
S: 0 4 10000 10000 0 -10000 10000
|
||||
|
||||
M: 1
|
||||
S: 2 0 10000 10000 0 -10000 10000
|
||||
|
||||
M: 1
|
||||
S: 2 2 10000 10000 0 -10000 10000
|
||||
@@ -1,77 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
Aileron/v-tail/throttle/wheel/flaps mixer for PX4FMU
|
||||
=======================================================
|
||||
|
||||
This file defines mixers suitable for controlling a fixed wing aircraft with
|
||||
aileron, v-tail (rudder, elevator), throttle, steerable wheel and flaps
|
||||
using PX4FMU.
|
||||
The configuration assumes the aileron servos are connected to PX4FMU servo
|
||||
output 0 and 1, the tail servos to output 2 and 3, the throttle
|
||||
to output 4, the wheel to output 5 and the flaps to output 6 and 7.
|
||||
|
||||
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0
|
||||
(roll), 1 (pitch), 2 (yaw) and 3 (thrust) 4 (flaps) 6 (flaperon).
|
||||
|
||||
Aileron mixer (roll + spoiler)
|
||||
---------------------------------
|
||||
|
||||
This mixer assumes that the aileron servos are set up correctly mechanically;
|
||||
depending on the actual configuration it may be necessary to reverse the scaling
|
||||
factors (to reverse the servo movement) and adjust the offset, scaling and
|
||||
endpoints to suit.
|
||||
|
||||
M: 2
|
||||
S: 0 0 10000 10000 0 -10000 10000
|
||||
S: 0 5 10000 10000 0 -10000 10000
|
||||
|
||||
M: 2
|
||||
S: 0 0 10000 10000 0 -10000 10000
|
||||
S: 0 5 -10000 -10000 0 -10000 10000
|
||||
|
||||
V-tail mixers
|
||||
-------------
|
||||
Three scalers total (output, roll, pitch).
|
||||
|
||||
On the assumption that the two tail servos are physically reversed, the pitch
|
||||
input is inverted between the two servos.
|
||||
|
||||
M: 2
|
||||
S: 0 2 -7000 -7000 0 -10000 10000
|
||||
S: 0 1 -8000 -8000 0 -10000 10000
|
||||
|
||||
M: 2
|
||||
S: 0 2 -7000 -7000 0 -10000 10000
|
||||
S: 0 1 8000 8000 0 -10000 10000
|
||||
|
||||
Motor speed mixer
|
||||
-----------------
|
||||
Two scalers total (output, thrust).
|
||||
|
||||
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
|
||||
range. Inputs below zero are treated as zero.
|
||||
|
||||
M: 1
|
||||
S: 0 3 0 20000 -10000 -10000 10000
|
||||
|
||||
Wheel mixer
|
||||
------------
|
||||
Two scalers total (output, yaw).
|
||||
|
||||
This mixer assumes that the wheel servo is set up correctly mechanically;
|
||||
depending on the actual configuration it may be necessary to reverse the scaling
|
||||
factors (to reverse the servo movement) and adjust the offset, scaling and
|
||||
endpoints to suit.
|
||||
|
||||
M: 1
|
||||
S: 0 2 -10000 -10000 0 -10000 10000
|
||||
|
||||
Flaps mixer
|
||||
------------
|
||||
Flap servos are physically reversed.
|
||||
|
||||
M: 1
|
||||
S: 0 4 0 5000 -10000 -10000 10000
|
||||
|
||||
M: 1
|
||||
S: 0 4 0 -5000 10000 -10000 10000
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
Aileron/v-tail/throttle/wheel/flaps mixer for PX4FMU
|
||||
=======================================================
|
||||
|
||||
This file defines mixers suitable for controlling a fixed wing aircraft with
|
||||
aileron, v-tail (rudder, elevator), throttle, steerable wheel and flaps
|
||||
using PX4FMU.
|
||||
The configuration assumes the aileron servos are connected to PX4FMU servo
|
||||
output 0 and 1, the tail servos to output 2 and 3, the throttle
|
||||
to output 4, the wheel to output 5 and the flaps to output 6 and 7.
|
||||
|
||||
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0
|
||||
(roll), 1 (pitch), 2 (yaw), 3 (thrust) 4 (flaps), 5 (spoiler).
|
||||
|
||||
Aileron mixer (roll + spoiler)
|
||||
---------------------------------
|
||||
|
||||
This mixer assumes that the aileron servos are set up mechanically reversed.
|
||||
|
||||
M: 2
|
||||
S: 0 0 -10000 -10000 0 -10000 10000
|
||||
S: 0 5 10000 10000 0 -10000 10000
|
||||
|
||||
M: 2
|
||||
S: 0 0 -10000 -10000 0 -10000 10000
|
||||
S: 0 5 -10000 -10000 0 -10000 10000
|
||||
|
||||
V-tail mixers
|
||||
-------------
|
||||
Three scalers total (output, roll, pitch).
|
||||
|
||||
M: 2
|
||||
S: 0 2 7000 7000 0 -10000 10000
|
||||
S: 0 1 -8000 -8000 0 -10000 10000
|
||||
|
||||
M: 2
|
||||
S: 0 2 7000 7000 0 -10000 10000
|
||||
S: 0 1 8000 8000 0 -10000 10000
|
||||
|
||||
Motor speed mixer
|
||||
-----------------
|
||||
Two scalers total (output, thrust).
|
||||
|
||||
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
|
||||
range. Inputs below zero are treated as zero.
|
||||
|
||||
M: 1
|
||||
S: 0 3 0 20000 -10000 -10000 10000
|
||||
|
||||
Wheel mixer
|
||||
------------
|
||||
Two scalers total (output, yaw).
|
||||
|
||||
This mixer assumes that the wheel servo is set up correctly mechanically;
|
||||
depending on the actual configuration it may be necessary to reverse the scaling
|
||||
factors (to reverse the servo movement) and adjust the offset, scaling and
|
||||
endpoints to suit.
|
||||
|
||||
M: 1
|
||||
S: 0 2 -10000 -10000 0 -10000 10000
|
||||
|
||||
Flaps mixer
|
||||
------------
|
||||
Flap servos are physically reversed.
|
||||
|
||||
M: 1
|
||||
S: 0 4 0 5000 -10000 -10000 10000
|
||||
|
||||
M: 1
|
||||
S: 0 4 0 -5000 10000 -10000 10000
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
Aileron/rudder/elevator/throttle mixer for PX4FMU
|
||||
==================================================
|
||||
|
||||
This file defines mixers suitable for controlling a fixed wing aircraft with
|
||||
aileron, rudder, elevator and throttle controls using PX4FMU. The configuration
|
||||
assumes the aileron servo(s) are connected to PX4FMU servo output 0, the
|
||||
elevator to output 1, the rudder to output 2 and the throttle to output 3.
|
||||
|
||||
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0
|
||||
(roll), 1 (pitch) and 3 (thrust).
|
||||
|
||||
CH1: Aileron mixer
|
||||
-------------
|
||||
Two scalers total (output, roll).
|
||||
|
||||
This mixer assumes that the aileron servos are set up correctly mechanically;
|
||||
depending on the actual configuration it may be necessary to reverse the scaling
|
||||
factors (to reverse the servo movement) and adjust the offset, scaling and
|
||||
endpoints to suit.
|
||||
|
||||
As there is only one output, if using two servos adjustments to compensate for
|
||||
differences between the servos must be made mechanically. To obtain the correct
|
||||
motion using a Y cable, the servos can be positioned reversed from one another.
|
||||
|
||||
M: 1
|
||||
S: 0 0 10000 10000 0 -10000 10000
|
||||
|
||||
CH2: Elevator mixer
|
||||
------------
|
||||
Two scalers total (output, roll).
|
||||
|
||||
This mixer assumes that the elevator servo is set up correctly mechanically;
|
||||
depending on the actual configuration it may be necessary to reverse the scaling
|
||||
factors (to reverse the servo movement) and adjust the offset, scaling and
|
||||
endpoints to suit.
|
||||
|
||||
M: 1
|
||||
S: 0 1 -10000 -10000 0 -10000 10000
|
||||
|
||||
CH3: Rudder mixer
|
||||
------------
|
||||
Two scalers total (output, yaw).
|
||||
|
||||
This mixer assumes that the rudder servo is set up correctly mechanically;
|
||||
depending on the actual configuration it may be necessary to reverse the scaling
|
||||
factors (to reverse the servo movement) and adjust the offset, scaling and
|
||||
endpoints to suit.
|
||||
|
||||
M: 1
|
||||
S: 0 2 10000 10000 0 -10000 10000
|
||||
|
||||
CH4: Motor speed mixer
|
||||
-----------------
|
||||
Two scalers total (output, thrust).
|
||||
|
||||
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
|
||||
range. Inputs below zero are treated as zero.
|
||||
|
||||
M: 1
|
||||
S: 0 3 0 20000 -10000 -10000 10000
|
||||
|
||||
CH5: Flaps mixer
|
||||
------------
|
||||
Flaps are controlled automatically in position control and auto
|
||||
but can also be controlled manually
|
||||
|
||||
M: 1
|
||||
O: 5000 10000 0 -10000 10000
|
||||
S: 0 4 10000 10000 0 -10000 10000
|
||||
|
||||
Ch6: Landing gear mixer
|
||||
------------
|
||||
By default pass-through of gear switch
|
||||
|
||||
M: 1
|
||||
S: 3 5 10000 10000 0 -10000 10000
|
||||
@@ -1,77 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
Aileron/Elevator/Throttle/Rudder/Gear/Flaps mixer
|
||||
==================================================
|
||||
|
||||
This file defines mixers suitable for controlling a fixed wing aircraft with
|
||||
aileron, rudder, elevator, throttle, gear, flaps controls. The configuration
|
||||
assumes the aileron servo(s) are connected to output 0, the elevator to
|
||||
output 1, the throttle to output 2 and the rudder to output 3.
|
||||
|
||||
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0
|
||||
(roll), 1 (pitch), 2 (thrust), 3 (yaw), 4 (flaps), 7 (landing gear)
|
||||
|
||||
CH1: Aileron mixer
|
||||
-------------
|
||||
Two scalers total (output, roll).
|
||||
|
||||
This mixer assumes that the aileron servos are set up correctly mechanically;
|
||||
depending on the actual configuration it may be necessary to reverse the scaling
|
||||
factors (to reverse the servo movement) and adjust the offset, scaling and
|
||||
endpoints to suit.
|
||||
|
||||
As there is only one output, if using two servos adjustments to compensate for
|
||||
differences between the servos must be made mechanically. To obtain the correct
|
||||
motion using a Y cable, the servos can be positioned reversed from one another.
|
||||
|
||||
M: 1
|
||||
S: 0 0 10000 10000 0 -10000 10000
|
||||
|
||||
CH2: Elevator mixer
|
||||
------------
|
||||
Two scalers total (output, roll).
|
||||
|
||||
This mixer assumes that the elevator servo is set up correctly mechanically;
|
||||
depending on the actual configuration it may be necessary to reverse the scaling
|
||||
factors (to reverse the servo movement) and adjust the offset, scaling and
|
||||
endpoints to suit.
|
||||
|
||||
M: 1
|
||||
S: 0 1 -10000 -10000 0 -10000 10000
|
||||
|
||||
CH3: Motor speed mixer
|
||||
-----------------
|
||||
Two scalers total (output, thrust).
|
||||
|
||||
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
|
||||
range. Inputs below zero are treated as zero.
|
||||
|
||||
M: 1
|
||||
S: 0 3 0 20000 -10000 -10000 10000
|
||||
|
||||
CH4: Rudder mixer
|
||||
------------
|
||||
Two scalers total (output, yaw).
|
||||
|
||||
This mixer assumes that the rudder servo is set up correctly mechanically;
|
||||
depending on the actual configuration it may be necessary to reverse the scaling
|
||||
factors (to reverse the servo movement) and adjust the offset, scaling and
|
||||
endpoints to suit.
|
||||
|
||||
M: 1
|
||||
S: 0 2 10000 10000 0 -10000 10000
|
||||
|
||||
CH5: Flaps mixer
|
||||
------------
|
||||
Flaps are controlled automatically in position control and auto
|
||||
but can also be controlled manually
|
||||
|
||||
M: 1
|
||||
O: 5000 10000 0 -10000 10000
|
||||
S: 0 4 10000 10000 0 -10000 10000
|
||||
|
||||
CH6: Landing gear mixer
|
||||
------------
|
||||
By default pass-through of gear switch
|
||||
|
||||
M: 1
|
||||
S: 3 5 10000 10000 0 -10000 10000
|
||||
@@ -1,49 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
Helicopter 120 degree Cyclic-Collective-Pitch Mixing (CCPM) for PX4FMU
|
||||
==================================================
|
||||
|
||||
|
||||
Output 0 - Rear Servo Mixer
|
||||
----------------
|
||||
|
||||
Rear Servo = Collective (Thrust - 3) + Elevator (Pitch - 1)
|
||||
|
||||
M: 2
|
||||
S: 0 3 10000 10000 0 -10000 10000
|
||||
S: 0 1 10000 10000 0 -10000 10000
|
||||
|
||||
|
||||
Output 1 - Left Servo Mixer
|
||||
-----------------
|
||||
Left Servo = Collective (Thurst - 3) - 0.5 * Elevator (Pitch - 1) + 0.866 * Aileron (Roll - 0)
|
||||
|
||||
M: 3
|
||||
S: 0 3 -10000 -10000 0 -10000 10000
|
||||
S: 0 1 -5000 -5000 0 -10000 10000
|
||||
S: 0 0 8660 8660 0 -10000 10000
|
||||
|
||||
|
||||
Output 2 - Right Servo Mixer
|
||||
----------------
|
||||
Right Servo = Collective (Thurst - 3) - 0.5 * Elevator (Pitch - 1) - 0.866 * Aileron (Roll - 0)
|
||||
|
||||
|
||||
M: 3
|
||||
S: 0 3 -10000 -10000 0 -10000 10000
|
||||
S: 0 1 -5000 -5000 0 -10000 10000
|
||||
S: 0 0 -8660 -8660 0 -10000 10000
|
||||
|
||||
Output 3 - Tail Servo Mixer
|
||||
----------------
|
||||
Tail Servo = Yaw (control index = 2)
|
||||
|
||||
M: 1
|
||||
S: 0 2 10000 10000 0 -10000 10000
|
||||
|
||||
|
||||
Output 4 - Motor speed mixer
|
||||
-----------------
|
||||
This would be the motor speed control output from governor power demand- not sure what index to use here?
|
||||
|
||||
M: 1
|
||||
S: 0 4 0 20000 -10000 -10000 10000
|
||||
@@ -1,80 +0,0 @@
|
||||
############################################################################
|
||||
#
|
||||
# Copyright (c) 2018 PX4 Development Team. All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in
|
||||
# the documentation and/or other materials provided with the
|
||||
# distribution.
|
||||
# 3. Neither the name PX4 nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
px4_add_romfs_files(
|
||||
AAERTWF.main.mix
|
||||
AAVVTWFF.main.mix
|
||||
AAVVTWFF_vtail.main.mix
|
||||
AERT.main.mix
|
||||
AETRFG.main.mix
|
||||
CCPM.main.mix
|
||||
cloudship.main.mix
|
||||
coax.main.mix
|
||||
dodeca_bottom_cox.aux.mix
|
||||
dodeca_top_cox.main.mix
|
||||
fw_generic_wing.main.mix
|
||||
generic_diff_rover.main.mix
|
||||
hexa_cox.main.mix
|
||||
hexa_+.main.mix
|
||||
hexa_x.main.mix
|
||||
IO_pass.main.mix
|
||||
mount.aux.mix
|
||||
mount_legs.aux.mix
|
||||
octo_cox.main.mix
|
||||
octo_cox_w.main.mix
|
||||
octo_+.main.mix
|
||||
octo_x.main.mix
|
||||
pass.aux.mix
|
||||
quad_dc.main.mix
|
||||
quad_h.main.mix
|
||||
quad_+.main.mix
|
||||
quad_+_vtol.main.mix
|
||||
quad_w.main.mix
|
||||
quad_x_cw.main.mix
|
||||
quad_x.main.mix
|
||||
quad_x_vtol.main.mix
|
||||
quad_x_vtol_AAERT.main.mix
|
||||
rover_diff_and_servo.main.mix
|
||||
rover_generic.main.mix
|
||||
standard_vtol_hitl.main.mix
|
||||
tilt_quad.aux.mix
|
||||
tilt_quad.main.mix
|
||||
tri_y_yaw+.main.mix
|
||||
tri_y_yaw-.main.mix
|
||||
vtol_AAERT.aux.mix
|
||||
vtol_AAVVT.aux.mix
|
||||
vtol_TTTTAAER.aux.mix
|
||||
vtol_delta.aux.mix
|
||||
vtol_tailsitter_duo.main.mix
|
||||
vtol_tailsitter_duo_sat.main.mix
|
||||
)
|
||||
@@ -1,31 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
Passthrough mixer for PX4IO
|
||||
============================
|
||||
|
||||
This file defines passthrough mixers suitable for testing.
|
||||
|
||||
Channel group 0, channels 0-7 are passed directly through to the outputs.
|
||||
|
||||
M: 1
|
||||
S: 0 0 10000 10000 0 -10000 10000
|
||||
|
||||
M: 1
|
||||
S: 0 1 10000 10000 0 -10000 10000
|
||||
|
||||
M: 1
|
||||
S: 0 2 10000 10000 0 -10000 10000
|
||||
|
||||
M: 1
|
||||
S: 0 3 10000 10000 0 -10000 10000
|
||||
|
||||
M: 1
|
||||
S: 0 4 10000 10000 0 -10000 10000
|
||||
|
||||
M: 1
|
||||
S: 0 5 10000 10000 0 -10000 10000
|
||||
|
||||
M: 1
|
||||
S: 0 6 10000 10000 0 -10000 10000
|
||||
|
||||
M: 1
|
||||
S: 0 7 10000 10000 0 -10000 10000
|
||||
@@ -1,49 +0,0 @@
|
||||
Thrust tilt/ Starboard Thrust / Port Thrust / Tail Thrust mixer for PX4FMU
|
||||
=======================================================
|
||||
|
||||
# @board px4_fmu-v2 exclude
|
||||
|
||||
This file defines mixers suitable for controlling an airship with
|
||||
a thrust tilt, starboard and port thruster and a tail thruster using PX4FMU.
|
||||
The configuration assumes the starboard thruster is connected to PX4FMU
|
||||
output 1, port thruster to output 2, tilt servo to output 3, and the
|
||||
tail thruster to output 4.
|
||||
|
||||
Inputs to the mixer come from channel group 0 (vehicle attitude),
|
||||
channels 0 (roll), 1 (pitch), 2 (yaw) and 3 (thrust).
|
||||
|
||||
Starboard and port thruster mixer
|
||||
-----------------
|
||||
Two scalers total (output, thrust).
|
||||
|
||||
By default mixer output is normalized. The input is in the (0 - 1) range.
|
||||
|
||||
M: 1
|
||||
S: 0 3 0 20000 -10000 -10000 10000
|
||||
|
||||
M: 1
|
||||
S: 0 3 0 20000 -10000 -10000 10000
|
||||
|
||||
Servo controlling tilt mixer
|
||||
------------
|
||||
Two scalers total (output, tilt angle).
|
||||
|
||||
This mixer assumes that the tilt servo is set up correctly mechanically;
|
||||
depending on the actual configuration it may be necessary to reverse the scaling
|
||||
factors (to reverse the servo movement) and adjust the offset, scaling and
|
||||
endpoints to suit.
|
||||
|
||||
M: 1
|
||||
S: 0 1 10000 10000 0 -10000 10000
|
||||
|
||||
Tail thruster mixer
|
||||
------------
|
||||
Two scalers total (output, yaw).
|
||||
|
||||
This mixer assumes that the tail thruster is set up correctly mechanically;
|
||||
depending on the actual configuration it may be necessary to reverse the scaling
|
||||
factors (to reverse the motor movement) and adjust the offset, scaling and
|
||||
endpoints to suit.
|
||||
|
||||
M: 1
|
||||
S: 0 2 10000 10000 0 -10000 10000
|
||||
@@ -1,30 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
Coaxial helicopter mixer
|
||||
- Two servomotors act on the swashplate (90 degree angle on the swashplate, decoupled effect on roll and pitch).
|
||||
- No collective pitch.
|
||||
- One motor per rotor.
|
||||
===========================
|
||||
|
||||
Left swashplate servomotor, pitch axis
|
||||
-------------
|
||||
M: 1
|
||||
S: 0 1 -10000 -10000 0 -10000 10000
|
||||
|
||||
Right swashplate servomotor, roll axis
|
||||
-------------
|
||||
M: 1
|
||||
S: 0 0 10000 10000 0 -10000 10000
|
||||
|
||||
Upper rotor (CCW)
|
||||
Mixing between yaw and thrust
|
||||
-------------
|
||||
M: 2
|
||||
S: 0 2 10000 10000 0 -10000 10000
|
||||
S: 0 3 0 20000 -10000 -10000 10000
|
||||
|
||||
Lower rotor (CW)
|
||||
Mixing between yaw and thrust
|
||||
-------------
|
||||
M: 2
|
||||
S: 0 2 -10000 -10000 0 -10000 10000
|
||||
S: 0 3 0 20000 -10000 -10000 10000
|
||||
@@ -1,4 +0,0 @@
|
||||
# Dodeca Cox
|
||||
# @board px4_fmu-v2 exclude
|
||||
|
||||
R: 6a
|
||||
@@ -1,4 +0,0 @@
|
||||
# Dodeca Cox
|
||||
# @board px4_fmu-v2 exclude
|
||||
|
||||
R: 6m
|
||||
@@ -1,47 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
Generic wing mixer
|
||||
===========================
|
||||
|
||||
This file defines mixers suitable for controlling a delta wing aircraft.
|
||||
The configuration assumes the elevon servos are connected to servo
|
||||
outputs 0 and 1 and the motor speed control to output 3. Output 2 is
|
||||
assumed to be unused.
|
||||
|
||||
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0
|
||||
(roll), 1 (pitch) and 3 (thrust).
|
||||
|
||||
See the README for more information on the scaler format.
|
||||
|
||||
Elevon mixers
|
||||
-------------
|
||||
Three scalers total (output, roll, pitch).
|
||||
|
||||
On the assumption that the two elevon servos are physically reversed, the pitch
|
||||
input is inverted between the two servos.
|
||||
|
||||
The scaling factor for roll inputs is adjusted to implement differential travel
|
||||
for the elevons.
|
||||
|
||||
M: 2
|
||||
S: 0 0 -8000 -8000 0 -10000 10000
|
||||
S: 0 1 6000 6000 0 -10000 10000
|
||||
|
||||
M: 2
|
||||
S: 0 0 -8000 -8000 0 -10000 10000
|
||||
S: 0 1 -6000 -6000 0 -10000 10000
|
||||
|
||||
Output 2
|
||||
--------
|
||||
This mixer is empty.
|
||||
|
||||
Z:
|
||||
|
||||
Motor speed mixer
|
||||
-----------------
|
||||
Two scalers total (output, thrust).
|
||||
|
||||
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
|
||||
range. Inputs below zero are treated as zero.
|
||||
|
||||
M: 1
|
||||
S: 0 3 0 20000 -10000 -10000 10000
|
||||
@@ -1,26 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
Generic differential-drive rover
|
||||
===========================
|
||||
|
||||
This mixer is suitable for controlling any differential-drive rover. That is,
|
||||
a rover where the left wheels and right wheels are driven independently,
|
||||
allowing turning in place. It outputs to channels 0 (left wheels) and
|
||||
1 (right wheels)
|
||||
|
||||
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 2 (yaw), and 3 (thrust).
|
||||
|
||||
See the README for more information on the scaler format.
|
||||
|
||||
|
||||
Throttle of left wheels of rover on Output 0
|
||||
---------------------------------------
|
||||
M: 2
|
||||
S: 0 2 10000 10000 0 -10000 10000
|
||||
S: 0 3 10000 10000 0 -10000 10000
|
||||
|
||||
|
||||
Throttle of right wheels of rover on Output 1
|
||||
---------------------------------------
|
||||
M: 2
|
||||
S: 0 2 -10000 -10000 0 -10000 10000
|
||||
S: 0 3 10000 10000 0 -10000 10000
|
||||
@@ -1,4 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
# Hexa +
|
||||
|
||||
R: 6+
|
||||
@@ -1,4 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
# Hexa coaxial
|
||||
|
||||
R: 6c
|
||||
@@ -1,5 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
# Hexa X
|
||||
|
||||
R: 6x
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
# Mount Mixer (e.g. Gimbal, servo-controlled gimbal, etc...)
|
||||
|
||||
|
||||
# pitch
|
||||
M: 1
|
||||
S: 2 1 10000 10000 0 -10000 10000
|
||||
|
||||
# roll
|
||||
M: 1
|
||||
S: 2 0 10000 10000 0 -10000 10000
|
||||
|
||||
# yaw
|
||||
M: 1
|
||||
S: 2 2 10000 10000 0 -10000 10000
|
||||
|
||||
# Shutter/retract
|
||||
M: 1
|
||||
S: 2 3 10000 10000 0 -10000 10000
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
|
||||
# Roll channel for mount
|
||||
M: 1
|
||||
S: 2 0 10000 10000 0 -10000 10000
|
||||
|
||||
# Pitch channel for mount
|
||||
M: 1
|
||||
S: 2 1 10000 10000 0 -10000 10000
|
||||
|
||||
# Yaw channel for mount
|
||||
M: 1
|
||||
S: 2 2 10000 10000 0 -10000 10000
|
||||
|
||||
|
||||
# mixer for left leg
|
||||
M: 1
|
||||
S: 0 7 0 20000 -10000 -10000 10000
|
||||
|
||||
# mixer for right leg
|
||||
M: 1
|
||||
S: 0 7 0 20000 -10000 -10000 10000
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
# Octo +
|
||||
|
||||
R: 8+
|
||||
@@ -1,4 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
# Octo coaxial
|
||||
|
||||
R: 8c
|
||||
@@ -1,4 +0,0 @@
|
||||
# Octo coaxial with wide arms
|
||||
# @board px4_fmu-v2 exclude
|
||||
|
||||
R: 8cw
|
||||
@@ -1,4 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
# Octo X
|
||||
|
||||
R: 8x
|
||||
@@ -1,18 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
# Manual pass through mixer for servo outputs 1-4
|
||||
|
||||
# AUX1 channel (select RC channel with RC_MAP_AUX1 param)
|
||||
M: 1
|
||||
S: 3 5 10000 10000 0 -10000 10000
|
||||
|
||||
# AUX2 channel (select RC channel with RC_MAP_AUX2 param)
|
||||
M: 1
|
||||
S: 3 6 10000 10000 0 -10000 10000
|
||||
|
||||
# AUX3 channel (select RC channel with RC_MAP_AUX3 param)
|
||||
M: 1
|
||||
S: 3 7 10000 10000 0 -10000 10000
|
||||
|
||||
# FLAPS channel (select RC channel with RC_MAP_FLAPS param)
|
||||
M: 1
|
||||
S: 3 4 10000 10000 0 -10000 10000
|
||||
@@ -1,17 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
Multirotor mixer for PX4FMU
|
||||
===========================
|
||||
|
||||
This file defines a single mixer for a quadrotor in the + configuration. All controls
|
||||
are mixed 100%.
|
||||
|
||||
R: 4+
|
||||
|
||||
Gimbal / payload mixer for last two channels
|
||||
-----------------------------------------------------
|
||||
|
||||
M: 1
|
||||
S: 3 5 10000 10000 0 -10000 10000
|
||||
|
||||
M: 1
|
||||
S: 3 6 10000 10000 0 -10000 10000
|
||||
@@ -1,25 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
Mixer for Tailsitter with + motor configuration and elevons
|
||||
===========================================================
|
||||
|
||||
This file defines a single mixer for tailsitter with motors in X configuration. All controls
|
||||
are mixed 100%.
|
||||
|
||||
R: 4+
|
||||
|
||||
# mixer for the elevons
|
||||
M: 2
|
||||
S: 1 0 10000 10000 0 -10000 10000
|
||||
S: 1 1 10000 10000 0 -10000 10000
|
||||
|
||||
M: 2
|
||||
S: 1 0 10000 10000 0 -10000 10000
|
||||
S: 1 1 -10000 -10000 0 -10000 10000
|
||||
|
||||
# mixer for canard surface
|
||||
M: 1
|
||||
S: 1 1 -10000 -10000 0 -10000 10000
|
||||
|
||||
# mixer for rudder
|
||||
M: 1
|
||||
S: 1 2 -10000 -10000 0 -10000 10000
|
||||
@@ -1,7 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
Multirotor mixer
|
||||
===========================
|
||||
|
||||
This file defines a single mixer for a quadrotor in DC wide arms configuration. All controls are mixed 100%.
|
||||
|
||||
R: 4dc
|
||||
@@ -1,17 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
Multirotor mixer for PX4FMU
|
||||
===========================
|
||||
|
||||
This file defines a single mixer for a quadrotor in the H configuration. All controls
|
||||
are mixed 100%.
|
||||
|
||||
R: 4h
|
||||
|
||||
Gimbal / payload mixer for last two channels
|
||||
-----------------------------------------------------
|
||||
|
||||
M: 1
|
||||
S: 3 5 10000 10000 0 -10000 10000
|
||||
|
||||
M: 1
|
||||
S: 3 6 10000 10000 0 -10000 10000
|
||||
@@ -1,16 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
Multirotor mixer for PX4FMU
|
||||
===========================
|
||||
|
||||
This file defines a single mixer for a quadrotor with a wide configuration. All controls are mixed 100%.
|
||||
|
||||
R: 4w
|
||||
|
||||
Gimbal / payload mixer for last two channels
|
||||
-----------------------------------------------------
|
||||
|
||||
M: 1
|
||||
S: 3 5 10000 10000 0 -10000 10000
|
||||
|
||||
M: 1
|
||||
S: 3 6 10000 10000 0 -10000 10000
|
||||
@@ -1,17 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
R: 4x
|
||||
|
||||
AUX1 Passthrough
|
||||
M: 1
|
||||
S: 3 5 10000 10000 0 -10000 10000
|
||||
|
||||
AUX2 Passthrough
|
||||
M: 1
|
||||
S: 3 6 10000 10000 0 -10000 10000
|
||||
|
||||
Failsafe outputs
|
||||
The following outputs are set to their disarmed value
|
||||
during normal operation and to their failsafe falue in case
|
||||
of flight termination.
|
||||
Z:
|
||||
Z:
|
||||
@@ -1,4 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
# Quad X with clock-wise motor assigment
|
||||
|
||||
R: 4xcw
|
||||
@@ -1,19 +0,0 @@
|
||||
Mixer for Tailsitter with x motor configuration and elevons
|
||||
===========================================================
|
||||
# @board px4_fmu-v2 exclude
|
||||
# @board omnibus_f4sd exclude
|
||||
|
||||
This file defines a single mixer for tailsitter with motors in X configuration. All controls
|
||||
are mixed 100%.
|
||||
|
||||
R: 4x
|
||||
|
||||
# left elevon
|
||||
M: 2
|
||||
S: 1 0 -5000 -5000 0 -10000 10000
|
||||
S: 1 1 5000 5000 0 -10000 10000
|
||||
|
||||
# right elevon
|
||||
M: 2
|
||||
S: 1 0 -5000 -5000 0 -10000 10000
|
||||
S: 1 1 -5000 -5000 0 -10000 10000
|
||||
@@ -1,30 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
Mixer for an AAERT VTOL
|
||||
=======================
|
||||
|
||||
R: 4x
|
||||
|
||||
Aileron 1 mixer
|
||||
---------------
|
||||
M: 1
|
||||
S: 1 0 7500 7500 0 -10000 10000
|
||||
|
||||
Aileron 2 mixer
|
||||
---------------
|
||||
M: 1
|
||||
S: 1 0 7500 7500 0 -10000 10000
|
||||
|
||||
Elevator mixer
|
||||
--------------
|
||||
M: 1
|
||||
S: 1 1 10000 10000 0 -10000 10000
|
||||
|
||||
Rudder mixer
|
||||
------------
|
||||
M: 1
|
||||
S: 1 2 -10000 -10000 0 -10000 10000
|
||||
|
||||
Throttle mixer
|
||||
--------------
|
||||
M: 1
|
||||
S: 1 3 0 20000 -10000 -10000 10000
|
||||
@@ -1,41 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
Generic car mixer (eg DF Robot GPX:Asurada RC Car)
|
||||
===========================
|
||||
|
||||
Designed for DF Robot GPX:Asurada
|
||||
|
||||
This file defines mixers suitable for controlling a DF Robot GPX:Asurada rover using
|
||||
PX4FMU. The configuration assumes the steering is connected to PX4FMU
|
||||
servo outputs 1 and the motor speed controls to output 2 and 3. Output 0 is
|
||||
assumed to be unused.
|
||||
|
||||
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0 (roll), and 3 (thrust).
|
||||
|
||||
See the README for more information on the scaler format.
|
||||
|
||||
|
||||
Output 1 - Empty
|
||||
-----------------------------------------
|
||||
Z:
|
||||
|
||||
Output 2 - Steering mixer using yaw
|
||||
------------------------------------------
|
||||
M: 1
|
||||
O: 10000 10000 0 -10000 10000 5000
|
||||
S: 0 2 10000 10000 0 -10000 10000
|
||||
|
||||
|
||||
Output 3 - Left row of wheels using yaw and throttle (1s rise time)
|
||||
------------------------------------------
|
||||
M: 2
|
||||
O: 10000 10000 0 -10000 10000 10000
|
||||
S: 0 2 -500 -500 0 0 10000
|
||||
S: 0 3 10000 10000 0 -10000 10000
|
||||
|
||||
|
||||
Output 4 - Right row of wheels using yaw and throttle (1s rise time)
|
||||
------------------------------------------
|
||||
M: 2
|
||||
O: 10000 10000 0 -10000 10000 10000
|
||||
S: 0 2 500 500 0 0 10000
|
||||
S: 0 3 10000 10000 0 -10000 10000
|
||||
@@ -1,38 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
Generic car mixer (eg Traxxas Stampede RC Car)
|
||||
===========================
|
||||
|
||||
Designed for Traxxas Stampede
|
||||
|
||||
This file defines mixers suitable for controlling a Traxxas Stampede rover using
|
||||
PX4FMU. The configuration assumes the steering is connected to PX4FMU
|
||||
servo outputs 1 and the motor speed control to output 3. Output 0 and 2 is
|
||||
assumed to be unused.
|
||||
|
||||
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 2 (yaw), and 3 (thrust).
|
||||
|
||||
See the README for more information on the scaler format.
|
||||
|
||||
|
||||
Output 1: Empty
|
||||
---------------------------------------
|
||||
Z:
|
||||
|
||||
Output 2: Steering mixer using yaw, with 0.5s rise time
|
||||
---------------------------------------
|
||||
M: 1
|
||||
O: 10000 10000 0 -10000 10000 5000
|
||||
S: 0 2 10000 10000 0 -10000 10000
|
||||
|
||||
|
||||
Output 3: Empty
|
||||
---------------------------------------
|
||||
This mixer is empty.
|
||||
Z:
|
||||
|
||||
|
||||
Output 4: Throttle with 2s rise time
|
||||
---------------------------------------
|
||||
M: 1
|
||||
O: 10000 10000 0 -10000 10000 20000
|
||||
S: 0 3 10000 10000 0 -10000 10000
|
||||
@@ -1,22 +0,0 @@
|
||||
Mixer for Standard VTOL (QuadPlane) with motor x configuration (Gazebo HITL)
|
||||
=============================================================================
|
||||
|
||||
# @board px4_fmu-v2 exclude
|
||||
|
||||
R: 4x
|
||||
|
||||
# mixer for the pusher/puller throttle
|
||||
M: 1
|
||||
S: 1 3 0 20000 -10000 -10000 10000
|
||||
|
||||
# mixer for the left aileron
|
||||
M: 1
|
||||
S: 1 0 -10000 -10000 0 -10000 10000
|
||||
|
||||
# mixer for the right aileron
|
||||
M: 1
|
||||
S: 1 0 10000 10000 0 -10000 10000
|
||||
|
||||
# mixer for the elevator
|
||||
M: 1
|
||||
S: 1 1 10000 10000 0 -10000 10000
|
||||
@@ -1,33 +0,0 @@
|
||||
Tilt-Quadrotor mixer for PX4FMU (2/2) V2
|
||||
===========================
|
||||
|
||||
# @board px4_fmu-v2 exclude
|
||||
|
||||
This file defines the aux outputs mixer for a Tilt-quadrotor in the + configuration.
|
||||
|
||||
# @output AUX1 Outer servo motor for rotor 2 arm
|
||||
# @output AUX2 Outer servo motor for rotor 4 arm
|
||||
# @output AUX3 Inner servo motor for rotor 2 arm
|
||||
# @output AUX4 Inner servo motor for rotor 4 arm
|
||||
|
||||
Servo 1
|
||||
|
||||
M: 1
|
||||
S: 0 1 -1000 -1000 0 -10000 10000
|
||||
|
||||
Servo 2
|
||||
|
||||
M: 1
|
||||
S: 0 1 1000 1000 0 -10000 10000
|
||||
|
||||
Servo 3
|
||||
|
||||
M: 2
|
||||
S: 0 2 -10000 -10000 0 -10000 10000
|
||||
S: 3 5 10000 10000 0 -10000 10000
|
||||
|
||||
Servo 4
|
||||
|
||||
M: 2
|
||||
S: 0 2 10000 10000 0 -10000 10000
|
||||
S: 3 5 10000 10000 0 -10000 10000
|
||||
@@ -1,35 +0,0 @@
|
||||
Tilt-Quadrotor mixer for PX4FMU (1/2) V2
|
||||
===========================
|
||||
|
||||
# @board px4_fmu-v2 exclude
|
||||
|
||||
This file defines the main outputs mixer for a Tilt-quadrotor in the + configuration.
|
||||
|
||||
# @output MAIN1 motor 1
|
||||
# @output MAIN2 motor 2
|
||||
# @output MAIN3 motor 3
|
||||
# @output MAIN4 motor 4
|
||||
|
||||
Motor 1
|
||||
|
||||
M: 2
|
||||
S: 0 1 10000 10000 0 -10000 10000
|
||||
S: 0 3 10000 10000 0 -10000 10000
|
||||
|
||||
Motor 2
|
||||
|
||||
M: 2
|
||||
S: 0 0 10000 10000 0 -10000 10000
|
||||
S: 0 3 10000 10000 0 -10000 10000
|
||||
|
||||
Motor 3
|
||||
|
||||
M: 2
|
||||
S: 0 1 -10000 -10000 0 -10000 10000
|
||||
S: 0 3 10000 10000 0 -10000 10000
|
||||
|
||||
Motor 4
|
||||
|
||||
M: 2
|
||||
S: 0 0 -10000 -10000 0 -10000 10000
|
||||
S: 0 3 10000 10000 0 -10000 10000
|
||||
@@ -1,12 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
|
||||
|
||||
# Tricopter Y-Configuration Mixer
|
||||
# Yaw Servo +Output ==> +Yaw Vehicle Rotation
|
||||
|
||||
# Motors
|
||||
R: 3y
|
||||
|
||||
# Yaw Servo
|
||||
M: 1
|
||||
S: 0 2 10000 10000 0 -10000 10000
|
||||
@@ -1,13 +0,0 @@
|
||||
# @board px4_fmu-v2 exclude
|
||||
|
||||
|
||||
# Tricopter Y-Configuration Mixer
|
||||
# Yaw Servo +Output ==> -Yaw Vehicle Rotation
|
||||
|
||||
# Motors
|
||||
R: 3y
|
||||
|
||||
# Yaw Servo
|
||||
M: 1
|
||||
S: 0 2 -10000 -10000 0 -10000 10000
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
Mixer for an AAERT VTOL
|
||||
=======================
|
||||
|
||||
# @board px4_fmu-v2 exclude
|
||||
|
||||
Aileron 1 mixer
|
||||
---------------
|
||||
M: 1
|
||||
S: 1 0 7500 7500 0 -10000 10000
|
||||
|
||||
Aileron 2 mixer
|
||||
---------------
|
||||
M: 1
|
||||
S: 1 0 7500 7500 0 -10000 10000
|
||||
|
||||
Elevator mixer
|
||||
--------------
|
||||
M: 1
|
||||
S: 1 1 10000 10000 0 -10000 10000
|
||||
|
||||
Rudder mixer
|
||||
------------
|
||||
M: 1
|
||||
S: 1 2 -10000 -10000 0 -10000 10000
|
||||
|
||||
Throttle mixer
|
||||
--------------
|
||||
M: 1
|
||||
S: 1 3 0 20000 -10000 -10000 10000
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user