Title : LATTE: LAnguage Trajectory TransformEr (by Haitong Wang, Aaron Hao Tan, Student Member, IEEE and Goldie Nejat, Member, IEEE, published at 2023 IEEE International Conference on Robotics and Automation (ICRA 2023)
May 29 - June 2, 2023. London, UK)

1. Abstract
- 명령(instruction)과 지시(commmands)를 로봇의 실제 움직임 생성이나 실제 환경에서의 이동으로 변환하는 것은 어려운 문제임
- 본 논문은 사용자가 사용자가 일반적인 robot trajectory를 수정할 수 있는 flexible한 language-based framework를 제안함
- 사전 학습된 언어 모델(BERT와 CLIP)을 활용해 사용자의 의도와 목표 객체를 텍스트 입력과 객체 이미지를 통해 직접 인코딩하고, 트랜스포머 인코더 네트워크에서 생성된 기하학적 특징을 융합, 최종적으로 트랜스포머 디코더를 사용해 궤적을 출력함
- 기존의 궤적 매개변수 공간을 2 차원(X,Y) 움직임에서 3차원 및 속도로 확장하였음
- 또한, 텍스트 설명 대신 카메라 내 객체 이미지를 맥락으로 활용하여 모델을 학습하고, Manipulator를 넘어 공중 및 다족 로봇과 같은 시나리오에서도 평가하였음
2. Introduction
- 로봇이 인간과 원활하게 상호작용할 수 있는 기술 연구가 매우 중요함
- 본 연구는 인간-로봇(HRI)에 초점을 맞추는데: 사용자의 목표와 장애물이 있는 환경을 고려할 때, 로봇이 인간의 preference를 존중하면서 주변의 안전 및 동적 제약 조건을 준수하는 최적의 궤적을 어떻게 생성할 수 있는지에 대한 연구에 초점을 둠
- 본 연구의 도전 과제는 semantic representation을 활용하고 이를 기하학적 궤적 데이터와 정렬하여 명령을 궤적의 waypoint로 매핑하는 방법
- 사용자가 언어 지시를 사용하여 궤적을 재형성할 수 있는 프레임워크를 제안함. 장애물 회피 및 동적 제약 조건을 고려하는 기하학적 planner(A*, RRT *, MPC등)을 초기화에 사용하고, 여기에 semantic objectives를 추가함.
- Contributions
- trajectory dimensionality: 기존 평면(XY)궤적을 3D 및 속도로 확장
- 환경 이미지 활용: 기존 연구에서는 텍스트 객체 레이블(망치, 병)을 사용했으나, 본 논문에서는 사용자의 명령 대상 추론 시 객체의 이미지를 활용하여 보다 현실적인 설정 제공
- 다중 플랫폼 평가: manipulation을 넘어 공중 및 다족 로봇 등 다양한 로봇 플랫폼에서 실험
3. Approach
- 목표는 로봇 플렛폼에 구애받지 않는 trajectory의 재구성을 제공하는 것이고, 사용자가 자연어 명령을 제공하면 시간이 흐르면서 3D trajectory로 표현되는 로봇 본체나 end-effector의 동작이 사용자가 원하는 방향으로 맞게 수정되는 것
- trajectory 생성 시스템은 scene geometry, environment images와 같은 여러 모달리티를 고려는 sequential waypoint prediction model을 사용하였음
- 최종 출력 결과는 연속 상태 공간으로 후처리함
3.1 Problem Definition
- 다음과 같이 정의된 원래의 정규화된 로봇 궤적을 고려함
ξo=[−1,1]→R4
- 이는 N개의 waypoint와 해당 속도의 모음으로 구성됨
ξo={(x1,y1,z1,v1),…,(xN,yN,zN,vN)}
-
xi,yi,zi는 i번째 waypoint의 좌표를, vi는 시간 단계 i에서의 속도를 나타냄
-
저자들은 trajectory에 Language Input인 Lin을 다음과 같이 입력함
- Lin = "Go slower when next to the fragile glasses"
-
환경에서 M개의 객체 모음 O={O1,…,OM}을 정의하며, 각각의 객체는 위치 P(Oi)∈R3와 이미지 I(Oi)로 표현됨
-
저자들의 목표는 다음과 같은 함수를 학습하는 것
f:(ξo,Lin,O)→ξmod
- 여기서 ξmod는 사용자의 sementic objectives 와 system feasible domain K에 포함되는 수정된 trajectory임 -> 수정된 궤적 ξmod이 시스템 제약K을 준수하도록 후처리 하고 난 후 로봇에 적용
ξmod=f(ξo,Lin,O)
3.2 ProPsed Network Architecture

- 저자들이 제안한 모델 아키텍쳐는 3개의 주요 모듈과 하나의 constraints 조건 만족 단계로 나뉨
fig2를 보면
Language and image encoder(파란색 영역)
- Pre-trained 된 BERT 인코더를 사용하여 사용자의 입력 Lin으로부터 sementic feature qBERT(z∣Lin) 생성,
- 또한, CLIP의 pre-trained된 텍스트 및 이미지 인코더를 사용하여:
- 사용자의 텍스트에서 임베딩 qCLIPt(z∣Lin)을 추출
- M개의 객체 이미지 I(O)에서 임베딩 qCLIPv(z∣I(O))을 추출
- 코사인 유사도 벡터 s: 시각적 임베딩과 텍스트 임베딩 간의 코사인 유사도를 계산하여 사용자의 명령과 관련된 객체를 식별
- 마지막으로 유사도 벡터 s와 sementic feature 와 qBERT(z∣Lin)를 concat해 sementic embedding qs 생성
Geometry encoder(초록색 영역)
- 원래 trajectory ξo는 (xi,yi,zi,vi)∈R4인 low-dimensional 튜플로 구성되어 있음
- 각 waypoint로부터 더 의미 잇는 정보를 추출하기 위해, 학습 가능한 가중치 Wgeo를 사용한 선형 변환(linear transform)을 적용하여 waypoint를 고차원 특징 공간으로 projection
- 각 객체의 위치 P(Oi)도 동일한 선형 변환으로 처리되며, 속도 성분은 0으로 padding
- 이후, 고차원 특징 벡터(waypoint와 object)를 concat하여 트랜스포머 기반 특징 인코더 Tenc로 처리하여 feature 추출
- language와 geometry feature embedding이 결합되어 multi-modal 트랜스포머 디코더 Tdec에 입력
- 이 디코더 블록은 수정된 trajectory ξmod를 autoregressively 하게 생성하며, 이전 단계의 prediction 결과를 다음 waypoint prediction input으로 사용
- 저자들은 모델 학습에 Imitation Learning을 사용하며, 예측된 waypoint와 실제 waypoint간의 Huber Loss Function을 사용했다고 함.
3.3 Post-processing and execution
- 모델이 trajectory를 생성한 후, 이를 로봇이 실행할 수 있도록 후처리가 필요함, 여기서는 특정 로봇 플렛폼에 구애받지 않고 사용할 수 있도록 설계
Constraint Satisfaction
- 본 연구에서는 적용 목표와 관련하여 두 가지 단순한 가정을 설정
- base motion planner는 허용 가능한 영역을 정의하는 카르테시안 공간(Cartesian Space)에서의 hard constraints K을 출력
- 원래 trajectory ξo은 이미 허용 가능한 제약 조건 집합 내에 있다고 가정
- 모델이 출력한 trajectory를 후처리 하여 원래 waypoint에서 시작해 새로운 waypoint방향으로 단계적으로 이동시킴
ξ(t)=ξo(t)+α(ξmod(t)−ξo(t)), 0<α≤1
-
여기서 α는 보정 단계의 크기를 조절하는 파라미터
-
만약 어느 단계에서든 하나의 waypoint가 허용되지 않은 영역에 도달한다면, 해당 위치는 더 이상 update 되지 않음
Inverse Kinematics, IK
- 최종 trajectory가 생성되면, 사용자는 IK 알고리즘을 적용하여 자유도가 높은 로봇의 최종 trajectory을 얻을 수 있음
- 본 연구에서는 개발된 시스템을 조작 로봇(manipulator), 공중 드론(aerial robot), 다족 로봇(legged robot)에서 평가함
3.4 Synthetic Data Generation
- 본 연구는 trajectory-language pair을 순전히 절차적으로(proceduraly)생성하는 방법에 의존함.
데이터 샘플 구성
- 기본 궤적 ξo: 카르테시안 공간에서 랜덤하게 생성된 point들을 spline으로 연결하여 생성
- 자연어 입력 Lin: trajectory 수정을 요청하는 언어 명령
- 수정된 trajectory ξmod: Lin을 기반으로 수정된 trajectory
- 객체 세트 O={O1,…,OM}: 객체는 중심 위치 P(O)와 이미지 I(O)로 표현
- 데이터 생성 과정
- 객체 위치는 공간 내에서 랜덤하게 생성
- 객체 이름은 Imagenet dataset에서 샘플링, 각 객체에 대해 Bing 이미지 crawler를 사용해 다양한 이미지를 수집
언어 입력 Lin
- 저자들은 다음과 같은 세 가지 주요 궤적 수정 유형에 초점을 맞춤
- 절대적인 카르테시안 traejectory 공간의 변화(예:"왼쪽으로 가라", "오른쪽으로 가라")
- 속도의 변화(예:"더 빨리 가라", "x 근처에서 더 느리게 가라")
- 객체에 상대적인 위치 변화(예:"x에 더 가까이 걸어가라", "x에서 더 멀리 운전해라")
로컬리티 팩터(Locality Factor)
- 저자들은 데이터 생성과 모델 학습에서 로컬리티 팩터(Locality Factor)라는 추가적인 하이퍼파라미터를 도입하였음
- 동일한 언어 명령에 대해서도 로봇 환경에 따라 작은 localized trajectory 변화가 요구 될 수도 있고, 더 긴 범위의 수정이 요구 될 수도 있음
- 학습 후, 로컬리티 팩터를 사용해 사용자가 모델 영향 범위를 원하는 대로 정의할 수 있음
4. Experiments
- 저자들의 실험 목표는 3가지가 있음
- 3D와 속도 공간에서 trajectory 수정 알고리즘의 성능
- 모델 성공에 대한 다양한 아키텍처 구성 요소의 영향을 이해
- 모델이 여러 로봇 플랫폼에 적용 가능한지 검증
4.1 Model training details
4.2 Simulation Experiments
- 먼저, trajectory 적응 방법의 기본 작동 방식을 정성적 결과를 통해 보여줌(fig.3)
- 이 시나리오에서는 웹에서 크롤링해 무작위로 선택한 샘플 객체와 해당 이미지를 사용
- 객체 주위를 통과하는 초기 trajectory가 있다고 가정하고, 언어 명령("객체로부터 더 멀리/가까이", "객체 근처에서 더 빠르게/느리게")에 따라 trajectory를 수정하도록 지정
- 제안한 모델이 사용자의 의도를 반영하여 trajectory를 예측

- 프레임워크가 다양한 로봇 동역학과 환경에 적응할 수 있는 능력을 검증하기 위해, Coppeliasim 시뮬레이터와 Bullet 물리 엔진을 사용하여 시뮬레이션 환경 설계
- 공중 비행체: 3D global frame of reference에서 작동하며, trajectory 추적을 위해 PID 컨트롤러를 사용
- 다족 로봇: 2D 이동에 제한되며 open-loop 모션 컨트롤러 사용
- 제안한 접근 방식이 다양한 자연어 입력에 대해 원래의 trajectory을 성공적으로 수정할 수 있음을 보임(fig.4)

Locality factor
- 아래 그림은 locality factor의 값에 따른 모델 반응을 보여줌
- 이 하이퍼파라미터는 trajectory에서 원하는 변화의 범위를 나타내며, 언어 입력 외에 더 정밀한 사용자 제어를 제공함

Real Robot Experiments with Manipulation
- 7-DOF를 가진 Robot Arm 에 제안된 모델을 적용하여 실제 실험 수행
- YOLOv3 Obejct Detection Model을 사용해 가장 probability가 높은 객체 5개의 bounding box를 추출하여 CLIP 인코더에 입력으로 보냄
- 실험 결과는 아래 사진고 같음

latte is horse~