Commit Graph

122 Commits

Author SHA1 Message Date
Jason Short 1e546b54be ACM : Nav rate limit lowered to prevent bad oscillations due to GPS latency. 2012-08-18 09:04:22 -07:00
rmackay9 1a2dd5b74b ArduCopter: renamed "_new_alt" parameter to just "new_alt" in force_new_altitude and set_new_altitude functions 2012-08-18 21:46:48 +09:00
Jason Short 1a1987b810 ACM : removed old note 2012-08-17 17:03:40 -07:00
Jason Short 7ac4d06d3f ACM: made target bearing the lead filtered location
Had some major nav trouble from crosstrack if I used the laggy position.
2012-08-16 15:38:25 -07:00
rmackay9 48b7d26c5d ArduCopter: changed all "int" to "int16_t" and a few "long"s to "int32_t".
Also moved "simple_counter" variable from global scope to the "update_simple_mode" function which is the only place that it's actually used.
2012-08-16 20:04:46 +09:00
rmackay9 5f2c662fc9 ArduCopter: replaced abs with labs as required in a few places.
Also fixed a small bug in the get_stabilize_pitch function in which it was using the roll (instead of pitch) to decide whether it should let the i term build-up or not.
2012-08-16 17:51:09 +09:00
Jason Short 2cc27b9804 ACM: Switched to filtered loc 2012-08-14 14:11:52 -07:00
Jason Short 0688eee9bc ACM : Added larger WP radius for fast waypoints so we don't loose speed angling in on the WP at the last second. 2012-08-10 10:02:32 -07:00
Jason Short 1980e0464c ACM: navigation - Alt cleanup, fast corner support 2012-08-09 16:59:44 -07:00
Andrew Tridgell 295a9ce39c ACM: change to use get_bearing_cd() instead of get_bearing() 2012-08-08 12:12:30 +10:00
Jason Short 6177a1f5de Added minimum speed for RTL 2012-07-20 13:27:35 -07:00
Jason Short 676f02da7c Arducopter: Adjusted speed of climb to not stall out before hitting peak 2012-07-19 17:53:49 -07:00
Jason Short 05a2d3ae35 Arducopter: Fix compile issue 2012-07-19 10:09:16 -07:00
Jason Short ec1d400adf Arducopter: Slower WP deceleration for RTL and WP navigation
Slower descent and slightly faster ascent
2012-07-19 09:50:18 -07:00
Jason Short f29aa0dc25 Arducopter
upped nav max to 32deg from 30
renamed calc_desired_speed to get_desired_speed
Added get_desired_climb_rate function to do smooth transitions in altitude
modified get_altitude_error to override the older altitude manager.
2012-07-18 22:57:11 -07:00
Jason Short c5d3620d2b Arducopter: INS
updated Nav control to use INS
2012-07-18 22:57:10 -07:00
Jason Short 9de2c00d93 Arducopter: WP_radius
Switching to stored WP_radius in meters, just like Arduplane
2012-07-10 21:53:38 -07:00
Andrew Tridgell a643d2aa6b ACM: use get_distance_cm() not get_distance()
this fixes a bug introduced in 28f2eb6b9
2012-07-11 07:50:07 +10:00
Jason Short 9e796899e4 Airspeed patch:
pre-calculated airspeed resistance pitches copter automatically to gain a certain speed allowing the speed controller to work off of a better set point - similar to Alt hold.
added param tilt_comp with a default of 54 which equals 19.5° of pitch to go 6m/s
upped Z and Y target speeds to int32_t for speed squared calculation
2012-07-09 13:13:32 -07:00
Andrew Tridgell 35b73b9d01 ACM: removed some Location functions which are now in AP_Math 2012-07-04 13:44:36 +10:00
Jason Short fcc38889b4 Navigation
increased speed governor to get faster WP travel
added param for WP tilt - basically a precalculated I term for wind resistance.
2012-07-03 17:34:50 -07:00
Jason Short c20c04ed24 removed GPS ground speed calc - was causing some funny business during the transition. 2012-07-03 17:16:14 -07:00
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