Commit Graph

98 Commits

Author SHA1 Message Date
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