Paul Riseborough
cd2ca57ec2
Merge pull request #339 from PX4/ekfPosCtrlLimits-wip
...
Ekf pos ctrl limits wip
2017-10-23 06:57:23 +11:00
Daniel Agar
812f9ea11d
update ECL to latest master (includes tecs)
2017-10-22 21:56:06 +02:00
Daniel Agar
a133b12635
delete fw_pos_control_l1/mtecs
2017-10-22 21:56:06 +02:00
Daniel Agar
729e721ef3
update LICENSE for github
2017-10-22 21:56:06 +02:00
Daniel Agar
fa8629f6c7
nxphlite config remove external_lgpl
2017-10-22 21:56:06 +02:00
Paul Riseborough
3fc7aba178
TECS: Use version in ECL library
...
This change updates a number of interfaces to use the new TECS implementation from the ECL library.
2017-10-22 21:56:06 +02:00
Lorenz Meier
4923d0cba3
Remove TECS from system codebase
...
The TECS controller belongs really into the ECL (estimation & control library) where we have collected a number of vehicle control systems. It is being replaced by a new implementation of the algorithm, contributed by Paul Riseborough.
2017-10-22 21:56:06 +02:00
Daniel Agar
22a51c6afd
PX4_ISFINITE -> ISFINITE
2017-10-22 20:37:40 +02:00
Daniel Agar
9e13a2cb21
tecs move initialization
2017-10-22 20:37:40 +02:00
Daniel Agar
31a8e047d7
tecs one line setters and group
2017-10-22 20:37:40 +02:00
Daniel Agar
4f2d571c89
tecs fix code style
2017-10-22 20:37:40 +02:00
Paul Riseborough
79995b2c15
Create total energy control system implementation
...
This is a new, clean and streamlined variant of the mathematical derivation I created a few years ago.
2017-10-22 20:37:40 +02:00
Daniel Agar
9eb860fabd
travis-ci fix gcc and clang compilation jobs ( #344 )
...
- allow the python testing to fail without failing the entire build
2017-10-22 12:19:11 -04:00
DonLakeFlyer
8693c51cba
Fix bad meta data
2017-10-21 20:17:41 +02:00
Paul Riseborough
c9f44531c2
logger: Add logging profile to support comparison of multiple sensors ( #8134 )
2017-10-20 09:30:55 -04:00
Daniel Agar
136d259876
travis-ci fix coverity scan and px4_metadata ( #8156 )
2017-10-20 09:20:30 -04:00
Paul Riseborough
e10ec59058
EKF: Use consistent test for navigation validity reporting
...
This will enable controller to take advantage of non-inertial dead reckoning.
2017-10-20 14:44:38 +11:00
Paul Riseborough
19074fdd9e
EKF: Use consistent time limit for inertial dead reckoning test
2017-10-20 14:44:38 +11:00
Paul Riseborough
55a2dc94df
EKF: handle air data fusion covariance reset consistently
...
Both the sideslip and airspeed fusion should not be resetting covariances for states they do not modify.
2017-10-20 14:44:37 +11:00
Paul Riseborough
0d32128701
EKF: Use dead-reckoning status to determine if air data should modify non-wind states
2017-10-20 14:44:37 +11:00
Paul Riseborough
e4ffe199ed
EKF: fix bug in sideslip fusion activation
2017-10-20 14:44:37 +11:00
Paul Riseborough
59f1c3e19e
EKF: Update dead-reckoning definition
...
Use of air data to navigate should be classified as dead-reckoning because neither ground relative velocity or position is observed directly and errors grow faster.
2017-10-20 14:44:37 +11:00
Paul Riseborough
a2dcd5b9b6
EKF: Consolidate no aiding reset logic
2017-10-20 14:44:37 +11:00
Paul Riseborough
929c5c2b37
EKF: enable gps fusion flag to be false while fusing air data
2017-10-20 14:44:37 +11:00
Paul Riseborough
204a218ee6
EKF: Allow dead-reckoning using air data
2017-10-20 14:22:06 +11:00
ChristophTobler
f5fd90533a
fix gps and flow flag handling
...
gps flag was not turning false if there was flow
only reset states if we were relying on that sensor only
2017-10-20 14:22:06 +11:00
Paul Riseborough
9857fb9eb6
EKF: publish control limits for optical flow navigation
2017-10-20 14:22:06 +11:00
Paul Riseborough
afa8844eb7
Merge pull request #341 from CarlOlsson/fix/fw_yaw_align2
...
EKF: If aligning yaw for fw with low GPS velocity, use mag
2017-10-20 14:05:52 +11:00
CarlOlsson
2e03084d34
EKF: If aligning yaw for fw with low GPS velocity, use mag
2017-10-19 16:49:54 +02:00
Beat Küng
aa92ef3ca6
airframe 4040_reaper: fix type to quad h
2017-10-19 07:45:40 +02:00
Paul Riseborough
85c076d54e
update ecl/ekf submodule
2017-10-18 11:08:58 +02:00
ChristophTobler
d7c8d53489
use get() for BlockParam
2017-10-18 11:08:58 +02:00
ChristophTobler
2a23162f8d
update ecl/ekf submodule
2017-10-18 11:08:58 +02:00
ChristophTobler
40b8d8bd48
use distance to ground if on ground an distance is out of range
2017-10-18 11:08:58 +02:00
Julian Oes
787931f04f
navigator: check distances between waypoints
...
Instead of just checking whether the first waypoint is too far away from
home it makes sense to also check between waypoints.
This can prevent
- flyaways due to user errors, or
- catch the corner case where a takeoff waypoint is added to a mission
and therefore the first waypoint is not too far away, however, the
subsequent waypoints are still too far away.
2017-10-18 08:42:20 +02:00
Beat Küng
8b797d9b05
logger: use int for loop counter
2017-10-18 08:40:32 +02:00
Beat Küng
d930ad4e9e
mavlink_orb_subscription: reduce orb_exists() check from 10Hz to 3Hz
...
Checking with 3Hz for new topics should be fast enough.
2017-10-18 08:40:32 +02:00
Beat Küng
7381ea8222
logger: remove unused topics commander_state & rc_channels
...
flight review now uses vehicle_status & manual_control_setpoint
2017-10-18 08:40:32 +02:00
Beat Küng
d096ec0b61
vdev_posix: change filemap into a static list of objects instead of pointers
...
to avoid dynamic memory allocations & frees (specifically in orb_exists)
2017-10-18 08:40:32 +02:00
Beat Küng
2668055358
vdev: remove unused fileds from file_t
2017-10-18 08:40:32 +02:00
Beat Küng
deaf125c81
logger: check for newly published topics while not logging
...
If logger is started very early, orb_exists() will fail for a lot of
topics, they will be advertised within the next few seconds.
Logger already dynamically adds subscriptions during logging, but if we
do that before as well, we'll avoid any delays and having to subscribe
to a lot of topics all at once.
2017-10-18 08:40:32 +02:00
Beat Küng
3be252289a
logger: use orb_exists to check if we need to subscribe to the first instance
...
To keep track of the configured interval, we store it as negative file
descriptor, until we do the subscription.
This frees up a considerable amount of file descriptors in most use-cases.
2017-10-18 08:40:32 +02:00
Beat Küng
4c4b528842
uORBManager: fix code style
2017-10-18 08:40:32 +02:00
Beat Küng
2f2c0440c4
orb_exists: change semantics from (is published or subscribed) to (is published)
...
Existing users of orb_exists:
- logger (dynamic subscribe to multi-instances)
- mavlink (orb subscription)
- sdlog2
- preflightcheck (check for home_position)
- wait_for_topic shell command (it's not used)
- orb_group_count() (sensors: dynamic sensor addition)
All use-cases benefit from the changed semantics: they are really only
interested if there is a publisher, not another subscriber.
2017-10-18 08:40:32 +02:00
Daniel Agar
d83073f016
move RTPS to dedicated px4fmu-v{3,4,4pro,5}, posix, sdflight builds ( #8113 )
2017-10-17 16:29:55 -04:00
Daniel Agar
979d092628
travis-ci enable tests under address sanitizier ( #8095 )
2017-10-17 16:26:17 -04:00
Paul Riseborough
61e0c04811
Merge pull request #338 from CarlOlsson/fix/fw_pos_reset
...
EKF: Fix bug when resetting position and velocities for fw due to som…
2017-10-18 07:02:34 +11:00
Matthias Grob
f4243160e2
Quaternion: changed comments because of typos and unclear inconsistent indexing
2017-10-17 17:37:23 +02:00
Matthias Grob
d259ab2108
Test: add Quaternion rotate() test that catches non-commutating rotations
2017-10-17 17:37:23 +02:00
Matthias Grob
ee2219b836
Quaternion: replace conversion in rotate() with AxisAngle call
2017-10-17 17:37:23 +02:00