Randy Mackay
0ac3762bdd
AC_WPNav: fix compiler warning
2013-04-14 10:39:26 +09:00
Randy Mackay
1ee825ee9a
Copter: move alt and wp checking to AC_WPNAV
...
RTL fix so that if it starts rtl-ing from above 80m it returns home
while descending instead of descending at initial position.
add get and set_target_alt_for_reporting
2013-04-14 10:39:23 +09:00
Randy Mackay
9d7d174995
AC_WPNAV: check distance to waypoint within library
...
bug fix for loiter using lat/lon position instead of NED position when
calculating desired velocity towards target
2013-04-14 10:39:21 +09:00
Randy Mackay
35001619f0
AC_WPNav: stop track_desired from moving backwards
2013-04-14 10:39:19 +09:00
Randy Mackay
c6b68c7843
AC_WPNav: Leonard's 3d leash calculator
2013-04-14 10:39:08 +09:00
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