AI Tools7분 분량

움직이고 있는 로봇에 새 지시를 내리면 어떻게 될까?

LeRobot 0.7이 대화형 롤아웃을 추가했습니다. 실행 중인 로봇에 새 지시를 내리고, 시각 답변과 물리 동작을 구분하고, 안전한 시험을 설계하는 방법을 살펴봅니다.

K
Ken Jo

로봇이 스펀지 블록을 분류하는 중에 빨간 통이 가득 찼습니다. 다음 블록은 이미 집게에 들려 있습니다. 쓸 만한 조작 화면이라면 운영자가 다음 동작의 목적지를 바꾸고, 카메라에 뭐가 보이는지 묻고, 필요하면 실행을 멈출 수 있어야 합니다. 집게가 물체를 들고 있을 때 이 세 가지 동작은 서로 다른 결과를 냅니다.

Hugging Face는 11월 5일 로봇 시연 수집, 정책 학습, 장비 실행을 위한 오픈소스 도구 LeRobot 0.7.0을 출시했습니다. 대화형 롤아웃은 로봇 연결과 로드된 정책을 유지한 채 운영자가 터미널에서 새 지시를 내리게 합니다. 호환 정책이나 외부 계획 모델이 장면을 해석하고 다음 하위 작업을 정할 수도 있습니다. 같은 릴리스에서 데이터 세트 스트리밍, 학습, 원격 추론도 개편했습니다. 실행 중 조작은 실험 도중 운영자가 할 수 있는 일을 바꾼다는 점에서 자세히 볼 만합니다. LeRobot 릴리스 발표 · v0.7.0 릴리스

다음은 작업대에서 파일럿을 설계할 때 쓸 수 있는 사례입니다. 모델에 요청한 일, 컨트롤러가 실제로 전송한 동작, 이후 눈으로 확인한 결과를 구분합니다.

실제 로봇 팔 집게 위에 장착한 SO-101 손목 카메라

The Robot Studio가 촬영한 SO-101 손목 카메라 마운트입니다. 이 장비가 지원하는 카메라 위치의 예이며 SO-ARM100 프로젝트의 Apache 2.0 라이선스를 따릅니다. Telli.sh가 크기를 조정하고 여백을 넣었습니다.

세 명령이 운영자의 서로 다른 의도를 전달합니다

조작 콘솔에서 지시 변경, 장면 질문, 목표 위임으로 나뉘는 세 경로

대화형 명령과 각각의 역할. Telli.sh 자체 제작.

롤아웃은 정책이 관측값을 받아 동작을 출력하는 실행 세션입니다. 관측값에는 카메라 영상과 측정한 관절 위치가 포함될 수 있습니다. 0.7에서는 설정된 세션에 --interactive=true를 추가해 lerobot-rollout을 실행하면 지시 사이에도 로봇 연결, 정책 가중치, 처리기가 유지됩니다. 릴리스에는 다섯 가지 터미널 명령이 나오며 /start와 /stop 사이에서 세 가지 방식으로 실행 중인 세션을 조작하거나 질의할 수 있습니다. LeRobot 릴리스 발표 · v0.7.0 롤아웃 문서

터미널 명령운영자의 의도확인할 결과
/subtask동작 정책에 전달한 지시를 교체관찰한 다음 움직임이 새 목표를 따르거나 운영자가 개입
/vqa로봇이 무엇을 보는지 질문운영자가 실제 장면과 대조할 수 있는 답변을 반환
/autosteer목표를 위임하고 하위 작업의 선택을 맡김시스템이 하위 작업을 정하고 운영자가 제어권을 회수할 수 있음

LeRobot 발표는 질문과 목표 위임에 필요한 텍스트를 생성할 수 있는 정책의 예로 FineART-VLA와 Wall-OSS-0.5를 듭니다. 텍스트를 생성하지 않는 동작 정책이라면 호환되는 외부 비전 언어 모델로 그 기능을 채울 수 있습니다. 릴리스는 로컬이나 호스팅된 OpenAI 호환 API를 계획 모델에 쓰는 방법을 설명합니다. 외부 계획 모델은 시각 질문에 답하고 정책에 지시를 공급할 수 있습니다. 하위 작업을 실제 로봇 동작으로 바꾸는 일은 동작 정책이 맡습니다. 대화형 롤아웃과 외부 계획 모델 · v0.7.0 롤아웃 문서

물건이 많은 작업대에서 차이가 드러납니다. 카메라에 통 가장자리가 보이지 않는다면 통에 관한 답변이 유창해도 증거는 부족합니다. 계획 모델이 파란 블록을 올바르게 골랐는데 집게에서 미끄러지면, 언어 계층은 역할을 했고 물리적 시도는 실패했습니다. 질문, 정책 동작, 결과를 구분해 기록하면 카메라를 옮길지, 지시를 바꿀지, 파지 동작을 개선할지 판단할 수 있습니다.

작업을 작게 유지한 채 목표를 바꿉니다

색이 다른 통 두 개, 부드러운 블록 세 개, 지원되는 팔 하나로 시작합니다. 빨간 블록 집기처럼 이미 되는 작업을 고르고, 비슷한 조건에서 정책이 다뤄 본 대상을 두 번째 목표로 고릅니다. 첫 실행에서는 블록에 닿기 전에 변경을 요청합니다. 전환이 확인되면 새 시작 상태에서 반복하고 더 늦은 시점에 지시를 바꿉니다. 팔이 움직이는 동안 보낸 지시와 집게가 닫힌 뒤 보낸 지시는 정책에 서로 다른 대응을 요구합니다.

새 목표를 향한 첫 움직임과 블록이 마지막으로 놓인 위치를 관찰합니다. 영상의 타임스탬프로 방향이 눈에 띄게 바뀌기까지 걸린 시간을 알 수 있습니다. 터미널의 시각은 언제 지시를 입력했는지 알려줍니다. 둘 다 기록하면 소프트웨어가 입력을 받았는데 움직임의 변화가 뚜렷하지 않았던 경우까지 해석할 수 있습니다. 중지 조건을 미리 정하면 운영자가 오지 않을 수정 동작을 계속 기다리지 않아도 됩니다.

두 번째 예는 시험 뒤 작업대를 정리하는 일입니다. 물체 하나를 제자리에 두지 않은 상태로 시작해 탁자에 무엇이 남았는지 묻습니다. 작업대를 비우라고 요청하기 전에 가리지 않은 화면과 일부 가린 화면을 각각 시험합니다. 카메라 각도에 따라 답이 달라진다면 장면을 다시 구성하거나 목표를 좁힐 이유가 됩니다. 정책의 동작을 알아가는 동안에는 익숙한 동작 하나씩만 맡깁니다.

세 번째 실행에서는 /autosteer에 스펀지 블록 두 개를 한 쟁반에 옮기는 목표를 줍니다. 시스템이 어떤 중간 선택을 하는지 적습니다. 처음에는 타당한 대상을 골라도 두 번째 블록이 팔의 범위 밖에 있으면 마무리에 도움이 필요할 수 있습니다. 각 하위 작업을 단순한 예상 순서에 대조할 수 있을 때 목표 위임이 특히 유용합니다. 기록을 보면 계획 모델이 나쁜 단계를 골랐는지, 로봇이 좋은 단계를 실행하기 어려웠는지 알 수 있습니다.

소프트웨어 중지와 기계의 정지는 따로 시험합니다

대화형 세션은 로봇을 지켜보는 사람이 가까이서 지시를 내리게 합니다. 새 지시가 적용됐다고 생각하는 동안 실제로는 이전 움직임을 보고 있을 수 있습니다. 파일럿에서는 네 시점을 각각 기록합니다. 지시를 보낸 시점, 확인 신호가 있다면 실행기가 수신했다고 알린 시점, 눈으로 볼 수 있는 첫 동작 변화, 로봇의 최종 상태입니다. 수신 확인을 볼 수 없으면 그 칸은 비워 둡니다. 다른 세 가지로도 배울 수 있습니다.

LeRobot의 버전별 배포 문서는 수정 과정에서 지원 로봇을 소프트웨어로 정지 유지하는 동작을 설명합니다. 드라이버가 마지막으로 적용한 위치 목표를 다시 보냅니다. 하중이 있는 팔은 그 위치를 향해 움직일 수 있고, 집게의 동작은 실제 장비에서 확인해야 합니다. 언어 인터페이스는 그 기계 동작 위에 있습니다. 장비에 맞는 물리적 정지와 감독 절차를 유지하고, 실행 중 지시 변경을 추가하기 전에 장애물이 없는 작업 공간에서 효과를 확인하세요. v0.7.0 롤아웃 문서

운영자 지시, 관찰한 움직임, 중지 조건, 검증한 최종 위치를 연결한 시간선

방향 전환을 보낸 시점, 움직임이 바뀐 시점, 실행이 끝난 상태를 각각 기록합니다. Telli.sh 자체 제작.

겉으로 성공한 실행을 보는 기준도 달라집니다. 블록이 올바른 쟁반에 들어갔어도 운영자가 잘못된 동작 두 번을 멈췄을 수 있습니다. 사람이 얼마나 자주 개입했는지, 실패 뒤 남은 상태에서 얼마나 자주 회복할 수 있었는지 기록합니다. 일반적인 실패에서 다시 시작할 수 있는 정책과 실수 때마다 전체 초기화가 필요한 정책에서 운영자가 맡는 일은 다릅니다. 동일한 작업대와 물체를 사용한 반복 실행으로 차이를 측정합니다.

FineART는 중간 단계를 학습 데이터에 넣습니다

이번 릴리스가 바꾸는 또 다른 것은 시연 데이터입니다. 시작이 깔끔하고 끝이 성공한 모습만 있다면 지시가 바뀌었을 때 정책이 행동의 어느 부분을 배워야 하는지 알기 어렵습니다. 하위 작업 라벨은 물체 집기, 놓기, 다음 물체로 넘어가기 같은 전환을 학습 과정에 알려줍니다.

Hugging Face와 Scale AI는 FineART에 양팔 로봇 에피소드 4만 건 이상, 1,718시간, 하위 작업 주석 53만 3,000개 이상이 있다고 보고합니다. 11월 5일 발표에서는 LeRobot 형식의 데이터가 1.9TB라고 설명합니다. FineART-VLA는 π0.5를 바탕으로 언어 헤드를 추가해 동작 부문이 실행하기 전 말로 된 하위 작업을 예측할 수 있습니다. 수치는 저자들이 제공한 데이터 세트 규모이며, 언어와 동작의 분리는 모델 설계에 관한 설명입니다. 집게 형태가 다르거나 카메라 시야가 좁거나 학습에 없던 물체를 다룬다면 별도 평가가 필요합니다. 릴리스 발표와 FineART 설명 · FineART-VLA 문서

작은 수정 데이터 세트를 모을 때는 나중에 무엇을 재현할지 정합니다. 새 지시, 관련 카메라 영상, 전환 시점의 상태, 관찰한 결과를 포함합니다. “빨간 통이 이제 가득 찼다” 같은 라벨과 “다음 빨간 블록을 빈 쟁반에 놓아라” 같은 지시는 역할이 다릅니다. 앞의 문장은 상태를 설명하고, 뒤의 문장은 정책에 행동을 지시합니다. 실험에 둘 다 필요하면 모두 남깁니다. 실패한 예도 보관해 다음 정책을 처음 문제를 일으켰던 상황에서 시험할 수 있게 합니다.

첫 시험은 작업대 한 곳이면 충분합니다

  1. 버전을 고정하고 지원되는 조합을 고릅니다. 프로젝트의 버전별 안내로 LeRobot 0.7.0을 설치합니다. 로봇, 카메라 구성, 선택한 정책이 검증된 시작 작업에서 동작하는지 확인합니다. 11월 5일 릴리스 노트에 따르면 기본 Linux PyTorch 빌드는 CUDA 13을 쓰며, 이 설치 경로에는 NVIDIA 드라이버 580.65 이상이 필요합니다. 더 오래된 드라이버는 문서에 나온 대체 설치 방법을 사용합니다. 드라이버 변경과 로봇 행동 변경을 별도 실험으로 봅니다. 설치 문서 · v0.7.0 릴리스

  2. 실행 중 조작을 추가하기 전에 기준 실험을 한 번 합니다. 탁자를 비우고, 움직임을 제한하고, 로봇 팔에 맞는 감독 절차를 따릅니다. 시작 자세와 목표를 저장하고 정책이 작업을 끝냈는지 기록합니다. 기준 실행과 지시 변경 실행을 비교할 때 카메라 위치, 조명, 물체는 그대로 둡니다. SO-101 설정 문서

  3. 잘 동작하는 롤아웃에 대화형 옵션을 추가합니다. 터미널에서 세션을 시작하고, 하위 작업 하나를 지정하고, 한 번 바꾸고, 실행을 끝냅니다. 릴리스에 나온 터미널 명령에 예시 지시를 넣었습니다. 대화형 세션 문서

    일반 텍스트
    /start
    /subtask move the red block to the tray
    /subtask move the blue block to the tray
    /stop
    

  4. 기준 동작을 반복할 수 있게 된 뒤 시각 질문과 작은 위임 목표를 추가합니다. 텍스트 생성 정책을 고르거나 문서에 따라 외부 계획 모델을 설정합니다. 같은 카메라 영상으로 답할 수 있는 질문부터 시작합니다. 끝났는지 눈으로 확인할 수 있는 목표를 시험하고, 계획 모델을 쓸 수 없거나 적절한 하위 작업이 나오지 않으면 어떤 일이 생기는지 기록합니다. 외부 API를 쓰면 관측 데이터의 처리 위치도 바뀔 수 있습니다. 카메라에 작업대 밖이 보인다면 이 점이 중요합니다. 외부 계획 모델 문서

  5. 완료와 회복을 함께 비교합니다. 같은 조건으로 몇 차례 반복하고 실패 사례를 모두 남깁니다. 운영자가 상황을 보고 적절하게 개입하고 최종 상태를 확인했는지 기록합니다. 소규모 시험은 구성을 다듬는 데 유용합니다. 신뢰성을 주장하려면 실제로 예상되는 여러 조건에서 훨씬 더 많은 증거가 필요합니다.

0.7.0은 이전 비동기 추론 인터페이스를 정책 서버와 원격 롤아웃 모드로 바꿉니다. 나중에 GPU 서버로 추론을 옮기면 실제 네트워크 연결에서 시간과 중지 시험을 다시 합니다. 서버는 더 많은 연산 자원을 제공하지만 새 관측과 다음 동작 사이에 네트워크가 추가됩니다. 연결이 느리거나 끊기는 경우는 별도 시험 항목입니다. v0.7.0 호환성 변경 · 원격 추론 문서

가장 중요한 시험은 작업 도중에 일어납니다

로봇 시연에서 흥미로운 순간은 예정된 단계가 더는 맞지 않을 때입니다. 통이 차거나, 물체가 움직이거나, 운영자가 카메라가 놓친 것을 발견합니다. LeRobot의 터미널 명령으로 이 순간을 실험에 넣을 수 있습니다. 감독자가 무엇이 바뀌었는지 파악하고 다음 행동을 바꾼 뒤 결과를 자기 눈으로 확인할 수 있는지가 관건입니다.

출처


작업을 뒷받침한 결정과 실험을 검색할 수 있게 정리하려면 Telli.sh 계정을 만들어 보세요.


← 블로그로 돌아가기