Matthias Grob
8ca28f3796
Separate message for trajectory setpoint
2022-05-12 17:19:48 +02:00
Silvan Fuhrer
680fe86c05
FlightTaskAuto: fix Weather Vane during landing
...
Weather vane should only set a yawrate setpoint, but no yaw setpoint.
Setting it to NAN when WV is active makes sure that whatever _yaw_setpoint
is set previously (e.g. through Waypoint) is not used.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-04-23 18:14:42 +02:00
bazooka joe
5d95cc001f
small cleanup for FlightTask::_evaluateDistanceToGround if-else
2022-04-18 20:47:41 -04: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
RomanBapst
3ed929c7b6
addressed review comments
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2022-04-13 12:23:27 +03:00
RomanBapst
d41de33a85
FlightModeManager: handle MAV_CMD_DO_CHANGE_SPEED
...
- support setting the cruise speed of the auto flight task via command
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2022-04-13 12:23:27 +03: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
Daniel Agar
6135bb384b
cleanup module callback registration failed errors
2022-03-23 20:44:50 -04:00
Matthias Grob
897506267d
Sticks: name getThrottle() explicitly about range
2022-03-23 11:54:05 +01:00
Junwoo Hwang
0e5c305163
Stick Verbose Functinos : Make get functions for roll, pitch, yaw and throttle const to specify that it's not changing Sticks' internal variables
2022-03-23 11:54:05 +01:00
Junwoo Hwang
f78465428c
Stick Verbose Functions : Edit other FlightTasks using checkAndUpdateStickInputs() functions and correct Throttle returned value inverse issue
2022-03-23 11:54:05 +01:00
Junwoo Hwang
8266a4df98
Sticks : Add utility functions to get pitch, roll, throttle and yaw values intuitively and rename ambiguously named function checkAndSetStickInputs()
2022-03-23 11:54:05 +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
e03585ca06
FlightTaskOrbit: remap stick input when vehicle faces tangential
2022-03-23 10:51:45 +01:00
Silvan Fuhrer
f4c300af25
FlightTaskAuto: Nudging: only set yawrate_sp if WV is disabled or stick out of dead-zone
...
Otherwise the setpoint from weather vane is constantly overwritten by it,
even if the yaw stick is not moved.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-03-11 09:18:31 +01:00
Jukka Laitinen
9449ed6e66
Add support for protected build in drivers, systemcmds and modules Kconfig
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2022-02-18 07:58:58 +01:00
bresch
a3b2550f07
mc_auto: only check for offtrack, infront and behind in XY-plane
...
This fixes the issue when changing the altitude during a goto for
example, where the vehicle was going backwards and upwards to reach the
closest point to the line. Now the vehicle simply goes towards the
target waypoint.
2022-02-11 16:14:48 +01:00
Thomas Debrunner
fb8b9b647a
land-detector: switch to crawl speed for intent detection
2022-02-04 21:56:20 -05:00
Thomas Debrunner
2a6d9bc1dd
fligh-mode-manager: First implementation of a three-stage-landing for multirotos, in case LIDAR is available
2022-02-04 21:56:20 -05:00
Matthias Grob
42404ade77
FlightTaskOrbit: Use cruise speed and manual acceleration for radius and velocity changes
...
instead of arbitrary fractions of the maximum radius and velocity.
2022-01-25 11:45:31 +01:00
Matthias Grob
7c55229db7
FlightTaskOrbit: Fix altitude adjustment by stick
...
This is done by inheriting from FlightTaskManualAltitudeSmoothVel again.
The altitude change by command is taken care of by switching
to the apporach when the altitude difference is big enough and
switching back once the altitude is close enough.
The altitude of the command is not perfectly reached but this can
only be done smoothly when the Orbit has full control over the
altitude smoothing. The independent altitude smoothing is not kept
because it was lacking stick handling like altitude lock and smooth
transitions when opening and closing the vertical position loop.
2022-01-25 11:45:31 +01:00
Matthias Grob
d73d8f390b
FlightTaskOrbit: Fix vertical speed limit
2022-01-25 11:45:31 +01:00
Matthias Grob
38de07186d
FlightTaskOrbit: include acceleration and jerk in approach setpoint publishing
...
I think they were forgotten and it leads to side effects:
- The acceleration feed-forward does not get executed
- The acceleration setpoint is NAN when initializing the altitude
smoothing when arriving at the circle
2022-01-25 11:45:31 +01:00
Matthias Grob
b9fb8490ba
FlightTaskOrbit: initialize position smoothing with previous setpoints instead of current state
2022-01-25 11:45:31 +01:00
Matthias Grob
e0337a484b
FlightTaskOrbit: remove unnecessary _sanitizeParams() in activation
...
the parameters are anyways sanitized on every update so even if activate()
sets unfeasible one's they get adjusted on the first update.
2022-01-25 11:45:31 +01:00
Matthias Grob
661496ab24
FlightTaskOrbit: improved naming in applyCommandParameters()
2022-01-25 11:45:31 +01:00
Matthias Grob
8525a8e520
FlightTaskAuto: fix typo pos(i)tion
2022-01-25 11:45:31 +01:00
Thomas Debrunner
4671a741dc
FlightTaskOrbit: Do not switch out of circle orbit control logic on radius change.
2022-01-25 11:45:31 +01:00
Matthias Grob
443406ea2b
FlightTaskAuto: use longerThan() when possible in vector calculations
2022-01-12 15:12:24 +01:00
bresch
4fc7348582
mpc: leave room for altitude error control during descent and descent
...
Since the same parameter is used to generate the trajectory and to
saturate the controller, there is no additional space for the output of
the position controller once it is filled with the feedforward, letting
the altitude grow uncontrolled.
2022-01-12 13:33:48 +01:00
bresch
ea7d2334c9
mpc: add parameter for ascent/descent speed in auto modes
2022-01-12 13:33:48 +01:00
Matthias Grob
bbad4a5397
FlightTaskAuto: Respect altitude with offtrack state
...
To avoid weird cases where the altitude is different enough and
the offtrack state flies to the target altitude instead of the closest
point on the track between the waypoints.
2022-01-07 10:30:39 -05:00
Matthias Grob
bbb04ab4b8
Remove relaying of maximum altitude through land detector
2022-01-05 14:54:59 +01:00
Daniel Agar
019eaf7038
multicopter: minimize dt jitter by using estimate timestamp_sample
2021-12-17 17:52:28 -05:00
Thomas Debrunner
ade4a1930c
trajectory-planning: Added option for PositionSmoothing library with single target waypoint that disables L1 guidance
2021-12-09 20:51:39 -05:00
Silvan Fuhrer
b00ebe53bb
FlightTaskAuto: use MPC_VEL_MAX instead of MPC_XY_CRUISE for emergency braking thresholds
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-12-08 09:13:01 +01:00
Matthias Grob
10ceea2fe6
geo: refactoring on comments and usage
2021-12-06 14:30:14 +01:00
Thomas Debrunner
8db7a6225b
geo: Moved the map_projection_* functions and state into a self-contained C++ class
2021-12-06 14:30:14 +01:00
Thomas
9345f68a93
reapply PR 18614 to refactored FlightTaskAuto
2021-11-30 14:52:16 +01:00
Matthias Grob
35d4986ea7
FlightTasks: remove updateFinalize() concept because it got obsolete
2021-11-18 19:12:44 -05:00
Matthias Grob
9eac0edbc0
FlightTaskAuto: remove generateSetpoints function, replace by implementation
2021-11-18 19:12:44 -05:00