Commit Graph

28679 Commits

Author SHA1 Message Date
Daniel Agar 41a1675c53 AttitudeControl: only normalize attitude setpoint once on update 2020-08-10 14:07:42 -04:00
Daniel Agar 1c42d12491 mc_att_control: don't keep att copy and avoid unnecessary Quatf construction and copies 2020-08-10 14:07:42 -04:00
Daniel Agar 5e739f66d6 mc_att_control: inline control attitude call and rate publication
- this makes it clear that we didn't need to keep local copies of the rate setpoint
2020-08-10 14:07:42 -04:00
Daniel Agar 14f734ac15 mc_pos_control: use local position timestamp for dt 2020-08-10 10:51:52 -04:00
Daniel Agar c5eb084236 mc_rate_control: use angular velocity timestamp for dt 2020-08-10 10:51:52 -04:00
Daniel Agar 45ee16d236 mc_att_control: use attitude timestamp for dt 2020-08-10 10:51:52 -04:00
Daniel Agar 9992bd05db fw_att_control: pass time through from run 2020-08-10 10:51:52 -04:00
Daniel Agar 560c22e612 fw_pos_control_l1: pass time through from run 2020-08-10 10:51:52 -04:00
Daniel Agar 97fc1db768 vehicle_local_position: rename yaw -> heading and add reset logic
- vehicle_global_position yaw removed (redundant)
2020-08-10 11:42:03 +02:00
bresch 33fb9d0c62 Commander: update home position yaw in case of EKF yaw reset
This makes sure the drone lands in the correct orientation
during RTL even if the initial yaw at takeoff was wrong.
2020-08-10 11:42:03 +02:00
bresch 0ad3ddd864 Tko ramp: fix takeoff issue with large tko ramp time
Because the velocity starts with a positive value (down) to ramp-up
slowly the motors, the position setpoint (integral) was going down into
the ground, canceling the input of the velocity controller during the
early takeoff phase.
Instead of a smooth ramp, the behavior was a delay followed by a quick
takeoff or a land detection.
Setting the current altitude setpoint with the current altitude during
this phase avoids the canceling effect and creates a takeoff purely
velocity-based.
2020-08-10 10:39:56 +02:00
Daniel Leonard Robinson fa4818e467 vehicles: add new vehicle type: Airship (#14862)
Co-authored-by: Anton Erasmus <anton@flycloudline.com>
Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2020-08-10 08:52:51 +02:00
Daniel Agar 454433c2ef mpu9250: mag relax scheduling and checks 2020-08-09 14:24:49 -04:00
Daniel Agar 3002e74b4f mavlink: publish telemetry_status per instance with all HEARTBEATS from the same system
- one telemetry_status publication per mavlink instance
 - each telemetry_status has an array of HEARTBEATS
2020-08-07 12:23:52 -04:00
Thies Lennart Alff f950fe8a38 uuv_att_control: added bodyrate setpoint to the geometric controller
* added bodyrate setpoint to the geometric controller
* started switching to new uORB API
2020-08-06 10:40:44 -04:00
Beat Küng bc9be2d040 frsky_telemetry: add support for inverted single-wire S.Port on F7 2020-08-06 00:08:23 -04:00
Daniel Agar 3345bf39b8 cdev: remove unnecessary virtuals and increase opt level
- poll, poll_notify, register_class_devname, unregister_class_devname aren't virtual
 - increase max optimization level on platforms that aren't flash constrained (MAX_CUSTOM_OPT_LEVEL)
2020-08-05 19:07:32 -04:00
JacobCrabill b164174037 uavcan: stm32h7: Fix improper loopback handling
Fixes #15305
2020-08-05 12:42:27 -04:00
Daniel Agar de59d6c788 flight_tasks: pass previous setpoint as const reference
- perform setpoint checks in place to simplify and avoid copy
2020-08-05 10:50:15 -04:00
Beat Küng e28395a58b TRIG_MODE: update description to support 78 2020-08-05 09:02:58 +02:00
Hamish Willee 8c6bb697d8 Update json param field names 2020-08-05 07:35:01 +02:00
Daniel Agar b6a17a6538 new IntrusiveSortedList container used for uORB, WorkQueues, and WorkItems
- new intrusive linked list container (c++ template) that sorts on insertion
 - primarily for convenience inspecting things in the system like uORB or WorkQueues
 - uorb status or top sorted alphabetically 
 - work_queue status threads sorted by priority, then items sorted alphabetically within each
2020-08-04 11:09:41 -04:00
Beat Küng dfc2160489 commander: update vehicle_status with at least 2Hz
So we're sure it's logged.
2020-08-04 10:53:20 -04:00
Beat Küng 5f8c6512b3 vehicle_status: add latest arming/disarming reason
Makes it easier to debug.
2020-08-04 10:53:20 -04:00
PX4 BuildBot 201a3a19ff Update submodule ecl to latest Tue Aug 4 12:39:50 UTC 2020
- ecl in PX4/Firmware (78d30efcf77284b21c130fd31061844ee561aa64): https://github.com/PX4/ecl/commit/77b11129fa567160a2ec442438ed513cb9de89e7
    - ecl current upstream: https://github.com/PX4/ecl/commit/7eb2b08eedb70817779bc7968cf34a4cf6f01fa0
    - Changes: https://github.com/PX4/ecl/compare/77b11129fa567160a2ec442438ed513cb9de89e7...7eb2b08eedb70817779bc7968cf34a4cf6f01fa0

    7eb2b08 2020-07-27 kamilritz - Yaw measurement jacobian to Vector4f
15d360f 2020-07-27 kamilritz - saved_mag_ef_cov to Squarematrix2f
7609bc6 2020-07-27 kamilritz - drag innov member variables to Vector2f
960b80e 2020-07-26 kamilritz - Do not update output filter a second time after reset to flow.
2020-08-04 10:47:15 -04:00
Daniel Agar c40cf9a626 uORB: remove lost message count per DeviceNode
- update 'uorb status' to print basic info for all advertised DeviceNodes
 - report vehicle_command gaps in commander, navigator, mavlink
2020-08-04 10:34:11 -04:00
Beat Küng 316085c154 camera_capture: remove board-specific ifdef 2020-08-04 13:37:40 +02:00
Beat Küng 46208edfac fix camera_trigger: no need to check for '_pins[i] < num_gpios'
_pins[i] >= num_gpios is a valid config.
2020-08-04 13:37:40 +02:00
Beat Küng 002e671d3f fix pwm_out,dshot: set _num_outputs to 5 for mode_pwm5 2020-08-04 13:37:40 +02:00
Beat Küng 78e918ff3a fix pwm_out: respect _num_outputs for calling up_pwm_servo_set()
_num_outputs is set according to the mode_pwmX call, which is required
for camera triggering.
This fixes camera triggering via PWM, as it avoids overwriting the channel.
2020-08-04 13:37:40 +02:00
Silvan Fuhrer 7a71cbb9bf FlightTask Auto: use yaw setpoint from Navigator if disable_weather_vane is true
When disable_weather_vane is true, the vehicle is aligning for the transition waypoint
(VTOL) and thus the yaw setpoint from Navigator should be used.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-08-04 11:45:08 +02:00
Igor Mišić 7eaa48e36f New board: SP Racing H7 Extreme
Authored-by: igor.misic <igor.misic@rimac@automobili.hr>
2020-08-03 15:32:58 -04:00
Daniel Agar ba640acfcc mc_hover_thrust_estimator: validity flag and other small improvements/fixes
- track and publish validity based on hover thrust variance, innovation test ratio, and hysteresis
 - only publish on actual updates or becoming inactive
 - fix dt (previous timestamp wasn't being saved)
 - use local position timestamp (corresponding) to accel data rather than current time to avoid unnecessary timing jitter
 - check local position validity before using
 - mc_hover_thrust_estimator: move from wq:lp_default -> wq:nav_and_controllers to ensure the hover thrust estimator runs after the position controller and uses the same vehicle_local_position data
 - land_detector: check hover thrust estimate validity and adjust low throttle thresholds if hover thrust is available
 - mc_pos_control: only use hover thrust estimate if valid
2020-08-03 10:30:52 -04:00
Hamish Willee 958d5a36ec params: generate param metadata as MAVLink-compatible JSON component info (#15389) 2020-08-03 12:00:37 +02:00
Daniel Agar f5f2897486 land_detector: multicopter ground contact fixes, improvements, and cleanup
- if "landed" and "maybe_landed" states are false then both the "hit_ground" and the "low_thrust" condition need to be true in order to detect landing
 - ground contact MC NAN setpoint workaround
 - ground contact additionally check acceleration setpoint
 - schedule with vehicle_local_position updates (most updates require valid local position)
 - don't allow LNDMC_Z_VEL_MAX to exceed MPC_LAND_SPEED
 - ground contact horizontal movement checks default to failed if estimates aren't available
2020-08-02 13:37:23 -04:00
Daniel Agar 63a23957b1 rc/dsm: decode improvements
- always check system field for validity
 - reject any data outside of "servo position" valid range from Spektrum specification
 - properly support XPlus channels (12+)
 - debug message if channel count changes
2020-08-02 12:52:16 -04:00
Daniel Agar 1191a0efe6 Update ecl to geo_lookup, SymPy covariance, bugfixes
Co-authored-by: Matthias Grob <maetugr@gmail.com>
2020-08-02 12:26:48 -04:00
Steve Nogar 48bf9268c3 rename Mixer to MixerBase to resolve case-insensitivity on mac 2020-07-31 09:37:49 -04:00
TSC21 342b1c5ded microRTPS: client: properly set task/thread naming 2020-07-31 14:13:10 +01:00
TSC21 162e0c7675 microRTPS: client: reserve the minimum required stack to the send/receive tasks 2020-07-31 14:13:10 +01:00
TSC21 0124ca6e41 microRTPS: add debug verbose option '-v'; use while loop for reads; ease the RTTI check on timesync 2020-07-31 14:13:10 +01:00
TSC21 2f4eff4c38 microRTPS: add possibility to set HW or SW flow control; improve verbosity aesthetics 2020-07-31 14:13:10 +01:00
TSC21 b2845c60d3 microRTPS: move buffer size to transport 2020-07-31 14:13:10 +01:00
Daniel Agar 9b12647ac4 px4io: delete broken test and unnecessary limit
- delete broken px4io test and if_test
 - delete px4io limit (a fixed 400 Hz limit was always set at boot)
2020-07-30 10:29:07 -04:00
Koby Aizer 60d767406a PAW3902: document that the driver is also compatible with PAW3903 module 2020-07-30 10:05:49 -04:00
Matthias Grob a6777e2650 Subscription: correct doxygen comment 2020-07-30 09:56:01 -04:00
Daniel Agar e4fa7597f4 logger: SDLOG_PROFILE remove estimator replay from default to minimize log rate
- log full sensor_combined by default for now
 - small decrease to input_rc rate (manual_control_setpoint is no longer filtered)
 - sensor_correction can be logged at full rate (low publication rate)
2020-07-29 15:07:42 -04:00
Daniel Agar 1b30bd328e logger: decrease try subsribe interval 1000 ms -> 20 ms 2020-07-29 13:36:22 -04:00
Daniel Agar 7b46efaa6b logger: record message gaps 2020-07-29 13:36:22 -04:00
Daniel Agar f7415c3354 optical_flow/paw3902: silence info output (info -> debug) 2020-07-29 11:58:54 -04:00