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:
- Installation: See the Installation Guide for setup instructions
- Quick Start: Check out the Quick Start Guide for basic usage examples
- Examples: Explore the Examples for comprehensive use cases
For detailed API documentation, navigate to the specific modules using the sidebar.