Dennis Mannhart
bf25c462b2
Orbit failsafe: switch internal_state to Posctrl such that Manual-Positionctrl is activated after failsafe recovery. This is needed because Orbit can only be invoked via vehicle_command msg.
2019-08-15 14:31:23 +02:00
Dennis Mannhart
9e9b2ab9e8
FlightTaskAutoLine/SmoothVel: stop at waypoint if altitude is has not been reached yet
2019-08-09 12:04:48 +02:00
Dennis Mannhart
5887a2393c
PositionControl: skip controller only if adjusted thrust setpoint are not finite
...
PositionControl: update comment about the order of thrust and position
mc_pos_control: reset setpoints to NAN if required
MulticopterLandDetector: consider to be landed if vehicle is not armed
mc_pos_control: initialize landing struct with landed
mc-pos-ctrl: adjust thrust-setpoint and yaw during ground-contact/maybe-landed without capturing
that information within vehicle-local-position-setpoint topic because that information
does not belong to user intention
PositionControl: set local position/velocity setpoint to NAN if not used in the control pipeline
mc-pos-ctrl: Fill vehicle_local_position_setpoint_s structure as follow:
The message contains setpoints where each type of setpoint is either the input to the PositionController
or was generated by the PositionController and therefore corresponds to the PositioControl internal states (states that were generated by P-PID).
Example:
If the desired setpoint is position-setpoint, _local_pos_sp will contain
position-, velocity- and thrust-setpoint where the velocity- and thrust-setpoint were generated by the PositionControlller.
If the desired setpoint has a velocity-setpoint only, then _local_pos_sp will contain valid velocity- and thrust-setpoint, but the position-setpoint
will remain NAN. Given that the PositionController cannot generate a position-setpoint, this type of setpoint is always equal to the input to the
PositionController.
mc_pos_control: switch to designated initializer for landed
It's less error prone because it produces an error on every discrepancy.
2019-01-08 15:36:30 +01:00
Dennis Mannhart
55947d2782
exponentialFromLimits make small number const
2018-11-30 09:30:00 -05:00
Dennis Mannhart
be4900f61d
FlightTaskAutoMapper2: remove speed_at_target
2018-11-30 09:30:00 -05:00
Dennis Mannhart
b3cde5ac44
FlightTaskAutoLine: replace NAV_ACC_RAD with _target_acceptance_radius
2018-11-30 09:30:00 -05:00
Dennis Mannhart
6110ddc8b1
math Functions constrain X_in of exponentialFromLimits function
2018-11-30 09:30:00 -05:00
Dennis Mannhart
c97b2a3071
FlightTaskAuto: move method getVelocityFromAngle to FlightTaskAutoLine
2018-11-30 09:30:00 -05:00
Dennis Mannhart
23afb939f0
math Functions: exponential function with constraints
2018-11-30 09:30:00 -05:00
Dennis Mannhart
80193cd227
math Functions: replace float with T
2018-11-30 09:30:00 -05:00
Dennis Mannhart
370371767f
FlightTaskAutoLine: ensure that desired speed along track does not exceed maximum speed at threshold to target
2018-11-29 12:32:56 +01:00
Dennis Mannhart
304e00f158
ALTITUDE_THRESHOLD lower to 0.3 meters
2018-10-16 11:13:00 -04:00
Dennis Mannhart
511563d4ac
mc_pos_control: enable control in xy during smooth-takeoff from ground but limit tilt
2018-10-16 11:13:00 -04:00
Dennis Mannhart
3329d69d05
mc_pos_control: replace const with constexpr
2018-10-16 11:13:00 -04:00
Dennis Mannhart
4627d5d6e4
mc_pos_control_main smooth takeoff: enable position-xy/yaw control once above 0.5m from takeoff reference
2018-10-16 11:13:00 -04:00
Dennis Mannhart
345d3278d1
mc_pos_control smooth takeoff: if velocity is valid, the control velocity in xy during takeoff
2018-10-16 11:13:00 -04:00
Dennis Mannhart
4b70584cf4
mc_pos_control takeoff: control velocity if velocity estimation is available, otherwise
...
just keep thrust vector pointing upward
2018-10-16 11:13:00 -04:00
Dennis Mannhart
dbd1e1432a
mc_pos_control: for sanity distinguish between velocity and position setpoint during
...
smooth-takeoff. This is only required if someone writes a FlightTask where both position
and velocity setpoints are finite
2018-10-16 11:13:00 -04:00
Dennis Mannhart
ff45ee67b4
FlightTasks: remove empty line
2018-10-10 10:30:48 -04:00
Dennis Mannhart
c3ba2687ac
FlightTask: if not in air, reActivate the task which will set the setpoints to current
...
vehicle state.
2018-10-10 10:30:48 -04:00
Dennis Mannhart
1f0d559d65
PositionControl: check and set _skip_controller flag at the end of the setpoint update
2018-10-10 10:29:46 -04:00
Dennis Mannhart
2f833a26d1
mc_pos_control: check if position-control setpoint update succeeded.
...
refactor use_obstacle_avoidance method
2018-10-10 10:29:46 -04:00
Dennis Mannhart
6212e9c752
FlightTaskManualAltitude: use stick inputs for the brake check
2018-10-09 12:05:52 -04:00
Dennis Mannhart
3ff8cd33a1
mc_pos_control: smooth takeoff requires current position as reference
2018-08-28 10:14:54 +02:00
Dennis Mannhart
a9d83b77de
ControlMath: math optimization
2018-08-15 16:19:51 +02:00
Dennis Mannhart
d94778dd94
test_controlmath: replace FLT_EPSILON with 10^-6
2018-08-15 16:19:51 +02:00
Dennis Mannhart
caa773008a
PositionControl: degrees to radians
2018-07-20 09:26:18 +02:00
Dennis Mannhart
4761f0a344
PositionControl: bug fix Pv replacement with Pp
2018-07-20 09:26:18 +02:00
Dennis Mannhart
83f6398e93
ControlMath: comments refactor
2018-07-20 09:26:18 +02:00
Dennis Mannhart
19743bcaec
FlightTaskAuto: comments refactor
2018-07-20 09:26:18 +02:00
Dennis Mannhart
c01fab089a
PositionControl parameter renaming. Use the the name as stored in the metadata
2018-07-20 09:26:18 +02:00
Dennis Mannhart
cf59c2a2ac
PositionControl/mc_pos_control: update comments
2018-07-20 09:26:18 +02:00
Dennis Mannhart
673945f28b
PositionControl: check if constraints are below global maximum
2018-07-20 09:26:18 +02:00
Dennis Mannhart
1cde38f82f
FlightTaskAuto: always update yaw
2018-07-20 09:26:18 +02:00
Dennis Mannhart
29391acbca
FlightTaskAutoLine: fix greater sign
2018-07-20 09:26:18 +02:00
Dennis Mannhart
60a9b45c88
Positioncontrol: limit velocity upwards during smooth takeoff
2018-07-20 09:26:18 +02:00
Dennis Mannhart
0f4eb8e766
PositionControl: add integral reset methods
2018-07-20 09:26:18 +02:00
Dennis Mannhart
65a9cd171f
PositionControl: variable replacement
2018-07-20 09:26:18 +02:00
Dennis Mannhart
e2ac12ef2c
FlightTask: comment fixes
2018-07-20 09:26:18 +02:00
Dennis Mannhart
c6b5731086
test_controlmath: add first few tests for constrain function in xy
2018-07-20 09:26:18 +02:00
Dennis Mannhart
c60481614e
ControlMath constrainxy: fix one of the condition
2018-07-20 09:26:18 +02:00
Dennis Mannhart
386b70dc58
ControlMath: add derivation and simplify computation
2018-07-20 09:26:18 +02:00
Dennis Mannhart
99de97a528
FlightTaskAuto: fix global reference update
2018-07-20 09:26:18 +02:00
Dennis Mannhart
b7f729e432
FlightTask: split _evalutateVehiclePosition into _evaluateVehicleLocalPosition
...
and _evaluateVehicleGlobalPosition
2018-07-20 09:26:18 +02:00
Dennis Mannhart
913932ff9e
FlightTask: move geo-lib include to FlightTaskAuto where it is required
...
for conversion from global to local
2018-07-20 09:26:18 +02:00
Dennis Mannhart
10bd3a50ba
PositionControl: parameter subscription declaration
2018-07-20 09:26:18 +02:00
Dennis Mannhart
b20bd076a0
FlightTaskAuto: always update type
2018-07-20 09:26:18 +02:00
Dennis Mannhart
7f68417d19
PositionControl: make distinction for throttle minimum depending on mode
2018-07-20 09:26:18 +02:00
Dennis Mannhart
59087afac8
FlightTaskManualStabilized: replace minimum throttle with minum throttle specific for stabilized
2018-07-20 09:26:18 +02:00
Dennis Mannhart
65603d7de7
FlightTaskAutoLine: don't reset during normal operation
2018-07-20 09:26:18 +02:00
Dennis Mannhart
26ca17e329
comment fix
2018-07-20 09:26:18 +02:00
Dennis Mannhart
08a89ccdbb
FlightTaskAutoLine: if previous type was idle, set thrust to NAN again to ensure
...
thrust is not used. Also, if previous was not a loiter or position type, then reset
setpoints to current state. This is needed because during line following, the
previous setpoints are requires and cannot be NAN.
2018-07-20 09:26:18 +02:00
Dennis Mannhart
5f293cceac
FlightTaskAutoLine: first activate and then reset
2018-07-20 09:26:18 +02:00
Dennis Mannhart
6da47b4a85
FlightTaskAutoLine: move method
2018-07-20 09:26:18 +02:00
Dennis Mannhart
3d034823b0
FlightTaskAutoLine: introduce previous type which used to reset setpoints
2018-07-20 09:26:18 +02:00
Dennis Mannhart
a401778038
FlightTask: remove global to local map
2018-07-20 09:26:18 +02:00
Dennis Mannhart
0efbbdc227
FlightTaskAutoLine: replace xy/z setpoints with FlightTask base setpoints
2018-07-20 09:26:18 +02:00
Dennis Mannhart
37bfd8e01a
FlightTaskAuto: always update cruise speed
2018-07-20 09:26:18 +02:00
Dennis Mannhart
fbe8a558b2
FlightTaskIndex: add AutoLine
2018-07-20 09:26:18 +02:00
Dennis Mannhart
288ee2362e
FlightTaskAuto: remove warning message
2018-07-20 09:26:18 +02:00
Dennis Mannhart
48fa3fbca3
PositionControl: thrust setpoint check with fabsf
2018-04-05 07:30:12 +02:00
Dennis Mannhart
26ffda5079
PositionControl: replace matrix length() method with simple dot-product to safe compuation
2018-04-05 07:30:12 +02:00
Dennis Mannhart
0c6c771620
ControlMath: remove unused methods
2018-04-05 07:30:12 +02:00
Dennis Mannhart
81da94ff46
PositionControl: Anti-windup that uses max in NE based on tilt limit and remaining throttle
...
excess
2018-04-05 07:30:12 +02:00
Dennis Mannhart
88cf2aebc6
PositionControl: comment fix + unused parameter removal
2018-04-05 07:30:12 +02:00
Dennis Mannhart
421aeb69d8
FlightTaskManual: transformation into heading frame use vehicle yaw or yaw_sp based
...
on vehicle rotation in yaw
2018-04-05 07:30:12 +02:00
Dennis Mannhart
ab8527cc8f
FlightTaskManualStabilized: limit manual yaw rate in flighttask
2018-04-05 07:30:12 +02:00
Dennis Mannhart
03b3026e18
PositionControl: remove unused parameters
2018-04-05 07:30:12 +02:00
Dennis Mannhart
67900512ab
PositionControl: remove legacy yaw logic
2018-04-05 07:30:12 +02:00
Dennis Mannhart
017576262c
FlightTaskManual: replace yaw with yaw_sp for rotation
2018-04-05 07:30:12 +02:00
Dennis Mannhart
ec79b2f8c8
ControlMath: don't consider sign when vector length is 0
2018-04-05 07:30:12 +02:00
Dennis Mannhart
bd37c274c6
PositionControl: parameter naming fix
2018-04-05 07:30:12 +02:00
Dennis Mannhart
59bddf339a
ManualSmoothingXY: brake with large default jerk max
2018-04-05 07:30:12 +02:00