Learning-based Nonlinear Model Predictive Control of Articulated Soft Robots using Recurrent Neural Networks
Hendrik Sch\"afke, Tim-Lukas Habich, Christian Muhmann, Simon F. G., Ehlers, Thomas Seel, Moritz Schappler

TL;DR
This paper introduces a learning-based nonlinear model predictive control approach for articulated soft robots using recurrent neural networks, specifically GRUs, to accurately predict and control complex soft robot behaviors.
Contribution
It demonstrates the effectiveness of RNNs, especially GRUs, in modeling hysteresis and nonlinearities in soft robots within a predictive control framework.
Findings
GRUs outperform LSTMs in accuracy for soft robot modeling
The proposed method achieves an average trajectory tracking error of 1.2 degrees
The approach enables effective closed-loop control of a 5-DoF pneumatic soft robot.
Abstract
Soft robots pose difficulties in terms of control, requiring novel strategies to effectively manipulate their compliant structures. Model-based approaches face challenges due to the high dimensionality and nonlinearities such as hysteresis effects. In contrast, learning-based approaches provide nonlinear models of different soft robots based only on measured data. In this paper, recurrent neural networks (RNNs) predict the behavior of an articulated soft robot (ASR) with five degrees of freedom (DoF). RNNs based on gated recurrent units (GRUs) are compared to the more commonly used long short-term memory (LSTM) networks and show better accuracy. The recurrence enables the capture of hysteresis effects that are inherent in soft robots due to viscoelasticity or friction but cannot be captured by simple feedforward networks. The data-driven model is used within a nonlinear model predictive…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
