2410 Commits

Author SHA1 Message Date
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
1867e540b0 lib/sensor_calibration: add Magnetometer helper 2020-08-21 10:12:13 -04:00
Daniel Agar
e3e8c55e82 accel & gyro calibration helpers 2020-08-21 10:12:13 -04: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
PX4 BuildBot
16cd7cc4e9 Update submodule ecl to latest Tue Aug 18 16:42:33 UTC 2020
- ecl in PX4/Firmware (9e9b068f564250f1085954316de789176732ed96): 1e6c6f2d3c
    - ecl current upstream: 3ae934544f
    - Changes: 1e6c6f2d3c...3ae934544f

    3ae9345 2020-08-17 kamilritz - Add change indication for ekf_gsf_reset
fd849e0 2020-08-16 Paul Riseborough - EKF: Fix specific force observation noise variance
76f393d 2020-08-16 Paul Riseborough - EKF: Use const reference instead of local copy
c43307b 2020-08-16 Paul Riseborough - EKF: convert drag fusion from Matlab to SymPy generated auto-code
2020-08-18 15:07:39 -04:00
Daniel Agar
26bac78eaf mixers: Multirotor remove text roll, pitch, yaw scaling and idle speed 2020-08-17 16:37:08 -04:00
PX4 BuildBot
4afb27411c Update submodule ecl to latest Mon Aug 17 12:39:41 UTC 2020
- ecl in PX4/Firmware (84aeb53ee5847866ecf7698591f00278d12ba770): ec93490890
    - ecl current upstream: 1e6c6f2d3c
    - Changes: ec93490890...1e6c6f2d3c

    1e6c6f2 2020-08-16 Paul Riseborough - EKF: update all output states when aligning output time horizon filter
3bd9415 2020-07-26 kamilritz - Make delayed output stayed not a member variable
da9bfe4 2020-07-26 kamilritz - Update interface of applyCorrectionsToOuputStates
64ab2b0 2020-08-15 Paul Riseborough - EKF: Only record successful sideslip fusion when states updated
0fa7ef3 2020-08-15 Paul Riseborough - EKF: Use ecl::powf for integer exponents
168dbdf 2020-08-15 Paul Riseborough - EKF: Convert sideslip fusion to use SymPy generated auto-code
06aa78a 2020-08-15 Paul Riseborough - EKF: Only record airspeed fusion event when states are updated
486a461 2020-08-15 Paul Riseborough - EKF: airspeed fusion derivation test comparison cleanup
ede6204 2020-08-15 Paul Riseborough - EKF: airspeed fusion cleanup
a5a43db 2020-08-13 Paul Riseborough - EKF: Convert airspeed fusion to use SymPy generated auto-code
5907e81 2020-08-15 Paul Riseborough - EKF: optflow fusion cleanup
7fa9a19 2020-08-15 Paul Riseborough - EKF: optflow fusion cleanup
0e74f3e 2020-08-15 Paul Riseborough - EKF: optflow fusion cleanup
6e992a1 2020-08-15 Paul Riseborough - EKF: optflow fusion cleanup
1ad042d 2020-08-13 Paul Riseborough - EKF: Use ecl::powf in comparison test
274523b 2020-08-13 Paul Riseborough - EKF: Use ecl::powf for integer exponents
f20a5d8 2020-08-13 Paul Riseborough - EKF: Remove redundant tilt check
1592db8 2020-08-13 Paul Riseborough - EKF: Convert optical flow fusion to use SymPy generated equations
1f386c1 2020-08-15 Paul Riseborough - EKF: Add yaw estimate SymPy generated code files
510d938 2020-08-11 Paul Riseborough - EKF: move yaw estimator derivation into main filter derivation
f89c52e 2020-08-13 Paul Riseborough - EKF: use ecl::powf for integer exponents
0aa2f17 2020-08-13 Paul Riseborough - EKF: Convert GPS yaw observation method to use SymPy generated code (#880)
21cc46e 2020-08-11 Paul Riseborough - EKF: Convert magnetic field observation methods to use SymPy generated code (#879)
2020-08-17 16:30:52 -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
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
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 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
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
Hamish Willee
8c6bb697d8 Update json param field names 2020-08-05 07:35:01 +02:00
PX4 BuildBot
201a3a19ff Update submodule ecl to latest Tue Aug 4 12:39:50 UTC 2020
- ecl in PX4/Firmware (78d30efcf77284b21c130fd31061844ee561aa64): 77b11129fa
    - ecl current upstream: 7eb2b08eed
    - Changes: 77b11129fa...7eb2b08eed

    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
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
Hamish Willee
958d5a36ec
params: generate param metadata as MAVLink-compatible JSON component info (#15389) 2020-08-03 12:00:37 +02: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
Hamish Willee
4ade24869f
parameters: move XML injection to the group level (#15403)
So that they are also in the markdown and json output.
2020-07-24 13:45:53 +02:00
Matthias Grob
400d97e60c math: add unit tests for everything in Functions.hpp 2020-07-24 11:31:15 +02:00
Matthias Grob
0b391fdcfc mc_att_control: add gradual3 function to cover hover thrust rescaling 2020-07-24 11:31:15 +02:00
Daniel Agar
0586079a84 mixer_module: add subscription option to limit additional actuator_control callbacks
- optionally only register callbacks for primary control groups (if used)
2020-07-23 09:45:04 -04:00
Daniel Agar
b8b19f6166
cdev: posix remove std::map usage
- this is to make things a little easier for platforms like QuRT (voxl snapdragon) where there are libstdc++ complications
2020-07-21 10:17:55 -04:00
Matthias Grob
9ba2539e60 FlightTaskOrbit: reset approach if radius gets changed 2020-07-21 10:27:05 +02:00
Matthias Grob
e9498064ef StraightLine: allow resetting reached flag 2020-07-21 10:27:05 +02:00
Matthias Grob
5823101f07 FlightTaskOrbit: reset reached when new parameters are set
such that they get applied to the straight line trajectory class
and the drone starts approaching the new orbit.
2020-07-21 10:27:05 +02:00
Matthias Grob
8e4509c0a9 FlightTaskOrbit: simplify tangential yaw_setpoint and pi wrap 2020-07-21 09:44:21 +02:00
Matthias Grob
4d0aadbcd0 FlightTaskOrbit: set initial heading for every new command 2020-07-21 09:44:21 +02:00
Matthias Grob
abf6f4fa0a FlightTaskOrbit: move start_to_circle to more local scope & const reference parameters 2020-07-21 09:44:21 +02:00
Matthias Grob
b8b46f8493 FlightTaskOrbit: use yaw setpoint from Altitude task with RC yaw mode 2020-07-21 09:44:21 +02:00
Matthias Grob
1b7349339e FlightTaskOrbit: move line break causing comments before 2020-07-21 09:44:21 +02:00
Matthias Grob
987826f1d4 mixer_module/tap_esc: fix usage of constrain() on input
I changed the input constraint in #15349 but screwed up the usage
because I was convinced it's püass by reference. I'll double check
for sure next time.
2020-07-20 09:23:42 +02:00
PX4 BuildBot
650b601206 Update submodule matrix to latest Sun Jul 19 12:40:00 UTC 2020
- matrix in PX4/Firmware (20d5e7acd6d7be141de802ad155592e7be4c9f77): 9a30828a0a
    - matrix current upstream: 0fd99c59f1
    - Changes: 9a30828a0a...0fd99c59f1

    0fd99c5 2020-07-14 Matthias Grob - Switch operator() to return a const reference
8a59b46 2020-07-17 kamilritz - Quaternion: Use template type instead of single hardcoded type
2020-07-19 12:25:55 -04:00
Daniel Agar
1394b5d7bc sensor_baro add separate timestamp_sample field
- the timestamp is uORB message publication metadata
2020-07-17 09:42:19 -04:00
bresch
67ae40e922 FlightTaskAuto: fix yaw reset issue during takeoff
During takeoff, Navigator is sending a constant yaw value.
However, there is always a reset at 1.5m of the yaw estimate in EKF2
that is not handled by Navigator that produces a glitch in the rate
controller. Given that in FlightTask, the yaw
is already computed and properly corrected in case of an estimator reset
event, we just ignore the yaw value sent by navigator during takeoff.
2020-07-17 10:51:01 +02:00
Matthias Grob
413cf8b7c4 FlightTasks: Sticks methods naming refactor according to comments 2020-07-16 19:01:22 +02:00
Matthias Grob
0d56035a46 FlightTaskAutoMapper: clarify influence of sticks 2020-07-16 19:01:22 +02:00
Matthias Grob
079c5a11c2 FlightTaskAuto: allow rc assist to stop descend
Before the autohority was only enough to slow down the descend but not
stop to zero vertical velocity.
2020-07-16 19:01:22 +02:00
Matthias Grob
91c0f19121 FlightTaskAuto: use new Sticks class for assisted land speed 2020-07-16 19:01:22 +02:00
Matthias Grob
4366898f11 FlightTasks: make gear switch independent of sticks 2020-07-16 19:01:22 +02:00
Matthias Grob
4667693f37 mixer_module: use math:constrain 2020-07-16 16:55:33 +02:00
Matthias Grob
1e56eed2aa Remove FlightTaskManual from the inheritance structure 2020-07-14 18:07:09 +02:00
Matthias Grob
9daff24e79 FlightTasks: move stick handling into library 2020-07-14 18:07:09 +02:00
Matthias Grob
624d8a58e9 FlightTaskOrbit: correct acceleration feed-forward
The acceleration setpoint gets implicitly inherited from the altitude
flight task since #14212. This feed-forward adds an unwanted
acceleration when the right stick is deflected. Instead I'm using it
to command the expected centripetal acceleration when flying
in a circle for better orbit tracking.
2020-07-14 09:02:38 +02:00
David Jablonski
589aff7e0d Orbit: Add RC controlled yaw mode
For the RC controlled yaw behaviour, we do a yaw setpoint according to
the stick expo. The uncontrolled yaw behaviour behaves undefined.
Switching between yaw behaviours makes the drone stand still for a
moment, which probably can be improved.
2020-07-13 20:26:13 +02:00
David Jablonski
21f2e9b654 Orbit: Adjust yaw setpoint on circle approach 2020-07-13 20:26:13 +02:00