feat(hosted-teleop): Arm hosted teleoperation over the Cloudflare broker - #3004
Merged
Conversation
Codecov Report❌ Patch coverage is @@ Coverage Diff @@
## main #3004 +/- ##
==========================================
+ Coverage 72.99% 73.14% +0.15%
==========================================
Files 1031 1033 +2
Lines 93177 93633 +456
Branches 8479 8518 +39
==========================================
+ Hits 68018 68492 +474
+ Misses 22835 22804 -31
- Partials 2324 2337 +13
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 9 files with indirect coverage changes 🚀 New features to boost your workflow:
|
ruthwikdasyam
force-pushed
the
ruthwik/hostedteleop/3
branch
from
July 16, 2026 19:06
3813ac5 to
e916677
Compare
1 task
ruthwikdasyam
force-pushed
the
ruthwik/hostedteleop/3
branch
from
July 16, 2026 20:49
76da6f6 to
eb6426e
Compare
…der-shutdown hook)
… hardware-cameras only
…oves to /5); warn on future-stamped twists
…eef gripper tests, logger over print, comment fixes
ruthwikdasyam
marked this pull request as ready for review
July 17, 2026 19:01
ruthwikdasyam
requested review from
leshy,
mustafab0,
paul-nechifor and
spomichter
as code owners
July 17, 2026 19:01
mustafab0
reviewed
Jul 20, 2026
… unordered/lossy)
…arative task routing)
…ransit ones can't replay on clear
mustafab0
approved these changes
Jul 21, 2026
ruthwikdasyam
enabled auto-merge
July 21, 2026 19:27
T-Markus-Liang
added a commit
to T-Markus-Liang/dimos_m20
that referenced
this pull request
Jul 25, 2026
* fix: better save path for nav recordings (dimensionalOS#2796) * feat(transport): rust zenoh support and api refactor (dimensionalOS#2753) * feat(arduino): add ArduinoModule with full arduino sim (and real arduino) support (dimensionalOS#1879) * Swastika/docs chore/cleanup and fix links (dimensionalOS#2832) * Velocity API (dimensionalOS#2859) * holonomic trajectory controller (dimensionalOS#2697) Co-authored-by: danvi <bogdan@dimensionalos.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: leshy <lesh@sysphere.org> * fix(config): merge nested module overrides (dimensionalOS#2829) * fix(mls-planner): macOS fix, link pyo3 cdylib (dimensionalOS#2836) * revert(voxels): drop unused time_window mode from VoxelGrid (dimensionalOS#2845) * Revert "feat(arduino): add ArduinoModule with full arduino sim (and r… (dimensionalOS#2868) * feat: external blueprint registration (dimensionalOS#2517) * Fix test_basic_deployment in CI (dimensionalOS#2767) * Run CI on merge queue (dimensionalOS#2936) * fix: disallow unused _ variables (dimensionalOS#2928) * Add Galaxea A1Z arm in simulation (dimensionalOS#2947) Co-authored-by: cc <cc7@duck.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: cc <55869557+TomCC7@users.noreply.github.com> * Initial xArm6 WorldBelief perception stack (dimensionalOS#2665) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * feat(g1-groot): navigation on the real G1 (Point-LIO + raytracing costmap) (dimensionalOS#2861) Co-authored-by: Jeff Hykin <jeff.hykin@gmail.com> Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * Swastika/docs/navigation relocalization (dimensionalOS#2764) Co-authored-by: Cursor <cursoragent@cursor.com> * docs(teleop): rename Hosted Teleop page to Remote Teleop (dimensionalOS#2967) * feat(hosted-teleop): Go2 teleoperation over Cloudflare broker (dimensionalOS#2798) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: spomichter <pomichterstash@gmail.com> Co-authored-by: Sam Bull <git@sambull.org> Co-authored-by: Paul Nechifor <paul@nechifor.net> * DimSim scene editing/authoring in JS + moving inside dimos (dimensionalOS#2187) Co-authored-by: Paul Nechifor <paul@nechifor.net> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(unitree): marshal stop_movement zero-twist onto the loop thread (dimensionalOS#2977) * chore: bump version to 0.0.14b1 (beta pre-release) (dimensionalOS#2971) * add latency graph and description to hosted teleop page (dimensionalOS#2982) * docs(hosted-teleop): operator how-to + config/architecture refresh (dimensionalOS#2945) Co-authored-by: stash <pomichterstash@gmail.com> * serve LFS media via dimos-docs-assets so it renders on mintlify (dimensionalOS#2973) * style(docs): fix trailing whitespace breaking lint on main (dimensionalOS#2991) * add dimTELE banner (dimensionalOS#2984) Co-authored-by: stash <pomichterstash@gmail.com> * feat: blueprint namespaces (dimensionalOS#2725) * fix: delete dead dimsim code (dimensionalOS#2980) Co-authored-by: leshy <lesh@sysphere.org> * fix: run all tests locally (dimensionalOS#2995) * add gitHub community files for contributors and AI-assisted development (dimensionalOS#2347) * fix: large file (dimensionalOS#3003) * Fix/ivan/3d planner voxel colors (dimensionalOS#2983) * feat: ban `__new__` (dimensionalOS#3009) * fix: remove removed cibuildwheel enable group breaking release builds (dimensionalOS#3007) * [Backport release/0.0.14b1] fix: remove removed cibuildwheel enable group breaking release builds (dimensionalOS#3013) Co-authored-by: stash <pomichterstash@gmail.com> * build(deps): bump the actions group across 1 directory with 6 updates (dimensionalOS#3056) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix(manipulation): stabilize agentic xArm simulation (dimensionalOS#2999) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Paul Nechifor <paul@nechifor.net> * fewer fields (dimensionalOS#3052) * Build all GC Roots into Cachix (dimensionalOS#2866) * Control coordinator refactor to add declarative task (dimensionalOS#2959) Co-authored-by: Paul Nechifor <paul@nechifor.net> Co-authored-by: leshy <lesh@sysphere.org> * feat(hosted-teleop): Arm hosted teleoperation over the Cloudflare broker (dimensionalOS#3004) * feat(control): removes frozen set of input streams - now Any Input stream can be routed to the control coordinator (dimensionalOS#3110) * chore: add OpenYAM URDF support (dimensionalOS#3049) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * feat: add Viser robot mesh display options (dimensionalOS#3112) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * add links to cards (dimensionalOS#3065) * [Tests] Add unit tests for SequentialIds (dimensionalOS#3060) * feat(web): PR 1 - Deno (dimensionalOS#3042) * Ivan/feat/go2zenoh (dimensionalOS#3141) * feat: Piper teleop polishing (dimensionalOS#3101) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * feat(hosted-teleop): auto-select operator view via robot_type broker config (dimensionalOS#3144) * chore: remove get_project_root (dimensionalOS#3131) * Add backport label to Dependabot PRs and check docker weekly (dimensionalOS#3067) * fix memory issues DIM-1326 (dimensionalOS#3149) Co-authored-by: danvi <bogdan@dimensionalos.com> * docs(drone): fix dead pre-built RosettaDrone APK link (dimensionalOS#2546) Co-authored-by: Paul Nechifor <paul@nechifor.net> * feat: manipulation planning group (dimensionalOS#2645) Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * Go2 holonomic Pose tracker trajectory controller (dimensionalOS#2948) Co-authored-by: Ivan Nikolic <lesh@sysphere.org> * feat(web): PR 2 - Relay (dimensionalOS#3043) * ai disclose rule update (dimensionalOS#3028) * Replace httpx with aiohttp (dimensionalOS#2974) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Paul Nechifor <paul@nechifor.net> * fix(memory2): recorder ingress reception_ts + poseless streams (dimensionalOS#2927) * ci: smoke-build a wheel on PRs touching release build config (dimensionalOS#3008) * Fix typos and grammar (dimensionalOS#2726) Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com> Co-authored-by: Paul Nechifor <paul@nechifor.net> * feat: visualize manipulation obstacles (dimensionalOS#3108) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * feat(web): PR 3 - Python client (dimensionalOS#3044) * feat(web): PR 4 - E2E (dimensionalOS#3045) * Swastika/chore/readme update (dimensionalOS#3027) * Persist dependencies on disk (dimensionalOS#3167) * ci: label first-time contributor PRs (dimensionalOS#3171) * Add @Dreamsorcerer as global codeowner (dimensionalOS#3165) * feat(m20): integrate official MuJoCo model * docs(m20): add official MuJoCo integration guide * docs(m20): add English guide and fidelity review * docs(m20): make English guide primary * docs(m20): document lateral and yaw limitation * docs(m20): add MuJoCo test matrix * docs(m20): consolidate test matrix into guides * docs(m20): clarify guide reading order * fix(memory2): preserve recorder ingress timing * fix(memory2): avoid undefined frame in pose warning * fix(config): merge nested module overrides (dimensionalOS#2829) (cherry picked from commit 66ce423) * style: format Zenoh service --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Andrew Lauer <69774903+aclauer@users.noreply.github.com> Co-authored-by: Jeff Hykin <jeff.hykin@gmail.com> Co-authored-by: Swastika <44317853+swstica@users.noreply.github.com> Co-authored-by: Dan Vi <bogwi@tutamail.com> Co-authored-by: danvi <bogdan@dimensionalos.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: leshy <lesh@sysphere.org> Co-authored-by: cc <55869557+TomCC7@users.noreply.github.com> Co-authored-by: Paul Nechifor <paul@nechifor.net> Co-authored-by: Sam Bull <git@sambull.org> Co-authored-by: Krishna_Hundekari <113392023+KrishnaH96@users.noreply.github.com> Co-authored-by: cc <cc7@duck.com> Co-authored-by: Jheng-Yi Lin <75511000+jhengyilin@users.noreply.github.com> Co-authored-by: Pim Van den Bosch <49974392+Nabla7@users.noreply.github.com> Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: stash <pomichterstash@gmail.com> Co-authored-by: ruthwikdasyam <63036454+ruthwikdasyam@users.noreply.github.com> Co-authored-by: Viswajit <39920874+Viswa4599@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: dimos-release-bot[bot] <4143859+dimos-release-bot[bot]@users.noreply.github.com> Co-authored-by: Mustafa Bhadsorawala <39084056+mustafab0@users.noreply.github.com> Co-authored-by: 起岚 <155608604+xiaoyaoqilan@users.noreply.github.com> Co-authored-by: Daniel Eneh <72442267+Danny024@users.noreply.github.com> Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
T-Markus-Liang
added a commit
to T-Markus-Liang/dimos_m20
that referenced
this pull request
Jul 25, 2026
* fix: better save path for nav recordings (dimensionalOS#2796) * feat(transport): rust zenoh support and api refactor (dimensionalOS#2753) * feat(arduino): add ArduinoModule with full arduino sim (and real arduino) support (dimensionalOS#1879) * Swastika/docs chore/cleanup and fix links (dimensionalOS#2832) * Velocity API (dimensionalOS#2859) * holonomic trajectory controller (dimensionalOS#2697) Co-authored-by: danvi <bogdan@dimensionalos.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: leshy <lesh@sysphere.org> * fix(config): merge nested module overrides (dimensionalOS#2829) * fix(mls-planner): macOS fix, link pyo3 cdylib (dimensionalOS#2836) * revert(voxels): drop unused time_window mode from VoxelGrid (dimensionalOS#2845) * Revert "feat(arduino): add ArduinoModule with full arduino sim (and r… (dimensionalOS#2868) * feat: external blueprint registration (dimensionalOS#2517) * Fix test_basic_deployment in CI (dimensionalOS#2767) * Run CI on merge queue (dimensionalOS#2936) * fix: disallow unused _ variables (dimensionalOS#2928) * Add Galaxea A1Z arm in simulation (dimensionalOS#2947) Co-authored-by: cc <cc7@duck.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: cc <55869557+TomCC7@users.noreply.github.com> * Initial xArm6 WorldBelief perception stack (dimensionalOS#2665) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * feat(g1-groot): navigation on the real G1 (Point-LIO + raytracing costmap) (dimensionalOS#2861) Co-authored-by: Jeff Hykin <jeff.hykin@gmail.com> Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * Swastika/docs/navigation relocalization (dimensionalOS#2764) Co-authored-by: Cursor <cursoragent@cursor.com> * docs(teleop): rename Hosted Teleop page to Remote Teleop (dimensionalOS#2967) * feat(hosted-teleop): Go2 teleoperation over Cloudflare broker (dimensionalOS#2798) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: spomichter <pomichterstash@gmail.com> Co-authored-by: Sam Bull <git@sambull.org> Co-authored-by: Paul Nechifor <paul@nechifor.net> * DimSim scene editing/authoring in JS + moving inside dimos (dimensionalOS#2187) Co-authored-by: Paul Nechifor <paul@nechifor.net> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(unitree): marshal stop_movement zero-twist onto the loop thread (dimensionalOS#2977) * chore: bump version to 0.0.14b1 (beta pre-release) (dimensionalOS#2971) * add latency graph and description to hosted teleop page (dimensionalOS#2982) * docs(hosted-teleop): operator how-to + config/architecture refresh (dimensionalOS#2945) Co-authored-by: stash <pomichterstash@gmail.com> * serve LFS media via dimos-docs-assets so it renders on mintlify (dimensionalOS#2973) * style(docs): fix trailing whitespace breaking lint on main (dimensionalOS#2991) * add dimTELE banner (dimensionalOS#2984) Co-authored-by: stash <pomichterstash@gmail.com> * feat: blueprint namespaces (dimensionalOS#2725) * fix: delete dead dimsim code (dimensionalOS#2980) Co-authored-by: leshy <lesh@sysphere.org> * fix: run all tests locally (dimensionalOS#2995) * add gitHub community files for contributors and AI-assisted development (dimensionalOS#2347) * fix: large file (dimensionalOS#3003) * Fix/ivan/3d planner voxel colors (dimensionalOS#2983) * feat: ban `__new__` (dimensionalOS#3009) * fix: remove removed cibuildwheel enable group breaking release builds (dimensionalOS#3007) * [Backport release/0.0.14b1] fix: remove removed cibuildwheel enable group breaking release builds (dimensionalOS#3013) Co-authored-by: stash <pomichterstash@gmail.com> * build(deps): bump the actions group across 1 directory with 6 updates (dimensionalOS#3056) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix(manipulation): stabilize agentic xArm simulation (dimensionalOS#2999) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Paul Nechifor <paul@nechifor.net> * fewer fields (dimensionalOS#3052) * Build all GC Roots into Cachix (dimensionalOS#2866) * Control coordinator refactor to add declarative task (dimensionalOS#2959) Co-authored-by: Paul Nechifor <paul@nechifor.net> Co-authored-by: leshy <lesh@sysphere.org> * feat(hosted-teleop): Arm hosted teleoperation over the Cloudflare broker (dimensionalOS#3004) * feat(control): removes frozen set of input streams - now Any Input stream can be routed to the control coordinator (dimensionalOS#3110) * chore: add OpenYAM URDF support (dimensionalOS#3049) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * feat: add Viser robot mesh display options (dimensionalOS#3112) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * add links to cards (dimensionalOS#3065) * [Tests] Add unit tests for SequentialIds (dimensionalOS#3060) * feat(web): PR 1 - Deno (dimensionalOS#3042) * Ivan/feat/go2zenoh (dimensionalOS#3141) * feat: Piper teleop polishing (dimensionalOS#3101) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * feat(hosted-teleop): auto-select operator view via robot_type broker config (dimensionalOS#3144) * chore: remove get_project_root (dimensionalOS#3131) * Add backport label to Dependabot PRs and check docker weekly (dimensionalOS#3067) * fix memory issues DIM-1326 (dimensionalOS#3149) Co-authored-by: danvi <bogdan@dimensionalos.com> * docs(drone): fix dead pre-built RosettaDrone APK link (dimensionalOS#2546) Co-authored-by: Paul Nechifor <paul@nechifor.net> * feat: manipulation planning group (dimensionalOS#2645) Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * Go2 holonomic Pose tracker trajectory controller (dimensionalOS#2948) Co-authored-by: Ivan Nikolic <lesh@sysphere.org> * feat(web): PR 2 - Relay (dimensionalOS#3043) * ai disclose rule update (dimensionalOS#3028) * Replace httpx with aiohttp (dimensionalOS#2974) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Paul Nechifor <paul@nechifor.net> * fix(memory2): recorder ingress reception_ts + poseless streams (dimensionalOS#2927) * ci: smoke-build a wheel on PRs touching release build config (dimensionalOS#3008) * Fix typos and grammar (dimensionalOS#2726) Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com> Co-authored-by: Paul Nechifor <paul@nechifor.net> * feat: visualize manipulation obstacles (dimensionalOS#3108) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * feat(web): PR 3 - Python client (dimensionalOS#3044) * feat(web): PR 4 - E2E (dimensionalOS#3045) * Swastika/chore/readme update (dimensionalOS#3027) * Persist dependencies on disk (dimensionalOS#3167) * ci: label first-time contributor PRs (dimensionalOS#3171) * Add @Dreamsorcerer as global codeowner (dimensionalOS#3165) * feat: add RoboPlan multi-robot planning (dimensionalOS#3155) --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Andrew Lauer <69774903+aclauer@users.noreply.github.com> Co-authored-by: Jeff Hykin <jeff.hykin@gmail.com> Co-authored-by: Swastika <44317853+swstica@users.noreply.github.com> Co-authored-by: Dan Vi <bogwi@tutamail.com> Co-authored-by: danvi <bogdan@dimensionalos.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: leshy <lesh@sysphere.org> Co-authored-by: cc <55869557+TomCC7@users.noreply.github.com> Co-authored-by: Paul Nechifor <paul@nechifor.net> Co-authored-by: Sam Bull <git@sambull.org> Co-authored-by: Krishna_Hundekari <113392023+KrishnaH96@users.noreply.github.com> Co-authored-by: cc <cc7@duck.com> Co-authored-by: Jheng-Yi Lin <75511000+jhengyilin@users.noreply.github.com> Co-authored-by: Pim Van den Bosch <49974392+Nabla7@users.noreply.github.com> Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: stash <pomichterstash@gmail.com> Co-authored-by: ruthwikdasyam <63036454+ruthwikdasyam@users.noreply.github.com> Co-authored-by: Viswajit <39920874+Viswa4599@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: dimos-release-bot[bot] <4143859+dimos-release-bot[bot]@users.noreply.github.com> Co-authored-by: Mustafa Bhadsorawala <39084056+mustafab0@users.noreply.github.com> Co-authored-by: 起岚 <155608604+xiaoyaoqilan@users.noreply.github.com> Co-authored-by: Daniel Eneh <72442267+Danny024@users.noreply.github.com> Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
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.
Contribution path
Feature
Hosted teleop support to drive a xArm from a remote operator (browser or Quest VR) over the Cloudflare broker
eef_twisttask had no gripper support or idle-hold behavior needed for a manipulator.Closes DIM-1131
Solution
ArmCommandModule- operator command/E-STOP plane over the broker. Handles browser EE-twist (with a stale/out-of-order gate), the gripper toggle, and E-STOP.EEFTwistTask- now holds its pose when idle and adds gripper output, so the arm doesn't sag or snap back.gripper_commandinput routed to the gripper-capable tasks.teleop-hosted-xarm6/-xarm7: VR + browser keyboard drive the same arm, with two RealSense cameras in the mux.How to Test
Real arm (xArm6, two RealSense units):
xArm7: set
XARM7_IPand runteleop-hosted-xarm7. Broker key is read from.env(TRANSPORTS__BROKER__API_KEY).Connect from the operator page, engage in VR or with WASD/QE in the browser, Space toggles the gripper.
AI assistance
Claude Code (Fable 5 / Opus 4.8) - used for method implementations, refactoring, review; all changes reviewed and verified by me.
Checklist
uv run pytest, pre-commit) for the files I changed.