Rumoca Rumoca
Home Tutorials Simulation Playground Docs About GitHub
Home Tutorials Simulation Playground Docs About GitHub
Tutorials/Code Generation Workflows
Getting Started
Your First Model Mass-Spring-Damper Bouncing Ball Van der Pol Series RLC Circuit Circuit Components
3D Visualization
Bouncing Ball 3D Two-Body Orbit Pendulum
Code Generation Workflows
Parameter ID (JAX) Linearization (SymPy) Nonlinear MPC (CasADi) On-Manifold EKF (SymForce)

Code Generation Workflows

A Modelica model is a description of the physics. These tutorials show what happens after Rumoca turns that description into code: how the same model becomes a JAX module you can differentiate through, a SymPy expression you can analyze by hand, a CasADi graph you can hand to a nonlinear solver, or a SymForce program you can run on an embedded estimator.

Each tutorial embeds a full Jupyter notebook with rendered outputs, and the Open in Colab badge launches the notebook for live execution — no local Python install required.

Parameter Identification with JAX

Fit unknown physical parameters by gradient descent through a differentiable rollout.

JAX + diffrax

Symbolic Linearization with SymPy

Build the symbolic right-hand side, differentiate to closed-form A, B, and inspect controllability analytically.

SymPy

Nonlinear MPC with CasADi

Drop the generated dynamics into a direct-transcription MPC and solve with IPOPT for an aggressive fixed-wing maneuver.

CasADi + IPOPT

On-Manifold EKF with SymForce

Fuse IMU and GPS with an attitude estimator that lives on SO(3) rather than Euler angles.

SymForce

Parameter Identification with JAX →
Rumoca Rumoca — Apache-2.0 — CogniPilot Foundation
GitHub Issues VS Code Extension