ロボット、ロボット行動計画実行装置、ロボットの行動計画実行方法、および、行動計画実行プログラム
【課題】
外部からの指示に応じて行動すると共に、外部からの指示と無関係な(予測不可能な)行動も行うことが可能なロボットの提供。
【解決手段】
行動計画生成部21は、指示・状態通知部16からの指示に基づいて、一あるいは複数の機能からなる指示ベース行動計画を生成する。追加行動選択部25は、前記指示ベース行動計画に含まれる機能を除いた別の機能を選択し、非指示ベース行動計画とする。
そして、機能実行指示部26は、指示ベース行動計画と、非指示ベース行動計画に基づき各機能を並列的に実行指示する。
外部からの指示に応じて行動すると共に、外部からの指示と無関係な(予測不可能な)行動も行うことが可能なロボットの提供。
【解決手段】
行動計画生成部21は、指示・状態通知部16からの指示に基づいて、一あるいは複数の機能からなる指示ベース行動計画を生成する。追加行動選択部25は、前記指示ベース行動計画に含まれる機能を除いた別の機能を選択し、非指示ベース行動計画とする。
そして、機能実行指示部26は、指示ベース行動計画と、非指示ベース行動計画に基づき各機能を並列的に実行指示する。
【発明の詳細な説明】
【技術分野】
【0001】
外部からの指示や状態により、行動を計画して実行するロボット、ロボット行動計画実行装置、ロボットの行動計画実行方法、および、行動計画実行プログラムに関する。
【背景技術】
【0002】
ロボットは、主に、電気的な作用を用いて、人間等の生き物の動作に似た行動を行う装置である。以前は、自動化や無人化等のために、工場の生産用機械の一部として、産業用のロボットが利用されていた。
【0003】
最近は、産業用のロボット以外に、自律型のエンターテインメントロボットと呼ばれるものが登場してきている(例えば、特許文献1参照)。自律型のロボットには、人間の視覚や聴覚に取って代わるカメラ−画像認識、マイク−音声認識などを備え、外部環境の変化に応じて行動を行うものがある。
【特許文献1】特開2004−114285公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
産業用のロボットは、人間が制御を行うため、人間の指示することのみ行う。自律型のエンターテインメントロボットは、人間の視覚や聴覚に取って代わるカメラ−画像認識、マイク−音声認識が常時動作しており、外部環境の変化を把握した時、これを外部からの指示として、この指示に基づいてロボット自身で行動を決定し、決定した行動を実行する。
【0005】
このような従来のロボットは、外部からの指示においてのみ、行動を決定し、行動を実行する。このようなロボットは、少なくとも、ロボットの製作者にとっては、全て予見できる行動に留まる。勿論、予見できる行動を行うことは、ロボットにとって不可欠であるが、より人間らしい行動、つまり、全く予見できない行動(予測不可能な行動)も行うことが期待される。しかしながら、このようなことを何ら実現されたものが無かった。
【0006】
本発明は、上記課題を鑑みなされたものであり、外部からの指示に応じて行動すると共に、外部からの指示と無関係な(予測不可能な)行動も行うことが可能なロボット、ロボット行動計画実行装置、ロボットの行動計画実行方法、および、行動計画実行プログラムを提供する。
【課題を解決するための手段】
【0007】
本発明のロボットは、外部からの指示に基づいて、一あるいは複数の機能の実行手順を生成する行動計画生成手段と、前記行動計画生成手段で生成された前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択する追加機能選択手段と、前記行動計画生成手段で生成された前記実行手順に示される機能と、前記追加機能選択手段で選択された前記別の機能との実行指示を行う機能実行指示手段とを備えるようにした。
【0008】
また、本発明のロボットは、利用者からの指示に基づいて、ロボットの一あるいは複数の機能の実行手順を指示ベース行動計画として生成する指示ベース行動計画生成手段と、前記指示ベース行動計画生成手段で生成された前記指示ベース行動計画を格納する行動計画格納手段と、前記行動計画格納手段に格納される前記指示ベース行動計画の各機能を参照し、該各機能を除いた別の機能を選択し、非指示ベース行動計画として生成し、前記行動計画格納手段へ追加格納する非指示ベース行動計画生成手段と、前記行動計画格納手段に格納された前記指示ベース行動計画と前記非指示ベース行動計画とに含む各機能の実行指示を行う機能実行指示手段とを備えるようにした。
【0009】
また、本発明は、実際の動作や処理を行うハードウェアやソフトウェアを備える第1のレイヤと、行動を決定し、その行動を行うための機能を実行指示する行動計画部を備える第2のレイヤと、第1のレイヤと第2のレイヤとの間に有って、第2レイヤから指示された機能を実現するために、第1のレイヤのハードウェアやソフトウェアへ具体化した指示を行う機能実行部と、第1のレイヤのハードウェアやソフトウェアからのデータを第2のレイヤで理解可能な、指示や状態を示す情報に加工し、第2のレイヤへ通知する指示・状態通知部を備える第3のレイヤとを含むロボットであって、前記行動計画部は、前記指示・状態通知部からの指示に基づいて、一あるいは複数の機能の実行手順を生成する行動計画生成手段と、前記行動計画生成手段で生成された前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択する追加機能選択手段と、前記行動計画生成手段で生成された前記実行手順に示される機能と、前記追加機能選択手段で選択された前記別の機能との実行を前記機能実行部へ指示する機能実行指示手段とを備えるようにした。
【0010】
また、本発明は、複数の機能に応じてそれぞれ行動するロボットの行動計画実行方法において、前記ロボットの外部からの指示に基づいて、一あるいは複数の機能の実行手順を生成し、該生成された実行手順を参照して、該実行手順に示される機能を除いた別の機能を選択し、生成された前記実行手順に示される機能と、選択された前記別の機能とを並列に実行するようにした。
【0011】
また、本発明のロボットの行動計画実行方法は、利用者からの指示に基づいて、ロボットの一あるいは複数の機能の実行手順を指示ベース行動計画として生成し、生成された前記指示ベース行動計画を記憶部へ格納し、記憶部へ格納された前記指示ベース行動計画の各機能を参照し、該各機能を除いた別の機能を選択して非指示ベース行動計画として生成し、前記記憶部へ生成した前記非指示ベース行動計画を追加し、前記記憶部に格納された前記指示ベース行動計画と前記非指示ベース行動計画とに含まれる各機能の実行指示を行うようにした。
【0012】
また、本発明は、実際の動作や処理を行うハードウェアやソフトウェアを備える第1のレイヤと、行動を決定し、その行動を行うための機能を実行指示する行動計画部を備える第2のレイヤと、第1のレイヤと第2のレイヤとの間に有って、第2レイヤから指示された機能を実現するために、第1のレイヤのハードウェアやソフトウェアへ具体化した指示を行う機能実行部と、第1のレイヤのハードウェアやソフトウェアからのデータを第2のレイヤで理解可能な、指示や状態を示す情報に加工し、第2のレイヤへ通知する指示・状態通知部を備える第3のレイヤとを含むロボットの行動計画実行方法であって、前記行動計画部は、前記指示・状態通知部からの指示に基づいて、一あるいは複数の機能の実行手順を生成し、生成された前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択し、前記実行手順に示される機能と、選択された前記別の機能との実行を前記機能実行部へ指示するようにした。
【0013】
複数の機能を備えるロボットのプロセッサで実行される本発明の行動計画実行プログラムは、外部からの指示を入力し、一あるいは複数の機能の実行手順を生成させる第1手段と、
該生成された実行手順を参照して、該実行手順に示される機能を除いた別の機能を選択させる第2手段と、生成された前記実行手順に示される機能と、選択された前記別の機能とを並列に実行させる第3手段とを備えるようにした。
【0014】
また、本発明は、複数の機能と、記憶部とを備えるロボットのプロセッサで実行される行動計画実行プログラムであって、利用者からの指示を入力し、ロボットの一あるいは複数の機能の実行手順を指示ベース行動計画として生成させる第1手段と、前記第1手段で生成させた前記指示ベース行動計画を前記記憶部へ格納させる第2手段と、前記記憶部へ格納させた前記指示ベース行動計画の各機能を参照させ、該各機能を除いた別の機能を選択させ、非指示ベース行動計画として生成させる第3手段と、前記記憶部へ、生成させた前記非指示ベース行動計画を追加させる第4手段と、前記記憶部に格納させた前記指示ベース行動計画と前記非指示ベース行動計画とに含まれる各機能の実行指示を行わせる第5手段とを備えるようにした。
【0015】
また、本発明は、実際の動作や処理を行うハードウェアやソフトウェアを備える第1のレイヤと、行動を決定し、その行動を行うための機能を実行指示する行動計画実行プログラムを備える第2のレイヤと、第1のレイヤと第2のレイヤとの間に有って、第2レイヤから指示された機能を実現するために、第1のレイヤのハードウェアやソフトウェアへ具体化した指示を行う機能実行部と、第1のレイヤのハードウェアやソフトウェアからのデータを第2のレイヤで理解可能な、指示や状態を示す情報に加工し、第2のレイヤへ通知する指示・状態通知部を備える第3のレイヤとを含むロボットのプロセッサで実行される前記行動計画実行プログラムであって、前記指示・状態通知部からの指示を入力し、一あるいは複数の機能の実行手順を生成させる第1手段と、生成させた前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択させる第2手段と、前記実行手順に示される機能と、選択された前記別の機能との実行を前記機能実行部へ行うために指示させる第3手段とを備えるようにした。
【発明の効果】
【0016】
本発明によれば、外部からの指示に応じて行動すると共に、外部からの指示と無関係な行動も行うことが可能なロボットが提供できるようになった。
【発明を実施するための最良の形態】
【0017】
以下、図面を用いて実施の形態を詳細に説明する。
【0018】
ロボットは、図1のような階層的なモデルで示すことができる。このモデルは、実際の動作・処理を行うハードウェア(HW)14やソフトウェア(SW)15を多数備えるHW/SWレイヤ11と、ロボットの行動を決定し、その行動を行うための機能を実行指示する行動計画部18を備える行動計画レイヤ13と、HW/SWレイヤ11と行動計画レイヤ13との間にあって、行動計画レイヤ13から指示された機能を実現するために、HW/SWレイヤ11のHW14やSW15へ具体化した指示を行う多数の機能実行部17と、HW/SWレイヤ11のHW14やSW15からのデータを行動計画レイヤ13で理解可能な、指示や外部/内部状態を示す情報に加工、変換し、行動計画レイヤ13へ通知する多数の指示・状態通知部16を備える機能レイヤ12とに大別してある。
【0019】
下位の層にあたるHW/SWレイヤ11は、例えば、様々な物理的な作業を行うアーム、ロボットの移動のための脚、キャタピラまたはタイヤ、カメラの撮像方向を変更するための駆動部などの実際に動きがある稼動部位や、外部へ知らせるための出力を行う液晶部、スピーカ、ライトなどの提示部位や、外部の状態や外部からの情報を得るためのカメラ(CCD)、マイク、超音波センサ、赤外線センサ、触覚センサなどの各種センサなどの様々なハードウェア構成と、センサから得た内容を解析する画像認識エンジン、音声認識エンジンなどの各種認識部などの様々なソフトウェア構成とを備えている。
【0020】
中位の層にあたる機能レイヤ12は、HW/SWレイヤ11の稼動部位からの駆動量や、認識部からの解析結果等を、行動計画レイヤ13で利用可能となるような情報に解釈/変換して提供する多数の指示・状態通知部16と、行動計画レイヤ13から与えられる「機能」の実行指示によりHW/SWレイヤ11の各HW14やSW15へ具体的に動作、処理させる多数の機能実行部17とを備えている。
【0021】
機能とは、ここでは、HW/SWレイヤ11で実行される一つあるいは複数の具体的な動作・処理を包括的に表わしたものである。例えば、ロボットの「移動」、「目回転」、「画像認識」等を、ここでは「機能」と呼んでいる。
【0022】
また、行動計画とは、目的を実現するために、単一の機能あるいは、複数の機能を直並列にスケジューリングした機能列を指す。
【0023】
上位の層にあたる行動計画レイヤ13は、機能レイヤ12の指示・状態通知部16から指示が与えられた時、その指示をロボットで実現するために(指示・状態通知部16から得られる状態なども加味した上)、一機能あるいは複数の機能をスケジューリングして組み合わせた機能群からなる行動計画を生成する行動計画部18を備えている。以下、機能レイヤ12からの指示によって生成された行動計画を、指示ベース行動計画と呼ぶこととする。また、行動計画部18は、指示ベース行動計画を実行する際に、ロボットが備える行動計画レイヤ13から利用可能な機能の全てから、指示ベース行動計画に含む機能(の少なくとも一部の機能)を排除した残りの機能から一あるいは複数の機能を選択し、指示ベース行動計画と並列的に実行可能な行動計画を生成する。以下、このようにして生成される行動計画を、非指示ベース行動計画と呼ぶこととする。行動計画部18は、生成した指示ベース行動計画、及び非指示ベース行動計画に基づいて、機能レイヤ12へ各種機能の実行を指示するための処理も備える。
【0024】
なお、詳細は後述するが、非指示ベース行動計画の生成時に対象とする機能は、指示ベース行動計画での機能と同時には実行できない機能や、同時に実行することにより悪影響を及ぼす機能などを含む場合もあり、これら機能を考慮し、これら機能を排除、あるいは選択しにくいようにして、非指示ベース行動計画を生成するようにすれば、なお良い。
【0025】
次に、行動計画部18についてより詳細に説明する。図2は、行動計画部18の機能ブロック図を示している。
【0026】
行動計画生成部21は、機能レイヤ12の指示・状態通知部16から与えられた指示に基づいて、指示ベース行動計画を生成する。この生成方法は、例えば、ゴールを設定し、そのゴールを実現するための一以上の機能をスケジュールする、所謂よく知られるプランニング技術で実現でき、このとき、ゴールは指示、アクションは機能に相当する。なお、指示ベース行動計画を生成するにあたっては、当然外部や内部の各種状態を知っておく必要があり、これら状態の取得も、指示・状態通知部16から行われる。
【0027】
生成された指示ベース行動計画を図3に例示する。図3(a)は、与えられた指示(指示1)に応じて生成された時刻t2から開始する行動計画を示しており、図3(b)は、与えられた指示には連続的な2つの指示(指示2、指示3)が含まれていると判断し、それら2つの連続的な指示(指示2、指示3)に応じて生成された時刻t1から開始する2つの行動計画を示している。なお、図3(b)と同様なモデルとしては、「お姉さんにボールペンのありかを聞いてきて」と指示した場合に、「お姉さんのところまで行ってボールペンのありかを聞く」という指示と、「聞いた結果を戻って話す」と言う指示とで2つの連続的な指示に応じて生成される、などを例にすると理解しやすい。なお、この場合に、「お姉さんのところまで行く」と「ボールペンのありかを聞く」とを連続的な2つの指示と見なすこともできるが、ここでは1つの指示と見なしている。また、例えば図3(a)の行動計画が生成された後に、時刻t2にごく近い時刻t1(t1<t2)から開始する図3(b)の行動計画が生成される際には、図3(a)の行動計画に含む各機能が同時に実行されることのないようにすることが制約条件となる。この例の場合、制約条件である図3(a)に対し生成される図3(b)の機能と同時に実行されるものが無いので、結果として時刻t1から開始する図3(b)の行動計画が生成できたこととなる。
【0028】
行動計画記憶部22は、生成された指示ベース行動計画を記憶する記憶装置である。ここで、記憶された指示ベース行動計画のイメージを図4に例示する。図4は、時刻t1から始まる指示2の行動計画と、指示2の行動計画の終了後に連続して行われる指示3の行動計画と、時刻t1に直ぐ後の時刻t2から始まる指示1の行動計画とが記憶されていることを示している。
【0029】
行動計画管理部23は、行動計画の管理を行うものであり、行動計画記憶部22に記憶される各指示ベース行動計画が、実行開始時の所定期間前に、その指示ベース行動計画を読み出して、直近行動計画格納部24に格納する。ここでは、取り出す指示ベース行動計画と時間的に重複する他の指示ベース行動計画を含む単位で、読み出して直近行動計画格納部24に格納することとする。また、行動計画管理部23は、後記する行動計画実行指示部26から機能実行された機能を示す情報を受け、その機能を含む行動計画の実行が終了したことが確認されると、行動計画記憶部22の行動計画を削除する。
【0030】
直近行動計画格納部24は、行動計画(あるいは機能)の実行の開始が直前に迫ったものを格納する記憶装置である。
【0031】
追加行動選択部25は、本ロボットが備える行動計画レイヤ13から利用可能な機能の全てから、直近行動計画格納部24に格納された直近の行動計画に含まれる機能(の少なくとも一部の機能)を排除した残りの機能の中から、一あるいは複数の機能を無作為にあるいは所定のルールに従って選択し、指示ベース行動計画と並列的に実行可能な非指示ベース行動計画を生成する。この結果、直近行動計画格納部24に記憶される行動計画は、非指示ベース行動計画を含む行動計画に更新される。
【0032】
行動計画実行指示部26は、直近行動計画格納部24に格納される、更新された行動計画に含まれる各機能を実行開始のタイミングに併せて順次取得し、機能実行部17へ実行指示する。また、行動計画実行指示部26は、実行指示した機能を示す情報を行動計画管理部23へ通知する。
【0033】
行動計画実行指示部26により実行指示された機能実行部17は、指示された機能を実行する。
【0034】
以上のような構成を備えるロボットは、指示に基づく行動のみならず、指示していない行動も並列的に実行可能となるから、この結果、例えば、ロボットが指示ベース行動計画で与えられたお姉さんのところに行く過程で、非指示ベース行動計画で与えられた、歌を歌いながらや、目をくるくるさせながらといった、ペットのように予期しない(愛嬌ある)振る舞いが相行われることが期待できる。
【0035】
なお、上記実施の形態へ更に追加行動選択部25の動作を外部からON/OFFすることが出来るように構成すれば、純粋に指示にのみ対応するモードとペットのように振舞うモードとをユーザが切替え可能に利用することができるロボットの提供も出来る。
【0036】
次に、上記で説明したロボットの、直近行動計画に追加行動を追加する際のバリエーションについて説明する。まず、第1のバリエーションとして、指示ベース行動計画による行動を可能な限り妨げないように非指示ベース行動計画として機能を追加する例を示し、次に第2のバリエーションとして、第1のバリエーションにてある機能を選択し非指示ベース行動計画として追加した後に次の機能を選択し付加する際に、過去の指示ベース行動計画の履歴を利用する例を示す。
【0037】
(第1のバリエーション)
まず、指示ベース行動計画による行動を可能な限り妨げないように非指示ベース行動計画を追加する例について以下に説明する。
【0038】
図5に追加行動選択部25の内部の機能ブロック図を示す。
【0039】
同時実行可能機能判定部31は、本ロボットが備える行動計画レイヤ13から利用可能な機能の全てから、指示ベース行動計画に含まれる機能と、機能間同時実行制限情報34を参照することによって物理的に同時実行することのできない機能とを排除した追加候補機能群を抽出する。機能間同時実行制限情報34の例を図6に示す。図6において、縦および横には本実施の形態のロボットの全機能が列挙されており、各機能間の交点に“×”があるものが同時に実行することのできない機能を示している。なお、同じ機能間は、当然同時実行出来ないこととし、表上への“×”は省略している。また、抽出された追加候補機能群の一例を図7に示している。
【0040】
ここで、この同時実行可能機能判定部31の動作フローを図8に示す。
【0041】
同時実行可能機能判定部31は、まず、直近行動計画格納部24に格納される直近の指示ベース行動計画に含まれる全ての機能を示す情報を取得する(S11)。次に、取得した全ての機能を示す情報に対し機能間同時実行制限情報34を参照して、同時実行できない機能を除外した、同時に実行可能な機能群を抽出する(S12)。この抽出された結果が追加候補機能群となり、これを同時実行機能悪影響判定部32へ渡す(S13)。
【0042】
同時実行機能悪影響判定部32は、同時実行可能機能判定部31から受け取った追加候補機能群と、機能間相互悪影響情報35とに基づいて、各機能を実行すると悪影響を及ぼす度合いを追加候補機能群に付加する。機能間相互悪影響情報35とは、ロボットの全ての機能のそれぞれに対し、物理的に実行することは可能ではあるが、その機能の実行に悪影響を及ぼす恐れを度合いを用いて示した情報であり、その一例を図9に示す。図9において、縦および横には、本ロボットが備える行動計画レイヤ13から利用可能な機能の全てが列挙されており各機能間の交点に“×”があるものが同時に実行できない機能を示しており、更に、各機能間の交点に数字があるものは、同時実行した際に悪影響がある可能性の度合いを数値で示している。また、悪影響の度合いが付加された度合いつき追加候補機能群の一例を図10に示している。
【0043】
次に、この同時実行機能悪影響判定部32の動作フローを図11に示す。
【0044】
同時実行機能悪影響判定部32は、まず、同時実行可能機能判定部31からの追加候補機能群を取得する(S21)。次に、取得した追加候補機能群に対し機能間相互悪影響情報(図9)を参照して、追加候補機能群のそれぞれの機能と対応する最大の影響度の度合いをそれぞれ取得する(S22)。そして、追加候補機能群のそれぞれの機能と最大の影響度の度合いとを対応付けた度合いつき追加候補機能群(図10)をランダム/ランダム機能選択部33へ渡す(S23)。
【0045】
ランダム機能/ランダム機能列選択部33は、同時実行機能悪影響判定部32で付加された度合いつき追加候補機能群(図10)の中から、度合いの逆数を選択確率とした上で、その選択確率を考慮した一あるいは複数の機能をランダムに選択して非指示ベース行動計画を生成する。ランダム機能/ランダム機能列選択部33で生成された行動計画は、直近行動計画格納部24へ追加更新される。更新された直近行動計画の一例を図12に示す。ここでは、図4の指示ベース行動計画に、ランダム機能/ランダム機能列選択部33で選択した「目回転」を非指示ベース行動計画として追加した例を示している。なお、ここでは一つの機能「目回転」のみを選択しているが複数の機能を選択して非指示ベース行動計画としても良いことは勿論である。
【0046】
このように、本バリエーションによれば、指示ベース行動計画に、無関係で且つ影響度の低い機能「目回転」を非指示ベース行動計画として追加できるようになる。
【0047】
なお、指示ベース行動計画の実行に悪影響を与える確率を小さくするために、同時実行機能悪影響判定部32(及び機能間相互悪影響情報35)を設けており、必ずしも必要なものではない。また、指示ベース行動計画の実行に悪影響を与えることを確実に排除するためには、機能間相互悪影響情報35に悪影響を与える度合いを表す数値の代わりに、×として、選択しないようにすればよい。
【0048】
(第2バリエーション)
第2のバリエーションは、上記の第1のバリエーションで非指示ベース行動計画として、機能(以下では「目回転」「撮影」を追加したこととする)を選択した後に、更に次の機能を選択し付加する際に、過去の指示ベース行動計画の履歴を利用する例について説明する。
【0049】
図13に追加行動選択部50の内部の機能ブロック図を示す。
【0050】
第1のバリエーションで機能を追加した後、追加行動選択部50は、直近行動計画格納部24に格納される行動計画を読み出して、既に追加した非指示ベースの行動計画の機能として追加した「目回転」「撮影」に続く機能を追加する。このとき、同時実行機能悪影響判定部32で度合いつき追加候補機能群を生成するところまでの動作は第1のバリエーションと同様である。度合いつき追加候補機能群は、連続機能頻度判定部36へ供給される。
【0051】
連続機能頻度判定部36は、度合いつき追加候補機能群を受けるとともに、非指示ベースの最後の機能を示す情報(既機能情報)を取得し、機能実行履歴格納部37に格納される過去の指示ベース行動計画の履歴を参照し、既機能情報の機能に引き続き実行された機能の頻度を取得し、度合いつき追加候補機能群にこの頻度を示す値を付加した頻度・度合いつき追加候補機能群を生成し、ランダム機能/機能列選択部38へ供給する。頻度・度合いつき追加候補機能群の一例を図14に示す。
【0052】
ランダム機能/ランダム機能列選択部38は、同時実行機能悪影響判定部32、および連続機能頻度判定部36で付加された頻度・度合いつき追加候補機能群の中から、頻度と、度合いの逆数を選択確率としてランダムに次に追加する機能を選択し、非指示ベース行動計画の追加機能とする。ランダム機能/ランダム機能列選択部38で選択した追加機能は、直近行動計画格納部24へ非指示ベース行動計画として追加更新される。更新された直近行動計画の一例を図15に示す。ここでは、既に非指示ベース行動として追加済の機能「目回転」「撮影」に「画像認識」が新たに追加された例を示している。
【0053】
このような本バリエーションによれば、指示に基づかずに選択した一機能から派生し、一連の意味ある行動を付加することが出来るようになる。例えば、指示に関係無い機能「目回転」に伴って実行されることが多い機能「撮影」と機能「画像認識」が一連で行われることとなり、指示ベース行動計画による移動中に、キョロキョロしながら状況を見て認識するという、指示はないが意味のある一連の行動が付加できる。
【0054】
なお、上記第1および第2のバリエーションは、一連の手続として説明してきたが、それぞれ単独でのみ実現してもよいことは勿論である。
【0055】
以上詳細に説明してきた本実施の形態のロボットは、利用者の予想外の行動を起こし、時にはその行動が利用者にとって利益があって期待以上の行動を行うことができる。利用者の期待どおりの行動しかしない場合に比べて、ロボットに対する印象が良くなる。
【0056】
また、一般にロボットに多機能を備えた場合に、利用者がロボットにやらせたいことをすべて指示することは難しいが、指示以上の動作を行い、また、それが意味のある一連の動作として実現することも可能となる。
【図面の簡単な説明】
【0057】
【図1】本実施の形態のロボットの階層的なモデルを示す図。
【図2】行動計画部18の機能ブロック図を示す図。
【図3】指示ベース行動計画の一例。
【図4】行動計画記憶部22に記憶された指示ベース行動計画のイメージ図。
【図5】追加行動選択部25の内部の機能ブロック図。
【図6】機能間同時実行制限情報34の一例。
【図7】抽出された追加候補機能群の一例。
【図8】同時実行可能機能判定部31の動作フローを示す図。
【図9】機能間相互悪影響情報35の一例。
【図10】悪影響の度合いが付加された度合いつき追加候補機能群の一例。
【図11】同時実行機能悪影響判定部32の動作フローを示す図。
【図12】第1のバリエーションの更新された直近行動計画の一例。
【図13】追加行動選択部50の内部の機能ブロック図。
【図14】頻度・度合いつき追加候補機能群の一例。
【図15】第2のバリエーションの更新された直近行動計画の一例。
【符号の説明】
【0058】
11…HW/SWレイヤ
12…機能レイヤ
13…行動計画レイヤ
14…ハードウェア
15…ソフトウェア
16…指示・状態通知部
17…機能実行部
18…行動計画部
21…行動計画生成部
22…行動計画記憶部
23…行動計画管理部
24…直近行動計画格納部
25、50…追加行動選択部
26…行動計画実行指示部
31…同時実行可能機能判定部
32…同時実行機能悪影響判定部
33、38…ランダム機能/機能列選択部
34…機能間同時実行制限情報
35…機能間相互悪影響情報
36…連続機能頻度判定部
37…機能実行履歴格納部
【技術分野】
【0001】
外部からの指示や状態により、行動を計画して実行するロボット、ロボット行動計画実行装置、ロボットの行動計画実行方法、および、行動計画実行プログラムに関する。
【背景技術】
【0002】
ロボットは、主に、電気的な作用を用いて、人間等の生き物の動作に似た行動を行う装置である。以前は、自動化や無人化等のために、工場の生産用機械の一部として、産業用のロボットが利用されていた。
【0003】
最近は、産業用のロボット以外に、自律型のエンターテインメントロボットと呼ばれるものが登場してきている(例えば、特許文献1参照)。自律型のロボットには、人間の視覚や聴覚に取って代わるカメラ−画像認識、マイク−音声認識などを備え、外部環境の変化に応じて行動を行うものがある。
【特許文献1】特開2004−114285公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
産業用のロボットは、人間が制御を行うため、人間の指示することのみ行う。自律型のエンターテインメントロボットは、人間の視覚や聴覚に取って代わるカメラ−画像認識、マイク−音声認識が常時動作しており、外部環境の変化を把握した時、これを外部からの指示として、この指示に基づいてロボット自身で行動を決定し、決定した行動を実行する。
【0005】
このような従来のロボットは、外部からの指示においてのみ、行動を決定し、行動を実行する。このようなロボットは、少なくとも、ロボットの製作者にとっては、全て予見できる行動に留まる。勿論、予見できる行動を行うことは、ロボットにとって不可欠であるが、より人間らしい行動、つまり、全く予見できない行動(予測不可能な行動)も行うことが期待される。しかしながら、このようなことを何ら実現されたものが無かった。
【0006】
本発明は、上記課題を鑑みなされたものであり、外部からの指示に応じて行動すると共に、外部からの指示と無関係な(予測不可能な)行動も行うことが可能なロボット、ロボット行動計画実行装置、ロボットの行動計画実行方法、および、行動計画実行プログラムを提供する。
【課題を解決するための手段】
【0007】
本発明のロボットは、外部からの指示に基づいて、一あるいは複数の機能の実行手順を生成する行動計画生成手段と、前記行動計画生成手段で生成された前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択する追加機能選択手段と、前記行動計画生成手段で生成された前記実行手順に示される機能と、前記追加機能選択手段で選択された前記別の機能との実行指示を行う機能実行指示手段とを備えるようにした。
【0008】
また、本発明のロボットは、利用者からの指示に基づいて、ロボットの一あるいは複数の機能の実行手順を指示ベース行動計画として生成する指示ベース行動計画生成手段と、前記指示ベース行動計画生成手段で生成された前記指示ベース行動計画を格納する行動計画格納手段と、前記行動計画格納手段に格納される前記指示ベース行動計画の各機能を参照し、該各機能を除いた別の機能を選択し、非指示ベース行動計画として生成し、前記行動計画格納手段へ追加格納する非指示ベース行動計画生成手段と、前記行動計画格納手段に格納された前記指示ベース行動計画と前記非指示ベース行動計画とに含む各機能の実行指示を行う機能実行指示手段とを備えるようにした。
【0009】
また、本発明は、実際の動作や処理を行うハードウェアやソフトウェアを備える第1のレイヤと、行動を決定し、その行動を行うための機能を実行指示する行動計画部を備える第2のレイヤと、第1のレイヤと第2のレイヤとの間に有って、第2レイヤから指示された機能を実現するために、第1のレイヤのハードウェアやソフトウェアへ具体化した指示を行う機能実行部と、第1のレイヤのハードウェアやソフトウェアからのデータを第2のレイヤで理解可能な、指示や状態を示す情報に加工し、第2のレイヤへ通知する指示・状態通知部を備える第3のレイヤとを含むロボットであって、前記行動計画部は、前記指示・状態通知部からの指示に基づいて、一あるいは複数の機能の実行手順を生成する行動計画生成手段と、前記行動計画生成手段で生成された前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択する追加機能選択手段と、前記行動計画生成手段で生成された前記実行手順に示される機能と、前記追加機能選択手段で選択された前記別の機能との実行を前記機能実行部へ指示する機能実行指示手段とを備えるようにした。
【0010】
また、本発明は、複数の機能に応じてそれぞれ行動するロボットの行動計画実行方法において、前記ロボットの外部からの指示に基づいて、一あるいは複数の機能の実行手順を生成し、該生成された実行手順を参照して、該実行手順に示される機能を除いた別の機能を選択し、生成された前記実行手順に示される機能と、選択された前記別の機能とを並列に実行するようにした。
【0011】
また、本発明のロボットの行動計画実行方法は、利用者からの指示に基づいて、ロボットの一あるいは複数の機能の実行手順を指示ベース行動計画として生成し、生成された前記指示ベース行動計画を記憶部へ格納し、記憶部へ格納された前記指示ベース行動計画の各機能を参照し、該各機能を除いた別の機能を選択して非指示ベース行動計画として生成し、前記記憶部へ生成した前記非指示ベース行動計画を追加し、前記記憶部に格納された前記指示ベース行動計画と前記非指示ベース行動計画とに含まれる各機能の実行指示を行うようにした。
【0012】
また、本発明は、実際の動作や処理を行うハードウェアやソフトウェアを備える第1のレイヤと、行動を決定し、その行動を行うための機能を実行指示する行動計画部を備える第2のレイヤと、第1のレイヤと第2のレイヤとの間に有って、第2レイヤから指示された機能を実現するために、第1のレイヤのハードウェアやソフトウェアへ具体化した指示を行う機能実行部と、第1のレイヤのハードウェアやソフトウェアからのデータを第2のレイヤで理解可能な、指示や状態を示す情報に加工し、第2のレイヤへ通知する指示・状態通知部を備える第3のレイヤとを含むロボットの行動計画実行方法であって、前記行動計画部は、前記指示・状態通知部からの指示に基づいて、一あるいは複数の機能の実行手順を生成し、生成された前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択し、前記実行手順に示される機能と、選択された前記別の機能との実行を前記機能実行部へ指示するようにした。
【0013】
複数の機能を備えるロボットのプロセッサで実行される本発明の行動計画実行プログラムは、外部からの指示を入力し、一あるいは複数の機能の実行手順を生成させる第1手段と、
該生成された実行手順を参照して、該実行手順に示される機能を除いた別の機能を選択させる第2手段と、生成された前記実行手順に示される機能と、選択された前記別の機能とを並列に実行させる第3手段とを備えるようにした。
【0014】
また、本発明は、複数の機能と、記憶部とを備えるロボットのプロセッサで実行される行動計画実行プログラムであって、利用者からの指示を入力し、ロボットの一あるいは複数の機能の実行手順を指示ベース行動計画として生成させる第1手段と、前記第1手段で生成させた前記指示ベース行動計画を前記記憶部へ格納させる第2手段と、前記記憶部へ格納させた前記指示ベース行動計画の各機能を参照させ、該各機能を除いた別の機能を選択させ、非指示ベース行動計画として生成させる第3手段と、前記記憶部へ、生成させた前記非指示ベース行動計画を追加させる第4手段と、前記記憶部に格納させた前記指示ベース行動計画と前記非指示ベース行動計画とに含まれる各機能の実行指示を行わせる第5手段とを備えるようにした。
【0015】
また、本発明は、実際の動作や処理を行うハードウェアやソフトウェアを備える第1のレイヤと、行動を決定し、その行動を行うための機能を実行指示する行動計画実行プログラムを備える第2のレイヤと、第1のレイヤと第2のレイヤとの間に有って、第2レイヤから指示された機能を実現するために、第1のレイヤのハードウェアやソフトウェアへ具体化した指示を行う機能実行部と、第1のレイヤのハードウェアやソフトウェアからのデータを第2のレイヤで理解可能な、指示や状態を示す情報に加工し、第2のレイヤへ通知する指示・状態通知部を備える第3のレイヤとを含むロボットのプロセッサで実行される前記行動計画実行プログラムであって、前記指示・状態通知部からの指示を入力し、一あるいは複数の機能の実行手順を生成させる第1手段と、生成させた前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択させる第2手段と、前記実行手順に示される機能と、選択された前記別の機能との実行を前記機能実行部へ行うために指示させる第3手段とを備えるようにした。
【発明の効果】
【0016】
本発明によれば、外部からの指示に応じて行動すると共に、外部からの指示と無関係な行動も行うことが可能なロボットが提供できるようになった。
【発明を実施するための最良の形態】
【0017】
以下、図面を用いて実施の形態を詳細に説明する。
【0018】
ロボットは、図1のような階層的なモデルで示すことができる。このモデルは、実際の動作・処理を行うハードウェア(HW)14やソフトウェア(SW)15を多数備えるHW/SWレイヤ11と、ロボットの行動を決定し、その行動を行うための機能を実行指示する行動計画部18を備える行動計画レイヤ13と、HW/SWレイヤ11と行動計画レイヤ13との間にあって、行動計画レイヤ13から指示された機能を実現するために、HW/SWレイヤ11のHW14やSW15へ具体化した指示を行う多数の機能実行部17と、HW/SWレイヤ11のHW14やSW15からのデータを行動計画レイヤ13で理解可能な、指示や外部/内部状態を示す情報に加工、変換し、行動計画レイヤ13へ通知する多数の指示・状態通知部16を備える機能レイヤ12とに大別してある。
【0019】
下位の層にあたるHW/SWレイヤ11は、例えば、様々な物理的な作業を行うアーム、ロボットの移動のための脚、キャタピラまたはタイヤ、カメラの撮像方向を変更するための駆動部などの実際に動きがある稼動部位や、外部へ知らせるための出力を行う液晶部、スピーカ、ライトなどの提示部位や、外部の状態や外部からの情報を得るためのカメラ(CCD)、マイク、超音波センサ、赤外線センサ、触覚センサなどの各種センサなどの様々なハードウェア構成と、センサから得た内容を解析する画像認識エンジン、音声認識エンジンなどの各種認識部などの様々なソフトウェア構成とを備えている。
【0020】
中位の層にあたる機能レイヤ12は、HW/SWレイヤ11の稼動部位からの駆動量や、認識部からの解析結果等を、行動計画レイヤ13で利用可能となるような情報に解釈/変換して提供する多数の指示・状態通知部16と、行動計画レイヤ13から与えられる「機能」の実行指示によりHW/SWレイヤ11の各HW14やSW15へ具体的に動作、処理させる多数の機能実行部17とを備えている。
【0021】
機能とは、ここでは、HW/SWレイヤ11で実行される一つあるいは複数の具体的な動作・処理を包括的に表わしたものである。例えば、ロボットの「移動」、「目回転」、「画像認識」等を、ここでは「機能」と呼んでいる。
【0022】
また、行動計画とは、目的を実現するために、単一の機能あるいは、複数の機能を直並列にスケジューリングした機能列を指す。
【0023】
上位の層にあたる行動計画レイヤ13は、機能レイヤ12の指示・状態通知部16から指示が与えられた時、その指示をロボットで実現するために(指示・状態通知部16から得られる状態なども加味した上)、一機能あるいは複数の機能をスケジューリングして組み合わせた機能群からなる行動計画を生成する行動計画部18を備えている。以下、機能レイヤ12からの指示によって生成された行動計画を、指示ベース行動計画と呼ぶこととする。また、行動計画部18は、指示ベース行動計画を実行する際に、ロボットが備える行動計画レイヤ13から利用可能な機能の全てから、指示ベース行動計画に含む機能(の少なくとも一部の機能)を排除した残りの機能から一あるいは複数の機能を選択し、指示ベース行動計画と並列的に実行可能な行動計画を生成する。以下、このようにして生成される行動計画を、非指示ベース行動計画と呼ぶこととする。行動計画部18は、生成した指示ベース行動計画、及び非指示ベース行動計画に基づいて、機能レイヤ12へ各種機能の実行を指示するための処理も備える。
【0024】
なお、詳細は後述するが、非指示ベース行動計画の生成時に対象とする機能は、指示ベース行動計画での機能と同時には実行できない機能や、同時に実行することにより悪影響を及ぼす機能などを含む場合もあり、これら機能を考慮し、これら機能を排除、あるいは選択しにくいようにして、非指示ベース行動計画を生成するようにすれば、なお良い。
【0025】
次に、行動計画部18についてより詳細に説明する。図2は、行動計画部18の機能ブロック図を示している。
【0026】
行動計画生成部21は、機能レイヤ12の指示・状態通知部16から与えられた指示に基づいて、指示ベース行動計画を生成する。この生成方法は、例えば、ゴールを設定し、そのゴールを実現するための一以上の機能をスケジュールする、所謂よく知られるプランニング技術で実現でき、このとき、ゴールは指示、アクションは機能に相当する。なお、指示ベース行動計画を生成するにあたっては、当然外部や内部の各種状態を知っておく必要があり、これら状態の取得も、指示・状態通知部16から行われる。
【0027】
生成された指示ベース行動計画を図3に例示する。図3(a)は、与えられた指示(指示1)に応じて生成された時刻t2から開始する行動計画を示しており、図3(b)は、与えられた指示には連続的な2つの指示(指示2、指示3)が含まれていると判断し、それら2つの連続的な指示(指示2、指示3)に応じて生成された時刻t1から開始する2つの行動計画を示している。なお、図3(b)と同様なモデルとしては、「お姉さんにボールペンのありかを聞いてきて」と指示した場合に、「お姉さんのところまで行ってボールペンのありかを聞く」という指示と、「聞いた結果を戻って話す」と言う指示とで2つの連続的な指示に応じて生成される、などを例にすると理解しやすい。なお、この場合に、「お姉さんのところまで行く」と「ボールペンのありかを聞く」とを連続的な2つの指示と見なすこともできるが、ここでは1つの指示と見なしている。また、例えば図3(a)の行動計画が生成された後に、時刻t2にごく近い時刻t1(t1<t2)から開始する図3(b)の行動計画が生成される際には、図3(a)の行動計画に含む各機能が同時に実行されることのないようにすることが制約条件となる。この例の場合、制約条件である図3(a)に対し生成される図3(b)の機能と同時に実行されるものが無いので、結果として時刻t1から開始する図3(b)の行動計画が生成できたこととなる。
【0028】
行動計画記憶部22は、生成された指示ベース行動計画を記憶する記憶装置である。ここで、記憶された指示ベース行動計画のイメージを図4に例示する。図4は、時刻t1から始まる指示2の行動計画と、指示2の行動計画の終了後に連続して行われる指示3の行動計画と、時刻t1に直ぐ後の時刻t2から始まる指示1の行動計画とが記憶されていることを示している。
【0029】
行動計画管理部23は、行動計画の管理を行うものであり、行動計画記憶部22に記憶される各指示ベース行動計画が、実行開始時の所定期間前に、その指示ベース行動計画を読み出して、直近行動計画格納部24に格納する。ここでは、取り出す指示ベース行動計画と時間的に重複する他の指示ベース行動計画を含む単位で、読み出して直近行動計画格納部24に格納することとする。また、行動計画管理部23は、後記する行動計画実行指示部26から機能実行された機能を示す情報を受け、その機能を含む行動計画の実行が終了したことが確認されると、行動計画記憶部22の行動計画を削除する。
【0030】
直近行動計画格納部24は、行動計画(あるいは機能)の実行の開始が直前に迫ったものを格納する記憶装置である。
【0031】
追加行動選択部25は、本ロボットが備える行動計画レイヤ13から利用可能な機能の全てから、直近行動計画格納部24に格納された直近の行動計画に含まれる機能(の少なくとも一部の機能)を排除した残りの機能の中から、一あるいは複数の機能を無作為にあるいは所定のルールに従って選択し、指示ベース行動計画と並列的に実行可能な非指示ベース行動計画を生成する。この結果、直近行動計画格納部24に記憶される行動計画は、非指示ベース行動計画を含む行動計画に更新される。
【0032】
行動計画実行指示部26は、直近行動計画格納部24に格納される、更新された行動計画に含まれる各機能を実行開始のタイミングに併せて順次取得し、機能実行部17へ実行指示する。また、行動計画実行指示部26は、実行指示した機能を示す情報を行動計画管理部23へ通知する。
【0033】
行動計画実行指示部26により実行指示された機能実行部17は、指示された機能を実行する。
【0034】
以上のような構成を備えるロボットは、指示に基づく行動のみならず、指示していない行動も並列的に実行可能となるから、この結果、例えば、ロボットが指示ベース行動計画で与えられたお姉さんのところに行く過程で、非指示ベース行動計画で与えられた、歌を歌いながらや、目をくるくるさせながらといった、ペットのように予期しない(愛嬌ある)振る舞いが相行われることが期待できる。
【0035】
なお、上記実施の形態へ更に追加行動選択部25の動作を外部からON/OFFすることが出来るように構成すれば、純粋に指示にのみ対応するモードとペットのように振舞うモードとをユーザが切替え可能に利用することができるロボットの提供も出来る。
【0036】
次に、上記で説明したロボットの、直近行動計画に追加行動を追加する際のバリエーションについて説明する。まず、第1のバリエーションとして、指示ベース行動計画による行動を可能な限り妨げないように非指示ベース行動計画として機能を追加する例を示し、次に第2のバリエーションとして、第1のバリエーションにてある機能を選択し非指示ベース行動計画として追加した後に次の機能を選択し付加する際に、過去の指示ベース行動計画の履歴を利用する例を示す。
【0037】
(第1のバリエーション)
まず、指示ベース行動計画による行動を可能な限り妨げないように非指示ベース行動計画を追加する例について以下に説明する。
【0038】
図5に追加行動選択部25の内部の機能ブロック図を示す。
【0039】
同時実行可能機能判定部31は、本ロボットが備える行動計画レイヤ13から利用可能な機能の全てから、指示ベース行動計画に含まれる機能と、機能間同時実行制限情報34を参照することによって物理的に同時実行することのできない機能とを排除した追加候補機能群を抽出する。機能間同時実行制限情報34の例を図6に示す。図6において、縦および横には本実施の形態のロボットの全機能が列挙されており、各機能間の交点に“×”があるものが同時に実行することのできない機能を示している。なお、同じ機能間は、当然同時実行出来ないこととし、表上への“×”は省略している。また、抽出された追加候補機能群の一例を図7に示している。
【0040】
ここで、この同時実行可能機能判定部31の動作フローを図8に示す。
【0041】
同時実行可能機能判定部31は、まず、直近行動計画格納部24に格納される直近の指示ベース行動計画に含まれる全ての機能を示す情報を取得する(S11)。次に、取得した全ての機能を示す情報に対し機能間同時実行制限情報34を参照して、同時実行できない機能を除外した、同時に実行可能な機能群を抽出する(S12)。この抽出された結果が追加候補機能群となり、これを同時実行機能悪影響判定部32へ渡す(S13)。
【0042】
同時実行機能悪影響判定部32は、同時実行可能機能判定部31から受け取った追加候補機能群と、機能間相互悪影響情報35とに基づいて、各機能を実行すると悪影響を及ぼす度合いを追加候補機能群に付加する。機能間相互悪影響情報35とは、ロボットの全ての機能のそれぞれに対し、物理的に実行することは可能ではあるが、その機能の実行に悪影響を及ぼす恐れを度合いを用いて示した情報であり、その一例を図9に示す。図9において、縦および横には、本ロボットが備える行動計画レイヤ13から利用可能な機能の全てが列挙されており各機能間の交点に“×”があるものが同時に実行できない機能を示しており、更に、各機能間の交点に数字があるものは、同時実行した際に悪影響がある可能性の度合いを数値で示している。また、悪影響の度合いが付加された度合いつき追加候補機能群の一例を図10に示している。
【0043】
次に、この同時実行機能悪影響判定部32の動作フローを図11に示す。
【0044】
同時実行機能悪影響判定部32は、まず、同時実行可能機能判定部31からの追加候補機能群を取得する(S21)。次に、取得した追加候補機能群に対し機能間相互悪影響情報(図9)を参照して、追加候補機能群のそれぞれの機能と対応する最大の影響度の度合いをそれぞれ取得する(S22)。そして、追加候補機能群のそれぞれの機能と最大の影響度の度合いとを対応付けた度合いつき追加候補機能群(図10)をランダム/ランダム機能選択部33へ渡す(S23)。
【0045】
ランダム機能/ランダム機能列選択部33は、同時実行機能悪影響判定部32で付加された度合いつき追加候補機能群(図10)の中から、度合いの逆数を選択確率とした上で、その選択確率を考慮した一あるいは複数の機能をランダムに選択して非指示ベース行動計画を生成する。ランダム機能/ランダム機能列選択部33で生成された行動計画は、直近行動計画格納部24へ追加更新される。更新された直近行動計画の一例を図12に示す。ここでは、図4の指示ベース行動計画に、ランダム機能/ランダム機能列選択部33で選択した「目回転」を非指示ベース行動計画として追加した例を示している。なお、ここでは一つの機能「目回転」のみを選択しているが複数の機能を選択して非指示ベース行動計画としても良いことは勿論である。
【0046】
このように、本バリエーションによれば、指示ベース行動計画に、無関係で且つ影響度の低い機能「目回転」を非指示ベース行動計画として追加できるようになる。
【0047】
なお、指示ベース行動計画の実行に悪影響を与える確率を小さくするために、同時実行機能悪影響判定部32(及び機能間相互悪影響情報35)を設けており、必ずしも必要なものではない。また、指示ベース行動計画の実行に悪影響を与えることを確実に排除するためには、機能間相互悪影響情報35に悪影響を与える度合いを表す数値の代わりに、×として、選択しないようにすればよい。
【0048】
(第2バリエーション)
第2のバリエーションは、上記の第1のバリエーションで非指示ベース行動計画として、機能(以下では「目回転」「撮影」を追加したこととする)を選択した後に、更に次の機能を選択し付加する際に、過去の指示ベース行動計画の履歴を利用する例について説明する。
【0049】
図13に追加行動選択部50の内部の機能ブロック図を示す。
【0050】
第1のバリエーションで機能を追加した後、追加行動選択部50は、直近行動計画格納部24に格納される行動計画を読み出して、既に追加した非指示ベースの行動計画の機能として追加した「目回転」「撮影」に続く機能を追加する。このとき、同時実行機能悪影響判定部32で度合いつき追加候補機能群を生成するところまでの動作は第1のバリエーションと同様である。度合いつき追加候補機能群は、連続機能頻度判定部36へ供給される。
【0051】
連続機能頻度判定部36は、度合いつき追加候補機能群を受けるとともに、非指示ベースの最後の機能を示す情報(既機能情報)を取得し、機能実行履歴格納部37に格納される過去の指示ベース行動計画の履歴を参照し、既機能情報の機能に引き続き実行された機能の頻度を取得し、度合いつき追加候補機能群にこの頻度を示す値を付加した頻度・度合いつき追加候補機能群を生成し、ランダム機能/機能列選択部38へ供給する。頻度・度合いつき追加候補機能群の一例を図14に示す。
【0052】
ランダム機能/ランダム機能列選択部38は、同時実行機能悪影響判定部32、および連続機能頻度判定部36で付加された頻度・度合いつき追加候補機能群の中から、頻度と、度合いの逆数を選択確率としてランダムに次に追加する機能を選択し、非指示ベース行動計画の追加機能とする。ランダム機能/ランダム機能列選択部38で選択した追加機能は、直近行動計画格納部24へ非指示ベース行動計画として追加更新される。更新された直近行動計画の一例を図15に示す。ここでは、既に非指示ベース行動として追加済の機能「目回転」「撮影」に「画像認識」が新たに追加された例を示している。
【0053】
このような本バリエーションによれば、指示に基づかずに選択した一機能から派生し、一連の意味ある行動を付加することが出来るようになる。例えば、指示に関係無い機能「目回転」に伴って実行されることが多い機能「撮影」と機能「画像認識」が一連で行われることとなり、指示ベース行動計画による移動中に、キョロキョロしながら状況を見て認識するという、指示はないが意味のある一連の行動が付加できる。
【0054】
なお、上記第1および第2のバリエーションは、一連の手続として説明してきたが、それぞれ単独でのみ実現してもよいことは勿論である。
【0055】
以上詳細に説明してきた本実施の形態のロボットは、利用者の予想外の行動を起こし、時にはその行動が利用者にとって利益があって期待以上の行動を行うことができる。利用者の期待どおりの行動しかしない場合に比べて、ロボットに対する印象が良くなる。
【0056】
また、一般にロボットに多機能を備えた場合に、利用者がロボットにやらせたいことをすべて指示することは難しいが、指示以上の動作を行い、また、それが意味のある一連の動作として実現することも可能となる。
【図面の簡単な説明】
【0057】
【図1】本実施の形態のロボットの階層的なモデルを示す図。
【図2】行動計画部18の機能ブロック図を示す図。
【図3】指示ベース行動計画の一例。
【図4】行動計画記憶部22に記憶された指示ベース行動計画のイメージ図。
【図5】追加行動選択部25の内部の機能ブロック図。
【図6】機能間同時実行制限情報34の一例。
【図7】抽出された追加候補機能群の一例。
【図8】同時実行可能機能判定部31の動作フローを示す図。
【図9】機能間相互悪影響情報35の一例。
【図10】悪影響の度合いが付加された度合いつき追加候補機能群の一例。
【図11】同時実行機能悪影響判定部32の動作フローを示す図。
【図12】第1のバリエーションの更新された直近行動計画の一例。
【図13】追加行動選択部50の内部の機能ブロック図。
【図14】頻度・度合いつき追加候補機能群の一例。
【図15】第2のバリエーションの更新された直近行動計画の一例。
【符号の説明】
【0058】
11…HW/SWレイヤ
12…機能レイヤ
13…行動計画レイヤ
14…ハードウェア
15…ソフトウェア
16…指示・状態通知部
17…機能実行部
18…行動計画部
21…行動計画生成部
22…行動計画記憶部
23…行動計画管理部
24…直近行動計画格納部
25、50…追加行動選択部
26…行動計画実行指示部
31…同時実行可能機能判定部
32…同時実行機能悪影響判定部
33、38…ランダム機能/機能列選択部
34…機能間同時実行制限情報
35…機能間相互悪影響情報
36…連続機能頻度判定部
37…機能実行履歴格納部
【特許請求の範囲】
【請求項1】
外部からの指示に基づいて、一あるいは複数の機能の実行手順を生成する行動計画生成手段と、
前記行動計画生成手段で生成された前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択する追加機能選択手段と、
前記行動計画生成手段で生成された前記実行手順に示される機能と、前記追加機能選択手段で選択された前記別の機能との実行指示を行う機能実行指示手段とを備えたことを特徴とするロボット。
【請求項2】
前記機能実行指示手段の指示により実行される前記行動計画に含む機能と、前記行動計画に含む機能を除く別の機能とは並列に実行されることを特徴とする請求項1記載のロボット。
【請求項3】
可動部を備え、前記実行手順に示される機能の少なくとも一つは、前記可動部を動作させるものであることを特徴とする請求項1または2記載のロボット。
【請求項4】
可動部を備え、前記別の機能は、前記可動部を動作させるものであることを特徴とする請求項1または2記載のロボット。
【請求項5】
前記外部からの指示は、ロボットの利用者からの命令であることを特徴とする請求項1乃至請求項4に記載のロボット。
【請求項6】
前記追加機能選択手段は、ロボットが備える全ての機能の中から、前記実行手順に示される機能を除いた残りの機能の中から、前記別の機能を無作為に選択するようにしたことを特徴とする請求項1乃至請求項5に記載のロボット。
【請求項7】
各機能毎に、その機能と同時に実行できない機能を記述した機能間同時実行制限情報を予め備えており、
前記追加機能選択手段は、ロボットが備える全ての機能の中から、前記実行手順に示される機能を除いた残りの機能から、前記機能間同時実行制限情報を参照し、同時に実行できない機能を省いた中から、機能を選択するようにしたことを特徴とする請求項1乃至請求項5に記載のロボット。
【請求項8】
更に、各機能毎に、その機能と同時に実行した際に悪影響を及ぼす可能性の度合いを記述した機能間相互悪影響情報を予め備えており、
前記追加機能選択手段は、前記機能間相互悪影響情報が示す各度合いを参照し、機能を選択するようにしたことを特徴とする請求項7記載のロボット。
【請求項9】
前記行動計画生成手段で生成された実行手順を逐次格納する機能実行履歴格納手段を備え、
前記追加機能選択手段で選択された機能に続けて実行する機能を、前記機能実行履歴格納手段を参照し選択するようにしたことを特徴とする請求項1乃至8に記載のロボット。
【請求項10】
利用者からの指示に基づいて、ロボットの一あるいは複数の機能の実行手順を指示ベース行動計画として生成する指示ベース行動計画生成手段と、
前記指示ベース行動計画生成手段で生成された前記指示ベース行動計画を格納する行動計画格納手段と、
前記行動計画格納手段に格納される前記指示ベース行動計画の各機能を参照し、該各機能を除いた別の機能を選択し、非指示ベース行動計画として生成し、前記行動計画格納手段へ追加格納する非指示ベース行動計画生成手段と、
前記行動計画格納手段に格納された前記指示ベース行動計画と前記非指示ベース行動計画とに含む各機能の実行指示を行う機能実行指示手段とを備えたことを特徴とするロボット行動計画実行装置。
【請求項11】
前記非指示ベース行動計画生成手段は、
前記指示ベース行動計画の各機能の実行と同時に実行不能な機能を判定する同時実行可能機能判定手段を備え、前記同時に実行不能な機能も除いた別の機能を選択し、非指示ベース行動計画として生成し、前記行動計画格納手段へ追加格納するようにしたことを特徴とする請求項10記載のロボット行動計画実行装置。
【請求項12】
実際の動作や処理を行うハードウェアやソフトウェアを備える第1のレイヤと、
行動を決定し、その行動を行うための機能を実行指示する行動計画部を備える第2のレイヤと、
第1のレイヤと第2のレイヤとの間に有って、第2レイヤから指示された機能を実現するために、第1のレイヤのハードウェアやソフトウェアへ具体化した指示を行う機能実行部と、
第1のレイヤのハードウェアやソフトウェアからのデータを第2のレイヤで理解可能な、指示や状態を示す情報に加工し、第2のレイヤへ通知する指示・状態通知部を備える第3のレイヤとを含むロボットであって、
前記行動計画部は、
前記指示・状態通知部からの指示に基づいて、一あるいは複数の機能の実行手順を生成する行動計画生成手段と、
前記行動計画生成手段で生成された前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択する追加機能選択手段と、
前記行動計画生成手段で生成された前記実行手順に示される機能と、前記追加機能選択手段で選択された前記別の機能との実行を前記機能実行部へ指示する機能実行指示手段とを備えたことを特徴とするロボット。
【請求項13】
複数の機能に応じてそれぞれ行動するロボットの行動計画実行方法において、
前記ロボットの外部からの指示に基づいて、一あるいは複数の機能の実行手順を生成し、
該生成された実行手順を参照して、該実行手順に示される機能を除いた別の機能を選択し、
生成された前記実行手順に示される機能と、選択された前記別の機能とを並列に実行するようにしたことを特徴とするロボットの行動計画実行方法。
【請求項14】
利用者からの指示に基づいて、ロボットの一あるいは複数の機能の実行手順を指示ベース行動計画として生成し、
生成された前記指示ベース行動計画を記憶部へ格納し、
記憶部へ格納された前記指示ベース行動計画の各機能を参照し、
該各機能を除いた別の機能を選択して非指示ベース行動計画として生成し、
前記記憶部へ生成した前記非指示ベース行動計画を追加し、
前記記憶部に格納された前記指示ベース行動計画と前記非指示ベース行動計画とに含まれる各機能の実行指示を行うようにしたことを特徴とするロボットの行動計画実行方法。
【請求項15】
実際の動作や処理を行うハードウェアやソフトウェアを備える第1のレイヤと、行動を決定し、その行動を行うための機能を実行指示する行動計画部を備える第2のレイヤと、第1のレイヤと第2のレイヤとの間に有って、第2レイヤから指示された機能を実現するために、第1のレイヤのハードウェアやソフトウェアへ具体化した指示を行う機能実行部と、第1のレイヤのハードウェアやソフトウェアからのデータを第2のレイヤで理解可能な、指示や状態を示す情報に加工し、第2のレイヤへ通知する指示・状態通知部を備える第3のレイヤとを含むロボットの行動計画実行方法であって、
前記行動計画部は、前記指示・状態通知部からの指示に基づいて、
一あるいは複数の機能の実行手順を生成し、
生成された前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択し、
前記実行手順に示される機能と、選択された前記別の機能との実行を前記機能実行部へ指示するようにしたことを特徴とするロボットの行動計画実行方法。
【請求項16】
複数の機能を備えるロボットのプロセッサで実行される行動計画実行プログラムであって、
外部からの指示を入力し、一あるいは複数の機能の実行手順を生成させる第1手段と、
該生成された実行手順を参照して、該実行手順に示される機能を除いた別の機能を選択させる第2手段と、
生成された前記実行手順に示される機能と、選択された前記別の機能とを並列に実行させる第3手段とを備えたことを特徴とする行動計画実行プログラム。
【請求項17】
複数の機能と、記憶部とを備えるロボットのプロセッサで実行される行動計画実行プログラムであって、
利用者からの指示を入力し、ロボットの一あるいは複数の機能の実行手順を指示ベース行動計画として生成させる第1手段と、
前記第1手段で生成させた前記指示ベース行動計画を前記記憶部へ格納させる第2手段と、
前記記憶部へ格納させた前記指示ベース行動計画の各機能を参照させ、該各機能を除いた別の機能を選択させ、非指示ベース行動計画として生成させる第3手段と、
前記記憶部へ、生成させた前記非指示ベース行動計画を追加させる第4手段と、
前記記憶部に格納させた前記指示ベース行動計画と前記非指示ベース行動計画とに含まれる各機能の実行指示を行わせる第5手段とを備えたことを特徴とする行動計画実行プログラム。
【請求項18】
実際の動作や処理を行うハードウェアやソフトウェアを備える第1のレイヤと、行動を決定し、その行動を行うための機能を実行指示する行動計画実行プログラムを備える第2のレイヤと、第1のレイヤと第2のレイヤとの間に有って、第2レイヤから指示された機能を実現するために、第1のレイヤのハードウェアやソフトウェアへ具体化した指示を行う機能実行部と、第1のレイヤのハードウェアやソフトウェアからのデータを第2のレイヤで理解可能な、指示や状態を示す情報に加工し、第2のレイヤへ通知する指示・状態通知部を備える第3のレイヤとを含むロボットのプロセッサで実行される前記行動計画実行プログラムであって、
前記指示・状態通知部からの指示を入力し、一あるいは複数の機能の実行手順を生成させる第1手段と、
生成させた前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択させる第2手段と、
前記実行手順に示される機能と、選択された前記別の機能との実行を前記機能実行部へ行うために指示させる第3手段とを備えたことを特徴とする行動計画実行プログラム。
【請求項1】
外部からの指示に基づいて、一あるいは複数の機能の実行手順を生成する行動計画生成手段と、
前記行動計画生成手段で生成された前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択する追加機能選択手段と、
前記行動計画生成手段で生成された前記実行手順に示される機能と、前記追加機能選択手段で選択された前記別の機能との実行指示を行う機能実行指示手段とを備えたことを特徴とするロボット。
【請求項2】
前記機能実行指示手段の指示により実行される前記行動計画に含む機能と、前記行動計画に含む機能を除く別の機能とは並列に実行されることを特徴とする請求項1記載のロボット。
【請求項3】
可動部を備え、前記実行手順に示される機能の少なくとも一つは、前記可動部を動作させるものであることを特徴とする請求項1または2記載のロボット。
【請求項4】
可動部を備え、前記別の機能は、前記可動部を動作させるものであることを特徴とする請求項1または2記載のロボット。
【請求項5】
前記外部からの指示は、ロボットの利用者からの命令であることを特徴とする請求項1乃至請求項4に記載のロボット。
【請求項6】
前記追加機能選択手段は、ロボットが備える全ての機能の中から、前記実行手順に示される機能を除いた残りの機能の中から、前記別の機能を無作為に選択するようにしたことを特徴とする請求項1乃至請求項5に記載のロボット。
【請求項7】
各機能毎に、その機能と同時に実行できない機能を記述した機能間同時実行制限情報を予め備えており、
前記追加機能選択手段は、ロボットが備える全ての機能の中から、前記実行手順に示される機能を除いた残りの機能から、前記機能間同時実行制限情報を参照し、同時に実行できない機能を省いた中から、機能を選択するようにしたことを特徴とする請求項1乃至請求項5に記載のロボット。
【請求項8】
更に、各機能毎に、その機能と同時に実行した際に悪影響を及ぼす可能性の度合いを記述した機能間相互悪影響情報を予め備えており、
前記追加機能選択手段は、前記機能間相互悪影響情報が示す各度合いを参照し、機能を選択するようにしたことを特徴とする請求項7記載のロボット。
【請求項9】
前記行動計画生成手段で生成された実行手順を逐次格納する機能実行履歴格納手段を備え、
前記追加機能選択手段で選択された機能に続けて実行する機能を、前記機能実行履歴格納手段を参照し選択するようにしたことを特徴とする請求項1乃至8に記載のロボット。
【請求項10】
利用者からの指示に基づいて、ロボットの一あるいは複数の機能の実行手順を指示ベース行動計画として生成する指示ベース行動計画生成手段と、
前記指示ベース行動計画生成手段で生成された前記指示ベース行動計画を格納する行動計画格納手段と、
前記行動計画格納手段に格納される前記指示ベース行動計画の各機能を参照し、該各機能を除いた別の機能を選択し、非指示ベース行動計画として生成し、前記行動計画格納手段へ追加格納する非指示ベース行動計画生成手段と、
前記行動計画格納手段に格納された前記指示ベース行動計画と前記非指示ベース行動計画とに含む各機能の実行指示を行う機能実行指示手段とを備えたことを特徴とするロボット行動計画実行装置。
【請求項11】
前記非指示ベース行動計画生成手段は、
前記指示ベース行動計画の各機能の実行と同時に実行不能な機能を判定する同時実行可能機能判定手段を備え、前記同時に実行不能な機能も除いた別の機能を選択し、非指示ベース行動計画として生成し、前記行動計画格納手段へ追加格納するようにしたことを特徴とする請求項10記載のロボット行動計画実行装置。
【請求項12】
実際の動作や処理を行うハードウェアやソフトウェアを備える第1のレイヤと、
行動を決定し、その行動を行うための機能を実行指示する行動計画部を備える第2のレイヤと、
第1のレイヤと第2のレイヤとの間に有って、第2レイヤから指示された機能を実現するために、第1のレイヤのハードウェアやソフトウェアへ具体化した指示を行う機能実行部と、
第1のレイヤのハードウェアやソフトウェアからのデータを第2のレイヤで理解可能な、指示や状態を示す情報に加工し、第2のレイヤへ通知する指示・状態通知部を備える第3のレイヤとを含むロボットであって、
前記行動計画部は、
前記指示・状態通知部からの指示に基づいて、一あるいは複数の機能の実行手順を生成する行動計画生成手段と、
前記行動計画生成手段で生成された前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択する追加機能選択手段と、
前記行動計画生成手段で生成された前記実行手順に示される機能と、前記追加機能選択手段で選択された前記別の機能との実行を前記機能実行部へ指示する機能実行指示手段とを備えたことを特徴とするロボット。
【請求項13】
複数の機能に応じてそれぞれ行動するロボットの行動計画実行方法において、
前記ロボットの外部からの指示に基づいて、一あるいは複数の機能の実行手順を生成し、
該生成された実行手順を参照して、該実行手順に示される機能を除いた別の機能を選択し、
生成された前記実行手順に示される機能と、選択された前記別の機能とを並列に実行するようにしたことを特徴とするロボットの行動計画実行方法。
【請求項14】
利用者からの指示に基づいて、ロボットの一あるいは複数の機能の実行手順を指示ベース行動計画として生成し、
生成された前記指示ベース行動計画を記憶部へ格納し、
記憶部へ格納された前記指示ベース行動計画の各機能を参照し、
該各機能を除いた別の機能を選択して非指示ベース行動計画として生成し、
前記記憶部へ生成した前記非指示ベース行動計画を追加し、
前記記憶部に格納された前記指示ベース行動計画と前記非指示ベース行動計画とに含まれる各機能の実行指示を行うようにしたことを特徴とするロボットの行動計画実行方法。
【請求項15】
実際の動作や処理を行うハードウェアやソフトウェアを備える第1のレイヤと、行動を決定し、その行動を行うための機能を実行指示する行動計画部を備える第2のレイヤと、第1のレイヤと第2のレイヤとの間に有って、第2レイヤから指示された機能を実現するために、第1のレイヤのハードウェアやソフトウェアへ具体化した指示を行う機能実行部と、第1のレイヤのハードウェアやソフトウェアからのデータを第2のレイヤで理解可能な、指示や状態を示す情報に加工し、第2のレイヤへ通知する指示・状態通知部を備える第3のレイヤとを含むロボットの行動計画実行方法であって、
前記行動計画部は、前記指示・状態通知部からの指示に基づいて、
一あるいは複数の機能の実行手順を生成し、
生成された前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択し、
前記実行手順に示される機能と、選択された前記別の機能との実行を前記機能実行部へ指示するようにしたことを特徴とするロボットの行動計画実行方法。
【請求項16】
複数の機能を備えるロボットのプロセッサで実行される行動計画実行プログラムであって、
外部からの指示を入力し、一あるいは複数の機能の実行手順を生成させる第1手段と、
該生成された実行手順を参照して、該実行手順に示される機能を除いた別の機能を選択させる第2手段と、
生成された前記実行手順に示される機能と、選択された前記別の機能とを並列に実行させる第3手段とを備えたことを特徴とする行動計画実行プログラム。
【請求項17】
複数の機能と、記憶部とを備えるロボットのプロセッサで実行される行動計画実行プログラムであって、
利用者からの指示を入力し、ロボットの一あるいは複数の機能の実行手順を指示ベース行動計画として生成させる第1手段と、
前記第1手段で生成させた前記指示ベース行動計画を前記記憶部へ格納させる第2手段と、
前記記憶部へ格納させた前記指示ベース行動計画の各機能を参照させ、該各機能を除いた別の機能を選択させ、非指示ベース行動計画として生成させる第3手段と、
前記記憶部へ、生成させた前記非指示ベース行動計画を追加させる第4手段と、
前記記憶部に格納させた前記指示ベース行動計画と前記非指示ベース行動計画とに含まれる各機能の実行指示を行わせる第5手段とを備えたことを特徴とする行動計画実行プログラム。
【請求項18】
実際の動作や処理を行うハードウェアやソフトウェアを備える第1のレイヤと、行動を決定し、その行動を行うための機能を実行指示する行動計画実行プログラムを備える第2のレイヤと、第1のレイヤと第2のレイヤとの間に有って、第2レイヤから指示された機能を実現するために、第1のレイヤのハードウェアやソフトウェアへ具体化した指示を行う機能実行部と、第1のレイヤのハードウェアやソフトウェアからのデータを第2のレイヤで理解可能な、指示や状態を示す情報に加工し、第2のレイヤへ通知する指示・状態通知部を備える第3のレイヤとを含むロボットのプロセッサで実行される前記行動計画実行プログラムであって、
前記指示・状態通知部からの指示を入力し、一あるいは複数の機能の実行手順を生成させる第1手段と、
生成させた前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択させる第2手段と、
前記実行手順に示される機能と、選択された前記別の機能との実行を前記機能実行部へ行うために指示させる第3手段とを備えたことを特徴とする行動計画実行プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2006−88282(P2006−88282A)
【公開日】平成18年4月6日(2006.4.6)
【国際特許分類】
【出願番号】特願2004−278276(P2004−278276)
【出願日】平成16年9月24日(2004.9.24)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成18年4月6日(2006.4.6)
【国際特許分類】
【出願日】平成16年9月24日(2004.9.24)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]