トップ :: B 処理操作 運輸 :: B25 手工具;可搬型動力工具;手工具用の柄;作業場設備;マニプレ−タ

【発明の名称】 アンドロイド制御システム
【発明者】 【氏名】石黒 浩

【氏名】西尾 修一

【氏名】宮下 敬宏

【氏名】神田 崇行

【氏名】光永 法明

【氏名】石井 カルロス 寿憲

【氏名】萩田 紀博

【要約】 【課題】自然な動作を実行する擬似人間ロボットを提供すること。

【構成】アンドロイド制御システム10はアンドロイド12を含み、アンドロイド12は人間の代役として或る場所に配置される。通常、アンドロイド12は、制御装置14の制御に従って、人間との間で対話するなどのコミュニケーションを図る。ただし、アンドロイド12自身が対応できない場合には、その旨を遠隔オペレータに通知する。かかる場合には、遠隔オペレータの指示に従って、アンドロイド12は動作される。また、アンドロイド12は、たとえば、その近傍や周囲に人間が存在しない場合や遠隔オペレータからの指示がない場合には、制御装置14の制御に従って無意識動作を実行する。つまり、瞬きや呼吸のような生理的な動作をしたり、髪を触るなどの癖による動作をしたりする。
【特許請求の範囲】
【請求項1】
姿形が人間に酷似したロボットであるアンドロイドを制御するアンドロイド制御システムであって、
複数のセンサ、
前記複数のセンサの出力に基づいて認識される前記アンドロイドへの刺激に対する対応動作を前記アンドロイドに実行させる対応動作実行手段、
前記アンドロイドに実行させる無意識動作を選択する無意識動作選択手段、
前記無意識動作選択手段によって選択された無意識動作を前記アンドロイドが実行可能か否かを判断する無意識動作実行可能判断手段、および
前記無意識動作実行可能判断手段の判断結果が実行可能を示すとき、前記無意識動作選択手段によって選択された無意識動作を前記アンドロイドに実行させる無意識動作実行手段を備える、アンドロイド制御システム。
【請求項2】
操作命令を受信する受信手段、および
前記受信手段によって受信された操作命令に従う命令動作を前記アンドロイドに実行させる命令動作実行手段をさらに備える、請求項1記載のアンドロイド制御システム。
【請求項3】
前記刺激に対する対応動作を前記アンドロイドが実行可能か否かを判断する対応動作実行可能判断手段、および前記対応動作実行可能判断手段の判断結果が否定的であるとき、オペレータを呼び出す呼出手段をさらに備え、
前記対応動作実行手段は、前記対応動作実行可能判断手段の判断結果が肯定的であるとき、前記刺激に対する対応動作を前記アンドロイドに実行させる、請求項1または2記載のアンドロイド制御システム。
【発明の詳細な説明】【技術分野】
【0001】
この発明はアンドロイド制御システムに関し、特にたとえば、姿形が人間に酷似したロボットであるアンドロイドを制御する、アンドロイド制御システムに関する。
【背景技術】
【0002】
この発明の背景技術の一例が特許文献1に開示される。この特許文献1によれば、電子玩具は、たとえば人型の電子ロボットであり、人(ユーザ)の存在の有無に応じて動作する。たとえば、ユーザが存在しない場合には、電子ロボットは予め定められた一人遊び動作を実行する。一方、ユーザが存在する場合には、現在時間に応じて、予め定められた動作(起きる動作,見送り動作など)を実行する。また、電子ロボットの頭部の顔面相当部には表示部が設けられ、電子ロボットの顔の表情を表示したり、電子ロボットの発話内容を文字や記号で表示したりする。
【特許文献1】特開2002−307354
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかし、特許文献1の技術は、ユーザが近くに存在するときに電子ロボットを自動的に起動するものであり、また、顔面相当部に設けられた表示部に表情が表示されるが、外観のみならず、動作(行動)も人間とは異なる。つまり、自然な動作(無意識動作)を実行することができない。
【0004】
それゆえに、この発明の主たる目的は、新規な、アンドロイド制御システムを提供することである。
【0005】
この発明の他の目的は、アンドロイド特有の制御を実現する、アンドロイド制御システムを提供することである。
【課題を解決するための手段】
【0006】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【0007】
請求項1の発明は、姿形が人間に酷似したロボットであるアンドロイドを制御するアンドロイド制御システムであって、複数のセンサ、複数のセンサの出力に基づいて認識されるアンドロイドへの刺激に対する対応動作をアンドロイドに実行させる対応動作実行手段、アンドロイドに実行させる無意識動作を選択する無意識動作選択手段、無意識動作選択手段によって選択された無意識動作をアンドロイドが実行可能か否かを判断する無意識動作実行可能判断手段、および無意識動作実行可能判断手段の判断結果が実行可能を示すとき、無意識動作選択手段によって選択された無意識動作をアンドロイドに実行させる無意識動作実行手段を備える、アンドロイド制御システムである。
【0008】
請求項1の発明では、アンドロイド制御システム(10)は、姿形(外観など)が人間に酷似したロボットであるアンドロイド(12)を制御する。対応動作実行手段(70,S11)は、複数のセンサ(42,44,46,50,60,62,64)の出力に基づいて認識されるアンドロイドへの刺激に対する対応動作をアンドロイドに実行させる。たとえば、人間がアンドロイドに近づくと、アンドロイドがその人間の方を向くように、当該アンドロイドの首を回転させる。これは、動くもの(人,物など)に対する人間の反応と同様である。無意識動作選択手段(70,S13)は、アンドロイドに実行させる無意識動作を選択する。ここで、無意識動作は、瞬きや呼吸のような生理的な動作のみならず、髪を触る動作、爪を噛む動作のような癖による動作を意味する。無意識動作実行可能判断手段(70,S15)は、選択された無意識動作を実行することができるか否かを判断する。たとえば、対応動作(または無意識動作)により、右手を上に挙げている最中に、無意識動作(または命令動作)により、右手を下に下げることはできないからである。無意識動作実行手段(70,S17)は、無意識動作実行可能判断手段の判断結果が実行可能を示すとき、選択された無意識動作をアンドロイドに実行させる。
【0009】
請求項1の発明によれば、アンドロイドに無意識動作を実行させるので、アンドロイド特有の制御を実現することができる。したがって、より人間に酷似するアンドロイドを実現することができる。
【0010】
請求項2の発明は請求項1に従属し、操作命令を受信する受信手段、および受信手段によって受信された操作命令に従う命令動作をアンドロイドに実行させる命令動作実行手段をさらに備える。
【0011】
請求項2の発明では、受信手段(70,78,S1)は、操作命令を受信する。命令動作実行手段(70,S3)は、受信された操作命令に従う命令動作を実行する。
【0012】
請求項2の発明によれば、操作でアンドロイドに所望の動作を実行させることができる。
【0013】
請求項3の発明は請求項1または2に従属し、刺激に対する対応動作をアンドロイドが実行可能か否かを判断する対応動作実行可能判断手段、および対応動作実行可能判断手段の判断結果が否定的であるとき、オペレータを呼び出す呼出手段をさらに備え、対応動作実行手段は、対応動作実行可能判断手段の判断結果が肯定的であるとき、刺激に対する対応動作をアンドロイドに実行させる。
【0014】
請求項3の発明では、対応動作実効可能判断手段(70,S7)が、刺激に対する対応動作を実行可能か否かを判断する。つまり、アンドロイドが刺激に対して反応(対応)することができるか否かを判断する。対応動作を実行できないときには、対応動作実行可能判断手段の判断結果は否定的であり、呼出手段(70,S9)はオペレータを呼び出す。したがって、たとえばアンドロイドが対応できない場合には、オペレータに対応させることができる。このため、アンドロイドが提供するサービス(受付や案内など)の補完することができる。ただし、対応動作を実行できるときには、対応動作実行可能判断手段の判断結果は肯定的であり、かかる場合には、当該対応動作をアンドロイドに実行させる。
【0015】
請求項3の発明によれば、アンドロイドが対応できない刺激を受けると、オペレータを呼び出すので、これに応じてオペレータが対応することにより、アンドロイドが提供するサービスに支障を来たすのを防止することができる。
【0016】
請求項3の発明は請求項2に従属し、受信手段によって操作命令が受信されないとき、複数のセンサの出力を検出する検出手段をさらに備える。
【0017】
なお、実施例のように、検出手段(70,90,S5)を設け、検出手段は、受信手段によって操作命令が受信されないとき、複数のセンサの出力を検出するようにすれば、操作命令が無いとき、その複数のセンサの出力に反応してアンドロイドを動作させることができる。
【発明の効果】
【0018】
この発明によれば、アンドロイドに無意識動作を実行させるので、アンドロイド特有の制御を実現することができる。したがって、外観のみならず、人間の行動に酷似させることができる。
【0019】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【0020】
図1を参照して、この実施例のアンドロイド制御システム(以下、単に「システム」という。)10は、アンドロイド12を含む。アンドロイド12は、人間に酷似した姿形(外観など)を有する人型ロボットであり、後述するように、人間に酷似した動作(振り、振る舞い、発話)を行う。アンドロイド12は、制御装置14に接続され、この制御装置14には、環境センサ16が接続される。アンドロイド12、制御装置14および環境センサ16については、後で詳細に説明する。
【0021】
また、制御装置14は、インターネットや電話通信回線のようなネットワーク18を介して遠隔操作端末20に接続される。遠隔操作端末20は、PC或いはPDAのような汎用のコンピュータであり、この遠隔操作端末20には、スピーカ22、マイク24およびモニタ26が接続される。図示は省略するが、当然のことながら、遠隔操作端末20には、キーボードおよびコンピュータマウスのような入力装置が含まれる。
【0022】
図2は、アンドロイド12、制御装置14および環境センサ16の電気的な構成を示すブロック図である。この図2を参照して、アンドロイド12は複数のアクチュエータ(たとえば、エアアクチュエータ)40を含み、各アクチュエータ40は、後述する制御装置14(14b)の制御ボード(アクチュエータ制御ボード)98に接続される。後述するように、アクチュエータ40はアンドロイド12の各関節、口、眼および腹部を動かすために用いられる。ただし、簡単のため、この実施例では、コンプレッサは省略してある。
【0023】
また、アンドロイド12は、触覚センサ42、眼カメラ44、衝突センサ46、スピーカ48およびマイク50を含む。この触覚センサ42、眼カメラ44および衝突センサ46は、後述する制御装置14(14b)のセンサ入出力ボード100に接続される。
【0024】
触角センサ42ないし皮膚センサは、たとえばタッチセンサであり、アンドロイド12の触覚の一部を構成する。つまり、触覚センサ42は、人間や他の物体等がアンドロイド12に触れたか否かを検出するために用いられる。触覚センサ42からの出力(検出データ)は、後述するセンサ入出力ボード100を介してMPU90に与えられる。MPU90は、触覚センサ42からの検出データを第1コンピュータ14aのCPU70に送信する。したがって、CPU70は、人間や他の物体等がアンドロイド12に触れたことを検出することができる。ただし、触覚センサ42としては、圧力センサを用いることもできる。かかる場合には、人間や他の物体等がアンドロイド12の肌に触れたか否かのみならず、その触れ方(強弱)を知ることができる。
【0025】
眼カメラ44は、イメージセンサであり、アンドロイド12の視覚の一部を構成する。つまり、眼カメラ44は、アンドロイド12の眼から見た映像ないし画像を検出するために用いられる。この実施例では、眼カメラ44の撮影映像(動画ないし静止画)に対応するデータ(画像データ)は、センサ入出力ボード100を介してMPU90に与えられる。MPU90は、画像データを第1コンピュータ14aのCPU70に送信し、CPU70は、撮影映像の変化を検出するのみならず、その画像データを、ネットワーク18を介して遠隔操作端末20に送信する。そして、遠隔操作端末20は、受信した画像データをモニタ26に出力する。したがって、眼カメラ44の撮影映像がモニタ26に表示される。
【0026】
衝突センサ46は、人間や他の物体等がアンドロイド12に衝突したか否かを判断する。衝突センサ46の出力(検出データ)は、センサ入出力ボード100を介してMPU90に与えられる。MPU90は、衝突センサ46からの検出データを第1コンピュータ14aのCPU70に送信する。したがって、CPU70は、人間や他の物体等がアンドロイド12に衝突したことを検出することができる。
【0027】
また、スピーカ48およびマイク50は、後述する制御装置14(14a)の音声入出力ボード80に接続される。スピーカ48は、アンドロイド12が発する音声(合成音声)を出力する。ただし、遠隔操作端末20のオペレータ(以下、「遠隔オペレータ」という。)の音声を出力してもよい。かかる場合には、遠隔オペレータがマイク24を通して発話すると、対応する音声データが遠隔操作端末20からネットワーク18を介して制御装置14a(CPU70)に与えられる。そして、CPU70は、その音声データを、音声入出力ボード80を介してスピーカ48から出力する。
【0028】
マイク50は、音センサであり、アンドロイド12の聴覚の一部を構成する。このマイク50は、指向性を有し、主として、アンドロイド12と対話(コミュニケーション)する人間(ユーザ)の音声を検出するために用いられる。
【0029】
制御装置14は、第1コンピュータ14aおよび第2コンピュータ14bによって構成される。たとえば、第1コンピュータ14aがメインのコンピュータであり、第2コンピュータ14bがサブのコンピュータである。なお、この実施例では、制御装置14を2台のコンピュータ(14a,14b)で構成するようにしてあるが、処理能力が高ければ、1台のコンピュータで構成することもできる。
【0030】
第1コンピュータ14aは、CPU70を含み、CPU70には内部バス72を介してメモリ74、通信ボード76、LANボード78、音声入出力ボード80およびセンサ入出力ボード82が接続される。メモリ74は、たとえば、ハードディスク装置(HDD)のような主記憶装置、ROMおよびRAMを含む。詳細な説明は省略するが、このメモリ74には、アンドロイド12の動作についてのコマンド名に対応して、そのコマンド名が示す動作を実行するための制御情報が記憶される。
【0031】
ここで、動作とは、振り、振る舞いのような身体動作および発話動作をいう。したがって、この実施例では、制御情報は、アクチュエータ40を駆動制御するための制御データのみならず、必要に応じて、発話内容についての合成音声の音声データを含む。ただし、身体動作には、自然の動作(無意識動作)も含まれる。無意識動作の代表的な例としては、瞬きや呼吸が該当する。また、このような生理的な動作のみならず、人間の癖による動作も無意識動作に含まれる。たとえば、癖による動作としては、たとえば、髪の毛を触る動作、顔を触る動作や爪を噛む動作などが該当する。
【0032】
たとえば、“挨拶(初めて)”の動作を実行する場合には、アンドロイド12は、お辞儀しながら、“はじめまして”と発話する。図示は省略するが、発話する場合には、単に音声が出力されるだけでなく、音声の出力に合わせて口が動く(口唇が開閉する)。以下、同様である。したがって、“挨拶(初めて)”の制御情報としては、そのコマンド名に対応して、左右の肩、左右の肘、首,腰の回転角度や曲げ伸ばし角度に応じて、対応するアクチュエータ40の制御データが記憶されるとともに、“はじめまして”に対応する合成音声の音声データが記憶される。また、“右手を挙げる”の動作を実行する場合には、アンドロイド12は、右肘および右手首を伸ばした状態で、斜め上方に右手を挙げる。したがって、“右手を挙げる”の制御情報としては、そのコマンド名に対応して、右肩、右肘、右手首の回転角度や曲げ伸ばし角度に応じて、対応するアクチュエータ40の制御データが記憶される。この“右手を挙げる”の動作では、アンドロイド12は、何も発話しないため、音声データは制御情報に含まれない。
【0033】
このような動作は、アンドロイド12が外部(環境)からの刺激に対応して実行されたり、遠隔オペレータからの命令(遠隔操作命令)に従って実行されたりする。以下、説明の便宜上、アンドロイド12が外部からの刺激に対応して行う動作を対応動作といい、遠隔オペレータからの遠隔操作命令に従う動作を命令動作ということがある。
【0034】
また、上述した無意識動作の制御情報もメモリ74に記憶される。たとえば、“瞬き”の制御情報としては、そのコマンド名に対応して、瞼を開閉させるアクチュエータ40の制御データが記憶される。ただし、人間の瞬きの動作では、瞼は完全に閉じられた後に開くが、アンドロイド12がこの動作を再現すると、瞼の開閉動作が遅いため、違和感がある。したがって、この実施例では、より人間の瞬きの動作に近づけるために、アンドロイド12においては、瞼を半分程度閉じた後に開いて、瞼の開閉動作を速くするようにしてある。また、“呼吸”の制御情報としては、そのコマンド名に対応して、腹部を膨張および収縮させるアクチュエータ40の制御データが記憶される。したがって、“呼吸”の動作が実行されると、アンドロイド12の腹部が膨張および収縮されることにより、肺呼吸による肩や胸(横隔膜)の動きが表現される。
【0035】
なお、これらの動作(対応動作,命令動作,無意識動作)および制御情報は単なる例示であり、限定されるべきではない。他の複数の動作およびそれらの制御情報がメモリ74に記憶され、人間に酷似した動作を、アンドロイド12が実現可能とされる。
【0036】
図2に戻って、通信ボード76は、他のコンピュータ(この実施例では、第2コンピュータ14b)とデータ通信するためのインターフェイスである。たとえば、通信ボード76は、後述する第2コンピュータ14bの通信ボード96と、RS232Cのようなケーブル(図示せず)を用いて接続される。LANボード78は、ネットワーク18を介して他のコンピュータ(この実施例では、遠隔操作端末20)とデータ通信するためのインターフェイスである。この実施例では、LANボード78は、LANケーブル(図示せず)を用いて接続される。
【0037】
なお、この実施例では、各コンピュータがケーブルを用いた有線のネットワークを構成するように説明してあるが、これに限定される必要はなく、無線のネットワークを構成するようにしてもよく、有線と無線とが混在するネットワークを構成するようにしてもよい。
【0038】
音声入出力ボード80は、音声を入力および出力するためのインターフェイスであり、上述したように、アンドロイド12のスピーカ48およびマイク50が接続される。この音声入出力ボード80は、CPU70によって与えられた音声データを音声信号に変換して、スピーカ48に出力する。また、音声入出力ボード80は、マイク50を通して入力された音声信号を音声データに変換して、CPU70に与える。
【0039】
なお、詳細な説明は省略するが、制御装置14aは、音声認識機能を備える。したがって、たとえば、人間がアンドロイド12に対して発話した内容はマイク50を通して入力されると、CPU70は、DPマッチングや隠れマルコフ法により、人間の発話内容を音声認識するのである。ただし、音声認識用の辞書データはメモリ74に記憶されているものとする。
【0040】
センサ入出力ボード82は、各種センサからの出力をCPU70に与え、制御データを各種センサに出力するためのインターフェイスである。この実施例では、センサ入出力ボード82には、環境センサ16が接続され、環境センサ16は、全方位カメラ60、PTZカメラ62およびフロアセンサ64を含む。
【0041】
全方位カメラ60は、アンドロイド12が配置される部屋ないし場所(区画)に設置され、当該部屋ないし場所の全体(360度)を撮影することができる。全方位カメラ60の撮影映像に対応する画像データは、CPU70に与えられる。CPU70は、画像データに基づいて撮影映像の変化を検出するのみならず、その画像データを遠隔操作端末20に送信する。遠隔操作端末20は、受信した画像データをモニタ26に出力する。したがって、全方位カメラ60の撮影映像がモニタ26に表示される。
【0042】
PTZカメラ62は、オペレータ(たとえば、遠隔オペレータ)の指示に従って、パン(Pan)、チルト(Tilt)およびズーム(Zoom)の各々を制御(調整)することができるカメラである。たとえば、遠隔オペレータが、パン、チルト、ズームの指示を入力すると、対応する制御信号(コマンド)が遠隔操作端末20からネットワーク18を介して第1コンピュータ14aに与えられる。すると、第1コンピュータ14aのCPU70は、そのコマンドに従ってPTZカメラ62を駆動制御する。PTZカメラ62の撮影映像に対応する画像データもまた、CPU70に与えられる。CPU70は、画像データに基づいて撮影映像の変化を検出するのみならず、その画像データを遠隔操作端末20に送信する。遠隔操作端末20は、受信した画像データをモニタ26に出力する。したがって、PTZカメラ62の撮影映像もモニタ26に表示される。
【0043】
なお、この実施例では、眼カメラ44,全方位カメラ60およびPTZカメラ62の撮影画像が、遠隔操作端末20に接続されるモニタ26に画面を分割されて表示される。したがって、遠隔オペレータはモニタ26を見て、アンドロイド12の視線の映像やアンドロイド12の周囲の状況を知ることができる。
【0044】
フロアセンサ64ないし床圧力センサは、図示は省略するが、多数の検出素子(感圧センサ)を含み、この多数の検出素子はアンドロイド12が配置される部屋ないし場所の床に埋め込まれる(敷き詰められる)。したがって、フロアセンサ64からの出力に基づいて、アンドロイド12の周囲に人間が存在するか否か、存在する人間の人数、アンドロイド12から見た人間の方向、アンドロイド12と人間との距離などを知ることができる。
【0045】
第2コンピュータ14bは、MPU90を含み、MPU90には、内部バス92を介して、メモリ94、通信ボード96、制御ボード98およびセンサ入出力ボード100が接続される。
【0046】
メモリ94は、HDD、ROMおよびRAMを含む。通信ボード96は、他のコンピュータ(この実施例では、第1コンピュータ14a)とデータ通信するためのインターフェイスである。制御ボード98は、制御対象としての複数のアクチュエータ40を制御するための制御データを出力するとともに、各アクチュエータ40からの角度情報(回転角度,曲げ角度)を入力するためのインターフェイスである。したがって、MPU90は複数のアクチュエータ40をフィードバック制御することができる。ただし、MPU90は、第1コンピュータ14aのCPU70からの指示(制御データ)に従って各アクチュエータ40を駆動制御する。
【0047】
センサ入出力ボード100は、各種センサからの出力をMPU90に与え、MPU90からの制御データを各種センサに出力するためのインターフェイスである。このセンサ入出力ボード100には、上述したように、触覚センサ42、眼カメラ44および衝突センサ46が接続される。
【0048】
ここで、この実施例のアンドロイド12では、アクチュエータ40は、各関節(首、肩、肘、手首、指、腰、膝、足首)、眼(瞼)、口唇および腹部を駆動制御するために設けられる。各々の駆動部は、図3において丸印(〇)で示してある。したがって、アクチュエータ40を用いて、各関節の回転や曲げ伸ばし、瞼の開閉、口唇の開閉および腹部の動き(呼吸)のそれぞれが実現される。これにより、アンドロイド12の身体動作が表示される。
【0049】
なお、この実施例では、アンドロイド12とは別に制御装置14を設けるようにしてあるが、制御装置14を含めてアンドロイドと呼んでもよい。さらには、環境センサ16も含めてアンドロイドと呼んでもよい。
【0050】
このような構成のシステム10は、或る会社や或るイベント会場などに適用され、アンドロイド12は、人間の代役として働く。たとえば、アンドロイド12は、会社やイベント会場の受付として機能する。アンドロイド12は、人間がアンドロイド12に近づこうとしたり、人間がアンドロイド12の近くを通り過ぎたりするとき、その人間の方を見る。具体的には、制御装置14(CPU70)は、環境センサ16(フロアセンサ64)の出力に基づいて、人間がアンドロイド12に向かって移動していることを検出すると、そのフロアセンサ64の出力に基づいて、アンドロイド12の顔の正面方向と当該人間との角度を検出して、首の回転方向と角度を算出する。そして、CPU70は、首を回転させる(人間の方を見る)ための制御データ(回転方向および角度を含む。)をMPU90に送信する。これに応じて、MPU90は、アクチュエータ40を駆動制御し、アンドロイド12の首が算出した回転方向に算出した角度だけ回転される。
【0051】
また、たとえば、人間がアンドロイド12に接近し、アンドロイド12の前で立ち止まると、アンドロイド12は当該人間に、挨拶したり、自己紹介したりする。具体的には、CPU70は、環境センサ16(フロアセンサ64)の出力に基づいて、人間がアンドロイド12の近くに立ち止まったことを検出すると、挨拶するための制御情報をMPU90に送信する。
【0052】
なお、“挨拶(初めて)”の制御情報に基づくアンドロイド12の動作は上述したとおりであり、“こんにちは”,“こんばんは”など他の挨拶も発話内容が異なる以外は略同じであるため、重複した説明は省略する。また、自己紹介する場合にも、発話内容が異なる以外は、挨拶する場合と略同じであるため、詳細な説明は省略することにする。
【0053】
また、上述した例では、人間がアンドロイド12に近づこうとしていることや人間がアンドロイド12に接近したことをフロアセンサ64の出力に基づいて検出するようにしたが、触覚センサ42、眼カメラ44、衝突センサ46、マイク50、全方位カメラ60またはPTZカメラ62の出力に基づいて検出することもできる。たとえば、触覚センサ42や衝突センサ46に反応があった場合には、人間や物体等がアンドロイド12に触れたり、衝突したりしたことを検出することができる。また、マイク50に一定レベル以上の音声が入力された場合には、人間がアンドロイド12に接近したり、アンドロイド12に対して話し掛けたりしていることを検出することができる。つまり、外部からの刺激は様々であり、検出する方法も様々である。
【0054】
このように、外部からの刺激に応じて、アンドロイド12が所定の対応動作を実行する。詳細な説明は省略するが、環境センサ16で検出される刺激に応じて、アンドロイド12が実行すべき(実行可能な)動作、すなわちCPU70が指示するべき制御情報は予め決定されており、その内容はメモリ74に記憶されている。したがって、センサ群(42,44,46,50,60,62,64)の反応に応じた対応動作をアンドロイド12に実行させることができるのである。
【0055】
ただし、センサ群の反応に応じた対応動作がメモリ74に記憶されていない場合や外部からの刺激を認識できない場合などのように、アンドロイド12が刺激に対して対応動作を実行することができない場合には、アンドロイド12は遠隔オペレータを呼び出す。具体的には、制御装置14(CPU70)は、アンドロイド12が対応できない旨を遠隔操作端末20に通知する。したがって、たとえば、アンドロイド12が人間の質問(発話内容)を理解(音声認識)できない場合には、遠隔オペレータを呼び出し、そのような場合には、遠隔オペレータが人間の質問を理解し、遠隔操作により、アンドロイド12に命令動作を実行させることができる。ただし、遠隔オペレータの音声をアンドロイド12のスピーカ48から出力して、直接的に対応するようにしてもよい。かかる場合には、上述したように、遠隔オペレータがマイク24を通して発話すると、対応する音声データが遠隔操作端末20からネットワーク18を介して制御装置14に与えられ、アンドロイド12のスピーカ48から出力される。一方、アンドロイド12と対話する人間が発話すると、その音声はアンドロイド12のマイク50を通して入力され、対応する音声データが制御装置14からネットワーク18を介して遠隔操作端末20に送信され、スピーカ22から出力される。したがって、遠隔オペレータは、アンドロイド12と対話する人間が発話する内容を知ることができる。このように、アンドロイド12が対応できない刺激に対しては、遠隔オペレータが対応するので、アンドロイド12が提供するサービス(受付,案内など)に支障を来たすのを防止することができる。つまり、アンドロイド12が提供するサービスを遠隔オペレータが補完することができるのである。
【0056】
また、上述したように、眼カメラ44、全方位カメラ60およびPTZカメラ62の撮影映像は、遠隔操作端末20のモニタ26に表示されるため、その撮影映像等によりアンドロイド12が存在する近傍、周囲およびアンドロイド12と対話する人間の様子を知ることができる。したがって、遠隔オペレータは、アンドロイド12(制御装置14)からの呼び出しが無くても、必要に応じて遠隔操作し、アンドロイド12に命令動作を実行させることもできる。
【0057】
しかし、アンドロイド12の近傍や周囲に人間が存在しない場合や遠隔オペレータの操作(遠隔操作命令)が無い場合には、アンドロイド12に無意識動作を実行させる。このため、アンドロイド12の動作を、より人間の動作に酷似させることができるのである。ただし、外部からの刺激に対応する対応動作を実行したり、遠隔オペレータの遠隔操作命令による命令動作を実行したりしている間においても、無意識動作を実行するようにしてもよい。つまり、無意識動作を実行する余地があれば、対応動作や命令動作に加えて実行することにより、より人間の動作に近づけるのである。たとえば、人間と対話しながら瞬きしたり、髪を触ったりすることができる。ただし、たとえば、遠隔操作命令(または無意識動作)によって腕を上に動かす動作を実行しているときに、当該腕を下に動かす無意識動作(または対応動作)を実行することはできない。つまり、使用中のアクチュエータ40に対して、別の動作をさせるような制御を行うことはできない。かかる場合には、無意識動作を実行する余地がないと言える。
【0058】
具体的には、図2に示したCPU70が、図4に示す全体処理のフロー図を処理する。図4に示すように、CPU70は全体処理を開始すると、ステップS1で、遠隔操作命令が有るかどうかを判断する。つまり、遠隔オペレータが遠隔操作端末20を用いてコマンドを入力し、当該コマンドが遠隔操作端末20から送信されたか否かを判断する。ステップS1で“YES”であれば、つまり遠隔操作命令が有れば、ステップS3で、遠隔操作命令に応じた命令動作をアンドロイド12に実行させて、ステップS13に進む。つまり、ステップS3では、CPU70は、遠隔操作端末20から送信されたコマンドに従う身体動作をアンドロイド12に実行させるように、MPU90に制御データを送信する。また、CPU70は、必要に応じて、発話動作に対応する音声データを、音声入出力ボード80を介してスピーカ48から出力する。
【0059】
一方、ステップS1で“NO”であれば、つまり遠隔操作命令が無ければ、ステップS5で、センサ群の反応が有るかどうかを判断する。つまり、外部からアンドロイド12に対して刺激があるかどうかを判断する。ステップS5で“NO”であれば、つまりセンサ群の反応が無ければ、そのままステップS13に進む。一方、ステップS5で“YES”であれば、つまりセンサ群の反応が有れば、ステップS7で、対応可能な刺激であるかどうかを判断する。つまり、外部からの刺激に対して、アンドロイド12が対応動作を実行することができるか否かを判断する。
【0060】
ステップS7で“NO”であれば、つまり対応不能な刺激であれば、ステップS9で、遠隔オペレータを呼び出し、ステップS13に進む。つまり、ステップS9では、CPU72は、遠隔操作端末20に、遠隔オペレータを呼び出すための信号(呼び出し信号)を送信する。なお、図示は省略するが、この呼び出し信号に応答して、遠隔操作端末20では、スピーカ22から呼び出し音(呼び出しメッセージ)が出力されたり、モニタ26に呼び出しメッセージが表示されたりする。一方、ステップS7で“YES”であれば、つまり対応可能な刺激であれば、ステップS11で、対応動作を実行して、ステップS13に進む。つまり、ステップS11では、CPU70は、外部からの刺激に対応する対応動作についての制御情報を第2コンピュータ14b(MPU90)に指示する。これに応じて、MPU90は、アクチュエータ40を駆動制御し、必要に応じて、音声データを出力する。
【0061】
ステップS13では、後述する無意識動作の選択処理(図5参照)を実行する。続くステップS15では、無意識動作実行の余地が有るかどうかを判断する。つまり、ステップS13で選択した無意識動作を実行することができるか否かを判断する。ステップS15で“NO”であれば、つまり無意識動作実行の余地が無ければ、そのままステップS1に戻る。一方、ステップS15で“YES”であれば、つまり無意識動作実行の余地が有れば、ステップS17で、ステップS13において選択した無意識動作を実行して、ステップS1に戻る。
【0062】
図5は図4に示したステップS13の無意識動作の選択処理を示すフロー図である。図5に示すように、CPU70は、無意識動作の選択処理を開始すると、ステップS31で、位置Pを初期化する(P=0)。ここで、位置Pは単なる変数であるが、後述するように、生起確率を区間Rとして保持するため、便宜上「位置」としてある。続くステップS33で、ループカウンタのカウント値iを1に設定する。
【0063】
なお、図示は省略するが、ループカウンタは、第1コンピュータ70のメモリ74(RAM)の一部領域に設定されるレジスタによって構成される。
【0064】
続いて、ステップS35では、過去ti秒(たとえば、数秒から数十秒)間以内に、無意識動作Biを実行したかどうかを判断する。ここで、上述した全体処理においては省略したが、ステップS17の処理の前または後において、無意識動作の履歴をメモリ74に記憶するようにしておき、その履歴を少なくともti秒に相当する時間だけ残すようにしてある。したがって、CPU70は、メモリ74に記憶された無意識動作についての履歴を参照して、ステップS35の判断処理を実行するのである。
【0065】
ステップS35で“YES”であれば、つまり過去ti秒間以内に、無意識動作Biを実行した場合には、当該無意識動作Biが実行されるのを回避するべく、そのままステップS45に進む。一方、ステップS35で“NO”であれば、つまり過去ti秒間以内に、無意識動作Biを実行していない場合には、ステップS37で、区間Riを設定する(Ri=[P,P+Wi])。続くステップS39では、位置Pを更新する(P=P+Wi)。そして、次のステップS41では、ループカウンタのカウント値iが最大値nであるかどうかを判断する。つまり、すべての無意識動作Bi(1≦i≦n)についての区間Riを設定したかどうかを判断する。
【0066】
ステップS41で“NO”であれば、つまりループカウンタのカウント値iが最大値nでなければ、ステップS43で、ループカウンタをインクリメントして、つまりカウント値iを1加算して、ステップS35に戻る。一方、ステップS41で“YES”であれば、つまりループカウンタのカウント値iが最大値nであれば、ステップS45に進む。
【0067】
ステップS45では、乱数rを発生する。ただし、乱数rの範囲は、0≦r≦Pである。続くステップS47では、乱数rが区間Rjに含まれるような変数j(1≦j≦i)を求めて、全体処理にリターンする。つまり、ステップS47では、CPU70は、無意識動作Bjを選択する。
【0068】
この実施例によれば、アンドロイドに無意識動作を実行させるので、アンドロイド特有の制御を実現することができる。このため、人間の動作に酷似した動作を実行させることができ、より人間に酷似したアンドロイドを実現することができる。
【0069】
なお、この実施例では、一定時間内に同じ無意識動作を実行しないようにしたが、瞬きや呼吸のような無意識動作は一定時間内であっても実行するようにしてもよい。このような生理的な動作は一定時間内に繰り返されたとしても、特に違和感がなく、人間らしい動作であると言えるからである。したがって、無意識動作の種類に応じて、一定時間内に繰り返してもよいか否かを決定するようにしてもよい。
【0070】
また、この実施例では、ネットワークを介して遠隔操作端末を設けることにより、遠隔地にオペレータが存在する場合について説明したが、オペレータは、アンドロイドが存在する場所やその近傍に存在するようにしてもよい。かかる場合には、オペレータが操作する端末(操作端末)を、ネットワークを介さずに、制御装置に直接接続することも可能である。
【図面の簡単な説明】
【0071】
【図1】図1はこの発明のアンドロイド制御システムの一例を示す図解図である。
【図2】図2は図1に示すアンドロイド、制御装置および環境センサの電気的な構成を示すブロック図である。
【図3】図3は図1に示すアンドロイドの動作を制御するための関節、眼、口唇、腹部を示す図解図である。
【図4】図4は図2に示すCPU70の全体処理を示すフロー図である。
【図5】図5は図2に示すCPU70の無意識動作の選択処理を示すフロー図である。
【符号の説明】
【0072】
10 …アンドロイド制御システム
12 …アンドロイド
14 …制御装置
16 …環境センサ
20 …遠隔操作端末
22,48 …スピーカ
24,50 …マイク
26 …モニタ
40 …アクチュエータ
42 …触覚センサ
44 …眼カメラ
46 …衝突センサ
60 …全方位カメラ
62 …PTZカメラ
64 …フロアセンサ
70 …CPU
74,94 …メモリ
80 …音声入出力ボード
82,100 …センサ入出力ボード
90 …MPU
98 …制御ボード
【出願人】 【識別番号】393031586
【氏名又は名称】株式会社国際電気通信基礎技術研究所
【出願日】 平成18年7月18日(2006.7.18)
【代理人】 【識別番号】100090181
【弁理士】
【氏名又は名称】山田 義人


【公開番号】 特開2008−23604(P2008−23604A)
【公開日】 平成20年2月7日(2008.2.7)
【出願番号】 特願2006−195163(P2006−195163)