Date: 2025-09-07
dataset:: https://huggingface.co/datasets/Enstar07/piper_ACT_09-08_pickC2laundry Task information: piper pick cloth from basket to laundry
Episodes Collected: 70
Training: 120,000 steps completed
Deployment Result: piper can successfully grab clothes into the washing machine, and also gradually pick the clothes hanging at the washing machine door into the washing machine.
Pick rate: 90-95%

Data Collection

Successfully collected 70 episodes: piper dataset


 python -m lerobot.record \
    --robot.disable_torque_on_disconnect=true \
    --robot.type=piper \
    --robot.port=can0 \
     --robot.cameras="{'handeye': {'type':'opencv', 'index_or_path':0, 'width':640, 'height':480, 'fps':30}, 'fixed': {'type':'opencv', 'index_or_path':2, 'width':640, 'height':480, 'fps':30}, 'extra': {'type':'opencv', 'index_or_path':4, 'width':640, 'height':480, 'fps':30}}" \
    --teleop.type=so101_leader \
    --teleop.port=/dev/ttyACM0 \
    --teleop.id=R11 \
    --display_data=true \
    --dataset.repo_id=local/so101_piper_pickC2washer \
    --dataset.num_episodes=30 \
    --dataset.episode_time_s=40 \
    --dataset.reset_time_s=5 \
    --dataset.push_to_hub=false \
    --resume=true \
    --dataset.root=/home/paris/X/data/piper_data/piper_09_08 \
    --dataset.single_task="piper pick cloth2washer"

--resume=true \
Training

Training 120,000 steps, results saved at:
outputs/train/piper/piper_pickC2washer_120000

  nohup python scripts/train.py \
  --dataset.repo_id=/home/paris/X/data/piper_data/piper_09_08 \
  --policy.type=act \
  --output_dir=outputs/train/piper/piper_pickC2washer_120000 \
  --job_name=piper_pickC2washer \
  --policy.device=cuda \
  --batch_size=32 \
  --steps=120000 \
  --save_freq=5000 \
  --eval_freq=5000 \
  --log_freq=1000 \
  --policy.push_to_hub=false \
  > train.log 2>&1 &

Check training progress:

tail -f train.log 
Deployment

Deployment successful: after 120,000 steps training,
the result is that piper can successfully pick clothes into the washing machine with high accuracy, and also gradually pick the clothes hanging on the washing machine door into the washing machine.
sometimes, it cannot distinguish the basket boundary clearly.
Models in /last/ work.
Next step: increase dataset size and training steps.

python scripts/deploy.py \
  --robot.type=piper \
  --robot.disable_torque_on_disconnect=true \
  --robot.port=can0 \
  --robot.cameras="{'handeye': {'type':'opencv', 'index_or_path':0, 'width':640, 'height':480, 'fps':30}, 'fixed': {'type':'opencv', 'index_or_path':2, 'width':640, 'height':480, 'fps':30}, 'extra': {'type':'opencv', 'index_or_path':4, 'width':640, 'height':480, 'fps':30}}" \
  --display_data=true \
  --dataset.single_task="piper_pickA2B" \
  --policy.path=/home/paris/X/so101/lerobot/src/lerobot/outputs/train/piper/piper_pickC2washer_120000/checkpoints/last/pretrained_model \
  --policy.device=cuda \
  --dataset.episode_time_s=9999 \
  --dataset.repo_id=local/eval_pickC2washer00 \
  --dataset.push_to_hub=false 
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support