Silvan Fuhrer
22067a1128
FW attitude control: set FF gains for rate controller to 0 as FF controls is handles outside
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-19 09:40:48 +02:00
Silvan Fuhrer
57e052d02d
FW attitdue controller: use allocator status for anti-windup
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-19 09:40:48 +02:00
Silvan Fuhrer
a9b848cae3
FW attitue controller: fix publishing of rate controller status
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-19 09:40:48 +02:00
Silvan Fuhrer
5a2127d026
fixed-wing: update rate controller integrator handling
...
-always reset roll/pitch/yaw integrators at the same time
-reset them while waiting for launch or during FW Takeoff before Climbout
-reset wheel rate integrator only when disarmed
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-19 09:40:48 +02:00
Silvan Fuhrer
15c95a7b6a
FW attitude controller: improve readability and fix euler rate sp vs. body rate sp
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-19 09:40:48 +02:00
Silvan Fuhrer
e0a998e6ad
FW attitude controller: remove unused control_input.scaler
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-19 09:40:48 +02:00
Jaeyoung Lim
33d068cfb2
Added feedforward terms in fw att control
2022-08-19 09:40:48 +02:00
Jaeyoung Lim
958c61dbba
Populate rate control setpoints properly
2022-08-19 09:40:48 +02:00
Jaeyoung Lim
dcff481219
Map derivative gains for rate controls
2022-08-19 09:40:48 +02:00
Jaeyoung-Lim
f2877ce585
Replace rate controller with RateControlLibrary
...
This commit makes the fw attitude controller take share the rate controller as a library with the mc_rate_control module
2022-08-19 09:40:48 +02:00
mcsauder
87a5705960
Rename math::gradual() to math::interpolate() and add unit tests to cover additional corner cases.
2022-08-18 14:18:02 +02:00
Daniel Agar
ace80e2b9d
fw_att_control: add simple backup scheduling if vehicle_attitude unavailable (or stops)
2022-07-20 00:53:37 -04:00
Thomas Stastny
63e4ea23b7
vehicle_rates_setpoint: log wheel controller yaw rate on common yaw rate channel
2022-07-18 10:49:27 -04:00
Thomas Stastny
721131a135
fw pos/att ctrl: pass manual nose wheel increments during takeoff ground roll
2022-07-18 10:49:27 -04:00
Thomas Stastny
fcee314646
fw att ctrl: log the yaw rate command controlled by the wheel
2022-07-18 10:49:27 -04:00
mcsauder
6b0788ff46
Standardize variable naming and formatting across vehicle attitude controller files.
2022-05-21 12:22:18 -04:00
Silvan Fuhrer
d8444df11c
Set tailsitter flag via vehicle status
...
Removes the necessity of including vtol_type.h in other modules.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-05-18 10:01:04 +02:00
Alessandro Simovic
fb71e7587c
failure_detector: add motor/ESC failure detection
2022-05-12 07:58:56 +02:00
Silvan Fuhrer
089673ff35
only allow positive spoiler and flap controls
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-05-03 15:11:21 +02:00
Silvan Fuhrer
4b8f93de5c
FW: rework spoiler/flap control logic
...
- remove separate flaperon controls input to mixer instead enable spoiler support
- add slew rate limiting on both flap and spoiler controls
- add spoiler configuration for Landing and Descend
- add trimming from spoiler deflection
- FW Attitude control: remove FW_FLAPS_SCL param -->
The flap settings for takeoff and landing are now specified relative to full range.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-05-03 15:11:21 +02:00
Daniel Agar
6135bb384b
cleanup module callback registration failed errors
2022-03-23 20:44:50 -04:00
Beat Küng
28e995ede2
fw_att_control: publish vehicle_thrust_setpoint & vehicle_torque_setpoint
2021-12-24 20:06:13 -05:00
Beat Küng
4ba84d56c9
logger: introduce optional topics
...
The current practice of adding topics to the default set isn't scalable,
as it affects all setups.
By making sure topics are advertised on init, logger can just discard
topics that don't exist. This does not work for all topics, so topics are
specifically marked as optional. It can be extended to more topics later
on though.
This reduces the list of topics by ~35 on a pixracer configured as quad,
and reduces RAM usage by ~1KB.
2021-11-15 09:02:03 -05:00
Matthias Grob
fabf865411
Use backwards compatible manual_control_setpoint instead of manual_control_input
2021-11-09 16:05:25 +01:00
Julian Oes
6a6b8d49fc
msg: re-use manual_control_input in setpoint
...
This way we avoid duplication between manual_control_input and
manual_control_setpoint.
2021-11-09 16:05:25 +01:00
Silvan Fuhrer
b53808d11b
fixed-wing: set yaw_sp to yaw_current instead of 0 when not controlled
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-27 14:35:00 +03:00
bresch
95e2941b17
fw att: inject system identification signal to controller
2021-10-25 13:41:31 +02:00
bresch
8dfdb1e3db
compute and publish fixed-wing control power
2021-10-25 13:41:31 +02:00
Shubham Shah
99b098f608
Update FixedwingAttitudeControl.cpp
2021-10-09 19:39:43 -04:00
Jaeyoung-Lim
d30760a2ea
Remove flap scaling to prevent flaps being deployed in manual mode
...
This commit restores the flap scaling since it was always getting deployed in manual flight modes
2021-08-13 15:46:23 +02:00
Matthias Grob
b824f33ae9
battery: publish measured values also when battery not connected
2021-07-01 14:24:38 +02:00
Silvan Fuhrer
bf311ed77d
addressed review comments (fixes in error message and comments)
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-05-10 13:43:05 +02:00
Silvan Fuhrer
c8ec6b3d08
Airspeed selector: remove ASPD_STALL and replace by FW_AIRSPD_STALL
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-05-10 13:43:05 +02:00
Silvan Fuhrer
8400f2c9bc
FW attitude controller: add protection against division by zero in airspeed scaling
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-04-04 21:22:28 -04:00
Daniel Agar
bb12fce66c
delete RATTITUDE flight mode
2021-03-09 10:47:00 -05:00
Daniel Agar
d0c9a5fc93
OFFBOARD mode architecture overhaul ( #16739 )
...
- handle SET_POSITION_TARGET_LOCAL_NED and SET_POSITION_TARGET_GLOBAL_INT with ORB_ID(trajectory_setpoint)
- FlightTaskOffboard not needed at all
- bypass position_setpoint_triplet entirely (start removing extraneous fields)
- simplify offboard_control_mode to map to supported control modes
2021-03-05 09:39:46 -05:00
David Jablonski
5233737a86
adjust some limits to prevent divide-by-zero
2021-03-05 10:42:19 +01:00
Lorenz Meier
6d489a4b4d
FW att control: Robustify for throttle scaling
...
PX4 can support negative (reverse) throttle and the fixed wing controller is not expecting this input range. This hardens it against it.
2021-02-14 11:17:28 +01:00
Silvan Fuhrer
31a6edff07
Fixed-wing: remove roll offset param (FW_RSP_OFF)
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-02-12 13:57:15 -05:00
Silvan Fuhrer
3309bf21dd
FW att C: do not lock or reset integrator if tailsitter and in hover
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2020-11-27 17:28:52 +03:00
Daniel Agar
0f411d6820
Multi-EKF support (ekf2)
...
- ekf2 can now run in multi-instance mode (currently up to 9 instances)
- in multi mode all estimates are published to alternate topics (eg estimator_attitude instead of vehicle_attitude)
- new ekf2 selector runs in multi-instance mode to monitor and compare all instances, selecting a primary (eg N x estimator_attitude => vehicle_attitude)
- sensors module accel & gyro inconsistency checks are now relative to the mean of all instances, rather than the current primary (when active ekf2 selector is responsible for choosing primary accel & gyro)
- existing consumers of estimator_status must check estimator_selector_status to select current primary instance status
- ekf2 single instance mode is still fully supported and the default
Co-authored-by: Paul Riseborough <gncsolns@gmail.com >
2020-10-27 10:56:11 -04:00
Silvan Fuhrer
8f858d95e6
Rename equivalent airspeed (EAS) to calibrated airspeed (CAS)
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2020-10-06 09:31:58 +02:00
Daniel Agar
9992bd05db
fw_att_control: pass time through from run
2020-08-10 10:51:52 -04:00
Matthias Grob
e9eae1bd76
Refactor: Name manual_control_setpoint the same way everywhere
2020-06-22 12:06:27 -04:00
RomanBapst
bd154bf33c
FixedWingAttitudeControl: removed parachute from gimbal control group
...
- parachute is handled separately based on flight termination in px4io
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-05-25 11:44:35 -04:00
Silvan Fuhrer
0c75385395
replace IAS with EAS in FW attitude controller ( #14868 )
...
The EAS is the calibrated airspeed corrected with a scaling factor to account for sensor error/placement of pitot.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2020-05-08 10:46:24 +02:00
Daniel Agar
326d8efc16
move attitude controllers to new wq:attitude_ctrl
2020-04-27 21:34:35 -04:00
Daniel Agar
a89b69b0ea
vehicle_global_position: remove velocity fields (duplicates of local vx, vy, vz)
...
* attitude_estimator_q: get velocity from local position (if available)
2020-03-11 23:57:43 -04:00
Roman Dvořák
152427ecdc
Ability to disable airspeed scaling ( #14334 )
2020-03-10 12:57:36 +01:00
Matthias Grob
f90d3671c0
vehicle_attitude_setpoint: get rid of unused q_d_valid flag
2020-02-27 09:17:52 +01:00