Commit Graph

7552 Commits

Author SHA1 Message Date
Randy Mackay
74e1c2e660 AC_WPNav: advance track fixes 2013-04-14 10:39:05 +09:00
Randy Mackay
2db8365c90 Copter: add AC_WPNav to parameters list 2013-04-14 10:39:02 +09:00
Randy Mackay
bc87118062 AC_WPNav: add get_target_alt method 2013-04-14 10:39:00 +09:00
Randy Mackay
6dbcbdcb43 AC_WPNav: limit max loiter position error
move interpretation of pilot input to wpnav lib
2013-04-14 10:38:58 +09:00
Randy Mackay
31838b2865 AC_WPNAV: change loiter controllers to use floats
in particular get_loiter_pos_lat_lon and get_loiter_accel_lat_lon
2013-04-14 10:38:56 +09:00
Randy Mackay
7c559333f5 Copter: get_throttle_rate's target_speed a float 2013-04-14 10:38:51 +09:00
Randy Mackay
0ccdce1b22 AC_WPNav: Leonard's ff loiter and 3d wp nav 2013-04-14 10:38:43 +09:00
Randy Mackay
926c404994 AC_WPNav: Leonard's loiter target smoothing 2013-04-14 10:38:39 +09:00
Randy Mackay
ee7f40cfe9 Copter: Leonard's alt-hold feed forward 2013-04-14 10:38:37 +09:00
Randy Mackay
f82ce449d7 AC_WPNav: add angle limits and set from AC's throttle controller 2013-04-14 10:38:34 +09:00
Randy Mackay
afd2f82768 AC_WPNav: bug fix for track covered being 2D
Replaced abs and fabs with fabsf
Added get_destination method
2013-04-14 10:38:32 +09:00
Randy Mackay
553f40a99c Copter: bug fix to loiter delay
change delay to seconds to allow delays longer than 65seconds
2013-04-14 10:38:30 +09:00
Randy Mackay
a65960a009 Copter: use velocity based set_loiter_target 2013-04-14 10:38:28 +09:00
Randy Mackay
8ec7fd1c9c AC_WPNav: add set_loiter_target to use velocity
Target can be set in front of the copter to reduce the bounce back to
the position where loiter was engaged.
2013-04-14 10:38:25 +09:00
Randy Mackay
fc972e2d42 InertialNav: add get_velocity method 2013-04-14 10:38:23 +09:00
Randy Mackay
e592baae11 Copter: remove remnants of fast_corner 2013-04-14 10:38:20 +09:00
Randy Mackay
4de5f67a91 Copter: replace wp_nav.get_target_alt with get_destination_alt 2013-04-14 10:38:17 +09:00
Randy Mackay
3bfcc3b8d0 AC_WPNav: replace get_target_alt with get_destination_alt 2013-04-14 10:38:13 +09:00
Randy Mackay
5b93990e41 Copter: removed next_WP
Use the wp_nav.get_target_alt or controller_desired_alt in it's place
2013-04-14 10:38:07 +09:00
Randy Mackay
c40080e76a AC_WPNav: added set_target_alt 2013-04-14 10:38:04 +09:00
Randy Mackay
1516972eaa Copter: add panorama to CIRCLE mode
Yaw will slowly rotate if CIRCLE_RADIUS is set to zero
Circle center is projected forward CIRCLE_RADIUS from current position
and heading
2013-04-14 10:38:01 +09:00
Randy Mackay
60060d8184 AC_WPNav: add get_target_alt
Required because waypoint controller will be modified to control
altitude
2013-04-14 10:37:58 +09:00
Randy Mackay
58ed8cd544 Copter: replace set_next_WP with direct call to wp_nav 2013-04-14 10:37:55 +09:00
Randy Mackay
0d70ba1030 AC_WPNav: bug fix to dt calculation 2013-04-14 10:37:51 +09:00
Randy Mackay
49828eba7d Copter: integrate AC_WPNav 2013-04-14 10:37:48 +09:00
Randy Mackay
39bc3800c9 AC_WPNav: add distance and bearing to target methods 2013-04-14 10:34:50 +09:00
Randy Mackay
b92c4097d2 AC_WPNav: first implementation 2013-04-14 10:34:47 +09:00
Andrew Tridgell
8d2cf6f3e5 Plane: update author list 2013-04-12 22:01:41 +10:00
priseborough
70a186464b Plane: added LEVEL_ROLL_LIMIT parameter
this replaces both TKOFF_HEAD_HOLD and RUDDER_STEER, allowing users to
instead select a roll limit for takeoff and landing
2013-04-12 21:59:52 +10:00
Andrew Tridgell
575f346e85 Plane: removed HIL_MODE_ATTITUDE
we really need full sensors for HIL with the L1 controller. The flight
is also _much_ better with sensors HIL.
2013-04-12 17:44:40 +10:00
Andrew Tridgell
76e20150e9 AP_InertialSensor: ensure parent class is initialised in instance classes 2013-04-12 14:30:35 +10:00
Andrew Tridgell
a5c3051929 AP_GPS: fixed initialisation error in uBlox driver
found with valgrind
2013-04-12 14:25:46 +10:00
Andrew Tridgell
bdb2f12c3b autotest: removed obsolete navigation parameters for ArduPlane 2013-04-12 13:27:51 +10:00
Andrew Tridgell
dca597cda1 L1_Control: added a comment on speed of the L1 control code 2013-04-12 12:58:20 +10:00
Andrew Tridgell
11eb0cfce1 Plane: update for new AP_Navigation controller class
this switches ArduPlane over to use the L1 navigation controller, via
a generic nav_controller object pointer.

Note that the nav_controller controls all types of navigation now,
including level flight and heading hold. This provides a cleaner
abstraction than the old method of special case navigation handling

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-04-12 12:48:09 +10:00
Brandon Jones
a3c2851120 AP_L1_Control: Addition of library for geometry calculations required for L1 Control.
1) Explicit control of tracking loop period and damping which removes previous
   variation in period with speed and fixed damping ratio
2) Explicit control of track capture angle (now set to 45 degrees by default)
3) Removal of restriction on loiter radius being greater than L1 distance

The circle(loiter) control is a L1 and PD hybrid utilising L1 for waypoint capture and PD control for circle tracking.

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
Pair-Programmed-With: Andrew Tridgell <tridge@samba.org>
2013-04-12 12:48:09 +10:00
priseborough
b63d0969b7 AP_AHRS: Addition of a first order complementary filter to AP_AHRS::groundspeed_vector
Addition of a complementary filter to estimation of the ground velocity vector for use by the L1-nav
2013-04-12 12:48:09 +10:00
Andrew Tridgell
05ecb8d8fa AP_AHRS: fixed functions that need to be virtual
functions overridden in a child class need to be marked virtual, or
you get the parent class function
2013-04-12 12:48:08 +10:00
Andrew Tridgell
ee81b0f729 AP_AHRS: added wind_correct_bearing() and groundspeed_vector()
these are very useful for navigation libraries
2013-04-12 12:48:08 +10:00
Andrew Tridgell
43c3c60de2 AP_Math: moved a lot of vector templates to cpp from .h
this reduces the code size quite a lot on AVR
2013-04-12 12:48:08 +10:00
Andrew Tridgell
78eb12a4ac AP_Math: added RadiansToCentiDegrees and RADIUS_OF_EARTH 2013-04-12 12:48:08 +10:00
Andrew Tridgell
8b119934ea AP_Math: fixed grammar error 2013-04-12 12:48:08 +10:00
Andrew Tridgell
2d29a6a7be AP_Math: added Vector2f.angle()
useful for calculating the vector in polar coordinates
2013-04-12 12:48:08 +10:00
Andrew Tridgell
f6aacdc768 AP_Navigation: added a navigation controller class
the new L1 controller will be a instance of this class. Other
navigation controllers can be added as additional instances

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-04-12 12:48:08 +10:00
Andrew Tridgell
c47bc09a3c Plane: avoid doing radio trim if less than 20% of travel available
this prevents problems with awful trim on bootup due to RC TX being
off
2013-04-12 12:47:59 +10:00
Randy Mackay
cdb532a594 Copter: bug fix for loiter target 2013-04-11 18:24:20 +09:00
Randy Mackay
e637a8fb29 Copter: remove old commented out code from setup.pde 2013-04-11 10:12:21 +09:00
Randy Mackay
86fe79a662 INS: updated MPU6K_FILTER parameter description 2013-04-10 00:14:53 +09:00
tobias
217b8d7a59 cleanup: use const for struct Location pointers and references
this allows the compiler to generate more efficient code
2013-04-09 12:10:32 +10:00
Stange Szilard
6516bffbb6 AP_Camera: enable relay off in all builds 2013-04-09 11:38:30 +10:00