Commit Graph

4667 Commits

Author SHA1 Message Date
Andrew Tridgell
1e476e511a AP_AHRS: pass baro into AP_AHRS
first step in making AHRS handle altitude
2014-02-15 05:29:47 +11:00
Andrew Tridgell
6e5077b60b AP_AHRS: removed unused AP_AHRS_HIL 2014-02-15 05:29:46 +11:00
Andrew Tridgell
84c7b0d7fd AP_AHRS: check for NavEKF health 2014-02-15 05:29:46 +11:00
Andrew Tridgell
9ef71a9dec AP_NavEKF: added healthy() API 2014-02-15 05:29:46 +11:00
Andrew Tridgell
cfc612b251 AP_InertialNav: use references to AHRS and baro 2014-02-15 05:29:45 +11:00
Andrew Tridgell
18aa08d5c3 GCS_MAVLink: added AHRS2 mavlink msg 2014-02-15 05:29:45 +11:00
Andrew Tridgell
154eb76f4f GCS_MAVLink: new MAVLink headers 2014-02-15 05:29:45 +11:00
Andrew Tridgell
bfd48a95b7 AP_NavEKF: fixed example build 2014-02-15 05:29:45 +11:00
Andrew Tridgell
b39a5062e9 AP_AHRS: use NavEKF for ground vector when available 2014-02-15 05:29:45 +11:00
Andrew Tridgell
b6bc50051f AP_AHRS: allow reporting of secondary AHRS solution 2014-02-15 05:29:45 +11:00
Andrew Tridgell
ea0f9392ef AP_NavEKF: don't report altitude yet, and removed debug code 2014-02-15 05:29:45 +11:00
Andrew Tridgell
a1aebc0c15 GCS_MAVLink: update from upstream 2014-02-15 05:29:23 +11:00
Andrew Tridgell
0e10554dc0 GCS_MAVLink: rename EKF message to AHRS2 2014-02-15 05:28:10 +11:00
Andrew Tridgell
33673c954d AP_NavEKF: implemented getRotationBodyToNED() 2014-02-15 05:28:10 +11:00
Andrew Tridgell
8c5cde4efd AP_AHRS: allow NavEKF to be enabled at runtime with AHRS_EKF_USE=1 2014-02-15 05:28:10 +11:00
Andrew Tridgell
7ac78ff991 AP_AHRS: create AP_AHRS_NavEKF class
subclass of AP_AHRS_DCM, just a wrapper for now, will add EKF calls
next
2014-02-15 05:28:09 +11:00
Andrew Tridgell
2c86a490ed AP_NavEKF: make it possible for NavEKF to be a AHRS member
ready for AHRS integration
2014-02-15 05:28:09 +11:00
Paul Riseborough
6f31961fb5 AP_NavEKF: Added height rate adaptive wind speed process noise 2014-02-15 05:28:09 +11:00
Paul Riseborough
de884dabab AP_NavEKF: brought some tuning parameters out to header 2014-02-15 05:28:09 +11:00
Paul Riseborough
3ee5ef852b AP_NavEKF : improved On Ground check 2014-02-15 05:28:09 +11:00
Paul Riseborough
8bc14d09b2 AP_NavEKF : remove onGround airspeed detect bug 2014-02-15 05:28:09 +11:00
Paul Riseborough
a507fa7570 AP_NavEKF : remove debug code 2014-02-15 05:28:09 +11:00
Paul Riseborough
2f95685bfc Plane : EKF data logging fixes 2014-02-15 05:28:09 +11:00
Paul Riseborough
6b9733c013 AP_NavEKF : Additional flash logging 2014-02-15 05:28:09 +11:00
Paul Riseborough
c28e89e4b7 AP_NavEKF: bug fixes for height fusion and covariance initialisation 2014-02-15 05:28:08 +11:00
Paul Riseborough
aed6c79135 AP_NavEKF: Added gyro bias variance scale for on-ground 2014-02-15 05:28:08 +11:00
Paul Riseborough
cb42e1e490 AP_NavEKF: Added public function to get NED position 2014-02-15 05:28:08 +11:00
Paul Riseborough
2c567cd721 AP_NavEKF: Added tuning parameter for onGround yaw gyro variance 2014-02-15 05:28:08 +11:00
Paul Riseborough
9515f6c745 AP_NavEKF: Cleaned up on-ground state and covariance update logic 2014-02-15 05:28:08 +11:00
Andrew Tridgell
9c5647eef3 AP_NavEKF: stop log for gdb friendly playback 2014-02-15 05:28:08 +11:00
Andrew Tridgell
117b77460e HAL_Linux: added stop_clock hack! 2014-02-15 05:28:08 +11:00
Andrew Tridgell
4adf6000f3 AP_NavEKF: only build on fast CPUs 2014-02-15 05:28:08 +11:00
Paul Riseborough
1647ba9bd0 AP_NavEKF: Reduced heading drift on ground 2014-02-15 05:28:08 +11:00
Paul Riseborough
63d8b1bb0b AP_NavEKF: Scheduler Improvements 2014-02-15 05:28:07 +11:00
Andrew Tridgell
df42dd691c AP_NavEKF: added perf counters on PX4 2014-02-15 05:28:07 +11:00
Andrew Tridgell
3d6cb9eade AP_NavEKF: use float arrays when not doing bounds checking
g++ is doing a lousy job of inlining VectorN, so avoid it when we
don't need bounds checking for production code
2014-02-15 05:28:07 +11:00
Andrew Tridgell
c7533579ac AP_AHRS: added get_airspeed() interface to AHRS 2014-02-15 05:28:07 +11:00
Andrew Tridgell
010250a966 AP_NavEKF: use quaternion normalize and cleanup sqrt calls 2014-02-15 05:28:07 +11:00
Paul Riseborough
406fb31a57 AP_NavEKF: Load levelling scheduler - first attempt 2014-02-15 05:28:07 +11:00
Andrew Tridgell
68283b7aa1 GCS_MAVLink: new ekf header 2014-02-15 05:28:07 +11:00
Andrew Tridgell
163cfd839d AP_NavEKF: enable airspeed and fix getLLH() 2014-02-15 05:28:07 +11:00
Andrew Tridgell
b4153c4d32 GCS_MAVLink: added EKF message for debugging 2014-02-15 05:27:54 +11:00
Andrew Tridgell
4771a4fc77 AP_NavEKF: use radians values from AHRS directly 2014-02-15 05:27:53 +11:00
Paul Riseborough
6b798d2821 AP_NavEKF: first working GPS + Mag fusion 2014-02-15 05:27:53 +11:00
Paul Riseborough
bccadb6e25 AP_NavEKF: first working GPS fusion 2014-02-15 05:27:53 +11:00
Andrew Tridgell
90cd04def3 AP_NavEKF: fixed build for non-Linux 2014-02-15 05:27:53 +11:00
Andrew Tridgell
0b71618f4f AP_NavEKF: use vectorN to make indexes safe 2014-02-15 05:27:53 +11:00
Andrew Tridgell
e972acbc9f AP_NavEKF: removed delay callback 2014-02-15 05:27:53 +11:00
Andrew Tridgell
8f16647a0c AP_NavEKF: added write_flot valgrind functions 2014-02-15 05:27:53 +11:00
Andrew Tridgell
a8ddd51355 AP_NavEKF: added pause to gnuplot scripts 2014-02-15 05:27:53 +11:00
Andrew Tridgell
4298625daf AP_NavEKF: added convenient plotting scripts 2014-02-15 05:27:53 +11:00
Paul Riseborough
fca1090694 AP_NavEKF: debug updates 2014-02-15 05:27:53 +11:00
Andrew Tridgell
95f51123d7 AP_NavEKF: added plot.dat output 2014-02-15 05:27:53 +11:00
Andrew Tridgell
050b0fb9f1 AP_NavEKF: fixed compass declination, baro cal and time shift
now runs much faster
2014-02-15 05:27:53 +11:00
Andrew Tridgell
776cedf368 AP_NavEKF: try running EKF on log data 2014-02-15 05:27:52 +11:00
Andrew Tridgell
ffce1f64cc AP_NavEKF: added euler angle functions 2014-02-15 05:27:52 +11:00
Andrew Tridgell
977ad4bbf6 AP_NavEKF: added dataflash log reader
this gives log playback into HIL
2014-02-15 05:27:52 +11:00
Andrew Tridgell
f3dfde2025 AP_NavEKF: initial test sketch for NavEKF 2014-02-15 05:27:52 +11:00
Paul Riseborough
361bb5b18f AP_NavEKF: Updated comments in header file 2014-02-15 05:27:52 +11:00
Paul Riseborough
00df068967 AP_NavEKF: Explicitly defined numerical constants as single precision using f suffix 2014-02-15 05:27:52 +11:00
Andrew Tridgell
eb505eef91 AP_NavEKF: fixed build for APM environment 2014-02-15 05:27:52 +11:00
Paul Riseborough
0dd5463e77 AP_NavEKF : Changed file and variable names 2014-02-15 05:27:52 +11:00
Paul Riseborough
1e993d2ef5 AP_NavEKF: Added constructor for measurements 2014-02-15 05:27:52 +11:00
Paul Riseborough
4a7f81e50a AP_NavEKF: Corrected height update timeout error 2014-02-15 05:27:51 +11:00
Paul Riseborough
0f3ebb8e31 AP_NavEKF: Updated measurement fusion control 2014-02-15 05:27:51 +11:00
Paul Riseborough
c557bd7df5 AP_NavEKF: Updated GPS input processing 2014-02-15 05:27:51 +11:00
Paul Riseborough
1d4b040c67 AP_NavEKF: Inertial Navigation Code - 24 State EKF
initial version converted from matlab
2014-02-15 05:27:51 +11:00
Andrew Tridgell
03cc777991 AP_Airspeed: added last_update_ms() interface 2014-02-15 05:27:51 +11:00
Andrew Tridgell
e7cf07dfb7 DataFlash: added Columns column to FMT 2014-02-15 05:27:51 +11:00
Andrew Tridgell
1e0f3f5398 AP_Math: make to_euler() const 2014-02-15 05:27:51 +11:00
Andrew Tridgell
90c41981ac AP_Math: added quaternion normalization 2014-02-15 05:27:51 +11:00
Randy Mackay
9e31f0b985 AC_WPNav: use PosControl accessor
Saves 2bytes of RAM
2014-02-15 05:27:50 +11:00
Randy Mackay
78c12eaebf AC_PosControl: get_pos_xy_kP accessor method 2014-02-15 05:27:50 +11:00
Randy Mackay
8d6eb1eceb MotorsMatrix: motor_to_channel_map moved to progmem 2014-02-15 05:27:50 +11:00
Randy Mackay
134289af38 TradHeli: motor_to_channel_map moved to progmem 2014-02-15 05:27:50 +11:00
Randy Mackay
1bee56877c CoaxCopter: motor_to_channel_map moved to progmem 2014-02-15 05:27:50 +11:00
Randy Mackay
3fad8e3630 SingleCopter: motor_to_channel_map moved to progmem 2014-02-15 05:27:50 +11:00
Randy Mackay
0edf039155 AP_MotorsTri: motor_to_channel_map moved to progmem 2014-02-15 05:27:50 +11:00
Randy Mackay
96d433c63e AP_Motors: motor_to_channel_map moved to progmem 2014-02-15 05:27:50 +11:00
Randy Mackay
8baf5ebf4a AC_AttControlHeli: use motor accessors to set roll, pitch, yaw, thr 2014-02-15 05:27:49 +11:00
Randy Mackay
f216cffb77 AC_AttControl: use motor accessors to set roll, pitch, yaw, thr
Saves 8bytes of RAM
2014-02-15 05:27:49 +11:00
Randy Mackay
415e48de19 TriCopter: use refs for all RC_Channels 2014-02-15 05:27:49 +11:00
Randy Mackay
01d30271d8 SingleCopter: use refs for all RC_Channels 2014-02-15 05:27:49 +11:00
Randy Mackay
18d3907928 TradHeli: use refs for all RC_Channels 2014-02-15 05:27:49 +11:00
Randy Mackay
cf1d6854b9 AP_MotorsMatrix: use ref for roll, pitch, yaw, thr channels 2014-02-15 05:27:49 +11:00
Randy Mackay
2f4fe3e192 AP_Motors: accessors to set roll, pitch, yaw, throttle
This saves 16bytes of RAM and slightly reduces the dependence upon the
RC_Channel class as the interface.
2014-02-15 05:27:49 +11:00
Randy Mackay
98224db1e4 AC_AttControl: Leaonard's rate feedforward
Also saves 24bytes of RAM
2014-02-15 05:27:49 +11:00
Randy Mackay
2c6470f87b AP_MotorsMatrix: remove unused _num_motors
Saves 1 byte of RAM
2014-02-15 05:27:49 +11:00
Randy Mackay
32a0992985 MatrixMotors: motor_out array made local 2014-02-15 05:27:48 +11:00
Randy Mackay
2f3fc3a3ce Single: remove use of motor_out array
Also allow fins to move when throttle at zero
2014-02-15 05:27:48 +11:00
Randy Mackay
a036009524 AP_MotorsTri: motor_out array made local 2014-02-15 05:27:48 +11:00
Randy Mackay
83321b8786 AP_Motors: remove motor_out array
Saves 16bytes of RAM
2014-02-15 05:27:48 +11:00
Randy Mackay
5f89e9e746 AC_AttControl: bug fix to yaw rate limit 2014-02-15 05:27:48 +11:00
Randy Mackay
d76180d605 AC_AttControl: use trig values from ahrs 2014-02-15 05:27:48 +11:00
Randy Mackay
8b8d6a8e01 AC_PosControl: use trig values from ahrs 2014-02-15 05:27:48 +11:00
Randy Mackay
598a1b1f43 AC_Circle: use trig values from ahrs 2014-02-15 05:27:48 +11:00
Randy Mackay
64cfcb2308 AC_WPNav: use trig values from ahrs 2014-02-15 05:27:48 +11:00
Randy Mackay
082c5021ee AC_AttControlHeli: add comments 2014-02-15 05:27:47 +11:00
Randy Mackay
17177adccf AC_Circle: remove debug comment 2014-02-15 05:27:46 +11:00
Randy Mackay
37cfbc9ad5 AP_Math: float versions of wrap_360 and wrap_180 2014-02-15 05:27:45 +11:00
Randy Mackay
a7504faa7d TradHeli: empty angle_boost for trad heli 2014-02-15 05:27:44 +11:00
Randy Mackay
80ec61f217 TradHeli: make accessor methods const 2014-02-15 05:27:43 +11:00
Randy Mackay
48a0917670 Copter: make motors armed call const 2014-02-15 05:27:43 +11:00
Randy Mackay
eda376c7f6 AC_AttControl: init_targets() clears body frame angle errors
This should ensure that we don't get sudden jerks when entering acro
mode
2014-02-15 05:27:43 +11:00
Randy Mackay
2643ee9724 AC_AttControl_Heli: adjust for new slew_yaw param 2014-02-15 05:27:43 +11:00
Randy Mackay
2db24659d0 AC_AttControl: add slew_yaw 2014-02-15 05:27:42 +11:00
Randy Mackay
959f5ec3b2 AC_AttControl: tradheli add RATE_RP_MAX 2014-02-15 05:27:42 +11:00
Randy Mackay
2dae0d68c5 AC_AttControl: add RATE_RP_MAX, RATE_Y_MAX params
These replace the ANGLE_RATE_MAX parameter from the main code
2014-02-15 05:27:42 +11:00
Randy Mackay
c2efb91ece AC_AttControl: trad heli angle boost 2014-02-15 05:27:42 +11:00
Randy Mackay
ebbff24a04 AC_AttControl: trad heli yaw 2014-02-15 05:27:42 +11:00
Randy Mackay
4f738ffdba AC_AttControl: add trad heli support 2014-02-15 05:27:42 +11:00
Randy Mackay
551836c49d AC_PosControl: make some methods const 2014-02-15 05:27:40 +11:00
Randy Mackay
a2b017abd2 AC_AttControl: add rateef_rpy
rateef_rpy takes earth frame rates and applies them to the earth frame
angle targets and then converts them to body frame rates
2014-02-15 05:27:40 +11:00
Randy Mackay
468be05867 AC_AttControl: make ahrs, ins objects const 2014-02-15 05:27:40 +11:00
Randy Mackay
864f64b61a AC_Circle: circle control library 2014-02-15 05:27:40 +11:00
Randy Mackay
35ef9c73d1 AC_Sprayer: minor comment fix 2014-02-15 05:27:40 +11:00
Randy Mackay
4c02212404 AC_Fence: minor comment fix 2014-02-15 05:27:39 +11:00
Randy Mackay
d4e4620159 AC_WPNav: remove unused PID references 2014-02-15 05:27:39 +11:00
Randy Mackay
26b257c8ba AC_AttControl: alternative get_stopping_point_z 2014-02-15 05:27:39 +11:00
Randy Mackay
fc427967ae AC_WPNav: set wp origin to horiz and vert stopping point
Also bug fix to set pos_control's down speed as a negative number
2014-02-15 05:27:39 +11:00
Randy Mackay
1b8791a142 AC_PosControl: remove debug 2014-02-15 05:27:39 +11:00
Randy Mackay
4cd45e2edf AC_WPNav: remove debug 2014-02-15 05:27:38 +11:00
Randy Mackay
4003b4da9b AC_AttControl: leonard's body frame rate controller 2014-02-15 05:27:38 +11:00
Randy Mackay
171203370f AC_PosControl: add accessor for speed_up and down 2014-02-15 05:27:37 +11:00
Randy Mackay
1596d83d02 AC_WPNav: move leashes to AC_PosControl 2014-02-15 05:27:37 +11:00
Randy Mackay
de34359808 AC_PosControl: recalculate leash when speed or accel modified 2014-02-15 05:27:37 +11:00
Randy Mackay
ba3ba9e157 AC_AttControl: bug fix for yaw target handling 2014-02-15 05:27:37 +11:00
Randy Mackay
0d4ba04e75 AC_WPNav: make advance_wp_target private 2014-02-15 05:27:37 +11:00
Randy Mackay
80ae3dca2e AC_PosControl: remove debug 2014-02-15 05:27:36 +11:00
Randy Mackay
b9ae3ce2ff AC_PosControl: fixed example sketch 2014-02-15 05:27:36 +11:00
Randy Mackay
0c8cbba644 AC_WPNav: remove xy pos controller 2014-02-15 05:27:36 +11:00
Randy Mackay
9fe4d883d0 AC_AttControl: accessor for lean angle max 2014-02-15 05:27:35 +11:00
Randy Mackay
bbcf8cc84c AC_PosControl: add horizontal pos control 2014-02-15 05:27:35 +11:00
Randy Mackay
2984e492df AC_WPNav: add reference to AC_PosControl
Also remove requirement to pass in inertial nav position and velocity to
init_loiter method
2014-02-15 05:27:35 +11:00
Randy Mackay
0e0a15f4a8 AC_AttControl: add high level angle controllers 2014-02-15 05:27:35 +11:00
Randy Mackay
3ce1c0a9d5 AC_PosControl: add get_alt_error method 2014-02-15 05:27:34 +11:00
Randy Mackay
a0298aee29 AP_Motors: expose throttle min and max 2014-02-15 05:27:34 +11:00
Randy Mackay
89b7e6b1c8 AC_AttControl: implement angle_boost 2014-02-15 05:27:34 +11:00
Randy Mackay
8988b48ad8 AC_PosControl: add init take-off 2014-02-15 05:27:34 +11:00
Randy Mackay
dcac124105 AC_PosControl: add throttle controller 2014-02-15 05:27:33 +11:00
Randy Mackay
05bb943a69 AC_AttControl: first draft of PosControl class 2014-02-15 05:27:33 +11:00
Randy Mackay
b7565affcd INS: add support for 400hz for PX4 2014-02-15 05:27:33 +11:00
Randy Mackay
0521806cc6 AP_Vehicle: add multicopter parameters 2014-02-15 05:27:32 +11:00
Randy Mackay
715c8eaf02 AC_AttitudeControl: first draft of library 2014-02-15 05:27:32 +11:00
Andrew Tridgell
d853d65b84 AP_Airspeed: added ARSPD_TUBE_ORDER parameter
This allows for either order of tube connection by default, but the
order can be specified if need be
2014-02-15 05:12:15 +11:00
Andrew Tridgell
bea0a46410 AP_HAL: added servorail_voltage and power_status_flags() API on AnalogIn 2014-02-15 05:00:09 +11:00
Andrew Tridgell
ce43e674fe DataFlash: added power status logging 2014-02-15 05:00:09 +11:00
Andrew Tridgell
87355127ca GCS_MAVLink: added send_power_status() 2014-02-15 05:00:09 +11:00
Andrew Tridgell
8797f38038 GCS_MAVLink: regenerate MAVLink headers 2014-02-15 05:00:08 +11:00
Andrew Tridgell
0cbd5a2ef0 GCS_MAVLink: added POWER_STATUS message 2014-02-15 05:00:08 +11:00