本発明の記述を続ける前に、添付図面において同じ部品については同じ参照符号を付している。
本発明の実施形態を説明する前に、まずの本発明の種々態様について説明する。
本発明の第1態様によれば、ロボットの保持装置手段を用いて生活空間内の物品の保持を行うための保持ロボット制御方法であって、
上記生活空間内の物品のうちの保持対象物の状況を認識する認識ステップと、
上記認識ステップで認識した状況に応じて、異なる物品保持方法のうちから1つの物品保持方法を特定する特定ステップと、
上記特定ステップで特定した物品保持方法に従って、上記保持装置手段によって上記保持対象物の保持を行う保持ステップと、を含む保持ロボット制御方法を提供する。
本発明の第2態様によれば、生活空間内の物品のうちの保持対象物の状況を認識する認識装置と、
上記保持対象物の状況に応じて異なる物品保持方法を記憶する保持方法データベースと、
上記認識装置によって認識された状況に応じて、異なる物品保持方法のうちから1つの物品保持方法を特定する物品保持方法特定手段と、
上記物品保持方法特定手段によって特定された物品保持方法を参照して、上記保持対象物の保持を実行する保持装置と、を備えたロボットを提供する。
本発明の第3態様によれば、上記保持対象物は、形、温度、内容物を含む形態が変化する物品であり、
上記認識装置は、上記保持対象物の上記形態を上記保持対象物の上記状況として認識し、
上記物品保持方法特定手段は、上記認識装置によって認識された状況としての上記形態に応じて、上記保持方法データベース内の上記異なる物品保持方法のうちから1つの物品保持方法を特定する、第2態様に記載のロボットを提供する。
本発明の第4態様によれば、上記保持方法データベースには、上記保持対象物として複数の異なる保持対象物に対する物品保持方法が記憶されており、上記異なる保持対象物は、物品ID情報は共通であり、形、温度、又は、内容物などの形態が異なる物品であって、その形態が変わることにより保持方法が変わるように上記物品保持方法が記憶されている、第2態様に記載のロボットを提供する。
本発明の第5態様によれば、上記認識装置は、時間に対して変化する、上記保持対象物の状況を認識する、第2〜4態様のいずれか1つに記載のロボットを提供する。
本発明の第6態様によれば、上記保持対象物は、その内部に物体を収容可能な物品であり、
上記認識装置は、上記保持対象物の内部に物体が収容されているか否かを認識し、
上記物品保持方法特定手段は、上記認識装置によって認識された、上記保持対象物の内部に物体が収容されているか否かの状況に応じて、異なる物品保持方法のうちから1つの物品保持方法を特定する、第5態様に記載のロボットを提供する。
本発明の第7態様によれば、上記保持対象物は、光透過特性を有しており、
上記認識装置は、上記保持対象物における光の屈折を利用して、当該保持対象物の内部に物体が収容されているか否かを認識し、
上記物品保持方法特定手段は、上記認識装置によって認識された、上記保持対象物の内部に物体が収容されているか否かの状況に応じて、異なる物品保持方法のうちから1つの物品保持方法を特定する、第6態様に記載のロボットを提供する。
本発明の第8態様によれば、上記認識装置は、上記保持対象物の温度分布を認識し、
上記物品保持方法特定手段は、上記認識装置によって認識された、上記保持対象物の温度分布の状況に応じて、異なる物品保持方法のうちから1つの物品保持方法を特定する、第4態様に記載のロボットを提供する。
本発明の第9態様によれば、上記保持対象物は、調理器具又は食器であり、
上記保持方法特定手段は、上記認識装置によって認識された上記調理器具又は食器の温度分布に基づいて、上記調理器具又は食器の保持位置を特定する、第8態様に記載のロボットを提供する。
本発明の第10態様によれば、上記保持対象物は、紙又は衣類である、第5態様に記載のロボットを提供する。
本発明の第11態様によれば、上記認識装置は、上記保持対象物の上に物体が置かれているか否かを認識し、
上記物品保持方法特定手段は、上記認識装置によって認識された、上記保持対象物の上に物体が置かれているか否かの状況に応じて、異なる物品保持方法のうちから1つの物品保持方法を特定する、第5態様に記載のロボットを提供する。
本発明の第12態様によれば、上記保持対象物は、食器である、第11態様に記載のロボットを提供する。
本発明の第13態様によれば、上記保持方法を学習する学習手段をさらに備え、
上記学習手段は、人が実行している物品の保持動作を参照してその物品の保持方法を学習し、学習した保持方法を上記物品に対応付けて上記保持方法データベースに記憶する、第2態様に記載のロボットを提供する。
本発明の第14態様によれば、上記保持方法データベースには、物品毎に予め設定された保持方法が記憶されており、
上記保持方法特定手段は、上記認識装置による認識結果を参照して上記保持方法データベースに予め設定されている保持方法の中から上記保持対象物の保持方法を選択し、
上記保持方法特定手段はさらに、上記認識結果に対応する保持方法が上記保持方法データベースに予め設定されていないときには、上記保持対象物の材質又は形状に近似する物品に設定されている保持方法を、上記保持方法データベースから選択して上記保持対象物の保持方法とする、第2態様に記載のロボットを提供する。
本発明の第15態様によれば、上記認識装置は、上記保持対象物の材質を認識し、
上記物品保持方法特定手段は、上記認識装置によって認識された、上記保持対象物の材質に応じて、異なる物品保持方法のうちから1つの物品保持方法を特定する、第2態様に記載のロボットを提供する。
本発明の第16態様によれば、上記認識装置は、
上記保持対象物を撮像する撮像装置と、
上記撮像装置によって撮像された画像に基づき、上記保持対象物の光学特性を利用してその材質を認識する材質認識手段と、を含む、第15態様に記載のロボットを提供する。
本発明の第17態様によれば、上記保持対象物に光を照射する光源をさらに備え、
上記材質認識手段は、上記保持対象物の反射特性を利用してその材質を認識する、第16態様に記載のロボットを提供する。
本発明の第18態様によれば、上記光源は、上記保持対象物に対する位置を変更可能に設けられており、
上記撮像装置は、上記光源の位置を変えながら複数の画像を撮像し、
上記材質認識手段は、上記複数の画像を処理することによって上記保持対象物の材質を認識する、第17態様に記載のロボットを提供する。
本発明の第19態様によれば、生活空間内の物品の保持を行う物品保持システムであって、
上記生活空間内の物品のうちの保持対象物の状況を認識する認識装置と、
上記認識装置による認識結果に基づいて、上記保持対象物の保持を行うロボットと、を備え、
上記ロボットは、
上記認識装置によって認識された状況を受けて、当該状況に応じた保持方法を特定する保持方法特定手段と、
上記保持方法特定手段によって特定された保持方法に従って、上記保持対象物の保持を実行する保持装置と、を有する保持システムを提供する。
本発明の第20態様によれば、第19態様に記載の物品保持システムにおいて、
上記保持装置は、ロボットに搭載されている保持システムを提供する。
以下、本発明の実施形態について、図面を参照しながら説明する。
(第1実施形態)
図1は、本発明の第1実施形態に係る、保持装置103を有するロボット2による物品保持システム10の基本構成を示す図である。この物品保持システム10の基本構成部分は、例えば図2Aに示すような、人型の家庭用ロボット2に搭載される。このロボット2は、作業命令を受けて、その命令に沿った作業を実行する装置であり、上記物品保持システム10は、その作業に係る物品の保持を実行する。
上記物品保持システム10は、図1に示すように、認識装置101、保持方法特定手段102、保持方法データベース102d、及び保持装置103を含む。
上記認識装置101は、保持対象物の状況を認識する。認識装置101による状況認識の具体的な処理については後述する。
上記保持方法特定手段102は、上記認識装置101が認識した状況を参照して、その状況に最適な物品保持方法をあらかじめ記憶されている複数の物品保持方法の中から特定する。ここでの「物品保持方法」には、後述するように、物品を把持又は吸着する把持ハンド103又は吸着ハンド103sを選択することや、保持した物品をどのように移動させる(把持又は吸着角度、移動速度、移動方向など)か、等が含まれる。
保持方法データベース102dには、保持対象物の状況に応じて異なる物品保持方法を予め記憶している。
上記保持装置103は、例えば、ロボット2の本体部390に少なくとも1個配置され、好ましくは、ロボット2の本体部390の両側部に一対配置されている。それぞれの保持装置103は、上記保持方法特定手段102によって特定された保持方法に従って保持対象物の保持を実行する。各保持装置103は、例えば図2Aに示すように、物品の把持を行うハンド103aと、先端にハンド103aが取り付けられた屈曲可能なアーム103bと、を含むとしてもよい。このハンド103aには、空圧式、油圧式、モータ式、人工筋肉等の複数の指からなるハンド、吸着ハンド103s等、が含まれ、後述するように特定された保持方法に応じてそれらが選択される。
図2Bは、物品保持時に姿勢制御を行うための上記保持装置103の模式図を示したものである。この図2Bにおいて、保持装置103のアーム103bは、長さL1の基端側のアームと、長さL2の先端側のアームと、基端側のアームの基端部が間接P0によりロボット2の本体部390の側部に回動可能に接続されているとともに、基端側のアームの先端部と先端側のアームの基端部とが間接P1により屈曲可能に接続され、さらに、先端側のアームの先端部に間接P2を介してハンド103aが接続されている。ここで、説明を簡単にするために、2次元平面上において、ハンド103aとアーム103bの接点間接P2を姿勢制御することを考える。
図2Cは、後記する移動装置414や保持装置103のモータ制御形式のアクチュエータなどの任意の駆動部の駆動制御系を表している。なお、すべての駆動部について、同様の駆動制御系が構成されている。
モータ304は、その回転軸が、モータドライバ303から供給される電流によって正逆駆動されて、たとえば4個の車輪394を正逆回転させる。上記モータ304には、駆動された回転軸の回転角度を検出するための角度センサが設置されている。角度センサ307からの出力信号は、エンコーダ306及びエンコーダボード305を通して、CPU301に入力される。
CPU301は、上記モータ304の駆動を制御する。CPU301には、制御をするために必要な情報を格納するメモリ310が接続されている。
また、ハンド103aには、保持対象物をきちんと保持しているかどうかの検出を行う圧力センサ309が、たとえば、把持面に設置されており、その圧力センサ309からのセンサ出力信号は、A/Dコンバータ308を通してCPU301に入力される。
角度センサ307からの出力信号と圧力センサ309からのセンサ出力信号を入力信号として受け取り、受け取られた入力信号に応じて、CPU301はモータ304に対する制御信号を作成し、その制御信号は、D/Aコンバータ302を通してモータドライバ303へ送られる。この制御信号に応じてモータ304は正逆駆動されることで、アームやハンドの姿勢制御を実現する。
ここで、アーム103bの長さはそれぞれL1、L2、角度センサ307が間接P0,P1において、角度センサ(ここでは、エンコーダ)によって取得されており、その角度をそれぞれθ、φとする。このとき、アーム103bの先端位置P2の位置は、以下の関係式で求まる。
この関係式から、保持対象物の位置を推定し、任意の位置へ移動させることができるため、姿勢制御を実現することができる。姿勢制御とは、以上のような角度センサなどの情報を元に微調整を行い、位置や向きを正確に制御することである。また、ここでは簡略化のために2次元平面における位置制御のみについて説明したが、3次元空間における位置・姿勢制御についても同様の処理が可能である。
たとえば、内部に液体の入ったグラスGLをハンドで保持する場合、3次元空間における姿勢制御とは、液体がこぼれないように姿勢を制御することである。ここで、座標系を図2Dのように設定する。すなわち、対象物の位置に関しては、互いに直交するXw軸とYw軸とで構成される水平な床面をXw−Yw平面、この平面から垂直上向きにZw軸を設定する。また、姿勢(回転)に関しては、グラスGLの底面を互いに直交するx軸とy軸とで構成されるx−y平面、この平面からグラスGLの口方向へ向かって垂直方向をz方向を設定し、x、y、zの各軸に対して原点側から見て右回りの方向にそれぞれ、α、β、γの方向とする。内部に液体LDの入ったグラスGLを姿勢制御する場合、この6軸に対して、αとβの方向のみが変化しないようにすればよい。
図2Eは、保持レベルに対するαとβの方向の許容変動範囲を示したテーブルであって、保持方法データベース102dに記憶された保持方法の情報を示している。「保持レベル」は、グラスGLに入っている液体LDの量と、グラスGLの大きさに依存して予め決定される。図2Dに示したように、グラスGLの高さをh、グラスGLの口の半径をr、グラスGLに入っている液体LDの高さをhi、グラスGLの水の傾きに対する許容角度をθwとすると、保持レベルは以下のように決定される。
グラスGLの高さh、グラスGLの口の半径rは、グラスGLに付された電子タグに書き込んでおけばよい。また、グラスGLに入っている液体LDの高さhiは、後述する重量センサを利用して測定することができる。すなわち、グラスGLの重量w
g及び、グラスGLの形状情報を電子タグに書き込んでおく。重量センサによって測定された対象物の重さをw
wとすると、内部に入った液体LDの重量はw
w−w
gとして求められる。ここで、内容物が水であるとすると、内部に入った液体LDの量が推定できる。ここで、電子タグ情報より、グラスGLの形状情報を取得できため、これらの情報からグラスGLに入っている液体LDの高さhiを推定することができる。
次に、ロボット2の置かれている環境システムについて説明する。
図2Fは本発明の上記第1実施形態にかかるロボット2が活動する環境システムの構成を示すブロック図である。図2Fに示すように、環境システムは、大きく分けて、上記物品保持システム10を設置したロボット2の一例として機能する作業ロボット402、環境内の状況を把握するセンシング装置(上記認識装置101の一例として機能することができる装置。)404を含む、サーバとしての環境管理サーバ401、及び操作装置としての操作端末403の3個のサブシステムから構成される。サブシステム401〜403はそれぞれ送受信手段409を備えており、これらの送受信手段409によって、それぞれの制御手段の制御の基に、無線又は有線のネットワークを介して、情報やデータ、信号などのやり取りを互いに独立して行うことができる。なお、各送受信手段409は、共通の処理を行うため、図2Fでは同一の符号409を付している。
なお、ここでの説明では、「環境」は、一例として、家の部屋とするが、本発明はこれに限られるものではなく、生活空間であって物品が配置されている空間を意味する。
各サブシステムの構成と動作について、順に説明する。
<環境管理サーバの構成>
環境管理サーバ401は、センシング装置404によって把握した状況のうち、環境内に存在する物品と、人やロボット402を含む移動体の状況を管理する物品及び移動体検索・管理手段405と、その物品及び移動体のデータを蓄積する物品及び移動体データベース406と、物品及び移動体以外の環境全体の状況を管理する環境マップ管理手段407と、その環境全体のデータを蓄積する環境マップデータベース408とを備えている。センシング装置404からの出力信号は、物品及び移動体検索・管理手段405と環境マップ管理手段407とにそれぞれ入力されるように接続されている。物品及び移動体検索・管理手段405は、物品及び移動体データベース406と制御手段410とに接続されている。環境マップ管理手段407は、環境マップデータベース408と制御手段410とに接続されている。送受信手段409は、制御手段410に接続されている。
送受信手段409は、制御手段410の制御の基に、物品及び移動体データベース406のデータ及び環境マップ408のデータの問い合わせ(信号)を外部から受信したり、その応答信号を外部に発信したり、また、ロボット402に対する制御コマンドを送信したりする。制御手段410は、物品及び移動体検索・管理手段405、環境マップ管理手段407、及び送受信手段409のそれぞれの動作を独立してコントロールする。
センシング装置404は、環境内に存在する家具などの物品、及び環境内に存在する人やロボット402について、その位置(位置座標)と状態(座る、外出、立つ、寝る、歩く、保持、吸着、把持、解放など)を常時監視する。
また、センシング装置404は、人やロボット402によって、環境内に物品が持ち込まれたことや、環境外へ物品が持ち出されたことも検出可能である。センシング装置404は、具体的には、環境内に設置されたカメラ(画像センサ)や、タグセンサ等があるが、詳細については後述する。そして、物品や移動体を検出したとき、センシング装置404は、その検出情報を物品及び移動体検索・管理手段405及び環境マップ管理手段407に送信する。センシング装置404から物品及び移動体検索・管理手段405及び環境マップ管理手段407に送信する情報としては、例えば、物品の検出時刻、物品の位置(位置座標)及び向き等がある。
物品及び移動体検索・管理手段405は、センシング装置404によって検出された物品及び移動体の情報を、物品及び移動体データベース(DB)406に蓄積して管理する。物品及び移動体データベース406に管理する情報は、少なくとも物品及び移動体の現在位置(位置座標)の情報を含む。物品及び移動体データベース406の詳細、及びその更新方法については後述する。
また、物品及び移動体検索・管理手段405は、センシング装置404からの情報に基づいて、物品の操作(物品の保持及び/又は移動などの取扱い)を行っている移動体(人・ロボット)を推論し、その推論結果を物品及び移動体データベース406に蓄積する。
さらに、物品及び移動体検索・管理手段405は、送受信手段409で受信するなどの結果として制御手段410から物品及び移動体検索・管理手段405に、物品及び移動体データベース406に関する問い合わせがあったとき、その問い合わせの内容に応じて必要な情報を物品及び移動体データベース406から取り出し、制御手段410に送る。
また、環境マップ管理手段407は、センシング装置404からの情報に基づいて、環境マップを作成して環境マップデータベース408に蓄積するとともに、その作成した環境マの管理を環境マップデータベース408で行う。環境マップデータベース408に蓄積された環境マップはロボット402が環境内を移動する際に利用するものであり、ロボット402はこの環境マップをサーバ401から取得して、移動経路計画を立てる。
さらに、環境マップ管理手段407は、送受信手段409で受信するなどの結果として制御手段410から環境マップ管理手段407に、環境マップデータベース408に関する問い合わせがあったとき、その問い合わせの内容に応じて必要な情報を環境マップデータベース408から取り出し、制御手段410に送る。
また、制御手段410は、環境管理サーバ401の全体を制御する要素であり、主な制御内容としては以下のものがある。
1)送受信手段409が、環境管理サーバ401内にある各種データに関する問い合わせを受信したとき、その問い合わせ内容を制御手段410で判断し、その判断結果に応じて、制御手段410から物品及び移動体検索・管理手段405や環境マップ管理手段407にデータの参照要求を出す。
2)上記要求に対して物品及び移動体検索管理手段405又は環境マップ管理手段407から制御手段410に送られてきた結果を、制御手段410の制御の基に、送受信手段409を介して、問い合わせ元に送る。
3)操作端末403から送受信手段409を介して制御手段410に送信されたロボット402の作業内容メッセージを解釈し、そのロボット402に動作を実行させるためのロボット制御コマンド列を制御手段410で生成して、制御手段410から送受信手段409を介してロボット402に送信する。なお、ロボット制御コマンド列については、後述する。
4)必要に応じて、一定時間毎に、物品及び移動体データベース406で管理している物品の一部又は全部の状況や、環境マップデータベース408で管理している環境マップの状況を、送受信手段409を介して制御手段410により、ロボット402やユーザ(操作端末403)にブロードキャストする。
(センシング装置の具体例)
上記第1実施形態にかかるロボットによる物品保持システムが対象にする環境は、家庭などの生活空間である。したがって、この環境では、物品がいろいろな場所に置かれ、しかもその位置に規則性がなく、その位置は常に変化する。また、人やロボットのような移動体も、その移動経路に制限がなく、自由に動き回る。このため、上記ロボットによる物品保持システムでは、環境内の物品や移動体の状況を的確に検出可能なセンシング技術が要求される。
・画像センサ
物品の検出に最も良く用いられるセンサの一つが、画像センサ(カメラ)である。室内全体のような比較的広い範囲を少ない設備で効率よく監視するためには、画像センサ、すなわちカメラを部屋の天井や壁等に固定し、そのカメラ画像(撮像画像)を用いて、室内の物品等の検出を行うのが一般的である。
カメラ画像を用いて環境内の物品や移動体を検出する一般的な手法として、背景差分法がある。背景差分法とは、背景としてのモデル画像を予め準備しておき、現在のカメラ画像とモデル画像との差分を取ることによって、対象物を検出する方法である。上記ロボットによる物品保持システムでは、環境内の物品や移動体を検出・監視する必要があるので、モデル画像としては、環境の状況変動が少ない場合は、その環境内に物品・移動体が存在していないときに撮像した画像を用いればよい。また、環境の状況変動が激しい場合は、所定の時間間隔を空けて撮影された複数の画像を平均して得られた画像を、モデル画像として用いればよい。
しかしながら、画像センサを用いた物品検出には、一般に、明るさの変化に弱い、解像度が低い、物品が他の物に隠れて見えなくなる(死角の問題)、重なった複数の物品が一個の物品として検出されてしまう等、多くの問題がある。例えば死角の問題に関しては、環境内に複数台のカメラを略均等に配置し、その環境内に存在する物品は全て、いずれかのカメラによって撮像可能なようにすれば解決する。ところが、死角が無くなるだけでは、物品検出を確実に行い得るとは限らない。つまり、カメラ台数をいくら増やしても、解像度の問題や物品の重なりの問題は解決しないため、背景差分画像で浮き出た部分が何であるかを特定することが必ずしもできない。
・電子タグの利用
近年では、電子タグを用いて物品や移動体の位置(位置座標)検出を行う手法が開発されつつある。電子タグとは、データを蓄えるICと、データを無線で送受信するアンテナとから構成されるデバイスである。リーダライタと呼ばれる装置によって、電子タグに書き込まれた情報を非接触で読み取ったり、電子タグに情報を非接触で書き込んだりすることができる。このようなリーダライタをタグリーダと呼ぶ。
そこで、電子タグを各物品に付し、その物品に関するデータ、例えば物品の種類(又は物品のID情報)、形状、重さ、その物品の画像、製造年月日等のデータを電子タグに埋め込む。また、移動体(人及びロボット)にも電子タグを付し、その移動体に関するデータ、例えば人の名前や生年月日等の情報を書き込む。人の場合は、常時携帯するもの(例えば腕時計や眼鏡等)に電子タグを付してもよい。一方、環境内には、タグリーダを多数設置する。タグリーダが物品や移動体に付された電子タグの情報を読み取ることによって、カメラがなくても、環境内に存在する物品等の検出が可能になる。
また、カメラを用いる場合は単に物品の存在を検出するだけであるが、電子タグを用いる場合は、物品の存在を検出できるだけでなく、電子タグに埋め込まれた当該物品のデータを利用することができる。例えば物品の形状データを利用することによって、後述するように、ロボット402による物品の保持を容易にすることができる。また、製造年月日データを利用することによって品質期限の管理が可能になったり、物品の種類データを利用することによって捜し物を見つけるのが容易になったりする等、ユーザに大きなメリットをもたらす。
しかしながら、電子タグを用いた物品検出には、通信距離が短いという問題がある。すなわち、電子タグとタグリーダとのデータのやりとりには人体に影響のない非常に弱い無線電波を使わざるを得ないため、通信距離がせいぜい数10cmと非常に短い。また、通信距離の問題を解消するために、タグリーダを環境内に多数設置することも考えられるが、タグリーダはカメラに比べてコストが高いため、現実的ではない。
・画像センサと電子タグとの組合せ
以上、説明したように、画像センサを用いた方法と、電子タグを利用する方法とには、一長一短がある。そこで、画像センサと電子タグの両方を利用する方法が考えられる。すなわち、上述した背景差分法によって、環境内の物品のおおよその位置(位置座標)を特定し、さらに電子タグを用いてその物品を特定する、というハイブリッド処理を行うのである。
具体的な処理の例を、2つ挙げる。
1つの例は、環境内の天井や壁等にカメラを設置し、作業ロボット402にタグリーダ404aを取り付けるというものである。また、各物品及び移動体には電子タグを取り付けておく。まず、カメラ画像を用いた背景差分法によって、環境内の物品の位置(位置座標)を特定する。そして、特定した物品の近傍にロボット402を移動させて、そのロボット402に取り付けたタグリーダ404aによって、その物品に取り付けられた電子タグから情報を読み取り、その物品を特定する。
もう1つの例は、環境内の天井や壁等にカメラを設置し、その環境内に複数個のタグリーダを略均等に設置するというものである。このタグリーダは、電子タグのデータ読み取りに関して指向性を有し、かつ、その読み取り方向が可変であるものとする。まず、カメラ画像を用いた背景差分法によって、環境内の物品の位置(位置座標)を特定する。次に、特定した物品に最も近い位置(位置座標)に設置されたタグリーダを選択し、そのタグリーダの読み取り方向をその物品に向ける。そして、その物品に取り付けられた電子タグから情報を読み取り、その物品を特定する。なお、この例では、タグリーダと電子タグとの間の距離が長くなる場合があるため、比較的強い無線電波を用いる必要がある。このため、環境内に人がいないことを例えば背景差分法によって確認した上で、電子タグからの情報読み取りを行うのが好ましい。
なお、本システムにおけるセンシングには、ここで説明した画像センサや電子タグを用いた方法以外の方法を採用してもよい。
(物品及び移動体検索管理手段)
図2Gは、物品及び移動体検索・管理手段405の内部構成を概念的に示す図である。図2Gにおいて、物品取扱検出手段431は物品が移動体によって取り扱われていること(物品取扱状態)を検出し、取扱者特定手段432は物品取扱検出手段431の検出結果に応じて、物品を取り扱っている移動体(取扱者)を特定する。
物品取扱検出手段431はセンシング装置404からの情報に基づいて、物品取扱状態を検出する。例えば、上述したような画像センサと背景差分法を利用して物品検出を行っている場合は、カメラ画像とモデル画像とを比較して両者の差のある部分が生じた場合に、その部分で物体が取り扱われていると検出する。もちろん、例えば電子タグを利用して、物品取扱状態を検出してもよい。
取扱者特定手段432は、物品取扱検出手段431が物品取扱状態を検出したとき、その物品を取り扱っている取扱者(人又はロボット)を特定し、その取扱者の情報を物品及び移動体データベース406に蓄積する。
取扱者の特定は、具体的には次のようにすればよい。センシング装置404としてカメラを利用している場合は、物品取扱状態が検出された領域をそのカメラによって撮像する。そして、撮像画像に対して顔認証処理を行い、移動体を特定する。特定された移動体は、取扱いがなされた物品の近傍にいたと考えられるので、その移動体を取扱者と推定する。なお、センシング装置404としては通常、広域を撮影するために広角カメラが利用されるが、広角カメラの撮像画像の解像度は比較的低く、顔認証処理を行うには十分でない可能性がある。そこで、広角カメラとは別個に、顔認証処理用のカメラとして狭角の高分解能カメラを環境内又はロボット402に設置してもよい。物品取扱検出手段431が物品取扱状態を検出した領域をこの狭角カメラによって撮像し、その撮像画像について顔認証処理を行うことによって、取扱者を精度よく特定できる。
なお、物品取扱者の特定は、顔認証処理に限らず、例えば虹彩認証等その他の認証処理によって行ってもよい。また、認証処理を行わずに、そのカメラ画像自体を物品及び移動体データベース406に蓄積してもよい。これは、認証処理によって移動体を特定できなかった場合に限って行ってもよい。さらに、取扱者の特定は電子タグを利用して行ってもよい。
(物品及び移動体データベース)
物品及び移動体データベース406は、物品及び移動体の情報を蓄積するデータベースであり、例えば、図2Hに示すような物品を扱う物品データベース(DB)406bと、図2Iに示すような移動体を扱う移動体データベース(DB)406mとを備えている。
図2Hの物品データベース406bは、物品データ、物品履歴データ、及び物品属性データをそれぞれ蓄積する3個のサブデータベース406b−1、406b−2、406b−3からなる。
1)物品データ
物品データのサブデータベース406b−1に蓄積される物品データには、個々の物品を区別するためのID情報(例えば、図2Hにおいて、小さい缶に対してIDとして割り当てられた「kan_small_0001」など)、物品履歴データへのポインタ(例えば、図2Hにおいて、小さい缶の位置履歴としての「リスト1」など)、及び物品属性データへのポインタ(例えば、図2Hにおいて、小さい缶に対して属性データとしての「kan_small」など)、を含む。図2Hの例では、同種類であっても物理的に異なる物品は異なるID情報が割り当てられ、別の物品として扱われる。ただし、同種の物品は同じ物的属性を持つため、ID情報及び位置履歴データへのポインタは異なるが、物品属性データへのポインタは共通である。これにより、データベースの容量が節約できる。
2)物品履歴データ
物品履歴データのサブデータベース406b−2に蓄積される物品履歴データは、物品が取り扱われた履歴を表すものであり、図2Hでは、取扱時刻(例えば、図2Hにおいて、位置履歴リスト1に対して時刻「t1」など)、取扱内容(例えば、図2Hにおいて、位置履歴リスト1に対して操作内容「新規」など)、取扱者(例えば、図2Hにおいて、位置履歴リスト1に対して操作者「お父さん」など)、取扱後の位置(位置座標)(例えば、図2Hにおいて、位置履歴リスト1に対して操作後の位置「x1,y1,z1,l1,m1,n1」など)、の4項目を含む。なお、位置データ(位置座標データ)の表現は様々なものが考えられるが、図2Hの例では、物品の位置(重心位置座標等を用いる)を表す3つのパラメータ(x1,y1,z1)と、物品の向きを表す3つのパラメータ(l1,m1,n1)とを合わせた6つのパラメータで位置(位置座標)を表現している。また、取扱者は、取扱者特定手段432によって特定された移動体である。
3)物品属性データ
物品属性データのサブデータベース406b−3に蓄積される物品属性データは、物品が有する物理的な属性情報を表すものであり、例としては、図6に示すように、物品の重量(例えば、図2Hにおいて、kan_smallに対して重量「100g」など)、形状(例えば、図2Hにおいて、kan_smallに対して形状モデル・サイズとして円筒の斜視図など)、外観画像データ(例えば、図2Hにおいて、kan_smallに対して外観画像の画像データなど)等が挙げられる。
また、図2Iの移動体データベース406mは、移動体データ、及び移動体履歴データをそれぞれ蓄積する2つのサブデータベース406m−1、406m−2からなる。
1)移動体データ
移動体データのサブデータベース406m−1に蓄積される移動体データは、個々の移動体を区別するためのID情報(例えば、図2Iにおいて、IDとして「お父さん」など)、及び移動体履歴データへのポインタ(例えば、図2Iにおいて、位置履歴として「リスト3」など)、を含む。移動体データに格納される移動体は、ユーザが手動で予め登録するようにすればよい。
2)移動体履歴データ
移動体履歴データのサブデータベース406m−2に蓄積される移動体履歴データは、時刻(例えば、図2Iにおいて、位置履歴リスト3として時刻「t1」など)、その時刻における位置(位置座標)(例えば、図2Iにおいて、位置履歴リスト3として位置「(x4,y4,z4)」など)、及びその時刻における状態(例えば、図2Iにおいて、位置履歴リスト3として状態「座る」など)の3項目を含む。移動体(ロボット402以外のロボット、又は、人)は、物品と異なり、空間内に占める体積が大きいため、ロボット402の移動の障害物になりやすい。このため、ロボット402がそのような障害物を避けつつ移動できるように、移動体の位置(位置座標)はできるだけ現実に則して表すのが好ましい。図2Iでは、必要最小限の情報で表すべく、移動体が床面上で占める領域を円で近似し、円の中心座標と半径によって移動体の位置(位置座標)を表している。もちろん、さらに厳密に表現してもよく、例えば移動体が床面上で占める領域の輪郭を複数個の線分ベクトルを用いて近似してもよい。
また、移動体の状態は、人の場合は「座る」、「立つ」、「寝る」、「歩く」等の一般的な人の動作によって表し、ロボット402の場合は、「保持」(又は「把持」若しくは「吸着」)、「解放」等のロボット402が物品に対して行う動作によって表す。なお、ロボット402に関しては、その動作だけでなく、作業対象の物品ID情報と併せて「物品ID:動作内容」と表現する。具体的には例えば、図2Iの位置履歴リスト5の時刻t4として示すように「kan_small_0001把持」となる。状態の特定は、例えば移動体履歴データのサブデータベース406m−2内に、例えば移動体の状態候補を予め複数準備しておき、センシング装置404による検出結果等に基づいて、移動体の状態がどの状態候補に当てはまるかを物品及び移動体検索・管理手段405で判断して行えばよい。
物品及び移動体検索・管理手段405は、物品及び移動体データベース406に物品や移動体の情報を格納し、また各物品や移動体の位置(位置座標)が変更される毎に、その情報を更新する。なお、更新のタイミングはこれに限るものではなく、例えば、所定時間毎に更新するなど、更新のタイミングを適宜設定すればよい。
なお、物品履歴データ及び移動体履歴データは、できるだけ長時間に亘ってデータ蓄積するのが好ましい。これにより、より過去に遡って履歴を調べることができる。また、移動体履歴データは、できるだけ短い時間間隔でデータを蓄積するのが好ましい。これにより、人やロボット等の移動体の移動経路をより細かく管理することができる。ただし、データベースの容量には限界があるため、ある所定期間のデータを蓄積することとし、その期間よりも過去のデータは随時消去してもよい。また、移動体の状態変化が激しいときには、データを蓄積する時間間隔を短くし、状態変化が少ないときには、時間間隔を長くするようにしてもよい。
(環境マップと設備データベース)
図2J〜図2Lは環境マップデータベース408の環境マップの例である。図2Jは実環境の例、図2Kは図2Jの実環境を立体モデルで簡略化した環境マップ、図2Lはさらに平面モデルで簡略化した環境マップである。
環境マップは、その用途や、作成にかかる時間(手間)に応じて作成すればよい。例えば、立体モデルからなる環境マップを極めて短時間で作成する必要があるときは、図2Kのように、環境内に存在する立体物を、それを覆う最小の直方体でモデル化すればよい。図2Kでは、テーブルTbと本棚Bsはそれぞれ直方体でモデル化され、ゴミ箱Tsは略円柱でモデル化されている。平面モデルからなる環境マップも同様であり、図2Lでは、テーブルTbと本棚Bsは平面に正射影した矩形領域(斜線を付した領域)でそれぞれモデル化され、ゴミ箱Tsは円領域(斜線を付した領域)でモデル化されている。これら2つの矩形領域及び円領域は、ロボット402が移動不可能な領域に設定される。さらに、図2Jに示すような実環境をそのまま立体モデル化したものを、環境マップとしてもよい。
図2Mは環境マップに付随する設備データベース408eの一例を示す図であり、図8の環境に対応したものである。この設備データベースは、設備データと、設備属性データとをそれぞれ蓄積する2つのサブデータベース408e−1,408e−2からなる。
1)設備データ
設備データのサブデータベース408e−1に蓄積される設備データは、環境それ自体、及びこの環境内の個々の設備(物品とは異なり、環境に固定又は設置されたものであって、ロボットの取扱い作業の対象外となるもの)を特定するためのID情報(例えば、図2Mにおいて、IDとして「room_0001」など)と、設備属性データへのポインタ(例えば、図2Mにおいて、属性データとして「room01」など)とを含む。より具体的には、図2M9では、環境(部屋)にはID情報として「room_0001」が付され、環境内に存在するテーブルTb、本棚Bs及びゴミ箱Tsには、それぞれ、ID情報として「table_0001」、「bookshelf_0001」、「trash_0001」が付されている。
2)設備属性データ
設備属性データのサブデータベース408e−2に蓄積される設備属性データは、環境自体に係る設備属性データは、その環境内の床面データを含む。例えばその環境内に互いに高さの異なる複数の床面が存在するときは、その床面の数だけ床面データ(例えば、図2Mにおいて、room_01の構成面として「床面1,床面2」など)が蓄積される。床面データは、例えば次のように表される。
((X1,Y1,Z1),(X2,Y2,Z2),(X3,Y3,Z3),(X4,Y4,Z4),2200,0)
ここで、最初の4組の座標値は、床面を構成する各頂点の実世界座標を表し、次の値(2200)は、その床面から天井までの距離(mm)を表す。また、最後の値(0)は床面の材質を意味する。例えば、「0」はフローリング、「1」は畳、「2」は絨毯等とすればよい。
家具等の設備に係る設備属性データは、その設備を構成する各面のデータ(面1,面2)、設備の種類、その設備が物品を載置可能な面を有する場合、その面に載置される主な物品の形状とその姿勢を含む。具体的には例えば、設備を構成する面のデータは次のように表される。
((X1,Y1,Z1),(X2,Y2,Z2),(X3,Y3,Z3),1,400)
ここで、最初の3組の座標値は、その面を構成する各頂点の実世界座標を表す。次の値(1)はその面に物品が載置可能な否かのフラグであり、「1」は物品が載置可能、「0」は載置不可能を示す。最後の値(400)は、その面に物品が載置可能であるとき、その載置可能な物品の上限高さ(mm)を示す。例えばその面がテーブルの天板であるときは、天板から天井までの距離が上限高さであり、その面が本棚におけるある一つの棚面であるときには、その棚面から直上の棚までの距離が上限高さとなる。
設備属性データにおける「主な物品の形状」とは、その設備に収容される物品の形状である。設備の種類が本棚であれば、「本の形状」となる。つまり、その幅に比べて奥行きと高さが極端に長い直方体が本棚の主な物品の形状である。また、「主な物品の姿勢」とは、その設備に収容されるときの物品の姿勢である。設備の種類が本棚であれば、その本をどのような姿勢で本棚の棚面に載置するかであり、通常は本を立てた姿勢となる。設備属性データに「主な物品の形状と姿勢」のデータを蓄積することによって、例えば、作業ロボット402に本を本棚に移動させる作業を指定したとき、その作業ロボット402は「主な物品の形状と姿勢」データを基にして、指定された本を立てた姿勢で本棚の棚に載置することができる。
ただし、設備の種類によっては、この「主な物品の形状と姿勢」データを有しない場合がある。例えばテーブルやゴミ箱は、物品の形状や姿勢には限定がない。このため、テーブルやゴミ箱の設備属性データは、「主な物品の形状と姿勢」のデータを有しない。
<作業ロボットの構成>
作業ロボット402は、環境内で物品の取扱い作業を行う。ここでは特に、ユーザの指示に従って、環境内で物品を移動させる作業を行うものとする。
図2A及び図2Fに示すように、ロボット402は、ロボット402の近辺の障害物等を検知する障害物センサ(物品保持システム10の上記認識装置101の別の例として機能することができる装置。)411と、物品を保持する保持装置103を含む物品保持システム10と、ロボット402の送受信手段409及び制御手段415並びに環境管理サーバ401の送受信手段409及び制御手段410及び物品及び移動体検索・管理手段405などを介して環境管理サーバ401の環境マップデータベース408内の環境マップを参照してロボット402の移動計画を立てる移動計画作成手段413と、ロボット402自体を移動させる移動装置414とを備えている。送受信手段409は、制御手段415の制御の基に、環境管理サーバ401や操作端末403との間で種々のデータの送受信を行う。制御手段415は、障害物センサ411と、送受信手段409と、物品保持システム10と、移動計画作成手段413と、移動装置414とに接続されて、それぞれの動作を独立してコントロールする。
前述の図2Aはロボット402の構造の一例を示した模式図であり、このロボット402は、上記したように、移動計画作成手段413や制御手段415等を収容する略箱型の本体部390を備えている。以下、図2Aにおける紙面手前側を前側、紙面奥側を後側、紙面右側を左側、紙面左側を右側と呼ぶ。
物品保持システム10の各保持装置103は、前述のように、多関節アーム103bと、そのアーム103bの先端に配設されたハンド103aと、それぞれのアーム103b及びハンド103aを独立してそれぞれ駆動させる駆動装置とから構成され、本体部390の両側部の上部に取り付けられている。それぞれのアーム103b及びハンド103aの駆動装置は、モータ制御によるアクチュエータにより構成するようにしてもよいし、その他のアクチュエータ、例えば人工筋肉によるアクチュエータにより構成するようにしてもかまわない。また、保持装置103として、さらに、空気の吸引により物品を保持する吸着ハンド103sを備える場合には、吸着ハンド103sと吸着ハンド103sの吸引動作及び吸引解除動作を制御する吸引装置により構成するようにしても構わない。
また、上記ロボットによる物品保持システム10では、環境内に存在する各物品に電子タグが付されているとして、それぞれの保持装置103には、環境管理サーバ401のセンシング装置404の一例としてのタグリーダ404aを取り付けている(図2A参照)。これにより、保持装置103が物品を保持したときに、保持した物品の電子タグに書き込まれた情報をタグリーダ404aが読み取り、読み取られた情報によって、保持装置103により保持した物品が何であるかを、環境管理サーバ401の物品及び移動体検索・管理手段405で物品及び移動体データベース406を参照して特定することができる。なお、保持装置103に取り付けるタグリーダ404aは省略し、環境に設置されたタグリーダ404aを利用するようにしてもかまわない。
移動装置414は、4つの車輪394と、4つの車輪394を正逆回転駆動するモータ304と、モータ304を駆動制御するモータドライバと303などによって構成されており(図2C参照)、これらの車輪394は、本体部390の左右両側にそれぞれ2つずつ取り付けられている(図2Aの例では、右後側の車輪394の図示を省略する)。なお、移動装置414の構成は、そのロボット402が使用される環境に応じて最適な構成を選択すればよい。例えば環境の床面の起伏が激しい場合は、移動装置414をクローラ型や多足歩行型に構成することが好ましい。
障害物センサ411は、ここでは、超音波センサ411a、視覚センサとしての一対のカメラ105、及び衝突センサ411cとから構成されている。それぞれの超音波センサ411aは、超音波を発してその反射波を受信するまでの時間を測定することによって障害物までのおおよその距離を計算し、近距離の障害物をロボット402との衝突前に検知する。超音波センサ411aは、一例として、本体部390の各側面(前面、後面、左右側面)の下部に3個ずつ取り付けられている。また、それぞれのカメラ105は、ロボット402の周囲の状況を画像として入力する。この画像に対して認識処理等を行うことによって、障害物の有無を判断したり、保持対象物品についてより正確な情報を得たりする。カメラ105は、本体部390の前部の上部に取り付けられている。さらに、衝突センサ411cは、ロボット402に所定の衝撃力が加わったことを検知する。例えば障害物がロボット402に衝突してきたり、ロボット402自体が移動中に障害物に衝突したことを、衝突センサ411cによって検知する。衝突センサ411cは、本体部390の前面と後面の下部にそれぞれ取り付けられている。
移動計画作成手段413は、物品の移動作業やその他の作業に伴う移動が指定されたとき、ロボット402の現在位置の位置座標から目的位置の位置座標までの移動経路を、環境マップデータベース408の環境マップを参照して作成する。環境マップには、図2Lに示すように、移動不可領域(斜線を付した領域)が設定されている。このため、この移動不可領域以外の領域で移動経路を作成すれば、障害物を回避した移動経路が作成できる。例えば図2Lにおいて、A地点からB地点までの移動の際には、ロボット402の大きさを考慮して、矢線で示すような移動不可領域を回避するルートが作成される。移動経路の作成には、最も一般的なダイクストラ法を用いればよいし、環境が複雑な場合は、ダイクストラ法を改良した経路探索アルゴリズムを用いてもよい。なお、環境が複雑すぎるため、移動経路の算出ができない、あるいは、その算出に多大な時間を要するような場合の対策として、ユーザが操作端末403を使用してロボット402の移動経路を移動計画作成手段413に指定するモードを設けてもよい。
(ロボットの制御コマンド)
作業ロボット402の制御手段415は、主に環境管理サーバ401から環境管理サーバ側及び作業ロボット側の送受信手段409,409を介して送られてきたロボット制御コマンド列を解釈し、その制御コマンドを順に実行する。
ロボット制御コマンドとは、物品の保持や、ロボット402自体の移動の制御を行うためのコマンドであり、大きくわけると、主として「移動」、「保持」、「解放」の3種類がある。この3種類のコマンドについて簡単に説明する。
1)移動:(move,座標)又は(move,設備ID)
ロボット402の現在位置の位置座標から位置座標で指定された位置、又は設備ID情報で指定された設備の位置の位置座標まで移動するコマンドである。位置座標は世界座標系で指定し、現在位置の位置座標から目的位置の位置座標までの移動経路は移動計画作成手段413が計画する。また、設備ID情報で指定された設備の位置の位置座標に移動するときは、その設備に対して所定の距離まで近づくような経路を作成するが、この場合、環境マップ内の設備属性データを利用する。
2)保持:(grab,物品ID)
物品ID情報で指定された物品を、保持装置103の一例としてのハンド103bによって保持するコマンドである。物品の位置(位置座標)は、物品及び移動体データベース406を参照して求め、保持計画及び保持解放計画は物品保持システム10の上記保持方法特定手段102が作成する。
3)解放:(release)
保持解放計画に基づき、ハンド103bを解放するコマンドである。
例えば、ある物品をある場所に移動させる作業がユーザから指示されたときは、その作業は、「(物品の位置B1への)移動」と、「(物品の)保持」と、「(移動先B2への)移動」と、「(物品の保持)解放」という4つの作業単位に分解される。この場合のロボット制御コマンド列は、
move,B1(物品が置かれている位置B1にロボット402を移動する)
grab,物品ID(位置B1にある物品を保持装置103で保持する)
move,B2((物品を保持装置103で保持した状態で)移動先である位置B2にロボット402が移動する)
release(保持装置103で保持している物品を解放する)
となる。複数の物品の移動を指示されたときは、コマンド列は、上記4つのコマンドを一組として物品の数だけ並べられ、ロボット402の制御手段415は、その順番に従って制御コマンドを順に実行する。
もちろん、ロボット制御コマンドはこの3種類に限られるものではなく、必要に応じて増やしてもよいことはいうまでもない。
図21は、制御手段415の動作例を示すフローチャートである。制御手段415は、環境管理サーバ401から送信された制御コマンド列をロボット側の送受信手段409が受信したとき又は物品保持システム10から制御コマンド列が入力されたとき、どの作業単位であるかを判定し(図21のステップS101〜S103)、その作業単位に応じた処理を実行する。
まず、作業単位が「移動」のときは(図21のステップS101でYES)、指定された位置(位置座標)までの経路を移動計画作成手段413に作成させる(ステップS104)。そして、移動計画作成手段413によって作成されて経路に応じて移動制御コマンドを移動装置414に送り、指定された位置(位置座標)までの移動処理を実行する(ステップS105)。
また、作業単位が「保持」のときは(ステップS101でNOでかつステップS102でYES)、障害物センサ411によって保持対象物品の姿勢を検出する(ステップS106)とともに、その検出結果に応じてアーム103aとハンド103bの動作を計算する(ステップS107)。そして、保持制御コマンドを制御手段415から物品保持システム10の保持装置103に送り、保持装置103による物品の保持処理を実行する(ステップS108)。なお、ステップS106において、物品の姿勢は環境管理サーバ401の物品及び移動体データベース406に記録されているので、環境管理サーバ401に物品の姿勢を問い合わせるようにしてもよい。
また、作業単位が「解放」のときは(ステップS101でNOでかつステップS102でNOでかつステップS103でYES)、指定された移動先に物品が設置されるようにアーム103aとハンド103bの動作を計算する(ステップS109)。そして、解放制御コマンドを制御手段415から保持装置103に送り、物品の解放処理を実行する(ステップS110)。
移動、保持及び解放の各動作が終了したとき、その旨をメッセージとして作業指示元である環境管理サーバ401に制御手段415の制御の基に送信する(ステップS111)。このようにして、操作端末403によって指示された作業内容が、ロボット402によって実行される。
<操作端末の構成>
操作端末403は、上記ロボットによる物品保持システムにおけるユーザインタフェースであり、ユーザが、ロボット402に対して物品の取扱い作業を指示したり、物品に関する問合せをしたりするために操作する端末である。
図2Fに示すように、操作端末403は、操作画面を表示する、例えばCRTや液晶ディスプレイからなる表示装置417と、表示装置417の操作画面上でロボット402に対して作業内容を指示するための例えばポインティングデバイスからなる入力装置416と、表示装置417に表示される操作画面の作成等の表示制御を行う表示制御手段418とを備えている。送受信手段409は、制御手段419の制御の基に、入力装置416に入力されたロボット402の作業内容や問合せ内容をサーバ401に送るとともに、問合せに対する回答を環境管理サーバ401から受信する。制御手段419は、送受信手段409と、入力装置416と、表示装置417と、表示制御手段418とに接続されて、それぞれの動作を独立してコントロールする。
この操作端末403としては、例えば汎用PC(パーソナルコンピュータ)を用いることも可能である。この場合、各処理を実行させる制御プログラムを汎用PCに読み込ませることによって、操作端末403として用いることが可能になる。
表示制御手段418は、環境管理サーバ401から送信された情報、具体的には、センシング装置404としてのカメラが環境内を撮像した画像のデータ、物品及び移動体データベース406に蓄積されたデータ、環境マップデータベース408に蓄積された環境マップに基づいて、操作画面を作成する。作成された操作画面は、表示装置417に表示される。
すなわち、以上のようなシステムでは、操作端末403が、所定の生活空間を表す画像を表示装置417に表示し、ユーザが操作端末403から、画像に含まれた物品に対する操作の指示を行い、操作端末403から送信されたユーザの指示を、環境管理サーバ401が、物品及び移動体データベース406を参照して、ロボット402が実行可能な制御コマンドに変換し、ロボット402に送信する。このような物品操作方法によって、ユーザは、生活空間の複雑な状況において、作業ロボット、言い換えれば、生活支援ロボット402に的確な動作を、容易に実行させることができる。
また、上記物品保持システム10によって、それぞれの保持装置103は、保持対象物の位置(位置座標)、ID情報、形状といった対象物情報、及び人物の位置(位置座標)、ID情報といった人物の情報を利用して、保持動作を行うことが可能である。
以下、上記物品保持システム10による物品の保持について、具体的な例を挙げて説明する。
(1.内部に物体を収容可能な物品の保持)
上記したように、例えばグラス等の、内部に液体を入れる物品を保持する場合には、その内部に液体が入っているか否かという状況に応じて、保持方法を変えることが好ましい。つまり、内部に液体が入っているグラスを保持するときには、そのグラスを傾けたり、そのグラスに振動を与えたりすると液体をこぼすことになるため、そのグラスはできるだけ水平な状態でかつ振動を与えないような姿勢制御を行うことが好ましい。これに対し、内部に液体が入っていないグラスを保持するときには、そのような姿勢制御は特に必要ない。
そこで、上記物品保持システム10の保持装置103は、内部に物体を収容可能な物品(ここではグラス)を保持するときに、上記認識装置101の一例としてのカメラなどによって、その内部に物体が収容されているか否か(ここではグラスに水が入っているか否か)を認識する。この認識方法の一例として、光の屈折を利用した認識方法が挙げられる。
図3は、光の屈折を利用してグラス201の内容物の認識を行う認識装置101の構成を示す図である。この認識装置101は、グラス201に対して投光する光源104と、グラス201に投光された状態を撮像する撮像装置105と、撮像装置105で撮像された情報を認識処理する上記認識処理部101pとをさらに有する。光源104は、指向性の強い光を照射するものが好ましく、例えばレーザ照射装置とすることが可能である。撮像装置105は、レーザ照射装置104から照射されたレーザ光線の軌跡を検出可能であればよく、例えばカメラとすることができる。レーザ照射装置104は、図2Aに示すように、ロボット402のアーム103gに取り付けて、その位置(位置座標)を変更可能にすることが好ましい。また、カメラ105は、人型ロボット402の顔に埋め込むように構成してもよい。
上記認識装置101は、上記グラス201の内容物を認識するに際し、上記レーザ照射装置104によって、保持対象物(ここでは光透過性を有するグラス201)にレーザ光線104gを照射する。
通常、気体(空気)の屈折率と液体(水)の屈折率とは異なる(例えば空気の屈折率は1.0、水の屈折率は約1.33)ため、グラス201の内部に液体201eは入っているか否かによって、レーザ光線104gの軌跡が変わる。つまり、図3Aに示すように、グラス201が空のときには、グラス201の内もグラス201の外も空気で満たされているため、そのグラス201に対し斜め上方から照射したレーザ光線104gは、図3Aに示すように直進する。これに対し、図3Bに示すように、グラス201に水201eが入れられているときには、空気の屈折率と水201eの屈折率とが異なるため、照射したレーザ光線104gは屈折する。
レーザ照射装置104がレーザ光線104gを照射している最中に、上記認識装置101は、カメラ105によってそのグラス201を撮像する。このことにより、レーザ光線104gの軌跡を検出する。認識処理部101pは、その検出結果に基づいてグラス201の内部に液体201eが入っているか否かを認識する。尚、光の屈折率は、物体(材質)によって異なるため、レーザ光線104gの屈折角度を検出することによって、グラス201の内部に入れられている物体の材質を検出することも可能になる。
上記保持方法特定手段102は、上記認識処理部101pの認識結果に基づいて、保持方法の特定を行う。この特定は、保持方法データベース102dを利用して行うが、必要に応じて、物品及び移動体データベース406を参照してもよい。
上記保持方法データベース102dには、詳しくは、先に図2Eで述べたように保持レベル毎に保持方法が決められているが、ここでは、簡略して、保持対象となる物品毎に、内容物の有無により異なる保持方法が記載されたテーブルが設けられているとする(図4A参照)。各テーブルは、その物品の取り得る状況(例えば、内容物の有無の状況)と、その状況に最適な保持方法と、が対応付けられて記憶されている。図4Aは、グラス201に対応するテーブルの一例を示していて、グラス201が取り得る状況として「内容物有」(図4D参照)と「内容物無」(図4B参照)とが含まれ、「内容物有」に対応する保持方法として「指型ハンドを使って、姿勢制御を行う」ことが設定され(図4E参照)、「内容物無」に対応する保持方法として「吸着ハンドを使って、姿勢制御を行わない」ことが設定されている(図4C参照)。
従って、上記保持方法特定手段102は、上記認識装置101がグラス201の内容物有と認識したときには、保持方法データベース102dを参照することによって「指型ハンドを使って、姿勢制御を行う」保持方法(図4E参照)を特定(選択)し、グラス201の内容物無と認識したときには、保持方法データベース102dを参照することによって「吸着ハンドを使って、姿勢制御を行わない」保持方法(図4C参照)を特定(選択)する。
上記保持装置103は、上記保持方法特定手段102によって特定された保持方法に従って、制御手段415の制御の基に、保持対象物の保持を実行する。従って、上記保持装置103は、グラス201内に水が満たされているとき(図4D参照)には、指型ハンド103aによってグラス201が水平姿勢を保つように姿勢制御をしながらグラス201を保持する(図4E参照)。一方、グラス201が空であるとき(図4B参照)には、吸着ハンド103sによってそのグラス201を保持する(図4C参照)。このとき、グラス201の姿勢制御は行わない。
尚、保持装置103が保持対象物を保持するためには、その保持対象物の位置(位置座標)、形状、及び姿勢情報が必要となる。これらの情報は、例えばレンジファインダやステレオ視、等を利用した、種々の公知の方法により取得可能である。保持対象物の位置(位置座標)、形状、及び姿勢情報の取得方法の詳細は後述するが、物品及び移動体データベース406を参照すればよい。
このように、上記で例示したグラス201のような、その内部に物体を収容可能な物品は、その内部に物体が収容されたり、収容されなかったりして、時間に対して状況が変化する。そうした物品を保持装置103によって保持するときに、認識装置101は、上記物品(保持対象物)の内部に物体が収容されているか否かを認識し、保持方法特定手段102は、内部に物体が収容されているか否かに応じて保持方法を特定する。このことにより、その内部に物体を収容可能な物品を、その状況に合わせて最適に保持することができる。
(変形例)
上記保持方法特定手段102が参照する保持方法データベース102dは、物品保持システム10が有している必要はなく、例えば保持対象物(各物品)に電子タグ等のタグを付し、そのタグに、保持対象物の状況に応じた保持方法などの情報を予め書き込んでおいてもよい。この場合、保持方法特定手段102は、保持対象物に付されたタグ内の上記保持方法などの情報を参照することによって、認識結果に応じた保持方法を特定することができる。
また、上記タグに、上記保持方法などの情報を予め書き込むのではなく、タグに、上記保持方法などの情報が蓄積されたデータベースを有するサーバのアドレス(インターネットアドレス)を記憶しておいてもよい。この場合、保持方法特定手段102は、上記アドレスにアクセスしてデータベースの上記保持方法などの情報を参照することによって、認識結果に応じた保持方法を特定する。尚、これらの情報を記憶する媒体は電子タグに限らない。例えば光学的なタグ、バーコード、2次元バーコード、等であってもよい。
また、上記物品保持システム10は、図3A及び図3Bではレーザ光線104gの軌跡に基づいてグラス201の内容物の有無を認識しているが、光の屈折を利用した認識はこれに限るものではない。例えばカメラ105に対する相対的な位置(位置座標)が判明している物体をグラス201を通して撮像し、その物体がグラス201上のどの位置(位置座標)に見えるか、を検出することによってグラス201の内容物の有無を認識することができる。この場合、撮影対象物は、その環境(一般家庭であれば部屋)に存在している物体を利用することができる。ここで、相対的な位置(位置座標)は、例えば、図23に示されるように、部屋の天井500にカメラ505を取り付け、そのカメラ505の画像から地図情報を作成しておき、作成された地図情報内での位置座標を物品及び移動体データベース406や保持方法データベース102dなどのデータベースに予め記憶させておくことにより、求めることができる。
さらに、グラス201の内容物の有無は光の屈折を利用する以外でも、認識することが可能である。
例えば重量センサを利用してグラス201の重さを量ることによって、グラス201の内容物の有無を認識してもよい。この場合は、空のグラス201の重量が予め判っていることが必要であるが、空のグラス201の重量は例えばグラス201に取り付けたタグに埋め込んでおいてもよい。また、重量センサは保持装置103に取り付けて、保持方法を特定する前に保持装置103によってグラス201を保持することによってグラス201の重さを量ってもよいし、グラス201が置かれている棚、テーブル等に重量センサを取り付けて、グラス201の重さを量ってもよい。重量センサを利用した認識は、保持対象物が光透過性を有している必要はなく、どのような物品に対しても認識が可能になるという利点がある。また、重量センサを利用した状況の認識は、例えば皿等を保持する際に、その皿の上に料理等が載っているか、を認識するときにも適用可能である。
また、例えば水滴センサを利用してグラス201の内容物の有無を認識してもよい。水滴センサは、ロボット402のアーム103b先端に取り付けて、グラス201の外表面にセンサを接触可能にすればよい。この場合、水滴がついていると判断されたときには「内容物有」、水滴がついていない場合には「内容物無」として、図4Aのテーブルを参照することで保持方法を決定することができる。
(2.形態の変化に対応した保持方法の特定)
次に、形態が変化する物品の保持について説明する。立体的な形状を有する物品(例えば紙くず)202aを保持(把持する)ときには、図5Aに示すように、指型ハンド103aによって、その物品を上から挟むことが一般的である。
これに対し、その物品がシート状の物品202bであるとき、例えば床に置かれた一枚の紙や布であるときには、上記の保持方法を実行することは極めて困難である。こうした紙や布を把持するときには、図5Bに示すように、吸着ハンド103sによって吸着により保持することが効率的である。
また、同じ紙であっても、その紙が100枚束ねられた形態であるときには、その重量を考慮すれば吸着による保持は困難である。この場合は、図5Cに示すように、紙の束202cを、その厚み方向から指型ハンド103aによって挟む、ことが効率的である。
さらに、同じ紙であっても、その紙がクシャクシャに丸められている形態であるときには、図5Aに示すように、指型ハンド103aによって上から挟む、ことが効率的である。
このように、物品は同じ紙であっても、その形態によって最適な保持方法は変わる。そこで、上記物品保持システム10は保持対象物を保持するときに、その保持対象物の形態を認識し、その認識結果に応じて最適な保持方法を特定(選択)する。
保持対象物の形態の認識は、その保持対象物に取り付けられた電子タグの情報を受信するタグリーダ(タグリーダ例えば404a)と、レンジファインダとを用いて行うことが可能である。つまりこの場合、物品保持システム10の認識装置101としては、タグリーダ(例えばタグリーダ404a)とレンジファインダ(図示省略)とをさらに有する。また、ここでは、上記電子タグに、その物品が何であるか(物品を特定する情報)と、図6に示すように、その物品(ここでは紙)が取り得る状況(形態)と最適な保持方法とが対応付けられたテーブルと、が記憶されているとする。
上記物品保持システム10の認識装置101は、保持対象物の形態を認識するに際し、先ずタグリーダ(例えばタグリーダ404a)によって、保持対象物の情報を読み取る。電子タグをアンチコリジョン対応とすることによって、仮に保持対象物が束ねられた複数毎の紙であっても、各紙に付与された電子タグの情報を同時に認識することができる。こうして、電子タグの情報によって、その保持対象物が何であるかを特定すると共に、テーブルを取得する。
次に、上記物品保持システム10の認識装置101は、上記保持対象物の形状をレンジファインダによって検出する。その検出結果から認識処理部101pにより保持対象物の形態が認識される。
保持方法特定手段102は、その認識結果に基づいて、上記テーブルを参照することにより、認識された保持対象物の形態に対応する保持方法を特定する。
保持装置103は、保持方法特定手段102によって特定された保持方法に従って、保持対象物を保持する。つまり、保持対象物が平らに置かれた1枚の紙202bであるときには、上記保持装置103は、吸着ハンド103sによってその紙202bを保持し、保持対象物が丸められた紙202aであるときには、指型ハンド103aによってその丸められた紙202aを上方から挟み、保持対象物が束ねられた複数枚の紙の束202cであるときには、指型ハンド103aによってその紙の束202cを横方向から挟む。
こうして、保持対象物をその形態に対応した最適な保持方法でもって、保持することができる。
もちろん、このような紙の保持方法はこれに限るものではなく、例えば、複数の保持装置103を組み合わせたものでも構わない。これを、保持対象物が床に置かれた一枚の紙である場合に吸着ハンド103sと指型ハンド103aを組み合わせて保持する例を、図2A及び図5Dを用いて説明する。
図2Aはこの様子を示したものである。ロボット402は、指型ハンド103によって挟もうとしても、紙202bが床に置かれている場合、この操作は非常に困難である。そこで、まず、ロボット402は、図5Dのように、吸着ハンド103sによって吸着により紙202bを保持する。その後、吸着ハンド103sと指型ハンド103aを近づけるようにロボット402を制御し、吸着された紙202bの端を指型ハンド103aで上下から挟む(図5E)。その後、吸着ハンド103sの吸着を停止する(例えば、制御手段415の制御により吸引装置を停止させる)ことで、指型ハンド103aによる紙202bの把持を実現する(図5F)。
図5Gは、保持方法データベース102dに予め記憶させる、図2Aに示したロボット402における保持方法の一覧を示したものである。このロボット402は、上記したように、2本の指型ハンド103aと1本の吸着ハンド103sを持っている。
まず、指型ハンド103aを利用する場合、単腕の指型ハンド103aで挟んで保持する方法(例えば、図5A及び図5C)、双腕の2つの指型ハンド103aを利用して挟んで保持する方法(例えば、図9、図5H)などがある。この双腕の2つの指型ハンド103aを利用する保持方法は、単腕の指型ハンド103aでは安定が取りにくい大きな対象物や、重量の大きな対象物を保持する場合に有効である。
別の保持方法として、吸着ハンド103sを利用する保持方法(例えば、図5B)がある。これは、指型ハンド103aでは保持が難しい、床面に置かれた紙や、凸凹の少ない面をもつ対象物に対して有効である。
また、指型ハンド103aと吸着ハンド103sを組み合わせた保持方法も考えられる。これには、前述の吸着ハンド103sでまず吸着し、吸着した対象物を単腕の指型ハンド103a、又は双腕の2つの指型ハンド103aで挟むよう方法(例えば、図5E)、双腕の2つの指型ハンド103aの上に載せられた対象物を、吸着ハンド103sで押さえながら保持する方法などがある。図5Iはこの様子を示した図である。これは、台車のように、人や別のロボットなどから渡された大量の本や書類などを別の場所へ運搬する際の保持方法として有効である。
保持対象物の形態に対応して保持方法を特定する別の例として、衣類が挙げられる。次に、保持対象物が衣類である場合について、図7を参照しながら説明する。
つまり、衣類は、例えばこれから洗濯を行うために置かれているときには「指型ハンドで把持する」という保持方法が効率的である。これに対し、その衣類が洗濯を終えてハンガーに吊るされているときや、アイロンがかけられて畳まれているときには、衣類に皺が付いてしまうような保持方法を避ける必要がある。
衣類の例においても、保持対象物の形態の認識は、その保持対象物に取り付けられた電子タグの情報を受信するタグリーダ(例えばタグリーダ404a)と、レンジファインダとを用いて行うことが可能である。この場合、上記電子タグには、例えば図7に示すような情報を有するテーブルを保持方法データベース102dに記憶させておけばよい。このテーブルによって、衣類210がハンガー211にかけられた形態では、そのハンガー211の部分を指型ハンド103aで保持する(例えばハンガー211のフック部分を指型ハンド103aで把持又は引っ掛けるように保持する)ことが設定される。一方、衣類210aが畳まれているときには、例えばアーム103b又は2つの指型ハンド103aを利用してその畳んだ状態のまま持ち上げるような保持動作をすることが設定される。また、衣類210がそれ以外の形態(例えば丸まった状態等)210bにあるときには、指型ハンド103aで摘むように保持をすることが設定される。
尚、認識装置101が保持対象物の形態を認識する処理、保持方法特定手段102が保持方法を特定する処理は、上述したとおりであるため、ここでは説明を省略する。
このように、上記で例示した紙や衣類は、時間に対してその形態が変化する物品であるが、こうした物品を保持装置103によって保持するときに、認識装置101は、物品の形態を認識し、保持方法特定手段102は、その形態に応じた保持方法を特定する。このことにより、形態が変化する物品を、その形態に合わせて最適に保持することができる。
(3.物品の状況に応じた保持位置の特定・変更)
次に、物品の状況に応じた保持位置(位置座標)の特定及び変更について説明する。これは、ロボット402(一例として家事支援ロボット)が、料理(食品)204が盛り付けられた皿203を保持するときに有効である。つまり、料理204が盛り付けられた皿203を保持する際に、その皿203において料理204が存在しない部分を保持するようにする。そのために、上記保持装置103は保持対象物である皿203を保持するときに、その保持対象物である皿203の状況を認識し、その認識結果に応じて最適な保持方法を特定する。ここでは、皿203を保持するときに、その皿203のどの位置(位置座標)に料理204が存在しているかを認識し、その認識結果に応じて保持位置(位置座標)を特定する。
この場合は、物品の状況をタグリーダ(例えばタグリーダ404a)とカメラ(例えばカメラ105)とを利用して認識する。つまり、認識装置101の一例としてのタグリーダ(例えばタグリーダ404a)とカメラ(例えばカメラ105)とを利用する。
上記タグリーダ(例えばタグリーダ404a)とカメラ(例えばカメラ105)とを利用した、皿203の状況の認識について図8Aを用いて説明する。図8Gは処理の流れを示した図である。
まず、上記物品保持システム10は、時刻t=t0にカメラによって料理204が盛り付けられた皿203を撮像する(ステップS2001)。図8A及び図8Dは、こうして撮影された、皿203とその皿203の上に置かれた食品204の図である。皿203には電子タグが取り付けられているとし、この電子タグには形状データ及びテクスチャ情報(図8Bに示す皿203が円形であることや皿203の模様203aなどの情報)が記憶されているとする。
上記物品保持システム10は、保持対象物の状況を認識するに際し、先ずタグリーダ404aによって、保持対象物の情報を読み取る(ステップS2002)。それによって、図8Bに示すように、料理が載っていない状態の皿203のデータが得られる。小さな円は、皿203の模様203aである。
そうして、上記認識装置101の認識処理部101pは、図8Aに示すデータと図8Bに示すデータとの差分処理を実行する(ステップS2003)。この差分処理によって、図8Cに示すように、皿203の上に置かれた食品204の領域81のみが抽出される。図8Cにおいて、82は、食品領域81以外の領域であって、指型ハンド103aで把持可能な領域である。
次に、一定時刻経過した時刻t=t1において再度、撮影を行い(図8E参照)、差分画像を作成する(図8F参照)。こうして求まった時刻t=t0と時刻t=t1の各差分画像の差分を認識処理部101pで計算することによって、保持対象物の状態変化(ここでは、料理にかけられたソースが移動して起こる状態変化)を推定する(ステップS2004)。図8Fはこうして求まった差分領域を示している。
以上の結果を利用して、保持装置103による皿203の保持位置(位置座標)を推定する(ステップS2005)。
より具体的には、以下のように処理される。
まず、皿203の電子タグや保持方法データベース102dや物品及び移動体データベース406などには、図8Hのような、保持位置候補(位置座標の候補)が、保持位置情報として、予め記憶されている。この図8Hにおいて、H1〜12の各領域が保持装置103の指型ハンド103aにより把持可能な皿203の周囲部分である保持位置候補領域2101を示している。保持位置候補領域H1〜12は、一例として、皿203の周囲部分が均等に分割された領域となっている。また、この保持位置情報は、形状情報として皿203の電子タグや保持方法データベース102dや物品及び移動体データベース406などに保持することが望ましい。
次に、ステップS2003で求めた差分画像を保持位置情報に重ね合わせる。
このとき、保持位置候補領域2101の中で、食品領域81と重なる領域は、保持位置候補から除外する。図8I及び図8Jはこの様子を示した図である。この図8Iにおいては、領域H2と食品領域81が重なっているため、H2領域を保持位置候補から除外し、保持不可領域とする。
このとき、重ね合わせる食品領域81は、最新のものを用いることが望ましい。
次に、ステップS2004で求まった差分領域の情報を保持位置情報に重ね合わせる。また、食品領域81の重心位置(重心位置の位置座標)Pfも同じように保持位置情報に重ね合わせる。ここで、差分領域の各点と食品領域の重心位置Pfを結び、さらに、皿203の縁まで延ばした領域(図8Jの斜線領域2102)は、今後、食品領域81になる可能性が高い領域であると考えられる。そこで、これらの領域2102も保持不可領域とする。
以上の処理より、残った保持位置候補の中から保持可能領域を決定する。図8Jでは、領域H4〜H12であるが、好ましくは、保持不可領域2102とは反対側の領域H6〜H9を保持可能領域とすれば、移動中に食品が移動しても、指型ハンド103aと接触する可能性をより低くすることができる。
もちろん、保持可能領域は上記の方法で決定する必要はなく、例えば、皿の全領域の内、食品領域81以外の領域を保持可能領域82(図8Kの斜線を付した領域)に特定するようにしても構わない(図8L参照)。すなわち、図8Lは、皿の全領域の内、差分有りの領域を保持可能領域とし、差分無しの領域を保持不可領域とする場合の図である。また、食品領域81から最も離れた保持位置候補領域2101(図8Iにおいては領域H7)を保持位置(位置座標)として選択するようにしても構わない。
保持装置103は、特定された保持可能領域82に従って、アーム103b及びハンド103a,103bによって、この保持可能領域82を保持する(図9参照)。こうして、料理が盛り付けられた皿203をその料理に触れることなく保持することができる。
差分処理によって食品領域を特定することにより、例えば皿203に模様203aが描かれているときであっても、食品領域81を正確に認識することが可能になる。尚、照明状態によって皿203の輝度情報が変化してしまうため、光源の変化に対応した背景差分の方法を利用することが望ましい。このような方法としては、例えば画像をエッジ抽出した後に差分を求める方法等がある。
このように、例えば皿等の物品はその上に物体が置かれる場合があり、時間に対して状況が変化する。そうした物品を保持装置103によって保持するときに、認識装置101は、上記物品(保持対象物)の上に物体が置かれているか否か、また物体がどこに置かれているかを認識し、保持方法特定手段102は、物体が置かれている位置(位置座標)に応じて保持方法(ここでは保持位置(位置座標))を特定する。このことにより、その上に物体が置かれている物品を、その状況に合わせて最適に保持することができる。
また、以上のようにして最適な保持位置(位置座標)を特定して保持対象物を保持している最中に、その保持対象物の状況が変化することに対応して、その保持位置(位置座標)を変更するようにしてもよい。
つまり、図9に示すように、食品領域81以外の領域を保持してロボット402が皿203を運搬している最中に、その料理に含まれるソースやケチャップ等が動いて、図10に示すように、食品領域81が変化したとする。その場合、ハンド103aが食品に触れてしまうことも起こり得る。
そこで、上記認識装置101は、保持対象物を保持している最中もカメラ105によって料理が盛り付けられた皿203を撮像し、上記の差分処理を逐次実行する。そうして食品領域81を逐次認識する。
そして、上記保持方法特定手段102は、その認識結果に基づいて食品領域81が変化したときには保持可能領域82の再特定を行い、例えば図11に示すように、必要に応じてハンド103aによる保持位置(位置座標)を変更する。
このように、最適な保持方法を一旦特定した後も、保持対象物の状況の認識を継続することによって、状況の変化に対応して保持方法を常に最適化することができる。
(4.物品の温度状況に応じた保持方法の特定)
次に、物品の温度状況を認識することによって、保持方法、特に保持位置(位置座標)の特定について説明する。これは、物品に電子タグ等が取り付けられておらず、その物品の保持方法(保持位置)が予め得られていないときに有効である。つまり、電子タグ等によって保持方法が得られるときにはその物品の保持位置(位置座標)も特定可能であるからである。
ここでは、ロボット402(家事支援ロボット)が、コンロ511にかけられている鍋やフライパン121を、そのコンロ511から降ろす作業を行う場合を例に、物品の温度状況に応じた保持方法の特定について説明する。
ここでは、図23に示すように、認識装置101、保持方法特定手段102、保持装置103、及び、保持方法データベース102d又は物品及び移動体データベース406として機能する保持情報データベース510をそれぞれ独立して設け、これらをネットワークを介して互いに接続した構成を考える。この図23に示すシステムでは、上記ロボット402は、保持装置103そのものとなる。また、保持方法特定手段102は、認識装置101からの認識結果を受けて運搬方法を特定すると共に、その特定した方法に基づいて上記保持装置103(ロボット402)に運搬指示を出力する運搬指示装置となる。
先ず、認識装置101は、レンジファインダやステレオ視等の3次元計測手法を利用して、コンロ511にかけられているフライパン121の形状を認識する。つまり、物品保持システム10は、レンジファインダ又はステレオカメラ(例えば105)をさらに有する。認識装置101は、具体的には、例えばフライパン121が置かれていないコンロ511の3次元形状情報を予め取得しておき、コンロ511を実際に計測した3次元情報と比較することによってフライパン121の形状を特定することができる(図12A参照)。
次に、認識装置101は、例えば赤外線センサ等の、温度センサ520によって保持対象物の温度分布を測定する。つまり、上記物品保持システム10は、温度センサ520をさらに有する。このような温度センサ520は、サーモパイル素子を使ったものや、サーモグラフィ装置などとして広く知られているため、詳細な説明は省略する。本来、このような温度センサ520は、対象物の輻射率が既知でない場合、正確な温度を推定することは出来ない。そのため、保持対象物(各物品)に付した電子タグ等のタグ521に、その対象物の輻射率のデータを蓄積するようにしても構わない。
図2Aは、上記物品保持システム10に、温度センサ520を設置した模式図である。この図2Aに示したように、温度センサ520を物品保持システム10に組み込むのではなく、ハンド103aで温度センサ520を操作するようにしても構わない。
人が使用する調理器具には、人が保持する部分(フライパン121のときには、取っ手部分121a)が設けられており、その部分は温度が高くならないように設計されている。そのため、保持対象物の温度分布を測定することによって、図12Bに示すように、フライパン121において火にかけられている部分は高温であり、取手121aは比較的低温であることが検出される。
保持方法特定手段102は、この温度分布に基づいて保持可能領域122(この場合、温度Tが閾値の温度ThTH(例えば30℃)より低い部分である取手121a)を保持位置(位置座標)に特定する(図12D参照)。温度Tが閾値の温度ThTHより高い部分は保持不可領域となる。
保持装置103は、特定された保持可能領域122に従って、図12Cに示すように、ハンド103a及びアーム103bによって、フライパン121の取手121aを保持する。
このようにして、ロボット402は、人が保持する位置(位置座標)と同じ位置(位置座標)を保持することになる。これは、例えばハンド103aの構成が熱に弱い場合等において必要な処理である。また、仮にハンド103aの構成が熱を考慮する必要がない場合においても、例えばロボット402の保持する位置(位置座標)が、人が通常保持しない位置(位置座標)であると、人によっては不快感を覚えることも予想されるが、ロボット402が人と同じ位置(位置座標)を保持することによってそうした不快感が軽減されるという利点がある。
こうした温度分布に基づく保持位置(把持位置)(位置座標)の特定は、保持対象物が調理器具に限るのではなく、料理が盛り付けられた皿においても可能である。つまり、料理が盛り付けられた皿の温度分布を測定し、保持方法特定手段102は、温度が低い部分、換言すれば料理が載っていない皿の部分を保持位置(位置座標)に特定すればよい。
なお、保持対象物の温度状況を取得するために、認識装置101は、物品の履歴情報や位置情報を利用しても構わない。これを図12Fを用いて詳述する。
保持対象物が前述のフライパン121の場合、保持対象物の温度が上昇するのはガスコンロにかけられるためである。そこで、保持対象物が、最近、ガスレンジ上に存在したかどうか確かめることで、保持対象物の温度状況を推定することができる。具体的には、図12Fのテーブルを参照することで、保持領域122を保持位置に特定することで、保持方法を決定する。このような物品の履歴情報を取得する方法はRFIDやカメラ等を用いればよく、例えば、特開2004−249389号公報等によって公知であるため、ここではその方法の説明は省略する。
また、保持対象物の温度状況に応じて、保持装置103の温度を変更するようにしても構わない。これは、特に温度の低いものを保持する際に有効である。例えば、氷を保持する場合、保持装置103の温度が十分高い場合、氷が溶けてしまい、保持を行うことが出来ない。
そこで、保持対象物の温度が十分に低い場合、保持装置103の温度を保持対象物の温度に十分近い温度まで冷やす処理を行う。このような冷却処理は、公知のペルチェ素子などを利用すればよい。
このように、調理器具又は食器といった温度分布が生じる物品、つまり時間に対して状況が変化する物品を保持装置103によって保持するときに、認識装置101は、上記物品の温度分布を認識し、保持方法特定手段102は、認識された温度物品に応じて保持位置(位置座標)を特定することによって、保持の最適化が図られる。
尚、物品の温度状況に応じた保持方法の特定は、上述したように保持位置(位置座標)の特定に限るものではない。例えばお湯の入った鍋を保持するときに、そのお湯の温度に応じた最適な保持方法を選択するようにしてもよい。つまり、例えばお湯が沸騰している(図12Eに示すように、温度tが所定の上限温度ThTHより低くかつ所定下限温度ThTL以上である)ときには、保持方法特定手段102は、その鍋を水平状態に保ちつつ遅い移動速度で移動させるような保持方法を選択する一方、温度tが所定下限温度ThTLよりも低いときには、保持方法特定手段102は、移動速度をお湯をこぼさない程度の移動速度に設定する。温度tが所定の上限温度ThTHより高い場合には保持不可となる。また、湯温は時間経過に伴い変化するため、お湯の入った鍋を保持している最中に、認識装置101によって湯温を逐次測定し、保持方法特定手段102は、その温度の変化に応じて保持方法を最適化させてもよい。
(5.物品とその周囲の物品との関係に応じた保持方法の特定)
次に、物品とその周囲の物品との関係に応じた保持方法の特定について説明する。これは複数の物品をまとめて保持するときの保持方法に係る。ロボット402が複数の物品の運搬作業を行う際にその物品を一つ一つ保持して運搬することも可能であるが、作業が非効率となることから、複数の物品をまとめて保持して運搬するのである。そして、保持対象物が1つの物品である場合と、複数の物品がまとまって保持対象物となる場合とのそれぞれにおいて、保持方法を最適化させる。
保持対象物の状況の認識、ここでは、複数の物品が重ねられているか否かは、物品に取り付けられたアンチコリジョン対応の電子タグの情報を読み取ることによって認識可能である。つまり、認識装置101は、電子タグの情報に基づいて、保持対象物の近傍に他の物品が存在するか否かを認識すればよい。この場合、保持装置103はタグリーダ404aをさらに有する。
また、認識装置101は、カメラ105で撮像した画像に基づいて、複数の物品が重ねられているか否かを認識することも可能である。
そして、保持方法特定手段102は、例えば皿を1枚だけ保持するときは、指型ハンド103aで摘むような保持方法を選択する一方で、複数毎の皿が重ねられているときには、アーム103bとハンド103aとを利用してその重ねられた皿を下から支えるような保持方法を選択する(図24参照)。
保持装置103は、保持方法特定手段102によって特定された保持方法に従って保持対象物の保持を行う。
物品が重ねられているか否かは、時間に対して変化する状況であるが、そうした状況を認識することによって状況に応じた保持方法が特定され、状況に応じた最適な保持方法でもって物品の保持が実行される。
(6.学習を利用した保持方法の特定)
物品毎に保持方法を予め設定することは困難である上に、例えば図4A,6,7に示す物品の状況に対応する保持方法を、全ての物品に対し予め設定することはさらに困難である。一方で、物品毎に、さらには物品の状況毎に保持方法を最適化させるためには、物品毎及び物品の状況毎に保持方法を設定する必要がある。
そこで、保持方法の設定を簡便かつ的確に行うべく、人が行う動作に基づいて物品の保持方法を学習設定してもよい。
図13は、本発明の上記実施形態の変形例であって、学習を行う、物品保持システム11のブロック図を示し、この物品保持システム11は図1に示す物品保持システム10と比較して、学習手段106をさらに含んでいる。この学習手段106は、人が行っている物品の保持動作を認識して、その認識結果に基づいて物品毎の又は物品の状況毎の保持方法を学習設定する。人が行っている物品の保持動作を認識は、認識装置101が行う。
人が行っている物品の保持動作は、ステレオカメラとタグリーダとを利用して認識することが可能である。つまり、上記物品保持システム11は、ステレオカメラ105とタグリーダ404aとをさらに有する。
次に、2つの学習手法について具体的に説明する。尚、保持対象物となり得る物品には全て、物体の形状情報及びテクスチャ情報などの情報が記憶された電子
タグが取り付けられているとする。また、物品を操作する人物についても、電子タグを常に持ち歩いているため、タグリーダ404aによって、物品と人物の位置(位置座標)やID情報を取得することができる。
学習手法の1つは、物品の移動速度に基づく保持方法の学習設定である。図25は、このときの処理の流れを示したものである。この手法では、先ず、上記認識装置101は、人が物品を保持しているときに、その保持している状況をステレオカメラで撮像させると共に、撮像した画像からオプティカルフローを求める(ステップS201)。
ここで、もし、撮像範囲内で何も動きがない(電子タグの移動が無い)場合、検出されるオプティカルフローはすべて、非常に小さいものとなる。
一方、撮像範囲内で動きがあった(電子タグの移動があった)場合、動きがあった領域のオプティカルフローは、大きくなる。そこで、領域内のオプティカルフローの大きさを調べ(ステップS202)、もし十分に大きなオプティカルフローが存在しなかった場合、撮像範囲には動きがないと判断し、処理を終了する(ステップS202でNo)。
一方、十分に大きなオプティカルフローが存在した場合、大きなオプティカルフローが存在する領域を動き領域として抽出する(ステップS202でYes)。
次に、上記認識装置101は、タグリーダを利用して、その動きがあった領域において、何が動いているかを検出する。つまり、電子タグの情報を受信することによって、人によって動かされている物品が何であるかが特定される。動き領域において、物品と人物の電子タグの両方が検出されなかった場合、その動き領域では現在、学習を行う必要はないと考えられ、処理を終了する(ステップS203でNo)。一方、物品と人物の電子タグが両方検出された場合(ステップS203でYes)、その動き領域では現在、保持対象物となり得る物品が人物に動かされていると考えられるため、学習を行う。
まず、動き領域内に存在する電子タグの情報を取得することによって、物体の形状情報及びテクスチャ情報を取得する(ステップS204)。上記撮像した動き領域の画像から物体のみを抽出して、その動き、具体的にはその物体の移動速度を測定する(ステップS205)。電子タグから取得した物体の形状情報及びテクスチャ情報を利用して、ステレオカメラ画像にパターンマッチング処理を行うことによって、画像中における物体の位置(位置座標)を検出して、その動きを測定することができる。これには、公知の方法を利用することができるので、詳細は省略する(例えば、特許第2961264号公報参照)。
尚、その物体が小さいときには、人がその物体を掴んだ状態にあって、その物体が人の手に隠れて画像では認識することができない場合も起こり得る。そのような場合には、画像から人の手の領域を抽出してその移動速度を測定すればよい。そして、その測定した移動速度が物体の動きであるとしてもよい。人の手の抽出には、例えば色情報を利用して、画像における肌色の領域のみを抽出すればよい。この抽出処理を各フレームにおいて行うと共に、そのフレーム間で位置(位置座標)の比較を行うことによって物体の動きを測定することができる。
もちろん、上記のようなステレオカメラとタグリーダは上記物品保持システム11に直接設置されている必要はない。前述の環境管理サーバ401に設置し、環境管理サーバ401が検出した情報を、送受信手段409を利用して、送受信するようにしても構わない。
以上の処理によって、人が物品を保持している状態におけるその物品の移動速度を測定することができ、例えば図14A及び図14Bに示すように、ぬいぐるみの移動速度(図14A参照)は、花瓶の移動速度(図14B参照)に比べて高いことが判明する。つまり、人はぬいぐるみは素早く動かしている一方で、花瓶はゆっくりと動かしていることになる。物品の移動速度は、前述の超音波を利用したタグセンサを利用することで取得することができる。
学習手段106は、その認識結果に基づいて各物品の保持方法を例えば図26に示すようにテーブル形式で設定し、保持方法特定手段102は、認識装置101によって認識された結果(保持対象物が何であるかの認識結果)に基づいて、学習手段106によって学習設定された保持方法を特定する。そうして、図26に示すように、保持対象物がぬいぐるみであるときには、比較的速い移動速度の保持方法が特定され、保持対象物が花瓶であるときには、比較的遅い移動速度の保持方法が特定される。これは、前述のようにして、人が各対象物をどのような速度で移動速度で動かしているかを図26に示すようにテーブル形式で物品及び移動体データベース406や保持方法データベース102dなどのデータベースとして蓄積し、そのデータベースを利用することで実現する。
もう1つの学習手法は、物品に対して人の手の位置(位置座標)がどこに存在しているかに基づく保持方法の学習設定である。
この学習手法について図15A及び図15Bを参照しながら説明する。図15Aは、人がぬいぐるみ151を保持しているときの様子を示し、図15Bは人が花瓶152を保持しているときの様子を示す。
上記認識装置101は、人が物品を保持しているときに、その保持している状況をステレオカメラで撮像させる。上述したように、その撮像画像において、人の手153,154の位置(位置座標)、物品の位置(位置座標)を特定することによって、人が物品をどのように保持しているかが検出される。
図15Aでは、ぬいぐるみ151の近傍に人の手153が1つ存在しているが、もう1つの手154はぬいぐるみ151とは離れた位置(位置座標)に存在している。このことから、人はぬいぐるみ151を片手で保持していると認識することができる。これに対し、図15Bでは、花瓶152の近傍には、人の手153,154が2つ存在している。このことから、人は花瓶152を両手で保持していることが認識される。
学習手段106は、この認識結果に基づいて、ぬいぐるみ151に対しては1つのハンドによって保持する保持方法を設定し、花瓶152に対して2つのハンドによって花瓶の2箇所を保持する保持方法を設定する。尚、この学習手法は、保持装置103が人と同様の双腕構成であるときに、採用することが望ましい。
図27及び図28は、こうして学習した保持方法をテーブル形式で、物品及び移動体データベース406や保持方法データベース102dなどのデータベースに蓄積した一例を示している。対象物の電子タグには、図28の保持レベルの中の1つの保持レベルが図27に示すように記憶されている。このようなデータベースを学習することによって、保持対象物ごとに柔軟な保持動作を実現することができる。
また、単腕・双腕、二つの保持方法を場面に応じて使い分けるために、物品及び移動体データベース406や保持方法データベース102dなどのデータベースを図29のように作成しても構わない。これは、例えば、既にある対象物を単腕で保持している状態で、別の対象物を保持する場合などに有効である。すなわち、一つの対象物の保持を行う場合には双腕を利用するが、二つの対象物の保持を行う場合には単腕で、別々に保持を行う。これにより、保持対象物が複数ある場合でも、最適な保持方法で対象物を保持することができる。
上述した学習手段106による学習は、物品毎の保持方法を学習しているだけであったが、人が保持しているときの物品の状況をさらに認識することによって、物品の状況と保持方法とを対応させて学習することも可能である。例えば人がグラスを保持しているときに、そのグラスに水が入っているか否かをさらに認識することによって、グラスに水が入っているときの保持方法、又は水が入っていないときの保持方法を学習することができる。そうした学習を行うことによって、図4A,6,7に示すようなデータベースを学習によって作成することができる。
学習によって保持方法を設定することにより、物品毎、又は物品の状況毎に保持方法を予め設定しなくてもよくなる一方で、人が行っている保持動作に基づいて保持方法を学習することによって、適切な保持方法を設定することができる。
尚、学習手段106による学習は、人が、ロボット402に対して物品を手渡しすると共に、その物品に対する作業を指示するときに行ってもよい。つまり、人がロボット402に対して物品を手渡しするときの動作を認識すると共に保持方法を学習して、その人と同じ動作でロボット402がその後の作業を行うのである。
このタイミングで学習を行うことで、学習精度が高まるという利点がある。つまり、人がロボット402に物品を手渡しするときは、その人はロボット402に正対している場合が多い。ステレオカメラは通常、正対した物体の計測が精度が高くなるように設計されていることから、人が保持対象物をロボット402に手渡すときに学習を行うことによって、手の位置(位置座標)や保持対象物の位置(位置座標)の検出精度が高まり、学習の精度が高まる。
また、上述した学習手法は、人が物品を保持している状況を撮像した画像に基づいて行っているが、これに限るものではない。例えば保持対処物となり得る各物品に、その3次元的な位置(位置座標)が検出可能なIDタグを取り付け、そのタグ情報に基づいて学習を行うことが可能である。つまり、タグ情報によってその物体の移動軌跡を検出することが可能になるため、その移動軌跡に基づいてその物体がどのように保持されたか(その移動速度)を検出することができる。尚、3次元位置(位置座標)が検出可能なタグとしては超音波を用いるタグが知られている(例えば「超音波式3次元タグを用いた人の日常活動の頑健な計測 〜冗長なセンサ情報に基づくロバスト位置推定〜」、西田佳史、相澤洋志、堀俊夫、柿倉正義、第20回日本ロボット学会学術講演会講演論文集、3C18、2002)。
また、例えば「赤外線画像を用いた視体積交差法による把持形状の認識」、橋本健太郎、小川原光一、高松淳、池内克史。コンピュータビジョンとイメージメディア135−10、pp.55−62、2002)に開示されている技術を利用することによっても、人が物品をどのように把持しているかを検出、認識することが可能である。この手法を採用する場合も、保持装置103は、人と同様にアーム103b及びハンド103aを備えていることが望ましい。
さらに、学習手段106による学習は、特定の人を学習対象にして、その人が物品を保持しているときにのみ行うことが好ましい。これは、同じ物品であっても人によって保持動作が異なるためである。例えば、保持する物品が同じぬいぐるみ151であっても、子供は乱雑に保持する一方で、お母さんは丁寧に保持し、また、おばあさんはゆっくりと保持する、ということは多々ある。つまり、人による物品の保持動作には個人差があるため、人が行う動作に基づいて物品の保持方法を学習する際に、個人差が含まれてしまう。このことから、特定の人を学習対象に設定して、その人が物品を保持しているときに学習を行う。そのことによって、学習設定される保持方法から、個人差を排除することができる。
これとは異なり、複数の人それぞれによる物品の保持動作を個別に学習すると共に、その中から最適な保持方法を選択するようにしてもよい。最適な保持方法の選択手法としては種々の手法が考えられる。例えば学習した様々な保持方法を実際に試し、その保持方法の安定性を評価することによって選択してもよい。また、学習した様々な保持方法を実際に試し、そのときに周囲に存在している人の反応に応じて選択してもよい。つまり、周囲に存在している人の快・不快を顔画像から認識し、人が最も心地よいと感じている保持方法を選択してもよい。
さらに、複数の人それぞれによる物品の保持動作を個別に学習しておき、物品保持システム11が物品の保持を実行する際の対象となる人に対応する保持方法を選択してもよい。例えばロボット402が物品を人に手渡しする作業を実行するときには、その手渡しする相手の人の保持動作から学習した保持方法に従って、物品の保持を行う。こうすることで、ロボット402は、相手の人が通常保持しているように物品を保持することになり、ロボット402の保持動作を個別に適用することができる。
(7.保持方法の類推)
次に、保持方法を類推によって特定することについて説明する。この処理も、全ての保持対象物に対して保持方法を予め設定する必要がなくなる、という利点がある。
この処理について、具体例を挙げて説明する。ここでは、皿の保持方法とぬいぐるみの保持方法とは、それぞれ予め設定されている(上述した学習によって設定されていてもよいし、ユーザ又はメーカが予め設定していてもよい)とする一方で、コップの保持方法は未だ設定されていないと仮定する。
そして、認識装置101によって保持対象物がコップであることが認識されたときに、保持方法特定手段102は、そのコップの保持方法を、既に設定されている保持方法の内から最適と考えられる保持方法を選択する。この選択に際し、保持方法特定手段102は、例えば物品の反射パラメータや形状データを利用してもよい。ここで、反射パラメータは物品の材質に依存するパラメータであり、このパラメータが近い程、材質が近いと判断可能である(反射パラメータについては後述する)。つまり、材質又は形状が近似する物品同士は、その保持方法も同じであると考えられ、上記保持方法特定手段102は、保持方法が設定されていない物品(未設定物品)に対して、材質又は形状が近似する物品について設定されている保持方法を、上記未設定物品の保持方法に特定する。
具体的に上記の例では、保持方法特定手段102は、コップの反射パラメータ、皿の反射パラメータ、ぬいぐるみの反射パラメータを相互に比較する。コップの反射パラメータは、ぬいぐるみの反射パラメータよりも皿の反射パラメータに近いため、上記保持方法特定手段102は、コップの保持方法として皿の保持方法を採用する。このように、類推を利用して保持方法を特定することによって、全ての保持対象物に対して保持方法を予め設定していなくても、保持装置103によって各種の物品を最適に保持することができる。
(第2実施形態)
図16は、本発明の第2実施形態における物品保持システム12の基本構成を示すブロック図である。本実施形態の物品保持システム12は、認識装置101、保持方法特定手段102、及び保持装置103を含む。上記認識装置101は、保持対象物を撮影する撮像装置105、撮像した画像から対象物の材質を認識する材質認識手段107を含む。
尚、第2実施形態の物品保持システム12において、第1実施形態の物品保持システム10と同じ手段や装置については、同一符号を付してその詳細な説明は省略する。
上記撮像装置105は、カメラ105等の撮像素子を利用して保持対象物を撮影する。
上記材質認識手段107は、先ず撮像装置105で撮像された画像から対象物の反射パラメータを推定し、次に推定された反射パラメータからその材質を認識する。これは材質によって反射特性が変化することを利用している。
上記保持方法特定手段102は、上記材質認識手段107によって認識された材質に基づいて保持方法を特定する。
本実施形態の物品保持システム12も、図2Aに示すようなロボット402に搭載される。このロボット402において、撮像装置105としてのカメラは人型ロボット402の顔に埋め込む、としてもよい。また、保持対象物を照明する光源104(本実施形態では、第1実施形態のようにレーザ照射装置とする必要はない)を、ロボット402のアーム103gに取り付けることによって、その位置(位置座標)を任意に変更することが望ましい。
次に、上記材質認識手段107による、撮影した画像から対象物の反射パラメータを推定し、その推定された反射パラメータから材質を認識する方法を詳述する。そのために、先ず広く使われている反射モデルであるTorrance-Sparrowモデルについて説明する。
2色性反射モデルの一つであるTorrance-Sparrowモデルは、物体反射光を鏡面反射成分と拡散反射成分の和として表現する。(式1)は簡略化したTorrance-Sparrowモデルの式である。
(式1)における第1項は拡散反射成分を表し、第2項は鏡面反射成分を表している。ここで、cはRGB(赤緑青)のいずれか、i
cは画像面の明るさ、L
cは光源の光度、Rは光源から物体表面の各点までの距離であり、照明光強度がこの距離の2乗に反比例して減衰する特性を考慮して導入されたものである。K
d,cとK
s,cとはそれぞれ、拡散反射成分と鏡面反射成分に対応する反射係数、σは表面粗さを示す。また、θ
iは物体表面の点における入射角であって、法線方向と光源方向とがなす角度、θ
rは法線方向と視線方向とがなす角度、αは光源方向と視線方向の2等分方向と法線方向とがなす角度である。
これらの関係を図17に示す。この図において、200,105,104はそれぞれ保持対象物、カメラ、光源を示し、ベクトルNは保持対象物200表面の法線方向を示し、ベクトルV,L,Hはそれぞれカメラ方向、光源方向、カメラ方向と光源方向との二等分線方向を示している。ここで、
とすると(式1)は以下のように変形される。
つまり、K
d、K
s及びσのパラメータを推定することができれば、対象物の反射特性を記述することができ、対象物の材質を推定することができる。そこで、これらのパラメータを反射パラメータと呼ぶ。
反射パラメータの推定は、以下の3つのステップからなる。
1)保持対象物の正確な位置(位置座標)と形状、姿勢の推定
2)拡散反射領域と鏡面反射領域との分離
3)反射パラメータの推定
以下、順番に各ステップについて説明する。
1)保持対象物の正確な位置(位置座標)と形状、姿勢の推定
保持対象物にはその形状を記憶した電子タグが設置されているとする。
ここでは、その形状情報とステレオ視から求められた保持対象物の3次元位置情報との対応を求めることによって、対象物の正確な位置(位置座標)と形状、姿勢を求める方法を説明する。尚、保持対象物の3次元位置情報は、保持対象物の材質を推定するためだけでなく、上述したように、保持装置103が保持対象物の保持を行うためにも必要な情報である。
画像を利用した3次元位置検出法として、ブロックマッチング法を利用したステレオ視が広く使われている。この方法では、対象を複数のカメラで撮影し、画像間の対応を分割したブロック(点)ごとに求める。こうして求まった対応点から3次元位置(位置座標)を求める。
求める対応点の数が十分に多い場合は、この方法によって対象物の形状まで求めることができるが、処理時間やマッチング精度の問題から、対象物に対して疎な3次元位置(位置座標)しか求めることができない場合が多い。そのため、必要な情報は対象物の位置(位置座標)と形状、姿勢情報であるのに対し、この方法で求まるのは、複数点の3次元位置(位置座標)であるという問題が生じる。つまり、3次元位置(位置座標)が求まった点の集合から、保持対象物の正確な位置(位置座標)と形状、姿勢を求める手段が必要となる。そこで、電子タグに記憶された表面形状情報を利用し、その位置(位置座標)と姿勢を推定する。
図18A〜図18Eはこの処理に関する概念図を示す。図18Aの各点はブロックマッチング法により3次元位置(位置座標)の求まった点を示している。図18Bは電子タグに記憶されている保持対象物の形状情報を示している。ここで保持対象物は半径r、高さhの円柱であるとする。
ブロックマッチング法によって3次元位置(位置座標)が求められた点は全て、対象物の表面上の点であると考えられる。そこで、電子タグから求めた形状データを、3次元空間上に位置姿勢を少しずつ変化させながら順に仮想的に配置する(図18C、図18D、図18E参照)。そして、ブロックマッチング法によって3次元位置(位置座標)が求められた点のうち、仮想の形状データの表面上に存在する点の数をカウントする(図18C、図18D、図18Eにおいて丸で囲んだ点)。そして、カウントされた点の数が最大となる位置(位置座標)、姿勢を、その対象物の位置(位置座標)、姿勢であると推定する(図例では、図18D)。
尚、保持対象物に電子タグが設置されておらず、その形状が未知の場合であっても、レーザーレンジファインダや超音波センサ、光切断法や高精度のステレオ視等の、高精度の3次元計測法を利用することによって、対象物の位置(位置座標)と形状、姿勢を直接求めることも可能である。
2)拡散反射領域と鏡面反射領域との分離
次に、対象物を撮影した画像を拡散反射領域と鏡面反射領域とに分離する。ここでは、カメラ105を固定し、光源104を動かしながら撮影した複数枚の画像(図19A〜図19D参照)を用いて領域分割を行う方法を利用する(「光学現象の分類基準を利用した画像の線形化」、石井育規、福井孝太郎、向川康博、尺長健、画像の認識・理解シンポジウム(MIRU2002)、vol.2、pp.167-176)。
この方法は、Lambertianモデルを仮定した画像は、光源の異なる3枚の画像の線形結合により任意光源の画像を表現できることを利用して、画像を完全拡散反射領域、鏡面反射領域等に分類する方法である。
図20A〜図20Dは、それぞれ、図19A〜図19Dに示す画像をこの方法で領域分割した図を示している。図20A〜図20Dにおいて塗りつぶした領域1301〜1304が、鏡面反射領域を示している。
この際、光源104は、その位置を変更するために、上述したように、ロボット402のアーム103bに設置することが望ましいが、例えば光源104は、家庭内に設置された照明等の、インフラに設けられているものを利用してもよい。その場合に、光源の位置が変更されるように家電連携を行ってもよい。
また、カメラ105を固定して光源104の位置を変更するのではなく、光源104を固定しカメラ105の位置を変更してもよい。この場合は、位置を変更して撮像した各画像間において各画素同士の対応が求められている必要がある。
尚、鏡面反射領域の推定方法は、上述した方法に限らず、例えば偏向フィルタを用いた推定方法であってもよい。また、画像内の高輝度領域を切り出すことによる推定であってもよい。具体的には、鏡面反射領域は輝度が十分に高い画素であると仮定し、ある画素の輝度i(x)が以下の式を満たす場合に、その画素を拡散反射領域とすればよい。
ここで、Th
dとは、鏡面反射と拡散反射を区別する閾値である。
3)反射パラメータの推定
次に、分離された拡散反射領域と鏡面反射領域の情報を利用して反射パラメータを推定する方法について説明する。
まず、拡散反射領域の情報を利用して、反射パラメータKdの推定を行う。拡散反射領域では、鏡面反射成分がほぼ0と考えられるので、(式2)より、以下の関係が成り立つ。
上述したように、光源104はアーム103bによって位置が制御されるため、光源104の方向は既知となる。また、保持対象物の位置(位置座標)と形状、姿勢も得られているため、対象物表面の法線方向、つまりcos(θ
i)も既知である。
光源104の位置を変えて撮影した複数枚の画像全てにおいてこれらの情報が既知であるため、(式3)において、対象物の各点においてを変化させたときのIcの変化が既知であることがわかる。そこで、対象物の点毎に、(式3)を最小自乗法等の手法を用いて解くことにより、各点のKdを推定することができる。この際、各輝度値は、ノイズや3次元位置推定ミスの影響等によって、はずれ値となることが多いため、RANSAC(RANdom Sample Consensus)やSVDMD(Singular Value Decomposition with Missing Data)等、はずれ値を除去することが可能な最適化手法を用いることが望ましい。
尚、反射パラメータKdを点毎に求めるのではなく、前処理として画像を材質毎に領域分割しておき、その領域毎に反射パラメータKdを求めてもよい。
こうした領域分割の方法としては、色が同じ領域は同じ材質であると仮定して色を基準に分割してもよい。また、形状情報を利用して分割してもよい。例えば「ある平面上の領域はすべて同一の材質である」という仮定をおくことによって分割可能である。
次に、鏡面反射領域の情報を利用して、反射パラメータKsとσとを推定する。鏡面反射領域の反射パラメータはその近傍のものと同じである、と仮定すると、鏡面反射領域の拡散反射成分を示すパラメータKdは周辺の領域から求めることができる。そこで、(式2)は以下のように変形することができる。
ここで、右辺とcos(θ
r)、αは全て既知であるため、鏡面反射成分を表す反射パラメータK
s,σを推定することができる。
こうして求まった反射パラメータと、データベース上に記憶されている各材質の反射パラメータをSVM(Support Vector Machine)等の公知の方法で比較・分類することによって、対象物の材質を推定する。
以上の処理は、撮像装置105としてカメラを用いているが、撮像装置105は赤外線カメラ等であってもよい。
また、赤外域や可視光域のスペクトル画像を用いて保持対象物の材質を認識することも可能である。前者の方法は赤外分光分析(FTIR)として公知であり、後者の方法は、例えば、(「物体認識のためのスペクトル画像による材質の判別」、眞鍋佳嗣、佐藤宏介、井口征士、電子情報通信学会論文誌D-II、Vol.J79-D-II、No.1、pp.36−44、1996)等により公知である。
上述したように、本実施形態の物品保持システム12は、認識された材質に基づいて保持方法を特定する。
本実施形態のように保持対象物の材質を認識する物品保持システム12は、食器の保持を行うときに利用することができる。つまり、ロボット402が食事後の食器を片付けるために、各食器を食器洗い機に運搬する作業を行うとする。このときに、食器に残飯があるときにはその残飯を捨てた後に食器洗い機に投入し、食器に残飯が存在しないときにはそのまま食器洗い機に投入する作業を行う。
この食器を保持する際に、上記材質認識装置107は食器表面の材質を認識することにより、残飯の有無を判別する。具体的には、各食器に取り付けた電子タグにその食器の反射パラメータを予め記憶させておく。そうして、上述したように、実際に食器の反射パラメータを検出し、その検出パラメータと記憶パラメータとを比較する。両パラメータが同じ場合は食器上には何もないと判断することができ、両パラメータが十分に違う場合は食器上に何かが存在していると判断することができる。尚、残飯の反射パラメータを予め求めておいて、実際に検出した反射パラメータと残飯の反射パラメータとを比較してもよい。
こうして材質認識装置107によって残飯の有無を認識したことを受けて、保持方法特定手段102はその後の処理に応じた保持方法を特定する。つまり、食器に残飯が存在しているときには、その残飯を廃棄する作業に最適な保持方法を選択する一方、残飯が存在していないときには、食器洗い機に投入する作業に最適な保持方法を選択する。
保持装置103は、保持方法特定手段102によって特定された保持方法に従って食器の保持を行う。
また、本実施形態に係る物品保持システム12は、第1実施形態でも述べたように、物品の状況に応じて保持位置(位置座標)を特定する場合にも利用可能である。つまり、料理(食品)が盛り付けられた皿を保持するときに、上記材質認識装置107が料理の反射パラメータと皿の反射パラメータとの違いを利用することによって、皿の上に置かれた料理の領域を特定することができる。その特定結果を受けて、保持方法特定手段102は、皿の全領域の内、食品領域以外の領域を保持可能領域に特定することができる。そこで、上記保持方法特定手段102は、上記認識装置101の認識結果に基づいて、保持方法の特定を行う。この特定は図30に示された(例えば、テーブル形式の)データベースを利用して行う。これは、前述の(式1)に基づいたパラメータ推定結果を利用すればよい。まず、皿の反射パラメータK
dp、K
sp、σ
pをあらかじめ取得しておく。次に、前述の方法で、把持対象物の各点での反射パラメータを推定する。こうして推定された反射パラメータを
とする。推定された反射パラメータが十分に皿の反射パラメータに近い場合、その点は皿の領域であると判断し、その点を保持可能領域とし保持を行なう。一方、推定された反射パラメータが皿の反射パラメータと大きく異なる場合、その点は食品領域であると判断し、保持を行なわない。
さらに、本実施形態の物品保持システム12は、物品に電子タグ等が取り付けられておらず、その物品の保持方法が予め得られていないときにも有効である。例えば、保持対象物であるコップに電子タグ等が取り付けられておらず、そのコップを保持する際に必要な情報(位置(位置座標)、形状、及び姿勢情報)が得られないときには、ステレオ視やレンジファインダを利用して、認識装置101がそのコップの形状を求める。また、材質認識装置107によってコップの材質を認識する。それによって、そのコップが例えばガラス製であるか、ステンレス製であるか、紙製であるかを特定する。
一方、図31に示すような各材質に対応する保持方法(保持する際のトルク情報を含む。)を記憶させたデータベースを、物品保持システム12に備えておき、保持方法特定手段102は、認識された材質に対応する保持方法を選択する。そうして、保持装置103は、保持方法特定手段102によって特定された保持方法に従って、コップの保持を行う。このことにより、例えばガラス製コップを保持する際にトルクを上げすぎて割ってしまったり、紙コップを保持する際に潰してしまったり、することが回避される。言い換えれば、ガラス製コップを保持する際には限界トルクTLg以下のトルクで保持するとともに、紙コップを保持する際には限界トルクTLp以下のトルクで保持することにより、上記した不具合の発生を防止する。
このように、保持対象物の材質を認識することによって物品の状況が認識され、その状況に最適な保持方法でもって、保持対象物を保持することができる。
(他の実施形態)
尚、上記各実施形態では、保持装置103〜12が認識装置101を有していたが、認識装置101は、物品保持システム10〜12の外部に設けてもよい。この場合、認識装置101と物品保持システム10〜12(ロボット402)とを無線及び/又は有線のネットワークを介して互いに接続した保持システムを構成し、認識装置101による認識結果を上記ネットワークを介して保持装置に送信すればよい。
上記保持方法データベースなどのデータベースには、上記保持対象物として複数の異なる保持対象物に対する物品保持方法が記憶されており、上記異なる保持対象物は、物品ID情報は共通であり、形、温度、内容物、又は、水分量などの形態が異なる物品であって、その形態が変わることにより保持方法が変わるものである。上記保持対象物の形、温度、内容物、又は、水分量などの形態が異なる物品、又は、上記保持対象物の形、温度、内容物、又は、水分量などの形態が変化する物品とは、ID情報は同一であるが、電子タグを付けても変化がとれない物品であり、上記した紙と紙くず、洗う前の洗濯物と洗濯後に畳まれた洗濯物、空のコップと液体の入ったコップ、乾いた紙と濡れた紙などがある。
なお、本発明は上記実施形態に限定されるものではなく、その他種々の態様で実施できる。
例えば、ロボット402は移動装置414を備えていなくても構わない。図22は、移動装置414をもたないロボットのアーム103bとハンド103aとを有する保持装置103を示している。このロボット402は、部屋の天井500や壁面に固定されており、それ自体で移動することは出来ない。このようなロボット402は、キッチンなどでの調理補助など、移動範囲が限られている場合に有効である。
なお、上記様々な実施形態のうちの任意の実施形態を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。