Commit Graph

2134 Commits

Author SHA1 Message Date
Matthias Grob 4a28c8180b FlightTaskManualAltitude: yawspeed filter remove line with no effect, comments
FlightTaskManualAltitude: declaration order

Addressing @bkueng's review comments.
2019-11-25 11:55:47 +01:00
bresch cd2b5e7479 FlightTaskManualAltitude: Use dedicated member variable for yawspeed filter state insted of using the previous setpoint 2019-11-25 11:55:47 +01:00
bresch ffee103ae0 FlightTask: add 1st order lpf on yawrate satepoint for smooth motion 2019-11-25 11:55:47 +01:00
Daniel Agar 75da6e351b mixer: organize by type 2019-11-22 16:48:10 -05:00
Daniel Agar f271efaf62 local_position_estimator: move to WQ and delete unused SubscriptionPollable 2019-11-22 16:02:54 -05:00
Daniel Agar a255789be4 mixer: px_generate_mixer use static constexpr 2019-11-22 15:00:25 -05:00
Daniel Agar cc7807c066 mixer: update to List<> container 2019-11-22 15:00:25 -05:00
Daniel Agar 79dc676c8f mixer: move MixerGroup out of Mixer hierarchy and delete mixer.h header 2019-11-22 15:00:25 -05:00
Daniel Agar 011186b8a5 mixer: delete copy constructors and operators 2019-11-22 15:00:25 -05:00
Daniel Agar a172858db2 mixer: move scale() and scale_check() to SimpleMixer 2019-11-22 15:00:25 -05:00
Daniel Agar 9a572b0cf2 mixer: delete unused SimpleMixer::pwm_input() 2019-11-22 15:00:25 -05:00
Daniel Agar 37ec78dc2a mixer library split into separate headers and name consistently 2019-11-22 15:00:25 -05:00
Silvan Fuhrer ebdc29bc5f Airspeed Selector: enable airspeed_validated in control modules (#12887)
* FW attitude controller, FW position controller and VTOL attitude controller subscribe to airspeed_validated topic
* add possibility to switch off the airspeed valid checks
* remove airspeed valid checks from commander
* clean up of VTOL transition logic
* Airspeed Selector: remove dynamic allocation of airspeed validators (depending on number of connected sensors) but do it statically for the maximum number allowed. Check for number of connected sensors not only during start up, but always when vehicle is disarmed.
* Airspeed Selector: change work queue from lp to att_pos_ctrl as this module is safety-critical
* add airspeed selector to px4_fmu-v2 defaults
2019-11-21 14:14:25 -05:00
Julien Lecoeur a46581987c Update matrix submodule and add pseudoinverse tests (tests matrix) 2019-11-21 13:06:59 -05:00
Tanja Baumann 5d3a6d8213 collision_prevention: improve behavior in case of range data loss
* add test for no incoming range data
2019-11-21 11:13:28 -05:00
Daniel Agar 1af7af02db bmp388: cleanup main and add to px4_fmu-v5x board_config.h 2019-11-20 13:12:03 -05:00
Matthias Grob b64abf48b2 mc_pos_control: reset velocity derivatives 2019-11-19 22:18:01 +01:00
Beat Küng a543169f1e CollisionPrevention: avoid unnecessary cast from uint16_t to int 2019-11-19 09:32:30 +01:00
PX4 BuildBot 6369ae858a Update submodule matrix to latest Wed Nov 13 22:07:30 UTC 2019
- matrix in PX4/Firmware (d3184c866c3012105c8950a9f6652a9722fa3296): https://github.com/PX4/Matrix/commit/93d42947b612733d2bd05e66ae093ada3e35ba12
    - matrix current upstream: https://github.com/PX4/Matrix/commit/cd185c995b6b28c12e06d20a2743a94bd68be7c2
    - Changes: https://github.com/PX4/Matrix/compare/93d42947b612733d2bd05e66ae093ada3e35ba12...cd185c995b6b28c12e06d20a2743a94bd68be7c2

    cd185c9 2019-11-13 Daniel Agar - add braces around statements and cleanup formatting (#107)
38e966c 2019-11-12 kritz - Add min, max, constrain function for Matrix (#105)
2019-11-13 19:07:24 -05:00
Daniel Agar 7996ee496c lib: name folders consistently 2019-11-13 09:29:21 -05:00
Daniel Agar c5520cbaca mpu9250: start building "NuttX" driver for Linux and QuRT 2019-11-13 09:21:02 -05:00
Daniel Agar 1c4e854f93 cmake don't build param "c" files and remove param defines
- these aren't actual source code
2019-11-11 10:25:42 -05:00
PX4 BuildBot 4dfe3e199e Update submodule matrix to latest Sat Nov 9 00:39:54 UTC 2019
- matrix in PX4/Firmware (c475bb84b7274d041065fc3fd673127ae2438f4d): https://github.com/PX4/Matrix/commit/9f464839510a2779b9418ffbc2303a31f155e851
    - matrix current upstream: https://github.com/PX4/Matrix/commit/93d42947b612733d2bd05e66ae093ada3e35ba12
    - Changes: https://github.com/PX4/Matrix/compare/9f464839510a2779b9418ffbc2303a31f155e851...93d42947b612733d2bd05e66ae093ada3e35ba12

    93d4294 2019-11-08 kritz - Add test for setting Quaternion to Identity (#104)
2019-11-09 00:51:44 -05:00
Daniel Agar 1896c758d0 [SQUASH ME] trivial style fix 2019-11-07 15:57:29 +01:00
Mike Wiatt 3595941554 Reposition landing gear check so that it is not overwritten by setpoint operations. 2019-11-07 15:57:29 +01:00
Tanja Baumann b60a955501 ColPrev: No direction change if no obstacle (#13398)
* only change direction if in other bin
2019-11-07 14:21:12 +01:00
Beat Küng 32359168d6 smbus: fix invalid memory access in read_word()
read_word() expected 3 bytes (uint16_t + PEC byte), but was passed an
address to an uint16_t value.

write_word() is changed to be type-safe as well.
2019-11-07 10:56:27 +01:00
Matthias Grob 1a79f75f94 Commander: start pulling arming related parts into separate folder
* PreFlightCheck: remove unused reportFailures flag
* Commander: pull all pre flight checks together on the PreFlightCheck class
* PreFlightCheck: separate checks into their own files
2019-11-05 11:25:59 -05:00
Julian Oes ef475fa9d8 mixer_module: fix poll error in SITL lockstep
This fixes the case where the mixer_module would subscribe and use its
own test_motor publication which was created only to make sure the
topic is advertised and subsequent updates will work properly.

This happened in SITL lockstep because the timestamp would be 0 at the
very beginning, and hence elapsed time would be 0 as well.
This lead to an actuator publication which would then get lockstep out
of sync causing poll errors on the Gazebo side.
2019-11-05 09:33:14 -05:00
PX4 BuildBot 6e395fe885 Update submodule matrix to latest Tue Nov 5 00:38:36 UTC 2019
- matrix in PX4/Firmware (dca3f78e198f89510890fbb8b305d2fa1c3caa69): https://github.com/PX4/Matrix/commit/92d1c8761ec8e5dbe9ba3f756cebd5e90956a1b2
    - matrix current upstream: https://github.com/PX4/Matrix/commit/9f464839510a2779b9418ffbc2303a31f155e851
    - Changes: https://github.com/PX4/Matrix/compare/92d1c8761ec8e5dbe9ba3f756cebd5e90956a1b2...9f464839510a2779b9418ffbc2303a31f155e851

    9f46483 2019-11-04 Julian Kent - Fix GCC-4.8 bug
445f58d 2019-11-01 Julian Kent - Fix weird C preprocessor conflicts (#101)
215203f 2019-10-23 Julian Kent - Automatic Differentiation 'Dual' Type (#100)
2019-11-04 20:05:43 -05:00
Julian Kent b8b7527d05 Fix off-track tracking in AutoLineSmoothVel (#13321)
* Use position instead of last setpoint

This calculates the target velocities better taking into account disturbances along
the flight route. Previously entry angles and more were calculated assuming the flight path
originates directly from the direction of the previous waypoint. This corrects this assumption
to instead make the direction come from the vehicle location.

* Allow to specify a final speed given a braking distance.

This is to allow planning to not stop at a waypoint, but instead
to reach the waypoint while maintaining a certain velocity

* Updated src/lib/matrix

* Account for speed at target when determining constraints

* Separate constraints into x/y components

* Use setpoint position, not vehicle position

* Fix whitespace, add documentation
2019-11-04 11:57:12 +01:00
Daniel Agar 3e189889ef FlightTasks: shift DEFINE_PARAMETERS to end of access modifiers
- DEFINE_PARAMETERS includes a private access modifier, so we need to
keep these at the end to prevent issues when extending a flight task
2019-11-02 12:41:45 -04:00
PX4 BuildBot f0ac270174 Update submodule ecl to latest Sat Nov 2 13:49:23 UTC 2019
- ecl in PX4/Firmware (4658aaf8a0ff90662843558dbc8ea68adcc7284d): https://github.com/PX4/ecl/commit/9b4b24ee71902c6a4289170e8fb1ca3306c1d9c4
    - ecl current upstream: https://github.com/PX4/ecl/commit/d76b7042251b6f4f230a34dd38818f7af1bb991d
    - Changes: https://github.com/PX4/ecl/compare/9b4b24ee71902c6a4289170e8fb1ca3306c1d9c4...d76b7042251b6f4f230a34dd38818f7af1bb991d

    d76b704 2019-11-01 kamilritz - Only inlcude gtest if standalone build
7c1e38d 2019-10-18 kamilritz - Make it build with Firmware
d79199c 2019-10-17 kamilritz - Remove swig and python test related things
d88e242 2019-10-17 kamilritz - pytest are replaced in gtests
71be26e 2019-10-17 kamilritz - Port RingBuffer Test to GTests
cac5f3f 2019-10-17 kamilritz - GTest and Coverage cleanup and Basic EKF GTest
fcea13e 2019-10-14 Martina Rivizzigno - add gtest, temp disable swig
2019-11-02 10:48:45 -04:00
Beat Küng 3b7c1b4ff1 src/drivers/boards: move to platforms/nuttx/src/px4/common 2019-10-30 11:48:47 +01:00
Beat Küng 3198610f85 src/platforms: move all headers to platforms/common/include/px4_platform_common
and remove the px4_ prefix, except for px4_config.h.

command to update includes:
for k in app.h atomic.h cli.h console_buffer.h defines.h getopt.h i2c.h init.h log.h micro_hal.h module.h module_params.h param.h param_macros.h posix.h sem.h sem.hpp shmem.h shutdown.h tasks.h time.h workqueue.h; do for i in $(grep -rl 'include <px4_'$k src platforms boards); do sed -i 's/#include <px4_'$k'/#include <px4_platform_common\/'$k/ $i; done; done
for in $(grep -rl 'include <px4_config.h' src platforms boards); do sed -i 's/#include <px4_config.h/#include <px4_platform_common\/px4_config.h'/ $i; done

Transitional headers for submodules are added (px4_{defines,log,time}.h)
2019-10-30 11:48:47 +01:00
Daniel Agar 375fc4a75c uavcan module cleanup
- move most orb to uORB::Publication and uORB::Subscription
 - update legacy message handling (warn to PX4_INFO, PX4_WARN, PX4_ERR)
 - add perf counters
 - sensors/mag support newer `uavcan::equipment::ahrs::MagneticFieldStrength2` message
 - sensors/gps support `uavcan::equipment::gnss::Auxiliary` for hdop and vdop
 - sensors delete obsolete ioctl and read methods
 - use PublicationMulti for actuator_outputs and esc_reports (to coexist with other output modules)
 - add GNSS parameter metadata (parameters_injected.xml)
2019-10-28 19:57:50 -04:00
Daniel Agar c284198bec clang-tidy: partially fix hicpp-use-override 2019-10-28 10:50:31 -04:00
Daniel Agar 744f06cc8f clang-tidy: enable readability-delete-null-pointer and fix 2019-10-28 10:50:31 -04:00
Julien Lecoeur 8f910f8435 ATTITUDE_QUATERNION: fill repr_offset_q for tailsitters (#13249)
* Conversions lib: add quaternion getter

* vehicle_status: add flag is_vtol_tailsitter

* ATTITUDE_QUATERNION: fill repr_offset_q for tailsitters
2019-10-28 09:27:53 +01:00
Daniel Agar 380cae18d1 clang-tidy: partially fix modernize-use-equals-default 2019-10-27 19:19:07 -04:00
Daniel Agar 967446af4c clang-tidy: enable readability-simplify-boolean-expr and fix 2019-10-27 19:19:07 -04:00
Daniel Agar 279df3b1b8 clang-tidy: partially fix hicpp-use-equals-delete 2019-10-27 19:19:07 -04:00
Daniel Agar d545825bf0 clang-tidy: enable performance-unnecessary-value-param and fix 2019-10-27 19:19:07 -04:00
Daniel Agar ae27dd60a6 Jenkins re-enable clang-tidy and update .clang-tidy
- device/Device: fix explicit constructor and uninitialized fields
 - systemcmds/motor_test: update NULL to nullptr
2019-10-27 17:19:11 -04:00
Daniel Agar 17b654f165 Update submodule ecl to latest Sun Oct 27 12:38:03 UTC 2019 (#13175)
- ecl in PX4/Firmware (dcfe226638): https://github.com/PX4/ecl/commit/f005e0ea8f33d10dd014a0700e712426540bb58a
    - ecl current upstream: https://github.com/PX4/ecl/commit/9b4b24ee71902c6a4289170e8fb1ca3306c1d9c4
    - Changes: https://github.com/PX4/ecl/compare/f005e0ea8f33d10dd014a0700e712426540bb58a...9b4b24ee71902c6a4289170e8fb1ca3306c1d9c4

9b4b24e 2019-10-17 RomanBapst - removed unused definition
0e3a0b8 2019-10-15 RomanBapst - range_finder_checks: parametrised signal quality hysteresis duration
16d1e15 2019-10-15 RomanBapst - addressed review comments
6bc6f26 2019-10-14 RomanBapst - range_finder_checks: set range height to valid if signal quality is non-zero
6299d81 2019-10-14 RomanBapst - ekf_helper: use latest validated range sample to reset height
00f49e6 2019-10-14 RomanBapst - cleanup checks of range finder data
4d37065 2019-08-22 Paul Riseborough - EKF: Make use of inverse rotation function consistent with name
36de2b3 2019-08-22 Paul Riseborough - EKF: Use matrix library for quaternion to rotation matrix conversion
1a4ab06 2019-10-22 bresch - rate controller: add override specifiers whenever needed
29f71ff 2019-10-21 bresch - ekf: Add override specifier for all functions that override virtual functions of the estimator interface class
50167bf 2019-10-16 bresch - estimator interface: add deprecated functions for backward compatibility
b38458c 2019-10-10 bresch - Terrain estimator: formatting and remove redundant comments
0aef0ed 2019-10-10 bresch - terrain_estimator: remove dead code. Since the terrain estimator is constantly reset on ground, it is not necessary anymore to fuse fake measurements on ground if the range measurements are bad.
370e04e 2019-10-03 bresch - terrain_est: Continuously reset terrain height on ground using known clearance. This is the best estimate as we should not rely on a distance sensor while on the ground. This also helps when the drone is carried over as it avoids starting with a crazy downward distance for optical flow scaling.
e09e3e1 2019-10-14 bresch - control: rename _range_aid_enabled to _is_range_aid_suitable rename rangeAidConditionsMet to checkRangeAidSuitability
fac69d0 2019-10-14 bresch - control: refactor rangeAidConditionsMet function
eae6e8f 2019-08-06 Paul Riseborough - EKF: Fix on ground yaw drift when using EKF2_MAG_TYPE = 4
4e946d5 2019-09-04 RomanBapst - implemented synthesized magnetometer Z measurement - calculate a theoretical value based on the knowledge of the direction and strength of the magnetic field vector and X/Y sensor measurements - needs knowledge about location on earth to work
2019-10-27 11:24:26 -04:00
bresch bdc546b2e0 AutoLineSmoothVel: fix constrain priority for autocontinue.
The constrainAbs function was not prioritizing the minimum value
that produces the autocontinue behaviour. This caused zig-zag
paths when the waypoints were almost -but not exactly- aligned.
2019-10-26 08:34:30 +02:00
Hamish Willee 564b29c0f8 Fix incorrect default for parser 2019-10-24 19:00:17 -07:00
Hamish Willee a904f78fad Parameter parser/markdown includes boolean flag 2019-10-24 19:00:17 -07:00
Matthias Grob 79334958a9 WeatherVane: only update with last row of rotation matrix 2019-10-24 14:58:57 +02:00
Matthias Grob 9c25b987bc vehicle_local_position_setpoint: make acceleration and jerk arrays 2019-10-24 14:58:57 +02:00