(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-11
(45)【発行日】2022-04-19
(54)【発明の名称】把持装置、タグが付された容器、対象物把持プログラムおよび対象物把持方法
(51)【国際特許分類】
B25J 13/08 20060101AFI20220412BHJP
【FI】
B25J13/08 A
(21)【出願番号】P 2018096213
(22)【出願日】2018-05-18
【審査請求日】2020-12-11
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(73)【特許権者】
【識別番号】301022471
【氏名又は名称】国立研究開発法人情報通信研究機構
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】大沼 侑司
(72)【発明者】
【氏名】杉浦 孔明
【審査官】杉田 隼一
(56)【参考文献】
【文献】国際公開第2016/167886(WO,A1)
【文献】米国特許出願公開第2017/0173796(US,A1)
【文献】特開2015-182211(JP,A)
【文献】特開平09-224484(JP,A)
【文献】特開平04-032401(JP,A)
【文献】特開2001-310807(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 13/08
(57)【特許請求の範囲】
【請求項1】
指示された把持対象物を検出する第1検出部と、
前記第1検出部が前記把持対象物を検出した場合に、前記把持対象物
が収容された容器に付されたタグを検出する第2検出部と、
前記第2検出部が検出した前記タグのタグ情報に基づいて、
前記容器を把持する把持部と
を備え、
前記把持部は、指示された前記把持対象物が予め定められた把持対象物群に含まれない場合は、前記第2検出部で前記タグを検出することなく、指示された前記把持対象物を把持する把持装置。
【請求項2】
前記タグ情報は、前記容器の形状情報および前記容器の把持位置情報の少なくともいずれかを含む請求項1に記載の把持装置。
【請求項3】
前記タグは、二次元コードのマーカーであり、
前記把持部は、前記タグ情報と前記マーカーの位置に基づいて前記容器を把持する請求項1または2に記載の把持装置。
【請求項4】
指示された把持対象物を検出する第1検出部と、
前記第1検出部が前記把持対象物を検出した場合に、前記把持対象物が収容された容器に付されたタグを検出する第2検出部と、
前記第2検出部が検出した前記タグのタグ情報に基づいて、前記容器を把持する把持部と、を備える把持装置に把持される、
透光素材で形成され前記タグが付された容器。
【請求項5】
指示された把持対象物を第1検出部に検出させる第1検出ステップと、
前記第1検出ステップで前記把持対象物を検出した場合に、前記把持対象物
が収容された容器に付されたタグを第2検出部に検出させる第2検出ステップと、
前記第2検出ステップで検出した前記タグのタグ情報に基づいて、
前記容器を把持部に把持させる把持ステップと、
前記把持部が、指示された前記把持対象物が予め定められた把持対象物群に含まれない場合は、前記第2検出部で前記タグを検出することなく、指示された前記把持対象物を把持するステップと、
をコンピュータに実行させる対象物把持プログラム。
【請求項6】
透光素材で形成されタグを付した容器に把持対象物を収容しておく収容ステップと、
把持対象物を指示する指示ステップと、
前記指示ステップで指示した前記把持対象物を収容している前記容器の把持を把持装置に実行させる実行ステップと
を有し、
前記実行ステップは、
前記指示ステップで指示された前記把持対象物を第1検出部に検出させる第1検出ステップと、
前記第1検出ステップで前記把持対象物を検出した場合に、前記把持対象物に近接する前記タグを第2検出部に検出させる第2検出ステップと、
前記第2検出ステップで検出した前記タグのタグ情報に基づいて、前記タグが付された容器を把持部に把持させる把持ステップと
を含む対象物把持方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、把持装置、タグが付された容器、対象物把持プログラムおよび対象物把持方法に関する。
【背景技術】
【0002】
ロボットハンドにより対象物を把持する技術が広く実用化されている。把持しにくい対象物についても、対象物ごとに学習作業を行うことにより、把持を実行できるようにする把持装置が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
把持装置が把持しようとする対象物が、小さかったり複雑な形状であったりする場合には、直接把持することが難しい。把持装置のハンド部の構造的な制約から、そもそも目的とする対象物を把持できない場合もある。また、対象物が透明な容器に収容されていると、把持装置は、当該対象物については認識できるものの、収容している容器を認識できずに、結果的に対象物の把持に失敗する場合もある。
【0005】
本発明は、このような問題を解決するためになされたものであり、把持すべき対象物を指示された場合に、当該対象物を間接的にでも把持し得る把持装置を提供するものである。
【課題を解決するための手段】
【0006】
本発明の第1の態様における把持装置は、指示された把持対象物を検出する第1検出部と、第1検出部が把持対象物を検出した場合に、把持対象物に近接するタグを検出する第2検出部と、第2検出部が検出したタグのタグ情報に基づいて、タグが付された容器を把持する把持部とを備える。
【0007】
タグが付された容器に把持対象物が収容されており、そのタグに当該容器の情報や把持に関する情報が埋め込まれていれば、把持装置は、構造的に当該対象物を直接的に把持できない把持部であっても、当該容器を把持することで間接的に把持することができる。また、ユーザは、把持を行わせる段階において、容器の把持を指定するのではなく、把持させたい把持対象物を直接的に指定することができるので、収容する容器を意識する必要がない。また、把持装置は、タグ情報により容器を予め認識できれば、容器が透明でその外形を正確に検出できなくても、把持対象物を直接把持しようとすることがない。また、容器と収容される対象物とを事前に関連付ける作業をユーザが行う必要はなく、当該容器に収容できる物であって第1検出部が検出できる物であれば、把持装置は、どのような把持対象物でも間接的に把持することができる。もちろん、把持装置が事前の学習作業などを行う必要もない。
【0008】
特に、タグ情報が容器の形状情報および容器の把持位置情報の少なくともいずれかを含めば、把持装置は当該容器をどのように把持すべきか判断しやすく、把持動作を迅速かつ効率よく実行できる。また、タグが二次元コードのマーカーであり、把持部がタグ情報とマーカーの位置に基づいて容器を把持するように構成すれば、ひとつのカメラを第1検出部および第2検出部として利用できる。この場合、例えばマーカーの位置に対してどこを把持すべきかを情報として埋め込めば良いので、多くの情報を埋め込む必要がなく、簡易な二次元コードでタグを実現することができる。
【0009】
また、上記の把持装置において、把持部は、指示された把持対象物が予め定められた把持対象物群に含まれない場合は、第2検出部でタグを検出することなく、指示された把持対象物を把持しても良い。容器に入れられて間接的に把持される対象物が予め定められていれば、それ以外の把持対象物が指示された場合に、タグを検出する手間を省くことができる。また、直接的に把持できるのであれば、把持対象物をより安定的に把持することができる。
【0010】
本発明の第2の態様におけるタグが付された容器は、上記のタグが付され、上記の把持装置に把持される、透光素材で形成された容器である。透光素材の容器であれば、収容物を外部からカメラによって観察できるので、指示された把持対象物が容器に囲われたような状態であっても、把持装置は当該把持対象物を間接的に把持することができる。また、透光素材であれば底深や有蓋の容器形状を採用することができるので、把持対象物をより安定的に把持することができる。また、ユーザは、把持装置に把持させたい予定対象物を、このような容器に入れて例えば棚に載置しておくだけで良いので、対象物の管理がしやすく、煩わしい準備作業をする必要もない。
【0011】
本発明の第3の態様における対象物把持プログラムは、指示された把持対象物を第1検出部に検出させる第1検出ステップと、第1検出ステップで把持対象物を検出した場合に、把持対象物に近接するタグを第2検出部に検出させる第2検出ステップと、第2検出ステップで検出したタグのタグ情報に基づいて、タグが付された容器を把持部に把持させる把持ステップとをコンピュータに実行させる。
【0012】
本発明の第4の態様における対象物把持方法は、透光素材で形成されタグを付した容器に把持対象物を収容しておく収容ステップと、把持対象物を指示する指示ステップと、指示ステップで指示した把持対象物を収容している容器の把持を把持装置に実行させる実行ステップとを有し、実行ステップは、指示ステップで指示された把持対象物を第1検出部に検出させる第1検出ステップと、第1検出ステップで把持対象物を検出した場合に、把持対象物に近接するタグを第2検出部に検出させる第2検出ステップと、第2検出ステップで検出したタグのタグ情報に基づいて、タグが付された容器を把持部に把持させる把持ステップとを含む。このような第3、第4の態様においても、第1の態様と同様の効果を享受することができる。
【発明の効果】
【0013】
本発明により、把持すべき対象物を指示された場合に、当該対象物を間接的にでも把持し得る把持装置等を提供することができる。
【図面の簡単な説明】
【0014】
【
図1】把持装置を備える移動ロボットの外観斜視図である。
【
図3】ハンドユニットが把持動作を行う様子を示す図である。
【
図4】移動ロボットの一連の処理を説明するフロー図である。
【
図5】搬送対象物の搬送を実現するための全体の手順を説明するフロー図である。
【
図6】第1の変形例に係る移動ロボットの外観斜視図である。
【
図7】第1の変形例に係るハンドユニットが把持動作を行う様子を示す図である。
【
図8】第2の変形例に係るハンドユニットが把持動作を行う様子を示す図である。
【発明を実施するための形態】
【0015】
以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。
【0016】
図1は、本実施形態に係る把持装置を備える移動ロボット100の外観斜視図である。図においてxy平面は移動ロボット100の走行面であり、z軸プラス方向は天頂方向を示す。移動ロボット100は、大きく分けて台車部110、本体部120と、把持装置を構成するアームユニット130およびハンドユニット140とによって構成される。
【0017】
台車部110は、円筒形状の筐体内に、それぞれが走行面に接地する2つの駆動輪111と1つのキャスター112とを支持している。2つの駆動輪111は、互いに回転軸芯が一致するように配設されている。それぞれの駆動輪111は、不図示のモータによって独立して回転駆動される。キャスター112は、従動輪であり、台車部110から鉛直方向に延びる旋回軸が車輪の回転軸から離れて車輪を軸支するように設けられており、台車部110の移動方向に倣うように追従する。移動ロボット100は、例えば、2つの駆動輪111が同じ方向に同じ回転速度で回転されれば直進し、逆方向に同じ回転速度で回転されれば台車部110の2つの駆動輪111の中央を通る鉛直軸周りに旋回する。
【0018】
本体部120は、アームユニット130を支持すると共に、ユーザインタフェースの一部を成す表示パネル123を有する。表示パネル123は、例えば液晶パネルであり、キャラクターの顔を表示したり、移動ロボット100に関する情報を提示したりする。表示パネル123は、表示面にタッチパネルを有し、ユーザからの指示入力を受け付けることができる。
【0019】
本体部120は、アームユニット130およびハンドユニット140の動作範囲を含む前方の環境空間を見渡せる位置に環境カメラ121を有する。環境カメラ121は、例えばCMOSイメージセンサである撮像素子と画像データ生成部を含み、前方の環境空間を撮像して生成した画像データを出力する。また、本体部120には、コントロールユニット190が設けられている。コントロールユニット190は、後述の制御部とメモリ等を含む。
【0020】
本体部120に支持されたアームユニット130は、アーム部の一例であり、例えば図示するように2つのリンクを有し、それぞれのリンク基端に設けられた不図示のモータの駆動によって様々な姿勢を取り得る。アームユニット130の先端部にはハンドユニット140が接続されており、ハンドユニット140の全体は、アームユニット130の先端リンクの伸延方向と平行な旋回軸周りに、不図示のモータの駆動によって旋回し得る。ハンドユニット140は、把持部の一例であり、先端部に不図示のモータによって駆動される第1フィンガー140aと第2フィンガー140bを備える。第1フィンガー140aと第2フィンガー140bは、点線矢印で示すようにそれぞれが互いに接近するように動作して、対象物を挟持することにより把持を実現する。
【0021】
ハンドユニット140のうち第1フィンガー140aおよび第2フィンガー140bの支持基部に、ハンドカメラ141が配設されている。ハンドカメラ141は、例えばCMOSイメージセンサである撮像素子と画像データ生成部を含み、ハンドユニット140の前方空間を撮像して生成した画像データを出力する。ハンドカメラ141は、指示された把持対象物を検出する第1検出部としての機能を担う。また、把持対象物に近接するタグとしてのマーカーを検出する第2検出部としての機能も併せて担う。
【0022】
図2は、移動ロボット100の制御ブロック図である。制御部200は、例えばCPUであり、本体部120のコントロールユニット190に格納されている。駆動輪ユニット210は、駆動輪111を駆動するための駆動回路やモータを含み、台車部110に設けられている。制御部200は、駆動輪ユニット210へ駆動信号を送ることにより、駆動輪111の回転制御を実行する。
【0023】
アームユニット130は、
図1を用いて説明した構造体の他にも、モータを駆動する駆動回路や動作量を監視するためのエンコーダ等を備える。制御部200は、アームユニット130へ駆動信号を送ることにより、アームの動作や姿勢を制御する。ハンドユニット140は、
図1を用いて説明した構造体の他にも、モータを駆動する駆動回路や動作量を監視するためのエンコーダ等を備える。制御部200は、ハンドユニット140へ駆動信号を送ることにより、ハンドの動作や姿勢を制御する。
【0024】
センサユニット220は、移動中に障害物を検出したり、外部からの接触を検出したりする各種センサを含み、台車部110および本体部120に分散して配置されている。制御部200は、センサユニット220に制御信号を送ることにより、各種センサを駆動してその出力を取得する。
【0025】
環境カメラ121は、上述のように、アームユニット130およびハンドユニット140の動作範囲を含む前方の環境空間を観察するために利用され、制御部200の撮像指示に従って撮像を実行する。環境カメラ121は、生成した画像データを制御部200へ引き渡す。ハンドカメラ141は、上述のように、ハンドユニット140の前方空間を観察するために利用され、制御部200の撮像指示に従って撮像を実行する。ハンドカメラ141は、生成した画像データを制御部200へ引き渡す。
【0026】
メモリ240は、不揮発性の記憶媒体であり、例えばソリッドステートドライブが用いられる。メモリ240は、移動ロボット100を制御するためのロボット制御プログラムの他にも、制御に用いられる様々なパラメータ値、関数、ルックアップテーブル等を記憶している。ロボット制御プログラムは、把持装置を構成するアームユニット130およびハンドユニット140を制御するための対象物把持プログラムを包含する。
【0027】
ユーザIF240は、表示パネル123や、例えば合成音声を発話するスピーカなどであり、制御部200の制御に従ってユーザに情報を提供する出力装置を含む。また、ユーザIF240は、表示パネル123の表示面に設けられたタッチパネルなどの、ユーザからの指示入力を受け付けて制御部200へ入力信号を送信する入力装置を含む。
【0028】
制御部200は、制御に関わる様々な演算を実行する機能演算部としての役割も担う。把持制御部201は、対象物を把持する把持動作を制御する。把持制御部201は、後述する様々な演算を行い、その演算結果に基づいてハンドユニット140の把持動作を実行すべく、ハンドユニット140へ駆動信号を送信する。
【0029】
把持動作の一例について説明する。
図3は、ハンドユニット140が把持動作を行う様子を示す図である。ここでは、移動ロボット100は、ユーザからフォーク901を把持するように指示されているものとする。
【0030】
本実施形態におけるハンドユニット140は、図示するように、単純な一軸周りの開閉動作によって把持対象物を挟んで把持する第1フィンガー140aと第2フィンガー140bを備える。第1フィンガー140aと第2フィンガー140bは、それぞれ人間の片掌程度の大きさである。したがって、フォーク901を直接的に把持することは、構造的に難しい。
【0031】
そこで、ユーザあるいは補助者は、フォーク901を透明容器900に収容し、透明容器900をテーブル910上に載置して予め把持環境を整備しておく。透明容器900は、図示するように例えば上部が開口しているカップ形状を成し、ポリカーボネートやガラスなどの透光素材で形成されている。素材が透光性を有していれば、加色されていても構わない。フォーク901は、透明容器900に収容されているので、外部からその全体を観察し得る。すなわち、ハンドカメラ141は、透明容器900に収容されている状態のフォーク901を観察できる。透明容器900は、カップ形状でなく、フォーク901の全体を収容する有蓋容器であっても構わない。透明容器900は、少なくとも第1フィンガー140aと第2フィンガー140bで把持できる大きさと形状であれば、他の要素が付加されていても構わない。なお、透明容器900は、第1フィンガー140aと第2フィンガー140bで挟まれて把持されても、変形しない程度の剛性を有する。
【0032】
透明容器900は、外周面にマーカー902が貼着されている。本実施形態においては、ハンドユニット140がいずれの方向からも接近して良いように、放射方向へ向けて複数のマーカー902が貼着されている。マーカー902は、透明容器900の形状情報および透明容器900の把持位置情報の少なくともいずれかを含む情報が二次元コードに埋め込まれたタグである。形状情報は、マーカー902の中心を座標中心として、透明容器900の表面形状が関数で表現されていたり、全ての頂点が三次元座標で表現されていたりする。把持位置情報は、マーカー902の中心を座標中心として、第1フィンガー140aと第2フィンガー140bで安定的に把持できる箇所が、領域を表す関数として表現されていたり、点として三次元座標で表現されていたりする。
【0033】
フォーク901を把持するように指示された場合に、把持制御部201は、ハンドカメラ141から取得される画像データを解析して、まずフォーク901を検出する。フォーク901の検出には、例えばリアルタイムオブジェクト検出アルゴリズムとして知られるYOLOを利用することができる。
【0034】
フォーク901を検出したら、把持制御部201は、フォーク901を検出した画像データから、フォーク901に近接するマーカー902を探索する。同一画像データからマーカー902を検出できなかったり、一部しか検出できなかったりする場合には、検出したフォーク901の近傍でハンドユニット140を移動させ、ハンドカメラ141から再度画像データを取得して、フォーク901に近接するマーカー902を探索する。より具体的には、フォーク901を検出した領域に最も近くに存在するマーカー902を、近接するマーカーとして検出する。同一画像データからマーカー902を検出できなかった場合には、フォーク901を検出した位置から撮影位置を少しずつ鉛直方向へ下げながら画像データを取得し、ハンドユニット140の移動量から、フォーク901に最も近いと判断されるマーカー902を検出する。
【0035】
マーカー902を検出できたら、把持制御部201は、画像データ中のマーカー像を解析して、透明容器900に関するタグ情報を抽出する。そして、透明容器900の形状情報が抽出できた場合には、当該形状情報から第1フィンガー140aと第2フィンガー140bで安定的に把持できる把持位置を演算し、当該把持位置での把持動作を実行する。透明容器900の把持位置情報が抽出できた場合には、当該把持位置情報で指定された把持位置での把持動作を実行する。把持制御部201は、このようにして、ユーザから指定されたフォーク901を、透明容器900を介して把持する。
【0036】
このように、マーカーが付された透明容器に把持対象物が収容されており、マーカーに当該透明容器の情報や把持に関する情報が埋め込まれていれば、ハンドユニットは、構造的に当該対象物を直接的に把持できなくても、当該透明容器を把持することで間接的に把持することができる。また、ユーザは、把持を行わせる段階において、透明容器の把持を指定するのではなく、把持させたい把持対象物を直接的に指定することができるので、収容する透明容器を意識する必要がない。すなわち、把持させたい把持対象物が、どの透明容器に収容されていたかを確認し、その透明容器を把持するように指定する必要がない。換言すれば、ユーザは、容器と収容される把持対象物とを事前に関連付ける作業を行う必要はなく、把持の対象となり得るものをマーカーが付されたいずれかの透明容器にそれぞれ収容して、テーブルや棚に載せておけば良い。
【0037】
また、透明容器に把持対象物を収容する場合には、画像データの画像から当該透明容器の形状を正確に把握することが難しいが、把持制御部201は、マーカーのタグ情報から把持に必要な情報を得ることができるので、透明容器の形状を正確に把握する必要がない。別言すれば、把持制御部201は、マーカーを検出できれば透明容器に把持対象物が収納されていることを把握できるので、把持対象物を無理に直接把持しようとすることがない。
【0038】
また、ハンドユニットが透明容器を安定的に把持するためのタグ情報は様々に記述し得るが、透明容器の形状情報、把持位置情報を含めば、把持制御部201は、当該透明容器をどのように把持すべきか判断しやすく、把持動作を迅速かつ効率よく実行できる。また、タグ情報をマーカーに埋め込むのであれば、透明容器に貼着されたマーカーの位置を基準として透明容器の形状や把持位置を定義することができる。したがって、タグ情報として多くの情報を埋め込む必要がなく、簡易な二次元コードでタグを実現することができる。
【0039】
次に、
図3を用いて説明したような把持動作を含む、一連の把持運搬処理について説明する。
図4は、移動ロボット100の一連の把持運搬処理を説明するフロー図である。
【0040】
制御部200は、ステップS101で、取ってくる搬送対象物の指示を、ユーザIF240を介してユーザから受け付ける。制御部200は、メモリ250から環境地図を読み出し、指示された搬送対象物が保管された保管場所(例えば棚やテーブル)を特定し、当該保管場所までの移動経路を計画する。そして、ステップS102で、計画した移動経路に沿って自律移動し、当該保管場所の近傍に到達したら停止する。
【0041】
把持制御部201は、ステップS103で、アームユニット130およびハンドユニット140を駆動し、ハンドカメラ141から逐次得られる画像データを解析して、指示された搬送対象物である把持対象物を探索する。そして、把持対象物を検出したらステップS104へ進む。
【0042】
把持制御部201は、ステップS104で、把持対象物をハンドユニット140が直接把持可能か否かを判断する。
図3を用いて説明した例では、把持対象物が透明容器に収容されていることを前提に説明したが、ユーザから指示される搬送対象物(すなわち把持対象物)は、ハンドユニット140が直接把持できない物ばかりではない。直接把持できる物は、容器に収容されることなく保管場所に保管されている。そこで、把持制御部201は、メモリ250から、容器に収容されて保管される把持対象物群が予めリスト化されたルックアップテーブルを読み出し、ユーザに指示された把持対象物がルックアップテーブルに含まれるか否かを確認する。含まれていなければ、ハンドユニット140が直接把持できると判断して、ステップS105へ進む。含まれていれば、ハンドユニット140が直接把持できないと判断して、ステップS106へ進む。
【0043】
ステップS105へ進んだ場合は、把持制御部201は、ステップS103で検出した把持対象物を把持するための把持動作を実行する。把持対象物を把持したら、ステップS109へ進む。
【0044】
ステップS106へ進んだ場合は、把持制御部201は、把持対象物を検出した画像データから、把持対象物に近接するタグであるマーカー902を探索する。同一画像データからマーカー902を検出できなかったり、一部しか検出できなかったりする場合には、検出した把持対象物の近傍でハンドユニット140を移動させ、ハンドカメラ141から再度画像データを取得して、把持対象物に近接するマーカー902を探索する。マーカー902を検出できたら、把持制御部201は、画像データ中のマーカー像を解析して、透明容器900に関するタグ情報を抽出する。
【0045】
把持制御部201は、ステップS107へ進み、検出したタグ情報から透明容器900に対する把持位置を定め、当該把持位置で把持できるように、アームユニット130およびハンドユニット140の動作を計画する。そしてステップS108で、アームユニット130およびハンドユニット140を駆動して、当該把持位置での把持動作を実行する。このようにして、把持対象物を収容した透明容器900を把持したら、ステップS109へ進む。
【0046】
制御部200は、ステップS109で、把持対象物を直接的または間接的に把持する把持姿勢を維持したまま、搬送先である目的地まで自律移動して搬送を実行する。目的地に到達したら一連の処理を終了する。
【0047】
図5は、搬送対象物の搬送を実現するための全体の手順を説明するフロー図である。
図4のフロー図は移動ロボット100の制御部200が実行する処理フローであったのに対して、
図5のフロー図は、移動ロボット100を利用して対象物の搬送を実現するための、ユーザあるいは補助者の作業を含む搬送方法としての処理フローである。
【0048】
ユーザあるいは補助者は、ステップS201で、把持の対象となり得る物をマーカーが付されたいずれかの透明容器900にそれぞれ収容し、ステップS202で、所定場所のテーブルや棚に載せて保管する。所定場所は、メモリ250に記憶された環境地図に当該対象物の保管場所として記述されている場所であるか、当該対象物の保管場所として新たに環境地図に記述される場所である。
【0049】
ユーザは、移動ロボット100に搬送して欲しい対象物が生じたときに、ステップS203で、移動ロボット100に対して搬送対象物の指示を与える。移動ロボット100の側では、
図4のステップS101の処理に対応する。そして、ステップS204で、移動ロボット100は、指示された搬送処理を実行する。移動ロボット100の側では、ステップS102からステップS109までの処理に対応する。
【0050】
ユーザは、ステップS205で移動ロボット100から搬送物を受け取って一連の搬送方法を完了する。ユーザは、複数の搬送対象物を搬送したい場合は、ステップS203からステップS205を繰り返せば良いし、搬送後に利用を終えた搬送物に対しては、再びステップS201およびステップS202を行って元の保管場所に返しても良い。
【0051】
次に、いくつかの変形例について説明する。
図6は、第1の変形例に係る移動ロボット100’の外観斜視図である。移動ロボット100’は、移動ロボット100の構成に対して更にタグリーダー142を備える。タグリーダー142は、例えば図示するようにハンドカメラ141に隣接して配設される。タグリーダー142は、ICタグに対して電波を照射し、ICタグに記録された情報を読み取る装置である。
【0052】
図7は、第1の変形例に係る移動ロボット100’のハンドユニット140が把持動作を行う様子を示す図である。
図3に示すマーカー902が貼着された透明容器900と異なり、本変形例に係る透明容器900には、ICタグ903が貼着されている。ICタグ903は、透明容器900の形状情報および透明容器900の把持位置情報の少なくともいずれかが記録されている。他の状況および設定は、
図3の例と同様とする。
【0053】
把持制御部201は、ハンドカメラ141から得られた画像データを解析してフォーク901を検出したら、タグリーダー142を駆動して、フォーク901に近接するICタグ903を検出し、その情報を読み出す。そして、当該情報に基づいて透明容器900の把持位置を定め、把持動作を実行する。なお、ICタグ903の位置は、例えば、タグリーダー142の位置を変化させてICタグ903を読み取り、そのときの電波強度の差と読み取り位置の差を利用して算出される。
【0054】
図3の例では、タグとして二次元コードのマーカー902を用いたので、ハンドカメラ141に、指示された把持対象物を検出する第1検出部と、把持対象物に近接するタグを検出する第2検出部の両機能を担わせることができた。一方で、二次元コードを印刷できる程度の面積を有するマーカー902を、透明容器900に複数貼着することを要した。本変形例では、ハンドカメラ141を、指示された把持対象物を検出する第1検出部として機能させ、タグリーダー142を、把持対象物に近接するタグを検出する第2検出部として機能させる。すなわち、それぞれを別個のハードウェアで構成する必要があるが、ICタグ903はマーカー902よりも小さく、しかも透明容器900に一つ貼着すれば良い。すなわち、透明容器900のデザイン性を損なう虞が小さく、貼着作業も容易である。
【0055】
図8は、第2の変形例に係るハンドユニット140が把持動作を行う様子を示す図である。
図3の例および
図7の例では、フォーク901を透明容器900に収容したが、本変形例では、フォーク901を比較的底浅の不透明容器904に収容している。他の状況および設定は、
図3の例と同様とする。
【0056】
これまでの実施例では透明容器900を用いたが、透明容器900を用いたのは、収容された把持対象物が良好に検出できるからである。すなわち、容器が透明であれば、ハンドカメラ141で把持対象物の全体を撮像することができるからであり、把持対象物の検出精度の向上に寄与した。しかし、把持対象物を容器に収容しても、把持対象物を検出できれば良い。そこで、本変形例では、収容されるフォーク901の半分程度が外部に露出するように収容される、底浅で不透明な容器である不透明容器904を利用する。このように、収容されたフォーク901が半分程度外部に露出していれば、把持制御部201は、フォーク901を認識することができる。
【0057】
不透明容器904の外周にも、透明容器900と同様に、複数のマーカー902が貼着されている。把持制御部201は、フォーク901を検出した後に、マーカー902を検出し、マーカー902から読み出したタグ情報に基づいて不透明容器904の把持位置を定め、把持動作を実行する。
【0058】
なお、収容される把持対象物がどの程度不透明容器904から露出しているべきかは、当該把持対象物の形状や、収容の仕方などによって異なる。例えば、フォーク901であれば、形状として特徴的な櫛状の先端部が露出していれば画像解析により検出しやすいので、柄の部分の大半が不透明容器904に隠れていても構わない。また、本変形例においては、マーカー902を貼着する代わりに、ICタグ903を貼着しても構わない。その場合は、ハンドユニット140としてタグリーダー142を備えることを要する。
【0059】
以上、変形例を含めて本実施形態を説明したが、透明容器900や不透明容器904に収容する把持対象物は、単独のフォーク901に限らない。複数のフォークが収容されていても構わないし、スプーンが収容されていても構わない。ユーザが把持対象物としてフォークを指定した場合に、フォークと共にスプーンも把持することを許容するのであれば、フォークとスプーンが共に収容されていても構わない。もちろん、フォークやスプーンのような小物に限らず、把持しにくい比較的大きな対象物を容器に収容して把持するようにしても構わない。逆に、把持部に対して非常に小さな対象物も、容器に収容して把持することに好適である。さらには、例えば海水中の生魚など液体中に存在する対象物を把持したい場合には、当該対象物を液体ごと透明容器900へ収容すれば、透明容器900を介して確実に把持できる。また、食料品など変形しやすい対象物を把持する場合にも、容器に収容して把持することに好適である。
【0060】
また、以上説明した本実施形態においては、一軸周りの開閉動作によって把持対象物を挟んで把持する第1フィンガー140aと第2フィンガー140bを把持部の例として説明したが、把持部はより複雑な構造を備えていても良い。例えば、複数のクロー爪を備えた把持部であっても良いし、人間の手のような多関節複数指の把持部であっても良い。ユーザは、把持対象物を容器に入れて間接的に把持させるか否かは、把持部の性能に応じて判断しても良い。
【0061】
また、以上説明した本実施形態においては、把持対象物をハンドカメラ141が出力する画像データを用いて検出したが、本体部120に配設された環境カメラ121が出力する画像データを用いて検出しても良い。この場合は、環境カメラ121が、第1検出部の機能を担う。また、広い範囲を環境カメラ121で捉え、注目する領域を絞り込んでからハンドカメラ141を用いるようにしても構わない。この場合は、環境カメラ121とハンドカメラ141が第1検出部の機能を担うことになる。
【0062】
また、以上説明した本実施形態においては、タグとして二次元コードのマーカー902とICタグ903の例を説明したが、採用し得るタグはこれらに限らない。また、タグを利用する場合に、容器に貼着する場合に限らず、例えば素材に埋め込んだり、直接印刷したりしても構わない。
【0063】
また、以上説明した本実施形態においては、移動ロボット100が把持装置を備える例を説明したが、把持装置は、移動機構などを備えない独立した装置であっても構わない。この場合、把持装置の制御に必要なコントロールユニットは、把持装置内に設けられる。
【符号の説明】
【0064】
100、100’ 移動ロボット、110 台車部、111 駆動輪、112 キャスター、120 本体部、121 環境カメラ、123 表示パネル、130 アームユニット、140 ハンドユニット、40a 第1フィンガー1、40b 第2フィンガー1、141 ハンドカメラ、142 タグリーダー、190 コントロールユニット、200 制御部、201 把持制御部、210 駆動輪ユニット、220 センサユニット、230 メモリ、240 ユーザIF、900 透明容器、901 フォーク、902 マーカー、903 ICタグ、904 不透明容器、910 テーブル