Skip to content

API Overview

This page provides an overview of the main components and modules in the SoRoMoX package.

Overview

SoRoMoX is a comprehensive library for modeling, simulating, and controlling soft robots using JAX. The package is organized into several main components:

  • Systems: Robot system implementations (articulated soft robots, pendulums, PCS, GVS, HSA)
  • Control: Model-based controllers for trajectory tracking and regulation
  • Rendering: Visualization and animation utilities
  • Actuation: Actuation modeling and utilities
  • Utilities: Parameter management and symbolic derivation tools

Systems

The Systems module contains implementations for various robot systems, from classical rigid-body pendulums and spatial articulated soft robots to advanced soft continuum robots. All systems provide:

  • Forward kinematics and Jacobians
  • Dynamics (mass matrices, Coriolis forces, gravitational effects)
  • Energy computation methods
  • Support for various actuation methods (direct torque, tendons, pressure chambers)

SoRoMoX includes four main system categories: - Articulated Systems: Planar pendulums, tendon-actuated pendulums, and spatial articulated soft robots - PCS Systems: Piecewise Constant Strain continuum robots (2D & 3D) - GVS Systems: Geometric Variable Strain robots (3D) - HSA Systems: Handed Shearing Auxetics robots (2D)


Control

The Control module provides model-based controllers for soft robots, organized into three control spaces:

  • Configuration-Space Controllers: Operating in the robot's generalized coordinates
  • Operational-Space Controllers: Operating in task space (end-effector positions/orientations)
  • Actuation-Space Controllers: Operating in a transformed coordinate system ideal for underactuated robots

All controllers follow a unified architecture that decomposes control action into model-based and feedback terms, enabling high-performance simulation and real-time control applications.


Rendering

The Rendering module provides a class-based architecture for visualizing soft robots. Multiple renderer implementations are available:

  • MatplotlibRenderer: Generic, works with any robot (2D/3D)
  • Open3DRenderer: Interactive 3D visualization
  • ViserRenderer: Web-based interactive 3D visualization
  • OpenCVPlanarRenderer: Fast 2D rendering
  • OpenCVPlanarHSARenderer: Specialized for PlanarHSA

All renderers inherit from a common base class and provide cached forward kinematics and a unified interface.


Actuation

The Actuation module provides utilities for modeling and working with different actuation methods, including tendon routing, pressure chambers, and direct torque actuation.


Utilities

The Utilities module includes:

  • Parameters: Parameter handling, validation, and default configurations for soft robot systems
  • Geometry: Pose encodings, rotations, and geometric errors
  • Lie Algebra: Rigid-body and constant-strain operators

Getting Started

To get started with SoRoMoX:

  1. Installation: See the Installation Guide for setup instructions
  2. Quick Start: Check out the Quick Start Guide for basic usage examples
  3. Examples: Explore the Examples for comprehensive use cases

For detailed API documentation, navigate to the specific modules using the sidebar.