Commit Graph

735 Commits

Author SHA1 Message Date
Peter Barker 615bf8e5ee AC_AttitudeControl: allow AP_SCRIPTING_ENABLED to come from hwdef files 2023-06-09 16:10:52 +10:00
Peter Barker f1eec8482b AC_AttitudeControl: use quat.to_euler(Vector3f&) 2023-04-19 14:24:45 +10:00
Mirko Denecke d958ce384f AC_AttitudeControl: fix get_vel_target_z_cms description 2023-04-10 09:15:57 +10:00
Henry Wurzburg 762e709f73 AC_Attitude:add TKOFF/LAND only weathervane option 2023-03-01 09:51:36 +11:00
Andy Piper 8ecd1d9a37 AC_AttitudeControl: move THR_G_BOOST to Multicopter only
refactor PD and Angle P boosting into update_throttle_gain_boost()
call update_throttle_gain_boost() from rate_controller_run()
2023-01-31 08:22:40 +09:00
Andrew Tridgell 64d03555af AC_AttitudeControl: use ticks32() for is_active tests
this avoids problems with very uneven timing
2023-01-29 15:28:43 +11:00
Iampete1 46e560f3f6 AC_AttitudeControl: CommandModel: use new defualt pattern 2023-01-24 10:16:56 +11:00
Andy Piper 53b7f96a5d AC_AttitudeControl: boost PD on roll and pitch when slew limit is hit
boost angle P when slew limit is hit
move to a single parameter for thrust-gain boosting
add PD scaling support
2023-01-11 18:59:52 +11:00
Randy Mackay 5981e8bbaa AC_AttitudeControl: add get_rate_ef_targets accessor 2023-01-09 10:34:34 +09:00
Andrew Tridgell 3d5ef88c43 AC_AttitudeControl: fixed time wrap bug in is_active_xy()
this failed at 70 minutes
2023-01-08 16:02:42 +11:00
Leonard Hall 140dc61f2a AC_AttitudeControl: AC_PosControl: Simplify and clarify use of vertical controllers 2022-12-30 20:25:58 +09:00
Leonard Hall 05aa879b61 AC_AttitudeControl: AC_PosControl: Comment fix and small efficiency gain 2022-12-30 20:25:58 +09:00
Leonard Hall 78942911b7 AC_AttitudeControl: AC_PosControl: Include FF in _pid_vel_xy integrator initialisation 2022-12-28 08:25:31 +09:00
Leonard Hall 3c69d28237 AC_AttitudeControl: Support changing update period 2022-12-13 17:10:06 +11:00
Henry Wurzburg b9452e58b7 AC_AttitudeControl: generalize pid descriptions 2022-11-22 10:55:45 +11:00
Peter Barker 48d25cfc9f AC_AttitudeControl: change namespace of MultiCopter and FixedWing params
this stops the libraries knowing anything about AP_Vehicle
2022-11-09 19:04:37 +11:00
Leonard Hall aed694316d AC_AttitudeControl: input_thrust_vector with general heading 2022-11-01 08:21:50 +09:00
Iampete1 14a786bdfa AC_AttitudeControl: remove duplicate `_attitude_target.normalize()` 2022-10-18 08:30:46 +11:00
Andrew Tridgell bd1be3b41c AC_AttitudeControl: added single loop override of angle P gains
this is used by quadplanes in back-transiton to prevent oscillation
caused by driving the fixed wing controller too fast
2022-10-18 07:38:39 +11:00
Willian Galvani e1ec24f25d Sub: remove angle_boost logic
Most subs are neutrally buoyant, which means this code makes more harm than it is actually useful
2022-09-15 11:07:59 -03:00
Leonard Hall f3cd5a9a38 AC_PosControl: Fix slow target decay decay problem 2022-09-02 09:02:46 +09:00
Leonard Hall 4a12faea92 AC_PosControl: Make get_z_accel_cmss public 2022-08-31 19:19:04 -04:00
Andrew Tridgell 56bb13420d AC_AttitudeControl: removed use of "blended" earth frame accel 2022-08-21 18:51:59 +10:00
Henry Wurzburg 33ececf782 AC_AttitudeControl: correct metadata in libraries failing checks on emitter 2022-08-16 11:50:11 +10:00
Iampete1 07d96361ed AC_AttitudeControl: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 c87d46e24d AC_AttitudeControl: CommandModel: use set_and_default method 2022-07-20 17:59:59 +10:00
Iampete1 56c6233be9 AC_AttitudeControl: remove PosControl_Sub 2022-07-05 16:00:03 -03:00
Bill Geyer 2377d7a2c3 AC_AttitudeControl: move input_shaping_rate into input_shaping_ang_vel 2022-06-28 07:56:12 +09:00
Bill Geyer be65358cc1 AC_AttitudeControl: incorporate suggested changes 2022-06-28 07:56:12 +09:00
Bill Geyer 355524206b AC_AttitudeControl: modify constructor to allow defaults 2022-06-28 07:56:12 +09:00
Bill Geyer fd24b3912f AC_AttitudeControl: add comments 2022-06-28 07:56:12 +09:00
Bill Geyer 1cd537895e AC_AttitudeControl: add command model class for parameters 2022-06-28 07:56:12 +09:00
Bill Geyer a547916ebf AC_AttitudeControl: only use rate shaping tc if tc is nonzero 2022-06-28 07:56:12 +09:00
bnsgeyer 7594f7a558 AC_AttitudeControl: incorporate sqrt controller in rate shaping 2022-06-28 07:56:12 +09:00
Andy Piper 1287fc4fff AC_AttitudeControl: reset throttle mix to used mix when scaling mix down 2022-06-22 16:17:26 +09:00
Andrew Tridgell 7e4fb803a2 AC_AttitudeControl: reduced default quadplane VTOL pos XY gains 2022-06-16 21:26:49 +10:00
Iampete1 ecc86b6a4b AC_AttitudeControl: reduce alt hold min lean angle to 5deg on plane 2022-05-27 08:17:14 +10:00
Ruffalo-sunghwan 7fb9d21cbf AC_AttitudeControl : correct comment spelling 2022-05-24 20:27:45 +09:00
murata 59dcf18558 AC_AttitudeControl: Shorten survival time of automatic variables 2022-05-16 09:08:02 +09:00
Leonard Hall 0d863aa736 AC_AttitudeControl: Allow diabling of slew limit 2022-05-14 22:31:43 +09:00
Andrew Tridgell 99a6cb69f8 AC_AttitudeControl: added get_rpy_srate()
and remove dmod binding, as slew rate turned out to be more useful
2022-05-03 10:01:19 +10:00
Peter Barker 0fb5be7f2b AC_AttitudeControl: tidy includes 2022-05-03 09:14:58 +10:00
Andrew Tridgell f8fe74f5fe AC_AttitudeControl: added get_rpy_PDmod method
used for lua scripts to do VTOL tuning
2022-04-29 11:54:12 +10:00
Willian Galvani 6e326ee912 AC_PosControl_Sub.h: do not use our own input_vel_accel_z 2022-04-13 16:23:55 -03:00
Andrew Tridgell cdfa682be0 AC_AttitudeControl: use deadzone for pitch
when pitch for nose-in and tail-in is enabled we should use the
deadzone
2022-04-13 18:19:02 +10:00
Andrew Tridgell f4548daa5a AC_AttitudeControl: added an option for pitch weathervaning
when nose-in or tail-in, if the aircraft has significant pitch
asymmetry in hover then we would spin around in no wind if we use
pitch as an input

this makes pitch input for nose-in and tail-in optional and off by
default to preserve existing behaviour
2022-04-13 18:19:02 +10:00
Peter Barker c1e776fc46 AC_AttitudeControl: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Andrew Tridgell 7bb129aa3e AC_AttitudeControl: added set_lean_angle_max_cd() 2022-03-18 13:36:16 +11:00
Iampete1 4386d748de AC_AttitudeControl: WeatherVane: defualt to 0 gain on plane and early return 2022-03-09 18:02:41 +11:00
Leonard Hall 56e47cb8cc AC_PosControl: Decay posiiton error during relax 2022-03-07 16:14:23 +09:00