JP7258611B2 - 制御装置、プログラム及び制御方法 - Google Patents

制御装置、プログラム及び制御方法 Download PDF

Info

Publication number
JP7258611B2
JP7258611B2 JP2019048765A JP2019048765A JP7258611B2 JP 7258611 B2 JP7258611 B2 JP 7258611B2 JP 2019048765 A JP2019048765 A JP 2019048765A JP 2019048765 A JP2019048765 A JP 2019048765A JP 7258611 B2 JP7258611 B2 JP 7258611B2
Authority
JP
Japan
Prior art keywords
model
article
loaded
loading
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019048765A
Other languages
English (en)
Other versions
JP2020146824A (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.)
Toshiba Corp
Toshiba Infrastructure Systems and Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Infrastructure Systems and Solutions Corp
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 Toshiba Corp, Toshiba Infrastructure Systems and Solutions Corp filed Critical Toshiba Corp
Priority to JP2019048765A priority Critical patent/JP7258611B2/ja
Publication of JP2020146824A publication Critical patent/JP2020146824A/ja
Application granted granted Critical
Publication of JP7258611B2 publication Critical patent/JP7258611B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明の実施形態は、制御装置、プログラム及び制御方法に関する。
物品をケースなどに積載するロボットを制御する制御装置には、物品を積載する積載位置を決定するものがある。そのような制御装置は、既に積載されている物品などに基づいて、新たに積載する物品の積載位置を決定する。
しかしながら、ロボットは、物品を把持する把持部が既に積載されている物品と干渉することなどによって積載位置に適切に物品を積載できない場合がある。
特開2009-74815号公報
上記の課題を解決するため、把持部を考慮して物品の積載位置を決定することができる制御装置、プログラム及び制御方法を提供する。
実施形態によれば、制御装置は、第1のインターフェースと、プロセッサと、を備える。第1のインターフェースは、積載領域に積載する物品の形状を示す物品情報を取得する。プロセッサは、前記物品情報に基づいて、前記物品を把持する把持部が前記物品を把持した形状を平面に投影した第1の複合体モデルを生成し、前記積載領域に既に積載されている既積載物品を前記平面に投影した既積載モデルを生成し、前記第1の複合体モデルと前記既積載モデルとに基づいて前記第1の複合体モデルと前記既積載モデルの少なくとも1点とが干渉する第1の干渉領域を設定し、前記第1の干渉領域に基づいて前記物品を積載する第1の積載位置を決定する。前記プロセッサは、前記第1の複合体モデルの物品を示す部分のモデルを積載方向に延長した第2の複合体モデルを生成し、前記第2の複合体モデルと前記既積載モデルとに基づいて前記第2の複合体モデルと前記既積載モデルの少なくとも1点とが干渉する第2の干渉領域を設定し、前記第2の干渉領域に基づいて前記物品を積載する第2の積載位置を決定する。
図1は、第1の実施形態に係るロボットシステムの構成例を概念的に示す図である。 図2は、第1の実施形態に係る制御装置の構成例をブロック図である。 図3は、第1の実施形態に係る複合体モデルの例を示す図である。 図4は、第1の実施形態に係る制御装置の動作例を示す図である。 図5は、第1の実施形態に係る制御装置の動作例を示す図である。 図6は、第1の実施形態に係る制御装置の動作例を示すフローチャートである。 図7は、第1の実施形態に係る制御装置の動作例を示すフローチャートである。 図8は、第1の実施形態に係る複合体モデルの他の例を示す図である。 図9は、第2の実施形態に係る複合体モデルの例を示す図である。 図10は、第2の実施形態に係る制御装置の動作例を示すフローチャートである。 図11は、第2の実施形態に係る複合体モデルの他の例を示す図である。
以下、図面を参照しながら実施形態について説明する。
(第1の実施形態)
まず、第1の実施形態について説明する。
実施形態に係るロボットシステムは、ロボットを用いて所定の場所に積載される物品を順に把持し所定の場所に積載する。ロボットシステムは、ロボットが備える把持部で物品を把持し搬送する。たとえば、ロボットシステムは、コンベアなどが供給する物品を順にケース、荷台又は倉庫などに積載する。たとえば、ロボットシステムは、物流センター又は倉庫などで用いられる。ロボットシステムが利用される場所は、特定の構成に限定されるものではない。
図1は、実施形態に係るロボットシステム1の構成例を示す。図1が示すように、ロボットシステム1は、制御装置10及びロボット20などを備える。制御装置10とロボット20とは、互いに接続する。ここでは、ロボットシステム1は、物品2を積載領域に積載するものとする。ここでは、x軸は、水平な所定の方向を示す。また、y軸は、水平でありx軸と直交する方向を示す。また、z軸は、垂直な方向を示す。
物品2は、ロボットシステム1に把持される前において所定の領域に積載されている。たとえば、物品2は、コンベアなどによって搬送されるものであってもよい。また、物品2は、所定のケース又は所定の倉庫などに格納されていてもよい。
たとえば、物品2は、矩形に形成される箱などである。また、物品2は、商品、部品又は荷物などである。物品2の構成は、特定の構成に限定されるものではない。
制御装置10は、ロボット20を制御する。制御装置10は、ロボット20が物品を積載する領域(積載領域)において物品2を積載する位置(積載位置)を決定する。制御装置10は、積載領域に既に積載されている物品などに基づいて積載位置を決定する。制御装置10は、決定した積載位置を示す情報をロボット20に送信する。制御装置10については、後に詳述する。
ロボット20は、制御装置10からの制御に従って、物品2を把持し積載領域に積載する。ロボット20は、制御装置10が決定した積載位置に物品2を積載する。即ち、ロボット20は、積載位置にまで把持した物品2を搬送し解放する。
ロボット20は、ロボットアーム21、把持部22及びロボットコントローラ24などから構成される。
ロボットアーム21は、ロボットコントローラ24の制御によって駆動するマニピュレータである。たとえば、ロボットアーム21は、棒状のフレーム及びフレームを駆動するモータなどから構成される。
把持部22は、ロボットアーム21の先端に設置されている。把持部22は、ロボットアーム21の移動に伴って移動される。把持部22は、ロボットアーム21が所定の方向に移動することにより、物品2を把持する位置まで移動する。
把持部22は、物品2を把持する。ここでは、把持部22は、吸着パット23(把持機構)を備える。吸着パット23は、物品2に吸着する。たとえば、吸着パット23は、真空吸着により物品2に吸着する。吸着パット23は、ロボットコントローラ24からの制御に基づいて内部を負圧にする。吸着パット23は、物品2の表面に接した状態で内部を負圧にすることで物品2の表面に真空吸着する。吸着パット23は、内部の負圧を解除すると、物品2を解放する。
ここでは、把持部22は、複数の吸着パット23を備える。
なお、把持部22には、吸着パット以外の種々の把持機構を採用してよい。たとえば、把持部22は、物品2を把持するグリッパを含むものであってよい。グリッパは、複数の指と、複数の指を連結している複数の関節機構とを備える。関節機構は、関節機構の動作に連動して指が動作するように構成されてよい。グリッパは、例えば、複数の指による2点以上の接点で、対向する複数の方向から物品2に対して力を加える。これにより、把持部22は、指と物品との間に生じる摩擦によって物品2を把持する。把持部22の構成は、物品2を把持可能な種々の把持機構を用いてよく、特定の構成に限定されるものではない。
ロボットコントローラ24は、制御装置10の制御に従ってロボットアーム21及び把持部22などを制御する。たとえば、ロボットコントローラ24は、制御装置10から積載位置を示す情報を受信する。ロボットコントローラ24は、積載位置に基づいて、把持部22を初期位置から物品2を把持する把持位置及び積載位置などに順に移動させる経路を示す経路計画を策定する。たとえば、ロボットコントローラ24は、既に積載されている物品などとロボットアーム21及び把持部22などが接触しないように経路計画を策定する。
ロボットコントローラ24は、経路計画に従って、把持部22を移動させる。即ち、ロボットコントローラ24は、ロボットアーム21を制御して把持部22を経路計画が示す経路に沿って移動させる。
ロボットコントローラ24は、把持部22を初期位置から把持位置まで移動させると、吸着パット23を制御して吸着パット23を物品2に吸着させる。ロボットコントローラ24は、物品2を吸着させた状態でロボットアーム21を移動させて物品2を移動させる。
ロボットコントローラ24は、ロボットアーム21を移動させて把持した物品2を積載位置まで搬送する。ロボットコントローラ24は、物品2を積載位置まで搬送すると、吸着パット23を制御して物品2を解放する。
たとえば、ロボットコントローラ24は、プロセッサなどから構成される。たとえば、ロボットコントローラ24は、PC又はASIC(Application Specific Integrated Circuit)などから構成される。ロボットコントローラ24の構成は、特定に構成に限定されるものではない。
なお、ロボットシステム1は、図1が示すような構成の他に必要に応じた構成を具備したり、ロボットシステム1から特定の構成が除外されたりしてもよい。
次に、制御装置10について説明する。
図2は、制御装置10の構成例を示す。図2が示すように、制御装置10は、プロセッサ11、ROM12、RAM13、NVM14、通信部15、操作部16、表示部17及びロボットインターフェース18などを備える。
プロセッサ11と、ROM12、RAM13、NVM14、通信部15、操作部16、表示部17及びロボットインターフェース18と、は、データバスなどを介して互いに接続する。
なお、制御装置10は、図2が示すような構成の他に必要に応じた構成を具備したり、制御装置10から特定の構成が除外されたりしてもよい。
プロセッサ11は、制御装置10全体の動作を制御する機能を有する。プロセッサ11は、内部キャッシュ及び各種のインターフェースなどを備えてもよい。プロセッサ11は、内部メモリ、ROM12又はNVM14が予め記憶するプログラムを実行することにより種々の処理を実現する。
なお、プロセッサ11がプログラムを実行することにより実現する各種の機能のうちの一部は、ハードウエア回路により実現されるものであってもよい。この場合、プロセッサ11は、ハードウエア回路により実行される機能を制御する。
ROM12は、制御プログラム及び制御データなどが予め記憶された不揮発性のメモリである。ROM12に記憶される制御プログラム及び制御データは、制御装置10の仕様に応じて予め組み込まれる。
RAM13は、揮発性のメモリである。RAM13は、プロセッサ11の処理中のデータなどを一時的に格納する。RAM13は、プロセッサ11からの命令に基づき種々のアプリケーションプログラムを格納する。また、RAM13は、アプリケーションプログラムの実行に必要なデータ及びアプリケーションプログラムの実行結果などを格納してもよい。
NVM14は、データの書き込み及び書き換えが可能な不揮発性のメモリである。NVM14は、たとえば、HDD(Hard Disk Drive)、SSD(Solid State Drive)又はフラッシュメモリなどから構成される。NVM14は、制御装置10の運用用途に応じて制御プログラム、アプリケーション及び種々のデータなどを格納する。
通信部15(第1のインターフェース)は、外部装置と通信するためのインターフェースである。たとえば、通信部15は、インターネットなどの外部ネットワーク又はLAN(Local Area Network)などの内部ネットワークを通じて外部装置と接続する。たとえば、通信部15は、LAN接続をサポートするインターフェースである。
操作部16(第1のインターフェース)は、オペレータから種々の操作の入力を受け付ける。操作部16は、入力された操作を示す信号をプロセッサ11へ送信する。操作部16は、タッチパネルから構成されてもよい。
表示部17は、プロセッサ11からの画像データを表示する。たとえば、表示部17は、液晶モニタから構成される。操作部16がタッチパネルから構成される場合、表示部17は、操作部16と一体的に形成されてもよい。
ロボットインターフェース18(第2のインターフェース)は、ロボット20と通信するためのインターフェースである。即ち、ロボットインターフェース18は、ロボットコントローラ24と通信する。また、ロボットインターフェース18は、USB(Universal Serial Bus)接続をサポートするものであってもよい。
次に、制御装置10が実現する機能について説明する。制御装置10が実現する機能は、プロセッサ11がROM12又はNVM14などに格納されるプログラムを実行することで実現される。
まず、プロセッサ11は、物品2の形状を示す物品情報を取得する機能を有する。
プロセッサ11は、積載領域に積載する物品2が存在する場合、物品2の形状を示す物品情報を取得する。たとえば、プロセッサ11は、通信部15などを通じて所定のタイミングで外部装置から物品情報を取得する。また、プロセッサ11は、操作部16などを通じてオペレータから物品情報の入力を受け付けてもよい。
たとえば、物品情報は、物品2の形状として物品2にサイズを示す。物品情報は、物品2の各辺の長さを示す。
物品情報は、オペレータによって入力されたサイズに基づいて生成されるものであってもよい。また、物品情報は、センサなどによって測定されたサイズに基づいて生成されるものであってもよい。
また、プロセッサ11は、物品情報に基づいて、把持部22が物品2を把持した形状を垂直な平面に投影した複合体モデル(第1の複合体モデル)を生成する機能を有する。
ここでは、プロセッサ11は、把持部22が物品2を把持した形状をXZ平面に投影した複合体モデルを生成する。
プロセッサ11は、XZ平面における把持部22のモデル(把持部モデル)を取得する。たとえば、プロセッサ11は、NVM14から把持部モデルを取得する。プロセッサ11は、把持部モデルを取得すると、XZ平面において物品2をモデル化する。即ち、プロセッサ11は、物品情報が示すサイズに基づいてXZ平面における物品2のモデル(物品モデル)を生成する。
プロセッサ11は、物品モデルを生成すると、把持部モデル及び物品モデルに基づいて、第1の複合体モデルを生成する。たとえば、プロセッサ11は、把持部22と物品2とが接触する領域において把持部モデルと物品モデルとを接続することで第1の複合体モデルを生成する。ここでは、把持部22は、物品2を上から把持するため、プロセッサ11は、把持部モデルの下端に物品モデルを接続する。
図3は、プロセッサ11が生成する第1の複合体モデル30を示す。図3が示すように、第1の複合体モデル30は、把持部モデル31及び物品モデル32から構成される。
把持部モデル31は、把持部22のモデルである。把持部モデル31は、把持部22の形状(たとえば、サイズなど)に基づいて形成される。
物品モデル32は、物品2のモデルである。物品モデル32は、物品2の形状(たとえば、サイズなど)に基づいて形成される。
把持部モデル31と物品モデル32とは、所定の領域において接触する。即ち、把持部モデル31と物品モデル32とは、把持部22が物品2を把持する際に物品2に接触する領域に対応する領域において接触する。
また、プロセッサ11は、生成した第1の複合体モデルに参照点を設定する機能を有する。
たとえば、プロセッサ11は、第1の複合体モデルの所定の頂点に参照点を設定する。プロセッサ11は、参照点として、第1の複合体モデルの所定の点に対する相対座標を設定する。
図3が示す例では、プロセッサ11は、第1の複合体モデル30に参照点33を設定する。図3が示すように、プロセッサ11は、物品モデル32の底辺の一端(ここでは、左端)に参照点33を設定する。
また、プロセッサ11は、既積載物品を垂直な平面に投影したモデル(既積載モデル)を生成する機能を有する。
たとえば、プロセッサ11は、既積載物品の物品情報などに基づいて既積載物品をXZ平面に投影した既積載モデルを生成する。
また、プロセッサ11は、各既積載モデルと第1の複合体モデルとが干渉する個別干渉領域をそれぞれ設定する機能を有する。
個別干渉領域は、特定の既積載モデルと第1の複合体モデルとが干渉する領域である。即ち、個別干渉領域は、特定の既積載物品によって物品2を把持した把持部22が進入することができない領域である。
まず、プロセッサ11は、1つの既積載物品を設定し、設定された既積載物品の既積載モデルを生成する。プロセッサ11は、既積載モデルを生成すると、既積載モデルの外周と第1の複合体モデルの少なくとも1点とを接触させた状態における第1の複合体モデルを回転させずに既積載モデルの外周に沿って移動させる。プロセッサ11は、第1の複合体モデルを移動させることで生じる、第1の複合体モデルの参照点の軌跡を取得する。プロセッサ11は、参照点の軌跡を個別干渉領域の外形として取得する。即ち、プロセッサ11は、参照点の軌跡の内部の領域を個別干渉領域として設定する。
図4は、プロセッサ11が設定した個別干渉領域45の例を示す。図4が示す例では、プロセッサ11は、既積載モデル100を生成したものとする。また、プロセッサ11は、第1の複合体モデル40を生成したものとする。
第1の複合体モデル40は、既積載物品の高さよりも高い物品2の物品モデルと把持部モデルとから構成される。また、第1の複合体モデル40には、参照点43が設定される。
既積載モデル100は、既積載物品をモデル化したものである。既積載モデル100は、積載領域の底面101上に積載されている。ここでは、既積載物品が矩形であるため、既積載モデル100は、矩形である。
図4が示すように、個別干渉領域45は、上に凸の形状である。物品2の高さが既積載物品の高さよりも高いため、個別干渉領域45の下方の矩形は、底面101よりも下方に形成される。
図5は、プロセッサ11が設定した個別干渉領域55の例を示す。図5が示す例では、プロセッサ11は、第1の複合体モデル50を生成したものとする。
第1の複合体モデル50は、既積載物品の高さよりも低い物品2の物品モデルと把持部モデルとから構成される。また、第1の複合体モデル50には、参照点53が設定される。
図5が示すように、個別干渉領域55は、上に凸の形状である。物品2の高さが既積載物品の高さよりも低いため、個別干渉領域55の下方の矩形は、底面101よりも上方に一部突出している。
プロセッサ11は、各既積載物品について個別干渉領域を生成する。
また、プロセッサ11は、個別干渉領域に基づいて、既積載モデルの少なくとも1点と第1の複合体モデルとが干渉する干渉領域(第1の干渉領域)を設定する機能を有する。
干渉領域は、少なくとも1点の既積載物品によって物品2を把持した把持部22が進入することができない領域である。
プロセッサ11は、設定した各個別干渉領域を重ね合わせる。プロセッサ11は、各個別干渉領域を重ね合わせて得られた領域を干渉領域として設定する。
また、プロセッサ11は、設定した干渉領域に基づいて、物品2を積載する積載位置(第1の積載位置)を決定する機能を有する。
プロセッサ11は、設定した干渉領域以外の領域において第1の積載位置に対応する積載点を選択する。プロセッサ11は、所定のアルゴリズムに従って積載点を選択する。
たとえば、プロセッサ11は、ボトムレフト法を用いて積載点を選択する。即ち、プロセッサ11は、干渉領域以外の領域において最も低い位置にある点から最も左(又は、右)にある点を積載点として選択する。たとえば、プロセッサ11は、干渉領域の外周と底面101との交点を積載点として選択する。
なお、プロセッサ11は、干渉領域以外の領域の各点において評価値を算出して積載点を選択してもよい。プロセッサ11が積載点を選択する方法は、特定の方法に限定されるものではない。
プロセッサ11は、積載点を選択すると、実空間において積載点に対応する点を第1の積載位置として決定する。即ち、プロセッサ11は、選択した積載点を第1の積載位置に変換する。たとえば、プロセッサ11は、積載点の二次元座標を第1の積載位置の三次元座標に変換する。また、プロセッサ11は、第1の積載位置として物品2を解放する把持部22の座標を生成してもよい。
また、プロセッサ11は、決定した第1の積載位置をロボット20に送信する機能を有する。
即ち、プロセッサ11は、ロボットインターフェース18を通じてロボットコントローラ24に第1の積載位置を示す情報を送信する。
次に、制御装置10の動作例について説明する。
図6は、制御装置10の動作例について説明するためのフローチャートである。
まず、制御装置10のプロセッサ11は、物品情報を取得する(S11)。物品情報を取得すると、プロセッサ11は、物品情報に基づいて第1の複合体モデルを生成する(S12)。第1の複合体モデルを生成すると、プロセッサ11は、第1の干渉領域を設定する(S13)。
第1の干渉領域を設定すると、プロセッサ11は、第1の干渉領域に基づいて第1の積載位置を決定する(S14)。第1の積載位置の決定に成功すると(S15、YES)、プロセッサ11は、決定した第1の積載位置をロボット20に送信する(S16)。
第1の積載位置をロボット20に送信すると、プロセッサ11は、他に物品があるか判定する(S17)。他に物品があると判定すると(S17、YES)、プロセッサ11は、S11に戻る。
第1の積載位置の決定に失敗した場合(S15、NO)、又は、他に物品がないと判定した場合(S17、NO)、プロセッサ11は、動作を終了する。
なお、プロセッサ11は、S15、NOである場合、エラーを出力してもよい。
次に、プロセッサ11が第1の干渉領域を設定する動作例(S13)について説明する。
図7は、プロセッサ11が第1の干渉領域を設定する動作例(S13)について説明するためのフローチャートである。
まず、プロセッサ11は、1つの既積載物品を設定する(S21)。1つの既積載物品を設定すると、プロセッサ11は、設定された既積載物品に基づいて既積載モデルを生成する(S22)。
既積載モデルを生成すると、プロセッサ11は、既積載モデル及び第1の複合体モデルに基づいて個別干渉領域を設定する(S23)。個別干渉領域を設定すると、プロセッサ11は、他に既積載物品があるか判定する(S24)。
他に既積載物品があるとか判定すると(S24、YES)、プロセッサ11は、S21に戻る。
他に既積載物品がないと判定すると(S24、NO)、プロセッサ11は、設定した個別干渉領域に基づいて第1の干渉領域を設定する(S25)。第1の干渉領域を設定すると、プロセッサ11は、動作を終了する。
なお、プロセッサ11は、過去に既積載モデルを生成している場合、当該既積載モデルを用いてもよい。この場合、プロセッサ11は、既積載モデルを生成していない既積載物品について既積載モデルを生成する。
また、過去に個別干渉領域を設定している場合、当該個別干渉領域を用いて第1の干渉領域を設定してもよい。この場合、プロセッサ11は、個別干渉領域を設定していない既積載モデルについて個別干渉領域を設定する。
次に、プロセッサ11が生成する第1の複合体モデルの他の例について説明する。
図8は、プロセッサ11が生成する第1の複合体モデル60を示す。図8が示す例では、把持部22は、物品2を下方から把持する。たとえば、把持部22は、物品2を積載するトレイなどから構成される。
図8が示すように、第1の複合体モデル60は、物品モデル32及び把持部モデル61から構成される。
物品モデル32は、前述の通りである。
把持部モデル61は、把持部22のモデルである。
図8が示すように、把持部モデル61は、物品モデル32に下方に形成される。
また、プロセッサ11は、物品モデル32の上辺の一端(ここでは、左端)に参照点63を設定する。
プロセッサ11は、第1の複合体モデル60を用いて第1の干渉領域を設定してもよい。
なお、プロセッサ11は、第1の複合体モデルに接触させた状態で既積載モデルを回転させずに第1の複合体モデルの外周に沿って移動させてもよい。この場合、プロセッサ11は、既積載モデルの軌跡を第1の複合体モデルの参照点の軌跡に変換することで、個別干渉領域を設定する。
また、プロセッサ11は、既積載モデルに接触させた状態で第1の複合体モデルを回転させずに既積載モデルの外周の一部に沿って移動させてもよい。即ち、プロセッサ11は、積載点の候補となり得る部分において、参照点の軌跡を取得してもよい。
以上のように構成された制御装置は、把持部が物品を把持した形状をXZ平面に投影した第1の複合体モデルを生成する。また、制御装置は、既積載物品をXZ平面に投影した既積載モデルを生成する。制御装置は、第1の複合体モデル及び既積載モデルに基づいて、干渉領域を設定する。制御装置は、干渉領域に従って物品を積載する第1の積載位置を決定する。その結果、制御装置は、把持部と既積載物品とが干渉しないように第1の積載位置を決定することができる。
(第2の実施形態)
次に、第2の実施形態について説明する。
第2の実施形態に係るロボットシステム1は、第1の複合体モデルを下方(積載方向)に延長した複合体モデルを用いて干渉領域を設定する点で第1の実施形態のそれと異なる。従ってその他の構成については同一の符号を付して詳細な説明を省略する。
第2の実施形態に係るロボットシステム1の構成は、第1の実施形態のそれと同様であるため説明を省略する。
次に、制御装置10が実現する機能について説明する。制御装置10が実現する機能は、プロセッサ11がROM12又はNVM14などに格納されるプログラムを実行することで実現される。
プロセッサ11は、第1の実施形態に係る機能に加えて以下の機能を実現する。
まず、プロセッサ11は、第1の複合体モデルを下方に延長した複合体モデル(第2の複合体モデル)を生成する機能を有する。
プロセッサ11は、第1の複合体モデルを延長するための延長モデルを生成する。延長モデルは、物品2の幅と同様の幅に形成される。延長モデルの高さは、物品2を落下させることが可能な高さである。
たとえば、延長モデルの高さは、物品2の高さに所定の数値を積算した値であってもよい。
また、延長モデルの高さは、所定の値であってもよい。
また、物品情報は、延長モデルの高さを示すものであってもよい。この場合、プロセッサ11は、物品情報が示す高さの延長モデルを生成する。
プロセッサ11は、物品モデルの下端に延長モデルを接続して、第2の複合体モデルを生成する。
図9は、プロセッサ11が生成する第2の複合体モデル70を示す。図9が示すように、第2の複合体モデル70は、把持部モデル31、物品モデル32及び延長モデル74から構成される。
把持部モデル31及び物品モデル32は、前述の通りである。
延長モデル74は、第1の複合体モデル30を下方に延長するためのモデルである。延長モデル74は、物品モデル32の幅と同様の幅に形成される。また、延長モデル74は、物品2を落下させることが可能な高さに形成される。
延長モデル74は、物品モデル32の下端に接続する。
また、プロセッサ11は、生成した第2の複合体モデルに参照点を設定する機能を有する。
たとえば、プロセッサ11は、第2の複合体モデルの所定の頂点に参照点を設定する。プロセッサ11は、参照点として、第2の複合体モデルの所定の点に対する相対座標を設定する。
図9が示す例では、プロセッサ11は、第2の複合体モデル70に参照点73を設定する。図9が示すように、プロセッサ11は、延長モデル74の底辺の一端(ここでは、左端)に参照点73を設定する。
また、プロセッサ11は、各既積載モデルと第2の複合体モデルとが干渉する個別干渉領域をそれぞれ設定する機能を有する。
プロセッサ11が個別干渉領域を設定する動作は、第1の実施形態において各既積載モデルと第1の複合体モデルとが干渉する個別干渉領域を設定する動作と同様であるため説明を省略する。
また、プロセッサ11は、個別干渉領域に基づいて、既積載モデルの少なくとも1点と第2の複合体モデルとが干渉する干渉領域(第2の干渉領域)を設定する機能を有する。
プロセッサ11が第2の干渉領域を設定する動作は、第1の実施形態において第1の干渉領域を設定する動作と同様であるため説明を省略する。
また、プロセッサ11は、第2の干渉領域に基づいて、物品2を積載する積載位置(第2の積載位置)を決定する機能を有する。
プロセッサ11が第2の積載位置を決定する動作は、第1の実施形態において第1の積載位置を決定する動作と同様であるため説明を省略する。
また、プロセッサ11は、第1の積載位置と第2の積載位置とからロボット20に送信する積載位置を選択する機能を有する。
たとえば、プロセッサ11は、第1の積載位置と第2の積載位置とからより低い位置にある方を選択する。また、プロセッサ11は、第1の積載位置の評価値と第2の積載位置の評価値とを比較して、積載位置を選択してもよい。プロセッサ11が積載位置を選択する方法は、特定の方法に限定されるものではない。
プロセッサ11は、ロボットインターフェース18を通じて、選択された積載位置を示す情報をロボット20に送信する。
次に、制御装置10の動作例について説明する。
図10は、制御装置10の動作例について説明するためのフローチャートである。
まず、制御装置10のプロセッサ11は、物品情報を取得する(S31)。物品情報を取得すると、プロセッサ11は、第1の複合体モデルを生成する(S32)。第1の複合体モデルを生成すると、プロセッサ11は、第1の干渉領域を設定する(S33)。
第1の干渉領域を設定すると、プロセッサ11は、第1の積載位置を決定する(S34)。第1の積載位置を決定すると、プロセッサ11は、第2の複合体モデルを生成する(S35)。第2の複合体モデルを生成すると、プロセッサ11は、第2の干渉領域を設定する(S36)。
第2の干渉領域を設定すると、プロセッサ11は、第2の積載位置を決定する(S37)。第2の積載位置を決定すると、プロセッサ11は、積載位置を選択する(S38)。積載位置を選択すると、プロセッサ11は、選択した積載位置をロボット20に送信する。(S39)。
選択した積載位置をロボット20に送信すると、プロセッサ11は、他に物品があるか判定する(S40)。他に物品があると判定すると(S40、YES)、プロセッサ11は、S31に戻る。
他に物品がないと判定すると(S40、NO)、プロセッサ11は、動作を終了する。
プロセッサ11が第1の干渉領域及び第2の干渉領域を設定する動作例(S33及びS36)は、第1の実施形態において第1の干渉領域を設定する動作例(S21乃至S25)と同様であるため説明を省略する。
次に、プロセッサ11が生成する第2の複合体モデルの他の例について説明する。
図11は、プロセッサ11が生成する第2の複合体モデル80を示す。図11が示す例では、把持部22は、物品2を下方から把持する。たとえば、把持部22は、物品2を積載するトレイなどから構成される。
図11が示すように、第2の複合体モデル80は、物品モデル32、把持部モデル61及び延長モデル84から構成される。
物品モデル32及び把持部モデル61は、前述の通りである。
延長モデル84は、第1の複合体モデル60を延長するためのモデルである。延長モデル84は、把持部モデル61の幅と同様の幅に形成される。また、延長モデル84は、物品2を落下させることが可能な高さに形成される。
延長モデル84は、把持部モデル61の下端に接続する。
また、プロセッサ11は、物品モデル32の上辺の一端(ここでは、左端)に参照点63を設定する。
プロセッサ11は、第2の複合体モデル80を用いて第1の干渉領域を設定してもよい。
なお、プロセッサ11は、第1の積載位置又は第2の積載位置の決定に失敗した場合、決定に成功した積載位置をロボット20に送信してもよい。また、プロセッサ11は、第1の積載位置及び第2の積載位置の決定に失敗した場合、エラーを出力してもよい。
また、プロセッサ11は、ユーザの選択に従って、第2の積載位置をロボット20に送信してもよい。この場合、プロセッサ11は、第1の積載位置を決定しなくともよい。
以上のように構成された制御装置は、第1の複合体モデルを下方に延長した第2の複合体モデルを生成する。制御装置は、第2の複合体モデルに基づいて第2の積載位置を決定する。その結果、制御装置は、高さが既積載物品の高さより低い物品であっても既積載物品に隣接した位置を第2の積載位置として決定することができる。そのため、制御装置は、ロボットにより高密度に物品を積載させることができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
積載領域に積載する物品の形状を示す物品情報を取得する第1のインターフェースと、 前記物品情報に基づいて、前記物品を把持する把持部が前記物品を把持した形状を平面に投影した第1の複合体モデルを生成し、
前記積載領域に既に積載されている既積載物品を前記平面に投影した既積載モデルを生成し、
前記第1の複合体モデルと前記既積載モデルとに基づいて前記第1の複合体モデルと前記既積載モデルの少なくとも1点とが干渉する第1の干渉領域を設定し、
前記第1の干渉領域に基づいて前記物品を積載する第1の積載位置を決定する、
プロセッサと、
を備える制御装置。
[C2]
前記プロセッサは、
前記第1の複合体モデルにおいて参照点を設定し、
前記既積載モデルの外周と前記第1の複合体モデルの少なくとも1点とを干渉させた状態における前記既積載モデルの外周に沿った前記参照点の軌跡に基づいて前記第1の複合体モデルと前記既積載モデルと干渉する個別干渉領域をそれぞれ設定し、
前記個別干渉領域に基づいて、前記第1の干渉領域を設定する、
C1に記載の制御装置。
[C3]
前記プロセッサは、前記第1の干渉領域の外周と前記積載領域の底面との交点に対応する点を第1の積載位置として決定する、
C1又は2に記載の制御装置。
[C4]
前記プロセッサは、
前記第1の複合体モデルの物品を示す部分のモデルを積載方向に延長した第2の複合体モデルを生成し、
前記第2の複合体モデルと前記既積載モデルとに基づいて前記第2の複合体モデルと前記既積載モデルの少なくとも1点とが干渉する第2の干渉領域を設定し、
前記第2の干渉領域に基づいて前記物品を積載する第2の積載位置を決定する、
C1乃至3の何れか1項に記載の制御装置。
[C5]
前記第2の複合体モデルは、前記把持部を前記平面に投影した把持部モデルと、前記把持部モデルの下端に形成され前記物品を前記平面に投影した物品モデルと、前記物品モデルの下端に形成され前記第1の複合体モデルを積載方向に延長するための延長モデルと、から構成される、
C4に記載の制御装置。
[C6]
前記延長モデルは、前記物品を落下させることが可能な高さに形成される、
C5に記載の制御装置。
[C7]
前記プロセッサは、前記第1の積載位置及び前記第2の積載位置から積載位置を選択し、
選択された前記積載位置を出力する第2のインターフェースを備える、
C4乃至6の何れか1項に記載の制御装置。
[C8]
前記プロセッサは、前記第1の積載位置及び前記第2の積載位置から低い位置にある積載位置を選択する、
C7に記載の制御装置。
[C9]
前記既積載モデルは、矩形である、
C1乃至8の何れか1項に記載の制御装置。
[C10]
前記平面は、垂直な平面である、
C1乃至9の何れか1項に記載の制御装置。
[C11]
プロセッサによって実行されるプログラムであって、
前記プロセッサに、
積載領域に積載する物品の形状を示す物品情報を取得させ、
前記物品情報に基づいて、前記物品を把持する把持部が前記物品を把持した形状を平面に投影した第1の複合体モデルを生成させ、
前記積載領域に既に積載されている既積載物品を前記平面に投影した既積載モデルを生成させ、
前記第1の複合体モデルと前記既積載モデルとに基づいて前記第1の複合体モデルと前記既積載モデルの少なくとも1点とが干渉する第1の干渉領域を設定させ、
前記第1の干渉領域に基づいて前記物品を積載する第1の積載位置を決定させる、プログラム。
[C12]
積載領域に積載する物品の形状を示す物品情報を取得し、
前記物品情報に基づいて、前記物品を把持する把持部が前記物品を把持した形状を平面に投影した第1の複合体モデルを生成し、
前記積載領域に既に積載されている既積載物品を前記平面に投影した既積載モデルを生成し、
前記第1の複合体モデルと前記既積載モデルとに基づいて前記第1の複合体モデルと前記既積載モデルの少なくとも1点とが干渉する第1の干渉領域を設定し、
前記第1の干渉領域に基づいて前記物品を積載する第1の積載位置を決定する、
制御方法。
1…ロボットシステム、2…物品、10…制御装置、11…プロセッサ、12…ROM、13…RAM、14…NVM、15…通信部、16…操作部、17…表示部、18…ロボットインターフェース、20…ロボット、21…ロボットアーム、22…把持部、23…吸着パット、24…ロボットコントローラ、30…第1の複合体モデル、31…把持部モデル、32…物品モデル、33…参照点、40…第1の複合体モデル、43…参照点、45…個別干渉領域、50…第1の複合体モデル、53…参照点、55…個別干渉領域、60…第1の複合体モデル、61…把持部モデル、63…参照点、70…第2の複合体モデル、73…参照点、74…延長モデル、80…第2の複合体モデル、84…延長モデル、100…既積載モデル、101…底面。

Claims (11)

  1. 積載領域に積載する物品の形状を示す物品情報を取得する第1のインターフェースと、 前記物品情報に基づいて、前記物品を把持する把持部が前記物品を把持した形状を平面に投影した第1の複合体モデルを生成し、
    前記積載領域に既に積載されている既積載物品を前記平面に投影した既積載モデルを生成し、
    前記第1の複合体モデルと前記既積載モデルとに基づいて前記第1の複合体モデルと前記既積載モデルの少なくとも1点とが干渉する第1の干渉領域を設定し、
    前記第1の干渉領域に基づいて前記物品を積載する第1の積載位置を決定する、
    プロセッサと、
    を備え
    前記プロセッサは、
    前記第1の複合体モデルの物品を示す部分のモデルを積載方向に延長した第2の複合体モデルを生成し、
    前記第2の複合体モデルと前記既積載モデルとに基づいて前記第2の複合体モデルと前記既積載モデルの少なくとも1点とが干渉する第2の干渉領域を設定し、
    前記第2の干渉領域に基づいて前記物品を積載する第2の積載位置を決定する、
    制御装置。
  2. 前記プロセッサは、
    前記第1の複合体モデルにおいて参照点を設定し、
    前記既積載モデルの外周と前記第1の複合体モデルの少なくとも1点とを干渉させた状態における前記既積載モデルの外周に沿った前記参照点の軌跡に基づいて前記第1の複合体モデルと前記既積載モデルと干渉する個別干渉領域をそれぞれ設定し、
    前記個別干渉領域に基づいて、前記第1の干渉領域を設定する、
    請求項1に記載の制御装置。
  3. 前記プロセッサは、前記第1の干渉領域の外周と前記積載領域の底面との交点に対応する点を第1の積載位置として決定する、
    請求項1又は2に記載の制御装置。
  4. 前記第2の複合体モデルは、前記把持部を前記平面に投影した把持部モデルと、前記把持部モデルの下端に形成され前記物品を前記平面に投影した物品モデルと、前記物品モデルの下端に形成され前記第1の複合体モデルを積載方向に延長するための延長モデルと、から構成される、
    請求項に記載の制御装置。
  5. 前記延長モデルは、前記物品を落下させることが可能な高さに形成される、
    請求項に記載の制御装置。
  6. 前記プロセッサは、前記第1の積載位置及び前記第2の積載位置から積載位置を選択し、
    選択された前記積載位置を出力する第2のインターフェースを備える、
    請求項3乃至5の何れか1項に記載の制御装置。
  7. 前記プロセッサは、前記第1の積載位置及び前記第2の積載位置から低い位置にある積載位置を選択する、
    請求項に記載の制御装置。
  8. 前記既積載モデルは、矩形である、
    請求項1乃至の何れか1項に記載の制御装置。
  9. 前記平面は、垂直な平面である、
    請求項1乃至の何れか1項に記載の制御装置。
  10. プロセッサによって実行されるプログラムであって、
    前記プロセッサに、
    積載領域に積載する物品の形状を示す物品情報を取得する機能と
    前記物品情報に基づいて、前記物品を把持する把持部が前記物品を把持した形状を平面に投影した第1の複合体モデルを生成する機能と
    前記積載領域に既に積載されている既積載物品を前記平面に投影した既積載モデルを生成する機能と
    前記第1の複合体モデルと前記既積載モデルとに基づいて前記第1の複合体モデルと前記既積載モデルの少なくとも1点とが干渉する第1の干渉領域を設定する機能と
    前記第1の干渉領域に基づいて前記物品を積載する第1の積載位置を決定する機能と
    前記第1の複合体モデルの物品を示す部分のモデルを積載方向に延長した第2の複合体モデルを生成する機能と、
    前記第2の複合体モデルと前記既積載モデルとに基づいて前記第2の複合体モデルと前記既積載モデルの少なくとも1点とが干渉する第2の干渉領域を設定する機能と、
    前記第2の干渉領域に基づいて前記物品を積載する第2の積載位置を決定する機能と、
    を実現させるプログラム。
  11. 積載領域に積載する物品の形状を示す物品情報を取得し、
    前記物品情報に基づいて、前記物品を把持する把持部が前記物品を把持した形状を平面に投影した第1の複合体モデルを生成し、
    前記積載領域に既に積載されている既積載物品を前記平面に投影した既積載モデルを生成し、
    前記第1の複合体モデルと前記既積載モデルとに基づいて前記第1の複合体モデルと前記既積載モデルの少なくとも1点とが干渉する第1の干渉領域を設定し、
    前記第1の干渉領域に基づいて前記物品を積載する第1の積載位置を決定し、
    前記第1の複合体モデルの物品を示す部分のモデルを積載方向に延長した第2の複合体モデルを生成し、
    前記第2の複合体モデルと前記既積載モデルとに基づいて前記第2の複合体モデルと前記既積載モデルの少なくとも1点とが干渉する第2の干渉領域を設定し、
    前記第2の干渉領域に基づいて前記物品を積載する第2の積載位置を決定する、
    制御方法。
JP2019048765A 2019-03-15 2019-03-15 制御装置、プログラム及び制御方法 Active JP7258611B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019048765A JP7258611B2 (ja) 2019-03-15 2019-03-15 制御装置、プログラム及び制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019048765A JP7258611B2 (ja) 2019-03-15 2019-03-15 制御装置、プログラム及び制御方法

Publications (2)

Publication Number Publication Date
JP2020146824A JP2020146824A (ja) 2020-09-17
JP7258611B2 true JP7258611B2 (ja) 2023-04-17

Family

ID=72431488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019048765A Active JP7258611B2 (ja) 2019-03-15 2019-03-15 制御装置、プログラム及び制御方法

Country Status (1)

Country Link
JP (1) JP7258611B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008265970A (ja) 2007-04-20 2008-11-06 Nippon Cargo Airlines Co Ltd 物品積載システム、物品積載シミュレーション方法、物品積載シミュレーションプログラム、及び記録媒体
JP2010244368A (ja) 2009-04-07 2010-10-28 Sharp Corp 構成部品データ簡略化装置、構成部品データ簡略化方法および構成部品データ簡略化プログラム
CN102833961A (zh) 2012-06-15 2012-12-19 深圳市百能信息技术有限公司 Pcb拼板方法及装置
JP2015100866A (ja) 2013-11-22 2015-06-04 三菱電機株式会社 ロボットシミュレーション装置、プログラム、記録媒体及び方法
US20170246744A1 (en) 2016-02-26 2017-08-31 Kinema Systems Inc. Locating, separating, and picking boxes with a sensor-guided robot
JP2018083676A (ja) 2016-11-21 2018-05-31 パナソニックIpマネジメント株式会社 物品格納シミュレーション装置及び物品格納シミュレーション方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008265970A (ja) 2007-04-20 2008-11-06 Nippon Cargo Airlines Co Ltd 物品積載システム、物品積載シミュレーション方法、物品積載シミュレーションプログラム、及び記録媒体
JP2010244368A (ja) 2009-04-07 2010-10-28 Sharp Corp 構成部品データ簡略化装置、構成部品データ簡略化方法および構成部品データ簡略化プログラム
CN102833961A (zh) 2012-06-15 2012-12-19 深圳市百能信息技术有限公司 Pcb拼板方法及装置
JP2015100866A (ja) 2013-11-22 2015-06-04 三菱電機株式会社 ロボットシミュレーション装置、プログラム、記録媒体及び方法
US20170246744A1 (en) 2016-02-26 2017-08-31 Kinema Systems Inc. Locating, separating, and picking boxes with a sensor-guided robot
JP2018083676A (ja) 2016-11-21 2018-05-31 パナソニックIpマネジメント株式会社 物品格納シミュレーション装置及び物品格納シミュレーション方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
今堀慎治,外3名,Pythonによる図形詰込みアルゴリズム入門,オペレーションズ・リサーチ,2018年12月号,日本,日本オペレーションズ・リサーチ学会,2018年12月,p.762-769,https://orsj.org/wp-content/corsj/or63-12/or63_12_762.pdf
川島大貴,外3名,3次元箱詰め問題に対する構築型解法の効率的実現法,FIT2010(第9回情報技術フォーラム)講演論文集,第1分冊,日本,情報処理学会,2010年08月,p.31-38,https://www.ieice.org/publications/conference-FIT-DVDs/FIT2010/pdf/A/RA_006.pdf

Also Published As

Publication number Publication date
JP2020146824A (ja) 2020-09-17

Similar Documents

Publication Publication Date Title
CN110329710B (zh) 具有机器人臂吸附控制机制的机器人系统及其操作方法
JP6738112B2 (ja) ロボットシステムの制御装置及び制御方法
CN110465960B (zh) 具有物件丢失管理机制的机器人系统
JP6860863B2 (ja) 経路出力方法
KR102400028B1 (ko) 비순서적으로 도착하는 패키지를 처리하기 위한 로봇 시스템
JP5620445B2 (ja) 選択条件に基づいてロボットの保持位置姿勢を決定する物品取出装置
JP2021074867A (ja) 壁に基づくパッキング機構を有するロボットシステム及びその動作方法
US10786899B2 (en) Device for calculating stowage pattern and robot controller
JP6697204B1 (ja) ロボットシステムの制御方法、非一過性のコンピュータ読取可能な記録媒体及びロボットシステムの制御装置
CN110520259B (zh) 控制装置、拾取系统、物流系统、存储介质以及控制方法
JP2024075580A (ja) パッキング機構を有するロボットシステム
JP2020196117A (ja) エラー検出および動的パッキング機構を有するロボットシステム
CN110494259B (zh) 控制装置、拾取系统、物流系统、程序、控制方法以及生产方法
US11185984B2 (en) Method and apparatus for controlling robot
CN110494258B (zh) 控制装置、拾取系统、物流系统、程序、控制方法以及生产方法
CN110494257B (zh) 控制装置、拾取系统、物流系统、程序、控制方法以及生产方法
CN112292235B (zh) 机械手控制装置、机械手控制方法及记录介质
CN110621451B (zh) 信息处理装置、拾取系统、物流系统、程序以及信息处理方法
CN115703232A (zh) 具有基于图像的尺寸确定机制的机器人系统及其操作方法
JP7042703B2 (ja) 情報処理装置、情報処理装置を備える荷降しシステム、及び情報処理プログラム
JP7258611B2 (ja) 制御装置、プログラム及び制御方法
WO2023182345A1 (ja) ハンドリングシステム、情報処理システム、情報処理方法、プログラム、及び記憶媒体
JP7191354B2 (ja) ロボットツール及びその動作方法
JP7204513B2 (ja) 制御装置及びプログラム
CN111470244B (zh) 机器人系统的控制方法以及控制装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221206

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20230105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230118

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230405

R150 Certificate of patent or registration of utility model

Ref document number: 7258611

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150