Open Source RoboticsRobots, software & learning

libuipc samples

Software

Runnable libuipc examples for contact simulation, beginning with a CUDA backend check and extending to scripted robotics scenes. [1]

Installation & first result →Official websiteGetting started

For
Developers exploring IPC-based contact simulation [1]
Source rights
Named licenses are documented by part. Review licenses
Unknowns
operating system, compute requirements not fully established. Review gaps

Source researched · Not tested by us
Sources checked · Research details

Licenses & related hardware

Requirements · Research details and dates

On this page

Overview

This repository is a collection of programs for learning libuipc contact simulation. It is distinct from the solver library itself: the examples show backend initialization, scene construction and more involved robotics demonstrations. Pin both the sample checkout and the pyuipc environment when reproducing one. [1] [2]

Is this for you?

Known limitations
  • The pypi dependency group does not pin pyuipc.
  • Backend initialization does not verify a complete simulation.
  • Sample 94 is scripted position-servo motion with scene sanity checking disabled, not calibrated torque control.

Editorial assessment from cited documentation; no runtime testing.

[2] [3] [5] · Editorial assessment

What you need

Dependencies
  • Python >=3.11
  • pyuipc installed separately or through the pypi dependency group
  • CUDA backend supported by the selected pyuipc build

[1] [2] [3]

Installation & first result

Open the upstream getting-started guide [1]

  • Check out the reviewed commit.
  • Install base dependencies and a compatible pyuipc build.
  • Run the backend-check script before attempting larger scenes.

Editorial assessment from cited documentation; no runtime testing.

[1] [3] · Editorial assessment

Installation

Use uv sync --group pypi for the documented PyPI path; uv sync alone omits pyuipc.

[1] [2]

Hardware, models & data

Inputs and outputs

Sample scripts construct scenes and simulation outputs; sample 94 documents headless trajectory and validation files.

[1] [5]

Project notes

Initialize the backend before running a larger scene

The reviewed snapshot is a7ca63fb33a3d6964e28ef5d187e2c817d20b8f5, with no GitHub release listed. It requires Python 3.11 or newer. uv sync installs base dependencies but omits pyuipc; the documented PyPI route is uv sync --group pypi. That group names pyuipc without a version pin, so it does not itself freeze solver compatibility. [1] [2] [6]

The README states that its PyPI route supports CUDA 12.8 and directs other CUDA configurations to a source-built wheel. Treat that statement as guidance for this snapshot and check the exact wheel you select. From the checkout, run uv run python examples/0_check_libuipc/main.py after installing the selected backend. The script prints version, unit and constitutive-model information, then constructs a CUDA engine. First initialization may compile kernels. This checks an initialization path, not a complete simulation or benchmark. [1] [3] [4]

Read the hand example's assumptions with its results

Sample 94 demonstrates a scripted four-finger apple pick, transfer and release. Its documented headless run is python main.py --headless 500 from that example directory in the prepared environment, producing trajectory and validation files. Inspect validation.json and trajectory.npz. The documented full-run checks require lift above 0.15 m, transport above 0.35 m, destination support and settling after release, plus every fingertip within 1.5 mm at frames 250 and 325. Upstream reports a validated run, but we did not reproduce it. [5]

The same notes disclose strong position-servo constraints, disabled internal hand contact and disabled scene sanity checking because of known collision-mesh fragments. This is useful as a worked scene, but it does not establish calibrated actuator forces or physical grasp performance. Inspect those assumptions before using its result as a robotics baseline. [5]

The root license is Apache-2.0. Individual robot/mesh assets and external dependencies need their own rights review before reuse; they are not cleared merely by the sample collection's root license. No installation, CUDA initialization or simulation was executed for this profile. [5] [7]

What we checked

Source researched only; no installation, training, benchmark or physical hardware test performed. No affiliate links or reused media.

Not yet established

  • Requirements: operating system, host computer
  • Version-specific hardware compatibility (ecosystem tags alone do not establish it)

Updates

Upstream last updated
Sep 7, 2026 [6]
Latest release
Not established
Profile updated
Oct 17, 2026
Sources last checked
Oct 17, 2026
Next review
Nov 17, 2026
Reviewed revision
commit snapshot; no GitHub releases listed / a7ca63fb33a3d6964e28ef5d187e2c817d20b8f5 · software repository

Source files and licenses

Distinct runnable sample collection; dependency versions and illustrative robotics assumptions explicitly scoped.

LayerAvailability / license
softwareavailable · Apache-2.0
Root source Apache-2.0; individual robot/mesh assets and dependencies require separate rights review. [7]
documentationavailable · Apache-2.0
Repository materials only; external components retain their own terms. [7]

The described examples use no trained policies.

The described examples use constructed scenes; mesh-asset rights remain separately scoped.

References

Each source links to the exact revision we read. “Used for” shows where this page relies on it.

Correction guidance · Discussion is not enabled · Profile format 0.7.0-draft.5

Change history