Jason Short
d893cde785
navigation.pde : Added a drag/velocity prediction filter for improved I term wind correction.
2012-06-29 21:20:28 -07:00
Jason Short
50b3ef66a7
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
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
Jason Short
95076bf08e
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
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
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
4430f75344
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
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
c7c6dd70b9
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
8f0bc57967
ArduCopter - navigation.pde - added logging of Loiter PID controllers
2012-04-11 23:52:25 +09:00
rmackay9
7dc18b53ad
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
ce6b1ccc75
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
485cebf85c
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
f6638d00d6
ACM: Smoother Speed calcs
2012-03-16 14:10:19 -07:00
Jason Short
0c6a87db3f
ACM: Disabled D term experiment for Loiter until more testing
2012-03-15 19:20:03 -07:00
Jason Short
0edc1020ac
ACM: Loiter D performance updates
2012-03-13 10:23:31 -07:00
Jason Short
580c5e109e
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
56d2b9ef05
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
68d210660e
ACM: Added note about scaling rates
2012-03-10 12:43:28 -08:00
Jason Short
4b75f74d2c
ACM: Altered the scaling speed for altitude changes for faster rises.
2012-03-10 12:43:01 -08:00
Jason Short
874f5aaef6
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
9986776e0d
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
9a2be4701f
removed Constraint that caused JLN's horizontal drift.
2012-02-26 11:33:37 -08:00
Jason Short
22982cda0f
Loiter updates
2012-02-23 22:03:26 -08:00
Jason Short
151e710668
Added slow wp option in calc_desired_speed
2012-02-19 13:13:21 -08:00
Jason Short
a4b8119c24
added workaround for resetting alt.
2012-02-19 12:40:08 -08:00
Jason Short
cbe297b634
scaled X velocity
2012-02-16 22:09:22 -08:00
Jason Short
0b011e3cd3
added option in code for Loiter specific gains
2012-02-15 09:10:15 -08:00
Jason Short
8cc480f7e6
upped max target speed to center of loiter
2012-02-10 22:46:27 -08:00
Jason Short
0f3c3bb563
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
5de459a160
tweaks to Loiter
2012-01-30 21:13:03 -08:00
Jason Short
ba81e2aa69
pid_nav_lat incorrectly labeled
2012-01-29 23:02:00 -08:00
Jason Short
25c2c9b437
removed filter. Don't need it.
2012-01-29 17:10:52 -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
86c7742dc0
added loiter_d to allow users to configure alternate Loiter alg
2012-01-22 14:19:27 -08:00
Jason Short
32241319c1
Revert "test to switch loiter controls"
...
This reverts commit 92270371d038f246d535f0ace9fc19272c44291d.
2012-01-22 14:19:27 -08:00
Jason Short
04a2eee410
test to switch loiter controls
2012-01-22 12:28:34 -08:00
Jason Short
e1f7fa34ea
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
ab8bf0b560
increasing the velocity near WP
2012-01-21 11:59:49 -08:00
Jason Short
0475dbf8ae
relocated reset_I term functions to central location
2012-01-20 22:52:30 -08:00
Jason Short
589f8bc557
Disabled Ryans filter until we get real-world testing in.
2012-01-13 12:48:02 -08:00
Jason Short
8416de7e9c
Added Ryan's GPS lag filter
...
Removed unused code
refined alt change
2012-01-12 22:28:58 -08:00
Jason Short
464038b3ea
New Loiter control
2012-01-11 22:41:51 -08:00
Jason Short
36516161b5
Climb rate control
2012-01-10 23:43:44 -08:00
Jason Short
12493d6431
Moved wind comp into a define
2012-01-07 22:27:26 -08:00
Jason Short
a640311f58
Added Note
2012-01-06 10:20:59 -08:00
Andrew Tridgell
a6808162d6
ACM: fixed a warning
...
comment out some unused debug code
2012-01-05 10:14:53 +11:00
Jason Short
bf8e3975ec
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
24bddb1c47
Added more constraints around velocity
2011-12-31 10:59:59 -08:00
Jason Short
1d636219f9
New Style WP navigation for high wind
2011-12-30 23:48:05 -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
4bfa5def76
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
e42d5cb4f9
Fixes for Smooth Loiter
2011-12-29 23:02:02 -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
Jason Short
a4e00f7459
Tweaks to fix Loiter
...
Changed save location to int32
added some filtering and smoothing
2011-12-25 15:44:49 -08:00
Jason Short
c8ca841bd7
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
c7da9c63f1
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
29788b98bd
Adjustments for High Wind enviroments
2011-12-12 17:47:45 -08:00
Jason Short
3edd471983
Upped the max pitch to deal with wind - based on T3 testing
2011-12-12 10:10:33 -08:00
Jason Short
b442a1b23c
added debug prints, broke out Angle val to debug
2011-12-11 09:53:44 -08:00
Jason Short
a0cef1cc88
made it so nav is called in Simple mode
2011-12-10 23:31:37 -08:00
Jason Short
0969bf3146
Added Bearing to home, distance to home calcs
2011-12-10 10:19:20 -08:00
Randy Mackay
f4fd6e0910
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
e3700365d4
Stability patch updates,
...
Cleanup
2011-12-06 21:03:56 -08:00
Jason Short
7e1d41be14
Fix error with calc_nav_pitch_roll
2011-11-28 21:27:29 -08:00
Jason Short
104f93cef5
Fixed navigation bug
2011-11-28 14:22:05 -08:00
Jason Short
2e0b55d887
Cosmetic cleanup, commented functions for compiler warnings
2011-11-27 22:23:02 -08:00
Jason Short
f75f514681
added param for crosstrack gain defaulted to 4
2011-11-19 13:59:37 -08:00
Jason Short
332684f649
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
01a4a120df
Merge branch 'master' of https://code.google.com/p/ardupilot-mega
2011-11-10 10:02:08 -08:00
Jason Short
124527b108
Trying to break Nav to test a feature
2011-11-10 10:01:57 -08:00
Andrew Tridgell
48eb35c45a
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
811ec3ec58
made crosstrack functions static
2011-11-09 23:30:16 -08:00
Jason Short
289d54038f
renamed original_target_bearing
2011-11-09 23:04:04 -08:00
Jason Short
d8dcb0e0d0
Added in crosstrack correction - test for SIM
2011-11-09 22:56:09 -08:00
Jason Short
4d27b725db
Tuning nav_WP
...
Added more notes
2011-11-09 12:06:37 -08:00
Andrew Tridgell
87d5581046
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
4149819bf7
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
9f50cd14d1
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
327679b999
Merge branch 'master' of https://code.google.com/p/ardupilot-mega
2011-10-15 16:35:09 -07:00
Michael Oborne
a84d0cb406
ac quick redo fix
2011-10-16 06:58:03 +08:00
Jason Short
3c51ce6a5f
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
c3b93d70df
Added Andrew's user hooks.
2011-10-15 15:29:33 -07:00
Jason Short
23c0bb9814
Updates to guided mode from Michael O.
...
removed or commented unused static vars
2011-10-15 13:09:04 -07:00
Jason Short
1a222fa2f4
slowed acceleration from WP
2011-10-13 10:54:51 -07:00
Andrew Tridgell
661b6c4508
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
3be34ed31a
Implementing a limiter for the ramp up of speed to WPs.
2011-10-03 10:37:56 -07:00
Jason Short
df1a39f650
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
b805263974
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
d0405b0a0a
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
a2886fc991
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
e0b4a26dee
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
790bd6f8c9
Altered CIRCLE mode to allow Loiter_N_Turns to work in AP mode.
2011-09-21 13:19:36 -07:00
Jason Short
59a2d2a256
Converted Millis to Micros
...
added navigation check to return a failed navigation
2011-09-19 22:24:57 -07:00
Jason Short
0d31d775b8
cleanup
...
added more ifdef for optflow
2011-09-15 23:41:15 -07:00
Jason Short
9a508a20f4
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
7e79612125
Removed last of Xtrack
2011-09-11 20:40:05 -07:00
Jason Short
7d57dfa3ec
removed Xtrack and increased rate error limit
2011-09-11 20:36:20 -07:00
jasonshort
ec68835898
circle mode patch
2011-09-09 11:59:42 +10:00
Andrew Tridgell
be8864f424
renamed top level directories
...
ArduCopterMega -> ArduCopter
added archives directory for old code
2011-09-09 11:27:41 +10:00