Jason Short
53d2a46cd6
Navigation.pde : removed old cross tracking from Arduplane. Added new 2D cross tracking. Added use of GPS velocity when above 1.5m/s
2012-06-25 23:06:28 -07:00
Jason Short
c42f9ece43
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
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
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
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
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
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
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
rmackay9
fad162989f
ArduCopter - navigation.pde - added logging of Loiter PID controllers
2012-04-11 23:52:25 +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
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
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
427dacba70
ACM: Smoother Speed calcs
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
468d9c4b4f
ACM: Loiter D performance updates
2012-03-13 10:23:31 -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
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
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
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
Jason Short
6e53949c2a
removed Constraint that caused JLN's horizontal drift.
2012-02-26 11:33:37 -08:00
Jason Short
24345d4f43
Loiter updates
2012-02-23 22:03:26 -08:00
Jason Short
81a861c8ac
Added slow wp option in calc_desired_speed
2012-02-19 13:13:21 -08:00
Jason Short
bcd5129f9b
added workaround for resetting alt.
2012-02-19 12:40:08 -08:00
Jason Short
908ca4e915
scaled X velocity
2012-02-16 22:09:22 -08:00
Jason Short
9a3e862b55
added option in code for Loiter specific gains
2012-02-15 09:10:15 -08:00
Jason Short
efce991bfb
upped max target speed to center of loiter
2012-02-10 22:46:27 -08:00
Jason Short
c35ad2d493
Loiter update - removed compensation curve. Did some more math and its's not worth the effort, harder to tune.
2012-02-09 22:22:00 -08:00
Jason Short
8aaf88e13b
tweaks to Loiter
2012-01-30 21:13:03 -08:00
Jason Short
23709bafef
pid_nav_lat incorrectly labeled
2012-01-29 23:02:00 -08:00
Jason Short
ae65a0f03f
removed filter. Don't need it.
2012-01-29 17:10:52 -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
25529dec69
added loiter_d to allow users to configure alternate Loiter alg
2012-01-22 14:19:27 -08:00
Jason Short
74daadb252
Revert "test to switch loiter controls"
...
This reverts commit 92270371d038f246d535f0ace9fc19272c44291d.
2012-01-22 14:19:27 -08:00
Jason Short
6476ba22f2
test to switch loiter controls
2012-01-22 12:28:34 -08:00
Jason Short
fffa1af3b3
Fixed speed governor which was letting speed get to 0.
...
added Loiter_d to replace Nav_P for rate control
wp_distance calc now returns CM
2012-01-21 22:12:57 -08:00
Jason Short
8cb645f3c2
increasing the velocity near WP
2012-01-21 11:59:49 -08:00
Jason Short
6784989e83
relocated reset_I term functions to central location
2012-01-20 22:52:30 -08:00
Jason Short
6591089110
Disabled Ryans filter until we get real-world testing in.
2012-01-13 12:48:02 -08:00
Jason Short
569ff5046f
Added Ryan's GPS lag filter
...
Removed unused code
refined alt change
2012-01-12 22:28:58 -08:00
Jason Short
99ea69ef7b
New Loiter control
2012-01-11 22:41:51 -08:00
Jason Short
3e8ff39d4b
Climb rate control
2012-01-10 23:43:44 -08:00
Jason Short
63be9c5f7b
Moved wind comp into a define
2012-01-07 22:27:26 -08:00
Jason Short
c9f60f239d
Added Note
2012-01-06 10:20:59 -08:00
Andrew Tridgell
2913948520
ACM: fixed a warning
...
comment out some unused debug code
2012-01-05 10:14:53 +11:00
Jason Short
e36d2f6e96
Added Wind compensation for Stabilize
...
moved speed calc to it's own function
decreased acceleration from WPs
2012-01-04 09:28:37 -08:00
Jason Short
26d0bf93ff
Added more constraints around velocity
2011-12-31 10:59:59 -08:00
Jason Short
c6586810cf
New Style WP navigation for high wind
2011-12-30 23:48:05 -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
53c09774e5
removed Rate_I from Loiter, lowing Rate_P from Loiter too. Too aggressive leads to rapid oscillations in air, and not around loiter position.
2011-12-29 23:02:03 -08:00
Jason Short
fa49aa5eec
Fixes for Smooth Loiter
2011-12-29 23:02:02 -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
Jason Short
1afa25d9ef
Tweaks to fix Loiter
...
Changed save location to int32
added some filtering and smoothing
2011-12-25 15:44:49 -08:00
Jason Short
5518882c69
Fixed resolution issue with Xtrack
...
Added stub for loiter based on estimation
integrated fix for tracking GPS at slow speeds for loiter
2011-12-23 14:46:32 -08:00
Jason Short
c6657f4a93
updated Loiter control to provide an alternative to GPS rate control for users with circling issues. Works in SIM, needs flight testing
2011-12-14 22:08:41 -08:00
Jason Short
edc3a731d4
Adjustments for High Wind enviroments
2011-12-12 17:47:45 -08:00
Jason Short
d83ad1acd4
Upped the max pitch to deal with wind - based on T3 testing
2011-12-12 10:10:33 -08:00
Jason Short
c1aa015ef1
added debug prints, broke out Angle val to debug
2011-12-11 09:53:44 -08:00
Jason Short
f89fed02c3
made it so nav is called in Simple mode
2011-12-10 23:31:37 -08:00
Jason Short
3ff7b047d5
Added Bearing to home, distance to home calcs
2011-12-10 10:19:20 -08:00
Randy Mackay
4dc2956ca9
Navigatino - small bug fix in loiter controller in which the y_iterm was coming from the Lon controller instead of the lat controller. Found by Sylvain. http://www.diydrones.com/forum/topic/listForContributor?user=18fsncw0k1x6i
2011-12-09 22:13:37 +09:00
Jason Short
6dfdd754ea
Stability patch updates,
...
Cleanup
2011-12-06 21:03:56 -08:00
Jason Short
eb6d34e1fc
Fix error with calc_nav_pitch_roll
2011-11-28 21:27:29 -08:00
Jason Short
b4a0d8a275
Fixed navigation bug
2011-11-28 14:22:05 -08:00
Jason Short
b3bd4bd3c9
Cosmetic cleanup, commented functions for compiler warnings
2011-11-27 22:23:02 -08:00
Jason Short
39d0df4cef
added param for crosstrack gain defaulted to 4
2011-11-19 13:59:37 -08:00
Jason Short
35524f6da7
Added optimizations for radian calls to remove a division.
...
added a protection for entering AP modes without Home being set by GPS lock.
2011-11-19 11:08:13 -08:00
Jason Short
dd96b146b5
Merge branch 'master' of https://code.google.com/p/ardupilot-mega
2011-11-10 10:02:08 -08:00
Jason Short
3450e91039
Trying to break Nav to test a feature
2011-11-10 10:01:57 -08:00
Andrew Tridgell
2d204b727b
fixed build error
...
the prototype extractor was finding the commented out version of
cross_track_test(), which had a different prototype
2011-11-10 22:01:09 +11:00
Jason Short
3f0b42f64f
made crosstrack functions static
2011-11-09 23:30:16 -08:00
Jason Short
d8361dfe67
renamed original_target_bearing
2011-11-09 23:04:04 -08:00
Jason Short
7259cf2180
Added in crosstrack correction - test for SIM
2011-11-09 22:56:09 -08:00
Jason Short
d6c0e34516
Tuning nav_WP
...
Added more notes
2011-11-09 12:06:37 -08:00
Andrew Tridgell
28634f51b7
ArduCopter: use specific sized data types in a lot of places
...
this will make the Desktop build more consistent with the real AVR
build, and also with a future ARM build
2011-11-08 11:05:36 +11:00
Jason Short
2458fe078f
Loiter updates
...
Added new option to do rate based Loiter with lat and long values, avoiding GPS heading latency issues.
2011-10-27 12:37:33 -07:00
Jason Short
42d0b5cdb3
tweaked Alt hold PIDs, loiter PIDs based on SIM testing and feedback.
...
Increased distance error for loiter for faster return to center.
2011-10-16 15:41:54 -07:00
Jason Short
4c1d10a75e
Merge branch 'master' of https://code.google.com/p/ardupilot-mega
2011-10-15 16:35:09 -07:00
Michael Oborne
5c10b2af6c
ac quick redo fix
2011-10-16 06:58:03 +08:00
Jason Short
4052fd4f73
Made wpspeed governor run per second so 1hz gps doesn't fail. Gave a 1m/s minimum. Increased WPspeed max to 4.0m/s
2011-10-15 15:35:18 -07:00
Jason Short
4be2776b17
Added Andrew's user hooks.
2011-10-15 15:29:33 -07:00
Jason Short
142707711e
Updates to guided mode from Michael O.
...
removed or commented unused static vars
2011-10-15 13:09:04 -07:00
Jason Short
338396b76a
slowed acceleration from WP
2011-10-13 10:54:51 -07:00
Andrew Tridgell
d89ae696ef
merged the GCS updates from ArduPlane to ArduCopter
...
this removes all the non-MAVLink GCS options, and simplifies the HIL
and GCS code a lot. It also adds async sending of low priority GCS
text messages.
2011-10-11 20:53:43 +11:00
Jason Short
1ff372a41d
Implementing a limiter for the ramp up of speed to WPs.
2011-10-03 10:37:56 -07:00
Jason Short
de61e87128
Added ADC gyro Filtering for quads - this fixes a noise issue introduced into the controller
...
added Position mode
removed
Added back in the accelerometer experiment
Added filter_result boolean to enable filter on the fly
2011-09-29 23:27:23 -07:00
Jason Short
758d0e1aec
Attempting to mimic loiter values for 4.0.42
...
lowered Rate Error max in loiter
2011-09-28 23:11:19 -07:00
Jason Short
c209d6e6dd
2.0.46 -Not flight tested!
...
restored 42 alt hold code
removed throttle timer, replaced with safer constant
increased alt control range
reformatted nav_rate calls
removed unused simple mode defines
set alt hold home to 10m
tuned down rateP to .13 from .14 for broader application.
2011-09-27 09:35:05 -07:00
Jason Short
d495e6a9c4
turned off Stabilize_I by default because it was hurting loiter
...
tweaked speed control of rate_nav
2011-09-24 21:49:45 -07:00
Jason Short
236f665378
Added Loiter Turns - It orbits the Current location
...
Added WP to Loiter_time so you can spec a specific location in the planner
added new Navigation alg. Should perform better (doesn't rely on 45° flow fields like last one)
Added "Jump" counter so missions don't get overwritten in flight.
removed I term by default for Rate pitch and roll
2011-09-24 17:40:29 -07:00
Jason Short
5ca50f1f01
Altered CIRCLE mode to allow Loiter_N_Turns to work in AP mode.
2011-09-21 13:19:36 -07:00
Jason Short
b2b28cc90c
Converted Millis to Micros
...
added navigation check to return a failed navigation
2011-09-19 22:24:57 -07:00
Jason Short
8d0a2fae9b
cleanup
...
added more ifdef for optflow
2011-09-15 23:41:15 -07:00
Jason Short
d29cfbcee3
Integration of optical flow
...
bug fixes for new Simple mode
increased Baro filter by 2 fields
2011-09-15 23:33:00 -07:00
Jason Short
885ec18182
Removed last of Xtrack
2011-09-11 20:40:05 -07:00
Jason Short
bae05178f0
removed Xtrack and increased rate error limit
2011-09-11 20:36:20 -07:00
jasonshort
8870e2f309
circle mode patch
2011-09-09 11:59:42 +10:00
Andrew Tridgell
1456a2a912
renamed top level directories
...
ArduCopterMega -> ArduCopter
added archives directory for old code
2011-09-09 11:27:41 +10:00