Commit Graph

67 Commits

Author SHA1 Message Date
Matthias Grob 83246c84cf Switch manual_control_setpoint.z scaling from [0,1] to [-1,1]
To be consistent with all other axes of stick input and avoid future
rescaling confusion.

Note: for the MAVLink message 69 MANUAL_CONTROL it's using the full range
according to the message specs now [-1000,1000].
2022-11-28 19:25:55 +01:00
Daniel Agar 15223009d2 combine sensor_gps + vehicle_gps_position msgs (keeping separate topics) 2022-07-07 10:24:11 -04:00
Daniel Agar d5839e2dd5 optical flow sensor pipeline overhaul
- all sources of optical flow publish sensor_optical_flow
 - sensor_optical_flow is aggregated by the sensors module, aligned with integrated gyro, and published as vehicle_optical_flow

Co-authored-by: alexklimaj <alex@arkelectron.com>
2022-06-20 20:56:56 -04:00
Matthias Grob 10ceea2fe6 geo: refactoring on comments and usage 2021-12-06 14:30:14 +01:00
Thomas Debrunner 8db7a6225b geo: Moved the map_projection_* functions and state into a self-contained C++ class 2021-12-06 14:30:14 +01:00
Daniel Agar 883624d915 lib/geo: move from ecl 2021-07-15 10:38:24 -04:00
Beat Küng 9dd6bef7f9 autostart scripts: remove SYS_PARAM_VER
With the airframe defaults there's no use for that anymore
2021-03-31 20:12:05 -04:00
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 967d35a6b6 rate limit most parameter_update subscriptions
- parameter updates can be quite expensive because they trigger nearly all modules to reload all of their parameters immediately
 - limit modules from updating faster than once per second
2021-01-10 21:09:15 -05:00
Daniel Agar 98cff94702 px4_work_queue: directly support SITL lockstep
- the purpose is to ensure that every WorkItem (and WorkItems scheduled
by WorkItems) is allowed to run to completion every step
 - per workqueue register a lockstep component whenever a work item is
added (if not already registered)
 - once the work queue is empty unregister component
2021-01-04 09:38:05 +01:00
Daniel Agar 9ccc1db649 estimator_status split out estimator_states 2020-09-04 10:48:26 -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
Julian Oes b53bd2b77f LPE: make compatible with lockstep simulation
This fixes SITL with lockstep when using LPE and q estimator.

The required changes are:
- Publish ekf2_timestamps because simulator_mavlink expects them.
- Run LPE at 250 Hz instead of 80 Hz in order to keep everything in
  lockstep running at 250 Hz.
2020-02-26 15:46:58 +01:00
kamilritz b73c80428e ECL: Clean velPos logging, deprecate ekf2_innovations msg 2019-12-05 11:29:29 +01:00
Daniel Agar f271efaf62 local_position_estimator: move to WQ and delete unused SubscriptionPollable 2019-11-22 16:02:54 -05: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 279df3b1b8 clang-tidy: partially fix hicpp-use-equals-delete 2019-10-27 19:19:07 -04:00
Daniel Agar 2ad12d7977 sensors: create vehicle_angular_velocity module (#12596)
* split out filtered sensor_gyro aggregation from mc_att_control and move to wq:rate_ctrl
2019-08-06 12:55:25 -04:00
Daniel Agar 79d4c09d59 uORB::Publication simplify and cleanup
- base class is now template
 - drop linked list
 - virtualization no longer required
2019-06-12 08:48:19 -04:00
Daniel Agar 2c63e335e9 uORB::Subscription subscribe directly to uORB device node object 2019-06-03 17:06:21 -04:00
bresch f08c00f324 Parameter update - Rename variables in modules/fw_pos_control
using parameter_update.py script
2019-04-03 15:38:50 +02:00
Nuno Marques cfd1be584e Feature: VIO: add ODOMETRY stream (#11084)
* mavlink_messages: remove LOCAL_POSITION_NED_COV stream

* mavlink_messages.cpp: add ODOMETRY stream

* add MAV_ODOM_LP parameter to activate odometry loopback

* EKF2: add vehicle_odometry publisher

* Replace VISION_POSITION_ESTIMATE loopback with ODOMETRY

* LPE: add vehicle_odometry publisher

* set vehicle_odometry local_frame field

* mavlink_messages.cpp: ODOMETRY frame_id depends on MAV_ODOM_LP
2018-12-21 12:54:04 -05:00
TSC21 8325724079 general fixes on VIO data access 2018-09-18 09:52:33 +02:00
TSC21 048ff56890 lpe: add vehicle_odometry and data validation handlers; improve inout interface 2018-09-18 09:52:33 +02:00
Daniel Agar 3b5b12e1d1 move baro and magnetometer data out of sensor_combined 2018-04-11 23:26:58 -04:00
Daniel Agar 29b3950747 move geo and geo_lookup to PX4/ecl 2018-03-26 23:16:55 -04:00
Beat Küng 7ee464c264 LPE: refactor to use ModuleParams 2018-03-13 17:35:15 +01:00
Beat Küng 9fb9b2916a LPE: use default & delete keywords for constructors & destructors 2018-03-13 17:35:15 +01:00
Nicolas de Palezieux dd1d0adfef LPE : add support for precision landing measurement fusion 2018-01-15 10:27:23 +01:00
TSC21 ec1c37e1af modules: lpe: push sensor status update to object; prioritize lidar readings over sonar 2018-01-14 22:52:41 +01:00
TSC21 b512759336 modules: lpe: refactor fusion bitmask 2018-01-14 22:52:41 +01:00
stmoon 28a5287a91 add FUSE_MOCAP, FUSE_LIDAR, and FUSE_SONAR to select more senors 2018-01-14 12:55:47 +01:00
Paul Riseborough b5be990109 lpe: fix incorrect setting of local_position.z_global 2017-12-07 08:20:16 +00:00
TSC21 483f0d55e0 lpe: style fix 2017-11-03 23:45:43 +01:00
TSC21 051822eee1 lpe: remove unneeded subscriber to manual_control_setpoint 2017-11-03 23:45:43 +01:00
TSC21 e6efb5ec0a lpe: update _sensorTimeout and _sensorFault to handle support of more sensors 2017-11-03 23:45:43 +01:00
ChristophTobler 9b5de23553 add ref_timestamp (time when origin was set) to lpe 2017-06-12 09:39:41 +05:30
Kabir Mohammed e63747ec2f lpe : changes to allow hybrid GPS-denied navigation 2017-02-15 21:48:33 +01:00
Kabir Mohammed 8eaddeee0a lpe : move to new vision topic 2017-02-15 21:48:33 +01:00
James Goppert 6ff85fb927 LPE land bug fix and switch to fusion bit mask. 2016-12-21 08:43:18 +01:00
James Goppert 068ef591ab Added fake landing xy velocity measurement to lpe. (#5820)
Flight tested and is working.
2016-11-09 19:40:25 -05:00
Lorenz Meier 13833e5fd6 LPE: Use euler angles derived from quaternion 2016-10-18 20:46:08 +02:00
James Goppert 3ffff212e1 Added landed agl correction for lpe. 2016-10-14 07:00:13 -05:00
James Goppert cf658638f4 LPE flow improvements. 2016-10-12 23:05:53 -05:00
James Goppert 7c2798269c Added vision delay compensation to LPE. (#5585) 2016-10-03 02:28:46 -04:00
James Goppert fe40e9cfae LPE vision estimation fixes. (#5505) 2016-10-01 09:02:12 -04:00
James Goppert 6b08e8ce1f Improvements to lpe for flow and gps. (#5401) 2016-08-27 23:50:24 -04:00
James Goppert 4499006744 Condition LPE covariance to avoid blowing up in edge cases. (#5377)
Merging this as it is definitely more robust than what we have now.
2016-08-27 21:18:27 -04:00
James Goppert a4ef364f80 Added innovation logging to LPE. (#5124) 2016-07-22 19:19:30 -04:00
James Goppert 9fcf121380 LPE: Don't use home as local origin (#5067) 2016-07-17 10:16:17 -04:00