Commit Graph

106 Commits

Author SHA1 Message Date
Jason Short
6dc1e02f76 Inertial Control
I added inertial navigation based on the simulator data. This is an option only available if you compile with Arduino and set
#define INERTIAL_NAV ENABLED
in the APM_Config.h file.

This has been tested for one real flight and did not crash my quad, but consider it very alpha. The quad may be unpredictable at first until the error correction fixes poorly calibrated accels. Be Careful.

Most of the real work is in the inertia file, but the error correction, new variable defines and calibration calls are sprinkled throughout.

The Log should record RAW messages with special debugging values.
2012-06-13 22:34:45 -07:00
rmackay9
3618ac62e0 ArduCopter: made Robert's new yaw method optional (off by default).
Add this line to APM_Config.h to enable Robert's yaw
#define ALTERNATIVE_YAW_MODE ENABLED
2012-06-13 21:50:16 +09:00
Robert Lefebvre
3e6f37d540 Opening up the Yaw Rate constraint for Trad Heli. 2012-06-07 22:40:25 -04:00
Robert Lefebvre
1b789b7928 Yaw Fix
Modified Nav_Yaw controller to better track intended heading changes.
2012-06-07 17:15:33 -04:00
Jason Short
71111a5816 Stabilization patches
removed Angle error limit for stabilization
constricted Iterm to +- 5° error and limited the implementation to when the quad is +- 5° from center
doubled the output limit for Rate controller.
increased default Rate_P gain to .18 with matching Rate_D of .004
Tested in the SIM and in backyard. dramatically increases performance and quad no longer overshoots and flips when pushed hard.
2012-06-05 16:41:44 -07:00
Jason Short
5ce93faf51 Moved PID logging counter into define 2012-06-03 11:13:50 -07:00
Jason Short
2ae5d50261 Renamed some variables to clarify functionality. 2012-05-29 12:42:37 -07:00
Jason Short
6c999b5d54 Attitude.pde - Removed rate limit based on SIM flights. These should never have been in place and seriously detriment Acro flight. 2012-05-21 09:58:23 -07:00
rmackay9
bd8534ef14 ArduCopter - Attitude.pde - added logging of optical flow pid controller 2012-04-21 20:17:12 +09:00
rmackay9
c7edd7857c ArduCopter - added dataflash logging of roll and pitch rate controllers 2012-04-08 10:19:20 +09:00
rmackay9
23c3f25654 ArduCopter - Attitude.pde - moved heli_get_angle_boost from heli.pde (which will be removed) to Attitude.pde. In fact we should combine heli_get_angle_boost and the regular get_angle_boost. 2012-04-04 22:51:39 +09:00
Andrew Tridgell
409c147ce3 ACM: fixed heli build 2012-03-27 15:37:25 +11:00
Andrew Tridgell
5d7c571fb1 ACM: fixed the build on the 1280 2012-03-27 15:37:24 +11:00
rmackay9
441413f1c6 ArduCopter - added PID log type. Implemented for Yaw stabilize and rate controllers. 2012-03-25 16:09:08 +09:00
Andrew Tridgell
690ad58a64 AHRS: adapt ArduCopter for new AHRS framework 2012-03-19 17:29:02 +11:00
Jason Short
722a4d01e8 ACM: Attitude.pde - consolidated wind I term resets 2012-03-18 22:31:21 -07:00
Jason Short
bb56cea1ac ACM: increased the available rate error constrain, it was too low 2012-03-10 12:39:16 -08:00
Jason Short
285f2dd791 ACM: removed the experiment for rate error. 2012-03-10 12:38:29 -08:00
Jason Short
43b3e1ccd1 ACM -
Implemented automatic ranging of Alt Hold gains. Works well in simulator and testing.
- alt hold estimation moved to 50 hz
- simple fixed observer calc for smooth and accurate climb rates useful for derivative calcs
- auto-reset of the I term by moving I value into throttle value. This recalcs the gain every 20seconds for battery drainage compensation in long flights.
- remove filtering for Nav_throttle
- added a way to lower the gain on nav_throttle for descents by / climb_rate error by 2 - seems to work OK and keeps copter from dropping like a rock when the Baro drifts quickly lower.
- removed old throttle hold set point code
- made throttle override for alt hold +- 200 vs 250
2012-03-06 22:22:14 -08:00
Jason Short
27f6afd178 added stab_d gain scheduling 2012-02-28 20:16:40 -08:00
rmackay9
8da8ce5b58 ArduCopter - made rate controller filters globals to fix compiler error on Arduino 022 (Arduino 1.0 was fine) 2012-02-28 22:56:26 +09:00
rmackay9
082cc70f1c ArduCopter - Attitude.pde - updated get_rate_roll and get_rate_pitch to use new average filter.
modified all int to int16_t in Attitude.pde
2012-02-28 21:26:37 +09:00
Jason Short
a3f65b4a23 increased the rate error for more responsive alt hold 2012-02-25 13:31:21 -08:00
rmackay9
ab0e1d7632 TradHeli - increase max yaw input to 45 degrees 2012-02-24 20:18:40 +09:00
Jason Short
b1340bbf80 added a constraint to D term 2012-02-23 09:14:44 -08:00
Jason Short
70d7a1f5d0 Added slow_wp default in AP mode 2012-02-19 13:15:40 -08:00
Jason Short
03aa28224b re-implemented WII Dampening filter for Marco. 2012-02-16 22:38:23 -08:00
Jason Short
6913400221 cast D term to float just in case 2012-02-16 22:09:21 -08:00
Jason Short
bb4c02fbff Added acro_p to the params 2012-02-15 11:29:25 -08:00
Jason Short
11d1973abd Added Acro_P 2012-02-15 09:10:14 -08:00
Andrew Tridgell
1af6f08b1c adapted main ACM code for AP_Param 2012-02-13 16:22:52 +11:00
Jason Short
4f44ccc182 get_acro_yaw added 2012-02-10 22:32:55 -08:00
Jason Short
f3547a04a5 Acro fix - we had lost the scaling of Acro mode in 2.1. This restores that. 2012-02-09 22:22:00 -08:00
Randy Mackay
1a1f6cac5d OptFlow - reenable OF_LOITER pid controller and reduce I term 2012-02-01 08:04:18 +09:00
Jason Short
c855c81d2a limiting alt hold rate error to 1m/s 2012-01-29 17:08:34 -08:00
Jason Short
0213f4dd88 2.2B6 - Please verify Heli still functions properly.
Added AC_PID lib
Updated landing code
bug fixes
2012-01-28 22:00:05 -08:00
Randy Mackay
2f84b54bbb OpticalFlow - replaced PI controller with PID controller.
Modified optical flow hold to use aggregated position instead of speed.
2012-01-25 21:55:14 +09:00
Jason Short
02d6adb21f slightly less filtering for less latency 2012-01-21 22:04:54 -08:00
Jason Short
8f86caa3ff limiting the pitch throttle compensation 2012-01-21 11:59:49 -08:00
Jason Short
525f7cd40f cleanup 2012-01-20 22:52:30 -08:00
Jason Short
d991a22453 Refined the D term for stabilize
moved all the rest_I terms from code into 1 central place
2012-01-20 22:52:29 -08:00
Jason Short
11e1df497d lowered Loiter I, commented out unused var 2012-01-14 11:20:40 -08:00
Jason Short
f25d741f62 temp removed alt D term until more testing 2012-01-14 11:20:40 -08:00
Jason Short
9a0539f39e tuned down Alt hold D gain 2012-01-13 09:36:51 -08:00
Jason Short
09c4bbe46e Added simple constrain for Alt d term 2012-01-13 08:49:55 -08:00
Jason Short
5418d330f6 Added a small D term on alt hold 2012-01-12 22:28:58 -08:00
Jason Short
581657ab7a climb rate control 2012-01-10 23:42:26 -08:00
Jason Short
9d1b1dba77 Added comments 2012-01-10 23:42:26 -08:00
Randy Mackay
7b9701fdd5 ArduCopter - added ROLL_PITCH_STABLE_OF (i.e. Stabilised Roll/Pitch + adjustments based on optical flow)
Removed optical flow from regular loiter for now until it's tested.
2012-01-09 13:53:54 +09:00
Jason Short
3d7f3f6b77 removed unused var 2012-01-04 09:28:37 -08:00