925 Commits

Author SHA1 Message Date
TSC21
1ea5280299 microRTPS: use package.version to compare FastRTPS lib versions 2020-03-24 13:31:41 +00:00
SalimTerryLi
dc8e775d8f
ADC: replace ioctl with uorb message (#14087) 2020-03-20 11:23:32 +01:00
Lorenz Meier
ed0a01d5da Commander: Add reporting of preflight and prearming state
This is essential for the operator to know if the system is ready to fly.
2020-03-17 00:17:11 +01:00
Paul Riseborough
ab92b46e69
Update ecl to add ability to recover from bad magnetic yaw
* msg: Add EKF-GSF yaw estimator logging data
* ecl: update to version with EKF-GSF yaw estimator
* ekf2: Add param control and logging for EKF-GSF yaw estimator
* logger: Add logging for EKF-GSF yaw esimtator
2020-03-15 12:57:25 -04:00
Lorenz Meier
cb63fcdcc4 Vehicle command: Add mission item to gate mission execution on line orthogonal to current trajectory 2020-03-14 17:50:40 +01:00
Daniel Agar
0eca583ecf sensors: move baro aggregation to new sensors/vehicle_air_data 2020-03-12 19:06:34 -04:00
TSC21
69b38c9ced RTPS: add IDs to 'orb_test' related multitopics 2020-03-12 11:10:50 +00:00
Daniel Agar
a89b69b0ea
vehicle_global_position: remove velocity fields (duplicates of local vx, vy, vz)
* attitude_estimator_q: get velocity from local position (if available)
2020-03-11 23:57:43 -04:00
Daniel Agar
5d33b9e999
delete Outback Challenge (OBC) AUTO_RTGS (datalink loss) and AUTO_RCRECOVER (rc loss) 2020-03-11 22:45:55 -04:00
TSC21
2b8eb736e1 microRTPS: timesync: fix comment indentation 2020-03-11 15:13:07 +00:00
TSC21
21f0d99145 microRTPS: RtpsTopics: code specialization simplification 2020-03-11 15:13:07 +00:00
TSC21
e9bc675bfa microRTPS: agent: simplify Publisher code specialization 2020-03-11 15:13:07 +00:00
TSC21
296714a00a microRTPS: agent: simplify Subscriber code specialization 2020-03-11 15:13:07 +00:00
TSC21
99f96437c3 microRTPS: timesync: add getters and setter to generalize interface 2020-03-11 15:13:07 +00:00
TSC21
7612879ffd microRTPS: use FastRTPS version instead of FastRTPSGen version to generate conditional code 2020-03-11 15:13:07 +00:00
TSC21
c7d86b73d4 microRTPS: RtpsTopics: generalize types and member functions access 2020-03-11 15:13:07 +00:00
Daniel Agar
9585055e9e
uORB: add bitset for faster orb_exists check and remove uORB::Subscription lazy subscribe hack/optimization
- add PX4 bitset and atomic_bitset with testing
 - add uORB::Subscription constructor to take ORB_ID enum
 - move orb test messages into msg/
2020-03-11 09:06:33 -04:00
TSC21
04ec2041e3 microRTPS: timesync: cleanup and style fix 2020-03-10 12:15:18 +00:00
TSC21
512c405834 microRTPS_timesync.h: fix comments notation so to be properly generated in EmPy 2020-03-10 12:15:18 +00:00
TSC21
1893c9e37e microRTPS_timesync.h: add description to functions 2020-03-10 12:15:18 +00:00
TSC21
a3487ab8a3 microRTPS: timesync: fix unit conversion 2020-03-10 12:15:18 +00:00
TSC21
59869b2350 microRTPS_timesync.cpp: fix style 2020-03-10 12:15:18 +00:00
TSC21
7de8bee29e microRTPS: timesync: interpolate 2020-03-10 12:15:18 +00:00
TSC21
2568d9ae20 mavlink: timesync: readd timesync_status uORB to report Mavlink timesync 2020-03-10 12:15:18 +00:00
TSC21
250b6b24ab microRTPS: timesync: properly apply offsets 2020-03-10 12:15:18 +00:00
TSC21
67491b473c microRTPS: add timesync handshake 2020-03-10 12:15:18 +00:00
TSC21
e3e607f600 microRTPS: client: add client response to timesync 2020-03-10 12:15:18 +00:00
TSC21
2ec8958351 microRTPS: microRTPS_timesync: fix template indentation 2020-03-10 12:15:18 +00:00
TSC21
6dea2dd97d microRTPS: agent: make sure that is able to subscribe a timesync stream from itself 2020-03-10 12:15:18 +00:00
TSC21
cfd8e368df microRTPS: timesync: template generalization for both ROS2 and non-ROS2 2020-03-10 12:15:18 +00:00
TSC21
01518bd009 microRTPS: delete run() functions as they are not needed 2020-03-10 12:15:18 +00:00
TSC21
db7d98c16f microRTPS: use char-by-char comparison instead of stringstream comparison 2020-03-10 12:15:18 +00:00
TSC21
80c658c1ae microRTPS: make sure that Sub/Pubs do not exchange data in loop (i.e. for the same entity) 2020-03-10 12:15:18 +00:00
TSC21
441e6290eb microRTPS: timesync: apply offset atomically 2020-03-10 12:15:18 +00:00
TSC21
170835f3f8 microRTPS: add timesync for the agent side 2020-03-10 12:15:18 +00:00
Julian Kent
eab88294f8 Add documenation to uORB message 2020-03-09 09:51:49 +01:00
Julian Kent
6e1185d4f2 Add uORB messages for bezier curve trajectories 2020-03-09 09:51:49 +01:00
Julian Oes
874c6f385b commander: unify offboard timeouts
The implementation before this change had two timeouts, a hard-coded
timeout of 0.5 seconds as well as a by param configurable timeout with
certain failsafe actions set.

This change aims to fix two problems:
1. The hard-coded offboard timeout can be triggered easily with sped up
   lockstep simulation. Since i t is hard-coded it can't be adapted to
   the speed factor.
2. The offboard signal can time out but no action will be taken just
   yet. This means we end up in an in-between stage where no warning or
   failsafe action has happened yet, even though certain flags are set
   to a timeout state.

This patch aims to fix this by unifying the two timeouts to the existing
configurable param. The convoluted double timeout logic is replaced by a
simple hysteresis.

For anyone that has previously not changed the default timeout param (0),
the param will now be changed to 0.5 seconds which reflects the
previously hardcoded time. For anyone with a specific timeout
configured, the behaviour should remain the same.

Also, going forward, timeouts lower than 0.5 seconds should be possible.
2020-03-04 09:35:14 +01:00
Martina Rivizzigno
aee1e70642 check avoidance status in commander and set sys status
remove mavlink log
2020-03-02 16:49:56 +01:00
Matthias Grob
f90d3671c0 vehicle_attitude_setpoint: get rid of unused q_d_valid flag 2020-02-27 09:17:52 +01:00
Daniel Agar
22499effb9 invensense icm20602 improvements
- checked register mechanism and simple watchdog
    - driver checks for errors gradually and can reconfigure itself
 - respect IMU_GYRO_RATEMAX at the driver level
 - fixed sensor INT16_MIN and INT16_MAX handling (y & z axis are flipped before publishing)
 - increased sensor_gyro_fifo max size (enables running the driver much slower, but still transferring all raw data)
 - PX4Accelerometer/PX4Gyroscope remove unnecessary memsets
2020-02-18 19:21:20 -05:00
Julian Oes
9a96ca14be Tools: make Python import error more readable
The problem with printing the exception was that starting with
Python 3.6 the ImportError is yet another (sub) exception called
ModuleNotFoundError which can't be printed as a string and then triggers
another exception:

```
Traceback (most recent call last):
  File "/home/julianoes/src/Firmware/Tools/serial/generate_config.py", line 11, in <module>
    import jinja2
ModuleNotFoundError: No module named 'jinja2'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/julianoes/src/Firmware/Tools/serial/generate_config.py", line 13, in <module>
    print("Failed to import jinja2: " + e)
TypeError: must be str, not ModuleNotFoundError
```

As per @bkueng's suggestion the easiest is to cast the exception to str
and that way prevent the second exception.
2020-02-14 11:40:05 +01:00
stmoon
8b273b46aa fix the encoding problem for subprocess.check_output 2020-02-09 10:12:15 +00:00
bresch
ca0b5700ab uorb_rtps_message_ids: add hover_thrust_estimate msg 2020-02-07 11:52:52 +01:00
bresch
0f1c7590e9 HoverThrustEstimator: add a new single state estimator
with measurement noise auto-tuning

The purpose of this estimator is to improve land detection and vertical
velocity feedforward

Recovery strategy:
This is required when the setpoint suddenly changes in air or that the
EKF is diverging. A lowpassed test ratio is used as a trigger for the recovery logic
Also, a lowpassed residual is used to estimate the steady-state value
and remove it when estimating the accel noise to avoid increasing the
accel noise when the redisual is caused by an offset.
2020-02-07 11:52:52 +01:00
CarlOlsson
a61f1647ad replay: remove GPS relative timestamps
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2020-02-07 08:19:22 +01:00
Nico van Duijn
7778cbd463
Mavlink: Add MAV_x_RADIO_CTL parameter to disable RADIO_STATUS flow control
* Add param for software flow ctl on 3DR radios
* Dont reset telemetry type on radio timeout
* Treat 3DR radio as generic link type
* Rename 3DR to SiK radio
2020-02-03 09:49:47 -05:00
Roman Dvořák
c8a58c5c9d
drivers: add PCF8583 RPM sensor (#14018) 2020-02-02 12:10:20 -05:00
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