By armwaheed
Take a humanoid from plugged-in-on-the-bench to a sim-to-real-valid Isaac Sim RL training job: discover and control the robot, characterize its real sensor + effector envelope into a machine-readable descriptor, then stage a sensor-calibrated, free-base Isaac Lab RL job from it. Robot-scoped capability skills (verified on a Unitree G1 EDU) compose with robot-agnostic discovery, Isaac-staging, and DGX Spark setup skills, so the same flow onboards a humanoid the agent has never seen before.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Get Device Connect running on a robot/compute host without breaking the vendor SDK, by resolving the Python-version collision agentically. device-connect-edge requires Python >=3.11, but most humanoid SDKs pin an older Python (Unitree G1 = 3.10, ROS 2 Humble / Jetson stacks = 3.8/3.10) with native deps (CycloneDDS, vendor wheels) that are painful to rebuild — so installing Device Connect into the SDK env fails ("No matching distribution") and forcing the SDK onto 3.11 bricks a working install. Use BEFORE running any Device Connect sidecar/driver on a new humanoid (or the G1): probe the host's Python envs, decide UNIFIED vs the two-env BRIDGE, bootstrap a clean >=3.11 env, and verify. Generalizes to any humanoid; G1-specific notes included.
Run a trained policy OUTSIDE its RL env — in a control loop or a multi-robot demo, not just the RL harness. Use after training a policy with stage-isaac-rl-env. It reconstructs the exact observation and action map (obs term order, action = raw*scale + default, joint order) so the exported actor runs standalone, and lifts a walk/locomotion ONNX into a torch MLP on the GPU because there is no onnxruntime CUDA provider on the DGX Spark (aarch64/GB10). The reach deploy is ambidextrous with no observation change. Driven by the robot descriptor; reference impl proven on the Unitree G1.
Onboard a humanoid robot — connected on the bench or a model you've never seen — by characterizing its REAL sensors and effectors on the hardware and emitting a machine-readable robot descriptor (the real-to-sim calibration card). Use this FIRST for any robot before staging an Isaac Sim RL job. It reads the robot's actual degrees of freedom and joint order from the live SDK (not the asset's), its deploy PD gains and neutral pose, its sensor mounts/tilts/blind-spots, and its hand morphology, then reconciles them against the Isaac Sim asset (which sim DOFs the real robot lacks). Works for any humanoid; worked examples for the full 29-DOF Unitree G1 and the reduced 23-DOF G1 EDU are included.
Robot-agnostic real-robot perception: from whatever depth and/or LiDAR a humanoid's descriptor declares, detect large flat surfaces (a table, a bed) and project them — and points/pixels on them — into the robot's body frame for reaching and placement. Vendor-neutral and LiDAR-first: near-field LiDAR is metric-accurate where a stereo/IR depth camera leaves artifacts on textureless bedding, so use depth for coarse coverage and LiDAR for the fine hand target. Use this AFTER discover-robot (which says what sensors exist) to turn a live scene into actionable body-frame geometry; the sim twin is stage-isaac-sensors. One abstraction, driven by the descriptor; the per-sensor algorithms live in the robot's capability bindings (no duplication).
Bring up Isaac Sim + Isaac Lab on an NVIDIA DGX Spark (GB10, aarch64) and avoid the non-obvious gotchas that cost hours. Use when setting up the host for an Isaac Sim RL job on a Spark (or any aarch64/GB10 box). Captures the must-dos: Isaac Sim built from source (no prebuilt aarch64 binary), the mandatory libgomp LD_PRELOAD, running scripts from the IsaacLab directory, the rsl_rl deprecation shim, no onnxruntime GPU provider (lift ONNX to torch), the Fabric render sync, headless eval video, and scaling num_envs on 128 GB unified memory. Sourceable env script included.
Agent skills + verified-on-hardware control stacks that let an AI agent discover, operate, and real-to-sim-stage a humanoid robot — from plugged-in on the bench, to driving it through a real task with a human in the loop, to a sim-to-real-valid Isaac Lab RL job on a DGX Spark.
A projected ~8× fewer tokens to build the full bed-making demo with robotics-connect — an illustrative model, not a measurement (how it adds up).
⚠️ Before running any on-hardware control, read SAFETY.md. It is the non-negotiable safety layer for commanding a real humanoid's motors — the stop hierarchy, the de-risk ladder for deploying a whole-body policy, and the cardinal rule (never
kill -9a low-level control process — it latches the last high-gain command and the robot runs away). Every motor-command process must wrap its loop inlib/safe_stop.py.
robotics-connect is a collection of Claude Code Agent Skills plus the verified-on-hardware control stacks they wrap. It has two pillars, both driven by the same robot descriptor:
The same flow generalizes to a new humanoid by re-running the skills.
A third goal, and a frequent ask from Arm's Physical AI partners: keep the agent's token and context budget small. Operating a robot shouldn't mean re-deriving DDS plumbing, control loops, joint-order maps, and safety procedures token-by-token on every run. robotics-connect pushes that work out of the prompt and into deterministic, hardware-verified code:
SKILL.md, and loads the full detail only for the skill it
actually invokes — the working context stays small no matter how large the stack grows.lib/ and capability stacks are the control, perception,
locomotion, deploy, and safety logic. The agent calls proven code instead of regenerating (and
re-reasoning about) it each session — fewer tokens per task, and more reliable behavior.The result is lower token cost and latency per task, and a control stack that fits comfortably alongside on-device and smaller-context models — without giving up hardware-verified behavior.
How the ~8× in the headline chart adds up (a projected model, not a measurement): without robotics-connect an agent re-derives each capability from primary sources and on-hardware debugging, reloading context every session; with it, the agent loads a concise skill on demand, calls verified code, and reuses one robot descriptor.
Isaac Sim does not fully expose a real robot's sensor + effector envelope. The sensors are tilted, range-limited, and occluded by the robot's own body in ways the sim won't tell you; the real degrees of freedom, gains, and hand morphology differ from whatever asset you downloaded. robotics-connect characterizes those on the hardware, and that characterization is calibration data an agent builds the sim from — so a sim-trained policy/detector transfers, and the RL training cycles are spent on a sim that already matches the robot. robotics-connect is the real-to-sim half that feeds sim-to-real.
npx claudepluginhub armwaheed/robotics-connect --plugin robotics-connectUltra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Frontend design skill for UI/UX implementation
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Memory compression system for Claude Code - persist context across sessions
Marketing skills for AI agents — conversion optimization, copywriting, SEO, paid ads, ad creative, and growth
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.