ロボットの行動計画(プランニング)について学ぶ
皆さん、こんにちは。技術開発グループのn-ozawanです。
チャットボットやAIなどと会話した際、あたかも本物の人間と会話していると錯覚する現象のことをイライザ効果と言います。
本題です。
技術の進歩により、ロボットは私たちの生活のさまざまな場面で活躍しています。家庭での掃除から工場での製造、さらには医療分野に至るまで、ロボットの役割はますます重要になっています。しかし、これらのロボットが効率的に動作するためには、適切な行動計画(プランニング)が不可欠です。今回は行動計画について学びたいと思います。
目次
行動計画(プランニング)
概要
ロボットの行動計画(プランニング)は、ロボットが自律的に動作し、特定の目標を達成するために必要な一連のアクションを決定するプロセスです。例えば、家庭用掃除ロボットでは「部屋を掃除する」という目標を達成するために、部屋の構造などを把握し、最適な掃除ルートを計画して、効率的に掃除をこなします。
ロボットに「掃除して」と指示しただけでは、ロボットは期待通りに掃除しません。自分がどの部屋にいて掃除しているのか、そもそも掃除する必要があるのかなど、その場の状況や状態などを把握し判断する必要があります。文字通り行動計画は、ロボットの行動を事前に計画することになります。
STRIPS
STRIPS(Stanford Research Institute Problem Solver)は、1971年にリチャード・ファイクスとニルス・ニルソンによって提唱された行動計画システムです。STRIPSでは、目標状態を実現するために「前提条件」、「行動」、「結果」の3つを組み合わせることで計画を立てます。
STRIPSでは「前提条件」を明確に定義することが重要とされます。前提条件とはその名の通り、行動を起こすための条件です。例えば、家庭用掃除ロボットが部屋を掃除する前提条件は、十分に充電されていること、前回部屋を掃除してから24時間以上経過していること、などが考えられます。
前提条件が満たされれば「行動」を行います。「結果」はその行動を行ったことにより、周囲の状況や状態がどのように変化したか、その結果を表します。例えば、家庭用掃除ロボットが部屋を掃除したら、その部屋は綺麗になることでしょう。
この「前提条件」、「行動」、「結果」の3つを定義していくことで、ロボットの行動計画を立てていきます。
前提条件 | 行動 | 結果 |
---|---|---|
部屋Aにいる、かつ、部屋Aが汚い | 部屋Aを掃除する | 部屋Aは綺麗になる |
部屋Aにいる、かつ、部屋Aは綺麗 | 部屋Bに移動する | 部屋Bにいる |
部屋Bにいる、かつ、部屋Bが汚い | 部屋Bを掃除する | 部屋Bは綺麗になる |
部屋Bにいる、かつ、部屋Bは綺麗 | 充電ステーションに移動する | 充電ステーションにいる |
充電ステーションにいる、かつ、24時間経過 | 部屋Aに移動する | 部屋Aにいる |

STRIPSにより、要素を簡潔にすることで、行動計画を系統的に立てることができるようになります。しかし、STRIPSではより複雑な行動計画を立てることが難しいため、最近ではSTRIPSの概念を基礎にして、より複雑な計画問題に対応するために開発されたPDDL (Planning Domain Definition Language) が使われているようです。
SHRDLU
SHRDLUは、1970年代初頭にテリー・ウィノグラードによって研究開発された人工知能プログラムです。SHRDLUは、「積み木の世界」と呼ばれる仮想空間内で、ユーザーが自然言語で指示を与えると、それに従って積み木を操作することができました。

SHRDLUは主に3つの特徴を有しており、それぞれで行動計画の研究に影響を与えたとされています。
- 自然言語理解の進展
SHRDLUは自然言語を用いて指示を与えました。これにより、行動計画において自然言語の重要性が認識され、後の研究に大きな影響を与えました。 - 知識表現と推論
SHRDLUは物体の属性や関係を理解し、それに基づいて行動を計画する能力を持っていました。例えば、SHRDLUは「紫のブロックを黄色のブロックの上に置いて」と指示された場合、その指示を実行するために必要な前提条件(例えば、黄色のブロックの上に物が置ける状態なのか、など)を確認し、行動を実行しました。これにより、知識表現と推論の分野での研究が進み、より高度な行動計画システムの開発が促進されました。 - 対話型システムの基礎
SHRDLUは、ユーザーとの対話を通じて行動を計画・実行するシステムの基礎を築きました。SHRDLUはこれまでの指示を記憶し、ユーザーが「その円錐を取り除いて」と指示すると、その円錐がどれであるかを理解して行動を実行しました。このアプローチは、後の対話型エージェントやロボットの開発において重要な役割を果たしました。
SHRDLUは「積み木の世界」である仮想空間内という限られた領域でのみ動作するため、現実世界の言語や知識の複雑さや曖昧さを処理することはできませんでした。しかし、SHRDLUは、行動計画や自然言語処理の分野において多大な影響を与え、その後の研究や技術開発の基礎を築いたと言えます。
おわりに
ロボットの行動計画(プランニング)について学んでみました。ロボットに関わる仕事をしたことがありませんでしたので、なんだか新鮮さを感じました。STRIPSは現在の行動計画の基本と言われていますが、実際にこの現実世界に対して行動計画を立てようとすると、他の知識やスキルが必要になりそうです。
ではまた。