Commit Graph

106 Commits

Author SHA1 Message Date
Jason Short c42f9ece43 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 65050775e1 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 c5916a8b4d Opening up the Yaw Rate constraint for Trad Heli. 2012-06-07 22:40:25 -04:00
Robert Lefebvre e2496181ff Yaw Fix
Modified Nav_Yaw controller to better track intended heading changes.
2012-06-07 17:15:33 -04:00
Jason Short a9610a0761 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 9ab06c5542 Moved PID logging counter into define 2012-06-03 11:13:50 -07:00
Jason Short 2311d52d37 Renamed some variables to clarify functionality. 2012-05-29 12:42:37 -07:00
Jason Short 1a5e2f4e37 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 533772339e ArduCopter - Attitude.pde - added logging of optical flow pid controller 2012-04-21 20:17:12 +09:00
rmackay9 df85051574 ArduCopter - added dataflash logging of roll and pitch rate controllers 2012-04-08 10:19:20 +09:00
rmackay9 aa4085183c 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 e0c9ab5a29 ACM: fixed heli build 2012-03-27 15:37:25 +11:00
Andrew Tridgell 47f9dfd125 ACM: fixed the build on the 1280 2012-03-27 15:37:24 +11:00
rmackay9 1f4cfb9333 ArduCopter - added PID log type. Implemented for Yaw stabilize and rate controllers. 2012-03-25 16:09:08 +09:00
Andrew Tridgell 547b4ed55b AHRS: adapt ArduCopter for new AHRS framework 2012-03-19 17:29:02 +11:00
Jason Short a0717f082e ACM: Attitude.pde - consolidated wind I term resets 2012-03-18 22:31:21 -07:00
Jason Short fc32da0d2e ACM: increased the available rate error constrain, it was too low 2012-03-10 12:39:16 -08:00
Jason Short bd4835a1b2 ACM: removed the experiment for rate error. 2012-03-10 12:38:29 -08:00
Jason Short 730476fdfd 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 a387956814 added stab_d gain scheduling 2012-02-28 20:16:40 -08:00
rmackay9 744e5b8c60 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 4a0989f95d 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 1ce267f904 increased the rate error for more responsive alt hold 2012-02-25 13:31:21 -08:00
rmackay9 57e5eee8c8 TradHeli - increase max yaw input to 45 degrees 2012-02-24 20:18:40 +09:00
Jason Short 364afe8da0 added a constraint to D term 2012-02-23 09:14:44 -08:00
Jason Short 265c5255a3 Added slow_wp default in AP mode 2012-02-19 13:15:40 -08:00
Jason Short 5218220f0f re-implemented WII Dampening filter for Marco. 2012-02-16 22:38:23 -08:00
Jason Short 632cc783a1 cast D term to float just in case 2012-02-16 22:09:21 -08:00
Jason Short 3d63bb6cd4 Added acro_p to the params 2012-02-15 11:29:25 -08:00
Jason Short fcb24ee17d Added Acro_P 2012-02-15 09:10:14 -08:00
Andrew Tridgell 3b4cae3cc3 adapted main ACM code for AP_Param 2012-02-13 16:22:52 +11:00
Jason Short c64d781dce get_acro_yaw added 2012-02-10 22:32:55 -08:00
Jason Short f40d40b0f9 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 b851d39eaa OptFlow - reenable OF_LOITER pid controller and reduce I term 2012-02-01 08:04:18 +09:00
Jason Short bf2cc6072d limiting alt hold rate error to 1m/s 2012-01-29 17:08:34 -08:00
Jason Short 7833cea9d4 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 2c906b7b27 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 5cc19bbe7c slightly less filtering for less latency 2012-01-21 22:04:54 -08:00
Jason Short 1aa6d0ea08 limiting the pitch throttle compensation 2012-01-21 11:59:49 -08:00
Jason Short 42b1362bba cleanup 2012-01-20 22:52:30 -08:00
Jason Short ed32ad30fd 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 95ac9d163e lowered Loiter I, commented out unused var 2012-01-14 11:20:40 -08:00
Jason Short c02b403a06 temp removed alt D term until more testing 2012-01-14 11:20:40 -08:00
Jason Short 7c475f178c tuned down Alt hold D gain 2012-01-13 09:36:51 -08:00
Jason Short ee7c948781 Added simple constrain for Alt d term 2012-01-13 08:49:55 -08:00
Jason Short 4459fc4e34 Added a small D term on alt hold 2012-01-12 22:28:58 -08:00
Jason Short f36aba8af2 climb rate control 2012-01-10 23:42:26 -08:00
Jason Short 7b8767d846 Added comments 2012-01-10 23:42:26 -08:00
Randy Mackay f68d23d91e 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 8ed2d96396 removed unused var 2012-01-04 09:28:37 -08:00