ExoStack / ROS 2 interfaces
Gait-event detector
One node per gait event: reads named channels and publishes a pulse when its plug-in fires.
Each detector passes the configured channels to its plug-in's detect() and publishes 1 when the event is confirmed by its confidence window (Fig. S1a in Configuration).
Node name
<event>_eventExecutable
gait_event_detector via gait_event_detector_launch.pyInstances×E, one per entry of gait_events.yaml
Subscribed topics
| Topic | Description | Message type |
|---|---|---|
/<input_topic> | the synchronized channels (normally /synced_sensors) | std_msgs/Float32MultiArraysynchronized channels layout |
Published topics
| Topic | Description | Message type |
|---|---|---|
/<output_topic> | 1 at each detected event | std_msgs/Int32gait event layout |
Configuration
The keys that name or shape the topics above; every key is explained in Configuration.
| Key | Meaning |
|---|---|
events.<event>.input_topic | topic to read |
events.<event>.sensors | [hub, channel] pairs passed to the plug-in |
events.<event>.algorithm | plug-in in algo/gait_events/ |
events.<event>.parameters | plug-in parameters, e.g. [threshold, fraction] |
events.<event>.history_size | window length N, samples |
events.<event>.output_topic | event topic; a planner's gait_event_topic |