Commit Graph

40604 Commits

Author SHA1 Message Date
Claudio Micheli dc29a994b7 msg: extend field definition in msg/esc_report (arming & failure states)
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2020-04-03 09:16:43 +02:00
Julian Oes 4e091a369d uavcannode: fix format 2020-04-03 09:08:33 +02:00
Mathieu Bresciani 0623b2b02d Range check cleanup (#782)
* EKF: centralize range finder tilt check

* Ekf-control: do not double check for terrain estimate validity

isRangeAidSuitable can only return true if the terrain estimate is valid
so there is no need for an additional check

* range_finder_checks: restructure the checks to avoid early returns

There is now only one clear path that can lead to the validity being
true.
Furthermore, if the _rng_hgt_valid is true, we can trust it and we don't
need for additional checks such as tilt.

The case where we need to provide fake measurements because the drone is
on the ground and the range finder data is bad is already handled
in "controlHeightFusion" so there is no need to hack the range finder
checks with that.

* Add Sensor and SensorRangeFinder classes

The purpose is to encapsulate the checks for each sensor in a dedicated
class with the same interface

* SensorRangeFinder: encapsulate in estimator::sensor namespace

* EKF: rename _sensor_rng to _range_sensor

* Range checks: include limits in valid range

* RangeChecks: update comment in the continuity checks

* RangeChecks: move more low-level checks in functions

Also move setTilt out of the terrain estimator, this is anyway protected internally
to not compute cos/sin if the parameter did not change.

* Sensor: remove unused virtual functions

Those are not required yet but can still be added later

* SensorRangeFinder: re-organise member variables

Also rename getRangeToEarth to getCosTilt

* SensorRangeFinder: split setSensorTilt and setCosMaxTilt functions

* SensorRangeFinder: Add a few unit tests

- good data
- tilt exceeded
- max range exceeded

* SensorRangeFinder: set hysteresis in us instead of ms

* SensorRangeFinder: Add more tests

* SensorRangeFinder: update continuity, hysteresis and stuck tests

* SensorRangeFinder: rename variables

* SensorRangeFinder: get rid of "delayed" specification

From the SensorRangeFinder class point of view, it's not relevant to
know if the data is delayed or not

* SensorRangeFinder: move time_last_valid out of stuck check

* SensorRangeFinder: rename file names to sensor_range_finder

* SensorRangeFinder: address Kamil's comments

* SensorRangeFinder: Add more tilt tests

* SensorRangeFinder: store current tilt offset

This is to avoid recomputing cos/sin functions at each loop
2020-04-03 08:28:07 +02:00
Jacob Dahl ff1e5a595d uavcannode: battery info publishing 2020-04-03 01:30:31 -04:00
RomanBapst 0d8d4cd6e0 SITL configs: improve L1 tracking and increase backtransition duration
-decrease L1 period for tighter mission tracking in fw mode
- increase backtransition duration, we can now do this is we have active
deceleration control

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-04-02 23:54:48 -04:00
Daniel Agar 40b1043e12 NuttX boards minor lpwork and init stack increases 2020-04-02 23:39:17 -04:00
Beat Küng dfb5b5d7d9 fix param import transition
* fix param import transition for MC_DTERM_CUTOFF

The previous implementation did not work, as there was a check for
param_find_no_notification() returning PARAM_INVALID for IMU_DGYRO_CUTOFF,
and therefore would not call param_modify_on_import().

This moves param_modify_on_import() before the check and makes it modify
the bson node directly.

* parameters: fix param import transition when testing is enabled

BUILD_TESTING is used for unit test builds, PX4_TESTING is used to enable additional test material within PX4

Co-authored-by: Daniel Agar <daniel@agar.ca>
2020-04-02 18:41:00 -04:00
Matthias Grob 2baa5ca4d7 minor build fixes and ignored warnings for GCC 9 (#14159)
- px4io task_main_trampoline add return
 - iridiumsbd main_loop_helper add return
 - drivers/uavcan ignore Wcast-align, Wdeprecated-copy, and Waddress-of-packed-member for now
 - flashparams ignore Wvla-larger-than
 - test_time fix printf type
2020-04-02 10:24:36 -04:00
TSC21 e9aba642fe CI: bump container tags to 2020-04-01 2020-04-02 14:28:38 +01:00
TSC21 2020b77a43 microRTPS: use FastRTPSGen '-typeros2' option to generate the typenaming required to interface the bridge with ROS2 topics 2020-04-02 14:28:38 +01:00
Matthias Grob ab6606aa46 PreFlightCheck: fix magnometer typo 2020-04-02 13:53:47 +02:00
RomanBapst 2522435f9c vtol_att_control: got rid of VT_B_DEC_SP
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-04-02 13:45:52 +03:00
Roman Bapst 47f0e91076 Apply suggestions from code review
Co-Authored-By: Mathieu Bresciani <brescianimathieu@gmail.com>
2020-04-02 13:45:52 +03:00
RomanBapst 005bc97959 tiltrotor: enable l1 and deceleration control during transition
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-04-02 13:45:52 +03:00
RomanBapst a916cc2a26 better comments
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-04-02 13:45:52 +03:00
RomanBapst 0184d8196f vtol_type: calculate backtransition acceleration in forward direction
- use track angle to calculate the current forward acceleration

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-04-02 13:45:52 +03:00
RomanBapst 47b5d51369 vtol_type: added explicit control over deceleration during backtransition
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-04-02 13:45:52 +03:00
RomanBapst baf5e86f81 transition flighttask: don't control yaw and altitude during trans
Signed-off-by: RomanBapst <bapstroman@gmail.com>

# Conflicts:
#	src/lib/flight_tasks/tasks/Transition/FlightTaskTransition.cpp
2020-04-02 13:45:52 +03:00
RomanBapst b6a80253d7 run l1 during transition 2020-04-02 13:45:52 +03:00
Beat Küng 1f60a86d32 fix commander: need to copy all battery states in a cycle
Previously if in a cycle only a disconnected battery status updated, the
battery health state would switch to unhealthy during that time.

Fixes intermittent 'Arming denied! Check battery' preflight failures on
v5x with 1 power module connected.
2020-04-02 12:42:00 +02:00
Matthias Grob 70c28c7274 mc_pos_control_params: update MPC_POS_MODE description
- remove deprecated sport mode
- clarify wording
2020-04-02 11:52:44 +02:00
Daniel Agar 15332a7e56 boards: reduce CONFIG_NFILE_DESCRIPTORS 20 -> 15 2020-04-01 16:17:14 -04:00
Daniel Agar aa2f3a6624 sensors: complete move to uORB::Subscription 2020-04-01 16:17:14 -04:00
Daniel Agar 7c8ab49eb9 boards: mro_ctrl-zero-f7 fix i2c
- STM32_HSI_FREQUENCY 24 MHz -> 16 MHz (required for NuttX stm32f7 i2c)
2020-04-01 14:27:33 -04:00
Daniel Agar 02f4ad61ec I2C/SPI require device type in constructor 2020-04-01 12:24:22 -04:00
Daniel Agar 04bf9afd1b CDev delete unused pub_blocked 2020-04-01 11:23:26 -04:00
Daniel Agar b3fe235129 drv_mag: delete unused MAGIOCSRANGE, MAGIOCCALIBRATE, MAGIOCEXSTRAP, MAGIOCSTEMPCOMP 2020-04-01 10:07:08 -04:00
Daniel Agar cfc087c6ad rm3100: move to PX4Magnetometer and cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar a59aa865da qmc5883: move to PX4Magnetometer and cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar ade52d612b lsm9ds1_mag: minor cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar c9c08d00c3 lsm303agr: move to PX4Magnetometer and cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar 5f6f1c554b lis3mdl: move to PX4Magnetometer and cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar cf12969a29 ist8310: move to PX4Magnetometer and cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar 1c333cb664 isentek/ist8308: minor cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar 7e173048bb ak09916: minor cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar 613168b598 hmc5883: move to PX4Magnetometer and cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar 9899748d12 bmm150: move to PX4Magnetometer and cleanup 2020-04-01 10:07:08 -04:00
Daniel Agar 09ba9d62eb PX4Magnetometer: add external() getter and default temperature to NAN 2020-04-01 10:07:08 -04:00
Daniel Agar 1cc8e4dc1a distance_sensor/vl53l0x: move to PX4Rangefinder and cleanup 2020-04-01 10:06:08 -04:00
bresch 3f15ccd2dd Update ECL
Add "Fly without magnetometer" and some interface changes
2020-04-01 11:47:39 +02:00
kamilritz a70aa6349a ECL interface: output vector quantities by return-by-value 2020-04-01 11:47:39 +02:00
Julian Oes 07d172dc9c tools: present nicer error for missing packaging
This makes the error more user friendly and suggests what to do to fix
it.
2020-04-01 10:42:18 +01:00
Daniel Agar baa50a1985 boards: omnibus/f4sd add board_dma_map.h 2020-04-01 10:42:09 +02:00
Paul Riseborough 544385fd8c EKF: Simplify centripetal accel correction (#789) 2020-04-01 13:36:56 +11:00
Daniel Agar 2e2b9a97d3 pwm_out: delete fake() test command
- we have better motor test facilities these days
2020-03-31 19:12:31 -04:00
Daniel Agar ca81175b07 rename drivers/px4fmu -> drivers/pwm_out
- split out header
2020-03-31 19:12:31 -04:00
Hyon Lim 3bcd8c63f8 SMBus battery (a.k.a. smart battery) enhancement. (#14496)
* Enhancement: State of health, and max_error value is added. Both shows battery health of SMBUS smart battery.
 * Enhancement: BAT_C_MULT parameter is introduced. This is for high-current capable SMBUS-based battery.
As SMBUS only provides 16-bit for current, it could only be +-32768mA which is about +-32A.
But with proper treatment, it could be extended with little accuracy loss.
This factor can be set for individual battery system with available information.
    * Relative SOC introduced. Proper SMBUS battery should provide percentage of remaining battery
directly. Therefore it does not have to be computed like before.
    * State of Health introduced. Proper SMBUS battery should provide SOH value.
    * Max error: this shows estimation error of BMS.
 * Enhancement: With smart battery, precise estimation of time remaining is provided
with impedance track. It is unit of minute, so 60 seconds multiplied.
Update rate of this is not fast, but very useful.

Co-authored-by: Hyon Lim <lim@uvify.com>
2020-03-31 17:28:22 -04:00
Daniel Agar 39b47e63b5 boards: airmind mindpx-v2 switch to new mpu6000 and mpu6500 drivers 2020-03-31 16:28:45 -04:00
Daniel Agar 2b82b471c1 sensor_accel_fifo increase to 32 samples 2020-03-31 13:26:50 -04:00
Julian Oes 2a37321293 mavsdk_tests: wait a bit longer for gazebo command
Otherwise this triggers in CI sometimes.
2020-03-31 14:37:37 +02:00