VLM(GPT4V)×Robotics             Look Before You Leap: Unveiling the Power of GPT-4V in Robotic Vision-Language Planning

アドベントカレンダー
初参加させていただきます
基盤モデル × Robotics　16日目です

# 初めに
基盤モデルとロボティクスに関して，大きく2つの流行があると（個人的には）思っています
一部以下から抽出
https://github.com/GT-RIPL/Awesome-LLM-Robotics?tab=readme-ov-file

#### Robotics基盤モデル
ロボットの動作そのものを出力することができるモデル　例　制御周期ごとの手先速度，角速度を出力
* **RT-X** "Open X-Embodiment: Robotic Learning Datasets and RT-X Models", *arXiv, July 2023*.
[[Paper](https://robotics-transformer-x.github.io/paper.pdf)] [[Website](https://robotics-transformer-x.github.io/)]
* **RT-2** "RT-2: Vision-Language-Action Models Transfer Web Knowledge to Robotic Control", *arXiv, July 2023*.
[[Paper](https://arxiv.org/abs/2307.15818)] [[Website](https://robotics-transformer2.github.io/)]
* **PaLM-E**: "PaLM-E: An Embodied Multimodal Language Model", *arXiv, Mar 2023*, [[Paper](https://arxiv.org/abs/2303.03378)] [[Webpage](https://palm-e.github.io/)]
 * **RT-1**: "RT-1: Robotics Transformer for Real-World Control at Scale", *arXiv, Dec 2022*. [[Paper](https://arxiv.org/abs/2212.06817)]  [[GitHub](https://github.com/google-research/robotics_transformer)] [[Website](https://robotics-transformer.github.io/)]
* **RobotFlaingo**: Vision-Language Foundation Models as Effective Robot Imitator. [[Web](https://roboflamingo.github.io/)]
* **Octo:** Open-World Object Manipulation using Pre-Trained Vision-Language Models. [[Web](https://robot-moo.github.io/)]


最近では，画像情報を推論に利用した手法も提案（ゴールイメージの付与，手先軌道の手書き指示など）
PaLM-E
**RT-Sketch** [[Web](https://rt-sketch.github.io/)]
**RT-Trajectory** [[Web](https://rt-trajectory.github.io/)]
#### **LLM/VLMを用いたTask and Motion Planning(TAMP)**
受け取った言語指示を，タスクレベルの手順に分解して言語（もしくはコードの形）で表現し，ローレベルのポリシーを実行する
* **ProgPrompt**: "Generating Situated Robot Task Plans using Large Language Models", arXiv, Sept 2022. [Paper] [Github] [Website]
Code-As-Policies: "Code as Policies: Language Model Programs for Embodied Control", arXiv, Sept 2022. [Paper] [Colab] [Website]
* **VoxPoser** "VoxPoser: Composable 3D Value Maps for Robotic Manipulation with Language Models", *arXiv, July 2023*
[[Paper](https://arxiv.org/abs/2307.05973)] [[Website](https://voxposer.github.io/)]
 * **TidyBot**: "Personalized Robot Assistance with Large Language Models",  *arXiv, May 2023*. [[Paper](https://arxiv.org/abs/2305.05658)] [[Pytorch Code](https://github.com/jimmyyhwu/tidybot/tree/main/robot)] [[Website]
 * **InnerMonlogue**: "Inner Monologue: Embodied Reasoning through Planning with Language Models", *arXiv, July 2022*. [[Paper](https://arxiv.org/abs/2207.05608)] [[Website](https://innermonologue.github.io/)]
 * **VOYAGER**:"VOYAGER: An Open-Ended Embodied Agent with Large Language Models", *arXiv, May 2023*. [[Paper](https://arxiv.org/abs/2305.16291)] [[Pytorch Code](https://github.com/MineDojo/Voyager)] [[Website](https://voyager.minedojo.org/)]

本記事では2つのうち，後者のTask and Motion Planningにおける最近の論文を紹介します
せっかくなのでさらにトレンドの[GPT-4V](https://openai.com/research/gpt-4v-system-card)の能力を活用した手法を持ってきました（本当はGeminiの方がトレンドかもしれない）

# Look Before You Leap: Unveiling the Power of GPT-4V in Robotic Vision-Language Planning

https://robot-vila.github.io/
<iframe width="560" height="315" src="https://www.youtube.com/embed/t8pPZ46xtuc?si=5JLgJJPdS_jY174t" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>


Robotic Vision-Language Planning (ViLa)の提案 　
VLMを活用した長期的(long-horizon)ロボットタスクプランニング

## 概要
- 知覚的データをダイレクトにReasoningやPlanningに適用　→　一般的な感覚の知覚を深く理解してタスクプランニング（空間的なレイアウトや物体のふるまいなど）
- マルチモーダルなゴール状態の指定に柔軟　視覚的フィードバックも可能
- 実機とシミュレーション環境で検証　従来のLLM-baseのプランナーより優位な結果が出た

## 背景
### あなたならどうする
皆さんは　「コーラをとってきて」　と言われたらどうしますか？？

Case1. コーラが見えていたら
        すぐにとって渡しに行く
Case2. コーラが見えなかったら    
        別の場所を探す　冷蔵庫とか保管庫とか

このように、人間であればシンプルな指示からその場その場で視覚情報を判断して複雑に行動することが可能

この適応能力は人間がシーンを深く理解しているからこそできることです

### LLM Task Planning
* LLMは広くその驚くべき性能を発揮しており，複雑かつ長期的なタスクをLLMで計画させる手法が数多く提案
  しかし、LLMのタスク計画では***視覚的情報を十分に取り入れることが難しい***

例　ロボットの身体状態，環境の情報，物体形状やプロパティ，実環境制約， etc.
    
* 従来手法では，視覚情報を**テキスト化したセマンティックな情報**を用いて提供していた
    - Affordance Model　「どこをつかめばいいか」などのアフォーダンスを抽出しテキスト化
    - Grounding Model   物体の場所やロボットの状態などをテキスト化
    時に真の必要なタスクに関連する複雑な環境情報を取り込めない可能性がある

### GPT-4Vの登場
* GPT-4V(ision)の登場　リサーチの幅を大きく広げている　
    * [https://cdn.openai](https://openai.com/research/gpt-4v-system-card)
    * 画像情報をそのまま入力できる　→　認識情報を直接的に言語モデルに導入することが可能に

### 提案手法

**Robotic Vision-Language Planning (ViLa) の提案**
独立したAffordance Modelを排除し，環境の視覚的観測と高レベル言語に基づいて，Zero-shotでVLMに行動可能なステップのシーケンスを生成させる手法の提案

- **視覚世界に根ざした一般的知識の深い理解**
    
    空間レイアウト（例：Take Out Marvel Model）やオブジェクト属性（例：Stack Plates Steadily）の理解を必要とする複雑なタスクを得意とする．→　LLMのPlannerでは一貫して不足していたもの
    
- **多彩なゴール指定**
    
    柔軟なマルチモーダルな目標指定をサポート
    言語による指示だけでなく，ゴールイメージ，さらには言語とイメージの両方をブレンドして、ゴールを効果的に定義することができる。
    
- **視覚的フィードバック**
    
    直感的で自然な方法で視覚的フィードバックを効果的に利用し、ダイナミックな環境でのロバストなクローズド・ループ・プランニングを可能に

# Method
## Vision-Language Models as Robot Planners

![Untitled.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633039/80950aab-0774-c2cd-d68a-25105fbfa4b0.png)著者: Yingdong Hu, Fanqi Lin, Tong Zhang, Li Yi, Yang Gao [引用*](https://arxiv.org/abs/2311.17842)

非常にシンプル　かつ直観的です
1. 高レベルのInstruction（Fig.2 左上）と現在の画像，すでに終了した行動をVLMに入力
1. Task-Related Objects and Locationsを抽出(コード公開前のため一部想像あり)
    * 出力形式　`i(Number). Object Name and Location (relationship)`
    * Chain of Thought Promptとして次の処理で利用
1. Chain of Thought Promptを加え再度VLMが推論　Task Planを生成
    * すでに完了したTask Stepの続きを生成
    * 自然言語（Code生成ではない）
    * 事前に提供したロボットのPrimitiveタスクをベースに推論
1. 生成されたTask Planのうち1つ目のTaskのみをロボットが実行
1. 実行されたタスクはFinish Planに追加され再度推論

![Untitled.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633039/88b92803-7749-7bf0-22ac-c7b0e8a7538e.png)

## ViLaの強み
### 視覚世界の一般的知識の理解
1. 空間的なレイアウトを理解できる
    * 今まではObjectなどの代表的な情報が中心であったため，物体度同士の関係性等の必要な情報が欠落していた
    * 提案手法ではより幅広い情報を画像から直接取得できるようになった．
2. オブジェクトの振る舞いを理解できる
    オブジェクトがどういった性質を持っているかを理解することが可能になった．

### 幅広いゴール指定
片付け方を指定するときはゴールイメージを与えたほうがいい
こういったマルチモーダルな入力を受け入れられるのがVILAのいいところ

例　寿司の並べ方
![sushi.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633039/75eb7999-b94b-199b-09f9-3d9c496989f9.jpeg)著者: Yingdong Hu, Fanqi Lin, Tong Zhang, Li Yi, Yang Gao [引用*](https://arxiv.org/abs/2311.17842)
動画
https://robot-vila.github.io/media/robot-videos/versatile_goals/sushi.mp4

### Visual Feedback
* 今までは情報をテキスト化してすべてLLMで補っていた
    →　言語化のフェーズで複雑さを増し、かつ価値のある情報が失われる


* 提案手法では，現在のイメージと完了したタスクのみをフィードバック　
    →　視覚とタスク進行度のみから推論することが可能に


# 実験

| 環境とタスク                    | Real-World Manipulation Tasks        | Simulated Tabletop Rearrangement   |
|---------------------------------|--------------------------------------|------------------------------------|
| タスク数                        | 16 long-horizon tasks<br>その内<br>comprehension of commonsense (8 tasks), <br>flexibility in goal specification (4 tasks), <br>utilization of visual feedback (4 tasks) | 16 tasks based on the RAVENS environment <br>その内<br>(i)Blocks and Bowls(8 tasks)<br>(ii)Letters(8 tasks)|
| Primitives                      | `pick up object`,<br>`place object in/on object`,<br> `open object`, <br>`close object`, <br>`pour object into/onto object` |  |
| Baselines                       | SayCan, Grounded Decoding            | CLIPort, LLM-based Planner, Grounded Decoding |
| 結果                            | ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633039/c9499d64-197f-42a8-a105-305a5f608b4f.png)ViLaは画像内の一般的観測を理解できる．![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633039/b79399a9-2579-0130-f263-7a46008f828c.png)マルチモーダルな入力に対応できる．![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633039/ed1d396c-8328-4efc-13e4-6b769e247c6f.png)視覚的フィードバックを自然に活用できる | ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633039/291896ae-1268-da4a-10d8-e0b3771bbe9a.png)従来手法に比べ大きく高い　特にUnseenなタスク|

著者: Yingdong Hu, Fanqi Lin, Tong Zhang, Li Yi, Yang Gao [表中のすべての画像の引用*](https://arxiv.org/abs/2311.17842)

**Baselines:**
 * **Say-Can**: "Do As I Can, Not As I Say: Grounding Language in Robotic Affordances", *arXiv, Apr 2021*. [[Paper](https://arxiv.org/abs/2204.01691)]  [[Colab](https://say-can.github.io/#open-source)] [[Website](https://say-can.github.io/)]
 * **Grounded Decoding:** Guiding Text Generation with Grounded Models for Embodied Agents [[Web](https://grounded-decoding.github.io/)[Paper](https://arxiv.org/abs/2303.00855)]
 * **CLIPort**: What and Where Pathways for Robotic Manipulation　[[Web](https://cliport.github.io/) [Paper](https://arxiv.org/abs/2109.12098)]

**印象的だった部分**
ポテチを追加してもVisual Feedbackで再度片付けるタスクを計画している様子


<iframe width="560" height="315" src="https://www.youtube.com/embed/t8pPZ46xtuc?si=cTHtKvXtXLM_bqpr&amp;start=246" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>


# Citation
aXiv: https://arxiv.org/abs/2311.17842
web: https://robot-vila.github.io

```
@article{hu2023look,
      title={Look Before You Leap: Unveiling the Power of GPT-4V in Robotic Vision-Language Planning},
      author={Yingdong Hu and Fanqi Lin and Tong Zhang and Li Yi and Yang Gao},
      journal={arXiv preprint arXiv:2311.17842},
      year={2023}
    }
```

# 終わりに
新たなモダリティは常に革新を与えますね
もっとロボットができることが増える予感…