Commit Graph

3120 Commits

Author SHA1 Message Date
Andrew Tridgell
dca597cda1 L1_Control: added a comment on speed of the L1 control code 2013-04-12 12:58:20 +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
Randy Mackay
cdb532a594 Copter: bug fix for loiter target 2013-04-11 18:24:20 +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
Andrew Tridgell
8d992ae615 InertialSensor: added OilPan INS example 2013-04-08 07:07:25 +10:00
Randy Mackay
af13f6795c INS: switch to global definition of GRAVITY_MSS
saves 4 bytes of RAM
2013-04-05 22:57:46 +09:00
Randy Mackay
777c6a308e AP_InertialNav: use shared GRAVITY_MSS constant 2013-04-05 11:48:41 +09:00
foobarbecue
c07702f46d Update AP_MotorsOctaQuad.cpp
There were two "4"s in the motor test order values. Presumably a typo.
2013-04-05 11:22:56 +09:00
Randy Mackay
739e3c2b9a Copter: adjust trapezoidal motor mixing 2013-04-04 21:46:11 +09:00
Randy Mackay
e32cbd827b Copter: replace quad trapezoid frame with V
Also update motor mixing
2013-04-03 22:14:29 +09:00
Randy Mackay
5bf55a9523 OpticalFlow: switch order of sin_yaw, cos_yaw 2013-04-02 15:49:31 +09:00
Andrew Tridgell
5667f5d817 AP_ADC: fixed APM1 HIL_SENSORS Ch6() return 2013-04-02 13:20:08 +11:00
Andrew Tridgell
310a5a6be1 DataFlash: don't try to write if no card inserted 2013-04-02 13:08:38 +11:00
Andrew Tridgell
6123ea2dac PID: added get_pid_4500()
this is a version of get_pid() that returns an int16_t constrained to
-4500 to 4500. This will prevent overflow errors for large PID gains
in ArduPlane and Rover
2013-04-01 22:17:04 +11:00
Randy Mackay
6816c45c39 InertialNav: reduce Z-axis time constant to 5 2013-04-01 11:51:12 +09:00
Michael Oborne
541fa13291 cleanup comments 2013-03-31 17:14:54 +08:00
Michael Oborne
2160bf135d fix sitl segfault in hil 2013-03-31 16:39:15 +08:00
Michael Oborne
87292e0a4a Init hil accel with gravity 2013-03-31 16:38:48 +08:00
Randy Mackay
39ba406957 Copter: add trapezoid frame type
We still need to properly define the motor mixing for the trapezoid
frame in AP_MotorsQuad.cpp
2013-03-31 12:41:02 +09:00
Andrew Tridgell
a093926b04 Revert "RC_Channel: removed pwm_out variable from RC_Channel"
This reverts commit 8e4a003d8d.

It is used by MotorsMatrix
2013-03-29 22:36:29 +11:00
Andrew Tridgell
8e4a003d8d RC_Channel: removed pwm_out variable from RC_Channel
saves 16 bytes
2013-03-29 19:32:52 +11:00
Andrew Tridgell
896fd52aa1 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-03-29 18:35:10 +11:00
Andrew Tridgell
8459da202c AP_AHRS: prevents compass flyaways for plane and rover
this switches to the GPS for yaw if the compass has dragged us off by
more than 45 degrees from the GPS heading, and the wind speed is less
than 80% of the ground speed.
2013-03-29 13:48:25 +11:00
Andrew Tridgell
091b474a1d AP_Math: added wrap_360_cd() and wrap_180_cd()
moved from per-vehicle code
2013-03-29 13:13:37 +11:00
Andrew Tridgell
0ffc7dab6b SITL: added GPS speed down to SITL state 2013-03-28 10:29:12 +11:00
Randy Mackay
93f7e61b66 UBLOX GPS: fix MSG_SOL typo
"status" was used instead of "solution"
2013-03-27 11:42:05 +09:00
Randy Mackay
27309a553f GPS: fixes after review
Ensure 3D fix before returning velocity_down
UBLOX: restore check of fix_status as part of determining 2D or 3D fix
SIRF: add missing brackets on fix type check
2013-03-27 11:41:54 +09:00
Randy Mackay
24044dc0c4 AHRS: add support for GPS fix type 2D 2013-03-27 11:41:43 +09:00
Randy Mackay
d7454bb09e GPS: add 2D fix type 2013-03-27 11:41:39 +09:00
Andrew Tridgell
eb6c66af7e AP_HAL: added gpio->analogPinToDigitalPin() API 2013-03-22 12:31:14 +11:00
Andrew Tridgell
a6b21443c4 HAL_AVR: fixed null termination of vsnprintf() 2013-03-22 11:53:24 +11:00
Andrew Tridgell
91bbf914f7 RangeFinder: added SONAR_ENABLE boolean to analog sonar object 2013-03-22 07:52:51 +11:00
Andrew Tridgell
7e58bde826 GCS_MAVLink: added comm_is_idle() function
this will make CLI detection more reliable
2013-03-21 21:55:12 +11:00
Andrew Tridgell
6ddb99a50b HAL_PX4: create APM/boot.log on SD card
useful for debugging
2013-03-21 15:05:21 +11:00
Andrew Tridgell
cc932973d6 HAL_PX4: remove the need for the fmu_only flag file 2013-03-21 15:05:21 +11:00
Andrew Tridgell
3f6eb87f23 AP_GPS: fixed uBlox Debug() macro 2013-03-20 15:42:07 +11:00
Andrew Tridgell
8766e86091 HAL_PX4: fixed blocking bulk writes to UARTs
this fixes a problem with uBlox initialisation on PX4
2013-03-20 15:41:52 +11:00
Andrew Tridgell
14911eff6c HAL_PX4: added a (disabled) trick for handling blocking ttyACM0
this doesn't work yet, but is worth having for debugging
2013-03-20 11:20:43 +11:00
Randy Mackay
38e81adae0 InertialNav: remove unnecessary "virtual" from function definitions
This saves about 30bytes of RAM
2013-03-19 17:51:16 +09:00
Andrew Tridgell
93fc9c48e5 HAL_PX4: fixed startup bug in fmu_only mode 2013-03-19 07:57:13 +11:00