Table of Contents
Fetching ...

Learning Differentiable Tensegrity Dynamics using Graph Neural Networks

Nelson Chen, Kun Wang, William R. Johnson, Rebecca Kramer-Bottiglio, Kostas Bekris, Mridul Aanjaneya

TL;DR

This work proposes the use of graph neural networks to model contact dynamics over a graph representation of tensegrity robots, which leverages their natural graph-like cable connectivity between end caps of rigid rods.

Abstract

Tensegrity robots are composed of rigid struts and flexible cables. They constitute an emerging class of hybrid rigid-soft robotic systems and are promising systems for a wide array of applications, ranging from locomotion to assembly. They are difficult to control and model accurately, however, due to their compliance and high number of degrees of freedom. To address this issue, prior work has introduced a differentiable physics engine designed for tensegrity robots based on first principles. In contrast, this work proposes the use of graph neural networks to model contact dynamics over a graph representation of tensegrity robots, which leverages their natural graph-like cable connectivity between end caps of rigid rods. This learned simulator can accurately model 3-bar and 6-bar tensegrity robot dynamics in simulation-to-simulation experiments where MuJoCo is used as the ground truth. It can also achieve higher accuracy than the previous differentiable engine for a real 3-bar tensegrity robot, for which the robot state is only partially observable. When compared against direct applications of recent mesh-based graph neural network simulators, the proposed approach is computationally more efficient, both for training and inference, while achieving higher accuracy. Code and data are available at https://github.com/nchen9191/tensegrity_gnn_simulator_public

Learning Differentiable Tensegrity Dynamics using Graph Neural Networks

TL;DR

This work proposes the use of graph neural networks to model contact dynamics over a graph representation of tensegrity robots, which leverages their natural graph-like cable connectivity between end caps of rigid rods.

Abstract

Tensegrity robots are composed of rigid struts and flexible cables. They constitute an emerging class of hybrid rigid-soft robotic systems and are promising systems for a wide array of applications, ranging from locomotion to assembly. They are difficult to control and model accurately, however, due to their compliance and high number of degrees of freedom. To address this issue, prior work has introduced a differentiable physics engine designed for tensegrity robots based on first principles. In contrast, this work proposes the use of graph neural networks to model contact dynamics over a graph representation of tensegrity robots, which leverages their natural graph-like cable connectivity between end caps of rigid rods. This learned simulator can accurately model 3-bar and 6-bar tensegrity robot dynamics in simulation-to-simulation experiments where MuJoCo is used as the ground truth. It can also achieve higher accuracy than the previous differentiable engine for a real 3-bar tensegrity robot, for which the robot state is only partially observable. When compared against direct applications of recent mesh-based graph neural network simulators, the proposed approach is computationally more efficient, both for training and inference, while achieving higher accuracy. Code and data are available at https://github.com/nchen9191/tensegrity_gnn_simulator_public

Paper Structure

This paper contains 13 sections, 11 equations, 8 figures, 4 tables.

Figures (8)

  • Figure 1: (Left) A real 3-bar tensegrity robot and the graphical representation superimposed. (Right) A simulated 6-bar tensegrity robot in MuJoCo and the graphical representation superimposed. For both platforms, the graph consists of nodes (white) along the rods' axes connected with body edges (blue). Cable edges (yellow) connect two nodes on end caps of different rods. A special ground node (red G node) has contact edges (red) connected to body nodes close to the ground.
  • Figure 2: A trajectory rollout: Upon initialization, the tensegrity graph structure is generated and then used as input at every simulation step - a state $\mathbf{X}^t$ and controls $\mathbf{U}^t$ are passed to a feature generation module that updates the graph structure with contact edges and generates feature vectors for all nodes $\{N_i\}$ as well as edges $\{E_{ij}\}$. These are passed to the simulator to predict $\mathbf{X}^{t+1}$.
  • Figure 3: A single simulation step. The current rigid-body state $\mathbf{X}^t$ and controls $\mathbf{U}^t$ are used to analytically compute the cable's rest length changes $\Delta l^{t+1}_{rest}$ and the passive force induced velocity changes $\Delta \mathbf{V}^{t+1}_{PF}$ . $\Delta \mathbf{V}^{t+1}_{PF}$ is mapped to node-space velocity changes $\Delta \mathbf{v}^{t+1}_{PF}$. $\mathbf{X}^t$ and $\Delta l^{t+1}_{rest}$ are used to generate node and edge features. They are then encoded, processed through multiple message-passing steps, and decoded to the predicted $\Delta \mathbf{v}^{t+1}_{GNN}$. Finally, $\Delta \mathbf{v}^{t+1}_{PF}$ and $\Delta \mathbf{v}^{t+1}_{GNN}$ are summed, time-integrated, and mapped to the predicted next rigid-body state $\mathbf{X}^{t+1}$.
  • Figure 4: Graph structure for a single rod: (left) original rod; (middle) rod decomposed to multiple primitive bodies; (right) rod nodes and edges.
  • Figure 5: Difference between finite-difference velocity $\mathbf{v}^{FD}_1$ vs. instantaneous velocity $\mathbf{v}_1$ in a single step where a collision occurs.
  • ...and 3 more figures