ref:gait_state_controller

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):

  • LandingEarlyStance occurs if leg_load is above stance_load_threshold.
  • EarlyStanceLateStance occurs if sagittal_pos is below late_stance_threshold.
  • LateStanceLiftOff occurs if contralateral leg_load is above stance_load_threshold or sagittal_pos is below liftoff_threshold.
  • LiftOffSwing occurs if leg_load is below swing_load_threshold.
  • SwingLanding occurs if sagittal_pos is above landing_threshold.

See the gait tutorial for an example.

Inherits from Controller.

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