rmackay9
544237d60a
ArduCopter - add includes for new AP_Motors classes.
...
Remove global motor_filtered and motor_out arrays.
Removed all global heli variables.
replace "motor_armed" with "motors.armed()"
removed output to rc_4 for tri because this is now handled by AP_MotorsTri class
2012-04-04 22:50:43 +09:00
Andrew Tridgell
40d7b07789
MAVLink: port the new adaptive flow control to ArduCopter
...
This allows for arbitrary stream rates, and supports flow control if
you are using a 3DR radio
2012-04-02 11:18:53 +10:00
rmackay9
b0c9a25024
ArduCopter - CH6 tuning - changed Roll/Pitch Rate D tuning to use the user supplied tuning range instead of the range / 100.
...
also changed heli_ext_gyro_gain to make it use the tuning range directly.
2012-03-31 09:28:25 +09:00
Andrew Tridgell
58f539ca35
ACM: removed FORCE_AUTOMATIC_DECLINATION_UPDATE
...
we now have the EEPROM option COMPASS_AUTODEC instead
2012-03-30 14:25:27 +11:00
Adam M Rivera
0727955fe3
ArduCopter: Changed implementation of configuration value for automatic declination. There is now a FORCE_AUTOMATIC_DECLINATION_UPDATE that when enabled will update the declination on every GPS 3D fix regardless of whether or not the user saved a value to the EEPROM. By default the declination will only be set by the automatic declination routine if the user has not saved a declination to the EEPROM.
2012-03-30 14:25:06 +11:00
rmackay9
a12a7a7d87
ArduCopter - added CH6_STABILIZE_KD tuning value
2012-03-29 21:09:41 +09:00
rmackay9
2cc87af180
Added multiple new tuning parameters to the inflight channel 6 tuning feature:
...
#define CH6_YAW_KI 24
#define CH6_ACRO_KP 25
#define CH6_YAW_RATE_KD 26
#define CH6_LOITER_KI 27
#define CH6_LOITER_RATE_KI 28
2012-03-28 23:58:58 +09:00
Andrew Tridgell
4821eb4807
ACM: enable the new compass offset nulling in ACM
2012-03-27 15:37:24 +11:00
rmackay9
eb55234809
ArduCopter - updated firmware version to 2.5.3
2012-03-25 09:13:51 +09:00
rmackay9
1f253c5217
ArduCopter - altitude hold - ensure throttle_avg is initialised from g.throttle_cruise parameter
2012-03-23 23:48:24 +09:00
rmackay9
19981d4864
ArduCopter - updated to firmware version to 2.5.2 to avoid confusion with post 2.5.1 versions posted to downloads area
2012-03-23 23:12:49 +09:00
rmackay9
198ac97914
ArduCopter - updated version to 2.5.1
2012-03-20 17:08:18 +09:00
Andrew Tridgell
690ad58a64
AHRS: adapt ArduCopter for new AHRS framework
2012-03-19 17:29:02 +11:00
Jason Short
223a6f80c8
ACM: Arducopter.pde - Added a constraint to the NO_NAV mode to be similar to the Loiter and rate nav modes.
2012-03-18 22:31:22 -07:00
rmackay9
bed667c62e
ArduCopter - small change to ensure both roll and pitch commands are zero before switching out of loiter_override (loiter override becomes true when roll+pitch command is greater than 5 degrees and switches back to false when both become zero)
...
- remove incorrect comments about when loiter target position is reset.
2012-03-18 15:16:04 +09:00
Jason Short
234a5dc65e
ACM: Small fix to nav_throttle to prevent too fast of a landing.
2012-03-16 14:10:19 -07:00
Jason Short
1ecca36dd0
Fixed Scaling bug in Sonar mixing
2012-03-16 14:10:19 -07:00
analoguedevices
eb530a2045
Rev'ed version number to 2.5. Added more credits
2012-03-15 02:38:54 +00:00
Jason Short
59fb1f3542
ACM: Added constraints for invalid climb rates. Robert Lefebvre had a bad sonar and very invalid rates crept into the system.
2012-03-13 21:31:16 -07:00
Jason Short
50b4c07261
Lowering the D filter for less latency and less oscillation.
2012-03-13 12:58:46 -07:00
Jason Short
6edad4d9ef
ACM: Larger filter for Loiter D
2012-03-13 10:23:30 -07:00
Jason Short
38a60df189
ACM: Rate_d filter for PID loop of Loiter.
2012-03-11 23:21:49 -07:00
Jason Short
2ac29effe9
ACM: The I term in update_nav_wp with the no_nav condition was pulling from the wrong PID loop and was essentially 0 all the time.
2012-03-11 23:21:49 -07:00
Andrew Tridgell
1e47ab26f2
AP_Declination: disable library when AUTOMATIC_DECLINATION is not ENABLED
...
unfortunately this library was causing avrdude to fail to load the hex
to my APM2. Until we work out why, it's disabled.
2012-03-11 21:46:41 +11:00
Adam M Rivera
2e1cacd67f
AP_Declination: Added call to compass.set_initial_location if the compass is enabled when the 3D fix is obtained.
...
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2012-03-11 20:59:47 +11:00
Jason Short
8b887b77bd
ACM: Added Loiter D tuning
2012-03-10 14:17:57 -08:00
Jason Short
149a484984
ACM: Firmware rev
2012-03-10 12:45:03 -08:00
Jason Short
0ccfdc664d
added Force_new_altitude call for alt hold
2012-03-10 12:37:54 -08:00
Jason Short
037221cd02
upped throttle manual boost to 225
2012-03-10 12:37:28 -08:00
Andrew Tridgell
34d25ab298
ACM: removed a lot of the special case code for quaternions
2012-03-10 10:34:31 +11:00
Andrew Tridgell
e780dd2b44
ACM: change DCM loop to 100Hz
...
On my APM2 quad this seems to give better results
2012-03-10 10:34:31 +11:00
Andrew Tridgell
1591d41b33
ACM: make it possible to build ArduCopter with quaternions
2012-03-10 10:34:29 +11:00
Andrew Tridgell
bc81d8e6ac
ACM: only call the fast loop if the imu has new data
...
this prevents us spinning waiting for the sensors to gather some data
2012-03-10 10:34:29 +11:00
Jason Short
13e9608fb8
Consolidated Barometer pressure sensing to a single filter based on Randy's new filter class.
2012-03-08 23:13:04 -08:00
Jason Short
43b3e1ccd1
ACM -
...
Implemented automatic ranging of Alt Hold gains. Works well in simulator and testing.
- alt hold estimation moved to 50 hz
- simple fixed observer calc for smooth and accurate climb rates useful for derivative calcs
- auto-reset of the I term by moving I value into throttle value. This recalcs the gain every 20seconds for battery drainage compensation in long flights.
- remove filtering for Nav_throttle
- added a way to lower the gain on nav_throttle for descents by / climb_rate error by 2 - seems to work OK and keeps copter from dropping like a rock when the Baro drifts quickly lower.
- removed old throttle hold set point code
- made throttle override for alt hold +- 200 vs 250
2012-03-06 22:22:14 -08:00
Jason Short
fe5612d38b
Added define for throttle range for altitude changes, updated it to 250
2012-03-05 22:12:53 -08:00
Jason Short
a096292edb
added stab_d gain scheduling
2012-02-28 20:16:40 -08:00
Robert Lefebvre
b7ccfb0114
Added heli_collectiveFactor array
...
Signed-off-by: Robert Lefebvre <robert.lefebvre@gmail.com>
2012-02-28 10:49:28 -05:00
rmackay9
8da8ce5b58
ArduCopter - made rate controller filters globals to fix compiler error on Arduino 022 (Arduino 1.0 was fine)
2012-02-28 22:56:26 +09:00
rmackay9
701a21ff2f
ArduCopter - modified to work with new Filter library
2012-02-28 21:02:44 +09:00
Jason Short
3ce1633157
Added Loiter Rate Tuning
2012-02-26 11:33:37 -08:00
rmackay9
41ea8e3eff
ArduCopter - added #include <Filter.h> to unbreak the build!
2012-02-26 17:05:41 +09:00
rmackay9
add3133100
ArduCopter - change sonar to use new mode filter from Filter library
2012-02-26 15:35:14 +09:00
Jason Short
68739f3cc4
Based on Jani's latest logs I've made two tweaks to alt hold.
...
The first is to remove the filter on the throttle output for alt_hold.
The second was to open up the constraint on climb rate. This is to deal with larger than expected disturbances causing altitude changes.
2012-02-25 13:31:21 -08:00
Andrew Tridgell
6b265c5034
ACM: use a NULL gps pointer in DCM init
...
current DCM API does need a GPS reference passed in, but it can be
NULL
2012-02-25 15:08:49 +11:00
Andrew Tridgell
ce5c7c2c85
ACM: don't pass a gps pointer to DCM
...
after discussion with Randy, we don't want ArduCopter to fall back to
GPS for yaw when the compass becomes unhealthy. So we shouldn't pass
the gps object to the DCM code at all.
2012-02-25 14:51:08 +11:00
Andrew Tridgell
4edf311865
ACM: ensure update_trig() doesn't cause NAN values for cos_roll/cos_pitch
...
the DCM matrix could have a value over 1.0 for c.x due to rounding
errors
2012-02-24 11:52:55 +11:00
Jason Short
92cfc8913a
revved a version
2012-02-22 09:00:42 -08:00
Jason Short
207ffee856
made timer unsigned
2012-02-21 21:49:03 -08:00
Jason Short
7bfda28cdc
removed old comments
2012-02-19 14:21:27 -08:00
Jason Short
79a9665c9d
Added "slow WP" option for RTL.
2012-02-19 13:11:59 -08:00
Jason Short
ba2cfee2fb
Updated manual throttle control during throttle hold
2012-02-19 12:40:51 -08:00
Randy Mackay
7c4ef140b9
ArduCopter - remove unnecessary block for next GPS value before saving home location
2012-02-19 15:38:40 +09:00
Jason Short
f86e1ed63f
Axis lock beta (off by default)
2012-02-18 21:16:19 -08:00
Randy Mackay
cd89258294
ArduCopter - updated version to 2.4
2012-02-18 18:44:29 +09:00
Jason Short
677df0fe1c
added Rate_D tuning value
2012-02-17 15:23:59 -08:00
Jason Short
0d5f7ca072
upped rate loop to 250hz
2012-02-17 15:23:59 -08:00
Jason Short
43e695b1ac
removed some unused vars,
...
formatting, made loop speed same as PIDT1 to eliminate variable.
2012-02-16 22:09:21 -08:00
Jason Short
f2b6b86265
allow auto-land if failsafe is triggered
2012-02-15 10:53:54 -08:00
Jason Short
101979ed7b
AP slew rate
2012-02-15 09:10:15 -08:00
Jason Short
4ecbb19dcd
Added range setting via a parameter for CH6 tuning
2012-02-15 09:10:14 -08:00
Jason Short
ff627a8986
removed unused Vars
2012-02-13 15:25:23 -08:00
Andrew Tridgell
d2a4091716
fixed apm2beta build with AP_Param
2012-02-13 16:22:52 +11:00
Andrew Tridgell
1af6f08b1c
adapted main ACM code for AP_Param
2012-02-13 16:22:52 +11:00
Jason Short
0315221bd1
Cosmetic tweaks for tuning
2012-02-11 15:29:11 -08:00
Jason Short
7c45d2bdc3
reset Rate_I for takeoff
2012-02-10 22:50:56 -08:00
Jason Short
927fc25421
made Yaw work like Roll and Pitch
2012-02-10 22:32:55 -08:00
Jason Short
a27bd9db46
2.3.1v
2012-02-09 22:22:01 -08:00
Jason Short
f3547a04a5
Acro fix - we had lost the scaling of Acro mode in 2.1. This restores that.
2012-02-09 22:22:00 -08:00
Jason Short
d161c0451f
fix issue with low throttle in air
2012-02-03 13:29:59 +00:00
analoguedevices
256893f385
credits
2012-02-01 04:44:36 +00:00
analoguedevices
d86dbd1c6f
Incremented version number to 2.3
2012-02-01 04:39:15 +00:00
Jason Short
3050c1d765
tuning fixes
2012-01-30 21:13:03 -08:00
Jason Short
d93e259289
Added more attributions
2012-01-29 21:53:44 -08:00
Jason Short
af0b0d5a7f
made Loiter over ride exit dependent not on speed, but centered sticks.
2012-01-29 16:15:02 -08:00
Jason Short
0213f4dd88
2.2B6 - Please verify Heli still functions properly.
...
Added AC_PID lib
Updated landing code
bug fixes
2012-01-28 22:00:05 -08:00
Jason Short
8fcb2931d7
Cosmetic changes
...
GPS LED lock waits for home_is_set to be true
2012-01-28 21:19:46 -08:00
Jason Short
a685510c38
changed tuning range
2012-01-28 21:18:43 -08:00
Randy Mackay
2db4d2bfe6
OpticalFlow - added OF_LOITER flightmode
2012-01-28 09:27:16 +09:00
Randy Mackay
2f84b54bbb
OpticalFlow - replaced PI controller with PID controller.
...
Modified optical flow hold to use aggregated position instead of speed.
2012-01-25 21:55:14 +09:00
Jason Short
8c4b955282
added Beta 4 tag
2012-01-21 22:15:23 -08:00
Jason Short
275815a7c9
Converted to cm for distance
2012-01-21 22:04:35 -08:00
Jason Short
fa06d4a2e3
Calc error for logs
2012-01-21 11:59:49 -08:00
Jason Short
e9a4253cd1
added note
2012-01-20 22:52:31 -08:00
Jason Short
2fa8a343ac
Added cast for comparison
2012-01-20 22:52:30 -08:00
Jason Short
ba535ed956
B3
2012-01-20 22:52:29 -08:00
Jason Short
556d646cad
set dampening range from 0 - .08 from 0 to .6. The new dampening code has changed units.
...
added the ability to force nav_throttle so we don't get ground effects screwing up baro sensor.
Added more descriptive Rest_I functions
2012-01-20 22:52:29 -08:00
Jason Short
0f24860552
Altitude no longer resets when moving loiter WP
2012-01-20 22:52:29 -08:00
Jason Short
aa1f09af83
Lowered range to more sensible values
2012-01-20 22:52:29 -08:00
Michael Oborne
7f272b4c4b
fix SITL attitude hil AC
2012-01-20 16:32:25 +08:00
Doug Weibel
2ea9db84e0
Update battery monitoring code for ArduCopter
...
Fixes compatibility for APM2. Also a significant update to the battery monitoring code: We previously had monitoring modes for individual cell voltages for 3 and 4 cell lipos. These have been removed as they were never really supported (the cell voltages were computed but were not reported or recorded anywhere). Also, some clean-up/prep work was done for supporting monitoring 2 separate battery packs. The CLI battery and current monitoring tests were consolidated into 1 test.
changed
2012-01-15 17:10:02 -07:00
Doug Weibel
17b3e514dc
Just a little more commenting work on global variables
2012-01-15 16:11:02 -07:00
Jason Short
7e411f5fb6
This allows users to test the Auto_throttle hold or cruise value
2012-01-14 11:43:52 -08:00
Jason Short
3879e79898
b2
2012-01-14 11:37:00 -08:00
Jason Short
cf51967bbb
Fix for SIMPLE mode
2012-01-14 11:32:48 -08:00
Jason Short
e7ad08e209
adjusted GPS watch dog not to be so aggressive,
...
removed unneeded flag clearing
2012-01-14 11:20:40 -08:00
Jason Short
c970ba4f93
made resetting throttle cruise a function
2012-01-13 16:47:08 -08:00
Jason Short
05dce91c24
fixed GPS bug - moved to fast loop location
2012-01-13 12:47:22 -08:00
Jason Short
b9419e0123
moved GPS routines to 50hz loop to avoid delay.
2012-01-12 22:59:47 -08:00
Jason Short
b81f9a5d77
Version 2.2
2012-01-12 22:37:33 -08:00
Jason Short
b884462ce3
removed wind comp code,
...
Added Landing boost code
2012-01-12 22:28:58 -08:00
Jason Short
33fe4db3fc
R10
2012-01-11 22:41:51 -08:00
Jason Short
db1fafaaec
R9
2012-01-10 23:46:08 -08:00
Jason Short
439c15f3fc
Added climb rate control
...
removed unused vars
2012-01-10 23:42:26 -08:00
Jason Short
9cbfcac802
Made timer unsigned
2012-01-10 23:42:26 -08:00
Pat Hickey
8d4db05f50
Rename ArduCopter/config_motors.h to config_channels.h
2012-01-09 21:57:02 -08:00
Pat Hickey
b22920c0ea
ArduCopter: Change TRI_FRAME yaw servo output to CH_TRI_YAW define
2012-01-09 21:57:02 -08:00
Pat Hickey
7b056f208d
ArduCopter: include config_motors.h in sketch
2012-01-09 21:57:01 -08:00
Randy Mackay
7b9701fdd5
ArduCopter - added ROLL_PITCH_STABLE_OF (i.e. Stabilised Roll/Pitch + adjustments based on optical flow)
...
Removed optical flow from regular loiter for now until it's tested.
2012-01-09 13:53:54 +09:00
Jason Short
fda12c8902
Added Acro to Rate_P
2012-01-08 14:52:10 -08:00
Jason Short
a8574e813d
R8
2012-01-07 22:28:03 -08:00
Jason Short
ca80dc549c
Made RTL hold position until it reaches altitude
2012-01-07 22:27:26 -08:00
Jason Short
058a3275c3
Revved to R7
2012-01-06 10:22:53 -08:00
Jason Short
d430c847fa
Changed default throttle type for failsafe to avoid checking
...
changed timer to 20 seconds.
2012-01-06 10:20:31 -08:00
Jason Short
de912b5054
Auto_land update
2012-01-05 21:57:34 -08:00
Jason Short
beac2930c9
Added auto_land to RTL
2012-01-05 21:15:12 -08:00
Jason Short
a8af509517
timer set to unsigned
2012-01-04 17:31:20 -08:00
Andrew Tridgell
9ee3431928
ACM-simple: don't use uninitialised simple trig values
2012-01-05 10:13:36 +11:00
Jason Short
3ac37c09a9
Upped Revision
2012-01-04 09:28:38 -08:00
Jason Short
a70fdc58a1
Cleaned up and documented each global vavriable
...
Added Wind compensation for Stability
Acro mode fixes
2012-01-04 09:28:37 -08:00
Jason Short
86e01fce17
Cosmetic
2011-12-31 10:54:31 -08:00
Jason Short
e8db2225dd
upped to r5
2011-12-31 10:05:13 -08:00
Jason Short
e17c8705ba
Loiter I reset
2011-12-31 09:45:25 -08:00
Jason Short
e9d41897df
R4
2011-12-30 23:54:02 -08:00
Jason Short
4b2979743f
no longer calling reset_nav
2011-12-30 23:48:04 -08:00
Jason Short
f5ffa7bd7e
Updated Configs based on field testing.
2011-12-30 23:48:04 -08:00
Jason Short
09db32ee02
Added Nav_bearing, just like APlane
...
added fix for LOITER in missions so we don't Yaw in circles
2011-12-30 23:48:04 -08:00
Jason Short
57b2d17d8a
updated rev
2011-12-29 23:02:41 -08:00
Jason Short
4535bc4fd9
lowered to nav_lat and nav_lon int16
...
added a version that didn't have I term added to get a better indication of velocity estimation
2011-12-29 23:02:03 -08:00
Jason Short
aa2e474b80
Added 5 sec Takeoff Timer to clear i terms when lifting
...
Moved loiter relocation function to update_nav
moved User hooks to correct place
Added tuning for D term
2011-12-29 23:02:03 -08:00
Randy Mackay
ff66a3417c
OptFlow - initial support for APM2 (there are still problems) including adding ability to set Chip Select pin.
...
Other unrelated changes are:
a) fixed typo in 'esitmate_velocity' to 'estimate_velocity'.
b) moved init_compass from system.pde to sensors.pde which seemed consistent with other sensors.
2011-12-30 12:06:31 +09:00
Andrew Tridgell
1cc38b0701
ACM: check compass health before using it
2011-12-28 20:41:53 +11:00
Andrew Tridgell
c27277c7f1
ACM: use new I2C library
2011-12-28 20:41:53 +11:00
Jason Short
a8070d86df
Fix for 11 channels of motors.
2011-12-26 14:39:01 -08:00
Jason Short
359d186798
added define for optflow
2011-12-23 18:45:01 -08:00
Jason Short
f2d6708058
Fixed merge issues
2011-12-23 14:51:40 -08:00
Jason Short
6c5f41fe58
Begin to better integrate OptFlow, added necessary globals for Loiter estimation
2011-12-23 14:42:50 -08:00
Jason Short
2f5da31a05
change Alpha name
2011-12-18 16:38:07 -08:00
Jason Short
ed818e4ccf
Cleanup
...
removed Iterm experiment - no noticeable effect in actual flight
2011-12-16 20:47:23 -08:00
Andrew Tridgell
4bbd5392ef
removed AperiodicProcess code
...
this code was never being used, and was more complex than it was
worth.
2011-12-17 07:29:09 +11:00
Jason Short
027b710816
renamed super simple, added framework for auto calc of throttle cruise
2011-12-15 20:51:41 -08:00
Jason Short
96ce429537
made the last step of landing stop navigating so we can drop straight down.
2011-12-14 22:08:41 -08:00
Jason Short
2a7f981fb0
added failsafe check,
...
enable loiter repositioning
2011-12-14 22:08:41 -08:00
Andrew Tridgell
4e4a4a685c
fixed two more CONFIG_HARDWARE #ifdef bugs
2011-12-13 17:05:48 +11:00
Jason Short
6bac318def
Added param option for Simple mode reset
2011-12-12 17:47:45 -08:00
Andrew Tridgell
ae1ec05dd4
fixed barometer detection on APM2
2011-12-12 15:45:36 +11:00
Pat Hickey
067724b4f1
ArduCopter: update AP_Baro constructors & initializers
2011-12-11 15:21:10 -08:00
Pat Hickey
67436d7ff2
ArduCopter: Get barometer data in terms of AP_Baro interface
...
* Major change: Log.pde Log_Write_Control_Tuning has changed significantly
* MS5611 has no concept of RawPres and _offset_press
* Log the get_pressure() instead. (If we don't trust the barometer, what's the point?)
2011-12-11 15:21:10 -08:00
Pat Hickey
82b8f4d7b7
ArduCopter: instantiate correct AP_Baro object based on CONFIG_BARO
2011-12-11 15:21:09 -08:00
Pat Hickey
698a231dd6
ArduCopter: Rename APM_BMP085 classes to AP_Baro_BMP085 classes.
2011-12-11 15:21:09 -08:00