Matthias Grob
fb455c8f4b
vehicle_status: reorder message definition
...
for readability. No functional changes.
2022-07-12 15:50:49 +02:00
Matthias Grob
10a2b4c9f7
commander_helper: typo in set_tune() description
2022-07-08 14:51:15 +02:00
Matthias Grob
a3288ff732
Commander: run ekf checks without grace period after boot
2022-07-05 10:35:07 -04:00
Matthias Grob
8deebd07b8
preArmCheck: Shorten messages to to not write "Arming denied!"
2022-07-05 10:35:07 -04:00
Matthias Grob
21f858de1f
drv_pwm_output: remove not used anymore define for presumed servo middle position
2022-07-04 16:34:58 +02:00
Matthias Grob
af4b8bfd60
linux_pwm_out: sync configuration logic from FMU and IO
2022-07-04 16:34:58 +02:00
Matthias Grob
8ccd40185a
PWMOut/px4io: use disarmed values as default failsafe values
...
to avoid surprises where upon disarm an ESC can suddenly spool up
even though it stops when disarmed and no specific failsafe value is configured.
2022-07-04 16:34:58 +02:00
Matthias Grob
c8fb7a6990
fw/uuv control: remove duplicated comments, restyle initializers
2022-06-24 10:05:16 -05:00
Matthias Grob
78225f7b1f
examples/fixedwing_control: use initializers instead of memset
2022-06-24 10:05:16 -05:00
Matthias Grob
cfd4e64b02
uuv_pos_control: remove practically unused manual control subscription
2022-06-24 10:05:16 -05:00
Matthias Grob
3a239ff649
examples: remove empty fake_gyro
2022-06-24 10:05:16 -05:00
Matthias Grob
479c85047f
WeatherVane: Allow weathervane on multirotors not just VTOLs
2022-06-22 14:19:28 +02:00
Matthias Grob
54145cedc7
FlightTask: Weather vane cleanup
...
Remove the entire external yaw handler, dynamic memory allocation,
pointer passing logic. Directly instanciate the weather vane instance
in the flight tasks that support it.
2022-06-22 14:19:28 +02:00
Matthias Grob
92b6862485
Commander: replace arm requirements
2022-06-16 10:25:32 -04:00
Matthias Grob
3b3d8b9942
Commander: execute pre arm check with preflight checks
2022-06-16 10:25:32 -04:00
Matthias Grob
aa575d6af0
Commander: move first preflight check run to constructor
2022-06-16 10:25:32 -04:00
Matthias Grob
0f41a5e385
ArmStateMachine: simplify how preflight checks are called
2022-06-16 10:25:32 -04:00
Matthias Grob
c59809b14a
Commander: remove system_sensors_initialized
...
and system_hotplug_timeout. They're not in use for over 2 years.
Instead control LED with preflight checks.
2022-06-15 14:02:00 -04:00
Matthias Grob
f5e7b1e6a8
Commander: switch battery bitflied to dedicated datatype
2022-06-08 11:32:26 +02:00
Matthias Grob
9b2166de72
manual_control_params: configure arm gesture doesn't require reboot
...
I added wrong documentation here.
2022-06-08 05:12:05 -04:00
Matthias Grob
bd50a52c9c
Commander: fix startup sound interrupted by safety button initialization
...
The safetyButtonHandler() reports that the safety statatus
changed on the first loop iteration when safety is disabled which makes
sense to inform the system that safety is off but the tune for the user
should not be played because it interrupts the startup tune.
2022-06-08 05:12:05 -04:00
Matthias Grob
71103e6114
Safety: keep initialized constant flags when safety disabled
2022-06-08 05:12:05 -04:00
Matthias Grob
44c4b8fa85
Style refactoring related to safety button
2022-06-08 05:12:05 -04:00
Matthias Grob
5df266cedc
MulticopterRateControl: use constructor to copy thrust setpoint array
2022-06-07 11:45:59 -04:00
Matthias Grob
fad3d46907
Use signNoZero() where possible
2022-06-03 16:08:16 +02:00
Matthias Grob
a9cdfff7a3
FlightModeManager: only execute flight task commands when multicopter
2022-06-01 15:14:07 +02:00
Matthias Grob
96b0304049
PreFlightCheck: disallow arming in land mode
...
after the automatic switch to Hold mode was introduced.
2022-06-01 12:08:32 +12:00
Matthias Grob
83c15fca9f
Commander: switch back to Hold mode after autonomous landing
2022-06-01 12:08:32 +12:00
Matthias Grob
33df8b24f2
Commander: differentiate clearly between to arm and to disarm transition
2022-06-01 12:08:32 +12:00
Matthias Grob
400e1f8214
Commander: only initialize to tablet mode and don't switch back on RC loss
2022-06-01 12:08:32 +12:00
Matthias Grob
c03f5b9481
Commander: fix overlooked rebase naming error
2022-05-25 21:10:19 +02:00
Matthias Grob
44be415e0e
mission_block: make "Delay until" item work while landed
...
To enable landing, waiting and taking off again e.g. for delivery.
2022-05-24 13:42:03 +02:00
Matthias Grob
0be474430c
Commander: don't disarm on landing amid a mission
2022-05-24 13:42:03 +02:00
Matthias Grob
4f34207c4e
battery_params: increase default empty cellvoltage to 3.6v
...
Based on feedback that very often the battery is used down too low.
I observed this happens consistently when the cell voltage is properly
load compensated. The default load compensation before #19429 was very
inaccurate and resulted in unpredictable estimate.
After that if there is a usable current measurement and the battery is
within expected tolerances of the default internal resistance the
compensation is pretty good and 3.5V is too low for an empty compensated
cell voltage. That was seen in various logs where the compensated
cell voltage was already dropping fast after 3.6V.
In case the voltage is not load compensated the vehicle estimates the
state of charge a bit too low which is safer than to high
especially for a default configuration.
2022-05-24 11:26:58 +02:00
Matthias Grob
62edcc7a57
battery: only compensate using sane current
2022-05-23 16:40:32 +02:00
Matthias Grob
2cbdcc9671
battery: default to reasonable internal resistance
...
instead of disabling the load compensation using current.
2022-05-23 16:40:32 +02:00
Matthias Grob
58b1139a21
battery: allow setting precise internal resistance with parameter
2022-05-23 16:40:32 +02:00
Matthias Grob
2c5a7ea118
battery: rather undercompensate for load
...
than over compensate which makes the estimate to high and breaks batteries
beause they get flown for too long.
2022-05-23 16:40:32 +02:00
Matthias Grob
38e027ee45
ArmStateMachine: remove dependency on armed.armed
...
To have the internal state as single source of truth
for the arming state within Commander.
2022-05-20 13:51:51 +02:00
Matthias Grob
37c485ce89
ArmStateMachine: move arm state into the class
2022-05-20 13:51:51 +02:00
Matthias Grob
47532ca07b
ArmStateMachine: replace state name array with method
2022-05-20 13:51:51 +02:00
Matthias Grob
887fe7dba2
commander_params: shorten low battery action delay
...
I got multiple times the feedback now that a consistent delay
is helpful and makes sense but the default delay
is too long
for low battery action where you're trying to come back in time
and possibly the emergency reaction kicks in while the critical action
is executing which leads to a longer accumulated delay.
2022-05-19 21:54:09 +02:00
Matthias Grob
02e11eddce
mavlink_mission: add more specific information to the error message
2022-05-17 07:49:00 +02:00
Matthias Grob
4bd2d4cf35
rc_update: add unit tests for mode slot
...
To verify RC mode switch and mode button functionality works as expected.
2022-05-16 14:37:29 +02:00
Matthias Grob and Mathieu Bresciani
57a0289627
trajectory_setpoint: correct comment typo "kinematically"
...
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com >
2022-05-12 17:19:48 +02:00
Matthias Grob
4017f4bb0b
vehicle_local_position_setpoint: reorder fields for clarity
2022-05-12 17:19:48 +02:00
Matthias Grob
b67fbac296
uuv_pos_control: siplify passing on trajectory position setpoint
2022-05-12 17:19:48 +02:00
Matthias Grob
200124f094
mavlink_receiver: check entire Vectors for NAN
...
Note: Behavioral change Inf also results in the flag being true.
2022-05-12 17:19:48 +02:00
Matthias Grob
8ca28f3796
Separate message for trajectory setpoint
2022-05-12 17:19:48 +02:00
Matthias Grob
b3776134b8
Commander: ensure diconnected battery is cleared from bit field
2022-05-06 10:32:27 -04:00
Matthias Grob
843c814fb8
MulticopterPositionControl: allow offboard takeoff also when not landed
2022-05-06 04:12:18 -07:00
Matthias Grob
fbc109436f
MultiCopterRateControl: refactor setpoint naming
2022-05-06 04:12:18 -07:00
Matthias Grob
1211a457d7
MulticopterPositionControl: Overwrite vertical acceleration during takeoff rampup only
2022-05-06 04:12:18 -07:00
Matthias Grob
d9a2fe5226
Revert "MCPosControl: fix invalid setpoint race condition"
...
This reverts commit e7a2c1d88e .
2022-05-06 04:12:18 -07:00
Matthias Grob
46fdc28cf8
MulticopterPositionControl: fix typo "descen{d/t}"
2022-05-04 02:22:18 -07:00
Matthias Grob
3fb4889ab9
MultcopterPositionControl: fix executing a zero setpoint for 200ms
...
This is a combination of the originally introduced delay:
06c10f61c1
then the emergency failsafe being changed to not just land,
position control being rescheduled to not overwrite every setpoint in:
e502214429576ce68ac3fee9d2db19112f4604b9
and it being fixed by overwriting the setpoint but not removing
the long obsolete hystersis here:
114e85d260
2022-05-04 02:22:18 -07:00
Matthias Grob
cb484c5ac7
PositionControl: publish NAN jerk
...
because the controller does not read or write jerk
2022-05-04 02:22:18 -07:00
Matthias Grob
5055fec796
MulticoperPositionControl: explicitly overwrite setpoint timestamp when setpoint is reset
2022-05-04 02:22:18 -07:00
Matthias Grob
424fd8b304
MulticoperPositionControl: remove time_stamp_now alias for timestamp_sample of the local position
...
to make it explicit what is used is not a fresh hrt_absolute_time() call
by this module.
2022-05-04 02:22:18 -07:00
Matthias Grob
8180f931de
MulticopterPositionControl: rename local_pos -> vehicle_local_position
2022-05-04 02:22:18 -07:00
Matthias Grob
4ffe796b4d
MulticopterPositionControl: clarify previous position control naming
2022-05-04 02:22:18 -07:00
Matthias Grob
97b2947416
FlightTaskAuto: refactor _commanded_speed_ts -> _time_last_cruise_speed_override
2022-04-13 12:23:27 +03:00
Matthias Grob
68cf686892
FlightTask: rename and move setCruisingSpeed() -> overrideCruiseSpeed()
2022-04-13 12:23:27 +03:00
Matthias Grob
f892a624b7
FlightModeManager/FixedwingPositionControl: robustify vehicle command parameter casting
2022-04-13 12:23:27 +03:00
Matthias Grob
6ce3e88f9d
vehicle_command: specify what SPEED_TYPEs are for
2022-04-13 12:23:27 +03:00
Matthias Grob
10f927ae2b
MulticopterPositionControl: remove unused return value parameters_update()
2022-04-12 10:13:11 -04:00
Matthias Grob
fe26ee244d
modeCheck: allow arming in land mode for MAVSDK compatibility
...
ideally we can remove it again when the workflow is changed to
first changing mode then arming.
2022-04-08 09:56:47 +02:00
Matthias Grob
92adc71424
ArmStateMachine: port over unit tests to functional gtests
2022-04-06 10:02:14 +02:00
Matthias Grob
f968a5947d
ArmStateMachine: port arming_state_names into the class
2022-04-06 10:02:14 +02:00
Matthias Grob
074080c816
Commander: separate out arm state machine to class
...
Pure refactoring and just the first step to avoid conflicts on the way.
2022-04-06 10:02:14 +02:00
Matthias Grob
dd28c3e019
battery: update average current also when no capacity is configured
2022-04-04 10:02:55 +02:00
Matthias Grob
13c3eae6d0
battery: use mechanism to keep an up to date armed state
2022-04-04 10:02:55 +02:00
Matthias Grob
3aee2497bb
commander_params: add precision land option for mode switch
2022-03-30 18:11:44 +02:00
Matthias Grob
7cd57b4415
FlightTaskOrbit: alert user about exceeded radius (mavlink_log)
2022-03-29 18:46:37 +02:00
Matthias Grob
3e8d2fea94
FlightTaskOrbit: alert user about exceeded radius (events)
2022-03-29 18:46:37 +02:00
Matthias Grob
8ad44ee128
FlightModeManager: remove needless space at the end of invalid task error string
2022-03-29 18:46:37 +02:00
Matthias Grob
9bdde98a68
FlightModeManager: refactor flight task switch result condition for vehicle commands
2022-03-29 18:46:37 +02:00
Matthias Grob
ffaef906c4
FlightModeManager: don't ack with result failed when parameters are invalid
...
Command denied is defined as "supported but has invalid parameters"
which matches the case.
2022-03-29 18:46:37 +02:00
Matthias Grob
fc0be6c4fc
FlightModeManager: switch to failsafe task if orbit is rejected
2022-03-29 18:46:37 +02:00
Matthias Grob
c7f114a26a
FlightTaskOrbit: increase radius limit
2022-03-28 17:57:56 +02:00
Matthias Grob
d0794c1189
FlightTaskOrbit: don't start Orbit if radius is not in range
2022-03-28 17:57:56 +02:00
Matthias Grob
e6ed595651
Commander: make last_fail_time_us parameter a reference instead of pointer
2022-03-23 15:04:48 -04:00
Matthias Grob
eee4aaee4f
Commander: remove dynamic position velocity probation period
2022-03-23 15:04:48 -04:00
Matthias Grob
897506267d
Sticks: name getThrottle() explicitly about range
2022-03-23 11:54:05 +01:00
Matthias Grob
db7430aa65
matrix helper: remove needless comment line
2022-03-23 10:51:45 +01:00
Matthias Grob
18629bb535
FlightTaskOrbit: fix tangential yaw stick input for rotation direction changes
2022-03-23 10:51:45 +01:00
Matthias Grob
74c0ae6e55
Functions: add sign from boolean function with unit tests
2022-03-23 10:51:45 +01:00
Matthias Grob
e03585ca06
FlightTaskOrbit: remap stick input when vehicle faces tangential
2022-03-23 10:51:45 +01:00
Matthias Grob
db1fb6acf7
Commander: no battery time based RTL when already landed
2022-03-23 10:49:38 +01:00
Matthias Grob
69f6092031
mavlink_receiver: remove unused land detection publication
2022-03-23 10:49:38 +01:00
Matthias Grob
c1b9b8a1c0
MulticopterLandDetector: correct comment with outdated time constant reference
2022-03-23 10:49:38 +01:00
Matthias Grob
b85c4ec475
Commander: rename land detection subscription for consistency
2022-03-23 10:49:38 +01:00
Matthias Grob
4a5a8d59fe
matrix helper: add documentation for sign function
2022-03-23 08:47:52 +01:00
Matthias Grob
d0abcc1ca3
MatrixHelperTest: add unit tests for the signum function
2022-03-23 08:47:52 +01:00
Matthias Grob
03f836f79d
matrix helper: fix sign function zero case
2022-03-23 08:47:52 +01:00
Matthias Grob
9ab99a7689
MatrixHelperTest: don't rely on FLOAT_EQ accepting FLT_EPSILON inaccuracy
2022-03-18 13:35:18 +01:00
Matthias Grob
cde7b1bc41
Matrix: remove deprecated minimal test framework
2022-03-17 13:02:22 +01:00
Matthias Grob
91493307b9
Matrix: convert vector test to gtest
2022-03-17 13:02:22 +01:00
Matthias Grob
4b63f6b29a
Matrix: convert vector assignment test to gtest
2022-03-17 13:02:22 +01:00
Matthias Grob
f4b53d2762
Matrix: convert vector3 test to gtest
2022-03-17 13:02:22 +01:00