見出し画像

ロボット開発のためのChatGPT

Microsoftの記事「ChatGPT for Robotics: Design Principles and Model Abilities」が面白かったので、簡単にまとめました。

1. ロボット開発のためのChatGPT

現在のロボット開発は、エンジニアがタスクの要件をシステムのコードに変換することから始まります。つまり、エンジニアはロボットの動作を修正するために、新しい仕様とコードを作成する必要があります。このプロセスは遅く、費用がかかり、非効率的です。(左図)

「ChatGPT」は、新しいロボティクスパラダイムの扉を開き、非技術者のユーザーがロボットのパフォーマンスを監視しながら大規模言語モデル(LLM)から高レベルなフィードバックを受け取ることを可能にします。(右図)

一連の「設計原則」に従うことで、「ChatGPT」はロボットタスクを達成するコードを生成できるようになります。

2. 設計原則

LLMのプロンプトは、非常に経験的な科学です。試行錯誤を繰り返しながら、ロボットタスクを達成するプロンプトを作成するための「設計原則」を構築しました。

(1) 高レベルのロボットAPIの定義
このAPIは、特定のロボット固有のものにすることができ、ロボットの制御スタックまたは知覚ライブラリから既存の低レベルの実装にマップする必要があります。「ChatGPT」がその動作について推論できるように、高レベルAPIにわかりやすい名前をつけることが非常に重要です。

(2) 「ChatGPT」のテキストプロンプトの作成
これは、タスクの目標を説明すると同時に、高レベルAPIのどの機能が利用可能かを明示的に示します。プロンプトには、タスクの制約に関する情報も含めることができます。

(3) 「ChatGPT」のコード出力の評価
ユーザーがシミュレータで、「ChatGPT」のコード出力を評価します。 必要に応じて、ユーザーは自然言語を使用して、回答の品質と安全性について ChatGPT にフィードバックを提供します。

(4) デプロイ
ユーザーがソリューションに満足したら、最終的なコードをロボットにデプロイできます。

3. ChatGPT + Real Drone

実際のドローンの制御で「ChatGPT」を使用した例です。これによって、「ChatGPT」が、非技術者のユーザーとロボットの間の、非常に直感的な言語ベースのインターフェイスとして機能することが証明されました。「ChatGPT」は、ユーザーの指示があいまいな場合に明確化の質問をすることで、ジグザグパターンなどの複雑なコードを記述しました。セルフィーの撮り方もわかりました。

4. ChatGPT + AirSim

「Microsoft AirSim」でシミュレートされた産業検査シナリオで「ChatGPT」を使用した例です。この例は、ユーザーの高レベルの意図を効果的に解析して、ドローンを正確に制御することができました。

5. ChatGPT + Manipulation

ロボットアームの操作シナリオで「ChatGPT」を使用した例です。会話型フィードバックを使用して、最初に提供されたAPIをより複雑な高レベル関数にする方法をモデルに教えました。つまり、「ChatGPT」自体がコード化したものです。カリキュラムベースの戦略を使用して、モデルはこれらの学習したスキルを論理的に連鎖させ、ブロックを積み重ねるなどの操作を実行することができました。

6. ChatGPT + Embodied AI

「行動」する前に、世界を「認識」する 能力は、ロボット開発の基本です。そこで、「ChatGPT」がこの概念を理解しているかどうかをテストすることにし、ユーザー指定のオブジェクトが見つかるまで環境を探索するよう依頼しました。モデルにオブジェクト検出やオブジェクト距離API などの機能へのアクセスを許可し、生成されたコードが認識と行動のループを正常に実装することを確認しました。

「ChatGPT」がリアルタイムでセンサーのフィードバックに基づいてロボットがどこに行くべきかを決定できるかどうかを評価するために追加の実験を行いました。 興味深いことに、各ステップでカメラ画像のテキストによる説明をチャット入力して確認したところ、モデルは特定のオブジェクトに到達するにロボットを制御する方法を理解できました。

7. PromptCraft

「ChatGPT」などのLLMによるロボットタスクの達成には、優れたプロンプトエンジニアリングが必要不可欠です。 残念ながら、プロンプトエンジニアリングは経験科学であり、この分野の研究者や愛好家を支援するための良い (および悪い) 例が不足しています。これに対処するために、さまざまなロボットカテゴリのプロンプトの例を誰でも共有できる共同オープンソースプラットフォーム「PromptCraft」を導入しました。この調査で使用されたすべてのプロンプトと会話を公開します。 皆様により多くの貢献をお願いしたいと思います。

プロンプトの設計に加えて、ユーザーが「ChatGPT」で生成したアルゴリズムをテストできるように、複数のロボットシミュレータとインターフェイスも含めたいと考えています。手始めに、ChatGPTを統合したAirSim環境をリリースします。新しいシミュレータやインターフェースの寄稿も歓迎します。

関連



この記事が気に入ったらサポートをしてみませんか?