두 가지 팔에 대한 추론 설정

양방향 추론은 두 가지 측면에 대한 작업을 동시에 출력하는 단일 정책 네트워크를 실행합니다. 관찰-행동 루프는 훈련 데이터와 동일한 주파수인 50Hz에서 실행되며 두 팔로워 팔이 각각의 작업 청크를 동기화하여 실행합니다.

소스 ~/dk1-env/bin/활성화 # Keep your hand near the E-stop for the first 3 evaluation episodes python -m lerobot.scripts.eval \ --policy-checkpoint ~/dk1-policies/cube-handoff-v1/checkpoint_XXXXX \ --robot-path ~/dk1-config.yaml \ --로봇 유형 dk1_bimanual \ --device cuda \ --num-eval-episodes 10 \ --녹화-비디오 \ --output-dir ~/dk1-evals/v1 # Replace XXXXX with your best checkpoint step (from Unit 5 loss curve analysis) # --record-video saves both arm views as separate mp4 files for failure analysis

첫 번째 평가 실행의 경우 물리적 충돌이 임박하지 않는 한 정책이 중단 없이 실행되도록 허용합니다. 양방향 정책은 실제 환경에 적응하면서 처음 1~2개의 에피소드에서 예상치 못한 동작을 생성하는 경우가 많습니다. 에피소드 3~10은 의미 있는 평가 데이터입니다. 정책이 궁극적으로 실패하더라도 동일한 작업 단계(접근, 파악, 이동, 배치, 홈)에 지속적으로 도달하는지 확인합니다. 부분적인 성공은 진단 정보입니다.

이중 수동 평가 프로토콜

구조화된 프로토콜을 사용하세요. 비공식 평가("작동하는 것 같습니다")는 부분적인 성공이 훨씬 더 흔하고 근본적으로 중단된 핸드오프를 가릴 수 있기 때문에 이중 수동 정책에 대해 신뢰할 수 없습니다.

프로토콜 항목 양손 사양
에피소드 수최소 10개; 더 많은 데이터를 추가하기 전에 신뢰도가 높은 결과를 얻으려면 20개
큐브 시작 위치고정된 테이프 표시 위치 - Unit 4 훈련 설정과 동일
조명훈련 조건과 일치해야 합니다. 창문을 열어도 작업 공간 카메라에 영향을 미칠 만큼 조명이 바뀔 수 있습니다.
완전한 성공으로 간주되는 것큐브는 오른쪽에서 시작하여 왼쪽에서 끝나며 양팔이 홈으로 돌아가는 포즈, 에피소드 중 인간 접촉 없음
부분적인 성공으로 간주되는 것올바르게 파악했지만 전송이 실패하거나 전송이 성공했지만 배치가 목표를 벗어났습니다. 이를 별도로 기록하십시오.
고장 분류로그: (A) 파악 실패, (B) 핸드오프 실패 - 팔 대 팔 전송 중단, (C) 배치 실패, (D) 시간 초과. 핸드오프 실패 범주(B)는 양방향 수동에 고유하며 개선에 가장 유용한 정보입니다.
보고서 측정항목전체 성공률(4단계가 모두 올바른 에피소드) 또한 부분 성공률도 보고합니다. 예: "4/10이 꽉 찼고, 7/10이 핸드오프 단계에 도달했습니다."

일반적인 이중 수동 실패 모드

이러한 오류 모드는 단일 암 오류와 다르며 양방향 특정 수정이 필요합니다.

  • 팔이 비동기적으로 핸드오프 지점에 도착합니다. 한쪽 팔이 핸드오프 위치에 도달하고 기다립니다. 다른 하나는 늦게 도착해요. 정책은 무기 간의 상대적 타이밍을 학습하지 못했습니다. 수정: 전송을 완료하기 전에 두 팔이 1~2초 동안 핸드오프 지점에서 명시적으로 멈추는 20개의 데모를 추가합니다. 이는 데이터에 동기화 요구 사항을 명시적으로 만듭니다.
  • 핸드오프 드롭 — 큐브가 두 팔 사이에 떨어집니다. 가장 일반적인 양손 특정 실패입니다. 받는 팔은 주는 팔의 릴리즈에 비해 그리퍼를 너무 일찍 또는 너무 늦게 닫습니다. 수정: 특히 25% 속도로 15개의 슬로우 모션 핸드오프 데모를 수집합니다. 과장된 타이밍은 정책에 그리퍼 상태 전환 순서에 대한 보다 명확한 신호를 제공합니다.
  • 정책은 단일 부문 전략으로 수렴됩니다. 정책은 다른 팔의 능력을 무시하고 한쪽 팔로만 작업을 완료하는 방법을 학습합니다. 이는 한쪽 팔의 시연이 다른 쪽 팔의 시연보다 더 일관적일 때 발생합니다. 수정: 훈련 곡선(단원 5)에서 각 팔의 동작 오류를 검토하고 특히 약한 팔의 단계를 대상으로 하는 추가 데모를 수집합니다.
  • 팔간 충돌: 두 팔 모두 동일한 작업 공간 위치를 차지하려고 합니다. 이는 안전 이벤트입니다. DK1 하드웨어 서버에서 충돌 방지를 활성화합니다(collision_avoidance: true dk1-config.yaml에서) 평가 중. 안전한 팔 분리를 지속적으로 준수하는 실연 훈련을 통해 대부분의 충돌을 예방할 수 있습니다. 하드웨어 수준 가드는 엣지 케이스를 처리합니다.
  • 배포 시 단계 비동기화: 정책은 올바른 작업을 실행하지만 올바른 시간 순서로 실행되지는 않습니다. 예를 들어 왼팔이 이동하기 전 오른팔 위치입니다. 이는 청크 경계가 작업 단계 전환과 일치하지 않는 작업 청킹 아티팩트입니다. 수정: 감소 chunk_size 100에서 50으로 재교육하세요.

양방향 개선을 위한 데이터 플라이휠

단일 팔 정책에 적용되는 동일한 개선 루프는 이중 수동에도 적용됩니다. 이중 수동 관련 추가 사항은 다음과 같습니다. 첫 번째 작업 순서의 실패 모드. 파악(A단계)이 여전히 일관성이 없으면 핸드오프(B단계)를 개선할 수 없습니다. 작업 순서 순서의 오류를 수정합니다.

1

평가하다

10개의 에피소드를 실행하세요. 각 고장을 단계별로 분류(A/B/C/D)

2

목표

첫 번째 실패 단계를 식별합니다. 해당 단계를 구체적으로 다루는 20~30개의 데모를 수집하세요.

3

재교육

데이터세트에 타겟 데모를 추가합니다. 처음부터 다시 훈련하거나 최상의 체크포인트를 미세 조정하세요.

4

평가하다

10개의 에피소드를 다시 실행하세요. 전체 성공률이 향상되었나요? 다음 실패 단계로 이동합니다.

다음은 무엇입니까

이제 작동하는 양방향 학습 파이프라인이 생겼습니다. 큐브 핸드오프는 기초입니다. 동일한 아키텍처가 훨씬 더 복잡한 작업으로 확장됩니다.

단원 6 완료 시기...

DK1은 구조화된 평가 실행에서 최소 6/10의 전체 성공률로 큐브 핸드오프 작업을 자율적으로 완료합니다. 모든 실패 에피소드를 단계(A/B/C/D)별로 분류하고 대부분의 실패를 담당하는 단계를 식별했습니다. 당신은 실패 비디오를 시청했으며 무엇이 잘못되었는지 구체적으로 설명할 수 있습니다. 다음 개선 반복을 계획할 수 있을 만큼 양손 데이터 플라이휠을 잘 이해하고 있습니다.

작동하는 양손 로봇 학습 시스템을 구축했습니다.

리더/팔로워 아키텍처를 구성하고, 동기화된 두 가지 측면의 데모를 수집하고, 조정된 정책을 처음부터 교육하고 이를 실제 하드웨어에 배포했습니다. 이 수준의 양손 조작은 연구실이 운영되는 곳입니다. 여기에서 구축한 기반은 이 경로를 시작하기 전에는 접근할 수 없었던 조립, 요리 및 접촉이 많은 작업까지 확장됩니다.