Commit Graph

382 Commits

Author SHA1 Message Date
Adam M Rivera d09916422a Merge branch 'retro-loiter' of https://code.google.com/r/a432511-wip into auto-approach
Conflicts:
	Tools/ArdupilotMegaPlanner/Common.cs
2012-04-19 11:08:34 -05:00
Adam M Rivera 9181eedf5a Merge branch 'master' of https://code.google.com/p/ardupilot-mega into retro-loiter 2012-04-19 10:17:36 -05:00
Adam M Rivera ad13854ab7 Loiter: Made the "retro loiter" routines configurable. Add RETRO_LOITER_MODE ENABLED to APM_Config.h to enable the older loiter shtuff. 2012-04-19 10:16:29 -05:00
Adam M Rivera 3995381800 Arducopter.pde: Moved gps to 10hz. Changed calc_XY_velocity to calc_GPS_velocity. 2012-04-18 23:07:35 -05:00
Adam M Rivera baf8218b58 ArduCopter: Added code to prevent mode from switching to APPROACH on every loiter. 2012-04-16 16:29:54 -05:00
Adam M Rivera b891622210 ArduCopter: Changed millis compare to use new config value for approach delay. 2012-04-16 14:04:30 -05:00
Adam M Rivera 8128fb2d5f Merge branch 'master' of https://code.google.com/p/ardupilot-mega into auto-approach
Conflicts:
	ArduCopter/Parameters.h
2012-04-16 10:23:01 -05:00
Adam M Rivera 637f778dd0 ArduCopter: Updated param name from auto_land_timer to loiter_timer, because it could really be used for more routines like auto-approach. Added timer before approach (20s). 2012-04-16 10:07:57 -05:00
rmackay9 4dadd888d8 ArduCopter - CH6 Tuning - added AHRS_YAW_KP parameter as 30. Now you can easily set the amount that the mag is used to correct the gyro based yaw estimate in the DCM 2012-04-16 23:47:57 +09:00
Adam M Rivera f27b5d538b ArduCopter, commands_logic: Updated logic to allow as low as 5m. 2012-04-15 19:50:05 -05:00
Adam M Rivera e4940ec3bb ArduCopter: Added check to make sure user defined approach alt is at least 5. 2012-04-15 16:58:22 -05:00
Adam M Rivera d1a7fdb9ef ArduCopter: Added check to g.rtl_approach_alt, which if greater than zero will initiate an approach to the target alt rather than land. 2012-04-15 16:54:43 -05:00
rmackay9 ccb21613b5 ArduCopter - updated firmware version to "2.6 Beta" 2012-04-14 14:26:44 +09:00
rmackay9 33bd558a94 ArduCopter - LEDS - main code to support COPTER_LEDS.
Code by Robert Lefebvre
2012-04-12 22:55:44 +09:00
rmackay9 544237d60a ArduCopter - add includes for new AP_Motors classes.
Remove global motor_filtered and motor_out arrays.
Removed all global heli variables.
replace "motor_armed" with "motors.armed()"
removed output to rc_4 for tri because this is now handled by AP_MotorsTri class
2012-04-04 22:50:43 +09:00
Andrew Tridgell 40d7b07789 MAVLink: port the new adaptive flow control to ArduCopter
This allows for arbitrary stream rates, and supports flow control if
you are using a 3DR radio
2012-04-02 11:18:53 +10:00
rmackay9 b0c9a25024 ArduCopter - CH6 tuning - changed Roll/Pitch Rate D tuning to use the user supplied tuning range instead of the range / 100.
also changed heli_ext_gyro_gain to make it use the tuning range directly.
2012-03-31 09:28:25 +09:00
Andrew Tridgell 58f539ca35 ACM: removed FORCE_AUTOMATIC_DECLINATION_UPDATE
we now have the EEPROM option COMPASS_AUTODEC instead
2012-03-30 14:25:27 +11:00
Adam M Rivera 0727955fe3 ArduCopter: Changed implementation of configuration value for automatic declination. There is now a FORCE_AUTOMATIC_DECLINATION_UPDATE that when enabled will update the declination on every GPS 3D fix regardless of whether or not the user saved a value to the EEPROM. By default the declination will only be set by the automatic declination routine if the user has not saved a declination to the EEPROM. 2012-03-30 14:25:06 +11:00
rmackay9 a12a7a7d87 ArduCopter - added CH6_STABILIZE_KD tuning value 2012-03-29 21:09:41 +09:00
rmackay9 2cc87af180 Added multiple new tuning parameters to the inflight channel 6 tuning feature:
#define CH6_YAW_KI 24
        #define CH6_ACRO_KP 25
        #define CH6_YAW_RATE_KD 26
        #define CH6_LOITER_KI 27
        #define CH6_LOITER_RATE_KI 28
2012-03-28 23:58:58 +09:00
Andrew Tridgell 4821eb4807 ACM: enable the new compass offset nulling in ACM 2012-03-27 15:37:24 +11:00
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