Commit Graph

29 Commits

Author SHA1 Message Date
Andy Piper f84c855dd1 Copter: run copter attitude control with separate rate thread
run motors output at rate thread loop rate
allow rate thread to be enabled/disabled at runtime for in-flight impact testing
setup the right PID notch sample rate when using the rate thread the PID notches
 run at a very different sample rate
call update_dynamic_notch_at_specified_rate() in rate thread
log RTDT messages to track rate loop performance
set dt each cycle of the rate loop thread
run rate controller on samples as soon as they are ready
detect overload conditions in both the rate loop and main loop
decimate the rate thread if the CPU appears overloaded
decimate the gyro window inside the IMU
add in gyro drift to attitude rate thread
add fixed-rate thread option
configure rate loop based on AP_INERTIALSENSOR_FAST_SAMPLE_WINDOW_ENABLED
better rate loop thread decimation management
ensure fix rate attitude is enabled on arming
add rate loop timing debug
update backend filters rather than all the backends
provide more options around attitude rates
only log attitude and IMU from main loop
force trigger_groups() and reduce attitude thread priority
migrate fast rate enablement to FSTRATE_ENABLE
remove rate thread logging configuration and choose sensible logging rates
conditionally compile rate thread pieces
allow fast rate decimation to be user throttled
if target rate changes immediately jump to target rate
recover quickly from rate changes
ensure fixed rate always prints the rate on arming and is always up to date
add support for fixed rate attitude that does not change when disarmed
only push to subsystems at main loop rate
add logging and motor timing debug
correctly round gyro decimation rates
set dshot rate when changing attitude rate
fallback to higher dshot rates at lower loop rates
re-factor rate loop rate updates
log rates in systemid mode
reset target modifiers at loop rate
don't compile in support on tradheli
move rate thread into its own compilation unit
add rate loop config abstraction that allows code to be elided on non-copter builds
dynamically enable/disable rate thread correctly
add design comment for the rate thread

Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
2024-12-04 07:45:05 +11:00
Iampete1 a72182ae97 Copter: don't pass `channel_yaw->norm_input_dz()` into `get_pilot_desired_yaw_rate` 2024-09-22 08:40:12 +09:00
Peter Barker 784760342d Copter: remove ENABLE/ENABLED/DISABLE/DISABLED defines 2024-09-06 11:53:09 +10:00
bnsgeyer a1a5647b7f Copter: change input_loiter_xxx to input_vel_xxx in sysid mode 2024-05-14 23:16:52 -04:00
bnsgeyer bbaf557457 Copter: implement suggested changes 2024-05-14 23:16:52 -04:00
bnsgeyer 9e4340ba33 Copter: change position controller method for making inputs 2024-05-14 23:16:52 -04:00
bnsgeyer 75d9163571 Copter: fixes for suggested changes 2024-05-14 23:16:52 -04:00
bnsgeyer d0dfe86a4b Copter: incorporate comment to remove unnecessary function 2024-05-14 23:16:52 -04:00
bnsgeyer f74ccd569a Copter: Added new input types for SID_AXIS parameter 2024-05-14 23:16:52 -04:00
bnsgeyer d0cf2240dc Copter: clean up 2024-05-14 23:16:52 -04:00
bnsgeyer ad75c0c1d8 Copter: simplification of system ID 2024-05-14 23:16:52 -04:00
bnsgeyer 1bf865e4eb Copter: add support for sysid of vel and pos loops 2024-05-14 23:16:52 -04:00
Peter Barker 7377b3f8f2 ArduCopter: allow compilation with HAL_LOGGING_ENABLED false 2024-01-17 18:25:55 +11:00
Mykhailo Kuznietsov 3a231f8b32 ArduCopter: Fix some typos
Fixed some typos found in the code.
2023-10-12 18:30:42 +11:00
muramura 5ce731fa00 Copter: Two processes in one 2023-10-04 19:23:29 +11:00
Pierre-Yves BRULIN d67e67965f Copter: Reenable PID logging in SystemID mode 2023-03-08 19:28:05 +11:00
Bill Geyer 836ae87955 Copter: properly set feedforward enabled before exit 2022-04-14 07:49:38 +09:00
Bill Geyer 26297069d3 Copter: make systemid use new chirp math function 2022-03-29 08:05:41 +09:00
Leonard Hall 5d5ccc8c78 Copter: Update ACRO to use rate parameters and update expo function 2021-09-23 20:03:53 +09:00
Leonard Hall f3dc47ce3d Copter: Add units to the AC_AttitudeControl Library 2021-09-09 08:01:14 +09:00
Leonard Hall 3b0a870504 Copter: Rename set_yaw_target_to_current_heading 2021-05-26 16:03:05 +09:00
Emre Saldiran 543c2bf55b Copter: change description of system id delay variable (NFC) 2021-03-23 20:09:38 +09:00
Peter Barker 211a7f85b5 ArduCopter: remove separate calls to get delta-times for vel and ang 2021-03-13 11:29:29 +11:00
Patrick José Pereira ad82e01270 ArduCopter: Add missing const in member functions
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
bnsgeyer c75848435e Copter: fix heli land detector and incoporate reset_I_smoothly 2020-12-21 23:33:48 -05:00
Randy Mackay 54582814aa Copter: use SID_AXIS to hide other SystemID mode params 2019-12-03 14:53:55 +08:00
Leonard Hall ffd838d908 Copter: Delay release of I term until take off 2019-11-09 09:40:10 +08:00
Randy Mackay 2cb3e446ab Copter: systemid mode formatting and name changes 2019-10-16 08:17:09 +09:00
Leonard Hall c11f2247eb Copter: System ID mode 2019-10-16 08:17:09 +09:00