10959 Commits

Author SHA1 Message Date
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): 231b221b64
    - libuavcan current upstream: dfcdf22eda
    - Changes: 231b221b64...dfcdf22eda

    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 840488909838d76daf6b
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 912272505264a80e174eedbeb2cff85cc522f4c9
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