Static Apple pick & place: Update docs and add data collection instructions#687
Conversation
There was a problem hiding this comment.
Thank you for improving the documentation, @pulkitg01!
Summary
This PR adds valuable clarity to the teleoperation and evaluation workflows across multiple example pages. The changes are well-structured and address real user needs.
What looks good
✅ Hardware prerequisites: Adding links to IsaacTeleop supported devices and system requirements across all teleoperation docs is helpful — users will appreciate knowing prerequisites upfront.
✅ Data collection protocol: The expanded guidance in the static apple workflow covers important best practices (warm-up runs, smoothness, grasp diversity, trajectory length, replay validation). This kind of explicit protocol helps users collect higher-quality demonstrations.
✅ Suggested task sequence: The updated step-by-step sequence (move right arm aside → approach → grasp → lift → place) is clearer and more actionable than the previous version.
✅ Evaluation guidance: Clarifying that --num_episodes 100 or --num_episodes 1000 is preferred over short --num_steps runs, along with the step-to-episode math, helps users understand how to get representative success rates.
✅ External links verified: Both IsaacTeleop documentation links resolve correctly.
Minor suggestions (non-blocking)
-
Typo in commit message: The first commit message has "requriement" instead of "requirement" — not a blocker since it's just commit history, but worth noting.
-
Consider cross-referencing: The detailed data collection protocol in
static_apple/step_2_teleoperation.rstcould be useful for other workflows too. Consider whether a shared include or cross-reference might reduce duplication in the future.
Verdict
Documentation-only change with accurate content and working links. No issues found.
🟢 LGTM
Update (aad96f5): Updated scene screenshot (docs/images/static_apple_scene.png) to highlight the XR tab — helpful visual improvement for users following the setup instructions. ✅ Still LGTM.
Update (28dc765): Nice refinements in this push:
- IsaacTeleop requirements links: Updated across 5 docs to point to the more specific
#teleoperation-with-isaac-sim-and-isaac-labanchor — helps users land directly on the relevant section. - Replay clarification: Important addition explaining that
replay_demos.pyreplays actions (not exact trajectory playback), and that open-loop replay can miss/drop objects due to physics differences. This manages expectations well. - Episode length source: Evaluation guidance now points to the actual config (
episode_length_s=6.0) — cleaner than leaving it as a magic number.
All documentation refinements, no code changes. ✅ Still LGTM.
Greptile SummaryThis is a documentation-only PR that improves the static apple pick-and-place workflow docs and adds consistent IsaacTeleop prerequisite notes across four teleoperation guides.
Confidence Score: 5/5Documentation-only change with no runtime behavior modifications; safe to merge. All six changed files are documentation (RST) and an LFS image pointer. The new content is internally consistent: the recording command already carries --num_success_steps 10 (matching the important block's guidance), and the evaluation arithmetic (300 steps/episode × 100/1000 episodes) is correct. No code paths are affected. No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[User reads teleoperation doc] --> B[New: Check IsaacTeleop\nsupported devices & system requirements]
B --> C[Start CloudXR Runtime\n& connect headset]
C --> D[Run recording script\n--num_demos 10 tutorial\nor --num_demos 400 full]
D --> E{New: Data collection\nprotocol}
E --> E1[Warm-up: 5 practice runs]
E --> E2[Smooth motions, fixed torso]
E --> E3[Diverse grasps\ntop-down & side]
E --> E4[Clean successes only\n200-400 timestep episodes]
E1 & E2 & E3 & E4 --> F[New: Suggested sequence\n1. Move right arm aside\n2. Approach apple with left arm\n3. Grasp firmly\n4. Lift straight up\n5. Lower & release onto plate]
F --> G[Replay HDF5 for\naction-level sanity check]
G --> H{Ready for training?}
H -- Yes --> I[Convert to LeRobot\n& policy post-training]
H -- No --> D
I --> J[Evaluate policy]
J --> K[New: --num_episodes 100\nquick estimate\nor --num_episodes 1000\nstrong estimate]
Reviews (4): Last reviewed commit: "Add reason for num episodes" | Re-trigger Greptile |
Summary
Add data collection guidelines, clarify teleop and evaluation docs
Detailed description
Reason for the change:
What changed:
--num_episodes 100or--num_episodes 1000, plus approximate--num_stepsequivalents.Impact: