forked from Archive/PX4-Autopilot
control allocation: introduce parameter SYS_CTRL_ALLOC & unify build targets
This commit is contained in:
parent
0c5a79d84d
commit
a51c465b54
|
@ -8,7 +8,8 @@
|
|||
#
|
||||
|
||||
. ${R}etc/init.d/rc.mc_defaults
|
||||
. ${R}etc/init.d/rc.ctrlalloc
|
||||
|
||||
param set-default SYS_CTRL_ALLOC 1
|
||||
|
||||
param set-default MPC_USE_HTE 0
|
||||
|
||||
|
|
|
@ -6,7 +6,8 @@
|
|||
#
|
||||
|
||||
. ${R}etc/init.d/rc.mc_defaults
|
||||
. ${R}etc/init.d/rc.ctrlalloc
|
||||
|
||||
param set-default SYS_CTRL_ALLOC 1
|
||||
|
||||
param set-default MC_PITCHRATE_P 0.0800
|
||||
param set-default MC_PITCHRATE_I 0.0400
|
||||
|
|
|
@ -55,5 +55,4 @@ px4_add_romfs_files(
|
|||
rc.vehicle_setup
|
||||
rc.vtol_apps
|
||||
rc.vtol_defaults
|
||||
rc.ctrlalloc
|
||||
)
|
||||
|
|
|
@ -11,10 +11,11 @@
|
|||
#
|
||||
|
||||
. ${R}etc/init.d/rc.mc_defaults
|
||||
. ${R}etc/init.d/rc.ctrlalloc
|
||||
|
||||
set MIXER none
|
||||
|
||||
param set-default SYS_CTRL_ALLOC 1
|
||||
|
||||
param set-default MPC_USE_HTE 0
|
||||
|
||||
param set-default VM_MASS 1.5
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
#
|
||||
|
||||
. ${R}etc/init.d/rc.mc_defaults
|
||||
. ${R}etc/init.d/rc.ctrlalloc
|
||||
|
||||
param set-default SYS_CTRL_ALLOC 1
|
||||
param set-default MPC_USE_HTE 0
|
||||
|
||||
param set-default VM_MASS 1.5
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Standard apps for new control allocation and controllers
|
||||
#
|
||||
# NOTE: Script variables are declared/initialized/unset in the rcS script.
|
||||
#
|
||||
|
||||
#
|
||||
# Start angular velocity controller
|
||||
#
|
||||
# angular_velocity_controller start
|
||||
# mc_rate_control stop
|
||||
|
||||
#
|
||||
# Start Control Allocator
|
||||
#
|
||||
control_allocator start
|
||||
|
||||
#
|
||||
# Disable hover thrust estimator and prearming
|
||||
# These features are currently incompatible with control allocation
|
||||
#
|
||||
# TODO: fix
|
||||
#
|
||||
param set MPC_USE_HTE 0
|
||||
param set COM_PREARM_MODE 0
|
|
@ -48,6 +48,23 @@ fi
|
|||
# End Estimator Group Selection #
|
||||
###############################################################################
|
||||
|
||||
if param compare SYS_CTRL_ALLOC 1
|
||||
then
|
||||
#
|
||||
# Start Control Allocator
|
||||
#
|
||||
control_allocator start
|
||||
|
||||
#
|
||||
# Disable hover thrust estimator and prearming
|
||||
# These features are currently incompatible with control allocation
|
||||
#
|
||||
# TODO: fix
|
||||
#
|
||||
param set MPC_USE_HTE 0
|
||||
param set COM_PREARM_MODE 0
|
||||
fi
|
||||
|
||||
#
|
||||
# Start Multicopter Rate Controller.
|
||||
#
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
CONFIG_MODULES_CONTROL_ALLOCATOR=y
|
|
@ -48,6 +48,7 @@ CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q=y
|
|||
CONFIG_MODULES_BATTERY_STATUS=y
|
||||
CONFIG_MODULES_CAMERA_FEEDBACK=y
|
||||
CONFIG_MODULES_COMMANDER=y
|
||||
CONFIG_MODULES_CONTROL_ALLOCATOR=y
|
||||
CONFIG_MODULES_DATAMAN=y
|
||||
CONFIG_MODULES_EKF2=y
|
||||
CONFIG_MODULES_ESC_BATTERY=y
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
CONFIG_MODULES_CONTROL_ALLOCATOR=y
|
|
@ -11,6 +11,7 @@ CONFIG_MODULES_AIRSPEED_SELECTOR=y
|
|||
CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q=y
|
||||
CONFIG_MODULES_CAMERA_FEEDBACK=y
|
||||
CONFIG_MODULES_COMMANDER=y
|
||||
CONFIG_MODULES_CONTROL_ALLOCATOR=y
|
||||
CONFIG_MODULES_DATAMAN=y
|
||||
CONFIG_MODULES_EKF2=y
|
||||
CONFIG_MODULES_EVENTS=y
|
||||
|
|
|
@ -265,3 +265,20 @@ PARAM_DEFINE_INT32(SYS_BL_UPDATE, 0);
|
|||
* @group System
|
||||
*/
|
||||
PARAM_DEFINE_INT32(SYS_FAILURE_EN, 0);
|
||||
|
||||
|
||||
/**
|
||||
* Enable Dynamic Control Allocation
|
||||
*
|
||||
* If disabled, the existing mixing implementation is used.
|
||||
* If enabled, dynamic control allocation with runtime configuration of the
|
||||
* mixing and output functions is used.
|
||||
*
|
||||
* Note: this is work-in-progress and not all vehicle types are supported yet.
|
||||
*
|
||||
* @boolean
|
||||
* @reboot_required true
|
||||
* @group System
|
||||
*/
|
||||
PARAM_DEFINE_INT32(SYS_CTRL_ALLOC, 0);
|
||||
|
||||
|
|
|
@ -50,8 +50,6 @@ void LoggedTopics::add_default_topics()
|
|||
add_topic("actuator_controls_1", 100);
|
||||
add_topic("actuator_controls_2", 100);
|
||||
add_topic("actuator_controls_3", 100);
|
||||
add_topic("actuator_controls_4", 100);
|
||||
add_topic("actuator_controls_5", 100);
|
||||
add_topic("actuator_controls_status_0", 300);
|
||||
add_topic("airspeed", 1000);
|
||||
add_topic("airspeed_validated", 200);
|
||||
|
@ -115,13 +113,6 @@ void LoggedTopics::add_default_topics()
|
|||
add_topic("vtol_vehicle_status", 200);
|
||||
add_topic("wind", 1000);
|
||||
|
||||
// Control allocation topics
|
||||
add_topic("vehicle_actuator_setpoint", 20);
|
||||
add_topic("vehicle_angular_acceleration", 20);
|
||||
add_topic("vehicle_angular_acceleration_setpoint", 20);
|
||||
add_topic("vehicle_thrust_setpoint", 20);
|
||||
add_topic("vehicle_torque_setpoint", 20);
|
||||
|
||||
// multi topics
|
||||
add_topic_multi("actuator_outputs", 100, 3);
|
||||
add_topic_multi("airspeed_wind", 1000);
|
||||
|
@ -188,6 +179,19 @@ void LoggedTopics::add_default_topics()
|
|||
if (gps_dump_comm >= 1) {
|
||||
add_topic("gps_dump");
|
||||
}
|
||||
|
||||
int32_t sys_ctrl_alloc = 0;
|
||||
param_get(param_find("SYS_CTRL_ALLOC"), &sys_ctrl_alloc);
|
||||
|
||||
if (sys_ctrl_alloc >= 1) {
|
||||
add_topic("actuator_motors", 100);
|
||||
add_topic("actuator_servos", 100);
|
||||
add_topic("vehicle_actuator_setpoint", 20);
|
||||
add_topic("vehicle_angular_acceleration", 20);
|
||||
add_topic("vehicle_angular_acceleration_setpoint", 20);
|
||||
add_topic("vehicle_thrust_setpoint", 20);
|
||||
add_topic("vehicle_torque_setpoint", 20);
|
||||
}
|
||||
}
|
||||
|
||||
void LoggedTopics::add_high_rate_topics()
|
||||
|
|
Loading…
Reference in New Issue