Skip to content

Implementing VR Teleoperation for the newly redesign bimanual arm - #173

Open
RamyWahib wants to merge 5 commits into
mainfrom
new-vr-teleop
Open

Implementing VR Teleoperation for the newly redesign bimanual arm#173
RamyWahib wants to merge 5 commits into
mainfrom
new-vr-teleop

Conversation

@RamyWahib

@RamyWahib RamyWahib commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

This PR adds VR teleop support for the new wato_arm_v2 (armWithStand) USD — previously we could only teleop the old bimanual arm, this brings the same Quest-based control to the new one.

run_quest_armv2_teleop.py / .sh – Main VR teleop entrypoint for armWithStand. Drives both arms from Quest hand tracking via IK, with motion mapped to match what you see through the headset.
armWithStand_v2_cfg.py – Shared config for the new arm: joint names, gripper positions, and fingertip geometry.
Removed a couple of old debug/dev scripts (keyboard_teleop_armv2*.py, open_arm_v2_usd.py) that are no longer needed.

RamyWahib and others added 4 commits August 10, 2026 18:31
Adapts run_quest_bimanual_teleop.py for the new armWithStand.usd
asset: dedicated armWithStand_v2_cfg.py (joint limits/gains/
fingertip geometry re-derived for this asset's different joint
axes, not copied from bimanual), the VR teleop script itself with
a live-tuned stereo RSD455 head camera, a single-arm keyboard
teleop variant for quick bench testing, and a helper script to
open the bare USD scene for visual inspection.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Restored a clean forward-facing gaze (~50deg downward, no roll,
built directly from forward/up vectors rather than composing
rotations) and re-positioned it after several live-tested
attempts at deriving the pose analytically didn't land correctly.
Also added the same stereo RSD455 preview to keyboard_teleop_armv2.py
so camera framing can be checked while driving the arm by hand.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Two axis-sign flips in run_quest_armWithStand_teleop.py's Quest-to-world
mapping, found via live headset testing: X was inverted (left/right felt
backwards), then Y was inverted after confirming X/Z were correct
(front/back was still swapped). Also reverted an experimental bent-arm
rest pose after live testing showed it wasn't actually natural-looking,
back to the URDF zero pose.

Added two standalone test scripts to help isolate future direction/motion
issues without needing the headset: task_space_test_armv2.py (drag a cube
with the mouse, same fingertip IK path as the VR script) and
keyboard_teleop_armv2_lightbox.py (keyboard-driven arm in the same
lightbox scene/camera setup used for VR teleop).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Comment/refactor cleanup on this file was out of scope for the
wato_arm_v2 VR teleop work -- restored to its state before this branch.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant