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.