Commit Graph

375 Commits

Author SHA1 Message Date
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
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
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 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
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 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 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 e956e21e7d ACM: enable the new compass offset nulling in ACM 2012-03-27 15:37:24 +11: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
rmackay9 1dd554c333 ArduCopter - updated version to 2.5.1 2012-03-20 17:08:18 +09: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
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
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 1c0b28c956 Fixed Scaling bug in Sonar mixing 2012-03-16 14:10:19 -07: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 7953808d14 ACM: Larger filter for Loiter D 2012-03-13 10:23:30 -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
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
Jason Short 62c2aa4924 ACM: Added Loiter D tuning 2012-03-10 14:17:57 -08:00
Jason Short 0671bb9168 ACM: Firmware rev 2012-03-10 12:45:03 -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
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 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
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 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 46d7da4d14 Added define for throttle range for altitude changes, updated it to 250 2012-03-05 22:12:53 -08:00
Jason Short ceef8070ac added stab_d gain scheduling 2012-02-28 20:16:40 -08:00
Robert Lefebvre 76c3cd88f0 Added heli_collectiveFactor array
Signed-off-by: Robert Lefebvre <robert.lefebvre@gmail.com>
2012-02-28 10:49:28 -05:00
rmackay9 744e5b8c60 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 17d94b61ed ArduCopter - modified to work with new Filter library 2012-02-28 21:02:44 +09:00
Jason Short 517172ba20 Added Loiter Rate Tuning 2012-02-26 11:33:37 -08:00
rmackay9 8193c786ef ArduCopter - added #include <Filter.h> to unbreak the build! 2012-02-26 17:05:41 +09:00
rmackay9 69132e0fe7 ArduCopter - change sonar to use new mode filter from Filter library 2012-02-26 15:35:14 +09:00
Jason Short a924c3685e 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 e2bbc795ad 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 698749dd92 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 1cd3172954 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 242f54793c revved a version 2012-02-22 09:00:42 -08:00
Jason Short 729c824809 made timer unsigned 2012-02-21 21:49:03 -08:00
Jason Short 30efbae0e9 removed old comments 2012-02-19 14:21:27 -08:00
Jason Short cae49b3543 Added "slow WP" option for RTL. 2012-02-19 13:11:59 -08:00
Jason Short b54d08f410 Updated manual throttle control during throttle hold 2012-02-19 12:40:51 -08:00
Randy Mackay e146f225b1 ArduCopter - remove unnecessary block for next GPS value before saving home location 2012-02-19 15:38:40 +09:00
Jason Short 028de5d2c5 Axis lock beta (off by default) 2012-02-18 21:16:19 -08:00
Randy Mackay b64c0da003 ArduCopter - updated version to 2.4 2012-02-18 18:44:29 +09:00
Jason Short b532cb91b1 added Rate_D tuning value 2012-02-17 15:23:59 -08:00
Jason Short 0075901f77 upped rate loop to 250hz 2012-02-17 15:23:59 -08:00
Jason Short 36a120d8df removed some unused vars,
formatting, made loop speed same as PIDT1 to eliminate variable.
2012-02-16 22:09:21 -08:00
Jason Short e8b6f5ecee allow auto-land if failsafe is triggered 2012-02-15 10:53:54 -08:00
Jason Short e249c8466d AP slew rate 2012-02-15 09:10:15 -08:00
Jason Short 05abe44f32 Added range setting via a parameter for CH6 tuning 2012-02-15 09:10:14 -08:00
Jason Short c9b432955d removed unused Vars 2012-02-13 15:25:23 -08:00
Andrew Tridgell d4305e0ae2 fixed apm2beta build with AP_Param 2012-02-13 16:22:52 +11:00
Andrew Tridgell 3b4cae3cc3 adapted main ACM code for AP_Param 2012-02-13 16:22:52 +11:00
Jason Short 2c65fc9ddf Cosmetic tweaks for tuning 2012-02-11 15:29:11 -08:00
Jason Short b1d52da431 reset Rate_I for takeoff 2012-02-10 22:50:56 -08:00
Jason Short 19ab0f481e made Yaw work like Roll and Pitch 2012-02-10 22:32:55 -08:00
Jason Short 4313d19bc5 2.3.1v 2012-02-09 22:22:01 -08:00
Jason Short f40d40b0f9 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 ef9418c2de fix issue with low throttle in air 2012-02-03 13:29:59 +00:00
analoguedevices 3288b518c0 credits 2012-02-01 04:44:36 +00:00
analoguedevices 6dbcac855a Incremented version number to 2.3 2012-02-01 04:39:15 +00:00
Jason Short 5934b503b8 tuning fixes 2012-01-30 21:13:03 -08:00
Jason Short 46e08fb46a Added more attributions 2012-01-29 21:53:44 -08:00
Jason Short 650c0ed3f1 made Loiter over ride exit dependent not on speed, but centered sticks. 2012-01-29 16:15:02 -08:00
Jason Short 7833cea9d4 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 d1fcebb5ca Cosmetic changes
GPS LED lock waits for home_is_set to be true
2012-01-28 21:19:46 -08:00
Jason Short 326a663c6b changed tuning range 2012-01-28 21:18:43 -08:00
Randy Mackay 122623f64b OpticalFlow - added OF_LOITER flightmode 2012-01-28 09:27:16 +09:00
Randy Mackay 2c906b7b27 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 1d9783652a added Beta 4 tag 2012-01-21 22:15:23 -08:00
Jason Short 9003b95499 Converted to cm for distance 2012-01-21 22:04:35 -08:00
Jason Short ab5716c42d Calc error for logs 2012-01-21 11:59:49 -08:00
Jason Short 7fb641ab77 added note 2012-01-20 22:52:31 -08:00
Jason Short 127544b833 Added cast for comparison 2012-01-20 22:52:30 -08:00
Jason Short 5141534ea9 B3 2012-01-20 22:52:29 -08:00
Jason Short db6db1ab91 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 6e94b21d67 Altitude no longer resets when moving loiter WP 2012-01-20 22:52:29 -08:00
Jason Short 017364fc5b Lowered range to more sensible values 2012-01-20 22:52:29 -08:00
Michael Oborne 52a9bb3cd1 fix SITL attitude hil AC 2012-01-20 16:32:25 +08:00
Doug Weibel ed9f7cb1b6 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 0306bf97a0 Just a little more commenting work on global variables 2012-01-15 16:11:02 -07:00
Jason Short 3ebed0b278 This allows users to test the Auto_throttle hold or cruise value 2012-01-14 11:43:52 -08:00
Jason Short 46ef246e67 b2 2012-01-14 11:37:00 -08:00
Jason Short 0ae82da0fd Fix for SIMPLE mode 2012-01-14 11:32:48 -08:00
Jason Short 89343ae306 adjusted GPS watch dog not to be so aggressive,
removed unneeded flag clearing
2012-01-14 11:20:40 -08:00
Jason Short ec9880f725 made resetting throttle cruise a function 2012-01-13 16:47:08 -08:00
Jason Short 8d909f6eed fixed GPS bug - moved to fast loop location 2012-01-13 12:47:22 -08:00
Jason Short b0810e054e moved GPS routines to 50hz loop to avoid delay. 2012-01-12 22:59:47 -08:00
Jason Short 648a404ee1 Version 2.2 2012-01-12 22:37:33 -08:00
Jason Short 91e05834c8 removed wind comp code,
Added Landing boost code
2012-01-12 22:28:58 -08:00
Jason Short a7bce15365 R10 2012-01-11 22:41:51 -08:00
Jason Short f35411ac45 R9 2012-01-10 23:46:08 -08:00
Jason Short 5a91396f63 Added climb rate control
removed unused vars
2012-01-10 23:42:26 -08:00
Jason Short 351be7c305 Made timer unsigned 2012-01-10 23:42:26 -08:00
Pat Hickey 2f63c636ad Rename ArduCopter/config_motors.h to config_channels.h 2012-01-09 21:57:02 -08:00
Pat Hickey f5b6746ad7 ArduCopter: Change TRI_FRAME yaw servo output to CH_TRI_YAW define 2012-01-09 21:57:02 -08:00
Pat Hickey 0b40f55334 ArduCopter: include config_motors.h in sketch 2012-01-09 21:57:01 -08:00
Randy Mackay f68d23d91e 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 d45c0ce9f2 Added Acro to Rate_P 2012-01-08 14:52:10 -08:00
Jason Short f4b530ebb1 R8 2012-01-07 22:28:03 -08:00
Jason Short 76dd79e7b5 Made RTL hold position until it reaches altitude 2012-01-07 22:27:26 -08:00
Jason Short ee0551037e Revved to R7 2012-01-06 10:22:53 -08:00
Jason Short 17873eb09c Changed default throttle type for failsafe to avoid checking
changed timer to 20 seconds.
2012-01-06 10:20:31 -08:00
Jason Short e116636fe9 Auto_land update 2012-01-05 21:57:34 -08:00
Jason Short e3c16fc1b1 Added auto_land to RTL 2012-01-05 21:15:12 -08:00
Jason Short 20661e5020 timer set to unsigned 2012-01-04 17:31:20 -08:00
Andrew Tridgell 596a1f43f4 ACM-simple: don't use uninitialised simple trig values 2012-01-05 10:13:36 +11:00
Jason Short ed1ff0b171 Upped Revision 2012-01-04 09:28:38 -08:00
Jason Short 76cfdca6cc 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 b3cea96970 Cosmetic 2011-12-31 10:54:31 -08:00
Jason Short ea832c0818 upped to r5 2011-12-31 10:05:13 -08:00
Jason Short 1ef7f9fe62 Loiter I reset 2011-12-31 09:45:25 -08:00
Jason Short 0ace8474d7 R4 2011-12-30 23:54:02 -08:00
Jason Short 28984a72e4 no longer calling reset_nav 2011-12-30 23:48:04 -08:00
Jason Short c7f93f8718 Updated Configs based on field testing. 2011-12-30 23:48:04 -08:00
Jason Short 84d3e3135f 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 3ea49e1415 updated rev 2011-12-29 23:02:41 -08:00
Jason Short 95a70cf32e 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 6f42442e57 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 bbe6dea980 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 955dfe0226 ACM: check compass health before using it 2011-12-28 20:41:53 +11:00
Andrew Tridgell 03a16c6e45 ACM: use new I2C library 2011-12-28 20:41:53 +11:00
Jason Short 234121f3c3 Fix for 11 channels of motors. 2011-12-26 14:39:01 -08:00
Jason Short 0491d4feca added define for optflow 2011-12-23 18:45:01 -08:00
Jason Short d9590a44d6 Fixed merge issues 2011-12-23 14:51:40 -08:00
Jason Short 62cb407558 Begin to better integrate OptFlow, added necessary globals for Loiter estimation 2011-12-23 14:42:50 -08:00
Jason Short 239eb53983 change Alpha name 2011-12-18 16:38:07 -08:00
Jason Short 47e4c875e1 Cleanup
removed Iterm experiment - no noticeable effect in actual flight
2011-12-16 20:47:23 -08:00
Andrew Tridgell f6f808357c 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 2fc25d963d renamed super simple, added framework for auto calc of throttle cruise 2011-12-15 20:51:41 -08:00
Jason Short f48e394511 made the last step of landing stop navigating so we can drop straight down. 2011-12-14 22:08:41 -08:00
Jason Short 8691b10ee9 added failsafe check,
enable loiter repositioning
2011-12-14 22:08:41 -08:00