(57)【要約】      （修正有）【課題】一般の家屋などで扱われる様々な物品をロボットで移動させる場合、移動対象物品を指定した設置位置に適切な状態で設置するシステムを提供する。【解決手段】家屋内に存在する物品を管理するシステム１００であり、前記家屋内の物品や人等の情報を蓄積する物品移動体データベース１０６と、家屋内のマップを蓄積する環境マップ１０８と、物品を移動させるための把持手段を具備する作業ロボット１０２と、物品の移動先の設置位置を指定する物品操作手段１１６と、作業ロボットが把持した物品の姿勢と設置位置を前記設置位置付近の状況に応じて決定する設置姿勢決定手段１１９及び設置位置決定手段１２０を備える。【選択図】  図１
2004249389.tif 000002
【特許請求の範囲】
【請求項１】
居住空間内に存在する物品を管理するシステムであって、
少なくとも前記居住空間内の物品の情報を有するデータベースと、
移動対象物品と該移動対象物品の移動先の設置位置とを指定する物品操作手段と、
物品を保持する保持手段を有し、前記移動対象物品を前記保持手段で保持して前記設置位置に設置する作業ロボットと、
前記データベースの情報に基づいて、前記作業ロボットによる前記移動対象物品の設置時の姿勢を前記設置位置付近の他の物品の情報に応じて決定する設置姿勢決定手段とを備え、
前記移動対象物品を前記設置姿勢決定手段により定めた姿勢で前記設置位置に設置する物品管理システム。
【請求項２】
請求項１に記載の物品管理システムであって、
前記データベースは、物品の種類及び形状の少なくとも一方の情報と、物品の位置及び姿勢の情報とを有し、
前記設置姿勢決定手段は、前記移動対象物品と種類及び形状の少なくとも一方が同一又は類似する同一類似物品が前記設置位置付近に存在するか否かを判断し、存在する場合には前記移動対象物品の設置姿勢を前記同一類似物品の姿勢に合わせる物品管理システム。
【請求項３】
請求項２に記載の物品管理システムであって、
前記設置姿勢決定手段は、移動先に指定された設置位置がゴミ箱内である場合には、前記移動対象物品の設置姿勢を前記ゴミ箱内の他の物品の姿勢に合わせないように決定する物品管理システム。
【請求項４】
居住空間内に存在する物品を管理するシステムであって、
前記居住空間内の物品の情報と前記居住空間内のマップ情報とを有するデータベースと、
移動対象物品と該移動対象物品の移動先の設置位置とを指定する物品操作手段と、
物品を保持する保持手段を有し、前記移動対象物品を前記保持手段で保持して前記設置位置に設置する作業ロボットと、
前記データベースの情報に基づいて、前記作業ロボットによる前記移動対象物品の設置時の姿勢を前記設置位置付近の状況に応じて決定する設置姿勢決定手段とを備え、
前記移動対象物品を前記設置姿勢決定手段により定めた姿勢で前記設置位置に設置する物品管理システム。
【請求項５】
請求項４に記載の物品管理システムであって、
前記設置姿勢決定手段は、前記設置位置の設置スペースが限られているときには、前記移動対象物品の姿勢を前記移動対象物品が前記設置スペースに収まるように決定する物品管理システム。
【請求項６】
請求項４に記載の物品管理システムであって、
前記設置姿勢決定手段は、前記移動対象物品の設置姿勢を前記移動対象物品が前記設置位置において安定する姿勢に決定する物品管理システム。
【請求項７】
居住空間内に存在する物品を管理するシステムであって、
前記居住空間内の物品の情報と前記居住空間内のマップ情報とを有するデータベースと、
移動対象物品と該移動対象物品の移動先の設置位置とを指定する物品操作手段と、
物品を保持する保持手段を有し、前記移動対象物品を前記保持手段で保持して前記設置位置に設置する作業ロボットと、
前記データベースの情報に基づいて、指定された設置位置に既に他の物品が置かれているか否かを判断し、他の物品が置かれていない場合には前記設置位置を変更しない一方、他の物品が置かれている場合には、前記設置位置付近において前記移動対象物品が他の物品と重ならない位置に設置位置を変更する設置位置決定手段とを備え、
前記移動対象物品を前記設置位置決定手段により決定された設置位置に設置する物品管理システム。
【請求項８】
居住空間内に存在する物品を管理するシステムであって、
前記居住空間内の物品の情報と前記居住空間内のマップ情報とを有するデータベースと、
移動対象物品と該移動対象物品の移動先の設置位置とを指定する物品操作手段と、
物品を保持する保持手段を有し、前記移動対象物品を前記保持手段で保持して前記設置位置に設置する作業ロボットと、
前記データベースの情報に基づいて、指定された設置位置に既に他の物品が置かれているか否かを判断し、他の物品が置かれているときには前記他の物品の上に前記移動対象物品を積載できるか否かを更に判断し、積載できる場合には前記設置位置を変更しない一方、積載できない場合には、前記設置位置付近において前記移動対象物品が前記他の物品と重ならない位置に設置位置を変更する設置位置決定手段とを備え、
前記移動対象物品を前記設置位置決定手段により決定された設置位置に設置する物品管理システム。
【請求項９】
居住空間内に存在する物品を管理するシステムであって、
前記居住空間内の物品の情報と前記居住空間内のマップ情報とを有するデータベースと、
移動対象物品と該移動対象物品の移動先の設置位置とを指定する物品操作手段と、
物品を保持する保持手段を有し、前記移動対象物品を前記保持手段で保持して前記設置位置に設置する作業ロボットと、
前記データベースの情報に基づいて、指定された設置位置に前記移動対象物品が設置できるか否かを判断し、設置できる場合には前記設置位置を変更しない一方、設置できない場合には前記設置位置付近における設置可能な位置に設置位置を変更する設置位置決定手段とを備え、
前記移動対象物品を前記設置位置決定手段により決定された設置位置に設置する物品管理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、居住空間内に存在する物品を管理する物品管理システムに係り、特に、ロボットを使って居住空間内の物品を移動させる機能を有する物品管理システムに関する。
【０００２】
【従来の技術】
ロボットは、その物品把持機能を生かして実に多くの分野で有効に利用されている。例えば、工場の自動製品組み立てラインにおける部品の把持運搬、自動化された倉庫での在庫品の運搬や管理など、その例を挙げると切りがないほどである。
【０００３】
そして今日では、かくのごとく産業用として成熟してきたロボット技術を生かし、家庭内で人間と共存しながら人間の生活を支援するという壮大な目標に向けて、産業以外の用途に用いられるロボット、特に一般家庭向けのロボットの研究開発がさかんに行われるようになってきた。例えば、最近では、ペットの飼えない環境でペットのような振る舞いをすることにより人の心を癒すエンタテイメント系ロボットが注目されている。また、いわゆる家事支援系のロボット、例えば、多数のセンサを備え、これらセンサにより部屋の中の障害物を検知してよけながら自動で部屋の中を掃除するロボット等も、実際に開発され製品化されている。更に、要素技術として、様々な家事支援を行う上で必要不可欠な技術、例えば、家庭内の物品を自由に把持し運搬するハンドリング技術、ロボットが移動する空間内の様子を認識するセンシング技術なども、さかんに開発されている。このような技術の開発が進めば、将来は人間に代わって様々な家事を支援するロボットが実現するであろう。
【０００４】
ところで、家事の支援を行うための最も基本的な機能の一つに、物品の把持運搬があげられる。この機能は産業用途では既に実現されており、主に生産工場において、入庫した製品や部品、材料等の物品を保管・管理し、必要に応じて出庫させる自動倉庫で広く用いられている。
【０００５】
図３３は、従来の自動倉庫（特許文献１参照）の説明図である。この自動倉庫２８００は、ストック対象物（物品）２８０１を把持する把持部２８０２と、把持部２８０２を昇降方向と異なる方向に位置規制しながら昇降させる把持部昇降手段２８０３と、物品を収納するためのストックエリア２８０４の上方に配設され、把持部昇降手段２８０３をほぼ水平な方向に移動させる２次元移動手段２８０５と、ストック対象物２８０１の入出庫情報を管理する管理装置２８０６とから構成されている。自動倉庫２８００の管理対象となる物品は、平積みあるいは段積みしても荷崩れする恐れがないように予め収納ケースや箱に収納されている物品か、それ自体荷積みしても荷崩れを起こさないような物品（例えば車のタイヤ）である。
【０００６】
このように、上記自動倉庫２８００の場合、扱う物品の形状等を統一するなどの工夫を施すことにより、作業環境を最適化し、スペース（倉庫等）の有効活用を図っている。すなわち、段ボールの箱のように、形状に多少の自由度を持たせたとしても、その形状は物品を秩序正しく積載できるような形状（直方体など）に限定されている。このように、産業用途では対象物品の統一化を図ることにより、物品を秩序正しく積載でき、スペースを効率的に活用することができる。また、産業用途では、ストックエリア内におけるどの場所に物品を設置するかを作業者が直接指示することがないため、作業者は基本的に入出庫する物品の数だけを指示していればよい。
【０００７】
【特許文献１】
特開２０００−２３８９０６号公報
【０００８】
【発明が解決しようとする課題】
しかしながら、上記従来技術をそのまま家庭用に適用することは困難である。なぜなら、工場等と家庭やオフィス等とでは、以下に説明するような相違点があるからである。なお、これらは従来技術を家庭やオフィス等で用いる際の課題となる点でもある。
【０００９】
まず、第１の相違点として、工場と異なり家庭やオフィスでは、基本的に人が物品を使用するので、その物品を人が床面や机の上に適当な姿勢で置いてしまうことが多い点が挙げられる。そのため、産業用途のような画一的な作業を行うロボットを用いたのでは、その物品を把持した後、不適当な姿勢（例えば、把持したときの姿勢のまま）で設置してしまうおそれがある。例えば、床に平積みされた本を本棚に移動させるよう作業ロボットに指示を出した場合、その本は本棚に平積みの状態で収納されてしまう。その結果、次に人が取り出す時に取り出し難かったり、整理整頓されていないようで見苦しい印象を与える等の問題を生じることになる。
【００１０】
第２の相違点は、産業用途では物品の置き場所に規則性があるのに対し、家庭やオフィス等では物品の置き場所が常に決まっているわけではなく、設置位置として人がいつもと違う場所を指定することがよくある点である。また、往々にして人の指示は曖昧で、その移動先の状況のことはあまり考えずに指示を出す場合が多い。そのため、指示された物品を指示された位置に置こうとしても、当該物品を指示位置に設置することが不適当又は不可能な場合もある。例えば、指示された設置位置は既に他の物品に占有されており、当該物品を設置することが物理的に不可能な場合がある。
【００１１】
第３の相違点は、産業用途では物品の種類や形状が予め予定されており、形状等の統一を図ることが比較的容易であるのに対し、家庭やオフィス等では、対象となる物品の形状等の統一を図ることが困難な点である。すなわち、家庭やオフィスなど人が日常的に生活する環境に入ってくる物品は、インテリアとしての形状や、あるいは機能的に本来あるべき形状等を持っており、その形状や種類に制限を設ける（例えば工場内での使用のように全て直方体にする）ことは事実上不可能である。そのため、例えば、指定された設置位置に既に他の物品が置かれてあって移動対象物品を前記他の物品の上に重ねて置かなければならないときに、両物品の形状等の相違から重ね置きができないことがある。例えば、既に置かれている物品に比べて移動対象物品が大型である場合には、当該物品を無理矢理に重ね置きしたとしても、結果的には荷崩れして物品を破損したり、整理整頓ができない等の問題を生じることになる。
【００１２】
本発明はかかる点に鑑みてなされたものであり、その目的とするところは、家庭やオフィス等の居住空間内において作業ロボットに物品の移動作業を行わせる際に、移動対象物品を指定された位置に適切な状態で設置することにある。
【００１３】
【課題を解決するための手段】
本発明に係る物品管理システムは、居住空間内に存在する物品を管理するシステムであって、少なくとも前記居住空間内の物品の情報を有するデータベースと、移動対象物品と該移動対象物品の移動先の設置位置とを指定する物品操作手段と、物品を保持する保持手段を有し、前記移動対象物品を前記保持手段で保持して前記設置位置に設置する作業ロボットと、前記データベースの情報に基づいて、前記作業ロボットによる前記移動対象物品の設置時の姿勢を前記設置位置付近の他の物品の情報に応じて決定する設置姿勢決定手段とを備え、前記移動対象物品を前記設置姿勢決定手段により定めた姿勢で前記設置位置に設置するものである。
【００１４】
上記物品管理システムによれば、移動対象物品は設置位置付近の他の物品の状況に応じた姿勢で設置されることになり、適切な状態に設置される。
【００１５】
また、本発明に係る物品管理システムは、前記居住空間内の物品の情報と前記居住空間内のマップ情報とを有するデータベースと、前記物品操作手段と、前記作業ロボットと、前記データベースの情報に基づいて、前記作業ロボットによる前記移動対象物品の設置時の姿勢を前記設置位置付近の状況に応じて決定する設置姿勢決定手段とを備え、前記移動対象物品を前記設置姿勢決定手段により定めた姿勢で前記設置位置に設置するものである。
【００１６】
上記物品管理システムによれば、移動対象物品は設置位置付近の状況に応じた姿勢で設置されることになり、適切な状態に設置される。
【００１７】
また、本発明に係る物品管理システムは、前記データベースと、前記物品操作手段と、前記作業ロボットと、前記データベースの情報に基づいて、指定された設置位置に既に他の物品が置かれているか否かを判断し、他の物品が置かれていない場合には前記設置位置を変更しない一方、他の物品が置かれている場合には、前記設置位置付近において前記移動対象物品が他の物品と重ならない位置に設置位置を変更する設置位置決定手段とを備え、前記移動対象物品を前記設置位置決定手段により決定された設置位置に設置するものである。
【００１８】
上記物品管理システムによれば、指定された設置位置が他の物品に占有されている場合等において、移動対象物品を無理に他の物品と重ねて設置することが防止され、移動対象物品は適切な状態に設置される。したがって、あいまいな指示が出された場合であっても、移動対象物品を適切な状態に設置することができる。
【００１９】
また、本発明に係る物品管理システムは、前記データベースと、前記物品操作手段と、前記作業ロボットと、前記データベースの情報に基づいて、指定された設置位置に既に他の物品が置かれているか否かを判断し、他の物品が置かれているときには前記他の物品の上に前記移動対象物品を積載できるか否かを更に判断し、積載できる場合には前記設置位置を変更しない一方、積載できない場合には、前記設置位置付近において前記移動対象物品が前記他の物品と重ならない位置に設置位置を変更する設置位置決定手段とを備え、前記移動対象物品を前記設置位置決定手段により決定された設置位置に設置するものである。
【００２０】
上記物品管理システムによれば、移動対象物品を他の物品の上に積載できる場合には、そのように積載することにより、移動対象物品を適切な状態に設置することができる。
【００２１】
また、本発明に係る物品管理システムは、前記データベースと、前記物品操作手段と、前記作業ロボットと、前記データベースの情報に基づいて、指定された設置位置に前記移動対象物品が設置できるか否かを判断し、設置できる場合には前記設置位置を変更しない一方、設置できない場合には前記設置位置付近における設置可能な位置に設置位置を変更する設置位置決定手段とを備え、前記移動対象物品を前記設置位置決定手段により決定された設置位置に設置するものである。
【００２２】
上記物品管理システムによれば、設置位置として移動対象物品が設置できないような位置が指定された場合であっても、移動対象物品を指定位置付近の設置可能な位置に設置することができる。したがって、あいまいな指示が出された場合であっても、移動対象物品を適切な状態に設置することができる。
【００２３】
なお、前記物品管理システムにおいて、作業ロボットの保持手段とは、物品を保持するものであればよく、具体的な保持方法は何ら限定されるものではない。保持手段として、例えば、物品を把持する手段、支持する手段、吸引保持する手段、磁力又は電気力を利用して保持する手段等、種々の手段を用いることができる。
【００２４】
また、居住空間とは、例えば家屋やオフィスなど、人と物品とが相互に関わり合いをもって存在し合う空間を言う。
【００２５】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施の形態について説明する。まず、本発明に係る物品管理システムの構成を説明し、続いて、物品管理システムの動作について説明する。
【００２６】
−物品管理システムの全体構成−
図１は、本発明に係る物品管理システム１００の全体構成の例を示したブロック図である。物品管理システム１００は、大きく分けて３つのサブシステム、すなわち環境管理サーバ１０１（以下、単にサーバと称することもある）と、作業ロボット１０２（以下、単にロボットと称することもある）と、操作端末１０３とから構成される。以下では、環境管理サーバ１０１、作業ロボット１０２、操作端末１０３の順に、それぞれのサブシステムの構成を説明することとする。
【００２７】
−環境管理サーバの構成−
１番目のサブシステムである環境管理サーバ１０１は、環境内の状況を把握するセンシング手段１０４と、環境内に存在する物品と移動体とを管理する物品移動体検索・管理手段１０５と、上記管理のためのデータを蓄える物品移動体データベース１０６と、物品以外の環境全体の情報を管理する環境マップ管理手段１０７と、その管理のためのデータを蓄える環境マップ１０８と、物品移動体データベース１０６や環境マップ１０８のデータに関する問い合わせを外部から受け、また、それに答えて外部に情報を発信等する送受信手段１０９と、それら各手段１０４〜１０９をコントロールする制御手段１１０とからなっている。物品移動体データベース１０６及び環境マップ１０８は、本発明で言うところの「データベース」を構成している。
【００２８】
なお、本実施形態における環境とは、例えば家屋やオフィスなど、人と物品とが相互に関わり合いをもって存在し合う空間（居住空間）を意味する。
【００２９】
また、マップ情報は、部屋や家具など、通常ほとんど移動しない物体（不動物体）の構造情報から成る。構造情報とは、少なくとも不動物体が占める空間内部及びその上部に存在する、他の物体を設置可能な面（例えば、部屋であれば床、収納であれば棚）の領域情報（例えば、その面の外接多角形の頂点）を言う。領域情報は、座標系表示、座標系と形状とによる表示などにより表される。
【００３０】
以下、環境管理サーバ１０１の各構成要素について順に説明していく。
【００３１】
＜センシング手段＞
センシング手段１０４は、操作環境内（例えば家屋やオフィス、店舗など）に存在するすべての監視対象物、すなわち物品、家具、環境内に存在する人、ロボット等の位置や状態を常に監視するものである。また、センシング手段１０４は、新たな物品が人やロボット等の移動体によって環境内に新たに持ち込まれた場合には、それも検出する。
【００３２】
センシング手段１０４の具体的構成は特に限定されないが、例えば、画像センサを用いる手段や電子タグを用いる手段などを好適に利用することができる。ここでは、物品や移動体を検出する方法の具体例として、画像センサを使う方法と電子タグを使う方法とを説明する。
【００３３】
まず、画像センサを用いる方法について説明する。ここで用いる画像センサの種類は特に限定されないが、屋内のような広い範囲を少ない設備で効率よく監視するものとして、カメラを好適に用いることができる。以下では、カメラを天井や壁などに設置し、カメラによる撮影画像を使って物品や移動体の検出などを行う例を説明する。
【００３４】
カメラ画像を用いて物品や移動体を検出する一般的な方法として、背景差分法が知られている。背景差分法とは、あらかじめ背景としてのモデル画像を用意しておき、現在の入力画像と前記モデル画像との差分を取ることにより、対象物を画像から得る方法である。本発明に係るセンシング手段１０４では、環境内の物品や移動体を検出及び監視することを目的としている。そのため、モデル画像として、例えば環境変動が無い場合は、環境内に物品移動体の全く存在しない一枚の画像を使うことができる。一方、環境変動が激しい場合は、ある時間に連続して撮影された画像を平均して得られた画像を使っても良い。
【００３５】
図２は背景差分法を具体的に説明するための補助図であり、図２（ａ）は前記モデル画像の例を示した図である。図２（ｂ）は、図２（ａ）の画像を撮影したカメラと同じカメラを用いて撮影されたある時点における入力画像を示した図であり、図２（ｃ）は、図２（ｂ）の入力画像から図２（ａ）のモデル画像を差し引いて得られた背景差分画像の例を示した図である。図２（ｃ）から分かるように、入力画像とモデル画像とで差のある部分のみが、背景差分画像において浮き出てくる。このように、背景差分法では、背景差分画像で浮き出てきた部分のみをそれぞれ取り出すことにより、環境内の物品を検出することができる。なお、使用するカメラの個数は１台でも良いが、２又は３台以上のカメラを用いれば、ステレオ視による三次元計測技術を用いて物品の形状及び姿勢情報も取得することが可能となる。
【００３６】
次に、電子タグを用いる検出方法について説明する。近年、電子タグを用いて物品や移動体の位置を検出する方法が開発されつつある。本発明では、それら方法のほとんどすべてを応用することができ、例えば、特開２０００−３５７２５１号公報に開示された技術を利用することができる。
【００３７】
ここで電子タグとは、データを蓄えるＩＣとデータを無線で送信できるアンテナとからなるデバイスであり、リーダライタと呼ばれる装置によって情報を書き込んだり、書き込まれた情報を読みとったりすることができるものである。
【００３８】
タグには、物品を特徴づける属性データ、すなわち物品の種類、製造年月日、形状、重さ、物品画像などのデータを記憶させることが可能である。このようなデータを電子タグに記憶させ、そのデータを参照自在にすることにより、より高度な物品管理が可能となる。例えば、ロボットによる物品把持や設置の際に物品の形状や重さのデータを用いたり、製造年月日を品質期限の管理に用いたり、物品の種類を捜し物の検索に用いること等が可能になる。その結果、ユーザに大きなメリットをもたらすことになる。また、移動体にもその移動体に関するデータ、例えば人の名前や生年月日などの情報を書き込んだタグを付与することが可能である。人の場合には、常に携帯するような携帯物、例えば腕時計、携帯電話、眼鏡などにタグを埋め込むようにしてもよい。
【００３９】
以上、センシング技術の具体例として、カメラおよび電子タグを用いた物品及び移動体の検出方法を説明したが、センシング手段１０４は、もちろんこれ以外の方法を用いるものであってもかまわない。前記センシング手段１０４は、カメラ、電子タグ及びその他のセンサのうち少なくとも一つ以上を含むものとする。
【００４０】
なお、センシング手段１０４によって新たな物品や移動体が検出されると、その情報は、後述する物品移動体検索・管理手段１０５を介して物品移動体データベース１０６に登録・更新される。例えば、物品の置かれている場所や物品の姿勢、移動体の存在場所等が物品移動体データベース１０６に登録される。ただし、物品移動体データベース１０６に登録される情報は、センシング手段１０４によって直接検出された情報のみに限られない。ある物品が移動している場合には、センシング手段１０４から受け取った情報を元に、それがどの移動体によって移動させられているかを推論し、その推論結果も登録するようにしてもよい。
【００４１】
図３を参照しながら上記推論方法の一例を詳述する。図３は本発明に係る物品移動体検索・管理手段１０５の基本構成を概念的に示すブロック図である。図３の物品移動体検索・管理手段１０５は、前記物品移動体データベース１０６に登録されている物品が移動体によって操作されていることを検出する物品操作者検出手段４０１と、物品操作者検出手段４０１により検出された、操作物品を操作している移動体の情報を取得する移動体情報取得手段４０２とを備えている。
【００４２】
物品操作者検出手段４０１は、センシング手段１０４を利用することにより、物品が移動体によって操作されていることを検出する。例えば、前述のようにセンシング手段１０４が背景差分法を利用している場合には、入力画像とモデル画像とを比較し、経時的に差のある部分が生じたときに、その領域で物品が操作されていると推定する。もちろん、物品操作者検出手段４０１による検出方法は上記方法に限ったものではなく、例えば電子タグを使ってもかまわない。
【００４３】
移動体情報取得手段４０２は、物品が移動体によって操作されていることを物品操作者検出手段４０１が検出したときに、その物品を操作している移動体の情報を取得する。例えば、前述のようにセンシング手段１０４としてカメラを利用している場合、操作の行われた領域の画像をカメラで取得し、その画像に対して顔認証処理を行なう。こうして同定された移動体は、物品が操作された際にその近傍にいたと考えられるので、この移動体を操作者と推定する。もちろん、背景差分法では通常、広域を撮影するカメラを利用するため、顔認証を行なうには解像度が足りない場合もある。そこで、背景差分法のためのカメラとは別に顔認証用に狭角の高分解能カメラを設置し、物品操作者検出手段４０１によって物品の操作が検出された領域に上記狭角カメラを向けて、認証を行なうようにしてもよい。もちろん、移動体の同定を行なう方法は顔認証に限ったものではなく、虹彩認証などであっても構わない。また、認証まで行なわず、操作が行なわれている領域の画像をカメラで撮影し、その画像を他の手段で利用するようにしてもよい。これらの画像を、認証がうまくいかなかったときにのみ利用するようにしてもよい。
【００４４】
センシング手段１０４として電子タグを用いる場合には、タグリーダライタを適宜配置することにより、物品及び移動体の情報を収集することができる。また、特定の場所での物品の操作を管理する場合、タグリーダライタを特定の場所に配置することにより、物品情報と移動体情報とを取得することが望ましい。この場合、物品の操作を精度よく検出するために、ゲート型のタグリーダライタを配置するのが好ましい。この方法では、図４に示したように、部屋のドアや窓にタグリーダライタを設けることが好ましい。図４のようにタグリーダライタを設置することにより、ドアや窓を通過した物品や移動体を漏れなく検出することができる。これは、物品の持ち出しなどを管理する場合に特に効果的である。図４において、タグリーダライタＡ，Ｂはドアや窓を上下左右に囲むように設置されているが、これはタグリ−ダライタを通過する電子タグの向きに依存しない精度のよい検出を行なうためである。もちろん、タグリーダライタは、窓やドアの上下のみ、左右のみ、または中央に設置してもよい。
【００４５】
このようなタグリーダライタを利用する場合、物品と一緒にドアや窓を通過した移動体の情報を、その物品の持出者として物品移動体データベース１０６に蓄積していくことが望ましい。このことにより、物品の持出者の管理を自動的に簡単な処理で行うことができる。
【００４６】
また、このようなタグリーダライタＡ，Ｂをドアや窓の内外に二重に設置することにより、物品が持ち込まれたのか、あるいは持ち出されたのかを検出することができる。例えば、タグリーダライタＡ，Ｂのそれぞれにつき、まず、第１のタグリーダライタを作業量域外にあたる、ドアや窓の外側に設置する。また、第２のタグリーダライタをドアや窓の部屋側、つまり作業領域内に設置する。このように第１及び第２のタグリーダライタを内外に設置しておくことにより、ある物品が外側の第１リーダライタで検出された後、部屋側の第２リーダライタで検出されたときには、この物品は外部から部屋内に持ち込まれたものと推定することができる。逆に、ある物品が部屋側の第２リーダライタで検出された後、外側の第１リーダライタで検出されたときには、この物品は部屋から外部に持ち出されたと推定することができる。
【００４７】
もちろん、このようなタグリーダライタの設置場所は部屋のドアや窓に限られるものではない。例えば、冷蔵庫にこのようなタグリーダライタを設置し、冷蔵庫内の物品の管理に利用してもかまわない。
【００４８】
＜物品移動体データベース＞
物品移動体データベース１０６は、前記データを蓄えておくデータベースである。図５は物品移動体データベース１０６の構成とデータの記載内容例を示した概念図である。物品移動体データベース１０６は、大別すると、物品を扱うデータベース（図５（ａ）参照）と移動体を扱うデータベース（図５（ｂ）参照）とからなる。
【００４９】
物品を扱うデータベースは、各々種類の異なるデータを蓄積する３種類のサブデータベース、すなわち物品データ３０１と物品履歴データ３０２と物品属性データ３０３とをそれぞれ蓄積するデータベースからなり、それぞれのデータ内容は下記の通りである。
【００５０】
物品データ３０１は、個々の物品を区別するためのＩＤと、当該物品の操作履歴である物品履歴データ３０２へのポインタと、その物品の物的属性が記載された物品属性データ３０３へのポインタとから構成される。種類の同じ物品であっても物理的に別の存在であれば、それらを別の物品として扱う必要がある。そのため、同種の物品であっても、異なるＩＤが割り当てられる。一方、種類の同じ物品はＩＤが異なるが、同じ物的属性を持つ。そのため、同種物品であれば同じ物品属性データ３０３へのポインタを指し示すようにし、データベースの容量を無駄に使わないようにしている。
【００５１】
物品履歴データ３０２は、当該物品の操作履歴を格納するものであり、操作が行われた時刻、操作内容、操作者、及び操作後の位置の４項目からなる。位置のデータについては様々な表し方があるが、本例では６つのパラメータで位置を表すこととする。最初の３つのパラメータ（ｘ１，ｙ１，ｚ１）は、物品の位置（例えば物品の重心位置等を代表位置として用いることができる）を表し、後の３つのパラメータ（α１，β１，γ１）は物品の姿勢を表している。なお、物品の姿勢の表し方については後述する。これら、位置及び姿勢のデータは、前記センシング手段１０４又は後述するロボットのセンサ１１１（図１参照）によって取得される。なお、操作者は、後述する移動体データとして登録された移動体のいずれかから、前述したような推論によって選ばれる。
【００５２】
物品属性データ３０３は、当該物品の持つ固有の物理属性情報を蓄えるものであり、図５（ａ）では形状、重さ、外観の画像等が一例として挙げられている。これらの属性データは、事前に人手を介してそれぞれの属性に適した計測方法で取得され、登録されている。
【００５３】
次に、図６を参照しながら、物品の形状データ及び姿勢データについて説明する。
【００５４】
まず、物品の形状データについて説明する。図６（ａ）は本来の物品（例えば飲み物の缶）の形状（円筒）を示している。このような物品に対し、ステレオ視による三次元計測技術等を用いることにより、図６（ｂ）のように物品の表面を複数の面で近似したポリゴンデータを得ることができる。各面は適当に定めた物品座標（図中のＸ’、Ｙ’、Ｚ’）上での頂点の座標の集合として記述される。
【００５５】
次に、物品の姿勢データについて説明する。図６（ｃ）は、この物品が実世界に置かれている状況を示している。なお、座標Ｘ−Ｙ−Ｚは実世界の座標を示し、座標Ｘ’−Ｙ’−Ｚ’は物品を基準とした座標（物品座標）を示している。実世界に置かれた物品の形状は、前述したように、環境管理サーバ１０１のセンシング手段１０４又は作業ロボット１０２のセンサ１１１を２つのカメラで構成し、ステレオ視による三次元計測を行うこと等により得ることができる。そして、前記物品の形状データ（ポリゴンモデル）とのマッチングを取ることにより、物品が実世界上でどのように３次元的に回転させられているかを知ることができ、そのマッチングに基づいて物品の姿勢データを得ることができる。
【００５６】
具体的には、物品の形状データ（ポリゴンモデル）と実世界上での形状データとのマッチングを行った後に、物品の形状データに付随する前記物品座標が実世界上でどのように３次元的に回転しているかを求める。そのために、まず、Ｘ’軸がＸ軸に対して水平方向に角度αだけ回転し、上下方向に角度βだけ回転していると仮定し、それら角度α及びβの値を求める。図７（ａ）は、Ｘ’軸を水平方向に−αだけ回転し、上下方向に−βだけ回転した図である。次に、図７（ｂ）に示すように、Ｚ’軸がＺ軸に対して角度γだけ回転しているとし、その角度γの値を求める。このようにして、物品が実世界に置かれている時の姿勢データを、変数（α、β、γ）を用いて特定することができる。
【００５７】
なお、このような姿勢データは、ロボット１０２により把持物品を設置する際、設置位置の状況と物品の把持姿勢とが合致しないときに、当該物品を適正な姿勢に変更する等の目的で使用される。例えば、後述する図１２のように、把持した本５０を本棚５１に収納する際、本５０を上下方向に立てた姿勢（姿勢２）では本の高さが本棚５１の収納高さよりも高くなるような場合に、把持姿勢を上記姿勢２から本棚に収まる姿勢（前後方向に立てた姿勢３）へと変更する。上記姿勢データは、このような場合などに用いられる。
【００５８】
次に、移動体を扱うデータベース（図５（ｂ）参照）について説明する。移動体を扱うデータベースは、それぞれ移動体データ３０４、移動体履歴データ３０５、及び移動体属性データ（図示せず）の３種類のデータを蓄積するサブデータベースからなり、それぞれのデータ内容は下記の通りである。
【００５９】
移動体データ３０４は、個々の移動体を区別するためのＩＤと、当該移動体の移動履歴を格納した移動体履歴データ３０５へのポインタとから構成される。
【００６０】
移動体履歴データ３０５は、時刻と、当該時刻における移動体の位置と、当該時刻における移動体の状態とから構成される。なお、移動体の位置は、平面上における座標（Ｘ、Ｙ）と、向きｒの３値によって表される。
【００６１】
図示は省略するが、移動体属性データは、当該移動体の持つ固有の物理属性情報を蓄えるものであり、重さ、形状等がその一例として挙げられる。
【００６２】
なお、移動体履歴データ３０５において、移動体の状態とは、移動体が人物であれば「座る」、「立つ」、「寝る」、「歩く」などの一般的な人間の動作を表し、移動体がロボットであれば「把持」、「解放」など、ロボットが物品に対して行うことのできる操作を表す。これらは、あらかじめ移動体毎に可能な状態を決めておき、それらのうちのどれかを選択するようにすればよい。なお、移動体がロボットの場合には、操作内容だけでなく、操作対象物品ＩＤと操作内容とを組にして表すこととする。
【００６３】
＜物品移動体検索・管理手段＞
物品移動体検索・管理手段１０５は、センシング手段１０４によって得られた物品や移動体の情報を物品移動体データベース１０６に蓄積したり、環境管理サーバ１０１の外部から送受信手段１０９及び制御手段１１０を介して物品や移動体の情報に関する問い合わせがあった場合に、その問い合わせの内容に応じて必要な情報を物品移動体データベース１０６から取り出し、問い合わせ先に送るという処理を行う。また、作業ロボット１０２及び操作端末１０３から物品や移動体の情報の登録・更新の要請を受けたときには、物品移動体データベース１０６に対して登録・更新を行う。
【００６４】
また、物品移動体データベース１０６へのアクセスは物品移動体検索・管理手段１０５にのみ許可されており、同じ物品及び移動体データに対して書き込みと読み出しとが同時に行われないよう管理されている。
【００６５】
なお、後述する操作端末１０３を用いて日付、操作者、物品の種類など、知りたい物品の属性を絞り込むための検索キーを入力することにより、物品移動体検索・管理手段１０５を介して、探している物品の場所を検索することも可能である。
【００６６】
後述するように、本物品管理システム１００の機能の一つとして、ロボット１０２が把持物品を目的の位置に設置する際、その物品の姿勢を設置位置の状況等に応じて変更する機能がある。例えば、設置位置付近に既に他の物品が置かれている場合に、把持物品を他の物品と並べて設置する機能等である。このような機能を発揮するためには、物品の情報として、物品がどの場所にどのような姿勢で置かれているかを逐次記録し、データベースに蓄えておく必要がある。しかし、そのためには、必ずしも過去にさかのぼった履歴データまでは必要とせず、常に最新の情報を把握していれば足りる。
【００６７】
次に、センシング手段１０４によって物品や移動体が検出され、それらの検出結果が物品移動体検索・管理手段１０５によってどのように物品移動体データベース１０６に格納されていくか、また、時間を経てどのようにデータが更新されていくかを、簡単な図を用いて具体的に説明する。
【００６８】
図８はその説明に用いる図であり、実際の部屋において２つの缶ジュースが持ち込まれ、移動される様子を示している。各缶ジュースが移動される様子は矢印の付いた曲線Ｊ１，Ｊ２，Ｊ５，Ｊ６で示されており、時刻ｔ１，ｔ２，ｔ５，ｔ６は曲線Ｊ１，Ｊ２，Ｊ５，Ｊ６に従って缶ジュースが移動された時刻をそれぞれ表している。説明のための仮定として、この例ではｔ１〜ｔ６の順で時刻が進んだものとし、図の部屋内には図示しないが、センシング手段１０４の一例として電子タグのリーダライタが備えられているものとする。また、各缶ジュース及び部屋内に出入りする人物又はロボットにはそれらの属性データが記録された無線タグが付与されており、各缶ジュースの物品属性データ３０３は、前記無線タグから前記リーダライタで読みとるものとする。更に、移動体データ３０４への移動体の登録および移動体履歴データ３０５の初期化はすでに終わっているものとし、最初、物品データ３０１は何も記録されていない空の状況であるとする。
【００６９】
まず、お父さんが缶ジュースを持って部屋に入ってくると、センシング手段１０４としての前記リーダライタが、“お父さん”（移動体）と“缶ジュース”（物品）を認識する。“お父さん”及び“缶ジュース”の検出結果は物品移動体検索・管理手段１０５に送られ、それを受けて物品移動体検索・管理手段１０５は、“缶ジュース”に［ｋａｎ＿ｓｍａｌｌ＿０００１］というＩＤを割り当てる（図５（ａ）参照）。続いて、その“缶ジュース”の移動履歴を格納するための位置履歴リスト１を作成する。なお、この時点ではデータの中身はまだ空のままである。一方、“お父さん”を検知したことにより、物品移動体検索・管理手段１０５はその位置履歴を更新するために、“お父さん”の移動体データ３０４の位置履歴を参照して位置履歴リスト３を呼び出す（図５（ｂ）参照）。
【００７０】
時刻ｔ１に、“お父さん”がテーブル付近の位置（ｘ４，ｙ４）に座り、持っていた“缶ジュース”がテーブルの上の位置Ｐ１（ｘ１，ｙ１，ｚ１）に置かれると、その時点で初めて、前記物品履歴データ３０２の位置履歴リスト１の内容として、
時刻：ｔ１
操作内容：新規
操作者：お父さん
操作後の位置：Ｐ１（ｘ１，ｙ１，ｚ１，α１，β１，γ１）
がセットされる。操作内容が「新規」となっているのは、今まで無かった物品が新たに外部から持ち込まれたことを意味している。また同時に、“お父さん”の位置が変わったことによって新たに位置履歴リスト３に移動体履歴データが作成され、そのデータの内容として
時刻：ｔ１
位置：（ｘ４，ｙ４，ｒ１）
状態：座る
がセットされる。
【００７１】
続いて時刻ｔ２に、位置Ｐ１（ｘ１，ｙ１，ｚ１）に置かれた“缶ジュース”が“息子”によって床の上の位置Ｐ２（ｘ２，ｙ２，ｚ２）に移動されると、物品履歴データ３０２の位置履歴リスト１にリストが１つ追加される（図５（ａ）参照）。そして、追加されたデータには、
時刻：ｔ２
操作内容：移動
操作者：息子
操作後の位置：Ｐ２（ｘ２，ｙ２，ｚ２，α２，β２，γ２）
がセットされる。操作内容が「移動」となっているのは、すでに登録された物品が別の場所に移動されたことを意味している。また同時に、“息子”の位置が変わったことによって移動体履歴データ３０５に新たな位置履歴リスト（図示せず）が作成され、そのリストに時刻、位置、状態のデータがセットされる。
【００７２】
続いて時刻ｔ３において“お父さん”が外出すると、それによって位置履歴リスト３に新たなデータが作成され、そのデータの内容として、
時刻：ｔ３
位置：−
状態：外出
がセットされる。位置が「−」となっているのは、外出したため位置が管理外になったことを意味する。
【００７３】
また、外出時に“お父さん”が、“息子”が移動させた“缶ジュース”を元のテーブル上の位置Ｐ１（ｘ１，ｙ１，ｚ１）に戻すように“ロボット”に指示をしておいたとする。すると、その指示を受けた“ロボット”は、“缶ジュース”のところまで移動し、時刻ｔ４に“缶ジュース”を掴む。そして、“ロボット”の位置履歴リスト５に新たに移動体履歴データが作成され、そのデータの内容として、
時刻：ｔ４
位置：（ｘ２，ｙ２，ｒ２）
状態：［ｋａｎ＿ｓｍａｌｌ＿０００１］把持
がセットされる（図５（ｂ）参照）。その後、“ロボット”は掴んだ“缶ジュース”をテーブルの上に戻すべく、テーブルの傍に近づき、掴んだ“缶ジュース”を解放してテーブルの上に置く。すると、“ロボット”の位置履歴リスト５に新たな移動体履歴データが作成され、データの内容として、
時刻：ｔ５
位置：（ｘ４，ｙ４，ｒ４）
状態：［ｋａｎ＿ｓｍａｌｌ＿０００１］解放
がセットされる。
【００７４】
その後しばらくして“お母さん”が別の“缶ジュース”を持って部屋に入ってくると、センシング手段１０４としての前記リーダライタが“お母さん”と“缶ジュース”を認識する。そして、“缶ジュース”および“お母さん”の検出結果は物品移動体検索・管理手段１０５に送られ、それを受けて物品移動体検索・管理手段１０５は、“缶ジュース”に［ｋａｎ＿ｓｍａｌｌ＿０００２］というＩＤを割り当てる。続いて、その“缶ジュース”の移動履歴を格納するための位置履歴リスト２を作成する。なお、この時点ではデータの中身はまだ空のままである。
【００７５】
時刻ｔ６に、“お母さん”によって“缶ジュース”が部屋の床上の位置Ｐ３（ｘ３，ｙ３，ｚ３）に置かれると、その時点で初めて、前記位置履歴リスト２の物品履歴データの内容として、
時刻：ｔ６
操作内容：新規
操作者：お母さん
操作後の位置：Ｐ３（ｘ３，ｙ３，ｚ３，α３，β３，γ３）
がセットされる。
【００７６】
以上、物品の持ち込み及び移動等の具体例に基づいて、物品移動体データベース１０６の内容が時間と共に更新されていく様子を説明した。なお、物品又は移動体のデータの更新タイミングは特に限定されないが、本例では、各物品及び各移動体の位置が変わる毎に物品移動体データベース１０６にデータを追加することとした。なお、本発明においては、物品移動体データベース１０６の物品履歴データ３０２および移動体履歴データ３０５には、最新の履歴（つまり、現在の物品及び移動体の情報）のみを蓄えておけばよい。
【００７７】
＜環境マップ管理手段＞
環境マップ管理手段１０７は、作業環境内のマップの管理を行う。図９は環境マップの例を実状況と対比して示した概念図であり、図９（ａ）は実際の状況を表した図、図９（ｂ）は環境マップとして実際の状況を簡略化した立体モデルで示した図、図９（ｃ）は実際の状況をさらに簡略化して平面モデルで示した図である。環境マップは、このように立体データとして表してもよいし、もっと簡単に平面データとしてもよい。データはマップの用途やマップ作成に要する手間に応じて作成すればよく、例えば立体モデルを非常に短時間で作る必要があれば、立体物に関してはそれを覆う最小の直方体でモデル化するなどすればよい。例えば、図９（ｂ）のモデルはそのような例である。図９（ｂ）では、図９（ａ）において中央に位置するテーブルは直方体でモデル化されている。平面データでも同様であり、図９（ｃ）のモデルにおいては、中央に位置するテーブルを平面に正射影した矩形領域（図９（ｃ）のハッチ部分の矩形領域）で表し、この領域をロボット移動不可領域として定めている。
【００７８】
＜環境マップ＞
図１０は環境マップ１０８のデータの一例を示した図であり、図９に対応したデータを示している。環境マップ１０８は、環境マップ９０１及び家具属性データ９０６を備えている。
【００７９】
環境マップ９０１には、部屋の広さを示すデータ９０２が保存されている。また、本例では部屋の中に“テーブル”と“本棚”と“ゴミ箱”とが存在するので、環境マップ９０１にはそれぞれのデータ９０３〜９０５が保存されている。家具属性データ９０６には、部屋や家具等のそれぞれの属性が保存されている。例えば、家具属性データ９０６中の部屋の属性９０７には、部屋内に高さの異なる床面が複数ある時にはその床面の数だけの床面データが記録されている。
【００８０】
前記床面のデータは、その面の頂点の座標（実世界座標での座標位置）が記述されており、その他、天井までの高さ、及び床面の材質が面毎に付されている。例えば、長方形の床面のデータの場合、データは、
（（Ｘ１，Ｙ１，Ｚ１），  （Ｘ２，Ｙ２，Ｚ２），  （Ｘ３，Ｙ３，Ｚ３）（Ｘ４，Ｙ４，Ｚ４），２２００，０）
と表される。但し、高さの基準としては、その部屋で最も低い床の高さを０とする。最初の４つの座標は頂点の座標を表し、次の値２２００は天井までの高さ（２２００ｍｍ）を表し、最後の数値は床面の材質を表している。床面の材質は、例えば、「０」はフローリング、「１」は畳、「２」は絨毯、等であり、材質毎に予め対応する数字が定められている。
【００８１】
また、各家具の属性には、家具の表面を多面体で近似したときの複数の面のデータ、家具の種類、物品の設置可能面、設置可能面に設置される主な物品の形状と姿勢等が記録されている。
【００８２】
前記家具の面のデータは、その面の頂点の座標（実世界座標での座標位置）が記述されており、その他、その面に物品が設置できるか否かを示すフラグ、及びその面が物品を設置できる面であれば上方への高さが付されている。上方への高さとは、例えばテーブルの天板であれば天井までの高さ、棚であればもう一つ上の棚までの距離を示す。
【００８３】
例えば、頂点の数が３つの面のデータの場合、
（（Ｘ１，Ｙ１，Ｚ１），  （Ｘ２，Ｙ２，Ｚ２），  （Ｘ３，Ｙ３，Ｚ３），１，４００）
と表される。最初の３つの座標は頂点の座標、次の数値「１」は物品が設置できることを意味する。この数が「０」の面は、物品が設置できない面である。最後の数値４００は上方への高さ４００ｍｍを示している。また、家具の種類のデータは、その位置にある家具がどの家具（テーブル、本棚、ゴミ箱等）かを判定するのに利用される。
【００８４】
家具の設置可能面に設置される主な物品形状と姿勢等とは、例えば、その家具が本棚の場合、主に収納される物品である「本」の形状（通常本棚に立てかけられた状態において、幅に比べて奥行きと高さが極端に長い直方体）と、その本を設置するときの通常の姿勢とを表している。ただし、テーブルやゴミ箱のように、そこに設置される物品の形状や姿勢に限定がない場合もある。家具属性データ９０６がこのような属性を持つことで、作業ロボット１０２が把持物品を設置する際に、設置姿勢を良好なものにすることができる。例えば、作業ロボット１０２が把持した物品が本に似た形状であり、その設置位置に本棚が指定された場合に、通常本棚に本を立てかけるが如く把持物品を設置することができる。もちろん、本棚と本との関係以外にも、例えば靴棚と靴、食器乾燥機と食器といった収納にも用いることが可能である。
【００８５】
ロボット１０２がこの環境内で移動する際には、これらの環境マップ１０８を用いながら移動経路計画を立てていく。例えば、図９（ｃ）の平面モデルを用いた環境マップを用いてロボット１０２をＡ１地点からＡ２地点まで移動させる際には、ロボット１０２の形状や大きさを踏まえて、前記移動不可領域を回避するルート（図９（ｃ）の曲線矢印）を計算して決めればよい。
【００８６】
＜環境管理サーバの制御手段＞
環境管理サーバ１０１の制御手段１１０は、サーバ１０１の全体を制御する部分であり、前述したように、主な制御内容として以下のものが挙げられる。
【００８７】
すなわち、制御手段１１０は、サーバ１０１内の各種データに関して送受信手段１０９を介して外部から問い合わせがあった場合に、その内容に応じて物品移動体検索・管理手段１０５または環境マップ管理手段１０７に対し、前記データの参照要求を出す。また、制御手段１１０は、前記要求に対して物品移動体検索・管理手段１０５または環境マップ管理手段１０７から送られてきた結果を、送受信手段１０９を介して問い合わせ元に送る。また、制御手段１１０は、送受信手段１０９を介して外部から送られてきたサーバ内にある各種データに関する登録・更新の要請を解釈し、その内容に応じて物品移動体検索・管理手段１０５または環境マップ管理手段１０７に対し、前記データの登録・更新要求を出す。なお、この制御手段１１０の詳細な動作については後述する。
【００８８】
以上、環境管理サーバ１０１の構成について、各構成要素毎に順に説明を行った。
【００８９】
−作業ロボットの構成−
次に、２番目のサブシステムである作業ロボット１０２の構成を説明する。作業ロボット１０２は、物品管理システム１００において、環境内の物品を実際に把持して持ち運ぶ役目を担う。ロボット１０２による物品把持および運搬操作は、その一部又は全部が自動化されていてもよい。本実施形態では、後述する操作端末１０３を通じてユーザによって指示が出され、ロボット１０２はその指示に従って作動する。
【００９０】
図１に示すように、ロボット１０２はその基本構成として、ロボットの周囲近辺の障害物などを検知したり、把持する物品の情報を得るセンサ１１１と、物品を把持する把持手段１１２と、環境マップ１０８を使って移動計画を立てる移動計画作成手段１１３と、把持物品の設置姿勢を設置位置の状況等に合わせて計算する設置姿勢決定手段１１９と、把持物品を設置する際に設置位置に既に他の物品が置かれているかどうか等を判定し、必要ならば設置位置を変更する設置位置決定手段１２０と、移動のための移動手段１１４と、環境管理サーバ１０１や操作端末１０３とデータの送受信を行う送受信手段１０９と、それら各手段をコントロールする制御手段１１５とからなる。
【００９１】
ここで設置位置とは、例えば実空間上の１点を示し、その位置に物品を設置するということは、例えば物品の代表点（例えば重心）をその設置位置に合わせて設置することを意味する。従って、例えば重心を代表点とした場合、設置されている物品の位置は、物品の重心を表している。ただし、物品の代表点は重心に限らず、形状上の中心点等、他の点であってもよい。
【００９２】
図１１は、本実施形態に係るロボット１０２の一例を示した模式図である。以下、図においてアーム２０１の先端が向いている方向をロボットの前面として、ロボット１０２の各手段の説明を行う。
【００９３】
移動手段１１４は、ロボット本体の片側に２つずつ設けられ、両側で合計４つの車輪によって構成されている。本例では移動手段１１４として車輪の例を示したが、移動手段１１４としては、ロボットの使われる場所や環境に応じて最適な手段を選べばよい。例えば凹凸の多い地面を移動する場合ならば、クローラ型や多足歩行の移動手段を使ってもかまわない。なお、アーム２０１やハンド２０２からなる把持手段１１２が家屋内全域を可動域とする場合には、この移動手段１１４は必ずしも必要とはしない。
【００９４】
センサ１１１はボット周囲の近辺の障害物などを検知するものであり、本例では超音波センサ１１１ａ、視覚センサとしてのステレオカメラ１１１ｂ、及び衝突センサ１１１ｃからなる。超音波センサ１１１ａは前面、背面、左右の側面にそれぞれ３カ所ずつ取り付けられ、超音波を発してその反射波を受信するまでの時間を測定することで、当該センサから障害物までのおおよその距離を計算するものである。本実施形態では、超音波センサ１１１ａにより、近距離の障害物を衝突前に検知することとしている。ステレオカメラ１１１ｂは、周囲の状況を画像として入力し、その画像に認識などの処理を行うことで、障害物の有無の判断や把持対象物品のより正確な情報を得る。衝突センサ１１１ｃは、当該センサ１１１ｃに所定の力の衝撃があったことを検知するセンサであり、他のセンサで検知できない障害物に対して、それが外部からぶつかってきたことやロボット自身が移動中にぶつかったことを検知する。
【００９５】
移動計画作成手段１１３は、指定された場所への移動命令がロボットに対して発せられたとき、現在位置から指定場所への移動経路を、前記環境管理サーバ１０１から取得した環境マップ１０８のデータを使って作成する。当然のことながら、現在位置から目的地までの間に障害物が存在する場合はそれを回避するための経路が必要となるが、環境マップには前述のようにロボットが移動可能な領域が予め記されているので、その領域内での移動経路を作成すればよい。また移動経路作成に当たっては、最も一般的なダイクストラ法等が用いられる。
【００９６】
設置姿勢決定手段１１９は、ロボットが把持した物品を設置する際の把持姿勢（設置姿勢）を、設置位置の状況に応じて決定する。例えば、その設置位置付近に把持物品と同様の他の物品が置かれていれば、他の物品の姿勢に合わせて把持物品の姿勢を変更する。また、把持したときの姿勢のままでは把持物品を設置位置に置くことができない場合（例えば、把持物品が設置位置の空間内に収まらない場合等）に、設置位置に設置できるように把持物品の姿勢を変更する。この時、設置位置の状況（どれだけの幅、奥行、高さがあるかなど）や設置位置付近に置かれた他の物品の情報が必要となるが、それらの情報は前記環境管理サーバ１０１に問い合わせることで得ることができる。
【００９７】
図１２を参照しながら、本５０を本棚５１に収納する例を説明する。本物品管理システム１００では、ロボット１０２で把持した本５０（姿勢１）を本棚５１に入れる時、まず、指定された設置位置５２の付近に他の本５３があるか否かを調べ、ある場合には前記他の本５３の姿勢を調べる。そして、把持した本５０の姿勢を他の本５３の姿勢に合わせる。ここでは、他の本５３は立った姿勢で収納されているので、把持した本５０も立った姿勢に合わせられる。
【００９８】
しかし、立った姿勢には、本５０の長辺が縦方向に延びる姿勢（姿勢２）と横方向に延びる姿勢（姿勢３）とがあり得る。しかし、本棚５１の設置スペースは限られており、本５０の高さが本棚５１の収納高さを超えている場合は、本５０の長辺が縦方向に延びる姿勢（姿勢２）では本５０を収納することができない。そこで、他の本５３に合った姿勢でかつ本棚５１の設置スペースに収まる姿勢（姿勢３）を選択し、把持した本５０をその姿勢に変更してから設置する。なお、設置スペースが限られているか否かは、例えば、設置スペースが仕切られた空間であることや、設置スペースの最大長さが物品の最大長さよりも短いこと等によって判断することができる。
【００９９】
従来技術では、設置する場所には扱う物品と比較して十分な広さがあることが前提となっていたが、例えば本棚のように高さに制約がある場合等では、従来技術をそのまま応用することはできない。また、産業用途では物品の形は画一化されていたので、移動に際して特別な処理をしなくても、結果的に整理された状態で物品を設置することができていた。しかし、家庭やオフィス内で使用される多様な形状の物品を整理された状態で設置するには、上記設置姿勢決定手段１１９が行うような処理を必要とする。この設置姿勢決定手段の詳しい動作については後述する。
【０１００】
設置位置決定手段１２０は、ロボットが把持した物品を設置する際、その設置位置に既に他の物品が置かれているか否かを調べる。そして、設置位置に他の物品が置かれていれば、他の物品の上面がフラット（水平）であるかどうか、その上面の大きさが把持物品を積載するのに十分であるかどうか、他の物品の材質が堅いものであるのかどうか等を判定し、前記物品の上に把持物品が設置できないと判断すれば設置位置を前記物品付近の設置可能な位置に変更する。この時、設置位置の物品情報や設置位置付近の設置可能なスペースの情報は、前記環境管理サーバ１０１に問い合わせることで得ることができる。
【０１０１】
ここで、図１３を参照しながら、「設置位置に他の物品が存在するかどうか」の判断、及び設置位置の変更の具体例を説明する。図１３は、指定された設置位置に平積みされている複数の本６１が既に存在している場合に、把持した本６０の設置位置を変更する例である。本例では、「設置位置に他の物品が存在するかどうか」は、設置位置に把持物品６０の重心を合わせた場合に、把持物品６０と既に設置された物品６１とが重なるかどうかで判断される（図１３（ｂ）参照）。また、「設置位置付近の設置可能な位置」は、把持物品６０と他の物品６１とが全く重ならないような位置が最も望ましいが、必ずしもこのような位置に限定されるものでもない。例えば、物品の種類によっては、設置した物品６０が姿勢を崩さない（倒れない）程度に重なったり、互いに接触する程度は、許容範囲内と見なされる場合もある。図１３に示した例は、物品が本であり、姿勢を崩さない程度に積み重ねることに問題はないため、そのように重ねた場合の例である。図１３（ａ）及び（ｂ）に示すように、本が多数平積みされている状況で設置位置（本６０の重心Ｇ）を平積みされた本６１の少し外側に設定したとする。この場合、本６０をそのまま設置位置に設置したのでは、本６１の平積み状態は崩れてしまい、本６０自体も安定せず、転倒することになる。そこで、このような場合は、設置位置を平積みされた本６１の重心の位置に変更する。これについても詳しい動作については後述する。
【０１０２】
把持手段１１２は物品を把持する手段であり、本実施形態では、図１１に示すように多関節からなるアーム２０１と、アーム２０１の先端に配設されたハンド２０２とから構成される。ただし、作業ロボット１０２の保持手段は、物品を把持する手段に限定されるものではない。例えば、皿状の支持手段を備え、その支持手段に物品を載せて目的位置まで移動させるようにしてもよい。
【０１０３】
作業ロボット１０２の制御手段１１５は、外部から送受信手段１０９を介して送られてきたロボット操作コマンドリストを解釈し、順にコマンドを実行していく。環境管理サーバ１０１の制御手段１１０と同様、作業ロボット１０２の制御手段１１５についても、その動作は後で詳しく述べることとする。
【０１０４】
以上が作業ロボット１０２の構成である。
【０１０５】
−操作端末の構成−
３番目のサブシステムである操作端末１０３は、物品管理システム１００においてユーザが環境内の物品操作を指示する為の端末である。
【０１０６】
図１に示すように、操作端末１０３はその基本構成として、物品操作を指示する物品操作手段１１６と、操作画面を表示する表示手段１１７と、物品操作手段１１６にて入力された物品操作の指示内容を環境管理サーバ１０１に送信する等の送受信動作を行う送受信手段１０９と、それら各手段をコントロールする制御手段１１８とからなる。
【０１０７】
オペレータは、物品操作手段１１６及び表示手段１１７を用いて物品の移動操作を指示したり、物品や移動体の情報を入力する。物品に対する移動操作であれば、物品操作手段１１６を介して入力された前記移動操作の命令は、送受信手段１０９を介して作業ロボット１０２に送られ、当該命令を受けた作業ロボット１０２は、移動先の状況等を考慮したうえで指示通りに物品を移動させる。また、物品操作手段１１６を介して物品や移動体の情報を入力した場合、及び物品の検索を行った場合には、前記環境管理サーバ１０１に対してこれらの要求が送信され、環境管理サーバ１０１から回答を受信する。制御手段１１８は上記各手段の制御を行うものであり、その動作に関しては後で詳しく述べる。
【０１０８】
以上、物品管理システム１００の全体構成について、各サブシステム１０１，１０２，１０３毎に順に説明を行った。
【０１０９】
なお、図１では、本物品管理システム１００が環境管理サーバ１０１、作業ロボット１０２、及び操作端末１０３の３つのサブシステムからなり、それらサブシステムが無線または有線などのネットワークを介して互いに情報をやりとりするような構成をなす例を示した。しかし、本発明に係る物品管理システムの構成は、上記構成に限定されるものではない。例えば、操作端末１０３が環境管理サーバ１０１あるいは作業ロボット１０２に付随されている構成であってもよい。また、ロボット１０２も１台ではなく、複数台が協調しながら作業を並行して行う構成でも構わない。さらに、作業ロボット１０２の移動計画作成手段１１３、設置姿勢決定手段１１９、設置位置決定手段１２０を環境管理サーバ１０１にもたせることで、データベースアクセスに伴う通信量を減らすことも可能である。
【０１１０】
−物品管理システムの動作−
以降では、本物品管理システム１００の動作、すなわち、環境管理サーバ１０１、作業ロボット１０２、及び操作端末１０３の各サブシステムにおける制御手段１１０，１１５，１１８がどのように動作するかを説明する。
【０１１１】
本実施の形態では、統一性を持たせるために、環境管理サーバ１０１、作業ロボット１０２、及び操作端末１０３は全て、後述するメッセージをやりとりすることで命令・質問・回答等の要求を行う。
【０１１２】
図１４は、そのようなメッセージの書式の一例を示している。本例では、上から順に、メッセージ開始符号（ＳＴＸ）、電文長、総パケット数、パケット番号、送信日時、メッセージＩＤ、送信元、送信先、コマンド番号、引数、メッセージ終了符号（ＥＴＸ）である。通信プロトコルにパケット通信を行うＵＤＰ／ＩＰ等を利用する場合、パケット毎に送信先に到着するとは限らないので、総パケット数及びパケット番号を用いて、受信側で分割されて受信したパケットからメッセージを再構築する。また、電文長及び総パケット数は全てのパケットを受信したことの確認に用い、前記メッセージを正しくやりとりできるようにする。
【０１１３】
また、上記メッセージを受信できたかどうかを、ＡＣＫ又はＮＡＣＫメッセージとして送信元に送り返す。図１５はＡＣＫ及びＮＡＣＫメッセージの一例を示している。番号６のメッセージＩＤを、受け取ったメッセージのメッセージＩＤと同じくすることで、ＡＣＫ又はＮＡＣＫメッセージを受け取った方は、自分が送ったどのメッセージに対するものかを知ることができる。全パケットを受信しメッセージが受け取られると、ＡＣＫメッセージを送信元に返す。もし全パケットを所定の時間内に受信できないなど通信に何らかの障害が発生したと思われる場合には、番号１０にエラーコードを代入してＮＡＣＫメッセージを送信元に送り返す。送信元ではＡＣＫ又はＮＡＣＫメッセージを所定の時間待ち、時間内にどちらのメッセージも返ってこなければ再送を試みる。また、何度か再送を試みてもＡＣＫ又はＮＡＣＫメッセージが返ってこない場合には、通信エラーとなり、例えばシステムを停止させる等の措置をとる。
【０１１４】
以下では、各サブシステムに共通に用いられるメッセージの送受信と処理の仕組みについて説明し、その後、各サブシステム毎に固有の構成、具体的メッセージとそのメッセージを受け取った時の動作について説明する。
【０１１５】
図１６は、環境管理サーバ１０１、作業ロボット１０２、及び操作端末１０３の各制御手段１１０，１１５，１１８において共通に利用されるメッセージ処理の構成１３００を示している。本構成１３００は、送受信手段１０９から入力されたパケットをメッセージとして再構築するメッセージ受信部１３０１と、再構築されたメッセージを蓄積するメッセージキュー１３０２と、メッセージキューの先頭から一つずつメッセージを取り出して解釈し、メッセージ処理部１３０３に引き渡すメッセージハンドラ１３０４とを備えている。前記メッセージ受信部１３０１及び前記メッセージハンドラ１３０４は、それぞれスレッドプログラム等として実装することで、メッセージ受信を行いながら他のメッセージを処理することが可能である。
【０１１６】
図１７は、図１６の構成１３００におけるメッセージをやりとりする動作を示したフローチャートである。本動作では、ステップＳ１４０１でメッセージキュー１３０２にメッセージが蓄積されているかをチェックし、蓄積されていれば上から一つメッセージを取り出す。ステップＳ１４０２では、そのメッセージが停止メッセージかどうかを判定し、もし前記メッセージが停止メッセージであれば、終了処理（ステップＳ１４０３）を行い、停止する。ここで終了処理とは、他のスレッド（例えば、メッセージ受信部１３０１等）を停止させることである。ステップＳ１４０２の判定の結果、前記メッセージが停止メッセージでなければ、ステップＳ１４０４のメッセージ処理を前記メッセージ処理部１３０３で行う。メッセージ処理部１３０３では、それぞれの構成要素に応じた動作を実行したり、内部変数の値（例えば、環境管理サーバ１０１であれば物品や移動体の位置等）を問い合わせ先にメッセージとして送信する。なお、各サブシステム毎に動作が異なるので、それらについては後述する。
【０１１７】
以上で、各サブシステムにおけるメッセージの基本的なやりとりの仕組みを説明した。ところで、図１６に示したメッセージハンドラ１３０４のメッセージ処理部１３０３は、環境管理サーバ１０１、作業ロボット１０２、及び操作端末１０３の各々のサブシステム毎に、理解できるメッセージ及びメッセージに対するアクションが異なる。そこで、具体的な作業を取り上げ、その作業に沿って各サブシステムの制御手段の処理構成及び処理されるメッセージ毎にその動作を説明することとする。
【０１１８】
ここでは具体的な作業として、オペレータがある物品（例えば空き缶）を指定した場所（例えばゴミ箱）に移動させる例を取り上げる。
【０１１９】
まず、操作端末１０３の制御手段１１８の動作について述べる。図１８は操作端末１０３の制御手段１１８の処理構成を示している。操作端末１０３の制御手段１１８では、前述した共通の構成に加えて、物品操作手段１１６から入力された操作指示をメッセージとして生成する操作メッセージ生成部１５０１と、最新の環境情報（部屋の映像や物品の位置など）を取得し前記表示手段１１７に表示するための表示制御部１５０２とを有する。操作メッセージ生成部１５０１は、オペレータからの操作指示を上記メッセージの書式に合わせてメッセージとして生成し、メッセージキュー１３０２に蓄積する。表示制御部１５０２は、環境情報を環境管理サーバ１０１に常に問い合わせており、表示手段１１７に視覚情報として表示している。オペレータは、前記物品操作手段１１６（例えばマウス、タッチパネル又はタブレット等のポインティングデバイスなど）を用い、前記表示手段１１７を見ながら物品の移動等の操作指示を行う。ここでは物品操作手段１１６としてＧＵＩを用いたが、音声認識・合成を用いた音声Ｉ／Ｆ（インターフェース）やキーボード等のＩ／Ｆを用いることも可能である。前記操作メッセージ生成部１５０１は、メッセージ受信部１３０１と同様、スレッドプログラムとして他のスレッドと並列で実行されており、オペレータからの操作指示を常に受け付けることが可能となっている。
【０１２０】
操作端末１０３は、電源がＯＮされるとその直後に一度だけ初期設定を行う。これには、例えば、他のサブシステムとの通信路の確立等や、各スレッドプログラムの実行などが含まれる。
【０１２１】
まず、操作メッセージ生成部１５０１は、物品操作手段１１６にオペレータからの指示が入力されると、指示を含んだメッセージをメッセージキュー１３０２にため込む。図１９は、オペレータが前記表示手段１１７を参照しながら、マウスを用いて物品（空き缶）を床（座標（Ｘ０，Ｙ０，Ｚ０））からゴミ箱（座標（Ｘ１，Ｙ１，Ｚ１））にドラッグ操作した例を示している。図２０は、この時に操作メッセージ生成部１５０１で生成されるメッセージの一例を示している。図２０中の番号１〜６及び１１の項目は、正しくメッセージを受信するのに必要な項目であるが、メッセージの内容とは無関係なので、ここでは説明を省略する。ここでは、送信元（オペレータを示す“Ｐ０”）から送信先（操作端末を示す“Ｉ０”）にコマンド（ロボットへの物品移動コマンド“０１”）を送るメッセージが表されている。番号１０の引数は、一つ（最初の“００１”は移動する物品の個数）の物品（座標（Ｘ０，Ｙ０，Ｚ０）にある物品）を座標（Ｘ１，Ｙ１，Ｚ１）の位置に移動することを意味している。複数の物品を移動する場合は、各物品につき、現在の位置と移動先の位置とが交互に並べられる。
【０１２２】
図２１は、操作端末１０３におけるメッセージ処理部１３０３の処理のフローチャートを示す。メッセージハンドラ１３０４は、メッセージキュー１３０２からメッセージを一つ取り出した後、ステップＳ１８０１において、その内容が作業ロボット１０２に対する指示であることを判断し、ステップＳ１８０２でその指示を作業単位に分解する。ここで、「物品の移動」の指示は、移動する各物品につき、「移動（物品の位置）」、「把持（物品）」、「移動（移動先の場所）」、「設置」という４つの作業単位に分解される。複数の物品に対して移動の指示が与えられた場合、前記４つの作業単位を一組として物品の数だけ並べられたものとなる。ステップＳ１８０３では、次に実行すべき作業単位が存在するかを判定する。ステップＳ１８０４では、一つの作業単位を前記作業ロボット１０２に送信する。
【０１２３】
図２２は、一つの作業単位を作業ロボット１０２へ送る場合のメッセージの一例を示している。本例は、送信元（操作端末を示す“Ｉ０”）から送信先（作業ロボットを示す“Ｒ０”）にコマンド（ロボット移動コマンド“０１”）を送ることを意味し、番号１０の引数（座標（Ｘ０，Ｙ０，Ｚ０））はその移動先を示している。
【０１２４】
次に、ステップＳ１８０５において、作業ロボット１０２からその作業単位の終了状態（ＡＣＫ又はＮＡＣＫメッセージ）を受け取り、ステップＳ１８０６で作業単位が正常に終了したか否かを判定し、もしＮＡＣＫメッセージを受け取ったか、あるいは所定の時間以上メッセージが返ってこなければ、エラー処理（ステップＳ１８０７）を行う。このエラー処理とは、例えば、作業ロボット１０２が障害物などが原因で移動できなくなったとか、指定した物品が把持できなかった等のトラブルが発生したときに、オペレータにその旨をＧＵＩを通じて提示する処理である。ここで、音声Ｉ／Ｆがあれば音声で提示しても構わない。そして、再びステップＳ１８０３に戻り、処理する作業単位がなければメッセージ処理部を終了し、次のメッセージをメッセージキュー１３０２から取り出し、処理を行う。
【０１２５】
次に、作業ロボット１０２の制御手段１１５の動作について説明する。図２３は作業ロボット１０２の制御手段１１５の処理構成を示している。
【０１２６】
作業ロボット１０２は、電源がＯＮされるとその直後に一度だけ初期設定を行う。この初期設定には、例えば、通信路の確立や各スレッドプログラムの実行等が含まれる。メッセージ受信部１３０１は、上述した操作端末１０３から送られた作業単位を含んだメッセージ（図２２参照）を送受信手段１０９で受け取り、そのメッセージをメッセージキュー１３０２に蓄える。図２４に、作業ロボット１０２が理解できるメッセージの一例を示す。
【０１２７】
図２５は、作業ロボット１０２におけるメッセージ処理部１３０３の処理のフローチャートである。メッセージ処理部１３０３に入力されるメッセージは、例えば、前記操作端末１０３から送られた作業単位を含むメッセージである。ここではまず、ステップＳ２２０１、Ｓ２２０２及びＳ２２０３においてどの作業単位かを判定し、それぞれの作業単位に合った処理を実行する。
【０１２８】
まず、ステップＳ２２０１で作業単位が「移動」であった場合、ステップＳ２２０４に進み、指示位置までの経路を移動計画作成手段１１３を用いて求める。次にステップＳ２２０５において、移動計画作成手段１１３で求まった経路に従って移動する制御コマンドを移動手段１１４に送り、前記指示位置まで移動処理を実行する。例えば図２２のメッセージを受け取った場合には、このようなフローが実行される。
【０１２９】
一方、ステップＳ２２０２で作業単位が「把持」であった場合、ステップＳ２２０６に進み、把持を行うために前記センサ（例えばカメラ）１１１を用いて物品の姿勢を検出し、アーム２０１及びハンド２０２の動作を計算し（ステップＳ２２０７）、物品を把持するコマンドを把持手段１１２に送り、物品を把持する（ステップＳ２２０８）。なお、ステップＳ２２０６ではセンサを用いて物品の姿勢を検知するとしたが、環境管理サーバ１０１に物品の姿勢を問い合わせることにより物品の姿勢を認識するようにしてもよい。物品の現在の姿勢は前記物品の履歴データ（図５参照）に記録されている。
【０１３０】
さらに、ステップＳ２２０３で作業単位が「設置」であった場合、設置姿勢決定手段１１９を用いて物品の設置姿勢を計算し（ステップＳ２２０９）、設置位置決定手段１２０を用いて物品の設置場所の状況を調べ、設置できなければ適切な設置位置を探し出す（ステップＳ２２１０）。そして、前記設置姿勢と設置位置に合うようにアーム２０１とハンド２０２の動作を計算し（ステップＳ２２１１）、アーム２０１及びハンド２０２を動作させる制御コマンドを発行して把持物品を設置する（ステップＳ２２１２）。
【０１３１】
最後に、ステップＳ２２１３において、移動、把持及び設置が終了した旨をメッセージとして作業指示元（操作端末）に送信する。
【０１３２】
本発明の特徴の一つは、この作業ロボット１０２のメッセージ処理部１３０３における設置メッセージを受けた時の処理にある。すなわち、本物品管理システム１００においては、設置姿勢決定手段１１９と設置位置決定手段１２０とを用いて、把持した物品とその設置位置の状況とに応じて、設置位置や設置姿勢を適宜変更する。この処理は、従来技術に挙げたような工場内での自動倉庫の処理とは大きく異なっている。
【０１３３】
図２６は、設置姿勢決定手段１１９の一般的な動作を示すフローチャートである。ステップＳ２６０１では、設置姿勢を決める必要があるかどうかを判定する。例えば、設置位置が箱の内部であり、把持物品が箱よりも小さいような場合には、設置姿勢はあまり問われないので、把持した時の姿勢を保つ。一方、ステップＳ２６０１において設置姿勢を決める必要があると判定された場合、ステップＳ２６０２において、設置位置の状況と把持物品の属性とに基づき、把持物品の設置姿勢を計算する。
【０１３４】
図２７は、設置姿勢決定手段１１９の具体的な動作の一例を示すフローチャートである。本動作例では、まずステップＳ２３０１において、設置位置が箱（例えばゴミ箱）であるかどうかを判定する。これは、環境管理サーバ１０１にメッセージ（図３１のコマンド番号１２参照）で問い合わせることにより実現できる。ここで、設置位置が箱であった場合、設置姿勢は問われないので、把持した時の姿勢を保つ。もし、ステップＳ２３０１において設置位置が箱でなかった場合、さらにステップＳ２３０２において、把持物品と属性（例えば、物品の種類や形状等）が同一又は類似した物品が設置位置付近に存在するか否かを調べる。なお、「類似」とは、例えば、種類が同じであるとか、種類が異なっていても形状が類似していること等を意味する。また、形状が類似しているとは、形状のパラメータ（円柱であれば高さと底面の半径、球であれば半径、また、直方体であれば３辺（幅、高さ、奥行き）の長さ）が類似していることを言う。形状のパラメータが類似しているか否かは、例えば、各パラメータの差が所定の閾値以下に収まっていること等に基づいて判定することができる。なお、このような判定も、環境管理サーバ１０１にデータを問い合わせることにより実現できる（図３１のコマンド番号２３参照）。
【０１３５】
ここで、把持物品と類似した物品が設置位置付近に存在する場合には、ステップＳ２３０３で設置姿勢を前記類似物品の姿勢と同様にする。類似物品の姿勢は、物品履歴データ３０２における姿勢データを参照することで得られる。ステップＳ２３０２において設置位置に把持物品と類似した物品が存在しないと判断されると、予め決められた設置姿勢を用いる（ステップＳ２３０４）。ここで予め決められた設置姿勢とは、設置位置の家具に適した姿勢であり、環境マップ１０８の家具属性データ９０６（図１０の家具属性データ９０６の「主な物品の形状と姿勢」参照）に記録されたデータを利用して定められる。そのような姿勢が環境マップ１０８の家具属性データ９０６に記録されていなければ、例えば、物品の形状を計測したときの姿勢を用いる。例えば、図７（ｂ）における物品座標が実世界座標と一致するように物品を設置する。
【０１３６】
このように、指定された設置位置付近に把持物品と類似した物品が置いてある場合には、把持物品の設置姿勢を類似物品の姿勢と合わせることで、整然と物品を並べることができ、家庭内において省スペース化が図られ、外観も見栄えもよくすることができる。
【０１３７】
次に、図２８を参照しながら、設置位置決定手段１２０の一般的な動作を説明する。まず、ステップＳ２８０１において、設置したときに物品の姿勢が崩れてもいいかどうかを、設置位置の状況及び把持物品の属性から判定する。もし設置後の姿勢が崩れてはいけないならば、ステップＳ２８０２に進み、設置位置に他の物品が存在するかを判定する。設置位置に他の物品が存在すれば、ステップＳ２８０３に進み、把持物品が設置位置にある他の物品と重なってもよいかどうかを判定する。他の物品と重なってはいけない場合には、ステップＳ２８０４において、設置位置付近で設置可能な新しい設置位置を探し出す。
【０１３８】
次に、図２９を参照しながら、設置位置決定手段１２０の具体的な動作の一例を説明する。本動作例では、まず、ステップＳ２４０１において、設置位置が箱であるかどうかを調べる。もし箱でなければステップＳ２４０２に進む。一方、設置位置が箱であれば、設置位置は変更せずに設置位置決定手段１２０の処理から抜け出る。
【０１３９】
ステップＳ２４０２では、設置位置に他の物品が存在するかを調べる。ここでも、他の物品が存在しなければ設置位置の変更は行わない。なお、設置位置に他の物品が存在するか否かは、環境管理サーバ１０１に問い合わせのメッセージ（図３１のコマンド番号２３参照）を送ることで調べることができる。もし、設置位置に他の物品が存在するならば、ステップＳ２４０３に進み、他の物品の上面が把持物品の設置必要面積よりも大きいか否かを判定する。そして、もし大きければ、ステップＳ２４０４において、前記他の物品の上面はフラットであるかどうかを判定する。なお、ここでいう「フラット」には、完全に平坦な状態のみでなく、実質的に平坦な状態も含まれる。つまり、ここでいう「フラット」には慣習上平坦と見なされる状態も含まれ、多少の傾斜や凹凸があったとしても、把持物品を設置できる程度であれば平坦と見なされる。設置されている物品の上面の面積及びフラットであるかどうかは、環境管理サーバ１０１に形状データや設置姿勢（物品の履歴データとして記録されている）を問い合わせることにより知ることができる（図３１のコマンド番号２３参照）。
【０１４０】
もし、前記他の物品の上面がフラットであった場合は、設置位置を変更することなく、前記他の物品の上に把持物品を積み重ねる。ステップＳ２４０３において前記他の物品の上面面積が把持物品の必要設置面積より小さいと判定されるか、またはステップＳ２４０４において前記他の物品の上面がフラットでないと判定されると、ステップＳ２４０５に進み、設置位置付近で何も置かれていない場所を探し、この場所を新しい設置位置とする。なお、ステップＳ２４０２において設置位置に他の物品が存在しないと判定された場合、近傍に同じ種類あるいは同じ形状の物品があるか否かを判断し、把持物品の設置位置をそれら物品の隣の位置に設定するようにしてもよい。
【０１４１】
このように、設置位置に既に他の物品が存在する場合、その設置物品の上に把持物品を積み重ねられるかどうかを判定し、積み重ねることができない場合には設置位置を変更することで、作業者が物品の設置先の状況を知らずに適当に設置位置を指示しても、ロボットは柔軟に対応することができる。
【０１４２】
なお、図１９に示す例では設置位置がゴミ箱であるので、結果的に作業ロボット１０２は、空き缶を把持した時の姿勢のままでゴミ箱の中に落とすことになる。
【０１４３】
また、その他の例として、床の上に置かれた書籍を本棚に設置する例を説明する。この場合、環境管理サーバ１０１に問い合わせることによって、設置位置にその他の書籍があり、それら書籍が把持物品である書籍と同じ種類の物品であることが分かると、把持した書籍の姿勢を既に収納されている他の書籍の姿勢と同じになるように変更し（この場合、本棚内に収納されている書籍は立った姿勢で収納されているので、把持した書籍も立った姿勢に変更し）、本棚内に設置する。一方、設置位置に書籍が積み上げられていれば、把持した書籍が安定した姿勢で設置できる限り、把持した書籍を他の書籍と同じ姿勢で積み上げることができる。また、設置位置に書籍ではなくテレビがあり、このテレビの上面がフラットであれば、把持した書籍を安定した姿勢で設置できるため、把持した書籍をテレビの上に設置する。一方、設置位置に花瓶のような上面がフラットでない物品が置かれてあれば、花瓶の上に設置するのではなく、書籍をその横の空きスペースに設置する。
【０１４４】
なお、作業ロボット１０２が作業している間は、どのタイミングであっても、指定された動作が実行できない等のトラブルが起これば、作業指示元（この例では操作端末１０３）に対してエラーメッセージを送信し、作業を一時中断する。
【０１４５】
また、作業ロボット１０２は、通常は自己の車輪等の動作量（回転数、回転角度等）を用いて自己位置を計測しているが、床面と車輪とのスリップや避けきれなかった障害物との衝突などに起因して自己位置がずれてくる場合も考えられる。そこで、この位置ずれを補正するために、環境管理サーバ１０１に自己位置の問い合わせを定期的に行うようにしてもよい。さらに、物品名が指定されて把持するときには、物品の形状等の属性を調べ、当該属性をカメラなどのセンサで目前の物品のうちどれが指定された物品かを探し出すときの手がかりに使うことができる。従って、必要に応じて、物品の属性や作業ロボット１０２の自己位置、あるいは、移動計画作成手段１１３に必要な環境マップ１０８等を、環境管理サーバ１０１に問い合わせてもよい。なお、これらの問い合わせも、環境管理サーバ１０１に問い合わせのメッセージを送り、その回答を受け取ることで実現される。
【０１４６】
最後に、環境管理サーバ１０１の制御手段１１０の動作について説明する。図３０は、環境管理サーバ１０１の制御手段１１０の処理構成を示している。
【０１４７】
環境管理サーバ１０１は、電源がＯＮされるとその直後に一度だけ初期設定を行う。これには、例えば、通信路の確立等や各スレッドプログラムの実行が含まれる。そして、上述した作業ロボット１０２や操作端末１０３からの問い合わせを含んだメッセージを送受信手段１０９で受け取り、メッセージ受信部１３０１がそのメッセージをメッセージキュー１３０２に蓄える。図３１は、環境管理サーバ１０１が理解できるメッセージの一例である。
【０１４８】
図３２は、環境管理サーバ１０１におけるメッセージ処理部１３０３の処理のフローチャートである。本処理ではまず、メッセージキュー１３０２から先頭のメッセージを取り出し、このメッセージをメッセージ処理部１３０３に入力する。そして、ステップＳ２７０１、Ｓ２７０２、Ｓ２７０３、Ｓ２７０４及びＳ２７０５において、このメッセージが何を要求しているかを判断する。
【０１４９】
ステップＳ２７０１において、ロボット位置の問い合わせがあったと判定すると、物品移動体データベース１０６からロボット位置の情報を取り出して、問い合わせ先にロボット位置を送信する（ステップＳ２７０５）。ステップＳ２７０２で、マップ問い合わせと判断されれば、環境マップ１０８からマップを取り出して、問い合わせ先に送信する（ステップＳ２７０６）。マップの情報は、例えば作業ロボット１０２の経路探索などに使用される。ステップＳ２７０３で、前記メッセージが環境情報を問い合わせていると判断すれば、指定した位置の情報を環境マップ１０８から検索し（ステップＳ２７０７）、問い合わせ先に送信する（ステップＳ２７０８）。ステップＳ２７０４で、前記メッセージが物品情報を問い合わせていると判断すれば、指定した物品の必要な情報を物品移動体データベース１０６から検索し（ステップＳ２７０９）、問い合わせ先に送信する（ステップＳ２７１０）。ステップＳ２７０５において、前記作業ロボット１０２などから得られた物品に対する情報を物品移動体データベース１０６に登録するメッセージであると判断されると、物品移動体データベース１０６に、指定した物品の属性値を登録する（ステップＳ２７１１）。
【０１５０】
ここで、物品移動体データベース１０６及び環境マップ１０８への問い合わせや情報登録は、前記物品移動体検索・管理手段１０５及び環境マップ管理手段１０７を介して行われる。なお、センシング手段１０４は常に最新の情報をセンシングしており、物品移動体データベース１０６及び環境マップ１０８には、物品移動体検索・管理手段１０５や環境マップ管理手段１０７を介して情報の更新が常時行われている。
【０１５１】
以上、本発明の実施形態に係る物品管理システム１００について、その構成及び動作の説明を行った。
【０１５２】
この物品管理システム１００により、家庭やオフィス等において作業ロボットに物品の運搬作業を行わせる際、どのような物品でも荷崩れすることなく整理された状態で設置することができる。また、曖昧な指示を受けた場合であっても、物品を適切な状態で設置することができる。例えば、本棚に本を設置するときには本を縦に入れたり、設置位置がゴミ箱ならば姿勢を気にせずに入れたり、設置位置がいわゆる食器洗い機なら所定の姿勢で入れたり等、指定された設置位置と物品との関係に応じて、物品を適切な状態で設置することができる。
【０１５３】
【発明の効果】
本発明によれば、居住空間内に存在する物品を作業ロボットで移動させる際、移動対象物品の設置姿勢を、設置位置付近の他の物品や設置位置付近の状況に応じて決定するようにしたので、同じ種類や形状の物品を秩序正しく整理する等、物品を適切な状態に設置することができる。また、物品と設置位置との関係を考慮に入れた適切な設置が可能となる。
【０１５４】
さらに、本発明によれば、指定された設置位置に他の物品が置いてあったり、指定された設置位置に移動対象物品が置けないような場合には、設置位置を指定された位置の近傍に変更することとした。また、移動対象物品を他の物品の上に積載できる場合には、設置位置を変えずに移動対象物品を他の物品の上に積載するようにした。そのため、設置位置の状況を細かく把握せずに物品の設置位置を指定したとしても、作業ロボットに適切に設置作業を行わせることができ、物品を適切な状態に設置することができる。
【図面の簡単な説明】
【図１】実施形態に係る物品管理システムの構成図である。
【図２】センシング手段における物品検出処理の説明図である。
【図３】物品移動体検索・管理手段の基本構成を概念的に示すブロック図である。
【図４】ゲート型のタグリーダライタをドアや窓に配置した部屋を示す概念図である。
【図５】物品移動体データベースのデータ構造の説明図である。
【図６】物品の形状及び姿勢を説明するための図であり、（ａ）は本来の物品の形状を示し、（ｂ）はモデル化された物品の形状を示し、（ｃ）は実世界に置かれた状況下でのモデル化物品の形状を示す。
【図７】実世界の座標と物品座標との関係を示す図である。
【図８】物品及び移動体の操作履歴の取得方法を説明する図である。
【図９】環境マップを説明するための図であり、（ａ）は実際の状況を表し、（ｂ）は（ａ）の立体モデルを表し、（ｃ）は（ａ）の平面モデルを表している。
【図１０】環境マップのデータ構造を説明するための図である。
【図１１】作業ロボットの斜視図である。
【図１２】本棚に本を収納する動作を説明するための図である。
【図１３】設置位置に他の物品が存在する場合の設置位置の修正を説明するための図であり、（ａ）は設置物品の斜視図、（ｂ）は設置位置を修正する前の物品の平面図、（ｃ）は設置位置を修正した後の物品の平面図である。
【図１４】メッセージ書式の一例を示す図である。
【図１５】ＡＣＫ及びＮＡＣＫメッセージ書式の一例を示す図である。
【図１６】制御手段におけるメッセージのやりとりを説明するための共通の処理構成図である。
【図１７】制御手段におけるメッセージハンドラの動作を示すフローチャートである。
【図１８】操作端末の制御手段における処理構成図である。
【図１９】操作端末で物品を操作する一例を示した表示画面図である。
【図２０】操作端末の操作メッセージ生成部で生成されるメッセージの一例を示す図である。
【図２１】操作端末の制御手段におけるメッセージ処理部の動作を示すフローチャートである。
【図２２】作業ロボットに作業単位を送るときのメッセージの一例を示す図である。
【図２３】作業ロボットの制御手段における処理構成図である。
【図２４】作業ロボットに対するメッセージの一例を示す図である。
【図２５】作業ロボットの制御手段におけるメッセージ処理部の動作を示すフローチャートである。
【図２６】作業ロボットの設置姿勢決定手段の動作を示すフローチャートである。
【図２７】作業ロボットの設置姿勢決定手段の具体的な動作を示すフローチャートである。
【図２８】作業ロボットの設置位置決定手段の動作を示すフローチャートである。
【図２９】作業ロボットの設置位置決定手段の具体的な動作を示すフローチャートである。
【図３０】環境管理サーバの制御手段における処理構成図である。
【図３１】環境管理サーバに対するメッセージの一例を示す図である。
【図３２】環境管理サーバの制御手段におけるメッセージ処理部の動作を示すフローチャートである。
【図３３】従来技術のシステム構成図である。
【符号の説明】
１０１  環境管理サーバ
１０２  作業ロボット
１０３  操作端末
１０４  センシング手段
１０５  物品移動体検索・管理手段
１０６  物品移動体データベース
１０７  環境マップ管理手段
１０８  環境マップ
１０９  送受信手段
１１０  環境管理サーバの制御手段
１１１  障害物センサ
１１２  把持手段
１１３  移動計画作成手段
１１４  移動手段
１１５  作業ロボットの制御手段
１１６  物品操作手段
１１７  表示手段
１１８  操作端末の制御手段
１１９  設置姿勢決定手段
１２０  設置位置決定手段
【図１】
2004249389.tif 000003
【図２】
2004249389.tif 000004
【図３】
2004249389.tif 000005
【図４】
2004249389.tif 000006
【図５】
2004249389.tif 000007
【図６】
2004249389.tif 000008
【図７】
2004249389.tif 000009
【図８】
2004249389.tif 000010
【図９】
2004249389.tif 000011
【図１０】
2004249389.tif 000012
【図１１】
2004249389.tif 000013
【図１２】
2004249389.tif 000014
【図１３】
2004249389.tif 000015
【図１４】
2004249389.tif 000016
【図１５】
2004249389.tif 000017
【図１６】
2004249389.tif 000018
【図１７】
2004249389.tif 000019
【図１８】
2004249389.tif 000020
【図１９】
2004249389.tif 000021
【図２０】
2004249389.tif 000022
【図２１】
2004249389.tif 000023
【図２２】
2004249389.tif 000024
【図２３】
2004249389.tif 000025
【図２４】
2004249389.tif 000026
【図２５】
2004249389.tif 000027
【図２６】
2004249389.tif 000028
【図２７】
2004249389.tif 000029
【図２８】
2004249389.tif 000030
【図２９】
2004249389.tif 000031
【図３０】
2004249389.tif 000032
【図３１】
2004249389.tif 000033
【図３２】
2004249389.tif 000034
【図３３】
2004249389.tif 000035