Independent engineering practice

Make motion
make sense.

We turn multibody models into decisions engineers can trust—from first-principles mechanism analysis to custom simulation workflows.

Live model
Animated planar slider crank mechanismGROUND / 0θ = 0.0°x = 0.000 m

01 / THE PROBLEM

A simulation is only useful when you can explain why it is right.

When constraints drift, forces look suspicious, or a prototype behaves differently from the model, more software is rarely the whole answer. You need the mechanics, the numerics, and the implementation to agree.

02 / EXPERTISE

Where we can
move the work forward.

Focused support for teams who need a model they can inspect, extend, and use with confidence.

01

Mechanism modeling

Turn a physical concept into a clean system of bodies, joints, drivers, forces, and measurable outputs.

  • 2D & 3D model architecture
  • Constraint formulation
  • Motion & load analysis
02

Solver confidence

Find the source of drift, instability, rank loss, or results that simply do not pass an engineering smell test.

  • Numerical diagnostics
  • Independent validation
  • Performance review
03

Engineering workflows

Replace one-off notebooks with readable, tested tools that connect analysis to design and reporting.

  • Python simulation tooling
  • MATLAB-to-Python migration
  • CAD & data integration

03 / TRY IT

Mechanism tools
in your browser.

Instant closed-form previews with honest residuals, plus a full MBSD solver one click away. No install, no account.

04 / PROOF

Worked problems,
validated end to end.

Linkage synthesis, engine balancing and suspension design, each carried from model to the numbers that decide whether it ships.

05 / APPROACH

From uncertain
to understood.

01

Frame the question

Define the physical decision, useful outputs, known unknowns, and what “good enough” means.

02

Make it inspectable

Build the smallest faithful model, expose assumptions, and create diagnostics before adding detail.

03

Challenge the result

Cross-check against limiting cases, conservation laws, independent calculations, and available test data.

04

Leave a working asset

Deliver readable code, documented reasoning, and a workflow your team can continue to own.

Open source, by design

Start with the
open framework.

MBSD Core is a compact Python toolkit for planar mechanism kinematics and constrained dynamics. Read the equations. Run the examples. Keep the code.

slider_crank.py
import numpy as np
from mbsd import Mechanism

r, L = 0.35, 1.15                      # crank radius, rod length [m]

m = Mechanism.planar(gravity=(0.0, 0.0))
ground = m.ground()
crank = m.body("crank", mass=0.5, inertia=0.01)
rod = m.body("rod", mass=1.0, inertia=0.03)
slider = m.body("slider", mass=1.5, inertia=0.02)

m.pin(ground, crank, point_a=(0, 0), point_b=(0, 0))
m.pin(crank, rod, point_a=(r, 0), point_b=(0, 0))
m.pin(rod, slider, point_a=(L, 0), point_b=(0, 0))
m.slider(ground, slider, axis=(1, 0))
m.motor(crank, omega=2 * np.pi)        # 1 rev/s

q0 = np.zeros(m.ncoord)
q0[6:9] = [r, 0, 0]
q0[9:12] = [r + L, 0, 0]

result = m.solve_kinematics(np.linspace(0, 1, 361), q0=q0)
m.assert_constraints_satisfied(result)
print(f"max residual: {m.max_constraint_residual(result):.1e}")

06 / WORKING TOGETHER

Three ways
to start.

From a free ebook to a full programme. Every engagement ends with code and reasoning your team keeps.

07 / FAQ

Questions engineers ask.

What is multi-body systems dynamics?

Multi-body systems dynamics (MBSD) is the engineering discipline of analysing and synthesising connected mechanical systems — linkages, engines, suspensions, robots — as systems of constrained rigid bodies whose motion follows from algebraic and differential equations together.

In practice that means two things: a mechanism has to be assembled consistently (constraints, Jacobians, branches) and it has to behave (forces, energy, vibration). Most design mistakes happen in the gap between the two: a linkage that passes geometry but locks, flips branch or shakes its mounts loose. We work in that gap, with the same model used for synthesis and for dynamic validation.

Is MBSD Core free to use commercially?

Yes. MBSD Core and MBSD Examples are MIT-licensed: use them in commercial projects, modify them and ship them. The browser tools and the solver app on this site are free as well. We earn our living from engagements: modelling, validation and custom tooling built around your mechanism.

We have years of MATLAB mechanism code. Can you work with it?

Yes. A common engagement starts from existing .m scripts: we reproduce the results, move the model to tested Python with the same notation, and add the checks MATLAB scripts rarely have, such as constraint residuals, Jacobian rank and finite-difference derivative tests, so the new code can be trusted against the old.

What does an engagement look like?

It starts with a short description of the mechanism and the decision you need to make. We reply with questions and a proposed scope: usually one well-defined problem (a synthesis study, a validation of an existing model, or a solver issue) delivered as readable code, a report with the numbers that matter, and a hand-over session. Larger programmes add on-site workshops and ongoing support.

START A CONVERSATION

Bring the model
that keeps you
up at night.

A short description is enough to start. You’ll receive a direct, technically informed reply—not a sales sequence.

Best fit: teams shipping motion-heavy hardware, and courses teaching it. Not a fit for one-off hobby kinematics.

Your details are used only to reply to your enquiry.