HCDF

Hardware Configuration Descriptive Format

One description for the physical and connected parts of a cyber-physical system

Version 1.0

Physical Structure

Components, joints, frames, visual and collision geometry, inertial properties, sensors, motors, transmissions, dynamic surfaces, power sources, named states, and closed-loop mechanisms.

Unified Connectivity

Functional ports and channels, physical connectors and positions, antennas, bindings, mates, routed assemblies, and seven topology forms. The same vocabulary covers communication, power delivery, and material transfer over electrical, optical, RF, liquid, and gas carriers.

Rust Toolchain

Pure Rust schema and semantic validation, normalized connectivity projection, HCDF bundles, XML and JSON conversion, and URDF, Xacro, and SDF conversion. Python access is provided through compiled PyO3 bindings.


Composition and Content Integrity

Reusable HCDF modules can be composed with <include>. Includes, model resources, and stream-profile resources may carry a SHA-256 digest, which lets loaders verify and cache pinned content. The digest is optional, so a document chooses whether each resource is pinned.

<hcdf version="1.0" name="mobile-platform">
  <comp name="chassis">
    <visual name="housing">
      <model uri="models/housing.glb" sha="d9507e..."/>
    </visual>
  </comp>
  <stream-profile uri="profiles/operational.streams.xml"
                  sha="2db132..."
                  selection-role="default"/>
  <include uri="components/arm.hcdf"
           sha="0f44b5..."
           name="left-arm"/>
</hcdf>

The <software> element records software identity, version, hash text, and an optional firmware manifest URI. How those fields are matched to a running device is intentionally left to the consuming system.

Learn more: Tools & Ecosystem


Quick Start

Build the Rust CLI, then run schema-shape and semantic validation:

cargo build --release --manifest-path rust/hcdformat-rs/Cargo.toml --features cli --bin hcdf
rust/hcdformat-rs/target/release/hcdf validate --xsd examples/openarm-thor.hcdf
rust/hcdformat-rs/target/release/hcdf validate examples/openarm-thor.hcdf

Browse the specification: Core Schema Spec Browser

View examples: Humanoid Mobile Base | Four-Bar Linkage | OpenArm + Jetson Thor | DM-J8009P OpenArm Joint


Specification

Generated schema references with type hierarchy, attributes, cardinalities, enumerations, and documentation.

Examples

Complete system descriptions, focused kinematic examples, a component-level motor example, and an XSD syntax fixture.

GitHub Repository

Schema sources, Rust implementation, compiled Python bindings, examples, tests, and design documentation. Apache 2.0 license.