28261 Commits

Author SHA1 Message Date
JaeyoungLim
75ee48d8bb WIP direct actuator control 2025-07-08 14:13:54 +09:00
JaeyoungLim
344babfe5a Handle offboard
Add fw indi lib

F

WIP Unit tests

Tune rate controllers

Publish vehicle attitude setpoints

Separate rate loop

F

F

Publish attitude setpoints

Minor cleanup
2025-07-08 14:00:40 +09:00
JaeyoungLim
3e63aec18d WIP 2025-07-07 15:10:33 +09:00
JaeyoungLim
c49fea2a54 Fix format 2025-07-07 14:50:05 +09:00
JaeyoungLim
5238537e65 Compute closest point
Add velocity gains

Track line
2025-07-07 14:49:17 +09:00
JaeyoungLim
247bfc35c5 Add iNDI control module
This commit adds an implementation of a indi position controller for fixed-wings.
2025-07-04 17:14:16 +09:00
Alexander Lerach
160ae487ff auav: use correct sign during calib data reading 2025-06-24 17:58:53 +02:00
Jacob Dahl
95119027a9
ekf2: variable to parameter name consistency (#25042)
Rename various EKF2 variable names to match the PX4 parameter names
2025-06-24 09:15:50 +02:00
Beat Küng
afbaa71bfc
fix mavlink: add mutex for mavlink shell (#25082)
There was a race condition when closing the shell:
- the main thread checks if _mavlink_shell is not nullptr (which is true)
- the receiver thread closes the shell, which clears _mavlink_shell
- the main thread continues with _mavlink_shell->available()
2025-06-19 13:03:01 -08:00
Daniel Agar
1b3c6f7fd2 drivers/magnetometer: remove Vtrantech VCM1193L from common magnetometer set 2025-06-18 11:56:13 -04:00
Marco Hauswirth
6604c52c98
Commander: Adjust home position altitude after GNSS altitude correction (#25003)
Within the first 2min of a flight, check if the integrated GNSS vertical velocity and the baro
measurements disagree with the reported GNSS altitude, and in that case update the 
set home position altitude to cancel out GNSS altitude drift.

* prevent re-init when reaching negative altitudes

* only allow correction during the first 120 second after takeoff

* add dependency to COM_HOME_EN parameter. reset vel-integral for multiple takeoffs
2025-06-18 13:26:45 +02:00
chfriedrich98
f35b92a487 rover: replace RX_MAX_THR_YAW_R with a correction factor RO_YAW_RATE_CORR 2025-06-18 08:35:48 +02:00
chfriedrich98
3e8f054a1c ackermann: rename DriveModes to AckermannDriveModes 2025-06-18 08:35:48 +02:00
chfriedrich98
eed966a1c6 rover: reduce speed based on course error 2025-06-18 08:35:48 +02:00
chfriedrich98
5a430f0ba6 rover: streamline rover steering setpoint 2025-06-18 08:35:48 +02:00
Hamish Willee
4a5c00d0e4
EKF2_GPS_POS_X/Y/Z have same long description (#25068) 2025-06-17 21:07:09 -08:00
Jacob Dahl
339e0f9691
params: srcparser: don't strip newlines (#25058) 2025-06-17 12:04:33 -08:00
Peter van der Perk
7687e6e33f dshot: Telem set baudrate before pin-swapping
On IMXRT setbaudrate resets swap state
2025-06-17 14:54:48 +02:00
Peter van der Perk
001efc1c0b Bosch: BMM350: Fix self-test on high ODR rate
We've to wait for atleast 6000us before doing self-test
2025-06-17 12:01:45 +02:00
Matthias Grob
84ce7d2fc6 cyphal: switch to battery_info.serial_number 2025-06-17 09:05:22 +02:00
Matthias Grob
a18453d632 uavcan battery: switch to battery_info.serial_number 2025-06-17 09:05:22 +02:00
Matthias Grob
3ec684153a batmon: switch to battery_info.serial_number 2025-06-17 09:05:22 +02:00
Matthias Grob
2237bfa9a9 smbus_sbs: switch to battery_info.serial_number 2025-06-17 09:05:22 +02:00
Matthias Grob
7895976a17 batt_smbus: switch to battery_info.serial_number 2025-06-17 09:05:22 +02:00
Matthias Grob
d7ab21b8d6 Add battery_info message with serial number compatible with UAVCAN, MAVLink and drivers
I'm starting the separate battery info message because no char[32] should be published and logged
at high rate and we need a separate battery info message for static information as discussed.
2025-06-17 09:05:22 +02:00
Qiaosen Liu
59710b15ae
params: COM_RC_LOSS_T: clarify safe adjustment of RC loss timeout (#25062)
* params: COM_RC_LOSS_T: clarify safe adjustment of RC loss timeout

* Update src/modules/commander/commander_params.c

---------

Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
2025-06-16 18:50:43 -08:00
Julian Oes
0180ad3a63 mavlink: implement extended MISSION_CURRENT
The message MISSION_CURRENT got extensions regarding mission state in
https://github.com/mavlink/mavlink/pull/1869

This is an attempt to actually populate those fields.
2025-06-17 13:37:47 +12:00
Silvan Fuhrer
e0663cd6ad
Sensor params: improve board rotation parameter description and meta data (#25037)
* Sensor params: add @decimals and @min, @max to SENS_BOARD_ params

Signed-off-by: Silvan <silvan@auterion.com>

* Sensor params: Improve parameter description

Signed-off-by: Silvan <silvan@auterion.com>

---------

Signed-off-by: Silvan <silvan@auterion.com>
Co-authored-by: Ramon Roche <mrpollo@gmail.com>
2025-06-16 14:59:03 -08:00
Silvan Fuhrer
a6863f0930
FW mode manager: open up / remove some arbitrary params constraints (#25036)
* performance model: remove arbitrary min/max parameter constraints

Signed-off-by: Silvan <silvan@auterion.com>

* FW mode manager: open up/remove unnecessary param @max constraints

Signed-off-by: Silvan <silvan@auterion.com>

---------

Signed-off-by: Silvan <silvan@auterion.com>
Co-authored-by: Ramon Roche <mrpollo@gmail.com>
2025-06-16 14:58:38 -08:00
QiTao Weng
75e4047f2a Fix ADSB heading angle obtained from driver by removing +pi. Adjusted downstream accordingly 2025-06-13 15:28:25 +02:00
Beat Küng
310cbbedb1 fix septentrio: check for buffer underflow
_message.header.length - 4 is passed as unsigned to the CRC method, so if
_message.header.length < 4, the length wraps and causes invalid memory
access.
2025-06-13 14:39:57 +02:00
Alexander Lerach
6f81998e27 hardfault: add option to stream via mavlink 2025-06-13 13:32:00 +02:00
Beat Küng
e29771cd97 septentrio: add static assertions to ensure the buffer is large enough
And check the access for dynamic sized input. This is only a precaution
if the device sends invalid data (too large sb_length) with valid crc.
2025-06-13 09:46:10 +02:00
Beat Küng
ac74a02d7c fix septentrio: ensure the crc check does not read past the buffer size
in case the input data is invalid.
2025-06-13 09:46:10 +02:00
Beat Küng
d13692ca46 fix septentrio: initialize _current_index
Decoder::reset sets it to 0, but it could have been accessed before the
first call to reset().
2025-06-13 09:46:10 +02:00
Hamish Willee
77d854b045
Update ll40ls.cpp (#25007) 2025-06-12 16:08:12 -08:00
Jacob Dahl
fae563b35e
[bug] AFBRS50 fix scheduling and refactor (#24837)
* fix scheduling bug for afbrs50

* cleanup and refactor

* format

* clean up

---------

Co-authored-by: Alex Klimaj <alex@arkelectron.com>
2025-06-12 16:59:02 -06:00
Pedro Roque
6d15019717
feat: spacecraft tooling for commander and VehicleStatus (#24716)
* feat: spacecraft tooling for commander and VehicleStatus

* fix: format

* fix: remove iostream

* feat: mavlink compliant spacecraft definition

* feat: add orbiter to define

feat: spacecraft tooling for commander and VehicleStatus

fix: format

fix: remove iostream

feat: mavlink compliant spacecraft definition

* feat: add orbiter to define

* feat: update mavlink to latest

* fix: get away without specifying spacecraft vehicle

* fix: removed unnecessary definition

* fix: format
2025-06-12 21:48:48 +02:00
Matthias Grob
6b2b20bd6e imu_gyro_parameters: lower default angular acceleration filter from 30Hz to 20Hz
to avoid noise getting into the derivative term of the PID rate control loop on integration flights.
2025-06-12 17:15:12 +02:00
Peter van der Perk
0fe8738ed9 msp_osd: Add VTX config, stick commands and arming status
- Adds MSPv1 rx parsing to fetch VTX config
 - Allows to inspect and change VTX channel through CLI
 - Forward MSP_RC for stick commands osd
 - Forward MSP_STATUS for arming status for PIT and LP mode
2025-06-11 11:32:32 -04:00
chfriedrich98
d348bf4828 mecanum: centralize mode management, resets and checks 2025-06-11 14:17:23 +02:00
chfriedrich98
f0c15af426 mecanum: update position controller 2025-06-11 14:17:23 +02:00
chfriedrich98
5e9322899b mecanum: seperate actuator control 2025-06-11 14:17:23 +02:00
Mahima Yoga
c9658f28e9
commander: use existing class state to track mission progress (#24947)
Replaced the local variable landed_amid_mission with the class member _mission_in_progress for consistency and to reduce redundancy.
No functional change.
2025-06-09 18:17:13 -08:00
bresch
457ce90541 ekf2: run simplified GNSS checks after initial fix
This prevents stopping GNSS fusion on slightly degraded solution when
tight checks are set
2025-06-06 15:59:56 +02:00
Silvan Fuhrer
ff87361ffa Navigator: RTL reverse: when landing set next to invalid
This makes sure that there is no weird line following logic executed
by the flight task when the vehicle should just come down vertical
for landing.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2025-06-06 15:47:35 +02:00
Matthias Grob
c7ef12545c mc_att_control_params: lower default roll and pitch attitude gains from 6.5 to 4
6.5 is a relatively high value that was used mostly on smaller, low inertia vehicles ~250-500mm diagonal. There it works great but on larger, higher intertia vehicles this leads to problems.
2025-06-05 19:28:53 +02:00
Matthias Grob
fdc4766da6 Make sure vehicle_thrust_setpoint is always published before vehicle_torque_setpoint
After f0b05ea7cfd9de4113f4cd63e8068cf8089bc158
the control allocator only has a callback on the torque setpoint and even though this should work
I'm paranoid and would like to avoid surprises by always publishing the thrust before torque
then the samples that were published together are also allocated together.
2025-06-05 08:46:30 +02:00
Niklas Hauser
6d35ad5d9b
[uavcan] Fix safety state not getting published (#24972) 2025-06-04 09:20:34 -08:00
Matthias Grob
84cb748080 esc_calibration: simplify the logic and consider battery only connected if there's no message timeout and the connected flag is set 2025-06-04 17:11:33 +02:00