Commit Graph

1524 Commits

Author SHA1 Message Date
Jason Short b199fb22a2 Added code for self centering throttle - disabled by default. 2012-07-01 13:40:11 -07:00
Andrew Tridgell e791cad9ef AnalogSource: convert analogRead() calls to the new API
this should give us much better analog values, plus save a bunch of
CPU time
2012-07-01 15:01:05 +10:00
rmackay9 9624f8c179 ArduCopter: updated STABILIZE_ROLL_I to 0.01 (was 0.1) as instructed by Marco 2012-06-30 19:26:14 +09:00
Jason Short 60cdbe771c Circle_WP distance check fix 2012-06-29 21:20:28 -07:00
Jason Short d448ea23e6 Commands.pde: increased bad WP distance check 2012-06-29 21:20:28 -07:00
Jason Short d893cde785 navigation.pde : Added a drag/velocity prediction filter for improved I term wind correction. 2012-06-29 21:20:28 -07:00
Jason Short 59181eab3d System.pde: Toy mode details for set_mode() 2012-06-29 21:20:28 -07:00
Jason Short 7178da3538 GCS_Mavlink: added notes to #if malink10 2012-06-29 21:20:28 -07:00
Jason Short 49243bc206 defines.h: Toy Mode defines for flight modes 2012-06-29 21:20:28 -07:00
Jason Short 40e0d88d12 Config.h: Optimizing Nav gains 2012-06-29 21:20:28 -07:00
Jason Short bcf6c03157 Attitude.pde: Toy mode logic 2012-06-29 21:20:27 -07:00
Jason Short 146a4b021f Arducopter.pde: Added Toy mode refinements 2012-06-29 21:20:27 -07:00
Jason Short eb06320559 Params: Added toy_yate_rate 2012-06-29 21:20:27 -07:00
Jason Short 57b75736ce Added Toy mode to navigation 2012-06-29 21:20:27 -07:00
Jason Short c830ab6ded Aeducopter.pde: Toy mode updates 2012-06-29 21:20:27 -07:00
Adam M Rivera d399143498 commands_process.pde: Bug fix 427. By default, the copter would land after an AUTO mission. Updated to check for valid approach altitude at end of mission. 2012-06-29 21:41:56 -05:00
Andrew Tridgell 1cb96e14a9 SITL: enable the SIM_* parameters in ArduCopter and ArduPlane 2012-06-29 15:10:52 +10:00
Adam M Rivera 44ce8fc4bc ArduCopter: Loiter Timer should have been set when the approach altitude was set. Previously, land had to be enabled before auto approach would work. 2012-06-28 20:34:53 -05:00
Andrew Tridgell 7883c4a545 ACM: ArduCopter updates for new compass interface 2012-06-27 16:01:50 +10:00
Andrew Tridgell 7eb150a2f0 ACM: adapt the ArduCopter code for new barometer interface 2012-06-27 16:01:50 +10:00
Andrew Tridgell d71e82191f ACM: enable GPS in AHRS for ArduCopter
this is an experiment in centripetal correction for multicopters
2012-06-27 16:01:49 +10:00
Jason Short 57e4fabb57 Attitude.pde: Turned off boost_p for nav_throttle based on Testing feedback from Marco. 2012-06-26 10:39:42 -07:00
Jason Short 3fcd3100cc Added user editable define for Super simple radius 2012-06-26 10:38:46 -07:00
rmackay9 c034e38cbd ArduCopter HIL: changed calls to setHIL to send in time as a uint32_t (it was a float) 2012-06-26 22:50:17 +09:00
Jason Short 91cde15c27 Attitude.pde - Added small boost to alt hold for takeoff. 2012-06-25 23:12:19 -07:00
Jason Short 711bbeb6f3 GCS_Mavlink.pde : mav_nav only used in legacy Mavlink. 2012-06-25 23:08:25 -07:00
Jason Short 4a85c40f03 Added Toy Mode control 2012-06-25 23:08:25 -07:00
Jason Short 03879d9113 Added Toy Mode defines 2012-06-25 23:08:25 -07:00
Jason Short 4872880134 Arducopter.pde : Added Approach mode, added "Toy" mode fun code I'm playing with.
Added landing code to make landing happen closer to home loc
Added check for distance to Loiter WP before overriding a new Loiter position.
Moved calc_loiter_pitch_roll() to 50 hz.
removed the nav_bearing var - not used with new crosstrack.
2012-06-25 23:08:25 -07:00
Jason Short efc74a87aa commands.pde: fixed unit error for distance check 2012-06-25 23:06:28 -07:00
Jason Short 7a5347fb1f Config.h : New Gains based on testing, new Crosstrack gain. from 1.0 to .2 because of new algorithm 2012-06-25 23:06:28 -07:00
Jason Short 81c684664b GCS Mavlink.pde: change reference to nav_bearing to target_bearing. 2012-06-25 23:06:28 -07:00
Jason Short 50b3ef66a7 Navigation.pde : removed old cross tracking from Arduplane. Added new 2D cross tracking. Added use of GPS velocity when above 1.5m/s 2012-06-25 23:06:28 -07:00
Jason Short 2fdbbb87f2 inertia.pde: WIP don't fly with inertia enabled until FN. 2012-06-25 23:06:28 -07:00
Jason Short 900f169c44 Log.pde: removed nav_bearing reference and replaced with target_bearing ref 2012-06-25 23:06:28 -07:00
Andreas M. Antonopoulos 678b12af25 AC2.6: Fix battery calculation and scaling bug for MAV1.0, now same as ArduPlane
http://code.google.com/p/arducopter/issues/detail?id=430
2012-06-24 17:01:25 -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 014f0f9a99 Config.h - returned low to original 120 2012-06-20 15:22:35 -07:00
Jason Short 95f3041d25 Parameters.h: throttle_min and throttle_max now have defaults from Config.h 2012-06-20 15:02:00 -07:00
Jason Short b8016dfe48 changed define to a param for throttle_min and throttle_max 2012-06-20 15:00:53 -07:00
Jason Short ef847eecbb changed define to param for throttle_min 2012-06-20 15:00:05 -07:00
Jason Short 8ef60f2d75 Added throttle_min as a user definable param 2012-06-20 14:58:34 -07:00
Jason Short 25a67c9953 lowered minimum throttle 2012-06-20 08:47:47 -07: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 d7fab41234 decreased I term based on the tests last weekend in high winds 2012-06-20 08:47:47 -07:00
Jason Short a0978e06e5 Adjustments to the Inertial_nav
lowered Rate_I and Rate_P to be less jumpy. raised throttle_p
added a clear to rate when entering loiter
moved the raw reporting
2012-06-20 08:47:47 -07:00
Andrew Tridgell 5525180814 MAVLink: make usage of MAVLink defines more consistent 2012-06-15 16:27:11 +10:00
rmackay9 6b16ca190f ArduCopter: updated firmware to simply 2.6 (i.e. removed Epsilon) ahead of the release 2012-06-15 00:42:59 +09:00
Jason Short e261c62e6b Inertial Nav disabled by default 2012-06-13 22:37:52 -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
Jason Short ee78818f5a Raised the Max throttle to 1000, min to 200. Worked good in SIM with Tridge's motor safety patch. 2012-06-12 13:58:49 -07:00
rmackay9 c9093a1609 ArduCopter: updated firmware version to 2.6 Epsilon 2012-06-12 23:22:57 +09:00
rmackay9 1b9ed1444e ArduCopter: updated standard loiter pids.
Loiter_P (speed from distance to target) = 0.2 (was 0.35)
Loiter_Rate_P (lean angle from desired acceleration) = 2.4 (was 2.5)
Loiter_Rate_I = unchanged at 0.08
Loiter_Rate_D = 0.40 (was 0.45)
2012-06-12 20:56:31 +09:00
Jason Short ebff84d41e Added Angel's name to contrib list 2012-06-10 12:38:22 -07:00
Andrew Tridgell 8f1121c980 GPS: Use appropiate GPS_ENGINE settings in APM, ACM and rover 2012-06-10 16:36:18 +10:00
rmackay9 df72f70aba ArduCopter: updated firmware version to 2.6 Delta ahead of the next round of testing (and hopefully soon a release) 2012-06-08 21:54:09 +09:00
Andrew Tridgell bfb2c1ee87 GPS: open the GPS serial port with a 256 byte buffer
the UBLOX needs more than 128 bytes for reliable parsing
2012-06-08 16:42:03 +10: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
rmackay9 cad76d4e0f ArduCopter: updated firmware description to 2.6 Gamma 2012-06-05 21:28:13 +09:00
Andrew Tridgell af1573ad30 ACM: prevent link flood with "Low Battery" warnings
thanks to Marco for noticing this
2012-06-05 11:31:40 +10:00
Michael Oborne 1423810247 AC: add hilstate message 2012-06-04 16:24:08 +08:00
Jason Short 9cadd8c1db Bug fix: When adjusting altitude, RTL then land will fail unless this var is reset to false. 2012-06-03 22:25:27 -07:00
Jason Short 60c89ee117 Updates to Flip:
Ability to abort flip mode if things go wrong
init function to re-enter flip mode if aborted
2012-06-03 22:15:19 -07:00
Andrew Tridgell 13ae16e0c5 ACM: MAVLINK10 uses HIL_STATE
thanks to Michael for noticing this
2012-06-04 13:31:07 +10:00
Andrew Tridgell 8d28cb51fc added mavlink09 targets
allows easier building with mavlink0.9
2012-06-04 13:14:52 +10:00
Andrew Tridgell 0721089acd ACM: fixed HIL build for MAVLINK10 2012-06-04 13:14:52 +10:00
Michael Oborne 45c3c101fe fix AC hil build 2012-06-04 11:12:52 +08:00
Michael Oborne 7d2532450a enable mavlink10 by default 2012-06-04 08:02:08 +08:00
Jason Short f2edc87797 Added note to remove this unused param 2012-06-03 11:13:50 -07:00
Jason Short 9723e52a01 using current PWM rather than a re-read of the PWM. 2012-06-03 11:13:50 -07:00
Jason Short 5ce93faf51 Moved PID logging counter into define 2012-06-03 11:13:50 -07:00
rmackay9 826cffe688 ArduCopter: Ensure update_GPS does nothing when gps is disabled.
This fixes a bug in which an APM without a GPS would not work because it would constantly scan for a valid GPS long after it should have given up and moved on.
2012-06-03 23:48:45 +09:00
rmackay9 68de4e0259 ArduCopter: updated firmware version to 2.6Beta in preparation for beginning of testing 2012-06-03 17:02:35 +09:00
rmackay9 09695602d2 ArduCopter: updated firmware version to 2.6Beta in preparation for beginning of testing 2012-06-03 16:59:23 +09:00
rmackay9 8f8e91a620 ArduCopter: Another attempt at fixing the lat/lon printing bug in which small negative lattitudes or longitudes were appearing as positives.
Fixed in both ArduCopter Log.pde and the GPS Auto test sketch
2012-06-03 16:58:19 +09:00
rmackay9 df3fb5c041 ArduCopter: fixed print_latlon bug in which it would print negative lat/lon numbers incorrectly (i.e. -1234567890 would be printed as -124.xxx). 2012-06-02 12:51:12 +09:00
Jason Short 477aa6e47a RC_Channel fix for throttle output.
throttle was outputting incorrectly and allowing the user to max out the throttle leaving nothing for attitude control
2012-05-31 14:59:03 -07:00
Robert Lefebvre bafb478924 TradHeli: Incorporating Ext ESC Control 2012-05-30 21:50:25 -04:00
Robert Lefebvre 3df1aac936 Change to increase Parameter space as we have run out.
This will decrease the max number of waypoints from 186
to 169.
2012-05-30 20:41:53 -04:00
Jason Short abb426aec3 When RTLing, force home as the final location for loiter. 2012-05-30 11:06:41 -07:00
Jason Short 5b31f3ba27 moved detector to run until the throttle is low, then stop running. 2012-05-30 09:44:59 -07:00
Jason Short 42032f9845 Missed a Semicolon 2012-05-30 09:36:16 -07:00
Jason Short e6ee50f53d Altered the ground detector logic to no continuously run when landed 2012-05-30 09:34:31 -07:00
Jason Short c45209eaff Broken timer - removed 2012-05-29 12:56:38 -07:00
Jason Short 93d7712c9a Removed unused variable 2012-05-29 12:43:23 -07:00
Jason Short 9ea54b3171 Lowered I term - causes oscillations in SIM 2012-05-29 12:43:01 -07:00
Jason Short 2ae5d50261 Renamed some variables to clarify functionality. 2012-05-29 12:42:37 -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 c523a9822b Failsafe: Looking for takeoff_complete now vs unreliable GPS 2012-05-29 11:25:04 -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 72758ff3ab Added note to functionality 2012-05-29 11:25:04 -07:00
Jason Short 996cfc5c96 changed WP radius to AP_Int16 2012-05-28 22:39:29 -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
Andrew Tridgell 1fc8347af3 MAVLink: send time of GPS fix accurately
when we send a GPS_RAW message, set the usec field to the time we got
the fix from the GPS, not the current time. This makes it possible for
aerial photo processing to be more accurate, as the usec field with
more accurately reflect the planes position/time pair
2012-05-23 17:33:33 +10:00
Andrew Tridgell 5b5d43f5d0 Log: don't print '+' while erasing logs
we no longer do page based erase, so printing a + every 128 pages
makes no sense
2012-05-22 20:10:29 -07:00
Robert Lefebvre df4246597f Updates to CopterLEDS
Creation of Nav Blink Function.
2012-05-22 09:58:37 -04:00
Andrew Tridgell 27e7d425af MAVLink: allow parameter fetch during mavlink_delay()
this allows the planner to fully connect to the APM with MAVLink while
doing a DataFlash erase
2012-05-22 16:13:35 +10:00
Jason Short 198da9c5e6 Flip.pde: renamed dcm to ahrs 2012-05-21 12:58:51 -07:00
Jason Short f55da34496 Some bug fixes to Auto-flip. I ran this code through the sim and found these flaws. 2012-05-21 11:07:41 -07:00
Jason Short 99dee97385 Added note 2012-05-21 09:58:23 -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
Jason Short f8ceec2b4b added check for duplicate time-stamped GPS messages. 2012-05-18 09:54:18 -07:00
Jason Short 95076bf08e navigation.pde:
removed unneeded WP_Distance check
remove unneeded return for Navigate
removed unneeded rate_D calcs
removed unused functions
2012-05-17 11:05:05 -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
Jason Short cb68adfff2 Loiter Gains based on new SIM 2012-05-15 22:01:01 -07:00
Robert Lefebvre 17a1b6d672 Fixed Syntax error. 2012-05-15 12:35:35 -04:00
Robert Lefebvre a9349a6e87 More CopterLEDS changes.
Merged CopterLEDS and Piezo functions to eliminate pin conflict on APM2.  Created new Parameter bit to turn piezo function on and off from MP. Moved GPS and Aux pin assignments to allow commonality between APM1 and 2.  Set LED_Mode parameter default to 9 in order to make CopterLEDS completely backwards compatible with old Motor LEDS and Piezo code.  Legacy users should see no difference.
2012-05-15 12:00:21 -04:00
Robert Lefebvre 9e73dc4bd8 CopterLEDS changes for APM2 2012-05-15 10:07:03 -04: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
rmackay9 ee20f887b5 ArduCopter: fixed compile error by declaring extern print_latlon 2012-04-30 21:44:27 +09:00
Andrew Tridgell 94b763fa1e ACM: fixed HIL build 2012-04-30 22:42:17 +10:00
rmackay9 ed9c59879f ArduCopter: restored gps test in CLI
Added check so not enabled when using 1280.  Also fixed comments in other tests to explain the check for the 1280.
2012-04-30 17:29:50 +09:00
Adam M Rivera 292f9699fa Parameters.pde/AP_MotorsHeli: Updated comments to leverage the new value aliases 2012-04-28 20:50:41 -05:00
Adam M Rivera 2a85a64b6e Parameters.pde: Added value aliases to comments 2012-04-28 20:35:22 -05:00
Adam M Rivera c03f1d04ea Parameters.pde: Added more parameter comments. 2012-04-28 12:14:17 -05:00
Andrew Tridgell 8134c9a883 autotest: fixes for MAVLink 1.0 in autotest 2012-04-27 15:15:53 +10:00
Adam M Rivera 21886104a6 Parameters.pde/AP_MotorsHeli.cpp: Added comments from Roberts clone. 2012-04-26 18:26:14 -05:00
Adam M Rivera 09ffc69d93 Changed the marker for Group parameters to @Group. 2012-04-25 12:27:51 -05:00
Adam M Rivera 0132392e36 Parameters.pde: Added lib comments. 2012-04-25 11:23:46 -05:00
Adam M Rivera 74789273b7 Merge branch 'master' of https://code.google.com/p/ardupilot-mega into param-suffix 2012-04-24 14:11:54 -05:00
Adam M Rivera f70a4e61ea Parameters.pde: Updated comment schema to include the parameter name which becomes the XML node that contains the meta data. 2012-04-24 13:11:16 -05:00
Adam M Rivera 8c607d93fc Parameters.pde: Added new comment structure to a few parameters for testing. 2012-04-24 11:37:33 -05:00
Andrew Tridgell 7866740d62 MAVLink: make ACM build with MAVLink 1.0 possible in arduino GUI 2012-04-24 22:24:58 +10:00
Andrew Tridgell 712b7184be ACM: added support for MAVLink 1.0 to ArduCopter
most operations should now work
2012-04-24 19:54:20 +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 ec06638db6 Parameters: Added g.retro_loiter which is configurable by the user via the MP. 2012-04-23 00:17:52 -05:00
Adam M Rivera 788df5ed6f config.h: Removed comment. 2012-04-23 00:16:41 -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 cb863dd483 Log.pde : Updated Flash Logging to log Floats properly vs scaled integers. 2012-04-21 15:25:53 -07: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 3b5ffe0f61 ArduCopter - config.h - set standard RC_SPEED to 125 for helicopter frame 2012-04-21 23:46:36 +09: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 bd8534ef14 ArduCopter - Attitude.pde - added logging of optical flow pid controller 2012-04-21 20:17:12 +09:00
rmackay9 53ddb58c7b ArduCopter - changed optflow object to be APM2 version if necessary 2012-04-21 20:15:55 +09:00
rmackay9 ce6dd8bb32 ArduCopter - changed Optical Flow for APM2 to use A3 pin 2012-04-21 20:15:16 +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
James Goppert 1bc4d54ce9 Worked on ArduCopter cmake options. 2012-04-19 16:05:08 -04: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 4430f75344 navigation.pde: Put the new calc_GPS_velocity method in a compiler if that checks the new RETRO_LOITER_MODE config value (saves space and ensures its not being used unless retro loiter mode is enabled) 2012-04-19 10:21:04 -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 c7c6dd70b9 navigation.pde: Added calc_GPS_velocity. Added constraint to x/y error and x/y rate error. 2012-04-18 23:06:15 -05:00
James Goppert f094085c25 Improved cmake options. 2012-04-18 23:15:29 -04:00
James Goppert 0a38e2b8d4 Updated ArduPlane/ArduCopter cmake options. 2012-04-18 15:16:02 -04:00
Adam M Rivera 5ee15da73b Planner/defines.h: Updated the enumeration value for APPROACH so as not to disturb the order of the universe. 2012-04-18 10:32:01 -05:00
James Goppert 26e3d6ae45 Switched to project specific cmake lists.
This is better since each project has very different options.
2012-04-17 23:07:20 -04: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 3146c22ea8 commands_logic.pde: Added write to constrained value to EEPROM. 2012-04-16 14:03:33 -05:00
Adam M Rivera 3135cd91d0 config.h: Added RTL_APPROACH_DELAY config value. 2012-04-16 14:00:08 -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 b611b6a1e8 system.pde: Updated param name to loiter_timer. 2012-04-16 10:12:30 -05:00
Adam M Rivera 03e11cf893 commands_logic: Allowed for an approach alt as low as 1m. Added a check to make sure we are currently above our target approach alt. 2012-04-16 10:11:50 -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
Adam M Rivera 2d096c401f Parameters: Changed rtl_approach_alt to float to support more granular altitudes 2012-04-16 10:06:29 -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
Andrew Tridgell 5a9ad6ddbb AHRS: enable AHRS_ group in ArduCopter 2012-04-16 20:55:14 +10: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 0027c9253b commands_logic: Added check to make sure the do_approach method is not being used to land. 2012-04-15 16:57:49 -05:00
Adam M Rivera 70d67b0791 System: Added handler for the new APPROACH flight mode which will initiate an approach to a target alt as defined by the user. 2012-04-15 16:55:34 -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
Adam M Rivera d12bf86876 commands_logic: Added do_approach() to set the new target alt based on the user defined value. 2012-04-15 16:53:25 -05:00
Adam M Rivera fb5dc3085b Defines: Added new control mode (APPROACH). 2012-04-15 16:52:32 -05:00
Adam M Rivera f5e0b002ba Parameters: Added new APPROACH_ALT params (g.rtl_approach_alt) which stored the users desired target altitude after RTL is complete. 2012-04-15 16:51:41 -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 a429c78d20 ArduCopter - LEDS - set new output pins to OUTPUT to support COPTER_LEDS.
Code by Robert Lefebvre
2012-04-12 22:55:40 +09:00
rmackay9 663eda6d47 ArduCopter - LEDS - define pins to be used for COPTER_LEDS.
Code by Robert Lefebvre
2012-04-12 22:55:36 +09:00
rmackay9 ac9555a3b4 ArduCopter - LEDS - added new COPTER_LEDS definition
Code by Robert Lefebvre
2012-04-12 22:55:32 +09:00
rmackay9 d1a5d1f94c ArduCopter - LEDS - two new parameters to support COPTER_LEDS.
Code by Robert Lefebvre.
2012-04-12 22:55:28 +09:00
rmackay9 8f0bc57967 ArduCopter - navigation.pde - added logging of Loiter PID controllers 2012-04-11 23:52:25 +09:00
rmackay9 023378a214 ArduCopter - Parameters.h - changed initialisation order to remove compiler warning (have not changed enum values so shouldn't require eeprom format id update) 2012-04-09 17:37:06 +09:00
rmackay9 c7edd7857c ArduCopter - added dataflash logging of roll and pitch rate controllers 2012-04-08 10:19:20 +09:00
rmackay9 0607be8ea5 ArduCopter - removed unused motor pde files including heli.pde, motors_hexa.pde, motors_octa.pde, motors_octa_quad.pde, motors_tri.pde and motors_y6.pde 2012-04-04 23:06:12 +09:00
rmackay9 2128085576 ArduCopter - test.pde - changed references "motor_armed" to "motors.armed()" as part of move to AP_Motors library.
Change to ESC initialisation calls to use motors.throttle_pass_through method of AP_Motors class.
2012-04-04 23:05:26 +09:00
rmackay9 2fc3b740c4 ArduCopter - system.pde - changed references to "motor_armed" to "motors.armed()" as part of the move to use AP_Motors library. 2012-04-04 23:03:21 +09:00
rmackay9 5e2147de1f ArduCopter - setup.pde - changed cli for helicopter to call the new AP_Motors class's parameters instead of the global parameters.
changed init_esc to call the AP_Motor's class's "throttle_pass_through" function.
2012-04-04 23:02:29 +09:00
rmackay9 1701cac0b1 ArduCopter - radio.pde - changed motor initialisation to set update rate, frame orientation, min and max throttle to AP_Motors class.
Note: perhaps the motors speed at least should be moved to a parameter within the motors class.
output_min function greatly simplified as this is handled by the AP_Motors class.
2012-04-04 23:00:56 +09:00
rmackay9 0f4203a755 ArduCopter - motors.pde - changed references to "motor_armed" to "motors.armed()" because we've moved to using the AP_Motors class.
Simplified set_servos_4 function which was responsible for calling "output_motors_armed" or "output_motors_disarmed" as this determination as to whether the motors are armed or not is handled within the AP_Motors class.
2012-04-04 22:58:42 +09:00
rmackay9 00d540bfa9 ArduCopter - leds.pde - changed refrences to "motor_armed" to "motors.armed()" 2012-04-04 22:57:50 +09:00
rmackay9 ffd77f58ab ArduCopter - removed references to MOT_1 etc as these are now within the AP_Motors class (i.e. MOT_1 has become AP_MOTORS_MOT_1) 2012-04-04 22:56:07 +09:00
rmackay9 929e933b69 ArduCopter - increased firmware version to 118. Removed nearly all heli parameters as these are all created by the AP_MotorHeli class now.
Note: we cannot move the heli_servos to the AP_MotorHeli class yet because of a small issue in the parameters class.
2012-04-04 22:55:07 +09:00
rmackay9 acc24291f3 ArduCopter - Log.pde - changed MOT output to dataflash to take values from AP_Motors class's motor_out array instead of the global motor_out array. 2012-04-04 22:53:21 +09:00
rmackay9 86d2a9ffdb ArduCopter - GCS_Mavlink.pde - changed output to ground station to use new AP_Motor's class motors array inplace of the global "motor_out" array. 2012-04-04 22:52:26 +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
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 1e0a2fb0be MAVLink: don't waste 100 bytes of bandwidth sending 1 byte of information
the GPS_STATUS message is a massive waste of bandwidth, but it is the
only message that tells us the number of visible satellites. So only
send it if that information changes.

This makes MAVLink work better at low baud rates
2012-03-30 17:46:20 +11:00
Andrew Tridgell 0985327331 ACM: use set_blocking_writes(false) when we arm motors 2012-03-30 17:46:20 +11:00
Andrew Tridgell 36e741b078 MAVLink: raise the serial transmit buffer size to 256 bytes
the 128 byte serial transmit buffer was causing significant problems
with queueing of mavlink messages. With 256 bytes we can fit a lot
more messages out in each pass of the code, which makes telemetry more
efficient

As we discussed on the dev call, we now have enough free ram for this
to be worthwhile
2012-03-30 17:46:20 +11: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 8ccf3a05f0 Mavlink: fixed warnings about limits on int32 values 2012-03-27 15:37:25 +11: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
Andrew Tridgell 4821eb4807 ACM: enable the new compass offset nulling in ACM 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
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
Robert Lefebvre 872ec65afa Fix Auto_Trim to allow it to actually be called when setup on Ch7 pulldown menu in MP. 2012-03-23 09:17:58 -04:00
Jason Short 74893f6959 Throttle_hold was in APM_Config - which is ignored by the Mission planner Hex generator 2012-03-22 10:01:24 -07:00
rmackay9 be22deb56f ArduCopter - motors_quad.pde - corrected test sequence for + configuration 2012-03-21 22:04:50 +09:00
rmackay9 7dc18b53ad ArduCopter - navigation - corrected comment in check_missed_wp function to clarify that you've passed the waypoint when the direction to the way point is more than 100 degrees off (not 10 degrees off) from your original bearing towards the waypoint 2012-03-20 17:11:22 +09:00
rmackay9 198ac97914 ArduCopter - updated version to 2.5.1 2012-03-20 17:08:18 +09:00
rmackay9 0ba48a8556 ArduCopter - increased default THROTTLE_CRUISE to 450 2012-03-20 16:34:07 +09:00
rmackay9 ce6b1ccc75 ArduCopter - Navigation.pde - corrected comment re wp_distance and get_distance to clarify that they are in cm (not meters!) 2012-03-20 16:13:38 +09:00
Andrew Tridgell dc71191f25 MAVLink: constrain variable changes to the datatype range
if someone tries to set a AP_Int16 to a value of 300000, they now get
32767 instead of -27678
2012-03-19 17:29:02 +11: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
Jason Short 722a4d01e8 ACM: Attitude.pde - consolidated wind I term resets 2012-03-18 22:31:21 -07:00
Jason Short e42c64f94e ACM: system.pde - removed reset_nav_I() to consolidate the wind control reset. 2012-03-18 22:31:21 -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
rmackay9 7bf4e22c7b ArduCopter - remove reference to AUTO_RESET_LOITER that is not used anymore 2012-03-18 14:53:19 +09:00
rmackay9 485cebf85c ArduCopter - bug fix to calc_XY_velocity (was using uninitialised last_longitutde and last_latitude for speed calculations) 2012-03-18 12:11:12 +09:00
Jason Short 27f276a066 ACM: Lowered gains from flight tests today with 3DR Quad 2012-03-17 11:04:01 -07:00
Jason Short f6638d00d6 ACM: Smoother Speed calcs 2012-03-16 14:10:19 -07:00
Jason Short 09995aed62 ACM: Softer Loiter Gains 2012-03-16 14:10:19 -07: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 d52b93849e ACM: Fixed comment 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
Jason Short 0c6a87db3f ACM: Disabled D term experiment for Loiter until more testing 2012-03-15 19:20:03 -07:00
Jason Short ce14ef1b2b Tune down Loiter_P a hair 2012-03-15 19:17:27 -07:00
Robert Lefebvre 0bc40f51fb Small fix on the Traditional Helicopter Collective-Yaw compensation calculation. 2012-03-15 20:14:18 -04:00
rmackay9 eea8d67a1e ArduCopter - removed #define AUTOMATIC_DECLINATION ENABLED line to ensure users don't try and enable it because it needs a bit more work before it's ready for general use 2012-03-15 21:58:42 +09: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 72d03a8046 ACM: Loiter tuning updates, turned up I a bit, a higher I will work better if the system is well tuned. 2012-03-13 10:23:31 -07:00
Jason Short 0edc1020ac ACM: Loiter D performance updates 2012-03-13 10:23:31 -07:00
Jason Short 6edad4d9ef ACM: Larger filter for Loiter D 2012-03-13 10:23:30 -07:00
Jason Short 953b93293e ACM: removing old define 2012-03-12 13:11:30 -07:00
Jason Short 580c5e109e ACM: Got the sign wrong. I'm using the derivative of the error now and not the sensor, so the sign was reversed. 2012-03-12 13:11:05 -07:00
Jason Short 38153f15e0 ACM: Made Loiter_D 0 by default. Accidentally left it on by default. 2012-03-12 10:37:15 -07:00
Jason Short 56d2b9ef05 ACM: Broke out the D term for the PID loop to add custom filtering. The current AC_PID filtering wasn't working for this application and we needed more smoothing. Bad pitch oscillations were being transmitted to the copter. 2012-03-11 23:21:49 -07:00
Jason Short 5c3cb1c5d0 ACM: removed Filtering code for motors in Quad for testing 2012-03-11 23:21:49 -07:00
Jason Short d9ccd4f6bd ACM: made same as Loiter I 2012-03-11 23:21:49 -07:00
Jason Short e279106b44 ACM: Tuning based on flights today 2012-03-11 23:21:49 -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
rmackay9 7cf635889d ArduCopter - Log.pde - added wrap_360 to compass heading field of ATT message to resolve overflow problem that caused heading to appear as being off by 70 degrees 2012-03-12 12:09:04 +09: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
Adam M Rivera 566bbed7ad AP_Declination: Added new config value to allow the user to have the declination overwritten on every 3D fix.
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 7b2b5e858e ACM: Added Loiter_D for tuning as #23 2012-03-10 14:17:16 -08:00
Jason Short 149a484984 ACM: Firmware rev 2012-03-10 12:45:03 -08:00
Jason Short a9e7194e3d ACM: disabled auto_calibration until more testing can be done 2012-03-10 12:44:49 -08:00
Jason Short 3c1f4b1ad7 ACM: changed alt hold initialization of altitude to be immediate 2012-03-10 12:44:18 -08:00
Jason Short 68d210660e ACM: Added note about scaling rates 2012-03-10 12:43:28 -08:00
Jason Short 4b75f74d2c ACM: Altered the scaling speed for altitude changes for faster rises. 2012-03-10 12:43:01 -08:00
Jason Short 874f5aaef6 ACM: Added force_new_altitude call to do immediate changes in altitude and no gradual changes. 2012-03-10 12:42:22 -08:00
Jason Short 9f47a79a3a ACM: decreased rate P for alt hold to remove bumpy repsonse 2012-03-10 12:41:06 -08:00
Jason Short 11e5f7d40f ACM: Increased the altitude error P for smoother alt hold response 2012-03-10 12:40:44 -08:00
Jason Short 20a3cfdcde decreased the loiter rate P for overshoot 2012-03-10 12:40:07 -08: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 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
rmackay9 9986776e0d ArduCopter - fixed small compile warning about unused x_iterm and y_iterm in navigation.pde 2012-03-11 01:27:58 +09:00
rmackay9 a72b20f42d ArduCopter - fix to dataflash logging of Mag heading 2012-03-11 01:27:29 +09:00
Andrew Tridgell f39d8dbde8 GCS: get_integrator() is now get_gyro_drift() in DCM 2012-03-10 10:34:33 +11:00
Andrew Tridgell 4f739ea28f make 'ENABLE' and 'ENABLED' mean the same things
users get this wrong far too often!
2012-03-10 10:34:33 +11:00
Andrew Tridgell a874f920d5 ACM: removed the ADC filtering code 2012-03-10 10:34:32 +11:00
Andrew Tridgell e2c525434a ACM: removed quaternion special cases in CLI code 2012-03-10 10:34:31 +11:00
Andrew Tridgell e870e7bd82 ACM: removed the DCM tuning overrides
not needed now that DCM scales with deltat
2012-03-10 10:34:31 +11:00
Andrew Tridgell 13bddf05b0 ACM: removed the special case for quaternions in GCS code 2012-03-10 10:34:31 +11:00
Andrew Tridgell 1547977e1b ACM: no need to fetch offsets at startup
AP_Param handles this
2012-03-10 10:34:31 +11: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 756a91a3ee ACM: removed incorrect mode definition 2012-03-10 10:34:30 +11:00
Andrew Tridgell 04826065ef Quaternion: show "Quaternion test" on startup if enabled 2012-03-10 10:34:29 +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
Andrew Tridgell a54d6f744e HWSTATUS: if we don't know the voltage, report it as zero
this will tell us if board_voltage() is really working
2012-03-10 10:34:28 +11:00
Andrew Tridgell 9393b21a8d ACM: adjust yaw drift correction constants
this should give the compass a bit more authority
2012-03-10 10:34:28 +11:00
Andrew Tridgell b07a3eb966 ACM: added SIMSTATE, DCM and HWSTATUS messages to ACM 2012-03-10 10:34:27 +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 df812dd78a temp remove filter for quad motors during testing. It's unlikely this filter did anything at all to be honest. 2012-03-06 22:23:06 -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 5117ddff26 ACM: Updated config values 2012-03-06 22:12:24 -08:00
rmackay9 8717d7dd7c ArduCopter - fix for stability patch and motor filter meant to deal with engines tendency to speed up faster than they slow down 2012-03-06 23:20:30 +09:00
rmackay9 8af43c4a19 ArduCopter - fixed typo in motor filtering for octa, octa_quad and y6 that is suppose to correct for props speeding up faster than they slow down. 2012-03-06 22:19:19 +09:00
rmackay9 29aea35eae ArduCopter - added OCTA_QUAD_FRAME to comments in APM_Configh.h to help user select frame when compiling with arduino 2012-03-06 22:15:02 +09:00
Jason Short fe5612d38b Added define for throttle range for altitude changes, updated it to 250 2012-03-05 22:12:53 -08:00
Robert Lefebvre a7e0fc7774 Added support for TradHeli H1 swashplate type. Added new param heli_h1_swash_enabled.
Signed-off-by: Robert Lefebvre <robert.lefebvre@gmail.com>
2012-03-03 08:14:14 -05:00
Andrew Tridgell 3745dfd59f ACM: use g.rc_speed for all APM_RC.SetFastOutputChannels calls 2012-03-02 17:57:08 +11:00
Andrew Tridgell 91c3f993b4 ACM: set default RC fast speed to 400Hz 2012-03-02 17:57:08 +11:00
Andrew Tridgell bfca928211 ACM: added RC_SPEED MAVLink parameter
this will set the speed for APM_RC.SetFastOutputChannels()
2012-03-02 17:57:08 +11:00
Andrew Tridgell 1e2b57410c ACM: fixed Parameters.h to avoid duplicate keys
unfortunately everyone needs to reload
2012-03-02 15:48:28 +11:00
Andrew Tridgell fcb1b9ba95 ACM: added board_voltage() 2012-03-02 15:48:28 +11:00
Robert Lefebvre c84d864cd6 Rescale TradHeli roll_out and pitch_out into the min and max ranges to provide linear motion across the input range instead of stopping when the input hits the constrain value. These calculations are based on an assumption of the user specified roll_max and pitch_max coming into this equation at 4500 or less, and based on the original assumption of the total g.heli_servo_x.servo_out range being -4500 to 4500.
Signed-off-by: Robert Lefebvre <robert.lefebvre@gmail.com>
2012-03-01 22:04:50 -05:00
Jason Short 4e2a54566b added stab_d gain scheduling - off by default 2012-02-28 20:16:40 -08:00
Jason Short 27f6afd178 added stab_d gain scheduling 2012-02-28 20:16:40 -08:00
Jason Short a096292edb added stab_d gain scheduling 2012-02-28 20:16:40 -08:00
Jason Short 6ca8aeecf3 added stab_d gain scheduling 2012-02-28 20:16:40 -08:00
Jason Short 4b1d847a3a added option for stab_d gain scheduling 2012-02-28 20:16:40 -08:00
Jason Short 4ef4a19f8e Added test for stab_d gain scheduling. 2012-02-28 20:16:40 -08:00
Pat Hickey ccb8c31966 Cleanup: rm ArduCopter/GCS_Mavlink\ copy.txt
* Not needed, but we can always checkout an old version if it is.

Hi Pat,
This may have been my WIP for the Mavlink 1.0 conversion. I tried to
give Tridge a head start on it. I've made small updates to it in
parallel to the current Mavlink. You can delete it as he would have used
it by now if he felt it was helpful.

Jason

On Feb 28, 2012, at 4:08 PM, Pat Hickey wrote:

It looks like this file was checked in by accident, possibly, but you've
made a few small changes to it since creating it.

Is it important? Should we get rid of it?

Git log of file below.

Thanks
Pat
...
2012-02-28 16:28:27 -08:00
Pat Hickey 00180e7084 Cleanup: rename files with spaces in their names, replace with underscores
* Skipped /Tools/ArdupilotMegaPlanner/Resources/new...
  and /archive/Configurator/Source/Utilities/TDMS/G...
  because I don't want to mess with that.
2012-02-28 16:14:31 -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 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
rmackay9 701a21ff2f ArduCopter - modified to work with new Filter library 2012-02-28 21:02:44 +09:00
Jason Short f8e9fa8b61 Set loiter rate enabled by default 2012-02-26 12:29:28 -08:00
Jason Short bab1faf644 Added OPtion for non-rate based loiter 2012-02-26 11:33:37 -08:00
Jason Short 9a2be4701f removed Constraint that caused JLN's horizontal drift. 2012-02-26 11:33:37 -08:00
Jason Short 3ce1633157 Added Loiter Rate Tuning 2012-02-26 11:33:37 -08:00
Jason Short 1b7a038043 Added Loiter_rate_tuning 2012-02-26 11:33:36 -08:00
Jason Short 00d5ad9343 Added more Logging for PIDs. 2012-02-26 11:33:36 -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 e4e8189448 added a simple rest of nav_throttle just in case 2012-02-25 13:31:21 -08:00
Jason Short cd55498a5c increased speed of alt hold I term based on Jani's Logs 2012-02-25 13:31:21 -08:00
Jason Short a3f65b4a23 increased the rate error for more responsive alt hold 2012-02-25 13:31:21 -08: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 3fe5b3151b allow MAG_ENABLE to be changed in flight
this disables the compass in DCM if MAG_ENABLE is changed in
flight. Without this we would use a fixed yaw once the compass is
disabled

This also makes sure we don't pass the compass to DCM till we have
done a read. This ensures we have a good compass fix for the initial
DCM heading
2012-02-25 14:51:09 +11:00
Andrew Tridgell d1f655beee ACM: check the return of compass.init()
if the compass fails to initialise then don't pass it to DCM, or we
will get no yaw control. Report the init failure to the user.
2012-02-25 14:51:08 +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 17718720b1 GCS: force scalar type in copy_name()
this enables access to compass offsets over MAVLink
2012-02-25 11:37:20 +11:00
Andrew Tridgell 007a6b8958 AP_Param: added special handling for Vector3f
We would like to be able to use Vector3f as a parameter while exposing
the individual elements of the vector as MAVLink parameters. This
change to AP_Param makes that possible, by giving AP_Vector3f a dual
personality
2012-02-25 11:37:20 +11:00
Jason Short ab945f36df Compass heading added to ATT log 2012-02-24 12:11:15 -08:00
rmackay9 ab0e1d7632 TradHeli - increase max yaw input to 45 degrees 2012-02-24 20:18:40 +09:00
Jason Short ed5db98522 updated Gains for Marco's loiter test 2012-02-23 22:03:26 -08:00
Jason Short 22982cda0f Loiter updates 2012-02-23 22:03:26 -08: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 b1340bbf80 added a constraint to D term 2012-02-23 09:14:44 -08:00
Andrew Tridgell b231112957 DCM: renorm_sqrt_count is now called renorm_range_count 2012-02-23 08:16:08 +11:00
Jason Short 128f19cdf7 Emile's Fixes 2012-02-22 10:27:34 -08:00
Jason Short ac5a4830a1 Marco's Hexa Motors 2012-02-22 09:55:44 -08: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 ac81ddef04 commented out control mode debug print 2012-02-21 21:48:07 -08:00
Jason Short 7bfda28cdc removed old comments 2012-02-19 14:21:27 -08:00
Jason Short 70d7a1f5d0 Added slow_wp default in AP mode 2012-02-19 13:15:40 -08:00