Commit Graph

348 Commits

Author SHA1 Message Date
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
Andrew Tridgell 888d6226b2 fixed two more CONFIG_HARDWARE #ifdef bugs 2011-12-13 17:05:48 +11:00
Jason Short e4559bbf5c Added param option for Simple mode reset 2011-12-12 17:47:45 -08:00
Andrew Tridgell d076fb54b5 fixed barometer detection on APM2 2011-12-12 15:45:36 +11:00
Pat Hickey a48c65b5b5 ArduCopter: update AP_Baro constructors & initializers 2011-12-11 15:21:10 -08:00
Pat Hickey 6dbd6b4181 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 b055aa6f81 ArduCopter: instantiate correct AP_Baro object based on CONFIG_BARO 2011-12-11 15:21:09 -08:00
Pat Hickey de6507a47d ArduCopter: Rename APM_BMP085 classes to AP_Baro_BMP085 classes. 2011-12-11 15:21:09 -08:00
Randy Mackay 67855b207d Arducopter, RangeFinder - added SONAR_TYPE parameter and properly support the XL (default), LV and long distance XL (aka XLL) sonar types 2011-12-11 16:40:59 +09:00
Jason Short 4659a9ffce Adjust Simple mode on the fly. 2011-12-10 23:29:29 -08:00
Jason Short 84b72b627b Added SIMPLE mode reset outside of bounding box of 10M, will do more testing before enabling. 2011-12-10 10:19:20 -08:00
Jason Short 7cecca74bc Made Baro_alt int32_t
Added home to copter bearing, home to copter distance
Added Land mode
2011-12-10 10:19:20 -08:00
Jason Short 76d60a2111 Added Home Bearing 2011-12-10 10:19:20 -08:00
Jason Short 05409b8c1c made RateP range a little more sensible
removed unused var
2011-12-06 21:03:07 -08:00
Jason Short a632c49b44 Alt_hold_patch, removed Z dampening from Manual override. Fixed integrator conversion to throttle_cruise 2011-12-04 21:32:33 -08:00
Jason Short e8a14c8d93 simple patch to improve alt hold based on stability patch 2011-12-04 21:32:33 -08:00
Jason Short c99da66506 Formatting, swicth Omega to raw IMU rates 2011-12-03 15:29:33 -08:00
Michael Oborne edf3195384 add 1hz mavlink loop. 2011-12-04 06:32:08 +08:00
Jason Short ce5ad442fc Git Test 2011-11-28 10:54:20 -08:00
Jason Short 82adf1df6b removed need to send increment flag to update commands
constrained climb_rate value
2011-11-28 10:33:06 -08:00
Pat Hickey 6ee477bd8d ArduCopter: rev version number from 2.0.51 to 2.1.0 Alpha 2011-11-25 20:00:19 -08:00
Andrew Tridgell 38c85c44ae ArduCopter: rename purple to APM2 2011-11-25 20:00:19 -08:00
Andrew Tridgell 3a542b3ef3 USB-MUX: enable USB MUX switching for ArduCopter 2011-11-25 20:00:19 -08:00
Andrew Tridgell ffba37d599 desktop: first version of register level SITL support
this adds register level emulation of the ADS7844 and the RC
input/output hardware on the APM1, allowing for SITL testing without
enabling HIL in the code
2011-11-25 20:00:18 -08:00
Andrew Tridgell 41caa949ca fixed InertialSensor stub build 2011-11-25 20:00:18 -08:00
Pat Hickey 1d50bb80fd hil-sensors ArduCopter: fixes to make hil-sensors build work properly
* requires new stub libraries for InertialSensor and PeriodicProcess.
2011-11-25 20:00:18 -08:00
Andrew Tridgell 1c20efe4b8 re-organiser sensor declarations
this tries to make the #ifdef nesting easier to understand
2011-11-25 20:00:17 -08:00
Andrew Tridgell c0898ab3b9 purple: timer_scheduler should be in all builds 2011-11-25 20:00:17 -08:00