Skip to main content

Forge robot and world models from structured JSON specs

Project description

Kinforge

Kinforge is a compiler that generates robot and world models (SDF / URDF) from structured, versioned JSON specifications.

It is designed to:

  • separate model intent from simulator formats
  • produce deterministic, testable output
  • support multi-robot and multi-instance worlds
  • evolve safely via schema versioning

Why Kinforge?

URDF and SDF are:

  • verbose
  • error-prone
  • hard to version
  • difficult to refactor

Kinforge lets you describe what the robot is, not how SDF is written.


Features

  • Versioned JSON schemas (v0, v1)
  • Canonical internal representation (IR)
  • SDF exporter (Gazebo)
  • URDF exporter (ROS-compatible)
  • Deterministic output
  • Frame support (tool0, mounts)
  • Joint limits
  • Default joint states (v1)
  • Golden-file testing

Installation

pip install kinforge

For development:

git clone https://github.com/kinforge-dev/kinforge
cd kinforge
pip install -e .

Shell Completion

Kinforge supports shell tab completion via argcomplete.

Bash

pip install argcomplete
activate-global-python-argcomplete

Quick start

kinforge build examples/kuka_like_arm_v1.json --out arm.sdf

# Output
arm.sdf
kinforge build examples/kuka_like_arm_v1.json --out arm.sdf

If you have Gazebo (Fortress or above) installed, you can view the model:

gz sdf -p simple_arm.sdf

Philosophy

Kinforge treats robot models as compiled artifacts, not hand-written XML.

It is designed to be:

  • predictable

  • composable

  • testable

  • extensible

Schema Design

More read here.

Design Decisions

More read here.

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

kinforge-1.1.1.tar.gz (25.6 kB view details)

Uploaded Source

Built Distribution

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

kinforge-1.1.1-py3-none-any.whl (35.1 kB view details)

Uploaded Python 3

File details

Details for the file kinforge-1.1.1.tar.gz.

File metadata

  • Download URL: kinforge-1.1.1.tar.gz
  • Upload date:
  • Size: 25.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for kinforge-1.1.1.tar.gz
Algorithm Hash digest
SHA256 b370234698fc47bd506933e4d11afd796570a9824d8c9f0065da5de73bf83fab
MD5 ec8929a86295c6815d2f6cd3fe629fdd
BLAKE2b-256 3a1db427c86dc21e4e2d8b05d5c3289bbf0c9ac84396eb2461ef2ed764afa145

See more details on using hashes here.

File details

Details for the file kinforge-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: kinforge-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 35.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for kinforge-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ae0010495511272778285578aa3563e1d01aaf8b9e34e208a85d38d165f5cb2a
MD5 155f65d3a955c80faf5bdde4f356d905
BLAKE2b-256 93bdd24d0cd2cabdb80a9a17e839040c6907509be80ce473dea5d634e5ad9ff3

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