3. Implementation route and phase state machine
3.1 Recommended Route
Phase 0: Environment and API Audit
Do not train yet. Verify that the official environment can be started, print the keys, types, shapes, and action spaces of observations, and record the robot platform, camera names, depth units, control frequency, and action scaling.
Phase 1: Search for only legal observations
Fix the robot in a safe position and use head RGB-D and LiDAR to perform a full scene scan. The goal is to answer the question “Can the target be detected by the sensors?”, rather than immediately grasping it.
Phase 2: Target Positioning and Base Approach
Convert the image detection results into camera coordinates, and then convert them into base coordinate system using the calibrated external parameters. Only allow the base to approach while keeping the robotic arm retracted. Use the safe distance in front of the end point as the engagement condition.
Phase 3: End Camera Locking
Switch to the end RGB-D mode, and use visual servo to correct left-right deviation, distance, and height. The head camera is responsible for “finding,” while the end camera is responsible for “reaching.” This is the interface division that is most worth migrating in public SLAM solutions.
Stage 4: grasping and lifting verification
The robotic arm extends, the gripper closes, waits for stability, and then lifts slightly. During the lifting phase, ensure the object follows along; if it fails, retreat to search mode without directly entering the trash route.
Stage 5: Transfer and Placement
The object is guided to the trash can using navigation, maintaining a low speed and stable posture; upon arrival, the gripper is opened to check if the object enters the trash can area, and placement confirmation is completed.
3.2 State Machine
textSEARCH
-> LOCALIZE
-> APPROACH
-> EE_LOCK
-> REACH
-> CLOSE
-> LIFT_VERIFY
fail -> OPEN_RESET -> SEARCH
-> CARRY
-> BIN_ALIGN
-> RELEASE
-> PLACE_VERIFY
fail -> RECOVER or SEARCH
-> NEXT_TARGET / FINISH
Each state must output at least: episode_id, step, target_class, phase, observation_source, action_norm, distance_estimate, contact_state, grasp_state, placement_state and failure_code.
3.3 Key Threshold
| Threshold | Pass Criteria | What to do when not passing |
|---|---|---|
| Observation | The official runner can reliably read valid keys and shapes | Do not adjust the grasping policy first |
| Navigation | Multiple targets and multiple seeds can reach the takeover area | Do not write fixed coordinates as a universal solution |
| End alignment | Visual error stabilizes and no continuous jitter occurs | Do not directly increase the movement amplitude |
| Grabbing | The object moves with the gripper after being lifted | Do not use collision score instead of grasping confirmation |
| Placement | The object enters the trash bin判定 area after release | Do not rely solely on “it looks placed” in the video |
| Evaluation | Use the official evaluator and keep the original logs | Do not report only custom metrics |
3.4 Engineering Trade-offs for Task B
When time is limited for the competition, first establish an interpretable hierarchical baseline: rule search plus visual navigation, then replace individual modules. Replacing the detector, navigator, whole-body control, and gripper policy simultaneously makes failures difficult to identify, and it is also hard to document the experience as a tutorial.