James Bielman
5631f865b2
Update floating point calculations to use floats instead of doubles.
...
- Allows use of hardware floating point on the Cortex-M4.
- Added "f" suffix to floating point literals.
- Call floating point versions of stdlib math functions.
12 years ago
Pat Hickey
39d14c8a93
PID: ported to AP_HAL
12 years ago
Andrew Tridgell
816fe9d35a
PID: use NAN to flag a D reset
...
this saves a byte per PID for a flag, and gives us a safe way to
reset_I() without causing a spike in D
12 years ago
Andrew Tridgell
f6fce1e238
PID: don't reset _last_error on reset_I()
...
resetting _last_error when you have a non-zero D term causes the D
contribution to the next call to be massively amplified. This can
cause crazy behaviour on auto takeoff in ArduPlane if you have a
non-zero D term for the roll or picth controllers
Thanks to Chris Miser for providing the tlog that allowed this bug to
be found.
12 years ago
Andrew Tridgell
d13d117e61
APM: removed reset_I() and instead auto-reset integrator in PID library
...
this prevents us resetting key integrators on waypoint change, while
still preventing old integrators being used when a PID starts to be
used again
13 years ago
uncrustify
330c6c07e3
uncrustify libraries/PID/PID.cpp
13 years ago
Andrew Tridgell
5e8fe8d93e
AP_Param: update PID libraries for new constructor syntax
13 years ago
Andrew Tridgell
f6d7d1bc59
APM: changed PID library to do automatic deltat calculation
...
this fixes a problem with the HDNG2RLL PID, which was using the wrong
time base and prevents similar bugs from happening in the future
13 years ago
Andrew Tridgell
23ed5c2cee
fixed imax load/save in PID
13 years ago
Andrew Tridgell
9c5a5473ab
added indexes to group info structures
13 years ago
Andrew Tridgell
f760b3c717
restore _fCut that was lost in AP_Param development
13 years ago
Andrew Tridgell
bf4a77da81
convert libraries to new typesafe macros
13 years ago
Andrew Tridgell
e5a0074312
modify the PID library for AP_Param
13 years ago
jasonshort
4ec8805216
Reverted to older PID. Restored the older filter, and removed PI command. I am no longer using PID for the quad and have switched to PIPI loops which perform much better. The D term in this class is not that great.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3241 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
tridge60@gmail.com
5c68a04c5d
PID: fixed an uninitialised variable
...
we did not initialise derivative to zero
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3082 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
jasonshort
915a564b8f
Changed the PID derivative filter to a moving average with 4 samples. Having great luck with it and High kD when using noisy sensors.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2957 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
jasonshort
5a22080484
I am Adding A "PI" loop to the mix. This is a need for AC2. We can optimize the internals later, but I basically duped the get_PID and removed the D term internals.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2338 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
DrZiplok@gmail.com
944825772d
Use AP_Var to store PID scaling values.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1652 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
jasonshort
c9227dbcaf
fixed a scaling bug in imax
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1553 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
mich146@hotmail.com
0328f926b5
Reinstate Float loading and saving
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1507 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
jasonshort
55667fd905
removed EEPROMB references
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1315 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
james.goppert
6c10842562
Fixed PID error for low pass filter.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1295 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
jasonshort
68eec6805a
update use EEPROM class, new scaled input for RC_Channel
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1264 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
james.goppert
665dbefbd4
Added storage options to PID.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1011 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
jasonshort
2ac2faf7a7
git-svn-id: https://arducopter.googlecode.com/svn/trunk@979 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
DrZiplok@gmail.com
a64c5ef782
Correct misunderstanding about the intent of the external gain array.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@978 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
DrZiplok@gmail.com
9a45c2babc
Re-type delta t, explicitly size error args to get_pid.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@936 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
DrZiplok@gmail.com
b0fbe39459
Remove spurious scaling
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@934 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
DrZiplok@gmail.com
342b759fea
Move the eeprom.h include out of the header, it's not needed there.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@933 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
DrZiplok@gmail.com
52abef58d5
More syntax, etc. fixes. Compiles OK now.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@932 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
DrZiplok@gmail.com
dc40ee00ae
Fix accessors, _RC
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@931 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
DrZiplok
264cca6d24
With apologies to Jason for breaking his branch, clean this up and document it.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@930 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
james.goppert
3ca85f94d4
Checked for dt>0 in PID and modified ctor
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@929 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
james.goppert
7598c02f51
Added load/save gain overloads for float arrays to PID,
...
supports mavlink style gain get/set now
git-svn-id: https://arducopter.googlecode.com/svn/trunk@928 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
james.goppert
00e7f9b6d0
Added lowpass filter on PID lib derivative calc
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@927 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
jasonshort
391e4268c4
git-svn-id: https://arducopter.googlecode.com/svn/trunk@859 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
jasonshort
e7b26da27d
A simple OO PID library
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@742 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago