Commit Graph

117 Commits

Author SHA1 Message Date
Andrew Tridgell
e79a21d8c2 AC_PID: fill in desired rate for heli PID 2015-05-27 14:28:46 +10:00
Robert Lefebvre
967071ca62 AC_PID: Integrate PID Logging functionality. 2015-05-27 14:28:44 +10:00
Robert Lefebvre
bcc3fa0526 AC_HELI_PID: Pass default FF param setting in constructor 2015-05-22 09:38:28 +09:00
Randy Mackay
56b92e7d8c AC_PID: fix example sketch 2015-05-13 17:55:39 +09:00
Tom Pittenger
9d74f57ed3 AP_PID: replace fabs() with fabsf() 2015-05-09 09:57:26 +10:00
Andrew Tridgell
33555b7f12 AC_PID: revert AP_Math class change 2015-05-05 13:27:05 +10:00
Tom Pittenger
54f4d4b07c AP_PID: compiler warnings: reordered constructor 2015-05-05 13:26:56 +10:00
Tom Pittenger
01180d52c4 AP_PID: compiler warnings: apply is_zero(float) 2015-05-05 13:26:51 +10:00
Andrew Tridgell
777685ce1f AC_PID: fix for HAL_SITL rename 2015-05-05 09:45:54 +10:00
Randy Mackay
67b0c6f5c4 AC_PID: replace is_equal with is_zero 2015-04-28 16:22:08 +09:00
Randy Mackay
3514177314 AC_PI_2D: minor format fix 2015-04-28 16:21:53 +09:00
dgrat
303cfd683a AC_PID: replace floating point '==' with is_equal
Also add div-by-zero check to fix calc_filt_alpha

Also get_i and get_shrink_i do not need to set values to zero in Vector2f
constructor because this is already done.
2015-04-28 16:21:46 +09:00
Tom Pittenger
4b97cc1957 AC_PID: fix compile warnings re float constants 2015-04-24 12:22:43 +09:00
Jonathan Challinger
6ea91d012e AC_PID: calculate filt_alpha every time the filter is run 2015-04-14 16:19:02 +09:00
Randy Mackay
a095a8c3a1 AC_PID: more protection against NaN and Inf 2015-04-09 20:19:55 +09:00
Leonard Hall
ae77c18a19 AC_PID: Protect against NaN and INF 2015-04-09 18:30:12 +09:00
Randy Mackay
f260536373 AC_PID: fix example sketch compile error 2015-04-08 15:05:29 +09:00
Randy Mackay
3f3e622be5 AC_PID: fix example sketch 2015-03-30 16:07:56 -07:00
Randy Mackay
12724e9556 AC_PID: remove include of stdio.h 2015-03-11 20:40:05 +09:00
Randy Mackay
cc0d5b9ced AC_PI_2D: replace set_filt_hz method with filt_hz
Thanks to Jonathan Challinger for spotting this bug
2015-03-11 17:28:36 +09:00
Randy Mackay
c10b0b34ca AC_PID: replace set_filt_hz method with filt_hz
Thanks to Jonathan Challinger for spotting this bug
Also add sanity check to filt_hz
2015-03-11 17:28:20 +09:00
Leonard Hall
34a5bc8b33 AC_PI_2D: 2-axis PI controller 2015-03-06 14:01:56 +09:00
Leonard Hall
046949ea8a AC_HELI_PID: add input filter and restructure
Also removed unused initial_ff from construtor
2015-03-06 14:01:54 +09:00
Leonard Hall
517448e536 AC_PID: add input filtering and restructure 2015-03-06 14:01:52 +09:00
Andrew Tridgell
83dc9bf5b3 AC_PID: fixed example build 2014-08-13 22:11:16 +10:00
Randy Mackay
0a46afa6c4 AC_PID: init members to reduce compiler warnings 2014-07-16 17:46:14 +09:00
Robert Lefebvre
fa9d625e39 AC_HELI_PID: Add feedforward accessor functions. 2014-07-08 20:18:05 +09:00
Randy Mackay
faf3415e5e AC_PID: example sketch prints individual P, I and D values 2014-05-29 17:39:19 +09:00
Robert Lefebvre
b35ec4339e AC_PID: Add method to set the D-term Filter Rate from main code. 2014-05-29 17:39:10 +09:00
Robert Lefebvre
f1c3f2a3d1 AC_PID: Remove get_leaky_i function which is now found in AC_HELI_PID. 2014-05-29 17:39:08 +09:00
Robert Lefebvre
6333b4bba6 AC_PID: update example sketch to test AC_HELI_PID 2014-05-29 17:39:01 +09:00
Robert Lefebvre
ef7dc815cd AC_PID: Change Private members to Protected so that AC_HELI_PID can access them. 2014-05-29 17:38:59 +09:00
Robert Lefebvre
94e9bed9cf AC_PID: Add new AC_HELI_PID as a child of AC_PID 2014-05-29 17:38:57 +09:00
Kevin Hester
b7410494e3 AC_PID: fixup line endings 2014-04-15 15:55:59 +09:00
Randy Mackay
8fae75ee87 AC_PID: add AC_P controller
Used for stabilize angle controllers, alt hold and loiter
2014-02-15 06:09:08 +11:00
Randy Mackay
fbc5af2705 AC_PID: results returned as float 2014-02-15 06:09:08 +11:00
Andrew Tridgell
8c25a504c3 AC_PID: fixed indent-tabs-mode 2013-05-30 09:54:53 +10:00
James Bielman
4fa7bb1486 Add AVR compatibility header for missing math.h definitions.
- Define float versions of math functions to the double versions
  on AVR (eg. #define sinf sin).
- These macros appear to be missing in older versions of avr-libs.
- Include AP_Math.h rather than math.h to get these definitions.
2013-01-16 13:52:17 +11:00
Andrew Tridgell
2294acc652 AC_PID: fixed build on ARM 2013-01-02 22:09:02 +11:00
Andrew Tridgell
374af1cd14 build: change from Arduino.mk to apm.mk 2013-01-02 17:29:37 +11:00
Andrew Tridgell
a1187519a8 AP_HAL: use AP_HAL_BOARD_DRIVER in remaining test sketches 2012-12-20 14:52:37 +11:00
Pat Hickey
eb530b86e8 move Arduino.mk to /mk/Arduino.mk 2012-12-20 14:52:35 +11:00
Andrew Tridgell
7d27e420ae AP_HAL: remove unnecessary Arduino.h includes 2012-12-20 14:52:30 +11:00
Andrew Tridgell
9349259487 AC_PID: updates for new AP_Param API 2012-12-20 14:51:38 +11:00
Pat Hickey
475da4eca4 CONFIG_HAL_BOARD - test sketches fixed up, build all passes 2012-12-20 14:51:37 +11:00
Pat Hickey
a4f1f6a5db AP_Progmem: fix dependencies for all sketches touched by AP_HAL_AVR 2012-12-20 14:51:28 +11:00
Pat Hickey
c56c4ae240 Various example sketches: hal.uart0->begin(115200) is redundant. use console.
just assume uart0 is initialized by the HAL, because it is. DRY.
also, don't ever use uart0 explicitly in example sketches, use console
and let the hal figure it out.
2012-12-20 14:51:25 +11:00
Pat Hickey
050a878935 AC_PID: Ported to AP_HAL. 2012-12-20 14:51:25 +11:00
Pat Hickey
3f1d9d7f69 AP_Param: #include <AP_Param.h> fixups for libraries & sketches
* I mostly went through with grep and added an #include <AP_Param.h> below
  every #include <AP_Common.h>. Not all of these example sketches might
  strictly need AP_Param.
2012-12-20 14:51:19 +11:00
rmackay9
24317e721b AC_PID, AP_AHRS: added descriptions to some parameters 2012-12-10 22:28:39 +09:00
Andrew Tridgell
5e7ca5b0f8 AC_PID: suppress the derivative immediately after reset
use _last_derivative == NAN to flag that the derivative is invalid
2012-11-27 18:45:49 +11:00
Andrew Tridgell
eac1ad49d6 AC_PID: save 8 bytes per AC_PID object
we don't need the _derivative or _output variables
2012-11-27 18:06:22 +11:00
Robert Lefebvre
1d12b781a0 AC_PID: Create Leaky Integrator Function. 2012-11-26 21:01:20 -05:00
Andrew Tridgell
eb5ac90e12 AC_PID: fixed example build 2012-11-24 21:07:34 +11:00
rmackay9
41489f34f9 AC_PID: fixed example sketch's compile errors 2012-11-07 23:34:10 +09:00
uncrustify
6c5757e775 uncrustify libraries/AC_PID/AC_PID.h 2012-08-21 18:59:13 -07:00
uncrustify
fc9f1a8216 uncrustify libraries/AC_PID/AC_PID.cpp 2012-08-21 18:59:13 -07:00
uncrustify
7c4f980638 uncrustify libraries/AC_PID/examples/AC_PID_test/AC_PID_test.pde 2012-08-21 18:59:13 -07:00
Andrew Tridgell
5e8fe8d93e AP_Param: update PID libraries for new constructor syntax 2012-08-08 12:11:57 +10:00
rmackay9
24a471ff8f AC_PID - added more paranoid checking that imax is positive in constructor, operator() and load_gains methods 2012-03-20 11:51:15 +09:00
Jason Short
b094f6ce52 added set integrator 2012-02-23 09:38:08 -08:00
Jason Short
24ce02c6a4 made I term return in same pattern as D term 2012-02-16 22:09:22 -08:00
Andrew Tridgell
9c5a5473ab added indexes to group info structures 2012-02-13 16:22:52 +11:00
Andrew Tridgell
452749149f convert AC_PID library to AP_Param 2012-02-13 16:22:52 +11:00
Andrew Tridgell
f9eed9bd9e fixed missing return in D value 2012-02-13 16:22:52 +11:00
Randy Mackay
6877b8b3d6 AC_PID Library - added example sketch 2012-02-05 17:35:15 +09:00
Jason Short
af79eb273f Added D term to APM_PI - need to refactor this as a parent class and two child classes to save code space, remove dupes 2012-01-28 21:21:43 -08:00