VLA란? VLM과의 차이부터 행동 생성·로봇 제어·실패 복구까지

VLA란 카메라 영상과 언어 지시를 로봇의 행동으로 연결하는 모델입니다. 다만 “AI가 움직였다”는 설명만으로 손끝 목표를 만든 것인지, 관절 움직임까지 생성한 것인지, 실행 중 실패를 스스로 복구한 것인지 알 수는 없습니다. 저는 VLA를 이해할 때 행동 출력·제어 경계·실행 중 갱신이라는 세 가지를 먼저 구분합니다.

자료 확인일 : 2026년 10월 21일
설명 범위 : VLA 기본 개념·행동 생성·제어 연결·재계획과 복구
참고 사례 : 원본 OpenVLA·π₀·GR00T N1·RTC 연구
그림 속 시간 수치 : 이해를 돕기 위한 가정

로봇의 고속 분류·고속 운반을 이야기할 때 제가 먼저 묻고 싶은 것은 “얼마나 빠른가” 다음의 질문입니다. 그 움직임 중 어디까지를 VLA가 만들었고, 물체 위치가 달라지거나 놓쳤을 때는 누가 다음 행동을 바꾸는가? 같은 동작을 빠르게 반복하는 능력과, 달라진 상황에 맞춰 행동을 새로 만드는 능력은 각각 확인해야 하기 때문입니다.

이 구분은 제어 기술의 중요성을 낮추려는 이야기가 아닙니다. 로봇이 안정적으로 움직이려면 좋은 구동기와 제어기가 필요하고, 작업에 따라 경로 계획이나 전신 제어도 필요합니다. 다만 그 성과를 VLA의 자율성과 연결하려면 각 구성 요소가 담당한 범위를 알아야 합니다.

저는 빨간 부품을 집어 파란 상자로 옮기는 하나의 예시로 설명을 이어가겠습니다. 용어를 외우기보다, 같은 과제를 놓고 무엇을 보며, 어떤 값을 출력하고, 결과를 어떻게 다시 확인하는지 따라가면 구조가 분명해집니다. 이 글에서 다루는 질문은 VLA란 무엇이며 실제 로봇 시스템에서 어디까지 역할을 맡느냐입니다.


1. VLA란? 장면을 설명하는 데서 행동 출력으로

VLA는 Vision–Language–Action의 약자입니다. 영상으로 작업 장면을 보고, 언어로 주어진 목표를 조건으로 삼아, 로봇이 실행할 행동을 예측합니다. 모델에 따라 현재 관절값·그리퍼 상태 같은 로봇 자신의 상태도 입력으로 사용합니다. 여기서 정책(policy)은 현재 관측과 지시를 어떤 행동으로 연결할지 학습한 함수를 뜻합니다.

VLA란 무엇인가 영상과 언어 및 로봇 상태에서 부품 집기 행동을 생성하는 구조
그림 1. 같은 부품 운반 지시라도 VLA가 출력하는 행동값은 모델과 로봇에 따라 달라집니다.

“빨간 부품을 파란 상자에 넣어”라는 지시를 생각해보겠습니다. 장면을 설명하는 모델은 부품과 상자의 위치 관계를 말로 답할 수 있습니다. 행동 정책은 그 정보에 맞춰 손끝을 어느 방향으로 움직이고 그리퍼를 언제 닫을지에 대응하는 값을 출력합니다. 이 차이가 실제 세계와 연결되는 지점입니다.

그렇다고 모든 VLA가 사람처럼 단계별 생각을 문장으로 적거나, 완성된 작업 계획을 먼저 만드는 것은 아닙니다. 영상과 지시에서 행동값을 직접 예측하는 구조도 있습니다. 따라서 저는 “생각했다”는 표현보다 입력과 출력이 무엇인지를 먼저 확인합니다. OpenVLA 공식 모델 카드는 이미지·언어 지시와 7차원 손끝 변화량 행동을 구체적으로 명시합니다.


2. VLM·VLA·제어기의 차이를 기능으로 나누기

VLM은 Vision–Language Model로, 영상과 언어를 연결해 장면을 설명하거나 질문에 답하는 데 쓰입니다. 로봇 시스템에서는 상위 작업을 나누는 데 활용할 수도 있습니다. VLA는 여기에 로봇 행동 출력을 연결합니다. 하지만 VLM 다음에 반드시 별도 VLA가 있고, 그다음에 반드시 플래너가 있어야 한다는 고정 구조는 아닙니다.

VLM VLA 모션 플래너와 제어기의 역할 및 관측 피드백 비교
그림 2. 기능을 나눈 설명입니다. 별도 VLM·플래너·WBC가 항상 모두 필요한 구조는 아닙니다.
기능부품 운반 예시담당 구성의 예
상황 이해·작업 계획대상을 찾고 집기·운반·놓기로 작업 분해VLM·작업 계획기 또는 통합 모델
행동 생성다음 손끝 이동량이나 관절 목표값 생성VLA 정책
경로·궤적 계획장애물을 피하고 도달할 움직임 계산모션 플래너
운동학 변환·추종손끝 목표를 관절에 연결하고 목표를 따라감IK·관절 제어기·작업공간 제어기
전신 조정·실제 구동자세·접촉 조건 조정, 구동기 명령 실행필요한 경우 WBC, 모터 드라이브 등

예를 들어 GR00T N1 논문은 시각·언어 모듈과 행동 생성 모듈을 밀접하게 결합해 함께 학습하는 구조를 설명합니다. 기능을 나누어 이해하는 것과, 실제 제품에서 모델·프로그램이 분리되어 있다는 주장은 구분해야 합니다.

플래너와 제어기를 같은 역할로 묶어서도 곤란합니다. 플래너는 갈 경로와 시간에 따른 궤적을 다루고, 제어기는 목표와 현재 상태의 차이에 대응합니다. WBC(Whole-Body Controller)는 필요한 경우 여러 관절과 접촉 조건을 함께 고려해 전신 움직임을 조정합니다. 고정된 팔의 집기 작업과 보행하며 운반하는 휴머노이드에 같은 구성을 전제할 수는 없습니다.


3. VLA란 어떤 행동을 출력하나? Action Space 확인

Action Space는 모델이 출력할 수 있는 행동의 형식과 범위입니다. 같은 “부품을 옮긴다”는 설명도 스킬 호출인지, 파지점인지, 손끝 움직임인지, 관절 목표인지에 따라 구현이 달라집니다. 행동이라는 단어를 실제 숫자와 명령 형식으로 바꿔 보는 것이 중요합니다.

VLA란 어떤 행동을 출력하는가 스킬 파지점 손끝 Pose 관절 Action Space 비교
그림 3. 행동의 표현 수준과 자율성의 수준은 따로 판단해야 합니다.

첫째, 스킬 선택입니다. “집기”라는 미리 준비된 함수를 고르는 경우입니다. 이때 어디를 잡고 어떤 궤적으로 움직일지는 그 함수 안의 다른 시스템이 맡을 수 있습니다. 언어로 스킬을 고르는 상위 시스템과 연속 움직임을 생성하는 VLA 정책은 같은 범위로 설명하기 어렵습니다.

둘째, 파지점·중간 목표입니다. 잡을 위치나 놓을 위치를 정해도 그 사이의 전체 움직임을 생성했다고 볼 수는 없습니다. 셋째, 엔드이펙터 Pose 또는 변화량입니다. 엔드이펙터는 로봇 팔 끝의 손·그리퍼·도구이고, Pose는 위치와 방향입니다. 이 수준에서는 손끝을 얼마나 이동·회전시킬지 등을 출력합니다.

원본 OpenVLA의 대표 행동 표현은 위치 변화 3개 + 회전 변화 3개 + 그리퍼 값 1개입니다. 총 7개 값이라는 뜻이며, 로봇 팔에 관절이 반드시 7개라는 뜻이 아닙니다. 실제 실행에는 학습 데이터·로봇에 맞는 값의 복원과 제어 연결이 필요합니다.

넷째, 관절 단위 행동입니다. 모델에 따라 관절 위치·속도 같은 목표를 출력할 수 있으며, 더 직접적인 명령 인터페이스를 사용하는 정책도 있습니다. 다만 출력이 저수준에 가깝다는 이유만으로 상황 변화에 더 잘 대응한다고 결론 내릴 수는 없습니다. 자율성은 출력 형식과 함께 실제 과제 수행으로 확인해야 합니다.


4. 실제 관절·모터 제어는 누가 맡을까

저는 “관절값을 출력하니까 VLA가 모터까지 전부 제어한다”는 설명을 그대로 받아들이지 않습니다. 목표값을 생성하는 일과, 그 목표를 실제로 따라가게 하는 제어는 기능이 다릅니다. 어떤 명령을 받는 로봇인지에 따라 그 경계도 달라집니다.

VLA가 손끝 관절 토크를 출력할 때 이후 제어기 연결 예시
그림 4. 손끝·관절·토크 출력 이후에 필요한 변환과 추종의 대표적인 연결 예시입니다.

손끝 목표를 출력하면 IK(Inverse Kinematics·역기구학)나 작업공간 제어를 통해 관절 움직임과 연결할 수 있습니다. 관절 위치 목표를 출력하면 추종 제어가 이를 따라가도록 처리합니다. 토크를 직접 출력하는 구조라 해도 드라이브의 전류 제어와 하드웨어 한계 등은 여전히 존재합니다. 그림은 가능한 연결을 단순화한 예시입니다.

ros2_control의 관절 궤적 제어기 문서도 position·velocity·effort 등 명령 인터페이스에 따라 처리 방식이 달라진다고 설명합니다. MoveIt의 궤적 실행 문서에서는 생성된 궤적을 적절한 제어기에 전달하고 실행을 관리하는 역할을 확인할 수 있습니다.

VLA가 움직임 시퀀스를 출력한다고 해서 충돌 회피·동역학적 실행 가능성·안전이 자동으로 보장되는 것도 아닙니다. 별도 플래너가 필요한지, 제한값이나 보간 처리가 어디에서 적용되는지, 실제 실행에서 목표가 얼마나 바뀌는지를 함께 봐야 합니다. VLA와 기존 제어기를 함께 쓰는 구성 자체는 자연스러운 선택입니다.


5. 시연에서 행동을 배우고, 실행할 때 새로 예측한다

VLA란 용어를 이해할 때 학습과 실행을 나누면 행동 생성 방법을 파악하기 쉽습니다. 학습에서는 영상·지시·로봇 상태와 실제 행동을 시간에 맞춰 수집합니다. 사람이 원격조작한 시연 등이 그 출발점이 될 수 있습니다. 모델은 이런 데이터에서 이 관측과 지시에서는 어떤 행동을 해야 하는지를 학습하고, 필요하면 대상 로봇과 작업에 맞춰 추가 학습합니다.

VLA 학습 데이터와 실행 시 행동 생성 및 토큰 Flow Matching 비교
그림 5. 시연 데이터로 학습하는 과정과 현재 관측에서 행동을 예측하는 실행 과정은 다릅니다.

실행할 때는 현재 영상을 비롯한 입력을 넣고 행동을 예측합니다. 하나의 행동을 내거나, 여러 시점의 행동을 한 번에 출력할 수 있습니다. 여러 행동을 묶은 것이 Action Chunk입니다. 모든 모델이 같은 생성 방식이나 같은 묶음 길이를 사용하는 것은 아닙니다.

행동 토큰 방식에서는 행동값을 토큰으로 표현해 예측한 뒤 실행할 값으로 해석합니다. 원본 OpenVLA 프로젝트가 이 방식을 설명합니다. 연속 행동 생성 방식에는 diffusion이나 flow matching 등을 활용하는 계열이 있습니다. Physical Intelligence의 π₀ 기술 설명은 사전학습된 VLM에 flow matching을 이용한 연속 행동 출력을 연결하는 접근을 소개합니다.

텍스트로 로봇 동작을 잘 설명하는 능력과 로봇에 맞는 행동값을 출력하는 능력은 구분해야 합니다. VLM에 “팔을 움직여”라는 지시를 붙이는 것만으로 실제 로봇 정책이 완성되지는 않습니다. 행동 데이터, 좌표계와 단위, 로봇별 명령 형식, 실행 주기 등을 맞추는 작업이 필요합니다.


6. Action Chunk를 끝까지 실행하나, 중간에 갱신하나

실행 중에는 물체가 밀리거나, 그리퍼가 헛돌거나, 이미 잡은 부품이 미끄러질 수 있습니다. 제가 가장 중요하게 보는 부분은 이때 새 관측이 언제 다음 행동에 반영되느냐입니다. 짧은 성공 영상만으로는 이 수준을 파악하기 어렵습니다.

VLA Action Chunk 생성 길이 실행 길이와 놓침 감지 새 위치 관측 재파지 예시
그림 6. 10개·20 Hz·3개 실행은 설명용 가정입니다. 행동 갱신과 실패 복구를 구분했습니다.

설명용으로 모델이 행동 10개를 생성하고, 행동 명령을 20 Hz로 실행한다고 가정하겠습니다. 20 Hz는 초당 20개의 행동 시점을 뜻하므로, 생성한 행동이 덮는 시간은 10 ÷ 20 = 0.5초입니다. 이것은 생성된 행동 구간의 길이이며 모델이 추론하는 데 0.5초가 걸린다는 뜻이 아닙니다.

10개를 모두 실행하고 다시 관측하면 그 사이의 변화가 다음 정책 출력에 늦게 반영될 수 있습니다. 반대로 3개만 실행한 뒤 새 관측으로 갱신한다면, 새 관측 없이 실행한 구간은 3 ÷ 20 = 0.15초입니다. 실제 반응에는 관측 시점, 통신, 추론, 명령 반영 등의 지연이 더해집니다. 생성 길이·실행 길이·추론 빈도·제어 주파수를 하나의 숫자로 부르면 이 차이가 사라집니다.

현재 행동을 실행하는 동안 다음 묶음을 생성하는 비동기 방식도 있습니다. 다만 새 행동으로 바꿀 때 위치·속도 등이 갑자기 달라지면 움직임이 불연속적일 수 있습니다. Physical Intelligence의 RTC 연구는 실행 중인 행동과 새 행동의 연결을 다룹니다. 연구 소개에서 50개 행동을 1초 구간으로 묶은 사례를 설명하지만, 이 숫자를 모든 VLA의 표준으로 일반화할 수는 없습니다.

그리고 재관측 → 행동 갱신 → 실패 감지 → 복구 성공은 각각 다른 확인 항목입니다. 물체가 없어진 것을 보더라도 파지 실패로 판단하는지, 다시 찾고 잡는 행동을 만드는지, 재시도 후 실제 과제를 끝내는지까지 봐야 합니다. 다시 잡는 동작이 나왔다면 그것이 정책의 새 출력인지, 별도 상태기계가 호출한 복구 스킬인지도 확인해야 합니다.

새 관측을 이용한 행동 갱신을 넓은 의미로 재계획이라고 부를 수는 있습니다. 그러나 매번 명시적인 경로 최적화를 수행한다는 뜻은 아닙니다. 저는 담당자에게 “재계획이 된다”는 답만 듣기보다, 무엇을 다시 계산하고 어떤 조건에서 기존 명령을 바꾸는지를 묻겠습니다. 실행을 아무 때나 끊는 것보다 변화에 대응하면서 움직임의 연속성과 접촉 조건을 지키는지가 중요합니다.


7. 고속 시연에서 제가 함께 확인하는 자율성 지표

빠른 동작에는 하드웨어·제어기·행동 정책이 함께 기여할 수 있습니다. 따라서 “고속이므로 VLA 성능이다”와 “고속이므로 VLA와 관계없다”라는 결론 모두 근거가 부족합니다. 누가 어떤 행동을 만들었는지와, 조건이 달라졌을 때 무엇이 달라지는지를 측정해야 합니다.

VLA 자율성 평가를 위한 성공률 변화 대응 지연 복구 시간 개입 횟수 실효 처리량
그림 7. 제가 시연·제품 검토에서 함께 확인하려는 평가 항목입니다. 특정 기업의 실측 결과는 아닙니다.
지표기록할 기준
작업 성공률전체 시도 수를 분모로 기록. 최초 시도 성공과 재시도 후 최종 성공을 분리
변화 대응 지연물체 이동 등 변화가 발생한 때부터 새 행동에 반영될 때까지
자율 복구율사전에 정한 복구 대상 실패 중 사람 개입 없이 복구한 비율
복구 시간실패 발생부터 작업 재개까지. 평균과 긴 지연도 함께 기록
사람 개입 횟수작업 100회당 개입 수. 수동 재파지·리셋·환경 정리 등을 정의
실효 처리량성공 처리 수 ÷ 전체 경과시간. 재시도·정지·복구 시간을 포함

예를 들어 정상 동작만으로는 시간당 400개를 옮길 수 있어도, 실제 1시간에 정지와 재시도 때문에 280개만 성공했다면 실효 처리량은 280개/시간입니다. 이는 계산을 설명하기 위한 예시입니다. 저는 가장 빠른 한 번의 동작보다, 실패까지 포함해 같은 시간에 과제를 몇 번 완수했는지를 더 유용한 운영 지표로 봅니다.

비교할 때는 같은 하드웨어·작업 조건을 맞추고, 물체 위치·조명·방해물 등의 변화 조건도 나눠 기록하는 편이 좋습니다. 복구에 실패해 사람이 초기 상태를 만들어 준 시간을 제외하면 자율성이 과대평가될 수 있습니다. “평균 복구 시간”도 성공한 복구만 계산했다면 복구 성공률과 함께 읽어야 합니다.

제가 담당자에게 먼저 물을 질문은 세 가지입니다.

  • 행동 출력: VLA의 Action Space는 무엇이며 스킬·손끝·관절 중 어디까지 생성하나요?
  • 제어 경계: 이후 플래너·IK·WBC·관절 제어기가 각각 무엇을 맡고 출력값을 얼마나 바꾸나요?
  • 변화·실패 대응: 실행 중 언제 새 관측으로 행동을 갱신하며 실패 감지와 복구는 어떤 구성 요소가 맡나요?

VLA란 이름만으로 자율성의 범위가 정해지는 것은 아닙니다. 저는 이 세 질문의 답과 실제 성공·복구 기록이 있어야 고속 분류·운반 시연에서 무엇을 보여줬는지 판단할 수 있다고 봅니다.


VLA를 이해할 때 자주 나오는 질문 5가지

Q1. VLA란 VLM에 모터만 연결한 것인가요?
그렇게 단순화하기는 어렵습니다. 영상·언어 이해를 로봇 행동 출력과 연결하도록 학습하고, 대상 로봇의 행동 표현과 실행 인터페이스에 맞춰야 합니다. OpenVLA 모델 카드에서도 학습에 포함되지 않은 새로운 로봇·환경으로의 무조건적인 일반화를 보장하지 않습니다.

Q2. 손끝 Pose와 관절 목표는 어떻게 다른가요?
손끝 Pose는 팔 끝 도구의 위치와 방향입니다. 관절 목표는 팔을 이루는 각 관절이 도달할 값입니다. 손끝 목표를 관절 움직임에 연결하는 방법과 제어 구조를 확인해야 합니다.

Q3. Action Chunk가 짧으면 항상 더 좋은가요?
짧게 실행하고 자주 갱신하면 변화 대응 기회를 늘릴 수 있지만, 추론 지연·행동 연속성·계산 자원과의 균형이 필요합니다. 생성 길이와 실제 실행 길이를 먼저 구분해야 합니다.

Q4. 실패 뒤 다시 집으면 VLA가 스스로 복구한 것인가요?
복구 행동이 정책에서 나왔는지, 별도 복구 스킬이 호출됐는지 확인해야 합니다. 자율 시스템 전체의 복구 성능과 VLA 자체의 기여를 나눠 기록하면 명확합니다.

Q5. 모션 플래너나 WBC를 쓰면 VLA가 아닌가요?
함께 사용할 수 있습니다. 통합 모델과 기존 제어 구성의 조합은 구현 선택입니다. 구분할 것은 특정 구성 요소의 유무보다 행동 생성과 실행을 누가 담당하는지입니다.


핵심 요약

  • VLA란 영상·언어 등의 입력을 로봇 행동으로 연결하는 모델입니다.
  • 스킬 선택·파지 목표·손끝 움직임·관절 명령을 같은 수준의 행동 생성으로 설명하지 않습니다.
  • 관절 목표값 출력과 모터 전류 제어는 다릅니다. 플래너·제어기와의 경계를 확인합니다.
  • Action Chunk의 생성 길이·실행 길이·추론 지연을 구분합니다.
  • 변화 대응과 실패 복구는 성공률·복구 시간·사람 개입·실효 처리량으로 함께 확인합니다.

Physical AI의 전체 범위와 로봇의 요소 기술을 먼저 살펴보고 싶다면 아래 글을 함께 참고할 수 있습니다.

Physical AI란 무엇인가? 물리 AI의 기술 특징과 전망 1분 이해하기 (휴머노이드 전망)

인공지능 로봇 이해 (2) AI 로봇의 요소 기술 (상호작용 및 운동지능, 작업지능)


Sean Woo

작성자 : Sean Woo

[전공] HCI(인간-컴퓨터 상호작용)·UX(사용자 경험 연구)

[업무] 신기술 기반 사업 전략·기술 기획·디지털 트랜스포메이션 업무

ITmanual.net에서는 실생활, 업무를 진행하면서 느꼈던,
스마트폰(아이폰·갤럭시)·운영체제·각종 앱/프로그램·IT기기 활용 노하우를 실생활 중심 IT 매뉴얼로 정리합니다.

댓글 남기기