Skip to main content

URML

A small, opinionated, human-readable language for describing robot intent.

urml.dev


urml-autosar-runtime

Industrial-automation reference runtime for URML — AutosarAdaptiveAdapter for AUTOSAR Adaptive cells, via ara.

AUTOSAR Adaptive is the universal factory-floor / PLC companion spec. This adapter is the industrial-automation analog of the PX4/marine no-ROS proof and mirrors BlueRovAdapter: lazy ara, no ROS 2 dependency, a lazily-opened cached client, failures returned not raised. It hits the manufacturer / federal-procurement wedge (RFC-0007) and complements the shipped industrial-arm family + RFC-0013 primitives. Built against the frozen substrate Protocol per RFC-0014.

Method coverage

URML primitive v0.1
move_to / hover call the configured per-location AUTOSAR Adaptive method node
dock call the configured station-service method — the path RFC-0013 swap_tool rides, preserved
grasp / release call the configured manipulation method
wait hold (success)
measure / wait_for read the configured variable node
report structured record to a local sink (no cloud)
scan documented stub success

detect, capture, speak, listen return not_supported_on_autosar_ecu_cell (pair a vision/HMI companion). The drone trio returns not_applicable_autosar.

Spec gaps (RFC-0014 protocol)

This runtime surfaced two genuinely inexpressible needs — filed as RFC-0015 (ara::com Method/PLC-method invocation) and RFC-0016 (real-time/cyclic manifest block), both Draft, maintainer-decided. They are not silently bolted on. See SPEC-GAPS.md, which also flags the ara LGPL-3.0 optional-dependency posture for maintainer ratification.

Install / use

pip install -e reference/autosar-runtime[autosar]   # installs ara
from urml_autosar_runtime import AutosarAdaptiveAdapter, AutosarConfig
from urml_autosar_runtime.adapter import MethodTarget
cfg = AutosarConfig(location_to_method={"pick_bin": MethodTarget(method="sid=MoveTo", args=["pick_bin"])})
with AutosarAdaptiveAdapter(cfg) as cell:
    assert cell.send_navigation_goal(location="pick_bin").success

Status

v0.1 (this release):

  • AutosarAdaptiveAdapter + AutosarConfig (ara, no ROS). autosar_ecu_cell US-provenance manifest + conformance/fixtures/industrial/07_autosar_ecu_cell_positive.yaml (RFC-0013 pick_from/place_at) verified through the runner (hermetic against MockROSAdapter; adapter-agnostic against AutosarAdaptiveAdapter).
  • Hermetic unit tests: nav (configured + unmapped), dock/swap_tool, grasp, measure, scan-stub, lifecycle, the unconfigured / not-supported / not-applicable sentinels, the missing-[autosar]-extra error, the conformance hook — no ara install required.
  • Gated .github/workflows/autosar-integration.yml: autosar-smoke (real ara), autosar-arm64-build (the Jetson-class QEMU signal), autosar-server-e2e against a local ara server (first run is a calibration run by design — the established px4/ros2/marine convention).

Follow-ups (not yet): RFC-0015/0016 outcomes; a bundled ara demo server for the e2e.

Core Commitment

Apache 2.0. Outside the Core Commitment boundary (only ROS 2 + PX4 reference runtimes are named there) but carries the same no-vendor-coupling, no-cloud, no-enterprise-edition posture. ara is an LGPL-3.0 optional dependency — see SPEC-GAPS.md.

Metadata

Release files for urml-autosar-runtime 0.4.0

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 urml-autosar-runtime 0.4.0
File Interpreter ABI Platform
urml_autosar_runtime-0.4.0-py3-none-any.whl Python 3 none any Details

Release files / urml_autosar_runtime-0.4.0-py3-none-any.whl

Download URL urml_autosar_runtime-0.4.0-py3-none-any.whl
Size 9.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
55044995c3c70d815fcd9a56c4fab5ea0d9d79c60fbae2c441ebbbd3adc04db2
BLAKE2b-256 checksum
How to use checksums
65c59e092278ca77e68ef385ca06b617209ab3fa07388da41504d8933a4535cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release history Release notifications | RSS feed

This release

0.4.0 This release

1 release file

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