Skip to main content

Cadenza Lab - The SDK to build in physical AI

Project description

Cadenza

Run and deploy complex robot actions with a simple Python SDK.

RobotsQuickstartDocsDeploy

Cadenza lets you write complex motion-targeted code and run it in MuJoCo or on hardware. Three robots are supported out of the box.

Website: www.cadenzalabs.xyz  •  pip package: cadenza-lab  •  Deploy to hardware: DEPLOY.md

🤖 Supported robots

Robot Type Actions Control model
Go1 Unitree quadruped 21 Gaits + phases (walk, trot, turn, jump, sit, …)
G1 Unitree humanoid 20 Bipedal locomotion + arms
Arm 6-axis articulated arm 6 Cartesian move_to / pick / place (IK + grasp)

Go1 and G1 deploy to real hardware (see DEPLOY.md); the arm is simulation-only today. Want drones, other arms, or custom hardware? Reach out — acparekh@stanford.edu.

⚡ Quickstart

pip install cadenza-lab

Each robot follows the same shape: create a controller, build a list of actions, run(). The clips below are each rendered straight from the snippet above them.

🐾 Go1 — quadruped

The Go1 stands, walks 2 m, arcs through a turn (nested list = concurrent), jumps, and sits.

import cadenza_lab as cadenza

go1 = cadenza.go1()
go1.run([
    go1.stand(),
    go1.walk_forward(speed=1.5, distance_m=2.0),
    [go1.turn_left(), go1.walk_forward()],   # concurrent: walking arc
    go1.jump(speed=2.0, extension=1.2),
    go1.sit(),
])

Go1 quickstart

🦾 G1 — humanoid

The G1 walks forward with a trajectory-optimized bipedal gait, comes to a balanced stop, then jumps — all under active balance stabilization.

import cadenza_lab as cadenza

g1 = cadenza.g1()
g1.run([
    g1.walk_forward(distance_m=1.0),  # walk, then settle to a stand
    g1.jump(),                        # jump from the balanced stop
])

G1 quickstart

🤖 Arm — 6-axis pick & place

The arm homes, picks the cube off the table, places it to the side, and returns home. Targets are Cartesian (x, y, z); motion is IK-driven and the grasp is a weld the controller activates when the gripper closes.

import cadenza_lab as cadenza

arm = cadenza.arm()
arm.run([
    arm.home(),
    arm.pick((0.50, 0.00, 0.43)),   # grab the cube on the table
    arm.place((0.40, 0.22, 0.43)),  # set it down to the side
    arm.home(),
])

Arm quickstart

📚 Next steps

Full SDK docs www.cadenzalabs.xyz — robots, actions, scenes, gym adapter, inference stack, multi-robot coordination
Deploy to hardware DEPLOY.md — SSH, DDS direct, and bridge modes for Go1 / G1
CLI cadenza list go1 · cadenza sim go1 "walk forward then jump" · cadenza list arm
Examples example.py, examples/

💚 Community

Links
GitHub aparekh02/cadenza
Issues Report a bug or request a feature
License Apache 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cadenza_lab-1.7.1.tar.gz (193.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cadenza_lab-1.7.1-py3-none-any.whl (216.7 kB view details)

Uploaded Python 3

File details

Details for the file cadenza_lab-1.7.1.tar.gz.

File metadata

  • Download URL: cadenza_lab-1.7.1.tar.gz
  • Upload date:
  • Size: 193.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for cadenza_lab-1.7.1.tar.gz
Algorithm Hash digest
SHA256 8925ac5561806e6f781cd5c2dddb6378ffb5413915ed3f2973ba4416d23d5a57
MD5 433443ec7a6bcb7a93412f373a2ff4b8
BLAKE2b-256 9faea4f080b7726b6b6dc5ceddb1ea278d8ba1558849ec486b6ef5068d77e4f1

See more details on using hashes here.

File details

Details for the file cadenza_lab-1.7.1-py3-none-any.whl.

File metadata

  • Download URL: cadenza_lab-1.7.1-py3-none-any.whl
  • Upload date:
  • Size: 216.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for cadenza_lab-1.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 41a5a1c5ffa90b748b98d5ad98350e81b7a2b52129dfc0df0cda360d14138e8e
MD5 9414cec229e7aaa314f427c1a7ce4cec
BLAKE2b-256 62b39932bb9bf9fd4182444b6f219f4882678d5b7bf7930c115fe79e81abb614

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page