Skip to main content

Krabby HAL Server - Jetson

HAL server implementation for Jetson robot deployment with integrated parkour policy inference.

Overview

This package provides an entry point that runs both the Jetson HAL server and parkour inference client in the same process using inproc ZMQ for zero-copy communication.

Architecture

┌─────────────────────────────────────────┐
│         Jetson Process                  │
│                                         │
│  ┌──────────────┐    inproc (ZMQ)     │
│  │ HAL Server   │◄──────────────────┐  │
│  │ (main thread)│                   │  │
│  │  - ZED camera│                   │  │
│  │  - Sensors   │                   │  │
│  │  - Actuators │                   │  │
│  └──────────────┘                   │  │
│         │                           │  │
│         │ publishes observations    │  │
│         │ receives commands         │  │
│         │                           │  │
│  ┌──────────────────────────────────┴─┐│
│  │ Parkour Inference Client           ││
│  │ (separate thread)                  ││
│  │  - Polls observations              ││
│  │  - Runs policy inference           ││
│  │  - Sends joint commands            ││
│  └────────────────────────────────────┘│
└─────────────────────────────────────────┘

Installation

From source (development)

cd hal/server/jetson
pip install -e .

With optional dependencies

pip install -e ".[dev]"

Usage

Command line

After installation, use the krabby-hal-server-jetson command:

krabby-hal-server-jetson \
  --checkpoint /path/to/model.pt

Python module

python -m hal.server.jetson.main --checkpoint /path/to/model.pt

Arguments

Required:

  • --checkpoint: Path to model checkpoint file

Optional:

  • --log-level: Python logging level for this process (DEBUG, INFO, WARNING, ERROR, CRITICAL; default: INFO)

Components

HAL Server (hal.server.jetson.JetsonHalServer)

  • Integrates with ZED camera for depth perception
  • Interfaces with real sensors (IMU, encoders)
  • Applies commands to actuators (motors)
  • Publishes observations via ZMQ PUB socket
  • Receives joint commands via ZMQ PULL socket

Parkour Inference Client (compute.parkour.inference_client.ParkourInferenceClient)

  • Runs in separate thread
  • Polls observations from HAL server
  • Runs parkour policy inference
  • Sends joint commands back to HAL server

Hardware Requirements

  • NVIDIA Jetson (Orin, AGX Xavier, or compatible)
  • ZED Camera (requires ZED SDK and pyzed)
  • Robot Hardware (motors, IMU, encoders)

Development

Project Structure

hal/server/jetson/
├── pyproject.toml      # Package configuration
├── README.md           # This file
├── __init__.py         # Package init
├── main.py             # Entry point; routes on --control-source
├── main_gamepad.py     # gamepad: HAL over TCP for krabby-uno (no torch/teleop imports)
├── main_model.py       # inference / portal: policy client and/or WebRTC teleop
├── runtime.py          # HAL setup, data collector, and control loop shared by both
└── hal_server.py       # JetsonHalServer implementation

Running Tests

pytest tests/integration/test_jetson_hal.py

Note: Most tests require Jetson hardware or ZED SDK and are skipped in x86 environments.

Notes

  • This package uses inproc ZMQ by default for same-process communication (zero-copy, high performance)
  • For distributed deployment, use TCP endpoints instead
  • The parkour inference client runs on a separate thread to avoid blocking the sensor loop
  • Camera, sensors, and actuators are initialized during startup

Metadata

Release files for krabby-hal-server-jetson 0.1.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for krabby-hal-server-jetson 0.1.8
File Interpreter ABI Platform Actions
krabby_hal_server_jetson-0.1.8-py3-none-any.whl Python 3 none any Details for krabby_hal_server_jetson-0.1.8-py3-none-any.whl

Release files / krabby_hal_server_jetson-0.1.8-py3-none-any.whl

Download URL krabby_hal_server_jetson-0.1.8-py3-none-any.whl
Size 43.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9b5b8fa83a5fcc93509552d5f2fe105416bf930fc16698f12ab92aca4b8bbc81
BLAKE2b-256 checksum
How to use checksums
632c71a18f2ea89610b50e91dd09949fe63fe371a6443a5b4cefd37c74c2ae29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Security for krabby-hal-server-jetson 0.1.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page