JP4386367B2 - コミュニケーションロボット改良システム - Google Patents

コミュニケーションロボット改良システム Download PDF

Info

Publication number
JP4386367B2
JP4386367B2 JP2006030689A JP2006030689A JP4386367B2 JP 4386367 B2 JP4386367 B2 JP 4386367B2 JP 2006030689 A JP2006030689 A JP 2006030689A JP 2006030689 A JP2006030689 A JP 2006030689A JP 4386367 B2 JP4386367 B2 JP 4386367B2
Authority
JP
Japan
Prior art keywords
robot
information
autonomous control
control program
operator
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.)
Active
Application number
JP2006030689A
Other languages
English (en)
Other versions
JP2007213190A (ja
Inventor
崇行 神田
智史 小泉
昌裕 塩見
法明 光永
敬宏 宮下
浩 石黒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATR Advanced Telecommunications Research Institute International
Original Assignee
ATR Advanced Telecommunications Research Institute International
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ATR Advanced Telecommunications Research Institute International filed Critical ATR Advanced Telecommunications Research Institute International
Priority to JP2006030689A priority Critical patent/JP4386367B2/ja
Publication of JP2007213190A publication Critical patent/JP2007213190A/ja
Application granted granted Critical
Publication of JP4386367B2 publication Critical patent/JP4386367B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明はコミュニケーションロボット改良システムに関し、特にたとえば、自律制御と遠隔制御との双方によって自身の動作を制御するコミュニケーションロボットを改良する、コミュニケーションロボット改良システムに関する。
自律制御と遠隔制御とを組み合わせて自身の動作を制御するロボットを含むロボット制御システムの一例が、たとえば特許文献1に開示されている。特許文献1の技術は、警備などに利用されるロボットを遠隔操作するためのロボット遠隔操作システムである。当該ロボットは、基本的には自律行動を行い、操作装置ではロボットのカメラで撮影された画像が表示される。オペレータは画像に基づいてロボットを監視し、また、操作レバーによって自律モード、自律遠隔協調モードおよび完全遠隔モードを切り替えることができる。たとえば、自律遠隔協調モードでは、ロボットの動作の修正が必要な場合には、遠隔操作によって自律動作を修正することができる。
特開2003−251581号公報[B25J 13/00]
特許文献1の技術では、自律制御と遠隔制御とを組み合わせてロボットの動作を制御できた。しかし、自律制御では、予め設定した自律制御プログラムに基づいて動作を制御するだけであるため、自律制御プログラムに無い動作は、単純なものであっても、オペレータが繰り返し遠隔操作によって制御しなければならなかった。つまり、オペレータの負担が大きかった。
それゆえに、この発明の主たる目的は、コミュニケーションロボットの自律制御を効率よく改良することができ、オペレータによる遠隔操作の負担を減らすことのできる、コミュニケーションロボット改良システムを提供することである。
請求項1の発明は、自律制御プログラムによる自律制御とオペレータによる遠隔制御とが可能なコミュニケーションロボットと、その遠隔制御の際にオペレータによって操作コマンドが入力される操作端末とを含むコミュニケーションロボット改良システムである。コミュニケーションロボットは、自律制御プログラムに基づく自律的コミュニケーション行動で対応できなくなったときに、オペレータによる遠隔操作に基づいて自身の動作を制御するコミュニケーションロボットである。操作端末は、オペレータによって入力された操作コマンドをコミュニケーションロボットに対して送信するコマンド送信手段を備える。また、当該システムは、少なくとも操作コマンドの履歴を含むロボット操作情報を記憶するロボット操作情報記憶手段、およびロボット操作情報記憶手段によって記憶されたロボット操作情報から、プログラム化するために利用する情報を示すプログラム化情報を取得する取得手段を備え、コミュニケーションロボットは、取得手段によって取得されたプログラム化情報に基づいて作成された新規自律制御プログラムを自律制御プログラムに追加する追加手段を備える。
請求項1の発明では、コミュニケーションロボット改良システム(10:実施例で相当する参照番号。以下同じ。)は、コミュニケーションロボット(12)と操作端末(14)とを含む。コミュニケーションロボットは、身体動作および音声の少なくとも一方を用いて人間との間でコミュニケーション行動を実行するコミュニケーションロボットであり、自律制御プログラムによる自律制御とオペレータによる遠隔制御とが可能である。たとえば、コミュニケーションロボットは、或るイベント会場や会社の受付のような様々な場所や状況に配置され、通常は自律制御によって人間との対話などのコミュニケーション行動を実行し、受付や道案内などの役割を果たす(サービスを提供する)。しかし、コミュニケーションロボットは、自律制御プログラムに基づくコミュニケーション行動(自律的コミュニケーション行動)では対応できない状態や状況になったとき、オペレータ(操作者)による遠隔操作に基づいて自身の動作を制御する(オペレータによる遠隔制御を行う)。操作端末では、その遠隔制御の際に、オペレータによる操作コマンドの入力が行われる。操作端末は、コマンド送信手段(S29)を備え、コマンド送信手段は、オペレータによって入力された操作コマンドをコミュニケーションロボットに対して送信する。コミュニケーションロボットは、操作端末から送信された操作コマンドを受信すると、当該操作コマンドに基づいたコミュニケーション行動(身体動作や発話)を実行する。ロボット操作情報記憶手段(S31)は、ロボット操作情報を記憶する。ここで、ロボット操作情報とは、ロボットに対して行われた遠隔操作に関する情報を意味する。ロボット操作情報には、たとえば、時刻に対応付けてコミュニケーションロボットに対して行われた遠隔操作に関する情報が登録されてよく、少なくともオペレータによって操作端末に入力された操作コマンドの履歴が含まれる。また、ロボット操作情報には、たとえば、コミュニケーションロボットの位置や対話相手などを含むコミュニケーションロボットに関する情報やオペレータに関する情報が含まれてもよい。取得手段(S35,S41〜S45)は、プログラム化情報を取得する。ここで、プログラム化情報とは、自律制御プログラムを作成するときに利用する情報を意味し、プログラム化情報は、ロボット操作情報記憶手段に記憶されたロボット操作情報から取得される。コミュニケーションロボットは、追加手段(66,70)を備え、追加手段は、取得手段によって取得されたプログラム化情報に基づいて新たに作成された新規自律制御プログラムを従来の自律制御プログラムに追加する(実装する)。コミュニケーションロボットは、新規自律制御プログラムを加えた自律制御プログラムに基づいて、自律的コミュニケーション行動を実行する。なお、ロボット操作情報記憶手段および取得手段はそれぞれ、たとえば、操作端末に備えるようにしてもよいし、コミュニケーションロボットに備えるようにしてもよい。また、たとえば複数のロボットや複数の操作端末が当該システムに含まれる場合は、たとえば当該システムにプログラム化情報の取得に関する全体処理を制御する中央制御装置をさらに備えるようにし、この中央制御装置にロボット操作情報記憶手段および取得手段を備えるようにしてもよい。また、たとえば、複数の操作端末の中から或る操作端末を選択し、当該選択した操作端末を上述した中央制御装置として用いてもかまわない。さらにまた、たとえば当該システムをインターネットやLANのようなネットワークを介して接続し、コミュニケーションロボット、操作端末および中央制御装置のそれぞれの情報を送受信可能にしておけば、ロボット操作情報記憶手段および取得手段が、それぞれ異なる装置に備えられるようにしてもかまわない(たとえば、ロボット操作情報記憶手段はロボットが備え、取得手段は操作端末が備える)。
請求項1の発明によれば、オペレータによって入力された操作コマンドの履歴を記憶し、自律制御プログラムの作成に必要な情報(プログラム化情報)を取得するので、新規自律制御プログラムの作成が容易になる。また、作成された新規自律制御プログラムは、コミュニケーションロボットの従来の自律制御プログラムに追加されるので、コミュニケーションロボットが自律制御によって実行できる動作を増加させることができ、オペレータによる遠隔操作の負担を減少させることができる。
請求項2の発明は、請求項1の発明に従属し、コミュニケーションロボットは、周囲情報を検出するセンサ、センサによって検出された周囲情報に基づいて、自律制御プログラムに基づく自律的コミュニケーション行動で対応できなくなったことを示す呼出条件を満たすか否かを判定する呼出判定手段、および呼出判定手段によって呼出条件を満たすと判定されたとき、操作端末に対して遠隔制御の要求を送信する遠隔制御要求送信手段を含む。
請求項2の発明では、コミュニケーションロボットは、センサ(26,30,40,42,44,54,92)を含み、センサは、たとえば、視覚情報や聴覚情報などを含む当該コミュニケーションロボット周囲の情報(周囲情報)を検出する。呼出判定手段(66,S5)は、センサによって検出された周囲情報(センサ情報)に基づいて、呼出条件が満たされたか否かを判定する。ここで、呼出条件は、自律制御プログラムに基づく自律的コミュニケーション行動では対応できない状態や状況になったことを示す条件であり、具体的には、音声認識が不能な場合やトラブルが発生した場合などを示す条件である。遠隔制御要求送信手段は、呼出判定手段によって呼出条件を満たすと判定されたとき、操作端末に対して遠隔制御の要求を送信する(つまり、オペレータを呼び出す)。
請求項2の発明によれば、コミュニケーションロボットに備えたセンサで検出した情報に基づいてオペレータによる遠隔制御が必要な状況を適切に判断し、オペレータを呼び出す。したがって、オペレータは、常にコミュニケーションロボットを監視する必要は無く、必要に応じて遠隔操作を行えばよいので、オペレータによる遠隔操作の負担を減少させることができる。
請求項3の発明は、請求項1または2の発明に従属し、プログラマの入力によって新規自律制御プログラムを作成するための開発端末、および取得手段によって取得されたプログラム化情報を含む新規自律制御プログラムの作成依頼を開発端末に送信する作成依頼送信手段をさらに備える。開発端末は、作成依頼に応じてプログラマによって作成された新規自律制御プログラムをコミュニケーションロボットに送信するプログラム送信手段を含む。追加手段は、プログラム送信手段から送信された新規自律制御プログラムを受信するプログラム受信手段を含み、プログラム受信手段によって受信された当該新規自律制御プログラムを自律制御プログラムに追加する。
請求項3の発明では、当該システムは、開発端末(16)および作成依頼送信手段(S37,S47)をさらに備える。開発端末は、プログラマが新規自律制御プログラムを作成するための端末である。作成依頼送信手段は、新規自律制御プログラムをプログラマに作成してもらうために、プログラム化情報を含む作成依頼を開発端末に対して送信する。開発端末では、プログラム化情報を参考にして、プログラマによって自律制御プログラムの作成が可能か否かが判断され、可能と判断された場合は新規自律制御プログラムが作成される。開発端末はプログラム送信手段を含み、プログラム送信手段は、たとえばネットワークを介して、作成された新規自律制御プログラムをコミュニケーションロボットに送信する。コミュニケーションロボットの追加手段は、プログラム受信手段(66,90)を含み、プログラム受信手段は、開発端末のプログラム送信手段から送信された新規自律制御プログラムを受信する。追加手段は、当該受信した新規自律制御プログラムを従来の自律制御プログラムに追加し、自律制御プログラムを更新する(すなわち、開発端末から送信された新規自律制御プログラムを実装する)。なお、作成依頼送信手段は、操作端末に備えるようにしてもよいし、コミュニケーションロボットに備えるようにしてもよい。また、上述した中央制御装置に備えるようにしてもよい。なお、開発端末の機能を操作端末に備えるようにし、操作端末においてプログラマが新規自律制御プログラムの作成を行うようにしてもよい。
請求項3の発明によれば、プログラマは、プログラム化情報を参考にすれば、新規自律制御プログラムの作成が容易になる。また、プログラマによって作成された新規自律制御プログラムをロボットに実装することができる。
なお、好ましい実施例として、以下に示すような発明も適用することができる。
請求項2または3の発明に従属する或る発明(変形例1)では、ロボット操作情報記憶手段は、センサによって検出された周囲情報の履歴をさらに含むロボット操作情報を記憶する。変形例1の発明では、ロボット操作情報記憶手段には、ロボットに備えた超音波距離センサ(30)やタッチセンサ(54)などのセンサによって検出された周囲情報(センサ情報)の履歴をさらに含むロボット操作情報が記憶される。変形例1の発明によれば、プログラマは、当該ロボット操作情報から取得したプログラム化情報を参考にすれば、より具体的な状況を把握して新規自律制御プログラムを作成することができる。
また、請求項3または変形例1の発明に従属する或る発明(変形例2)では、操作端末は、オペレータによって開発端末に対するプログラム化の要求が入力されるプログラム化要求入力手段を含み、取得手段は、プログラム化要求入力手段によってプログラム化の要求が入力されたとき、当該入力がされた時刻直前の所定時間にロボット操作情報記憶手段に記憶されたロボット操作情報をプログラム化情報として取得する。
変形例2の発明では、操作端末は、プログラム化要求入力手段(118,S33)を含み、プログラム化要求入力手段には、オペレータによって、プログラマに対する自律制御プログラム化の要求が入力される。たとえば、オペレータは、遠隔操作を行っているときに、直前に入力した操作コマンド(もしくは、操作コマンド系列)が、或る周囲情報(センサ情報)を受信したとき(ロボットが或る状況のとき)に必ず入力する操作コマンドであると気付く場合がある。このような場合などに、オペレータは、プログラム化要求入力手段によってプログラム化の要求を入力する。ここで、操作コマンド系列とは、所定時間の間に入力された一連の操作コマンドを意味する。取得手段(S31)は、プログラム化要求入力手段によってプログラム化の要求が入力されると、当該入力がされた時刻直前の所定時間(たとえば60秒)の間にロボット操作情報記憶手段に記憶されたロボット操作情報を、プログラム化情報として取得する。なお、当該プログラム化情報の取得は、ロボット操作情報記憶手段に記憶されたロボット操作情報から自動的に取得されるものである。なお、作成依頼送信手段は、プログラム化情報が取得されたとき、当該プログラム化情報を含む作成依頼を開発端末(プログラマ)に送信してよい。すなわち、オペレータによってプログラム化の要求が入力されたときに、プログラム化情報が取得されてその作成依頼が送信されてよい。
変形例2の発明によれば、オペレータが実際に操作コマンドの入力を行ったときに、自律制御で行うことが望ましい動作(コミュニケーション行動)があると気付いた場合、当該操作コマンドの履歴を含むロボット操作情報をプログラム化情報として取得することができる。全てのロボット操作情報の中から自律制御プログラム化が可能な動作を見つけることは困難であるが、オペレータが実際の遠隔操作の経験に基づいてそれまで遠隔操作で行っていた動作が新たに自律制御プログラム化すべきものか否かを判断するので、プログラマは当該プログラム化情報を参考にすれば、新たに自律制御プログラム化することが可能な動作を容易に見つけることができる。すなわち、新規自律制御プログラムの作成に要する時間を短縮することができる。
さらにまた、請求項3、変形例1または変形例2のいずれかに従属する或る発明(変形例3)では、操作端末は、ロボット操作情報記憶手段に記憶されたロボット操作情報を表示するロボット操作情報表示手段、およびロボット操作情報表示手段に表示されたロボット操作情報から、オペレータによってプログラム化するために利用する情報が選択される選択手段をさらに含み、取得手段は、選択手段によって選択された情報をプログラム化情報としてロボット操作情報記憶手段に記憶されたロボット操作情報から取得する。
変形例3の発明では、操作端末は、ロボット操作情報表示手段(110)および選択手段をさらに含む。ロボット操作情報表示手段には、ロボット操作情報記憶手段に記憶したロボット操作情報が表示される。選択手段では、オペレータの入力に応じて、ロボット操作情報表示手段に表示されたロボット操作情報からプログラム化するために利用する情報が選択される。選択手段では、たとえば、或る時刻のロボット操作情報が選択されてもよいし、或る時刻から別の或る時刻までのロボット操作情報が選択されてもよい。取得手段は、選択手段によって選択された情報をプログラム化情報として、ロボット操作情報記憶手段に記憶したロボット操作情報から取得する。なお、作成依頼送信手段は、プログラム化情報が取得されたとき、当該プログラム化情報を含む作成依頼を開発端末(プログラマ)に送信してよい。すなわち、オペレータによってプログラム化に利用する情報の選択およびプログラム化の要求の入力が行われたときに、プログラム化情報が取得されてその作成依頼が送信されてよい。
変形例3の発明によれば、オペレータは、実際に遠隔操作を行ったときに自律制御で行うことが望ましい動作があると感じた場合、以前に入力した操作コマンドの履歴(ロボット操作情報)を見て確認しながらプログラム化するために利用する情報を選択することができる。プログラマは、当該情報を参考にして、新たに自律制御プログラム化することが可能な動作があるか否かを容易に判断することができる。したがって、請求項5の発明と同様に、新規自律制御プログラムの作成の効率性を向上できる。
また、変形例2または変形例3に従属する或る発明(変形例4)では、操作端末は、オペレータによってコメントが入力されるコメント入力手段をさらに含み、作成依頼送信手段は、コメント入力手段によって入力されたコメントをさらに含む新規自律制御プログラムの作成依頼を開発端末に送信する。変形例4の発明では、操作端末は、コメント入力手段(118)をさらに含む。コメント入力手段は、オペレータがコメントを入力するための手段であり、コメント入力手段には、たとえば、オペレータが遠隔操作を行っている際に気付いたことを入力してもよい。作成依頼送信手段は、プログラム化情報とオペレータによってコメント入力手段に入力されたコメントとを含む新規自律制御プログラムの作成依頼を開発端末に対して送信する。変形例4の発明によれば、作成依頼を送信するとき、プログラム化情報(ロボット操作情報)を開発端末に送信するだけでなく、オペレータのコメント(意見もしくは説明)も送信することができるため、プログラマは、より具体的な状況を把握して新規自律制御プログラムを作成することができる。
また、請求項1ないし3のいずれかに従属する、或いは変形例1ないし4のいずれかに従属する或る発明(変形例5)では、取得手段は、ロボット操作情報記憶手段に記憶されたロボット操作情報から同一の操作コマンド系列を抽出する抽出手段をさらに含み、抽出手段によって抽出された操作コマンド系列に対応するロボット操作情報をプログラム化情報としてロボット操作情報記憶手段から取得する。
変形例5の発明では、取得手段は抽出手段(S41〜S45)をさらに含む。抽出手段は、ロボット操作情報記憶手段に記憶したロボット操作情報の中から同一の操作コマンド系列を抽出する。たとえば、ロボット操作情報の全ての時刻から所定時間の間にオペレータがコミュニケーションロボットに対して行った一連の操作コマンドを操作コマンド系列として抽出し、当該抽出した操作コマンド系列の中から同一のものを抽出する。取得手段は、抽出手段によって同一の操作コマンド系列が抽出されたとき、この操作コマンド系列に対応する(を含む)ロボット操作情報をプログラム化情報として取得する。すなわち、当該操作コマンド系列を抽出した或る時間から所定時間(たとえば30秒)の間のロボット操作情報をプログラム化情報として取得する。なお、作成依頼送信手段は、抽出手段によって同一の操作コマンド系列が抽出され、取得手段によって当該操作コマンド系列に対応するプログラム化情報が取得されたとき、当該取得されたプログラム化情報を含む作成依頼を開発端末に対して自動的に送信する。
変形例5の発明によれば、繰り返し入力される一連の操作コマンドの内容(操作コマンド系列)を自動的に抽出して開発端末に送信することができる。すなわち、オペレータの手を煩わすことなくプログラム化情報を取得することができ、プログラマは、当該プログラム化情報に基づいて容易に新規自律制御プログラムの作成が可能か否かを判断することができる。
さらにまた、変形例5に従属する或る発明(変形例6)では、抽出手段は、さらに周囲情報系列も同一である操作コマンド系列を抽出する。変形例6の発明では、抽出手段は、同一の操作コマンド系列を抽出するときに、さらに周囲情報系列も同一である操作コマンド系列を抽出する。ここで、周囲情報系列とは、所定時間の間に入力された一連の操作コマンドに対応付けて記憶されている周囲情報(センサ情報)である。なお、取得手段は、操作コマンド系列が同一でありかつ周囲情報系列が同一である、所定時間の間のロボット操作情報をプログラム化情報として取得する。変形例6の発明によれば、より自律制御化できる可能性が高い操作コマンド系列(ロボットの動作)を含むプログラム化情報を取得することができる。
この発明によれば、オペレータによって入力された操作コマンドの履歴とロボットのセンサによって取得された周囲情報の履歴とを記憶する。そして、プログラマにプログラム化を依頼するときには、新規自律制御プログラムのプログラム化に必要な情報を取得して送信するので、プログラマは新規自律制御プログラムの作成が容易になる。また、作成された新規自律制御プログラムはコミュニケーションロボットに送信され、コミュニケーションロボットの自律制御プログラムは追加、更新される(すなわち、実装される)。この新規自律制御プログラムの実装によって、ロボットが自律制御で行える動作が増え、オペレータによる遠隔操作の負担を減少させることができる。さらに、このような新規自律制御プログラムの実装は、開発したロボットを実際に現場(イベント会場や会社の受付など)で使用しながら継続して行えるので、効率よくその現場に適応して動作を制御できるロボットに改良していくことができる。
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
図1を参照して、この実施例のコミュニケーションロボット改良システム10は、たとえば無線LANやインターネットなどのネットワーク100を介して接続された、コミュニケーションロボット12、操作端末14および開発端末16を含む。
コミュニケーションロボット12(以下、単に「ロボット」ということがある。)は、主として人間のようなコミュニケーションの対象とコミュニケーションすることを目的とした相互作用指向のもので、音声によって人間と対話することが可能である。また、音声に代えて、或いは音声とともに、身振り手振りのような身体動作を用いてコミュニケーション行動を実行することもできる。ロボット12は、たとえば、受付ロボットや道案内ロボットなどであり、或るイベント会場や会社の受付などの様々な場所および状況に配置される。ロボット12は、通常は自律制御によって受付や道案内などの役割を果たすが、自律制御プログラムに基づく自律的コミュニケーション行動では対応困難な状況になった場合などには、操作端末14に対して遠隔制御の要求を送信する(オペレータを呼び出す)。そして、ロボット12は、呼び出したオペレータによって操作端末14に入力された操作コマンドに従ったコミュニケーション行動(身体動作や発話)を実行する。つまり、ロボット12は、自律制御プログラムによる自律制御とオペレータによる遠隔制御とを組み合わせて自身の動作を制御する。なお、図1には、ロボット12が応対する人間Aを1人だけ示してあるが、複数でもかまわない。
図2は、この実施例のロボット12の外観を示す正面図であり、この図2を参照して、ロボット12のハードウェアの構成について説明する。
図2に示すように、ロボット12は台車20を含み、この台車20の下面にはロボット12を自律移動させる車輪22が設けられる。車輪22は車輪モータ24(図3参照)によって駆動され、台車20すなわちロボット12を前後左右任意の方向に動かすことができる。このように、ロボット12は配置された環境内を移動可能なものであるが、場合によっては環境内の所定位置に固定的に設けられてもよい。
なお、図2においては省略するが、台車20の前面には、衝突センサ26(図3参照)が取り付けられ、この衝突センサ26は台車20への人や他の障害物の接触を検知する。つまり、ロボット12の移動中に障害物との接触を検知すると、直ちに車輪22の駆動を停止してロボット12の移動を急停止させる。
また、この実施例では、ロボット12の背の高さは、人、特に子供に威圧感を与えることのないように、100cm程度とされる。ただし、この背の高さは変更可能である。
台車20の上には、多角形柱のセンサ取付パネル28が設けられ、このセンサ取付パネル28の各面には、超音波距離センサ30が取り付けられる。この超音波距離センサ30は、センサ取付パネル28すなわちロボット12の周囲の主として人との距離を計測するものである。
また、台車20の上には、さらに、その下部がセンサ取付パネル28に囲まれて、ロボット12の胴体が直立するように設けられる。この胴体は、下部胴体32と上部胴体34とによって構成され、下部胴体32および上部胴体34は、連結部36によって互いに連結される。図示は省略するが、連結部36には昇降機構が内蔵されていて、この昇降機構を用いることによって、上部胴体34の高さすなわちロボット12の背の高さを変化させることができる。昇降機構は、後述するように、腰モータ38(図3参照)によって駆動される。
なお、上述したロボット12の背の高さは、上部胴体34をそれの最下位置にしたときのものである。したがって、ロボット12の背の高さは、100cm以上にすることも可能である。
上部胴体34の正面側のほぼ中央には、1つの全方位カメラ40と1つのマイク42とが設けられる。全方位カメラ40は、ロボット12の周囲を撮影するものであり、後述する眼カメラ44とは区別される。この全方位カメラ40としては、たとえばCCDやCMOSのような固体撮像素子を用いるカメラを採用することができる。また、マイク42は、周囲の音、とりわけコミュニケーション対象である人の声を取り込む。なお、これら全方位カメラ40およびマイク42の設置位置は上部胴体34に限られず適宜変更され得る。
上部胴体34の両肩には、それぞれ、肩関節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軸に対して、それぞれ異なる方向から直交する軸である。
また、上腕48Rおよび48Lのそれぞれの先端には、肘関節50Rおよび50Lを介して、前腕52Rおよび52Lが設けられる。肘関節50Rおよび50Lは、それぞれ、W軸およびD軸の軸廻りにおいて、前腕52Rおよび52Lの角度を制御できる。
なお、上腕48Rおよび48Lならびに前腕52Rおよび52Lの変位を制御するX軸,Y軸,Z軸,W軸およびA軸,B軸,C軸,D軸では、それぞれ、「0度」がホームポジションであり、このホームポジションでは、図2に示すように、上腕48Rおよび48Lならびに前腕52Rおよび52Lは下方に向けられる。
また、図示は省略するが、上部胴体34の肩関節46Rおよび46Lを含む肩の部分や上述の上腕48Rおよび48Lならびに前腕52Rおよび52Lには、それぞれ、タッチセンサ(図3で包括的に示す。:54)が設けられていて、これらのタッチセンサ54は、人がロボット12の当該各部位に触れたかどうかを検知する。
前腕52Rおよび52Lのそれぞれの先端には、手に相当する球体56Rおよび56Lがそれぞれ固定的に設けられる。ただし、指や掌の機能が必要な場合には、人の手の形をした「手」を用いることも可能である。
上部胴体34の中央上方には、首関節58を介して頭部60が設けられる。首関節58は、3軸の自由度を有し、S軸、T軸およびU軸の各軸廻りに角度制御可能である。S軸は首から真上(鉛直上向き)に向かう軸であり、T軸およびU軸は、それぞれ、そのS軸に対して異なる方向で直交する軸である。頭部60には、人の口に相当する位置に、スピーカ62が設けられる。スピーカ62は、ロボット12が、それの周辺の人に対して音声ないし音によってコミュニケーションを取るために用いられる。ただし、スピーカ62は、ロボット12の他の部位、たとえば胴体などに設けられてもよい。
また、頭部60には、目に相当する位置に眼球部64Rおよび64Lが設けられる。眼球部64Rおよび64Lは、それぞれ眼カメラ44Rおよび44Lを含む。以下、右の眼球部64Rと左の眼球部64Lとをまとめて眼球部64ということがあり、また、右の眼カメラ44Rと左の眼カメラ44Lとをまとめて眼カメラ44ということもある。
眼カメラ44は、ロボット12に接近した人の顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。眼カメラ44としては、上述した全方位カメラ40と同様のカメラを用いることができる。
たとえば、眼カメラ44は眼球部64内に固定され、眼球部64は眼球支持部(図示せず)を介して頭部60内の所定位置に取り付けられる。眼球支持部は、2軸の自由度を有し、α軸およびβ軸の各軸廻りに角度制御可能である。α軸およびβ軸は頭部60に対して設けられる軸であり、α軸は頭部60の上へ向かう方向の軸であり、β軸はα軸に直交しかつ頭部60の正面側(顔)が向く方向に直交する方向の軸である。この実施例では、頭部60がホームポジションにあるとき、α軸はS軸と平行であり、β軸はU軸と平行であるように設定される。このような頭部60において、眼球支持部がα軸およびβ軸の各軸廻りに回転されることによって、眼球部64ないし眼カメラ44の先端(正面)側が変位され、カメラ軸すなわち視線方向が移動される。
なお、眼カメラ44の変位を制御するα軸およびβ軸では、「0度」がホームポジションであり、このホームポジションでは、図2に示すように、眼カメラ44のカメラ軸は頭部60の正面側(顔)が向く方向に向けられ、視線は正視状態となる。
図3はロボット12の電気的な構成を示すブロック図であり、この図3を参照して、ロボット12は、全体を制御するCPU66を含む。CPU66は、マイクロコンピュータ或いはプロセサとも呼ばれ、バス68を介して、メモリ70、モータ制御ボード72、センサ入力/出力ボード74および音声入力/出力ボード76に接続される。
メモリ70は、図示は省略するが、ROMやHDDおよびRAMを含み、ROMやHDDにはロボット12の動作を制御するためのプログラムやデータなどが予め記憶される。プログラムには、たとえば、各センサ26,30,40,42,44,54,92などによる検知情報を検出するための検出プログラム、外部コンピュータたとえば操作端末14および開発端末16との間で必要なデータを送受信するための通信プログラム、自律制御によって自身の動作を制御するための自律制御プログラムおよび受信した操作コマンド情報に基づいて自身の動作を制御するための遠隔制御プログラムなどがある。お辞儀などの個々のコミュニケーション行動は、モジュール化された各行動プログラムによって実現され、メモリ70には複数の行動プログラムが各識別情報(操作コマンド)に対応付けて記憶されてよい。CPU66は複数のルールと現在の状況に基づいて次の行動を決定していくことでコミュニケーション行動を自律制御する。また、メモリ70には各行動を実行する際に発生すべき音声または声の音声データ(音声合成データ)および所定の身振りを提示するための角度データなども記憶される。また、RAMはワークメモリやバッファメモリとして用いられる。
また、メモリ70には、図示は省略するが、操作端末14に対して遠隔制御の要求を行うか否かを判定するための呼出条件が記憶されている。呼出条件は、自律的コミュニケーション行動では対応できなくなったことを示す条件であり、たとえば、トラブルが生じたり、高度な言語理解が必要な場合などより細やかな対応(コミュニケーション行動)が必要な状況になったりしたことを示す条件であってよい。
また、呼出条件は、各種センサの出力情報に基づいて判定される条件であってよい。たとえば、条件の1つは、音声認識で所定のキーワード(「責任者を呼んで」など)が検出されたことであってよい。キーワードとしては、ロボット12が相手の意図を分かっていないことを伝えるワード、たとえば「違う」、「そうじゃないんだけど」もしくは「わからないかなあ」も考えられる。また、他の条件は、超音波距離センサ32で取得された距離が1m以内である状態が5分以上になったこと(すなわち、人がロボット12と長い間対話している状態)であってよい。さらにまた、他の条件は、特定のIDの無線タグを検出したこと(たとえばVIPとして登録された人が現れたこと)であってもよい。なお、呼出条件としては、適宜、様々な条件が設定され得る。たとえば、人の顔表情認識で怒りが検出されたこと、顔同定機能で特定の人を検出したことが考えられる。なお、他の実施例では、呼出条件として、ロボット12または周囲の環境に設けられた他のセンサの出力に基づく条件が設定されてよい。たとえば、オペレータ呼出ボタンがロボット12または周囲の環境に設けられてよい。また、体表に設けた触覚センサ(たとえば皮膚センサ)で殴られた場合の反応が検出されたこと、赤外センサで長時間連続して人が検知されたこと、環境の混雑センサで一定以上の混雑度が検出されたことなども考えられる。
モータ制御ボード72は、たとえばDSPで構成され、各腕や首関節58および眼球部64などの各軸モータの駆動を制御する。すなわち、モータ制御ボード72は、CPU66からの制御データを受け、右眼球部64Rのα軸およびβ軸のそれぞれの角度を制御する2つのモータ(図3では、まとめて「右眼球モータ」と示す。)78の回転角度を制御する。同様に、モータ制御ボード72は、CPU66からの制御データを受け、左眼球部64Lのα軸およびβ軸のそれぞれの角度を制御する2つのモータ(図3では、まとめて「左眼球モータ」と示す。)80の回転角度を制御する。
また、モータ制御ボード72は、CPU66からの制御データを受け、右肩関節46RのX軸、Y軸およびZ軸のそれぞれの角度を制御する3つのモータと右肘関節50RのW軸の角度を制御する1つのモータとの計4つのモータ(図3では、まとめて「右腕モータ」と示す。)82の回転角度を調節する。同様に、モータ制御ボード72は、CPU66からの制御データを受け、左肩関節46LのA軸、B軸およびC軸のそれぞれの角度を制御する3つのモータと左肘関節50LのD軸の角度を制御する1つのモータとの計4つのモータ(図3では、まとめて「左腕モータ」と示す。)84の回転角度を調整する。
さらに、モータ制御ボード72は、CPU66からの制御データを受け、首関節58のS軸、T軸およびU軸のそれぞれの角度を制御する3つのモータ(図3では、まとめて「頭部モータ」と示す。)86の回転角度を制御する。さらにまた、モータ制御ボード72は、CPU66からの制御データを受け、腰モータ38および車輪22を駆動する2つのモータ(図3では、まとめて「車輪モータ」と示す。)24の回転角度を制御する。
なお、この実施例では、車輪モータ24を除くモータは、制御を簡素化するために、ステッピングモータ或いはパルスモータを用いるようにしてある。ただし、車輪モータ24と同様に、直流モータを用いるようにしてもよい。
センサ入力/出力ボード74もまた、同様に、DSPで構成され、各センサからの信号を取り込んでCPU66に与える。すなわち、超音波距離センサ30のそれぞれからの反射時間に関するデータがこのセンサ入力/出力ボード74を通してCPU66に入力される。また、全方位カメラ40からの映像信号が、必要に応じてこのセンサ入力/出力ボード74で所定の処理を施された後、CPU66に入力される。眼カメラ44からの映像信号も、同様にして、CPU66に入力される。また、上述した複数のタッチセンサ(図3では、まとめて「タッチセンサ54」と示す。)、および衝突センサ26からの信号がセンサ入力/出力ボード74を介してCPU66に与えられる。
音声入力/出力ボード76もまた、同様に、DSPで構成され、CPU66から与えられる音声合成データに従った音声または声がスピーカ62から出力される。また、マイク42からの音声入力が、音声入力/出力ボード76を介してCPU66に取り込まれる。
また、CPU66は、バス68を介して通信LANボード88および無線通信装置90に接続される。CPU66は、通信LANボード88および無線通信装置90を用いて、たとえば無線LANアクセスポイントを介して無線回線、電話回線、LAN,インターネットのようなネットワーク100に通信接続する。通信LANボード88は、DSPで構成され、CPU66から送られる送信データを無線通信装置90に与え、無線通信装置90からネットワーク100を介して操作端末14もしくは開発端末16に送信する。具体的には、通信LANボード88は、全方位カメラ40および眼カメラ44によって検知した視覚情報やマイク42によって検知した聴覚情報などの検知情報を操作端末14に送信する。また、通信LANボード88は、無線通信装置90を介して操作端末14からの操作コマンドを受信し、受信した操作コマンドをCPU66に与える。なお、ロボット12が移動不可能に設置されている場合、ネットワーク100へは有線で接続されてもよい。また、ロボット12と操作端末14とが無線により直接通信するように構成してもよい。
また、CPU66には無線タグ読取装置92が接続される。無線タグ読取装置92は、無線タグ(RFIDタグ)から送信される識別情報の重畳された電波をアンテナを介して受信し、電波信号を増幅し、当該電波信号から識別情報を分離し、当該識別情報を復調(デコード)してCPU66に与える。無線タグはイベント会場や会社などにいる人に装着されており、無線タグ読取装置92は通信可能範囲内の無線タグを検出する。なお、無線タグはアクティブ型であってもよいし、無線タグ読取装置92から発信される電波に応じて駆動されるパッシブ型であってもよい。
図1に戻って、
操作端末14は、コンピュータであり、図示は省略するがCPUを含み、CPUには、メモリ、データベース、表示装置、入力装置、スピーカおよび通信装置などが接続される。操作端末14は、通信装置を介しネットワーク100に有線または無線で接続されている。
操作端末14のメモリには、当該操作端末14の動作を制御するためのプログラムおよび必要なデータが記憶される。プログラムには、たとえば、ロボット12および開発端末16との間でデータを送受信するための通信プログラム、入力装置に入力された操作コマンドを検出するための検出プログラムおよび表示装置に画像などを表示するための表示プログラムなどがある。
操作端末14のデータベースには、ロボット12に対して行われた遠隔操作に関する情報を示すロボット操作情報が記憶される。ロボット操作情報には、時刻に対応付けてロボット12に対して行われた操作に関する情報が登録されており、少なくともオペレータによって操作端末14に入力された操作コマンドの履歴とロボット12のセンサによって検出された周囲情報(センサ情報)の履歴とが含まれる。また、ロボット操作情報には、ロボット12の位置や対話相手などを含むロボット12に関する情報やオペレータに関する情報などが含まれてよい。さらに、データベースには、図示は省略するが、イベント会場や会社などに存在する人間の情報(たとえば、無線タグの識別情報、使用言語や行動履歴)なども記憶されてよい。
具体例としては、ロボット操作情報テーブルには、図4に示すように、時刻に対応付けて、オペレータ名、位置、状態、距離センサおよび後述する操作コマンドの情報などが登録される。時刻を示す情報としては、一定時間毎(たとえば、1秒毎)の時刻(たとえば、t0,t1,・・・,tp,・・・)が登録される。オペレータ名を示す情報としては、現在ロボット12の遠隔操作を担当しているオペレータ名(もしくは、オペレータの識別情報)が登録される(たとえば、op1)。位置を示す情報としては、当該ロボット12が配置されている現在位置の情報が登録される。具体的には、当該ロボット12の配置された建物や会場などの場所を示す情報(たとえば、ATR受付)、および当該場所においてロボット12が現在存在している位置の座標(たとえば、120,140)が登録される。状態を示す情報としては、ロボット12の現在の状態が登録される。具体的には、対話者が存在するか否かや、対話者が存在する場合は対話者との位置関係(たとえば、対話者正面)などが登録される。距離センサを示す情報としては、超音波距離センサ30で取得した対象物(対話者)との距離(たとえば、100cm)が登録される。操作コマンドを示す情報としては、オペレータによってたとえば時刻tpから単位時間経過するまで(次の時刻tp+1になるまで)の間に入力された操作コマンドが登録される。具体的には、「お辞儀」や「前進」などの情報が登録される。また、当該時刻に操作コマンドの入力がない場合は、「なし」と登録される。また、図4には示していないが、ロボット12が備える各センサ(タッチセンサ54や衝突センサ26など)から取得した各情報も適宜登録される。なお、ロボット12がさらに他のセンサ(たとえば、皮膚センサや赤外センサ)を備えるようにした場合も、各センサからの取得情報が適宜登録される。
操作端末14は、ロボット12との通信によって、ロボット12の現在位置座標、状態およびセンサ情報などの情報をたとえば一定時間毎(たとえば、1秒毎)に取得して、このロボット操作情報テーブルを生成し更新する。
たとえば、図4に示すロボット操作情報からは、時刻「t0」には、オペレータ「op1」がロボット12の遠隔操作を担当しており、ロボット12の配置されている場所は「ATR受付」で、現在位置の座標は「120,140」であるということが分かる。また、ロボット12には対話者が存在し、対話者との位置関係は「対話者正面」であり、その対話者との距離は「100cm」である。さらに、当該時刻には、「お辞儀」という操作コマンドがオペレータによって入力されている。また、時刻「tp」、「tp+15」および「tp+30」には、続いてオペレータ「op1」がロボット12の遠隔操作を担当しており、ロボット12が配置されている場所は「ATR受付」で、対話者が存在し、対話者との位置関係は「対話者正面」であるということが分かる。また、時刻「tp」には、ロボット12の現在の位置座標は「120,140」、対話者との距離は「100cm」であり、「前進」という操作コマンドが入力されている。また、時刻「tp+15」には、ロボット12の現在の位置座標は「130,140」、対話者との距離は「90cm」であり、「前進」という操作コマンドが入力されている。さらに、時刻「tp+30」には、ロボット12の現在の位置座標は「140,140」、対話者との距離は「80cm」であり、操作コマンドの入力は「なし」である。
操作端末14の表示装置には、GUIとして、遠隔操作画面110が表示される。遠隔操作画面110では、図5に示すように、たとえば、ロボットカメラ画像112、ロボット情報114、操作パネル116および依頼パネル118が表示される。
ロボットカメラ画像112には、ロボット12から受信した眼カメラ44の撮影画像が表示される。これによって、オペレータは、ロボット12の眼カメラ44が捕らえている画像、たとえば対話している人間をリアルタイムで確認しながらロボット12の遠隔操作を実行する。なお、ロボットカメラ画像112には、眼カメラ44による撮影画像の代わりに、ロボット12の全方位カメラ40によって撮影した画像を表示してもよいし、ロボット12の周囲に設けた天井カメラからの画像を表示するようにしてもよい。また、カメラ画像の表示は1つに限定されず、複数のカメラ画像を表示するようにしてもかまわない。
ロボット情報114には、ロボット12自体の情報、当該ロボット12の状況および対話相手の情報などが表示される。具体的には、当該ロボット12の配置された場所(施設、会場、会社など)、名前(もしくは識別情報)、配置された場所の地図および対話している人間の情報などが表示される。地図には、ロボット12および対話相手を示すアイコンが各存在位置に表示される。これによって、オペレータは、ロボット12が設置場所のどこに存在しているのか、対話相手がロボット12に対してどこに存在しているのかなどを把握する。なお、操作端末14は、地図情報を予め記憶しておいてもよいし、ロボット12からセンサ情報とともに受信するようにしてもよい。ロボット12および対話相手の位置は、たとえばロボット12から一定時間ごとに操作端末14に送信される。ロボット12は初期の配置位置および向きを記憶しているので、自分の現在の位置および向きを常に把握している。また、ロボット12は、超音波距離センサ30の出力情報と自分の位置などから対話相手のおよその位置を推定できる。また、地図には、その場所に存在する対話相手以外の人間を示すアイコンも表示されてよい。
なお、ロボット12の配置場所における人間の位置情報は、周囲に設置された天井カメラ、無線タグ読取装置などのような環境のセンサを用いて、当該環境のセンサと接続された他のコンピュータで検出してもよく、当該他のコンピュータからロボット12に与え、ロボット12から操作端末14に送信されてもよい。なお、環境のセンサによってロボット12の位置なども検出可能であるので、ロボット12は、自分の位置および向きなどの情報も、人間の位置情報などとともに上記他のコンピュータから取得してもよい。
また、対話している人間の情報としては、名前、所属(たとえば、受付の人間や来客)、来訪回数、前回の来訪日、今回の来訪後の経過時間およびロボット12が当該相手に既に行ったコミュニケーション行動の履歴などが表示される。なお、対話している人間の情報は、上述したように、データベースに記憶されているので、たとえば、ロボット12から対話相手の識別情報(ID)を受信すると、この識別情報に基づいて当該人間の行動履歴などの情報が読み出され、ロボット情報114に表示される。これによって、オペレータは、ロボット12の周囲の状況や対話している人間の情報などをリアルタイムで確認しながらロボット12の遠隔操作を実行する。なお、これらオペレータに提示される情報は一例であり、ロボット情報114には適宜な情報が表示される。
操作パネル116では、オペレータが入力装置を操作することにより、ロボット12の動作を制御する操作コマンドが入力される。たとえば、操作パネル116には、移動を指示するためのボタン、コミュニケーション行動を指示するためのボタンおよび遠隔操作の終了を指示するためのボタンなどが設けられる。具体的には、「前進」ボタンは、ロボット12を前進させるためのボタンである。オペレータが「前進」ボタンを選択すると、ロボット12は、たとえば一定距離だけ前進する。同様に、「後退」ボタンはロボット12を後退させ、「右」ボタンはロボット12を右旋回させ、「左」ボタンはロボット12を左旋回させる。また、「お辞儀」ボタンは、ロボット12にお辞儀というコミュニケーション行動を実行させるためのボタンである。オペレータが「お辞儀」ボタンを選択すると、ロボット12は、首関節58を制御して頭部60を下に向け、すなわち、お辞儀をする。また、「右指差し」のボタンは、ロボット12に右指差しというコミュニケーション行動を実行させるためのボタンである。オペレータが「右指差し」のボタンを選択すると、ロボット12は、右肩関節46Rおよび右肘関節50Rを制御して腕を前方に上げる。同様にして、操作パネル116に表示されたボタンをオペレータが選択ことにより、ロボット12に、うなずき、左指差しなどの身振りや発話を含む所定のコミュニケーション行動を実行させることができる。また、「終了」ボタンは、オペレータによる遠隔制御を終了させるためのボタンである。オペレータが「終了」のボタンを選択すると、ロボット12は、自律制御プログラムに基づいて自身の動作を制御するようになる。なお、操作パネル116に設けられるこれらのボタンは例示であり、様々な操作コマンドに対応したボタンが適宜設けられる。
依頼パネル118では、オペレータが入力装置を操作することによって、開発端末16(プログラマ)に対する自律制御プログラムの作成依頼が選択され、またはコメントが入力される。依頼パネル118には、たとえば、自律制御プログラムの作成を依頼するプログラム作成依頼ボタンおよびコメントを記述するコメント記述欄が設けられる。
具体的には、プログラム作成依頼ボタンが選択されると、プログラム作成ボタンが選択された直前の所定時間(たとえば、60秒)にデータベースに記憶されたロボット操作情報がプログラム化情報として自動的に取得され、当該プログラム化情報を含む自律制御プログラムの作成依頼が、開発端末16に対してネットワーク100を介して送信される。ここで、プログラム化情報とは、ロボット12がオペレータの遠隔操作によって実行している動作を自律制御プログラム化するために利用される情報をいう。また、コメント記述欄には、オペレータによって、プログラマ(開発者)に対する補足説明、たとえば、自律制御プログラムの作成に役立つ情報が入力される。プログラム作成依頼ボタンが選択されたときに、コメント記述欄にコメントが入力されていると、プログラム化情報および当該コメントを含む作成依頼が開発端末16に送信される。
操作端末14の入力装置は、マウス、キーボードまたはタッチパネルなどであり、オペレータは入力装置を操作することによってロボット12を遠隔操作するための操作コマンドやコメントを遠隔操作画面110で入力することができる。スピーカは、ロボット12のマイク42が取得した聴覚情報を出力する。
なお、操作端末14は、ロボット12と離れた場所、たとえばオフィスに配置されるが、たとえばオペレータによって持ち運び可能もしくは携帯可能に形成されてもよいし、また、或る場所に固定的に設けられてもよい。
開発端末16は、コンピュータであり、図示は省略するがCPUを含み、CPUには、メモリ、表示装置、入力装置および通信装置などが接続される。開発端末16は、通信装置を介しネットワーク100に有線または無線で接続されている。
開発端末16のメモリには、当該開発端末16の動作を制御するためのプログラムおよび必要なデータが記憶される。プログラムには、たとえば、ロボット12および操作端末14との間でデータを送受信するための通信プログラムおよび表示装置にプログラム化情報などを表示するための表示プログラムが含まれる。
開発端末16の表示装置には、図示は省略するが、たとえば、プログラムを作成するプログラム作成画面や受信したプログラム化情報が表示される。プログラマは、入力装置を操作することによって、プログラムを作成する。
開発端末16の通信装置は、たとえば、操作端末14から新規自律制御プログラムの作成依頼を受信し、作成した新規自律制御プログラムをロボット12に対して送信する。
このコミュニケーションロボット改良システム10では、上述したように、ロボット12は、通常、自律制御によって受付や道案内などのコミュニケーション行動を伴う動作を行う。
ロボット12が自律制御によって実行するコミュニケーション行動(自律的コミュニケーション行動)には、たとえば、人間に肩を触れられると、「なーに」と発話して手を振るというようなものがある。具体的には、ロボット12のCPU66は、タッチセンサ54からの、肩部のタッチセンサ54が“ON”の状態になったことを表す信号をセンサ入力/出力ボードを介して読み込むと、メモリ70から音声入力/出力ボード76へ音声データを送信し、スピーカ62から合成音声「なーに」を出力する。また、CPU66は、メモリ70から角度データをモータ制御ボード72へ送信し、手を振るように、腕(図2に示す、A,B,C,D,X,Y,Z,W軸)の角度を制御する。また、コミュニケーション行動には、たとえば、人間に頭を触れられると、「わーい」と発話して首を振るというものや、人間とのコミュニケーションがない状態が続くと、「暇だな」と発話して首を振る、もしくは、「触ってね」と発話して手を差し出すというものがあり、CPU66は、上述したものと同様にこれらの動作を制御する。なお、これらのコミュニケーション行動は例示であり、ロボット12は、これらの他にも様々なコミュニケーション行動を行うことができる。ロボット12は、上述のように、通常の、単純で定型的なコミュニケーション行動については自律制御によって行う。
しかし、自律的コミュニケーション行動では対応することが難しい状況や事態になった場合(上述した呼出条件を満たす場合)には、ロボット12は、遠隔制御の要求を操作端末14に対して送信する。
操作端末14では、ロボット12からの呼出要求を受信すると、表示装置に、図5に示すような遠隔操作画面110が表示され、オペレータは、ロボット12の遠隔操作を開始する。ロボット12の遠隔操作は、上述したように、オペレータが操作端末14の入力装置を操作することによって行われる。オペレータは、たとえば、図5に示すような操作パネル116に設けられた「前進」、「後退」、「右」、「左」などの移動を指示するための各ボタンを選択することによってロボット12の移動を制御する。また、たとえば、「お辞儀」、「うなずき」、「右指差し」、「左指差し」などのコミュニケーション行動を指示するための各ボタンを選択することによってロボット12にコミュニケーション行動を実行させる。操作端末14は、入力データとボタン配置データとに基づいて操作パネル116でのボタン選択を検出すると、選択されたボタンに対応する操作コマンドを特定し、当該操作コマンド情報をネットワーク100を介してロボット12に送信する。ロボット12は、操作端末14から操作コマンド情報を受信すると、当該操作コマンド情報に基づいて自身の動作を制御する。具体的には、ロボット12のCPU66は、操作コマンド情報に対応するコミュニケーション行動のプログラムに従って処理を実行する。これによって、ロボット12は所定の身振りを提示し、所定の音声を出力し、或いは移動もしくは旋回する。
また、操作端末14には、ロボット12から周囲情報(センサ情報)などが一定時間毎(たとえば、1秒毎)に送信され、当該周囲情報は、操作端末14のデータベースに記録される。さらに、オペレータによって操作コマンドが入力されたときは、当該操作コマンド情報も操作端末14のデータベースに記録される。このようにして、たとえば、図4に示したようなロボット操作情報が操作端末14のデータベースに記録されていく。なお、上述したように、ロボット操作情報には、当該周囲情報および操作コマンド情報の他にも、時刻に対応付けて、ロボット12の位置情報やオペレータ情報などのロボットの操作に関する情報が適宜記憶される。
オペレータは、上述したように、必要に応じてロボット12の遠隔操作を行う。しかし、現在遠隔操作で行っている動作(コミュニケーション行動)の中にも、自律制御プログラムを作成すれば、ロボット12の自律制御だけで対応できるような定型的なものが存在する場合がある。このような場合には、操作端末14から開発端末16に対して自律制御プログラムの作成依頼が送信される。たとえば、オペレータは、実際に遠隔操作を行っているときに、現在入力した操作コマンド、あるいは操作コマンドの一連の入力(操作コマンド系列)が、ロボット12から或るセンサ情報を受信したときに必ず入力する操作コマンド、あるいは或る状況で必ず行う一連の入力であると気付く場合がある。このような場合には、オペレータは、上述した、遠隔操作画面110に表示される依頼パネル118のプログラム作成依頼ボタンを選択する。すると、操作端末14のCPUは、データベースに記憶されたロボット操作情報から、プログラム作成依頼ボタンが選択された時刻直前の所定時間(たとえば、60秒)の情報(すなわち、プログラム化情報)を読み出し、当該プログラム化情報を含むプログラムの作成依頼をネットワーク100を介して開発端末16に送信する。さらに、オペレータが依頼パネル118のコメント記述欄にコメント(プログラムを作成するときに役立つ意見や情報など)を入力しておくと、当該コメントをさらに含む作成依頼が開発端末16に送信される。
具体例としては、ロボット12が人間と対話しているときに、超音波距離センサ30によって検出された対話者との距離が100cmであったとする。この場合に、オペレータは、たとえば、対話者の音声を検出し難いという理由から、常に対話者との距離が80cmになるまでロボット12を遠隔操作によって前進させていたとする。すると、オペレータは、当該動作(すなわち、人間と対話するときには、当該人間との距離を80cmに保つという動作)を自律制御で行えるように、開発端末16(プログラマ)に対して、新規自律制御プログラムの作成を依頼する。すなわち、当該操作コマンドの履歴と距離センサの検出データの履歴とを含むロボット操作情報をプログラム化情報として含む作成依頼が開発端末16に対して送信される。また、コメント記述欄には、たとえば、「人間と対話するときの距離を80cmに保つような新規自律制御プログラム作成希望」などと記述してよい。すると、当該コメントをさらに含む作成依頼が送信される。
このように、オペレータが実際にロボット12の遠隔操作を行っているときに、自律制御で行うことが望ましい動作(コミュニケーション行動)があると気付いた場合、当該動作に対応するプログラム化情報およびコメントが、オペレータの入力に応じて開発端末16に対して送信される。これに応じて、プログラマは受信したプログラム化情報およびコメントを調査して、新規に自律制御プログラム化が可能な動作が有るか否かを容易に判断することができる。
また、操作端末14のCPUは、定期的にたとえば1日に1回または数時間に1回程度、データベースに記憶したロボット操作情報から同一の操作コマンド系列を抽出し、開発端末16に送信する。たとえば、ロボット操作情報に記憶された全ての時刻から所定時間(たとえば、30秒)の間に入力された一連の操作コマンドを操作コマンド系列として抽出し、各操作コマンド系列について同一の操作コマンド系列が有るか否かを判断する。同一の操作コマンド系列が有る場合は、当該操作コマンド系列に基づくロボット12の動作は自律制御プログラム化できる可能性があると判断して、当該操作コマンド系列に対応するロボット操作情報をプログラム化情報として送信する。なお、同一の操作コマンド系列を抽出する際、さらに周囲情報(センサ情報)系列も同一のものを抽出するようにしてもよい。
このように、操作端末14のCPUは新規に自律制御プログラム化ができそうな動作を自動的に抽出して、開発端末16に送信するので、実際に遠隔操作しているオペレータが気付かないような場合にもプログラム化の作成依頼を行うことができ、また、作成依頼というオペレータの負担を減少させることができる。
また、開発端末16では、操作端末14から新規自律制御プログラムの作成依頼を受信すると、プログラマは、受信したプログラム化情報を参考にして、新規自律制御プログラムの作成が可能であるか否かを判断する。プログラマ自らがロボット12の動作に関する全ての情報から新たに自律制御化できるものを見つけることに比べて、受信したプログラム化情報を参考にすると、プログラマは容易に自律制御化できる動作を見つけることができる。プログラマは、新規に自律制御化できる動作が存在すると、新規自律制御プログラムを作成する。新規自律制御プログラムが作成された場合、作成されたプログラムはロボット12に送信される。
ロボット12は、開発端末16から送信された新規自律制御プログラムを受信すると、当該プログラムをたとえばメモリ70に記憶する。ロボット12は、メモリ70に新たに記憶したプログラムを加えて更新された自律制御プログラムに基づいて、自律的コミュニケーション行動を実行する。このように、開発端末16で作成された新規自律制御プログラムは、ロボット12に自律制御プログラムとして実装することができる。このような新規自律制御プログラムの実装は、開発したロボット12を実際に現場で使用しながら継続的に行うことができるので、効率よくその現場に適応して動作を制御できるロボットに改良していくことができる。
具体的には、ロボット12のCPU66は、図6に示すフロー図に従って、自律制御と遠隔制御とを組み合わせたコミュニケーション行動の全体処理を実行し、操作端末14のCPUは、図7および図8に示すフローチャートに従って、開発端末16に対する新規自律制御プログラムの作成依頼処理を実行する。
図6に示すように、ロボット12のCPU66は、コミュニケーション行動処理を開始すると、ステップS1で停止命令が有るか否かを判断する。たとえば、停止命令は、ロボット12に停止ボタンを設けておき、当該ボタンが操作されたか否かで判断するようにしてもよいし、操作端末14からの停止命令が有るか否かで判断するようにしてもよい。ステップS1で“YES”の場合、すなわち停止命令が有る場合は、そのまま当該処理を終了する。一方、ステップS1で“NO”の場合、すなわち、停止命令が無い場合は、ステップS3に進む。
ステップS3では、周囲情報(センサ情報)を取得する。たとえば、超音波距離センサ30、マイク42、眼カメラ44、タッチセンサ54および無線タグ読取装置92からの周囲情報を取得する。
次のステップS5では、上述した呼出条件が満たされたか否かを判断する。すなわち、ステップS3で取得した情報に基づいて、自律制御プログラムによる自律的コミュニケーション行動で対応できる状況であるか否かを判断する。ステップS5で“NO”の場合、すなわち、呼出条件を満たさない場合は、ステップS7に進み、上述したような自律的コミュニケーション行動を必要に応じて実行し、ステップS1に戻る。一方、ステップS5で“YES”の場合、すなわち、呼出条件を満たした場合は、自律的コミュニケーション行動では対応できない状況であると判断し、ステップS9に進む。
ステップS9では、遠隔制御の要求を操作端末14に対して送信する。つまり、オペレータを呼び出す。次のステップS11では、ステップS3で取得した周囲情報を操作端末14に対して送信する。なお、操作端末14では、当該周囲情報が記憶され、当該周囲情報に基づいて遠隔操作画面110が表示され、必要に応じてオペレータによる操作コマンドの入力が行われる。
ステップS13では、操作端末14から操作コマンドが有るか否かを判断する。ステップS13で“NO”の場合、すなわち操作コマンドが無ければ、そのままステップS17に進む。一方、ステップS13で“YES”の場合、すなわち、操作コマンドが有る場合は、ステップS15で操作コマンドに従うコミュニケーション行動(身体動作や発話)を実行して、ステップS17に進む。
ステップS17では、操作端末14から遠隔制御の終了要求(終了コマンド)が有るか否かを判断する。たとえば、上述した操作端末14の操作パネル116の「終了」ボタン(図5参照)が選択されたか否かを判断する。なお、遠隔制御の終了要求と上述したステップS1の停止命令とは別のものである。ステップS17で“NO”の場合、すなわち、遠隔制御の終了要求が無い場合は、遠隔制御を継続すると判断してステップS11に戻る。一方、ステップS17で“YES”の場合、すなわち、遠隔制御の終了要求が有る場合は、遠隔制御を終了すると判断して、ステップS1に戻る。
なお、この実施例では、操作端末14からの操作コマンドが有ると、直ぐに当該操作コマンドに従うコミュニケーション行動を実行するようにしてある。ただし、操作端末14からの操作コマンドを受信したときに、コミュニケーション行動を実行中である場合には、当該コミュニケーション行動の実行を終了してから、制御コマンドに従うコミュニケーション行動を実行するようにしてもよい。
図7は、操作端末14のCPUがオペレータの操作に従って開発端末16に対して新規自律制御プログラムの作成を依頼するときの全体処理の一例を示すフロー図である。図7を参照して、操作端末14のCPUは、当該処理を開始すると、ステップS21で、ロボット12から遠隔制御の要求を受信したか否かを判定する。このステップS21の判定は、所定時間毎に繰り返し実行される。
ステップS21で“YES”の場合、すなわち、ロボット12から遠隔制御の要求を受信したときは、ステップS23でロボット12から周囲情報(センサ情報)を受信し、データベースに記録する。具体的には、所定時間毎(たとえば、1秒毎)にロボット12の超音波距離センサ30やタッチセンサ54などからの周囲情報を取得し、図4に示すようなロボット操作情報テーブルを更新する。なお、ロボットの位置や状態などのロボットに関する情報およびオペレータに関する情報も適宜取得し、ロボット操作情報テーブルを更新する。
次のステップS25では、現在のロボットカメラからの画像(映像)とロボット情報とを遠隔操作画面110に表示する。ロボットカメラ画像112およびロボット情報114は、ステップS23で受信した情報に基づいて生成および更新される。なお、遠隔操作画面110には、操作パネル116および依頼パネル118も表示される。すなわち、遠隔操作画面110には、上述した図5に示すような、ロボットカメラ画像112、ロボット情報114、操作パネル116および依頼パネル118が表示される。
ステップS27では、操作コマンドが入力されたか否かを判断する。たとえば、入力装置からの入力データと操作パネル116のボタン配置データとに基づいて、オペレータによって操作コマンドの選択が行われたか否かを判断する。ステップS27で“YES”の場合、すなわち、操作コマンドの入力が有った場合は、ステップS29に進む。
ステップS29では、当該選択された操作コマンドを特定してロボット12に送信する。なお、ロボット12では、当該送信された操作コマンドに応じたコミュニケーション行動(身体動作や発話)が行われる。
次のステップS31では、ステップS27で入力された操作コマンドをデータベースに記憶する。たとえば、入力された操作コマンドが「前進」であれば、図4に示すようなロボット操作情報テーブルの操作コマンドの欄の当該入力を行った時刻の欄に「前進」と登録する。ステップS31を終了すると、処理はステップS23に戻る。
また、ステップS27で“NO”の場合、すなわち、操作コマンドの入力が無かった場合は、ステップS33に進む。
ステップS33では、オペレータによるプログラム化の要求が有るか否かを判断する。具体的には、上述した遠隔操作画面110に表示される依頼パネル118のプログラム作成依頼ボタンが選択されたか否かを判断する。ステップS33で“YES”の場合、すなわち、オペレータによるプログラム化の要求が有る場合は、ステップS35に進む。
ステップS35では、データベースから過去k秒間のロボット操作情報(すなわち、プログラム化情報)を読み出す。所定値kは適宜な値(たとえば60秒程度)に設定される。kの値は、オペレータの入力によって変更可能にされてもよい。具体的には、たとえば、時刻「tp+60」にプログラム作成依頼ボタンが選択されると、たとえば、時刻「tp+60」から時刻「tp」までのロボット操作情報をプログラム化情報として読み出す。
次のステップS37では、ステップS35で読み出したプログラム化情報を含む新規自律制御プログラムの作成依頼を開発端末16に送信する。なお、ステップS33でプログラム作成ボタンが選択されたときに、コメント記述欄にコメントの記載が有る場合は、当該コメントも開発端末16に送信する。なお、開発端末16では、プログラマによって、送信されたプログラム化情報に基づいて自律制御プログラムの作成が可能か否かが判断され、可能な場合は新規自律制御プログラムが作成される。また、プログラムが作成された場合は、当該作成されたプログラムはロボット12に送信され、実装される。ステップS37の処理が終了すると、処理はステップS23に戻る。
また、ステップS33で“NO”の場合、すなわち、プログラム化の要求が無い場合は、ステップS39に進み、終了要求が有るか否かを判断する。なお、当該判断は、たとえば、操作端末14の遠隔操作画面110に当該処理終了用(遠隔制御終了用)のボタンを設けておき、これをオペレータが操作したか否かで判断するようにしてよい。このステップS37で“YES”の場合は当該処理を終了する。一方、ステップS37で“NO”の場合は、処理はステップS23に戻る。
なお、図7に示した処理では、プログラム化情報の取得は、オペレータによってプログラム作成依頼ボタンが選択されたときに、当該時刻直前の所定時間kのロボット操作情報をプログラム化情報として自動的に取得する(ステップS35)というように実行されたが、これに限定されない。たとえば、オペレータが過去に記憶されたロボット操作情報からプログラム化に利用する情報を任意的に選択できるようにしてもかまわない。たとえば、データベースに記憶されたロボット操作情報を表示装置に表示する操作履歴表示ボタンを遠隔操作画面110(たとえば、依頼パネル118)に設ける。オペレータによって、この操作履歴表示ボタンが選択されると、表示装置には、データベースに記憶されたロボット操作情報が表示される。オペレータは、当該表示されたロボット操作情報から自律制御プログラム化して欲しい部分に対応する情報をプログラム化情報として選択する、というようにしてもよい。たとえば、オペレータは、以前に入力した操作コマンド(あるいは、操作コマンド系列)が、ロボット12から或るセンサ情報を受信したときに必ず入力する操作コマンド(系列)である、と後になって気付く場合がある。このような場合には、オペレータは、表示装置にロボット操作情報を表示させ、表示されたロボット操作情報を見て確認しながら、自律制御プログラム化に利用する情報を適切に取得することができる。
具体的には、操作端末14のCPUは、オペレータによって上述した操作履歴表示ボタンが選択されると、たとえば図4に示したようなロボット操作情報をメモリから読み出し、表示装置に表示する。オペレータによって、自律制御プログラムで実行したほうがよいと気付いた動作(操作コマンドもしくは操作コマンド系列)を含むプログラム化するために利用する情報(たとえば、時刻tpから時刻tp+30までの情報)が選択されると、当該オペレータによって選択された情報をプログラム化情報としてメモリから読み出す。そして、上述した自動的に取得されるプログラム化情報の代わりに、当該プログラム化情報を含むプログラムの作成依頼をネットワーク100を介して開発端末16に送信する。たとえば、図7に示したフロー図において、ステップS33でプログラム化の要求が入力される前にオペレータによってプログラム化するために利用する情報が選択されると、ステップS35で当該選択された情報をプログラム化情報として読み出し、ステップS37で開発端末16に送信するというようにしてもよい。
図8は、操作端末14のCPUが自動的にロボット操作情報からプログラム化情報を抽出し、開発端末16に新規自律制御プログラムの作成依頼を行う処理を示すフロー図である。なお、図8では、簡単のため、操作端末14のデータベースにロボット操作情報が蓄積された後の処理を示してある。また、当該処理は、たとえば数時間に1度もしくは1日に1度程度、定期的に行われる。
図8を参照して、ステップS41では、データベースに記憶されたロボット操作情報の全ての時刻tiから所定時間であるT秒間(たとえば30秒間)にオペレータがロボット12に対して行った操作コマンド系列S(S={com_ti,com_ti+1,・・・,com_ti+T})を抽出し、Sx={S0,S1,・・・,Sn}とする。つまり、或る時刻tiからT秒間の一連の操作コマンドの入力S={com_ti,com_ti+1,・・・,com_ti+T}を抽出し、これを時刻T0からT1まで(たとえば、この日の始め(T0)から終わり(T1)までなど当該抽出処理対象期間)の全ての時刻tiについて行い、Sx={S0,S1,・・・,Sn}を抽出する。ここで、「i」は或る時刻を指定するための変数である。また、「x」は或る時刻の操作コマンド系列を指定するための変数である。「n」はT0から(T1−T)までの単位時間(たとえば1秒)の総数である。また、「com_ti」は時刻tiに対応する操作コマンドである。「Sx」は時刻txに対応する操作コマンド系列(すなわち、時刻txから時刻tx+Tまでに入力された一連の操作コマンド)である。
具体例としては、図4を参照して、「com_tp」は時刻tpに入力された操作コマンド、すなわち「前進」であり、「Sp」は、たとえば時刻tpから時刻tp+30までに入力された操作コマンド系列、すなわち「前進,・・・,前進,・・・,なし」である。
次のステップS43では、全てのSxについて、同一の操作コマンド系列(Sy)が有るか否かを判断する。ここで、「y」は「x」とは異なる時刻の操作コマンド系列を指定するための変数である。ステップS43で“NO”の場合、すなわち、ロボット操作情報テーブルに記憶されたロボット操作情報の中に同一の操作コマンド系列が存在しない場合は、そのまま当該処理を終了する。一方、ステップS43で“YES”の場合、すなわち、ロボット操作情報テーブルに記憶されたロボット操作情報の中に同一の操作コマンド系列が存在する場合は、ステップS45に進む。
ステップS45では、同一の操作コマンド系列が存在したSxに対応する(を含む)ロボット操作情報をデータベースから抽出する。具体例としては、図4を参照して、時刻tpから時刻tp+30までの操作コマンド系列Spに同一の操作コマンド系列が存在した場合には、時刻tpから時刻tp+30までのロボット操作情報をデータベースから抽出する。
次のステップS47では、ステップS45で抽出したロボット操作情報(つまり、プログラム化情報)を開発端末16に送信する。すなわち、自律制御プログラムの作成依頼を行い、当該処理を終了する。なお、上述したように、開発端末16では、プログラマによって、送信されたプログラム化情報に基づいて新規自律制御プログラムの作成が可能か否かが判断され、可能な場合は新規自律制御プログラムが作成される。また、作成されたプログラムはロボット12に送信され、実装される。
なお、プログラム化情報を抽出するときには、操作コマンド系列が同一である場合だけでなく、さらにセンサ情報の系列も同一であるロボット操作情報をプログラム化情報として抽出するようにしてもよい。このようにすれば、自律制御化の可能性のより高いプログラム化情報を抽出できる。
この実施例によれば、オペレータの入力に応じてもしくは自動的に、自律制御プログラムの作成に必要な情報を取得し、開発端末16に送信する。したがって、プログラマは、プログラマ自らロボット12の全ての動作に関する情報から自律制御化できるものを見つけることと比較して、送信される情報(プログラム化情報)を参考にすれば、容易に自律制御化できる動作を発見することができる。また、プログラマによって新規自律制御プログラムが作成された場合は、当該新規自律制御プログラムはロボット12に送信され、実装される。このような新規自律制御プログラムの実装は、開発したロボット12を実際に現場で使用しながら継続的に行えるので、ロボット12が自律制御で行える動作が増えていき、オペレータによる遠隔操作の負担を減少させていくことができる。つまり、より効率的に自律制御と遠隔制御とを組み合わせて自身の動作を制御するロボット12に改良していくことができる。具体的には、単純で定型的パターンの対話は自律制御で行い、高度な対話はオペレータによる遠隔制御で行うというように、自律制御と遠隔制御の双方をシームレスに効率よく実行するロボット12に改良していくことができる。
なお、上述の実施例では、ロボット12は、周囲情報(センサ情報)に基づいて自律的コミュニケーション行動では対応できなくなったことを判断し、オペレータを呼び出すようにした。そして、ロボット12がオペレータを呼び出したときにだけ、オペレータによる遠隔制御を行うようにした。しかし、これに限定されず、たとえば、オペレータが常にロボット12の動作を監視するようにしておき、オペレータが遠隔操作の必要性を判断して、ロボット12の遠隔操作を実行するようにしてもかまわない。
また、上述の各実施例では、ロボット操作情報を操作端末14のデータベースに記憶するようにしたが、これに限定されず、ロボット操作情報は、ロボット12に記憶するようにしてもかまわない。このような場合には、図8に示すようなプログラム化情報の抽出および新規自律制御プログラムの作成依頼処理をロボット12のCPU66が実施するようにしてもよい。また、操作端末14がオペレータの入力に応じて、ロボット12に記憶された当該ロボット操作情報を読み出し、操作端末14がオペレータの入力に応じてもしくは自動的に必要な情報(プログラム化情報)を選択(取得)して開発端末16に送信するようにしてもかまわない。
また、上述の各実施例では、操作端末14とは別に、開発端末16を備えるようにしたが、開発端末16の機能(プログラマの入力による新規自律制御プログラムの作成)を操作端末14に備えるようにしてもかまわない。この場合、上述した新規自律制御プログラムの作成依頼を送信する必要は無いので、たとえば、当該操作端末14の表示装置に、たとえば或るマークやメッセージを表示することによって、新規自律制御プログラムの作成依頼が有る旨をプログラマに伝えるようにしてもよい。そして、たとえば、プログラマの操作によって上述したプログラム化情報を当該操作端末14の表示装置に表示させるようにし、当該プログラム化情報を参考にしてプログラマが新規自律制御プログラムを作成するというようにしてもかまわない。
また、上述の各実施例では、ロボット12、操作端末14および開発端末16は、それぞれ1台ずつネットワーク100を介して接続するようにした。しかし、これに限定されず、コミュニケーションロボット改良システム10は、ネットワーク100を介して接続した複数のロボット12、複数の操作端末14および複数の開発端末16を含むように構成してもかまわない。たとえば、ロボット12が5台、操作端末14が2台、開発端末16が1台というような構成でもかまわない。
また、たとえばロボット改良システム10が複数のロボット12や操作端末14、開発端末16を含む場合は、当該システム10は、ネットワーク100を介して接続され、プログラム化情報の取得および新規自律制御プログラムの作成依頼に関する全体処理を制御する中央制御装置をさらに備えるようにしてもかまわない。たとえば、複数のロボット12によってそれぞれ取得された周囲情報(センサ情報)の履歴や複数の操作端末14にそれぞれ入力された操作コマンド情報の履歴を含むロボット操作情報を中央制御装置に記憶させ、プログラム化情報の抽出および自律制御プログラムの作成依頼処理(図8)を中央制御装置のCPUが実施するようにしてもかまわない。また、たとえば、操作端末14がオペレータの入力に応じて、中央制御装置に記憶させた複数のロボット12や複数の操作端末14から送信されたロボット操作情報を読み出し、操作端末14がオペレータの入力に応じてもしくは自動的に必要な情報を選択して開発端末16に送信するようにしてもかまわない。さらにまた、たとえば、複数の操作端末14の中から或る操作端末14を選択し、選択した操作端末14を上述した中央制御装置として用いてもかまわない。
また、上述の各実施例では、ロボット12は予め設定した動作を行うようにしたが、他の実施例では、オペレータが、遠隔操作画面110でロボット12の各モータ24,38,78〜86を個別に操作し、ロボット12の動作を制御するようにしてもよい。
また、上述の各実施例では、遠隔操作画面110上に操作パネル116を表示してマウスクリック方式またはタッチパネル方式などでロボット12の動作を指示するようにしたが、他の実施例では、操作端末14に、操作スイッチまたはジョイスティックなどの操作部を表示装置とは別に設けて、当該操作部の操作でロボット12の動作を指示するようにしてもよい。
この発明の一実施例のコミュニケーションロボット改良システムの概要を示す図解図である。 図1のコミュニケーションロボットの外観を正面から見た図解図である。 図1のコミュニケーションロボットの電気的な構成を示すブロック図である。 図1の操作端末のデータベースに記憶されるロボット操作情報テーブルの一例を示す図解図である。 図1の操作端末の表示装置に表示される遠隔操作画面の一例を示す図解図である。 図1のコミュニケーションロボットのCPUによって実行されるコミュニケーション行動の全体処理の動作の一例を示すフロー図である。 図1の操作端末のCPUによって実行される新規自律制御プログラムの作成依頼処理の動作の一例を示すフロー図である。 図1の操作端末のCPUによって実行される新規自律制御プログラムの作成依頼処理の動作の他の一例を示すフロー図である。
符号の説明
10 …コミュニケーションロボット改良システム
12 …コミュニケーションロボット
14 …操作端末
16 …開発端末
30 …超音波距離センサ
40 …全方位カメラ
42 …マイク
44 …眼カメラ
54 …タッチセンサ
66 …CPU
70 …メモリ
72 …モータ制御ボード
74 …センサ入力/出力ボード
76 …音声入力/出力ボード
88 …通信LANボード
90 …無線通信装置
92 …無線タグ読取装置
100 …ネットワーク
110 …遠隔操作画面

Claims (3)

  1. 自律制御プログラムによる自律制御とオペレータによる遠隔制御とが可能なコミュニケーションロボットと、その遠隔制御の際にオペレータによって操作コマンドが入力される操作端末とを含むコミュニケーションロボット改良システムであって、
    前記コミュニケーションロボットは、前記自律制御プログラムに基づく自律的コミュニケーション行動で対応できなくなったときに、オペレータによる遠隔操作に基づいて自身の動作を制御するコミュニケーションロボットであって、
    前記操作端末は、オペレータによって入力された操作コマンドをコミュニケーションロボットに対して送信するコマンド送信手段を備え、
    少なくとも前記操作コマンドの履歴を含むロボット操作情報を記憶するロボット操作情報記憶手段、および
    前記ロボット操作情報記憶手段によって記憶されたロボット操作情報から、プログラム化するために利用する情報を示すプログラム化情報を取得する取得手段を備え、
    前記コミュニケーションロボットは、前記取得手段によって取得されたプログラム化情報に基づいて作成された新規自律制御プログラムを前記自律制御プログラムに追加する追加手段を備える、コミュニケーションロボット改良システム。
  2. 前記コミュニケーションロボットは、
    周囲情報を検出するセンサ、
    前記センサによって検出された周囲情報に基づいて、前記自律制御プログラムに基づく自律的コミュニケーション行動で対応できなくなったことを示す呼出条件を満たすか否かを判定する呼出判定手段、および
    前記呼出判定手段によって前記呼出条件を満たすと判定されたとき、前記操作端末に対して遠隔制御の要求を送信する遠隔制御要求送信手段を含む、請求項1記載のコミュニケーションロボット改良システム。
  3. プログラマの入力によって前記新規自律制御プログラムを作成するための開発端末、および
    前記取得手段によって取得されたプログラム化情報を含む新規自律制御プログラムの作成依頼を前記開発端末に送信する作成依頼送信手段をさらに備え、
    前記開発端末は、前記作成依頼に応じてプログラマによって作成された新規自律制御プログラムを前記コミュニケーションロボットに送信するプログラム送信手段を含み、
    前記追加手段は、前記プログラム送信手段から送信された新規自律制御プログラムを受信するプログラム受信手段を含み、前記プログラム受信手段によって受信された当該新規自律制御プログラムを前記自律制御プログラムに追加する、請求項1または2記載のコミュニケーションロボット改良システム。
JP2006030689A 2006-02-08 2006-02-08 コミュニケーションロボット改良システム Active JP4386367B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006030689A JP4386367B2 (ja) 2006-02-08 2006-02-08 コミュニケーションロボット改良システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006030689A JP4386367B2 (ja) 2006-02-08 2006-02-08 コミュニケーションロボット改良システム

Publications (2)

Publication Number Publication Date
JP2007213190A JP2007213190A (ja) 2007-08-23
JP4386367B2 true JP4386367B2 (ja) 2009-12-16

Family

ID=38491586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006030689A Active JP4386367B2 (ja) 2006-02-08 2006-02-08 コミュニケーションロボット改良システム

Country Status (1)

Country Link
JP (1) JP4386367B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011201002A (ja) 2010-03-26 2011-10-13 Sony Corp ロボット装置、ロボット装置の遠隔制御方法及びプログラム
JP6486024B2 (ja) * 2014-07-02 2019-03-20 三菱重工業株式会社 構造物の屋内監視システム及び方法
JP6559525B2 (ja) * 2015-09-29 2019-08-14 日立Geニュークリア・エナジー株式会社 遠隔作業支援システム及び遠隔作業支援方法
JP6872102B2 (ja) * 2016-04-27 2021-05-19 富士フイルムビジネスイノベーション株式会社 移動機器、サービス提供システム、および、制御プラグラム
CN107731225A (zh) * 2016-08-10 2018-02-23 松下知识产权经营株式会社 待客装置、待客方法以及待客系统
JP6893140B2 (ja) * 2017-07-20 2021-06-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 制御装置、制御方法、制御プログラム及び制御システム
JP7291340B2 (ja) * 2019-01-29 2023-06-15 新東工業株式会社 コントローラ
JP2021083488A (ja) * 2019-11-25 2021-06-03 株式会社バンダイ プログラム及び構造体制御システム
JP2021132284A (ja) * 2020-02-19 2021-09-09 トヨタ自動車株式会社 コミュニケーションシステム
JP2022063707A (ja) * 2020-10-12 2022-04-22 東京ロボティクス株式会社 ロボットシステム、その制御方法及びプログラム並びにシステム
JP7420047B2 (ja) 2020-10-21 2024-01-23 トヨタ自動車株式会社 ロボットシステム
JP2022132166A (ja) * 2021-02-26 2022-09-07 株式会社キビテク ロボット支援システム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06190692A (ja) * 1992-12-28 1994-07-12 Mazda Motor Corp 生産設備の復帰装置
JP2000207215A (ja) * 1999-01-14 2000-07-28 Sharp Corp 自律走行型ロボット
JP2002268663A (ja) * 2001-03-08 2002-09-20 Sony Corp 音声合成装置および音声合成方法、並びにプログラムおよび記録媒体
JP2003016203A (ja) * 2001-06-27 2003-01-17 Casio Comput Co Ltd 動作プログラム作成システム、動作プログラム作成方法及び動作プログラム販売システム、動作プログラム販売方法及び動作プログラム販売サーバ装置
JP2003089078A (ja) * 2001-09-11 2003-03-25 Hitachi Hybrid Network Co Ltd ロボットの非常用自律移動システム及び非常用自律移動プログラム
JP2003089079A (ja) * 2001-09-11 2003-03-25 Hitachi Hybrid Network Co Ltd ロボットの非常用自律移動システム及び非常用自律移動プログラム
JP2004145394A (ja) * 2002-10-21 2004-05-20 Hitachi Ltd マンマシンインターフェイス設計支援装置
JP4713846B2 (ja) * 2004-04-30 2011-06-29 独立行政法人科学技術振興機構 ロボット遠隔制御システム

Also Published As

Publication number Publication date
JP2007213190A (ja) 2007-08-23

Similar Documents

Publication Publication Date Title
JP4386367B2 (ja) コミュニケーションロボット改良システム
JP4639343B2 (ja) ロボット遠隔操作システム
JP5033994B2 (ja) コミュニケーションロボット
JP5070441B2 (ja) ロボット遠隔操作システム
JP5429462B2 (ja) コミュニケーションロボット
JP4822319B2 (ja) コミュニケーションロボットおよびそれを用いた注意制御システム
CN101316550B (zh) 多摄像机移动远程会议平台
JP4512830B2 (ja) コミュニケーションロボット
JP5366048B2 (ja) 情報提供システム
JP2007260822A (ja) 道案内ロボット
JP4599522B2 (ja) コミュニケーションロボット
JP5028568B2 (ja) ロボット制御システム
JP2009241166A (ja) ロボット遠隔操作システム
JP5145569B2 (ja) 対象物特定方法および装置
CN111527461B (zh) 信息处理装置、信息处理方法和程序
JP2007160427A (ja) ロボット制御システム
JP4962940B2 (ja) 道案内システム
KR20130060952A (ko) 서비스로봇 원격제어 시스템
JP2009131914A (ja) ロボット制御システム
JPWO2019155735A1 (ja) 情報処理装置、情報処理方法及びプログラム
JP2005131713A (ja) コミュニケーションロボット
WO2012008553A1 (ja) ロボットシステム
JP4517085B2 (ja) ロボット遠隔制御システム
WO2019054037A1 (ja) 情報処理装置、情報処理方法、およびプログラム
US11792484B2 (en) Information providing system, information providing method and management apparatus for information providing system for providing information obtained through a robot

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090826

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: 20090901

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090925

R150 Certificate of patent or registration of utility model

Ref document number: 4386367

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: 20121009

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121009

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121009

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131009

Year of fee payment: 4

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250