ref:gait_state_controller

Differences

This shows you the differences between two versions of the page.


ref:gait_state_controller [2023/12/14 16:03] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +====== 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 if ''leg_load'' is above **stance_load_threshold**. 
 +  * ''EarlyStance'' -> ''LateStance'' occurs if ''sagittal_pos'' is below **late_stance_threshold**. 
 +  * ''LateStance'' -> ''LiftOff'' occurs if contralateral ''leg_load'' is above **stance_load_threshold** or ''sagittal_pos'' is below **liftoff_threshold**. 
 +  * ''LiftOff'' -> ''Swing'' occurs if ''leg_load'' is below **swing_load_threshold**. 
 +  * ''Swing'' -> ''Landing'' occurs if ''sagittal_pos'' is above **landing_threshold**.
 +
 +See the [[ | gait tutorial]] for an example. 
 +
 +**Inherits from** [[controller|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|Controller]] becomes active; default = 0. |
 +^ stop_time | TimeInSeconds | Time [s] at which [[controller|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. |
 +
 +<sub>Converted from doxygen using [[https://github.com/tgeijten/dokugen|dokugen]]</sub>