Daniel Agar
07d727a4a8
commander: mag calibration auto rotation simplify applying calibration and rotation
2020-08-21 10:12:13 -04:00
Daniel Agar
1a6eb7859c
commander: mag calibration auto rotation improvements
...
- skip rotations that are identical or very close
- compute mean squared error (MSE) to skip a sqrt
2020-08-21 10:12:13 -04:00
Daniel Agar
bc6e4c8a92
commander: accel calibration use all queued data
...
- print each calibration when finished
2020-08-21 10:12:13 -04:00
Daniel Agar
f9aca05ede
commander: gyro calibration use all queued data
...
- print calibration status when finished
2020-08-21 10:12:13 -04:00
Daniel Agar
f2c9865c9b
sensor mag add minimal queue and calibration check all
...
- mag calibration acceptance check sphere/ellipsoid fit status
2020-08-21 10:12:13 -04:00
Daniel Agar
b2e8f6839f
commander: mag calibration improve console and debug output
2020-08-21 10:12:13 -04:00
Daniel Agar
2bb04f2261
commander: increase COM_ARM_MAG_ANG 35 -> 45 degrees
...
- in practice this is mostly useful for identifying incorrect rotations
which we mostly have in 45 degree increments
- handling a vehicle on the ground can easily disturb one mag by more than 30 degrees, so this is often distracting noise
2020-08-21 10:12:13 -04:00
Daniel Agar
44c877c603
sensors: size sensor error_count consistently (uint32_t)
2020-08-21 10:12:13 -04:00
Daniel Agar
e6fd5a43bc
commander: magnetometer calibration automatically set the rotation of external magnetometers relative to the first internal
...
- see #15120 for more detail
2020-08-21 10:12:13 -04:00
Daniel Agar
27f23ac290
move initial sensor priority to parameters and purge ORB_PRIORITY
...
- CAL_ACCx_EN -> CAL_ACCx_PRIO
- CAL_GYROx_EN -> CAL_GYROx_PRIO
- CAL_MAGx_EN -> CAL_MAGx_PRIO
2020-08-21 10:12:13 -04:00
Daniel Agar
971b1e4b4d
sensors: move mag aggregation to new VehicleMagnetometer WorkItem
...
- purge all reminaing magnetometer IOCTL usage
- mag calibration add off diagonal (soft iron) scale factors
2020-08-21 10:12:13 -04:00
Daniel Agar
ad148af2fd
commander: mag_calibration move to Magnetometer calibration helper
2020-08-21 10:12:13 -04:00
Daniel Agar
d92ddffa5d
commander: add simple accelerometer quick calibration
2020-08-21 10:12:13 -04:00
Daniel Agar
e3e8c55e82
accel & gyro calibration helpers
2020-08-21 10:12:13 -04:00
Julian Kent
7958586f35
Only use roll/pitch not centered for RC override, and increase override threshold
2020-08-20 11:50:16 -04:00
Julian Kent
e2e72fd81e
Fix map distortion due to high latitudes ( #15449 )
2020-08-19 09:55:15 +02:00
bazooka joe
190b96a46c
SMbus battery driver - a lot of updates and optimizations
...
- added support for BQ40Z80 based battery
- added performance counter for interface errors
- added SMART_BATTERY_INFO mavlink message
- general code cleanups and optimization
- fixed: void flooding the log in case of interface error
- fixed: using _batt_startup_capacity instead of _batt_capacity for discharged_mah
- update: read manufacture_date
- update: get _cell_count from parameter and not const 4
- update: avoid re-reading data that has already been read and stored on class already
- currently the battery type defined by BAT_SMBUS_MODEL parameter and not by auto detection
2020-08-18 21:41:19 -04:00
Daniel Agar
372866a22b
uORB::DeviceNode replace SubscriptionData with uORB::SubscriptionInterval
2020-08-18 20:48:30 -04:00
TSC21
ac9c8bcc09
microRTPS: cmake: fix relative path for IDL files
2020-08-18 17:16:04 +02:00
TSC21
a091a70470
microRTPS: split the microRTPS client and agent dest directories for better visbility and handling
2020-08-18 17:16:04 +02:00
TSC21
56a105e322
logger: by default, log the onboard_computer_status topic
2020-08-17 13:24:12 +02:00
Beat Küng
ba5d7773f8
mavlink_timesync: print sender comp id for 'RTT too high for timesync' msg ( #15539 )
...
helps with debugging
2020-08-13 10:58:25 +02:00
Thies Lennart Alff
d7d8aa9b64
uuv_att_control: removed redundant code, switched to new uORB API
2020-08-12 13:16:28 -04:00
Daniel Agar
942eb83184
sensors: keep legacy params active (BAT_V_DIV/BAT_A_PER_V) for QGC SITL
...
- fixes https://github.com/PX4/Firmware/issues/15505
2020-08-12 11:57:34 -04:00
Daniel Agar
f19a20dc43
commander: preflight power check ignore module count if USB connected
...
- this check isn't relevent during bench testing
2020-08-12 11:48:38 -04:00
RomanBapst
355e3ea986
vtol_type: use correct pwm device path in init function
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-08-12 08:55:23 +02:00
RomanBapst
01535a726a
vtol_type: reset quadchute filter states if TECS is not running
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-08-12 08:55:23 +02:00
SalimTerryLi
49e83b6ae4
load_mon: add linux support
2020-08-11 18:33:44 -04:00
kritz
9d962cdfbc
Pr update matrix ( #15520 )
...
* Update submodule Matrix
* replace deprecated matrix functions
* update submodule ECL
* Update Matrix submodule
* Use absolute value of loiter radius
* Update ECL submodule
2020-08-11 10:08:41 +02:00
Daniel Agar
b7f9ff6747
mc_att_control: don't use auto for primitive types
...
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com >
2020-08-10 14:07:42 -04:00
Daniel Agar
0781fdd813
mc_att_control: don't store vehicle_status copy
2020-08-10 14:07:42 -04:00
Daniel Agar
8c42c38650
mc_att_control: don't store full vehicle_land_detected copy
2020-08-10 14:07:42 -04:00
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
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
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
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
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
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