GaitStateController
Finite State Machine controller that detects different phases of gait.
Supported states are: EarlyStance
, LateStance
, LiftOff
, Swing
, Landing
. The current state of a leg is defined through its current relative sagittal foot position (sagittal_pos
) and the normalized load (leg_load
). Transitions between states are defined as follows (see also public attributes below):
Landing
→EarlyStance
occurs ifleg_load
is above stance_load_threshold.EarlyStance
→LateStance
occurs ifsagittal_pos
is below late_stance_threshold.LateStance
→LiftOff
occurs if contralateralleg_load
is above stance_load_threshold orsagittal_pos
is below liftoff_threshold.LiftOff
→Swing
occurs ifleg_load
is below swing_load_threshold.Swing
→Landing
occurs ifsagittal_pos
is above landing_threshold.
See the gait tutorial for an example.
Inherits from Controller.
Public Attributes
Parameter | Type | Description |
---|---|---|
landing_threshold | Real | Relative sagittal distance [leg length] of the swing foot used for detecting LandingState; default = 0. |
late_stance_threshold | Real | Relative sagittal distance [leg length] of the stance foot used for detecting LateStanceState; default = 0. |
liftoff_threshold | Real | Relative sagittal distance [leg length] of the stance foot used for detecting LiftoffState; default = -1. |
override_leg_length | Real | If defined, use custom leg length instead of deriving from model; default = [not set]. |
leg_load_sensor_delay | Real | Neural delay [s] used for load sensors; default = 0. |
stance_load_threshold | Real | Threshold load [bw] for detecting stance phase; default = 0. |
swing_load_threshold | Real | Threshold load [bw] for detecting swing phase; default = stance_load_threshold. |
use_model_com_reference_pos | Real | Use model COM as reference for relative sagittal_pos instead of base body COM; default = 0. |
symmetric | bool | Bool indicating if control parameters should be the same for left and right; default = true. |
omnidirectional | bool | Use omnidirectional control, not restricted to movent along the x-axis; default = 0. |
name | String | Name of the controller, uses as a prefix for the control parameters; empty by default. |
start_time | TimeInSeconds | Time [s] at which Controller becomes active; default = 0. |
stop_time | TimeInSeconds | Time [s] at which Controller becomes inactive; default = until simulation ends. |
signature_prefix | String | Prefix signature with custom string. Special tags: DATE_TIME, DATE_TIME_EXACT, SCONE_VERSION. |
signature_postfix | String | Append custom string to signature. Special tags: DATE_TIME, DATE_TIME_EXACT, SCONE_VERSION. |
signature | String | Set custom signature and omit the auto-generated signature. |
Converted from doxygen using dokugen