Laura Sebesta
8997df2438
Merge branch 'next' into kenz/diag_stack_split
...
Conflicts:
flight/Modules/Stabilization/stabilization.c
2012-09-27 19:29:23 +02:00
James Cotton
4717c376c0
Stabilization: For the inner loop call the setpoint shaping version so that
...
the derivative term can weight the sticks and gyros independently.
2012-09-11 13:21:53 -05:00
James Cotton
11b099b1ef
Stabilization: Add configuration terms for the derivative calculation to the UAVO and pass
...
them in to the PID system.
2012-09-11 12:29:38 -05:00
James Cotton
9763a70364
Merge remote-tracking branch 'origin/igor/pidt1' into relay_tuning
...
Conflicts:
flight/Modules/Stabilization/stabilization.c
2012-09-10 03:10:26 -05:00
Igor Van Airde
8ca99739ed
Changed rate controller from PID to PIDT1 to improve flight stability.
...
Low pass on D-Term makes the D-Term usable to improve flight stability.
Affects rate and stabilize mode.
2012-09-09 13:07:25 +02:00
James Cotton
59d1367d37
Autotuning: Make the output also follow the hysteresis output
2012-08-24 22:45:45 -05:00
James Cotton
a3f1894cd7
Autotuning: Make the estimator require the value to toggle above and below the hysteresis level.
2012-08-24 21:33:08 -05:00
Laura Sebesta
f2ffd1fb99
Changed DIAGNOSTICS flag to be individual to each module instead of global.
...
The upshot is the stack usage monitor can be turned on at a lower RAM threshold.
2012-08-24 12:04:05 +02:00
James Cotton
9f3c8dddd3
Add a version of the sin lookup table that is in ram instead of flash
2012-08-03 12:15:57 -05:00
James Cotton
490955dbea
Use cos_lookup instead of sin_looup(x+90)
2012-08-03 11:34:05 -05:00
James Cotton
50c7641162
Move the PID methods into a standalone library
2012-08-03 09:37:46 -05:00
James Cotton
2723ff4be3
Factor the virtual flybar code out of the stabilization module
2012-08-03 09:37:46 -05:00
James Cotton
aae0e562c6
Create a sine lookup table that is cached in flash and make relay tuning start
...
ot use this.
2012-08-03 09:37:46 -05:00
James Cotton
924c91ce1e
Fix mistake from previous merge with duplicate the STABILIZATIONOMDE_ATTITUDE
...
case
2012-08-03 09:37:46 -05:00
James Cotton
8565dfbcc3
Factor the relay tuning out of the main stabilization.c file into it's own
...
tool.
2012-08-03 09:37:46 -05:00
James Cotton
561cf994b0
Reduce the memory footprint of the sin lookup table by using sin(x+pi) =
...
-sin(x). Still just needs to move into flash and have some options about
precision when in its own library function.
2012-08-03 09:37:46 -05:00
James Cotton
d0ef95ff9a
Fix idiotic bug in the stab_refactor
2012-08-03 09:37:46 -05:00
James Cotton
17878b32f3
Make autotune run within an attitude loop instead of direct rate mode. Easier
...
for beginners.
2012-08-03 09:37:44 -05:00
James Cotton
44e72d0a70
A big refactoring of stabilization.c to get rid of the two separate loops and
...
move them into one big structure. This makes it easier to implement other
modes.
2012-08-03 09:37:44 -05:00
James Cotton
e01c5d5f87
Get online estimation of period and amplitude working
2012-08-03 09:37:44 -05:00
James Cotton
4ac8df6aa8
Make the system perform an online estimate of the period and amplitude of the
...
oscillation during relay tuning
2012-08-03 09:37:44 -05:00
James Cotton
17a0d3ebb4
Add a relay stabilization mode
2012-08-03 09:37:44 -05:00
James Cotton
4afd9d110e
Don't zero the PIDs when the settings are updated. Fixes some quirks from
...
using TxPID tuning.
2012-07-03 14:19:21 +02:00
James Cotton
46a52fc5ce
Apply the virtual flybar stick scaling in stabilization.c because we need to
...
know the true stick position to dampen the gyros appropriately.
2012-06-04 12:22:39 -05:00
James Cotton
bda3f301cb
Rename VBar mode to VirtualBar
2012-06-04 12:22:39 -05:00
James Cotton
4c562b88d1
Make the amount to suppress the gyros adjustable instead of binary
2012-06-04 12:22:39 -05:00
James Cotton
59972d5570
Limit the number of degrees the vbar can deflect. This is good for fast flips
...
etc.
2012-06-04 12:22:39 -05:00
James Cotton
42ac4018b8
Woops. Fix really nasty bug in vbar mode I introduced. Also fix small bug in
...
scoping of gyro gain that made it not work.
2012-06-04 12:22:39 -05:00
James Cotton
6719ee8639
Add piro compensation option to the vbar mode
2012-06-04 12:22:39 -05:00
James Cotton
3283b99d4e
For hardcode flipping allow full stick to completely override the gyro
...
feedback.
2012-06-04 12:22:39 -05:00
James Cotton
fe978504bc
Add friendly settings for the vbar mode including the VbarTau which acts like
...
the time constant.
2012-06-04 12:22:39 -05:00
James Cotton
ff1b1a93cf
Implement a virtual flybar in a way inspired by behavior of Align 3G which
...
seems apply a leaky integrator to the swash angle. This is the similar to what
is done by Phubar (http://code.google.com/p/phubar/ ) as well although we refer
to the gyro term as the proportional and the flybar angle as the integral
2012-06-04 12:22:38 -05:00
Corvus Corax
64c1ac3bd6
Stabilization: Bugfix: moved queue initialisation to TaskStart where it belongs
2012-05-22 22:19:31 +02:00
Corvus Corax
d32dd0ccd4
Fixed fmod() versus fmodf() usage in flight/...
2012-03-26 04:16:54 +02:00
James Cotton
49a03a868b
Merge branch 'altitudehold' into revolution_overo
...
Conflicts:
flight/OpenPilot/UAVObjects.inc
flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
flight/Revolution/Makefile
flight/Revolution/ins.c
2012-02-07 23:00:29 -06:00
James Cotton
727f0befc5
Make the gyro go a bit more regularly to stabilization but needs updating
...
regular CC
2012-01-25 22:50:19 -06:00
James Cotton
d2ce7761c5
Add derivative term
2012-01-03 12:37:18 -06:00
James Cotton
53cb5b67d1
Make the revo attitude now use the separate gyro object. CopterControl
...
attitude still needs an update.
2011-12-12 13:28:35 -06:00
James Cotton
07e3ad10af
Force some floating point units to be safe
2011-11-26 15:52:25 -06:00
James Cotton
c36297227d
Stabilization fix typo
2011-09-12 11:56:01 -05:00
James Cotton
b38081bb1b
Stabilization: When in none
mode zero the integral accumulators for rate and
...
attitude loops. When not using outer loop zero that accumulator.
2011-09-11 16:33:38 -05:00
James Cotton
6945f17eba
Make the StabilizationSettings.MaxRate field only apply to the stabilized
...
modes. That way ManualRate can exceed MaxRate.
2011-09-11 12:27:17 -05:00
James Cotton
482bec497b
Revert "Fixed modules that didn't initialize used UAVObjects correctly"
...
Modules should initialize their settings and the objects they source. Not just
everything.
This reverts commit 9ad85e9b7bc7c23a416c9dbd2f931533d902607a.
2011-08-19 09:44:38 -05:00
Corvus Corax
9ad85e9b7b
Fixed modules that didn't initialize used UAVObjects correctly
2011-08-19 13:20:15 +02:00
James Cotton
bbe3c1533a
Merge branch 'next' into camera_stabilization
2011-08-10 21:57:45 -05:00
James Cotton
ab288e95ab
Stabilization: Small patch so that by default the integral is zeroed while
...
throttle is low (good for quads) but can be disabled (good for planes and also
testing helis).
2011-08-10 03:51:46 -05:00
James Cotton
96c2d24253
Merge branch 'next' into camera_stabilization
...
Conflicts:
flight/CopterControl/Makefile
flight/CopterControl/System/coptercontrol.c
flight/Modules/Actuator/actuator.c
flight/Modules/GPS/GPS.c
flight/Modules/ManualControl/manualcontrol.c
flight/Modules/Stabilization/stabilization.c
flight/Modules/System/systemmod.c
shared/uavobjectdefinition/manualcontrolsettings.xml
shared/uavobjectdefinition/stabilizationdesired.xml
2011-07-30 10:06:10 +09:00
Mathieu Rondonneau
612a439199
OP-423: simplify the MODULE_INITCALL macro and remove the ordering loops
2011-07-12 20:44:32 -07:00
James Cotton
0aec3b592c
Changing stabilization so that the PIDs are zeroed when not armed, but NOT when
...
the throttle is < 0. This will make things like axis-lock work while armed
without throttle. HOWEVER don't hold your stick in the arming position for a
long time or you can wind up the integrals now.
2011-07-12 14:35:32 -05:00
James Cotton
53ca934b2b
Merge branch 'heli_stabilization'
...
Conflicts:
flight/CopterControl/System/inc/pios_config.h
flight/Modules/Attitude/attitude.c
flight/Modules/ManualControl/manualcontrol.c
flight/Modules/Stabilization/stabilization.c
2011-07-12 13:28:20 -05:00