Gallery Deep Links, Native Xacro Support, and ROS 2 Control Actuators; ARMOR v1.1 Release Notes

ARMOR started with a clear premise: the device in your pocket should be a fully capable spatial robotics workstation. With v1.0 and our native macOS release, we brought multi-robot MuJoCo 3.9 worlds and cross-device syncing to your Apple ecosystem.

AR Mobile Robotics
Download on the App Store

armor.dc-engineer.com

The latest update, ARMOR v1.1 brings workflow improvements for robotics engineers who work directly with complex URDF and Xacro descriptions, advanced control architectures, and a brand new web-based robot gallery with deep links. Whether you are inspecting a robot on your iPhone in the lab or simulating a multi-robot cell on your Mac, v1.1 makes importing, editing, and simulating robot designs smoother than ever.

Robot Gallery Deep Links — URDF From Web to Workspace in One Tap

Finding and testing new robot models shouldn’t require manual file transfers. In v1.1, ARMOR introduces gallery deep linking:

The ARMOR website simplifies discovery and import of URDF robot models
The AR Mobile Robotics Website Gallery
  • Universal Links & Custom Schemes: Tapping “Open in ARMOR” on web galleries downloads robots and initializes projects instantly using custom schemes that route directly into the ARMOR app.
  • Secure Manifest Validation: Manifest URLs are strictly derived from verified slugs, rejecting unauthorized hosts and direct API endpoints. Downloads execute 5-at-a-time with byte-based progress, SHA-256 verification per file, and robust HTTP backoff.
  • Flexible Delivery Modes: Supports remote-files, remote-archive (automatic ZIP extraction for models like Spot), and remote-xacro (on-device tree expansion for models like the Franka Panda and FR3).
  • Smart Deduplication: Project IDs are derived directly from the slug and variant, so re-tapping a gallery link opens your existing project rather than creating duplicate clutter.
Secure gallery import confirmation sheet in ARMOR showing license attribution, file count, and download progress.
Gallery Import Sheet in the ARMOR App

Native Xacro Support — Full Macro Evaluation on Device

Xacro is the industry standard for parametric robot descriptions in ROS. ARMOR v1.1 features a brand new XacroPreprocessor:

  • Dynamic Scoping: Unlike naive regex approaches, macro bodies now evaluate correctly within their caller’s symbol table using true dynamic scoping.
  • Conditional Evaluation: <xacro:if> and <xacro:unless> blocks are properly skipped when false, preventing syntax errors on unselected branches.
  • Full ROS Parity: Supports recursive <xacro:include> with $(find <package>) resolution, <xacro:arg>overrides, lazy/eager properties (lazy_eval="false"), block insertion (<xacro:insert_block>, Python expression evaluation for ${...}, and YAML mapping subsets for xacro.load_yaml.
  • Complex Robot Integration: Complex multi-DOF arms like the Franka Panda and FR3 expand perfectly to their exact kinematic specifications.
Franka Panda robot model loaded via remote-xacro expansion in ARMOR, showing fully resolved kinematic joints.
Franka Panda Imported in ARMOR via XACRO Expansion

Production-Grade ROS 2 Control Actuator Support

For robotics engineers testing control algorithms, ARMOR v1.1 bridges robot descriptions directly to MuJoCo physics dynamics through robust ros2_control integration:

  • Automatic Actuator Injection: Joints equipped with <ros2_control> blocks automatically compile MuJoCo <position>, <velocity>, and <motor> actuators from their command interfaces.
  • Smart Gain Computation: Default position-actuator gains (kp, kv) are now dynamically computed from child link inertia tensors and mass.
  • Multi-Robot Actuator Composition: Multi-robot scenes built via mjs_attach automatically extract, and combine actuator blocks into the final physics specification.

Hardened Security and Performance Enhancements

v1.1 brings extensive under-the-hood hardening across storage, rendering, and concurrency:

  • ZIP Extraction Hardening: Archives downloaded from remote URLs undergo rigorous pre-validation against path traversal (.. escapes), symlinks, zip64 sentinels, and uncompressed size ceilings.
  • Granular Editing Performance: Robot edits now compute a precise RobotDiff and update only affected entities (transforms, materials, single-link geometry) rather than forcing heavy scene-graph rebuilds. Physics recompilation is deferred and coalesced during playback so live tuning never stutters the frame loop.
  • Multi-Robot Mesh Scoping: Mesh assets are strictly scoped to their owning robot description ID (ProjectAsset.robotDescriptionID), preventing filename collisions in multi-robot scenes.
  • Solver Concurrency & Watchdogs: MuJoCo working-directory operations are strictly serialized to eliminate race conditions, and an intelligent compile watchdog safely abandons and retries stalled compiles with a recoverable UI action.

Bridging Mobile and Desktop Robotics

ARMOR v1.1 expands its professional-grade robotics tooling across the entire Apple ecosystem. Whether you are pulling a parameterized robot from a web gallery via deep link, fine-tuning its SRDF semantics, or exporting a multi-robot scene to desktop MuJoCo and ROS/Gazebo, ARMOR keeps your workflow frictionless.

Try It Out

ARMOR v1.1 is available now on the App Store and Mac App Store. Grab the update, test out the new gallery deep links, and let us know what multi-robot simulations and Xacro models you’re building!

Leave a Reply

Your email address will not be published. Required fields are marked *