Commit Graph

360 Commits

Author SHA1 Message Date
rmackay9 eb55234809 ArduCopter - updated firmware version to 2.5.3 2012-03-25 09:13:51 +09:00
rmackay9 1f253c5217 ArduCopter - altitude hold - ensure throttle_avg is initialised from g.throttle_cruise parameter 2012-03-23 23:48:24 +09:00
rmackay9 19981d4864 ArduCopter - updated to firmware version to 2.5.2 to avoid confusion with post 2.5.1 versions posted to downloads area 2012-03-23 23:12:49 +09:00
rmackay9 198ac97914 ArduCopter - updated version to 2.5.1 2012-03-20 17:08:18 +09:00
Andrew Tridgell 690ad58a64 AHRS: adapt ArduCopter for new AHRS framework 2012-03-19 17:29:02 +11:00
Jason Short 223a6f80c8 ACM: Arducopter.pde - Added a constraint to the NO_NAV mode to be similar to the Loiter and rate nav modes. 2012-03-18 22:31:22 -07:00
rmackay9 bed667c62e ArduCopter - small change to ensure both roll and pitch commands are zero before switching out of loiter_override (loiter override becomes true when roll+pitch command is greater than 5 degrees and switches back to false when both become zero)
- remove incorrect comments about when loiter target position is reset.
2012-03-18 15:16:04 +09:00
Jason Short 234a5dc65e ACM: Small fix to nav_throttle to prevent too fast of a landing. 2012-03-16 14:10:19 -07:00
Jason Short 1ecca36dd0 Fixed Scaling bug in Sonar mixing 2012-03-16 14:10:19 -07:00
analoguedevices eb530a2045 Rev'ed version number to 2.5. Added more credits 2012-03-15 02:38:54 +00:00
Jason Short 59fb1f3542 ACM: Added constraints for invalid climb rates. Robert Lefebvre had a bad sonar and very invalid rates crept into the system. 2012-03-13 21:31:16 -07:00
Jason Short 50b4c07261 Lowering the D filter for less latency and less oscillation. 2012-03-13 12:58:46 -07:00
Jason Short 6edad4d9ef ACM: Larger filter for Loiter D 2012-03-13 10:23:30 -07:00
Jason Short 38a60df189 ACM: Rate_d filter for PID loop of Loiter. 2012-03-11 23:21:49 -07:00
Jason Short 2ac29effe9 ACM: The I term in update_nav_wp with the no_nav condition was pulling from the wrong PID loop and was essentially 0 all the time. 2012-03-11 23:21:49 -07:00
Andrew Tridgell 1e47ab26f2 AP_Declination: disable library when AUTOMATIC_DECLINATION is not ENABLED
unfortunately this library was causing avrdude to fail to load the hex
to my APM2. Until we work out why, it's disabled.
2012-03-11 21:46:41 +11:00
Adam M Rivera 2e1cacd67f AP_Declination: Added call to compass.set_initial_location if the compass is enabled when the 3D fix is obtained.
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2012-03-11 20:59:47 +11:00
Jason Short 8b887b77bd ACM: Added Loiter D tuning 2012-03-10 14:17:57 -08:00
Jason Short 149a484984 ACM: Firmware rev 2012-03-10 12:45:03 -08:00
Jason Short 0ccfdc664d added Force_new_altitude call for alt hold 2012-03-10 12:37:54 -08:00
Jason Short 037221cd02 upped throttle manual boost to 225 2012-03-10 12:37:28 -08:00
Andrew Tridgell 34d25ab298 ACM: removed a lot of the special case code for quaternions 2012-03-10 10:34:31 +11:00
Andrew Tridgell e780dd2b44 ACM: change DCM loop to 100Hz
On my APM2 quad this seems to give better results
2012-03-10 10:34:31 +11:00
Andrew Tridgell 1591d41b33 ACM: make it possible to build ArduCopter with quaternions 2012-03-10 10:34:29 +11:00
Andrew Tridgell bc81d8e6ac ACM: only call the fast loop if the imu has new data
this prevents us spinning waiting for the sensors to gather some data
2012-03-10 10:34:29 +11:00
Jason Short 13e9608fb8 Consolidated Barometer pressure sensing to a single filter based on Randy's new filter class. 2012-03-08 23:13:04 -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 fe5612d38b Added define for throttle range for altitude changes, updated it to 250 2012-03-05 22:12:53 -08:00
Jason Short a096292edb added stab_d gain scheduling 2012-02-28 20:16:40 -08:00
Robert Lefebvre b7ccfb0114 Added heli_collectiveFactor array
Signed-off-by: Robert Lefebvre <robert.lefebvre@gmail.com>
2012-02-28 10:49:28 -05: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 701a21ff2f ArduCopter - modified to work with new Filter library 2012-02-28 21:02:44 +09:00
Jason Short 3ce1633157 Added Loiter Rate Tuning 2012-02-26 11:33:37 -08:00
rmackay9 41ea8e3eff ArduCopter - added #include <Filter.h> to unbreak the build! 2012-02-26 17:05:41 +09:00
rmackay9 add3133100 ArduCopter - change sonar to use new mode filter from Filter library 2012-02-26 15:35:14 +09:00
Jason Short 68739f3cc4 Based on Jani's latest logs I've made two tweaks to alt hold.
The first is to remove the filter on the throttle output for alt_hold.

The second was to open up the constraint on climb rate. This is to deal with larger than expected disturbances causing altitude changes.
2012-02-25 13:31:21 -08:00
Andrew Tridgell 6b265c5034 ACM: use a NULL gps pointer in DCM init
current DCM API does need a GPS reference passed in, but it can be
NULL
2012-02-25 15:08:49 +11:00
Andrew Tridgell ce5c7c2c85 ACM: don't pass a gps pointer to DCM
after discussion with Randy, we don't want ArduCopter to fall back to
GPS for yaw when the compass becomes unhealthy. So we shouldn't pass
the gps object to the DCM code at all.
2012-02-25 14:51:08 +11:00
Andrew Tridgell 4edf311865 ACM: ensure update_trig() doesn't cause NAN values for cos_roll/cos_pitch
the DCM matrix could have a value over 1.0 for c.x due to rounding
errors
2012-02-24 11:52:55 +11:00
Jason Short 92cfc8913a revved a version 2012-02-22 09:00:42 -08:00
Jason Short 207ffee856 made timer unsigned 2012-02-21 21:49:03 -08:00
Jason Short 7bfda28cdc removed old comments 2012-02-19 14:21:27 -08:00
Jason Short 79a9665c9d Added "slow WP" option for RTL. 2012-02-19 13:11:59 -08:00
Jason Short ba2cfee2fb Updated manual throttle control during throttle hold 2012-02-19 12:40:51 -08:00
Randy Mackay 7c4ef140b9 ArduCopter - remove unnecessary block for next GPS value before saving home location 2012-02-19 15:38:40 +09:00
Jason Short f86e1ed63f Axis lock beta (off by default) 2012-02-18 21:16:19 -08:00
Randy Mackay cd89258294 ArduCopter - updated version to 2.4 2012-02-18 18:44:29 +09:00
Jason Short 677df0fe1c added Rate_D tuning value 2012-02-17 15:23:59 -08:00
Jason Short 0d5f7ca072 upped rate loop to 250hz 2012-02-17 15:23:59 -08:00
Jason Short 43e695b1ac removed some unused vars,
formatting, made loop speed same as PIDT1 to eliminate variable.
2012-02-16 22:09:21 -08:00
Jason Short f2b6b86265 allow auto-land if failsafe is triggered 2012-02-15 10:53:54 -08:00
Jason Short 101979ed7b AP slew rate 2012-02-15 09:10:15 -08:00
Jason Short 4ecbb19dcd Added range setting via a parameter for CH6 tuning 2012-02-15 09:10:14 -08:00
Jason Short ff627a8986 removed unused Vars 2012-02-13 15:25:23 -08:00
Andrew Tridgell d2a4091716 fixed apm2beta build with AP_Param 2012-02-13 16:22:52 +11:00
Andrew Tridgell 1af6f08b1c adapted main ACM code for AP_Param 2012-02-13 16:22:52 +11:00
Jason Short 0315221bd1 Cosmetic tweaks for tuning 2012-02-11 15:29:11 -08:00
Jason Short 7c45d2bdc3 reset Rate_I for takeoff 2012-02-10 22:50:56 -08:00
Jason Short 927fc25421 made Yaw work like Roll and Pitch 2012-02-10 22:32:55 -08:00
Jason Short a27bd9db46 2.3.1v 2012-02-09 22:22:01 -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
Jason Short d161c0451f fix issue with low throttle in air 2012-02-03 13:29:59 +00:00
analoguedevices 256893f385 credits 2012-02-01 04:44:36 +00:00
analoguedevices d86dbd1c6f Incremented version number to 2.3 2012-02-01 04:39:15 +00:00
Jason Short 3050c1d765 tuning fixes 2012-01-30 21:13:03 -08:00
Jason Short d93e259289 Added more attributions 2012-01-29 21:53:44 -08:00
Jason Short af0b0d5a7f made Loiter over ride exit dependent not on speed, but centered sticks. 2012-01-29 16:15:02 -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
Jason Short 8fcb2931d7 Cosmetic changes
GPS LED lock waits for home_is_set to be true
2012-01-28 21:19:46 -08:00
Jason Short a685510c38 changed tuning range 2012-01-28 21:18:43 -08:00
Randy Mackay 2db4d2bfe6 OpticalFlow - added OF_LOITER flightmode 2012-01-28 09:27:16 +09: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 8c4b955282 added Beta 4 tag 2012-01-21 22:15:23 -08:00
Jason Short 275815a7c9 Converted to cm for distance 2012-01-21 22:04:35 -08:00
Jason Short fa06d4a2e3 Calc error for logs 2012-01-21 11:59:49 -08:00
Jason Short e9a4253cd1 added note 2012-01-20 22:52:31 -08:00
Jason Short 2fa8a343ac Added cast for comparison 2012-01-20 22:52:30 -08:00
Jason Short ba535ed956 B3 2012-01-20 22:52:29 -08:00
Jason Short 556d646cad set dampening range from 0 - .08 from 0 to .6. The new dampening code has changed units.
added the ability to force nav_throttle so we  don't get ground effects screwing up baro sensor.
Added more descriptive Rest_I functions
2012-01-20 22:52:29 -08:00
Jason Short 0f24860552 Altitude no longer resets when moving loiter WP 2012-01-20 22:52:29 -08:00
Jason Short aa1f09af83 Lowered range to more sensible values 2012-01-20 22:52:29 -08:00
Michael Oborne 7f272b4c4b fix SITL attitude hil AC 2012-01-20 16:32:25 +08:00
Doug Weibel 2ea9db84e0 Update battery monitoring code for ArduCopter
Fixes compatibility for APM2.  Also a significant update to the battery monitoring code:  We previously had monitoring modes for individual cell voltages for 3 and 4 cell lipos.  These have been removed as they were never really supported (the cell voltages were computed but were not reported or recorded anywhere).  Also, some clean-up/prep work was done for supporting monitoring 2 separate battery packs.  The CLI battery and current monitoring tests were consolidated into 1 test.
changed
2012-01-15 17:10:02 -07:00
Doug Weibel 17b3e514dc Just a little more commenting work on global variables 2012-01-15 16:11:02 -07:00
Jason Short 7e411f5fb6 This allows users to test the Auto_throttle hold or cruise value 2012-01-14 11:43:52 -08:00
Jason Short 3879e79898 b2 2012-01-14 11:37:00 -08:00
Jason Short cf51967bbb Fix for SIMPLE mode 2012-01-14 11:32:48 -08:00
Jason Short e7ad08e209 adjusted GPS watch dog not to be so aggressive,
removed unneeded flag clearing
2012-01-14 11:20:40 -08:00
Jason Short c970ba4f93 made resetting throttle cruise a function 2012-01-13 16:47:08 -08:00
Jason Short 05dce91c24 fixed GPS bug - moved to fast loop location 2012-01-13 12:47:22 -08:00
Jason Short b9419e0123 moved GPS routines to 50hz loop to avoid delay. 2012-01-12 22:59:47 -08:00
Jason Short b81f9a5d77 Version 2.2 2012-01-12 22:37:33 -08:00
Jason Short b884462ce3 removed wind comp code,
Added Landing boost code
2012-01-12 22:28:58 -08:00
Jason Short 33fe4db3fc R10 2012-01-11 22:41:51 -08:00
Jason Short db1fafaaec R9 2012-01-10 23:46:08 -08:00
Jason Short 439c15f3fc Added climb rate control
removed unused vars
2012-01-10 23:42:26 -08:00
Jason Short 9cbfcac802 Made timer unsigned 2012-01-10 23:42:26 -08:00
Pat Hickey 8d4db05f50 Rename ArduCopter/config_motors.h to config_channels.h 2012-01-09 21:57:02 -08:00
Pat Hickey b22920c0ea ArduCopter: Change TRI_FRAME yaw servo output to CH_TRI_YAW define 2012-01-09 21:57:02 -08:00
Pat Hickey 7b056f208d ArduCopter: include config_motors.h in sketch 2012-01-09 21:57:01 -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 fda12c8902 Added Acro to Rate_P 2012-01-08 14:52:10 -08:00
Jason Short a8574e813d R8 2012-01-07 22:28:03 -08:00
Jason Short ca80dc549c Made RTL hold position until it reaches altitude 2012-01-07 22:27:26 -08:00
Jason Short 058a3275c3 Revved to R7 2012-01-06 10:22:53 -08:00
Jason Short d430c847fa Changed default throttle type for failsafe to avoid checking
changed timer to 20 seconds.
2012-01-06 10:20:31 -08:00
Jason Short de912b5054 Auto_land update 2012-01-05 21:57:34 -08:00
Jason Short beac2930c9 Added auto_land to RTL 2012-01-05 21:15:12 -08:00
Jason Short a8af509517 timer set to unsigned 2012-01-04 17:31:20 -08:00
Andrew Tridgell 9ee3431928 ACM-simple: don't use uninitialised simple trig values 2012-01-05 10:13:36 +11:00
Jason Short 3ac37c09a9 Upped Revision 2012-01-04 09:28:38 -08:00
Jason Short a70fdc58a1 Cleaned up and documented each global vavriable
Added Wind compensation for Stability
Acro mode fixes
2012-01-04 09:28:37 -08:00
Jason Short 86e01fce17 Cosmetic 2011-12-31 10:54:31 -08:00
Jason Short e8db2225dd upped to r5 2011-12-31 10:05:13 -08:00
Jason Short e17c8705ba Loiter I reset 2011-12-31 09:45:25 -08:00
Jason Short e9d41897df R4 2011-12-30 23:54:02 -08:00
Jason Short 4b2979743f no longer calling reset_nav 2011-12-30 23:48:04 -08:00
Jason Short f5ffa7bd7e Updated Configs based on field testing. 2011-12-30 23:48:04 -08:00
Jason Short 09db32ee02 Added Nav_bearing, just like APlane
added fix for LOITER in missions so we don't Yaw in circles
2011-12-30 23:48:04 -08:00
Jason Short 57b2d17d8a updated rev 2011-12-29 23:02:41 -08:00
Jason Short 4535bc4fd9 lowered to nav_lat and nav_lon int16
added a version that didn't have I term added to get a better indication of velocity estimation
2011-12-29 23:02:03 -08:00
Jason Short aa2e474b80 Added 5 sec Takeoff Timer to clear i terms when lifting
Moved loiter relocation function to update_nav
moved User hooks to correct place
Added tuning for D term
2011-12-29 23:02:03 -08:00
Randy Mackay ff66a3417c OptFlow - initial support for APM2 (there are still problems) including adding ability to set Chip Select pin.
Other unrelated changes are:
a) fixed typo in 'esitmate_velocity' to 'estimate_velocity'.
b) moved init_compass from system.pde to sensors.pde which seemed consistent with other sensors.
2011-12-30 12:06:31 +09:00
Andrew Tridgell 1cc38b0701 ACM: check compass health before using it 2011-12-28 20:41:53 +11:00
Andrew Tridgell c27277c7f1 ACM: use new I2C library 2011-12-28 20:41:53 +11:00
Jason Short a8070d86df Fix for 11 channels of motors. 2011-12-26 14:39:01 -08:00
Jason Short 359d186798 added define for optflow 2011-12-23 18:45:01 -08:00
Jason Short f2d6708058 Fixed merge issues 2011-12-23 14:51:40 -08:00
Jason Short 6c5f41fe58 Begin to better integrate OptFlow, added necessary globals for Loiter estimation 2011-12-23 14:42:50 -08:00
Jason Short 2f5da31a05 change Alpha name 2011-12-18 16:38:07 -08:00
Jason Short ed818e4ccf Cleanup
removed Iterm experiment - no noticeable effect in actual flight
2011-12-16 20:47:23 -08:00
Andrew Tridgell 4bbd5392ef removed AperiodicProcess code
this code was never being used, and was more complex than it was
worth.
2011-12-17 07:29:09 +11:00
Jason Short 027b710816 renamed super simple, added framework for auto calc of throttle cruise 2011-12-15 20:51:41 -08:00
Jason Short 96ce429537 made the last step of landing stop navigating so we can drop straight down. 2011-12-14 22:08:41 -08:00
Jason Short 2a7f981fb0 added failsafe check,
enable loiter repositioning
2011-12-14 22:08:41 -08:00
Andrew Tridgell 4e4a4a685c fixed two more CONFIG_HARDWARE #ifdef bugs 2011-12-13 17:05:48 +11:00
Jason Short 6bac318def Added param option for Simple mode reset 2011-12-12 17:47:45 -08:00
Andrew Tridgell ae1ec05dd4 fixed barometer detection on APM2 2011-12-12 15:45:36 +11:00
Pat Hickey 067724b4f1 ArduCopter: update AP_Baro constructors & initializers 2011-12-11 15:21:10 -08:00
Pat Hickey 67436d7ff2 ArduCopter: Get barometer data in terms of AP_Baro interface
* Major change: Log.pde Log_Write_Control_Tuning has changed significantly
* MS5611 has no concept of RawPres and _offset_press
* Log the get_pressure() instead. (If we don't trust the barometer, what's the point?)
2011-12-11 15:21:10 -08:00
Pat Hickey 82b8f4d7b7 ArduCopter: instantiate correct AP_Baro object based on CONFIG_BARO 2011-12-11 15:21:09 -08:00
Pat Hickey 698a231dd6 ArduCopter: Rename APM_BMP085 classes to AP_Baro_BMP085 classes. 2011-12-11 15:21:09 -08:00
Randy Mackay 62a7b19600 Arducopter, RangeFinder - added SONAR_TYPE parameter and properly support the XL (default), LV and long distance XL (aka XLL) sonar types 2011-12-11 16:40:59 +09:00
Jason Short 995727383b Adjust Simple mode on the fly. 2011-12-10 23:29:29 -08:00
Jason Short f444aac706 Added SIMPLE mode reset outside of bounding box of 10M, will do more testing before enabling. 2011-12-10 10:19:20 -08:00
Jason Short 7c1a975a71 Made Baro_alt int32_t
Added home to copter bearing, home to copter distance
Added Land mode
2011-12-10 10:19:20 -08:00
Jason Short 22e4ed67aa Added Home Bearing 2011-12-10 10:19:20 -08:00
Jason Short 118a232b13 made RateP range a little more sensible
removed unused var
2011-12-06 21:03:07 -08:00
Jason Short ad94166c22 Alt_hold_patch, removed Z dampening from Manual override. Fixed integrator conversion to throttle_cruise 2011-12-04 21:32:33 -08:00
Jason Short 55b2e5339a simple patch to improve alt hold based on stability patch 2011-12-04 21:32:33 -08:00