Andy Piper
9211dba484
APM_Control: update docs for new AC_PID parameters
...
add advanced flag to PIDs and selectively compile advanced PID options
2023-11-21 13:26:23 +11:00
Randy Mackay
68e1769cc1
AR_AttitudeControl: add singleton and get_srate
2023-08-01 09:16:17 +10:00
Randy Mackay
6f52eaf9a7
AR_AttitudeContol: add steering_limited checks
2023-07-05 20:27:54 +09:00
Randy Mackay
71ae3f0a13
AR_AttitudeControl: balancebot gets pitch limit protection
2022-11-15 09:00:57 +09:00
Randy Mackay
3d89bd9f14
AR_AttitudeControl: balancebot pitch feedforward uses current pitch angle
2022-11-15 09:00:57 +09:00
Peter Barker
dd589934cc
APM_Control: 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
Randy Mackay
91d40b768c
AR_AttitudeControl: get_throttle_speed_pid_info.FF includes base throttle
2022-01-07 09:36:44 +09:00
Randy Mackay
53135b2df0
AR_AttitudeControl: improve get_turn_lat_accel accessor comments
2022-01-03 09:07:21 +09:00
Randy Mackay
9c54b3d252
AR_AttitudeControl: move param defines from .h to .cpp
2021-11-17 19:18:23 +11:00
Peter Barker
d2102ce9b7
APM_Control: stop taking references to ahrs in APM_Control
2021-07-21 18:27:23 +10:00
Randy Mackay
b4fd9848df
AR_AttitudeControl: add get_stop_speed accessor
2021-05-11 15:31:17 +09:00
Iampete1
980c41e273
APM_Control: G limit all turn rates
2021-05-03 19:22:16 -04:00
Randy Mackay
6d4d1bc20a
AR_AttitudeControl: add get_turn_rate_from_heading
2019-05-10 06:55:35 +09:00
Randy Mackay
8907b727f6
AR_AttitudeControl: add get_turn_rate_from_lat_accel
2019-05-10 06:55:35 +09:00
Randy Mackay
415042e557
AR_AttitudeControl: minor declaration ordering change
2019-05-04 14:49:32 +09:00
IamPete1
49ec059420
APM_Control: add function to relax rover i terms
2019-02-27 08:51:24 +09:00
IamPete1
e443b864c6
AR_AttitudeControl: add sail heel PID
2018-09-28 10:40:12 +09:00
Randy Mackay
d7d6c6ab04
AR_AttitudeControl: clarify units of get_steering_out_heading argument
...
also update comments
2018-09-11 14:39:50 +09:00
Randy Mackay
106b8abab7
AR_AttitudeControl: get_throttle_out_from_pitch accepts vehicle speed
2018-08-27 16:44:33 +09:00
Randy Mackay
d5ef3c2e0f
AR_AttitudeControl: get_throttle_out_from_pitch uses motor limits
...
This allows removing I-term build up from throttle hitting 100%
2018-08-27 16:44:33 +09:00
Randy Mackay
9b60e0844b
AR_AttitudeControl: add get_desired_pitch accessor
2018-08-06 11:30:22 +09:00
Ebin
1dc1b28234
APM_Control: changed default PID for Balance Bot
2018-07-20 14:41:32 +10:00
Ebin
30b3d63e8a
APM_Control: New default PID values for balance bots
2018-07-06 19:41:09 +10:00
Ebin
97a260a980
APM_Control: get_throttle_out_from_pitch() accepts dt as argument
2018-06-28 21:55:20 +09:00
Ebin
657ff06380
APM_Control: added balancing function for BalanceBot
2018-06-28 21:55:20 +09:00
Randy Mackay
5e7b37f0b2
AR_AttitudeControl: remove constraint on steering output
2018-06-12 17:44:10 +09:00
Ammarf
b614ca9b75
AR_AttitudeControl: disable limits when _ACCEL_MAX is zero
2018-06-11 08:54:59 +09:00
Randy Mackay
e691b680ca
AR_AttitudeControl: add speed-control-active method
...
allows caller check if speed controller if active
also consolidated other methods to use this check to reduce a little bit of duplicate code
2018-05-29 16:37:31 +09:00
Randy Mackay
3b71d0360a
AR_AttitudeControl: const get_decel_max and get_stopping_distance
2018-05-29 16:37:31 +09:00
Randy Mackay
a7fbfe7767
AR_AttitudeControl: caller provides dt instead of calculated internally
...
This allows the vehicle's main loop rate to be used instead of an internally calculated dt which suffers from jitter
2018-05-24 11:06:20 +09:00
Randy Mackay
c032095c80
AR_AttitudeControl: reduce default accel max to 2m/s/s
2018-05-24 11:06:20 +09:00
Ammarf
832778e471
AR_AttitudeControl: add separate decel limit
2018-05-23 17:17:29 +09:00
Ammarf
a9ee949c32
AR_AttitudeControl: limit desired steering rate
2018-05-21 09:48:43 +09:00
Randy Mackay
5563691bd1
AR_AttitudeControl: assume positive steering output rotates vehicle clockwise
...
also remove steering scaling by speed which has been moved to AR_MotorsUGV
2018-05-10 08:02:13 +09:00
Randy Mackay
0f9b679e98
AR_AttitudeControl: increase angle err P and reduce steering accel max defaults
2018-04-26 14:16:22 +09:00
Randy Mackay
3f1f68b130
AR_AttitudeControl: support vectored thrust
...
steering output is not scaled for speed
steering integrator does not build up at low speed
2018-04-24 19:57:19 +09:00
Randy Mackay
365e1030db
AR_AttitudeControl: separate speed limiting to new method
...
This allows the desired speed limiting (by acceleration) to be done before the speed-to-throttle PID controller is run.
This is required so the avoidance calls (which work on the desired speed) can be run after limiting but before the PID controllers
2018-04-24 12:24:53 +09:00
Randy Mackay
23ed735304
AR_AttitudeControl: reduce default steering I gain to 0.2
...
Also reduce default filter from 50hz to 10hz
2018-04-19 16:29:12 +09:00
Randy Mackay
a8857726d1
AR_AttitudeControl: replace get_steering_out_angle_error with heading
...
internally uses AHRS's heading to determine angle error so overally a non-functional change
2018-04-05 12:14:59 +09:00
Randy Mackay
e6f8021519
AR_AttitudeControl: add angular accel and rate limits
...
This limits the change in desired turn rate to reduce impossible requests which should help avoid overshoot
Also add rotation rate limit to turn-rate controller
2018-04-05 12:14:59 +09:00
Randy Mackay
57f2eb6853
AR_AttitudeControl: minor comment fix
2018-03-31 14:47:30 +09:00
Randy Mackay
89725a7aa5
AR_AttitudeControl: minor comment fix
...
non-functional change
2018-03-15 09:58:27 +09:00
Randy Mackay
d139f0e28e
AR_AttitudeControl: add get_stopping_distance
2018-03-14 12:40:04 +09:00
Randy Mackay
54d8a4852f
AR_AttitudeControl: reduce steer rate P default to 0.2
2018-03-09 13:17:38 +09:00
Randy Mackay
2aeda48512
AR_AttitudeControl: minor arg name fix
...
non-functional change
2018-02-09 17:36:21 +09:00
Randy Mackay
4ac5ef3a13
AR_AttitudeControl: allow filter to be zero
...
Also increase default filter to 50hz
2018-01-05 13:33:21 +09:00
Randy Mackay
16d3e5c00d
AR_AttitudeControl: add feed foward for speed and steering rate control
2018-01-05 13:33:21 +09:00
Randy Mackay
9930550cfc
AR_AttitudeControl: lengthen timeout to 200ms
...
This is required because occasionally the turn rate controller can be disabled for just over 100ms as new navigation commands are loaded
2018-01-05 13:33:21 +09:00
Randy Mackay
f00f4ce79b
AR_AttitudeControl: fix get_desired_speed timeout
2017-12-09 16:23:22 +09:00
Randy Mackay
36c5f057ae
AR_AttitudeControl: add get_desired_turn_rate lat_accel and speed
...
for reporting use only
2017-12-09 12:18:49 +09:00