Paul Riseborough
a04468ba9f
ekf2: Fix EKF preflight check fail false positives
...
Uses a relaxed yaw innovation check threshold for fixed wing vehicle that can recover from larger yaw errors after takeoff.
Replaces the peak hold with decay filtering applied to the magnetic yaw innovations with a conventional lowpass filter. This prevents mag heading innovation transients caused by preflight handling from failing the check, but catches persistent errors. Sign swapping of innovations due to angle wrapping is not a problem due to the way that innovations are calculated inside the EKF, so a simple LPF sufficient.
2018-06-29 16:36:38 +00:00
Julian Oes
6ff9fd2209
calibration: remove warning message
...
The calibration warning was only used in the ESC calibration and in all
cases it actually meant that the calibration failed. In order to keep
the API as small as possible, I've deprecated the warning string and
converted the warning messages to failed messages.
2018-06-29 16:07:32 +00:00
Florian Achermann
02116c0a80
mavlink: Indicate if the instance did not start correctly ( #9744 )
2018-06-29 10:11:27 -04:00
Thomas Stastny
8551d2eb9d
mission feasibility: add small tolerance to fw landing slope alt
2018-06-29 12:10:53 +00:00
Mark Sauder
d3c169b1e0
Fix whitespaces in PreflightCheck.cpp, tilt_quad.aux.mix, and tilt_quad.main.mix
2018-06-28 20:20:32 -04:00
Daniel Agar
96f47d4772
EKF2 add perf counters ( #9795 )
2018-06-28 17:28:03 -04:00
Beat Küng
bb8e653469
mc_att_control: keep integral enabled based on land detector
...
Previously the rate controller disabled updating the integral below 20%
throttle. This is not ideal for several reasons:
- some racers already hover with 20% throttle.
- for acro it is important to always keep the integral enabled, it has a
noticeable effect on flight performance.
2018-06-27 09:11:23 +00:00
Beat Küng
bf1c11a33c
commander: move comment to the right place
...
It's now the same way as in the ARM logic further down.
2018-06-27 10:41:21 +02:00
Beat Küng
02fc68a53e
commander arming: disable stick (dis-)arming when arming switch/button is used
...
A reason for using switch arming in the first place is that you cannot
accidentally disarm in-air with the sticks during acrobatic flights.
It also adds a low-throttle arming requirement for switch arming.
2018-06-27 10:41:21 +02:00
Beat Küng
db2b010630
commander arming: add a grace period of 5 seconds to allow re-arming w/o preflight checks
...
This changes the arming logic such that the preflight checks don't need
to be satisfied if arming happens < 5 seconds after the last disarming.
This allows to recover from accidental in-air disarming.
2018-06-27 10:41:21 +02:00
Beat Küng
8c3cf0167c
commander arming_state_transition: respect fRunPreArmChecks properly
...
if fRunPreArmChecks was set to false, there were still cases where the
preflight checks could be called. This fixes that.
arming_state_transition() with fRunPreArmChecks=false is only called
when entering & leaving preflight calibration mode.
All other places use fRunPreArmChecks=true, which means there is no change
for these.
2018-06-27 10:41:21 +02:00
Beat Küng
469b5f98e2
commander Preflight::preflightCheck: transition condition_system_sensors_initialized only to true
...
- this matches the logic in arming_state_transition()
- if Commander::preflight_check was run in armed state and the checks
failed, disarming was not possible anymore
(because disarming checks for condition_system_sensors_initialized).
That is currently not the case, but the existing logic is way too fragile.
Alternative solution: check if armed in Preflight::preflightCheck, and
only transition to false if disarmed (but also respect the re-arming
grace period).
2018-06-27 10:41:21 +02:00
Daniel Agar
9eae8e7c5b
Update submodule libuavcan to latest Wed Jun 27 01:27:03 UTC 2018 ( #9779 )
...
- libuavcan in PX4/Firmware (fab974fde713b9de0ece1b85239d9dc52622052e): https://github.com/UAVCAN/libuavcan/commit/231b221b64265db4e98f86e53721316f9e17e143
- libuavcan current upstream: https://github.com/UAVCAN/libuavcan/commit/dfcdf22eda16ff06847976fd6c7f40671fc92eb5
- Changes: https://github.com/UAVCAN/libuavcan/compare/231b221b64265db4e98f86e53721316f9e17e143...dfcdf22eda16ff06847976fd6c7f40671fc92eb5
dfcdf22 2018-06-26 Pavel Kirienko - Merge pull request #142 from thirtytwobits/feature/issue141
529a376 2018-06-21 Dixon, Scott - Issue #141 Add Vagrantfile to automate dev environment
2018-06-27 00:09:19 -04:00
Beat Küng
0ac1ef12c7
gpssim: unadvertise gps topics
2018-06-26 15:51:17 +02:00
Beat Küng
ddde968a6f
mavlink: allow resetting streams to their default via 'mavlink stream' command
2018-06-25 12:19:56 +02:00
Beat Küng
ec15fc333b
mavlink: add 'mavlink status streams' command
...
Displays all enabled streams and their configured rates.
Example output:
instance #1 :
Name Rate Config (current) [Hz] Message Size (if active) [B]
HEARTBEAT 1.00 (1.000) 21
STATUSTEXT 20.00 (6.320)
COMMAND_LONG unlimited
ALTITUDE 1.00 (0.316)
ATTITUDE 25.00 (7.900) 40
ATTITUDE_TARGET 10.00 (3.160) 49
ESTIMATOR_STATUS 1.00 (0.316) 44
EXTENDED_SYS_STATE 1.00 (0.316) 14
GLOBAL_POSITION_INT 10.00 (3.160) 40
GPS_RAW_INT 1.00 (0.316) 62
HOME_POSITION 0.50 (0.158)
RC_CHANNELS 5.00 (1.580)
SERVO_OUTPUT_RAW_0 1.00 (0.316) 49
SYS_STATUS 5.00 (1.580) 43
SYSTEM_TIME 1.00 (0.316) 24
VFR_HUD 25.00 (7.900) 32
WIND_COV 2.00 (0.632)
2018-06-25 12:19:56 +02:00
Beat Küng
84841236cb
mavlink: allow resetting mavlink streams to default via MAV_CMD_SET_MESSAGE_INTERVAL
...
This implementation does not need more resources.
It's not super efficient in terms of runtime, but it's also not something
that is called often.
2018-06-25 12:19:56 +02:00
Beat Küng
333fd9cf45
mavlink: improve status output
...
- add datarate
- add UDP remote port
- add partner IP
2018-06-25 12:19:56 +02:00
Beat Küng
f59412ba65
mavlink: only enable HIL_ACTUATOR_CONTROLS in hil if link has enough bandwidth
...
Plus correct return value.
Iridium links are below that.
2018-06-25 12:19:56 +02:00
Beat Küng
4553992760
mavlink: refactor get_client_source_address() to return a reference instead of a pointer
2018-06-25 12:19:56 +02:00
Daniel Agar
aa270fcd89
Mission feasibility: remove 2/3rds distance warnings that don't reject a mission ( #9743 )
2018-06-23 10:39:23 -04:00
Daniel Agar
d21cf7123e
version library add ECL
2018-06-22 08:46:30 +02:00
Philipp Oettershagen
7a82c777b2
LandDetector FW: Fix param min/max values and descriptions as well as some variable names which were wrong/outdated ( #9708 )
2018-06-20 16:13:33 -04:00
Julien Lecoeur
c73944c7a2
Mavlink: initialize _ping_stats
...
Uninitialized `_ping_stats.last_ping_time` caused ping statistics to be printed even when no ping was received.
2018-06-19 13:00:36 +02:00
Beat Küng
d1343b0ccb
calibration_routines: fix 'Command denied during calibration' error message
...
The uorb subscribe logic got changed for queued topics with
https://github.com/PX4/Firmware/pull/9436 , meaning an orb_subscribe will
return past messages as well now.
This lead to an error 'Command denied during calibration' for the previously
received calibration start command.
2018-06-18 15:06:58 +02:00
rolandash
ebc40067c7
otherwise posix_sitl_rtps fail to build (MACOS)
2018-06-16 10:13:33 +02:00
Beat Küng
ff365cad08
rtl: change "RTL: land at home" message from critical to info
2018-06-15 15:53:28 +02:00
Philipp Oettershagen
753ad0e0df
Fixed-wing autoland: Fix bug that could cause a steep pitch increase and thus aircraft stall during the flare ( #9674 )
2018-06-14 11:29:03 -04:00
Oleg Kalachev
23cd6adbe7
precland: put land precision parameter to MAVLink mission item
2018-06-13 23:32:51 -04:00
Oleg Kalachev
86d3603e2d
precland: fix landing target pose validity checking
...
In precland the copter may switch to horizontal approach state with an
old landing target pose message.
2018-06-13 23:32:51 -04:00
Beat Küng
f241e49ebf
voted_sensors_update: initialize _last_magnetometer & _last_airdata
2018-06-13 16:19:34 +02:00
Beat Küng
76c94b08f1
PositionControl: use constant references instead of pass-by-value for structs
2018-06-13 16:19:34 +02:00
Beat Küng
226d7c79da
sensors: initialize adc only if BOARD_NUMBER_BRICKS > 0
...
Fixes the SITL startup error:
ERROR [sensors] no ADC found: /dev/adc0 (9)
Introduced in 8404889098
2018-06-13 15:54:45 +02:00
Beat Küng
08064c2b71
mavlink_main: remove nonexisting streams
...
Removes SITL startup warnings:
WARN [mavlink] stream SCALED_IMU2 not found
WARN [mavlink] stream SCALED_IMU3 not found
Introduced in 9122725052
2018-06-13 15:54:45 +02:00
Ivo Drescher
42ebbd14bb
Changed the intendation to tabs
...
Signed-off-by: Ivo Drescher <ivo.drescher@gmail.com >
2018-06-13 12:46:42 +02:00
Ivo Drescher
77d4554e6d
Modified comment about feed forward of yaw setpoint rate.
...
Added more explanations regarding the coordinate transformation.
Signed-off-by: Ivo Drescher <ivo.drescher@gmail.com >
2018-06-13 12:46:42 +02:00
Daniel Agar
daa6f29b58
commander ignore failsafe transitions when in mission and disarmed
2018-06-13 08:37:00 +02:00
David Sidrane
8aa1d4d68d
BUGFIX hardfault FMUv5 List was used before being initalized.
...
_uavcan_open_request_list was accessed before it was initalized.
2018-06-12 13:44:04 -07:00
David Sidrane
b42794f3b9
Updated libuavcan to 883cba97 + NuttX IRQ patch
2018-06-12 13:01:12 -07:00
Florian Achermann
4697bf428b
Navigator Fix: Do not set the closest mission item in normal mission mode ( #9646 )
...
- fixes #9606
2018-06-12 12:11:14 -04:00
Daniel Agar
20aabd3566
move systemlib/airspeed to standalone lib
2018-06-12 09:06:30 +02:00
Daniel Agar
b23e40ca42
move systemlib/pid to standalone lib
2018-06-12 09:06:30 +02:00
Daniel Agar
e468a9bbcc
move systemlib/pwm_limit to standalone lib
2018-06-12 09:06:30 +02:00
Daniel Agar
387bc81f26
move systemlib/circuit_breaker.cpp to standalone lib
2018-06-12 09:06:30 +02:00
Daniel Agar
7eeba7b8ca
systemlib delete unused board_serial
2018-06-12 09:06:30 +02:00
Daniel Agar
965eaecf4d
systemlib printload naming consistency
2018-06-12 09:06:30 +02:00
Daniel Agar
dfb98b2a70
systemlib delete unused getopt_long
2018-06-12 09:06:30 +02:00
Daniel Agar
f913e062da
systemlib delete unused err.c
2018-06-12 09:06:30 +02:00
Daniel Agar
d3f7de6f9c
systemlib delete unused state_table.h
2018-06-12 09:06:30 +02:00
Daniel Agar
d73d20bcce
systemlib delete unused systemlib.h
2018-06-12 09:06:30 +02:00