Commit Graph

354 Commits

Author SHA1 Message Date
Jason Short c45209eaff Broken timer - removed 2012-05-29 12:56:38 -07:00
Jason Short 33d1b5a137 Speed up automatic disarming to 25 seconds for safety.
renamed AUTO_ARMING_DELAY to AUTO_DISARMING_DELAY
2012-05-29 12:41:35 -07:00
Jason Short 3ba6e1db7a Removed references to a takeoff timer 2012-05-29 11:28:40 -07:00
Jason Short 394f8c6eb0 pulling throttle low in flight turns out to be more common than thought. Removed clearing of takeoff_complete flag. This is still cleared during disarm which is automatic after 30 seconds of no throttle. 2012-05-29 11:25:04 -07:00
Jason Short a3a90287f4 changed the way takeoff complete is figured. Looking for high throttle. 2012-05-29 11:25:04 -07:00
Jason Short 4ed48510dc reversed circle_WP calculation so the next_WP refers to the destination around the circle and circle_WP refers to the center. The intent is to make it easier to see via ground station. 2012-05-27 09:21:20 -07:00
Jason Short e2086decc6 Arducopter.pde : setting rtl_approach_alt above 1 would force auto landing even if auto-landing was disabled. 2012-05-23 22:00:56 -07:00
Robert Lefebvre df4246597f Updates to CopterLEDS
Creation of Nav Blink Function.
2012-05-22 09:58:37 -04:00
Jason Short 99dee97385 Added note 2012-05-21 09:58:23 -07:00
Jason Short f8ceec2b4b added check for duplicate time-stamped GPS messages. 2012-05-18 09:54:18 -07:00
Jason Short be71cbfcc8 Arducopter.pde :
removed unneeded d_rate_filters
updated Nav routine to handle faster GPS updates
moved calc_XY_velocity to GPS read
added check for duplicate GPS reads
2012-05-17 11:05:05 -07:00
Jason Short 7278e8d1e5 removed retro loiter code since Angel has a branch now.
shrank speed filter to avoid latency
removed unused forward estimator code

placed code for switchover to gps.groundspeed at 1.5m/s

added clamp for D term when below .5m/s to eliminate noise

added hybrid I-term based on speed error and position

changes Loiter D term to use position rather than acceleration to avoid noise
2012-05-15 22:14:23 -07:00
rmackay9 eaeaa3811a ArduCopter: bug fix for reversing tri servo
Extended AP_MotorsTri class to take in pointer to rc_tail servo (rc_7) and we use this servo's REV parameter to determine whether to reverse the output to the tail servo or not
2012-05-13 12:36:46 +09:00
rmackay9 47ea92aa7f ArduCopter: updated version to 2.5.5 2012-05-13 08:47:43 +09:00
Andrew Tridgell 7866740d62 MAVLink: make ACM build with MAVLink 1.0 possible in arduino GUI 2012-04-24 22:24:58 +10:00
Adam M Rivera 2ee8237b5f ArduCopter/Navigation: Updated code to reference the new g.retro_loiter param instead of the compile define. 2012-04-23 00:19:18 -05:00
Adam M Rivera 692bbee233 Merge branch 'master' of https://code.google.com/p/ardupilot-mega into auto-approach 2012-04-23 00:03:37 -05:00
Jason Short 2aca6c64ab Added a union for casting floats to ints and back when storing Floats to the DataFlash 2012-04-21 15:17:09 -07:00
rmackay9 114e6a3551 ArduCopter - combined CH6_DAMP and CH6_STABILIZE_KD tuning parameters to avoid confusion 2012-04-21 23:24:57 +09:00
rmackay9 53ddb58c7b ArduCopter - changed optflow object to be APM2 version if necessary 2012-04-21 20:15:55 +09:00
Adam M Rivera edf15c1b9b Merge branch 'master' of https://code.google.com/p/ardupilot-mega into auto-approach 2012-04-20 11:45:38 -05:00
rmackay9 c323efc2d4 ArduCopter - regressed version back to 2.5.4 2012-04-20 21:58:32 +09:00
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