271 Commits

Author SHA1 Message Date
Daniel Agar
263b00b65f
ekf2 support SET_GPS_GLOBAL_ORIGIN and remove globallocalconverter usage
- vehicle_command cmd extended from uint16 to support PX4 internal commands that don't map to mavlink
2021-03-05 18:25:14 -05:00
Daniel Agar
9d47f7ecda simulator: make first accel/gyro simulated FIFO 2021-02-26 18:40:37 -05:00
JacobCrabill
e49717513c simulator: Fix distance sensor device_id
Also add DRV_DIST_DEVTYPE_SIM
2021-01-27 17:02:20 -05:00
Daniel Duecker
f9e07337f8
fix submarine sitl: indicate motor channel range 0..1 or -1..1 in simulation_mavlink.cpp (#16637)
change motor_count variable to 'pos_thrust_motor_count'
This is more specific to what is actually happening in the code.
'pos_thrust_motors_count' indicates number of motor channels which are configured with 0..1 range (positive thrust) all other motors are configured for -1..1 range

submarine only have motors with -1..1 range.
Thus, pos_thrust_motor_count = 0

Co-authored-by: Thies Lennart Alff <33184858+lennartalff@users.noreply.github.com>
2021-01-25 14:17:24 +01:00
Muesli_Reep
fe7908feb0
Simulator: Added remote host option (#15443)
* Added an option to the Simulator module to connect to remote Gazebo servers.

This is usefull when the Gazebo simulation is running on a different host than the PX4 instance.
For example, we are running instances of PX4 with a companion application in multiple Dockers, for swarming simulations, which then connect to a remote Gazebo server.

A "-t" input argument has been added and can be called from the rcS startup script as: simulator start -t "192.168.178.122" $simulator_tcp_port

* _tcp_remote_ipaddr defaults to nullptr. This way testing against nullptr it can be determined if localhost or remote host is desired by the user.
* Documented the option in usage().

Signed-off-by: Peter Blom <peterblom.mail@gmail.com>
2021-01-10 18:37:37 +01:00
Lorenz Meier
a34e57a4cc Simulator: Increase stack, publication affinity
This commit increases the send thread stack size and changes the thread affinity of the lockstep clocking topic. It also improves verbosity in case error states occur.
2020-12-31 01:05:30 +01:00
BazookaJoe1900
bd09be43c0
simulator mavlink actuator limits (#15861)
using unified way to decide which output should be scale as rotor
fixed case that actuator that wasn't set (value 0 "PWM") results output of -3
make default actuator mode to set all actuator to range of -1 to +1
cleanups
2020-11-26 14:42:31 +01:00
Thies Lennart Alff
82988b1912
airframes: added BlueROV2 (heavy configuration) airframe (#16004) 2020-10-28 11:07:31 +01:00
Daniel Agar
0f411d6820
Multi-EKF support (ekf2)
- ekf2 can now run in multi-instance mode (currently up to 9 instances)
    - in multi mode all estimates are published to alternate topics (eg estimator_attitude instead of vehicle_attitude)
 - new ekf2 selector runs in multi-instance mode to monitor and compare all instances, selecting a primary (eg N x estimator_attitude => vehicle_attitude)
 - sensors module accel & gyro inconsistency checks are now relative to the mean of all instances, rather than the current primary (when active ekf2 selector is responsible for choosing primary accel & gyro)
 - existing consumers of estimator_status must check estimator_selector_status to select current primary instance status
 - ekf2 single instance mode is still fully supported and the default

Co-authored-by: Paul Riseborough <gncsolns@gmail.com>
2020-10-27 10:56:11 -04:00
JaeyoungLim
46d79d3050
Remove exception of actuator scaling for airships (#16011)
This removes the exception handling of airship type vehicles when scaling actuators for the simulator
2020-10-22 10:37:03 +02:00
Daniel Agar
0a985638e3 simulator: add inject failure messages for logging 2020-10-10 20:03:50 -04:00
Daniel Agar
378cb155d6
simulator: support accel/gyro instances and stuck failure
- expand simulator to 3 accels and gyros
 - PX4Accelerometer/PX4Gyroscope switch to old param usage due to copy constructor issues with ModuleParams
2020-10-07 13:20:13 -04:00
Daniel Agar
fe6a1ce882
simulator: fix airspeed temperature
- HIL_SENSOR temperature is only being sent with barometer data
2020-09-28 12:56:56 -04:00
Jacob Dahl
a24488328f
Move GPS blending from ekf2 to sensors module
- new sensors work item that subscribes to N x sensor_gps and publishes vehicle_gps_position
 - blending is now configurable with SENS_GPS_MASK and SENS_GPS_TAU

Co-authored-by: Jacob Crabill <jacob@volans-i.com>
Co-authored-by: Jacob Dahl <dahl.jakejacob@gmail.com>
2020-09-25 23:28:31 -04:00
Julian Oes
9ed07a7873 simulator: fix temperature setting after rebase 2020-09-16 12:51:56 -04:00
Julian Oes
a37b839e27 simulator: add missing timestamp 2020-09-16 12:51:56 -04:00
Julian Oes
4d76ed34f3 simulator: update temperature in sync with baro
This fixes the case where the baro was not rejected if stuck because the
temperature still varied.
2020-09-16 12:51:56 -04:00
Julian Oes
c31246e13a mavsdk_tests: add test for stuck mag 2020-09-16 12:51:56 -04:00
Julian Oes
afcfa2fbe0 mavsdk_tests: check for stuck baro 2020-09-16 12:51:56 -04:00
Julian Oes
a9c4f269bd simulator: use failure injection to block GPS
This uses the new failure injection system using vehicle_commands
instead of specific parameters. For now it implements GPS only.
2020-09-16 12:51:56 -04:00
Daniel Agar
5017a7e33a
simulator: publish 2 instances of accel/baro/gyro/mag 2020-09-02 10:42:02 -04:00
Daniel Agar
97fc1db768 vehicle_local_position: rename yaw -> heading and add reset logic
- vehicle_global_position yaw removed (redundant)
2020-08-10 11:42:03 +02:00
Daniel Leonard Robinson
fa4818e467
vehicles: add new vehicle type: Airship (#14862)
Co-authored-by: Anton Erasmus <anton@flycloudline.com>
Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2020-08-10 08:52:51 +02:00
Daniel Agar
55808ed2f9
simulator: break out standalone battery simulator module
- this is a small step towards unifying SITL & HITL
2020-06-24 10:39:21 -04:00
Beat Küng
71dcf8d619 sitl: use lockstep components API
- avoids the need for ekf2_timestamp publications by q and lpe
- adds logger to the lockstep cycle and makes it poll on ekf2_timestamps
  or vehicle_attitude. This avoids dropped samples (required for replay).
2020-06-23 11:53:55 -04:00
TSC21
b3bbc351ca mavlink: DISTANCE_SENSOR: propagate signal_quality metric 2020-06-20 22:25:37 +01:00
Daniel Agar
b1e360e332 simulator: only use temperature if baro updated 2020-06-18 21:34:58 -04:00
TSC21
6add0fff7f add iris_dual_gps config and the possibility of testing GPS blending through simulation 2020-06-16 09:57:05 +01:00
JaeyoungLim
39b803a9dc
Remove gps noise multiplier parameter (#15108)
This removes the gps noise multiplier parameter that can be set on the firmware side
2020-06-15 22:32:32 +02:00
Daniel Agar
e34bdb4be9
move IMU integration out of drivers to sensors hub to handle accel/gyro sync
- IMU integration move from drivers (PX4Accelerometer/PX4Gyroscope) to sensors/vehicle_imu 
 - sensors: voted_sensors_update now consumes vehicle_imu
 - delete sensor_accel_integrated, sensor_gyro_integrated
 - merge sensor_accel_status/sensor_gyro_status into vehicle_imu_status
 - sensors status output minor improvements (ordering, whitespace, show selected sensor device id and instance)
2020-05-30 11:07:54 -04:00
TSC21
ad4d4287fa mavlink odometry: properly set the frame id fields 2020-05-28 15:45:13 +01:00
TSC21
562d57fee8 mavlink: fix odometry frames of reference setup 2020-05-28 15:45:13 +01:00
Matthias Grob
7b41ce4711 simulator: rename parameter variable according to convention 2020-05-25 11:04:24 +02:00
Matthias Grob
88c21337fa Make all battery sensor drivers report their sample interval
To make use of the time abstraction in the leaky integrator.
2020-05-25 11:04:24 +02:00
kritz
3897030c6f
Support odometry velocity in body and local frame (#14703)
* Update submodule ECL

* increase lower bound on EVV param
2020-05-13 12:43:02 +02:00
Daniel Agar
7207301e56 simulator: temperature only updated with baro 2020-05-06 15:34:21 -04:00
kamilritz
960ad0693f fix format 2020-05-03 18:25:00 +01:00
kamilritz
9137813472 Received quaternion represents body to world 2020-05-03 18:25:00 +01:00
Mohammed Kabir
5ffe88672e vehicle_odometry: add timestamp_sample field for latency monitoring 2020-04-28 13:58:43 -04:00
Julian Oes
f650b91718 battery: check source param inside battery lib
This moves the handling of the BAT%d_SOURCE param inside of the battery
library. Users of the library now pass the source instead of the flag
whether to publish. The battery library then checks if the source is
selected using the param and publishes accordingly.

Since we removed the strange system_source flag, we now need to look at
all batteries in commander.
For current estimation - I think - it makes sense to sum them up.
2020-04-06 15:56:54 +02:00
Julian Oes
795e000c2b simulator: remove redundant semicolon 2020-03-18 17:57:41 +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
TSC21
bcb6056a12 simulator: make sensor update rate dependent of the HIL_SENSOR bitmask 2020-02-28 10:59:50 +00:00
Martina Rivizzigno
abe33af5b3 map mavlink orientation enum to uorb distance_sensor orientation 2020-02-26 07:27:09 +01:00
Julian Oes
20276d4ff8 simulator: improve misleading TCP message
Proposed first by @lovettchris.
2020-02-20 12:10:43 +01:00
Julian Oes
e46635b1de simulator: remove strange disarmed PWM
Before that we would send -0.1 instead of just 0.0.

First proposed by @lovettchris.
2020-02-20 12:10:43 +01:00
Julian Oes
a006d82abf simulator: add flag to indicate lockstep
This depends on:
https://github.com/mavlink/mavlink/pull/1311

First proposed by @lovettchris.
2020-02-20 12:10:43 +01:00
Nuno Marques
7cafbc824e
simulator: add support for multi-distance_sensor instances (#14143)
* simulator: add support for multi-distance_sensor instances

* update submodule Tools/sitl_gazebo

* sitl_gazebo: add updated iris_obs_avoid; simulator: cleanup distance_sensor topic init

* update submodule Tools/sitl_gazebo

* simulator: delete _dist_pubs uORB::PublicationMulti<distance_sensor_s> in simulator destructor
2020-02-14 11:32:28 +01:00
Lorenz Meier
7e39ef8b8f MAVLink sim: Start faster
This reduces test times across the board.
2020-01-28 08:59:25 +01:00
Daniel Agar
4fef3dd7d5 simulated sensors minor cleanup
- mavlink receiver use PX4Accelerometer/PX4Gyroscope for hil_sensor and hil_state_quaternion
 - simulator module remove unnecessary fake scaling
 - sih module remove unnecessary fake scaling
2020-01-24 12:50:22 -05:00