Skip to content
 
 

Repository files navigation

Go Stone Placement Task for RoboTwin 2.0

A custom Go stone manipulation task built on RoboTwin 2.0, using the ALOHA dual-arm robot to pick up Go stones and place them on a 5x5 board.

Go stone placement scene

Task Description

The robot picks a Go stone from a source tray and places it at a target intersection on the board. Each episode varies:

  • Board position/rotation -- small random shifts and rotations
  • Stone color -- black or white
  • Target intersection -- any legal position on the 5x5 grid
  • Opening stones -- 0-8 pre-placed stones on the board

The task uses OpenSpiel for legal move validation.

Setup

See SETUP_REMOTE.md for environment installation on a remote GPU machine (vast.ai).

See SETUP_MOTUS.md for Motus VLA training and evaluation.

Collecting Data

# Collect 500 clean demos (no domain randomization)
bash collect_data.sh go_stone_placement go_stone_clean 0

# Collect 200 randomized demos (background, lighting, table height)
bash collect_data.sh go_stone_placement go_stone_placement 0

Converting to Motus Format

python scripts/convert_to_motus.py \
  --input data/go_stone_placement/go_stone_clean \
  --output data/motus/ --subset clean --task go_stone_placement

Files

File Description
envs/go_stone_placement.py Task environment (board, stones, scripted controller)
task_config/go_stone_clean.yml Clean config (no randomization, 500 episodes)
task_config/go_stone_placement.yml Randomized config (200 episodes)
description/task_instruction/go_stone_placement.json Language instruction templates for eval

Based on

This is a fork of RoboTwin 2.0 by Chen et al. (CVPR 2025 Highlight).

About

RoboTwin 2.0 Offical Repo

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages