Commit Graph

1374 Commits

Author SHA1 Message Date
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
Adam M Rivera
56d3fa1601 Parameters.pde/AP_MotorsHeli: Updated comments to leverage the new value aliases 2012-04-28 20:50:41 -05:00
Adam M Rivera
40fdba441b Parameters.pde: Added value aliases to comments 2012-04-28 20:35:22 -05:00
Adam M Rivera
941cf6fa69 Parameters.pde: Added more parameter comments. 2012-04-28 12:14:17 -05:00
Andrew Tridgell
67afdc7485 autotest: fixes for MAVLink 1.0 in autotest 2012-04-27 15:15:53 +10:00
Adam M Rivera
239323eaa4 Parameters.pde/AP_MotorsHeli.cpp: Added comments from Roberts clone. 2012-04-26 18:26:14 -05:00
Adam M Rivera
cb6f97fc7f Changed the marker for Group parameters to @Group. 2012-04-25 12:27:51 -05:00
Adam M Rivera
51bcc73c77 Parameters.pde: Added lib comments. 2012-04-25 11:23:46 -05:00
Adam M Rivera
9fb9231ec4 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
29fec278eb 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
acab9b7c2c Parameters.pde: Added new comment structure to a few parameters for testing. 2012-04-24 11:37:33 -05:00
Andrew Tridgell
4fee26437b MAVLink: make ACM build with MAVLink 1.0 possible in arduino GUI 2012-04-24 22:24:58 +10:00
Andrew Tridgell
fe970221e2 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
b2a7227ae7 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
60c347e23b 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
8e580729b7 config.h: Removed comment. 2012-04-23 00:16:41 -05:00
Adam M Rivera
97040a7b3a Merge branch 'master' of https://code.google.com/p/ardupilot-mega into auto-approach 2012-04-23 00:03:37 -05:00
Jason Short
9c19138fb8 Log.pde : Updated Flash Logging to log Floats properly vs scaled integers. 2012-04-21 15:25:53 -07:00
Jason Short
e22832a832 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
090f5aaa6f ArduCopter - config.h - set standard RC_SPEED to 125 for helicopter frame 2012-04-21 23:46:36 +09:00
rmackay9
c993049c48 ArduCopter - combined CH6_DAMP and CH6_STABILIZE_KD tuning parameters to avoid confusion 2012-04-21 23:24:57 +09:00
rmackay9
533772339e ArduCopter - Attitude.pde - added logging of optical flow pid controller 2012-04-21 20:17:12 +09:00
rmackay9
3e95ade004 ArduCopter - changed optflow object to be APM2 version if necessary 2012-04-21 20:15:55 +09:00
rmackay9
919f004b27 ArduCopter - changed Optical Flow for APM2 to use A3 pin 2012-04-21 20:15:16 +09:00
Adam M Rivera
7d13371acf Merge branch 'master' of https://code.google.com/p/ardupilot-mega into auto-approach 2012-04-20 11:45:38 -05:00
rmackay9
f0a9209935 ArduCopter - regressed version back to 2.5.4 2012-04-20 21:58:32 +09:00
James Goppert
5390467f3d Worked on ArduCopter cmake options. 2012-04-19 16:05:08 -04:00
Adam M Rivera
c233defbe6 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
1676e09f12 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
24363ccb83 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
d29f1ef331 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
a7bc3d2cc6 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
d4a4641ae6 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
53c143a575 Improved cmake options. 2012-04-18 23:15:29 -04:00
James Goppert
0e7e77760a Updated ArduPlane/ArduCopter cmake options. 2012-04-18 15:16:02 -04:00
Adam M Rivera
a3842734a9 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
a9f0bd24d7 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
f6d81a16c2 ArduCopter: Added code to prevent mode from switching to APPROACH on every loiter. 2012-04-16 16:29:54 -05:00
Adam M Rivera
56a00fa1f7 ArduCopter: Changed millis compare to use new config value for approach delay. 2012-04-16 14:04:30 -05:00
Adam M Rivera
07e53fad18 commands_logic.pde: Added write to constrained value to EEPROM. 2012-04-16 14:03:33 -05:00
Adam M Rivera
7b277d7044 config.h: Added RTL_APPROACH_DELAY config value. 2012-04-16 14:00:08 -05:00
Adam M Rivera
f9affb3295 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
0c3d6614cd system.pde: Updated param name to loiter_timer. 2012-04-16 10:12:30 -05:00
Adam M Rivera
3d024ba2dd 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
41702aca94 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
a366bb2f81 Parameters: Changed rtl_approach_alt to float to support more granular altitudes 2012-04-16 10:06:29 -05:00
rmackay9
870b5e5f75 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
95cb35c7bb AHRS: enable AHRS_ group in ArduCopter 2012-04-16 20:55:14 +10:00
Adam M Rivera
77d6f22864 ArduCopter, commands_logic: Updated logic to allow as low as 5m. 2012-04-15 19:50:05 -05:00
Adam M Rivera
2954bf6f76 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
cddcdb8be3 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
a2b338c052 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
a24b7bcf14 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
cfe3b58248 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
83fe6733d4 Defines: Added new control mode (APPROACH). 2012-04-15 16:52:32 -05:00
Adam M Rivera
7ba8c291bd 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
a71ed6abec ArduCopter - updated firmware version to "2.6 Beta" 2012-04-14 14:26:44 +09:00
rmackay9
24b81db20e ArduCopter - LEDS - main code to support COPTER_LEDS.
Code by Robert Lefebvre
2012-04-12 22:55:44 +09:00
rmackay9
c337df11c8 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
d70f5da5e0 ArduCopter - LEDS - define pins to be used for COPTER_LEDS.
Code by Robert Lefebvre
2012-04-12 22:55:36 +09:00
rmackay9
84b07b5e6a ArduCopter - LEDS - added new COPTER_LEDS definition
Code by Robert Lefebvre
2012-04-12 22:55:32 +09:00
rmackay9
0a3bc9a66a ArduCopter - LEDS - two new parameters to support COPTER_LEDS.
Code by Robert Lefebvre.
2012-04-12 22:55:28 +09:00
rmackay9
fad162989f ArduCopter - navigation.pde - added logging of Loiter PID controllers 2012-04-11 23:52:25 +09:00
rmackay9
f8210b164c 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
df85051574 ArduCopter - added dataflash logging of roll and pitch rate controllers 2012-04-08 10:19:20 +09:00
rmackay9
998058ec07 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
ad9a8acbab 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
1d086c83f0 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
4aa40bdf10 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
473126581d 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
905a445391 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
aa54458dcf ArduCopter - leds.pde - changed refrences to "motor_armed" to "motors.armed()" 2012-04-04 22:57:50 +09:00
rmackay9
7df17e9b3b 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
ee308ea06c 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
8402a3d837 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
e5710958bc 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
aa4085183c 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
54a0709759 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
c0a54762c6 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
75d7308fb4 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
e0bb7e2777 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
7634f541b9 ACM: use set_blocking_writes(false) when we arm motors 2012-03-30 17:46:20 +11:00
Andrew Tridgell
b4107d35e8 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
0bc604f030 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
51b70e4d36 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
0efb0e5b4d ArduCopter - added CH6_STABILIZE_KD tuning value 2012-03-29 21:09:41 +09:00
rmackay9
599cea21bb 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
34506b170f Mavlink: fixed warnings about limits on int32 values 2012-03-27 15:37:25 +11:00
Andrew Tridgell
e0c9ab5a29 ACM: fixed heli build 2012-03-27 15:37:25 +11:00
Andrew Tridgell
47f9dfd125 ACM: fixed the build on the 1280 2012-03-27 15:37:24 +11:00
Andrew Tridgell
e956e21e7d ACM: enable the new compass offset nulling in ACM 2012-03-27 15:37:24 +11:00
rmackay9
1f4cfb9333 ArduCopter - added PID log type. Implemented for Yaw stabilize and rate controllers. 2012-03-25 16:09:08 +09:00
rmackay9
67cf7b9eed ArduCopter - updated firmware version to 2.5.3 2012-03-25 09:13:51 +09:00
rmackay9
63b96c0153 ArduCopter - altitude hold - ensure throttle_avg is initialised from g.throttle_cruise parameter 2012-03-23 23:48:24 +09:00
rmackay9
89576a281a 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
84d8414a2e 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
e2560c5865 Throttle_hold was in APM_Config - which is ignored by the Mission planner Hex generator 2012-03-22 10:01:24 -07:00
rmackay9
ad4a2aa9f3 ArduCopter - motors_quad.pde - corrected test sequence for + configuration 2012-03-21 22:04:50 +09:00
rmackay9
66c4f752e3 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
1dd554c333 ArduCopter - updated version to 2.5.1 2012-03-20 17:08:18 +09:00
rmackay9
0773a25b5d ArduCopter - increased default THROTTLE_CRUISE to 450 2012-03-20 16:34:07 +09:00
rmackay9
22315cd41a 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
458d55e5bc 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
547b4ed55b AHRS: adapt ArduCopter for new AHRS framework 2012-03-19 17:29:02 +11:00
Jason Short
c5344a2a85 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
a0717f082e ACM: Attitude.pde - consolidated wind I term resets 2012-03-18 22:31:21 -07:00
Jason Short
fe7ca98701 ACM: system.pde - removed reset_nav_I() to consolidate the wind control reset. 2012-03-18 22:31:21 -07:00
rmackay9
9841cb0335 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
dc92da818c ArduCopter - remove reference to AUTO_RESET_LOITER that is not used anymore 2012-03-18 14:53:19 +09:00
rmackay9
91b2b48fd8 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
491af02d8a ACM: Lowered gains from flight tests today with 3DR Quad 2012-03-17 11:04:01 -07:00
Jason Short
427dacba70 ACM: Smoother Speed calcs 2012-03-16 14:10:19 -07:00
Jason Short
3038da1dc3 ACM: Softer Loiter Gains 2012-03-16 14:10:19 -07:00
Jason Short
48a0c9a818 ACM: Small fix to nav_throttle to prevent too fast of a landing. 2012-03-16 14:10:19 -07:00
Jason Short
6201bdb8a7 ACM: Fixed comment 2012-03-16 14:10:19 -07:00
Jason Short
1c0b28c956 Fixed Scaling bug in Sonar mixing 2012-03-16 14:10:19 -07:00
Jason Short
7153b94ade ACM: Disabled D term experiment for Loiter until more testing 2012-03-15 19:20:03 -07:00
Jason Short
a52a14bf12 Tune down Loiter_P a hair 2012-03-15 19:17:27 -07:00
Robert Lefebvre
be3fe36c52 Small fix on the Traditional Helicopter Collective-Yaw compensation calculation. 2012-03-15 20:14:18 -04:00
rmackay9
68e37774a6 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
86eff20d5d Rev'ed version number to 2.5. Added more credits 2012-03-15 02:38:54 +00:00
Jason Short
6f8b97bf6a 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
4315c06f34 Lowering the D filter for less latency and less oscillation. 2012-03-13 12:58:46 -07:00
Jason Short
48ba24a810 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
468d9c4b4f ACM: Loiter D performance updates 2012-03-13 10:23:31 -07:00
Jason Short
7953808d14 ACM: Larger filter for Loiter D 2012-03-13 10:23:30 -07:00
Jason Short
7034b709d1 ACM: removing old define 2012-03-12 13:11:30 -07:00
Jason Short
73e2bd6cd8 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
0b51d9b8b0 ACM: Made Loiter_D 0 by default. Accidentally left it on by default. 2012-03-12 10:37:15 -07:00
Jason Short
deed802d1a 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
b3795f1c00 ACM: removed Filtering code for motors in Quad for testing 2012-03-11 23:21:49 -07:00
Jason Short
a989b88680 ACM: made same as Loiter I 2012-03-11 23:21:49 -07:00
Jason Short
0d434ca92c ACM: Tuning based on flights today 2012-03-11 23:21:49 -07:00
Jason Short
0ab6b6e592 ACM: Rate_d filter for PID loop of Loiter. 2012-03-11 23:21:49 -07:00
Jason Short
77fe7de55d 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
a869a01294 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
2a03a0584f 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
d3667faef4 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
2524f9c8df 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
62c2aa4924 ACM: Added Loiter D tuning 2012-03-10 14:17:57 -08:00
Jason Short
cb8729109c ACM: Added Loiter_D for tuning as #23 2012-03-10 14:17:16 -08:00
Jason Short
0671bb9168 ACM: Firmware rev 2012-03-10 12:45:03 -08:00
Jason Short
f9d0dc9daa ACM: disabled auto_calibration until more testing can be done 2012-03-10 12:44:49 -08:00
Jason Short
5ad7320505 ACM: changed alt hold initialization of altitude to be immediate 2012-03-10 12:44:18 -08:00
Jason Short
450f89ec5d ACM: Added note about scaling rates 2012-03-10 12:43:28 -08:00
Jason Short
eb53200179 ACM: Altered the scaling speed for altitude changes for faster rises. 2012-03-10 12:43:01 -08:00
Jason Short
204f9957b0 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
83729d0f75 ACM: decreased rate P for alt hold to remove bumpy repsonse 2012-03-10 12:41:06 -08:00
Jason Short
220d5a1c6e ACM: Increased the altitude error P for smoother alt hold response 2012-03-10 12:40:44 -08:00
Jason Short
4b703e8842 decreased the loiter rate P for overshoot 2012-03-10 12:40:07 -08:00
Jason Short
fc32da0d2e ACM: increased the available rate error constrain, it was too low 2012-03-10 12:39:16 -08:00
Jason Short
bd4835a1b2 ACM: removed the experiment for rate error. 2012-03-10 12:38:29 -08:00
Jason Short
29d6085bab added Force_new_altitude call for alt hold 2012-03-10 12:37:54 -08:00
Jason Short
4ba600c0c5 upped throttle manual boost to 225 2012-03-10 12:37:28 -08:00
rmackay9
afc4aceb32 ArduCopter - fixed small compile warning about unused x_iterm and y_iterm in navigation.pde 2012-03-11 01:27:58 +09:00
rmackay9
c7480f2281 ArduCopter - fix to dataflash logging of Mag heading 2012-03-11 01:27:29 +09:00
Andrew Tridgell
d75e883fe8 GCS: get_integrator() is now get_gyro_drift() in DCM 2012-03-10 10:34:33 +11:00
Andrew Tridgell
9a06d35772 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
828ad7625b ACM: removed the ADC filtering code 2012-03-10 10:34:32 +11:00
Andrew Tridgell
1016d3c95d ACM: removed quaternion special cases in CLI code 2012-03-10 10:34:31 +11:00
Andrew Tridgell
8393c0299b ACM: removed the DCM tuning overrides
not needed now that DCM scales with deltat
2012-03-10 10:34:31 +11:00
Andrew Tridgell
7291dfc25a ACM: removed the special case for quaternions in GCS code 2012-03-10 10:34:31 +11:00
Andrew Tridgell
d6cfc51ae4 ACM: no need to fetch offsets at startup
AP_Param handles this
2012-03-10 10:34:31 +11:00
Andrew Tridgell
ef771fecdc ACM: removed a lot of the special case code for quaternions 2012-03-10 10:34:31 +11:00
Andrew Tridgell
69c29d35ce 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
2596acc8eb ACM: removed incorrect mode definition 2012-03-10 10:34:30 +11:00
Andrew Tridgell
7a9b3d3388 Quaternion: show "Quaternion test" on startup if enabled 2012-03-10 10:34:29 +11:00
Andrew Tridgell
7e4c8592ff ACM: make it possible to build ArduCopter with quaternions 2012-03-10 10:34:29 +11:00
Andrew Tridgell
9bff4e2c4c 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
367947fd33 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
64cc04ae09 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
a0ce202d87 ACM: added SIMSTATE, DCM and HWSTATUS messages to ACM 2012-03-10 10:34:27 +11:00
Jason Short
486c56ce41 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
c8e9d57567 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
730476fdfd 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
c26eb6afcc ACM: Updated config values 2012-03-06 22:12:24 -08:00
rmackay9
8b256cf924 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
72a775cc2a 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
706bea5992 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
46d7da4d14 Added define for throttle range for altitude changes, updated it to 250 2012-03-05 22:12:53 -08:00
Robert Lefebvre
a480b32400 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