← Paper Digest

ExoStack: A Modular and Reconfigurable Software Framework for Wearable Robotics Using ROS 2

Debadrata Sarkar, Upamanyu Ray, Soumen Sen, Aman Arora

November 2026

The knee-flexion exosuit SoftEXOwalk, walking outdoors and on a treadmill.

TL;DR An open ROS 2 software stack that runs the whole wearable-robot loop, from ESP32 sensor hubs to gait-event detection, assistance profiles and human-in-the-loop optimization, configured through YAML files instead of new code. The same code runs two different pneumatic exosuits, and eight hubs stream at 99.5 Hz against a 100 Hz target.

What they do

Personalizing an exoskeleton needs more than a joint controller. Body-worn boards must share one time base, gait events must trigger assistance, and each measured cost must be credited to the parameters that produced it. Usually this code is written for one device. ExoStack is a ROS 2 framework for the whole chain, where a new sensor, joint, actuator or optimizer is added through configuration and plug-ins.

How it works

  • ESA (on-body firmware). An Arduino library turns ESP32 boards into micro-ROS sensing or actuation hubs over Wi-Fi or USB. The sketch only declares devices; filters and drivers are built in. A broadcast sync trigger puts all hubs on a shared time base.
  • ExoCore (host nodes). Six executables: sync, gait-event detection, motion planning, assistance profiles, cost and HIL. Four YAML files decide how many instances run, for example one detector per hip and event.
  • HIL loop. The optimizer (CMA-ES or Bayesian optimization) tags each candidate with an id k. The cost node skips adaptation cycles, averages the cost over the following gait cycles and returns it with the same k, so a late cost cannot be credited to the next candidate.
  • PASE. A PyQt5 app that edits the configuration, launches the nodes in order and plots live topics.

Results

  • Two exosuits, one codebase. A bilateral knee-flexion exosuit (Bayesian HIL tuning amplitude and onset delay) and a bilateral hip flexion/extension exosuit (CMA-ES tuning onset, rise, hold and fall times) ran the same ESA library and ExoCore executables. Only device lists, YAML files and plug-ins differed. Both sensed and actuated at 100 Hz.
  • Timing. On a Jetson AGX Orin, a Jetson Orin Nano and a LattePanda Delta, eight hubs publishing at 100 Hz arrived at 99.5 ± 0.018 Hz. All three hosts held at least 97% of a 200-300 Hz planner rate with latency below 18 ms; above that, performance depended on the hardware.

Limitations

The validation shows that the software runs on two devices and reports its timing. The paper reports no user study or comparison of assistance outcomes. The smoother PCHIP planner is listed as non-operational in v1.0. The code is released under a noncommercial license.

Videos

The hip flexion/extension exosuit on a treadmill, with its backpack actuation hubs.

Figures

From Figure 1: System overview. ESA hubs exchange sensor data and set-points with ExoCore through micro-ROS. PASE con...
From Figure 1: System overview. ESA hubs exchange sensor data and set-points with ExoCore through micro-ROS. PASE configures and launches the graph and visualizes topics. YAML entries determine the hub, driver, detector, planner, profile, cost, and HIL instances.
From Figure 5: Validation on (a) the bilateral knee-flexion exosuit SoftEXOwalk, (b) its Bayesian HIL optimization, (...
From Figure 5: Validation on (a) the bilateral knee-flexion exosuit SoftEXOwalk, (b) its Bayesian HIL optimization, (c) the resulting profiles and transmitted forces, (d) the hip flexion/extension exosuit and (e) example CMA-ES-tuned assistance profiles.
From Figure 4: Planner target-rate attainment and end-to-end latency on the three host computers, mean and SD.
From Figure 4: Planner target-rate attainment and end-to-end latency on the three host computers, mean and SD.
Abstract

Wearable robots depend on a software chain that links body-worn sensing to gait interpretation, assistance generation, and actuation. Personalization further requires each measured response to remain associated with the assistance parameters that generated it. This paper presents ExoStack, a modular ROS 2 framework for implementing that chain across embedded hubs and a host computer. Its Embedded Sensing and Actuation (ESA) library configures ESP32 boards as microROS sensing and actuation hubs. ExoCore supplies multi-hub synchronization, gait-event detection, profile generation, motion planning, cost evaluation, and human-in-the-loop (HIL) optimization as configuration-instantiated nodes. The PASE desktop application edits configurations, launches the processing stages, and visualizes ROS 2 topics. Hardware drivers and algorithm plugins can be added through defined interfaces without modifying the generic processing nodes. We characterize hub and planner timing on three embedded computers and demonstrate reuse on two pneumatic exosuits.

Summaries are written automatically from each paper's text. Figures and videos come from the paper and its project page; all credit goes to the authors.