Commit Graph

1254 Commits

Author SHA1 Message Date
Andrew Tridgell
b676caa626 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
eeab4c5363 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
c76ac4543b Added user editable define for Super simple radius 2012-06-26 10:38:46 -07:00
rmackay9
068fe64b9b 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
812bf7d874 Attitude.pde - Added small boost to alt hold for takeoff. 2012-06-25 23:12:19 -07:00
Jason Short
46fb3b783a GCS_Mavlink.pde : mav_nav only used in legacy Mavlink. 2012-06-25 23:08:25 -07:00
Jason Short
cd93c40f09 Added Toy Mode control 2012-06-25 23:08:25 -07:00
Jason Short
807c4ced34 Added Toy Mode defines 2012-06-25 23:08:25 -07:00
Jason Short
80d15368bc 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
7f92d702ab commands.pde: fixed unit error for distance check 2012-06-25 23:06:28 -07:00
Jason Short
a0dc1f7ab1 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
c71c503c84 GCS Mavlink.pde: change reference to nav_bearing to target_bearing. 2012-06-25 23:06:28 -07:00
Jason Short
53d2a46cd6 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
92d481c08c inertia.pde: WIP don't fly with inertia enabled until FN. 2012-06-25 23:06:28 -07:00
Jason Short
28829b0d60 Log.pde: removed nav_bearing reference and replaced with target_bearing ref 2012-06-25 23:06:28 -07:00
Andreas M. Antonopoulos
bef005b5f2 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
1064dcbd34 Open up constraint on Rate Yaw Output for all copters. 2012-06-22 10:06:01 -04:00
Jason Short
7e0708ca36 Config.h - returned low to original 120 2012-06-20 15:22:35 -07:00
Jason Short
839b8865aa Parameters.h: throttle_min and throttle_max now have defaults from Config.h 2012-06-20 15:02:00 -07:00
Jason Short
efdf0a7fc8 changed define to a param for throttle_min and throttle_max 2012-06-20 15:00:53 -07:00
Jason Short
e8510faf5d changed define to param for throttle_min 2012-06-20 15:00:05 -07:00
Jason Short
6020f6d9fa Added throttle_min as a user definable param 2012-06-20 14:58:34 -07:00
Jason Short
4f18e7f80b lowered minimum throttle 2012-06-20 08:47:47 -07:00
Jason Short
27e0aee03f 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
39a253a273 decreased I term based on the tests last weekend in high winds 2012-06-20 08:47:47 -07:00
Jason Short
8b212d8baa 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
58379b928f MAVLink: make usage of MAVLink defines more consistent 2012-06-15 16:27:11 +10:00
rmackay9
c62cc4844e 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
e31a1d969f Inertial Nav disabled by default 2012-06-13 22:37:52 -07:00
Jason Short
c42f9ece43 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
65050775e1 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
ff0659535e 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
e1acf21381 ArduCopter: updated firmware version to 2.6 Epsilon 2012-06-12 23:22:57 +09:00
rmackay9
c6f1d93849 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
f5a85d48a0 Added Angel's name to contrib list 2012-06-10 12:38:22 -07:00
Andrew Tridgell
940d994efb GPS: Use appropiate GPS_ENGINE settings in APM, ACM and rover 2012-06-10 16:36:18 +10:00
rmackay9
aeaebb21d5 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
a684bddbda 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
c5916a8b4d Opening up the Yaw Rate constraint for Trad Heli. 2012-06-07 22:40:25 -04:00
Robert Lefebvre
e2496181ff Yaw Fix
Modified Nav_Yaw controller to better track intended heading changes.
2012-06-07 17:15:33 -04:00
Jason Short
a9610a0761 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
70b04d9427 ArduCopter: updated firmware description to 2.6 Gamma 2012-06-05 21:28:13 +09:00
Andrew Tridgell
8b258e23e7 ACM: prevent link flood with "Low Battery" warnings
thanks to Marco for noticing this
2012-06-05 11:31:40 +10:00
Michael Oborne
14be88dd55 AC: add hilstate message 2012-06-04 16:24:08 +08:00
Jason Short
71f80f3a77 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
1b9f75c844 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
7c63d2c17b ACM: MAVLINK10 uses HIL_STATE
thanks to Michael for noticing this
2012-06-04 13:31:07 +10:00
Andrew Tridgell
e7cf643386 added mavlink09 targets
allows easier building with mavlink0.9
2012-06-04 13:14:52 +10:00
Andrew Tridgell
3f4e87cccc ACM: fixed HIL build for MAVLINK10 2012-06-04 13:14:52 +10:00
Michael Oborne
9303a89573 fix AC hil build 2012-06-04 11:12:52 +08:00
Michael Oborne
a71ed6c5ce enable mavlink10 by default 2012-06-04 08:02:08 +08:00
Jason Short
15aea320cb Added note to remove this unused param 2012-06-03 11:13:50 -07:00
Jason Short
12ab875d58 using current PWM rather than a re-read of the PWM. 2012-06-03 11:13:50 -07:00
Jason Short
9ab06c5542 Moved PID logging counter into define 2012-06-03 11:13:50 -07:00
rmackay9
72d76558a7 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
fd6b21d0c7 ArduCopter: updated firmware version to 2.6Beta in preparation for beginning of testing 2012-06-03 17:02:35 +09:00
rmackay9
4544b37fec ArduCopter: updated firmware version to 2.6Beta in preparation for beginning of testing 2012-06-03 16:59:23 +09:00
rmackay9
dcdeae412e 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
2a216ce900 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
c2d14a5cad 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
5f058fb9b2 TradHeli: Incorporating Ext ESC Control 2012-05-30 21:50:25 -04:00
Robert Lefebvre
30e55533dc 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
dec6f0ca62 When RTLing, force home as the final location for loiter. 2012-05-30 11:06:41 -07:00
Jason Short
bc578172a5 moved detector to run until the throttle is low, then stop running. 2012-05-30 09:44:59 -07:00
Jason Short
f0456dc947 Missed a Semicolon 2012-05-30 09:36:16 -07:00
Jason Short
302c632205 Altered the ground detector logic to no continuously run when landed 2012-05-30 09:34:31 -07:00
Jason Short
22065e3f3f Broken timer - removed 2012-05-29 12:56:38 -07:00
Jason Short
0ce883b96a Removed unused variable 2012-05-29 12:43:23 -07:00
Jason Short
9310d613e1 Lowered I term - causes oscillations in SIM 2012-05-29 12:43:01 -07:00
Jason Short
2311d52d37 Renamed some variables to clarify functionality. 2012-05-29 12:42:37 -07:00
Jason Short
7c6f766251 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
f491f5e9ca Removed references to a takeoff timer 2012-05-29 11:28:40 -07:00
Jason Short
15774366ba Failsafe: Looking for takeoff_complete now vs unreliable GPS 2012-05-29 11:25:04 -07:00
Jason Short
08bf04dd08 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
09f4a16bfb changed the way takeoff complete is figured. Looking for high throttle. 2012-05-29 11:25:04 -07:00
Jason Short
b8349f5486 Added note to functionality 2012-05-29 11:25:04 -07:00
Jason Short
9d92602188 changed WP radius to AP_Int16 2012-05-28 22:39:29 -07:00
Jason Short
5754f97433 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
7df1aa2914 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
d9457ecc38 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
66544a5db2 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
4e4ff84cf1 Updates to CopterLEDS
Creation of Nav Blink Function.
2012-05-22 09:58:37 -04:00
Andrew Tridgell
422dc82f32 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
1b9f34e4e0 Flip.pde: renamed dcm to ahrs 2012-05-21 12:58:51 -07:00
Jason Short
5407acdb4c 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
f6d8a18182 Added note 2012-05-21 09:58:23 -07:00
Jason Short
1a5e2f4e37 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
8d075015e1 added check for duplicate time-stamped GPS messages. 2012-05-18 09:54:18 -07:00
Jason Short
9732b7d2dc 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
7e190c6f5c 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
d1cd04486a 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
7f3e142fa8 Loiter Gains based on new SIM 2012-05-15 22:01:01 -07:00
Robert Lefebvre
c5f7b2fff2 Fixed Syntax error. 2012-05-15 12:35:35 -04:00
Robert Lefebvre
c8fb9a6635 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
a285e2779f CopterLEDS changes for APM2 2012-05-15 10:07:03 -04:00
rmackay9
357d6c2d9b 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
2f74004fcb ArduCopter: updated version to 2.5.5 2012-05-13 08:47:43 +09:00
rmackay9
af86ae8cbf ArduCopter: fixed compile error by declaring extern print_latlon 2012-04-30 21:44:27 +09:00
Andrew Tridgell
435a64b97e ACM: fixed HIL build 2012-04-30 22:42:17 +10:00
rmackay9
a1f5661161 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