JP4473849B2 - 物品取扱いシステムおよび物品取扱いサーバ - Google Patents

物品取扱いシステムおよび物品取扱いサーバ Download PDF

Info

Publication number
JP4473849B2
JP4473849B2 JP2006293740A JP2006293740A JP4473849B2 JP 4473849 B2 JP4473849 B2 JP 4473849B2 JP 2006293740 A JP2006293740 A JP 2006293740A JP 2006293740 A JP2006293740 A JP 2006293740A JP 4473849 B2 JP4473849 B2 JP 4473849B2
Authority
JP
Japan
Prior art keywords
article
robot
icon
work
moving
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006293740A
Other languages
English (en)
Other versions
JP2007111854A (ja
Inventor
修作 岡本
修 山田
知宣 成岡
善彦 松川
智 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2006293740A priority Critical patent/JP4473849B2/ja
Publication of JP2007111854A publication Critical patent/JP2007111854A/ja
Application granted granted Critical
Publication of JP4473849B2 publication Critical patent/JP4473849B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Description

本発明は、生活空間、すなわち一般家庭、オフィス、ホテル、店舗および病院等の、人間が生活を営む空間において、物品の管理や操作を支援する技術に属する。
従来より、ロボットは、実に多くの分野で有効に利用されている。例えばロボットが有する物品の把持機能を生かして、工場での自動製品組み立てラインにおける部品の把持・運搬や、自動化された倉庫での在庫品の運搬・管理等にロボットが利用されており、その例を挙げるときりがない。
こうした産業用のロボットは、扱う物品の形状・大きさが同じであったり、また少し自由度を持たせたとしても、せいぜいその形状が直方体等に限定されている場合が多い。このことを生かしてロボットを使った運搬作業を効率化する技術も開示されている。典型的な例として特許文献1には、物品の荷積み・荷降ろし作業を行うロボットシステムが開示されている。
特開平7−237159号公報 特開2000−238906号公報 特開2000−127070号公報
今日では、かくのごとく産業用として成熟してきたロボット技術を生かし、一般家庭で人間と共存しながら人間の生活を支援するという高い目標に向けて、産業以外の用途、特に一般家庭用のロボットの研究開発がさかんに行われるようになってきた。例えば、ペットのような振る舞いをすることで人の心を癒すエンタテイメント用ロボットや、部屋の中の障害物をセンサで検知してそれを回避しつつ自動で部屋の中を掃除する等の、いわゆる家事支援用のロボットが実際に開発され製品化されている。また要素技術として、家事支援を行うために必要不可欠な、種々の物品を自由に把持するハンドリング技術や、ロボットが移動する空間内の様子を認識するセンシング技術等も、さかんに開発されている。このような技術の開発が進めば、将来は人間に代わって様々な家事を行うロボットが実現するであろう。
さて、我々の日常生活を振り返ってみると、現代人は、まさに、物に振り回されながら生活している、と言える。例えば家庭内においては、ゴミ捨て、食器運び、子供のおもちゃの片付け、洗濯物の取り込みや片付けなど、物品の移動に明け暮れている。あるいは、宅配荷物や郵便物の受け取り、発送など、物品を人から受け取ったり、渡したりする、といった仕事も多い。
また、家電製品のリモコン、鍵、携帯電話や時計などをどこに置いたか忘れてしまうこともよくあり、その場合には、家中を探し回る羽目になる。さらに、キャンプなどのレジャーに使う物や、冠婚葬祭に必要な物などを、昔どこにしまったのか忘れてしまい、いざというときに間に合わなくて困ることもある。
このような、物品に関する煩雑な仕事、物品操作や物品管理を支援できる仕組みができたら、人間の生活は、より便利に、より快適になるものと考えられる。そしてこのような仕組みは、家庭以外であっても、例えば、レストランの閉店後の椅子やテーブルの片付け、ホテルの清掃やベッドメイキング、スーパーマーケットやコンビニの商品整理などにも、適用できる。
ただし、上述のような産業用技術をそのまま、家庭等の生活空間に適用することは困難である。なぜなら、工場や倉庫等の産業上の作業現場と、家庭やオフィス等の生活空間とでは、物品について、大きな相違があるからである。
その1つとしてまず、産業用途では物品の置き場所に規則性があり、その位置も例えばベルトコンベア上というように限定されているのに対して、生活空間では、物品がいろいろな場所に置かれ、しかもその位置に規則性がなく、常に変化する点が挙げられる。例えば食器の皿を例にとると、普段は食器棚の中に重ねて置かれており、調理中には台所に置かれ、食事の際にはテーブルの上に並べられる。そして、食事の後は、流しに置かれたり、食器洗浄機に入れられたりして、洗浄後は再び食器棚に戻される。
また、産業用途では物品の種類や形状が予め予定されており、形状等の統一を図ることが比較的容易であるのに対し、家庭やオフィス等では、取り扱われる物品の種類や形状が多岐に渡っている。
したがって、ロボットを生活空間に適用させるためには、ロボット技術の進歩自体も不可欠であるが、それとともに、生活空間における各物品の、現在位置などの属性情報を、リアルタイムで管理できるような仕組みが必要になる。
また、ロボットによる物品操作を行わなくても、生活空間における各物品の属性情報をリアルタイムで管理できる仕組みを用いて、ユーザに、物品の現在位置などの情報を提供するだけでも、人間の生活の利便性は大きく向上する。
本発明は、生活空間において、物品を管理したり操作したりする作業を支援するシステムを提供することを課題とする。
具体的には、本発明は、所定の生活空間における物品および人を含む移動体の状況をセンシングするセンシング手段と、前記センシング手段からの情報を受けて、前記生活空間における物品の,少なくとも現在位置を含む属性情報を、物品データベースに管理するサーバと、前記サーバと通信可能であり、ユーザが作業を指示するための操作手段とを備え、前記サーバは、前記操作手段から入力されたユーザの指示を受け、この指示を、前記物品データベースを参照して、物品に対する作業をロボットに実行させるための制御コマンドに変換し、前記ロボットに送信するものである。
この発明によると、センシング手段によって、家庭などの所定の生活空間における物品や人を含む移動体の状況がセンシングされ、センシング手段の情報から、サーバによって、物品の少なくとも現在位置を含む属性情報が物品データベースに管理される。そしてサーバは、操作手段から入力されたユーザの指示を受け、この指示を、物品データベースを参照して制御コマンドに変換し、ロボットに送信する。これにより、物品がいろいろな場所に置かれ、しかもその位置が刻々と変化する、といった生活空間の複雑な状況においても、ロボットは、的確な動作を実行することができ、したがって、人間の物品操作作業を支援することができる。
また、本発明は、所定の生活空間における物品、および人を含む移動体の状況をセンシングするセンシング手段と、前記センシング手段からの情報を受け、前記生活空間における物品の,現在位置、および前記移動体による操作履歴を少なくとも含む属性情報を、物品データベースに管理するサーバと、前記サーバと通信可能であり、ユーザが問合せを入力するための操作手段とを備え、前記サーバは、前記操作手段から入力されたユーザの問合せを受け、この問合せに応じて、前記物品データベースを参照して、ユーザに提供するための情報を生成し、前記操作手段に送信するものである。
この発明によると、センシング手段によって、家庭などの所定の生活空間における物品や人を含む移動体の状況がセンシングされ、センシング手段の情報から、サーバによって、物品の少なくとも現在位置および移動体による操作履歴を含む属性情報が物品データベースに管理される。そしてサーバは、操作手段から入力されたユーザの問合せを受け、この問合せに応じて、物品データベースを参照してユーザに提供するための情報を生成し、操作手段に送信する。これにより、物品がいろいろな場所に置かれ、しかもその位置が刻々と変化する、といった生活空間の複雑な状況においても、物品の現在位置や操作履歴から的確な情報が提供ができ、したがって、人間の物品管理作業を支援することができる。
本発明の第1態様によれば、所定の生活空間における物品と、人を含む移動体との状況をセンシングするセンシング手段と、前記センシング手段からの情報を受けて、前記生活空間における物品の少なくとも現在位置を含む属性情報を物品データベースに管理するサーバと、前記サーバと通信可能であり、ユーザが作業を指示するための操作手段とを備え、前記サーバは、前記操作手段から入力されたユーザの指示を受け、この指示を、前記物品データベースを参照して、物品に対する作業をロボットに実行させるための制御コマンドに変換し、前記ロボットに送信する物品操作システムを提供する。
本発明の第2態様によれば、前記センシング手段は、前記生活空間に設置されたカメラ、前記ロボットに設置されたカメラ、および、電子タグの発信情報を受信するタグセンサのうち少なくともいずれか1つを含む第1態様の物品操作システムを提供する。
本発明の第3態様によれば、所定の生活空間における物品と、人を含む移動体との状況をセンシングするセンシング手段と、前記センシング手段からの情報を受け、前記生活空間における物品の現在位置、および前記移動体による操作履歴を少なくとも含む属性情報を物品データベースに管理するサーバと、前記サーバと通信可能であり、ユーザが問合せを入力するための操作手段とを備え、前記サーバは、前記操作手段から入力されたユーザの問合せを受け、この問合せに応じて、前記物品データベースを参照して、ユーザに提供するための情報を生成し、前記操作手段に送信する物品管理システムを提供する。
本発明の第4態様によれば、前記物品データベースは、各物品について、その操作履歴を示す物品履歴データを有しており、前記物品履歴データは、過去の各操作について、少なくとも、操作者と、操作内容と、操作後の位置とを含む第3態様の物品管理システムを提供する。
本発明の第5態様によれば、前記センシング手段は、前記生活空間に設置されたカメラ、および、電子タグの発信情報を受信するタグセンサのうち少なくともいずれか1つを含む第3態様の物品管理システムを提供する。
本発明の第6態様によれば、操作端末が所定の生活空間を表す画像を表示部に表示し、ユーザが前記操作端末から前記画像に含まれた物品に対する操作の指示を行い、操作端末から送信されたユーザの指示を、サーバが、前記生活空間における物品の少なくとも現在位置を含む属性情報を管理する物品データベースを参照して、ロボットが実行可能な制御コマンドに変換し、サーバが前記制御コマンドを前記ロボットに送信する物品操作方法を提供する。
本発明の第7態様によれば、操作端末が所定の生活空間を表す画像を表示部に表示し、ユーザが前記操作端末から前記画像に含まれた物品に対する問合せを行い、操作端末から送信されたユーザの問合せを受けて、サーバが、前記生活空間における物品の現在位置および操作履歴を少なくとも含む属性情報を管理する物品データベースを参照して、ユーザに提供するための情報を生成し、サーバが、生成した情報を前記操作端末に送信する物品管理方法を提供する。
本発明の第8態様によれば、所定の生活空間における物品と人を含む移動体との状況をセンシングするセンシング手段、および、ユーザが作業を指示するための操作手段と通信可能に構成されており、前記センシング手段からの情報を受けて、前記生活空間における物品の少なくとも現在位置を含む属性情報を物品データベースに管理し、前記操作手段から入力されたユーザの指示を受け、この指示を、前記物品データベースを参照して、物品に対する作業をロボットに実行させるための制御コマンドに変換し、前記ロボットに送信するサーバを提供する。
本発明の第9態様によれば、所定の生活空間における物品と人を含む移動体との状況をセンシングするセンシング手段、および、ユーザが問合せを入力するための操作手段と、通信可能に構成されており、前記センシング手段からの情報を受け、前記生活空間における物品の現在位置および前記移動体による操作履歴を少なくとも含む属性情報を物品データベースに管理し、前記操作手段から入力されたユーザの問合せを受け、この問合せに応じて、前記物品データベースを参照して、ユーザに提供するための情報を生成し、前記操作手段に送信するサーバを提供する。
本発明の第10態様によれば、前記物品データベースは、各物品について、その操作履歴を示す物品履歴データを有しており、前記物品履歴データは、過去の各操作について、少なくとも、操作者と、操作内容と、操作後の位置とを含む第9態様のサーバを提供する。
まず、本発明の概念について、説明する。
図1は本発明を概念的に示す図である。図1では、所定の生活空間としての家庭に、本発明に係る物品操作システムが構成された場合を想定している。実空間には、生活支援ロボット5が配置されている。なお、本発明でいう「生活空間」とは人間が活動を行う空間、人間が生活を営む空間のことをいい、一般家庭だけでなく、オフィス、ホテル、店舗および病院等を含み、工場や倉庫などの産業用の空間を含まない。
図1において、センシング手段1は、家庭内における物品や人を含む移動体の状況をセンシングするものであり、例えば、天井に設置されたカメラ、電子タグの発信情報を受信するタグセンサ等によって構成される。サーバとしての物品管理・操作サーバ2は、センシング手段1からの情報を受けて、家庭内の状況をリアルタイムで常時管理する。この管理には、家庭内の物品の属性情報を記憶する物品データベース3が用いられる。図1の例では、ゴミ箱、ケータイおよびビールについて、操作時刻、操作内容、操作者、操作後の位置などが属性情報として管理されている。
家庭内の生活者すなわちユーザは、操作手段4を介して、指示を行う。この指示は、操作手段4に設けられた各種インターフェースによって、文字入力、音声入力、画面入力などによって行うことができる。サーバ2は、操作手段4から入力されたユーザの指示を受け、この指示を、物品データベース3を参照して、ロボット5に作業を実行させるための制御コマンドに変換し、ロボット5に送信する。ロボット5は送信された制御コマンドに従って、ユーザに指示された作業を実行する。
例えば、ユーザが、外出先から携帯電話を介して部屋の片付けを指示した場合、サーバ2は、指示された部屋の中の現在状態や、ゴミ箱の場所などの情報を物品データベース3を参照して把握し、ロボット5に片付け作業を指示する。また、自宅の居間にいるユーザがビールを持ってくるように指示した場合、サーバ2は、冷蔵庫の中の現在状態などの情報を物品データベース3を参照して把握し、ロボット5にビールを運ぶように指示する。
このように、センシング手段1と物品データベース3とを用いて、物品の属性情報をリアルタイムに管理することによって、家庭内の複雑な状況においても、ロボットに的確な動作を実行させることができる。したがって、ユーザは、快適な生活をおくることができる。
また、ユーザから例えば、携帯電話を探してほしい、といった問合せを受けたとき、サーバ2は、物品データベース3を参照して、携帯電話の現在位置や直近の操作者といった情報を生成して、ユーザに提供することもできる。したがって、図1のシステムを物品管理システムとして利用し、ロボットによる物品操作を行わず、ユーザに対して情報提供を行うことによっても、生活の利便性は大きく向上する。
以下、本発明の実施の形態について、図面を参照しながら説明する。
(第1の実施形態)
図2は本発明の第1の実施形態に係る物品操作システムまたは物品管理システムとしてのシステムの構成を示すブロック図である。図2に示すように、本システムは、大きく分けて、環境内の状況を把握するセンシング手段120と、サーバとしての環境管理サーバ101、ロボットとしての作業ロボット102、および操作手段としての操作端末103の3個のサブシステムから構成される。サブシステム101〜103はそれぞれ送受信手段109を備えており、この送受信手段109によって、無線または有線のネットワークを介して、情報やデータ、信号などのやり取りを行う。なお、各送受信手段109は共通の処理を行うため、図2では同一の符号を付している。
なお、ここでの説明では、「環境」は、家庭内の部屋とする。
各サブシステムの構成と動作について、順に説明する。
<環境管理サーバの構成>
環境管理サーバ101は、センシング手段120によって把握した状況のうち、環境内に存在する物品と、人やロボット102を含む移動体との状況を管理する物品/移動体検索・管理手段105およびその物品および移動体のデータを蓄積する物品/移動体データベース106と、物品および移動体以外の環境全体の状況を管理する環境マップ管理手段107およびその環境全体のデータを蓄積する環境マップ108とを備えている。送受信手段109は、物品/移動体データベース106のデータや環境マップ108のデータの問い合わせ(信号)を外部から受信したり、その応答信号を外部に発信したり、また、ロボット102に対する制御コマンドを送信したりする。制御手段110は物品/移動体検索・管理手段105、環境マップ管理手段107および送受信手段109をコントロールする。
センシング手段120は、環境内に存在する家具などの物品、および環境内に存在する人やロボット102について、その位置と状態を常時監視する。また、センシング手段120は、人やロボット102によって、環境内に物品が持ち込まれたことや、環境外へ物品が持ち出されたことも検出可能である。センシング手段120は具体的には、環境内に設置されたカメラ(画像センサ)や、タグセンサ等があるが、詳細については後述する。そして、物品や移動体を検出したとき、センシング手段120はその情報を物品/移動体検索・管理手段105に送信する。送信する情報としては、例えば物品の検出時刻、物品の位置および向き等がある。
物品/移動体検索・管理手段105は、センシング手段120によって検出された物品および移動体の情報を、物品/移動体データベース(DB)106に蓄積して管理する。物品/移動体DB106に管理する情報は、少なくとも物品および移動体の現在位置を含む。物品/移動体DB106の詳細、およびその更新方法については後述する。
また、物品/移動体検索・管理手段105は、センシング手段120からの情報に基づいて、物品の操作(移動などの取扱い)を行っている移動体(人・ロボット)を推論し、その推論結果を物品/移動体DB106に蓄積する。
さらに、物品/移動体検索・管理手段105は、制御手段110から物品/移動体DB106に問い合わせがあったとき、その問い合わせの内容に応じて必要な情報を物品/移動体DB106から取り出し、制御手段110に送る。
また、環境マップ管理手段107は、センシング手段120からの情報に基づいて、環境マップ108を作成するとともに、その作成した環境マップ108の管理を行う。環境マップ108はロボット102が環境内を移動する際に利用するものであり、ロボット102はこの環境マップ108をサーバ101から取得して、移動経路計画を立てる。
さらに、環境マップ管理手段107は、制御手段110から環境マップ108に問い合わせがあったとき、その問い合わせの内容に応じて必要な情報を環境マップ108から取り出し、制御手段110に送る。
また、制御手段110はサーバ101全体を制御する要素であり、主な制御内容としては以下のものがある。
1)送受信手段109が、サーバ101内にある各種データに関する問い合わせを受信したとき、その問い合わせ内容を判断し、その判断結果に応じて、物品/移動体検索・管理手段105や環境マップ管理手段107にデータの参照要求を出す。
2)上記要求に対して物品/移動体検索管理手段105または環境マップ管理手段107から送られてきた結果を、送受信手段109を介して問い合わせ元に送る。
3)操作端末103から送受信手段109を介して送信されたロボットの作業内容メッセージを解釈し、そのロボット102に動作を実行させるためのロボット制御コマンド列を生成して、ロボット102に送信する。なお、ロボット制御コマンド列については、後述する。
4)必要に応じて、一定時間毎に、物品/移動体DB106で管理している物品の一部または全部の状況や、環境マップ108の状況を、送受信手段109を介してロボット102やユーザ(操作端末103)にブロードキャストする。
例えば、上の1),2)の制御は、ユーザが操作端末103を操作して物品の検索を行う場合に利用される。この際、サーバ101に対する問い合わせ内容として、ユーザは例えば「○月△日×時頃に居間のテーブルの上に置いたお金を誰がどこにしまったか?」等の自然言語文で検索条件を与えてもよいし、日付、取扱者、物品の種類等の、知りたい物品の属性を絞り込むための検索キーを入力してもよい。
このような問い合わせに対して、環境管理サーバ101は物品/移動体DB106からその物品を検索する。そして、操作端末103に、例えば「それは、○○さんが△△にしまった」と音声で答えさせてもよいし、環境内のマップを提示して、その物品の現在の場所を指し示すようにしてもよい。
なお、その物品が環境の外に持ち出されているときは、その持出者の情報を出力してもよい。このとき、持出者が人であるときは、サーバ101がその持出者に電話や電子メールで、持出物品の現在の場所等を問い合わせてもよい。さらに、その持出者の現在地が別の環境管理サーバが管理する環境内であるときには、サーバ101が、その別の環境管理サーバに直接、持出物品の現在の場所等を問い合わせてもよい。
(センシング手段の具体例)
本システムが対象にする環境は、家庭などの生活空間である。したがって、この環境では、物品がいろいろな場所に置かれ、しかもその位置に規則性がなく、常に変化する。また、人やロボットのような移動体も、その移動経路に制限がなく、自由に動き回る。このため、本システムでは、環境内の物品や移動体の状況を的確に検出可能なセンシング技術が要求される。
・画像センサ
物品の検出に最も良く用いられるセンサの一つが、画像センサ(カメラ)である。室内全体のような比較的広い範囲を少ない設備で効率よく監視するためには、画像センサ、すなわちカメラを部屋の天井や壁等に固定し、そのカメラ画像(撮像画像)を用いて、室内の物品等の検出を行うのが一般的である。
カメラ画像を用いて環境内の物品や移動体を検出する一般的な手法として、背景差分法がある。背景差分法とは、背景としてのモデル画像を予め準備しておき、現在のカメラ画像とモデル画像との差分を取ることによって、対象物を検出する方法である。本システムでは、環境内の物品や移動体を検出・監視することが目的であるので、モデル画像としては、環境の状況変動が少ない場合は、その環境内に物品・移動体が存在していないときに撮像した画像を用いればよい。また、環境の状況変動が激しい場合は、所定の時間間隔を空けて撮影された複数の画像を平均して得られた画像を、モデル画像として用いればよい。
図3を参照して、背景差分法による物品検出について具体的に説明する。同図中、(a)はモデル画像の例、(b)はある時点でカメラが撮影した画像の例、(c)は(b)のカメラ画像から(a)のモデル画像を差し引くことによって得られた背景差分画像の例である。図3(c)から分かるように、背景差分画像では、カメラ画像とモデル画像とで差がある部分(網掛け部分)が浮き出ている。このため、この浮き出た部分のみをそれぞれ取り出すことによって、環境内に存在する物品を検出することができる。さらに、この背景差分画像を画像処理することによって、その物品の種類も特定できる。このように、背景差分法を用いて、環境内の物品や移動体の状況を検出することは可能である。さらに、環境内に2つのカメラを設けるようにすれば、ステレオ視による三次元計測技術を用いて、物品の形状及び姿勢の情報を取得することも可能になる。
しかしながら、画像センサを用いた物品検出には、一般に、明るさの変化に弱い、解像度が低い、物品が他の物に隠れて見えなくなる(死角の問題)、重なった複数の物品が一個の物品として検出されてしまう等、多くの問題がある。例えば死角の問題に関しては、環境内に複数台のカメラを略均等に配置し、その環境内に存在する物品は全て、いずれかのカメラによって撮像可能なようにすれば解決する。ところが、死角が無くなるだけでは、物品検出を確実に行い得るとは限らない。つまり、カメラ台数をいくら増やしても、解像度の問題や物品の重なりの問題は解決しないため、背景差分画像で浮き出た部分が何であるかを特定することが必ずしもできない。
・電子タグの利用
近年では、電子タグを用いて物品や移動体の位置検出を行う手法が開発されつつある。電子タグとは、データを蓄えるICと、データを無線で送受信するアンテナとから構成されるデバイスである。リーダライタと呼ばれる装置によって、電子タグに書き込まれた情報を読みとったり、電子タグに情報を書き込んだりすることができる。
そこで、電子タグを各物品に付し、その物品に関するデータ、例えば物品の種類、形状、重さ、その物品の画像、製造年月日等のデータを埋め込む。また、移動体(人およびロボット)にも電子タグを付し、その移動体に関するデータ、例えば人の名前や生年月日等の情報を書き込む。人の場合は、常時携帯するもの(例えば腕時計等)に電子タグを埋め込んでもよい。一方、環境内には、リーダライタを多数設置する。リーダライタが物品や移動体に付された電子タグの情報を読みとることによって、カメラがなくても、環境内に存在する物品等の検出が可能になる。
また、カメラを用いる場合は単に物品の存在を検出するだけであるが、電子タグを用いる場合は、物品の存在を検出できるだけでなく、電子タグに埋め込まれた当該物品のデータを利用することができる。例えば物品の形状データを利用することによって、ロボット102による物品の把持を容易にすることができる。また、製造年月日データを利用することによって品質期限の管理が可能になったり、物品の種類データを利用することによって捜し物を見つけるのが容易になったりする等、ユーザに大きなメリットをもたらす。
しかしながら、電子タグを用いた物品検出には、通信距離が短いという問題がある。すなわち、電子タグとリーダライタとのデータのやりとりには人体に影響のない非常に弱い無線電波を使わざるを得ないため、通信距離がせいぜい数10cmと非常に短い。また、通信距離の問題を解消するために、リーダライタを環境内に多数設置することも考えられるが、リーダライタはカメラに比べてコストが高いため、現実的ではない。
・画像センサと電子タグとの組合せ
以上、説明したように、画像センサを用いた方法と、電子タグを利用する方法とには、一長一短がある。そこで、画像センサと電子タグの両方を利用する方法が考えられる。すなわち、上述した背景差分法によって、環境内の物品のおおよその位置を特定し、さらに電子タグを用いてその物品を特定する、というハイブリッド処理を行うのである。
具体的な処理の例を、2つ挙げる。
1つの例は、環境内の天井や壁等にカメラを設置し、作業ロボット102にリーダライタを取り付けるというものである。また、各物品および移動体には電子タグを取り付けておく。まず、カメラ画像を用いた背景差分法によって、環境内の物品の位置を特定する。そして、特定した物品の近傍にロボット102を移動させて、そのロボット102に取り付けたリーダライタによって、その物品に取り付けられた電子タグから情報を読みとり、その物品を特定する。
もう1つの例は、環境内の天井や壁等にカメラを設置し、その環境内に複数個のリーダライタを略均等に設置するというものである。このリーダライタは、電子タグのデータ読みとりに関して指向性を有し、かつ、その読み取り方向が可変であるものとする。まず、カメラ画像を用いた背景差分法によって、環境内の物品の位置を特定する。次に、特定した物品に最も近い位置に設置されたリーダライタを選択し、そのリーダライタの読みとり方向をその物品に向ける。そして、その物品に取り付けられた電子タグから情報を読み取り、その物品を特定する。なお、この例では、リーダライタと電子タグとの間の距離が長くなる場合があるため、比較的強い無線電波を用いる必要がある。このため、環境内に人がいないことを例えば背景差分法によって確認した上で、電子タグからの情報読み取りを行うのが好ましい。
なお、本システムにおけるセンシングには、ここで説明した画像センサや電子タグを用いた方法以外の方法を採用してもよい。
また、ドアや窓等の環境と外部との出入り口に、センシング手段120としてリーダライタを設置し、これによって、環境内への物品の持ち込みや持ち出しを検出することもできる。詳しくは後述する。
(物品/移動体検索管理手段)
図4は物品/移動体検索・管理手段105の内部構成を概念的に示す図である。図4において、物品取扱検出手段31は物品が移動体によって取り扱われていること(物品取扱状態)を検出し、取扱者特定手段32は物品取扱検出手段31の検出結果に応じて、物品を取り扱っている移動体(取扱者)を特定する。
物品取扱検出手段31はセンシング手段120からの情報に基づいて、物品取扱状態を検出する。例えば、上述したような画像センサと背景差分法を利用して物品検出を行っている場合は、カメラ画像とモデル画像とを比較して両者の差のある部分が生じた場合に、その部分で物体が取り扱われていると検出する。もちろん、例えば電子タグを利用して、物品取扱状態を検出してもよい。
取扱者特定手段32は、物品取扱検出手段31が物品取扱状態を検出したとき、その物品を取り扱っている取扱者を特定し、その取扱者の情報を物品/移動体DB106に蓄積する。
取扱者の特定は、具体的には次のようにすればよい。センシング手段120としてカメラを利用している場合は、物品取扱状態が検出された領域をそのカメラによって撮像する。そして、撮像画像に対して人かロボットかの判断、そして次に顔認証処理を行い、移動体を特定する。特定された移動体は、取扱いがなされた物品の近傍にいたと考えられるので、その移動体を取扱者と推定する。なお、センシング手段120としては通常、広域を撮影するために広角カメラが利用されるが、広角カメラの撮像画像の解像度は比較的低く、顔認証処理を行うには十分でない可能性がある。そこで、広角カメラとは別個に、顔認証処理用のカメラとして狭角の高分解能カメラを環境内またはロボット102に設置してもよい。物品取扱検出手段31が物品取扱状態を検出した領域をこの狭角カメラによって撮像し、その撮像画像について顔認証処理を行うことによって、取扱者を精度よく特定できる。
なお、物品取扱者の特定は、顔認証処理に限らず、例えば虹彩認証等その他の認証処理によって行ってもよい。また、認証処理を行わずに、そのカメラ画像自体を物品/移動体DB106に蓄積してもよい。これは、認証処理によって移動体を特定できなかった場合に限って行ってもよい。さらに、取扱者の特定は電子タグを利用して行ってもよい。
また、電子タグとリーダライタとを用いて、環境内への物品の持ち込みや持ち出しを管理することもできる。
すなわち、図5に示すように、環境と外部との出入り口である窓51やドア52の開口部にそれぞれ、ゲート型のリーダライタ(RFアンテナ)41,42を配設する。そして、物品や移動体がこの窓51やドア52を通過したとき、リーダライタ41,42がその物品や移動体に取り付けられた電子タグからの情報を読み取る。物品取扱検出手段31はリーダライタ41,42からの情報によって、物品の持ち込みや持ち出しを検出する。また、取扱者特定手段32は、リーダライタ41,42からの情報に基づいて、物品と一緒に窓51やドア52を通過した移動体を取扱者として特定し、その取扱者の情報を物品/移動体DB106に蓄積する。このような処理によって、物品の持込者・持出者の管理を自動的に簡単な処理で行うことができる。
なお、図5では、窓51やドア52の開口部の上下左右を囲むようにリーダライタ41,42を設置しているが、これは電子タグの向きに依存せず高精度の検出を行なうためであり、リーダライタ41,42は、窓51やドア52の上下位置のみ、左右位置のみ、又はその中央位置に設置してもよい。
このようなリーダライタを用いた特定の場所における物品の管理は、窓51やドア52に限らず、その他の場所にも適用可能である。例えば、冷蔵庫や戸棚等のような,物品の収納場所の開口部にリーダライタを設置すれば、収納場所への物品の持込やその収納場所からの物品の取り出しの管理が可能になる。
また、このようなリーダライタを窓51やドア52に対して二重に設置することにより、物品が環境内に持ち込まれたのか、環境内から持ち出されたのかを簡単に判定することができる。すなわち、図示は省略するが、第1のリーダライタを環境外である、窓51やドア52の開口部の外側に設置する一方で、第2リーダライタを環境内である、窓51やドア52の開口部の内側に設置する。こうすることで、外側の第1リーダライタが電子タグからの情報を検出した後に、内側の第2リーダライタが電子タグからの情報を検出したときには、その電子タグが取り付けられた物品は、外部から環境内に持ち込まれたと特定できる。逆に、内側の第2リーダライタが電子タグからの情報を検出した後に、外側の第1リーダライタが電子タグからの情報を検出したときには、その電子タグが取り付けられた物品は、環境内から外部に持ち出されたと特定できる。
なお、本システムでは、物品の取扱いは人に限られず、人が操作端末103において指定した作業内容に応じてロボット102も物品の取扱いを行う。ロボット102が物品を取扱う場合、ロボット102を取扱者としてもよいし、そのロボット102を操作する人を取扱者としてもよい。例えば、ロボット102を操作する人を取扱者とする場合には、ロボット102の操作者に対して指紋認証、顔認証、声紋認証、虹彩認証等のバイオメトリクス認証処理を行い、その認証結果に基づいて、ロボット102の操作者(物品取扱者)を特定すればよい。また、ロボット102の操作の開始時に、操作端末103においていわゆるLOGIN、LOGON処理によるユーザ認証を行う場合には、そのユーザ情報からロボット102の操作者を特定してもよい。
(物品/移動体DB)
物品/移動体DB106は、物品および移動体の情報を蓄積するDBであり、例えば、図6に示すような物品を扱う物品データベース(DB)と、図7に示すような移動体を扱う移動体データベース(DB)とを備えている。
図6の物品DBは、物品データ、物品履歴データ、および物品属性データをそれぞれ蓄積する3個のサブデータベースからなる。
1)物品データ
個々の物品を区別するためのID、物品履歴データへのポインタ、および物品属性データへのポインタ、を含む。図6の例では、同種類であっても物理的に異なる物品は異なるIDが割り当てられ、別の物品として扱われる。ただし、同種の物品は同じ物的属性を持つため、IDは異なるが、物品属性データへのポインタは共通である。これにより、データベースの容量が節約できる。
2)物品履歴データ
物品が取り扱われた履歴を表すものであり、図6では、取扱時刻、取扱内容、取扱者、取扱後の位置、の4項目からなる。なお、位置データの表現は様々なものが考えられるが、図6の例では、物品の位置(重心位置等を用いる)を表す3つのパラメータ(x1,y1,z1)と、物品の向きを表す3つのパラメータ(l1,m1,n1)とを合わせた6つのパラメータで位置を表現している。また、取扱者は、取扱者特定手段32によって特定された移動体である。
3)物品属性データ
物品が有する物理的な属性情報を表すものであり、例としては、図6に示すように、物品の重さ、形状、外観画像データ等が挙げられる。
また、特定の場所での物品の取扱い履歴を別のサブデータベースで管理してもよい。図8はドアを介した物品の持ち出しおよび持ち込み履歴を格納する持出・持込DBの例である。図8の履歴データは、取扱時刻、取扱物品、取扱内容、取扱者、の4項目からなる。図8において、取扱物品の項目に「物品名@カバンC」とあるのは、その物品がカバンCの中に入れられた状態でドアを通過したことを示している。これは、カバンにリーダライタを設置することによって検出可能である。図8の持出・持込DBから、時刻t2に、お父さんが衣類A、タオルC,かさBをカバンCに入れて部屋から持ち出したことが分かる。
また、持出・持込DBには、そのカバンCを持ったお父さんの行き先や、目的(例えば出張)を登録しておいてもよい。これにより、以後、行き先や目的を指定すれば、持出・持込DBを参照することによって、必要な物品(例えば出張に必要な物品)を特定することができる。さらには、必要な物品をカバンCに入れる作業をロボット102に実行させることも可能になる。
また、図7の移動体DBは、移動体データ、および移動体履歴データをそれぞれ蓄積する2つのサブデータベースからなる。
1)移動体データ
個々の移動体を区別するためのID、および移動体履歴データへのポインタ、を含む。移動体データに格納される移動体は、ユーザが手動で予め登録するようにすればよい。
2)移動体履歴データ
時刻、その時刻における位置、およびその時刻における状態の3項目からなる。移動体は物品と異なり、空間内に占める体積が大きいため、ロボット102の移動の障害物になりやすい。このため、ロボット102が障害物を避けつつ移動できるように、移動体の位置はできるだけ現実に則して表すのが好ましい。図7では、必要最小限の情報で表すべく、移動体が床面上で占める領域を円で近似し、円の中心座標と半径によって移動体の位置を表している。もちろん、さらに厳密に表現してもよく、例えば移動体が床面上で占める領域の輪郭を複数個の線分ベクトルを用いて近似してもよい。
また、移動体の状態は、人の場合は「座る」「立つ」「寝る」「歩く」等の一般的な人の動作によって表し、ロボット102の場合は、「把持」「解放」等のロボット102が物品に対して行う動作によって表す。なお、ロボット102に関しては、その動作だけでなく、作業対象の物品IDと併せて「物品ID:動作内容」と表現する。具体的には例えば、「kan_small_0001把持」となる。状態の特定は、例えば移動体の状態候補を予め複数準備しておき、センシング手段120による検出結果等に基づいて、移動体の状態がどの状態候補に当てはまるかを判断して行えばよい。
物品/移動体検索・管理手段105は、物品/移動体DB106に物品や移動体の情報を格納し、また各物品や移動体の位置が変更される毎に、その情報を更新する。なお、更新のタイミングはこれに限るものではなく、適宜設定すればよい。
なお、物品履歴データおよび移動体履歴データは、できるだけ長時間に亘ってデータ蓄積するのが好ましい。これにより、より過去に遡って履歴を調べることができる。また、移動体履歴データは、できるだけ短い時間間隔でデータを蓄積するのが好ましい。これにより、人やロボット等の移動体の移動経路をより細かく管理することができる。ただし、データベースの容量には限界があるため、ある所定期間のデータを蓄積することとし、その期間よりも過去のデータは随時消去してもよい。また、移動体の状態変化が激しいときには、データを蓄積する時間間隔を短くし、状態変化が少ないときには、時間間隔を長くするようにしてもよい。
(物品/移動体DBの更新の例)
ここで、物品/移動体DB106のデータがどのように更新されていくかについて、図6,7および図9を参照して、具体的に説明する。
図9はある部屋に2つの缶ジュース21,22が持ち込まれた状況を表している。図9において、各缶ジュース21,22の移動は矢線によって示され、時刻はt1〜t6の順で進んだものとする。図9の部屋にはセンシング手段120として電子タグのリーダライタが配設されており、各缶ジュース21,22、並びに部屋に出入りする人およびロボット102にはそれぞれ電子タグが取り付けられている。各缶ジュース21,22の物品属性データは、電子タグから読みとられる。
物品/移動体DB106では、移動体データへの各移動体の登録および移動体履歴データの初期化はすでに行われているものとする。また、物品/移動体DB106の物品データは、何も記録されていない空の状況であるとする。
まず、移動体であるお父さん(図示省略)が、缶ジュース21を持って部屋に入ってくる。センシング手段120がお父さんと缶ジュース21を検出すると、その検出結果は物品/移動体検索・管理手段105に送られる。物品/移動体検索・管理手段105は、缶ジュース21に[kan_small_0001]というIDを割り当て、物品属性データへのポインタと対応付けて物品データに格納する。これとともに、缶ジュース21の物品属性データを格納する。また、その缶ジュース21の移動履歴を格納するための「位置履歴リスト1」を作成する(図6参照)。この時点では位置履歴リスト1の中身はまだ空のままである。一方、お父さんの移動体履歴を更新するために、移動体データにおけるID「お父さん」の位置履歴を参照することによって、「位置履歴リスト3」が呼び出される(図7参照)。
次に時刻t1において、お父さんがテーブル近傍の位置P4(x4,y4)に座り、持っていた缶ジュース21をテーブル上の位置P1(x1,y1,z1)に置く。これをセンシング手段120 が検出すると、物品/移動体検索・管理手段105は、物品履歴データの位置履歴リスト1の内容をセットする(図6参照)。具体的には、
時刻:t1
取扱内容:新規
取扱者:お父さん
取扱後の位置:P1(x1,y1,z1,l1,m1,n1)
をセットする。ここで、取扱内容が「新規」となっているのは、それまで環境に存在していなかった物品が、新たに外部から持ち込まれたことを意味する。また物品/移動体検索・管理手段105は、移動体履歴データの位置履歴リスト3の内容をセットする(図7参照)。具体的には、
時刻:t1
位置:(x4,y4,r1)
状態:座る
をセットする。
次に時刻t2において、別の移動体である息子(図示省略)が、テーブルの上の位置P1(x1,y1,z1)に置かれた缶ジュース21を床の上の位置P2(x2,y2,z2)に移動させる。これをセンシング手段120が検出すると、物品/移動体検索・管理手段105は、物品履歴データの位置履歴リスト1の新たな内容をセットする(図6参照)。具体的には、
時刻:t2
取扱内容:移動
取扱者:息子
取扱後の位置:P2(x2,y2,z2,l2,m2,n2)
をセットする。ここで、取扱内容が「移動」となっているのは、すでに物品履歴データに登録されている物品が、移動されたことを意味する。なお、時刻t2では、息子の位置が変わるため、物品/移動体検索・管理手段105は、息子の移動体履歴データ(位置履歴リスト4)の内容をセットする(図示省略)。
次に時刻t3において、お父さんが部屋の外に出る。これをセンシング手段120が検出すると、物品/移動体検索・管理手段105は、移動体履歴データの位置履歴リスト3の新たな内容をセットする(図7参照)。具体的には、
時刻:t3
位置:−
状態:外出
をセットする。ここで、位置が「−」となっているのは、環境外に出たため、その位置が本システムの管理外になったことを意味する。
また、その部屋の外に出る際にお父さんが、息子によって移動された缶ジュース21を元のテーブルの上P1(x1,y1,z1)に戻すように、操作端末103を操作してロボット102に指示をする(このロボット102に対する指示については後述する)。指示を受けたロボット102が、缶ジュースの位置P2(x2,y2,z2)まで移動し、時刻t4にその缶ジュースを把持する。物品/移動体検索・管理手段105は、ロボット102の移動体履歴データ(位置履歴リスト5)の内容をセットする(図7参照)。具体的には、
時刻:t4
位置:(x2,y2,r2)
状態:[kan_small_0001]:把持
をセットする。なお、ロボット102の動作は、センシング手段120が検出してもよいし、サーバ101がロボット102からの動作情報をネットワークを介して受信することによって、検出してもよい。
次に時刻t5において、ロボット102が缶ジュース21を把持した状態でテーブルの近傍P4(x4,y4)に移動し、テーブルの上P1(x1,y1,z1)でその把持した缶ジュースを解放する。物品/移動体検索・管理手段105は、移動体履歴データの位置履歴リスト5の新たな内容をセットする(図7参照)。具体的には、
時刻:t5
位置:(x4,y4,r2)
状態:[kan_small_0001]:解放
をセットする。また、物品/移動体検索・管理手段105は、物品履歴データの位置履歴リスト1の新たな内容をセットする(図6参照)。具体的には、
時刻:t5
取扱内容:移動
取扱者:ロボット
取扱後の位置:P1(x1,y1,z1,l1,m1,n1)
しばらくして、別の移動体であるお母さんが、新たな缶ジュース22を持って部屋に入ってくる。センシング手段120がお母さんと新たな缶ジュース22とを検出すると、物品/移動体検索・管理手段105は、その新たな缶ジュース22に[kan_small_0002]というIDを割り当て、物品属性データへのポインタと対応付けて物品データに格納する。新たな缶ジュース22の物品属性データは、缶ジュース21と同じである。また、新たな缶ジュース22の移動履歴を格納するための「位置履歴リスト2」を作成する(図6参照)。この時点では位置履歴リスト2の中身はまだ空のままである。
次に時刻t6において、お母さんが新たな缶ジュース22を床の上であるP3(x3,y3,z3)に置く。これをセンシング手段120が検出すると、物品/移動体検索・管理手段105は、物品履歴データの位置履歴リスト2の内容をセットする(図6参照)。具体的には、
時刻:t6
取扱内容:新規
取扱者:お母さん
取扱後の位置:P3(x3,y3,z3,l3,m3,n3)
をセットする。なお、図7では、お母さんの移動体データおよび移動体履歴は省略している。
(環境マップと設備データベース)
図10は環境マップ108の例である。同図中、(a)は実環境の例、(b)は(a)の実環境を立体モデルで簡略化した環境マップ、(c)はさらに平面モデルで簡略化した環境マップである。
環境マップ108は、その用途や、作成にかかる時間(手間)に応じて作成すればよい。例えば、立体モデルからなる環境マップを極めて短時間で作成する必要があるときは、図10(b)のように、環境内に存在する立体物を、それを覆う最小の直方体でモデル化すればよい。図10(b)では、テーブルと本棚はそれぞれ直方体でモデル化され、ゴミ箱は略円柱でモデル化されている。平面モデルからなる環境マップも同様であり、図10(c)では、テーブルと本棚は平面に正射影した矩形領域(斜線を付した領域)でそれぞれモデル化され、ゴミ箱は円領域(斜線を付した領域)でモデル化されている。これら2つの矩形領域および円領域は、ロボット102が移動不可能な領域に設定される。さらに、図10(a)に示すような実環境をそのまま立体モデル化したものを、環境マップ108としてもよい。
図11は環境マップに付随する設備データベースの一例を示す図であり、図10の環境に対応したものである。この設備データベースは、設備データと、設備属性データとをそれぞれ蓄積する2つのサブデータベースからなる。
1)設備データ
環境それ自体、およびこの環境内の個々の設備(物品とは異なり、環境に固定または設置されたものであって、ロボットの取扱い作業の対象外となるもの)を特定するためのIDと、設備属性データへのポインタとを含む。図11では、環境(部屋)にはIDとして「room_0001」が付され、環境内に存在するテーブル、本棚およびゴミ箱にはそれぞれIDとして「table_0001」「bookshelf_0001」「trash_0001」が付されている。
2)設備属性データ
環境自体に係る設備属性データは、その環境内の床面データを含む。例えばその環境内に互いに高さの異なる複数の床面が存在するときは、その床面の数だけ床面データ(図11の床面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)を示す。例えばその面がテーブルの天板であるときは、天板から天井までの距離が上限高さであり、その面が本棚におけるある一つの棚面であるときには、その棚面から直上の棚までの距離が上限高さとなる。
設備属性データにおける「主な物品の形状」とは、その設備に収容される物品の形状である。設備の種類が本棚であれば、「本の形状」となる。つまり、その幅に比べて奥行きと高さが極端に長い直方体が本棚の主な物品の形状である。また、「主な物品の姿勢」とは、その設備に収容されるときの物品の姿勢である。設備の種類が本棚であれば、その本をどのような姿勢で本棚の棚面に載置するかであり、通常は本を立てた姿勢となる。設備属性データに「主な物品の形状と姿勢」のデータを蓄積することによって、例えば、作業ロボット102に本を本棚に移動させる作業を指定したとき、その作業ロボット102は「主な物品の形状と姿勢」データを基にして、指定された本を立てた姿勢で本棚の棚に載置することができる。
ただし、設備の種類によっては、この「主な物品の形状と姿勢」データを有しない場合がある。例えばテーブルやゴミ箱は、物品の形状や姿勢には限定がない。このため、テーブルやゴミ箱の設備属性データは、「主な物品の形状と姿勢」のデータを有しない。
<作業ロボットの構成>
作業ロボット102は、環境内で物品の取扱い作業を行う。ここでは特に、ユーザの指示に従って、環境内で物品を移動させる作業を行うものとする。
図2に示すように、ロボット102は、ロボットの近辺の障害物等を検知する障害物センサ111と、物品を把持する把持手段112と、環境マップ108を参照して移動計画を立てる移動計画作成手段113と、ロボット102自体を移動させる移動手段114とを備えている。送受信手段109は環境管理サーバ101や操作端末103との間で種々のデータの送受信を行う。制御手段115は障害物センサ111、送受信手段109,把持手段112、移動計画作成手段113および移動手段114をコントロールする。
図12はロボット102の構造の一例を示した模式図であり、このロボット102は、移動計画作成手段113や制御手段115等を収容する略箱型の本体部10を備えている。以下、図12における紙面右側を前側、左側を後側、紙面奥側を左側、紙面手前側を右側と呼ぶ。
把持手段112は、多関節アーム12aとそのアーム12aの先端に配設されたハンド12bとから構成され、本体部10の上面に取り付けられている。アーム12aおよびハンド12bは、モータ制御によるアクチュエータを用いたものとしてもよいし、その他のアクチュエータ、例えば人工筋肉によるアクチュエータを用いてもかまわない。また、本システムでは、環境内に存在する各物品に電子タグが付されているとして、把持手段112にセンシング手段120としてのリーダライタを取り付けている。これにより、把持手段112が物品を把持したときに、電子タグに書き込まれた情報を読み取り、それによって、その把持した物品が何であるかを特定することができる。なお、把持手段112に取り付けるリーダライタは省略してもよい。
移動手段114は車輪14によって構成されており、この車輪14は本体部10の左右両側にそれぞれ2つずつ取り付けられている(図例では、左側の車輪の図示を省略する)。なお、移動手段114の構成は、そのロボットが使用される環境に応じて最適な構成を選択すればよい。例えば環境の床面の起伏が激しい場合は、移動手段114をクローラ型や多足歩行型に構成することが好ましい。
障害物センサ111はここでは、超音波センサ11a、視覚センサとしてのカメラ11b、および衝突センサ11cから構成される。超音波センサ11aは、超音波を発してその反射波を受信するまでの時間を測定することによって障害物までのおおよその距離を計算し、近距離の障害物を衝突前に検知する。超音波センサ11aは本体部10の各側面(前面、後面、左右側面)に3個ずつ取り付けられている。またカメラ11bはロボット102の周囲の状況を画像として入力する。この画像に対して認識処理等を行うことによって、障害物の有無を判断したり、把持対象物品についてより正確な情報を得たりする。カメラ11bは本体部10の前部に取り付けられている。さらに衝突センサ11cは、ロボット102に所定の衝撃力が加わったことを検知する。例えば障害物がロボット102に衝突してきたり、ロボット102自体が移動中に障害物に衝突したことを、衝突センサ11cによって検知する。衝突センサ11cは本体部10の前面と後面にそれぞれ取り付けられている。
なお、本実施形態では、作業ロボット102を、車輪14によって構成された移動手段114を有する自走ロボットとしたが、作業ロボット102は、この構成に限るものではない。例えば上述したアーム12aとハンド12bとからなる把持手段112を、環境内の天井に取り付けたガイドレールに組み付けることで、作業ロボット102を構成してもよい。この構成の作業ロボット102は、上記把持手段112がガイドレールに案内されて移動することにより、指定された位置に移動することができ、それによって、環境内で指定された物品を指定された位置に移動させる作業を実行することができる。
また、作業ロボット102は、複数の把持手段112(アーム12aとハンド12bとからなるもの)を、環境内の所定の位置にそれぞれ固定設置することによって構成してもよい。この場合、生活空間内に存在する全ての物品がいずれかの把持手段112によって把持可能となるように、各把持手段112を配置する。この構成の作業ロボット102は、指定された物品を指定された位置に移動させるときには、複数の把持手段112の中から、その物品にハンド12bを届かせることのできる把持手段112を選択し、その選択した把持手段112が物品を把持すると共に、そのアーム12aとハンド12bとによって把持した物品を指定された位置に移動させるようにすればよい。なお、指定された位置が、選択した把持手段112のアーム12aの届かない位置であるときには、複数の把持手段112間で物品を手渡ししながら、指定された位置まで物品を移動させればよい。
移動計画作成手段113は、物品の移動作業やその他の作業に伴う移動が指定されたとき、ロボット102の現在位置から目的位置までの移動経路を、環境マップ108を参照して作成する。環境マップ108には、図10(c)に示すように、移動不可領域(斜線を付した領域)が設定されている。このため、この移動不可領域以外の領域で移動経路を作成すれば、障害物を回避した移動経路が作成できる。例えば図10(c)において、A1地点からA2地点までの移動の際には、ロボット102の大きさを考慮して、矢線で示すような移動不可領域を回避するルートが作成される。移動経路の作成には、最も一般的なダイクストラ法を用いればよいし、環境が複雑な場合は、ダイクストラ法を改良した経路探索アルゴリズムを用いてもよい。なお、環境が複雑すぎるため、移動経路の算出ができない、あるいは、その算出に多大な時間を要するような場合の対策として、ユーザがロボット102の移動経路を指定するモードを設けてもよい。
(ロボットの制御コマンド)
制御手段115は、主に環境管理サーバ101から送受信手段109を介して送られてきたロボット制御コマンド列を解釈し、その制御コマンドを順に実行する。
ロボット制御コマンドとは、物品の把持や、ロボット102自体の移動の制御を行うためのコマンドであり、大きくわけると主として「移動」「把持」「解放」の3種類がある。この3種類のコマンドについて簡単に説明する。
1)移動:(move,座標)または(move,設備ID)
ロボット102の現在位置から座標で指定された位置、または設備IDで指定された設備の位置まで移動するコマンドである。座標は世界座標系で指定し、現在位置から目的位置までの移動経路は移動計画作成手段113が計画する。また、設備IDで指定された設備の位置に移動するときは、その設備に対して所定の距離まで近づくような経路を作成するが、この場合、環境マップ内の設備属性データを利用する。
2)把持:(grab,物品ID)
物品IDで指定された物品を、ハンド12bによって把持するコマンドである。物品の位置は、物品DBを参照して求め、把持計画は把持手段112が作成する。
3)解放:(release)
ハンド12bを解放するコマンドである。
例えば、ある物品をある場所に移動させる作業がユーザから指示されたときは、その作業は、「(物品の位置B1への)移動」「(物品の)把持」「(移動先B2への)移動」「(物品の)開放」という4つの作業単位に分解される。この場合のロボット制御コマンド列は、
move,B1(物品が置かれている位置B1にロボットを移動する)
grab,物品ID(B1の位置にある物品を把持する)
move,B2((物品を把持した状態で)移動先であるB2に移動する)
release(把持している物品を解放する)
となる。複数の物品の移動を指示されたときは、コマンド列は、上記4つのコマンドを一組として物品の数だけ並べられ、制御手段115は、その順番に従って制御コマンドを順に実行する。
もちろん、ロボット制御コマンドはこの3種類に限られるものではなく、必要に応じて増やしてもよいことはいうまでもない。
図13は制御手段115の動作例を示すフローチャートである。制御手段115は、サーバ101から送信された制御コマンド列を送受信手段109が受信したとき、どの作業単位であるかを判定し(S2401〜S2403)、その作業単位に応じた処理を実行する。
まず、作業単位が「移動」のときは(S2401でYES)、指定された位置までの経路を移動計画作成手段113に作成させる(S2404)。そして、移動計画作成手段113によって作成されて経路に応じて移動制御コマンドを移動手段114に送り、指定された位置までの移動処理を実行する(S2405)。
また、作業単位が「把持」のときは(S2402でYES)、障害物センサ111によって把持対象物品の姿勢を検出する(S2406)とともに、その検出結果に応じてアーム12aとハンド12bの動作を計算する(S2407)。そして、把持制御コマンドを把持手段112に送り、物品の把持処理を実行する(S2408)。なお、ステップS2406において、物品の姿勢は環境管理サーバ101の物品DB106に記録されているので、サーバ101に物品の姿勢を問い合わせるようにしてもよい。
また、作業単位が「解放」のときは(S2403でYES)、指定された移動先に物品が設置されるようにアーム12aとハンド12bの動作を計算する(S2409)。そして、解放制御コマンドを把持手段112に送り、物品の解放処理を実行する(S2410)。
移動、把持および解放の各動作が終了したとき、その旨をメッセージとして作業指示元であるサーバ101に送信する(S2411)。このようにして、操作端末103によって指示された作業内容が、ロボット102によって実行される。
<操作端末の構成>
操作端末103は、本システムにおけるユーザインタフェースであり、ユーザが、ロボット102に対して物品の取扱い作業を指示したり、物品に関する問合せをしたりするために操作する端末である。
図2に示すように、操作端末103は、操作画面を表示する、例えばCRTや液晶ディスプレイからなる表示部117と、操作画面上でロボット102に対して作業内容を指示するための例えばポインティングデバイスからなる入力部116と、表示部117に表示される操作画面の作成等の表示制御を行う表示制御手段118とを備えている。送受信手段109は入力部116に入力されたロボット102の作業内容や問合せ内容をサーバ101に送るとともに、問合せに対する回答をサーバ101から受信する。制御手段119は送受信手段109、入力部116、表示部117および表示制御手段118をコントロールする。
この操作端末103としては、例えば汎用PCを用いることも可能である。この場合、各処理を実行させる制御プログラムをPCに読み込ませることによって、操作端末103として用いることが可能になる。
表示制御手段118は、サーバ101から送信された情報、具体的には、センシング手段120としてのカメラが環境内を撮像した画像のデータ、物品/移動体データベース106に蓄積されたデータ、環境マップ108に基づいて、操作画面を作成する。作成された操作画面は、表示部117に表示される。
(操作モード)
本システムは、ロボットに実行させる作業内容をユーザに指定させる操作モードをいくつか備えており、各操作モードは、ユーザが入力部116を操作することによって切り替えられる。ここでは、操作モードの一例として、「仮想空間操作モード」について説明する。
図14は仮想空間操作モードにおいて操作端末103の表示部117に表示される操作画面の一例である。この操作画面は、実環境に則した仮想空間によって構成されている。この仮想空間は、環境内に設置されたカメラ(図示省略)によって撮像された画像データに基づいて作成される。
また図14の操作画面は、カーソル(ポインタ)と、環境内に存在する物品に対応して仮想空間内に配置される物品アイコンとを有している。具体的には、空き缶(kan_small_0001)、レモン(lemon_small_0001)、手帳(note_small_0001)、バナナ(banana_small_0001)、および紙くず(trash_small_0001)の各アイコンが含まれている。なお、仮想空間操作モードでは、操作画面上で物品アイコンとされるものは、ロボット102が取扱い可能な物品であり、家具等の設備は、操作画面上には表示されるが、物品アイコンとはならない。。
この操作画面では、ユーザは、操作端末103の入力部116の操作によって操作画面内のカーソルを操作し、それによってロボット102に実行させる作業内容を指定する。ロボット102に物品の移動作業を実行させる場合は、所望の物品アイコンと、仮想空間内の所望の場所とを指定する操作を行う。この操作画面では、各物品アイコンは、いわゆるドラッグ操作によって、仮想空間内を移動可能に構成されている。このため、カーソルによって仮想空間内の所望の物品アイコンを指定するとともに、その指定した物品アイコンを、仮想空間内の所望の移動先にドラッグアンドドロップ操作する。これにより、物品とその物品の移動先とが指定されることになる。
図14の矢線は、空き缶アイコン(kan_small_0001)をリサイクル用ゴミ箱531に、レモンアイコン(lemon_small_0001)、手帳アイコン(note_small_0001)およびバナナアイコン(banana_small_0001)をテーブル551に、紙くずアイコン(trash_small_0001)を一般用ゴミ箱541にそれぞれ移動させる場合の、ドラッグアンドドロップ操作を示している。
ここでの操作画面を構成する仮想空間は、カメラが撮像した画像データであるため、画像データのどの領域が物品アイコンに対応するかを特定する必要がある。そこで、操作画面は、仮想空間を構成する画像データに加えて、画像データに1対1に対応し、かつ、仮想空間内における物品アイコンの位置を特定する画面マスクデータを有している。
画面マスクデータには、操作画面上で物品アイコンが配置される領域に対応してマスクデータが設定されており、操作画面上でカーソルによって物品アイコンの位置(座標値)が指定されると、画面マスクデータにおいて同じ座標値が参照され、これにより、その指定された領域が物品(物品アイコン)であるか否かが判断される。また、画面マスクデータにおけるマスクデータの座標には、物品データベースの物品データ(図6参照)へのポインタが記載されており、物品アイコンが指定されているときには、その座標に記載されたポインタをキーとして物品データを参照し、それによって、操作画面上でカーソルが指している物品アイコンが、どの物品を表しているかを特定する。この画面マスクデータは、背景差分画像によって作成することができる。なぜなら、背景差分画像では、カメラが撮像した画像における物品の位置が特定されるためである。
そして、操作画面上で、物品アイコンのドラッグアンドドロップ操作によって当該物品の移動作業が指定されたとき、操作端末103から環境管理サーバ101にその作業内容のメッセージが送信される。このメッセージには、少なくとも、作業内容が物品の移動作業である旨と、移動対象となる物品の情報と、移動先の座標とを含めればよい。
サーバ101はメッセージを受信したとき、物品データベースを参照して、そのメッセージ内容に従ってロボット制御コマンド列を生成し、生成したロボット制御コマンド列をロボット102に送信する。ロボット102の制御手段115は、図13に示すフローチャートに従って制御コマンドを実行する。その結果、この作業ロボット102は、操作画面上で指定された物品を、仮想空間内で指定された場所に移動する移動作業を実行する。
このように、仮想空間操作モードでは、操作端末103の表示部117に表示される操作画面が、実環境に則した仮想空間によって構成されるとともに、仮想空間内の物品アイコンを、その仮想空間内の所望の移動先にドラッグアンドドロップ操作するという、直感的な操作によって、物品の移動作業を指定することができる。このため、ユーザは、極めて容易にロボットに実行させる作業内容を指定することができる。もちろん、操作モードは、ここで説明した仮想空間操作モードに限られるものではない。
すなわち、本実施形態では、操作端末が、所定の生活空間を表す画像を表示部に表示し、ユーザが操作端末から、画像に含まれた物品に対する操作の指示を行い、操作端末から送信されたユーザの指示を、サーバが、物品データベースを参照して、ロボットが実行可能な制御コマンドに変換し、ロボットに送信する。このような物品操作方法によって、ユーザは、生活空間の複雑な状況において、生活支援ロボットに的確な動作を、容易に実行させることができる。
また、本実施形態では、操作端末が、所定の生活空間を表す画像を表示部に表示し、ユーザが操作端末から、画像に含まれた物品に対する問合せを行い、操作端末から送信されたユーザの問合せを受けて、サーバが、物品データベースを参照して、ユーザに提供するための情報を生成し、操作端末に送信する。このような物品管理方法によって、ユーザは、生活空間の複雑な状況において、物品についての的確な情報を、容易に取得できる。
−発明の効果−
以上のように本発明によると、物品がいろいろな場所に置かれ、しかもその位置が刻々と変化する、といった生活空間の複雑な状況において、生活支援ロボットに的確な動作を実行させることができ、また、ユーザに、物品についての的確な情報を提供できる。したがって、人間の物品操作や物品管理作業を、支援することができる。
(第2の実施形態)
ここでの本発明は、その目的とするところは、一般家庭、オフィス、ホテル、店舗及び病院等の、人が活動を行う生活空間内でロボットに物品の取扱い作業を実行させる非産業用の物品取扱いシステムにおいて、その生活空間内の状況を的確にユーザに提示すると共に、上記ロボットに実行させる作業内容を容易に指定可能にすることにある。
本発明による物品取扱いシステムは、所定の生活空間内に存在する物品の取扱い作業を行うロボットと、操作画面を表示する表示部及びユーザが操作をする入力部を有する操作手段とを備え、上記表示部に、上記生活空間の実状況に則した仮想空間からなる操作画面を表示し、ユーザに上記入力部を操作させることによって、上記仮想空間内でロボットに行わせる作業内容を指定させ、上記指定された作業内容に基づいて、上記ロボットが上記生活空間内で物品の取扱い作業を実行するものである。
この構成によると、操作手段の表示部には操作画面が表示される。この表示部に表示される操作画面は生活空間の実状況に則した仮想空間からなる。ここで、仮想空間が生活空間の実状況に則しているとは、仮想空間の状況と生活空間の実状況とが互いに一致していることである。ユーザは入力部を操作することによって、上記操作画面の仮想空間内で、ロボットに実行させる作業内容を指定する。こうして、作業内容が指定されれば、上記ロボットは、その作業内容に基づいて生活空間内で物品の取扱い作業を実行する。
このように本発明では、操作画面が生活空間の実状況に則した仮想空間によって構成されている。このため、一般家庭等、生活空間の実状況は、工場や倉庫の状況よりも複雑であるが、その複雑な状況がそのまま操作画面として表示される。例えば、生活空間内では物品の配置は定まっていないが、その生活空間内の物品の配置に対応して、仮想空間内にも物品が配置される。こうして、複雑な生活空間内の状況が的確にかつ分かりやすくユーザに提示される。
さらに本発明では、ロボットの作業内容は、この仮想空間内で指定する。このことで、複雑な状況下の生活空間内におけるロボットの作業内容を、容易に指定可能になる。
すなわち、ここでの態様1では、所定の生活空間内に存在する物品の取扱い作業を行うロボットと、操作画面を表示する表示部及びユーザが操作をする入力部を有する操作手段とを備え、上記表示部に、上記生活空間の実状況に則した仮想空間からなる操作画面を表示し、ユーザに上記入力部を操作させることによって、上記仮想空間内でロボットに行わせる作業内容を指定させ、上記指定された作業内容に基づいて、上記ロボットが上記生活空間内で物品の取扱い作業を実行することを特徴とする物品取扱いシステムを提供する。
態様2では、態様1において、ロボットが実行する作業は、生活空間内での物品の移動作業であることを特徴とする。
態様3では、態様2において、操作画面は、生活空間内に存在する物品に対応して仮想空間内に配置される物品アイコンを有し、物品の移動作業は、上記物品アイコンの操作によって指定されることを特徴とする。
態様4では、態様3において、物品の移動作業は、所望の物品アイコンを仮想空間内の所望の移動先にドラッグアンドドロップ操作することによって指定されることを特徴とする。
態様5では、態様1において、生活空間を撮像する撮像手段をさらに備え、 操作画面の仮想空間は、上記撮像手段が撮像した画像のデータによって構成されることを特徴とする。
態様6では、態様5において、操作画面は、仮想空間を構成する画像のデータと、生活空間内に存在する物品に対応して仮想空間内に配置される物品アイコンと、上記画像のデータに対応する座標値を有しかつ、上記仮想空間内における物品アイコンの位置を特定する画面マスクデータとから構成されることを特徴とする。
態様7では、態様6において、生活空間内に存在する物品の、その生活空間内における位置を検出するセンシング手段をさらに備え、画面マスクデータは、上記センシング手段により検出された物品の位置に基づいて作成されることを特徴とする。
態様8では、態様1において、操作画面は、生活空間内に存在する物品に対応して仮想空間内に配置される物品アイコンと、ポインタとを有し、上記操作画面上で上記ポインタが、ロボットの取扱い可能な物品に対応する物品アイコンを指しているときには、その物品アイコンを強調表示することを特徴とする。
態様9では、態様1において、操作画面は、生活空間内に存在する物品に対応して仮想空間内に配置される物品アイコンと、ポインタとを有し、上記操作画面上で上記ポインタが、ロボットの取扱い可能な物品に対応する物品アイコンを指しているときには、その物品に関する情報を表示することを特徴とする。
態様10では、態様1において、操作画面は、生活空間内に存在する物品に対応して仮想空間内に配置される物品アイコンを有し、上記操作画面上で物品アイコンが指定されることによりロボットの作業対象となる物品が指定されたときには、その物品アイコンを強調表示することを特徴とする。
態様11では、態様1において、操作画面を構成する仮想空間は、その視点が切り替え可能であることを特徴とする。
態様12では、所定の生活空間内に存在する物品の取扱い作業を行うロボットの作業内容を指定するためのロボット操作装置として、操作画面を表示する表示部と、ユーザが操作をする入力部とを備え、上記表示部に、上記生活空間の実状況に則した仮想空間からなる操作画面を表示し、ユーザに上記入力部を操作させることによって、上記仮想空間内でロボットに行わせる作業内容を指定させるものを提供する。
態様13では、所定の生活空間内に存在する物品の移動作業を行うロボットを用いた物品取扱い方法として、上記生活空間の実状況に則した仮想空間からなり、その生活空間内に存在する物品に対応して上記仮想空間内に配置される物品アイコンを有する操作画面を表示するステップと、上記操作画面上で、所望の物品アイコンを指定するステップと、上記指定した物品アイコンを、上記仮想空間内の所望の移動先にドラッグアンドドロップ操作するステップと、上記生活空間内で上記ロボットが、上記指定された物品アイコンに対応する物品を、仮想空間内で指定された移動先に対応する位置に移動するステップとを含むものを提供する。
態様14では、態様13において、操作画面を構成する仮想空間の視点を切り替えるステップをさらに含むことを特徴とする。
本発明の第2の実施形態は、生活空間において、その空間内に存在する物品の取扱い作業を作業ロボットに実行させる物品取扱いシステムに関するものである。本実施形態では、一般家庭等の建物内のある一つの部屋を、物品取扱いシステムの対象空間(以下これを環境と呼ぶ)とする。また、作業ロボットが実行する物品の取扱い作業としては種々の作業が考えられるが、本実施形態では、作業ロボットは、ユーザによって指定された物品を、指定された位置に移動させる移動作業を実行するものとする。
本実施形態に係るシステムの構成は、第1の実施形態で示した図2と同様である。第1の実施形態と共通の構成要素については、ここではその詳細な説明は省略する。
まず、表示制御手段118 で作成されて表示部117 に表示される操作画面について説明する。図15は、操作画面の一例を示しており、この操作画面は、環境の実状況に則した仮想空間によって構成されている。
また、上記仮想空間は、互いに異なる複数の視点を有しており、本実施形態では、図15(a)に示すように、仮想空間を略水平方向に見る視点と、図15(b)に示すように、仮想空間を見下ろす視点との2つの視点を有している。操作画面を構成する仮想空間の視点は、ユーザが操作端末103 を操作することによって切り替えられる。
上記操作画面を構成するこれらの仮想空間は、環境内に設置されたカメラ(図示省略)によって撮像された画像データに基づいて作成される。このように、カメラ画像によって仮想空間の視点を複数にするには、例えば次のような手法が挙げられる。
一つは、環境内に、複数のカメラを設置することで、各カメラが撮像した画像データによって仮想空間を構成するものである。例えば、環境(部屋)の側壁と天井とのそれぞれにカメラを設置して、側壁に設置したカメラが撮像した画像データによって、図15(a)に示す視点の仮想空間を構成する一方、天井に設置したカメラが撮像した画像データによって、図15(b)に示す視点の仮想空間を構成するようにしてもよい。
もう一つは、環境内の適当な場所に少なくとも一つのカメラを設置し、そのカメラ画像を変形合成することによって、任意の視点からの画像(仮想空間)を作成するものである。このようなカメラ画像を用いて任意の仮想的な視点から見た画像を合成する手法は、特許第3286306号公報に記載されているため、ここではその詳細な説明は省略する。
本実施形態では、環境内の側壁に、センシング手段120 として設置されたカメラが撮像した画像データ(以下これをカメラ視点画像ともいう)によって、図15(a)に示す仮想空間を構成する一方、上記カメラが撮像した画像データを変形合成した画像データ(以下これを仮想視点画像ともいう)によって、図15(b)に示す仮想空間を構成することとする。このように、操作画面を構成する仮想空間が有する視点の数と、その仮想空間を構成する画像データを撮像するカメラ視点の数とは一致させる必要はない。
上記操作画面はまた、カーソル(ポインタ)と、環境内に存在する物品に対応して仮想空間内に配置される物品アイコン(図15では、バナナが物品アイコンである)とを有している。この物品アイコンは、ユーザが物品であることを認識可能なものであればよく、例えば物品をアニメーション化(イラストレーション化)したアイコンで構成したり、物品を撮像したカメラ画像からその物品の部分を自動又は手動で切り出した画像で構成したりすればよい。
ユーザは、操作端末103 の入力部116 の操作によって操作画面内のカーソルを操作し、それによるアイコン操作によってロボットに実行させる作業内容を指定するように構成されている。操作画面上で作業内容を指定する手順については後述するが、本実施形態では、上記物品アイコンは、いわゆるドラッグ操作によって操作画面を構成する仮想空間内を移動させることが可能に構成されており、ロボット102 に物品の移動作業を実行させる場合は、上記カーソルによって仮想空間内の所望の物品アイコンを指定すると共に、仮想空間内の所望の移動先を上記カーソルによって指定することで、移動作業の指定がなされる。尚、環境内に存在する家具等の設備は操作画面上に表示されるものの、これらは物品アイコンとはならない。操作画面上で物品アイコンとされるものは、ロボット102 が取扱い可能な物品である。
ここで、操作画面を構成する仮想空間は、上述したように、カメラが撮像した画像データ、又はその画像データを変形合成した画像データであるため、その画像データのどの領域が物品アイコンに対応するかを特定する必要がある。そこで、上記操作画面は、仮想空間を構成する上記画像データ(及び変形合成した画像データ)に加えて、仮想空間内における物品アイコンの位置を特定する画面マスクデータを有している。この画面マスクデータは、上記画像データ(仮想空間)に1対1に対応するものである。ここで、「1対1に対応する」とは、両データの座標値が対応しているという意味である。
図15には、仮想空間(操作画面)を構成する画像のデータに1対1に対応した画面マスクデータの例を示す。この画面マスクデータには、操作画面上で物品アイコンが配置される領域に対応して、マスクデータ(同図の網掛け部分参照)が設定されており、このマスクデータの座標には物品データベースの物品データ(図6参照)へのポインタが記載されている。このポインタは、その物品アイコンに係る物品に対応するものであり、これにより、操作画面に含まれる各物品アイコンが、どの物品を表しているかが判断可能になる。
そして、仮想空間からなる操作画面上で、カーソルによって物品アイコンの位置(座標値)を指定すると、画面マスクデータにおいて同じ座標値を参照し、これにより、その指定された領域が物品(物品アイコン)であるか否かが判断される。これと共に、物品アイコンの位置が指定されているときには、その座標に記載されたポインタをキーとして物品データを参照し、それによって、操作画面上でカーソルが指している物品アイコンが、どの物品を表しているかを特定する。
操作画面を構成する仮想空間を、センシング手段120 としてのカメラが撮像した画像(図15(a)参照)によって構成する場合は、背景差分画像によって、その仮想空間に1対1に対応する画面マスクデータを作成することができる。なぜなら、この背景差分画像では、カメラが撮像した画像における物品の位置が特定されるためである。
一方、操作画面を構成する仮想空間を、カメラ画像を変形合成した画像、言い換えると仮想視点画像(図15(b)参照)によって構成する場合は、それに1対1に対応する画面マスクデータは、次のようにして作成すればよい。
図16は仮想視点画像によって構成される操作画面の画像マスクデータを作成するための説明図である。図16(b)において、Owを原点としX軸、Y軸、Z軸で構成された座標系は実世界座標系である。この座標系において、仮想視点(この仮想視点は環境の天井に対応する)の位置を(x1,y1,z1)で表す。また仮想視点Oeを原点とする仮想視点座標系を設定する。また、図16(a)に示す座標値(x ,y ,z )は、センシング手段120 によって検出された物品を構成する領域内の任意の1点の実世界座標系における座標値である。さらに図15(b)に示す座標値(u ,v)は、上記座標値(x ,y ,z )を仮想視点画像からなる操作画面上に変換したときの座標値である。次式(1),(2),(3)はそれぞれ、変換のための式である。
ここで式(1)におけるRは、仮想視点座標系を構成する3つの軸周りの回転行列であり、この行列に仮想視点座標系における座標値を乗じることにより、その座標値が実世界座標系における座標値に変換されるように、回転行列の値が設定されている。また式(2),(3)におけるfは仮想視点の焦点距離を示す。
さて、仮想視点画像によって構成される操作画面の画面マスクデータの作成を、具体的な処理として言い換えると、センシング手段120 によって得られた物品の占める領域を、仮想視点で見たときに物品の占める領域に変換し、その領域を操作画面上の座標値に変換して、それをマスクデータとするということである。これはすなわち、
1)実世界座標系の座標値で表された物品領域の点(x ,y ,z )を、式(1)によって仮想視点座標系における座標値(xe,ye,ze)に変換し、
2)上記変換された座標値(xe,ye,ze)を、式(2),(3)によって仮想視点画像からなる操作画面の座標値(u ,v )に変換する
という計算を、実世界座標系の座標値で表された物品領域の全ての点に対して行うことに他ならない。
上記変換により仮想視点画像からなる操作画面の画面マスクデータを作成することができるが、より正確なマスクデータを作成するには、2)で得られた(u ,v)の座標値をプロットし、それらを囲む最小の多角形領域をマスクデータとしてもかまわない。
尚、本実施形態では、操作端末103 の表示制御手段118 が、操作画面を作成するとしたが、こうした操作画面は、環境管理サーバ101 が作成してもよい。この場合、サーバ101 が作成した操作画面は、ネットワークを介して操作端末103 に送信し、操作端末103 は、受信した操作画面を表示部117 に表示すればよい。また、入力部116 の操作によって、仮想空間の視点の切り替え操作がされたときには、操作端末103 からサーバ101 に、視点切り替え要求信号を送信し、それに応じて上記サーバ101 が視点を切り替えた操作画面を作成し、これを操作端末103 に送信するようにすればよい。
−ロボットの作業内容の指定手順−
次に、操作端末103 の表示部117 に表示される操作画面上で、ロボット102 に実行させる物品の移動作業を指定する手順について、2つの例を挙げて具体的に説明する。
先ず、図17を参照しながら、部屋の床のB1位置に置かれているバナナを、テーブルの手前側であるB2位置に移動させる場合を例に、ロボット102 の移動作業の指定手順を説明する。
この移動操作の指定は、操作画面上で、バナナ(物品アイコン)を選択する操作と、この選択したバナナアイコンを、仮想空間内の所望の移動先に移動(ドラッグ)させると共に、その移動先位置でバナナアイコンをドロップする、というアイコンのドラッグアンドドロップ操作によって行われる。
(操作画面の表示ステップ:P1001)
操作端末103 の表示部117 には、操作画面が表示される。ここでは、操作画面を構成する仮想空間を、カメラが撮像したカメラ視点画像によって構成している。この仮想空間は部屋の実状況に則しているため、操作画面には、部屋内に存在する設備(テーブル等)が表示される。また、部屋内に存在する物品(バナナ等)は、物品アイコンとして仮想空間内に配置されている。
ユーザは、操作端末103 の入力部116 を操作することにより、操作画面上でカーソルを移動させることができる。このカーソルが物品アイコンを指しているときには、その物品アイコンを強調表示する。具体的に、カーソルがバナナアイコンを指しているときには、そのバナナアイコンの色を変える、また、図19(a)に示すように、バナナアイコンの輪郭を強調して表示する、さらに、図19(b)に示すように、物品アイコンに対応する物品の名称として、「バナナ」の文字をポップアップ表示する。一方、上記カーソルがテーブル等の設備を指していても、これらは物品アイコンではないため強調表示はされない。こうすることでユーザは、操作画面上で、例えばバナナがロボット102 の取扱い可能な物品であることを認識することができ、ロボットの作業内容の指定が容易になる。その結果、ユーザの利便性が向上する。
尚、物品の名称をポップアップ表示する場合は、その物品に関する他の情報を併せて表示するようにしてもよい。例えば、その物品が食料品であれば、賞味期限や品質保持期限、購入年月日等の情報をポップアップ表示してもよい。こうすることで、ユーザは、その情報に応じてロボットに対する作業内容を指定することができる(例えばその物品の移動場所を変える等)。また、その物品に関する情報の内容に応じて、その物品に対するお勧めの作業内容をポップアップ表示してもよい。例えばカーソルが指している物品アイコン(物品)が、賞味期限切れ間近の食料品であるときには、「当該物品を冷蔵庫内に移動させる」旨の作業内容をポップアップ表示する、等である。
また、カーソルが物品アイコンを指しているときに、物品の領域の色を変えたり、物品の領域の輪郭を強調して表示するだけでなく、その物品を拡大表示するようにしてもよい。また、カーソルが物品アイコンを指しているときには、例えば「○○があります」というように、その物品の名称を音声でユーザに報知してもよい。こうすることで、目の不自由なユーザにも使いやすいシステムとなる。
また、ここでは物品アイコンの表示形態をかえるようにしているが、例えばカーソルが物品アイコンを指しているときには、そのカーソルの形態を変えるようにしてもよい。こうすることでも、そのカーソルが指している物品アイコンが、ロボットが取扱い可能な物品であることを、ユーザに認識させることが可能になる。
さらに、ここでは、カーソルが物品アイコンを指しているときに、物品アイコンを強調表示するようにしているが、例えば、仮想空間内に配置されている全ての物品アイコンを所定時間だけ強調表示してもよい。特に、ユーザが操作画面における操作を開始する際に、全ての物品アイコンを所定時間だけ強調表示してもよいし、ユーザの要求操作に応じて、全ての物品アイコンを所定時間だけ強調表示してもよい。こうすることで、ユーザは、仮想空間内の物品アイコン、つまり、ロボット102 が取扱い可能な物品が、環境内のどこに置かれているかを一目で確認することができる。
(物品の指定操作ステップ:P1002)
ロボット102 に移動させる物品は、カーソルをその物品アイコンの位置に移動させて、その物品アイコンをクリック操作することによって指定する。この物品アイコンの指定操作がされたときには、「対象物品はバナナでよろしいですか?」等の確認を促す表示を行い、ユーザに「OK/キャンセル」の操作を行わせるようにしてもよい。
こうして物品アイコンが指定されれば、そのことを明確にするために、その物品アイコンを強調表示する。この強調表示としては種々の表示形態が考えられるが、例えば、図17に示すように、物品アイコンの色を変える、そのアイコンを塗りつぶす等の、その物品が指定されていることが一目で判るような形態であればどのような表示形態でもよい。但し、対象物品を指定したときの強調表示の形態は、カーソルが物品アイコンを指しているときに行う強調表示とは異ならせることが好ましい。これは、その物品がロボット102 の取扱い可能な物品であることと、その物品がロボット102 の作業対象として指定されたこととを区別するためである。
(移動先指定ステップ:P1003)
ロボット102 に移動させる物品を指定すれば、その物品の移動先を指定する。この移動先の指定は、図17に示すように、カーソルの操作により、物品アイコンを仮想空間内の所望の移動先(ここではテーブルの手前側のB2位置)に、ドラッグアンドドロップ操作することによって行う(同図の矢線参照)。この操作が行われたときには、「移動先はここでよろしいですか?」等の確認表示を行ってもよい。「ここ」には具体的な移動先名を明示してもよいし、その場所を強調してもよい。こうして、ユーザによる移動作業の指定が完了することになる。
このように、物品の移動作業は、環境内に存在する物品に対応して仮想空間内に配置される物品アイコンを、その仮想空間内の所望の移動先にドラッグアンドドロップ操作するという、直感的な操作によって指定されるため、ユーザは、極めて容易にロボットに実行させる作業内容を指定することができる。
次に、図18を参照しながら、部屋の床のB1位置に置かれているバナナを、テーブルの奥側であるB2位置に移動させる場合を例に、ロボット102 の移動作業の指定手順を説明する。
(操作画面の表示ステップ:P2001)
操作画面の表示ステップは、上記のP1001と同様であり、カメラ視点画像によって構成された仮想空間からなる操作画面が、操作端末103 の表示部117 に表示される。
(物品の指定操作ステップ:P2002)
物品の指定操作ステップも、上記のP1002と同様であり、物品アイコンをクリック操作することによってロボット102 に移動させる物品を指定する。これにより、指定された物品アイコンは強調表示される。
(視点切り替えステップ:P2003)
ロボット102 に移動させる物品を指定すれば、その物品の移動先を指定する。ここで、本例では、移動先がテーブルの奥側であるB2位置であり、カメラ視点画像からなる操作画面にはB2位置が表示されていない。そこで、操作画面を構成する仮想空間の視点を切り替える。
視点の切り替え時には、図18に示すように、操作画面に視点位置にカメラアイコンが表示される。ユーザは、このカメラアイコンをクリック操作することによって、操作画面を構成する仮想空間の視点を切り替えることが可能である。尚、ここでは、仮想空間の視点が2つであるため、カメラアイコンは一つしか表示されないが、仮想空間の視点が3以上であるときには、各視点位置に対応して、複数のカメラアイコンを操作画面に表示すればよい。
(移動先指定ステップ:P2004)
仮想空間の視点を切り替えることにより、操作画面を構成する仮想空間は、カメラ画像を変形合成した仮想視点画像に切り替わる。そして、この新たな操作画面において、カーソルの操作により、物品アイコンを仮想空間内の所望の移動先(ここではテーブルの奥側のB2位置)に、ドラッグアンドドロップ操作する(同図の矢線参照)。こうして、ユーザによる移動作業の指定が完了することになる。
このように、操作画面を構成する仮想空間の視点が複数あることで、ある視点では死角になるときでも、視点を切り替えることでそれが解消される。こうして、一般家庭等の生活空間では、設備の配置や物品の置かれる位置の自由度が高く、カメラ画像に死角が生じやすいが、ユーザは、ロボットに実行させる作業内容を仮想空間からなる操作画面上で的確に指定することができる。
−ロボットの作業内容の実行制御−
以上のようにして、ユーザが操作端末103 を操作することにより、ロボット102 に実行させる作業内容が指定されれば、操作端末103 は環境管理サーバ101 にその作業内容のメッセージを送信する。このメッセージには、少なくとも、作業内容が物品の移動作業である旨と、移動対象となる物品の情報と、移動先の座標とを含めればよい。尚、操作端末103 からサーバ101 に送信する移動先の座標は、操作画面上の座標でもよいし、操作画面上の座標を環境の実世界座標に変換した座標でもよい。
上記サーバ101 はメッセージを受信したときには、そのメッセージ内容に従ってロボット制御コマンド列を生成し、生成したロボット制御コマンド列を上記ロボット102 に送信する。物品の移動作業は、「(物品の位置への)移動」、「(物品の)把持」、「(移動先への)移動」、「(物品の)開放」という4つの作業単位に分解される。従って、上記の例では、ロボット制御コマンド列は、
move,B1(バナナが置かれている位置B1にロボットを移動する)
grab,バナナ(B1の位置にあるバナナを把持する)
move,B2((バナナを把持した状態で)移動先であるB2に移動する)
release(把持しているバナナを解放する)
となる。尚、複数の物品の移動が指定されたときには、コマンド列は、上記4つの作業単位を一組として、物品の数だけ並べる。
作業ロボット102の制御手段115の動作例は、第1の実施形態の図13に示すとおりであり、ここでは説明を省略する。
こうして、操作端末103 で指定した作業内容が、ロボット102 によって実行され、位置B1に置かれたバナナが、位置B2に移動されることとなる。
上記ロボット102 が動作をしているときには、操作端末103 の表示部117 に表示される操作画面をカメラ画像と連動させることで、そのロボット102 が作業をしている様子を操作画面において映し出すようにしてもよい。こうすることで、ユーザは、指定した作業内容がロボット102 によって実行されているか否かを操作画面上で確認することができ、例えばロボット102 が間違った作業をしているときには、その作業をすぐに中止させることも可能になる。
これに対し、ロボット102 が動作をしているときには、上記操作画面をロボット102 の動作開始前のカメラ画像で固定してもよい。こうすることで、新たな作業を指定しようとしても、操作画面内でロボット102 が動作していると指定操作がし難くなる場合があるが、それが解消される。
これらの表示形態の切り替えは、ユーザの指定に応じて切り替えればよい。また、ロボット102 が動作をしているときには、カメラ画像と連動した操作画面の変更頻度を調節可能にしてもよい。
以上説明したように、本発明による物品取扱いシステムは、所定の生活空間(環境)内に存在する物品の取扱い作業を行うロボット102 と、操作画面を表示する表示部117 及びユーザが操作をする入力部116 を有する操作手段(操作端末103 )とを備え、上記表示部117 に、上記生活空間の実状況に則した仮想空間からなる操作画面を表示し、ユーザに上記入力部116 を操作させることによって、上記仮想空間内でロボット102 に行わせる作業内容を指定させ、上記指定された作業内容に基づいて、上記ロボット102 が上記生活空間内で物品の取扱い作業を実行するものである。
このように本発明では、操作画面が生活空間の実状況に則した仮想空間によって構成されている。このため、一般家庭等、生活空間の実状況は、工場や倉庫の状況よりも複雑であるが、その複雑な状況がそのまま操作画面として表示される。例えば、生活空間内では物品の配置は定まっていないが、その生活空間内の物品の配置に対応して、仮想空間内にも物品が配置される。こうして、複雑な生活空間内の状況が的確にかつ分かりやすくユーザに提示される。
さらに本発明では、ロボット102 の作業内容は、この仮想空間内で指定する。このことで、複雑な状況下の生活空間内におけるロボット102 の作業内容を、容易に指定可能になる。
また、ロボットが実行する作業が、生活空間内での物品の移動作業であるときに、本発明による物品取扱いシステムでは、操作画面を、生活空間内に存在する物品に対応して仮想空間内に配置される物品アイコンを有するものとして、物品の移動作業を、上記物品アイコンの操作によって指定する。
このように、生活空間に存在する物品に対応して物品アイコンを仮想空間内に配置することにより、生活空間内で様々な位置に置かれる物品の中から、ロボットに移動させる物品を容易に指定することが可能になる。また、物品アイコンの操作によってロボット102 の作業内容を指定することで、的確かつ容易に作業内容を指定可能になる。
また、本発明による物品取扱いシステムでは、物品の移動作業を、所望の物品アイコンを上記仮想空間内の所望の移動先にドラッグアンドドロップ操作することによって指定する。このためユーザは、物品の移動作業を指定するときには、操作画面の仮想空間内に配置される物品アイコンの中から、所望の物品アイコンを選択すると共に、その選択した物品アイコンを、仮想空間内の所望の移動先にドラッグアンドドロップ操作することになる。この操作によってロボット102 は、指定された物品アイコンに対応する物品を、仮想空間内で指定された移動先に対応する生活空間内の位置に移動させる作業を行うことになる。
このように、指定した物品アイコンを、仮想空間内の所望の移動先にドラッグアンドドロップ操作するという、直感的な操作によって物品の移動作業が指定されるため、ロボット102 に実行させる作業内容を極めて容易に指定可能になる。
また、本発明による物品取扱いシステムは、生活空間を撮像する撮像手段(センシング手段120 としてのカメラ)をさらに備えており、操作画面の仮想空間は、上記撮像手段が撮像した画像のデータによって構成される。
こうすることで、生活空間の実状況に則した仮想空間を簡便に作成可能になる。尚、仮想空間は、例えばコンピュータグラフィックスによって構成してもよい。
さらに、本発明による物品取扱いシステムでは、操作画面を、仮想空間を構成する画像のデータと、生活空間内に存在する物品に対応して仮想空間内に配置される物品アイコンと、上記画像のデータに対応する座標値を有しかつ、上記仮想空間内における物品アイコンの位置を特定する画面マスクデータとから構成する。
すなわち、仮想空間を画像のデータによって構成したときに、操作画面上で物品アイコンを操作するには、その画像のどの領域が物品アイコンに対応するかを特定する必要がある。このため、画像のデータと、物品アイコンと、画面マスクデータとから操作画面を構成することにより、画面マスクデータによって、仮想空間内における物品アイコンの位置が特定され、その結果、画像データから構成される操作画面上で物品アイコンを操作することが可能になる。
本発明による物品取扱いシステムは、生活空間内に存在する物品の、その生活空間内における位置を検出するセンシング手段120 をさらに備えている。そして、画面マスクデータは、上記センシング手段120 により検出された物品の位置に基づいて作成される。
センシング手段120 によって生活空間内に存在する物品の位置を検出すれば、その検出した位置に対応する仮想空間内の位置が特定されるため、仮想空間内における物品アイコンの位置を特定する画面マスクデータが作成可能になる。
本発明による物品取扱いシステムのように、一般家庭等の生活空間を対象とするシステムでは、その生活空間内には種々の物品が存在する。例えばその空間に固定・設置された固定・設置物等も物品である。しかしながら、こうした固定・設置物等は、ロボット102 によって移動させることができない。このように、生活空間内に存在する物品は、ロボット102 が取扱い可能な物品と、取扱い不可能な物品とに分けることができるが、仮想空間からなる操作画面には、ロボット102 が取扱い可能な物品と、取扱い不可能な物品との双方が表示される。
そこで、本発明による物品取扱いシステムでは、操作画面上でポインタ(カーソル)が、ロボット102 の取扱い可能な物品に対応する物品アイコンを指しているときには、その物品アイコンを強調表示する、又は、その物品に関する情報を表示する。
こうすることでユーザは、操作画面内に表示される多数の物品の中から、ロボット102 の取扱い作業可能な物品を容易に特定することができる。それによって、ロボット102 に実行させる作業内容を容易に指定することが可能になる。尚、ロボット102 の取扱い作業可能な物品と、取扱い作業不可能な物品との分別基準は、その取扱い作業の内容によって異なる。例えば物品の移動作業については、ロボット102 が移動させることのできない固定・設置物や、大型物・重量物は、ロボット102 の取扱い作業不可能な物品となり、それ以外の物品はロボット102 の取扱い作業可能な物品となる。
また、そのシステムにおける作業ロボット102 が変更されたときには、そのロボット102 の変更に伴い取扱い可能な物品が変更される場合がある。ここで、ロボット102 の変更には、例えばロボット102 が新機種に置き換わるというハードウエア上の変更だけでなく、ロボット102 の制御プログラムが変更されるというソフトウエア上の変更も含む。
このように、ロボット102 の取扱い可能な物品が変更されたときには、そのことをユーザに報知すべく、仮想空間内に配置されている全ての物品アイコンを所定時間だけ強調表示してもよい。こうすることでユーザは、ロボット102 が取扱い可能な物品を、一目で把握することができる。
本発明による物品取扱いシステムは、ロボット102 の取扱い可能な物品が変更されたときには、そのロボット102 の取扱い可能な物品に対応する全ての物品アイコンを強調表示するように構成してもよい。
また、本発明による物品取扱いシステムでは、上記操作画面上で物品アイコンが指定されることによりロボット102 の作業対象となる物品が指定されたときには、その物品アイコンを強調表示する。
こうすることでユーザは、物品アイコンの指定を確認することができ、これにより、ロボット102 が誤って指定された物品の取扱い作業を実行してしまうことが、未然に防止される。
本発明による物品取扱いシステムは、上述したように、一般家庭、オフィス、ホテル、店舗及び病院等の生活空間における物品取扱いシステムである。このため、その生活空間内には、例えば家具等の固定・設置物が存在していると共に、ロボットの取扱い作業の対象である物品も様々な位置に存在する。
この場合、操作画面を生活空間の実状況に則した仮想空間から構成するときに、その仮想空間の視点が一つだけに定められていると、例えばその視点からは家具等に隠れて物品が見えない、又は、その物品を所望の移動先に移動させる場合にその移動先が死角になっている、等の問題が生じる。この問題は、工場や倉庫等の産業用のシステムでは通常生じない問題である。なぜなら、産業用のシステムでは、物品が定められた位置に配置されることが多く、さらには、空間の状況を見る視点が一つであっても、死角が生じないようにその空間の状況を予め設定しているためである。
そこで、本発明による物品取扱いシステムでは、上記操作画面を構成する仮想空間は、その視点を切り替え可能にする。
仮想空間の複数の視点が相互に切り替え可能であることで、ある視点では死角になるときでも、視点を切り替えることでそれが解消される。こうして、状況が複雑な生活空間での物品取扱いシステムにおいて、ロボット102 に実行させる作業内容を操作画面上で的確に指定することが可能になる。
また、本発明によるロボット操作装置(操作端末103 )は、所定の生活空間内に存在する物品の取扱い作業を行うロボット102 の作業内容を指定するための装置である。
上記ロボット操作装置は、操作画面を表示する表示部117 と、ユーザが操作をする入力部116 とを備え、上記表示部117 に、上記生活空間の実状況に則した仮想空間からなる操作画面を表示し、ユーザに上記入力部116 を操作させることによって、上記仮想空間内でロボット102 に行わせる作業内容を指定させるものである。
この構成により、上述したように、表示部117 には、生活空間の実状況に則した仮想空間からなる操作画面が表示される。これにより、生活空間内の複雑な状況が的確にかつ分かりやすくユーザに提示される。
また、ロボット102 の作業内容の指定は、その仮想空間からなる操作画面において行われるため、ユーザは、ロボット102 の作業内容を容易に指定可能になる。
本発明による物品取扱い方法は、所定の生活空間内に存在する物品の移動作業を行うロボット102 を用いた方法である。
そして、上記物品取扱い方法は、上記生活空間の実状況に則した仮想空間からなり、その生活空間内に存在する物品に対応して上記仮想空間内に配置される物品アイコンを有する操作画面を表示するステップと、上記操作画面上で、所望の物品アイコンを指定するステップと、上記指定した物品アイコンを、上記仮想空間内の所望の移動先にドラッグアンドドロップ操作するステップと、上記生活空間内で上記ロボット102 が、上記指定された物品アイコンに対応する物品を、仮想空間内で指定された移動先に対応する位置に移動するステップとを含む。
本発明による物品取扱い方法は、操作画面を構成する仮想空間の視点を切り替えるステップをさらに含む。この視点を切り替えるステップは、上記実施形態では、仮想空間内の所望の移動先に物品アイコンをドラッグアンドドロップ操作するステップの前としたが、これに代えて、又はこれと併せて、所望の物品アイコンを指定するステップの前としてもよい。
−他の実施形態−
尚、本実施形態では、環境管理サーバ101 が操作端末103 からの作業内容メッセージに応じてロボット制御コマンドを作成し、これを作業ロボット102 に送信するようにしたが、例えば、操作端末103 が操作画面上で指定された作業内容に応じてロボット制御コマンドを作成し、これを作業ロボット102 に送信するようにしてもよい。
また、本実施形態では、物品取扱いシステムを、環境管理サーバ101 、ロボット102 、操作端末103 の3つのサブシステムからなり、それらサブシステム101 〜103 が無線又は有線等のネットワークを介して互いに情報をやりとりするような構成とした。しかし、物品取扱いシステムはこの構成に限らず、例えば操作端末103 が環境管理サーバ101 に一体となった構成でもよい。
またロボット102 も1台ではなく複数台が協調しながら作業を並行して行う構成でも構わない。
さらに、本実施形態では、ロボット102 は物品の移動作業を行うものとし、環境の実状況に則した仮想空間からなる操作画面において、物品アイコンのドラッグアンドドロップ操作により、ロボット102 の作業内容を指定するようにした。しかし、仮想空間からなる操作画面において指定するロボット102 の作業内容は、物品の移動作業に限るものではなく、物品の移動を伴わない作業を含め、その他の作業としてもよい。例えば、操作画面上で、ロボット102 に作業をさせる対象となる物品アイコンを指定したときに、ロボット102 が実行し得る作業内容をメニュー形式で操作画面に表示し、そのメニューから作業内容を選択させることによって、ロボット102 に実行させる作業内容を指定するようにしてもよい。
−発明の効果−
以上説明したように、本発明による生活空間用の物品取扱いシステム、物品取扱い方法、及びロボット操作装置では、生活空間の実状況に則した仮想空間からなる操作画面が、操作端末(ロボット操作装置)の表示部に表示される。これによりユーザは、生活空間内の複雑な状況を、的確に把握することができる。また、ユーザはこの操作画面上で、ロボットに実行させる作業内容を指定することができる。例えば物品の移動作業を指定するときには、生活空間内に存在する物品に対応して仮想空間内に配置される物品アイコンを操作することにより、例えば仮想空間内の所望の移動先にドラッグアンドドロップ操作をすることにより、移動作業の指定ができる。このような直感的な操作によって、ロボットに実行させる作業内容が指定できるため、誰もが容易に、作業内容の指定をすることができる。
また、操作画面上で、カーソルがロボットの取扱い可能な物品アイコンを指しているときには、そのことをユーザに明示する表示がなされるため、ユーザはロボットに作業させる物品の指定を確実に行うことができる。
さらに、ロボットに作業させる物品(物品アイコン)を指定したときには、操作画面上で、そのことをユーザが認識可能となる表示がされるため、ロボットが誤って指定された物品の取扱い作業を実行してしまうことを、未然に防止することができる。
加えて、操作画面を構成する仮想空間の視点は切り替え可能に構成されているため、例えば、ある視点からは死角になっている物品を、視点を切り替えることで見ることができ、ある視点からは死角になっている位置を、視点を切り替えることで見ることができる。すなわち、操作端末の表示部に、生活空間の複雑な実状況に則した仮想空間内全てを、確実に表示することができる。
また、生活空間の実状況に則した仮想空間を、カメラが撮像した画像データによって構成することで、仮想空間を容易に作成することができる。
(第3の実施形態)
ここでの本発明は、その目的とするところは、一般家庭、オフィス、ホテル、店舗及び病院等の、人が活動を行う生活空間内でロボットに物品の移動作業を実行させる非産業用の物品移動システムにおいて、上記ロボットに実行させる作業内容を容易に指定可能にすることにある。
本発明による物品移動システムは、所定の生活空間内に存在する物品の移動作業を行うロボットと、操作画面を表示する表示部及びユーザが操作をする入力部を有する操作手段とを備え、上記表示部に操作画面を表示し、ユーザに上記入力部を操作させることによって、上記操作画面上で、上記ロボットに行わせる作業内容を指定させ、上記操作画面上で指定された作業内容に基づいて、上記ロボットが上記生活空間内で、物品を移動させる移動作業を実行するものである。そして、上記システムは、上記操作手段における操作モードとして、上記表示部に、上記生活空間内に存在する物品を示す物品アイコンと、上記生活空間内の特定の場所を示す場所アイコンとを含む操作画面を表示する場所アイコン操作モードを有するものである。
この構成によると、操作手段の表示部には、操作画面が表示される。操作手段における操作モードが場所アイコン操作モードであるときには、生活空間内に存在する物品を示す物品アイコンと、上記生活空間内の特定の場所を示す場所アイコンとを含む操作画面が表示部に表示される。ユーザは入力部を操作することによって、この操作画面上で、ロボットに行わせる作業内容を指定する。例えばロボットに移動させる物品とその物品の移動場所とを指定すべく、操作画面上で、所望の物品アイコンと所望の場所アイコンとをそれぞれ指定する操作を行う。こうして、物品とその移動場所とが指定されれば、上記ロボットは生活空間内で、指定された作業内容に基づいて物品の移動作業を実行する。
一般家庭等の生活空間では、物品の配置も定まっておらず、その移動先の一定ではない。本発明では、その複雑な生活空間内に存在する物品に対応する物品アイコンと、生活空間内の特定の場所を示す場所アイコンとが操作画面に含まれる。ユーザが所望の物品アイコンと場所アイコンとを指定することだけで、ロボットが指定された物品を指定された場所に移動させる。このため、複雑な状況下の生活空間において、誰もが容易に、ロボットの作業内容を指定可能になる。
すなわち、ここでの態様1では、 所定の生活空間内に存在する物品の移動作業を行うロボットと、操作画面を表示する表示部及びユーザが操作をする入力部を有する操作手段とを備え、上記表示部に操作画面を表示し、ユーザに上記入力部を操作させることによって、上記操作画面上で、上記ロボットに行わせる作業内容を指定させ、上記操作画面上で指定された作業内容に基づいて、上記ロボットが上記生活空間内で、物品を移動させる移動作業を実行し、上記操作手段における操作モードとして、上記表示部に、上記生活空間内に存在する物品を示す物品アイコンと、上記生活空間内の特定の場所を示す場所アイコンとを含む操作画面を表示する場所アイコン操作モードを有することを特徴とする物品移動システムを提供する。
態様2では、態様1において、場所アイコン操作モードは、操作画面上で物品アイコンと場所アイコンとをそれぞれ指定する操作をすることによって、ロボットに移動させる物品と、その物品の移動場所との指定を行うモードであることを特徴とする。
態様3では、態様1において、操作画面は、生活空間内の複数の場所を包括して示す包括アイコンを含み、上記操作画面上で物品アイコンと上記包括アイコンとの指定操作がされたときには、上記包括アイコンで包括される生活空間内の複数の場所の内から、指定された物品の属性に応じた場所を選択し、ロボットは、上記生活空間内で、指定された物品を、上記選択した場所に移動する作業を実行することを特徴とする。
態様4では、態様1において、操作手段における操作モードとして、生活空間の実状況に則した仮想空間からなり、上記生活空間内に存在する物品に対応して仮想空間内に配置される物品アイコンを有する操作画面を表示部に表示する仮想空間操作モードをさらに有することを特徴とする。
態様5では、態様4において、仮想空間操作モードは、操作画面上で物品アイコンと仮想空間内の場所とを指定する操作をすることによって、ロボットに移動させる物品と、その物品の移動場所との指定を行うモードであることを特徴とする。
態様6では、態様1又は態様4において、操作手段における操作モードとして、生活空間内に存在する物品を示す物品アイコンと、その物品に施す作用を示す作用アイコンとを含む操作画面を表示部に表示する作用アイコン操作モードをさらに有することを特徴とする。
態様7では、態様6において、作用アイコン操作モードは、操作画面上で物品アイコンと作用アイコンとをそれぞれ指定する操作をすることによって、ロボットに扱わせる物品と、その物品に施す作用との指定を行うモードであり、上記操作画面上で物品アイコンと作用アイコンとの指定操作がされたときには、指定された物品の属性と、指定された作用とに応じて、生活空間内の場所を選択し、ロボットは、指定された物品を、上記選択した場所に移動する作業を実行することを特徴とする。
態様8では、態様2,3,及び7のいずれか1態様において、操作画面は、物品アイコンを他のアイコンにドラッグアンドドロップ操作可能に構成されることを特徴とする。
態様9では、態様8において、操作画面は、複数の物品アイコンを一括して他のアイコンにドラッグアンドドロップ操作可能に構成されることを特徴とする。
態様10では、所定の生活空間内に存在する物品の移動作業を行うロボットと、操作画面を表示する表示部及びユーザが操作をする入力部を有する操作手段とを備え、上記表示部に、上記生活空間内に存在する物品を示す物品アイコンと、その物品に施す作用を示す作用アイコンとを含む操作画面を表示し、ユーザに上記入力部を操作させることによって、上記操作画面上でロボットに扱わせる物品とその物品に施す作用とを指定させ、上記操作画面上で指定された物品の属性と、指定された作用とに応じて、上記生活空間内の場所を選択し、上記ロボットが上記生活空間内で、指定された物品を、上記選択した場所に移動させる移動作業を実行することを特徴とする物品移動システムを提供する。
態様11では、態様1,4,6及び10のいずれか1態様において、生活空間内に存在する物品を検出するセンシング手段をさらに備え、操作画面には、上記センシング手段により検出された物品に対応する物品アイコンを含めることを特徴とする。
態様12では、所定の生活空間内に存在する物品の移動作業を行うロボットの作業内容を指定するためのロボット操作装置であって、操作画面を表示する表示部と、ユーザが操作をする入力部とを備え、上記表示部に、上記生活空間内に存在する物品を示す物品アイコンと、上記生活空間内の特定の場所を示す場所アイコンとを含む操作画面を表示し、ユーザに上記入力部を操作させることによって、上記操作画面上でロボットに行わせる作業内容を指定させる場所アイコン操作モードを有するものを提供する。
態様13では、態様12において、表示部に、生活空間の実状況に則した仮想空間からなり、その生活空間内に存在する物品に対応して仮想空間内に配置される物品アイコンを有する操作画面を表示し、ユーザに上記入力部を操作させることによって、上記仮想空間内でロボットに行わせる作業内容を指定させる仮想空間操作モードをさらに有することを特徴とする。
態様14では、態様12又は態様13において、表示部に、生活空間内に存在する物品を示す物品アイコンと、その物品に施す作用を示す作用アイコンとを含む操作画面を表示し、ユーザに上記入力部を操作させることによって、上記操作画面上でロボットに行わせる作業内容を指定させる作用アイコン操作モードをさらに有することを特徴とする。
態様15では、所定の生活空間内に存在する物品の移動作業を行うロボットの作業内容を指定するためのロボット操作装置であって、操作画面を表示する表示部と、ユーザが操作をする入力部とを備え、上記表示部に、上記生活空間内に存在する物品を示す物品アイコンと、その物品に施す作用を示す作用アイコンとを含む操作画面を表示し、ユーザに上記入力部を操作させることによって、上記操作画面上でロボットに行わせる作業内容を指定させる作用アイコン操作モードを有することを特徴とする。
本発明の第3の実施形態は、生活空間において、その空間内に存在する物品の移動作業を作業ロボットに実行させる物品移動システムに関するものである。本実施形態では、一般家庭等の建物内のある一つの部屋を、物品移動システムの対象空間(以下これを環境と呼ぶ)とする。また、作業ロボットは、移動作業に限らず、種々の物品取扱い作業を実行するものとしてもよいが、本実施形態では、作業ロボットは、ユーザによって指定された物品を、指定された位置に移動させる移動作業を実行するものとする。
図20は本実施形態に係る物品移動システムの構成を示すブロック図である。図20では、図2と共通の構成要素には、図2と同一の符号を付しており、ここではその詳細な説明を省略する。
ロボット102は、第1の実施形態ですでに説明した障害物センサ111、把持手段112、移動計画作成手段113、移動手段114および送受信手段109に加えて、後述する場所アイコン操作モードでユーザにより作業内容が指定されたときに、作業対象の物品(移動させる物品)の属性に応じて移動場所の選択を行う移動場所選択手段130を備えている。制御手段115は、これらのセンサ111及び各手段109,112〜114,120をコントロールする。
また、本実施形態では、環境内に存在する各物品に電子タグが付されているとして、把持手段112にリーダライタを取り付けている。こうすることで、把持手段112が物品を把持したときに、電子タグに書き込まれた情報を読み取り、それによって、その把持した物品が何であるかを特定することができる。なお、把持手段112に取り付けるリーダライタは省略してもよい。
操作端末103は、第1の実施形態ですでに説明した表示部117、入力部116、表示制御手段118、送受信手段109に加えて、後述する作用アイコン操作モードでユーザにより作業内容が指定されたときに、作業対象の物品(移動させる物品)の属性とその物品に対する作用とに応じて移動場所を決定する作用/場所変換手段131を備えている。制御手段119は、これらの各手段109,116〜118,121をコントロールする。
本システムは、操作端末103 において、ロボットに実行させる作業内容を指定する操作モードとして、1)仮想空間操作モード、2)場所アイコン操作モード、3)作用アイコン操作モード、の3つの操作モードを有している。各操作モードは、ユーザが入力部116 を操作することによって切り替えられる。
各操作モードは、表示部117 に表示される操作画面上で、ユーザに作業内容を指定させる点は同じであるが、表示部117 に表示される操作画面の構成が、各モードで互いに異なる。以下、上記3つの操作モードそれぞれについて順に説明する。
(仮想空間操作モード)
図21は、仮想空間操作モードにおいて、操作端末103 の表示部117 に表示される操作画面の一例を示している。この操作画面は、環境の実状況に則した仮想空間によって構成されている。この操作画面を構成する仮想空間は、環境内に設置されたカメラ(図示省略)によって撮像された画像データに基づいて作成される。本実施形態では、上記カメラは、センシング手段120 として環境内の側壁に設置されたカメラとされている。
この操作画面はまた、カーソル(ポインタ)と、環境内に存在する物品に対応して仮想空間内に配置される物品アイコンとを有している。図21に示す操作画面には、物品アイコンとして、空き缶(kan_small_0001)、レモン(lemon_small_0001)、手帳(note_small_0001)、バナナ(banana_small_0001)、紙くず(trash_small_0001)の各アイコンが含まれている。尚、仮想空間操作モードでは、環境内に存在する家具等の設備が操作画面上に表示されるものの、これらは物品アイコンとはならない。操作画面上で物品アイコンとされるものは、ロボット102 が取扱い可能な物品である。
この仮想空間操作モードにおける操作画面では、ユーザは、操作端末103 の入力部116 の操作によって操作画面内のカーソルを操作し、それによってロボット102 に実行させる作業内容を指定する。ロボット102 に物品の移動作業を実行させる場合は、所望の物品アイコンと、仮想空間内の所望の場所とを指定する操作を行う。この操作画面では、上記各物品アイコンは、いわゆるドラッグ操作によって、操作画面を構成する仮想空間内を移動させることが可能に構成されている。このため、物品アイコンと仮想空間内の場所とを指定するときには、上記カーソルによって仮想空間内の所望の物品アイコンを指定すると共に、その指定した物品アイコンを、仮想空間内の所望の移動先にドラッグアンドドロップ操作する。これにより、物品とその物品の移動先とが指定されることになる。図21の矢線は、空き缶アイコン(kan_small_0001)を、仮想空間内のリサイクル用ゴミ箱531 に、レモンアイコン(lemon_small_0001)、手帳アイコン(note_small_0001)バナナアイコン(banana_small_0001)を、仮想空間内のテーブル551 に、紙くずアイコン(trash_small_0001)を、仮想空間内の一般用ゴミ箱541 にそれぞれドラッグアンドドロップ操作するときの操作例を示している。
ここで、仮想空間操作モードの操作画面を構成する仮想空間は、上述したように、カメラが撮像した画像データであるため、その画像データのどの領域が物品アイコンに対応するかを特定する必要がある。そこで、上記操作画面は、仮想空間を構成する上記画像データに加えて、上記画像データ(仮想空間)に1対1に対応しかつ、仮想空間内における物品アイコンの位置を特定する画面マスクデータを有している。この画面マスクデータには、操作画面上で物品アイコンが配置される領域に対応してマスクデータが設定されており、仮想空間からなる操作画面上で、カーソルによって物品アイコンの位置(座標値)を指定すると、画面マスクデータにおいて同じ座標値を参照し、これにより、その指定された領域が物品(物品アイコン)であるか否かを判断するようにしている。また、画面マスクデータにおけるマスクデータの座標には、物品データベースの物品データ(図6参照)へのポインタが記載されており、物品アイコンが指定されているときには、その座標に記載されたポインタをキーとして物品データを参照し、それによって、操作画面上でカーソルが指している物品アイコンが、どの物品を表しているかを特定する。この画面マスクデータは、背景差分画像によって作成することができる。なぜなら、この背景差分画像では、カメラが撮像した画像における物品の位置が特定されるためである。
そして、この操作画面上で物品アイコンのドラッグアンドドロップ操作を行うことにより、物品の移動作業が指定されたときには、操作端末103 から環境管理サーバ101 にその作業内容のメッセージが送信される。このメッセージには、少なくとも、作業内容が物品の移動作業である旨と、移動対象となる物品の情報と、移動先の座標とを含めればよい。
上記サーバ101 はメッセージを受信したときには、そのメッセージ内容に従ってロボット制御コマンド列を生成し、生成したロボット制御コマンド列を上記ロボット102 に送信する。
ロボット制御コマンド列を受信した作業ロボット102 の制御手段115 は、図13に示すフローチャートに従って制御コマンドを実行する。その結果、この作業ロボット102 は、操作画面上で指定された物品を、仮想空間内で指定された場所に移動する移動作業を実行することになる。
このように、仮想空間操作モードでは、操作端末103 の表示部117 に表示される操作画面が、環境の実状況に則した仮想空間によって構成されると共に、環境内に存在する物品に対応して仮想空間内に配置される物品アイコンを、その仮想空間内の所望の移動先にドラッグアンドドロップ操作するという、直感的な操作によって、物品の移動作業が指定される。このため、ユーザは、極めて容易にロボットに実行させる作業内容を指定することができる。
また、後述する場所アイコン操作モードや、作用アイコン操作モードとは異なり、仮想空間操作モードでは、仮想空間内で、物品の移動先を自由に指定することができる。これにより、ロボットに実行させる作業内容の自由度が高まる。
(場所アイコン操作モード)
図22は、場所アイコン操作モードにおいて、操作端末103 の表示部117 に表示される操作画面の一例を示している。
この操作画面には、物品アイコンと、環境内における物品の移動場所を表す場所アイコンとが含まれている。上記物品アイコンは、センシング手段120 によって環境内で検出された物品に対応するものである。すなわち、操作画面に含まれる物品アイコン(それに対応する物品)は、環境内に実際に存在しているものである。物品アイコンは、物品IDと対応付けた状態でリスト形式に表示されている。図22に示す操作画面には、物品アイコンとして、空き缶(kan_small_0001)、レモン(lemon_small_0001)、手帳(note_small_0001)、バナナ(banana_small_0001)、紙くず(trash_small_0001)の各アイコンが含まれている。こうすることでユーザは、環境内に存在する物品を一目で認識することが可能になる。尚、環境内に存在する物品が多数であり、一画面内に全ての物品アイコンを表示することができないときにはスクロールバーを利用すればよい。また、これとは異なる他の方法としては、環境内に存在する物品を、食品、衣類といったカテゴリー毎に木構造で分類しておき、上位のカテゴリーから下位のカテゴリーに階層をたどることで、物品アイコンが表示されるようにしてもよい。
また、物品アイコンは、例えば物品の名称順や、指定される頻度の高い順等に並べ替え可能にしてもよい。さらに、物品の内容に応じて、物品アイコンの表示の順序を自動的に設定するようにしてもよい。例えば、上述したように、カテゴリー毎に物品アイコンを表示するときに、そのカテゴリーが食品である場合は、そこに含まれる物品アイコンを賞味期限の早い順番で表示することをデフォルトで設定しておいてもよい。この場合でも、物品アイコンをその他の基準に従って並び替え可能にすることが好ましい。
また、この物品アイコンは、センシング手段120 としてのカメラによって撮像した、物品の実際の画像によって構成してもよいし、その物品の付された電子タグにアイコンデータが記録されているときには、そのアイコンデータを利用してもよい。
場所アイコン操作モードの操作画面に含まれる場所アイコンは、上述したように、環境内における物品の移動場所を表すものであり、例えば、物品が頻繁に移動され得る場所として予め指定しておけばよい。図22に示す操作画面には、場所アイコンとして、ゴミ箱及びテーブルの各アイコンが含まれている。ここで、場所アイコンの一つであるゴミ箱アイコンは、環境内に存在する一般用ゴミ箱とリサイクル用ゴミ箱とを包括する包括アイコンとなっている。この包括アイコンとは、環境内に存在する複数の場所を包括して操作画面上に示すアイコンである。尚、図22に示す操作画面に含まれる場所アイコンの一つであるテーブルアイコンは、包括アイコンではなく、環境内のテーブルそのものを示す場所アイコンである。
場所アイコン操作モードにおける操作画面で、物品の移動作業を指定するときには、物品アイコンと場所アイコンとをそれぞれ指定する操作を行う。この操作画面でも、上記各物品アイコンは、いわゆるドラッグ操作によって、操作画面内を移動させることが可能に構成されている。このため、物品アイコンと場所アイコンとをそれぞれ指定するときには、上記カーソルによって所望の物品アイコンを指定すると共に、その指定した物品アイコンを、所望の場所アイコン(包括アイコン)にドラッグアンドドロップ操作する。これにより、物品と、その物品の移動先が指定される。また、この場所アイコン操作モードにおける操作画面では、複数の物品アイコンを一度に所望の場所アイコンにドラッグアンドドロップ操作可能に構成されている。
次に、場所アイコン操作モードの操作画面における、作業内容の指定手順について、図23を参照しながら説明する。ここでは、空き缶と紙くずとをゴミ箱に移動させる(ゴミ箱に捨てる)作業を指定する場合を例に説明する。尚、同図に示す矢線は、カーソルの移動軌跡を示している。
ロボット102 に移動させる物品は、カーソルをその物品アイコンの位置に移動させて、その物品アイコンをクリック操作することによって指定する。ここでは、カーソルを空き缶アイコンの位置に移動させ、その空き缶アイコンをクリック操作する(同図のP0001参照)。物品アイコンが指定されれば、そのことを明確にするために、その物品アイコンが強調表示される。これによりユーザは、どのアイコンが指定されたかを一目で認識可能になる。
ロボット102 に移動させる別の物品を指定するときには、カーソルをその別の物品アイコンの位置に移動させて、その物品アイコンをクリック操作する。ここでは、カーソルを紙くずアイコンの位置に移動させ、その紙くずアイコンをクリック操作する(同図のP0002参照)。このときも指定された物品アイコンが強調表示される。従って、ここでは、空き缶アイコンと紙くずアイコンとが、それぞれ強調表示される。尚、さらに別の物品を指定するときには、その物品アイコンをさらにクリック操作すればよい。
こうして、ロボット102 に移動させる全ての物品アイコンを指定すれば、その指定した物品アイコンを、場所アイコンにドラッグアンドドロップ操作する。このドラッグアンドドロップ操作は、一度行えば指定した全ての物品が操作される。ここでは、空き缶アイコンと紙くずアイコンとを、ゴミ箱アイコンにドラッグアンドドロップ操作する(同図のP0003参照)。
こうして、空き缶と紙くずとをゴミ箱(リサイクル用ゴミ箱又は一般用ゴミ箱)に移動させるという作業内容が指定されることになる。
このようにしてロボット102 に実行させる作業内容が指定されれば、上述したように、操作端末103 から環境管理サーバ101 にその作業内容のメッセージが送信されると共に、上記サーバ101 から作業ロボット102 にロボット制御コマンド列が送信される。
そして、上記作業ロボット102 の制御手段115 は、受信したロボット制御コマンドを、図13に示すフローチャートに従って実行する。これにより、操作画面上で指定した物品が指定した場所に移動される。
ここで、場所アイコン操作モードでは、物品の移動先が包括アイコン(上記の例ではゴミ箱アイコン)で指定される場合がある。このように移動先が包括アイコンで指定されたときには、作業ロボット102 の移動場所選択手段130 が、指定された物品の実際の移動先を選択する。
上記作業ロボット102 の移動場所選択手段130 は、ユーザによって指定された物品の属性に応じて、包括アイコンに含まれる移動先の内から、実際の移動先を選択するものである。この移動場所選択手段130 には、移動場所選択知識が記憶されており、移動場所選択手段130 は、この移動場所選択知識に基づいて移動場所の選択を行う。この移動場所選択知識は、例えばif−thenルールを利用して記述することができる。具体的に、上記のリサイクル用ゴミ箱と一般用ゴミ箱とを包括するゴミ箱アイコンの例では、
if (移動場所==ゴミ箱){
if (把持物 == リサイクル品){
移動場所 = リサイクル用ゴミ箱;
}else{
移動場所 = 一般用ゴミ箱;
}
}
と記述することができる。これは、「もし移動場所がゴミ箱に指定されたとき、その移動対象の物品(把持手段112 が把持した物品)がリサイクル品であれば、上記移動場所のゴミ箱とはリサイクル用ゴミ箱であり、一方、移動対象の物品(把持手段112 が把持した物品)がリサイクル品でなければ、上記移動場所のゴミ箱とは一般用ゴミ箱である」、という意味である。尚、移動場所選択知識は、if−thenルールに限らず、その他の記述としてもよい。
本システムでは、上述したように、作業ロボット102 の把持手段112 にリーダライタが取り付けられている。物品の属性(上記の例では、リサイクル品であるか否か)は、把持手段112 が物品を把持したときにその物品に取り付けられた電子タグの情報を読み取って判定する。
図23に示すように、空き缶と紙くずとをゴミ箱に移動させる作業が指定されたときには、作業ロボット102 は次のようにして指定された作業を実行する(図24参照)。尚、上記空き缶には電子タグが付されている一方、紙くずには電子タグが付されていないものとする。
すなわち、作業ロボット102 の把持手段112 が、指定された2つの物品の内、先ず空き缶24を把持したとする。このときに、把持手段112 に取り付けられたリーダライタが空き缶24に取り付けられた電子タグから情報を読み取る。その情報に基づいて、作業ロボット102 の制御手段115 はその空き缶24がリサイクルゴミであることを認識する。こうして物品の属性が判別されれば、移動場所選択手段130 は移動場所選択知識に基づいて移動先を判断する。ここでは、空き缶24がリサイクルゴミであるため、移動先としてリサイクル用ゴミ箱53が選択される。移動先が選択されれば、そのリサイクル用ゴミ箱53の位置まで、空き缶24を把持した状態で上記ロボット102 が移動する(同図の番号「1」が付された矢線参照)と共に、その空き缶24を解放することによって、空き缶24をリサイクル用ゴミ箱53に捨てる。
次に、作業ロボット102 は指定されたもう一つの物品である紙くず23の位置まで移動し(同図の番号「2」が付された矢線参照)、その紙くず23を把持する。このときに、把持手段112 に取り付けられたリーダライタが物品に取り付けられた電子タグから情報を読み取るが、紙くず23には電子タグが取り付けられていないため、情報が得られない。この場合、作業ロボット102 の制御手段115 はその紙くず23が一般ゴミであると認識する。移動場所選択手段130 は移動場所選択知識に基づいて、紙くず23の移動先を一般用ゴミ箱54に選択する。こうして、上記ロボット102 は、一般用ゴミ箱54の位置まで紙くず23を把持した状態で移動し(同図の番号「3」が付された矢線参照)、そこで紙くず23を解放する。こうして、その紙くず23を一般用ゴミ箱54に捨てる。
尚、ここでは、把持手段102 にリーダライタを取り付けて、各物品に取り付けられた電子タグの情報からその物品の属性を判断するようにしたが、例えば物品データベースに蓄積されたデータに基づいて、物品の属性を判断するようにしてもよい。
このように、場所アイコン操作モードでは、操作画面に、環境内に存在する物品に対応する物品アイコンと環境内の特定の場所を示す場所アイコンとが含まれ、ユーザは、所望の物品アイコンを、所望の場所アイコンにドラッグアンドドロップ操作することによって、ロボットに実行させる作業内容を指定することができる。このため、誰もが容易に、ロボットの作業内容を指定することができる。
また、場所アイコン操作モードでは、複数の物品アイコンを一度にドラッグアンドドロップ操作することができるため、例えば、多数の物品の移動を行いたいとき等に、その作業の指定を容易に行うことができる。特に、包括アイコンを指定するときには、各物品の属性に応じて移動先が設定されるため、複数の物品アイコンの一括操作が効果的である。
さらに、場所アイコン操作モードの操作画面には、包括アイコンが含まれるため、この包括アイコンを利用すれば、ユーザは、指定した物品の具体的な移動場所を指定しなくても、その物品の属性に適した移動場所に自動的に物品が移動される。特に上述したように、複数のゴミ(空き缶と紙くず)をゴミ箱に捨てるとき等、複数の物品の移動を行いたいときに包括アイコンを利用すれば、一度の操作だけで、各物品の属性を考慮しなくても、属性に応じた移動場所(上記の例ではリサイクル用ゴミ箱と一般用ゴミ箱)に各物品が移動される。こうして、作業内容の指定が、より一層容易になる。また、例えば一般ゴミをリサイクル用ゴミ箱に移動させたり、リサイクルゴミを一般用ゴミ箱に移動させたりする操作ミスがなくなる。
このような包括アイコンは、上述したように、一般用ゴミ箱とリサイクル用ゴミ箱と包括するゴミ箱アイコンに限らず、その他の場合にも適用可能である。一例を挙げると、冷蔵室と野菜室と冷凍室とを含む冷蔵庫が環境内に設置されている場合において、その冷蔵室、野菜室及び冷凍室の3つの場所を包括する包括アイコンとして、冷蔵庫アイコンを操作画面に表示してもよい。つまり、食品を冷蔵庫に保存する際には、その食品の属性(種類)に応じて、冷蔵室、野菜室及び冷凍室を選択して保存するが、操作画面上に包括アイコンとしての冷蔵庫アイコンを含めておく。このことで、その冷蔵庫アイコンに物品アイコンがドラッグアンドドロップ操作されたときには、その物品アイコンに対応する物品の属性に応じて、移動場所選択手段130 は、その物品が冷凍食品であれば冷凍室を選択し、その物品が野菜であれば野菜室を選択し、その他であれば冷蔵室を選択する。こうして、ユーザが具体的に指定しなくても、物品に適した場所(室)にその物品が保存されることになる。
尚、上記の場所アイコン操作モードでは、操作画面に包括アイコン(ゴミ箱アイコン)を含めていたが、例えば図25に示す操作画面のように包括アイコンを用いずに、環境内の実際に場所(リサイクル用ゴミ箱と一般用ゴミ箱)に対応するリサイクル用ゴミ箱アイコンと一般用ゴミ箱アイコンとをそれぞれ、操作画面に含めてもよい。
この操作画面で、ロボット102 に空き缶と紙くずとをゴミ箱に移動させる作業を指定する場合は、空き缶アイコンをリサイクル用ゴミ箱アイコンにドラッグアンドドロップ操作し、紙くずアイコンを一般用ゴミ箱アイコンにドラッグアンドドロップ操作すればよい(同図の矢印参照)。
(作用アイコン操作モード)
作用アイコン操作モードは、物品に施す作用を指定するモードであり、これによりロボット102 は、その物品を、指定された作用に応じた移動先に移動する作業を実行する。物品に施す「作用」とは、例えば物品を「捨てる」ということであったり、物品を「片付ける」ということであったり、物品を「保存する」ということであったりする。そして「作用に応じた移動先」とは、具体的に例を挙げて説明すると、物品が「リサイクルゴミ」であり、それに対する作用が「捨てる」であるときには、作用に応じた移動先は「リサイクル用ゴミ箱」となる。また、物品が「食器」であり、それに対する作用が「片付ける」であるときには、作用に応じた移動先は「台所」となる。つまり、「作用に応じた移動先」は、その物品の属性に基づいて決定されることになる。
図26は、作用アイコン操作モードにおいて、操作端末103 の表示部117 に表示される操作画面の一例を示している。この操作画面には、物品アイコンと、物品に施す作用を表す作用アイコンとが含まれている。
上記物品アイコンは、上記場所アイコン操作モードの操作画面(図22参照)に表示される物品アイコンと同じである。図26に示す操作画面には、物品アイコンとして、空き缶(kan_small_0001)、積み木(toy_small_0001)、グラス(glass_small_0001)、Tシャツ(tshirts_small_0001)、紙くず(trash_small_0001)の各アイコンが含まれている。
作用アイコン操作モードの操作画面に含まれる作用アイコンは、物品に施す作用を表すものである。図26に示す操作画面には、作用アイコンとして、「捨てる」アイコンと、「片づける」アイコンとが表示されている。
この作用アイコン操作モードにおける操作画面で、物品の移動作業を指定するときには、物品アイコンと作用アイコンとをそれぞれ指定する操作を行う。この操作画面でも、上記各物品アイコンは、いわゆるドラッグ操作によって、操作画面内を移動させることが可能に構成されている。物品の移動作業を指定するときには、上記カーソルによって所望の物品アイコンを指定すると共に、その指定した物品アイコンを、所望の作用アイコンにドラッグアンドドロップ操作する。これにより、物品と、その物品に施す作用とが指定される。
また、この作用アイコン操作モードにおける操作画面でも、複数の物品アイコンを一度に所望の作用アイコンにドラッグアンドドロップ操作可能に構成されている。これにより、ユーザによる作業内容の指定操作を簡便にしている。
尚、図26に示す矢線は、空き缶(kan_small_0001)、紙くず(trash_small_0001)を、「捨てる」アイコンに、積み木(toy_small_0001)、グラス(glass_small_0001)、Tシャツ(tshirts_small_0001)を「片づける」アイコンにそれぞれドラッグアンドドロップ操作するときの操作例を示している。
このようにしてロボット102 に実行させる作業内容が指定されれば、上述したように、操作端末103 は環境管理サーバ101 にその作業内容のメッセージを送信するが、作用アイコン操作モードでは、メッセージを送信する前に、操作端末103 の作用/場所変換手段131 が、指定された物品の移動先を、指定された作用に応じて決定する。
上記作用/場所変換手段131 には、例えば図27に示すような、作用/場所変換テーブルが保存されており、作用/場所変換手段131 は、この作用/場所変換テーブルに基づいて、指定された物品の移動先を決定する。作用/場所変換テーブルは、作用アイコン名の列、物品属性の列、移動場所の列からなる。
ここで、この作用/場所変換手段131 における処理を、図26に示す操作画面上で指定されたように、積み木、グラス及びTシャツを「片づける」と指定された場合を例に、説明する。
操作画面上で、物品とそれに対する作用とが指定されれば、上記作用/場所変換手段131 は先ず、作用/場所変換テーブルにおける作用アイコン名の列から、指定された作用アイコンを選択する。尚、指定された作用アイコンがテーブルに存在しないときには、その旨をユーザに報知して処理を終了すればよい。ここでは、物品に対する作用として「片づける」が指定されたため、図27に示す作用/場所変換テーブルの作用アイコン名の列から、「片づける」の行を選択する。「片づける」は、作用アイコン名の列の上から2行目である。
次に、指定された物品アイコンに対応する物品の属性を特定し(例えば、物品データベースに蓄積されている情報に基づいて特定すればよい)、作用/場所変換テーブルにおける物品属性の列から、その物品の属性と一致する属性、又はその物品の属性を含む属性(上位概念属性)を選択する。この「物品の属性を含む上位概念属性」とは、具体例を挙げて説明すると、物品の属性が「グラス」のときには、その属性は上位概念属性である「食器」に含まれる、という意味である。こうした上位概念属性と、物品の属性との関係は、例えば、木構造(階層構造)等で構成して、作用/場所変換手段131 に予め記憶しておけばよい。尚、作用/場所変換テーブルにおける物品属性の列に、「*」と記されているものは、物品の属性を問わない(どんな物品でも良い)ことを示す。ここで指定された物品は「グラス」であるため、物品属性の列から、その「グラス」の上位概念属性である「食器」の行を選択する。
こうして、作用アイコンと物品属性とが決定されることにより、作用/場所変換テーブルにおける場所の列で、その物品の移動場所が決定されることになる。尚、この場所の列において、「−」と記されているものは、移動場所が決定できない(適当な場所が無い)ことを意味する。この場合は、その旨をユーザに報知して処理を終了すればよい。ここで、場所の列における「食器」の行に対応する行を参照すると「台所」であるため、「食器」の移動先は「台所」に決定される。
また、指定された別の物品「積み木」を含む上位概念属性は、「玩具」であるため、場所の列において「玩具」の行に対応する行は「押入」であり、「玩具」の移動先は「押入」に決定される。さらに、指定された別の物品「Tシャツ」の上位概念属性は「衣類」であるため、場所の列において、その「衣類」の行に対応する行は「洗濯かご」であり、「Tシャツ」の移動先は「洗濯かご」に決定される。
図27に示す作用/場所変換テーブルは、比較的簡単な構成のものであるが、作用/場所変換テーブルには、例えば図28に示すように、さらに複雑な条件分岐を入れてもよい。この図28に示す作用/場所変換テーブルでは「片付ける」という作用を「衣類」に施す場合に、その衣類の移動場所が2つ存在し、その衣類の条件に応じて、移動場所が決定されるように構成されている。具体的には、その衣類が使用後であるときには、物品属性の列において「衣類(使用後)」の行が選択され、それによって、その使用後の衣類の移動場所が「洗濯かご」に決定される。一方、その衣類が使用後でないときには、物品属性の列において「衣類(*)」の行が選択され(尚、「*」は衣類に設定されたいずれの条件にも適合しないことを示す)、それによって、その衣類の移動場所が「洋服タンス」に決定される。尚、物品の条件(上記の例では、使用後の衣類であるという条件)は、物品データベースに蓄積されているその物品の物品履歴データを参照することによって判断可能である。
このようにして作用/場所変換手段131 が、指定された物品の移動先を、指定された作用に応じて決定すれば、操作端末103 からサーバ101 に作業内容のメッセージが送信されると共に、上記サーバ101 から作業ロボット102 にロボット制御コマンド列が送信される。
そして、上記作業ロボット102 の制御手段115 は、受信したロボット制御コマンドを、図13に示すフローチャートに従って実行することになる。
このように、作用アイコン操作モードでは、操作画面に物品アイコンと作用アイコンとが含まれ、ユーザは、所望の物品アイコンを、所望の作用アイコンにドラッグアンドドロップ操作することによって、ロボットに実行させる作業内容を指定することができる。ユーザは、指定した物品の具体的な移動場所を指定しなくても、その物品に施す作用を指定するだけでよい。こうすることで、物品の属性と作用とに基づいて、最適な移動場所に自動的に物品が移動されため、誰もが容易に、ロボットの作業内容を指定することができる。
また、作用アイコン操作モードでも、複数の物品アイコンを一括してドラッグアンドドロップ操作することができるため、例えば、多数の物品の移動を行いたいとき等に、その作業の指定を容易に行うことができる。特に、作用アイコン操作モードでは、各物品の属性に応じて移動先が設定されるため、複数の物品アイコンの一括操作が効果的である。
ところで、作用アイコン操作モードでは、物品とそれに対する作用との関係で、適切な移動場所が存在せず、ユーザが指定した作業内容を実行することができない場合も生じ得る。そこで、作用アイコン操作モードでは、その操作画面を次のように構成してもよい。
すなわち、操作端末103 の表示部117 に表示する操作画面には、先ず、物品アイコンのみを表示し、作用アイコンは表示しない。そして、物品アイコンがユーザの操作により指定されたときに、作用/場所変換手段131 が、作用/場所変換テーブルを参照することにより、その指定された物品アイコン(物品)に対してロボットが行い得る作用を選択し、その選択した作用アイコンを操作画面に表示する。ユーザは、操作画面に表示された作用アイコンに、指定した物品アイコンをドラッグアンドドロップ操作することにより、作業内容の指定を行う。
またこれとは異なり、操作端末103 の表示部117 に表示する操作画面には、物品アイコンと作用アイコンとの双方を表示する一方で、物品アイコンがユーザの操作により指定されたときに、その指定された物品に対してロボット102 が行い得る作用を表す作用アイコンのみを、操作画面に表示し、ロボット102 が行い得ない作用を表す作用アイコンは、操作画面に表示しないようにしてもよい。また、ロボット102 が実行し得ない作用を表す作用アイコンを、操作画面上で薄暗く表示することで、その作用が選択不可能であることをユーザに報知してもよい。その作用アイコンが選択不可能であることをユーザが認識可能であれば、どのような表示形態であってもよい。ユーザが、ロボット102 が実行し得ない作用を表す作用アイコンに、物品アイコンをドラッグアンドドロップ操作したときには、「操作不可能」等のメッセージを操作画面上に表示してもよい。例えば物品データベースに、各物品について、ロボット102 が施すことの可能な作用を予め蓄積しておくことで、作用アイコンの表示・非表示を行うことが可能になる。
このようにして、ユーザが指定した作業内容をロボット102 が実行できないということを、未然に防止することができる。
そして、本システムでは、仮想空間操作モード、場所アイコン操作モード、及び作用アイコン操作モードの3つの操作モードを有することで、指定する作業内容に応じて、操作モードを使い分けることができ、物品移動システムの利便性が高まる。
尚、仮想空間操作モード、場所アイコン操作モード、及び作用アイコン操作モードの3つの操作モードは、ユーザの要求に応じて切り替えるとしたが、これら3つの操作モードは選択的に実行しなくてもよい。例えば、仮想空間操作モードで表示される操作画面と、場所アイコン操作モードで表示される操作画面又は作用アイコン操作モードで表示される操作画面とを、操作端末103 の表示部117 に並べて表示してもよい。また、場所アイコン操作モードで表示される操作画面と作用アイコン操作モードで表示される操作画面とを、操作端末103 の表示部117 に並べて表示してもよい。
尚、本実施形態では、操作端末103 の表示制御手段118 が、操作画面を作成するとしたが、こうした操作画面は、環境管理サーバ101 が作成してもよい。この場合、サーバ101 が作成した操作画面は、ネットワークを介して操作端末103 に送信し、操作端末103 は、受信した操作画面を表示部117 に表示すればよい。また、入力部116 の操作によって、操作モードの切り替え操作がされたときには、操作端末103 からサーバ101 に、モード切り替え要求信号を送信し、それに応じて上記サーバ101 が指定された操作モード用の操作画面を作成し、これを操作端末103 に送信するようにすればよい。
以上説明したように、本発明による物品移動システムは、所定の生活空間(環境)内に存在する物品の移動作業を行うロボット102 と、操作画面を表示する表示部117 及びユーザが操作をする入力部116 を有する操作手段(操作端末103 )とを備え、上記表示部117 に操作画面を表示し、ユーザに上記入力部116 を操作させることによって、上記操作画面上で、上記ロボット102 に行わせる作業内容を指定させ、上記操作画面上で指定された作業内容に基づいて、上記ロボット102 が上記生活空間内で、物品を移動させる移動作業を実行するものである。そして、上記システムは、上記操作手段における操作モードとして、上記表示部117 に、上記生活空間内に存在する物品を示す物品アイコンと、上記生活空間内の特定の場所を示す場所アイコンとを含む操作画面を表示する場所アイコン操作モードを有するものである。
一般家庭等の生活空間では、物品の配置も定まっておらず、その移動先の一定ではない。本発明では、その複雑な生活空間内に存在する物品に対応する物品アイコンと、生活空間内の特定の場所を示す場所アイコンとが操作画面に含まれる。ユーザが所望の物品アイコンと場所アイコンとを指定することだけで、ロボット102 が指定された物品を指定された場所に移動させる。このため、複雑な状況下の生活空間において、誰もが容易に、ロボット102 の作業内容を指定可能になる。
本発明では、操作画面は、生活空間内の複数の場所を包括して示す包括アイコンを含むものであり、上記操作画面上で物品アイコンと上記包括アイコンとの指定操作がされたときには、上記包括アイコンで包括される生活空間内の複数の場所の内から、指定された物品の属性に応じた場所を選択し、ロボット102 は、上記生活空間内で、指定された物品を、上記選択した場所に移動する作業を実行する。
生活空間内にリサイクルゴミ用のリサイクル用ゴミ箱と、一般ゴミ用の一般用ゴミ箱との2つのゴミ箱(場所)が存在したときに、操作画面に場所アイコンのみ(リサイクル用ゴミ箱のアイコンと、一般用ゴミ箱のアイコンと)が含まれるときには、例えば、生活空間内のゴミをゴミ箱に捨てる作業をロボット102 に実行させるときに、ユーザは、そのゴミが、リサイクルゴミであるか一般ゴミであるかを判別した上で、リサイクル用ゴミ箱のアイコンか、一般用ゴミ箱のアイコンかのいずれか一方を指定する操作をしなければならない。
これに対し、これら2つのゴミ箱を包括する包括アイコンとして、ゴミ箱アイコンを操作画面に含める。そして、操作画面上で物品アイコンと、そのゴミ箱アイコンとが指定操作されたときには、その物品の属性に応じて、リサイクルゴミの物品アイコンが操作されたときには、リサイクル用ゴミ箱を選択し、一般ゴミの物品アイコンが操作されたときには、一般用ゴミ箱を選択する。
こうして、包括アイコンで包括される生活空間内の複数の場所の内から、指定された物品の属性に応じた場所を選択すれば、ロボット102 は、生活空間内で、指定された物品を、上記選択した場所に移動する作業を実行する。
このように包括アイコンを操作画面に含めることで、ユーザは、ゴミの属性を考慮しなくても、「ゴミをゴミ箱に捨てる(移動させる)」という作業内容を、操作画面上で指定するだけで、ロボット102 が、指定されたゴミを、その属性に応じたゴミ箱に捨てる作業を実行する。このように包括アイコンを用いることで、ユーザによる作業内容の指定が、より一層容易になる。
本発明による物品移動システムは、操作手段における操作モードとして、生活空間の実状況に則した仮想空間からなり、上記生活空間内に存在する物品に対応して仮想空間内に配置される物品アイコンを有する操作画面を表示部117 に表示する仮想空間操作モードをさらに有する。
このように、操作画面を生活空間の実状況に則した仮想空間によって構成することにより、一般家庭等の生活空間の実状況は、工場や倉庫の状況よりも複雑であるが、その複雑な状況がそのまま操作画面として表示される。例えば、生活空間内では物品の配置は定まっていないが、その生活空間内の物品の配置に対応して、仮想空間内にも物品アイコンが配置される。このことにより、生活空間内で様々な位置に置かれる物品の中から、ロボット102 に移動させる物品を容易に指定することが可能になる。そして、ロボット102 の作業内容をこの仮想空間内で指定することで、複雑な状況下の生活空間内におけるロボット102 の作業内容を、容易に指定可能になる。
そして、場所アイコン操作モードと、仮想空間操作モードとの2つの操作モードを有することで、ロボット102 に実行させる作業内容に応じて操作モードを使い分け可能になる。その結果、簡単な操作でロボット102 に所望の作業を確実に実行させることが可能になる。
本発明による物品移動システムは、上記操作手段における操作モードとして、生活空間内に存在する物品を示す物品アイコンと、その物品に施す作用を示す作用アイコンとを含む操作画面を表示部117 に表示する作用アイコン操作モードをさらに有する。すなわち、作用アイコン操作モードの操作画面には、場所アイコン操作モードの操作画面に含まれる場所アイコンに代わって、物品に施す作用を示す作用アイコンが含まれる。
そして、この作用アイコン操作モードでは、操作画面上で物品アイコンと作用アイコンとをそれぞれ指定する操作がされることによって、ロボット102 に扱わせる物品と、その物品に施す作用との指定が行われ、物品と、その物品に施す作用との指定が行われれば、指定された物品の属性と、指定された作用とに応じて、生活空間内の場所を選択する。従って、作用アイコン操作モードでは、例えば、指定された物品が「積み木(玩具)」であり、指定された作用が「片付ける」であったときには、「押入れ」がその移動場所として選択される。また、指定された物品が「グラス(食器)」及び「Tシャツ(衣類)」であり、指定された作用が「片付ける」であったときには、「グラス」については「台所」がその移動場所として選択され、「Tシャツ」については「洗濯かご」がその移動場所として選択される。さらに、指定された物品が「空き缶(リサイクルゴミ)」であり、指定された作用が「捨てる」であったときには、「リサイクル用ゴミ箱」がその移動場所として選択される。
こうして移動場所が選択されれば、ロボット102 は、指定された物品を、上記選択した場所に移動する作業を実行する。
このように、作用アイコン操作モードでは、操作画面上で、物品に対する作用を指定することだけで、その物品に適した移動場所が選択され、その物品は、ロボット102 によって選択された移動場所に移動される。このため、ユーザは具体的な移動場所を指定する必要がない。その結果、ユーザによる作業内容の指定が、極めて容易になる。
そして、場所アイコン操作モードと作用アイコン操作モードとの2つの操作モード、又は場所アイコン操作モードと作用アイコン操作モードと仮想空間操作モードとの3つの操作モードを有することで、ロボット102 に実行させる作業内容に応じた操作モードの使い分けが可能になる。
また本発明による物品移動システムは、操作画面上で物品アイコンを、他のアイコン(場所アイコン又は作用アイコン)にドラッグアンドドロップ操作することによって、ロボット102 に移動させる物品と、その物品の移動場所又はその物品に施す作用との指定が行われる。このように、物品アイコンのドラッグアンドドロップ操作という、直感的な操作によって、操作画面上でロボット102 の作業内容の指定がなされる。これにより、ロボット102 の作業内容の指定がより一層容易になる。
さらに仮想空間操作モードを、所望の物品アイコンを仮想空間内の所望の場所にドラッグアンドドロップ操作することによって、ロボット102 に移動させる物品と、その物品の移動場所との指定を行うモードとすることにより、物品アイコンを、仮想空間内の所望の移動先にドラッグアンドドロップ操作するという、直感的な操作によって物品の移動作業が指定可能になる。このため、ロボット102 に実行させる作業内容を極めて容易に指定可能になる。さらに、場所アイコン操作モードとは異なり、仮想空間操作モードでは、物品を移動させる移動場所の指定を仮想空間内で行うことになるため、移動場所を自由に指定可能になる。
本発明による物品移動システムでは、場所アイコン操作モードや、作用アイコン操作モードの操作画面は、複数の物品アイコンを一括してドラッグアンドドロップ操作可能に構成される。そして、複数の物品アイコンを、一括して場所アイコンにドラッグアンドドロップ操作したときには、各物品がその場所アイコンで示される場所に移動される。また、複数の物品アイコンを、一括して包括アイコンにドラッグアンドドロップ操作したときには、各物品の属性に応じた場所が選択され、各物品に適した移動場所に移動される。さらに、複数の物品アイコンを、一括して作用アイコンにドラッグアンドドロップ操作したときにも、各物品の属性に応じた場所が選択され、各物品に適した移動場所に移動される。こうして、複数の物品アイコンを一括してドラッグアンドドロップ操作可能にすることにより、ユーザによる作業内容の指定がより簡便化される。
本発明による他の物品移動システムは、所定の生活空間内に存在する物品の移動作業を行うロボット102 と、操作画面を表示する表示部117 及びユーザが操作をする入力部116 を有する操作手段(操作端末103 )とを備えるものである。そして、上記物品移動システムは、上記表示部117 に、上記生活空間内に存在する物品を示す物品アイコンと、その物品に施す作用を示す作用アイコンとを含む操作画面を表示し、ユーザに上記入力部116 を操作させることによって、上記操作画面上でロボット102 に扱わせる物品とその物品に施す作用とを指定させ、上記操作画面上で指定された物品の属性と、指定された作用とに応じて、上記生活空間内の場所を選択し、上記ロボット102 が上記生活空間内で、指定された物品を、上記選択した場所に移動させる移動作業を実行するものである。
この構成によると、上述したように、ユーザは、操作画面上で、物品とその物品に対する作用を指定することだけで、その物品に適した移動場所が選択され、その物品は、ロボット102 によって選択された移動場所に移動される。このように、ユーザは具体的な移動場所を指定する必要がないため、ユーザによる作業内容の指定が容易になる。
本発明による物品移動システムは、生活空間内に存在する物品を検出するセンシング手段120 をさらに備え、操作画面には、上記センシング手段120 により検出された物品に対応する物品アイコンを含めるものである。
本発明によるロボット操作装置(操作端末103 )は、所定の生活空間内に存在する物品の移動作業を行うロボット102 の作業内容を指定するための装置であり、上記ロボット操作装置は、操作画面を表示する表示部117 と、ユーザが操作をする入力部116 とを備え、上記表示部117 に、上記生活空間内に存在する物品を示す物品アイコンと、上記生活空間内の特定の場所を示す場所アイコンとを含む操作画面を表示し、ユーザに上記入力部116 を操作させることによって、上記操作画面上でロボット102 に行わせる作業内容を指定させる場所アイコン操作モードを有するものである。
これにより、上述したように、ロボット102 の作業内容の指定は、操作画面上で、物品アイコンと場所アイコンとを指定することによって行われるため、誰もが容易に、ロボット102 の作業内容を指定可能になる。
また、本発明によるロボット操作装置は、その表示部117 に、生活空間の実状況に則した仮想空間からなり、上記生活空間内に存在する物品に対応して仮想空間内に配置される物品アイコンを有する操作画面を表示し、ユーザに上記入力部116 を操作させることによって、上記仮想空間内でロボット102 に行わせる作業内容を指定させる仮想空間操作モードをさらに有する。
さらに、本発明によるロボット操作装置は、その表示部117 に、生活空間内に存在する物品を示す物品アイコンと、その物品に施す作用を示す作用アイコンとを含む操作画面を表示し、ユーザに上記入力部116 を操作させることによって、上記操作画面上でロボット102 に行わせる作業内容を指定させる作用アイコン操作モードをさらに有する。
本発明による他のロボット操作装置は、操作画面を表示する表示部117 と、ユーザが操作をする入力部116 とを備え、上記表示部117 に、上記生活空間内に存在する物品を示す物品アイコンと、その物品に施す作用を示す作用アイコンとを含む操作画面を表示し、ユーザに上記入力部116 を操作させることによって、上記操作画面上でロボット102 に行わせる作業内容を指定させる作用アイコン操作モードを有するものである。
この構成により、上述したように、ロボット102 の作業内容の指定は、操作画面上で、物品とその物品に対する作用を指定することだけでよいため、ロボット102 の作業内容が容易に指定可能になる。
−他の実施形態−
尚、本実施形態では、環境管理サーバ101 が操作端末103 からの作業内容メッセージに応じてロボット制御コマンドを作成し、これを作業ロボット102 に送信するようにしたが、例えば、操作端末103 が操作画面上で指定された作業内容に応じてロボット制御コマンドを作成し、これを作業ロボット102 に送信するようにしてもよい。
また、本実施形態では、物品移動システムを、環境管理サーバ101 、ロボット102 、操作端末103 の3つのサブシステムからなり、それらサブシステム101 〜103 が無線又は有線等のネットワークを介して互いに情報をやりとりするような構成とした。しかし、物品移動システムはこの構成に限らず、例えば操作端末103 が環境管理サーバ101 に一体となった構成でもよい。
またロボット102 も1台ではなく複数台が協調しながら作業を並行して行う構成でも構わない。
さらに、本システムでは、移動場所選択手段130 を2番目のサブシステムである作業ロボット102 に設けたが、この移動場所選択手段130 は、1番目のサブシステムである環境管理サーバ101 に設けてもよいし、3番目のサブシステムである操作端末103 に設けてもよい。
また、作用/場所変換手段131 を操作端末103 に設けたが、この作用/場所変換手段131 は、環境管理サーバ101 に設けてもよいし、作業ロボット102 に設けてもよい。
さらに、本システムでは、操作モードとして、仮想空間操作モード、場所アイコン操作モード、及び作用アイコン操作モードの3つの操作モードを有しているが、例えば、これら3つの操作モードの内のいずれか2つの操作モードだけを有していてもよいし、場所アイコン操作モード及び作用アイコン操作モードのいずれか一方のみを有していてもよい。
−発明の効果−
以上説明したように、本発明による生活空間用の物品移動システム、及びロボット操作装置では、場所アイコン操作モードにおいては操作端末(ロボット操作装置)の表示部に、生活空間内に存在する物品に対応する物品アイコンと、生活空間内の特定の場所を示す場所アイコンとを含む操作画面が表示され、ユーザはこの操作画面上のアイコン操作によって、ロボットに移動させる物品と、その移動先とを指定することができる。このため、誰もが容易に、作業内容の指定をすることができる。また、操作画面に包括アイコンを含めることで、ユーザは、具体的な移動先を指定しなくても、物品の属性に適した移動先に、所望の物品を移動させることができる。
また、仮想空間操作モードでは、生活空間の実状況に則した仮想空間からなる操作画面が操作端末の表示部に表示され、生活空間内に存在する物品に対応して仮想空間内に配置される物品アイコンと、仮想空間内の場所とを指定操作するという、直感的な操作によって、物品とその移動先とを指定することができる。また、仮想空間操作モードでは、物品の移動先を仮想空間内で自由に指定することができる。
作用アイコン操作モードでは、操作端末(ロボット操作装置)の表示部に、物品アイコンと場所アイコンとを含む操作画面が表示され、ユーザはこの操作画面上のアイコン操作によって、物品と、その物品に施す作用とを指定することができる。そして、指定された作用と、物品の属性とに応じて、その物品が所定の移動先に移動される。これにより、ユーザは作業内容の指定を極めて容易に行うことができる。
そして、これら複数の操作モードを有することにより、ロボットに実行させる作業内容に応じて操作モードを使い分けることができ、物品移動システムの利便性を向上させることができる。

(第4の実施形態)
ここでの本発明は、その目的とするところは、家庭やオフィス等の居住空間内において作業ロボットに物品の移動作業を行わせる際に、移動対象物品を指定された位置に適切な状態で設置することにある。
本発明に係る物品管理システムは、居住空間内に存在する物品を管理するシステムであって、少なくとも前記居住空間内の物品の情報を有するデータベースと、移動対象物品と該移動対象物品の移動先の設置位置とを指定する物品操作手段と、物品を保持する保持手段を有し、前記移動対象物品を前記保持手段で保持して前記設置位置に設置する作業ロボットと、前記データベースの情報に基づいて、前記作業ロボットによる前記移動対象物品の設置時の姿勢を前記設置位置付近の他の物品の情報に応じて決定する設置姿勢決定手段とを備え、前記移動対象物品を前記設置姿勢決定手段により定めた姿勢で前記設置位置に設置するものである。
上記物品管理システムによれば、移動対象物品は設置位置付近の他の物品の状況に応じた姿勢で設置されることになり、物品を整理する場合や、場所を効率的に使用するなど、適切な状態に設置される。
また、本発明に係る物品管理システムは、前記居住空間内の物品の情報と前記居住空間内のマップ情報とを有するデータベースと、前記物品操作手段と、前記作業ロボットと、前記データベースの情報に基づいて、前記作業ロボットによる前記移動対象物品の設置時の姿勢を前記設置位置付近の状況に応じて決定する設置姿勢決定手段とを備え、前記移動対象物品を前記設置姿勢決定手段により定めた姿勢で前記設置位置に設置するものである。
上記物品管理システムによれば、移動対象物品は設置位置付近の状況に応じた姿勢で設置されることになり、適切な状態に設置される。
また、本発明に係る物品管理システムは、前記データベースと、前記物品操作手段と、前記作業ロボットと、前記データベースの情報に基づいて、指定された設置位置に既に他の物品が置かれているか否かを判断し、他の物品が置かれていない場合には前記設置位置を変更しない一方、他の物品が置かれている場合には、前記設置位置付近において前記移動対象物品が他の物品と重ならない位置に設置位置を変更する設置位置決定手段とを備え、前記移動対象物品を前記設置位置決定手段により決定された設置位置に設置するものである。
上記物品管理システムによれば、指定された設置位置が他の物品に占有されている場合等において、移動対象物品を無理に他の物品と重ねて設置することが防止され、移動対象物品は適切な状態に設置される。したがって、あいまいな指示が出された場合であっても、移動対象物品を適切な状態に設置することができる。
また、本発明に係る物品管理システムは、前記データベースと、前記物品操作手段と、前記作業ロボットと、前記データベースの情報に基づいて、指定された設置位置に既に他の物品が置かれているか否かを判断し、他の物品が置かれているときには前記他の物品の上に前記移動対象物品を積載できるか否かを更に判断し、積載できる場合には前記設置位置を変更しない一方、積載できない場合には、前記設置位置付近において前記移動対象物品が前記他の物品と重ならない位置に設置位置を変更する設置位置決定手段とを備え、前記移動対象物品を前記設置位置決定手段により決定された設置位置に設置するものである。
上記物品管理システムによれば、移動対象物品を他の物品の上に積載できる場合には、そのように積載することにより、移動対象物品を適切な状態に設置することができる。
また、本発明に係る物品管理システムは、前記データベースと、前記物品操作手段と、前記作業ロボットと、前記データベースの情報に基づいて、指定された設置位置に前記移動対象物品が設置できるか否かを判断し、設置できる場合には前記設置位置を変更しない一方、設置できない場合には前記設置位置付近における設置可能な位置に設置位置を変更する設置位置決定手段とを備え、前記移動対象物品を前記設置位置決定手段により決定された設置位置に設置するものである。
上記物品管理システムによれば、設置位置として移動対象物品が設置できないような位置が指定された場合であっても、移動対象物品を指定位置付近の設置可能な位置に設置することができる。したがって、あいまいな指示が出された場合であっても、移動対象物品を適切な状態に設置することができる。
なお、前記物品管理システムにおいて、作業ロボットの保持手段とは、物品を保持するものであればよく、具体的な保持方法は何ら限定されるものではない。保持手段として、例えば、物品を把持する手段、支持する手段、吸引保持する手段、磁力又は電気力を利用して保持する手段等、種々の手段を用いることができる。
また、居住空間とは、例えば家屋やオフィスなど、人と物品とが相互に関わり合いをもって存在し合う空間を言う。
すなわち、ここでの態様1では、居住空間内に存在する物品を管理するシステムであって、少なくとも前記居住空間内の物品の情報を有するデータベースと、移動対象物品と該移動対象物品の移動先の設置位置とを指定する物品操作手段と、物品を保持する保持手段を有し、前記移動対象物品を前記保持手段で保持して前記設置位置に設置する作業ロボットと、前記データベースの情報に基づいて、前記作業ロボットによる前記移動対象物品の設置時の姿勢を前記設置位置付近の他の物品の情報に応じて決定する設置姿勢決定手段とを備え、前記移動対象物品を前記設置姿勢決定手段により定めた姿勢で前記設置位置に設置するものを提供する。
態様2では、態様1において、前記データベースは、物品の種類及び形状の少なくとも一方の情報と、物品の位置及び姿勢の情報とを有し、前記設置姿勢決定手段は、前記移動対象物品と種類及び形状の少なくとも一方が同一又は類似する同一類似物品が前記設置位置付近に存在するか否かを判断し、存在する場合には前記移動対象物品の設置姿勢を前記同一類似物品の姿勢に合わせる。
態様3では、態様2において、前記設置姿勢決定手段は、移動先に指定された設置位置がゴミ箱内である場合には、前記移動対象物品の設置姿勢を前記ゴミ箱内の他の物品の姿勢に合わせないように決定する。
態様4では、居住空間内に存在する物品を管理するシステムであって、前記居住空間内の物品の情報と前記居住空間内のマップ情報とを有するデータベースと、移動対象物品と該移動対象物品の移動先の設置位置とを指定する物品操作手段と、物品を保持する保持手段を有し、前記移動対象物品を前記保持手段で保持して前記設置位置に設置する作業ロボットと、前記データベースの情報に基づいて、前記作業ロボットによる前記移動対象物品の設置時の姿勢を前記設置位置付近の状況に応じて決定する設置姿勢決定手段とを備え、前記移動対象物品を前記設置姿勢決定手段により定めた姿勢で前記設置位置に設置する。
態様5では、態様4において、前記設置姿勢決定手段は、前記設置位置の設置スペースが限られているときには、前記移動対象物品の姿勢を前記移動対象物品が前記設置スペースに収まるように決定する。
態様6では、態様4において、前記設置姿勢決定手段は、前記移動対象物品の設置姿勢を前記移動対象物品が前記設置位置において安定する姿勢に決定する。
態様7では、居住空間内に存在する物品を管理するシステムであって、前記居住空間内の物品の情報と前記居住空間内のマップ情報とを有するデータベースと、移動対象物品と該移動対象物品の移動先の設置位置とを指定する物品操作手段と、物品を保持する保持手段を有し、前記移動対象物品を前記保持手段で保持して前記設置位置に設置する作業ロボットと、前記データベースの情報に基づいて、指定された設置位置に既に他の物品が置かれているか否かを判断し、他の物品が置かれていない場合には前記設置位置を変更しない一方、他の物品が置かれている場合には、前記設置位置付近において前記移動対象物品が他の物品と重ならない位置に設置位置を変更する設置位置決定手段とを備え、前記移動対象物品を前記設置位置決定手段により決定された設置位置に設置するものを提供する。
態様8では、居住空間内に存在する物品を管理するシステムであって、前記居住空間内の物品の情報と前記居住空間内のマップ情報とを有するデータベースと、移動対象物品と該移動対象物品の移動先の設置位置とを指定する物品操作手段と、物品を保持する保持手段を有し、前記移動対象物品を前記保持手段で保持して前記設置位置に設置する作業ロボットと、前記データベースの情報に基づいて、指定された設置位置に既に他の物品が置かれているか否かを判断し、他の物品が置かれているときには前記他の物品の上に前記移動対象物品を積載できるか否かを更に判断し、積載できる場合には前記設置位置を変更しない一方、積載できない場合には、前記設置位置付近において前記移動対象物品が前記他の物品と重ならない位置に設置位置を変更する設置位置決定手段とを備え、前記移動対象物品を前記設置位置決定手段により決定された設置位置に設置するものを提供する。
態様9では、居住空間内に存在する物品を管理するシステムであって、前記居住空間内の物品の情報と前記居住空間内のマップ情報とを有するデータベースと、移動対象物品と該移動対象物品の移動先の設置位置とを指定する物品操作手段と、物品を保持する保持手段を有し、前記移動対象物品を前記保持手段で保持して前記設置位置に設置する作業ロボットと、前記データベースの情報に基づいて、指定された設置位置に前記移動対象物品が設置できるか否かを判断し、設置できる場合には前記設置位置を変更しない一方、設置できない場合には前記設置位置付近における設置可能な位置に設置位置を変更する設置位置決定手段とを備え、前記移動対象物品を前記設置位置決定手段により決定された設置位置に設置するものを提供する。
本発明の第4の実施形態は、居住空間内に存在する物品を管理する物品管理システムに関するものである。ここで、居住空間とは、例えば家屋やオフィスなど、人と物品とが相互に関わり合いをもって存在し合う空間をいう。
図29は本実施形態に係る物品管理システム100の全体構成の例を示したブロック図である。図29では、図2と共通の構成要素には、図2と同一の符号を付しており、ここではその詳細な説明を省略する。
物品移動体データベース106及び環境マップ108は、本発明でいうところの「データベース」を構成している。また、本実施形態における環境とは、いわゆる居住空間を意味する。
また、マップ情報は、部屋や家具など、通常ほとんど移動しない物体(不動物体)の構造情報から成る。構造情報とは、少なくとも不動物体が占める空間内部及びその上部に存在する、他の物体を設置可能な面(例えば、部屋であれば床、収納であれば棚)の領域情報(例えば、その面の外接多角形の頂点)を言う。領域情報は、座標系表示、座標系と形状とによる表示などにより表される。
図30は本実施形態に係る物品移動体検索・管理手段105の基本構成を概念的に示すブロック図である。図30の物品移動体検索・管理手段105は、前記物品移動体データベース106に登録されている物品が移動体によって操作されていることを検出する物品操作者検出手段401と、物品操作者検出手段401により検出された、操作物品を操作している移動体の情報を取得する移動体情報取得手段402とを備えている。
物品操作者検出手段401は、センシング手段120を利用することにより、物品が移動体によって操作されていることを検出する。例えば、前述のようにセンシング手段120が背景差分法を利用している場合には、入力画像とモデル画像とを比較し、経時的に差のある部分が生じたときに、その領域で物品が操作されていると推定する。もちろん、物品操作者検出手段401による検出方法は上記方法に限ったものではなく、例えば電子タグを使ってもかまわない。
移動体情報取得手段402は、物品が移動体によって操作されていることを物品操作者検出手段401が検出したときに、その物品を操作している移動体の情報を取得する。例えば、前述のようにセンシング手段120としてカメラを利用している場合、操作の行われた領域の画像をカメラで取得し、その画像に対して顔認証処理を行なう。こうして同定された移動体は、物品が操作された際にその近傍にいたと考えられるので、この移動体を操作者と推定する。もちろん、背景差分法では通常、広域を撮影するカメラを利用するため、顔認証を行なうには解像度が足りない場合もある。そこで、背景差分法のためのカメラとは別に顔認証用に狭角の高分解能カメラを設置し、物品操作者検出手段401によって物品の操作が検出された領域に上記狭角カメラを向けて、認証を行なうようにしてもよい。もちろん、移動体の同定を行なう方法は顔認証に限ったものではなく、虹彩認証などであっても構わない。また、認証まで行なわず、操作が行なわれている領域の画像をカメラで撮影し、その画像を他の手段で利用するようにしてもよい。これらの画像を、認証がうまくいかなかったときにのみ利用するようにしてもよい。
センシング手段120として電子タグを用いる場合には、図5のように、タグリーダライタを適宜配置することにより、物品及び移動体の情報を収集することができる。また、特定の場所での物品の操作を管理する場合、タグリーダライタを特定の場所に配置することにより、物品情報と移動体情報とを取得することが望ましい。
このようなタグリーダライタを利用する場合、物品と一緒にドアや窓を通過した移動体の情報を、その物品の持出者として物品移動体データベース106に蓄積していくことが望ましい。このことにより、物品の持出者の管理を自動的に簡単な処理で行うことができる。
<物品移動体データベース>
図31は物品移動体データベース106の構成とデータの記載内容例を示した概念図である。物品移動体データベース106は、大別すると、物品を扱うデータベース(図31(a)参照)と移動体を扱うデータベース(図31(b)参照)とからなる。
物品を扱うデータベースは、各々種類の異なるデータを蓄積する3種類のサブデータベース、すなわち物品データ301と物品履歴データ302と物品属性データ303とをそれぞれ蓄積するデータベースからなり、それぞれのデータ内容は下記の通りである。
物品データ301は、個々の物品を区別するためのIDと、当該物品の操作履歴である物品履歴データ302へのポインタと、その物品の物的属性が記載された物品属性データ303へのポインタとから構成される。種類の同じ物品であっても物理的に別の存在であれば、それらを別の物品として扱う必要がある。そのため、同種の物品であっても、異なるIDが割り当てられる。一方、種類の同じ物品はIDが異なるが、同じ物的属性を持つ。そのため、同種物品であれば同じ物品属性データ303へのポインタを指し示すようにし、データベースの容量を無駄に使わないようにしている。
物品履歴データ302は、当該物品の操作履歴を格納するものであり、操作が行われた時刻、操作内容、操作者、及び操作後の位置の4項目からなる。位置のデータについては様々な表し方があるが、本例では6つのパラメータで位置を表すこととする。最初の3つのパラメータ(x1,y1,z1)は、物品の位置(例えば物品の重心位置等を代表位置として用いることができる)を表し、後の3つのパラメータ(α1,β1,γ1)は物品の姿勢を表している。なお、物品の姿勢の表し方については後述する。これら、位置及び姿勢のデータは、前記センシング手段120又は後述するロボットのセンサ111(図29参照)によって取得される。なお、操作者は、後述する移動体データとして登録された移動体のいずれかから、前述したような推論によって選ばれる。
物品属性データ303は、当該物品の持つ固有の物理属性情報を蓄えるものであり、図31(a)では形状、重さ、外観の画像等が一例として挙げられている。これらの属性データは、事前に人手を介してそれぞれの属性に適した計測方法で取得され、登録されている。
次に、図32を参照しながら、物品の形状データ及び姿勢データについて説明する。
まず、物品の形状データについて説明する。図32(a)は本来の物品(例えば飲み物の缶)の形状(円筒)を示している。このような物品に対し、ステレオ視による三次元計測技術等を用いることにより、図32(b)のように物品の表面を複数の面で近似したポリゴンデータを得ることができる。各面は適当に定めた物品座標(図中のX’、Y’、Z’)上での頂点の座標の集合として記述される。
次に、物品の姿勢データについて説明する。図32(c)は、この物品が実世界に置かれている状況を示している。なお、座標X−Y−Zは実世界の座標を示し、座標X’−Y’−Z’は物品を基準とした座標(物品座標)を示している。実世界に置かれた物品の形状は、前述したように、環境管理サーバ101のセンシング手段120又は作業ロボット102のセンサ111を2つのカメラで構成し、ステレオ視による三次元計測を行うこと等により得ることができる。そして、前記物品の形状データ(ポリゴンモデル)とのマッチングを取ることにより、物品が実世界上でどのように3次元的に回転させられているかを知ることができ、そのマッチングに基づいて物品の姿勢データを得ることができる。
具体的には、物品の形状データ(ポリゴンモデル)と実世界上での形状データとのマッチングを行った後に、物品の形状データに付随する前記物品座標が実世界上でどのように3次元的に回転しているかを求める。そのために、まず、X’軸がX軸に対して水平方向に角度αだけ回転し、上下方向に角度βだけ回転していると仮定し、それら角度α及びβの値を求める。図33(a)は、X’軸を水平方向に−αだけ回転し、上下方向に−βだけ回転した図である。次に、図33(b)に示すように、Z’軸がZ軸に対して角度γだけ回転しているとし、その角度γの値を求める。このようにして、物品が実世界に置かれている時の姿勢データを、変数(α、β、γ)を用いて特定することができる。
なお、このような姿勢データは、ロボット102により把持物品を設置する際、設置位置の状況と物品の把持姿勢とが合致しないときに、当該物品を適正な姿勢に変更する等の目的で使用される。例えば、後述する図37のように、把持した本50を本棚55に収納する際、本50を上下方向に立てた姿勢(姿勢2)では本の高さが本棚55の収納高さよりも高くなるような場合に、把持姿勢を上記姿勢2から本棚に収まる姿勢(前後方向に立てた姿勢3)へと変更する。上記姿勢データは、このような場合などに用いられる。
次に、移動体を扱うデータベース(図31(b)参照)について説明する。移動体を扱うデータベースは、それぞれ移動体データ304、移動体履歴データ305、及び移動体属性データ(図示せず)の3種類のデータを蓄積するサブデータベースからなり、それぞれのデータ内容は下記の通りである。
移動体データ304は、個々の移動体を区別するためのIDと、当該移動体の移動履歴を格納した移動体履歴データ305へのポインタとから構成される。
移動体履歴データ305は、時刻と、当該時刻における移動体の位置と、当該時刻における移動体の状態とから構成される。なお、移動体の位置は、平面上における座標(X、Y)と、向きrの3値によって表される。
図示は省略するが、移動体属性データは、当該移動体の持つ固有の物理属性情報を蓄えるものであり、重さ、形状等がその一例として挙げられる。
なお、移動体履歴データ305において、移動体の状態とは、移動体が人物であれば「座る」、「立つ」、「寝る」、「歩く」などの一般的な人間の動作を表し、移動体がロボットであれば「把持」、「解放」など、ロボットが物品に対して行うことのできる操作を表す。これらは、あらかじめ移動体毎に可能な状態を決めておき、それらのうちのどれかを選択するようにすればよい。なお、移動体がロボットの場合には、操作内容だけでなく、操作対象物品IDと操作内容とを組にして表すこととする。
後述するように、本物品管理システム100の機能の一つとして、ロボット102が把持物品を目的の位置に設置する際、その物品の姿勢を設置位置の状況等に応じて変更する機能がある。例えば、設置位置付近に既に他の物品が置かれている場合に、把持物品を他の物品と並べて設置する機能等である。このような機能を発揮するためには、物品の情報として、物品がどの場所にどのような姿勢で置かれているかを逐次記録し、データベースに蓄えておく必要がある。しかし、そのためには、必ずしも過去にさかのぼった履歴データまでは必要とせず、常に最新の情報を把握していれば足りる。
物品移動体データベース106のデータ更新の例については、第1の実施形態で示したとおりである。
<環境マップ管理手段>
環境マップ管理手段107は、作業環境内のマップの管理を行う。図34は環境マップの例を実状況と対比して示した概念図であり、図34(a)は実際の状況を表した図、図34(b)は環境マップとして実際の状況を簡略化した立体モデルで示した図、図34(c)は実際の状況をさらに簡略化して平面モデルで示した図である。環境マップは、このように立体データとして表してもよいし、もっと簡単に平面データとしてもよい。データはマップの用途やマップ作成に要する手間に応じて作成すればよく、例えば立体モデルを非常に短時間で作る必要があれば、立体物に関してはそれを覆う最小の直方体でモデル化するなどすればよい。例えば、図34(b)のモデルはそのような例である。図34(b)では、図34(a)において中央に位置するテーブルは直方体でモデル化されている。平面データでも同様であり、図34(c)のモデルにおいては、中央に位置するテーブルを平面に正射影した矩形領域(図34(c)のハッチ部分の矩形領域)で表し、この領域をロボット移動不可領域として定めている。
<環境マップ>
図35は環境マップ108のデータの一例を示した図であり、図34に対応したデータを示している。環境マップ108は、環境マップ901及び家具属性データ906を備えている。
環境マップ901には、部屋の広さを示すデータ902が保存されている。また、本例では部屋の中に“テーブル”と“本棚”と“ゴミ箱”とが存在するので、環境マップ901にはそれぞれのデータ903〜905が保存されている。家具属性データ906には、部屋や家具等のそれぞれの属性が保存されている。例えば、家具属性データ906中の部屋の属性907には、部屋内に高さの異なる床面が複数ある時にはその床面の数だけの床面データが記録されている。
前記床面のデータは、その面の頂点の座標(実世界座標での座標位置)が記述されており、その他、天井までの高さ、及び床面の材質が面毎に付されている。例えば、長方形の床面のデータの場合、データは、
((X1,Y1,Z1), (X2,Y2,Z2), (X3,Y3,Z3)(X4,Y4,Z4),2200,0)
と表される。但し、高さの基準としては、その部屋で最も低い床の高さを0とする。最初の4つの座標は頂点の座標を表し、次の値2200は天井までの高さ(2200mm)を表し、最後の数値は床面の材質を表している。床面の材質は、例えば、「0」はフローリング、「1」は畳、「2」は絨毯、等であり、材質毎に予め対応する数字が定められている。
また、各家具の属性には、家具の表面を多面体で近似したときの複数の面のデータ、家具の種類、物品の設置可能面、設置可能面に設置される主な物品の形状と姿勢等が記録されている。
前記家具の面のデータは、その面の頂点の座標(実世界座標での座標位置)が記述されており、その他、その面に物品が設置できるか否かを示すフラグ、及びその面が物品を設置できる面であれば上方への高さが付されている。上方への高さとは、例えばテーブルの天板であれば天井までの高さ、棚であればもう一つ上の棚までの距離を示す。
例えば、頂点の数が3つの面のデータの場合、
((X1,Y1,Z1), (X2,Y2,Z2), (X3,Y3,Z3),1,400)
と表される。最初の3つの座標は頂点の座標、次の数値「1」は物品が設置できることを意味する。この数が「0」の面は、物品が設置できない面である。最後の数値400は上方への高さ400mmを示している。また、家具の種類のデータは、その位置にある家具がどの家具(テーブル、本棚、ゴミ箱等)かを判定するのに利用される。
家具の設置可能面に設置される主な物品形状と姿勢等とは、例えば、その家具が本棚の場合、主に収納される物品である「本」の形状(通常本棚に立てかけられた状態において、幅に比べて奥行きと高さが極端に長い直方体)と、その本を設置するときの通常の姿勢とを表している。ただし、テーブルやゴミ箱のように、そこに設置される物品の形状や姿勢に限定がない場合もある。家具属性データ906がこのような属性を持つことで、作業ロボット102が把持物品を設置する際に、設置姿勢を良好なものにすることができる。例えば、作業ロボット102が把持した物品が本に似た形状であり、その設置位置に本棚が指定された場合に、通常本棚に本を立てかけるが如く把持物品を設置することができる。もちろん、本棚と本との関係以外にも、例えば靴棚と靴、食器乾燥機(あるいは食器棚)と食器といった収納にも用いることが可能である。
ロボット102がこの環境内で移動する際には、これらの環境マップ108を用いながら移動経路計画を立てていく。例えば、図34(c)の平面モデルを用いた環境マップを用いてロボット102をA1地点からA2地点まで移動させる際には、ロボット102の形状や大きさを踏まえて、前記移動不可領域を回避するルート(図34(c)の曲線矢印)を計算して決めればよい。
<環境管理サーバの制御手段>
環境管理サーバ101の制御手段110は、サーバ101の全体を制御する部分であり、前述したように、主な制御内容として以下のものが挙げられる。
すなわち、制御手段110は、サーバ101内の各種データに関して送受信手段109を介して外部から問い合わせがあった場合に、その内容に応じて物品移動体検索・管理手段105または環境マップ管理手段107に対し、前記データの参照要求を出す。また、制御手段110は、前記要求に対して物品移動体検索・管理手段105または環境マップ管理手段107から送られてきた結果を、送受信手段109を介して問い合わせ元に送る。また、制御手段110は、送受信手段109を介して外部から送られてきたサーバ内にある各種データに関する登録・更新の要請を解釈し、その内容に応じて物品移動体検索・管理手段105または環境マップ管理手段107に対し、前記データの登録・更新要求を出す。なお、この制御手段110の詳細な動作については後述する。
−作業ロボットの構成−
作業ロボット102は、物品管理システム100において、環境内の物品を実際に把持して持ち運ぶ役目を担う。ロボット102による物品把持および運搬操作は、その一部又は全部が自動化されていてもよい。本実施形態では、後述する操作端末103を通じてユーザによって指示が出され、ロボット102はその指示に従って作動する。
図29に示すように、ロボット102はその基本構成として、ロボットの周囲近辺の障害物などを検知したり、把持する物品の情報を得るセンサ111と、物品を把持する把持手段112と、環境マップ108を使って移動計画を立てる移動計画作成手段113と、把持物品の設置姿勢を設置位置の状況等に合わせて計算する設置姿勢決定手段140と、把持物品を設置する際に設置位置に既に他の物品が置かれているかどうか等を判定し、必要ならば設置位置を変更する設置位置決定手段141と、移動のための移動手段114と、環境管理サーバ101や操作端末103とデータの送受信を行う送受信手段109と、それら各手段をコントロールする制御手段115とからなる。
ここで設置位置とは、例えば実空間上の1点を示し、その位置に物品を設置するということは、例えば物品の代表点(例えば重心)をその設置位置に合わせて設置することを意味する。従って、例えば重心を代表点とした場合、設置されている物品の位置は、物品の重心を表している。ただし、物品の代表点は重心に限らず、形状上の中心点等、他の点であってもよい。
図36は、本実施形態に係るロボット102の一例を示した模式図である。以下、図においてアーム201の先端が向いている方向をロボットの前面として、ロボット102の各手段の説明を行う。
移動手段114は、ロボット本体の片側に2つずつ設けられ、両側で合計4つの車輪によって構成されている。本例では移動手段114として車輪の例を示したが、移動手段114としては、ロボットの使われる場所や環境に応じて最適な手段を選べばよい。例えば凹凸の多い地面を移動する場合ならば、クローラ型や多足歩行の移動手段を使ってもかまわない。なお、アーム201やハンド202からなる把持手段112が家屋内全域を可動域とする場合には、この移動手段114は必ずしも必要とはしない。
センサ111はボット周囲の近辺の障害物などを検知するものであり、本例では超音波センサ111a、視覚センサとしてのステレオカメラ111b、及び衝突センサ111cからなる。超音波センサ111aは前面、背面、左右の側面にそれぞれ3カ所ずつ取り付けられ、超音波を発してその反射波を受信するまでの時間を測定することで、当該センサから障害物までのおおよその距離を計算するものである。本実施形態では、超音波センサ111aにより、近距離の障害物を衝突前に検知することとしている。ステレオカメラ111bは、周囲の状況を画像として入力し、その画像に認識などの処理を行うことで、障害物の有無の判断や把持対象物品のより正確な情報を得る。衝突センサ111cは、当該センサ111cに所定の力の衝撃があったことを検知するセンサであり、他のセンサで検知できない障害物に対して、それが外部からぶつかってきたことやロボット自身が移動中にぶつかったことを検知する。
移動計画作成手段113は、指定された場所への移動命令がロボットに対して発せられたとき、現在位置から指定場所への移動経路を、前記環境管理サーバ101から取得した環境マップ108のデータを使って作成する。当然のことながら、現在位置から目的地までの間に障害物が存在する場合はそれを回避するための経路が必要となるが、環境マップには前述のようにロボットが移動可能な領域が予め記されているので、その領域内での移動経路を作成すればよい。また移動経路作成に当たっては、最も一般的なダイクストラ法等が用いられる。
設置姿勢決定手段140は、ロボットが把持した物品を設置する際の把持姿勢(設置姿勢)を、設置位置の状況に応じて決定する。例えば、その設置位置付近に把持物品と同様の他の物品が置かれていれば、他の物品の姿勢に合わせて把持物品の姿勢を変更する。また、把持したときの姿勢のままでは把持物品を設置位置に置くことができない場合(例えば、把持物品が設置位置の空間内に収まらない場合等)に、設置位置に設置できるように把持物品の姿勢を変更する。この時、設置位置の状況(どれだけの幅、奥行、高さがあるかなど)や設置位置付近に置かれた他の物品の情報が必要となるが、それらの情報は前記環境管理サーバ101に問い合わせることで得ることができる。
図37を参照しながら、本50を本棚55に収納する例を説明する。本物品管理システム100では、ロボット102で把持した本50(姿勢1)を本棚55に入れる時、まず、指定された設置位置56の付近に他の本57があるか否かを調べ、ある場合には前記他の本57の姿勢を調べる。そして、把持した本50の姿勢を他の本57の姿勢に合わせる。ここでは、他の本57は立った姿勢で収納されているので、把持した本50も立った姿勢に合わせられる。
しかし、立った姿勢には、本50の長辺が縦方向に延びる姿勢(姿勢2)と横方向に延びる姿勢(姿勢3)とがあり得る。しかし、本棚55の設置スペースは限られており、本50の高さが本棚55の収納高さを超えている場合は、本50の長辺が縦方向に延びる姿勢(姿勢2)では本50を収納することができない。そこで、他の本57に合った姿勢でかつ本棚55の設置スペースに収まる姿勢(姿勢3)を選択し、把持した本50をその姿勢に変更してから設置する。なお、設置スペースが限られているか否かは、例えば、設置スペースが仕切られた空間であることや、設置スペースの最大長さが物品の最大長さよりも短いこと等によって判断することができる。また、本を本棚に設置するだけでなく、食器を食器棚や食器洗い乾燥機に効率よく設置する場合にも応用することが可能である。
従来技術では、設置する場所には扱う物品と比較して十分な広さがあることが前提となっていたが、例えば本棚のように高さに制約がある場合等では、従来技術をそのまま応用することはできない。また、産業用途では物品の形は画一化されていたので、移動に際して特別な処理をしなくても、結果的に整理された状態で物品を設置することができていた。しかし、家庭やオフィス内で使用される多様な形状の物品を整理された状態で設置するには、上記設置姿勢決定手段140が行うような処理を必要とする。この設置姿勢決定手段の詳しい動作については後述する。
設置位置決定手段141は、ロボットが把持した物品を設置する際、その設置位置に既に他の物品が置かれているか否かを調べる。そして、設置位置に他の物品が置かれていれば、他の物品の上面がフラット(水平)であるかどうか、その上面の大きさが把持物品を積載するのに十分であるかどうか、他の物品の材質が堅いものであるのかどうか等を判定し、前記物品の上に把持物品が設置できないと判断すれば設置位置を前記物品付近の設置可能な位置に変更する。この時、設置位置の物品情報や設置位置付近の設置可能なスペースの情報は、前記環境管理サーバ101に問い合わせることで得ることができる。
ここで、図38を参照しながら、「設置位置に他の物品が存在するかどうか」の判断、及び設置位置の変更の具体例を説明する。図38は、指定された設置位置に平積みされている複数の本61が既に存在している場合に、把持した本60の設置位置を変更する例である。本例では、「設置位置に他の物品が存在するかどうか」は、設置位置に把持物品60の重心を合わせた場合に、把持物品60と既に設置された物品61とが重なるかどうかで判断される(図38(b)参照)。また、「設置位置付近の設置可能な位置」は、把持物品60と他の物品61とが全く重ならないような位置が最も望ましいが、必ずしもこのような位置に限定されるものでもない。例えば、物品の種類によっては、設置した物品60が姿勢を崩さない(倒れない)程度に重なったり、互いに接触する程度は、許容範囲内と見なされる場合もある。図38に示した例は、物品が本であり、姿勢を崩さない程度に積み重ねることに問題はないため、そのように重ねた場合の例である。図38(a)及び(b)に示すように、本が多数平積みされている状況で設置位置(本60の重心G)を平積みされた本61の少し外側に設定したとする。この場合、本60をそのまま設置位置に設置したのでは、本61の平積み状態は崩れてしまい、本60自体も安定せず、転倒することになる。そこで、このような場合は、設置位置を平積みされた本61の重心の位置に変更する。これについても詳しい動作については後述する。
把持手段112は物品を把持する手段であり、本実施形態では、図36に示すように多関節からなるアーム201と、アーム201の先端に配設されたハンド202とから構成される。ただし、作業ロボット102の保持手段は、物品を把持する手段に限定されるものではない。例えば、皿状の支持手段を備え、その支持手段に物品を載せて目的位置まで移動させるようにしてもよい。
作業ロボット102の制御手段115は、外部から送受信手段109を介して送られてきたロボット操作コマンドリストを解釈し、順にコマンドを実行していく。環境管理サーバ101の制御手段110と同様、作業ロボット102の制御手段115についても、その動作は後で詳しく述べることとする。
−操作端末の構成−
3番目のサブシステムである操作端末103は、物品管理システム100においてユーザが環境内の物品操作を指示する為の端末である。
図29に示すように、操作端末103はその基本構成として、物品操作を指示する物品操作手段142と、操作画面を表示する表示手段143と、物品操作手段142にて入力された物品操作の指示内容を環境管理サーバ101に送信する等の送受信動作を行う送受信手段109と、それら各手段をコントロールする制御手段144とからなる。
オペレータは、物品操作手段142及び表示手段143を用いて物品の移動操作を指示したり、物品や移動体の情報を入力する。物品に対する移動操作であれば、物品操作手段142を介して入力された前記移動操作の命令は、送受信手段109を介して作業ロボット102に送られ、当該命令を受けた作業ロボット102は、移動先の状況等を考慮したうえで指示通りに物品を移動させる。また、物品操作手段142を介して物品や移動体の情報を入力した場合、及び物品の検索を行った場合には、前記環境管理サーバ101に対してこれらの要求が送信され、環境管理サーバ101から回答を受信する。制御手段144は上記各手段の制御を行うものであり、その動作に関しては後で詳しく述べる。
以上、物品管理システム100の全体構成について、各サブシステム101,102,103毎に順に説明を行った。
なお、図29では、本物品管理システム100が環境管理サーバ101、作業ロボット102、及び操作端末103の3つのサブシステムからなり、それらサブシステムが無線または有線などのネットワークを介して互いに情報をやりとりするような構成をなす例を示した。しかし、本発明に係る物品管理システムの構成は、上記構成に限定されるものではない。例えば、操作端末103が環境管理サーバ101あるいは作業ロボット102に付随されている構成であってもよい。また、ロボット102も1台ではなく、複数台が協調しながら作業を並行して行う構成でも構わない。さらに、作業ロボット102の移動計画作成手段113、設置姿勢決定手段140、設置位置決定手段141を環境管理サーバ101にもたせることで、データベースアクセスに伴う通信量を減らすことも可能である。
−物品管理システムの動作−
以降では、本物品管理システム100の動作、すなわち、環境管理サーバ101、作業ロボット102、及び操作端末103の各サブシステムにおける制御手段110,115,118がどのように動作するかを説明する。
本実施の形態では、統一性を持たせるために、環境管理サーバ101、作業ロボット102、及び操作端末103は全て、後述するメッセージをやりとりすることで命令・質問・回答等の要求を行う。
図39は、そのようなメッセージの書式の一例を示している。本例では、上から順に、メッセージ開始符号(STX)、電文長、総パケット数、パケット番号、送信日時、メッセージID、送信元、送信先、コマンド番号、引数、メッセージ終了符号(ETX)である。通信プロトコルにパケット通信を行うUDP/IP等を利用する場合、パケット毎に送信先に到着するとは限らないので、総パケット数及びパケット番号を用いて、受信側で分割されて受信したパケットからメッセージを再構築する。また、電文長及び総パケット数は全てのパケットを受信したことの確認に用い、前記メッセージを正しくやりとりできるようにする。
また、上記メッセージを受信できたかどうかを、ACK又はNACKメッセージとして送信元に送り返す。図40はACK及びNACKメッセージの一例を示している。番号6のメッセージIDを、受け取ったメッセージのメッセージIDと同じくすることで、ACK又はNACKメッセージを受け取った方は、自分が送ったどのメッセージに対するものかを知ることができる。全パケットを受信しメッセージが受け取られると、ACKメッセージを送信元に返す。もし全パケットを所定の時間内に受信できないなど通信に何らかの障害が発生したと思われる場合には、番号10にエラーコードを代入してNACKメッセージを送信元に送り返す。送信元ではACK又はNACKメッセージを所定の時間待ち、時間内にどちらのメッセージも返ってこなければ再送を試みる。また、何度か再送を試みてもACK又はNACKメッセージが返ってこない場合には、通信エラーとなり、例えばシステムを停止させる等の措置をとる。
以下では、各サブシステムに共通に用いられるメッセージの送受信と処理の仕組みについて説明し、その後、各サブシステム毎に固有の構成、具体的メッセージとそのメッセージを受け取った時の動作について説明する。
図41は、環境管理サーバ101、作業ロボット102、及び操作端末103の各制御手段110,115,118において共通に利用されるメッセージ処理の構成1300を示している。本構成1300は、送受信手段109から入力されたパケットをメッセージとして再構築するメッセージ受信部1301と、再構築されたメッセージを蓄積するメッセージキュー1302と、メッセージキューの先頭から一つずつメッセージを取り出して解釈し、メッセージ処理部1303に引き渡すメッセージハンドラ1304とを備えている。前記メッセージ受信部1301及び前記メッセージハンドラ1304は、それぞれスレッドプログラム等として実装することで、メッセージ受信を行いながら他のメッセージを処理することが可能である。
図42は、図41の構成1300におけるメッセージをやりとりする動作を示したフローチャートである。本動作では、ステップS1401でメッセージキュー1302にメッセージが蓄積されているかをチェックし、蓄積されていれば上から一つメッセージを取り出す。ステップS1402では、そのメッセージが停止メッセージかどうかを判定し、もし前記メッセージが停止メッセージであれば、終了処理(ステップS1403)を行い、停止する。ここで終了処理とは、他のスレッド(例えば、メッセージ受信部1301等)を停止させることである。ステップS1402の判定の結果、前記メッセージが停止メッセージでなければ、ステップS1404のメッセージ処理を前記メッセージ処理部1303で行う。メッセージ処理部1303では、それぞれの構成要素に応じた動作を実行したり、内部変数の値(例えば、環境管理サーバ101であれば物品や移動体の位置等)を問い合わせ先にメッセージとして送信する。なお、各サブシステム毎に動作が異なるので、それらについては後述する。
以上で、各サブシステムにおけるメッセージの基本的なやりとりの仕組みを説明した。ところで、図41に示したメッセージハンドラ1304のメッセージ処理部1303は、環境管理サーバ101、作業ロボット102、及び操作端末103の各々のサブシステム毎に、理解できるメッセージ及びメッセージに対するアクションが異なる。そこで、具体的な作業を取り上げ、その作業に沿って各サブシステムの制御手段の処理構成及び処理されるメッセージ毎にその動作を説明することとする。
ここでは具体的な作業として、オペレータがある物品(例えば空き缶)を指定した場所(例えばゴミ箱)に移動させる例を取り上げる。
まず、操作端末103の制御手段144の動作について述べる。図43は操作端末103の制御手段144の処理構成を示している。操作端末103の制御手段144では、前述した共通の構成に加えて、物品操作手段142から入力された操作指示をメッセージとして生成する操作メッセージ生成部1501と、最新の環境情報(部屋の映像や物品の位置など)を取得し前記表示手段143に表示するための表示制御部1502とを有する。操作メッセージ生成部1501は、オペレータからの操作指示を上記メッセージの書式に合わせてメッセージとして生成し、メッセージキュー1302に蓄積する。表示制御部1502は、環境情報を環境管理サーバ101に常に問い合わせており、表示手段143に視覚情報として表示している。オペレータは、前記物品操作手段142(例えばマウス、タッチパネル又はタブレット等のポインティングデバイスなど)を用い、前記表示手段143を見ながら物品の移動等の操作指示を行う。ここでは物品操作手段142としてGUIを用いたが、音声認識・合成を用いた音声I/F(インターフェース)やキーボード等のI/Fを用いることも可能である。前記操作メッセージ生成部1501は、メッセージ受信部1301と同様、スレッドプログラムとして他のスレッドと並列で実行されており、オペレータからの操作指示を常に受け付けることが可能となっている。
操作端末103は、電源がONされるとその直後に一度だけ初期設定を行う。これには、例えば、他のサブシステムとの通信路の確立等や、各スレッドプログラムの実行などが含まれる。
まず、操作メッセージ生成部1501は、物品操作手段142にオペレータからの指示が入力されると、指示を含んだメッセージをメッセージキュー1302にため込む。図44は、オペレータが前記表示手段143を参照しながら、マウスを用いて物品(空き缶)を床(座標(X0,Y0,Z0))からゴミ箱(座標(X1,Y1,Z1))にドラッグ操作した例を示している。図45は、この時に操作メッセージ生成部1501で生成されるメッセージの一例を示している。図45中の番号1〜6及び11の項目は、正しくメッセージを受信するのに必要な項目であるが、メッセージの内容とは無関係なので、ここでは説明を省略する。ここでは、送信元(オペレータを示す“P0”)から送信先(操作端末を示す“I0”)にコマンド(ロボットへの物品移動コマンド“01”)を送るメッセージが表されている。番号10の引数は、一つ(最初の“001”は移動する物品の個数)の物品(座標(X0,Y0,Z0)にある物品)を座標(X1,Y1,Z1)の位置に移動することを意味している。複数の物品を移動する場合は、各物品につき、現在の位置と移動先の位置とが交互に並べられる。
図46は、操作端末103におけるメッセージ処理部1303の処理のフローチャートを示す。メッセージハンドラ1304は、メッセージキュー1302からメッセージを一つ取り出した後、ステップS1801において、その内容が作業ロボット102に対する指示であることを判断し、ステップS1802でその指示を作業単位に分解する。ここで、「物品の移動」の指示は、移動する各物品につき、「移動(物品の位置)」、「把持(物品)」、「移動(移動先の場所)」、「設置」という4つの作業単位に分解される。複数の物品に対して移動の指示が与えられた場合、前記4つの作業単位を一組として物品の数だけ並べられたものとなる。ステップS1803では、次に実行すべき作業単位が存在するかを判定する。ステップS1804では、一つの作業単位を前記作業ロボット102に送信する。
図47は、一つの作業単位を作業ロボット102へ送る場合のメッセージの一例を示している。本例は、送信元(操作端末を示す“I0”)から送信先(作業ロボットを示す“R0”)にコマンド(ロボット移動コマンド“01”)を送ることを意味し、番号10の引数(座標(X0,Y0,Z0))はその移動先を示している。
次に、ステップS1805において、作業ロボット102からその作業単位の終了状態(ACK又はNACKメッセージ)を受け取り、ステップS1806で作業単位が正常に終了したか否かを判定し、もしNACKメッセージを受け取ったか、あるいは所定の時間以上メッセージが返ってこなければ、エラー処理(ステップS1807)を行う。このエラー処理とは、例えば、作業ロボット102が障害物などが原因で移動できなくなったとか、指定した物品が把持できなかった等のトラブルが発生したときに、オペレータにその旨をGUIを通じて提示する処理である。ここで、音声I/Fがあれば音声で提示しても構わない。そして、再びステップS1803に戻り、処理する作業単位がなければメッセージ処理部を終了し、次のメッセージをメッセージキュー1302から取り出し、処理を行う。
ここで、前記作業単位は1つずつ送信することとしたが、すべての作業単位を一度に送信し、作業ロボット側で各作業単位の終了確認を行うように実装することも可能である。
次に、作業ロボット102の制御手段115の動作について説明する。図48は作業ロボット102の制御手段115の処理構成を示している。
作業ロボット102は、電源がONされるとその直後に一度だけ初期設定を行う。この初期設定には、例えば、通信路の確立や各スレッドプログラムの実行等が含まれる。メッセージ受信部1301は、上述した操作端末103から送られた作業単位を含んだメッセージ(図47参照)を送受信手段109で受け取り、そのメッセージをメッセージキュー1302に蓄える。図49に、作業ロボット102が理解できるメッセージの一例を示す。
図50は、作業ロボット102におけるメッセージ処理部1303の処理のフローチャートである。メッセージ処理部1303に入力されるメッセージは、例えば、前記操作端末103から送られた作業単位を含むメッセージである。ここではまず、ステップS2201、S2202及びS2203においてどの作業単位かを判定し、それぞれの作業単位に合った処理を実行する。
まず、ステップS2201で作業単位が「移動」であった場合、ステップS2204に進み、指示位置までの経路を移動計画作成手段113を用いて求める。次にステップS2205において、移動計画作成手段113で求まった経路に従って移動する制御コマンドを移動手段114に送り、前記指示位置まで移動処理を実行する。例えば図47のメッセージを受け取った場合には、このようなフローが実行される。
一方、ステップS2202で作業単位が「把持」であった場合、ステップS2206に進み、把持を行うために前記センサ(例えばカメラ)111を用いて物品の姿勢を検出し、アーム201及びハンド202の動作を計算し(ステップS2207)、物品を把持するコマンドを把持手段112に送り、物品を把持する(ステップS2208)。なお、ステップS2206ではセンサを用いて物品の姿勢を検知するとしたが、環境管理サーバ101に物品の姿勢を問い合わせることにより物品の姿勢を認識するようにしてもよい。物品の現在の姿勢は前記物品の履歴データ(図31参照)に記録されている。
さらに、ステップS2203で作業単位が「設置」であった場合、設置姿勢決定手段140を用いて物品の設置姿勢を計算し(ステップS2209)、設置位置決定手段141を用いて物品の設置場所の状況を調べ、設置できなければ適切な設置位置を探し出す(ステップS2210)。そして、前記設置姿勢と設置位置に合うようにアーム201とハンド202の動作を計算し(ステップS2211)、アーム201及びハンド202を動作させる制御コマンドを発行して把持物品を設置する(ステップS2212)。
最後に、ステップS2213において、移動、把持及び設置が終了した旨をメッセージとして作業指示元(操作端末)に送信する。
本発明の特徴の一つは、この作業ロボット102のメッセージ処理部1303における設置メッセージを受けた時の処理にある。すなわち、本物品管理システム100においては、設置姿勢決定手段140と設置位置決定手段141とを用いて、把持した物品とその設置位置の状況とに応じて、設置位置や設置姿勢を適宜変更する。この処理は、従来技術に挙げたような工場内での自動倉庫の処理とは大きく異なっている。
図51は、設置姿勢決定手段140の一般的な動作を示すフローチャートである。ステップS2601では、設置姿勢を決める必要があるかどうかを判定する。例えば、設置位置が箱の内部であり、把持物品が箱よりも小さいような場合には、設置姿勢はあまり問われないので、把持した時の姿勢を保つ。一方、ステップS2601において設置姿勢を決める必要があると判定された場合、ステップS2602において、設置位置の状況と把持物品の属性とに基づき、把持物品の設置姿勢を計算する。
図52は、設置姿勢決定手段140の具体的な動作の一例を示すフローチャートである。本動作例では、まずステップS2301において、設置位置が箱(例えばゴミ箱)であるかどうかを判定する。これは、環境管理サーバ101にメッセージ(図56のコマンド番号12参照)で問い合わせることにより実現できる。ここで、設置位置が箱であった場合、設置姿勢は問われないので、把持した時の姿勢を保つ。もし、ステップS2301において設置位置が箱でなかった場合、さらにステップS2302において、把持物品と属性(例えば、物品の種類や形状等)が同一又は類似した物品が設置位置付近に存在するか否かを調べる。なお、「類似」とは、例えば、種類が同じであるとか、種類が異なっていても形状が類似していること等を意味する。また、形状が類似しているとは、形状のパラメータ(円柱であれば高さと底面の半径、球であれば半径、また、直方体であれば3辺(幅、高さ、奥行き)の長さ)が類似していることを言う。形状のパラメータが類似しているか否かは、例えば、各パラメータの差が所定の閾値以下に収まっていること等に基づいて判定することができる。なお、このような判定も、環境管理サーバ101にデータを問い合わせることにより実現できる(図56のコマンド番号23参照)。
ここで、把持物品と類似した物品が設置位置付近に存在する場合には、ステップS2303で設置姿勢を前記類似物品の姿勢と同様にする。類似物品の姿勢は、物品履歴データ302における姿勢データを参照することで得られる。ステップS2302において設置位置に把持物品と類似した物品が存在しないと判断されると、予め決められた設置姿勢を用いる(ステップS2304)。ここで予め決められた設置姿勢とは、設置位置の家具に適した姿勢であり、環境マップ108の家具属性データ906(図35の家具属性データ906の「主な物品の形状と姿勢」参照)に記録されたデータを利用して定められる。そのような姿勢が環境マップ108の家具属性データ906に記録されていなければ、例えば、物品の形状を計測したときの姿勢を用いる。例えば、図33(b)における物品座標が実世界座標と一致するように物品を設置する。
このように、指定された設置位置付近に把持物品と類似した物品が置いてある場合には、把持物品の設置姿勢を類似物品の姿勢と合わせることで、整然と物品を並べることができ、家庭内において省スペース化が図られ、外観も見栄えもよくすることができる。
次に、図53を参照しながら、設置位置決定手段141の一般的な動作を説明する。まず、ステップS2801において、設置したときに物品の姿勢が崩れてもいいかどうかを、設置位置の状況及び把持物品の属性から判定する。もし設置後の姿勢が崩れてはいけないならば、ステップS2802に進み、設置位置に他の物品が存在するかを判定する。設置位置に他の物品が存在すれば、ステップS2803に進み、把持物品が設置位置にある他の物品と重なってもよいかどうかを判定する。他の物品と重なってはいけない場合には、ステップS2804において、設置位置付近で設置可能な新しい設置位置を探し出す。
次に、図54を参照しながら、設置位置決定手段141の具体的な動作の一例を説明する。本動作例では、まず、ステップS2401において、設置位置が箱であるかどうかを調べる。もし箱でなければステップS2402に進む。一方、設置位置が箱であれば、設置位置は変更せずに設置位置決定手段141の処理から抜け出る。
ステップS2402では、設置位置に他の物品が存在するかを調べる。ここでも、他の物品が存在しなければ設置位置の変更は行わない。なお、設置位置に他の物品が存在するか否かは、環境管理サーバ101に問い合わせのメッセージ(図56のコマンド番号23参照)を送ることで調べることができる。もし、設置位置に他の物品が存在するならば、ステップS2403に進み、他の物品の上面が把持物品の設置必要面積よりも大きいか否かを判定する。そして、もし大きければ、ステップS2404において、前記他の物品の上面はフラットであるかどうかを判定する。なお、ここでいう「フラット」には、完全に平坦な状態のみでなく、実質的に平坦な状態も含まれる。つまり、ここでいう「フラット」には慣習上平坦と見なされる状態も含まれ、多少の傾斜や凹凸があったとしても、把持物品を設置できる程度であれば平坦と見なされる。設置されている物品の上面の面積及びフラットであるかどうかは、環境管理サーバ101に形状データや設置姿勢(物品の履歴データとして記録されている)を問い合わせることにより知ることができる(図56のコマンド番号23参照)。
もし、前記他の物品の上面がフラットであった場合は、設置位置を変更することなく、前記他の物品の上に把持物品を積み重ねる。ステップS2403において前記他の物品の上面面積が把持物品の必要設置面積より小さいと判定されるか、またはステップS2404において前記他の物品の上面がフラットでないと判定されると、ステップS2405に進み、設置位置付近で何も置かれていない場所を探し、この場所を新しい設置位置とする。なお、ステップS2402において設置位置に他の物品が存在しないと判定された場合、近傍に同じ種類あるいは同じ形状の物品があるか否かを判断し、把持物品の設置位置をそれら物品の隣の位置に設定するようにしてもよい。
このように、設置位置に既に他の物品が存在する場合、その設置物品の上に把持物品を積み重ねられるかどうかを判定し、積み重ねることができない場合には設置位置を変更することで、作業者が物品の設置先の状況を知らずに適当に設置位置を指示しても、ロボットは柔軟に対応することができる。
なお、図44に示す例では設置位置がゴミ箱であるので、結果的に作業ロボット102は、空き缶を把持した時の姿勢のままでゴミ箱の中に落とすことになる。
また、その他の例として、床の上に置かれた書籍を本棚に設置する例を説明する。この場合、環境管理サーバ101に問い合わせることによって、設置位置にその他の書籍があり、それら書籍が把持物品である書籍と同じ種類の物品であることが分かると、把持した書籍の姿勢を既に収納されている他の書籍の姿勢と同じになるように変更し(この場合、本棚内に収納されている書籍は立った姿勢で収納されているので、把持した書籍も立った姿勢に変更し)、本棚内に設置する。一方、設置位置に書籍が積み上げられていれば、把持した書籍が安定した姿勢で設置できる限り、把持した書籍を他の書籍と同じ姿勢で積み上げることができる。また、設置位置に書籍ではなくテレビがあり、このテレビの上面がフラットであれば、把持した書籍を安定した姿勢で設置できるため、把持した書籍をテレビの上に設置する。一方、設置位置に花瓶のような上面がフラットでない物品が置かれてあれば、花瓶の上に設置するのではなく、書籍をその横の空きスペースに設置する。
なお、作業ロボット102が作業している間は、どのタイミングであっても、指定された動作が実行できない等のトラブルが起これば、作業指示元(この例では操作端末103)に対してエラーメッセージを送信し、作業を一時中断する。
また、作業ロボット102は、通常は自己の車輪等の動作量(回転数、回転角度等)を用いて自己位置を計測しているが、床面と車輪とのスリップや避けきれなかった障害物との衝突などに起因して自己位置がずれてくる場合も考えられる。そこで、この位置ずれを補正するために、環境管理サーバ101に自己位置の問い合わせを定期的に行うようにしてもよい。さらに、物品名が指定されて把持するときには、物品の形状等の属性を調べ、当該属性をカメラなどのセンサで目前の物品のうちどれが指定された物品かを探し出すときの手がかりに使うことができる。従って、必要に応じて、物品の属性や作業ロボット102の自己位置、あるいは、移動計画作成手段113に必要な環境マップ108等を、環境管理サーバ101に問い合わせてもよい。なお、これらの問い合わせも、環境管理サーバ101に問い合わせのメッセージを送り、その回答を受け取ることで実現される。
最後に、環境管理サーバ101の制御手段110の動作について説明する。図55は、環境管理サーバ101の制御手段110の処理構成を示している。
環境管理サーバ101は、電源がONされるとその直後に一度だけ初期設定を行う。これには、例えば、通信路の確立等や各スレッドプログラムの実行が含まれる。そして、上述した作業ロボット102や操作端末103からの問い合わせを含んだメッセージを送受信手段109で受け取り、メッセージ受信部1301がそのメッセージをメッセージキュー1302に蓄える。図56は、環境管理サーバ101が理解できるメッセージの一例である。
図57は、環境管理サーバ101におけるメッセージ処理部1303の処理のフローチャートである。本処理ではまず、メッセージキュー1302から先頭のメッセージを取り出し、このメッセージをメッセージ処理部1303に入力する。そして、ステップS2701、S2702、S2703、S2704及びS2705において、このメッセージが何を要求しているかを判断する。
ステップS2701において、ロボット位置の問い合わせがあったと判定すると、物品移動体データベース106からロボット位置の情報を取り出して、問い合わせ先にロボット位置を送信する(ステップS2705)。ステップS2702で、マップ問い合わせと判断されれば、環境マップ108からマップを取り出して、問い合わせ先に送信する(ステップS2706)。マップの情報は、例えば作業ロボット102の経路探索などに使用される。ステップS2703で、前記メッセージが環境情報を問い合わせていると判断すれば、指定した位置の情報を環境マップ108から検索し(ステップS2707)、問い合わせ先に送信する(ステップS2708)。ステップS2704で、前記メッセージが物品情報を問い合わせていると判断すれば、指定した物品の必要な情報を物品移動体データベース106から検索し(ステップS2709)、問い合わせ先に送信する(ステップS2710)。ステップS2705において、前記作業ロボット102などから得られた物品に対する情報を物品移動体データベース106に登録するメッセージであると判断されると、物品移動体データベース106に、指定した物品の属性値を登録する(ステップS2711)。
ここで、物品移動体データベース106及び環境マップ108への問い合わせや情報登録は、前記物品移動体検索・管理手段105及び環境マップ管理手段107を介して行われる。なお、センシング手段120は常に最新の情報をセンシングしており、物品移動体データベース106及び環境マップ108には、物品移動体検索・管理手段105や環境マップ管理手段107を介して情報の更新が常時行われている。
以上、本発明の実施形態に係る物品管理システム100について、その構成及び動作の説明を行った。
この物品管理システム100により、家庭やオフィス等において作業ロボットに物品の運搬作業を行わせる際、どのような物品でも荷崩れすることなく整理された状態で設置することができる。また、曖昧な指示を受けた場合であっても、物品を適切な状態で設置することができる。例えば、本棚に本を設置するときには本を縦に入れたり、設置位置がゴミ箱ならば姿勢を気にせずに入れたり、設置位置がいわゆる食器洗い機なら食器を所定の姿勢で入れたり等、指定された設置位置と物品との関係に応じて、物品を適切な状態で設置することができる。
−発明の効果−
本発明によれば、居住空間内に存在する物品を作業ロボットで移動させる際、移動対象物品の設置姿勢を、設置位置付近の他の物品や設置位置付近の状況に応じて決定するようにしたので、同じ種類や形状の物品を秩序正しく整理する等、物品を適切な状態に設置することができる。また、物品と設置位置との関係を考慮に入れた適切な設置が可能となる。
さらに、本発明によれば、指定された設置位置に他の物品が置いてあったり、指定された設置位置に移動対象物品が置けないような場合には、設置位置を指定された位置の近傍に変更することとした。また、移動対象物品を他の物品の上に積載できる場合には、設置位置を変えずに移動対象物品を他の物品の上に積載するようにした。そのため、設置位置の状況を細かく把握せずに物品の設置位置を指定したとしても、作業ロボットに適切に設置作業を行わせることができ、物品を適切な状態に設置することができる。
(第5の実施形態)
ここでの本発明は、その目的とするところは、家庭やオフィス等の居住空間内において作業ロボットに物品の移動作業を行わせる際に、持ち替え動作を伴うことなく移動対象物品を円滑に移動させることにある。
本発明に係る物品管理システムは、居住空間内に存在する物品を管理するシステムであって、移動対象物品と該移動対象物品の移動先の設置位置とを指定する物品操作手段と、物品を保持する保持手段を有し、前記移動対象物品を前記保持手段で保持して前記設置位置に設置する作業ロボットと、前記居住空間内の物品の情報と前記居住空間内のマップ情報とを有するデータベースと、前記データベース内の前記移動対象物品及び前記設置位置に関する情報に基づいて、前記保持手段による前記移動対象物品の保持位置を、前記作業ロボットが前記移動対象物品を持ち替えずに前記設置位置に設置する位置に決定する保持位置決定手段とを備えているものである。
上記物品管理システムによれば、データベース内の移動対象物品及び設置位置に関する情報に基づいて移動対象物品の保持位置が予め適切な位置に決定されるので、作業ロボットは持ち替え動作を伴うことなく移動対象物品を設置位置に設置することができる。
また、本発明に係る物品管理システムは、少なくとも前記居住空間内の物品の情報を有するデータベースと、前記物品操作手段と、前記作業ロボットと、前記データベース内の前記移動対象物品の情報に基づいて前記移動対象物品が前記設置位置と接する領域である接地領域を選定し、前記保持手段による前記移動対象物品の保持位置を、前記保持手段が前記接地領域を覆わずかつ前記保持手段に前記移動対象物品を持ち替えずに前記設置位置に設置させる位置に決定する保持位置決定手段とを備えているものである。
上記物品管理システムによれば、データベース内の移動対象物品に関する情報に基づいて、移動対象物品の保持位置が接地領域を覆わない適切な位置に予め決定されるので、作業ロボットは持ち替え動作を伴うことなく移動対象物品を設置位置に設置することができる。
また、本発明に係る物品管理システムは、前記物品操作手段と、前記作業ロボットと、前記居住空間内の物品の情報と前記作業ロボットの動作制約情報と前記居住空間内のマップ情報とを有するデータベースと、前記データベース内の前記作業ロボットの動作制約情報並びに前記移動対象物品及び前記設置位置に関する情報に基づいて、前記保持手段による前記移動対象物品の保持位置を、前記作業ロボットが前記移動対象物品を持ち替えずに前記設置位置に設置する位置に決定する保持位置決定手段とを備えているものである。
上記物品管理システムによれば、データベース内の作業ロボットの動作制約情報並びに前記移動対象物品及び前記設置位置に関する情報に基づいて、移動対象物品の保持位置が予め適切な位置に予め決定されるので、作業ロボットは持ち替え動作を伴うことなく移動対象物品を設置位置に設置することができる。
なお、前記物品管理システムにおいて、作業ロボットの保持手段とは、物品を保持するものであればよく、具体的な保持方法は何ら限定されるものではない。保持手段として、例えば、物品を把持する手段、支持する手段、吸引保持する手段、磁力又は電気力を利用して保持する手段等、種々の手段を用いることができる。
また、居住空間とは、例えば家屋やオフィスなど、人と物品とが相互に関わり合いをもって存在し合う空間を言う。
すなわち、ここでの態様1では、居住空間内に存在する物品を管理するシステムであって、移動対象物品と該移動対象物品の移動先の設置位置とを指定する物品操作手段と、物品を保持する保持手段を有し、前記移動対象物品を前記保持手段で保持して前記設置位置に設置する作業ロボットと、前記居住空間内の物品の情報と前記居住空間内のマップ情報とを有するデータベースと、前記データベース内の前記移動対象物品及び前記設置位置に関する情報に基づいて、前記保持手段による前記移動対象物品の保持位置を、前記作業ロボットが前記移動対象物品を持ち替えずに前記設置位置に設置する位置に決定する保持位置決定手段とを備えているものを提供する。
態様2では、態様1において、前記保持位置決定手段は、前記データベース内の前記移動対象物品及び前記設置位置に関する情報に基づいて、前記保持手段が前記移動対象物品を保持する前に、前記移動対象物品が前記設置位置と接する領域である接地領域を予め選定し、前記保持手段が前記接地領域を覆わないように保持位置を決定する。
態様3では、態様2において、前記保持位置決定手段は、前記データベース内の前記設置位置に関する情報に基づいて前記設置位置の許容スペースを調べ、前記接地領域として、少なくとも前記移動対象物品を前記許容スペースに収める接地領域を選定する。
態様4では、態様2において、前記保持位置決定手段は、前記データベース内の前記設置位置に関する情報に基づいて前記設置位置の許容スペースを調べ、前記接地領域として、前記許容スペースから前記保持手段の設置動作に必要なスペースを除外した残りのスペースに前記移動対象物品を収める接地領域を選定する。
態様5では、態様1において、前記保持位置決定手段は、移動先に指定された設置位置が箱の内部であるか否かを判定し、設置位置が箱の内部である場合には、前記移動対象物品の接地領域の選定を行わずに保持位置を決定する。
態様6では、態様1において、居住空間内に存在する物品には、人が掴む部分と人が掴まない部分とからなる特定物品が含まれ、前記保持位置決定手段は、前記移動対象物品が前記特定物品でありかつ前記設置位置が人であるか否かを判定し、前記移動対象物品が前記特定物品でありかつ前記設置位置が人である場合には人が掴まない部分を保持位置とする。
態様7では、居住空間内に存在する物品を管理するシステムであって、少なくとも前記居住空間内の物品の情報を有するデータベースと、移動対象物品と該移動対象物品の移動先の設置位置とを指定する物品操作手段と、物品を保持する保持手段を有し、前記移動対象物品を前記保持手段で保持して前記設置位置に設置する作業ロボットと、前記データベース内の前記移動対象物品の情報に基づいて前記移動対象物品が前記設置位置と接する領域である接地領域を選定し、前記保持手段による前記移動対象物品の保持位置を、前記保持手段が前記接地領域を覆わずかつ前記保持手段に前記移動対象物品を持ち替えずに前記設置位置に設置させる位置に決定する保持位置決定手段とを備えているものを提供する。
態様8では、居住空間内に存在する物品を管理するシステムであって、移動対象物品と該移動対象物品の移動先の設置位置とを指定する物品操作手段と、物品を保持する保持手段を有し、前記移動対象物品を前記保持手段で保持して前記設置位置に設置する作業ロボットと、前記居住空間内の物品の情報と前記作業ロボットの動作制約情報と前記居住空間内のマップ情報とを有するデータベースと、前記データベース内の前記作業ロボットの動作制約情報並びに前記移動対象物品及び前記設置位置に関する情報に基づいて、前記保持手段による前記移動対象物品の保持位置を、前記作業ロボットが前記移動対象物品を持ち替えずに前記設置位置に設置する位置に決定する保持位置決定手段とを備えているものを提供する。
本発明の第5の実施形態も、居住空間内に存在する物品を管理する物品管理システムに関するものである。上述の第4の実施形態等と重複する部分については、詳細な説明は適宜省略する。
図58は本実施形態に係る物品管理システム100の全体構成の例を示したブロック図である。図58では、第1の実施形態における図2と共通の構成要素については、図2と同一の符号を付している。
まず、本実施形態における物品の形状データについて説明する。図60(a)は本来の物品(例えば飲み物の缶)の形状(円筒)を示している。このような物品に対し、ステレオ視による三次元計測技術等を用いることにより、図60(b)のように物品の表面を複数の面で近似したポリゴンデータを得ることができる。各面は適当に定めた物品座標(図中のX’、Y’、Z’)上での頂点の座標の集合として記述される。また、各面には、いくつかの属性が付与されている。具体的には、その面が接地面としてふさわしい面かどうかのフラグ、人がその物品を掴むときに通常使用される面かどうかのフラグ等である。接地面としてふさわしい面とは、例えばコップの底面やジュース缶の底の面などである。人が掴むときに通常使用される面とは、例えば刃物の柄の部分やコップの取っ手部分などである。このような属性は、物品データの入力時に、他の属性と同様、人手で入力されること等によって付与される。このように、居住空間内に存在する物品には、人が掴む部分と人が掴まない部分とからなる特定の物品が含まれる。
例えば、ある一つの面(例えば三角形ポリゴンの場合)のデータは、以下のように表される。
(PID,x1’,y1’,z1’,x2’,y2’,z2’,x3’,y3’,z3’,1,0)
上記データのうち、最初のPIDは、その面の番号(物品データから一意に定まる番号)を示している。次の9値は物品座標での面の3頂点位置を示し、次の値「1」は、接地にふさわしい面であることを示している。なお、接地面としてふさわしくない場合は、この値は「0」となる。最後の値「0」は、人が通常掴まない面であることを示している。人が通常掴む面である場合には、この値は「1」となる。
物品の姿勢データについては、第4の実施形態と同様であり、ここではその説明を省略する。
次に、移動体を扱うデータベース(図59参照)について説明する。移動体を扱うデータベースは、それぞれ移動体データ601、移動体履歴データ602、及び移動体属性データ603の3種類のデータを蓄積するサブデータベースからなり、それぞれのデータ内容は下記の通りである。
移動体データ601は、個々の移動体を区別するためのIDと、当該移動体の移動履歴を格納した移動体履歴データ602へのポインタとから構成される。
移動体履歴データ602は、時刻と、当該時刻における移動体の位置と、当該時刻における移動体の状態とから構成される。なお、移動体の位置は、平面上における座標(X、Y)と、向きrの3値によって表される。
移動体属性データ603は、当該移動体の持つ固有の物理属性情報を蓄えるものであり、重さ、形状等がその一例として挙げられている。
なお、移動体履歴データ602において、移動体の状態とは、移動体が人物であれば「座る」、「立つ」、「寝る」、「歩く」などの一般的な人間の動作を表し、移動体がロボットであれば「把持」、「解放」など、ロボットが物品に対して行うことのできる操作を表す。これらは、あらかじめ移動体毎に可能な状態を決めておき、それらのうちのどれかを選択するようにすればよい。なお、移動体がロボットの場合には、操作内容だけでなく、操作対象物品IDと操作内容とを組にして表すこととする。
移動体属性データ603には、例えば、それが作業ロボットであった場合、作業ロボットの重量、形状、及び把持手段の占有空間情報(動作制約情報の一部)等が記録されている。ここで把持手段の占有空間情報とは、物品を把持するために必要となる把持手段自身が占める空間の情報である。
図61は作業ロボットの把持手段112が物品701を把持するときに占有する空間を説明する図である。この具体例では、物品701の把持方法として、物品701を上方から把持する方法と、側方から把持する方法とがあり得る。上方から把持する場合には、把持物品701の上方に長さaの占有高さ702、横方向に長さb(ロボットハンドの厚み)の2倍分だけの占有領域703が必要となる。一方、側方から把持する場合には、横方向に長さbの2倍分だけの占有領域703を考慮しておけばよい。
後述するように、本物品管理システム100の機能の一つとして、ロボット102が把持物品を目的の設置位置に移動させる際、設置位置の状況を踏まえて、把持物品の持ち替えが不要なように予め把持位置を決定しておく機能がある。このような機能を発揮するためには、例えば、指定された設置位置にどれくらいのスペースがあるか等を予め知っておく必要があり、物品の情報として、物品がどの場所にどのような姿勢で置かれているか等をデータベースに蓄えておくことが望ましい。しかし、そのためには、必ずしも過去にさかのぼった履歴データまでは必要とせず、常に最新の情報を把握していれば足りる。ただし、以下に説明する例は、最新の情報だけでなく、物品及び移動体の履歴も記録する例である。
物品移動体データベース106のデータ更新の例については、第1の実施形態で示したとおりである。
<環境マップ>
環境マップは、部屋や家具などの通常ほとんど移動しない不動物体の構造情報から成る。構造情報とは、少なくとも不動物体が占める空間内部及びその上部に存在する、他の物体を設置可能な面(例えば、部屋であれば床、収納であれば棚)の領域情報(例えば、その面の外接多角形の頂点)と上部の高さを言う。
ただし、上方への高さとは、設置面に対して実質的に垂直な方向への距離を言い、必ずしも上下方向の距離のみを意味する訳ではない。
環境マップのデータ例、環境マップ管理手段、および環境管理サーバの制御手段については、第4の実施形態と同様であり、ここでは説明を省略する。
−作業ロボットの構成−
作業ロボットの構成も上述の第4の実施形態等と同様であるが、設置位置決定手段119および設置位置決定手段120に代えて、把持手段112(保持手段のより具体的な形態)による物品の把持位置を決定する把持位置決定手段150(把持手段112ではなく、より一般的に保持手段を用いる場合は保持位置決定手段)を備えている。
把持位置決定手段150は、把持物品の情報や指定された設置位置の情報を環境管理サーバ101に問い合わせ、把持手段112が把持物品を持ち替えずに設置位置に設置できるように、把持手段112の把持位置を決定する。
また、把持位置決定手段150は、把持手段112が移動対象物品を把持する前に、移動対象物品が設置位置と接する領域である接地領域を予め選定し、上記把持手段112が前記接地領域を覆わないように把持位置を決定する。
把持位置決定手段150は、環境管理サーバ101に問い合わせることにより、指定された設置位置の許容スペースを調べ、前記接地領域として、少なくとも前記移動対象物品を前記許容スペースに収めるような接地領域を選定する。なお、ここで「スペース」とは、2次元領域、高さ、又は2次元領域と高さとで規定される3次元空間を意味し、設置位置の許容スペースとは、例えば当該スペースが直方体状の空間の場合には、設置可能領域×上方高さを意味する。
また、把持位置決定手段150は、環境管理サーバ101に問い合わせることにより、指定された設置位置の許容面積を調べ、前記接地領域として、前記許容面積よりも小さな面積を有する接地領域を選定することが好ましい。また、設置の際における把持手段112自身の占有面積を考慮し、前記接地領域として、前記許容面積から把持手段112の必要面積(設置動作に必要な設置面上の面積)を除外した残りの面積よりも小さな面積を有する接地領域を選定することが好ましい。
把持位置決定手段150は、環境管理サーバ101に問い合わせることにより、指定された設置位置の許容高さを調べ、前記接地領域として、設置時の移動対象物品の高さが前記許容高さ以下になるような接地領域を選定する。また、設置の際における把持手段112自身の占有高さを考慮し、前記接地領域として、設置時の移動対象物品の高さが前記許容高さから把持手段112の必要高さ(設置動作に必要な高さ)を除外した残りの高さ以下になるような接地領域を選定することが好ましい。
なお、把持位置決定手段150の詳しい動作については後述する。
なお、図58では、本物品管理システム100が環境管理サーバ101、作業ロボット102、及び操作端末103の3つのサブシステムからなり、それらサブシステムが無線または有線などのネットワークを介して互いに情報をやりとりするような構成をなす例を示した。しかし、本発明に係る物品管理システムの構成は、上記構成に限定されるものではない。例えば、操作端末103が環境管理サーバ101あるいは作業ロボット102に付随されている構成であってもよい。また、ロボット102も1台ではなく、複数台が協調しながら作業を並行して行う構成でも構わない。さらに、作業ロボット102の移動計画作成手段113および把持位置決定手段150を環境管理サーバ101に持たせて、その計算結果を送信するようにしてもかまわない。
−物品管理システムの動作−
以降では、本物品管理システム100の動作、すなわち、環境管理サーバ101、作業ロボット102、及び操作端末103の各サブシステムにおける制御手段110,115,118がどのように動作するかを説明する。
各サブシステムにおけるメッセージの基本的なやりとりの仕組みは、第4の実施形態と同様であり、ここではその詳細な説明を省略する。
ここでは具体的な作業として、オペレータが指定した物品を指定した場所に移動させる例として、本を本棚に移動させる例を取り上げる。なお、本棚が複数段あるときには、操作端末103の操作により、何段目の棚に設置するかを指定できるようになっているものとする。
操作端末103の制御手段144の処理構成は、第4の実施形態で示した図43と同様である。
操作メッセージ生成部1501は、物品操作手段142にオペレータからの指示が入力されると、指示を含んだメッセージをメッセージキュー1302にため込む。図62は、オペレータが前記表示手段143を参照しながら、マウスを用いて物品(本)を床(座標(X0,Y0,Z0))から本棚(座標(X1,Y1,Z1))にドラッグ操作した例を示している。図63は、この時に操作メッセージ生成部1501で生成されるメッセージの一例を示している。図63中の番号1〜6及び11の項目は、正しくメッセージを受信するのに必要な項目であるが、メッセージの内容とは無関係なので、ここでは説明を省略する。ここでは、送信元(オペレータを示す“P0”)から送信先(操作端末を示す“I0”)にコマンド(ロボットへの物品移動コマンド“01”)を送るメッセージが表されている。番号10の引数は、一つ(最初の“001”は移動する物品の個数)の物品(座標(X0,Y0,Z0)にある物品)を座標(X1,Y1,Z1)の位置に移動することを意味している。複数の物品を移動する場合は、各物品につき、現在の位置と移動先の位置とが交互に並べられる。
操作端末103におけるメッセージ処理部1303の処理は、第4の実施形態で示した図46と同様であり、一つの作業単位を作業ロボット102へ送る場合のメッセージの一例は図47のとおりである。
次に、作業ロボット102の制御手段115の動作について説明する。図64は作業ロボット102の制御手段115の処理構成を示している。
作業ロボット102は、電源がONされるとその直後に一度だけ初期設定を行う。この初期設定には、例えば、通信路の確立や各スレッドプログラムの実行等が含まれる。メッセージ受信部1301は、上述した操作端末103から送られた作業単位を含んだメッセージ(図47参照)を送受信手段109で受け取り、そのメッセージをメッセージキュー1302に蓄える。図65に、作業ロボット102が理解できるメッセージの一例を示す。
図66は、作業ロボット102におけるメッセージ処理部1303の処理のフローチャートである。メッセージ処理部1303に入力されるメッセージは、例えば、前記操作端末103から送られた作業単位を含むメッセージである。ここではまず、ステップS2401、S2402及びS2403においてどの作業単位かを判定し、それぞれの作業単位に合った処理を実行する。
まず、ステップS2401で作業単位が「移動」であった場合、ステップS2404に進み、指示位置までの経路を移動計画作成手段113を用いて求める。次にステップS2405において、移動計画作成手段113で求まった経路に従って移動する制御コマンドを移動手段114に送り、前記指示位置まで移動処理を実行する。例えば図47のメッセージを受け取った場合には、このようなフローが実行される。
一方、ステップS2402で作業単位が「把持」であった場合、ステップS2406に進み、把持を行うために前記センサ(例えばカメラ)111を用いて物品の姿勢を検出し、ステップS2407において、前記物品の把持位置を計算する。把持位置は、予め設置位置の状況に応じて前記物品の設置姿勢を想定し、前記物品を当該設置姿勢で設置するのに適した位置に決定される。ここで、想定した前記物品の設置姿勢はメモリ等に記憶しておき、次に述べる設置作業時(図66のステップS2411参照)のアーム201及びハンド202の動作計算に用いる。次に、ステップS2408においてアーム201及びハンド202の動作を計算し、ステップS2409において、物品を把持するコマンドを把持手段112に送り、物品を把持する。なお、ステップS2406ではセンサを用いて物品の姿勢を検知するとしたが、環境管理サーバ101に物品の姿勢を問い合わせることにより物品の姿勢を認識するようにしてもよい。物品の現在の姿勢は前記物品の履歴データ(図6参照)に記録されている。
さらに、ステップS2403で作業単位が「設置」であった場合、把持作業時にメモリに記憶した設置姿勢又は指定された設置姿勢に合うように、アーム201及びハンド202の動作を計算し(ステップS2410)、アーム201及びハンド202を動作させる制御コマンドを発行して把持物品を設置する(ステップS2411)。
最後に、ステップS2412において、移動、把持及び設置が終了した旨をメッセージとして作業指示元(操作端末)に送信する。
本発明の特徴の一つは、この作業ロボット102のメッセージ処理部1303における把持メッセージを受けた時の処理にある。この処理は、持ち替えを必要とする従来の技術と異なっている。すなわち、本物品管理システム100においては、把持位置決定手段150を用いて、把持する物品の設置位置の状況等に応じて把持位置を計算し、持ち替えを必要としない物品の移動を行う。
図67は、把持位置決定手段150の動作を示すフローチャートである。本動作では、まずステップS2501において、設置位置が箱の内部であるかどうかを判定する。これは、環境管理サーバ101にメッセージ(図71のコマンド番号12参照)で問い合わせることにより実現できる。設置位置が箱の内部であった場合、設置姿勢は問われないので、把持位置も特に限定されない。そこで、ステップS2502において、把持可能な任意の部分を把持位置に設定する。なお、把持位置を見つける方法は後述する。
一方、設置位置が箱の内部でなかった場合、ステップS2503に進み、設置位置が人の存在する位置であるか否かを判定する。つまり、移動対象物品を人に手渡す場合であるか否かを判定する。設置位置における人の有無は、前記物品移動体データベース106に問い合わせることで知ることができる。設置位置が人の存在する位置である場合、ステップS2504に進み、人が持たない部分を把持位置に設定する。物品のどの部分を人が持つかは、前述したような前記物品移動体データベース106の形状データ等を参照することにより知ることができる。ステップS2503の判定の結果、設置位置が人の存在する位置でなかった場合には、ステップS2505に進み、設置位置の許容領域の形状や上方への高さ(許容高さ)に関する情報を取得する。
設置位置の許容領域は、前記環境マップ108と物品移動体データベース106とに問い合わせることで知ることができる。図68は、設置位置2601の許容領域を求める方法の説明図である。具体的には、環境管理サーバ101から環境マップ108(図35参照)の情報を取得し、次に物品移動体データベース106から物品及び移動体(図示せず)の位置、形状及び姿勢の情報を取得し、物品及び移動体の存在領域を平面モデル化された環境マップ(図68参照)に上方から投影する。その結果、環境マップに何も投影されていない領域として、許容領域2603(図68においてハッチングで示された領域)を得ることができる。ただし、許容領域2603は設置位置と同じZ座標値を持つ平面に限るので、図68の場合、異なる高さを持つ家具2604や移動体(図示せず)などの領域は許容領域から除外される。また、設置位置の上方への高さ(この例では、本棚の棚間の高さ)は環境マップの家具データ1105から得ることができる。前述したように、家具を構成する面にはその上方への高さに関する情報が付加されている。
以上のようにして、ステップS2505において、設置位置の許容領域や上方への高さを知ることができる。次に、ステップS2506において、作業ロボット102の属性データから把持手段112の占有空間情報を得る。
最後に、ステップS2507で、移動対象物品が前記設置位置の許容領域の形状及び上方への高さに収まるよう把持位置を決める。具体的には、まず、設置位置の許容領域の形状に収まる物品の接地面の候補を探す。ただし、実際には把持手段112は自分自身の占有領域を必要とするので(例えば、側方から把持する場合)、把持手段112の占有領域を考慮して、物品の接地面の候補を探し出す。例えば、ステップS2506で得た前記占有空間情報に基づき、前記許容領域の横幅をロボットハンド202の厚みb(図61参照)の2倍分だけ狭めた形状に収まるように、物品の接地面候補を探す。
ここで、前述したように、物品の形状はポリゴンモデルとして前記物品属性データ303に記憶されており、接地面の候補は、各面(ポリゴン)に付与されたフラグを用いることで知ることができる。もちろん、全ての面を接地面の候補としてもよい。
次に、各接地面の候補を接地させた場合の物品の高さが前記上方への高さに収まるかを判定し、収まらない接地面を前記接地面の候補から排除する。そして、残された接地面を前記設置位置の許容領域に接地した時の物品の姿勢を想定し、前記把持手段が物品をその姿勢で無理なく設置できる位置を把持位置とする。
本例では、各接地面に対して予め把持面として所定の2面を1組又は複数組定めておき、それら2面の各重心位置をロボットハンド202の把持位置とする。図69(a)は、図69(b)に示す物品2800を例として、接地面と把持面との関係を示したテーブルである。例えば、面A1を接地面とする場合、把持面として、(A3,A8)、(A4,A9)、(A5,A10)、(A6,A11)、(A7,A12)の5組の組み合わせが考えられる。このようなテーブルを参照することで、把持位置を決定することができる。本例では、各接地面に対し複数の把持位置が存在するが、このうちの一つとして、例えば、2面間の距離が小さいものでかつハンド202の姿勢をできるだけ変更しなくてもよいものを選べばよい。
なお、指定した設置位置が他の物品に囲まれていることを想定し、基本的には、物品は設置姿勢に対して上方から把持するものとする。しかし、設置したときの物品の高さと前記占有空間情報から得られる把持手段112の上方の占有高さa(図61参照)とを合わせた長さが、前記設置位置の上方の高さを上回っている場合には、物品の設置姿勢に対して側方から把持することが好ましい。
また、ここでは接地領域(面)を選択する際、移動対象物品が設置位置の許容領域と許容高さとを共に満足する空間に収まるように選択したが、許容領域又は許容高さのどちらかに収まるように選択してもよい。
このように、物品を把持する際、設置位置の状況及び設置姿勢を先に考慮して把持することで、持ち替えを必要としないスムースな物品の運搬が可能となる。
本物品管理システム100では、結果的に、事前に設置姿勢を考慮して物品を把持するので、接地面を把持手段112で覆うことを避けることができ、持ち替えをせずに物品を運搬することができる。例えば、無造作に置いてある本を本棚に運んで並べる場合、事前に本棚の高さを考慮し、その高さに収まるように本を把持することができるので、持ち替えを行わずに本を本棚に並べることが可能となる。また、はさみや包丁などの刃物を人に渡す場合、事前に人が持つ部分(包丁であれば柄の部分)を把持せず刃の部分を把持するので、持ち替え動作を伴うことなく、人にとって安全かつ便利に物品を渡すことができる。
なお、作業ロボット102が作業している間は、どのタイミングであっても、指定された動作が実行できない等のトラブルが起これば、作業指示元(この例では操作端末103)に対してエラーメッセージを送信し、作業を一時中断する。
また、作業ロボット102は、通常は自己の車輪等の動作量(回転数、回転角度等)を用いて自己位置を計測しているが、床面と車輪とのスリップや避けきれなかった障害物との衝突などに起因して自己位置がずれてくる場合も考えられる。そこで、この位置ずれを補正するために、環境管理サーバ101に自己位置の問い合わせを定期的に行うようにしてもよい。さらに、物品名が指定されて把持するときには、物品の形状等の属性を調べ、当該属性をカメラなどのセンサで目前の物品のうちどれが指定された物品かを探し出すときの手がかりに使うことができる。従って、必要に応じて、物品の属性や作業ロボット102の自己位置、あるいは、移動計画作成手段113に必要な環境マップ108等を、環境管理サーバ101に問い合わせてもよい。なお、これらの問い合わせも、環境管理サーバ101に問い合わせのメッセージを送り、その回答を受け取ることで実現される。
環境管理サーバ101の制御手段110の動作は、第4の実施形態と同様であり、ここでは説明を省略する。
以上、本発明の実施形態に係る物品管理システム100について、その構成及び動作の説明を行った。
これにより、家庭やオフィス等において作業ロボットに物品の運搬作業を行わせる際、どのような形状又はどのような種類の物品でも持ち替えを行わないよう把持することができ、効率的かつ安全な運搬作業を行わせることができる。
−発明の効果−
本発明によれば、居住空間内に存在する物品を管理するシステムにおいて、作業ロボットに物品を移動させる際に移動対象物品の持ち替えが不要になるので、物品の移動をスムーズに行うことができる。また、持ち替えが不要であるので、作業ロボットの保持手段の構成を簡単化することができる。また、作業者が物品の把持姿勢や設置姿勢を指定する煩わしさを軽減することができる。
(第6の実施形態)
ここでの本発明は、その目的とするところは、一般家庭、オフィス、ホテル、店舗及び病院等の、人が活動を行う生活空間内でロボットに物品の取扱い作業を実行させる非産業用の物品取扱いシステムにおいて、ロボットに実行させる作業内容の指定を容易化して、誰もが容易にロボットの操作を可能にすることにある。
本発明の物品取扱いシステムは、所定の生活空間内に存在する物品の取扱いを行うシステムである。このシステムは、上記物品の取扱い作業を行うロボットと、上記ロボットの作業対象物品とその対象物品の移動先とからなる作業命令を入力する入力手段と、上記作業命令を受けて作業計画を作成する作業計画作成手段と、を備え、上記作業計画作成手段は、上記ロボットが上記作業命令に含まれる対象物品を移動先に移動させるための作業計画を、上記移動先への作業を補完しつつ作成する。
この構成によると、入力手段で入力される作業命令は、ロボットの作業対象物品とその対象物品の移動先とで構成される。
この作業命令を受けて、作業計画作成手段は、ロボットが対象物品を移動先に移動させるための作業計画を、その移動先への作業を補完しつつ作成する。
つまり、ユーザが「物品を所望の移動先に移動させる」という作業内容を指定すれば、作業計画作成手段が、ロボットがその物品をその移動先に移動させるという作業計画を作成するため、ユーザが指定した対象物品が指定した移動先に移動される作業が実行される。このときに、上記作業計画作成手段は、移動先に応じた、その移動先への作業を補完した作業計画を作成するため、ユーザは、物品の移動先を考慮した作業を追加して指定しなくてもよい。これにより、ロボットに実行させる作業内容の指定が容易化されて、誰もが容易にロボットの操作が可能になる。
上記移動先は、物品を収容する収容部を有する設備を含み、上記作業計画作成手段は、作業命令に含まれる移動先が上記収容部を有する設備であるときには、上記収容部に物品を入れるために必要な設備の動作を作業計画に追加してもよい。ここで、「設備」とは、生活空間内に置かれていて、物品に対する特定の機能を果たすものを含む。例えば家電機器や収納家具は、ここでいう設備に含まれ、家電機器の一つである冷蔵庫は、物品を収納してその物品の冷却を行う機能を果たす。家電機器の一つである電子レンジは、物品を収納してその物品を加熱する機能を果たす。また、収納家具は、物品を収納する機能を果たす。
上記対象物品は、設備の収容部に収容された物品を含み、上記作業計画作成手段は、作業命令に含まれる対象物品が上記収容部に収容された物品であるときには、上記収容部から物品を取り出すために必要な設備の動作を作業計画に追加してもよい。
上記設備の収容部にはドアが設けられており、上記作業計画作成手段は、上記ドアの開閉動作を作業計画に追加してもよい。
上記移動先は、物品に対する作用を施す設備を含み、上記作業計画作成手段は、作業命令に含まれる移動先が上記作用を施す設備であるときには、対象物品に作用を施すための設備の動作を作業計画に追加してもよい。
このとき、上記作業計画作成手段は、複数の作用の内から、対象物品に応じた作用を選択しかつ、その選択した作用を対象物品に施すための設備の動作を作業計画に追加してもよい。
上記設備は、作業計画を受けて、その作業計画に含まれる設備の動作を実行するものとしてもよい。
上記システムは、ロボットが作業内容に従って作業を開始する前に、作業計画作成手段が作成した作業計画を報知する報知手段をさらに備えてもよい。
上記システムは、生活空間内の状況を管理する空間管理データベースをさらに備え、上記作業計画作成手段は、上記空間管理データベースを参照しながら作業計画を作成するのがよい。
本発明の他の物品取扱いシステムは、所定の生活空間内に存在する物品の取扱いを行うシステムである。
このシステムは、上記物品の取扱い作業を行うロボットと、上記ロボットの作業対象物品とその対象物品の移動先とからなる作業命令を入力する入力手段と、上記作業命令を受けて作業計画を作成する作業計画作成手段と、を備え、上記作業計画作成手段は、上記ロボットが上記作業命令に含まれる対象物品を移動先に移動させるための作業計画を、上記対象物品の移動前の状態に応じた作業を補完しつつ作成する。
本発明のさらに他の物品取扱いシステムは、所定の生活空間内に存在する物品の取扱いを行うシステムである。
このシステムは、上記物品の取扱い作業を行うロボットと、上記生活空間内に存在する設備の動作内容が蓄積された動作内容データベースと、上記ロボットの作業対象物品とその対象物品の移動先とからなる作業命令を入力する入力手段と、上記作業命令を受けて、上記ロボットが上記作業命令に含まれる対象物品を移動先に移動させるための作業計画を、上記動作内容データベースを参照しながら作成する作業計画作成手段と、を備える。
本発明の物品取扱いサーバは、所定の生活空間内に存在する物品の取扱いを行うためのサーバである。
この物品取扱いサーバは、上記物品の取扱い作業を行うロボットの作業対象物品とその対象物品の移動先とからなる作業命令を受けて、上記ロボットの作業計画を作成する作業計画作成手段を備え、上記作業計画作成手段は、上記ロボットが上記作業命令に含まれる対象物品を移動先に移動させるための作業計画を、上記移動先への作業を補完しつつ作成する。
本発明の他の物品取扱いサーバは、上記物品の取扱い作業を行うロボットの作業対象物品とその対象物品の移動先とからなる作業命令を受けて、上記ロボットの作業計画を作成する作業計画作成手段を備え、上記作業計画作成手段は、上記ロボットが上記作業命令に含まれる対象物品を移動先に移動させるための作業計画を、上記対象物品の移動前の状態に応じた作業を補完しつつ作成する。
本発明のさらに他の物品取扱いサーバは、上記物品の取扱い作業を行うロボットの作業対象物品とその対象物品の移動先とからなる作業命令を受けて、上記ロボットが上記作業命令に含まれる対象物品を移動先に移動させるための作業計画を、上記生活空間内に存在する設備の動作内容が蓄積された動作内容データベースを参照しながら作成する作業計画作成手段を備える。
すなわち、ここでの態様1では、所定の生活空間内に存在する物品の取扱いを行うシステムであって、上記物品の取扱い作業を行うロボットと、上記ロボットの作業対象物品とその対象物品の移動先とからなる作業命令を入力する入力手段と、上記作業命令を受けて作業計画を作成する作業計画作成手段と、を備え、上記作業計画作成手段は、上記ロボットが上記作業命令に含まれる対象物品を移動先に移動させるための作業計画を、上記移動先への作業を補完しつつ作成するものを提供する。
態様2では、態様1において、移動先は、物品を収容する収容部を有する設備を含み、作業計画作成手段は、作業命令に含まれる移動先が上記収容部を有する設備であるときには、上記収容部に物品を入れるために必要な設備の動作を作業計画に追加する。
態様3では、態様1において、対象物品は、設備の収容部に収容された物品を含み、作業計画作成手段は、作業命令に含まれる対象物品が上記収容部に収容された物品であるときには、上記収容部から物品を取り出すために必要な設備の動作を作業計画に追加する。
態様4では、態様2又は態様3において、設備の収容部にはドアが設けられており、作業計画作成手段は、上記ドアの開閉動作を作業計画に追加する。
態様5では、態様1において、移動先は、物品に対する作用を施す設備を含み、作業計画作成手段は、作業命令に含まれる移動先が上記作用を施す設備であるときには、対象物品に作用を施すための設備の動作を作業計画に追加する。
態様6では、態様5において、作業計画作成手段は、複数の作用の内から、対象物品に応じた作用を選択しかつ、その選択した作用を対象物品に施すための設備の動作を作業計画に追加する。
態様7では、態様2〜態様6のいずれか1態様において、設備は、作業計画を受けて、その作業計画に含まれる設備の動作を実行する。
態様8では、態様1〜態様6のいずれか1態様において、ロボットが作業内容に従って作業を開始する前に、作業計画作成手段が作成した作業計画を報知する報知手段をさらに備える。
態様9では、態様1〜態様6のいずれか1態様において、生活空間内の状況を管理する空間管理データベースをさらに備え、作業計画作成手段は、上記空間管理データベースを参照しながら作業計画を作成する。
態様10では、所定の生活空間内に存在する物品の取扱いを行うシステムであって、上記物品の取扱い作業を行うロボットと、上記ロボットの作業対象物品とその対象物品の移動先とからなる作業命令を入力する入力手段と、上記作業命令を受けて作業計画を作成する作業計画作成手段と、を備え、上記作業計画作成手段は、上記ロボットが上記作業命令に含まれる対象物品を移動先に移動させるための作業計画を、上記対象物品の移動前の状態に応じた作業を補完しつつ作成する。
態様11では、所定の生活空間内に存在する物品の取扱いを行うシステムであって、上記物品の取扱い作業を行うロボットと、上記生活空間内に存在する設備の動作内容が蓄積された動作内容データベースと、上記ロボットの作業対象物品とその対象物品の移動先とからなる作業命令を入力する入力手段と、上記作業命令を受けて、上記ロボットが上記作業命令に含まれる対象物品を移動先に移動させるための作業計画を、上記動作内容データベースを参照しながら作成する作業計画作成手段と、を備えるものを提供する。
態様12では、所定の生活空間内に存在する物品の取扱いを行うためのサーバであって、上記物品の取扱い作業を行うロボットの作業対象物品とその対象物品の移動先とからなる作業命令を受けて、上記ロボットの作業計画を作成する作業計画作成手段を備え、上記作業計画作成手段は、上記ロボットが上記作業命令に含まれる対象物品を移動先に移動させるための作業計画を、上記移動先への作業を補完しつつ作成するものを提供する。
態様13では、所定の生活空間内に存在する物品の取扱いを行うためのサーバであって、上記物品の取扱い作業を行うロボットの作業対象物品とその対象物品の移動先とからなる作業命令を受けて、上記ロボットの作業計画を作成する作業計画作成手段を備え、上記作業計画作成手段は、上記ロボットが上記作業命令に含まれる対象物品を移動先に移動させるための作業計画を、上記対象物品の移動前の状態に応じた作業を補完しつつ作成するものを提供する。
態様14では、所定の生活空間内に存在する物品の取扱いを行うためのサーバであって、上記物品の取扱い作業を行うロボットの作業対象物品とその対象物品の移動先とからなる作業命令を受けて、上記ロボットが上記作業命令に含まれる対象物品を移動先に移動させるための作業計画を、上記生活空間内に存在する設備の動作内容が蓄積された動作内容データベースを参照しながら作成する作業計画作成手段を備えるものを提供する。
本発明の第6の実施形態は、いわゆる生活空間において、その空間内に存在する物品の移動作業を作業ロボットに実行させる物品取扱いシステムに関するものである。本実施形態では、一般家庭等の建物内のある一つの部屋を、物品取扱いシステムの対象空間(以下これを環境と呼ぶ)とする。
図70は本実施形態に係る物品取扱いシステムの全体構成の例を示すブロック図である。図70では、第1の実施形態における図2と共通の構成要素については、図2と同一の符号を付している。本システムは、図70に示すように、環境管理サーバ101 (以下、単にサーバと省略することもある)、作業ロボット102 (以下、単にロボットと省略することもある)、及び操作端末103 、設備104 の大きく分けて4つのサブシステムから構成される。これら4つのサブシステム101 〜104 は、無線又は有線のネットワークを介して接続されていて、このネットワークを介して情報のやり取りを行うように構成されている。
4つのサブシステム101 〜104 はそれぞれ、制御手段110 ,115 ,119 ,162 と送受信手段109 とを備えている。ここで、各サブシステム101 〜104 の送受信手段109 は処理が同じであるため、同じ符号を付すことにする。
センシング手段120については、第1の実施形態と同様であり、ここでは説明を省略する。
−環境管理サーバの構成−
1番目のサブシステムである環境管理サーバ101 は、センシング手段120 によって把握した状況のうち、環境内に存在する物品(ロボット102 が取扱い作業可能なもの)と移動体(人や作業ロボット102 等の主として物品の取扱いを行うもの)との状況を管理する物品/移動体検索・管理手段105 及びその物品及び移動体のデータを蓄積する物品/移動体データベース106 と、上記物品及び移動体以外の環境全体の状況を管理する環境マップ管理手段107 及びその環境全体のデータを蓄積する環境マップ108 と、物品/移動体データベース106 のデータや環境マップ108 のデータの問い合わせ(信号)を外部から受信したり、その応答信号を外部に発信したりする送受信手段109 と、これらの手段120 ,105 ,107 ,109 をコントロールする制御手段110 とからなる。
物品/移動体検索・管理手段105 は、センシング手段120 によって検出されたり、ユーザによって入力されたりした環境内に存在する各物品及び移動体の情報を、物品/移動体データベース(DB)106 に蓄積するものである。このDB106 の詳細は後述するが、DB106 に蓄積する情報には、少なくとも物品及び移動体の現在位置が含まれる。
また、上記物品/移動体検索・管理手段105 は、環境管理サーバ101 の外部から送受信手段109 及び制御手段110 を介して、物品/移動体DB106 に問い合わせがあった場合には、その問い合わせの内容に応じて必要な情報を物品/移動体DB106 から取り出し、その情報を制御手段110 に送る処理も実行する。これによりユーザは、操作端末103 に、日付や物品の種類等の、物品の属性を絞り込むための検索キーを入力することで、物品/移動体DB106 に蓄積されている情報によってその物品の現在位置を検索することも可能になる。
さらに、後述するロボット102 及び操作端末103 からサーバ101 に対して物品の情報登録・更新の要請を受けたときには、物品/移動体検索・管理手段105 は、上記物品/移動体DB106 の登録・更新を行う。
上記物品/移動体DB106 へのアクセスは、物品/移動体検索・管理手段105 のみに許可されており、これによって、本システムは、同じデータに対して書き込みと読み出しが同時に行われないようにしている。
環境管理サーバ101 の物品/移動体DB106 は、物品及び移動体の情報を蓄積するDBであり、物品を扱う物品データベース106a(図71)と、移動体を扱う移動体データベース(図示省略)とからなる。
上記物品DB106aは、個々の物品について次の5つの属性を有するように構成される。
1)物品ID:個々の物品を区別するためのIDであり、各物品に一つずつ割り当てられる。従って、環境内に同じ種類の物品が複数存在していても物理的に別の存在であれば、それらは別の物品として扱うため互いに異なるIDが割り当てられる。
2)物品名称:当該物品の種類を表す名称であり、上記物品IDとは異なり、環境内に同じ種類のものが複数存在しても割り当てられる名称は同じである。
3)時刻:当該物品が最も最近に移動体(人・ロボット102 )によって取り扱われた時刻である。
4)場所:当該物品が最も最近に移動体によって移動した位置(物品の現在位置)である。場所は、後述する環境マップ108 に登録されている環境属性データ602 又は設備属性データ603 のID番号で指定する。また、そのID番号だけでは物品の空間的位置が特定し難い、又は特定できないときには、ID番号に物品の現在位置を示す座標値(図76に示す世界座標系)を付加することで物品の空間的位置を特定する。物品の現在位置が、例えば「冷蔵室」内や「冷凍室」内といった設備の内部であるとき(物品の現在位置が、後述する設備属性データ603 に含まれるとき)には、その「冷蔵室」や「冷凍室」を示すID番号だけで、物品がそれらの中に存在していることが特定可能になり、物品の空間的位置が特定できる。このため、ID番号に座標値を付加する必要はない(図例では、「Freezer-0001」)。一方、物品の現在位置が、例えば「床」上であるとき(物品の現在位置が後述する環境属性データ602 に含まれるとき)には、床の範囲は比較的広いため「床」を示すID番号だけでは物品の空間的位置を特定し難い又は特定できない。この場合は、ID番号に座標値を付加することによって、物品の空間的位置を特定可能にする(図例では、「floor-0001(x1、y1,0 )」)。ID番号に座標値を付加するか否かの判断は、物品の現在位置が、環境属性データ602 に含まれるか、設備属性データ603 に含まれるかだけに基づくのではなく、上記物品の取扱い作業を実行するロボット102 の性能を考慮して判断するのが好ましい。例えば物品が冷蔵室内に収容されているときであっても、ロボット102 の性能が非常に低く、ロボット102 が物品を把持するには冷蔵室内におけるその物品の正確な座標値が必要であるときには、冷蔵室を示すID番号で物品の現在位置が特定できるとしても、そのID番号に座標値を付加することが好ましい。
また、物品DB106aに置ける物品の現在位置の初期設定や、その物品が移動したときの現在位置の更新は、可能な限りは上記センシング手段120 によって検出した検出結果に基づいて自動で行うことが好ましい。但し、自動で行うことができないときには手動で行ってもよい。
5)物品画像:当該物品を示す画像である。
ここでは、物品DB106aが、各物品の特徴を区別するために5つの属性を有する例を示したが、物品DB106aは、必要に応じてそれ以外の属性を有するようにしても良い。例えば物品DB106aが、物品の3次元形状のデータ、物品のより正確な位置データ、及び物品の姿勢データを有していれば、ロボット102 は、これらのデータを利用して物品を把持する動作をより容易に実行することができる。
次に、図71〜図74を参照しながら、物品DB106aの更新について具体的に説明する。図73及び図74は、本システムの対象となる環境内の様子を示す図であり、図73と図74とでは、その時刻が互いに異なる。ここでは、図73は2002年10月10日、9:00の時点での環境内の様子を示し、図74は2002年10月10日、20:00の時点での環境内の様子を示すものとする。また、図71に示す物品DB106aは、図73に示す時刻の環境に対応するものであり、図72に示す物品DB106aは、図74に示す時刻の環境に対応するものである。
図71に示す物品DB106aには、2002年10月10日、9:00の時点で環境内に存在する物品として、缶ジュース、弁当、手帳、バナナ、紙くず、アイスクリーム、アイスキャンデー、の7つの物品が登録されている。このうち、缶ジュース(D-0001)、弁当(F-0001)、手帳(S-0001)、バナナ(F-0002)、紙くず(O-0001)の5つの物品は、図73に示すように、環境内の床上に置かれている。このため、これらの物品についての場所の属性は「床」のID番号である「floor-0001」となる。これと共に、そのID番号にはその各物品の現在位置に対応する座標値が付加されている。一方、アイスクリーム、アイスキャンデーの2つの物品は、図73には明示されていないが冷凍室内の収容されている。このため、これらの物品についての物品データベースの場所の属性は「冷凍室」のID番号である「Freezer-0001」となる。このID番号には座標値は付加されていない。
2002年10月10日、10:00の時点に、ユーザによる指示に応じてロボット102 が床上に置かれている、缶ジュース、弁当、手帳、バナナ、紙くずの各物品を片付ける作業を実行する(ユーザの指示に応じてロボット102 が行う作業については後述する)と共に、ユーザが冷凍室内のアイスクリームおよびアイスキャンデーを食べたとする。これにより、図74に示すように環境内の様子は変化する。また、物品データベース106aには、図72に示すように、2002年10月10日、20:00の時点で環境内に存在する物品として、缶ジュース、弁当、手帳、バナナ、紙くずの5つの物品が登録されている。このうち、缶ジュースはロボット102 によってゴミ箱(リサイクルゴミ箱)に移動されたため、場所の属性はリサイクルゴミ箱を示す「wastebasket-0002」に変わる。同様に、弁当及びバナナの場所の属性はそれぞれ冷蔵室を示す「refrigerator-0001 」に変わり、手帳の場所の属性はテーブルを示す「table-0001」に変わり、紙くずの場所の属性は一般ゴミ箱を示す「wastebasket-0001」に変わる。
これに対し、ユーザが食べることで環境内から消滅したアイスクリーム、及びアイスキャンデーは、物品DB106aから削除されている。こうした物品DB106aから物品を削除する処理は、ユーザが物品が消滅したことを入力することによって行ってもよいし、その物品に付与された電子タグによって物品が消滅したことを判定して自動で行ってもよい。具体的には、ゴミ箱に電子タグのリーダライタを取り付けておき、物品に付された電子タグがゴミ箱に入れられたことをゴミ箱に取り付けたリーダライタが検出したことを受けて、その電子タグに対応する物品を物品DB106aから削除するようにすれば、物品DB106aから物品を削除する処理を自動的に行うことができる。
また、食品が典型的であるが、実世界から事実上消滅する場合がある物品は、上記の例のように、その消滅時点で物品DB106aから削除してもよいが、物品DB106aから削除するのではなく、DB106aに登録したままにする一方で、DB106aの場所の属性には、設備や環境のIDを記述する代わりに、物品を消滅させた移動体を記述する(例えば、食べられたことで消滅したのであれば、その食べた人物のIDを記述する)ようにしてもよい。
このように物品データベース106aは、物品/移動体検索・管理手段105 によって、環境内での物品の移動や消滅に伴い逐次更新される。それによって、物品データベース106aは、常に最新の情報が登録された状態にされる。
一方、移動体データベースは、図示は省略するが、少なくとも、移動体ID、移動体名称、時刻、場所の属性を有するように構成される。また、移動体データベースも、物品/移動体検索・管理手段105 によって、環境内の状態に応じて逐次更新され、それによって、移動体データベースは、常に最新の情報が登録された状態にされる。
環境管理サーバ101 の環境マップ管理手段 108 は、環境全体のデータを蓄積する環境マップ108 を、センシング手段120 からの情報や、ユーザが入力した情報に基づいて作成すると共に、その作成した環境マップ108 の管理を行うものである。
また、上記環境マップ管理手段107 は、制御手段110 から環境マップ108 に問い合わせがあった場合に、その問い合わせの内容に応じて必要な情報を制御手段110 に送ることも行う。
上記環境マップ108 は、上述したように、設備や環境のIDを参照するために利用されるだけでなく、ロボット102 が環境内を移動する際に利用されるものである。ロボット102 は、後述するように、この環境マップ108 をサーバ101 から取得して移動経路の計画を立てる。
環境マップ108 は、例えば環境の実状況が、図75(a)に示される場合に、その実状況を立体モデルで簡略化したもの(図75(b))を環境マップ108 としてもよい。また、図75(c)に示すように、さらに平面モデルで簡略化したものを環境マップ108 としてもよい。さらに、図75(a)に示される環境の実状況をそのまま立体モデル化したものを、環境マップ108 としてもよい。すなわち、環境マップ108 は、そのマップの用途や、そのマップ作成にかけることのできる時間(手間)に応じて作成すればよい。例えば、立体モデルからなる環境マップを極めて短時間で作成する必要があるときは、環境内に存在する立体物を、その立体物を覆う最小の直方体でモデル化すればよい。図75(b)に示す環境マップ108 はその例であり、例えばテーブルは直方体でモデル化している。平面モデルからなる環境マップも同様であり、図75(c)に示す環境マップ108 では、テーブルは平面に正射影した矩形領域(斜線を付した領域)でモデル化している。また、この平面モデルからなるマップ108 では、こうして設定した領域をロボット102 が移動不可能な領域に設定する。
図76は環境マップ108 のデータの一例を示した図で、図例のデータは、図75に示す環境に対応するデータである。環境マップ108 のデータは、環境に含まれる床面のID番号と環境内に存在する設備104 のID番号とのリストである環境データ601 と、環境属性データ602 と設備属性データ603 との3つのデータから構成される。
環境データ601 には、環境に互いに高さ異なる複数の床面が存在するときには、その床面の数だけ床面データが登録される(floor-0001,floor-0002,…)。
上記環境属性データ602 とは、環境(部屋)の詳細なデータであって、環境データ601 に登録されている床面毎にデータが蓄積されている。環境属性データ602 は、床面を構成する各頂点の座標値(実世界座標での座標値であり、その部屋で最も低い床面の高さ位置を0とする)と、その床面の材質を示すデータとで構成される。床面の形状が四角形のときには、環境属性データは、
((X1,Y1,Z1),(X2,Y2,Z2),(X3,Y3,Z3),(X4,Y4,Z4),0)
となる。最初の4つの座標は床面を構成する各頂点の座標であり、最後の値「0」は床面の材質を示している。例えば、「0」はフローリング、「1」は畳、「2」は絨毯とすればよい。
上記設備属性データ603 とは、環境(部屋)の中に存在する各設備104 の詳細なデータである。ここでいう設備104 とは、人やロボット102 が移動させる物品とは異なり、通常は、移動させることのないものである。一例を挙げると家具や家電機器がここでいう設備に該当する。この設備104 は、上述したように、本システムのサブシステムの一つであり、この設備104 についての詳細は後述する。
図75に示すように、環境内にテーブル(table-0001)、冷凍室(refrigerator-0001)、冷蔵室(freezer-0001)、ゴミ箱(wastebasket-0001,wastebasket-0002)、電子レンジ(Microwave-oven-0001)が存在しているため、図76に示す環境データ601 には、その各設備のIDが登録されている。設備属性データ603 には、その設備毎の詳細なデータが登録されている。尚、「冷凍室」と「冷蔵室」は一体となって一つの「冷蔵庫」を構成するが、本システムでは、物品を収容する場所単位で設備を区別する。このため、冷蔵庫を一つの設備104 として扱うのではなく、冷凍室と冷蔵室とをそれぞれ独立した一つの設備104 として扱う。
設備属性データ603 には、その設備104 を構成する各面のデータ(面1,面2,…)、設備の種類が登録される。設備を構成する面のデータは、その面を構成する頂点の座標値(実世界座標での座標値)と、その面に物品が載置できるか否かを示すフラグとによって構成される。例えば面を構成する頂点の数が4つであるときには、その面のデータは次のようになる。
((X1,Y1,Z1),(X2,Y2,Z2),(X3,Y3,Z3),(X4,Y4,Z4),1)
最初の4つの値(座標)は、その面を構成する各頂点の座標(実世界座標での座標)を示し、次の値「1」はその面上に物品が載置可能な否かのフラグである。物品が載置可能なときには「1」となり、載置不可能なときには「0」となる。この識別フラグは通常は切り替わることはないが、設備104 の種類によっては識別フラグが状況に応じて切り替わるようにする。例えば、その設備が、開口部にドアが取り付けられた収容部であるときには、その収容部内の面の識別フラグは、ドアの開閉状態に応じて切り替わるようにする。
このことについて具体的に、図77を参照しながら説明する。図77に示す冷凍室71は、開口部にドア72を有する収容部からなる設備104 の一例である。図77(a)は、冷凍室71のドア72が閉じているときの設備属性データを示している。このように、冷凍室71のドア72が閉じている状態では、ドア72に阻まれて冷凍室71内の面に物品を載置することができない。このため、設備属性データの識別フラグは「0」となる。これに対し、図77(b)は冷凍室71のドア72が開いているときの設備属性データを示している。このように、冷凍室71のドア72が開いている状態では、その冷凍室71内の面に物品を載置することができる。このため、設備属性データの識別フラグは「1」に切り替わる。
尚、図77に示す冷凍室71のように、収容部を構成する各設備104 は、受け台73を備えるようにしてもよい。この受け台73は、ドア72の開閉に応じてその収容部内に収容される位置と収容部外に突き出る位置とに移動するものである。こうすることでロボット102 は、その設備104 内への物品の出し入れ作業を実行し易くなる。こうした受け台73を有するときの設備属性データは、図77(b)に示すように、受け台73が収容部外に突き出た位置にあるときの、その各頂点の座標値としてもよい。ロボット102 は、設備属性データ603 に登録されている座標値を参照することで、収容部外に突き出た受け台73上に物品を載置したり、その受け台73上の物品を把持したりするためである。尚、受け台73が移動することで、その各頂点の座標値は変化するが、ドア72を閉じて受け台73が収容部内に収容された状態では、ロボット102 はその収容部内に物品を入れたり、収容部内から物品を出したりすることを行わないため、設備属性データ603 の座標値を変更させる必要はなく、識別フラグのみを変更すればよい。
尚、面上に物品が満載されているか否か(その面上にさらに別の物品を載置することができないか否か)を認識する処理を加えて、収容部内の面の識別フラグを、その認識処理の結果に応じて切り替えるようにしてもよい。すなわち、面上に物品が満載されているときにはその面上に新たな物品を載置することができないため、ドアが開いた状態でも識別フラグを「0」とし、面上に物品が満載されておらず、その面上に新たな物品を載置することができるときには、ドアの開閉状態に応じて識別フラグを切り替わるようにする。
また、ここでは、設備属性データ603 に、物品の設置が可能か否かの識別フラグのみを付加したが、その他のフラグを必要に応じて付加してもよい。例えば環境属性データ602 と同様に、面の材質を示すフラグを付加してもよい。
また、ロボット102 が面に物品を載置したり、その面に載置された物品を把持するときの当該面へのアームのアプローチ軌跡を、設備属性データ603 に追加してもよい。さらに、そのアームのアプローチ軌跡に係るアーム動作のプログラムを、設備104 毎に設備属性データ603 に追加してもよい。具体的には、設備104 毎にロボット102 のアーム動作のプログラムコードを予め登録し、これを設備属性データ603 に追加しておく。ロボット102 は、設備属性データ603 に記憶されているプログラムコードを必要なときに無線等の通信によって読み込み、その読み込んだプログラムに従ってアームを制御する。こうすることで、ロボット102 (又はサーバ101 )に、設備104 の一つ一つについてのアーム動作のプログラムを記憶させる必要がなくなり、プログラムを記憶するためのメモリ容量を節約することができる。
環境管理サーバ101 における制御手段110 はサーバ全体を制御する部分であり、主な制御内容としては以下のものがある。
1)送受信手段109 が、サーバ内にある各種データに関する問い合わせ受信したときに、その問い合わせ内容を判断し、その判断結果に応じて物品/移動体検索・管理手段105 や環境マップ管理手段107 にデータの参照要求を出す。
2)上記要求に対して物品/移動体検索・管理手段105 又は環境マップ管理手段107 から送られてきた結果を、送受信手段109 を介して問い合わせ元に送る。
3)送受信手段109 を介して外部から送られてきたサーバ101 内にある各種データに関する登録・更新の要求を解釈し、その内容に応じて物品/移動体検索・管理手段105 や環境マップ管理手段107 にデータの登録・更新要求を出す。
−設備の構成−
2番目のサブシステムである設備104 は、上述したように、環境内に設置・固定されて通常は移動させることのないものであり、ここでは特に、各種の物品を収容する収容部を有するものを意味する。例えば冷蔵室や冷凍室は、食品を収容する部分を有するため、ここでいう設備104 に含まれる。また、設備104 には収容された物品に対する作用を施すものが含まれる。例えば電子レンジは、庫内に収容された食品に加熱するという作用を施す設備104 の一例である。尚、ここでいう「収容」は、物品を比較的長期間かたづけてしまう意味も、物品を一時的にしまいいれる意味も含む。
上記設備104 は、図70に示すように、外部からの設備動作コマンド(このことについては後述する)を受信すると共に、その設備動作コマンドに従って行った動作結果をコマンド送信元に送信する送受信手段109 と、当該設備104 を動作させるための設備動作コマンドデータベース163 と、後述するように、その設備が有するドアの開閉動作や、物品に対する作用を施す動作を行う動作手段164 と、これら各手段109 ,164 をコントロールする制御手段162 とからなる。尚、図70では、設備104 を一つのみ記載しているが、環境内に複数の設備104 が設定されているときには、その設備104 それぞれがネットワークに接続されることになる。
上記動作手段164 は、その設備104 が例えば冷蔵室及び冷凍室であるときには、ドアの開閉動作をするものである。つまり、本システムにおける冷蔵室や冷凍室は、後述する設備動作コマンドを受けたときには、ドアを自動で開閉する。尚、そのドアは手動でも開閉される。また、上記動作手段164 は、その設備104 が例えば電子レンジであるときには、ドアの開閉動作と、庫内に収容された物品(食品)の加熱動作とを行う。
設備動作コマンドDB163 は、設備動作コマンドとそれに対応する処理手続をを記憶するものである。この設備動作コマンドは、当該設備104 を外部からリモートで動作させるためのコマンドである。制御手段162 は設備動作コマンドDB163 を参照することで、動作手段164 に、設備動作コマンドに応じた処理を実行させるようにする。
図78は、設備動作コマンドDB163 に記憶されている設備動作コマンドを表形式で示した図であり、表の記述情報は左の列から順に
1)環境内に存在する設備104 を区別するための設備ID
2)外部から当該設備104 を制御するための設備動作コマンド名
3)上記コマンドに対応する処理手続き
4)上記処理を行った結果の外部への戻り値
となっている。図78には、設備104 の一例として、冷蔵室、冷凍室、電子レンジの、3つの設備104 それぞれについて、設備動作コマンドDB163 に記憶されている設備動作コマンドを示している。
この内、冷蔵室および冷凍室の設備動作コマンドは、1)door-open ,2)door-close、の2種類のコマンドが用意されている。冷蔵室又は冷凍室の送受信手段109 が、外部から送信されたdoor-open のコマンドを受信したときには、その制御手段162 は動作手段164 、に冷蔵室又は冷凍室の「ドアを開く」処理を実行させる。また、door-closeのコマンドを受信したときには、その制御手段162 は動作手段164 に、冷蔵室又は冷凍室の「ドアを閉める」処理を実行させる。
上記制御手段162 は、それぞれの設備動作コマンドの処理が無事に終了したときには、そのコマンドの発信元にAck を、また設備動作コマンドの処理が失敗したときには、そのコマンドの発信元にNackを、送受信手段109 を介して戻り値として返す。
一方、電子レンジの設備動作コマンドは、1)door-open ,2)door-close,3)warm-start,4)warm-end,5)is-object 、の5種類のコマンドが用意されている。この内、door-open,door-close のコマンドについては、冷蔵室及び冷凍室の場合と同じであるためその説明を省略する。
電子レンジの送受信手段109 が、外部から送信されたwarm-startのコマンドを受信したときには、制御手段162 は、動作手段164 に電子レンジの機能である「庫内食品の加熱」処理を実行させる。このときに、庫内に食品(物品)が入っていて加熱処理が開始できたときには、制御手段162 は、コマンドの発信元にAck を、それ以外のときにはコマンドの発信元にNackを、それぞれ戻り値として返す。
また、warm-endのコマンドを受信したときには、制御手段162 は、動作手段164 に庫内食品の加熱が終了したか否かを判断させ、加熱完了のときにはTrueを、加熱完了でない(未だ加熱処理中)のときにはFalse を、コマンドの発信元に戻り値として返す。
さらに、is-object のコマンドを受信したときには、制御手段162 は、動作手段164 に、庫内に物品があるか否かを、画像センサや重量センサなどを用いて判断させ、物品があるときにはTrueを、無いときにはFalse を、コマンドの発信元に戻り値として返す。
以上、3種類の設備104 の例で設備動作コマンドについて説明したが、この設備動作コマンドは、各設備104 の機能に応じて必要なコマンドを用意すればよい。
設備動作コマンドDB163 は、必要に応じて更新すればよく、そのDB163 の更新は、例えば更新情報を記録媒体を介して設備104 に読み込ませてもよいし、更新情報をネットワークを介して設備104 に読み込ませてもよい。こうすることで、設備動作コマンドのバージョンアップにも対応可能になる。また、設備104 が外部ネットワークに接続されているときには、更新情報を外部ネットワークを介して設備104 に読み込ませることも可能になる。例えば設備104 の製造元からバージョンアップされた設備動作コマンドを、外部ネットワークを介してその設備104 がダウンロード可能になる。
−操作端末の構成−
3番目のサブシステムである操作端末103 は、本システムにおけるユーザインタフェースであり、主にロボット102 に対する物品の取扱い作業を指示するためにユーザが操作する端末である。
操作端末103 はその基本構成として、図70に示すように、操作画面を表示する、例えばCRTや液晶ディスプレイからなる表示部117 、上記操作画面上でロボット102 に対する作業内容を指定するための例えばポインティングデバイスからなる入力部116 、上記表示部117 に表示される操作画面の作成等の表示制御を行う表示制御手段118 、上記入力部116 にて入力されたロボット102 の作業内容をロボット102 に送る送受信手段109 、これらの各手段109 ,116 〜118 をコントロールする制御手段119 からなる。
この操作端末103 として、例えば汎用PCを用いることが可能である。この場合、後述する各処理を実行させる制御プログラムをPCが読み込むことによって、汎用PCを操作端末103 として用いることが可能になる。
上記表示制御手段118 は、上記サーバ101 から送信された情報、具体的には、環境内を撮像した画像のデータ、物品/移動体データベース106 に蓄積されたデータ、環境マップ108 に基づいて、操作画面を作成する。こうして表示制御手段118 で作成された操作画面が、表示部117 に表示されることになる。
本システムでは、操作端末103 の表示部に表示される操作画面は、図79に一例を示すようにしており、環境の実状況に則した仮想空間によって構成されている。
この仮想空間は、環境内に設置されたカメラ(図示省略)によって撮像された画像データに基づいて作成される。このため、図79に示す操作画面は、図73に示す環境と見た目は同じになる。尚、上記カメラは、例えばセンシング手段120 として環境内の側壁に設置されたカメラを利用してもよい。
この操作画面はまた、カーソル(ポインタ)と、環境内に存在する物品に対応して仮想空間内に配置される物品アイコンとを有している。図79に示す操作画面には、物品アイコンとして、缶ジュース(D-0001)、弁当(F-0001)、手帳(S-0001)、バナナ(F-0002)、紙くず(O-0001)の各アイコンが含まれている。この操作画面には、環境内に存在する設備が操作画面上に表示されるものの、これらは物品アイコンとはならない。操作画面上で物品アイコンとされるものは、ロボット102 が取扱い可能な物品である。
この操作画面では、ユーザは、操作端末103 の入力部116 の操作によって操作画面内のカーソルを操作し、それによってロボット102 に実行させる作業内容を指定する。具体的には、所望の物品アイコンと、仮想空間内の所望の場所とを指定する操作を行う。この操作画面では、上記各物品アイコンは、いわゆるドラッグ操作によって、操作画面を構成する仮想空間内を移動させることが可能に構成されている。物品アイコンと仮想空間内の場所とを指定するときには、上記カーソルによって仮想空間内の所望の物品アイコンを指定すると共に、その指定した物品アイコンを、仮想空間内の所望の移動先にドラッグアンドドロップ操作する。これにより、ロボット102 の作業対象の物品とその物品の移動先とが指定されることになる。例えば、図79に示す各矢線は、缶ジュースアイコン(D-0001)を、仮想空間内のリサイクルゴミ箱に、弁当アイコン(F-0001)及びバナナアイコン(F-0002)を、仮想空間内の冷蔵室に、手帳アイコン(S-0001)を、仮想空間内のテーブルに、紙くずアイコン(O-0001)を、仮想空間内の一般用ゴミ箱にそれぞれドラッグアンドドロップ操作するときの操作例を示している。
このような操作画面上での指定操作を、ロボット102 に対する作業内容の指示データに変換するには、少なくとも次の1),2)の2点の処理が必要になる。
1)操作画面を構成する仮想空間が画像データであるため、その画像データのどの領域が物品アイコンに対応するかを特定すると共に、操作画面上で指定した物品アイコンが環境内の何を示しているかを特定する処理、及び、操作画面上で指定した物品の移動先が環境内のどこに対応するかを特定する処理
2)設備の内部に収容されている物品は、カメラ映像には陽に撮影されないため、こうした設備の内部に収容されている物品をユーザが指定可能にするための処理
先ず、上記1)の処理を行うために、操作画面は、次のように構成される。画像データのどの領域が物品アイコンに対応するかを特定する処理のために、上記操作画面は、仮想空間を構成する上記画像データに加えて、この画像データ(仮想空間)に1対1に対応しかつ、仮想空間内における物品アイコンの位置を特定する画面マスクデータを有するものに構成される。ここで「1対1に対応」とは、座標値が互いに対応していることを意味する。
この画面マスクデータには、操作画面上で物品アイコンが配置される領域に対応してマスクデータが設定されており、仮想空間からなる操作画面上で、カーソルによって物品アイコンの位置(座標値)を指定すると、画面マスクデータにおいて同じ座標値を参照し、これにより、その指定された領域が物品(物品アイコン)であるか否かを判断する。この画面マスクデータは、背景差分画像(図2(c)参照)によって作成することができる。なぜなら、この背景差分画像では、カメラが撮像した画像における物品の位置が特定されるためである。
次に、操作画面上で指定した物品アイコンが何を示しているかを特定する処理のために、上記画面マスクデータにおけるマスクデータの座標には、物品データベース106a(図71参照)へのポインタを記載する。こうすることで、物品アイコンが指定されているときには、その座標に記載されたポインタをキーとして物品データベース106aを参照し、それによって、操作画面上でカーソルが指している物品アイコンが、どの物品を表しているかを特定する。
一方、操作画面上で指定した物品の移動先がどこであるかを特定する処理のために、操作画面は、仮想空間を構成する上記画像データ(図79)に加えて、図80に示すように、この画像データと座標値が対応する画面マップを備える。この画面マップは、環境マップ108 の環境属性データ602 に含まれる床面、及び設備属性データ603 に含まれる各設備104 が、操作画面上でどの位置に相当するかを特定するためのデータである。この画面マップは、画像データとして作成することが可能である。つまり、画面マップを各画素が整数値で表された画像データとし、その整数値と設備とを、例えば、0:何もなし、1:床(floor-0001)、2:テーブル(table-0001)、3:冷蔵室(refrigerator-0001 )、4:冷凍室(freezer-0001)、5:一般ゴミ箱(wastebasket-0001)、6:リサイクルゴミ箱(wastebasket-0002)、7:電子レンジ(Microwave-oven-0001 )というように、互いに対応付ければよい。
こうすることで、カーソルによって、操作画面上の適当な位置を指定したときには、上記画面マップにおける同じ座標値の画素の整数値を参照する。このことによって、その指定された位置が環境のどの設備に対応するかを特定することが可能になる。但し、この処理は、操作画面上で指定された位置に、物品が存在するかを確認し、その位置には物品が存在しないときに行う。
こうした画面マップは、各設備104 の立体モデルが既知でありかつ、その設置場所が正確に計算可能であるときには、自動で作成することができる。また、画面マップを自動で作成することが困難なときは手動で作成してもよい。環境内の各設備104 は、通常、環境内に一度設置すれば、ほとんど動かすことがないため、一旦、画面マップを作成すれば、それを変更することはほとんどない。
上記2)の処理が必要となるのは、上述したように、操作画面がカメラ画像に基づいて構成されるためであり、設備104 の内部に収容されている物品はカメラ画像には陽に撮影されないことで、操作画面上にも物品アイコンが現れないためである。操作画面上に現れない物品アイコンを指定可能にするために、操作画面は次のように構成される。
上述したように、本システムでは、物品/移動体データベース106 に、環境内の各物品の現在位置が登録されている。このため、物品が設備104 の内部に収容されていても、物品/移動体データベース106 を参照することで、その物品の存在を把握することができる。
このことを利用して、操作画面上でカーソルが設備を指しているときには、物品/移動体データベース106 を参照する。そして、その設備104 に物品が収容されているか否かを判断し、物品が収容されているときには、例えば図81に示すように、その物品に対応する物品アイコンを、ポップアップ形式で操作画面上に表示する。図81(a)の例は、カーソルが冷凍室を指しているときに、その冷凍室に収容されているアイスクリームを示す物品アイコンとアイスキャンデーを示す物品アイコンとがポップアップ表示されている例を示し、図81(b)の例は、カーソルが冷蔵室を指しているときに、その冷蔵室に収容されている弁当を示す物品アイコンとバナナを示す物品アイコンとがポップアップ表示されている例を示している。
このように、物品アイコンがポップアップ表示されている間に、カーソルによってその物品アイコンをクリックすることで、その物品が対象物品に指されるように構成される。尚、物品アイコンの表示形態はこれに限るものではなく、その他の表示形態を採用してもよい。また、物品アイコンを表示する代わりに、物品名称を表示するようにしてもよい。
また、図81の例では、冷蔵室又は冷凍室内に、2つの物品しか収容されていないため、収容されている全ての物品(物品アイコン)を一度に表示可能である。しかし、例えば多数の物品が設備104 内に収容されているときには、全ての物品アイコンをポップアップ形式で表示したのでは、操作画面が極めて煩雑になってしまい、ユーザが所望の物品アイコンを指定することが困難になることが予想される。そこで、設備104 内に収容されている物品が多数であるときには、例えば、その物品をカテゴリー毎に木構造で分類しておき、上位のカテゴリーから下位のカテゴリーに階層をたどることで、物品アイコンが表示されるようにしてもよい。冷蔵室や冷凍室の例では、そこに収容される物品は、通常、食品であるため、例えば、肉、野菜、等のカテゴリーを操作画面に表示し、ユーザにカテゴリーを選択させる。そして、いずれかのカテゴリーが選択されれば、その選択されたカテゴリーに含まれる食品の物品アイコンを表示する。このときに、食品であれば、賞味期限の早い順に所定数ずつ物品アイコンを表示してもよいし、冷蔵室や冷凍室であれば、出し入れの頻度の多い順に所定数ずつ物品アイコンを表示してもよい。こうすることで、ユーザが見やすい操作画面を構成することができる。尚、出し入れの回数に応じて表示するというのは、例えば食品の場合、出し入れ回数が多いほど品質劣化が激しくなるので、そういう食品ほど目立つように表示する、という意味があり、また良く使われる食品をより優先的に表示する、という意味もある。
尚、操作画面上に現れない物品アイコンを指定する構成は、ポップアップ表示に限るものではない。
操作端末103 の制御手段119 は、上述したように、操作画面上で対象物品とその移動先とが指定されたときには、それに応じて指示データを作成し、これを送受信手段109 を介して作業ロボット102 に送信する処理を行う。
この指示データは、ロボット102 の作業計画作成手段161 が、ロボット制御コマンドを作成する際の基になるデータであり、
(対象物品、対象物品の移動先)
の2つの値からなる。例えば、操作画面において手帳アイコンがテーブルの上にドラッグアンドドロップ操作されて、手帳をテーブルに移動させる作業内容が指定されたときの指示データは、
(手帳 S-0001(対象物品)、テーブル table-0001(移動先))
とする。尚、この移動先としては、上記環境属性データ602 又は設備属性データ603 に登録されている場所(床、又は設備104 )のみが指定可能である。
また、例えば床に代表されるように、移動先が比較的広い範囲を有し、その移動先の名称(ID)だけでは具体的な位置を特定することができないときには、その座標値(図76に示す世界座標系)を移動先に付加する。例えば、手帳を床上に移動させるときの指示データは、
(手帳 S-0001、床 floor-0001(x1,y1,0 ))
とする。
尚、操作画面で指定した位置と、世界座標系の座標値との対応は、図75(b)に示すように、環境マップ108 として用いられる環境内の状況をモデル化した立体モデルと、操作画面を構成する画像データを撮影するカメラの各種パラメータ(カメラの位置、カメラの姿勢、カメラの画角等)と、に基づいて演算することが可能である。この演算方法は、コンピュータグラフィックスの技術分野における周知技術であるので、その説明は省略する。
尚、ここでは、操作画面上で、物品アイコンのドラッグアンドドロップ操作をすることにより、対象物品と移動先とが指定される操作インターフェースとしたが、対象物品と移動先とを指定する操作は、ドラッグアンドドロップ操作に限るものではなく、その他の操作を適宜採用することが可能である。
−作業ロボットの構成−
4番目のサブシステムである作業ロボット102 は、ユーザに指定された作業内容に従って、環境内で物品の取扱い作業を行うものである。
図70に示すように、ロボット102 はその基本構成として、ロボット102 の近辺の障害物等を検知したり、取り扱う物品の情報を得るためのセンサ111 、物品を把持する把持手段112 、環境マップ108 を使って移動計画を立てる移動計画作成手段113 、上記ロボット102 自体を移動させる移動手段114 、環境管理サーバ101 や操作端末103 との間で種々のデータの送受信を行う送受信手段109 、ユーザによって指定された作業内容を実行するための、ロボット102 の作業計画を作成する作業計画作成手段161 、設備104 の動作に係るロボット制御コマンドが格納されたロボット制御コマンドデータベース165 、これらのセンサ111 及び各手段109 ,112 〜114 ,161 をコントロールする制御手段115 とからなる。
物品の把持作業及び物品の移動作業を始めとする、ロボット102 が実行する各作業は、後で詳細を述べるが、コード化された指示データを送受信手段109 が受け、その受信した指示データに基づいて作業計画作成手段161 がロボット制御コマンド列を作成し、その作成したロボット制御コマンド列を、制御手段115 が順に処理することによって行われる。
図82は、本システムにおけるロボット102 の構造の一例を示した模式図であり、このロボット102 は、移動計画作成手段113 、制御手段115 、その他を収容する略箱型の本体部10を備えている。以下、図82における紙面右側を前側、左側を後側、紙面奥側を左側、紙面手前側を右側と呼ぶ。
把持手段112 は、多関節アーム12a とそのアーム12a の先端に配設されたハンド12b とから構成され、上記本体部10の上面に取り付けられている。上記アーム12a 及びハンド12b は、モータ制御によるアクチュエータを用いたものとしてもよいし、その他のアクチュエータ、例えば人工筋肉によるアクチュエータを用いたものとしても構わない。把持手段112 は、後述のロボット制御コマンドによって物品の把持位置が指示されたときには、その場所までアーム12a の先端を移動させハンド12b による物品の把持動作を行う。ハンド12b を移動させるためのアーム制御は把持手段112 自身が行えばよい。また同じく後述のロボット制御コマンドで把持している物品の解放が指示されたときには、把持手段112 はハンド12b の解放動作を行う。
移動手段114 は車輪14によって構成されており、この車輪14は、上記本体部10の左右両側にそれぞれ2つ取り付けられている(図例では、左側の車輪の図示を省略する)。ここでは、移動手段114 を車輪14で構成したが、移動手段114 の構成は、そのロボット102 が使用される環境に応じて最適な構成を選択すればよい。例えば環境の床面の起伏が激しい場合は、移動手段114 をクローラ型や多足歩行型に構成することが好ましい。尚、把持手段112 が環境内の全域を可動域とする場合にはこの移動手段114 を省略してもよい。
障害物センサ111 は、本システムでは、超音波センサ11a 、視覚センサとしてのステレオカメラ11b 、及び衝突センサ11c から構成される。
上記超音波センサ11a は、超音波を発してその反射波を受信するまでの時間を測定することにより当該センサ11a から障害物までのおおよその距離を計算するもので、近距離の障害物を、それに衝突する前に検知するためのものである。この超音波センサ11a は、本体部10の各側面(前面、後面、左右側面)に、3つずつ取り付けられている。
上記ステレオカメラ11b は、ロボット102 の周囲の状況を画像として入力し、その画像の認識等の処理を行うことで、障害物の有無の判断や把持対象物品のより正確な情報を得るためのものである。このステレオカメラ11b は、本体部10の前部に取り付けられている。
上記衝突センサ11c は、ロボット102 に所定の衝撃力が加わったことを検知するセンサである。例えば障害物がロボット102 に衝突してきたことや、ロボット102 自体が移動中に障害物に衝突したことを、この衝突センサ11c で検知する。この衝突センサ11c は、本体部の前面と後面とのそれぞれに取り付けられている。
移動計画作成手段113 は、ロボット102 に物品の移動作業やその他の作業に伴う移動が指定されたときに、そのロボット102 の現在位置から指定された位置(目的位置)までの移動経路を、環境マップ108 を使って作成するものである。この際、現在位置から目的位置までの移動経路上に障害物があってはならないが、環境マップ108 には、上述したように、ロボットが移動不可領域(例えば図75(c)の斜線を付した領域)が設定されている。このため、この移動不可領域以外の領域で移動経路を作成すれば、障害物を回避した移動経路が作成される。例えば図75(c)の平面モデルを用いた環境マップ 108 を用いてロボットをA1地点からA2地点まで移動させる際には、ロボット102 の大きさを考慮して移動不可領域を回避するルート(図75(c)に矢線参照)が作成される。こうした移動経路の作成に当たっては、最も一般的な方法であるダイクストラ法を使ってもよいし、環境が複雑であれば、ダイクストラ法を改良した経路探索アルゴリズムを用いてもよい。また、移動経路を作成してそれに基づいて移動を開始した後に、上記センサ111 が障害物を検知したときには、その都度、障害物を避けるための新たな経路を作成し直すようにする。
尚、環境の状況が複雑すぎてロボット102 の移動経路の算出ができない、又はその算出に多大な時間を要するような場合等の対策として、ユーザがロボット102 の移動経路を指定するモードを設けてもよい。
作業ロボット102 の制御手段115 は、外部から送受信手段109 を介して送られてきた指示データをロボット制御コマンドに変換すべく、作業計画作成手段161 に送ると共に、この作業計画作成手段161 によって変換されたロボット制御コマンド列を受けて、それを順次実行するものである。
上記ロボット制御コマンドとは、物品の把持やロボット102 自体の移動、及び設備104 の制御を行うためのコマンドで、大きくわけると主に「移動」「把持」「解放」「設備操作」の4種類がある。この4種類のコマンドについて簡単に説明する。
1)移動:(move,座標)又は(move,設備ID)
ロボット102 の現在位置から座標で指定された位置、又は設備IDで指定された設備の位置まで移動するコマンドである。座標は、状況に応じて最適な座標系で指定し、現在位置から目的位置までの移動経路は移動計画作成手段113 が計画する。
また、設備IDで指定された設備の位置に移動するときには、その設備に対して所定の距離まで近づくような経路を作成するが、その設備の座標は環境マップ108 の設備属性データ603 を利用する。
2)把持:(grab,物品ID)
物品IDで指定された物品を、ハンド12b によって把持するコマンドである。物品の場所は物品DB106aを参照し、把持計画は把持手段112 が作成する。
3)解放:(release)
ハンド12b を解放するコマンドである。
4)設備操作:(ロボットのID,設備ID,設備動作コマンド)
設備IDで指定された設備104 に、指定された設備動作コマンドを送信するコマンドである。設備動作コマンドとは、上述したように、個々の設備104 が外部から受ける指示コマンドであり、設備動作コマンドを受けた各設備104 は、そのコマンドに対応する処理を実行する。ここで、設備操作のコマンドにロボットのIDを添付する理由は、上述したように、設備動作コマンドを受けた設備104 は、そのコマンドの送信元に戻り値を送信するためである。
以上、簡単に4種類のロボット制御コマンドを説明した。もちろんロボット制御コマンドはこの4種類に限らず、必要に応じて増やしてもよいことはいうまでもない。
作業ロボット102 の作業計画作成手段161 は、操作端末103 から送信された指示データを受けて、必要に応じてロボット制御コマンドDB165 を参照しながら、その指示データをロボット制御コマンドに変換して、作業計画を作成するものである。
この作業計画作成手段161 及びロボット制御コマンドDB165 を設けることによって本システムでは、ユーザは操作端末103 において所望の物品と、その物品の移動先を指定することだけで、ロボット102 に適切な作業を実行させることができる。
つまり、指示データは、上述したように、
(対象物品、対象物品の移動先)
の2つの値からなるデータであり、「指定された対象物品を、指定された移動先に移動させる」ことを意味する。ここで、指定された対象物品が、ロボット102 がそのまま把持できる状態にあると共に、指定された移動先が、ロボット102 がそのまま物品を解放できる状態にあるとき、つまり、指定した作業内容をロボット102 が実行するに際してロボット102 の動作が妨げられないときには、ロボット制御コマンドDB165 は必要ない。
これに対し、指定された対象物品がドアが閉じた状態にある収容部内に収容されているときには、ロボット102 がその対象物品を把持する前にドアを開けなければならない。逆に、指定された移動先がドアが閉じた状態にある収容部内であるときには、ロボット102 が把持している対象物品を解放する前にドアを開けなければならない。このように、例えば収容部に収容されている物品を、別の収容部に移動させる作業をユーザが指定するときに、ドアの開閉操作まで指定しなければならないのでは、使い勝手が悪くなってしまう。
また、指定された移動先が、電子レンジのように収容された物品に対する作用を施すものであるときには、ユーザは、物品をその電子レンジの庫内に収容するだけでなく、その物品を加熱したいという要求があると考えられる。ユーザがロボット102 の作業内容を指定するときに、対象物品と移動先と、さらにその対象物品に対する作用とを指定しなければならないのでは、ユーザによる指定操作が煩雑になってしまう。
これを解消するには、対象物品と移動先との2つで構成される指示データに基づいて、設備104 の操作を含むロボット制御コマンドを作成するための知識データが必要になる。ロボット制御コマンドDB165 は、上記の知識データを格納するものである。設備104 の構成やそれが有する機能は、設備104 毎に互いに異なることから、こうした知識データは、設備104 毎に設定しなければならない。ロボット制御コマンドDB165 には、設備動作に係るロボット制御コマンドが、設備104 毎に個別に格納されている。
図83は、上記ロボット制御コマンドDB165 に格納されているロボット制御コマンドの例を示す図である。このロボット制御コマンドDB165 は、設備ID、場所の属性、ロボット制御コマンドが対応付けられて構成されている。この内、「設備ID」には、設備104 のIDが格納されている。「場所の属性」は、移動元と移動先とに分けられていて、「移動元」は、その設備104 が、指定データで指定された対象物品を収容しているときに対応し、「移動先」は、その設備104 が、対象物品をこれから収容する移動先に指定されているときに対応する。
ロボット制御コマンドは、上記の「移動元」「移動先」のそれぞれに対応して個別に記載されている。その各コマンドは基本的に、
(ロボットID、設備ID、設備動作コマンド)
の3つの値からなる。
冷蔵室(Refrigerator-0001 )が移動元であるときを例に、ロボット制御コマンドリスト(列)について具体的に説明する。このロボット制御コマンドは、操作端末103 からの指示データで、冷蔵室内に収容されている物品の移動が指定されたときのコマンドである。
このロボット制御コマンド列は3つのコマンドから構成されており、それぞれ次の動作の実行を意味する。
1)(Robot-0001,Refrigerator-0001,door-open):冷蔵室に、ドアを開けさせる
2)(grab,$object):ロボットが、物品を把持して取り出す
3)(Robot-0001,Refrigerator-0001,door-close ):冷蔵室に、ドアを閉めさせる
ここで、(grab,$object)における「$object」には、対象物品のIDが入る。このように、状況によって値が変わる情報は「$ 」を付けることで変数扱いとしておき、指示データによって対象物品が設定されたときに、上記変数に物品IDを入れる。こうして、ロボット制御コマンドに一般性を持たせている。
また、電子レンジ(Microwave-oven-0001 )が移動先であるときは、ロボット制御コマンド列は次のようになる。
1)(Robot-0001,Microwave-oven-0001,is-object):電子レンジに、庫内に物品が存在するかを確認させる
2)(Robot-0001,Microwave-oven-0001,door-open):電子レンジに、ドアを開けさせる
3)(release,$object):物品を解放する
4)(Robot-0001,Microwave-oven-0001,door-close ):電子レンジに、ドアを閉めさせる
5)(Robot-0001,Microwave-oven-0001,warm-start ):電子レンジに、庫内物品の加熱を開始させる
の5つのコマンドから構成されている。
このうち、1)のロボット制御コマンドは、移動先である電子レンジの庫内に、既に別の物品が入っていたのでは、さらに対象物品を入れることができないため、電子レンジの庫内に物品が存在しているか否かを電子レンジに確認させるコマンドである。電子レンジからの戻り値が「False 」であるときは、庫内に物品が入っていないため、制御手段162 は続く2)〜5)のコマンドを順に実行すればよいが、電子レンジからの戻り値が「True」であるとき、つまり、電子レンジの庫内に物品が入っているときには、制御手段162 は、電子レンジの庫内に物品が入っている旨をユーザに報知した上で、続く2)〜5)のコマンドを実行を中止する、ことが好ましい。
また、上記電子レンジが、物品を「加熱する」機能として、「温め」モードや「解凍」モード等の、複数のモードを有しているときには、それに応じて、設備動作コマンド(ロボット制御コマンド)を複数備えることが好ましい。このように、設備動作コマンドを複数備えている場合には、ロボット102 が対象物品の属性を認識し、それに応じた設備動作コマンドが電子レンジに送信されるように、ロボット制御コマンド列を作成してもよい。
例えば、画像処理や、温度センサ、その物品に付与された電子タグの情報に基づいて、その物品が冷凍物であれば、電子レンジに「解凍」モードの設備動作コマンドを送信するようにしてもよい。尚、これとは異なり、電子レンジが、庫内の物品の属性を画像処理や電子タグの情報に基づいて判断するようにして、設備動作コマンドとしての「warm-start」を受信したときには、その物品の属性に応じて、電子レンジが「温め」モードと「解凍」モードとを切り替えるようにしてもよい。
次に、作業ロボット102 の作業計画作成手段161 が行う、ロボット制御コマンドの作成手順について、図84に示すフローチャートを参照しながら説明する。
上述したように、ユーザが操作端末103 において作業内容を指定したときには、操作端末103 から作業ロボット102 に、ネットワークを介して指示データが送信される。ステップS1201では、その指示データの読み込みを行う。
続くステップS1202では、読み込んだ指示データに基づいて、指定された対象物品の現在位置を、サーバ101 の物品データベース106aを参照することによって確認する。対象物品の現在位置を確認すれば、ステップS1203では、ロボット102 の現在位置からその対象物品の現在位置まで移動するためのロボット制御コマンドを作成する。
次にステップS1204では、指定された対象物品が、設備104 内に収容されているか否かを判定する。これは、対象物品の現在位置が、環境マップ108 の設備属性データ603 に登録されている設備104 であるか否かによって判定し、対象物品が設備104 内に収容されているのYESのときには、ステップS1205に移行する一方、対象物品が設備104 内に収容されていないのNOのときには、ステップS1206に移行する。
上記ステップS1205では、上述したように、ロボット制御コマンドDB165 から、その設備104 が移動元であるときのロボット制御コマンド(列)を読み込み、これを既に生成しているロボット制御コマンド列に追加する。
上記ステップS1206では、指示データによって指定された移動先まで移動するためのロボット制御コマンドを生成する。生成したロボット制御コマンドは、既に生成しているロボット制御コマンド列に追加する。
ステップS1207では、移動先が設備104 内であるか否かを判定する。これは、ステップS1204と同様に、移動先が環境マップ108 の設備属性データ603 に登録されている設備104 であるか否かによって判定し、移動先が設備104 内であるのYESのときには、ステップS1208に移行する一方、移動先が設備104 内でないNOのときには、ステップS1209に移行する。
上記ステップS1208では、上述したように、ロボット制御コマンドDB165 から、その設備が移動先であるときのロボット制御コマンド(列)を読み込み、これを既に生成しているロボット制御コマンド列に追加する。
上記ステップS1209では、生成したロボット制御コマンド列を、制御手段115 に送信する。
以上のように構成された本システムにおいて、ユーザが指定した作業内容が、ロボット102 によって実行される手順を、具体例を挙げて説明する。ここでは、「冷蔵室(Refrigerator-0001 )に収容されている弁当(F-0001)を、電子レンジ(Microwave-oven-0001 )内に移動させる(温める)」という作業内容をユーザが指定する場合を例にする。
先ず、操作端末103 の表示部117 には、例えば図79に示す操作画面が表示される。ユーザが入力部116 を操作することによって、仮想空間内の冷蔵室をカーソルで指し示すと、図81(b)に示すように、冷蔵室内に収容されている物品(物品アイコン)がポップアップ形式で表示される。入力部116 の操作により弁当アイコンを選択することで、対象物品が「弁当」に指定される。
次にユーザは、入力部116 の操作によって、上記弁当アイコンを仮想空間内の電子レンジにドラッグアンドドロップする。これにより、移動先が「電子レンジ」に指定され、ユーザによる作業内容の指定が完了する。
こうして作業内容が指定されれば、操作端末103 は、指示データを作成し、これを作業ロボット102 に送信する。この指示データは、対象物品が弁当(F-0001)であり、移動先が電子レンジ(Microwave-oven-0001 )であるため、
(F-0001,Microwave-oven-0001 )
となる。
作業ロボット102 の作業計画作成手段161 は、操作端末103 から送信された指示データを読み込み(ステップS1201)、対象物品である弁当の現在位置を、サーバ101 の物品データベース106aを参照することによって確認する(ステップS1202)。弁当は、冷蔵室(Refrigerator-0001 )内に収容されているため、その冷蔵室まで移動するロボット制御コマンド
(move,Refrigerator-0001)
を生成する(ステップS1203)。
次に、作業計画作成手段161 は、上記弁当が、設備104 内に収容されているか否かを判定する(ステップS1204)。冷蔵室(Refrigerator-0001 )は、図76に示すように、設備属性データに登録されているため、弁当は、設備104 内に収容されている。そこで、ロボット制御コマンドDB165 から、冷蔵室が移動元であるときのロボット制御コマンド(列)を読み込む(ステップS1205)。具体的には、図83に示すように、
(Robot-0001,Refrigerator-0001,door-open)
(grab,F-0001)
(Robot-0001,Refrigerator-0001,door-close)
を読み込む。尚、変数「$object 」には、弁当のIDである「F-0001」が既に代入されている。このロボット制御コマンド列は、既に生成しているロボット制御コマンド列に追加される。
指示データで指定された移動先は電子レンジであるため、作業計画作成手段161 は、電子レンジまで移動するためのロボット制御コマンドを生成する(ステップS1206)。具体的には、
(move,Microwave-oven-0001)
を生成し、これを既に生成しているロボット制御コマンド列に追加する。
作業計画作成手段161 は次に、移動先が設備104 内であるか否かを判定する(ステップS1207)。電子レンジ(Microwave-oven-0001 )は設備属性データ603 に登録されている設備104 であるため(図76参照)、移動先は設備104 内である。作業計画作成手段161 は、ロボット制御コマンドDB165 から、電子レンジがが移動先であるときのロボット制御コマンド(列)を読み込む(ステップS1208)。具体的には、図83に示すように、
(Robot-0001,Microwave-oven-0001,is-object)
(Robot-0001,Microwave-oven-0001,door-open)
(release,F-0001)
(Robot-0001,Microwave-oven-0001,door-close)
(Robot-0001,Microwave-oven-0001,warm-start)
を読み込む。尚、変数「$object」には、弁当のIDである「F-0001」が既に代入されている。このロボット制御コマンド列は、既に生成しているロボット制御コマンド列に追加される。
以上のようにして、冷蔵室内の弁当を、電子レンジに移動させる作業内容に対応して、作業計画作成手段161 が生成したロボット制御コマンド列は、図85に示すようになる。
制御手段115 は、こうして生成されたロボット制御コマンド列に基づいて、移動手段114 及び把持手段112 の制御を行う。その結果、冷蔵室内の弁当を、電子レンジの庫内に移動しかつ、その電子レンジによって弁当を温める、という作業が、ロボット102 によって行われることになる。
このとき、上記制御手段115 は、ロボット制御コマンド列の各コマンドを、順番に実行するが、各コマンドの実行タイミングは状況に応じて適宜設定する。
例えば上記のロボット制御コマンド列には、
1)(move,Refrigerator-0001):ロボット102 が冷蔵室に移動する
2)(robot-0001,Refrigerator-0001,door-open):ロボット102 から冷蔵室に、ドアを開ける設備動作コマンドを送る
の2つのロボット制御コマンドが順に並んでいるが、制御手段115 は、上記1)の処理が完了してから、上記2)の処理を実行するようにしてもよい。また、これとは異なり、上記1)の処理が完了する所定時間前に、上記2)の処理を実行するようにしてもよい。つまり、ロボット102 が冷蔵室の位置に到達する前に、冷蔵室のドアを開けるようにしてもよい。こうすることで、作業がよりスムースに実行され、作業時間が短縮化される。尚、各コマンドの実行タイミングは、そのコマンドと、直前のコマンド又は直後のコマンドとの関係によって予め設定してもよいし、推論可能であるならば、その都度推論して各コマンドの実行タイミングを決定してもよい。
また、作業計画作成手段161 がロボット制御コマンド列を生成した後、直ちに制御手段115 がそのロボット制御コマンド列を実行するようにしてもよいが、制御手段115 がそのロボット制御コマンド列を開始する前に、作業計画作成手段161 が生成したロボット制御コマンド列の内容を外部に報知するようにしてもよい。
例えば図84に示すフローチャートにおいて、ステップS1208の後でかつ、ステップS1209の前に、作成したロボット制御コマンド列をネットワークを介して操作端末103 に送信してもよい。ロボット制御コマンド列を受けた操作端末103 は、そのロボット制御コマンド列を解釈して、そのロボット制御コマンド列によって実行される作業内容を、表示部117 に表示させる。例えば図86に示すように、対象物品の物品アイコンを表示すると共に、その移動元及び移動先の名称をそれぞれ文字で表示する。図86は上述した具体例に対応しており、対象物品として弁当アイコンが表示され、移動元として「冷蔵室」の文字が、移動先として「電子レンジ」の文字がそれぞれ表示されている。また、図例では、物品の移動元と移動先とを明確にすべく、仮想空間内における移動元から移動先に向かって、矢線を表示している。さらに、移動先において対象物品に作用が施されるときには、その作用を文字で表示する。図86では「加熱」の文字が表示されている。尚、物品の移動元及び移動先が、設備104 でないとき(設備104 としての名称がないとき)には、「冷蔵室」や「電子レンジ」とった、移動元及び移動先を表す文字の表示は省略すればよい。また、作業内容をユーザに確認させるための表示形態は、図86に示す例に限らず、対象物品の名称を文字で表示したり、仮想空間における移動元や移動先を強調表示するようにしてもよい。また、例えば「冷蔵室内の弁当を電子レンジの庫内に移動させ、その弁当を加熱する」というように、作業内容を示す文章を表示部117 に表示してもよい。さらに、作業内容の報知は表示に限らず、音声による報知でもよい。
作業内容を外部に報知する処理を行うことによって、ロボットの作業内容をユーザ(作業内容を指定したユーザを含む)に知らせることになり、ユーザが操作画面上で操作ミスをしたとき、例えば、上述した具体例において、例えば弁当アイコンを仮想空間内の電子レンジにドラッグアンドドロップするつもりが、誤って冷凍室にドラッグアンドドロップしてしまったときでも、誤った操作に基づく作業が実行されてしまうことを未然に防止することが可能になる。
また、移動先が電子レンジのように、対象物品に対する作用を施す設備104 であるときには、対象物品に対する作用をシステムが誤ることも生じ得る。例えば、対象物品である「冷凍肉」を移動先である電子レンジに移動させる、という作業内容を指定したときに、「冷凍肉」を電子レンジで「解凍」するのではなく、「冷凍肉」を電子レンジで「温める」というロボット制御コマンドが生成されてしまう場合である。こうした場合も、ユーザへの報知処理を行うことによって、誤った作業が実行されてしまうことを未然に防止することが可能になる。
また、作業内容に誤りがあった場合や、ユーザが指定した作業内容を変更したい場合には、操作端末103 の入力部116 を操作することによって、操作画面において作業内容を適宜修正可能に構成することが好ましい。
以上の説明では、ユーザは操作端末103 において、所望の一つの物品を所望の一つの移動先に移動させるという、単一の作業内容を指定するようにしているが、複数の作業内容を一度に指定した方が、ユーザの指定操作が容易になる場合がある。例えば、
1)冷蔵室に収容されている弁当を、電子レンジに入れて温める
2)弁当の温めが完了したら、その電子レンジ内の弁当をユーザの位置に移動させる
という、一つの物品に対して複数の作業を連続して行わせる場合である。こうした場合には、操作画面において、上記の1),2)の作業内容を一度に指定し、作業ロボット102 は、指定された複数の作業を順次実行するように構成するのがよい。操作画面上における複数作業の指定操作としては、例えば物品アイコンのドラッグアンドドロップ操作を連続して行うようにしてもよい。具体的に上記の例では、弁当アイコンを仮想空間内の電子レンジにドラッグアンドドロップすると共に、その電子レンジにドロップした弁当アイコンを、仮想空間内のユーザ位置にドラッグアンドドロップすることで、上記の1),2)の作業が指定されるようにすればよい。
また、複数の物品に対する作業を並列に行わせる場合もある。例えば、
1)冷蔵室内の弁当を電子レンジに移動させる一方で、
2)冷蔵室内のバナナをテーブルに移動させる
という場合である。この場合も、操作画面において、上記の1),2)の作業内容を一度に指定し、作業ロボット102 は、指定された複数の作業を順次実行するように構成するのがよい。このとき、ロボット102 が、複数の作業のスケジューリングをすることによって、作業全体の効率化を図るようにしてもよい。上記の例では、冷蔵室内の弁当を電子レンジに移動させた後に、再び冷蔵室内のドアを開けてバナナを取り出し、そのバナナをテーブルに移動させる、という作業を行うのではなく、冷蔵室のドアを開けて、指定された弁当とバナナとを一度に取り出し、取り出した2つの物品の内、弁当は電子レンジに移動させ、バナナはテーブルに移動させる、という作業を行うようにするのである。このような作業の実行を可能とするために、作業ロボット102 は、一つのアーム12a 及びハンド12b を有するもの(図82参照)に限らず、複数のアーム12a 及びハンド12b を有するものとして、複数の物品を同時に把持可能に構成してもよい。
以上説明したように、本発明の物品取扱いシステムは、所定の生活空間(環境)内に存在する物品の取扱いを行うシステムであって、上記物品の取扱い作業を行うロボット102 と、上記ロボット102 の作業対象物品とその対象物品の移動先とからなる作業命令を入力する入力手段116 と、上記作業命令を受けて作業計画を作成する作業計画作成手段161 と、を備える。
そして、上記作業計画作成手段161 は、上記ロボット102 が作業命令に含まれる対象物品を移動先に移動させるための作業計画を、上記移動先への作業を補完しつつ作成するものである。
この構成により、ユーザは、入力手段116 において、ロボット102 の作業対象物品とその対象物品の移動先とだけを入力すれば、ロボット102 の作業対象物品とその対象物品の移動先とを含む作業命令(指定データ)が作成される。
この作業命令を受けて、作業計画作成手段161 は、ロボット102 が対象物品を移動先に移動させるための作業計画を、その移動先に応じた、移動先への作業を補完しつつ作成する。このため、ユーザは物品の移動先を考慮した作業を追加して指定しなくてもよい。こうして、ロボット102 に実行させる作業内容の指定が容易化されて、誰もが容易にロボット102 の操作が可能になる。
本発明では、上記作業命令に含まれる移動先には、物品を収容する収容部を有する設備104 が含まれ、作業計画作成手段161 は、作業命令に含まれる移動先が上記収容部を有する設備104 であるときには、上記収容部に物品を入れるために必要な設備104 の動作を作業計画に追加する。
こうすることで、移動先が収容部を有する設備104 であって、その収容部に物品を入れるために必要な設備104 の動作、例えばドアの開閉動作が存在するときでも、ユーザはその設備104 を動作させる作業を入力する必要がない。
本発明では、上記作業命令に含まれる対象物品には、設備104 の収容部に収容された物品が含まれ、作業計画作成手段161 は、作業命令に含まれる対象物品が上記収容部に収容された物品であるときには、上記収容部から物品を取り出すために必要な設備104 の動作を作業計画に追加する。
こうすることで、作業命令に含まれる対象物品が収容部を有する設備104 に収容されていて、その収容部から物品を取り出すために必要な設備104 の動作、例えばドアの開閉動作が存在するときでも、ユーザはその設備104 を動作させる作業を入力する必要がない。
本発明では、上記移動先には、物品に対する作用を施す設備104 が含まれ、作業計画作成手段161 は、作業命令に含まれる移動先が上記作用を施す設備104 であるときには、対象物品に作用を施すための設備の動作を作業計画に追加する。
こうすることで、ユーザが、物品に対し所定の作用を施すことを目的として、その物品を設備104 に移動させること作業内容として指定したときでも、ユーザはその設備104 を動作させる作業を入力する必要はない。一例を挙げると、ユーザが、食品を加熱することを目的として、その食品を電子レンジに移動させることを指定したときには、「食品を電子レンジで加熱する」という作業を指定しなくても、作業計画には、食品を電子レンジで加熱することが追加される。こうして、ロボット102 に実行させる作業内容の指定がさらに容易化される。
本発明では、上記作業計画作成手段161 は、複数の作用の内から、対象物品に応じた作用を選択しかつ、その選択した作用を対象物品に施すための設備の動作を作業計画に追加する。
こうすることでユーザは、対象物品に施す作用を指定しなくても、その物品に応じた作用がその物品に施される。一例を挙げると、移動先が電子レンジであって、対象物品が冷凍物であるときには、冷凍物を解凍するための設備の動作が作業計画に追加される。これに対し、移動先が電子レンジであって、対象物品が調理済み食品であるときには、調理済み食品を温めるための設備の動作が作業計画に追加される。このように、対象物品に施す作用はその対象物品に応じて決定されて、そのための設備の動作が作業計画に追加されるため、ユーザはその物品に施す作用を指定しなくてもよい。これにより、ロボットに実行させる作業内容の指定がさらに容易化し、ユーザフレンドリーなシステムにすることができる。
本発明では、上記設備104 は、作業計画を受けて、その作業計画に含まれる設備の動作を実行する。こうすることで、ロボット102 がアーム12a を使って設備104 のドアを開閉したり、アーム12a を使って設備104 に設けられた各種スイッチの操作を行ったりする場合と比べて、ロボット102 の構成を単純化することができる。
本発明では、物品取扱いシステムが、ロボット102 が作業内容に従って作業を開始する前に、作業計画作成手段161 が作成した作業内容を報知する報知手段117 をさらに備えている。
本発明のシステムは作業計画の補完を行うため、ユーザが意図していない作業をロボット102 が実行してしまうことも予想される。また、ユーザが作業内容の指定操作を誤ることも考えられる。そこで、報知手段117 は、作業計画作成手段161 が作成した作業計画を、ロボットが作業を開始する前に報知する。こうすることで、ユーザは作業計画を確認することができ、それにより、誤った作業がロボットによって実行されてしまうことを未然に防止することができる。
本発明の他の物品取扱いシステムは、上記物品の取扱い作業を行うロボット102 と、上記ロボット102 の作業対象物品とその対象物品の移動先とからなる作業命令を入力する入力手段116 と、上記作業命令を受けて作業計画を作成する作業計画作成手段161 と、を備える。
そして、上記作業計画作成手段161 は、上記ロボット102 が上記作業命令に含まれる対象物品を移動先に移動させるための作業計画を、上記対象物品の移動前の状態に応じた作業を補完しつつ作成するものとする。
この構成により、上述したように、ユーザは、入力手段116 において、ロボット102 の作業対象物品とその対象物品の移動先とだけを入力すれば、作業計画作成手段161 は、ロボット102 が対象物品を移動先に移動させるための作業計画を、その対象物品の移動前の状態に応じた、移動元への作業を補完しつつ作成する。このため、ユーザは、物品の移動元を考慮した作業を追加して指定しなくてもよい。こうして、ロボット102 に実行させる作業内容の指定が容易化されて、誰もが容易にロボット102 の操作が可能になる。
本発明のさらに他の物品取扱いシステムは、上記物品の取扱い作業を行うロボット102 と、上記生活空間内に存在する設備104 の動作内容が蓄積された動作内容データベース165 と、上記ロボット102 の作業対象物品とその対象物品の移動先とからなる作業命令を入力する入力手段116 と、上記作業命令を受けて、上記ロボット102 が上記作業命令に含まれる対象物品を移動先に移動させるための作業計画を、上記動作内容データベース165 を参照しながら作成する作業計画作成手段161 と、を備える。
この構成により、ユーザは、入力手段116 において、ロボット102 の作業対象物品とその対象物品の移動先とだけを入力すれば、作業計画作成手段161 は、設備104 の動作内容が蓄積された動作内容データベース165 を参照しながら、作業計画を作成する。このため、ユーザは、設備104 の動作を考慮せずに、ロボット102 に実行させる作業内容の指定が可能になる。
−他の実施形態−
尚、本実施形態では、操作端末103 が指示データを作業ロボット102 に送信し、作業ロボット102 がロボット制御コマンドを作成するようにしたが、例えば、操作端末103 からサーバ101 に指示データを送信し、サーバ101 がロボット制御コマンドを作成すると共に、その作成したコマンドを作業ロボット102 に送信するようにしてもよい。この場合、ロボット制御コマンドの内、設備動作に係るコマンドは、サーバ101 から設備104 に直接送信するようにしてもよい。また、操作端末103 が操作画面上で指定された作業内容に応じてロボット制御コマンドを作成し、これを作業ロボット102 (及び/又は設備104 )に送信するようにしてもよい。
また、本実施形態では、物品取扱いシステムを、環境管理サーバ101 、ロボット102 、操作端末103 、設備104 の4つのサブシステムからなり、それらサブシステム101 〜104 が無線又は有線等のネットワークを介して互いに情報をやりとりするような構成とした。しかし、物品取扱いシステムはこの構成に限らず、例えば操作端末103 が環境管理サーバ101 に一体となった構成でもよい。また、操作端末103 が作業ロボット102 に一体となった構成でもよい。
またロボット102 も1台ではなく複数台が協調しながら作業を並行して行う構成でも構わない。
操作画面の構成は、図79に示すものに限らず、少なくとも対象物品と、移動先とを指定可能なものであればよい。例えば環境内の物品に対応する物品アイコンと、移動先となり得る場所を示す場所アイコンとのそれぞれを表示する操作画面としてもよい。
以上説明したように、本発明による物品取扱いシステム及び物品取扱いサーバでは、入力された移動先への作業を補完しつつ作業計画を作成するため、ユーザはロボットの作業対象物品とその対象物品の移動先とだけを入力すればよく、ロボットに実行させる作業内容の指定が容易化し、誰もが容易にロボットの操作をすることができる。
本発明を概念的に示す図である。 本発明の第1の実施形態に係る物品操作システムまたは物品管理システムの全体構成の一例を示すブロック図である。 背景差分法の原理を示す説明図である。 物品/移動体検索・管理手段の構成の一例を示すブロック図である。 ゲート型リーダライタをドアや窓に配置した例を示す図である。 物品/移動体データベースのうち物品データベースの構成と記載内容例を示す図である。 物品/移動体データベースのうち移動体データベースの構成と記載内容例を示す図である。 持出・持込データベースの構成と記載内容例を示す図である。 環境内で物品が移動する一例を説明する説明図である。 環境マップの例を示す図である。 環境マップに付随する設備データベースの構成と記載内容例を示す図である。 作業ロボットの構成の一例を示す概略図である。 作業ロボットの制御手段の動作を示すフローチャートである。 仮想空間操作モードで表示された操作画面の一例を示す図である。 画像データと、画面マスクデータとからなる操作画面の構成を示す図である。 環境内に設定された実世界座標系と仮想視点座標系との関係を示す図である。 操作画面上で、ロボットに実行させる物品の移動作業を指定する手順を示す図である。 図17とは異なる物品の移動作業を指定する手順を示す図である。 操作画面における物品アイコンの表示形態の例を示す図である。 第3の実施形態に係る物品移動システムの全体構成の一例を示すブロック図である。 仮想空間操作モードで表示される操作画面の一例を示す図である。 場所アイコン操作モードで表示される操作画面の一例を示す図である。 場所アイコン操作モードの操作画面上で、ロボットに実行させる物品の移動作業を指定する手順を示す図である。 環境内でロボットが指定された移動作業を実行する様子を示す図である。 図23とは異なる形態の場所アイコン操作モードで表示される操作画面の一例を示す図である。 作用アイコン操作モードで表示される操作画面の一例を示す図である。 作用/場所変換テーブルの一例を示す図である。 条件分岐を含めた作用/場所変換テーブルの一例を示す図である。 第4の実施形態に係る物品管理システムの構成図である。 物品移動体検索・管理手段の基本構成を概念的に示すブロック図である。 物品移動体データベースのデータ構造の説明図である。 物品の形状及び姿勢を説明するための図であり、(a)は本来の物品の形状を示し、(b)はモデル化された物品の形状を示し、(c)は実世界に置かれた状況下でのモデル化物品の形状を示す。 実世界の座標と物品座標との関係を示す図である。 環境マップを説明するための図であり、(a)は実際の状況を表し、(b)は(a)の立体モデルを表し、(c)は(a)の平面モデルを表している。 環境マップのデータ構造を説明するための図である。 作業ロボットの斜視図である。 本棚に本を収納する動作を説明するための図である。 設置位置に他の物品が存在する場合の設置位置の修正を説明するための図であり、(a)は設置物品の斜視図、(b)は設置位置を修正する前の物品の平面図、(c)は設置位置を修正した後の物品の平面図である。 メッセージ書式の一例を示す図である。 ACK及びNACKメッセージ書式の一例を示す図である。 制御手段におけるメッセージのやりとりを説明するための共通の処理構成図である。 制御手段におけるメッセージハンドラの動作を示すフローチャートである。 操作端末の制御手段における処理構成図である。 操作端末で物品を操作する一例を示した表示画面図である。 操作端末の操作メッセージ生成部で生成されるメッセージの一例を示す図である。 操作端末の制御手段におけるメッセージ処理部の動作を示すフローチャートである。 作業ロボットに作業単位を送るときのメッセージの一例を示す図である。 作業ロボットの制御手段における処理構成図である。 作業ロボットに対するメッセージの一例を示す図である。 作業ロボットの制御手段におけるメッセージ処理部の動作を示すフローチャートである。 作業ロボットの設置姿勢決定手段の動作を示すフローチャートである。 作業ロボットの設置姿勢決定手段の具体的な動作を示すフローチャートである。 作業ロボットの設置位置決定手段の動作を示すフローチャートである。 作業ロボットの設置位置決定手段の具体的な動作を示すフローチャートである。 環境管理サーバの制御手段における処理構成図である。 環境管理サーバに対するメッセージの一例を示す図である。 環境管理サーバの制御手段におけるメッセージ処理部の動作を示すフローチャートである。 第5の実施形態に係る物品管理システムの構成図である。 物品移動体データベースにおける移動体データのデータ構造の説明図である。 物品の形状及び姿勢を説明するための図であり、(a)は本来の物品の形状を示し、(b)はモデル化された物品の形状を示し、(c)は実世界に置かれた状況下でのモデル化物品の形状を示す。 作業ロボットの把持手段の斜視図である。 操作端末で物品を操作する一例を示した表示画面図である。 操作端末の操作メッセージ生成部で生成されるメッセージの一例を示す図である。 作業ロボットの制御手段における処理構成図である。 作業ロボットに対するメッセージの一例を示す図である。 作業ロボットの制御手段におけるメッセージ処理部の動作を示すフローチャートである。 作業ロボットの把持位置決定手段の動作を示すフローチャートである。 設置位置の空きスペースを求める方法の説明図である。 接地面と把持面との関係を説明するための説明図である。 第6の実施形態に係る物品取扱いシステムの全体構成の一例を示すブロック図である。 物品データベースの構成とその記載内容例を示す図である。 更新された物品データベースを示す図である。 環境内の様子を示す説明図である。 図73とは時刻が異なる環境内の様子を示す説明図である。 環境の実状況と、それに対応する環境マップとを例示する図である。 環境属性データ及び設備属性データの構成とその記載内容例を示す図である。 設備の状態と、設備属性データとの対応を示す図である。 設備動作コマンドの一例を表形式で示す図である。 操作画面の一例を示す図である。 図79に示す操作画面に対応する画面マップを示す図である。 操作画面上で設備内に収容されている物品を表示する例を示す図である。 作業ロボットの構成の一例を示す概略図である。 設備の動作に係るロボット制御コマンドの一例を表形式で示す図である。 作業計画作成手段の処理手順を示すフローチャートである。 作成されたロボット制御コマンド列の一例を示す図である。 作業内容を表示する画面の一例を示す図である。

Claims (8)

  1. 所定の生活空間内に存在する物品の取扱いを行うシステムであって、
    上記物品の取扱い作業を行うロボットと、
    上記生活空間内にあり、少なくとも開閉動作を自動で行い、かつ、上記開閉動作は通信手段を介して指令するように構成された設備の位置情報を含む、上記生活空間の環境情報を記憶する環境マップと、
    上記物品および上記ロボットの位置情報を含む情報を記憶する物品移動体データベースと、
    上記物品に対する設備の動作コマンドの情報を記憶する設備動作コマンドデータベースと、
    上記ロボットの作業対象物品とその作業対象物品の移動先とからなる作業命令を入力する入力手段と、
    上記環境マップと、上記物品移動体データベースに記憶された上記作業対象物品および上記ロボットの位置情報とから、上記移動先に上記作業対象物品を移動させるときの上記ロボットの移動経路を作成する移動計画作成手段と、
    上記作業命令と上記ロボットの移動経路とから、上記作業対象物品を上記移動先に移動させるためのロボット制御コマンドからなる作業計画を作成する作業計画作成手段と、
    上記作業計画に従って、上記ロボットを制御する制御手段とを備え、
    上記作業計画作成手段は、上記移動先が設備内であるか否かを上記環境マップを参照して判定し、上記移動先が設備内である場合、上記設備動作コマンドデータベースを参照し、当該設備に上記作業対象物品に対応する設備動作コマンドを送信するための設備操作コマンドを、予め上記作業計画に追加し、
    上記設備操作コマンドは、移動先が上記設備内である場合、上記設備内に既に別の物品が入っているか否かを確認するコマンドを有し、
    上記制御手段は、上記設備が上記コマンドを実行した結果、上記設備内に既に物品が入っていると判断される場合には、続くコマンドの実行を中止する
    物品取扱いシステム。
  2. 請求項1において、
    設備操作コマンドに上記ロボットのIDを付与し、
    設備動作コマンドを設備が受信した場合、設備から前記ロボットIDを受信する
    ことを特徴とする物品取扱いシステム。
  3. 請求項1または2において、
    ロボットが取り扱う物品を示す物品アイコンと、設備を示す設備アイコンとを表示する表示部を備え、
    上記入力手段の入力操作として、物品アイコンを設備アイコンに移動することにより、上記ロボットの作業対象物品とその作業対象物品の移動先とからなる作業命令を入力する
    ことを特徴とする物品取扱いシステム。
  4. 請求項1において、
    上記制御手段は、上記設備が上記コマンドを実行した結果、上記設備内に既に物品が入っていると判断される場合には、その旨をユーザに報知する
    ことを特徴とする物品取扱いシステム。
  5. 所定の生活空間内に存在する物品の取扱いを行うためのサーバであって、
    上記生活空間内にあり、少なくとも開閉動作を自動で行い、かつ、上記開閉動作は通信手段を介して指令するように構成された設備の位置情報を含む、上記生活空間の環境情報を記憶する環境マップと、
    上記物品および上記ロボットの位置情報を含む情報を記憶する物品移動体データベースと、
    上記物品の取扱い作業を行うロボットの作業対象物品とその作業対象物品の移動先とからなる作業命令を受けて、上記環境マップと、上記物品移動体データベースに記憶された上記作業対象物品および上記ロボットの位置情報とから、上記移動先に上記作業対象物品を移動させるときの上記ロボットの移動経路を作成する移動計画作成手段と、
    上記作業命令と上記ロボットの移動経路とから、上記作業対象物品を上記移動先に移動させるためのロボット制御コマンドからなる作業計画を作成する作業計画作成手段とを備え、
    上記サーバは、上記作業計画を、上記ロボットに送信するものであり、
    上記作業計画作成手段は、上記移動先が設備内であるか否かを上記環境マップを参照して判定し、上記移動先が設備内である場合、上記物品に対する設備の動作コマンドの情報を記憶する設備動作コマンドデータベースを参照し、当該設備に上記作業対象物品に対応する設備動作コマンドを送信する設備操作コマンドを、予め上記作業計画に追加し、
    上記設備操作コマンドは、移動先が上記設備内である場合、上記設備内に既に別の物品が入っているか否かを上記設備に確認させるためのコマンドを有する
    物品取扱いサーバ。
  6. 請求項において、
    設備操作コマンドに上記ロボットのIDを付与し、
    設備動作コマンドを設備が受信した場合、設備から前記ロボットIDを受信する
    ことを特徴とする物品取扱いサーバ。
  7. 請求項またはにおいて、
    ロボットが取り扱う物品を示す物品アイコンと、設備を示す設備アイコンとを表示する表示部を備え、
    物品アイコンを設備アイコンに移動することにより、上記ロボットの作業対象物品とその作業対象物品の移動先とからなる作業命令が入力される
    ことを特徴とする物品取扱いサーバ。
  8. 所定の生活空間内に存在する物品の取扱いを行うシステムであって、
    上記物品の取扱い作業を行うロボットと、
    上記生活空間内にあり、少なくとも開閉動作を自動で行い、かつ、上記開閉動作は通信手段を介して指令するように構成された設備の位置情報を含む、上記生活空間の環境情報を記憶する環境マップと、
    上記物品および上記ロボットの位置情報を含む情報を記憶する物品移動体データベースと、
    上記物品に対する設備の動作コマンドの情報を記憶する設備動作コマンドデータベースと、
    上記ロボットの作業対象物品とその作業対象物品の移動先とからなる作業命令を入力する入力手段と、
    上記環境マップと、上記物品移動体データベースに記憶された上記作業対象物品および上記ロボットの位置情報とから、上記移動先に上記作業対象物品を移動させるときの上記ロボットの移動経路を作成する移動計画作成手段と、
    上記作業命令と上記ロボットの移動経路とから、上記作業対象物品を上記移動先に移動させるためのロボット制御コマンドからなる作業計画を作成する作業計画作成手段と、
    上記作業計画に従って、上記ロボットを制御する制御手段とを備え、
    上記作業計画作成手段は、上記移動先が設備内であるか否かを上記環境マップを参照して判定し、上記移動先が設備内である場合、上記設備動作コマンドデータベースを参照し、当該設備に上記作業対象物品に対応する設備動作コマンドを送信するための設備操作コマンドを、予め上記作業計画に追加し、
    上記環境マップは、前記作業対象物品の移動先が上記設備内である場合、上記設備内に物品が満載されているか否かを示すフラグを有し、
    上記制御手段は上記フラグを参照して、上記設備内に物品が満載されている場合には、設備内への物品の移動をしない
    物品取扱いシステム。
JP2006293740A 2003-06-02 2006-10-30 物品取扱いシステムおよび物品取扱いサーバ Expired - Fee Related JP4473849B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006293740A JP4473849B2 (ja) 2003-06-02 2006-10-30 物品取扱いシステムおよび物品取扱いサーバ

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2003156205 2003-06-02
JP2003158346 2003-06-03
JP2006293740A JP4473849B2 (ja) 2003-06-02 2006-10-30 物品取扱いシステムおよび物品取扱いサーバ

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2005506597A Division JPWO2004106009A1 (ja) 2003-06-02 2004-06-02 物品取扱いシステムおよび物品取扱いサーバ

Publications (2)

Publication Number Publication Date
JP2007111854A JP2007111854A (ja) 2007-05-10
JP4473849B2 true JP4473849B2 (ja) 2010-06-02

Family

ID=38094492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006293740A Expired - Fee Related JP4473849B2 (ja) 2003-06-02 2006-10-30 物品取扱いシステムおよび物品取扱いサーバ

Country Status (1)

Country Link
JP (1) JP4473849B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5221939B2 (ja) * 2007-11-21 2013-06-26 三菱重工業株式会社 位置特定装置および動作指示装置並びに自走式ロボット
JP5326794B2 (ja) * 2009-05-15 2013-10-30 トヨタ自動車株式会社 遠隔操作システム及び遠隔操作方法
JP2011201002A (ja) * 2010-03-26 2011-10-13 Sony Corp ロボット装置、ロボット装置の遠隔制御方法及びプログラム
JP5488930B2 (ja) * 2011-03-08 2014-05-14 独立行政法人科学技術振興機構 家事計画作成支援装置および家事計画作成支援方法
JP5892360B2 (ja) 2011-08-02 2016-03-23 ソニー株式会社 ロボット指示装置、ロボット指示方法、プログラム、及び通信システム
JP5892361B2 (ja) 2011-08-02 2016-03-23 ソニー株式会社 制御装置、制御方法、プログラム、及びロボット制御システム
JP5742862B2 (ja) * 2013-03-18 2015-07-01 株式会社安川電機 ロボット装置及び被加工物の製造方法
JP6154682B2 (ja) * 2013-07-02 2017-06-28 將洋 鈴木 自走式電気掃除装置
JP2015080836A (ja) * 2013-10-22 2015-04-27 三菱重工業株式会社 自律探索システム、操作端末、移動探索装置及び探索制御方法
JP6379501B2 (ja) * 2014-02-05 2018-08-29 株式会社デンソーウェーブ ロボットの教示装置
JPWO2016067467A1 (ja) * 2014-10-31 2017-04-27 三菱電機株式会社 ロボット制御装置、ロボットシステム、ロボット制御方法及びプログラム
CN105744218B (zh) * 2014-12-11 2019-04-26 小米科技有限责任公司 垃圾清理方法及装置
JP6377536B2 (ja) * 2015-01-15 2018-08-22 株式会社東芝 空間情報可視化装置、プログラムおよび空間情報可視化方法
JP6249247B2 (ja) * 2016-02-29 2017-12-20 ソニー株式会社 制御装置、制御方法、およびプログラム
JP2020110874A (ja) * 2019-01-11 2020-07-27 倉敷紡績株式会社 柔軟物の積み重ね方法、衣服の折り畳みおよび積み重ね方法、ならびにロボットシステム
WO2023212614A1 (en) * 2022-04-26 2023-11-02 Haystack Robotics, Inc. Automated robotic ground-truth, checklists, and physical traceability

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6179589A (ja) * 1984-09-28 1986-04-23 株式会社東芝 ロボツト運転装置
JPH06262553A (ja) * 1993-03-08 1994-09-20 Hitachi Ltd ダブルアーム機構ロボット
JP3601737B2 (ja) * 1996-03-30 2004-12-15 技術研究組合医療福祉機器研究所 搬送ロボットシステム
JP2000296916A (ja) * 1999-04-14 2000-10-24 Murata Mach Ltd 板材積載装置
JP2001122438A (ja) * 1999-10-26 2001-05-08 Okuma Corp 積み付け計画作成装置
JP2001191281A (ja) * 1999-12-29 2001-07-17 Sony Corp 編集装置、編集方法及び記録媒体
JP4694701B2 (ja) * 2001-01-15 2011-06-08 繁 安藤 情報検索方法、情報検索装置およびロボットの動作制御装置
JP4266552B2 (ja) * 2001-10-16 2009-05-20 日本電気株式会社 ロボット装置及びその制御方法
JP2003136455A (ja) * 2001-11-07 2003-05-14 Sony Corp ロボットシステム、遠隔操作装置及び遠隔操作方法並びにロボット装置及びその制御方法
JP2003291083A (ja) * 2002-03-28 2003-10-14 Toshiba Corp ロボット装置、ロボット制御方法及びロボット配送システム

Also Published As

Publication number Publication date
JP2007111854A (ja) 2007-05-10

Similar Documents

Publication Publication Date Title
JP4473849B2 (ja) 物品取扱いシステムおよび物品取扱いサーバ
JPWO2004106009A1 (ja) 物品取扱いシステムおよび物品取扱いサーバ
CN100567098C (zh) 物品管理系统和物品管理服务器
JPWO2005015466A1 (ja) 生活支援システム及びその制御用プログラム
US7269479B2 (en) Article transporting robot
WO2019128048A1 (zh) 信息处理方法及装置、电子设备及存储介质
JP3738256B2 (ja) 生活空間用の物品移動システム、及びロボット操作装置
AU2023206158A1 (en) Robot gamification for improvement of operator performance
JP3713021B2 (ja) 生活空間用の物品取扱いシステム及びロボット操作装置
CA3128195A1 (en) Tote induction in warehouse order fulfillment operations
JP6950192B2 (ja) 情報処理装置、情報処理システム及びプログラム
EP4143649A1 (en) Service robot system, robot and method for operating the service robot
AU2023210522A1 (en) Optimized tote recommendation process in warehouse order fulfillment operations
JP3722806B2 (ja) 物品管理システムおよびロボット制御装置
JP2006289547A (ja) 物品管理システム、物品管理サーバ、物品モジュール、およびロボット
JP2004249389A (ja) 物品管理システム
JP2006338059A (ja) 物品管理システム及びその制御用プログラム並びにその制御方法
CN115151880A (zh) 机器人
JP2005001815A (ja) 生活空間用の物品管理システム、物品管理サーバ、物品管理方法
JP2023037447A (ja) 生活支援システム、生活支援方法および生活支援プログラム
NZ778286B2 (en) Robot gamification for improvement of operator performance
CN113888092A (zh) 家用快件分装系统和方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100209

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100305

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

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4473849

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140312

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees