877 Commits

Author SHA1 Message Date
Daniel Agar
931a3f2684
logger: publish initial logger_status orb message 2020-01-29 17:29:30 -05:00
Daniel Agar
2410b31662
sensors: move accel filtering to sensors/vehicle_acceleration
I've added a queue depth of 4 for sensor_accel and sensor_gyro. This is initially added because it's not always possible for the `vehicle_acceleration` to keep up with every publication of the primary accelerator as it runs in the same thread as ekf2, various controllers, etc. 

Later this mechanism will be used in a few areas
 - rate limit `vehicle_angular_velocity` and `vehicle_acceleration` without missing any raw data
 - move IMU integration to `vehicle_imu` and out of the actual driver threads, eliminating the need for sensor_accel_integrated and sensor_gyro_integrated
 - integrate raw gyro synchronized with optical flow measurements
2020-01-29 16:13:38 -05:00
Silvan Fuhrer
4fa64f686a pre arm check: add circuit breaker for the VTOL arming in fixed-wing mode prevention
Added a new circuit breaker that, if set, enables arming in fixed-wing mode for VTOLs.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-01-28 00:30:24 +01:00
Daniel Agar
1237402fa4
sensors: compute and publish vehicle_angular_acceleration
- introduces parameter IMU_DGYRO_CUTOFF to configure the angular acceleration low pass filter
 - the angular acceleration is computed by differentiating angular velocity after the notch filter (IMU_GYRO_NF_FREQ & IMU_GYRO_NF_BW) is applied

Co-authored-by: Julien Lecoeur <jlecoeur@users.noreply.github.com>
2020-01-27 16:44:01 -05:00
Daniel Agar
24f0c2d72a
sensors: move gyro filtering to sensors/vehicle_angular_velocity
- gyro filtering (low-pass and notch) only performed on primary gyro in `sensors/vehicle_angular_velocity` instead of every gyro in `PX4Gyroscope`
 - sample rate is calculated from actual updates (the fixed value was slightly wrong in many cases, and very wrong in a few)
 - In the FIFO case the array is now averaged and published in `sensor_gyro` for filtering downstream. I'll update this in the future to use the full FIFO array (if available), but right now it should be fine.
2020-01-27 10:05:33 -05:00
Daniel Agar
10410fc868 msg: rename sensor_bias -> estimator_sensor_bias 2020-01-27 09:03:27 +01:00
Beat Küng
d68e595514 vehicle_control_mode: fix invalid comment for flag_armed 2020-01-24 08:42:16 +01:00
Daniel Agar
697dbfb9f8 sensors/vehicle_imu: incremental step towards multi-EKF 2020-01-22 18:04:29 -05:00
Tal Zaitsev
65aaf5170c microRTPS: Fix C++11 remnant 2020-01-22 00:30:47 -05:00
Daniel Agar
b47eaa6061
update C++ standard (c++11 -> c++14)
- temporarily disable snapdragon builds until toolchain is updated
2020-01-21 21:49:10 -05:00
Daniel Agar
dc05ceaad2
create temperature_compensation module
- this is a new module for temperature compensation that consolidates the functionality previously handled in the sensors module (calculating runtime thermal corrections) and the events module (online thermal calibration)
 - by collecting this functionality into a single module we can optionally disable it on systems where it's not used and save some flash (if disabled at build time) or memory (disabled at run time)
2020-01-20 21:42:42 -05:00
stmoon
44cac04abe fix the bug for none of recv_topics 2020-01-20 12:33:47 +00:00
Daniel Agar
c270e75156
vehicle_local_position: delete unused and redundant dist_bottom_rate 2020-01-18 12:50:57 -05:00
Daniel Agar
bb465ca5b7
sensor accel/gyro message cleanup
- split out integrated data into new standalone messages (sensor_accel_integrated and sensor_gyro_integrated)
 - publish sensor_gyro at full rate and remove sensor_gyro_control
 - limit sensor status publications to 10 Hz
 - remove unused accel/gyro raw ADC fields
 - add device IDs to sensor_bias and sensor_correction
    - vehicle_angular_velocity/vehicle_acceleration: check device ids before using bias and corrections
2020-01-18 01:15:00 -05:00
Daniel Agar
1d932f6ec9
IMU drivers using FIFOs increase max length to 16 and sync similar implementations
- this provides some extra space when the FIFO transfers don't align perfectly
 - I've also made an effort to keep the different drivers (icm20602, icm20608g, ism330ldc) in sync so we can factor out the common portions later once we've confident in the pattern.
2020-01-17 22:06:09 -05:00
Low Orbit Ion Cannon
7dd949edb1 ADSB traffic avoidance improvements using UTM_GLOBAL_POSITION (#13159)
* Treat UAVS diffrently from manned aviation 
 * Added fake_traffic testing functionality,
 * Added NAV_TRAFF_AVOID Hold and Landmode
 * Added Behavior: HOLD Position to collision avoidance mode and implemented Landmode to collision avoidance.

Boards where no Hardware GUID is defined will send 0 as GUID.

Right now collision avoidance for more than one FMU without Hardware GUID is not possible.
We should consider adding a randomly generated HW GUID as a placeholder for legacy Boards
2020-01-17 14:58:28 -05:00
TSC21
1cbb3ebd4f microRTPS bridge: clean build warnings; improve verbosity 2020-01-17 12:19:00 +00:00
Julian Oes
e98fa891fe msg/tools: remove unused import, check for six 2020-01-16 16:25:26 +01:00
Julian Oes
0a2b42b25d msg/tools: improve Python dependency note
We now check individually for empy and genmsg.

Also, my recommendation is to use pip3 as a user to install the
dependencies as this is least intrusive and should work on all
platforms.
2020-01-16 16:25:26 +01:00
TSC21
d6cff809f3 uorb_rtps_message_ids.yaml: onboard_computer_status to be received 2020-01-15 19:40:09 +00:00
TSC21
0cb1b250e9 px_generate_uorb_topic_files.py: update import error recommendation message 2020-01-13 21:48:35 +00:00
TSC21
2be7ca08ba msg: generation and parsing scripts: add Python3 support 2020-01-13 21:48:35 +00:00
Julian Oes
4329de9e3b Use Python 3 everywhere
Since Python 2 is retired in 4 months, we should move everything to 3.
2020-01-13 21:48:35 +00:00
TSC21
2e9a4d89ee msg: remove gencpp and genmsh submodules; remove gencpp imports 2020-01-13 21:48:35 +00:00
stmoon
e19e0bd616 serach and insert rtps path if there is no {FASTRTPSGEN_DIR} 2020-01-10 16:48:21 +00:00
TSC21
722f287281 msg: urtps: change the topic Data Type name to match expected on ROS2 2020-01-10 13:42:36 +01:00
kamilritz
e95e5abdf6 Update ECL 2020-01-09 10:36:10 +01:00
kamilritz
593895293a Transform vision covariances 2020-01-09 10:36:10 +01:00
Daniel Agar
253296eec7 vehicle_status_flags: remove unused circuit_breaker_engaged_gpsfailure_check 2020-01-08 12:29:50 -05:00
Jacob Dahl
d08ec05bab PWM automatic trigger system (ATS) for parachutes (#13726)
* parameter and logic to commander for triggering failsafe from external automatic trigger system.
* logic to startup script for enabling ATS. Added uORB publishing to pwm_input module.
* Refactored out CDev usage from pwm_input and ll40ls. Refactored out ll40ls specifics from pwm_input and cleaned up dead code.
2020-01-06 20:14:06 -05:00
Daniel Agar
f7cf1ffc41 drivers/uavcan: remove MAVLINK header dependency 2019-12-31 21:01:21 -05:00
Silvan Fuhrer
574b482fdb Navigator: make weather vane work in all auto modes, not just mission (#13761)
- rename of flag in position sp: from allow_weather_vane to disable_weather_vane
 - flag now doesn't have to be set for all auto modes, meaning that weather vane is also active outside of mission
 - flag is set before front transition to align with wp, and unset after alignment is over

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-12-28 12:13:15 -05:00
Daniel Agar
89e1f478ac PX4Accelerometer and PX4Gyroscope add vibration metrics and always publish status 2019-12-27 20:54:50 -05:00
Daniel Agar
176d7ef62d Jenkins PX4 ROS2 bridge don't specify python binary 2019-12-23 11:06:50 -05:00
Christian Clauss
6dc55f97d4 More fixes for Python 3 compatibility (#13008)
* More fixes for Python 3 compatibility

* Workaround if the six module is not pip installed

* Lose the semicolons
2019-12-19 02:05:55 -08:00
Timothy Scott
993fa5bd37 Refactored to work with new battery_status module 2019-12-05 16:38:04 +01:00
kamilritz
b73c80428e ECL: Clean velPos logging, deprecate ekf2_innovations msg 2019-12-05 11:29:29 +01:00
Daniel Agar
709961ec8c
InvenSense ICM20602 and ICM20608-G: new standalone optimized drivers
- uses the FIFO and SPI DMA to transfer full raw data (8 kHz gyro, 4 kHz accel)
 - new sensor messages for better visibility
   - sensor_{accel, gyro}_fifo: full raw data for optional logging and analysis
   - sensor_{accel, gyro}_status: metadata, clipping, etc
 - currently not enabled by default
2019-12-03 23:21:32 -05:00
Daniel Agar
1a395fb6d9 ST ISM330DLC IMU driver 2019-12-03 16:16:49 -05:00
bresch
09c8c8f706 ekf: use PDOP instead of GDOP as TDOP (part of GDOP) is not given by the GNSS receiver 2019-11-27 10:33:27 +01:00
PX4 BuildBot
30fcb14156 Update submodule gencpp to latest Tue Nov 26 12:38:15 UTC 2019
- gencpp in PX4/Firmware (d5fb89ee02f4c7e6c44e27c31e7f535d0aa0da0c): 7e446a9976
    - gencpp current upstream: ff6c9f3e8e
    - Changes: 7e446a9976...ff6c9f3e8e

    ff6c9f3 2019-11-11 Jochen Sprickerhof - Two patches to make the generated headers reproducible (#42)
e12443e 2019-03-18 Dirk Thomas - 0.6.2
d227d17 2019-03-18 Dirk Thomas - update changelog
e233144 2019-03-15 Martin Pecka - Added plugins the ability to also generate free functions. (#40)
40559af 2019-03-04 Dirk Thomas - 0.6.1
96ec7f1 2019-03-04 Dirk Thomas - update changelog
2019-11-26 09:02:39 -05:00
PX4 BuildBot
df0e4bfc62 Update submodule genmsg to latest Tue Nov 26 12:38:20 UTC 2019
- genmsg in PX4/Firmware (4f4e9c36fe3d0ecf547d50de9ca6b274e0f7ab65): 5736b1f7ad
    - genmsg current upstream: 1ad8e136cd
    - Changes: 5736b1f7ad...1ad8e136cd

    1ad8e13 2019-08-13 Dirk Thomas - Python 3 compatibility (#86)
ae81617 2019-08-12 AlexV - Rosimport improvements (#83)
f9dad2f 2019-03-04 Dirk Thomas - 0.5.12
0b2c12a 2019-03-04 Dirk Thomas - update changelog
2019-11-26 08:48:18 -05:00
TSC21
c9aab6319f microRTPS: update headers licenses 2019-11-26 09:01:52 +01:00
TSC21
54cd8f1856 microRTPS_client.cpp.em: fix double conversions 2019-11-26 09:01:52 +01:00
bresch
12177cb33b commander: add pre-flight check and parameter for magnetic field strength 2019-11-25 21:15:55 +01:00
TSC21
4c5e5acefe micro-CDR: bump submodule version and update CMake and src code 2019-11-24 19:36:00 -05:00
TSC21
d80da97ef5 micrortps_client: more cleanup 2019-11-24 21:39:01 +00:00
TSC21
ec0803815e microRTPS_client: use updated uORB API; improve usage 2019-11-24 21:39:01 +00:00
TSC21
16f53ec18d msg: add a deprecated uORB msgs list to CMake 2019-11-22 15:00:53 +01: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