Commit Graph

159 Commits

Author SHA1 Message Date
Jason Short 91cde15c27 Attitude.pde - Added small boost to alt hold for takeoff. 2012-06-25 23:12:19 -07:00
Robert Lefebvre 7eae382a22 Open up constraint on Rate Yaw Output for all copters. 2012-06-22 10:06:01 -04:00
Jason Short 0ccf5724aa Small fix to angle boost - increases by about 20% to deal with inefficiencies of non-downward thrust 2012-06-20 08:47:47 -07:00
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
Jason Short e6887aa3ec added Reset_Rate_I function
Removed I term from Throttle rate calc
Added some basic constrains to Acro
2012-01-04 09:28:37 -08:00
Jason Short e17c8705ba Loiter I reset 2011-12-31 09:45:25 -08:00
Jason Short 170a646ecf removing I term clearance 2011-12-30 23:48:04 -08:00
Jason Short 8fc73844ee Yaw Performance tweaks 2011-12-29 23:02:03 -08:00
Jason Short 89c705c8b9 removed loiter I from Reset Nav 2011-12-29 23:02:03 -08:00
Jason Short 83d52899b0 Added second order, filtered derivative in stabilize. Works much better than the non-filtered one I used to have. 2011-12-29 23:02:02 -08:00
Jason Short dc2103d67f the second accel test is just for fun.
Filtered output for Nav_throttle
2011-12-23 14:42:50 -08:00
Jason Short ed818e4ccf Cleanup
removed Iterm experiment - no noticeable effect in actual flight
2011-12-16 20:47:23 -08:00
Jason Short 2b5c039eae turned off iterm for traverse 2011-12-15 20:51:41 -08:00
Jason Short 05e921f5d0 More power to descend 2011-12-15 20:51:40 -08:00
Jason Short d5666f287c added loiter control to reset nav 2011-12-14 22:08:41 -08:00
Randy Mackay 68d1fa6ec7 Arducopter - Attitude.pde - fixed small bug in pitch stabilise 2011-12-13 22:10:51 +09:00
Jason Short 424a11d269 Stability patch2 - Jose style. 2011-12-12 17:47:45 -08:00
Jason Short 4efbae4a1c Hack to prevent fly aways
Cleanup to remove SIMPLE mode switch note
2011-12-11 12:01:06 -08:00
Jason Short 64cb2a54cf eased up on the i term blocker 2011-12-10 23:25:52 -08:00
Randy Mackay ced26d7ba2 TradHeli - Attitude.pde - made yaw contol use jason's stability patch
Quad - fixed small bug in pitch control (was using roll's stabilise controller)
2011-12-08 22:23:50 +09:00
Randy Mackay ee8986c463 TradHeli - fixed roll/pitch so it's not scaled when throttle is scaled 2011-12-08 21:30:47 +09:00
Jason Short e3700365d4 Stability patch updates,
Cleanup
2011-12-06 21:03:56 -08:00
Jason Short 55b2e5339a simple patch to improve alt hold based on stability patch 2011-12-04 21:32:33 -08:00
Jason Short be3dba817b Stability patch from 55 2011-12-03 17:54:38 -08:00
Jason Short a661311f60 remove PI_crosstrack 2011-11-19 13:58:53 -08:00
Jason Short 043c3197da Added additional nav params to reset 2011-11-12 21:39:00 -08:00
Jason Short ccc2746a22 removed debugging code 2011-11-08 14:41:46 -08:00
Jason Short c7eb695b4a SIM test 2011-11-08 14:11:02 -08:00
Andrew Tridgell 87d5581046 ArduCopter: use specific sized data types in a lot of places
this will make the Desktop build more consistent with the real AVR
build, and also with a future ARM build
2011-11-08 11:05:36 +11:00
Jason Short 34a53f6f7d Removed some old debug prints from motors.pde
added ability to not increment I term for traversals.
2011-11-07 14:32:39 -08:00
Jason Short 6d0a32cc65 Alt hold fix 2011-11-07 12:00:37 -08:00
Jason Short 7bf8ef98f5 default top_bottom ratio 1.0 2011-11-06 22:45:07 -08:00
Jason Short 37883a93f6 Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-11-04 21:42:10 -07:00
Jason Short 80c7e135d5 renamed some command variables to align with Arduplane
reworked the arming code and moved the DCM gains out.
updated climb_rate to include sonar data.
2011-11-04 21:41:51 -07:00
unknown 3df9a03e02 TradHeli - fix to allow tail servo to be reversed. Also increase max movement of tail servo to 45 degrees. 2011-11-05 12:31:30 +08:00
Jason Short 7b88499579 Z dampener
Integrated Aurelio R. Ramos' Z dampening code.
2011-11-01 21:18:47 -07:00
Jason Short 561a5a740b removed accel.z references 2011-11-01 09:28:23 -07:00
Jason Short 09fa260883 Tweaks to alt hold 2011-11-01 09:25:23 -07:00
Jason Short a88424b152 Added a slew rate to the alt change rate.
Added better reporting of throttle control
upped constraints for alt hold
Additional logging for CTUN lay hold
2011-10-28 21:29:10 -07:00
Jason Short 81083ddecf Attitude
Made the Acro mode more NG like. Should be much more nimble!
Tweaked the Accel hold with sim tests. not flight tested or enabled by default.
added option to set scalar in angle boost
2011-10-27 12:31:46 -07:00
Michael Oborne 1a715706a6 fix make issue 2011-10-04 09:34:47 +08:00
Jason Short 7e81756ccd Added second PI loop for alt hold.
Upped gains for default JDrones Frame
added gains for second PI loop for alt
removed some tests for 1280 space constraints
2011-10-02 11:36:23 -07:00
Jason Short 9a4bd31a8b Minimized the accel_filtered vector to be faster and more accurate.
Made the Filter include the Accels and moved from 8 to 4 terms in the filter
2011-09-30 18:40:29 -07:00
Jason Short df1a39f650 Added ADC gyro Filtering for quads - this fixes a noise issue introduced into the controller
added Position mode
removed
Added back in the accelerometer experiment
Added filter_result boolean to enable filter on the fly
2011-09-29 23:27:23 -07:00
Jason Short d0405b0a0a 2.0.46 -Not flight tested!
restored 42 alt hold code
removed throttle timer, replaced with safer constant
increased alt control range
reformatted nav_rate calls
removed unused simple mode defines
set alt hold home to 10m
tuned down rateP to .13 from .14 for broader application.
2011-09-27 09:35:05 -07:00
Jason Short 059551de48 Fixed issue with Simple mode changes.
Reverted to simpler, safer timer code for throttle hold
2011-09-25 14:16:35 -07:00
Jason Short bdf6471587 Better throttle boost value 2011-09-24 21:55:54 -07:00
Jason Short 0540331426 Fixed throttle_boost 2011-09-23 15:34:18 -07:00
Jason Short 0f5c74f03a Trying to make Alt hold more aggressively change altitudes. 2011-09-23 13:58:39 -07:00
Jason Short f65390920a Added a default, but low throttle cruise value
Added a clear integrator for Rate I to prevent tip ups at launch.
2011-09-22 23:10:55 -07:00
Jason Short 5b57df5d1c Refined Throttle Timer reset
Reduced Loiter I gain to decrease overshoot.
2011-09-22 17:38:39 -07:00