Rover: add airframe configuration for Aion R1 Rover (#12026)

* Added Aion R1 airframe
* Tuned PID values for Aion R1
* Changed to generic mixer and cleaned up configuration
This commit is contained in:
Timothy Scott 2019-05-17 14:51:16 +02:00 committed by Daniel Agar
parent feefbb444b
commit d78a842ca8
4 changed files with 100 additions and 0 deletions

View File

@ -0,0 +1,73 @@
#!/bin/sh
#
# @name Aion Robotics R1 UGV
#
# @url http://docs.aionrobotics.com/en/latest/r1-ugv.html
#
# @type Rover
# @class Rover
#
# @output MAIN0 Speed of left wheels
# @output MAIN1 Speed of right wheels
#
# @maintainer Timothy Scott
#
# @board px4_fmu-v2 exclude
#
sh /etc/init.d/rc.ugv_defaults
if [ $AUTOCNF = yes ]
then
param set BAT_N_CELLS 4
param set EKF2_GBIAS_INIT 0.01
param set EKF2_ANGERR_INIT 0.01
param set EKF2_MAG_TYPE 1
param set FW_AIRSPD_MIN 0
param set FW_AIRSPD_TRIM 1
param set FW_AIRSPD_MAX 3
param set GND_WR_P 1
param set GND_WR_I 0.9674
param set GND_WR_IMAX 0.1
param set GND_WR_D 0.1
param set GND_SP_CTRL_MODE 1
param set GND_L1_DIST 10
param set GND_THR_IDLE 0
param set GND_THR_CRUISE 0
param set GND_THR_MAX 0.5
# TODO: Set to -1.0, to allow reversing. This will require many changes in the codebase
# to support negative throttle.
param set GND_THR_MIN 0.0
param set GND_SPEED_P 0.25
param set GND_SPEED_I 0.001
param set GND_SPEED_D 3
param set GND_SPEED_IMAX 0.125
param set GND_SPEED_THR_SC 1
param set MIS_LTRMIN_ALT 0.01
param set MIS_TAKEOFF_ALT 0.01
param set NAV_ACC_RAD 0.5
# Provide ESC a constant 1500 us pulse, which corresponds to
# idle on the Roboclaw motor controller on the Aion R1
param set PWM_DISARMED 1500
param set PWM_MAIN_DIS0 1500
param set PWM_MAIN_DIS1 1500
param set PWM_MAX 2000
param set PWM_MIN 1000
# Enable Airspeed check circuit breaker because Rovers will have no airspeed sensor
param set CBRK_AIRSPD_CHK 162128
fi
# Configure this as ugv
set MAV_TYPE 10
# Set mixer
set MIXER generic_differential_rover
set PWM_MAIN_REV2 1

View File

@ -141,4 +141,5 @@ px4_add_romfs_files(
50000_generic_ground_vehicle
50001_axialracing_ax10
50002_traxxas_stampede_2wd
50003_aion_robotics_r1_rover
)

View File

@ -52,6 +52,7 @@ px4_add_romfs_files(
firefly6.main.mix
fw_generic_wing.main.mix
FX79.main.mix
generic_differential_rover.main.mix
hexa_cox.main.mix
hexa_+.main.mix
hexa_x.main.mix

View File

@ -0,0 +1,25 @@
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