Commit Graph

28 Commits

Author SHA1 Message Date
510e610a27 docs(cloudxr): update INSTALL.md - SDK already in deps/cloudxr
Clarify that CloudXR.js SDK is already included in deps/cloudxr/,
no separate download needed. Users only need NGC credentials to
pull the cloudxr-runtime-early-access Docker image.
2026-03-27 11:29:06 +08:00
623e05f250 Add CloudXR VR streaming support for PICO 4 Ultra (Early Access)
Replaces manual H264/TCP stereo streaming with NVIDIA CloudXR for
higher-quality stereoscopic rendering and lower latency.

Changes:
- teleop_xr_agent.py: add --cloudxr flag (enables Isaac Sim XR mode,
  disables manual StreamingManager)
- deps/cloudxr/: NVIDIA CloudXR.js SDK (Early Access) with Isaac Lab
  teleop React web client
- deps/cloudxr/Dockerfile.wss.proxy: HAProxy WSS proxy for PICO 4 Ultra
  HTTPS mode (routes wss://48322 → ws://49100)
- deps/cloudxr/isaac/webpack.dev.js: disable file watching to avoid
  EMFILE errors with large node_modules
- deps/cloudxr/INSTALL.md: full setup guide

Usage:
  # Start CloudXR Runtime + Isaac Lab
  cd ~/IsaacLab && ./docker/container.py start \
      --files docker-compose.cloudxr-runtime.patch.yaml \
      --env-file .env.cloudxr-runtime

  # Run teleop with CloudXR
  ~/IsaacLab/isaaclab.sh -p teleop_xr_agent.py \
      --task Isaac-MindRobot-2i-DualArm-IK-Abs-v0 --cloudxr

  # Serve web client
  cd deps/cloudxr/isaac && npm run dev-server:https
2026-03-26 14:29:03 +08:00
eef7ff838d Fix PrismaticJoint (trunk) control: IdealPDActuator with high stiffness
Replace ImplicitActuator (which doesn't work for prismatic joints) with
IdealPDActuator. This bypasses PhysX drive and explicitly computes PD forces
using set_dof_actuation_forces().

Changes:
- stiffness=100k, damping=5k to resist arm reaction forces (~150N) with <2mm deflection
- Read trunk_cmd from ArticulationCfg initial position (single source of truth)
- Integrate trunk diagnostics into robot state output
- Remove hardcoded trunk_target parameter
2026-03-25 16:32:52 +08:00
bfe28b188a Fix XR teleop: body-frame IK control for mobile chassis
Switch arm IK from world-frame to body-frame control so that
pushing the XR controller forward always moves the arm in the
robot's forward direction, regardless of chassis rotation.

Key changes:
- dual_arm_agent: convert EEF observations to body frame before
  passing to XR controller; send body-frame IK targets directly
  (removed convert_action_world_to_root)
- xr_controller: XR deltas treated as body-frame deltas (no yaw
  rotation needed — VR view tracks robot heading naturally)
- streaming: add debug frame save for stereo alignment diagnostics
- mindrobot_2i_cfg: IdealPDActuator for trunk, disabled gravity
- Author headers updated to Yutang Li, SIAT

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 11:32:28 +08:00
05a146bca6 重构xr teleop 2026-03-23 22:06:13 +08:00
d756e3ae0b test_zed.py 2026-03-21 21:39:21 +08:00
a4898f7af6 add zed-isaac-sim as git submodule
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21 15:17:40 +08:00
cb5bbac824 contact sensor temp 2026-03-21 15:13:10 +08:00
d23898c3cb 双臂头部遥操作控制 2026-03-19 21:33:39 +08:00
1105d505e6 ignore deps/XRoboToolkit-Teleop-Sample-Python 2026-03-18 20:46:29 +08:00
70cb2e1712 双臂遥操多view 2026-03-18 20:26:44 +08:00
aea3b84894 删除venv 这不应该出现 2026-03-14 20:46:15 +08:00
763e555862 双臂烘箱调整 2026-03-14 20:45:41 +08:00
1afdf9c7f7 Merge origin/pro6000_xh: differential drive, record/replay tools, scene assets
Conflicts resolved:
- assets.py: keep /home/tangger/LYT path (ours)
- mindrobot_cfg.py: keep our initial poses + fix path separator \\ → /
- mindrobot_left_arm_ik_env_cfg.py: keep our wheel_action using
  MINDBOT_WHEEL_JOINTS constant (cleaner than remote's hardcoded list)

From origin/pro6000_xh:
- scripts/tools/: record_demos.py, replay_demos.py, hdf5 tools (Isaac Lab copy)
- assets/: dryingbox.py, lab.py, table.py scene asset definitions
- tele_se3_with_wheel_agent.py: WheelKeyboard inlined, differential drive keys

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 13:44:02 +08:00
7be48b3964 dual arm XR teleoperation: env cfg, shared client, joint locking
- Add MindRobotDualArmIKAbsEnvCfg: standalone dual-arm env inheriting
  ManagerBasedRLEnvCfg directly (no single-arm dependency), 20D action
  space (left_arm7 | wheel4 | left_gripper1 | right_arm7 | right_gripper1)
- Add local mdp/ with parameterized gripper_pos(joint_names) to support
  independent left/right gripper observations without modifying IsaacLab
- Update teleop_xr_agent.py for dual-arm mode: shared XrClient to avoid
  SDK double-init crash, root-frame IK command caching so arm joints are
  locked when grip not pressed (EEF world pos still tracks chassis)
- Tune mindrobot_cfg.py initial poses with singularity-avoiding offsets
- Add CLAUDE.md project instructions and debug_action_assembly.py

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 13:31:26 +08:00
1f36a59fe8 场景 2026-03-13 17:41:44 +08:00
08c4cdacb8 记录动作以及回放record_demo,replay_demo 2026-03-11 16:33:29 +08:00
0c557938a7 wheel contorl keyboard 2026-03-09 21:34:52 +08:00
2b290d805a 轮子 2026-03-06 17:31:00 +08:00
36b4273582 VR 2026-03-06 15:05:45 +08:00
7e0f4a3e75 1 2026-03-06 11:11:06 +08:00
cc64e654ff spacemouse ok 2026-03-05 22:41:56 +08:00
2c9db33517 添加全局变量路径;
添加IL的demo
2026-03-04 18:39:56 +08:00
9ba904e7d2 pro6000_加入lab资产 2026-03-04 16:46:15 +08:00
c7c88e5d8d pro6000_xh配置 2026-03-04 16:45:34 +08:00
9325184f4d 离心机加试管初步配置 2026-02-02 16:39:33 +08:00
196378f2d3 本地4090代码提交 2026-01-28 19:51:03 +08:00
eddcdd428f first commit 2026-01-13 10:44:14 +08:00