Nico van Duijn
549a962553
EKF2: move handling of invalid range into ECL ( #12988 )
...
* ekf2: Move handling of invalid range finder data inside ecl library
The ecl library EKF is able to use vehicle motion and in-air status to better determine when the default on-ground range finder reading can be used.
The description for the EKF2_MIN_RNG parameter has been updated to make its use clearer.
2019-09-19 11:29:34 +02:00
Matthias Grob
fa13f63db6
ekf2: temporarily hardcode new quality information to unkown
...
until priseborough's and nicovanduijn's pr #12950
2019-09-18 22:01:36 -04:00
Matthias Grob
c8d0eba1d2
Update ecl and matrix to safe matrix access
2019-09-18 22:01:36 -04:00
Matthias Grob
1ecbf8efd2
test_matrix: remove duplicate namespace accesses
2019-09-18 22:01:36 -04:00
Julian Kent
2d4ecab3b0
Remove unsafe access to .data() and _data in Matrix
2019-09-18 22:01:36 -04:00
Daniel Agar
78bf12f0db
px4_tasks: reduce POSITION_CONTROL priority
...
* this is to prevent the loss of any sensor data or estimator time slip in the event of a position controller or flight task overrun
2019-09-18 09:55:06 -04:00
Daniel Agar
494f35d5f4
Mavlink: wait for boot complete before sending or receiving anything
2019-09-18 09:07:55 -04:00
Daniel Agar
be61d93d64
tfmini split out header and main
2019-09-17 21:50:59 -04:00
Daniel Agar
9b7ef7141f
tfmini cleanup and use PX4Rangefinder
2019-09-17 21:50:59 -04:00
Nico van Duijn
18eaeb564d
PMW3901 improvements ( #12977 )
...
* PMW3901: use frame count and quality metric
* PMW3901: set qual to 0 for unsuccessful SPI reads
* PMW3901: improve comment for collect_time
* PMW3901: set qual to zero for huge flow values
2019-09-17 10:54:56 -04:00
Maximilian Laiacker
72e93a9c36
fixed total flight time counting bug
...
After landing it can happen that a second take off is detected and then the _takeoff_time is rest, resulting in a wrong total flight time counter. With this fix the flight time is reliably counted from the first take off until the vehicle is disarmed. Normally the vehicle will not spend much time armed after landing, if it does the flight time will be off but this is the same as before this fix. This fix was tested in several flight experiments.
2019-09-17 14:52:27 +02:00
Daniel Agar
c13835c0f0
replay module split replay_main.cpp into separate compilation units
2019-09-17 14:33:04 +02:00
Matthias Grob
270e12a4df
VelocitySmoothing: refactor local scope t variables instead of array
2019-09-17 09:27:00 +02:00
bresch
da8ac8cafb
VelocitySmoothing - Clean up updateTraj function based on Matthias' comments
2019-09-17 09:27:00 +02:00
bresch
b82fa68893
VelocitySmoothingTest - Fix typo and use "zero" instead of "null"
2019-09-17 09:27:00 +02:00
bresch
42cedb7fda
VelocitySmoothing - Change direction of "brake" as braking means that
...
only the T3 part is required and that the jerk applied during T3 is the
opposite of the one defined by "_direction".
2019-09-17 09:27:00 +02:00
bresch
8490266be8
VelocitySmoothing - (Re)set _state_init every time _state is (re)set
2019-09-17 09:27:00 +02:00
bresch
654938f6a1
VelocitySmoothing - Cosmetic changes (new lines, reorganize functions),
...
regroup both updateTraj functions and edit some comments
2019-09-17 09:27:00 +02:00
bresch
0b765a1642
AltitudeSmoothVel - Update to use new implementation of VelocitySmoothing
...
Remove jerk reduction (not needed in the new implementation)
2019-09-17 09:27:00 +02:00
bresch
862454827e
VelocitySmoothingTest - Test that the trajectory is always within the constraints
2019-09-17 09:27:00 +02:00
bresch
8cc2a7018e
VelocitySmoothing - Re-enable time stretch, integrate dt to get local time.
...
Also split a few functions into smaller ones for readability, fix
formatting, use geters to get the current state of the trajectory
instead of return arguments.
2019-09-17 09:27:00 +02:00
bresch
c7696488fe
VelocitySmoothing - Improve computation of the direction of the trajectory by predicting the velocity at zero acceleration instead of the current velocity
...
This helps when the current velocity is smaller than the target but that
the acceleration is too large such that the velocity will overshoot.
Without this check, the algorithm increases the acceleration which leads
to an even larger overshoot.
2019-09-17 09:27:00 +02:00
bresch
052932fa95
VelocitySmoothingTest - Update unit test to use the same parameters ordering (time, setpoint) as the VelocitySmoothing class
2019-09-17 09:27:00 +02:00
bresch
c13499e64b
test_velocity_smothing - Update test script to use new polynomial evaluation algorithm
2019-09-17 09:27:00 +02:00
bresch
a03cc495ce
VelocitySmoothing - Refactor class to use polynomial evaluation instead of numerical integration
...
This solves many numerical issues when the trajectory is close to the
primary NE axes (small velocities). It is also more robust when dt is
large and has some jitter.
2019-09-17 09:27:00 +02:00
Matthias Grob
d4f984fea5
FlightTaskAutoLineSmooth: Fix comment to be style compliant
2019-09-13 18:10:05 +02:00
bresch
47401d1177
AutoLineSmoothVel - Replace min/max absolute constraints with a function named constrainAbs
...
This function constrain the absolute value of some value but keeps the original sign.
2019-09-13 17:46:01 +02:00
bresch
3c5b24037a
AutoLineSmoothVel - Improve virtual pilot logic that provides velocity setpoints to the trajectory generator.
...
Constrain the generated velocities in the NE inertial frame rather than
just constraining the norm.
2019-09-13 17:46:01 +02:00
bresch
59f54a7fd8
mathlib - Add FLT_EPSILON deadzone in sign computation
2019-09-13 17:46:01 +02:00
Nico van Duijn
a26865c279
drivers: set CM8JL65 signal_quality invalid beyond bounds
2019-09-13 10:42:10 -04:00
Martina Rivizzigno
78279f6587
Unit tests for Obstacle Avoidance interface ( #12816 )
...
* FlighTask: remove legacy definition of empty_trajectory_wapoint
* add unit tests for the ObstacleAvoidance interface
2019-09-12 14:37:31 +02:00
Julian Kent
39451b811a
Do syscall for time once, outside of loop
2019-09-11 12:34:59 -04:00
Julian Kent
b27d6a958a
Account for the time since range data arrived
2019-09-11 12:34:59 -04:00
Hamish Willee
94ef585f76
Link to missing params docs
2019-09-11 09:17:00 -04:00
Daniel Agar
df01eda550
systemcmds/tests: delete obsolete test_sensors
2019-09-10 16:37:33 -04:00
Silvan Fuhrer
702c6f6df4
FW pos C: fix altitude control for VTOL/FW by also publishing attitude sp if in altitude, not only if position or velocity controlled
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2019-09-10 13:20:07 -04:00
Silvan Fuhrer
92b824e218
VTOL attitude controller: run update_vtol_state only if mc or fw att sp changed, such that pusher support in hover works again
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2019-09-10 13:52:33 +02:00
Silvan Fuhrer
1b2403a87f
VTOL land detector: trigger land detector in fixed-wing mode if disarmed.
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2019-09-10 13:46:43 +02:00
Julian Kent
a8fbe6bba2
Remove references to pow(x,0.5), use sqrt instead ( #12928 )
...
* Remove references to pow(x,0.5), use sqrt instead
* Update matrix library
2019-09-10 13:29:39 +02:00
Patrick Servello
47e668eb86
simulator and dumpfile fix minor resource leaks
...
* Certain conditional branches returned before closing the file handler.
2019-09-09 13:24:07 -04:00
mcsauder
e4509486e8
Correct a typo and create a #define for the LeddarOne FOV.
2019-09-06 11:59:29 +02:00
mcsauder
aea139bc1b
Correct the LeddarOne FOV and deprecate the unneeded _distance_sensor_topic after migrating to PX4RangeFinder.
2019-09-06 11:59:29 +02:00
mcsauder
ddd9a97d42
Modify the LeddarOne driver class to utilize the PX4RangeFinder library.
2019-09-06 11:59:29 +02:00
mcsauder
94d39e4466
Return from LeddarOne::collect() via LeddarOne::measure() and alphabetize #includes.
2019-09-06 11:59:29 +02:00
mcsauder
f31ac44289
Const correctness and fix leddar_one::test().
2019-09-06 11:59:29 +02:00
mcsauder
c0e8b37d96
Add collect() validation to the LeddarOne::init() method, format whitespace and console output.
...
Reduce measure/collect timing logic complexity to use ScheduleOnInterval() rather than SchuleDelayed().
2019-09-06 11:59:29 +02:00
mcsauder
04073f2c71
Deprecate the LeddarOne request() and publish() methods to match other distance sensor driver classes and fix perf counter errata.
2019-09-06 11:59:29 +02:00
Tanja Baumann
f3c5ca6015
Collision Prevention: support multiple sensors and frames ( #12883 )
...
* build internal sensor map
* Extend testing coverage
* Update matrix library
2019-09-06 08:38:56 +02:00
Julien Lecoeur
7bea81f02c
Add board orientation ROLL_90_YAW_270
2019-09-05 20:41:32 -07:00
Daniel Agar
c75954fef8
lib/led: temporarily ignore implicit fallthrough warning
2019-09-04 20:03:02 -07:00