- vehicle_angular_velocity: ESC RPM notch filters minimize filter resets
- only allow one filter init per axis per cycle
- "park" ESC notch filters at min frequency instead of full disable
- relax timeout before a notch filter is disabled
- add new parameter IMU_GYRO_DNF_MIN for configuring the minimum notch filter frequency
- avoid the possibility of unsigned underflow from subtracting two HRT timestamps (uint64_t)
- most of these aren't problematic, but people tend to replicate the pattern, so it's better to be safe
- likely wasn't a problem when people were using hrt_absolute_time() in place, but if using an existing timestamp there's the possibility it's older than a more recent topic update
- update all msgs to be directly compatible with ROS2
- microdds_client improvements
- timesync
- reduced code size
- add to most default builds if we can afford it
- lots of other little changes
- purge fastrtps (I tried to save this multiple times, but kept hitting roadblocks)
- working towards keeping all height source (baro/ev/gnss/rng) handling as consistent as possible, possibly refactoring these out into separate classes later
This fixes a bug where by accident the vtol_status was considered instead of the
vehicle_status, preventing it from running on planes.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
This commit fixes feedforward acceleration setpoints for fixedwing offboard position control.
Previously when acceleration feedforward inputs were sent, negative curvature accelerations were not being computed properly
ekf2: merge mag 3d innov var, Hx and Kx computation to reduce flash
Slightly less code produced, almost no performance change
ekf2_mag3D: do not pre-compute Kalman gains
The vector of Kalaman gains is not too expensive to compute using
matrix-vector multiplication. Pre-generating it using CSE takes a lot of
flash space for little benefit.
- this is a precaution to eliminate the possibility of getting stuck in
a loop trying to keep up with a high rate publication that could be
coming from a higher priority task
- in the worst case scenario printing the error message can take longer than the next gyro publication, so combined with an infinite loop you could get stuck here
The previous default for yaw and roll was 0.2, which is very low, and for wheel was
1, which is very high. A value of 0.4 makes sense to me for all axes.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
I guess this was a left over from times where the controller had a completely different structure,
a value of 50 is well outside of reasonable range (50x the default).
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
The previous max of 10 for the FF gains seems a bit very high for me, well outside
of reasonable reange.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>