Commit Graph

30 Commits

Author SHA1 Message Date
Martina Rivizzigno a9491dfaf7 run avoidance also in Loiter 2020-03-02 16:49:56 +01:00
Julian Kent e7aa899746 AutoLineSmoothVel: don't use _velocity_setpoint for constraints
Unfortunately the constraints cannot be implemented using the
_constraints because the controller uses that directly. This
causes discontinuities in the velocity and/or accel at various
points of the flight. In particular this was used in Takeoff.

Instead this was done by changing target accel/velocity in the
jerk-optimal velocity planner for Z.
2020-02-18 13:59:58 +01:00
Morten Fyhn Amundsen 86bf4b2289 FlightTaskManualAltitude: Fix sign error in terrain hold setpoint reset
The modified statements are intended to

1. Set a new Z position setpoint that is equivalent to the current distance
to ground setpoint,

and

2. Set a new distance to ground setpoint that is equivalent to the current Z
position setpoint.

They are only called in terrain hold mode, when activating/deactivating the
holding (typically when coming to a stop and when starting to move again).

The setpoints take the current control error into account, but because the
control error is added, not subtracted, the result is that the new setpoint
is 2 times the control error off from the old setpoint, instead of being
at the same spot as the old setpoint.
2020-02-17 15:18:04 +01:00
Silvan Fuhrer a3710fcdef VTOL: flight task auto: disable weather vane when not stationary
Use yawrate setpoint from weather vane only if velocity setpoint is small
(smaller than half the cruise velocity)

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-02-07 16:46:29 +01:00
Silvan Fuhrer 98aee29ddc VTOL: Manual Pos Flight Task: do not use yawrate sp from weather vane if position isn't locked
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-02-07 16:46:29 +01:00
bresch c80593a144 FlightTaskManualAltitude: Rename _min_speed_down -> _max_speed_down as it is the maximum allowed downward speed 2020-02-03 18:05:17 +01:00
bresch c0d1aa1654 FlightTaskManualAltitude: Follow altitude limit given by the estimator 2020-02-03 18:05:17 +01:00
Matthias Grob 5bd8da2286 PositionControl: temporarily remove direct thrust setpoint support
This commit temporarily breaks direct horizontal thrust setpoint execution
which is used by FlightTaskManualAltitude. This is necessary to allow for
PositionControl cleanup namely calculating the whole velocity PID in one
Vector3f formula.

Having this in a separate commit is useful since it reduces indentation
of a bigger code block.
2020-01-30 07:28:18 -05:00
Beat Küng e939f60a9e FlightTaskAuto: accept invalid triplet_setpoint (and interpret as loiter)
This will allow navigator to not output any setpoints while disarmed.
Otherwise the position controller outputs warnings in the form of:
Auto activation failed with error: Activation Failed

The risk here is that it could hide problems, where navigator sends invalid
triplets when it should not.
2020-01-24 08:42:16 +01:00
Matthias Grob 1484dfed6a FlightTasks: remove deprecated AutoLine mission task 2020-01-06 15:39:07 +01:00
Julian Kent bb410ca0db Fix compile error, save some bytes by removing redundant checks 2020-01-06 15:39:07 +01:00
Julian Kent af961f2391 Avoidance interface should be a stop point 2020-01-06 15:39:07 +01:00
Julian Kent 33702be3e4 Fix bad assumption: _position_setpoint is normally at _target 2020-01-06 15:39:07 +01:00
Julian Kent 603a993380 Improve comments 2020-01-06 15:39:07 +01:00
Julian Kent 75d7a049c1 Use the new trajectory constraints to synchronize and limit velocities 2020-01-06 15:39:07 +01:00
Julian Kent 025c044530 Add trajectory constraints helpers 2020-01-06 15:39:07 +01:00
Daniel Agar 4b96eb569d flight_tasks: getPositionSetpoint() initialize entire vehicle_local_position_setpoint_s
- this isn't strictly necessary (all used fields are set), but doesn't hurt
 - fixes Coverity CID 268659
2020-01-05 22:59:49 -05:00
Silvan Fuhrer 574b482fdb Navigator: make weather vane work in all auto modes, not just mission (#13761)
- rename of flag in position sp: from allow_weather_vane to disable_weather_vane
 - flag now doesn't have to be set for all auto modes, meaning that weather vane is also active outside of mission
 - flag is set before front transition to align with wp, and unset after alignment is over

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-12-28 12:13:15 -05:00
Matthias Grob ffff35a597 Unit tests: use EXPECT_FLOAT_EQ for float comparisons
as precaution to prevent failing tests because of small potential
rounding errors on certain platforms or compilares.
2019-12-26 12:53:07 +01:00
Matthias Grob 1a5b06d0cf FlightTasks: refactor NAN initializations, spacing 2019-12-18 15:57:48 +01:00
bresch d6ffdc09b8 FlightTaskManualPosition: use new Matrix available functions to cast
from a vector of 4 elements to Vector2f and from Vector2f to Vector3f.
2019-12-11 17:21:57 +02:00
bresch d0bdd80129 FlightTaskManualPosition: Remove MPC_ACC_HOR_ESTM parameter. This was
used back in time when no soothing was done to avoid large steps when
the estimator stops sending a maximum velocity (e.g.:GPS gained during
optical flow flight). Since smoothing is applied later, this is not
required anymore.
2019-12-11 17:21:57 +02:00
Matthias Grob a3d30fc970 mc_pos_control/FlightTask: apply nit-pick review findings 2019-12-11 14:03:16 +01:00
bresch 82b4e766a5 AutoMapper2: re-introduce gradual vertical speed limitation during landing between alt1 and alt2 2019-12-11 14:03:16 +01:00
bresch 4d0786d5b4 FlightTask: use centralized _dist_to_ground computed in FlightTask instead of
recomputing it in AutoMapper, AutoMapper2 and AutoLine
2019-12-11 14:03:16 +01:00
bresch 4ba672a7ba ManualPosition: Limit horizontal speed during landing 2019-12-11 14:03:16 +01:00
Matthias Grob 4a28c8180b FlightTaskManualAltitude: yawspeed filter remove line with no effect, comments
FlightTaskManualAltitude: declaration order

Addressing @bkueng's review comments.
2019-11-25 11:55:47 +01:00
bresch cd2b5e7479 FlightTaskManualAltitude: Use dedicated member variable for yawspeed filter state insted of using the previous setpoint 2019-11-25 11:55:47 +01:00
bresch ffee103ae0 FlightTask: add 1st order lpf on yawrate satepoint for smooth motion 2019-11-25 11:55:47 +01:00
Daniel Agar 7996ee496c lib: name folders consistently 2019-11-13 09:29:21 -05:00