Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Previous revision
ref:gait_state_controller [2020/01/03 14:19]
ref:gait_state_controller [2020/11/30 13:14] (current)
tgeijten [GaitStateController]
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 [[https://​scone.software/​doku.php?​id=tutorials:​gait|gait tutorial]] for an example.
 +
 +**Inherits from** [[controller|Controller]].
 +
 +==== Public Attributes ====
 +^ Parameter ^ Type ^ Description ^
 +^ landing_threshold | Real | Relative sagittal distance [m] of the swing foot used for detecting LandingState. |
 +^ late_stance_threshold | Real | Relative sagittal distance [m] of the stance foot used for detecting LateStanceState. |
 +^ liftoff_threshold | Real | Relative sagittal distance [m] of the stance foot used for detecting LiftoffState. |
 +^ override_leg_length | Real | Use custom leg length instead of deriving from model; default = false. |
 +^ 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. |
 +^ symmetric | bool | Bool indicating if control parameters should be the same for left and right; default = true. |
 +^ 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. |
 +^ name | String | Name of the controller, uses as a prefix for the control parameters; empty by default. |
 +^ 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. |
 +
 +<​sub>​Converted from doxygen using [[https://​github.com/​tgeijten/​dokugen|dokugen]]</​sub>​