← Back
Home › Systems › Simulation and scientific computing

robotics-sim

robotics physics simulation

MuJoCo

SystemTechniques · 8Primitives · 25 robotics-sim Complementarity contact solverphysics · medium: Contact as LCP or convex optimization (PGS, Newton) with friction cones; soft contactsJoint constraintsphysics · medium: Hinge, ball, slider and motor constraints as Jacobian rows for impulse solversRigid body dynamics algorithmsphysics · medium: Featherstone RNEA/ABA/CRBA for articulated-body inverse and forward dynamicsSequential impulse solverphysics · medium: Iterative contact solver applying impulses one constraint at a time with accumulated clamping and warm starting; the standard solver for stacking and friction in real-time physics engines.›Inverse kinematicsrobotics · medium: CCD/FABRIK/Jacobian solvers posing joint chains to reach targetsLevenberg marquardtnumerics · medium: Damped Gauss-Newton nonlinear least squares for model calibrationContact manifold generationphysics · medium: Build persistent contact point sets from collision normals by clipping, with feature IDs for warm startsQuaternion rotationsgeometry · low: Unit quaternions as 3D rotations: 4 floats, cheap composition, no gimbal lock, plus the conversions, interpolation choices and numerical care needed in practice.›LU and Cholesky factorizationnumerics · low: Factor A = PLU (any square matrix, partial pivoting) or A = LLᵀ (SPD) once in O(n³), then solve each right-hand side in O(n²).›GJK and EPAphysics · low: GJK decides whether (and how far apart) two convex shapes are from their support functions alone; EPA expands its simplex into penetration depth and normal.›Structure of arrays and hot/cold sp…hardware-os · low: Store each field in its own array and keep rarely used fields apart, so a loop reads only the bytes it needs and the compiler can vectorize it.›Reverse-mode automatic differentiat…ml-training · low: Record the forward computation on a tape, then sweep it backwards once to get the gradient of a scalar loss for all inputs.›Conjugate gradientnumerics · low: Krylov iteration for symmetric positive definite Ax = b using one matrix-vector product and two dot products per step; converges in about √κ iterations.›Newton root findingnumerics · low: Linearize at the guess and jump to the tangent root; quadratic convergence near a simple root, made robust by brackets (1D) or line search.›Runge-Kutta 4numerics · low: The classic four-stage, fourth-order ODE step; error drops 16× when the step halves, with no derivatives or past steps needed.›Semi-implicit Eulernumerics · low: Update velocity from forces first, then position with the new velocity: explicit Euler cost, but symplectic and stable; the default game-physics integrator.›Bounding volume hierarchyphysics · low: Binary tree of nested bounding boxes; prunes overlap and ray queries to O(log n) for any size distribution, and supports cheap insert/remove for moving objects.›Sweep and prunephysics · low: Sort box endpoints along an axis and sweep: only intervals that overlap on that axis are tested; near-linear per frame thanks to temporal coherence.›Sparse matrices (CSR)numerics · low: Compressed sparse row stores only nonzeros as row pointers, column indices and values; SpMV streams them once, so it is memory-bandwidth bound.›Rigid-body dynamicsphysics · low: Advance one 3D rigid body per step from force and torque: semi-implicit Euler for position, an inertia tensor in the body frame, and quaternion orientation updated by the exponential map.›Rigid-body transforms (SE(3) poses)robotics · low: Represent, compose, invert, integrate and interpolate 3D poses as unit quaternion plus translation, with exp/log maps for small motions and uncertainty.›Simulation islands sleepingphysics · low: Group touching bodies into islands, solve them independently and put resting islands to sleepPCA and SVDmachine-learning · low: Find orthogonal directions of maximum variance by an SVD of the centred data; randomized SVD gets the top k components in a few passes.›+ 1 more techniques+ 9 more primitives

Similar systems

Share the most building blocks with this one.