explaingit

sap-sim/sap_warp

Analysis updated 2026-05-18

13PythonAudience · researcherComplexity · 5/5License

TLDR

A GPU-accelerated physics library that simulates realistic contact and friction between robots and surfaces, with ready-made robot scenes to try.

Mindmap

mindmap
  root((repo))
    What it does
      Contact physics simulation
      GPU accelerated
      Robotics research
    Tech stack
      Python
      NVIDIA Warp
      CUDA
    Use cases
      Simulate robot contact
      Benchmark robot scenes
      Integrate with Newton
    Audience
      Researchers
      Robotics engineers
    Notes
      Apache 2.0
      Ready-made robot scenes

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Simulate accurate contact and friction between robot feet or hands and surfaces

USE CASE 2

Benchmark different robot arms and quadrupeds in a GPU-accelerated physics simulator

USE CASE 3

Add the SAP contact solver to an existing Newton-based robotics simulation

USE CASE 4

Visualize robot simulations in a browser-based 3D viewer

What is it built with?

PythonNVIDIA WarpCUDA

How does it compare?

sap-sim/sap_warp1lystore/awaekactashui/sjtu-ppt-template-skill
Stars131313
LanguagePythonPythonPython
Setup difficultymoderatemoderate
Complexity5/52/52/5
Audienceresearchervibe coderresearcher

Figures from each repo's GitHub metadata at analysis time.

In plain English

SAP Warp is a physics simulation tool for robotics, focused specifically on how robot bodies make contact with surfaces. When building or training robots, one of the hardest problems to simulate accurately is what happens when a robot foot touches the ground or a robotic hand grasps an object. Getting that friction and contact behavior right in a simulator is critical for building robots that work in the real world. SAP Warp is designed to do that accurately and quickly. The project implements a specific mathematical approach called the SAP contact formulation, which comes from published academic research on making contact simulation more stable and predictable. It follows a similar implementation used in Drake, a well-known robotics simulation platform from MIT, but runs on top of Warp, a toolkit from NVIDIA that can use GPU acceleration to run simulations much faster than CPU-only tools. The repository comes with a set of ready-made robot scenes you can load and run immediately. These include a cartpole (a classic robotics test setup), a multi-legged ant robot, several robotic arms (including the widely-used Franka Panda, AgileX Piper, and Universal Robots UR10), and walking robots like the ANYmal quadruped and Unitree humanoids. You can view simulations in a browser-based 3D viewer that starts locally when you run the tool. SAP Warp is also compatible with Newton, a separate physics simulation framework, so teams already using Newton can add the SAP contact solver without rewriting their setup. The project is maintained by researchers from the UCLA AI and Vision Computing Lab and Toyota Research Institute. The code is released under the Apache 2.0 license, which allows both personal and commercial use. It is intended primarily for researchers and engineers working on robotics simulation.

Copy-paste prompts

Prompt 1
Help me set up SAP Warp with uv and run the cartpole example scene.
Prompt 2
Explain how the SAP contact formulation differs from standard contact solvers in robotics simulation.
Prompt 3
Walk me through integrating SAP Warp's contact solver into my existing Newton simulation.
Prompt 4
Show me how to load a custom robot URDF scene into SAP Warp's viewer.

Frequently asked questions

What is sap_warp?

A GPU-accelerated physics library that simulates realistic contact and friction between robots and surfaces, with ready-made robot scenes to try.

What language is sap_warp written in?

Mainly Python. The stack also includes Python, NVIDIA Warp, CUDA.

Who is sap_warp for?

Mainly researcher.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.