Repository navigation
feat: Dual SO-101 SIM과 RoboTwin 데이터 계약 통합 - #53
Merged
Merged
Conversation
Define the ordered A-to-B pick, return-to-A, and place state machine with freshness, base-arm interlock, transport hold, bounded retry, and fail-closed contracts. Verified by 84 MuJoCo headless tests.
Expose named navigation goals, pose, velocity, settled-state, freshness, and watchdog contracts while keeping left/right wheel commands private to adapters. Verified by five mobility contract tests.
Model front RGB-D and left/right gripper RGB streams with explicit modality, calibration, payload, timestamp, disabled-role, synchronization, and per-stream health contracts. Verified by ten combined capability tests.
Require bilateral finger contact and friction-only lift evidence, preserve three-camera simulation contracts, and record the current hardware role aliases plus unresolved Astra S color-driver findings. Verified: 152/152 mobile_dual_so101 tests pass with hardware_execution=false; install_hardware_aliases.sh passes bash -n; git diff --check passes.
Run official ColorReaderPoll or non-UVC SimpleViewer with the packaged OpenNI2 2.3.0.86 libraries instead of the Ubuntu 2.2 runtime. Record the loader pitfall and pending hardware validation. Verified: launcher bash syntax passes; check mode resolves all runtime files; disconnected mode exits with code 3.
Align the Astra S with the TurtleBot3 front camera bracket, replay the measured 20 Hz shoulder-pan smoke continuously in MuJoCo, and record the non-passing dynamics gate. Verified with 157 MuJoCo tests.
…itions Validate integral frequency and include the first measured state in the velocity gate. Publish NPZ with no-clobber hard links and preserve dangling output symlinks, including CLI use. Hardware-free synthetic regression tests passed locally; no runtime or physical validation claimed.
…ssions 16 hardware-free unittest methods. Includes concurrent output publication, symlink preservation, initial/single-frame transitions, frequency validation, normal image/depth schema, and cleanup on failure. Fixtures are handcrafted HDF5 only.
Use GitHub-hosted ubuntu-24.04, pinned actions and exact CPU-only fixture package versions. Run the existing XML/HDF5 fixtures and 16 new regression tests. No SAPIEN/CUDA/real IL or physical hardware success is implied.
…ning Preserve a 50-branch ref ledger before candidate creation. This records remote SHAs only and is explicitly not a backup of local WIP, Git objects, LFS, physical datasets, or runtime.
…blockers Document actual baseline/candidate synthetic test results, ancestry checks, isolated writer scope and unverified runtime/IL/WIP items. Keep main merge, auto-merge and existing branch/PR cleanup explicitly deferred.
Job-level env cannot reference runner context. Use RUNNER_TEMP inside a run step and GITHUB_ENV for subsequent steps. Preserve the initial workflow attempt in history; no source or original branch changes.
Alpenj
marked this pull request as ready for review
September 7, 2026 01:46
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.
Dual SO-101 SIM/teleop와 RoboTwin HDF5→canonical NPZ 경로를 main에 통합한다. 첫 state→action 급변, 동시 출력 덮어쓰기, 초기 infeasible 경로 허용, 안전 옵션 없는 checkpoint 재시도를 거부한다.
변경과 포함 범위
3ff180aff3eb312b91a2e2c6ea8e8d6b734148b3까지 기존 커밋 이력을 보존한다.weights_only=True로만 읽는다. 지원하지 않는 runtime이나 로드 오류에서는 재시도 없이 실패한다.fd8b0763c5a24ed8cf0753aa6df8b6175315b005.bfb33deb6ad62c0775d5be0e9fbcf4b67de715d6은 이 PR에 포함하지 않았다. 해당 PR과 별도 C++ safety/bimanual/jitter/문서 PR은 후속 작업으로 보존한다.검증
동일한 신규 planner/checkpoint 테스트가 수정 전 각각 실패하고 수정 후 통과했다. 별도 worktree에서 실행했고, 원본 WIP·runtime·실제 dataset에는 patch를 적용하지 않았다.
git diff --check: PASS.최종 head
fd8b0763c5a24ed8cf0753aa6df8b6175315b005의 CI 3개 모두 성공:실행 범위와 한계
이번 통합은 SIM/offline 범위다. planner 회귀는 실제 segment 코드를 CPU tensor 대체 연산과 가짜 constraint 결과로 검사하며, 실제 CuRobo collision geometry를 검증하지 않는다. 초기 constraint 예외를 제거한 뒤 SAPIEN/CuRobo handover를 다시 실행하지 않았으므로 9월 5일 성공 기록을 새 planner의 성공 근거로 사용하지 않는다.
실제 IL 단위/action 의미 교차 검증과 NPZ→실물 record/train importer는 미지원이다. 외부 RoboTwin runtime pin·dirty 변경·asset provenance도 재현 보장 범위 밖이다. installer는 외부 경로를 명시하는 수동 SIM 도구로 분리돼 있고 CI가 실행하지 않는다. 실물 장치 접근이나 실물 dispatch 승인은 수행하지 않았다.
검증 명령과 상세 범위: 통합 검증 기록, RoboTwin 지원 범위.