Commit Graph

55 Commits

Author SHA1 Message Date
Thomas Watson d7b26a2205 AC_AutoTune: fix tracking of maximum angular acceleration
Issue introduced in https://github.com/ArduPilot/ardupilot/pull/27370
and partially fixed in https://github.com/ArduPilot/ardupilot/pull/27762,
though evidently not properly tested.

Failing to track the maximum can result in dangerously low values being
calculated for `ATC_ACCEL_[RPY]_MAX` and the vehicle becoming unflyable.

Make the variable a reference so that the maximum value is preserved
between function calls.
2024-12-05 09:18:56 +09:00
Leonard Hall 2cddea8d9f AC_Autotune_Multi: Use rate step command 2024-09-26 19:25:33 +10:00
Iampete1 94d3e2673a AC_AutoTune: Multi and Heli: only load tuned gains if a axis has completed successfully 2024-08-13 08:57:44 +09:00
Peter Barker bf09835509 AC_AutoTune: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Leonard Hall a4a9113cde AC_Autotune: Fix bug introduced in #27370 2024-08-06 17:45:04 +10:00
Peter Barker 7f4074a22c AC_AutoTune: rename pid setters to include set_ in the names 2024-07-31 18:43:42 +10:00
Peter Barker 9397ece55a AC_AutoTune: make axis-type enum-class
Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
2024-07-30 10:20:26 +10:00
Leonard Hall bb1758ecb1 AC_Autotune: Add ABORT state for consistency between tests 2024-07-26 20:11:42 +10:00
Leonard Hall bea2c5b59b AC_Autotune: Clean up Multi Variables and non functional changes 2024-07-26 20:11:42 +10:00
Peter Barker 0ee787325a AC_AutoTune: NFC whitespace, ordering and add trailing comma to enumeration 2024-06-27 10:12:30 +10:00
Leonard Hall 5ab2aaffff AC_Autotune: Clean up Multi Variables and non functional changes 2024-06-24 19:11:41 +10:00
Leonard Hall 0accc61107 AC_AutoTune: Move functions out of HAL_LOGGING_ENABLED 2024-05-29 18:29:23 +10:00
Leonard Hall 20edb9185d Copter: Autotune: Remove double call to AC_Attitude_Control 2024-05-29 18:29:23 +10:00
Leonard Hall cebcbf0044 Copter: Autotune: Virtual methods to separate Heli and Multi 2024-05-29 18:29:23 +10:00
Leonard Hall 45525a40b8 Copter: Autotune: Don't Fail min D for Yaw Filter 2024-05-29 18:29:23 +10:00
Leonard Hall a7962c35b6 Copter: Autotune: Reduce MIN_D 2024-05-29 18:29:23 +10:00
Leonard Hall 858d90cb95 Copter: Autotune: Improve angle limit test 2024-05-29 18:29:23 +10:00
Leonard Hall 712cf3696b Copter: Autotune: Small changes for clarity 2024-05-29 18:29:23 +10:00
Leonard Hall 79f4e0a2d8 Copter: Autotune: Level requirement improvements 2024-05-29 18:29:23 +10:00
Leonard Hall 41a5a1b8fe Copter: Autotune: Notify user of min Rate D for action 2024-05-29 18:29:23 +10:00
Leonard Hall fcd3c8502f Copter: Autotune: Twitch direction enhancements 2024-05-29 18:29:23 +10:00
Leonard Hall e2560371cf Copter: Autotune: Base angles limits on lean_angle_max 2024-05-29 18:29:23 +10:00
Leonard Hall 54618dd903 Copter: Autotune: Fail when bad tune is expected 2024-05-29 18:29:23 +10:00
Leonard Hall 13fb69be7c Copter: Autotune: Look for bounce earlier in test 2024-05-29 18:29:23 +10:00
Leonard Hall 18d18d14fc Copter: Autotune: Set D = 0 for Yaw test 2024-05-29 18:29:23 +10:00
Leonard Hall c000efdabe Copter: Autotune: Increase test timeout 2024-05-29 18:29:23 +10:00
Leonard Hall 327fd034da Copter: Autotune: Reduce default AGGR 2024-05-29 18:29:23 +10:00
Leonard Hall c47b3b8f03 Copter: Autotune: Reduce chance of desync 2024-05-29 18:29:23 +10:00
Andy Piper 2352990d90 AC_AutoTune: zero out D_FF during twitching 2024-05-14 16:33:38 +09:00
Peter Barker 2eede45f3a AC_AutoTune: allow compilation with HAL_LOGGING_ENABLED false 2024-01-17 18:25:55 +11:00
Peter Barker e95b1e5dd3 AC_AutoTune: add and use header guards 2023-12-12 11:36:15 +11:00
Mykhailo Kuznietsov ad0b0a1c05 AC_AutoTune: Fix some typos
Fixed some typos found in the code.
2023-10-12 18:30:42 +11:00
Andy Piper 0bad9451d5 AC_AutoTune: correct incorrect min raw rate valuee 2023-06-26 09:56:30 +10:00
Andy Piper 38adb308a9 AC_AutoTune: load test gains for correct axis when testing yaw D 2023-05-17 07:21:53 +10:00
Andy Piper 0f6d62c196 AC_AutoTune: add option for tuning yaw D-term
don't touch yaw D or FLTE when tuning the other
make yaw D tune an "axis"
2023-03-14 11:01:31 +11:00
Bill Geyer c8a7c128ad AC_AutoTune: Add Check Tune Sequence 2023-01-31 10:10:59 -05:00
Peter Barker e340c4655b AC_AutoTune: change namespace of MultiCopter and FixedWing params
this stops the libraries knowing anything about AP_Vehicle
2022-11-09 19:04:37 +11:00
Iampete1 7c4f48887a AC_AutoTune: params always use set method 2022-08-03 13:43:48 +01:00
Andy Piper 742c2b034f AC_AutoTune: allow high ANGLE_P gains 2022-04-28 08:51:54 +09:00
Peter Barker 66f0a0f42b AC_AutoTune: 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
Iampete1 2ccf8af2bd AC_Autotune_Multi: print gains on axis completion 2022-02-23 07:44:24 +09:00
Iampete1 8376779038 AC_AutoTune: Multi: consolidate messages 2022-02-04 08:44:00 +09:00
Bill Geyer bc2455e285 AC_AutoTune: rename parameter for convention and put testing timeout in subclasses 2022-02-01 23:06:51 -05:00
Bill Geyer 66c6a5f877 AC_AutoTune: reorder defines and remove unused in heli 2022-02-01 23:06:51 -05:00
Bill Geyer 5cfd0502f7 AC_AutoTune: add internal error check for cases and methods multi should never use 2022-02-01 23:06:51 -05:00
Bill Geyer 36d627c1b0 AC_AutoTune: adjust code to move parameter variables into subclasses 2022-02-01 23:06:51 -05:00
Bill Geyer a9d47532d0 AC_AutoTune: make initialize methods to restart testing 2022-02-01 23:06:51 -05:00
Bill Geyer 40321754fa AC_AutoTune: move load and backup gain methods to subclasses 2022-02-01 23:06:51 -05:00
Bill Geyer da947d4498 AC_AutoTune: move multi specific methods into sub class 2022-02-01 23:06:51 -05:00
Bill Geyer e11c7185d0 AC_AutoTune: moved load_test_gains and Save_tuning_gains completely into sub classes 2022-02-01 23:06:51 -05:00