Matthias Grob
6e86862b6a
boards: unify comments for voltage deviders
2024-03-27 17:15:39 +01:00
Matthias Grob
4c5f084445
Battery parameters: clarify empty, full voltage description
2024-03-27 17:15:39 +01:00
Matthias Grob
b5f6699f2e
mixer_module: send a last sample out after all outputs were disabled
...
This matters for PWM when the last output gets disabled on either FMU or IO
it would just keep on running.
Also when rebooting with a parameters reset or new airframe with no mapped outputs
it would previously keep outputting PWM with the disarmed value of the new airframe
e.g. 1000us which is a safety hazard because servos could break the physical limit of the
model or miscalibrated ESCs spinning motors.
2024-03-25 19:21:54 +01:00
Matthias Grob
1096384a38
px4iofirmware: don't switch to disarmed or failsafe value on disabled PWM outputs
...
If the output is set to 0 then the FMU had this channel disabled/no function mapped
to it. In that case we do not want to suddenly start outputing failsafe or disarmed
signals.
2024-03-25 19:21:54 +01:00
Matthias Grob
999a71c4dd
px4io: don't output on disabled PWM pins
...
Same logic as on the FMU PWM updateOutputs() in PWMOut.cpp
2024-03-25 19:21:54 +01:00
Matthias Grob
1bd65f8beb
mantis-edu: remove duplicate RC define
2024-03-04 13:30:28 -05:00
Matthias Grob
2491548a0f
Jenkinsfile: correct typo, missing comma
...
Introduced in
2c81c9fdea
2024-02-27 13:32:46 +01:00
Matthias Grob
4e3bd4f196
MAVSDK tests: shorten Position, Altitude control flights
...
We get more than 5 meter away much quicker.
2024-02-22 15:29:13 +01:00
Matthias Grob
0cc4b41a51
MAVSDK test: Fix fly_forward_in_altctl() timing
2024-02-22 15:29:13 +01:00
Matthias Grob
f602228048
MAVSDK test: increase offboard position threshold
...
This is a workaround to hotfix CI but the root cause is #22792
(MAVSDK test failing after EKF change, accelerometer simulation issues not learned anymore?)
2024-02-22 15:29:13 +01:00
Matthias Grob
51fe4351c6
StickTiltXY: Fix too high maximum tilt problem
...
And add unit tests.
2024-02-20 14:27:49 +01:00
Matthias Grob
84a7d42566
rover build: correct differential drive kconfig name
2024-02-15 10:08:51 -05:00
Matthias Grob
f26df8492f
Update GPS drivers to contain the astyle fix
2024-02-15 15:23:06 +01:00
Matthias Grob
cb03835124
RTL: use dest.yaw instead of a separate heading_sp
2024-02-13 10:34:57 +01:00
Matthias Grob
1998f54ea6
DifferentialDrive: move spoolup consideration to the main module
2024-02-12 14:29:10 +01:00
Matthias Grob
396ef222ee
DifferentialDrive: Rework structure
...
3 Components Guidance - Control - Allocation
with their corresponding uORB interface.
2024-02-12 14:29:10 +01:00
Matthias Grob
f85144ca76
DifferentialDrive: remove trailing zeros from prameter metadata
2024-02-12 14:29:10 +01:00
Matthias Grob
b54b4f7dce
Rename module differential_drive_control -> differential_drive
2024-02-12 14:29:10 +01:00
Matthias Grob
fc90e235f1
Rename differential drive setpoint topics
2024-02-12 14:29:10 +01:00
Matthias Grob
f7baeae1a0
DifferentialDriveControl: only save required parts of uORB message
2024-02-12 14:29:10 +01:00
Matthias Grob
b355c16141
Lanbao driver: correct rangefinder type to IR
2024-02-09 06:19:12 +01:00
Matthias Grob
7fdb5ef3cb
PWMOut/px4io: correct automatic servo/motor configuration messages
2024-02-09 06:19:12 +01:00
Matthias Grob
97cb933cff
FLightTaskAuto: limit nudging speed based on distance sensor
2024-02-07 11:23:55 +01:00
Matthias Grob
3e183feb49
matrix: Slice templated on const and non-const matrix cases
...
to avoid casting const to non-const with
`const_cast<Matrix<Type, M, N>*>(data)`
2024-01-30 11:46:33 -05:00
Matthias Grob
88102d82db
matrix: return value simplifications
2024-01-30 11:46:33 -05:00
Matthias Grob
44a8c553fb
AxisAngle use Vector3<T> instead of Vector<T, 3>
2024-01-30 11:46:33 -05:00
Matthias Grob
ea4fdfd637
matrix: fix internal include chain
2024-01-30 11:46:33 -05:00
Matthias Grob
9156c5c065
ROMFS: remove single trailing zeros
2024-01-09 10:27:39 +01:00
Matthias Grob
b70b19b7eb
ROMFS: keep consistent quad X geometry but in each airframe separately
2024-01-09 10:27:39 +01:00
Matthias Grob
09fa712d37
ROMFS: remove trailing zeroes
2024-01-09 10:27:39 +01:00
Matthias Grob
40f2fc4e77
ROMFS: remove duplicate uuv configuration
2024-01-09 10:27:39 +01:00
Matthias Grob
4b86e174a3
ROMFS: Fix quad + geometry
2024-01-09 10:27:39 +01:00
Matthias Grob
d872ef87da
differential_drive_control: don't build by default
...
also add dependency on control allocation parameter CA_R_REV
2023-12-21 16:27:53 +01:00
Matthias Grob
3de5c609a4
Differential Rover: PR fixes
2023-12-21 16:27:53 +01:00
Matthias Grob
bcb2b1ad40
matrix: fix slice to slice assignment to do deep copy
...
To fix usage of a.xy() = b.xy() which should copy
the first two elements over into a and not act on a copy of a.
2023-12-21 11:42:08 +01:00
Matthias Grob
8da106df6a
px_process_events: fix no base path being a list
...
This make `make extract_events` fail in CI that only runs on the
main branch and hence I wasn't aware of.
2023-12-19 10:04:02 +01:00
Matthias Grob and Beat Küng
6ffc5a9eae
events: pass relative paths plus base path to source parser script ( #22551 )
...
* events: pass relative paths plus base path to source parser script
to work around maximum Makefile command lenght limits.
* events: correct cmake comment typo
Co-authored-by: Beat Küng <beat-kueng@gmx.net >
---------
Co-authored-by: Beat Küng <beat-kueng@gmx.net >
2023-12-18 09:33:53 +01:00
Matthias Grob
75bb25a44c
test_vtol_figure_eight: fix altitude check
...
wait_until_altitude() checks for absolute altitude being
close so checking for 1m below the setpoint can fail
if the speedup results in no sample inside the altitude
window being checked.
Ideally the test could check if the takeoff is done directly
instead of comparing altitudes in the first place.
2023-12-12 20:22:23 +01:00
Matthias Grob
ece60b6165
msp_osd: reuse existing mode name conversion
...
This saves a bit of flash, keeps the mode names up to date and
works like expected.
2023-12-11 17:29:45 +01:00
Matthias Grob
ebae9ae3d7
FlightTaskManualAccelerationSlow: MC_ prefix for parameter names
...
As discussed in the maintainer call we should adhere to the
parameter naming scheme that makes it clear what vehicle type the
configuration is good for.
2023-12-08 21:17:59 +01:00
Matthias Grob
d03030e881
mavlink_receiver: ifdef guard for velocity limits
...
Since this message is defined in development.xml and
not yet common.xml and some targets use
common.xml and the builds then failed.
2023-12-08 21:17:59 +01:00
Matthias Grob
ca6db94e39
Velocity limit: remove duplicate message and if(true)
2023-12-08 21:17:59 +01:00
Matthias Grob
da24811ce1
SickAccelerationXY: fix comment typo brak{e}ing
2023-12-08 21:17:59 +01:00
Matthias Grob
54ce9813c8
FlightModeManager: Add task for position slow mode
2023-12-08 21:17:59 +01:00
Matthias Grob
ef0926d64b
Commander: add position slow mode
2023-12-08 21:17:59 +01:00
Matthias Grob
dbbf585adb
StickYaw: yaw rate limit interface
2023-12-08 21:17:59 +01:00
Matthias Grob
84220407ea
FlightTaskManualAltitude: vertical velocity limit interface
2023-12-08 21:17:59 +01:00
Matthias Grob
bb617f6c4d
FlightTaskManualAcceleration: horizontal velocity limit interface
2023-12-08 21:17:59 +01:00
Matthias Grob
77c06a9f9e
Sticks: Provide auxiliary analog values from manual_control_setpoint
2023-12-08 21:17:59 +01:00
Matthias Grob
df41bc3d26
StickAccelerationXY: make sure speeds below 1m/s are exactly reached
...
by only applying the sqrt linear drag when brakeing.
It was originally not done this way to avoid discontinuities and
the exact speed bewlo 1m/s didn't matter. With the position slow mode
the exact slow speeds now matter. And the discontinuities are avoided by
reusing the brake boost filter.
2023-12-08 21:17:59 +01:00
Matthias Grob
e35380d6ae
mixer_module_tests: cover output_limit_calc_single()
2023-12-07 21:35:55 -05:00
Matthias Grob
0a78690356
mixer_module: correct output_limit_calc_single calculation
2023-12-07 21:35:55 -05:00
Matthias Grob
d259386987
arch: python requirements fix, jdk comes with ant
2023-12-05 12:06:56 -05:00
Matthias Grob
14c4257a59
ActuatorEffectivenessRotors: Use modern parameter interface for rotor count
...
This lead to a compiler warning with arm-none-eabi-gcc 12+
about the variable count potentially being a dangling pointer.
2023-12-05 12:06:56 -05:00
Matthias Grob
b71c6fb6ea
arch: update to use pacman's arm-none-eabi
...
which is currently GCC 12.2
2023-12-05 12:06:56 -05:00
Matthias Grob
adb22f1407
spi: put brackets such that GCC12 considers it a pointer for sure
...
otherwise you get the warning/error px4_spi_buses can never be NULL
2023-12-05 12:06:56 -05:00
Matthias Grob
0c97b0f4b0
ubuntu: usermod -aG instead of -a -G
...
It's well documented everywhere that this command does and
it's commonly used with exactly these two parameters together
and in that order.
2023-12-05 12:06:56 -05:00
Matthias Grob
1c25d65a1e
Add missing newline at the end of files
2023-12-01 13:11:00 -05:00
Matthias Grob
4c0b6dbe86
Remove trailing whitespaces and trailing duplicate newlines
2023-12-01 13:11:00 -05:00
Matthias Grob
d8d2213cab
mavlink streams: add SYSTEM_TIME to onboard low bandwidth
...
It's required with 2Hz by some MAVLink enabled payloads.
2023-12-01 11:02:37 -05:00
Matthias Grob
9184a8f4ef
mavlink streams: add CAMERA_IMAGE_CAPTURED to onboard low bandwidth
2023-12-01 11:02:37 -05:00
Matthias Grob
3ceb932b7c
mavlink streams: increase RC_CHANNELS rate for onboard low bandwidth
...
There are MAVLink enabled gimbals that directly consume RC channel data.
The gimbal controls stutter with this profile when the rate is too low.
2023-12-01 11:02:37 -05:00
Matthias Grob
938be68c69
mavlink streams: add gimbal orientation feedback to normal stream
...
It only publishes when the information is available on uORB
and is useful for the groundstation to show the gimbal's status.
2023-12-01 11:02:37 -05:00
Matthias Grob
d85aaf4dfd
v5x/v6x: save flash by not compiling analog OSD by default
2023-11-30 17:16:02 +01:00
Matthias Grob
82c422b818
fmu-v5x: don't build roboclaw driver by default
...
it's not used that often and for rovers only.
2023-11-30 17:16:02 +01:00
Matthias Grob
8bb20db7da
GotoControl: Save flash
2023-11-30 17:16:02 +01:00
Matthias Grob
7b4712cb29
sensor_simulator: initialize VelocitySmoothing with desired limits
2023-11-30 17:16:02 +01:00
Matthias Grob
d014d76ca7
HeadingSmoothing: set correct maximum heading
...
The velocity smoothing library constrains the maximum vellocity.
I set the default constraint to 0 to find these exact issues.
The heading smoothing did not initialize the maximum velocity
which in this use case is the maximum heading.
So heading was always constrained to 0 -> north until this change.
2023-11-30 17:16:02 +01:00
Matthias Grob
5a2efc1cb2
GotoControl: remove dependency on PositionControl
...
It was there only to have the empty trajectory setpoint defined.
I rather redefine it for the single use.
2023-11-30 17:16:02 +01:00
Matthias Grob
c853acc2ff
GotoControl: also provide maximum velocity to position smoother
2023-11-30 17:16:02 +01:00
Matthias Grob
d1e8bdbd16
GotoControl: rename yaw rate acceleration parameter
...
such that not only one letter differs to MPC_YAWRAUTO_MAX
2023-11-30 17:16:02 +01:00
Matthias Grob
dc7f9165d1
logged_topics: fix goto_setpoint name
2023-11-30 17:16:02 +01:00
Matthias Grob
3de6fee07f
GotoControl: make interface over uORB
2023-11-30 17:16:02 +01:00
Matthias Grob
96a81c22e3
GotoControl: simplify configuration wrapping
2023-11-30 17:16:02 +01:00
Matthias Grob
439d6c61e0
Revise GotoControl
2023-11-30 17:16:02 +01:00
Matthias Grob
14b8afe972
PositionSmoothingTest: remove duplicate vector comparison
2023-11-30 17:16:02 +01:00
Matthias Grob
591845bb41
HeadingSmoothing: rename, simplify, add cpp
2023-11-30 17:16:02 +01:00
Matthias Grob
be05b3e8d7
helper_functions: include defines for M_PI_PRECISE
...
The defintion of the custom symbol M_PI_PRECISE
was not included in one of the only places it's used.
Looks like a mistake that happened in
34c852255e
possibly because a lot of things are included
almost everywhere and if the include order
ligns up there are no compile errors.
2023-11-30 17:16:02 +01:00
Matthias Grob
efb325d25d
motion_planning: remove deprecated separate test
...
It's functionality probably broke already in
befbb6b106c4c04933222ecb205f001fd77fa85f
and the tests are now covered by
VelocitySmoothingTest.cpp
2023-11-30 17:16:02 +01:00
Matthias Grob
53076b9863
PositionSmoothing: guard division by zero
...
Note that the unit test also passes without
thechange. But the VelocitySmoothing's
local_time would get NAN. This would leads to
wrong trajectory calculations.
2023-11-30 17:16:02 +01:00
Matthias Grob
11cca72ef1
VelocitySmoothing: fix division by zero cases
...
Problem: Zero maximum jerk and/or zero
direction would lead to divisions by zero in
various cases depending on the exact configuration and code path.
Solution: There was already one check for the
direction being zero in one path and I
summarized to check in both
updateDurations...() functions the product
of direction * max_jerk to not be zero
because that's exactly the value calculations
devide by.
2023-11-30 17:16:02 +01:00
Matthias Grob
6f295d91d1
Revert "motion_planning: sanitize inputs to position and velocity smoothing libs"
...
This reverts commit 2951c846ee07e52c2e3d97ea4629185016f3a011.
2023-11-30 17:16:02 +01:00
Matthias Grob
14785eeb47
GotoSetpoint message: reorder flag directly before value
2023-11-30 17:16:02 +01:00
Matthias Grob
f53edfa440
Roboclaw: major cleanup
2023-11-28 16:30:17 +01:00
Matthias Grob
c27181a154
Rename RoboClaw -> Roboclaw
...
The manufacturer uses both naming schemes, RoboClaw more than Roboclaw
but it's always one word and hence I think it's more consistent to name
it the latter.
2023-11-28 16:30:17 +01:00
Matthias Grob
87683aa790
Roboclaw: move parameters to module.yaml
2023-11-28 16:30:17 +01:00
Matthias Grob
8f4ce28e84
RoboClaw: declutter, make it compile again
2023-11-28 16:30:17 +01:00
Matthias Grob
5b4031356e
RoboClaw: fix style
2023-11-28 16:30:17 +01:00
Matthias Grob
a857df88e4
Driving possible
2023-11-28 16:30:17 +01:00
Matthias Grob
8271faedeb
control_mode: reorder modes according to controller cascade
2023-11-23 20:35:48 +01:00
Matthias Grob
6e31638817
control_mode: add allocation to orbit mode to not crash
2023-11-23 20:35:48 +01:00
Matthias Grob
9bed8f48c7
Remove LNDMC_ALT_MAX
...
This should be replaced with the maximum geofence
altitude GF_MAX_VER_DIST. I'm not aware anyone is using
this functionality as is.
2023-11-20 14:52:35 +01:00
Matthias Grob
ead16d0e6c
Commander: add parameter to disallow disarming in manual thrust modes
2023-11-17 09:53:56 +01:00
Matthias Grob
78987f6016
ManualControl: introduce stick gesture for killing
2023-11-17 09:53:56 +01:00
Matthias Grob
0dcecf0666
FlightModeManager: avoid internal flight task running concurrently with external mode
2023-11-15 13:18:58 +01:00
Matthias Grob
9d455d5f1f
ThrowLaunch: move into separate class
2023-11-13 11:57:19 +01:00
Matthias Grob
4485c7aa11
PositionSmoothing: fix corner altitude bug
...
During a round corner the L1 distance calculation
was only done in 2D and the z-axis coordinate
was directly coming from the next waypoint.
This lead to an unpredictable altitude profile
between two waypoints. Sometimes almost all
altitude difference was already covered during
the turn instead of going diagonally.
2023-11-10 10:02:20 +01:00
Matthias Grob
c53e0c4799
cpuResourceCheck: use hysteresis class
2023-11-07 11:19:28 +01:00
Matthias Grob
ae888b73d0
battery: report over voltage
2023-11-06 18:17:28 +01:00
Matthias Grob
12b291b82f
px4_log: comment typo alway{s}
2023-10-25 16:43:06 -04:00