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
Thomas Debrunner
b4087ebd2b
mc_pos_control: increase the default crawl speed for three-stage-landing approach for a more robust landing detection
2022-02-04 21:56:20 -05:00
Matthias Grob
4ef8cead3d
mc_pos_control_params: correct crawl speed reference
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
c9f7c20d46
MulticoperPositionController: time failsafe messages together
...
The following output instead of printing the
action "stop and wait" just once:
WARN [mc_pos_control] invalid setpoints
WARN [mc_pos_control] invalid setpoints
WARN [mc_pos_control] Failsafe: stop and wait
WARN [mc_pos_control] invalid setpoints
WARN [mc_pos_control] Failsafe: stop and wait
WARN [mc_pos_control] invalid setpoints
WARN [mc_pos_control] Failsafe: stop and wait
2022-01-19 14:31:19 +01:00
Matthias Grob
d4e356a1ac
PosititionControl: fix integrator windup with invalid setpoint
2022-01-19 14:31:19 +01:00
Matthias Grob
8811482f1d
PositionControlTest: add integrator windup with invalid setpoint combination unit test
...
This bug was by chance found during simulation testing and debugging.
The unit test is to easily reproduce and cover this case.
2022-01-19 14:31:19 +01:00
bresch
ea7d2334c9
mpc: add parameter for ascent/descent speed in auto modes
2022-01-12 13:33:48 +01:00
bresch
57fa9c545a
PosControl: fix hover update equation
...
The integrator now absorbs properly the change in hover thrust
2022-01-08 15:42:10 +01: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
Beat Küng
4ba84d56c9
logger: introduce optional topics
...
The current practice of adding topics to the default set isn't scalable,
as it affects all setups.
By making sure topics are advertised on init, logger can just discard
topics that don't exist. This does not work for all topics, so topics are
specifically marked as optional. It can be extended to more topics later
on though.
This reduces the list of topics by ~35 on a pixracer configured as quad,
and reduces RAM usage by ~1KB.
2021-11-15 09:02:03 -05:00
Claudio Micheli
10e329ce9e
mc_pos_control: correct MPC_XY_CRUISE description
...
Signed-off-by: Claudio Micheli <claudio@auterion.com >
2021-11-09 21:47:06 -05:00
Matthias Grob
7ec8dd9d23
vehicle_constraints: remove deprecated speed_xy constraint
2021-11-09 21:47:06 -05:00
bazooka joe
b35dd86d04
mc_pos_control: remove unused var
2021-10-18 20:37:18 -04:00
bazooka joe
c8d6f8f5e5
remove proto for unused function limit_thrust_during_landing()
2021-10-18 20:37:18 -04:00
Nicolas Martin
ba66f8a1e2
reset hover thrust value in controllers when disarmed
...
During landing, hover thrust value can be very incorrect so it should be
reset before taking off
2021-10-08 10:39:49 +02:00
Peter van der Perk
d5e3e9a7bc
[Kconfig] Decompose Kconfig, now each module has its own Kconfig
...
Which is better for versioning and decomposability
2021-10-07 10:09:01 -04:00
bresch
e53d2907d7
AutoSmoothVel: adjust controller constraints in emergency braking
...
When engaging auto mode at high vertical speed, we don't want to cut the velocity
trajectory setpoint in order to create a smooth deceleration.
2021-09-23 09:22:32 +02:00
Matthias Grob
e7a90bf367
PositionControl: correct horizontal margin calculation
...
It was using the already reduced vertical thrust to do
the horizontal limitation resulting in no margin.
2021-09-14 10:57:38 +02:00
Beat Küng
90940c3672
mc_pos_control: switch to events
2021-09-11 14:08:41 -04:00
Matthias Grob
58ea97a699
MulticopterPositionControl: add horizontal margin for saturation cases
2021-09-08 19:55:27 +02:00
bresch
1016600ded
Revert "mc_pos_control: omit initial warning"
...
This reverts commit 446598d003 .
The first warning was due to a race condition that is fixed by the previous commit;
don't omit the first warning anymore
2021-07-30 21:39:18 -04:00
bresch
e7a2c1d88e
MCPosControl: fix invalid setpoint race condition
...
Only modify the _setpoint for takeoff when there is a new uORB message
to avoid a race condition where both vel_sp(2) and accel_sp(2) can be
NAN at the same time.
2021-07-30 21:39:18 -04:00
Daniel Agar
883624d915
lib/geo: move from ecl
2021-07-15 10:38:24 -04:00
Daniel Agar
dbaed99626
cmake remove git_ecl target
2021-07-13 10:03:06 -04:00
mcsauder
fef2c43395
Modify occurrences of control_mode to vehicle_control_mode in MulticopterPositionControl.cpp/hpp to reflect the existing naming convention in the files.
2021-07-06 22:02:15 -04:00
Matthias Grob
5ac5399d83
Remove horizontal slow down close to ground
...
Because based on the numerous complaints it was disabled by default
(only velocities above 10m/s were limited)
and since then no one intentionally used it anymore. But
there were some minor investigations of drones not reaching
their maximum speed which always showed 10m/s.
2021-06-25 11:15:41 +02:00
bresch
514845592b
en-/disable mc position controller using explicit control mode flag
2021-06-09 18:10:22 +02:00
bresch
841914462d
MC pos control: use vz<->z_deriv blending in pure vel mode only
...
This logic was introduced to avoid large altitude drifts in velocity
mode (altitude not controlled) due to potential velocity estimate bias
in case of IMU problems (see PR #8445 ). After some refactorings,
the logic started to be used in altitude-controlled modes as well, which is not needed.
2021-06-08 14:58:14 +02:00
Julian Oes
446598d003
mc_pos_control: omit initial warning
2021-06-07 08:54:19 -04:00
Matthias Grob
70050ae4f5
mc_pos_control_params: correct MPC_POS_MODE docs since 1 is depracated
2021-06-04 09:32:03 -04:00
Matthias Grob
29e07b1e52
MulticopterPositionControl: publish stricter tilt limit during takeoff
2021-04-20 18:18:21 +02:00
Matthias Grob
8fec39ad39
MulticopterPositionControl: readd takeoff ramp fix
...
added in #14821 and accidentally removed in #14665
2021-03-31 15:21:42 +02:00
Matthias Grob
c06b5a1de9
MulticopterPositionControl: improve tilt limit readability and scope
...
according to @bresch's review comment.
2021-03-31 10:03:08 +02:00
Matthias Grob
94469d84ae
MulticopterPositionControl: fix twitch on tilt limit relaxation
2021-03-31 10:03:08 +02:00
Matthias Grob
c16b937221
Takeoff: switch internally to use a ramp progress
2021-03-31 10:03:08 +02:00
Matthias Grob
8ca76feaba
Takeoff: remove updateRamp() early return
2021-03-31 10:03:08 +02:00
Beat Küng
629f7ba15b
params: ensure short description is only a single line
...
So a UI can display it properly
2021-03-23 12:55:11 -04:00
Matthias Grob
c8c3f57ba1
mc_pos_control_params: correct cruise speed description
...
It is used in autonomous modes only and has no influence
on Position mode.
2021-03-19 13:35:17 +01:00
Matthias Grob
ceb445caa0
Run mc_pos_control for acceleration control mode flag
2021-03-11 10:37:03 -05:00
Daniel Agar
35488337d3
mc_pos_control: add OFFBOARD takeoff intent
2021-03-07 11:04:17 +01:00
Matthias Grob
114e85d260
MultiCopterPositionControl: hotfix emergency failsafe
...
that prevents the vehicle from crashing with invalid setpoints or
states.
This broke with #16869 when the scheduling of the position control module
and the setpoint generation got independent. The failsafe mechanism assumed
the setpoint is overwirtten by the possibly infeasible input on every loop
iteration which is not the case anymore. As a result the failsafe reset its
histeresis based on the failsafe setpoint from the last loop iteration.
Keeping the failsafe_setpoint separate solves this issue. Note that
these setpoints to the bare minimum to keep the vehicle safely in the air
and do not suffer from sideffects ignoring the EKF reset.
2021-03-05 11:29:36 -05:00
Daniel Agar
d0c9a5fc93
OFFBOARD mode architecture overhaul ( #16739 )
...
- handle SET_POSITION_TARGET_LOCAL_NED and SET_POSITION_TARGET_GLOBAL_INT with ORB_ID(trajectory_setpoint)
- FlightTaskOffboard not needed at all
- bypass position_setpoint_triplet entirely (start removing extraneous fields)
- simplify offboard_control_mode to map to supported control modes
2021-03-05 09:39:46 -05:00
David Jablonski
5233737a86
adjust some limits to prevent divide-by-zero
2021-03-05 10:42:19 +01:00
Matthias Grob
28b89b024f
MulticopterPositionControl: fix Takeoff ramp use
...
- guard against NAN speed_up limit as input to ramp see #14339
- allow negative speed_up limit for ramp to work
2021-03-03 18:53:56 +01:00
Daniel Agar
ecd5e57ab5
remove debug
2021-03-03 18:53:56 +01:00
Daniel Agar
0ada59e57b
ekf reset remove NAN checks
2021-03-03 18:53:56 +01:00
Daniel Agar
7a7d316a32
Update src/modules/mc_pos_control/PositionControl/CMakeLists.txt
...
Co-authored-by: Matthias Grob <maetugr@gmail.com >
2021-03-03 18:53:56 +01:00
Daniel Agar
266ea377da
move takeoff state machine flight_mode_manager -> mc_pos_control
2021-03-03 18:53:56 +01:00