Skip to main content

What is the Asset Catalog?

The Asset Catalog is Cyberwave’s library of pre-configured robot assets. Each asset includes a 3D model, kinematic definition (URDF), and metadata that lets you create digital twins with a single line of code.
Assets in the catalog are identified by a registry ID in the format vendor/model, such as the-robot-studio/so101 or unitree/go2.

Using Catalog Assets

Create a Twin from an Asset

Use the Python SDK to create a digital twin from any catalog asset:
import cyberwave as cw

# Create a twin from an asset registry ID
robot = cw.twin("the-robot-studio/so101")

# The twin is ready to use
robot.edit_position(x=1, y=0, z=0.5)
robot.edit_rotation(yaw=90)
The cw.twin() function handles everything:
  • Finds the asset in the catalog
  • Creates (or retrieves) a digital twin in your environment
  • Returns an appropriate Twin class based on the asset’s capabilities

Asset Capabilities

Assets in the catalog have different capabilities based on their type:

Robot Arms

Joint control, inverse kinematics, gripper operations

Mobile Robots

Position control, rotation, navigation

Quadrupeds

Leg joint control, gait patterns, camera streaming

Drones

Takeoff, landing, hover, flight control

Capability-Based Twin Classes

The SDK automatically returns the right Twin class based on capabilities:
# Returns GripperTwin for robot arms
arm = cw.twin("the-robot-studio/so101")
arm.joints.set("shoulder", 45)

# Returns CameraTwin for robots with cameras
dog = cw.twin("unitree/go2")
streamer = dog.start_streaming(fps=15)

# Returns FlyingTwin for drones
drone = cw.twin("dji/mini-3")
drone.takeoff(altitude=2.0)

Browsing the Catalog

Web Interface

Browse assets at cyberwave.com/catalog:
  • Filter by category (arms, mobile robots, quadrupeds, drones)
  • Search by manufacturer or model name
  • View 3D previews and specifications
Search the catalog programmatically:
from cyberwave import Cyberwave

client = Cyberwave()

# Search for assets
results = client.assets.search("unitree")
for asset in results:
    print(f"{asset.registry_id}: {asset.name}")

Asset Structure

Each catalog asset contains:
ComponentDescription
Registry IDUnique identifier (vendor/model)
URDF FileRobot description with joints and links
3D ModelGLB mesh for visualization
MetadataCategory, manufacturer, version, tags
CapabilitiesSensors, grippers, flight, etc.

Next Steps