Commit Graph

5654 Commits

Author SHA1 Message Date
Andrew Tridgell
f9d87bcc88 AP_GPS: fixed build errors and warnings in SBP driver
shadowed variables and implied casts in structures
2014-06-30 11:15:51 +10:00
Andrew Tridgell
bcb3d1af14 GCS_MAVLink: fixed flymaple build
has dual GPS but no RTK support
2014-06-30 10:51:19 +10:00
Andrew Tridgell
fc11deb547 GCS_MAVLink: regenerate headers 2014-06-30 10:31:11 +10:00
Niels Joubert
fa78634959 AP_GPS: GPS calculates MAVLink messages for GPS and GPS_RTK 2014-06-30 10:30:16 +10:00
Niels Joubert
baf0697f48 GCS_MAVLink: Add support for GPS_RTK messages 2014-06-30 10:30:16 +10:00
Niels Joubert
ad5311c089 MAVLink: New message definitions for GPS_RTK 2014-06-30 10:29:57 +10:00
Niels Joubert
2b1169b0ab AP_GPS: SwiftNav RTK Driver and GPS AutoSwitch param 2014-06-30 10:29:56 +10:00
Niels Joubert
fee79c5bac SITL: Piksi Heartbeat Message support, Integer-RTK baseline simulation 2014-06-30 10:29:56 +10:00
Niels Joubert
a251d0010a AP_NOTIFY: RTK GPS visual notification through faster blink 2014-06-30 10:29:56 +10:00
Niels Joubert
398f32d538 AP_Math: Comments on WGS coordinate conversions 2014-06-30 10:29:56 +10:00
Andrew Tridgell
1ed716976c GCS_MAVLink: regenerate mavlink headers 2014-06-30 08:25:16 +10:00
Andrew Chapman
c6a76e8d97 CameraFeedback: added CAMERA_FEEDBACK_FLAGS for open/closed loop
This is so a GCS can tell if a certain picture was definitely captured
(e.g. with a CCB or machine vision cam) or only requested in the blink
(e.g. uni-directional CHDK)
2014-06-30 08:24:38 +10:00
Andrew Tridgell
fd87f28a07 DataFlash: save some flash space on APM2
don't include log message headers that are not used on APM2
2014-06-30 07:58:42 +10:00
Andrew Tridgell
e6d8e329d5 DataFlash: allow logging of 3 accels/gyros 2014-06-30 07:58:30 +10:00
Andrew Tridgell
ca12592448 AP_InertialSensor: allow for 3 accels and 3 gyros on Pixhawk
this supports FMUv3
2014-06-30 07:58:27 +10:00
Andrew Tridgell
ece01da10e AP_InertialSensor: fixed _dump_registers() for MPU6000
need to take the semaphore to prevent bus errors
2014-06-29 12:11:21 +10:00
lthall
4072fcd99e Inav: use horizontal body frame for accel corrections 2014-06-21 14:58:59 +09:00
Emile Castelnuovo
8f3a4bc88b VRBRAIN: correction to AP_Compass_VRBRAIN.cpp 2014-06-19 11:27:45 +02:00
Emile Castelnuovo
946a461873 VRBRAIN: added VRBRAIN to #if 2014-06-19 11:27:44 +02:00
LukeMike
8f552d5758 VRBRAIN: Changed the management of VirtualRobotix's boards. 2014-06-19 11:27:38 +02:00
Michael Oborne
30a3927ea8 AP_Mount: fix where status_msg() is sent
send to the channel where the trigger msg was sent from
2014-06-18 12:03:18 +10:00
svefro
b473f8fd4d AP_RCMapper: Added warning to RCMAP_THROTTLE
Warning user that changing RCMAP_Throttle could be dangerous
2014-06-17 21:04:19 +10:00
Randy Mackay
9b81e46e61 AP_Common: add example sketch 2014-06-17 20:53:53 +10:00
Randy Mackay
2f7dee3ba5 AP_Mission: squeeze loiter turns radius into high byte of p1 2014-06-17 20:53:50 +10:00
Randy Mackay
b79f729540 AP_Common: add LOWBYTE, HIGHBYTE macros 2014-06-17 20:53:47 +10:00
Randy Mackay
fa16e0967f AP_Common: remove unused location mask definitions 2014-06-17 20:53:45 +10:00
Andrew Tridgell
e2fe3d2de7 GCS_MAVLink: re-generate headers 2014-06-17 20:21:54 +10:00
Andrew Tridgell
0db226daf5 GCS_MAVLink: merge in upstream changes 2014-06-17 20:19:35 +10:00
Andrew Chapman
87fcfbf9dd GCS_MAVLink: re-generate MAVLink headers 2014-06-17 20:16:39 +10:00
Andrew Chapman
048767e389 GCS_MAVLink: camera feedback mavlink messages
CAMERA_EVENT and CAMERA_FEEDBACK messages, and a couple of enums they
use (CAMERA_EVENT_TYPES and CAMERA_FEEDBACK_FLAGS)

Adjusted some types and added more explicit descriptions of units as
suggested on the call last week.

I will add camera parameter list/get/set functionality as suggested
using the existing parameter mechanism and component IDs rather than
the new CAMERA_INFO messages I had proposed.
2014-06-17 20:15:20 +10:00
Randy Mackay
11e08e1492 DataFlash: common Log_Write_Camera
pair programmed with Craig Elder
2014-06-17 14:11:36 +10:00
Randy Mackay
0c9a496262 AC_AttControlHeli: add ATC_RATE_FF_ENAB parameter
Because this class inherits from AC_AttitudeControl library this new
parameter must be added here as well
2014-06-10 21:25:33 +09:00
Randy Mackay
46f25c52a4 AC_AttControl: allow enabling/disabling feedforward and accel limiting 2014-06-10 20:03:02 +09:00
Randy Mackay
a2f54fdf2c AC_WPNav: smooth waypoint by freezing feed-forward and allowing overshoot
First part of this fix is freezing the position controller's xy-axis
feed foward as we transition to the new segment.
Second part is work-around for straight line segments in that we allow
the target point to actually overshoot the end of the segment by up to
2m if the segment is a "fast waypoint".  Ideally we would instead notice
the waypoint has been completed and take any left over time or distance
and move our target along the track towards the next waypoint but that
would require a much larger change to allow the wpnav lib to hold the
next two waypoints.
2014-06-10 20:03:01 +09:00
Randy Mackay
ce85d1f6b2 AC_WPNav: use curr pos target as spline origin
We only use the current target position as origin if the waypoint
controller is active (i..e has been used in the past 1 second).  This is
consistent with how we initialise straight line waypoints
2014-06-10 20:02:59 +09:00
Randy Mackay
130eb07d48 AC_AttControl: angle_ef_roll_pitch_rate_ef_yaw supports zero yaw accel 2014-06-10 20:02:58 +09:00
Randy Mackay
02b4b21f67 AC_AttControl: disable feed forward by default
Can be re-enabled by setting ATC_RATE_FF_ENAB parameter to 1
2014-06-10 20:02:55 +09:00
Randy Mackay
b57c0dabf6 AC_AttControl: check accel_rp_max instead of rate_bff_ff_enabled
We use the accel_rp_max, accel_y_max to check whether to apply accel
limiting or not.  This is related to separate from the
body-frame-feed-forward.
2014-06-10 20:02:54 +09:00
Randy Mackay
2bb30b3ef9 AC_AttControl: add set_yaw_target_to_current_heading method 2014-06-10 20:02:49 +09:00
Randy Mackay
d9c966c927 AC_AttControl: RATE_FF_ENAB param to disable rate feed forward 2014-06-10 20:02:48 +09:00
Randy Mackay
4d4c7a2118 AC_AttControl: move freeze_ff to flags structure 2014-06-10 20:02:46 +09:00
Randy Mackay
a662f87ffb AC_AttControl: remove resolved To-Do
This To-Do is resolved by heli flight modes calling the
relax_bf_rate_controller method
2014-06-10 20:02:45 +09:00
Randy Mackay
7f734f38d6 AC_AttControl: add earth frame angle constraints
This should help recovery time if pilot switches out of ACRO (into
Stabilize, AltHold, etc) while inverted
2014-06-10 20:02:43 +09:00
Randy Mackay
698cf934b8 AC_AttControl: formatting fixes 2014-06-10 20:02:42 +09:00
lthall
2bb63857fa AC_AttControl: clean up stabilize 2014-06-10 20:02:40 +09:00
lthall
c24d293e1b AC_AttControl: zero _accel_xyz_max stops feed forward
Also added place holder for turning off feed forward.
2014-06-10 20:02:39 +09:00
lthall
8bbce7e658 AC_PosControl: freeze feed forward for alt control in Auto 2014-06-10 20:02:36 +09:00
lthall
922026c15c AC_AttControl: rate compensation for yaw 2014-06-10 20:02:34 +09:00
lthall
0d87298221 AC_PosControl: freeze feed forward and vector fixes 2014-06-10 20:02:33 +09:00
Randy Mackay
5209598459 AC_AttControl: rename init_targets to relax_bf_rate_controller 2014-06-10 20:02:27 +09:00
lthall
1bdde31f6b Copter: Fix zero throttle flip issue Stabilize
The problem is that the init_targets is intended to ensure the
controller doesn't build up the I term when the throttle is low. Because
it is poorly named (or used) it have been written to do something else.
Here I change it to do what the code is trying to use it to do.
2014-06-10 20:02:01 +09:00
Randy Mackay
915dad2da4 AC_Circle: use fast_atan2 to calc bearing from center
This does not save much time because it's only called at initialisation
2014-06-06 18:51:09 +09:00
Randy Mackay
f23e94707c AC_WPNav: use fast_atan2 for bearing calcs 2014-06-06 18:51:08 +09:00
David Dewey
17374ff5e8 AP_Math: fast_atan2
This is 126us per call vs 199us on the AVR.  it is accurate to about
0.28 degrees

Committed by rmackay9 but contribution is from David Dewey
2014-06-06 18:50:41 +09:00
Ju1ien
28ce66f314 INav: clear historic z-axis position estimate when set_altitude called 2014-06-06 18:42:42 +09:00
Randy Mackay
efd6d6dc70 AC_WPNav: spline div by zero fix
Also add check for straight line navigation to ensure speed is not
reduced below zero when it hits the leash limit
Also minor formatting changes
2014-06-05 22:23:38 +09:00
lthall
0912bec8f5 Spline div zero and leash limit fix 2014-06-05 22:23:35 +09:00
Andrew Tridgell
f0df912a11 AP_Mission: added support for MAV_CMD_DO_INVERTED_FLIGHT 2014-06-05 15:44:18 +10:00
Andrew Tridgell
ef4a79cc9a GCS_MAVLink: rebuild MAVLink headers 2014-06-05 15:44:03 +10:00
Andrew Tridgell
67937b5b79 GCS_MAVLink: added MAV_CMD_DO_INVERTED_FLIGHT
used to invert from a mission
2014-06-05 15:43:46 +10:00
Andrew Tridgell
5a1aa8dfe7 AP_L1_Control: implement turn_distance() with turn angle
uses a linear approximation for now.
2014-06-05 09:34:23 +10:00
Andrew Tridgell
7a6186f7e6 AP_Navigation: added a turn_distance() method with turn_angle 2014-06-05 09:33:42 +10:00
Andrew Tridgell
49f93b91b2 APM_OBC: fixed formatting to match APM coding standard 2014-06-02 10:47:02 +10:00
Andrew Tridgell
e9e1799700 AP_Compass: fixed VRBrain build 2014-06-02 10:42:37 +10:00
Andrew Tridgell
d554616e86 AP_EPM: fix for HAL_GPIO_* 2014-06-02 10:42:36 +10:00
Andrew Tridgell
3705c90b8e AP_Baro: fix for HAL_GPIO_* 2014-06-02 10:42:36 +10:00
Andrew Tridgell
d70bee9249 AP_AHRS: fix for HAL_GPIO_* 2014-06-02 10:42:36 +10:00
Andrew Tridgell
0d83d4f4f5 APM_OBC: fix for HAL_GPIO_* 2014-06-02 10:42:36 +10:00
Andrew Tridgell
1e2214f8d1 DataFlash: fix for HAL_GPIO_* 2014-06-02 10:42:36 +10:00
Andrew Tridgell
732cd0e130 AP_Relay: fix for HAL_GPIO_* 2014-06-02 10:42:36 +10:00
Andrew Tridgell
50c08ced4c AP_Notify: fixes for HAL_GPIO_* 2014-06-02 10:42:35 +10:00
Andrew Tridgell
4c43cd9775 AP_InertialSensor: fixes for HAL_GPIO_* 2014-06-02 10:42:35 +10:00
Andrew Tridgell
805d79debe HAL_FLYMAPLE: fix for HAL_GPIO_* 2014-06-02 10:42:35 +10:00
Andrew Tridgell
3015356671 HAL_AVR: fixes for HAL_GPIO_ define change 2014-06-02 10:42:35 +10:00
Andrew Tridgell
18a64d17d3 AP_HAL: added HAL_ prefix to GPIO_ defines
this fixes a bug caused by GPIO_INPUT and GPIO_OUTPUT already being
defined in NuttX, which caused pinMode() not to setup pins for output
when requested
2014-06-02 09:24:52 +10:00
Andrew Tridgell
fa4eb5475a HAL_PX4: implement analog input stop pins
this allows multiple sonars to cooperate without interference
2014-06-02 08:35:41 +10:00
Randy Mackay
2b0f142a17 AC_PosControl: fix typo in D-filter definition 2014-05-29 17:50:48 +09:00
Randy Mackay
7e3213edbf AC_AttControl: increase default accel max 2014-05-29 17:40:26 +09:00
Randy Mackay
29ca7a10df AC_PosControl: set alt hold accel control D term filter 2014-05-29 17:40:23 +09:00
Randy Mackay
0969e464fb AC_AttControl: set roll, pitch, yaw rate control D term filters 2014-05-29 17:40:17 +09:00
Randy Mackay
faf3415e5e AC_PID: example sketch prints individual P, I and D values 2014-05-29 17:39:19 +09:00
Robert Lefebvre
b35ec4339e AC_PID: Add method to set the D-term Filter Rate from main code. 2014-05-29 17:39:10 +09:00
Robert Lefebvre
f1c3f2a3d1 AC_PID: Remove get_leaky_i function which is now found in AC_HELI_PID. 2014-05-29 17:39:08 +09:00
Robert Lefebvre
7c9249de93 AC_AttitudeControl_Heli: Change to use AC_HELI_PID class instead of AC_PID. Remove FF parameters from class. 2014-05-29 17:39:06 +09:00
Robert Lefebvre
6333b4bba6 AC_PID: update example sketch to test AC_HELI_PID 2014-05-29 17:39:01 +09:00
Robert Lefebvre
ef7dc815cd AC_PID: Change Private members to Protected so that AC_HELI_PID can access them. 2014-05-29 17:38:59 +09:00
Robert Lefebvre
94e9bed9cf AC_PID: Add new AC_HELI_PID as a child of AC_PID 2014-05-29 17:38:57 +09:00
Andrew Tridgell
0b6407256c GCS_MAVLink: moved 3 more send_*() functions to GCS_Common.cpp 2014-05-28 09:35:30 +10:00
Andrew Tridgell
37c50d9587 HAL_PX4: fixed use of FMU servo pins as digital inputs
these pins can be PWM output or digital input or digital output
2014-05-25 22:03:44 +10:00
Andrew Tridgell
2d9e9d9bc3 AP_Compass: added COMPASS_PRIMARY parameter
this allows selection of which compass is the primary. Useful if the
first compass starts giving spurious data (as happened in our plane)
2014-05-25 22:03:44 +10:00
priseborough
edc79ca2a4 AP_NavEKF: Increase divergence test margin based on analysis of more user flight logs
Analysis of copter logs has shown cases with a healthy EKF where spikes in EKF4.DS of up to 25% of the threshold have occurred.
A value of closer to 10% for normal operation is preferred.
2014-05-24 22:20:24 +10:00
Andrew Tridgell
aba11a0634 AP_L1_Control: wrap the target_bearing 2014-05-23 07:30:58 +10:00
Randy Mackay
cde7d31dad AC_WPNav: fix divide by zero when origin and dest are same location 2014-05-22 21:18:24 +09:00
Andrew Tridgell
63da53c842 GCS_MAVLink: moved main update() routine into GCS_Common.cpp
this fixes a common timeout error with loading large missions, and
means less per-vehicle code
2014-05-21 12:45:25 +10:00
Andrew Tridgell
42c1501563 AP_Common: moved map_baudrate() into AP_Common
this version supports a much wider range of baudrates
2014-05-21 12:45:25 +10:00
Andrew Tridgell
7d712f90bf APM_OBC: adjusted docs for FS_HB_PIN
thanks to Warren for the question
2014-05-21 12:45:25 +10:00
Randy Mackay
69ad632e2a GPS: correct NAVFILTER parameter description
These corrected values match the GPS_Engine_Setting enum in GPS.h
Thanks to Adolfo R for noticing the issue and providing the fix
2014-05-20 22:08:40 +09:00
Andrew Tridgell
a7d6a26bec HAL_PX4: fixed auto-flow control
the 6 bytes written to break the radio out of bootloader broke
auto flowcontrol detection
2014-05-19 22:02:39 +10:00
Randy Mackay
597d5227f5 AC_WPNav: rename set_loiter_target to init_loiter_target 2014-05-19 12:27:25 +09:00
Randy Mackay
e7b3c00767 AC_WPNav: set_loiter_target uses set_xy_target
Loiter is only a horizontal position controller so it should not set the
z-axis position.
Moved pos_control.set_speed and accel functions so order matches
init_loiter_targets function order
2014-05-19 12:27:20 +09:00
Ju1ien
aed5787c1b AC_WPNav: bug fix for loiter init in Hybrid
AC_PosControl::init_xy_controller() has been added to PosControl and is
called by init_loiter_target.
Hybrid is currently using set_loiter_target function to init the loiter
controller. So we have to call init_xy_controller() by set_loiter_target
function.
What happens otherwise?
In AC_PosControl::update_xy_controller, we update "now" with
now = hal.scheduler->millis();
and, as _last_update_xy_ms has not been updated previously by
init_xy_controller(), we just call init_xy_controller().
So, _dt_xy  will be negative and used anyways in all the functions and
PID called by update_xy_controller.
That will avoid at least _accel_target.x/y to be set to 0 but I'm not
sure for the high values, probably an I_term that is not reset and
reached very high value.
Or maybe a cast error somewhere... no clue at all
2014-05-19 12:27:16 +09:00
priseborough
5fe0d2c1b2 AP_NavEKF: Add protection for accel bias estimation errors
Don't do bias estimation if tilted by more than 60 degrees to prevent scale
factor errors affecting result unnecessarily.
Prevent Kalman gain from having the wrong sign due to numerical errors
associated with small process noise values.
Allow smaller Z accel bias process noise values to be set
2014-05-18 08:09:00 +10:00
priseborough
3222e8f7cb AP_NavEKF: Default parameter adjustments
Bring Plane glitch protection thresholds into alignment with copter and
rover
Slight increase in accelerometer bias process noise to prevent bias
estimate divergence into limits (Rover and Plane only as Copter does not
seem respond as well to this change)
effective increase in threshold on divergence test to allow increased
margin for bad GPS velocities
2014-05-18 08:08:49 +10:00
Andrew Tridgell
65fd25fb5a AP_InertialSensor: fixed example build 2014-05-18 08:08:19 +10:00
Andrew Tridgell
b99ae63cbb HAL_Linux: more generic fix for scheduler issues in example sketches
this ensures drivers can run
2014-05-16 22:40:38 +10:00
Andrew Tridgell
30f5e2c37f AP_GPS: work around scheduling issue in example code 2014-05-16 22:35:32 +10:00
priseborough
e40e50e2e1 AP_NavEKF: Prevent start-up transients re-tripping divergence test 2014-05-16 22:05:22 +10:00
Andrew Tridgell
73976e2ca4 AP_GPS: fixed example build 2014-05-16 22:05:04 +10:00
Andrew Tridgell
8533aecf18 AP_InertialSensor: fixed example build 2014-05-16 21:24:25 +10:00
priseborough
a19015ed61 AP_NavEKF: Scale divergence check with covariance
This provides consistent behaviour for a range of gyro bias process
noise settings and automatically adjusts sensitivity as filter learns bias
2014-05-16 21:24:25 +10:00
priseborough
0337d44b2e AP_NavEKF: Fix bug causing immediate clearing of diverged status on reset 2014-05-16 21:24:04 +10:00
priseborough
d150904dc6 AP_NavEKF: Increase gyro bias process noise
This is required to stop the bias estimate from becoming too static
towards the end of longer flights.
2014-05-16 21:24:04 +10:00
Andrew Tridgell
49e7ee9ba7 GCS_MAVLink: added setup_uart() method
this provides a common way of dealing with UART setup for a GCS
instance. It includes code to cope with SiK radios stuck in bootloader
mode.
2014-05-16 11:44:33 +10:00
Andrew Tridgell
b3c1e515dc AP_AHRS: when no accel info available in buffer use current value
this prevents an initialisation error, and is reasonable in flight too

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-05-15 22:19:54 +10:00
Andrew Tridgell
315290029a AP_AHRS: fixed check of accel sensor health
we need to check health of each accelerometer separately
2014-05-15 22:18:56 +10:00
Andrew Tridgell
5edf4ba596 AP_NavEKF: fixed up handling of bitfields in faultStatus
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-05-15 21:42:39 +10:00
Andrew Tridgell
79edc4b467 GCS_MAVLink: re-generate with addition of MAV_SYS_STATUS_AHRS 2014-05-15 21:14:21 +10:00
Andrew Tridgell
ccebeba5a5 GCS_MAVLink: added MAV_SYS_STATUS_AHRS
will be used to indicate AHRS health
2014-05-15 21:14:21 +10:00
priseborough
f01cc78d37 DataFlash: Add EKF fault status logging 2014-05-15 21:14:21 +10:00
priseborough
ce8e1daa16 AP_NavEKF: Improved divergence detection and reset
Divergence is now detected by looking for very large changes in the gyro
bias. This will cause the filter to be reset and declared unhealthy for
10 seconds.

Don't reset filterDiverged status immediately during reset

Set filterDiverged true if covariance blows up

Add fault status reporting
2014-05-15 21:14:21 +10:00
Andrew Tridgell
5d2d6e0063 GCS_MAVLink: regenerated MAVLink headers 2014-05-15 21:14:21 +10:00
Andrew Tridgell
983ac9cbf4 GCS_MAVLink: merge in latest upstream XML changes 2014-05-15 21:14:21 +10:00
Andrew Tridgell
1a05c27bbb AP_AHRS: added healthy() function
this will be used to report when the AHRS subsystem becomes unhealthy
2014-05-15 21:14:21 +10:00
Andrew Tridgell
086142580a AP_InertialSensor: added VibTest sketch
logs all accel data at high rate to SD card
2014-05-15 21:14:21 +10:00
Jonathan Challinger
e883b889b6 SITL: Add compassmot interference 2014-05-15 21:14:20 +10:00
Randy Mackay
4ebde25a26 AP_Relay: add -1:Disabled to list of param values 2014-05-15 17:13:37 +09:00
Randy Mackay
5d20594fa4 AC_WPNav: bug fix for loiter and waypoint update rate
Thanks to EmileC for spotting this
2014-05-12 20:13:46 +09:00
Andrew Tridgell
85ebe81ed3 AP_NavEKF: fixed logic for divergence test
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-05-11 18:00:38 +10:00
priseborough
40dc0e56fe AP_NavEKF: Add protection for badly conditioned innovation variances 2014-05-11 18:00:38 +10:00
priseborough
925c5751bd AP_NavEKF: Add ability to inhibit in-flight mag cal and clean up moding
This will enable in-flight magnetometer calibration to be inhibited unconditionally,
This is required for long balloon carriage flights where ground speed can be high
enough to put it into in-air state, but with very poor observability of magnetic field
states causing bad state estimates and heading offsets to develop over time.

The covariance matrix no longer has rows and columns artificially zeroed when in static
mode. Instead booleans indicating whether wind or magentic field state estimation is
active are used to:

a) Set the process noise on these states to zero to stop their variances from increasing
unchecked when not being updated, and
b) Turn off updates for these states when measurement fusion is being performed.

This reduces the likelihood of a badly conditioned covariance matrix forming
during static mode operation.

A filter divergence check has also been added that will declare the filter unhealthy if
position, velocity and magnetic field observations are all failing their innovation
consistency checks. This unhealthy status will persist for 10 seconds after the
condition clears.

AP_NavEKF: Remove unnecessary zeroing of wind covariances
2014-05-11 18:00:38 +10:00
priseborough
3026ccee13 AP_NavEKF: Use baro data during launch transients whilst in static mode
Baro data can be used as it will still be valid during the launch and
is not a synthesised measurement.
2014-05-11 18:00:38 +10:00
Randy Mackay
05f5164dfa Mission: rename AUTORESET to RESTART 2014-05-09 11:31:37 +09:00
Hug0
6b0d5f9770 AP_InertialNav: fix pos error degradation rate
degrate position_error to 10% over 2 seconds (assumes 5hz update rate)
must be *0.7943 instead of 0.7934
2014-05-08 23:09:39 +09:00
Randy Mackay
badc127c34 AC_WPNav: fix example sketch 2014-05-08 16:25:13 +09:00
Randy Mackay
9b6a4e0fc7 AC_Sprayer: fix example sketch 2014-05-08 16:25:11 +09:00
lthall
9ab9eaec25 AC_WPNav: Loiter jerk default to 10m/s/s/s
Pair programmed with Randy
2014-05-08 16:16:05 +09:00
Randy Mackay
1cb297580f Copter: reduce Circle init twitch by using stopping point 2014-05-08 16:15:57 +09:00
Randy Mackay
091ff91a70 WPNav: add wp_and_spline_init to set speeds an init pos controller 2014-05-08 16:15:50 +09:00
Randy Mackay
c13db680b7 AC_PosControl: remove reset_I_xy
lean_angles_to_accel is now used to load the position rate I terms based
on vehicle's initial roll and pitch angle
2014-05-08 16:15:48 +09:00
Randy Mackay
cd8b1f278c AC_PosControl: remove unused _cos_yaw variable
Also removed _sin_yaw, _cos_pitch, _step saving a total of 17bytes of
RAM
Also made get_speed_up, get_speed_down, lean_angles_to_accel functions
const
2014-05-08 16:15:46 +09:00
Randy Mackay
48ec0caf75 AC_WPNav: run navigation at 10hz in SITL 2014-05-08 16:15:44 +09:00
Randy Mackay
0819e05896 AC_PosControl: lean_angles_to_accel added for smooth initialisation
init_xy_controller also added to capture initialisation all in one place
2014-05-08 16:15:41 +09:00
lthall
b38c484874 AC_WPNav: add LOIT_JERK parameter
Limit accel output from loiter controller.
Call new pos_control.init_xy_controller when loiter starts
Remove sudden stop when pilot requested acceleration is zero

Pair programmed with Randy
2014-05-08 16:15:38 +09:00
Randy Mackay
71fae1e6f2 AC_AttControl: lean_angle_max accessor fn const 2014-05-08 16:15:36 +09:00
Randy Mackay
fd9f8f571f AC_WPNav: replace inav, ahrs pointers with references 2014-05-08 16:15:26 +09:00
lthall
21c93e48ab AC_PosControl: include vel error when get_stopping_point_z
Pair programmed with Randy
2014-05-08 16:15:24 +09:00
Randy Mackay
a1f1dd8059 AC_PosControl: add is_active_z method
Consolidated z-axis timeout checks to save 4bytes of RAM
Added POS_CONTROL_ACTIVE_TIMEOUT_MS to make timeout consistent
2014-05-08 16:15:22 +09:00
Andrew Tridgell
74227cd7f0 AP_HAL: prevent some FastDelegate warnings 2014-05-08 11:11:03 +10:00
Andrew Tridgell
a295760e56 AP_Rally: fixed indentation
previous indentation confused emacs24
2014-05-08 11:01:52 +10:00
Andrew Tridgell
4efcae46ab SITL: cope with more rubbish startup values from JSBSim 2014-05-04 17:30:10 +10:00
Andrew Tridgell
320834a5e7 HAL_PX4: read from FRAM in 128 byte chunks (2nd try)
this time without the amazingly silly bug
2014-05-02 22:12:45 +10:00
Andrew Tridgell
db6b96caa0 Revert "HAL_PX4: read from FRAM in 128 byte chunks"
This reverts commit a92366c455.

This commit may be associated with FRAM corruption on Pixhawk. Revert
until we understand why
2014-05-02 21:52:26 +10:00
Andrew Tridgell
a92366c455 HAL_PX4: read from FRAM in 128 byte chunks
this fixes FRAM read on Roberts Pixhawk. We don't know why yet.
2014-05-02 12:24:54 +10:00
Randy Mackay
937e9ea687 AC_PosControl: add set_target_to_stopping_point_xy method
Fixed bug in get_stopping_point_xy in which it would update Z-axis
target if vehicle was moving less than 10cm/s horizontally
2014-04-30 21:46:20 +09:00
Randy Mackay
7dd366d84e AC_WPNav: init_loiter sets speed, accel before calcing stopping distance
The stopping distance depends upon the speed and acceleration so these
must be updated first
2014-04-30 21:46:18 +09:00
Randy Mackay
0103ae2eb0 AC_WPNav: add WPNAV_ACCEL_Z
Allows configurable z-axis acceleration during missions
2014-04-30 21:46:12 +09:00
Randy Mackay
9f63de9b59 AC_PosControl: set_speed_z accepts positive descent speeds 2014-04-30 21:46:09 +09:00
Randy Mackay
510c9920a6 AC_WPNav: rename get_horizontal_velocity to get_speed_xy
This new method name is consistent with the equivalent in the
AC_PosControl class
2014-04-30 21:46:06 +09:00
Andrew Tridgell
eb1fb63e57 APM_Control: added logging of parameter changes in AUTOTUNE
this will make it easier to analyse logs
2014-04-30 22:22:13 +10:00
Andrew Tridgell
871d0c0e44 APM_Control: moved the log structure to ArduPlane core
this allows it to work with old style .log files
2014-04-30 21:22:28 +10:00
Andrew Tridgell
4f250579db DataFlash: added LOG_ATRP_MSG define 2014-04-30 21:22:28 +10:00
priseborough
114bd56e2a AP_NavEKF: Fix display names in parameter list 2014-04-30 06:35:41 +10:00
Randy Mackay
5cc26569fc AP_Motors: fix example sketch 2014-04-29 20:46:34 +09:00
priseborough
5fefce5899 AP_NavEKF: Synthetic sideslip fusion numerical error protections 2014-04-29 17:26:45 +10:00
Jonathan Challinger
0bb7b8e938 AP_GPS: Fix bug that causes permanent lag if we miss a message 2014-04-29 15:35:46 +10:00
Randy Mackay
2be99d7a92 TriCopter: output_test for individual motors
Based on original work by Nils Hogberg
2014-04-29 11:41:16 +09:00
Randy Mackay
07766e55f9 SingleCopter: output_test for individual motors
Based on original work by Nils Hogberg
2014-04-29 11:41:14 +09:00
Randy Mackay
3610cfe24c TradHeli: output_test for individual motors
Based on original work by Nils Hogberg
2014-04-29 11:41:13 +09:00
Randy Mackay
8f74f5b3b0 CoaxCopter: output_test for individual motors
Based on original work by Nils Hogberg
2014-04-29 11:41:12 +09:00
Randy Mackay
d63d82ec17 MotorMatrix: output_test for individual motors
Based on original work by Nils Hogberg
2014-04-29 11:41:10 +09:00
Vizual54
11d02ea5d2 AP_Motors: output_test for individual motors
Modified and integrated by Randy Mackay
2014-04-29 11:36:58 +09:00
Randy Mackay
6517638670 GCS_MAVLink: generate after adding DO_MOTOR_TEST 2014-04-29 11:23:07 +09:00
Randy Mackay
28846c6c99 GCS_MAVLink: add DO_MOTOR_TEST message 2014-04-29 11:23:04 +09:00
Andrew Tridgell
818e500509 AP_Mission: improve the AP_Mission docs
DisplayName isn't a description
2014-04-29 11:46:06 +10:00
Andrew Chapman
782fbe1ec5 AP_Mission: added reset() function 2014-04-29 11:46:06 +10:00
Andrew Chapman
a80e72ff82 AP_Mission: added MIS_AUTORESTART parameter
- added MIS_AUTORESTART parameter, defaults to 0
- added start_or_resume() function to either start or resume a mission
based on that parameter value
2014-04-29 11:46:06 +10:00
Andrew Tridgell
cf9b67d8fc GCS_MAVLink: prevent uninitialised bytes being written to a serial port 2014-04-27 15:34:30 +10:00
Randy Mackay
e855cfec02 AC_Fence: add 10sec manual recovery
This resolves issue #461 by giving the pilot a minimum of 10 seconds to
attempt to manually recover before the autopilot will attempt to retake
control to bring the copter home or land.
2014-04-27 11:11:07 +09:00
Randy Mackay
db51d37071 AC_WPNav: add clear_pilot_desired_acceleration
This allows quickly clearing out the pilot desired acceleration for
loiter contoller.
2014-04-25 14:45:14 +09:00
Randy Mackay
06bef6e3b8 Parachute: clear release time when enabled
This resolves an issue in which the parachute could be suddenly released
when the user enabled the parachute.  The sequence that could have
caused this bad behaviour were (1) the parachute is triggered (2) the
user disables the parachute in the 0.5sec between the trigger and the
actual release, (3) the user re-enables the parachute and the old
release time from (1) is used.
2014-04-24 19:22:11 +09:00
Randy Mackay
ad99918fee AC_WPNav: recalc leash lengths if set_horizontal_velocity is called
Resolves bug in which do-set-speed allowed reducing the speed during the
mission but not increasing it.
Slow down distance is also recalculated.
Unnecessary call to calc_wp_leash_length removed from
set_spline_origin_and_destination.
2014-04-24 13:16:08 +09:00
Randy Mackay
46fba47c8e AC_WPNav: slow target point's speed near destination 2014-04-24 13:16:00 +09:00
priseborough
ecc8e45eda AP_NavEKF: Fix bug in position reset logic 2014-04-23 18:16:02 +10:00
Andrew Tridgell
b0fd94f18e AP_GPS: initialise a variable in uBlox driver 2014-04-23 18:15:53 +10:00
Randy Mackay
7c02a02bd8 AC_WPNav: reset_I flag moved to position controller 2014-04-23 15:00:14 +09:00
Randy Mackay
098f8169b0 AC_PosControl: add keep_xy_I_terms method
Stops horizontal PID's I terms from being reset when the controller is
next updated
2014-04-23 15:00:12 +09:00
Randy Mackay
4d5b73b968 AC_WPNav: add reset_I to set_loiter_target 2014-04-23 15:00:07 +09:00
Ju1ien
6c71569775 AC_PosControl: update_xy_controller allows not resetting I term 2014-04-23 14:59:49 +09:00
Ju1ien
5d0476e522 AC_WPNav: add reset_I to init_loiter_target 2014-04-23 14:59:47 +09:00
Randy Mackay
09a35cf90f AC_PosControl: bugfix for freezing I-term build-up 2014-04-23 11:33:53 +09:00
Randy Mackay
559a258ede AC_WPNav: bug fix to limit target point from moving beyond leash
Also pull Z-axis acceleration from position controller instead of using
#define
2014-04-22 23:05:11 +09:00
Randy Mackay
9c6995d8bb AC_PosControl: add get_accel_z method 2014-04-22 23:05:08 +09:00
Randy Mackay
e565ee6d33 AC_PosControl: stop I term build-up when motors at max 2014-04-22 23:05:06 +09:00
Andrew Tridgell
e10542dcae AP_Mission: added get_current_nav_index() function
this will return 0 when there is no current command, which is what is
expected in MAVLink when there is no mission

(it prevents the text to speech announcing "65 thousand 6 hundred and
thirty five", which is quite annoying!)
2014-04-22 11:40:18 +10:00
Michael Day
96173bfb8a AP_Rally: Added one getter method and made a utility method public. 2014-04-22 11:40:18 +10:00
Randy Mackay
0e065e4894 AP_InertialNav: get_velocity_xy const 2014-04-21 21:59:38 +09:00
Randy Mackay
6f6c9e2585 AC_PosControl: bug fix to vertical speed limit
Vehicle was not reaching target climb or descent rate because of
incorrectly defaulted acceleration
2014-04-21 21:36:02 +09:00
Andrew Tridgell
25667a11a0 AP_NavEKF: use AHRS vehicle class for sideslip calculation
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-21 18:13:12 +10:00
Andrew Tridgell
5acd17b843 AP_NavEKF: cleanup some build warnings
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-21 18:13:12 +10:00
Andrew Tridgell
c8c6e05a4a AP_AHRS: added vehicle class to AHRS
used by EKF to control use of get_fly_forward()
2014-04-21 18:13:12 +10:00
priseborough
bd28cdbdcf AP_NavEKF: Improved magnetometer consistency checks
A magnetometer axis that fails the innovation consistency check will cause
all axes not to be used. If this condition continues for 10 seconds, a
magnetometer timeout condition will be declared. When the timeout has
occurred, if it is not a fly forward vehicle, then individual channels
will be used again, but with a reduced weighting.
2014-04-21 16:31:31 +10:00
Randy Mackay
648787a6c8 AC_WPNav: rename some definitions 2014-04-21 15:06:29 +09:00
Randy Mackay
2167dd7d3e AC_WPNav: update target speed immediately 2014-04-21 14:51:26 +09:00
Andrew Tridgell
05bffb5915 HAL_SITL: enable use of SIM_FLOAT_EXCEPT parameter 2014-04-21 15:37:08 +10:00
Andrew Tridgell
e0db7b117f SITL: added SIM_FLOAT_EXCEPT parameter
this enables checking for floating point exceptions
2014-04-21 15:37:08 +10:00
Andrew Tridgell
610a930612 AP_NavEKF: catch covarience errors and reset filter
this catches covariance values beyond a reasonable limit and resets
the filter is they happen
2014-04-21 15:37:08 +10:00
Andrew Tridgell
7e5a491f14 AP_Math: prevent a floating point exception 2014-04-21 15:37:08 +10:00
Andrew Tridgell
4d24a86088 AP_AHRS: prevent a infinity value 2014-04-21 15:37:07 +10:00
Randy Mackay
d382fa51ee AC_WPNav: run loiter and wp nav at 50hz on Pixhawk 2014-04-21 13:32:02 +09:00
Randy Mackay
72d2712c4e AC_WPNav: integrate update_xy_controller name change 2014-04-21 13:31:58 +09:00
Randy Mackay
966340a02a Circle: integrate update_xy_controller name change 2014-04-21 13:31:57 +09:00
Randy Mackay
7e376bc517 PosControl: update_pos_controller renamed to update_xy_controller 2014-04-21 13:31:55 +09:00
Andrew Tridgell
4756dbee84 AP_NavEKF: fixed millisecond subtraction for rollover
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-21 13:16:20 +10:00
Andrew Tridgell
be9d0c1c4d APM_OBC: setup termination values in PX4IO
this sets up the PX4IO board with failsafe values in case the FMU is
not running
2014-04-21 11:52:53 +10:00
Andrew Tridgell
0d4985079e RC_Channel: added support for LimitValue settings
this allows you to set a channel failsafe or radio_out to a limit
value
2014-04-21 11:52:41 +10:00
Andrew Tridgell
7f4178d967 RC_Channel: added setup_failsafe_trim_all() function
sets all channels to output trim values on FMU failure
2014-04-21 08:37:24 +10:00
Andrew Tridgell
5cd145a307 AP_HAL: added set_failsafe_pwm() API
this allows the PWM values for FMU firmware failure to be setup
2014-04-21 08:36:52 +10:00
Andrew Tridgell
7f9a9107c7 APM_Control: logging_started needs to be static
prevents writing log headers twice
2014-04-21 07:13:06 +10:00
Andrew Tridgell
68f1ae3036 AP_NavEKF: fixed some matlab ! -> ~ typos
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-20 21:44:37 +10:00
Andrew Tridgell
5a7afbf2cd AP_GPS: prevent writing GPS log headings multiple times 2014-04-20 21:44:14 +10:00
Randy Mackay
e3ffd5c0dd Common: remove RallyLocation defintion 2014-04-19 15:00:28 +09:00
Randy Mackay
7011ab40c2 Rally: define RALLY_WP_SIZE and RallyLocation 2014-04-19 15:00:25 +09:00
Michael Day
a2aab2ab5e AP_Rally: Minor fixes to AP_Rally after initial testing
- If a Rally point is being used, always respect the altitude set by the
user (don't take the max of that and the home point altitude).

- No need for constructor to pass in size of RallyLocation struct
2014-04-19 09:16:02 +10:00
Andrew Chapman
5825bac410 AP_Rally library 2014-04-19 09:15:59 +10:00
Randy Mackay
5322093475 Mission: fix example sketch after GPS lib changes 2014-04-17 16:41:38 +09:00
Andrew Tridgell
b4c5f31b17 APM_Control: reduce the number of parameter saves in autotune
don't save a parameter unless it has changed by 0.1%
2014-04-17 17:20:40 +10:00
Paul Riseborough
ccc7d36493 APM_Control: Modify D and I gain scaling 2014-04-17 17:11:48 +10:00
Randy Mackay
94d38ee294 AC_Circle: add get_closest_point_on_circle
init_start_angle method added to use current heading or position to
decide on initial start angle
2014-04-16 16:28:04 +09:00
Kevin Hester
c2184cb8e4 PID: fixup line endings 2014-04-15 15:57:56 +09:00
Kevin Hester
72e97cbf5c AP_Param: fixup line endings 2014-04-15 15:57:47 +09:00
Kevin Hester
a7820e6c71 OptFlow: fixup line endings 2014-04-15 15:57:33 +09:00
Kevin Hester
fce1277b0e Notify: fixup line endings 2014-04-15 15:57:11 +09:00
Kevin Hester
b7bed437c2 Compass: fixup line endings 2014-04-15 15:56:57 +09:00
Kevin Hester
80cb13e222 BattMon: fixup line endings 2014-04-15 15:56:43 +09:00
Kevin Hester
d09e871319 AP_Airspeed: fixup line endings 2014-04-15 15:56:26 +09:00
Kevin Hester
c34c4d79f6 AP_ADC: fixup line endings 2014-04-15 15:56:13 +09:00
Kevin Hester
b7410494e3 AC_PID: fixup line endings 2014-04-15 15:55:59 +09:00
L. Preston Sego III
3ecdc4b741 Copter: Add support for V-Tail Quads 2014-04-14 14:54:02 +09:00
Randy Mackay
02775e8dc5 AC_PosControl: get_accel_target returns const ref 2014-04-14 11:34:14 +09:00
Randy Mackay
60f522a094 AC_WPNav: set_wp_destination to use current target
Previously we used the projected stopping point if the vehicle had not
reached the destination but this could lead to large jumps in target
position
2014-04-13 22:42:50 +09:00
Andrew Tridgell
ae7293ef68 APM_Control: added support for AUTOTUNE_LEVEL
10 levels of tune, for what type of tune the user wants
2014-04-13 22:11:57 +10:00
Andrew Tridgell
86f167fc7f AP_Vehicle: added autotune_level to fixed wing parms 2014-04-13 22:11:28 +10:00
Andrew Tridgell
b7350118a6 AP_AHRS: enable EKF wind estimate with no airspeed sensor
EKF can now estimate with IMU and GPS only

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-13 19:42:49 +10:00
Andrew Tridgell
4abc2999a6 AP_NavEKF: start with a wind estimate of 3m/s, when no direct measurement
this will cope better with users with low roll/pitch gains, to ensure
they get enough control on takeoff

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-13 19:42:23 +10:00
priseborough
d745dc2b6f AP_NavEKF : Increased position gate default to reduce impact of accel errors
Flight testing with windup turns has shown that the position gate threshold
can be tripped with good GPS data causing position jerks. This increases the
initial GPS glitch rejection threshold to effectively 5m when using the
default POSNE_NOISE value of 0.5m.
2014-04-13 19:37:22 +10:00
priseborough
188bea6bab AP_NavEKF : Enable calc of wind velocity when not using airspeed sensing
This patch also cleans up the logic associated with use of the synthetic
sideslip measurement so that it can never be used for a non fly-forward
vehicle type

This patch adds functionality that initialises the wind-speed vector to the
reciprocal of the ground speed vector, and scaled to 6 m/s. On average this gives
a better initial wind velocity estimate on launch by assuming:

a) launch will be into wind
b) wind speed is equal to global average

It also helps prevent a headwind causing initial underestimation of airspeed
causing high autopilot gains and limit cycles on climb-out, until first
turn when the EKF is able to estimate the wind.
2014-04-13 19:37:19 +10:00
Andrew Tridgell
df192a9efd AP_AutoTune: lower min tau to 0.2 2014-04-13 19:25:54 +10:00
Andrew Tridgell
3343af602e APM_Control: fixed saving of new rate gains 2014-04-13 15:35:52 +10:00
Andrew Tridgell
b9a8ef3b51 APM_Control: fixed a bug in autotune servo saturation check
its in degrees not centi-degrees
2014-04-13 15:28:36 +10:00
Andrew Tridgell
64170d0f04 APM_Control: added dataflash logging to autotune 2014-04-12 18:21:50 +10:00
Andrew Tridgell
7f5eeabadc DataFlash: reserve a range of msg types for autotuning logs 2014-04-12 18:21:31 +10:00
Andrew Tridgell
50fc75917e APM_Control: first version of APM_Control autotuning
this adds autotune to the roll/pitch controllers using a very simple
mechanism. The plan is that this provides a framework which Paul and
Jon will build upon.
2014-04-12 14:11:33 +10:00
Andrew Tridgell
3b8839d2f7 AP_GPS: fixed num_sensors on APM2 2014-04-11 21:32:55 +10:00
Andrew Tridgell
7404fc9d40 SITL: added SIM_BARO_DISABLE parameter
useful for testing baro failure
2014-04-11 16:47:40 +10:00
Andrew Tridgell
ad18019fb1 APM_OBC: added pressure altitude termination 2014-04-11 16:47:40 +10:00
Andrew Tridgell
41dd280739 AP_Baro: expose get_altitude_difference()
this is useful for pressure altitude calculations
2014-04-11 16:34:02 +10:00
Andrew Tridgell
8b9b4026f0 SITL: support -P option
this allows changing a parameter on initial startup
2014-04-11 12:28:32 +10:00
Michael Day
312a2fc8dc AP_TECS: Parameter TECS_LAND_SPDWGT allows custom landing speed weight. 2014-04-10 15:42:49 +10:00
Andrew Tridgell
95304e27c9 DataFlash: added separate logging of each GPS 2014-04-10 10:29:30 +10:00
Andrew Tridgell
a821b0e198 AP_GPS: fixed a build warning
Debug() should not be exposed in public headers
2014-04-10 10:28:55 +10:00
Andrew Tridgell
27a3b5fb36 AP_AHRS: fixed wind reporting with EKF and no airspeed sensor
the EKF does not estimate wind without an airspeed sensor
2014-04-10 06:49:23 +10:00
Randy Mackay
b78e59ea30 AP_Motors: add stability patch test to example sketch 2014-04-09 21:21:29 +09:00
Andrew Tridgell
a15e4633b7 SITL: prevent wind effects at negative altitudes
this prevents crashes on takeoff with barometer noise
2014-04-09 15:28:14 +10:00
Andrew Tridgell
1ca6583df8 AP_BoardConfig: restore /dev/vroutput change from Emile
my mistake, sorry Emile!
2014-04-08 21:05:41 +10:00
Emile Castelnuovo
79996986ad VRBRAIN: corrected ADC pins for volt and current sensing. 2014-04-08 16:19:20 +10:00
Emile Castelnuovo
7fe4847b6c VRBRAIN: Added NuttX driver vroutput for PWM out
Modified script rc.APM to launch modules vrinput and vroutput
Modified startup scripts to run APM without SD
2014-04-08 16:19:20 +10:00
Emile Castelnuovo
d1e4fbf267 AP_EPM: added #defines for VRBRAIN board 2014-04-08 16:19:20 +10:00
Emile Castelnuovo
e8b9e9d53c AP_Airspeed: added #defines for VRBRAIN board 2014-04-08 16:19:20 +10:00
Emile Castelnuovo
69d2633465 AP_Relay: added #defines for VRBRAIN board 2014-04-08 16:19:19 +10:00
Emile Castelnuovo
25f1c5774f AP_NavEKF: added #defines for VRBRAIN board 2014-04-08 16:19:19 +10:00
Emile Castelnuovo
39d9e93904 AP_BoardConfig: added #defines for VRBRAIN board 2014-04-08 16:19:19 +10:00
Emile Castelnuovo
1d27e0d127 AP_BattMonitor: added #defines for VRBRAIN board 2014-04-08 16:19:19 +10:00
Emile Castelnuovo
ab9a320187 DataFlash: added #ifdefs for VRBRAIN board 2014-04-08 16:19:19 +10:00
Emile Castelnuovo
06744ea7d2 AP_InertialSensor: new files and definitions for VRBRAIN board 2014-04-08 16:19:19 +10:00
Emile Castelnuovo
4ad83f3c8a AP_Notify: new files and definitions for VRBRAIN board 2014-04-08 16:19:19 +10:00
Emile Castelnuovo
1bc199c5bd AP_Compass: new files and definition for VRBRAIN board 2014-04-08 16:19:19 +10:00
Emile Castelnuovo
7b5c002d2f AP_Common: new board ID for VRBRAIN 2014-04-08 16:19:19 +10:00
Emile Castelnuovo
f4784fe6a1 AP_Baro: new files for VRBRAIN board 2014-04-08 16:19:19 +10:00
Emile Castelnuovo
201332caef AP_HAL: New VRBRAIN board definition and libraries 2014-04-08 16:19:19 +10:00
priseborough
db043744a4 AP_NavEKF : Reduce Z accel bias process noise to provide a more stable estimate 2014-04-07 21:08:25 +10:00
priseborough
1f8b5a6d23 AP_NavEKF : Tighten GPS velocity glitch gate default setting for plane 2014-04-07 21:08:15 +10:00
priseborough
0c2489b07b AP_NavEKF : Fix bug in logging of airspeed innovation consistency ratio 2014-04-07 21:01:00 +10:00
priseborough
95c83255d7 AP_NavEKF : adjust default values for accelerometer process noise
Slows down estimate and allows for smaller values to be set
2014-04-07 21:00:43 +10:00
Jonathan Challinger
9959a44453 AP_Motors: properly constrain thr_adj_max 2014-04-07 14:14:32 +09:00
Randy Mackay
3600bed47a Parachute: relay parameter description update 2014-04-07 13:37:14 +09:00
Randy Mackay
879d447404 Parachute: alt_min units to meters 2014-04-07 13:37:11 +09:00
Randy Mackay
50df95316a Parachute: initialise released variable 2014-04-07 13:37:09 +09:00
Randy Mackay
5876a2fe47 AC_AttControl: increase default rp accel to 900deg/s/s 2014-04-07 13:37:08 +09:00
Randy Mackay
95579229ed Parachute: add 0.5sec delay before parachute is released
This allows a short warning to the user through the new parachute_release tone
2014-04-07 13:37:05 +09:00
Randy Mackay
103772abe2 Parachute: add AP_Notify.h to example sketch 2014-04-07 13:37:04 +09:00
Randy Mackay
a639df0256 Parachute: set AP_Notify parachute_release flag 2014-04-07 13:37:02 +09:00
Randy Mackay
e3e7fc284d Notify: add parachute release tune for Pixhawk 2014-04-07 13:37:01 +09:00
Randy Mackay
699b84e8ca Parachute: minor comment changes 2014-04-07 13:36:58 +09:00
Randy Mackay
d8f9a1c6c6 Mission: add support for MAV_CMD_DO_PARACHUTE 2014-04-07 13:36:55 +09:00
Randy Mackay
a682f652d0 GCS_MAVLink: generate after MAV_CMD_DO_PARACHUTE added 2014-04-07 13:36:53 +09:00
Randy Mackay
cec7574465 GCS_MAVLink: add MAV_CMD_DO_PARACHUTE 2014-04-07 13:36:52 +09:00
Randy Mackay
b478c3a321 AC_AttControl: return angle_ef_targets as const ref 2014-04-07 13:36:49 +09:00
Randy Mackay
d4cb51d8f7 AP_Parachute: add example sketch
Only tests that the lib compiles
2014-04-07 13:36:37 +09:00
Randy Mackay
8600b9d4f1 RC_Channel: add parachute_release to function enum 2014-04-07 13:36:33 +09:00
Randy Mackay
9d807802cc Parachute: initial draft library 2014-04-07 13:36:25 +09:00
Andrew Tridgell
efdb678e00 AP_Motors: fixed example build 2014-04-07 11:55:56 +10:00
Andrew Tridgell
f4cbec0ce1 APM_OBC: removed unused example code 2014-04-07 11:55:46 +10:00
Andrew Tridgell
cc212be41e AP_Mission: added get_next_ground_course_cd() API
this gives the ground course of the next navigation leg, which can be
used to calculate the amount of steering required
2014-04-07 09:29:54 +10:00
Andrew Tridgell
e566802bf3 AP_Math: fixed example build 2014-04-07 07:37:34 +10:00
Andrew Tridgell
6f55dc1686 APM_OBC: update for AP_Mission and AP_GPS changes 2014-04-07 07:28:21 +10:00
Andrew Tridgell
43ebd86bb1 AP_GPS: disable SBP driver on APM2
the driver uses double precision floating point, which can't work on
8bit AVR with gcc
2014-04-05 21:47:46 +11:00
Andrew Tridgell
5a585b90e8 AP_GPS: fixed some warnings in SBP driver 2014-04-05 14:18:01 +11:00
Niels Joubert
33576dfdd9 AP_GPS: Swift Binary Protocol SINGLE-POINT-POSITIONING Driver
This is the SBP driver for Piksi, Lodestar and other forthcoming Swift Navigation GPSes.
This driver currently implements three things:
- Implements a lightweight SBP protocol detection system
- Implements Piksi as a single-point-positioning GPS (same as ublox/others)
- Implements hardware logging of GPS health and baseline messages

Forthcoming iin future updates:
- Need to implement the RTK functionality
2014-04-05 13:42:23 +11:00
Niels Joubert
e32b73f075 AP_HAL_AVR_SITL: Adding Swift Binary Protocol stand-alone simulator 2014-04-05 13:42:23 +11:00
Niels Joubert
00064ac883 SITL: Adding GPS types for Swift Binary Protocol 2014-04-05 13:42:23 +11:00
Niels Joubert
879eb5936b AP_MATH: Adding WGS GPS conversions, CRC16 checks, and double-precision Vectors and Matrices 2014-04-05 13:42:23 +11:00
Niels Joubert
161b5f99b3 SITL: Adding Swift Binary Protocol GPS type 2014-04-05 13:42:23 +11:00
Niels Joubert
552f33b39e AP_GPS: Support fix types of DGPS and RTK 2014-04-05 13:42:23 +11:00
Niels Joubert
64d4a1236f AP_Notify: Support all GPS status flags, with status >= GPS_OK_FIX_3D notified as having a lock 2014-04-05 13:42:23 +11:00
Andrew Tridgell
67ed5b73ef AP_GPS: added lock_port() interface
used by SERIAL_CONTROL message
2014-04-05 07:34:33 +11:00
Andrew Tridgell
b8675b9abc GCS_MAVLink: implement SERIAL_CONTROL MAVLink message 2014-04-05 07:34:33 +11:00
Andrew Tridgell
493c5dd63f GCS_MAVLink: rebuild MAVLink headers 2014-04-04 21:57:22 +11:00
Andrew Tridgell
14b3696959 GCS_MAVLink: added SERIAL_CONTROL message definition
will be used for on-board radio and GPS firmware update and control
over USB
2014-04-04 21:57:22 +11:00
Andrew Tridgell
07d621c4be AP_NavEKF: used state structure in more places
makes the code a bit easier to read

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-04 21:30:16 +11:00
priseborough
aa5335b16e AP_NavEKF : Improved GPS position glitch handling
When using GPS after previously rejecting it, the GPS position will
always be offset if outside the specified glitch radius. This was the
original intent of the design and makes handling of glitches smoother.

It has been tested on replay using glitchy flight data
2014-04-04 21:01:22 +11:00
priseborough
b1786cf1e5 AP_NavEKF : Do not reset on GPS velocity timeout if good position data 2014-04-04 21:01:20 +11:00
priseborough
d25883f712 AP_NavEKF : Limit rate of Z accel bias adaptation
Aliasing can causes the bias estimate to fluctuate very rapidly as it tries
to keep up, which degrades the benefit of switching between
accelerometers to avoid aliasing.

This patch give a much more stable bias estimate during aliasing, and
allows the bias to adapt at a maximum rate of 1.0 m/s2 in 50 seconds
2014-04-04 21:01:18 +11:00
priseborough
36b3cbc365 AP_NavEKF : Relax aliasing check limits
This reduces the chance of noisy data inhibiting GPS glitch protection
2014-04-04 21:01:15 +11:00
priseborough
0ae736c3a0 AP_NavEKF : clean up convoluted logic used in sensor health checks
This doesn't change the behavior, but does make the code easier to
understand
2014-04-04 21:01:13 +11:00
Andrew Tridgell
013aaf4d3e GCS_MAVLink: moved comms functions to not be inline
saves a bit of flash space
2014-04-04 13:19:15 +11:00
Andrew Tridgell
d9d038345a AP_GPS: save 800 bytes of code space on APM2
we can assume a single GPS
2014-04-04 10:08:28 +11:00
Andrew Tridgell
9f857529ca AP_GPS: auto-switch primary GPS based on status and number of satellites 2014-04-04 08:32:34 +11:00
Andrew Tridgell
11f196318e RC_Channel: added static functions to simplify operations on all channels
this avoids vehicle code having to loop over all channels for common
operations
2014-04-03 12:18:56 +11:00
Andrew Tridgell
21c205a57e AP_GPS: cope with different MON-HW message size in u-Blox Neo7 2014-04-03 10:55:05 +11:00
Andrew Tridgell
cd3038fabd AP_NavEKF: fixed return of offset in getVariances() 2014-04-03 07:49:06 +11:00
Andrew Tridgell
dcb42af3e9 AP_BattMonitor: fixed example build 2014-04-03 07:49:06 +11:00
Craig Elder
3a92d75936 Ublox: Enable 1Hz Lock LED by default 2014-04-01 20:57:18 -07:00
Andrew Tridgell
067bbf5b5c DataFlash: hdop is unsigned 2014-04-02 07:55:28 +11:00
Andrew Tridgell
e40a048009 AP_GPS: handle multiple GPS in GPS setHIL() 2014-04-02 07:55:28 +11:00
Andrew Tridgell
79f5618f6f AP_GPS: zero state structure on driver release
this ensures no values are left from the previous driver
2014-04-02 07:55:28 +11:00
Randy Mackay
2ddc414f4d InertialNav: replace safe_sqrt with pythagorous2 2014-04-01 20:43:53 +09:00
Randy Mackay
90e205c905 AC_PosControl: replace safe_sqrt with pythagorous2 2014-04-01 20:43:51 +09:00
Randy Mackay
15da01cf3a AC_WPNav: replace safe_sqrt with pythagorous2 2014-04-01 20:43:45 +09:00
Andrew Tridgell
b8e4e35a0d AP_Airspeed: use pythagorous3() 2014-04-01 22:15:12 +11:00
Andrew Tridgell
a7f213a5c5 AP_NavEKF: use pythagorous2() 2014-04-01 22:13:03 +11:00
Andrew Tridgell
9ab1a79b5a AP_Airspeed: changed sqrt() to sqrtf() 2014-04-01 22:09:21 +11:00
priseborough
09c5ba1aed Dataflash : Improved logging of EKF sensor health checks
This changes the definition sof the messages in the EKF4 message to make it more useful
The values shown now relate directly to how much margin there is before a measurement
is rejected, enabling better tuning of error trap parameters
2014-04-01 21:27:07 +11:00
priseborough
04036d7777 AP_NavEKF : Updated GPS glitch protection logic
This adds new functionality to the detection and compensation of GPS
glitches:

1) A maximum allowable innovation is calculated using the GPS noise
parameter multiplied by the gate, with an additional component allowing
for growth in position uncertainty due to acceleration error since
the last valid measurement
2) Includes per vehicle type values for the acceleration error limit
3) If the innovation length exceeds the maximum allowable, no fusion occurs
4) If no fusion has occurred for long enough such that the position uncertainty
exceeds the maximum set by a per vehicle parameter or a maximum time, an offset
is applied to the GPS data to so that it matches the value predicted by the filter
5) The offset is never allowed to be bigger than 100m
6) The offset is decayed to zero at a rate of 1.0 m/s to allow GPS jumps to
be accommodated gradually
7) The default velocity innovation gate has been tightened up for copter and rover
8) The variance data logging output has been updated to make it more useful
2014-04-01 21:22:14 +11:00
Andrew Tridgell
7e2ef0cfc0 AP_GPS: fixed GPS for Replay 2014-04-01 17:25:15 +11:00
Andrew Tridgell
9278685cdf AP_Math: fixed location build on SITL 2014-04-01 14:20:10 +11:00
Andrew Tridgell
77e2f48581 AP_GPS: fixed notify updates for new API 2014-04-01 06:38:25 +11:00
Andrew Tridgell
9781175bf5 AP_GPS: fixed handling of driver destruction
this allows for more complex destructors, and ensures we don't have
multiple backends allocated at once per instance
2014-04-01 06:38:25 +11:00
Andrew Tridgell
7ceba8dce4 AP_GPS: prevent double allocation of GPS drivers 2014-04-01 06:38:25 +11:00
Andrew Tridgell
8779ffe088 AP_GPS: flush pending config strings when uBlox starts 2014-04-01 06:38:25 +11:00
Andrew Tridgell
0191355488 AP_GPS: fixed init strings to all be in progmem
and sent async ...
2014-04-01 06:38:25 +11:00