Differential Rover: PR fixes

This commit is contained in:
Matthias Grob
2023-12-04 11:21:15 +01:00
committed by Per Frivik
parent 056e41af8c
commit 3de5c609a4
35 changed files with 381 additions and 478 deletions
@@ -3,7 +3,7 @@
# @name Rover
#
. ${R}etc/init.d/rc.rover_ackermann_defaults
. ${R}etc/init.d/rc.rover_defaults
param set-default GND_L1_DIST 5
param set-default GND_L1_PERIOD 10
@@ -6,29 +6,7 @@
. ${R}etc/init.d/rc.rover_differential_defaults
param set-default GND_L1_DIST 5
param set-default GND_SP_CTRL_MODE 1
param set-default GND_SPEED_D 3
param set-default GND_SPEED_I 0.001
param set-default GND_SPEED_IMAX 0.125
param set-default GND_SPEED_P 0.25
param set-default GND_SPEED_THR_SC 1
param set-default GND_SPEED_TRIM 4
param set-default GND_THR_CRUISE 0.3
param set-default GND_THR_MAX 0.5
param set-default GND_THR_MIN 0
param set-default NAV_ACC_RAD 0.5
param set-default NAV_LOITER_RAD 2
param set-default GND_MAX_ANG 0.6
param set-default GND_WHEEL_BASE 2.0
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 101
param set-default PWM_MAIN_FUNC6 102
param set-default PWM_MAIN_FUNC7 102
@@ -1,5 +1,4 @@
#!/bin/sh
#
# @name Aion Robotics R1 Rover
# @type Rover
# @class Rover
@@ -10,39 +9,23 @@ PX4_SIMULATOR=${PX4_SIMULATOR:=gz}
PX4_GZ_WORLD=${PX4_GZ_WORLD:=default}
PX4_SIM_MODEL=${PX4_SIM_MODEL:=r1_rover}
param set-default SIM_GZ_EN 1
param set-default SIM_GZ_EN 1 # Gazebo bridge
# Simulated sensors
param set-default SENS_EN_GPSSIM 1
param set-default SENS_EN_BAROSIM 0
param set-default SENS_EN_MAGSIM 1
param set-default SENS_EN_ARSPDSIM 1
param set-default COM_PREARM_MODE 2
# Actuator mapping
param set-default SIM_GZ_WH_FUNC1 101 # right wheel
param set-default SIM_GZ_WH_MIN1 0
param set-default SIM_GZ_WH_MAX1 200
param set-default SIM_GZ_WH_DIS1 100
param set-default NAV_ACC_RAD 0.5
param set-default NAV_LOITER_RAD 2
param set-default SIM_GZ_WH_FUNC2 102 # left wheel
param set-default SIM_GZ_WH_MIN2 0
param set-default SIM_GZ_WH_MAX2 200
param set-default SIM_GZ_WH_DIS2 100
param set-default GND_MAX_ANG 0.6
param set-default GND_WHEEL_BASE 2.0
param set-default CA_R_REV 3
param set-default SIM_GZ_EC_FUNC1 101
param set-default SIM_GZ_EC_MIN1 0
param set-default SIM_GZ_EC_MAX1 200
param set-default SIM_GZ_EC_DIS1 100
param set-default SIM_GZ_EC_FUNC2 102
param set-default SIM_GZ_EC_MIN2 0
param set-default SIM_GZ_EC_MAX2 200
param set-default SIM_GZ_EC_DIS2 100
param set-default SIM_GZ_MT_FUNC1 101
param set-default SIM_GZ_MT_MIN1 0
param set-default SIM_GZ_MT_MAX1 200
param set-default SIM_GZ_MT_DIS1 100
param set-default SIM_GZ_MT_FUNC2 102
param set-default SIM_GZ_MT_MIN2 0
param set-default SIM_GZ_MT_MAX2 200
param set-default SIM_GZ_MT_DIS2 100
param set-default SIM_GZ_WH_REV 1 # reverse right wheel
@@ -53,8 +53,6 @@ px4_add_romfs_files(
rc.rover_defaults
rc.rover_differential_apps
rc.rover_differential_defaults
rc.rover_ackermann_apps
rc.rover_ackermann_defaults
rc.uuv_apps
rc.uuv_defaults
rc.vehicle_setup
@@ -13,7 +13,7 @@
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.rover_ackermann_defaults
. ${R}etc/init.d/rc.rover_defaults
param set-default BAT1_N_CELLS 2
@@ -13,50 +13,13 @@
. ${R}etc/init.d/rc.rover_differential_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 NAV_ACC_RAD 0.5
# 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
# Set geometry & output configration
param set-default CA_AIRFRAME 6
param set-default CA_R_REV 3
param set-default RBCLW_ADDRESS 128
param set-default RBCLW_FUNC1 101
param set-default RBCLW_FUNC2 102
param set-default RBCLW_REV 1
param set-default RBCLW_REV 1 # reverse right wheels
@@ -1,28 +0,0 @@
#!/bin/sh
#
# Standard apps for unmanned ground vehicles (UGV).
#
# NOTE: Script variables are declared/initialized/unset in the rcS script.
#
#
# Start the attitude and position estimator.
#
ekf2 start &
#attitude_estimator_q start
#local_position_estimator start
#
# Start Control Allocator
#
control_allocator start
#
# Start attitude controllers.
#
rover_pos_control start
#
# Start Land Detector.
#
land_detector start rover
@@ -1,22 +0,0 @@
#!/bin/sh
#
# UGV default parameters.
#
# NOTE: Script variables are declared/initialized/unset in the rcS script.
#
set VEHICLE_TYPE rover_ackermann
# MAV_TYPE_GROUND_ROVER 10
param set-default MAV_TYPE 10
# Enable Airspeed check circuit breaker because Rovers will have no airspeed sensor
param set-default CBRK_AIRSPD_CHK 162128
param set-default MIS_TAKEOFF_ALT 0.01
param set-default NAV_ACC_RAD 2
param set-default NAV_LOITER_RAD 2
# Temporary.
param set-default NAV_FW_ALT_RAD 1000
-2
View File
@@ -9,8 +9,6 @@
# Start the attitude and position estimator.
#
ekf2 start &
#attitude_estimator_q start
#local_position_estimator start
#
# Start Control Allocator
@@ -1,24 +1,11 @@
#!/bin/sh
#
# Standard apps for unmanned ground vehicles (UGV).
#
# NOTE: Script variables are declared/initialized/unset in the rcS script.
#
# Standard apps for a differential drive rover.
#
# Start the attitude and position estimator.
#
ekf2 start &
#attitude_estimator_q start
#local_position_estimator start
#
# Start manual rover differential drive controller.
#
# Start rover differential drive controller.
differential_drive_control start
#
# Start Land Detector.
#
land_detector start rover
@@ -1,11 +1,11 @@
#!/bin/sh
#
# UGV default parameters.
#
# NOTE: Script variables are declared/initialized/unset in the rcS script.
#
# Differential rover parameters.
set VEHICLE_TYPE rover_differential
# MAV_TYPE_GROUND_ROVER 10
param set-default MAV_TYPE 10
param set-default MAV_TYPE 10 # MAV_TYPE_GROUND_ROVER
param set-default CA_AIRFRAME 6 # Rover (Differential)
param set-default CA_R_REV 3 # Right and left motors reversible
param set-default EKF2_MAG_TYPE 1 # make sure magnetometer is fused even when not flying
+9 -18
View File
@@ -23,24 +23,6 @@ then
. ${R}etc/init.d/rc.mc_apps
fi
#
# Differential Rover setup.
#
if [ $VEHICLE_TYPE = rover_differential ]
then
# Start standard UGV apps.
. ${R}etc/init.d/rc.rover_differential_apps
fi
#
# Ackermann Rover setup.
#
if [ $VEHICLE_TYPE = rover_ackermann ]
then
# Start standard UGV apps.
. ${R}etc/init.d/rc.rover_ackermann_apps
fi
#
# UGV setup.
#
@@ -50,6 +32,15 @@ then
. ${R}etc/init.d/rc.rover_apps
fi
#
# Differential Rover setup.
#
if [ $VEHICLE_TYPE = rover_differential ]
then
# Start differential drive rover apps.
. ${R}etc/init.d/rc.rover_differential_apps
fi
#
# VTOL setup.
#