JP4059742B2 - コミュニケーションロボット - Google Patents
コミュニケーションロボット Download PDFInfo
- Publication number
- JP4059742B2 JP4059742B2 JP2002281625A JP2002281625A JP4059742B2 JP 4059742 B2 JP4059742 B2 JP 4059742B2 JP 2002281625 A JP2002281625 A JP 2002281625A JP 2002281625 A JP2002281625 A JP 2002281625A JP 4059742 B2 JP4059742 B2 JP 4059742B2
- Authority
- JP
- Japan
- Prior art keywords
- behavior
- module
- robot
- rule
- episode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Manipulator (AREA)
Description
【産業上の利用分野】
この発明はコミュニケーションロボットに関し、特にたとえば、特定状況における行動をモジュール化した行動モジュールを複数規定し、その行動モジュールの基本的な実行順序に関する規則を複数規定し、その複数の規則に基づいて複数の行動モジュールを実行することによって、コミュニケーション行動を取るコミュニケーションロボットに関する。
【0002】
【従来の技術】
従来、ロボットの行動をソフトウェアモジュール化し、これを実行する技術は存在している(たとえば非特許文献1参照)。
【0003】
【非特許文献1】
石黒,小野,今井,前田,神田,中津,「ロボビー:インタラクティブ・ヒューマノイド・ロボット(Robovie: an interactive humanoid robot)」, インダストリアル・ロボティクス(Int. J. Industrial Robotics),2001年,第28巻,第6号,p.498−503
【0004】
【発明が解決しようとする課題】
従来のロボットでは、単調でない行動を実現するためには、ランダムな要素に基づいて行動モジュールを実行する必要があったので、そのロボット自身が過去に取って来た行動と矛盾する行動が生じてしまうおそれがあった。一方、矛盾がないように行動モジュールを起動することは、逆に行動の単調さを招くこととなってしまう。たとえば、実行する行動モジュールを予めすべて決めてしまうと、状況に拘らず決まりきった単調な行動となってしまう。このような行動の有り様は、一定範囲の環境内で予め定められた動作をする産業用ロボットとしては適当であるが、人間と多様なコミュニケーションを取るコミュニケーションロボットとしては適しているとは言い難い。
【0005】
また、多数のモジュールが存在するロボットを開発する際に、既存のモジュール間の関係性を表現するような手段は無く、その関係を把握することは困難であった。したがって、既に実装したモジュールが有している関係を把握することなく、新たなモジュールの関係を考案して入力したり、既存の関係を変更したりせねばならず、開発が困難であった。なお、単にプログラム入力手段のみを視覚化したグラフィカルなプログラム手法は一般的にあるが、このようなグラフィカルプログラム手法においても多数のモジュール間の関係は把握できない。
【0006】
それゆえに、この発明の主たる目的は、単調でなくかつ矛盾の無いコミュニケーション行動を取ることができる、コミュニケーションロボットを提供することである。
【0008】
【課題を解決するための手段】
第1の発明は、音声および身振りの少なくとも一方を含むコミュニケーション行動を、当該行動の履歴によって表される状況に応じて遷移させて、人間と相互作用するコミュニケーションロボットであって、音声を出力し身振りを示すための提示手段、人間の行動を認識するための情報を取得する取得手段、特定状況における行動をモジュール化した複数の行動モジュールであって、当該行動モジュールを実行するための前提条件を含み、前提条件が満足される場合に当該行動モジュールを実行することによって、提示手段を用いて音声の出力および身振りの少なくとも一方による提示を行うとともに、取得手段によって取得した情報に基づいて当該提示に対して予め規定しておいた予想される人間の反応に一致する結果が得られるかどうかの認識を行う複数の行動モジュールを格納する行動モジュール記憶手段、行動モジュールの基本的な実行順序を規定しかつ行動モジュールの実行履歴と比較される複数の規則であって、少なくとも複数の行動モジュールの順序に対応付けて次に実行される行動モジュールを規定した規則、および複数の行動モジュールの順序に対応付けて次の実行が否定される行動モジュールを規定した規則を含み、かつ優先順位の設定された複数の規則を格納する規則記憶手段、実行された行動モジュールとその認識結果に関する情報を含む行動モジュールの実行履歴を記録する履歴記録手段、行動モジュールの実行履歴と規則記憶手段に記憶されている複数の規則との比較および次に実行される行動モジュールの前提条件の確認を行うことによって、適用可能な規則および次に実行可能な行動モジュールの候補を選出する候補選出手段、候補選出手段によって複数の規則が選出された場合において、適用可能な複数の規則が競合するときにそれぞれの優先順位に基づいて適用する規則を選択する優先選択手段、優先選択手段によって規則が選択されたときには、当該選択された規則に基づいて次に実行する行動モジュールを選択し、優先選択手段による選択が行われないときには、候補選出手段によって選出された候補を次に実行する行動モジュールとして選択する次行動選択手段、および次行動選択手段によって選択された行動モジュールを実行する行動モジュール実行手段を備える、コミュニケーションロボットである。
【0010】
【作用】
第1の発明のコミュニケーションロボットは、複数の行動モジュールおよび行動モジュールの基本的な実行順序に関する複数の規則を備えている。行動モジュールは、たとえば、この行動モジュールを実行する前提条件,ロボットの行動を提示する指示部およびロボットの行動に対する人間の反応を認識する認識部を備えていて、前提条件を満足する場合のみ指示部が実行されて、その後認識部が実行される。このロボットでは、ロボットが現在まで行ってきたコミュニケーション行動の履歴に基づいて、次に実行する行動モジュールが選択されて実行される。つまり、候補選択手段によって、行動モジュールの実行履歴と格納されている複数の規則とが比較され、実行履歴に該当する規則が選出される。また、規則には、基本的に、特定の状況において次に行う行動モジュールが規定されており、この規定された行動モジュールが、次に実行可能な行動モジュールの候補として選出される。そして、次行動選択手段によって、選出された候補から次に実行する行動モジュールが選択される。たとえば、実行中であった行動モジュールの結果に適合する行動モジュールが選出され、かつ、行動モジュールに規定されている前提条件を満足するものが選出される。このようにして、実行履歴に基づいて選択された行動モジュールが行動モジュール実行手段によって実行される。
【0011】
また、規則には優先順位がそれぞれ設定されていてもよい。この場合には、複数の規則が競合するときに、この優先順位に従って、適用する規則を選択することができる。
【0017】
【発明の効果】
第1の発明によれば、実際の行動モジュールの実行履歴、すなわち、ロボットと人間とのコミュニケーション活動の履歴に基づいて、次に実行可能な行動モジュールが選択されて実行される。したがって、単調でなく、しかも、矛盾の無いコミュニケーション行動を取ることができる。
【0019】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【0020】
【実施例】
図1を参照して、この実施例のコミュニケーションロボット(以下、単に「ロボット」ということがある。)10は、人間とコミュニケーションすることを目的とした相互作用指向のコミュニケーションロボットである。コミュニケーションロボット開発支援装置(以下、単に「開発支援装置」ということがある。)12は、このようなコミュニケーションロボット10を開発するためのものである。
【0021】
開発支援装置12は、たとえばパーソナルコンピュータ(PC)またはワークステーション等のコンピュータで構成されており、たとえば図2に示すようにCPU14を含む。CPU14にはバス16を介してメモリ18,ハードディスク装置(HDD)20,液晶ディスプレイまたはCRT等の表示装置22,マウスおよびキーボード等の入力装置24および通信回路26が接続されている。主記憶装置としてのHDD20には、この開発支援処理を実行するためのプログラムが格納されており、また、表示装置22に表示される画面データ等の各種データも記憶されている。また、HDD20には、ロボット10に格納されているものと同じ後述の行動モジュールおよびエピソード・ルールのデータが格納される。メモリ18はたとえばRAM等であって、ワーキングメモリやバッファメモリとして使用される。ユーザである開発者は入力装置24を操作することによって、画面上の各種ボタンないし設定を選択ないし入力する。通信回路26は通信インタフェースであって、これによって開発支援装置12はネットワークを介してまたは直接にロボット10との間でデータ通信可能にされる。なお、開発支援装置12とロボット10とは有線で接続されてもよいが、ロボット10の行動を阻害しないように無線LAN等で無線通信するのが望ましい。無線LANの種類およびモード等は種々のものが適用可能であり、たとえば電波方式,IrDA赤外線方式,Bluetooth方式等であってよく、またアドホックモードまたはインフラストラクチャモードを問わない。
【0022】
ここで、まず、この開発するロボット10について説明する。コミュニケーションロボット10は、文字通り、人間とコミュニケーションすることを目的とした相互作用指向のロボットであり、特定タスクを制限されたエリアで実行する産業用ロボットのようなタスク指向のロボットとは異なる。このようなロボット10は人間と多様なコミュニケーション行動を取るために、様々な状況における多数の相互作用的な行動を備えるようにされる。このような行動はモジュール化され、「行動モジュール」として実行される。また、各行動の実行順序が規則(「エピソード・ルール」と呼ぶ。)として多数規定され、長期的に首尾一貫した前後関係または調和した状況を維持しているコミュニケーション行動が実現される。つまり、ロボット10は行動モジュールを順次実行し、行動モジュールの実行順序はエピソード・ルールによって導かれる。
【0023】
さらに行動モジュールおよびエピソード・ルールについて詳しく説明する。行動モジュールは、図3に示すように、前提条件部,指示部および認識部を含む。行動モジュールを実行する際には、まず、前提条件部が実行されることによって、ロボット10は、その行動モジュールが実行可能な状況であるかどうかを確認する。たとえば、天気情報をインタネットから検索することによって天気についての行動を取ることを実現する行動モジュールは、ロボット10がインタネット接続可能でない場合には、実行可能ではなく、前提条件を満足しない。前提条件を満足する場合には、次に指示部を実行する。これにより、ロボット10は人間と相互作用する行動を取り、具体的には発声および身ぶり等を用いて所定の行動を人間に提示する。人間はこのようなロボット10の行動に対して何らかの反応をするであろう。たとえば、握手の行動モジュールでは、ロボット10は「握手しよう」と言ってその手を差し出す。この場合、その人がロボット10の行為に反応するときはその人は自分の手をロボット10の手の周囲に伸ばすであろう。したがって、認識部は、ロボット10の提示した行動に対して取ると予想される幾つかの人間の反応を認識するように設定される。このように、行動モジュールは特定の状況を生み出し、その後その特定状況下における人間の行動を認識することができる。行動モジュールは特定状況における対話的かつ反応的な行動としての作用−反作用ペアを実現する。
【0024】
この実施例のロボット10では、たとえば100を超える行動モジュールが設定され、たとえば「HELLO」(こんにちはの挨拶をして、返答を認識する),「AKUSHU」(「握手しよう」と言って手を差し出して、握手されたか認識する),「ZYAN」(「じゃんけんしよう」と言って手を出して、その周囲を凝視して人が手を出したかを認識する),「HUG」(だっこする),「FROM」(「何処から来たの」と聞いて、場所の名前を認識する)「BYE」(バイバイと言う),「TURN」(肩を叩かれたときに肩を叩いた人の方を向く),「PATROL」(パトロールといって歩き回る)等のフレンドリな行動や、「P_EYE」(目を擦るポーズ(まね)をする),「P_HEAD」(頭を掻くポーズをする)等の人間に似た特に何もしないでいる行動や、「EXPLORE」(周囲を巡回して調査する)等の日常的な仕事のような行動等を含む。
【0025】
行動モジュールの推移ないし遷移は、図4に示すように、順次的な遷移および反応的な遷移を含み、また、反応的モジュールが稼動される場合もある。ロボット10は現在の行動モジュールの指示部を実行した後、認識部を実行することによって人間の反応を認識する。その後、ロボット10は、現在の行動モジュールの実行を終了し、認識結果に相当する結果値を記録して、次の実行可能な行動モジュールに推移する(図4(A))。次の実行可能な行動モジュールは、現在の行動モジュールの結果値および行動モジュール実行の履歴によって決定される。この順次的な遷移はエピソード・ルールによって導かれる。また、コミュニケーションにはこのような順次的な遷移によっては解決されない問題すなわち妨害や逸脱がある。たとえば、ある人たちが話をしていて電話が鳴ったときには彼らは会話を止めて電話に応えるであろう。このような妨害および逸脱は反応的遷移および反応的モジュールによって取り扱われる。反応的遷移が現在の状況に対して決められていてかつ対応する次の行動モジュールの前提条件を満足する場合、ロボット10は現在の行動モジュールの実行を止めてすぐに次の行動モジュールに遷移する(図4(B))。この反応的な遷移もエピソード・ルールによって導かれる。一方、反応的モジュールが稼動されるときには、ロボット10は現在の行動モジュールの実行を止めず、これと並行して反応的モジュールを実行する(図4(C))。たとえば、ロボット10が人と話をしていて人がロボット10の腕に触れたとき、ロボット10は反応的モジュールを実行することによって触れられた部分を凝視して(眼球部ないし頭部を触れられた部分に向けて)、そのことに気付いていることを知らせる。
【0026】
エピソード・ルールは、行動モジュールの基本的な実行順序に関する規則である。基本的な実行順序とは短期的な行動の遷移ないし推移であることを意味し、たとえば数個程度の行動モジュールの繋がりないし関係であり得るが、長期(たとえば一日中)やすべての行動の推移を定めたものではない。つまり、人間の行動について、たとえば挨拶したら握手するなど、ある程度の行動の短い繋がりあるいは順序付けを定めることが可能であるが、まる一日中の行動のすべてを予め定めることは不可能であり、エピソード・ルールとしてはこのような短い繋がりないし順序付けを規定する。エピソード・ルールは、基本的には、有る状況(履歴)において次に実行する行動モジュールが規定される。また、エピソード・ルールは、次の行動モジュールの実行を抑制するための否定の規則を含む。たとえば、ロボット10が人に何処から来たのか尋ねてその数分後にその人に同じ質問をしてしまう場合等は、状況が調和しておらず矛盾していて不適切であるので、このような不適切な行動の推移はエピソード・ルールによって抑制される。
【0027】
エピソード・ルールは、次に示すような所定の文法に従って記述される。なお、各行動モジュールはモジュールID(Module ID)と呼ばれる独自の識別子を有している。まず、「<ModuleID=result value>」は行動モジュールの実行履歴と結果値を参照するための規則である。「<ModuleID1=result value 1><ModuleID2=result value 2>…」は前に実行された行動モジュールの順序を参照する規則を意味している。「<…>|<…>」は実行された行動モジュールの選択的グループ(“OR”)を意味している。「(…)」は行動モジュール,行動モジュールの順序または行動モジュールの選択的グループからなるブロックを意味する。「(…){n,m}」はn回以上m回以下のブロックの繰返しを意味し、同様に「(…)*」は0回以上の繰返し、「(…)+」は1回以上の繰返しを意味する。また、「!」によって全エピソード・ルールの否定が指定される。たとえば「!<…>…<…>NextModuleID」は、このエピソード・ルールが「<…>…<…>」によって指定される現在の状況に調和するときNextModuleIDが実行されないことを意味する。また、モジュールIDおよび結果値の否定は「^」によって指定される。
【0028】
この実施例では、たとえば880を超えるエピソード・ルールが設定されていて、たとえば「<HELLO>AKUSHU」(挨拶をしたら、握手する),「<TURN>AKUSHU」(肩を叩かれたら、握手する)「<AKUSHU=成功>ZYAN」(握手してもらえたら、じゃんけんする),「<AKUSHU=失敗>BYE」(握手してもらえなかったら、バイバイという),「<TURN><AKUSHU=成功>HUG」(肩を叩かれた後に、握手してもらえたら、だっこする),「!<TURN><AKUSHU=失敗>HELLO」(肩を叩かれた後に、握手してもらえなかったとき、あいさつをしない),「<^HELLO><AKUSHU=失敗><HELLO>ZYAN」(あいさつ以外の行動モジュールをして、握手してもらえなかった後に、あいさつしたら、じゃんけんする),「!<FROM>(<^BYE>)+FROM」(何処から来たのか聞いて、バイバイ以外の行動モジュールを1回以上繰り返しているとき、何処から来たのとは聞かない)等を含む。なお、上記エピソード・ルールの例では結果値を「成功」または「失敗」と記述しているが、これらは実際には所定の数値に置き換えて記述される。
【0029】
エピソード・ルールは、行動モジュール間の遷移を制御することによって、ロボット10を人間との相互作用の新たなエピソードに導く。ロボット10では、どの行動モジュールを次に実行すべきか決定するために、すべてのエピソード・ルールが行動モジュールの実行履歴と比較される。ロボット10は、現在の行動モジュールの実行中に比較を実行して、次に実行可能な行動モジュールのリストを作成する。現在の行動モジュールの実行の後、ロボット10はリスト中の各行動モジュールの前提条件を確認する。前提条件が満足される場合、その行動モジュールに推移する。エピソード・ルールは優先順位を有していて、幾つかのエピソード・ルールが競合する場合には、より高い優先順位を有するエピソード・ルールが適用される。
【0030】
図5は行動モジュールの推移の一例を示している。初期状態として、ロボット10は「EXPLORE」によって環境を調査している。このとき、人間がロボットの肩に触れると、この状況に一致するエピソード・ルール1が適用されて、このエピソード・ルール1に従った反応的遷移が生じる。このエピソード・ルール1は、「EXPLOREが妨害されたとき、TURNを実行する」ことを規定している。ロボット10は「TURN」を実行することによって、その人の方を向く。この指示部の行為の結果が成功、つまりたとえばその人を認識できたとき、この状況に一致するエピソード・ルール2が適用される。このエピソード・ルール2は、「TURNが成功したら、GREETを実行する」ことを規定している。ロボット10は「GREET」を実行することによって、その人に挨拶し始める。そして、図5では、「GREET」の次に実行する行動モジュールを決定する際に、複数のエピソード・ルールが競合する一例が示される。つまり、行動モジュールの実行履歴と全エピソード・ルールとが比較される。行動モジュールの実行履歴とは、過去に実行した行動モジュールとその結果値,および現在実行中の行動モジュールのことであり、この比較によって、現在の状況に適合するエピソード・ルール3,4および5が選出される。ここで、エピソード・ルール3は「GREETが反応なしの結果に終わるとき、BYEを実行する」ことを規定し、エピソード・ルール4は「TURNが成功した後、GREETを実行したら(その結果がいずれであっても)、AKUSHUを実行する」ことを規定し、エピソード・ルール5は「EXPLOREが妨害された後、AKUSHU以外の行動モジュールを1回以上5回以下繰返しているとき、BYEを実行しない」ことを規定している。つまり、「BYE」がエピソード・ルール3によって選択される次に実行可能なモジュールの候補であり、「AKUSHU」がエピソード・ルール4によって選択される次実行可能モジュールの候補であり、エピソード・ルール5は「BYE」への遷移を抑制する。この場合、競合する各エピソード・ルールの優先順位に従って、適用するエピソード・ルールが決定されて、次に実行する行動モジュールが決定される。たとえばエピソード・ルール5の優先順位がエピソード・ルール3のそれよりも高い場合には、「BYE」は次に実行される行動モジュールではなくなる。なお、さらに優先順位が同一となるときは、次実行モジュールはたとえばランダムで決定する。
【0031】
このロボット10の多様なコミュニケーション行動を行うためのソフトウェア面の構成の説明をしたが、以下には、ロボット10のハードウェア面の構成を説明する。
【0032】
図6を参照して、ロボット10は、台車28を含み、この台車28の下面には、このロボット10を自律移動させる車輪30が設けられる。この車輪30は、車輪モータ(図7において参照番号「86」で示す。)によって駆動され、台車28すなわちロボット10を前後左右任意の方向に動かすことができる。なお、図示しないが、この台車28の前面には、衝突センサ(図7において、参照番号「94」で示す。)が取り付けられ、この衝突センサは、台車28への人や他の障害物の接触を検知する。そして、ロボット10の移動中に障害物との接触を検知すると、直ちに車輪30の駆動を停止してロボット10の移動を急停止させて衝突を未然に防ぐ。
【0033】
なお、ロボット10の背の高さは、この実施例では、人、特に子供に威圧感をあたえることがないように、100cm程度とされている。ただし、この背の高さは任意に変更可能である。
【0034】
台車28の上には、多角形柱のセンサ取付パネル32が設けられ、このセンサ取付パネル32の各面には、超音波距離センサ34が取り付けられる。この超音波距離センサ34は、取付パネル32すなわちロボット10の周囲の主として人との間の距離を計測するものである。
【0035】
台車28の上には、さらに、下部が上述の取付パネル32に囲まれて、ロボット10の胴体が直立するように取り付けられる。この胴体は下部胴体36と上部胴体38とから構成され、これら下部胴体36および上部胴体38は、連結部40によって、連結される。連結部40には、図示しないが、昇降機構が内蔵されていて、この昇降機構を用いることによって、上部胴体38の高さすなわちロボット10の高さを変化させることができる。昇降機構は、後述のように、腰モータ(図7において参照番号「84」で示す。)によって駆動される。上で述べたロボット10の身長100cmは、上部胴体38をそれの最下位置にしたときの値である。したがって、ロボット10の身長は100cm以上にすることができる。
【0036】
上部胴体38のほぼ中央には、1つの全方位カメラ42と、1つのマイク44とが設けられる。全方位カメラ42は、ロボット10の周囲を撮影するもので、後述の眼カメラ64と区別される。マイク44は、周囲の音、とりわけ人の声を取り込む。
【0037】
上部胴体38の両肩には、それぞれ、肩関節46Rおよび46Lによって、上腕48Rおよび48Lが取り付けられる。肩関節46Rおよび46Lは、それぞれ3軸の自由度を有する。すなわち、肩関節46Rは、X軸,Y軸およびZ軸のそれぞれの軸廻りにおいて上腕48Rの角度を制御できる。Y軸は、上腕48Rの長手方向(または軸)に並行な軸であり、X軸およびZ軸は、そのY軸に、それぞれ異なる方向から直交する軸である。肩関節46Lは、A軸,B軸およびC軸のそれぞれの軸廻りにおいて上腕48Lの角度を制御できる。B軸は、上腕48Lの長手方向(または軸)に並行な軸であり、A軸およびC軸は、そのB軸に、それぞれ異なる方向から直交する軸である。
【0038】
上腕48Rおよび48Lのそれぞれの先端には、肘関節50Rおよび50Lを介して、前腕52Rおよび52Lが取り付けられる。肘関節50Rおよび50Lは、それぞれ、W軸およびD軸の軸廻りにおいて、前腕52Rおよび52Lの角度を制御できる。
【0039】
なお、上腕48Rおよび48Lならびに前腕52Rおよび52L(いずれも図6)の変位を制御するX,Y,X,W軸およびA,B,C,D軸では、「0度」がホームポジションであり、このホームポジションでは、上腕48Rおよび48Lならびに前腕52Rおよび52Lは下方向に向けられる。
【0040】
また、図示しないが、上部胴体38の肩関節46Rおよび46Lを含む肩の部分や上述の上腕48Rおよび48Lならびに前腕52Rおよび52Lには、それぞれ、タッチセンサが設けられていて、これらのタッチセンサは、人がロボット10のこれらの部位に接触したかどうかを検知する。これらのタッチセンサも図7において参照番号92で包括的に示す。
【0041】
前腕52Rおよび52Lのそれぞれの先端には、手に相当する球体54Rおよび54Lがそれぞれ固定的に取り付けられる。なお、この球体54Rおよび54Lに代えて、この実施例のロボット10と異なり指の機能が必要な場合には、人の手の形をした「手」を用いることも可能である。
【0042】
なお、ロボット10の形状・寸法等は適宜に設定されるが、他の実施例では、たとえば、上部胴体38は、前面,背面,右側面,左側面,上面および底面を含み、右側面および左側面は表面が斜め前方に向くように形成してもよい。つまり、前面の横幅が背面の横幅よりも短く、上部胴体38を上から見た形状が台形になるように形成されてもよい。このような場合、肩関節46Rおよび46Lは、右側面および左側面に、その表面が左右両側面とそれぞれ平行である左右の支持部を介して取り付けられる。そして、上腕48Rおよび上腕48Lの回動範囲は、これら左右側面または支持部の表面(取り付け面)によって規制され、上腕48Rおよび48Lは取り付け面を超えて回動することはない。しかし、左右側面の傾斜角,B軸とY軸との間隔,上腕48Rおよび48Lの長さ,ならびに前腕52Rおよび52Lの長さ等を適宜に設定すれば、上腕48Rおよび48Lは前方を越えてより内側まで回動できるので、たとえW軸およびD軸による腕の自由度がなくてもロボット10の腕は前方で交差できる。したがって、腕の自由度が少ない場合でも正面に位置する人と抱き合うなどの密接なコミュニケーション(たとえば「HUG」の行動モジュール等)を図ることができる。
【0043】
上部胴体38の中央上方には、首関節56を介して、頭部58が取り付けられる。この首関節56は、3つの自由度を有し、S軸,T軸およびU軸の各軸廻りに角度制御可能である。S軸は首から真上に向かう軸であり、T軸およびU軸は、それぞれ、このS軸に対して異なる方向で直交する軸である。頭部58には、人の口に相当する位置に、スピーカ60が設けられる。スピーカ60は、ロボット10が、それの周囲の人に対して音声または声によってコミュニケーションを図るために用いられる。ただし、スピーカ60は、ロボット10の他の部位たとえば胴体に設けられてもよい。
【0044】
また、頭部58には、目に相当する位置に眼球部62Rおよび62Lが設けられる。眼球部62Rおよび62Lは、それぞれ眼カメラ64Rおよび64Lを含む。なお、右の眼球部62Rおよび左の眼球部62Lをまとめて眼球部62といい、右の眼カメラ64Rおよび左の眼カメラ64Lをまとめて眼カメラ64ということもある。眼カメラ64は、ロボット10に接近した人の顔や他の部分ないし物体等を撮影してその映像信号を取り込む。
【0045】
なお、上述の全方位カメラ42および眼カメラ64のいずれも、たとえばCCDやCMOSのように個体撮像素子を用いるカメラであってよい。
【0046】
たとえば、眼カメラ64は眼球部62内に固定され、眼球部62は眼球支持部(図示せず)を介して頭部58内の所定位置に取り付けられる。眼球支持部は、2軸の自由度を有し、α軸およびβ軸の各軸廻りに角度制御可能である。α軸およびβ軸は頭部58に対して設定される軸であり、α軸は頭部58の上へ向かう方向の軸であり、β軸はα軸に直交しかつ頭部58の正面側(顔)が向く方向に直交する方向の軸である。この実施例では、頭部58がホームポジションにあるとき、α軸はS軸に平行し、β軸はU軸に平行するように設定されている。このような頭部58において、眼球支持部がα軸およびβ軸の各軸廻りに回転されることによって、眼球部62ないし眼カメラ64の先端(正面)側が変位され、カメラ軸すなわち視線方向が移動される。
【0047】
なお、眼カメラ64の変位を制御するα軸およびβ軸では、「0度」がホームポジションであり、このホームポジションでは、図6に示すように、眼カメラ64のカメラ軸は頭部58の正面側(顔)が向く方向に向けられ、視線は正視状態となる。
【0048】
図6に示すロボット10の制御系の構成が図7のブロック図に示される。図7に示すように、このロボット10は、全体の制御のためにマイクロコンピュータまたはCPU66を含み、このCPU66には、バス68を通して、メモリ70,モータ制御ボード72,センサ入力/出力ボード74および音声入力/出力ボード76が接続される。
【0049】
メモリ70は、図示しないが、ROMやRAMを含み、ROMにはこのロボット10の制御プログラムが予め書き込まれているとともに、複数の行動モジュールのデータ,複数のエピソード・ルールのデータや、各行動モジュールの実行の際にスピーカ60から発生すべき音声または声の音声データ,所定の身ぶりを示すための角度データ等が格納されている。RAMは、一時記憶メモリとして用いられるとともに、ワーキングメモリとして利用され得る。
【0050】
モータ制御ボード72は、たとえばDSP(Digital Signal Processor)で構成され、各腕や頭部および眼球部等の各軸モータを制御する。すなわち、モータ制御ボード72は、CPU66からの制御データを受け、右肩関節46RのX,YおよびZ軸のそれぞれの角度を制御する3つのモータと右肘関節50Rの軸Wの角度を制御する1つのモータとの計4つのモータ(図7ではまとめて、「右腕モータ」として示す。)78の回転角度を調節する。また、モータ制御ボード72は、左肩関節46LのA,BおよびC軸のそれぞれの角度を制御する3つのモータと左肘関節50LのD軸の角度を制御する1つのモータとの計4つのモータ(図4ではまとめて、「左腕モータ」として示す。)80の回転角度を調節する。モータ制御ボード72は、また、頭部58のS,TおよびU軸のそれぞれの角度を制御する3つのモータ(図4ではまとめて、「頭部モータ」として示す。)82の回転角度を調節する。モータ制御ボード72は、また、腰モータ84、および車輪30を駆動する2つのモータ(図4ではまとめて、「車輪モータ」として示す。)86を制御する。
【0051】
さらに、モータ制御ボード72は、右眼球部62Rのα軸およびβ軸のそれぞれの角度を制御する2つのモータ(図7ではまとめて、「右眼球モータ」として示す。)88の回転角度を調節し、また、左眼球部62Lのα軸およびβ軸のそれぞれの角度を制御する2つのモータ(図4ではまとめて、「左眼球モータ」として示す。)90の回転角度を調節する。
【0052】
なお、この実施例の上述のモータは、車輪モータ86を除いて、制御を簡単化するためにそれぞれステッピングモータまたはパルスモータであるが、車輪モータ86と同様に、直流モータであってよい。
【0053】
センサ入力/出力ボード74も、同様に、DSPで構成され、各センサやカメラからの信号を取り込んでCPU66に与える。すなわち、超音波距離センサ34の各々からの反射時間に関するデータがこのセンサ入力/出力ボード74を通して、CPU66に入力される。また、全方位カメラ42からの映像信号が、必要に応じてこのセンサ入力/出力ボード74で所定の処理が施された後、CPU66に入力される。眼カメラ64からの映像信号も、同様にして、CPU66に与えられる。なお、この図7では、図6で説明したタッチセンサは、まとめて「タッチセンサ92」として表され、それらのタッチセンサ92からの信号がセンサ入力/出力ボード74を介して、CPU66に与えられる。
【0054】
スピーカ60には音声入力/出力ボード76を介して、CPU66から、合成音声データが与えられ、それに応じて、スピーカ60からはそのデータに従った音声または声が出力される。そして、マイク44からの音声入力が、音声入力/出力ボード76を介して、CPU66に取り込まれる。
【0055】
通信LANボード96も、同様に、DSPで構成され、CPU66から送られた送信データを無線装置98に与え、無線装置98から送信データを送信させる。また、通信LANボード96は無線装置98を介してデータを受信し、受信データをCPU66に与える。この通信LANボード96および無線装置98によって、ロボット10はこの開発支援装置12または有線LANのアクセスポイント等と無線通信を行うことができ、また完成後には他のロボット10等とも無線通信を行うことができる。
【0056】
ロボット10は、左右の腕部分,頭部58および眼球部62等の動きを制御することによって所定の身ぶりを示し、またスピーカ60から音声を出力することによって発声して、行動モジュールの指示部を実行する。そして、ロボット10は、カメラ42,眼カメラ64,マイク44およびタッチセンサ92等を用いて、行動モジュールの認識部の実行、すなわち人の反応の認識を行う。
【0057】
開発支援装置12(図1)は、上述のような行動モジュールおよびエピソード・ルールを基本的構成とするロボット10の開発に役立つものである。開発支援装置12は、行動モジュールの視覚化機能,エピソード・ルールの検索機能,およびエピソード・ルールの入力機能を主に備えている。
【0058】
すなわち、開発支援装置12は、多数の行動モジュールの実行およびこれら行動モジュール間の複雑な関係を視覚化する機能を有しており、この視覚化機能によって、多数のモジュール間の関係を大局的にかつ簡単に把握することが可能となる。また、開発支援装置12は、実装されたエピソード・ルールを検索する機能を有し、検索条件に基づいて、該当するエピソード・ルールおよび次に実行可能な行動モジュールの候補が選出される。また、開発支援装置12は、エピソード・ルールを入力する機能、つまり、既存のエピソード・ルールを修正し、また、新たなエピソード・ルールを作成する機能を有し、この入力機能によって、開発者はロボット10の行動を制御するエピソード・ルールの開発を行うことができる。具体的には、既存のエピソード・ルールを部分修正したり、否定のエピソード・ルールを作成したりすることで、ロボット12の行動を完成させる場合に特に役立つであろう。
【0059】
開発支援装置12では、開発支援処理が開始されると、たとえば図12に示すようなメイン画面が表示装置22に表示される。このメイン画面は、行動モジュールの関係が表示される視覚化画面100を備える。図12の視覚化画面100には初期状態が示されており、行動モジュールの矩形状のアイコン画像が整列して表示されている。
【0060】
また、図12の画面右側には、実装されている行動モジュールのリストや内容説明等が表示されるモジュール画面等が、境界部分の切換ボタンによって表示/非表示の切換可能に設けられる。
【0061】
さらに、メイン画面は、たとえば図13に示すように、検索結果が表示される検索画面102を備える。なお、検索画面102も境界部分の切換ボタンによって表示/非表示の切換可能であり、図12では検索画面102は非表示状態である。
【0062】
検索画面102には、検索結果に従って、すなわち検索条件に該当するエピソード・ルールの文が該当数とともに表示される。検索モードとしては現在検索,過去検索および文字検索の3つのタイプを備えている。検索タイプは、検索画面102上部に設けられた現在検索ボタン104,過去検索ボタン106および文字検索ボタン108によって選択できる。なお、通常は現在検索が選択されている。
【0063】
視覚化画面100には、各検索タイプに応じた検索結果に基づいて、各行動モジュールの関係が図式的に視覚化されて表示される。つまり、各行動モジュールはアイコン化され、行動モジュールのアイコン画像が視覚化画面100に表示される。各アイコンの配置は全行動モジュールの関係性を考慮して設定される。また、各アイコンの表示形態は、検索モードごとの着目時点に対する各行動モジュールの関係に従って区別して設定される。
【0064】
図13の視覚化画面100では、現在検索モードにおける一例が示されている。行動モジュールのアイコンは、各行動モジュール間の関係の力に基づいて配置される。行動モジュール間の関係の強さは、行動モジュールどうしを結び付ける関係(エピソード・ルール)が多く規定されているほど強くなり、視覚化画面100において互いに接近して現れることとなる。2つの行動モジュール間の関係の力は、ばねモデル方式として知られる次の式(数1)によって算出される。
【0065】
【数1】
Fij=Kij・Dij−R・Dij -7
ここで、iとjはそれぞれ1つの行動モジュールであり、Fij,DijおよびKijはそれぞれ行動モジュールiとjとの間に働く力,距離およびばね定数である。また、Rは反発力のための定数である。
【0066】
そして、各行動モジュールの位置は、すべての行動モジュールにおいてFijが釣り合うように収束計算することによって算出される。
【0067】
また、各行動モジュールのアイコンの表示形態は、たとえば色,形状および大きさ等を検索モードごとの着目時点に対する関係性に従って異ならせて設定される。
【0068】
現在検索は現在の状態を調査するものであるから、その着目時点は現在である。したがって、現在検索では、現在実行中の行動モジュールに対する関係性によって表示形態が区別される。現在実行中の行動モジュールのアイコンには、「現在アイコン」が使用される。たとえば、現在アイコンは赤色に彩色され、矩形状で、かつ、大きく設定される。また、現在の行動モジュールよりも過去に実行した行動モジュールのアイコンには、「過去アイコン」が使用される。たとえば、過去アイコンは青色に彩色され、矩形状で、かつ、現在アイコンよりも小さい中程度の大きさに設定される。さらに、過去アイコンと現在アイコンとは、実行順序に従って、たとえば黄色い連結線で連結される。また、検索の結果得られる次に実行可能な行動モジュールの候補のアイコンには、「次アイコン」が使用される。たとえば、次アイコンは緑色に彩色され、矩形状で、かつ、現在アイコンと同程度に大きく設定される。なお、この例では、これら過去,現在および次アイコン枠内には行動モジュールのID(ModuleID)が表示されている。また、着目時点である現在の行動モジュールとは直接の関係のない残りの行動モジュールのアイコンには、「無関係アイコン」が使用される。無関係アイコンは灰色に彩色され、正方形で、かつ、非常に小さく設定される。
【0069】
なお、図13,14および15の視覚化画面100では、現在アイコンには参照符号Gを、過去アイコンには参照符号Kを付している。また、参照符号を付してない矩形状のアイコンは、次アイコンである。
【0070】
現在検索処理は、ロボット10で行われる次実行モジュールの決定処理と同様のものであるため、この実施例では、ロボット10から行動モジュールの実行履歴,該当エピソード・ルールおよび次実行可能モジュールのデータを現状情報として受信するようにしている。行動モジュールの実行履歴データは、過去に実行した行動モジュールとそれらの結果値、および現在実行中の行動モジュールを含む。具体的には、この処理では、行動モジュールの実行履歴と全エピソード・ルールとが比較されて、該当するエピソード・ルールが選出されるとともに、選出されたエピソード・ルールに基づいて、次に実行可能な行動モジュールの候補が選出される。このようにして取得した検索結果すなわち現状情報に従って、各行動モジュールの表示形態が設定されて、アイコンが視覚化画面100に表示され、また、検索画面102にも、検索結果に従った該当エピソード・ルールが表示される。
【0071】
図14は、図13の状態からロボット10が次の行動に移った後の状態を示している。つまり、図14では、図13の次実行可能モジュール候補の中から1つの次実行モジュールが選択され実行された後の現在検索の結果が示される。具体的には、図13で現在の行動モジュールとして現在アイコン(参照符号G)で表示されていた行動モジュール(「ASOBO」)が、図14では過去の行動モジュールの1つとして過去アイコン(参照符号K)で表示され、図13で次実行可能モジュールの1つとして次アイコンで表示されていた行動モジュール(「T_TSU」)が、図14では現在の行動モジュールとして現在アイコン(参照符号G)で表示されるとともに、これら変更のあった現在アイコンと過去アイコン(「ASOBO」と「T_TSU」)とが図14では新たに連結線で連結される。また、この状態における新たな次実行可能モジュールの候補が次アイコンで表示される。また、検索画面102も更新され、新たな該当エピソード・ルールが表示される。
【0072】
過去検索は、現在までの実行履歴における過去のある時点の状態を検索するものである。過去検索では、過去の行動モジュールが指定される。つまり、たとえば、過去側に移動させる“<”ボタン(戻ボタン)110および現在側に移動させる“>”ボタン(進ボタン)112をクリックし、または検索ナンバ入力欄114に過去をたどる数を直接入力することによって、どれだけ過去にたどるかを指定することができる。そして、過去の時点における現状情報が既に現在検索処理において取得(この実施例ではロボット10から受信)されているので、過去検索処理としては、指定された過去の時点の現状情報を参照すればよい。これによって表示に必要なデータを取得できる。
【0073】
過去検索は履歴中のある過去の状態を調査するものであるから、その着目時点は指定される過去の時点である。したがって、過去検索では、指定される過去の行動モジュールに対する関係性によって表示形態が区別される。つまり、たとえば、指定された過去の行動モジュールは、過去検索における言わば「現在の行動モジュール」に相当し、その指定された過去の行動モジュールよりも前に実行した行動モジュールは、言わば「過去に実行した行動モジュール」に相当する。したがって、過去検索の視覚化においては、指定した過去の行動モジュールが現在アイコンに設定され、その指定過去モジュールよりも前に実行した行動モジュールが過去アイコンに設定され、検索の結果得られる次に実行可能な行動モジュールの候補が次アイコンに設定され、残りの行動モジュールが無関係アイコンに設定されて、それぞれ視覚化画面102に表示されることとなる。検索画面102には、同様に該当エピソード・ルールが表示される。
【0074】
文字検索は、任意の状況におけるロボット10の状態を調査するものである。文字検索では、図15に示すように、状況入力欄116に直接入力することによって、状況を指定できる。そして、指定状況を検索条件とした検索が行われる。つまり、文字検索処理では、入力した状況と実装されている全エピソード・ルールとが比較され、該当するエピソード・ルールが選出されるとともに、該当エピソード・ルールに基づいて次実行可能モジュールの候補が選出される。なお、図15では、指定状況として、「<TURN=1><AKUSHU=1>」が入力欄116に入力されている。
【0075】
文字検索モードでは、指定状況の次に実行可能な行動モジュールの候補が選出されるので、その注目時点は指定された状況における最後の行動モジュールの時点である。したがって、文字検索では、指定状況の最後の行動モジュールに対する関係性によって表示形態が区別される。つまり、たとえば、指定状況のうち最後の行動モジュールは、言わば「現在の行動モジュール」に相当し、入力状況のうち最後の行動モジュール以前の行動モジュールは、言わば「過去に実行した行動モジュール」に相当する。したがって、文字検索の視覚化においては、入力状況のうちの最後の行動モジュール(この例では「AKUSHU」)が現在アイコン(参照符号G)に設定され、入力状況のうちの最後以外の行動モジュール(この例では「TURN」)が過去アイコン(参照符号K)に設定され、検索の結果得られた次実行可能モジュールの候補が次アイコンに設定され、残りの行動モジュールが無関係アイコンに設定されて、それぞれ視覚化画面100に表示される。また、検索画面102には、同様に該当エピソード・ルールが表示される。
【0076】
なお、図15の画面右側には、コントロール画面が表示されている。このコントロール画面では各種の視覚化に関する設定を行えるようになっている。たとえば、行動モジュールのIDのアイコンへの表示、拡大表示、位置計算および検索エピソード・ルールの表示条件等の設定を行える。
【0077】
このように、開発者は、現在検索モードによって、実際にロボット10に行動を取らせながらそのコミュニケーションの状態および推移等をリアルタイムで視覚的に把握することができる。また、過去検索モードによって、ロボット10が現在までに行った行動を振り返って確認することができる。また、文字検索モードによって、全エピソード・ルールの中から調査したい状況に該当するエピソード・ルールを確認できる。このような視覚化の結果を利用して、開発者はロボット10の行動の推移にたとえば矛盾や不調和があって修正や変更等の必要性を感じた場合等には、入力画面を開いて、既に登録されているエピソード・ルールを修正したり、あるいは新たなエピソード・ルールを作成したりすることによって、全体的に調和した行動をとるロボット10に仕上げていくことができる。
【0078】
入力画面は、検索画面102に表示されたエピソード・ルールをたとえばダブルクリック等で選択し、または検索画面102に設けられた“エピソード作成”ボタン118を選択すること等によって、メイン画面とは別ウィンドウで表示される。この入力画面によって、ユーザは、エピソード・ルールの編集作業(修正、新規作成、削除等)を行うことができる。
【0079】
入力画面は、たとえば図16に示すように、エピソード・ルール文表示欄120,編集画面122および操作画面124を備える。エピソード・ルール文表示欄120は、登録欄120aおよび編集欄120bを含み、登録欄120aには編集のために選択された既に登録されているエピソード・ルール文が表示され、編集欄120bには編集中の状態のエピソード・ルール文が表示される。編集画面122には、編集中のエピソード・ルールが図式的に表示される。
【0080】
図16では、IDナンバが451の「<MANUAL=255>CHARGE1」というエピソード・ルールが選択された場合の入力画面の一例が示されている。編集欄120bからわかるように、「<MANUAL=255>」と「CHARGE1」との間に行動モジュール枠を追加しようとしている。編集画面122では、行動モジュールまたはそのブロックは四角形のアイコンで表示され、それらは矢印のアイコンで繋げられており、このような視覚化によってエピソード・ルールの構造が容易に把握され得る。
【0081】
操作画面124には、エピソード・ルールの編集のための各種操作ボタン等が設けられる。たとえば、過去挿入ボタン126によれば、選択されている行動モジュールの過去側に行動モジュール枠(「<>」)を追加挿入でき、また、次挿入ボタン128によれば、選択されている行動モジュールに対して次の行動モジュール枠を追加挿入できる。また、展開ボタン130によれば、編集画面122で選択されているアイコンがブロックであるとき、このブロック内の構成を一列下側に展開表示することができる(図17)。図17に示すように、展開されているブロックは元の列では開かれた本のアイコンで表示される。また、削除ボタン132では、選択されている行動モジュールを削除できる。また、ブロック化ボタン134では、選択されている行動モジュールをブロック化(「(…)」)できる。
【0082】
さらに、操作画面124には、実装されている行動モジュールのIDおよびその結果値のリストがそれらの内容説明とともに表示される参照/説明欄が設けられる。また、ブロックおよび結果値の否定(「^」)やブロックの繰返し等の編集設定欄も設けられる。この編集設定欄において、行動モジュール,結果値,ブロックおよび結果値の否定,ブロックの繰返し等を適宜指定することによって、編集画面122で選択されている行動モジュール枠にその指定した内容を入力することができる。また、既に行動モジュールおよび結果値等が入力されている行動モジュール枠ないしブロックが選択された場合には、それらのIDや内容等が設定欄に表示される。また、操作画面124では、図示は省略されるが、否定(「!」)のエピソード・ルールの指定,および優先順位の設定等も行うことができる。
【0083】
このような操作画面124を操作して、編集したエピソード・ルール文は編集欄120bに表示される。新規登録ボタン136を選択することによって、作成したエピソード・ルールを新規に登録することができる。また、修正登録ボタン138によれば、編集したエピソード・ルールを既存のエピソード・ルールと置き換えて登録することができる。また、登録削除ボタン140によれば、登録欄120aに表示されている選択したエピソード・ルールの登録を削除することができる。この実施例では、エピソード・ルールの新規登録,修正登録または登録削除等の編集に関するデータは編集情報(入力情報)として作成されてロボット10へ送信される。そして、ロボット10では入力情報に従ってエピソード・ルールが処理され、格納される。また、終了ボタン142によってこの入力画面を閉じることができる。
【0084】
具体的には、開発支援装置12のCPU14は、図8および図9に示すフロー図に従って開発支援処理を実行する。
【0085】
処理が開始されると、CPU14は、まず、ステップS1で、HDD20から起動指示データを読み出して通信回路26に与える。これによって、ロボット10に起動指示データが送信される。開発中のロボット10はこの指示データに応じて起動され活動を開始する。ロボット10はたとえば図10および図11に示すフロー図に従って動作する。このロボット10の動作については後述する。
【0086】
次に、ステップS3では、CPU14はHDD20からメイン画面データおよび行動モジュールのデータ等を読み出して表示装置22にたとえば図12に示すようなメイン画面を表示する。図12の視覚化画面100では、初期状態として、全行動モジュールがそれらの関係の強さに関係なく縦横に整列させて配置される。
【0087】
続くステップS5,S7およびS9で、検索モードの種類が判断される。初期状態では現在検索モードが選択されている。検索モードは、図13に示すように、それぞれの検索ボタン104,106および108で選択可能である。なお、ステップS5〜S9で“NO”のとき、つまり、他のボタンが選択されたとき等には、図9のステップS29へ進む。
【0088】
現在検索ボタン104が選択されている場合には、ステップS5で“YES”と判断して、ステップS11でロボット10から現状情報データが送信されてきたかどうかを判断する。現在検索処理は、ロボット10において実行される次行動モジュールの選択処理(図10のステップS75およびS77)と同様な処理であるため、この実施例では、ロボット10側の処理で得られるモジュールの実行履歴,該当エピソード・ルールおよび次実行可能モジュールの候補を現状情報としてロボット10から送信させ、開発支援装置12では現在検索処理を省略している。ステップS11で“NO”であれば、ステップS5に戻る。ステップS11で“YES”であれば、続くステップS13で、受信した現状情報をHDD20に格納する。ステップS13の処理を終了すると、ステップS19へ進む。
【0089】
一方、過去検索ボタン106が選択された場合には、ステップS7で“YES”と判断し、続くステップS15で過去検索処理を実行する。具体的には、過去検索では、たとえば、戻りボタン110または進みボタン112、あるいは検索ナンバ入力欄114に入力された数によって過去の時点が指定されるので、この指定された過去における現状情報を、HDD20に格納されている現状情報から取得する。なお、過去検索は、ロボット10が行ってきた行動を振り返って調査・確認するためのものであるので、指定される時点の現状情報が無い場合等にはたとえばエラー表示等を行うようにする。ステップS15の処理を終了すると、ステップS19へ進む。
【0090】
他方、文字検索ボタン108が選択された場合には、ステップS9で“YES”と判断し、続くステップS17で文字検索処理を実行する。具体的には、文字検索では、状況入力欄116に調査したい状況が指定されるので、この指定された状況を検索条件とした検索処理が実行される。すなわち、指定状況とエピソード・ルールとを比較して、該当するエピソード・ルールを選出するとともに、選出されたエピソード・ルールに規定される次の行動モジュールを、入力された状況の次に実行可能な行動モジュール候補として選出する。ステップS17の処理を終了すると、ステップS19へ進む。
【0091】
そして、ステップS13,S15またはS17の処理を終了すると、続くステップS19で、各行動モジュールのアイコンの表示形態の設定を処理する。
【0092】
ここで、現在検索モードの場合には、ステップS13で格納した現状情報を参照してこれに基づいて表示形態の設定を行い、過去検索モードの場合には、ステップS15で取得した指定時点の現状情報を参照してこれに基づいて設定を行う。また、文字検索モードの場合には、表示形態の設定前に、指定状況のうちの最後の行動モジュールを「現在の行動モジュール」として設定し、指定状況のうち最後の行動モジュール以外の行動モジュールを「過去の行動モジュール」として設定しておく。そして、表示形態設定では、現在の行動モジュールに現在アイコンを設定し、過去の行動モジュールに過去アイコンを設定し、次実行可能モジュールの候補に次アイコンを設定する。また、残りの行動モジュールに無関係アイコンを設定する。さらに、実行順序に従って過去アイコン間および過去アイコンと現在アイコンとの間に連結線を設定する。
【0093】
続いて、ステップS21で、行動モジュールの配置算出処理が必要であるかどうかを判断する。配置算出が必要となるのは、最初の表示の場合およびエピソード・ルールの更新(新規登録,修正登録または削除)があった後の最初の表示の場合である。つまり、エピソード・ルールの更新があったときは各行動モジュールの関係性が変わってしまうので配置が変わるおそれがある。したがって、これらの場合にはステップS21で“YES”と判断し、ステップS23で配置算出を処理してからステップS25へ進む。
【0094】
ステップS23では、実装されている全行動モジュールの間の関係の強さに基づいて、各行動モジュールの配置が算出し、配置データをHDD20に格納する。上述のように、各行動モジュールの位置は、すべての行動モジュールにおいて数1で示されたFijが釣り合うように収束計算することによって算出される。
【0095】
一方、ステップS21で“NO”であれば、つまり、配置算出が必要ない場合には、既に算出された配置データ利用すればよいのでそのままステップS25へ進む。
【0096】
続いて、ステップS25で、検索の結果得られた該当エピソード・ルールのデータの文および該当数等を検索画面102に表示する。また、ステップS27で、ステップS23で算出した配置およびステップS19で設定した表示形態に従って、各行動モジュールのアイコンを視覚化画面100に表示する。これらの処理によって、それぞれの検索モードでの検索結果がメイン画面の検索画面102および視覚化画面100に表示される。
【0097】
たとえば、現在検索においては、図13に示すようなロボット10の現在の状態が示される。そして、ロボット10において、現在実行中の行動モジュールの実行が終了して、次実行可能モジュールの候補から次に実行する行動モジュールが選択され、その実行が開始されると、ロボット10から新たな現状情報が送信されてくる。開発支援装置12では、ステップS11からの視覚化処理が繰返され、たとえば図14に示すような次の現状情報に基づく視覚化がなされることとなる。このように、現在検索では、ロボット10のコミュニケーション行動、つまり、現在までの行動履歴,現在の行動および次に実行する行動モジュールの候補や現在の状態に該当するエピソード・ルール等をリアルタイムで逐一把握することができる。したがって、現在検索では、実際のロボット10の行動を直接および画面を通して観察することができ、ロボット10の行動の一貫性や調和性などを総合的に判断することができる。
【0098】
また、過去検索では、現在までに実行されたロボット10の行動の詳細を事後的に確認することができる。つまり、過去の行動モジュールないし時点ごとに、その時点までの履歴,その時点の実行中の行動モジュールおよびその次に実行可能な行動モジュール候補やその時点の状態に該当するエピソード・ルールを振り返って視覚的に把握することができる。
【0099】
また、文字検索では、入力指定された状況ごとにその検索条件に適合する検索結果が視覚化される(図15)。したがって、開発中のロボット10のエピソード・ルールの実装状態、すなわち、開発中のロボット10が指定される特定の状況に対してどのような状態であるかを確認することができる。
【0100】
このようにして、開発者は、たとえば開発中のロボット10に実装しているエピソード・ルールの編集の必要性を判断することができる。たとえば、視覚化画面100では各行動モジュールの配置が関係の強さに基づいて算出されるので、過去の行動モジュール,現在の行動モジュールおよび次の行動モジュール間の距離や方向等を基に、その状況におけるロボット10の行動の適合性を判断してもよい。
【0101】
ステップS27の処理を終了し、または、ステップS5,S7およびS9で“NO”の場合には、図9のステップS29へ進む。
【0102】
ステップS29では、エピソード・ルールの入力(編集)が選択されたかどうかを判断する。つまり、たとえば、検索画面102のエピソード・ルール文が選択されたとき、またはエピソード・ルール作成ボタン118が選択されたとき等は、ステップS29で“YES”と判断し、次のステップS31で、入力画面(図16)のデータをHDD20から読み出して表示装置22に表示する。これにより、入力画面はメイン画面上に別ウィンドウで表示され、開発者は視覚化画面100を参照しながらエピソード・ルールの編集作業を行うことができる。
【0103】
この入力画面では、上述のように、開発者は、エピソード・ルールの編集作業をすることができる。つまり、たとえば行動モジュールの枠を適宜挿入したり、ブロック化したり、行動モジュール,結果値,否定,繰り返し等を設定したりして、エピソード・ルールの新規作成,修正または削除等の編集をすることができる。このようなエピソード・ルール入力があったときは、続くステップS33以降の処理を実行する。ステップS33では開発者の入力画面に設けられた各種操作ボタン126〜134および設定等に対する操作に応じてそれぞれのエピソード・ルールの編集処理を実行する。
【0104】
続いて、編集の登録があった場合には、つまり、新規登録ボタン136,修正登録ボタン138および登録削除ボタン140が選択された場合には、ステップS35で“YES”と判断して、ステップS37へ進む。一方、登録が無い場合には、ステップS35で“NO”と判断して、図8のステップS5へ戻って処理を繰返す。
【0105】
ステップS37では、編集されたエピソード・ルールの情報に従って、記憶されているエピソード・ルールのデータを更新する。新規登録の場合には作成されたエピソード・ルールのデータを新たに追加する。修正登録の場合には元のエピソード・ルールを修正されたエピソード・ルールのデータに置き換え、また、登録削除の場合にはそのエピソード・ルールのデータを削除する。そして、ステップS39で、編集情報データを通信回路26に与えてロボット10に送信する。編集情報は、たとえば、新規,修正または削除に関する情報およびエピソード・ルールの識別子を備えていて、さらに、新規および修正の場合には作成されたエピソード・ルールを備えている。ロボット10ではこの編集情報を受信して、これに応じてその記憶装置に格納されているエピソード・ルールのデータを更新する。したがって、これ以降は、ロボット10では、編集されたエピソード・ルールに基づいて処理が行われることとなる。
【0106】
また、ステップS29で“NO”であれば、ステップS41で終了であるかどうかを判断する。つまり、メイン画面の図示しない終了メニューが選択された場合には“YES”と判断し、続くステップS43で終了処理を実行して、この開発支援処理を終了する。なお、この終了処理でロボット10に終了指示データを送信して、ロボット10の動作を終了させるようにしてもよい。
【0107】
この開発支援装置12によれば、多数のモジュール間の関係を視覚的に把握することができる。したがって、たとえば状況に矛盾がなく調和したコミュニケーション行動を実現するように、既存のエピソード・ルールを修正または削除したり、新たなエピソード・ルールを作成したりすることができる。
【0108】
なお、上述の実施例では、現在検索処理がロボット10において実行される次行動モジュールの選択処理(図10のステップS75およびS77)と同様な処理であるため、この処理で得られるデータを利用すべく、必要データを現状情報としてロボット10から送信させるようにしているが、現在検索処理をこの開発支援装置12側で行うようにしてもよいのはもちろんである。
【0109】
また、上述の実施例で示された各画面は一例であって適宜変更可能であるのは言うまでもない。
【0110】
このようにして開発されるロボット10は、複数の行動モジュールおよび複数のエピソード・ルールを有していて、実際に取って来た行動すなわち行動モジュールの実行履歴と、実装されているエピソード・ルールとを比較することによって、次に実行する行動モジュールを選択するようにしている。また、開発中のロボット10は、開発支援装置12から送信されるエピソード・ルールの編集情報を受信して、この編集情報に従って、実装しているエピソード・ルールのデータを更新することができる。また、開発支援装置12における現在検索および過去検索のための現状情報、すなわち、行動モジュールの実行履歴,現在状態に該当するエピソード・ルールおよび次に実行可能な行動モジュールの候補に関するデータを開発支援装置12へ送信することができる。
【0111】
具体的には、ロボット10はたとえば図10および図11に示すフロー図に従って処理を実行する。ロボット10が起動されると、まず、ステップS61で、メモリ70から最初に行う所定の行動モジュールを読み出して選択する。この最初の行動モジュールは、たとえば上述した「EXPLORE」のように周囲環境を調査するもの等が設定され得る。
【0112】
次に、ステップS63では、選択された行動モジュールの実行を開始する。つまり、メモリ70から選択された行動モジュールのデータを読み出して、まず、その指示部(図3)に規定される行動を行う。たとえば、発声を伴う行動モジュールであれば、音声データを音声入出力ボード76に与える。また、身振りを伴う行動モジュールであれば、その行動を行うためのモータ制御データをモータ制御ボード72に与える。これによって、スピーカ60からその音声が出力され、また、各モータが駆動されてその行動(ジェスチャ)が行われる。そして、次に、行動モジュールの認識部を実行して、ロボット10の行動に対する人間の反応を認識し、または、人間と交流するものでない自己完結的な行動の場合はその所定の行動の達成を認識するようにしている。つまり、各センサまたはマイク44あるいは図示しないタイマ等から得られる情報を解析して、認識部に規定された予想結果値に一致する結果を認識したかどうかを判断する。また、反応的モジュール(図4(C))の稼動に合う中断ないし逸脱を認識した場合には、反応的モジュールの実行をする。
【0113】
なお、ロボット10は認識部に規定された予想結果を認識したときにその実行中の行動モジュールから次の行動モジュールに移行することとなるが、これらの処理はステップS81以降で処理している。この実施例のロボット10では、ステップS63で行動モジュールの実行を開始するとともに、ステップS65からステップS81の処理を並行して処理している
つまり、ステップS65では、終了であるかどうかを判断する。たとえば、開発中であれば開発支援装置12から終了指示があったか、あるいは、ロボット10を停止させるための終了ボタンが押されたかどうか等を判断する。ステップS65で“YES”であれば、続くステップS67で終了処理を実行して、ロボット10の動作処理を終了する。この終了処理ではロボット12の体の各部位をそれぞれのホームポジションに戻すようにしてもよい。
【0114】
ステップS65で“NO”であれば、ステップS69で、開発支援装置12からの編集情報が無線LAN等を通して送信されてきたかどうかを判断する。上述したように、開発支援装置12ではエピソード・ルールの編集を入力画面で行うことができ、この編集されたエピソード・ルールのデータが送信される。ステップS69で“YES”であれば、続くステップS71でこの編集情報を受信してメモリ70に書き込み、ステップS73では、この編集情報に従って、メモリ70に格納されているエピソード・ルールのデータを更新する。つまり、新規登録データの場合にはそのエピソード・ルールをメモリ70に格納されているエピソード・ルールのデータに新たに追加する。修正登録データの場合にはメモリ70に格納されているエピソード・ルールのうちの該当するエピソード・ルールを受信した修正エピソード・ルールのデータに置き換える。また、登録削除データの場合にはメモリ70に格納されているエピソード・ルールのデータから削除対象のエピソード・ルールを削除する。このステップS69からS73の処理によって、ロボット10では、編集されたエピソード・ルールのデータが実装(格納)されることとなり、これ以降は編集後のエピソード・ルールに基づいて処理が実行される。
【0115】
ステップS69で“NO”であれば、ステップS75およびS77で、次に実行可能な行動モジュール候補の選出処理を実行する。具体的には、ステップS75で、これまでの行動モジュールの実行履歴をエピソードとしてメモリ70に記憶する。エピソードすなわち行動モジュールの実行履歴のデータは、過去に実行してきた行動モジュールおよびそれらの結果値のデータならびに現在実行中の行動モジュールのデータを含む。そして、続くステップS77では、記憶したエピソードと、メモリ70に実装されている全エピソード・ルールとを比較して、このエピソードに該当するエピソード・ルールを選出するとともに、選出された該当エピソード・ルールに規定されている行動モジュールを次に実行可能な行動モジュールの候補として選出する。このようにして、現在の行動モジュールの実行中に、次に実行可能な行動モジュールの候補が選出される。
【0116】
続くステップS79で、開発中の視覚化のための現状情報データを通信LANボード96に与えて無線装置98を通して開発支援装置12へ送信する。この処理は、上述のように、ロボット10の次行動の選出のための処理で得られるデータを開発支援装置12の視覚化に利用するためのものである。この実施例では、現状情報は、行動モジュールの実行履歴,選出された該当エピソード・ルールおよび次実行可能行動モジュールの候補のデータを含む。開発支援装置12では、この現状情報を受信して、上述したような各検索モードでの視覚化が行われることとなる。
【0117】
そして、ステップS81では、行動モジュールの実行を終了するかどうかを判断する。つまり、行動モジュールの認識部に規定された予想結果値に一致する結果を、各種センサおよびスピーカ60等で認識したかどうかを判断する。ステップS81で“YES”であれば、図11のステップS83へ進んで、次に実行する行動モジュールを選択する処理を実行する。
【0118】
ステップS83では、認識した結果値をメモリ70に記憶する。この結果値は、行動モジュールの実行履歴データに使用される。
【0119】
続くステップS85では、ステップS77で選出されたエピソード・ルールおよび次実行可能行動モジュール候補の中から、認識された結果値を満足するエピソード・ルールを選出するとともに、前提条件が満足されている行動モジュールを選出する。エピソード・ルールは、現在実行中の行動モジュールが所定の結果値(図5のエピソード・ルール2では「成功」のみ)で終了したときに実行する行動モジュールが基本的に規定されているので、認識した結果値に基づいて、選出されているエピソード・ルールの適正を判断する必要がある。また、前提条件には、上述したようなインタネット接続可能であるかどうか等があるので、このような設備面での条件が整っているかも判断される。また、たとえば図5の行動モジュール「TURN」では、人が肩に触れることが前提条件であるので、認識した結果値からも前提条件が判断される。
【0120】
そして、ステップS87では、結果値および前提条件を満足するエピソード・ルールおよび行動モジュールの候補が無いかどうかが判断される。ステップS87で“YES”であれば、続くステップS89で、所定の行動モジュールをメモリ70から読み出して選出する。つまり、ロボット10は、行動モジュールの実行履歴との比較から選出される次実行可能な行動モジュールの候補中に、結果値または前提条件を満足する行動モジュールが全く無い場合に実行するための行動モジュールを有している。このような行動モジュールには、たとえば「停止状態」を実現するような特定の行動モジュールが設定される。ステップS89の処理を終了すると、ステップS95へ進む。
【0121】
また、ステップS87で“NO”であれば、つまり、満足する行動モジュールがある場合には、続くステップS91で、複数のエピソード・ルールが競合するかどうかを判断する。つまり、適用されるエピソード・ルールが複数存在するかを判断する。ステップS91で“YES”であれば、ステップS93で、エピソード・ルールの優先順位に基づいて、適用するエピソード・ルールを選出し、この優先順位の高いエピソード・ルールに基づいて、次に実行する行動モジュールを選出する。なお、競合するエピソード・ルールの優先順位が同じ場合には、適用するエピソード・ルールをたとえばランダムに選出するようにする。また、優先順位の高いエピソード・ルールが否定のエピソード・ルールであり、かつ、競合するエピソード・ルールの次行動モジュールの実行を否定するものである場合には、ステップS87と同様に、選出する行動モジュールが無い場合に相当するので、ステップS89と同様にして、このような場合に実行するための所定の行動モジュールを選出するようにする。
【0122】
そして、ステップS91で“NO”であれば、つまり、エピソード・ルールが競合しない場合であれば、あるいは、ステップS89またはS93の処理を終了すると、続くステップS95で、選出した行動モジュールを次に実行する行動モジュールとして選択(決定)する。ステップS95の処理を終了すると、図10のステップS63に戻り、処理が繰返される。したがって、ロボット10では、ステップS95で選択された次の行動モジュールの実行が開始される。このようにして、ロボット10は、実行履歴と矛盾しない行動モジュールを順次実行して、人間とコミュニケーションを取ることができる。
【0123】
この実施例のロボット10によれば、実際の行動モジュールの実行履歴すなわちロボット10と人間とのコミュニケーションの履歴に基づいて、次に実行する行動モジュールが選択されて実行される。したがって、決まりきった単調な行動になるようなことはなく、ロボット10の現状と調和した矛盾の無いコミュニケーション行動を取ることができる。
【0124】
また、新たな行動モジュールおよびエピソード・ルールを、たとえば開発支援装置12を用いて、逐次的に追加していくことによって、大規模な行動パターンを備えたコミュニケーションロボット10を実現することができる。
【0125】
なお、図10では、開発中の処理を含んだフロー図を示しているが、この開発支援装置12を用いて開発した後の完成されたロボット10では、たとえば開発時にのみ必要な処理(ステップS69からS73およびステップS79等)を処理しないまたは備えないようにしてもよい。
【図面の簡単な説明】
【図1】この発明の一実施例の開発支援装置およびコミュニケーションロボットを示す図解図である。
【図2】図1実施例の開発支援装置の内部構成を示すブロック図である。
【図3】図1実施例のロボットの備える行動モジュールの構成を示す図解図である。
【図4】図1実施例の行動モジュールの遷移パターンを示す図解図である。
【図5】図1実施例のロボットの行動モジュールの遷移および適用されるエピソード・ルールの一例を示す図解図である。
【図6】図1実施例のロボットの外観を示す図解図(正面図)である。
【図7】図1実施例のロボットの内部構成を示すブロック図である。
【図8】図1実施例の開発支援装置の動作の一部を示すフロー図である。
【図9】図1実施例の開発支援装置の動作の他の一部を示すフロー図である。
【図10】図1実施例のロボットの動作の一部を示すフロー図である。
【図11】図1実施例のロボットの動作の他の一部を示すフロー図である。
【図12】図1実施例の開発支援装置の表示装置に表示されるメイン画面の初期画面の一例を示す図解図である。
【図13】図12実施例のメイン画面の現在検索モードにおける画面の一例を示す図解図である。
【図14】図13実施例のメイン画面から次の行動モジュールに移行した後の画面の一例を示す図解図である。
【図15】図12実施例のメイン画面の文字検索モードにおける画面の一例を示す図解図である。
【図16】図1実施例の開発支援装置の表示装置に表示される入力画面の一例を示す図解図である。
【図17】図16実施例の入力画面の他の一例を示す図解図である。
【符号の説明】
10 …コミュニケーションロボット
12 …コミュニケーションロボット開発支援装置
14 …CPU
18 …メモリ
20 …HDD
22 …表示装置
24 …入力装置
26 …通信回路
66 …CPU
70 …メモリ
72 …モータ制御ボード
74 …センサ入出力ボード
76 …音声入出力ボード
Claims (1)
- 音声および身振りの少なくとも一方を含むコミュニケーション行動を、当該行動の履歴によって表される状況に応じて遷移させて、人間と相互作用するコミュニケーションロボットであって、
音声を出力し身振りを示すための提示手段、
人間の行動を認識するための情報を取得する取得手段、
特定状況における行動をモジュール化した複数の行動モジュールであって、当該行動モジュールを実行するための前提条件を含み、前記前提条件が満足される場合に当該行動モジュールを実行することによって、前記提示手段を用いて前記音声の出力および前記身振りの少なくとも一方による提示を行うとともに、前記取得手段によって取得した情報に基づいて当該提示に対して予め規定しておいた予想される人間の反応に一致する結果が得られるかどうかの認識を行う複数の行動モジュールを格納する行動モジュール記憶手段、
前記行動モジュールの基本的な実行順序を規定しかつ前記行動モジュールの実行履歴と比較される複数の規則であって、少なくとも複数の前記行動モジュールの順序に対応付けて次に実行される行動モジュールを規定した規則、および複数の前記行動モジュールの順序に対応付けて次の実行が否定される行動モジュールを規定した規則を含み、かつ優先順位の設定された複数の規則を格納する規則記憶手段、
実行された前記行動モジュールとその認識結果に関する情報を含む前記行動モジュールの実行履歴を記録する履歴記録手段、
前記行動モジュールの実行履歴と前記規則記憶手段に記憶されている前記複数の規則との比較および次に実行される行動モジュールの前提条件の確認を行うことによって、適用可能な前記規則および次に実行可能な前記行動モジュールの候補を選出する候補選出手段、
前記候補選出手段によって複数の規則が選出された場合において、適用可能な複数の規則が競合するときにそれぞれの前記優先順位に基づいて適用する前記規則を選択する優先選択手段、
前記優先選択手段によって前記規則が選択されたときには、当該選択された規則に基づいて次に実行する前記行動モジュールを選択し、前記優先選択手段による選択が行われないときには、前記候補選出手段によって選出された前記候補を次に実行する前記行動モジュールとして選択する次行動選択手段、および
前記次行動選択手段によって選択された前記行動モジュールを実行する行動モジュール実行手段を備える、コミュニケーションロボット。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002281625A JP4059742B2 (ja) | 2002-09-26 | 2002-09-26 | コミュニケーションロボット |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002281625A JP4059742B2 (ja) | 2002-09-26 | 2002-09-26 | コミュニケーションロボット |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005286752A Division JP2006088328A (ja) | 2005-09-30 | 2005-09-30 | コミュニケーションロボットおよびその開発支援装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004114242A JP2004114242A (ja) | 2004-04-15 |
JP4059742B2 true JP4059742B2 (ja) | 2008-03-12 |
Family
ID=32276023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002281625A Expired - Lifetime JP4059742B2 (ja) | 2002-09-26 | 2002-09-26 | コミュニケーションロボット |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4059742B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10732623B2 (en) | 2017-06-21 | 2020-08-04 | Fuji Xerox Co., Ltd. | Remotely operated mobile robot and robot control system |
KR20210065738A (ko) * | 2019-11-27 | 2021-06-04 | 한국생산기술연구원 | 강화학습을 이용한 7축 로봇 제어 방법 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007160427A (ja) * | 2005-12-12 | 2007-06-28 | Advanced Telecommunication Research Institute International | ロボット制御システム |
US8265789B2 (en) | 2007-12-03 | 2012-09-11 | Electronics And Telecommunications Research Institute | Network-based robot system and method for action execution of robot |
KR100989078B1 (ko) * | 2007-12-03 | 2010-10-25 | 한국전자통신연구원 | 로봇의 행동 실행 장치 및 방법 |
KR101049743B1 (ko) | 2008-12-18 | 2011-07-19 | 한양대학교 산학협력단 | 로봇의 행동 선택 방법 |
JP5429461B2 (ja) * | 2009-06-17 | 2014-02-26 | 株式会社国際電気通信基礎技術研究所 | コミュニケーションロボット開発支援装置 |
JP2015136762A (ja) * | 2014-01-23 | 2015-07-30 | セイコーエプソン株式会社 | 処理装置、ロボット、ロボットシステム及び処理方法 |
CN110462530A (zh) * | 2017-03-31 | 2019-11-15 | 索尼公司 | 信息处理设备、信息处理方法、计算机程序和程序制造方法 |
CN113021295A (zh) * | 2021-03-11 | 2021-06-25 | 湛江南海西部石油勘察设计有限公司 | 一种海上油气田智能防爆巡检机器人 |
-
2002
- 2002-09-26 JP JP2002281625A patent/JP4059742B2/ja not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10732623B2 (en) | 2017-06-21 | 2020-08-04 | Fuji Xerox Co., Ltd. | Remotely operated mobile robot and robot control system |
KR20210065738A (ko) * | 2019-11-27 | 2021-06-04 | 한국생산기술연구원 | 강화학습을 이용한 7축 로봇 제어 방법 |
KR102281119B1 (ko) | 2019-11-27 | 2021-07-26 | 한국생산기술연구원 | 강화학습을 이용한 7축 로봇 제어 방법 |
Also Published As
Publication number | Publication date |
---|---|
JP2004114242A (ja) | 2004-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4271193B2 (ja) | コミュニケーションロボット用制御システム | |
KR101106002B1 (ko) | 객체에서의 행동을 생성하는 장치 및 방법 | |
Breazeal et al. | Teaching and working with robots as a collaboration | |
Cassell et al. | Fully embodied conversational avatars: Making communicative behaviors autonomous | |
EP2224303B1 (en) | Robot with automatic selection of task-specific representations for imitation learning | |
US5977968A (en) | Graphical user interface to communicate attitude or emotion to a computer program | |
JP4059742B2 (ja) | コミュニケーションロボット | |
JP4639343B2 (ja) | ロボット遠隔操作システム | |
JP5070441B2 (ja) | ロボット遠隔操作システム | |
Rea et al. | Still not solved: A call for renewed focus on user-centered teleoperation interfaces | |
KR20110102585A (ko) | 원격현전 로봇, 이를 포함하는 원격현전 시스템 및 이의 제어 방법 | |
Mahadevan et al. | Generative expressive robot behaviors using large language models | |
JP2021534988A (ja) | スキルのロボット学習及び実行のためのシステム、装置、及び方法 | |
WO2022134702A1 (zh) | 动作学习方法、装置、存储介质及电子设备 | |
WO2019165588A1 (zh) | 无人机的教学方法和无人机的遥控器 | |
CN113199472A (zh) | 机器人控制方法、装置、存储介质、电子设备和机器人 | |
JP2007160427A (ja) | ロボット制御システム | |
KR20010113718A (ko) | 진단 시스템, 진단 장치, 및 진단 방법 | |
Alves-Oliveira et al. | Flex-SDK: An open-source software development kit for creating Social Robots | |
JP2006088328A (ja) | コミュニケーションロボットおよびその開発支援装置 | |
Bonaiuto et al. | Tele-operation of robot teams: a comparison of gamepad-, mobile device and hand tracking-based user interfaces | |
JP5429461B2 (ja) | コミュニケーションロボット開発支援装置 | |
JP5419007B2 (ja) | コミュニケーションロボット開発支援装置 | |
JP7446178B2 (ja) | 行動制御装置、行動制御方法、およびプログラム | |
Lee et al. | Semi-autonomous robot avatar as a medium for family communication and education |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040604 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050726 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050802 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050930 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060307 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060508 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061107 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070619 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070808 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070905 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070928 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071218 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071218 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101228 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4059742 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101228 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111228 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121228 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121228 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131228 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |