Implementing VR Teleoperation for the newly redesign bimanual arm - #173
Open
RamyWahib wants to merge 5 commits into
Open
Implementing VR Teleoperation for the newly redesign bimanual arm#173RamyWahib wants to merge 5 commits into
RamyWahib wants to merge 5 commits into
Conversation
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>
RamyWahib
force-pushed
the
new-vr-teleop
branch
from
August 10, 2026 22:32
b414ad8 to
695d40e
Compare
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.