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
3fcd3100cc
Added user editable define for Super simple radius
2012-06-26 10:38:46 -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
8ef60f2d75
Added throttle_min as a user definable param
2012-06-20 14:58:34 -07: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
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
c9093a1609
ArduCopter: updated firmware version to 2.6 Epsilon
2012-06-12 23:22:57 +09:00
Jason Short
ebff84d41e
Added Angel's name to contrib list
2012-06-10 12:38:22 -07: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
rmackay9
cad76d4e0f
ArduCopter: updated firmware description to 2.6 Gamma
2012-06-05 21:28:13 +09: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
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
Robert Lefebvre
bafb478924
TradHeli: Incorporating Ext ESC Control
2012-05-30 21:50:25 -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
c45209eaff
Broken timer - removed
2012-05-29 12:56:38 -07:00
Jason Short
33d1b5a137
Speed up automatic disarming to 25 seconds for safety.
...
renamed AUTO_ARMING_DELAY to AUTO_DISARMING_DELAY
2012-05-29 12:41:35 -07:00
Jason Short
3ba6e1db7a
Removed references to a takeoff timer
2012-05-29 11:28:40 -07:00
Jason Short
394f8c6eb0
pulling throttle low in flight turns out to be more common than thought. Removed clearing of takeoff_complete flag. This is still cleared during disarm which is automatic after 30 seconds of no throttle.
2012-05-29 11:25:04 -07:00
Jason Short
a3a90287f4
changed the way takeoff complete is figured. Looking for high throttle.
2012-05-29 11:25:04 -07:00
Jason Short
4ed48510dc
reversed circle_WP calculation so the next_WP refers to the destination around the circle and circle_WP refers to the center. The intent is to make it easier to see via ground station.
2012-05-27 09:21:20 -07:00
Jason Short
e2086decc6
Arducopter.pde : setting rtl_approach_alt above 1 would force auto landing even if auto-landing was disabled.
2012-05-23 22:00:56 -07:00
Robert Lefebvre
df4246597f
Updates to CopterLEDS
...
Creation of Nav Blink Function.
2012-05-22 09:58:37 -04:00
Jason Short
99dee97385
Added note
2012-05-21 09:58:23 -07:00
Jason Short
f8ceec2b4b
added check for duplicate time-stamped GPS messages.
2012-05-18 09:54:18 -07:00
Jason Short
be71cbfcc8
Arducopter.pde :
...
removed unneeded d_rate_filters
updated Nav routine to handle faster GPS updates
moved calc_XY_velocity to GPS read
added check for duplicate GPS reads
2012-05-17 11:05:05 -07:00
Jason Short
7278e8d1e5
removed retro loiter code since Angel has a branch now.
...
shrank speed filter to avoid latency
removed unused forward estimator code
placed code for switchover to gps.groundspeed at 1.5m/s
added clamp for D term when below .5m/s to eliminate noise
added hybrid I-term based on speed error and position
changes Loiter D term to use position rather than acceleration to avoid noise
2012-05-15 22:14:23 -07:00
rmackay9
eaeaa3811a
ArduCopter: bug fix for reversing tri servo
...
Extended AP_MotorsTri class to take in pointer to rc_tail servo (rc_7) and we use this servo's REV parameter to determine whether to reverse the output to the tail servo or not
2012-05-13 12:36:46 +09:00
rmackay9
47ea92aa7f
ArduCopter: updated version to 2.5.5
2012-05-13 08:47:43 +09:00
Andrew Tridgell
7866740d62
MAVLink: make ACM build with MAVLink 1.0 possible in arduino GUI
2012-04-24 22:24:58 +10:00
Adam M Rivera
2ee8237b5f
ArduCopter/Navigation: Updated code to reference the new g.retro_loiter param instead of the compile define.
2012-04-23 00:19:18 -05:00
Adam M Rivera
692bbee233
Merge branch 'master' of https://code.google.com/p/ardupilot-mega into auto-approach
2012-04-23 00:03:37 -05:00
Jason Short
2aca6c64ab
Added a union for casting floats to ints and back when storing Floats to the DataFlash
2012-04-21 15:17:09 -07:00
rmackay9
114e6a3551
ArduCopter - combined CH6_DAMP and CH6_STABILIZE_KD tuning parameters to avoid confusion
2012-04-21 23:24:57 +09:00
rmackay9
53ddb58c7b
ArduCopter - changed optflow object to be APM2 version if necessary
2012-04-21 20:15:55 +09:00
Adam M Rivera
edf15c1b9b
Merge branch 'master' of https://code.google.com/p/ardupilot-mega into auto-approach
2012-04-20 11:45:38 -05:00
rmackay9
c323efc2d4
ArduCopter - regressed version back to 2.5.4
2012-04-20 21:58:32 +09:00
Adam M Rivera
d09916422a
Merge branch 'retro-loiter' of https://code.google.com/r/a432511-wip into auto-approach
...
Conflicts:
Tools/ArdupilotMegaPlanner/Common.cs
2012-04-19 11:08:34 -05:00
Adam M Rivera
9181eedf5a
Merge branch 'master' of https://code.google.com/p/ardupilot-mega into retro-loiter
2012-04-19 10:17:36 -05:00
Adam M Rivera
ad13854ab7
Loiter: Made the "retro loiter" routines configurable. Add RETRO_LOITER_MODE ENABLED to APM_Config.h to enable the older loiter shtuff.
2012-04-19 10:16:29 -05:00
Adam M Rivera
3995381800
Arducopter.pde: Moved gps to 10hz. Changed calc_XY_velocity to calc_GPS_velocity.
2012-04-18 23:07:35 -05:00
Adam M Rivera
baf8218b58
ArduCopter: Added code to prevent mode from switching to APPROACH on every loiter.
2012-04-16 16:29:54 -05:00
Adam M Rivera
b891622210
ArduCopter: Changed millis compare to use new config value for approach delay.
2012-04-16 14:04:30 -05:00
Adam M Rivera
8128fb2d5f
Merge branch 'master' of https://code.google.com/p/ardupilot-mega into auto-approach
...
Conflicts:
ArduCopter/Parameters.h
2012-04-16 10:23:01 -05:00
Adam M Rivera
637f778dd0
ArduCopter: Updated param name from auto_land_timer to loiter_timer, because it could really be used for more routines like auto-approach. Added timer before approach (20s).
2012-04-16 10:07:57 -05:00
rmackay9
4dadd888d8
ArduCopter - CH6 Tuning - added AHRS_YAW_KP parameter as 30. Now you can easily set the amount that the mag is used to correct the gyro based yaw estimate in the DCM
2012-04-16 23:47:57 +09:00
Adam M Rivera
f27b5d538b
ArduCopter, commands_logic: Updated logic to allow as low as 5m.
2012-04-15 19:50:05 -05:00
Adam M Rivera
e4940ec3bb
ArduCopter: Added check to make sure user defined approach alt is at least 5.
2012-04-15 16:58:22 -05:00
Adam M Rivera
d1a7fdb9ef
ArduCopter: Added check to g.rtl_approach_alt, which if greater than zero will initiate an approach to the target alt rather than land.
2012-04-15 16:54:43 -05:00
rmackay9
ccb21613b5
ArduCopter - updated firmware version to "2.6 Beta"
2012-04-14 14:26:44 +09:00
rmackay9
33bd558a94
ArduCopter - LEDS - main code to support COPTER_LEDS.
...
Code by Robert Lefebvre
2012-04-12 22:55:44 +09:00
rmackay9
544237d60a
ArduCopter - add includes for new AP_Motors classes.
...
Remove global motor_filtered and motor_out arrays.
Removed all global heli variables.
replace "motor_armed" with "motors.armed()"
removed output to rc_4 for tri because this is now handled by AP_MotorsTri class
2012-04-04 22:50:43 +09:00
Andrew Tridgell
40d7b07789
MAVLink: port the new adaptive flow control to ArduCopter
...
This allows for arbitrary stream rates, and supports flow control if
you are using a 3DR radio
2012-04-02 11:18:53 +10:00
rmackay9
b0c9a25024
ArduCopter - CH6 tuning - changed Roll/Pitch Rate D tuning to use the user supplied tuning range instead of the range / 100.
...
also changed heli_ext_gyro_gain to make it use the tuning range directly.
2012-03-31 09:28:25 +09:00
Andrew Tridgell
58f539ca35
ACM: removed FORCE_AUTOMATIC_DECLINATION_UPDATE
...
we now have the EEPROM option COMPASS_AUTODEC instead
2012-03-30 14:25:27 +11:00
Adam M Rivera
0727955fe3
ArduCopter: Changed implementation of configuration value for automatic declination. There is now a FORCE_AUTOMATIC_DECLINATION_UPDATE that when enabled will update the declination on every GPS 3D fix regardless of whether or not the user saved a value to the EEPROM. By default the declination will only be set by the automatic declination routine if the user has not saved a declination to the EEPROM.
2012-03-30 14:25:06 +11:00
rmackay9
a12a7a7d87
ArduCopter - added CH6_STABILIZE_KD tuning value
2012-03-29 21:09:41 +09:00
rmackay9
2cc87af180
Added multiple new tuning parameters to the inflight channel 6 tuning feature:
...
#define CH6_YAW_KI 24
#define CH6_ACRO_KP 25
#define CH6_YAW_RATE_KD 26
#define CH6_LOITER_KI 27
#define CH6_LOITER_RATE_KI 28
2012-03-28 23:58:58 +09:00
Andrew Tridgell
4821eb4807
ACM: enable the new compass offset nulling in ACM
2012-03-27 15:37:24 +11:00
rmackay9
eb55234809
ArduCopter - updated firmware version to 2.5.3
2012-03-25 09:13:51 +09:00
rmackay9
1f253c5217
ArduCopter - altitude hold - ensure throttle_avg is initialised from g.throttle_cruise parameter
2012-03-23 23:48:24 +09:00
rmackay9
19981d4864
ArduCopter - updated to firmware version to 2.5.2 to avoid confusion with post 2.5.1 versions posted to downloads area
2012-03-23 23:12:49 +09:00
rmackay9
198ac97914
ArduCopter - updated version to 2.5.1
2012-03-20 17:08:18 +09:00
Andrew Tridgell
690ad58a64
AHRS: adapt ArduCopter for new AHRS framework
2012-03-19 17:29:02 +11:00
Jason Short
223a6f80c8
ACM: Arducopter.pde - Added a constraint to the NO_NAV mode to be similar to the Loiter and rate nav modes.
2012-03-18 22:31:22 -07:00
rmackay9
bed667c62e
ArduCopter - small change to ensure both roll and pitch commands are zero before switching out of loiter_override (loiter override becomes true when roll+pitch command is greater than 5 degrees and switches back to false when both become zero)
...
- remove incorrect comments about when loiter target position is reset.
2012-03-18 15:16:04 +09:00
Jason Short
234a5dc65e
ACM: Small fix to nav_throttle to prevent too fast of a landing.
2012-03-16 14:10:19 -07:00
Jason Short
1ecca36dd0
Fixed Scaling bug in Sonar mixing
2012-03-16 14:10:19 -07:00
analoguedevices
eb530a2045
Rev'ed version number to 2.5. Added more credits
2012-03-15 02:38:54 +00:00
Jason Short
59fb1f3542
ACM: Added constraints for invalid climb rates. Robert Lefebvre had a bad sonar and very invalid rates crept into the system.
2012-03-13 21:31:16 -07:00
Jason Short
50b4c07261
Lowering the D filter for less latency and less oscillation.
2012-03-13 12:58:46 -07:00
Jason Short
6edad4d9ef
ACM: Larger filter for Loiter D
2012-03-13 10:23:30 -07:00
Jason Short
38a60df189
ACM: Rate_d filter for PID loop of Loiter.
2012-03-11 23:21:49 -07:00
Jason Short
2ac29effe9
ACM: The I term in update_nav_wp with the no_nav condition was pulling from the wrong PID loop and was essentially 0 all the time.
2012-03-11 23:21:49 -07:00
Andrew Tridgell
1e47ab26f2
AP_Declination: disable library when AUTOMATIC_DECLINATION is not ENABLED
...
unfortunately this library was causing avrdude to fail to load the hex
to my APM2. Until we work out why, it's disabled.
2012-03-11 21:46:41 +11:00
Adam M Rivera
2e1cacd67f
AP_Declination: Added call to compass.set_initial_location if the compass is enabled when the 3D fix is obtained.
...
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2012-03-11 20:59:47 +11:00
Jason Short
8b887b77bd
ACM: Added Loiter D tuning
2012-03-10 14:17:57 -08:00
Jason Short
149a484984
ACM: Firmware rev
2012-03-10 12:45:03 -08:00
Jason Short
0ccfdc664d
added Force_new_altitude call for alt hold
2012-03-10 12:37:54 -08:00
Jason Short
037221cd02
upped throttle manual boost to 225
2012-03-10 12:37:28 -08:00
Andrew Tridgell
34d25ab298
ACM: removed a lot of the special case code for quaternions
2012-03-10 10:34:31 +11:00
Andrew Tridgell
e780dd2b44
ACM: change DCM loop to 100Hz
...
On my APM2 quad this seems to give better results
2012-03-10 10:34:31 +11:00
Andrew Tridgell
1591d41b33
ACM: make it possible to build ArduCopter with quaternions
2012-03-10 10:34:29 +11:00
Andrew Tridgell
bc81d8e6ac
ACM: only call the fast loop if the imu has new data
...
this prevents us spinning waiting for the sensors to gather some data
2012-03-10 10:34:29 +11:00
Jason Short
13e9608fb8
Consolidated Barometer pressure sensing to a single filter based on Randy's new filter class.
2012-03-08 23:13:04 -08:00
Jason Short
43b3e1ccd1
ACM -
...
Implemented automatic ranging of Alt Hold gains. Works well in simulator and testing.
- alt hold estimation moved to 50 hz
- simple fixed observer calc for smooth and accurate climb rates useful for derivative calcs
- auto-reset of the I term by moving I value into throttle value. This recalcs the gain every 20seconds for battery drainage compensation in long flights.
- remove filtering for Nav_throttle
- added a way to lower the gain on nav_throttle for descents by / climb_rate error by 2 - seems to work OK and keeps copter from dropping like a rock when the Baro drifts quickly lower.
- removed old throttle hold set point code
- made throttle override for alt hold +- 200 vs 250
2012-03-06 22:22:14 -08:00
Jason Short
fe5612d38b
Added define for throttle range for altitude changes, updated it to 250
2012-03-05 22:12:53 -08:00
Jason Short
a096292edb
added stab_d gain scheduling
2012-02-28 20:16:40 -08:00
Robert Lefebvre
b7ccfb0114
Added heli_collectiveFactor array
...
Signed-off-by: Robert Lefebvre <robert.lefebvre@gmail.com>
2012-02-28 10:49:28 -05:00
rmackay9
8da8ce5b58
ArduCopter - made rate controller filters globals to fix compiler error on Arduino 022 (Arduino 1.0 was fine)
2012-02-28 22:56:26 +09:00
rmackay9
701a21ff2f
ArduCopter - modified to work with new Filter library
2012-02-28 21:02:44 +09:00
Jason Short
3ce1633157
Added Loiter Rate Tuning
2012-02-26 11:33:37 -08:00
rmackay9
41ea8e3eff
ArduCopter - added #include <Filter.h> to unbreak the build!
2012-02-26 17:05:41 +09:00
rmackay9
add3133100
ArduCopter - change sonar to use new mode filter from Filter library
2012-02-26 15:35:14 +09:00
Jason Short
68739f3cc4
Based on Jani's latest logs I've made two tweaks to alt hold.
...
The first is to remove the filter on the throttle output for alt_hold.
The second was to open up the constraint on climb rate. This is to deal with larger than expected disturbances causing altitude changes.
2012-02-25 13:31:21 -08:00
Andrew Tridgell
6b265c5034
ACM: use a NULL gps pointer in DCM init
...
current DCM API does need a GPS reference passed in, but it can be
NULL
2012-02-25 15:08:49 +11:00
Andrew Tridgell
ce5c7c2c85
ACM: don't pass a gps pointer to DCM
...
after discussion with Randy, we don't want ArduCopter to fall back to
GPS for yaw when the compass becomes unhealthy. So we shouldn't pass
the gps object to the DCM code at all.
2012-02-25 14:51:08 +11:00
Andrew Tridgell
4edf311865
ACM: ensure update_trig() doesn't cause NAN values for cos_roll/cos_pitch
...
the DCM matrix could have a value over 1.0 for c.x due to rounding
errors
2012-02-24 11:52:55 +11:00
Jason Short
92cfc8913a
revved a version
2012-02-22 09:00:42 -08:00