Andrew Tridgell
6123ea2dac
PID: added get_pid_4500()
...
this is a version of get_pid() that returns an int16_t constrained to
-4500 to 4500. This will prevent overflow errors for large PID gains
in ArduPlane and Rover
12 years ago
Andrew Tridgell
fe964fcda0
PID: change to float input/output
...
this makes the PID library a bit more flexible for smaller range
numbers. Note that this library is used on ArduPlane and Rover, not
Copter
12 years ago
Andrew Tridgell
306d53b4ae
PID: updates for new AP_Param API
12 years ago
Pat Hickey
39d14c8a93
PID: ported to AP_HAL
12 years ago
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.
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
uncrustify
13e0dd2c70
uncrustify libraries/PID/PID.h
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
150a67c262
fixed PID initialisation
13 years ago
Andrew Tridgell
f760b3c717
restore _fCut that was lost in AP_Param development
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
jasonshort
d192ceb8f8
upped D filter to 6
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3096 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
tridge60@gmail.com
cf68e31729
fixed warnings in PID.h
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2560 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
tridge60@gmail.com
860998d337
implemented typesafe PSTR()
...
This makes PSTR() type safe by using a 1 byte wrapper
structure. Attempts to use the wrong varient of a print function will
generate a compilation error.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1797 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
jasonshort
240a3a2f2a
quick.fix
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1688 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
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
jasonshort
f64fab442d
added ability to get the integrator for debugging
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1117 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
james.goppert
d13850c941
Added load_gains to PID constructor.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1055 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
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
72cf1b4e57
Add a default ctor; due to 0 being magic, PID pid(0) is ambiguous.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@959 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
DrZiplok@gmail.com
73eab31d0c
Shrink the ctor slightly more
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@942 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
DrZiplok@gmail.com
e699812af4
Don't zero fields in the ctor that can be zeroed by reset_I; the code gets replicated for every static instance of the class, which is obscene.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@941 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
james.goppert
f04e58c6b3
Added default scalar of 1 to PID.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@935 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
e7b26da27d
A simple OO PID library
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@742 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago