mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-06-01 02:55:07 +08:00
add support for unmanned underwater vehicles (#14079)
* add support for unmanned underwater vehicles: * airframe uuv_generic + uuv_hippocammpus including mav_type = 12 for submarines * mixer for UUVs with X-shaped thruster setup similar to quadcopter * add module uuv_att_control for underwater robot attitude control * add rc.uuv_defaults/apps for autostarting e.g. ekf2 and uuv_att_control app
This commit is contained in:
@@ -46,6 +46,8 @@ px4_add_romfs_files(
|
||||
rc.thermal_cal
|
||||
rc.rover_apps
|
||||
rc.rover_defaults
|
||||
rc.uuv_apps
|
||||
rc.uuv_defaults
|
||||
rc.vehicle_setup
|
||||
rc.vtol_apps
|
||||
rc.vtol_defaults
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Generic Underwater Robot
|
||||
#
|
||||
# @type Underwater Robot
|
||||
# @class Underwater Robot
|
||||
#
|
||||
# @board px4_fmu-v2 exclude
|
||||
#
|
||||
# @maintainer
|
||||
#
|
||||
|
||||
sh /etc/init.d/rc.uuv_defaults
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
#Set data link loss failsafe mode (0: disabled, 4: Data Link Auto Recovery (CASA Outback Challenge rules))
|
||||
param set NAV_DLL_ACT 0
|
||||
|
||||
# disable circuit breaker for airspeed sensor
|
||||
param set CBRK_AIRSPD_CHK 162128
|
||||
|
||||
#param set CBRK_GPSFAIL 240024
|
||||
fi
|
||||
|
||||
set MAV_TYPE 12
|
||||
param set MAV_TYPE ${MAV_TYPE}
|
||||
|
||||
set MIXER uuv_x
|
||||
@@ -0,0 +1,29 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name HippoCampus UUV (Unmanned Underwater Vehicle)
|
||||
#
|
||||
# @type Underwater Robot
|
||||
# @class Underwater Robot
|
||||
#
|
||||
# @board px4_fmu-v2 exclude
|
||||
#
|
||||
# @maintainer Daniel Duecker <daniel.duecker@tuhh.de>
|
||||
#
|
||||
|
||||
sh /etc/init.d/rc.uuv_defaults
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
#Set data link loss failsafe mode (0: disabled, 4: Data Link Auto Recovery (CASA Outback Challenge rules))
|
||||
param set NAV_DLL_ACT 0
|
||||
|
||||
# disable circuit breaker for airspeed sensor
|
||||
param set CBRK_AIRSPD_CHK 162128
|
||||
|
||||
#param set CBRK_GPSFAIL 240024
|
||||
fi
|
||||
|
||||
set MAV_TYPE 12
|
||||
param set MAV_TYPE ${MAV_TYPE}
|
||||
|
||||
set MIXER uuv_x
|
||||
@@ -146,4 +146,8 @@ px4_add_romfs_files(
|
||||
50001_axialracing_ax10
|
||||
50002_traxxas_stampede_2wd
|
||||
50003_aion_robotics_r1_rover
|
||||
|
||||
# [60000, 61000] (Unmanned) Underwater Robots
|
||||
60000_uuv_generic
|
||||
60001_uuv_hippocampus
|
||||
)
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Standard apps for uuvs. Attitude/Position estimator, Attitude/Position control.
|
||||
#
|
||||
# NOTE: Script variables are declared/initialized/unset in the rcS script.
|
||||
#
|
||||
|
||||
###############################################################################
|
||||
# Begin Estimator Group Selection #
|
||||
###############################################################################
|
||||
|
||||
ekf2 start
|
||||
|
||||
###############################################################################
|
||||
# End Estimator Group Selection #
|
||||
###############################################################################
|
||||
|
||||
#
|
||||
# Start UUV Attitude Controller.
|
||||
#
|
||||
uuv_att_control start
|
||||
|
||||
#
|
||||
# Start UUV Land Detector.
|
||||
#
|
||||
land_detector start rover
|
||||
@@ -0,0 +1,35 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# UUV default parameters.
|
||||
#
|
||||
# NOTE: Script variables are declared/initialized/unset in the rcS script.
|
||||
#
|
||||
|
||||
set VEHICLE_TYPE uuv
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
param set PWM_MAX 1950
|
||||
param set PWM_MIN 1050
|
||||
param set PWM_DISARMED 1500
|
||||
|
||||
fi
|
||||
|
||||
#
|
||||
# PWM Hz - 50 Hz is the normal rate in RC cars, boats etc,
|
||||
# higher rates may damage analog servos.
|
||||
#
|
||||
set PWM_RATE 50
|
||||
|
||||
#
|
||||
# Enable servo output on pins 1-4
|
||||
set PWM_OUT 1234
|
||||
set PWM_DISARMED 1500
|
||||
|
||||
|
||||
#
|
||||
# This is the gimbal pass mixer.
|
||||
#
|
||||
set MIXER_AUX pass
|
||||
set PWM_AUX_OUT 1234
|
||||
set PWM_AUX_RATE 50
|
||||
@@ -147,6 +147,26 @@ then
|
||||
sh /etc/init.d/rc.vtol_apps
|
||||
fi
|
||||
|
||||
#
|
||||
# UUV setup
|
||||
#
|
||||
if [ $VEHICLE_TYPE = uuv ]
|
||||
then
|
||||
if [ $MIXER = none ]
|
||||
then
|
||||
echo "UUV mixer undefined"
|
||||
fi
|
||||
|
||||
# Load mixer and configure outputs.
|
||||
sh /etc/init.d/rc.interface
|
||||
|
||||
# Start standard vtol apps.
|
||||
sh /etc/init.d/rc.uuv_apps
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
#
|
||||
# Generic setup (autostart ID not found).
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user