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
20c2fe6d28
estimator messages add explicit timestamp_sample
...
- timestamp is uORB publication metadata
- this allows us to see what the system saw at publication time plus the latency in estimation
2020-09-04 10:48:26 -04:00
Daniel Agar
1191a0efe6
Update ecl to geo_lookup, SymPy covariance, bugfixes
...
Co-authored-by: Matthias Grob <maetugr@gmail.com >
2020-08-02 12:26:48 -04:00
Daniel Agar
fa44cd5cd5
px4_work_queue: rename navigation_and_controllers -> nav_and_controllers
...
- keep the thread within the current NuttX max length
2020-07-14 09:48:47 -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
Mohammed Kabir
5ffe88672e
vehicle_odometry: add timestamp_sample field for latency monitoring
2020-04-28 13:58:43 -04:00
Daniel Agar
326d8efc16
move attitude controllers to new wq:attitude_ctrl
2020-04-27 21:34:35 -04: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
Julian Oes
581b92dd3f
attitude_estimator_q: enable lockstep without LPE
...
When lockstep is enabled and LPE is not running, the
attitude_estimator_q needs to publish ekf2_timestamps in order to signal
to the simulator module that it has fully run.
This essentially fixes flying in lockstep when SYS_MC_EST_GROUP is 3.
2020-03-03 09:31:52 +01:00
Daniel Agar
21a8d7db7f
WorkItem modules: Run() shouldn't be public
2020-01-22 12:03:03 -05:00
Daniel Agar
db69ff0a6e
attitude_estimator_q: move to WQ, module base and module params
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
c8e59c4e39
parameter_update use uORB::Subscription consistently
2019-09-29 10:49:03 -04:00
Julian Kent
2d4ecab3b0
Remove unsafe access to .data() and _data in Matrix
2019-09-18 22:01:36 -04:00
Daniel Agar
78ef8aab2d
STACK_MAIN increase default 1024 -> 2048
2019-08-30 19:11:51 -07: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
c165a6f71b
attitude_estimator_q: move most orb subscriptions to uORB::Subscription
2019-06-29 15:51:49 -04:00
ArkadiuszNiemiec
556ac5547b
attitude_estimator_q: fix newline at end of file
2019-02-13 08:51:41 -05:00
ArkadiuszNiemiec
d93c3da172
q_estimator: correctly handle loss of external yaw estimation
2019-02-13 08:51:41 -05:00
ArkadiuszNiemiec
6257037924
Revert "q_estimator: correctly handle loss of external yaw estimation"
2019-02-13 08:51:41 -05:00
Arkadiusz Niemiec
075c836dfb
q_estimator: correctly handle loss of external yaw estimation
2019-02-13 08:51:41 -05:00
Daniel Agar
2ffb49b734
delete px4_includes.h header and update boards/ to use syslog
2019-01-23 18:25:18 -05:00
Daniel Agar
60f2a92e3d
replace <cfloat> with <float.h>
...
- <cfloat> isn't available in the NuttX c++ library
2019-01-06 19:20:57 -05:00
Julian Oes
5b9dea5604
Replacing usleep with px4_usleep
...
This is a step towards isolating time from the system.
2018-12-22 10:32:18 +01:00
TSC21
20b3adebf4
attitude_estimator_q_main: remove epsilon comparison; fix logic
2018-11-21 12:21:16 +01:00
TSC21
cc73f214d1
add covariance matrices index aliases
2018-09-18 09:52:33 +02:00
TSC21
8325724079
general fixes on VIO data access
2018-09-18 09:52:33 +02:00
TSC21
5865a40bf3
attitude_estimator_q: add attitude data validation check
2018-09-18 09:52:33 +02:00
TSC21
6b2fb54963
attitude_estimator_q: use vehicle_visual_odometry topic to get the heading
2018-09-18 09:52:33 +02:00
TSC21
440ebfde02
remove att_pos_mocap uORB topics
2018-09-18 09:52:33 +02:00
Beat Küng
f4fef5efc8
attitude_estimator_q: cleanup output, remove unnecessary topic init
2018-07-23 22:32:17 +02:00
Daniel Agar
b1d3bb0403
stop ignoring Wmissing-field-initializers and fix ( #9912 )
2018-07-22 12:45:52 -04:00
Daniel Agar
d0bde9ab2a
replace geo _wrap_pi with matrix::wrap_pi
2018-06-12 09:00:52 +02:00
Daniel Agar
222a91c6be
mathlib delete Matrix, Quaternion, Vector
2018-05-23 17:27:09 -04:00
Beat Küng
d99b72ea41
attitude_estimator_q: set mag weight to 0 if SYS_HAS_MAG is not set
2018-05-20 11:54:17 +02:00
Beat Küng
12436c1d64
fix attitude_estimator_q: swap quaternion multiplication & fix from_dcm init
...
Quaterion::from_dcm does not set *this, but just returns the resulting
Quaterion.
2018-05-11 09:34:26 +02:00
Daniel Agar
421b01e677
attitude_estimator_q move to matrix lib
2018-05-11 09:34:26 +02:00
Beat Küng
9e24875131
attitude_estimator_q: fuse accel data only if close to 1g if GPS velocity not used
...
This reduces attitude drift on vehicles w/o GPS. The default behavior is
unchanged, to use it, disable ATT_ACC_COMP.
2018-05-11 09:34:26 +02:00
Beat Küng
f77b8d9aa8
attitude_estimator_q: remove double initialization
2018-05-11 09:34:26 +02:00
Beat Küng
54fac26327
attitude_estimator_q: allow it to be used on boards w/o a mag
...
By setting ATT_W_MAG to 0
2018-05-11 09:34:26 +02:00
Beat Küng
13ab5ed0d0
px4_main_t: fix method declaration throughout the code base
...
px4_main_t is defined as:
typedef int (*px4_main_t)(int argc, char *argv[]);
which matches with the definition in NuttX, given to task_create
2018-05-09 07:59:46 +02:00
Daniel Agar
2e92484325
ecl update to latest master with separate libraries ( #9406 )
2018-05-03 23:48:09 -04:00
Daniel Agar
ea3acb7121
cmake remove circular linking and reorganize
...
- px4_add_module now requires MAIN
- px4_add_library doesn't automatically link
2018-04-29 21:48:54 -04: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
Daniel Agar
c47cd972a8
attitude_estimator_q remove unused ( #8106 )
2017-10-13 00:54:52 -04:00
Daniel Agar
b4755297ec
delete control_state and cleanup vehicle_attitude ( #7882 )
2017-09-21 16:24:53 -04:00
Daniel Agar
70a485826d
attitude_estimator_q remove unused and small publish cleanup
2017-06-08 22:03:08 -04:00
Daniel Agar
4b8bedef48
avoid double promotions
2017-04-01 20:19:28 +02:00