Commit Graph

13987 Commits

Author SHA1 Message Date
Julian Oes 5784f1d951 mavlink: add detailed stats about rx messages 2021-05-02 13:45:39 -04:00
Julian Oes 370d9ee409 mavlink: use px4::atomic instead of volatile 2021-05-02 13:45:39 -04:00
Julian Oes 4498509426 mavlink: move thread handling into MavlinkReceiver
In my opinion this makes it much cleaner and will allow mavlink main to
directly call the receiver.
2021-05-02 13:45:39 -04:00
Julian Oes 71bd35fcaa mavlink: keep track of seq for any component
Instead of only keeping track of the sequence ID of specific "supported"
components, we now keep track of any sysid/compid of an incoming
message. Before this change, unknown components (such as jMAVSim) would
completely screw up the mavlink message stats and create confusion (at
least in my case).

With this change we currently keep track of up to 8 other components.
Once we reach the limit, we will print a warning.
2021-05-02 13:45:39 -04:00
Julian Oes 6ae23e7b7b mavlink: fix HITL battery status publication
Without these fields the pre-arm check would complain and fail.

Also, the voltage is adjusted to be at around 70% rather than 30% which
would almost start to trigger warnings.
2021-05-02 13:45:39 -04:00
Julian Oes cfcc074e9d mavlink: remove unused methods 2021-05-02 13:45:39 -04:00
TSC21 18dc0e4900 update submodule micro-CDR 2021-05-02 13:05:16 -04:00
mcsauder 4eb758edf0 Alphabetize flight_mode_manager CMakeLists.txt list, and group/format types in FlightTask.cpp/hpp. 2021-05-01 10:46:27 -04:00
Beat Küng 38c1ec6a9c ekf2: check if ChangeInstance succeeded 2021-04-27 10:29:09 -04:00
RomanBapst 171c26373b land_detector: robustify land detection by using distance to ground info
- if distance to the ground is available then hysteresis times will be increased
by a factor of 3 if vehicle is higher than 1m above ground

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-04-27 08:19:19 +02:00
RomanBapst f6a34e1e80 vtol_type: reset accel to pitch integrator
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-04-27 07:43:38 +03:00
benjinne 3664d9e4ce rover: publish actuator controls with rate of gyro
Some ESC's with DShot don't initialize otherwise (as the 200Hz of the vehicle attitude rate is too low).
2021-04-26 08:53:20 +02:00
Daniel Agar 6e9e503ee6 sensors/vehicle_imu: accel clipping warning minor improvements
- no warning if accel is disabled
 - threshold increased 100 -> 1000 (only warn if severe ongoing clipping)
 - more generic warning message (vehicle isn't necessarily in air flying)
2021-04-25 17:03:43 -04:00
Daniel Agar 8478d1ea37 sensors/vehicle_angular_velocity: properly handle filter reset on FIFO data scale changes
For the sake of efficiency (at 8 kHz) all filtering is performed on the raw data before the calibration and rotation is applied to only the final output. As a result we have to be a bit more careful when switching between sensors or in cases where the gyro scale factor changes (eg icm42688p 20 bit data rescaled to fit in int16 output).
2021-04-25 14:20:32 -04:00
Daniel Agar 59b70a881d commander: temporarily increase worker thread stack substantially 2021-04-23 22:13:12 -04:00
Matthias Grob 6df299738e FlightTask: reactivate tasks on ground with empty setpoint
Such that they properly reset and don't try to take over smoothly from
their own setpoints generated in the last loop iteration.
2021-04-23 21:57:27 -04:00
Matthias Grob 9e2375ab91 FlightTaskManualAcceleration: change reset order, check all components for NAN
Just cleanup and completeness.
2021-04-23 21:57:27 -04:00
Matthias Grob 5e75f17680 StickAccelerationXY: fix acceleration reset using x component instead of y
This entire feature only has an impact if the last mode set
a huge acceleration and we have to take over as smooth as possible.
But it's stil lworth fixing.
2021-04-23 21:57:27 -04:00
Matthias Grob fee4728b1f StickAccelerationXY: change function name feasibility limit -> jerk limit
for clarity because it's more accurate.
2021-04-23 21:57:27 -04:00
bazooka joe 112fc5c9cd log battery status every 0.2sec instead of 0.3sec
Battery status is logged every 0.3Sec.
but BMS data published every 0.25Sec, so there are many drops of data.
2021-04-23 16:46:02 -04:00
Igor Mišić d631a5d39f Commander: checking COM_ARM_CHK_ESCS param for ESCs telemetry
COM_ARM_CHK_ESCS set to 0. The user will need to enable it manually.
Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2021-04-22 13:46:08 +02:00
Claudio Micheli bff99f9794 Commander:esc_checks minor improvements
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2021-04-22 13:46:08 +02:00
Claudio Micheli 371fa98579 Commander/preflight checks: Add monitoring to ESC failures
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2021-04-22 13:46:08 +02:00
Matthias Grob 789d91900d commander_params: lower COM_DISARM_PRFLT but disable for fixed-wing 2021-04-21 14:55:04 +02:00
Matthias Grob 5e7ebbe47c FlightTask: correct comment about setpoints 2021-04-20 18:18:21 +02:00
Matthias Grob 45ada2dd4c MulticopterLandDetector: remove unnecessary newline 2021-04-20 18:18:21 +02:00
Matthias Grob 4865d027f9 StickAccelerationXY: factor in stricter tilt limit on takeoff 2021-04-20 18:18:21 +02:00
Matthias Grob 29e07b1e52 MulticopterPositionControl: publish stricter tilt limit during takeoff 2021-04-20 18:18:21 +02:00
Daniel Agar 38bc46fd1a re-add RC_MAP_RATT_SW (unused) and mark active for QGC 2021-04-16 13:07:02 -04:00
benjinne 3dad16bc40 RTPS client remove redundant baudrate check 2021-04-16 14:01:27 +02:00
benjinne 42108eb4af Fix microRTPS_client_main.cpp format 2021-04-16 14:01:27 +02:00
benjinne 76e15b4a21 RTPS client get baudrate parameter if requested, and mark the device baud rate parameter as used so it shows up in QGC 2021-04-16 14:01:27 +02:00
Daniel Agar 2492fb35e4 rc_update: require consecutive valid input_rc before publishing 2021-04-15 16:40:54 -04:00
Igor Mišić bd4839e855 commander: changed msg "connection to GCS lost" from critical to info
update
2021-04-15 11:29:02 -04:00
Daniel Agar 047fb13922 IMU_GYRO_RATEMAX: enforce reasonable constraint and update metadata 2021-04-13 20:26:57 -04:00
Daniel Agar 2d15c96b9b ekf2: Multi-EKF let new instance schedule itself immediately on successful init
- this is to minimize missed sensor data (and unnecessary error output) between EKF2 construction and once it actually starts running
2021-04-13 14:24:46 -04:00
Daniel Agar f0f16b9cc5 mavlink: streams fix SCALED_IMU size reporting 2021-04-12 13:02:10 -04:00
Silvan Fuhrer 381c97d3c6 Commander: baro check: only report failure of mandatory instances
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-04-12 09:27:12 -04:00
Daniel Agar 39c96a8884 gps add device_id 2021-04-08 08:27:07 +02:00
alessandro b46e505b0d Handle velocity fields in follow_target message
The mavlink message FOLLOW_TARGET has additional
fields that are not being parsed here. See
https://mavlink.io/en/messages/common.html#FOLLOW_TARGET
for more details.
2021-04-06 22:11:23 -04:00
Hamish Willee aa94a60043 COM_ARM_WO_GPS - values round the wrong way 2021-04-06 22:10:02 -04:00
obicons a7e920d276 Updated MavlinkReceiver::handle_message_landing_target to warn users when they provide a landing target with an unsupported coordinate frame.
Updated Simulator::handle_message_landing_target to warn users when they provide a landing target that is not relative to a captured image.
2021-04-06 16:02:54 -04:00
Daniel Agar 31b9efdaeb sensors/vehicle_imu: increase threshold for clipping warning 2021-04-06 15:42:26 -04:00
Daniel Agar 4189eb11f5 simulator: GPS populate all sensor_gps fields (alt_ellipsoid, etc) 2021-04-06 09:44:18 -04:00
Silvan Fuhrer 8400f2c9bc FW attitude controller: add protection against division by zero in airspeed scaling
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-04-04 21:22:28 -04:00
Beat Küng 436258c1c5 config: cleanup ethernet configuration 2021-04-04 21:20:36 -04:00
Daniel Agar c6a0161047 commander: COM_PREARM_MODE disable by default 2021-04-03 20:15:05 +02:00
Nidhish Raj 01d8c3da3d vtol_att_control: occasional tailsitter forward transition failure issue solved
Tailsitter VTOLs very occasionally gets stuck with zero roll and pitch angle in multicopter mode after
a forward transition command is issued.
This very rare behavior is triggered by the following events:
1> a forward transition is triggered either in auto or manual mode.
2> in the vtol_att_control main loop, if multicopter and fixed wing attitude setpoints are not updated, transition state is not updated
3> the commander changes the vehicle status to transition mode.
4> multicopter pos controller initiated  Transition flight task. This results in zero roll and pitch setpoint due to zero acceleration setpoint
5> now vtol_att_control executes and updates the transition state. Specifically, _q_trans_start and _q_trans_sp are set with zero roll and pitch sp
6> tilt is evaluated to be NaN, despite _q_trans_sp being normalized. This happens for 25% of all yaw angles when using float datatype. This can be
   verified using the matrix library
7> once tilt is evaluated to be NaN, _q_trans_sp is never updated again and is stuck in this state for ever.

This has been fixed by constraining the cos(tilt) within +1 to -1 range
Further, _q_trans_start and _q_trans_sp are immedietly initialized after a transition event is triggered.
2021-04-03 19:19:48 +02:00
Daniel Agar b30f3917d3 sensors/vehicle_imu: periodically send mavlink critical message if clipping 2021-04-03 10:32:16 -04:00
Lorenz Meier 1ec8ce58c7 Commander: Increase auto-disarm timeout to 25 seconds after arming 2021-04-02 09:37:40 +02:00