JP2020040158A - 物体ハンドリング装置及びプログラム - Google Patents

物体ハンドリング装置及びプログラム Download PDF

Info

Publication number
JP2020040158A
JP2020040158A JP2018168920A JP2018168920A JP2020040158A JP 2020040158 A JP2020040158 A JP 2020040158A JP 2018168920 A JP2018168920 A JP 2018168920A JP 2018168920 A JP2018168920 A JP 2018168920A JP 2020040158 A JP2020040158 A JP 2020040158A
Authority
JP
Japan
Prior art keywords
container
arrangement
hand
area
interference area
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.)
Granted
Application number
JP2018168920A
Other languages
English (en)
Other versions
JP6833777B2 (ja
Inventor
佳史 岡
Yoshifumi Oka
佳史 岡
千葉 康徳
Yasunari Chiba
康徳 千葉
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 JP2018168920A priority Critical patent/JP6833777B2/ja
Priority to US16/546,771 priority patent/US11498210B2/en
Priority to DE102019212839.4A priority patent/DE102019212839B4/de
Publication of JP2020040158A publication Critical patent/JP2020040158A/ja
Application granted granted Critical
Publication of JP6833777B2 publication Critical patent/JP6833777B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45063Pick and place manipulator

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

【課題】実装が容易で高速な手法により、周囲の障害物と干渉を起こすこと無く物体を把持し、ハンドリングすることができる。【解決手段】実施形態の物体ハンドリング装置は、ハンドを用いて把持した物体を配置先の配置容器内に移送して配置する物体ハンドリング装置であって、ハンドの他の物体に対する干渉領域であるハンド干渉領域及びハンドが把持している物体の他の物体に対する干渉領域である把持物体干渉領域を複合した拡張干渉領域を算出する拡張干渉領域算出部と、配置容器内の障害物情報及び拡張干渉領域に基づいて配置容器内における物体の配置位置及び姿勢のうち、少なくとも物体の配置位置を算出する配置位置算出部と、物体の配置位置に基づいてハンドが把持した物体を解放する解放位置を算出する解放位置算出部と、を備える。【選択図】図1

Description

本発明の実施形態は、物体ハンドリング装置及びプログラムに関する。
物流・製造現場等の自動化に向けて、ロボットアーム等を用いたハンドリングシステムの導入が進んでいる。
例えば、把持した物体を容器に移載する用途においては、把持物体だけでなくロボットハンド自体が周囲の障害物と干渉しないことが求められる。
特開2015−85501号公報
このため、ロボットモデルのCADデータ等から動作経路での干渉をチェックする方法が提案されているが、モデルの作成等にかかる実装コストが大きく、探索的手法のため処理時間が長いという問題点があった。
本発明は、上記に鑑みてなされたものであり、実装が容易で高速な手法により、周囲の障害物と干渉を起こすこと無く物体を把持し、ハンドリングすることが可能な物体ハンドリング装置及びプログラムを提供することを目的としている。
実施形態の物体ハンドリング装置は、ハンドを用いて把持した物体を配置先の配置容器内に移送して配置する物体ハンドリング装置であって、ハンドの他の物体に対する干渉領域であるハンド干渉領域及びハンドが把持している物体の他の物体に対する干渉領域である把持物体干渉領域を複合した拡張干渉領域を算出する拡張干渉領域算出部と、配置容器内の障害物情報及び拡張干渉領域に基づいて配置容器内における物体の配置位置及び姿勢のうち、少なくとも物体の配置位置を算出する配置位置算出部と、物体の配置位置に基づいてハンドが把持した物体を解放する解放位置を算出する解放位置算出部と、を備える。
図1は、物体ハンドリングシステムの概略構成図である。 図2は、制御装置の概要構成ブロック図である。 図3は、制御装置が実行する配置対象の物体を把持し、移動して、解放するハンドリング処理の手順を示すフローチャートである。 図4は、既配置物体情報生成部の処理フローチャートである。 図5は、既配置物体情報の生成処理の処理フローチャートである。 図6は、統合既配置物体情報の利用の一例の説明図である。 図7は、事前箱詰め計算及び容器溢れ予測の処理の処理フローチャートである。 図8は、立方体形状の配置対象の物体の箱詰め姿勢のパターンの説明図である。 図9は、容器内へ物体を詰める箱詰め方向のパターンの説明図である。 図10は、解放計画生成部の処理フローチャートである。 図11は、箱詰め計画における配置可能位置の算出処理の処理フローチャートである。 図12は、既配置物体と2次元平面との対応関係説明図(その1)である。 図13は、既配置物体と2次元平面との対応関係説明図(その2)である。 図14は、2次元BL位置の算出フローチャートの一例の説明図である。 図15は、2次元BL位置の算出動作の説明図である。 図16は、配置可能位置の具体例の説明図である。 図17は、力制御による押し当て制御の一例の説明図である。 図18は、押し当て制御が不可の場合の一例の説明図である。 図19は、アプローチ方向算出処理における判定領域の設定の説明図である。 図20は、アプローチ方向算出処理の説明図である。 図21は押し当て可能面の判定説明図(その1)である。 図22は、押し当て可能面の判定説明図(その2)である。 図23は、押し当て方向及びアプローチ方向の決定の説明図である。 図24は、押し当て方向及びアプローチ方向の決定の他の説明図である。 図25は、物体解放位置の上方で物体を解放する場合の説明図である。 図26は、物体の物理的安定性の考慮を行う場合の原理説明図である。 図27は、ハンドを駆動して、物体解放位置に到達することができない場合の一例の説明図である。 図28は、拡張干渉領域の説明図である。 図29は、ハンドを駆動して物体解放位置に到達することができる場合の一例の説明図である。 図30、拡張干渉領域を用いる場合のハンドと障害物とが干渉するか否かの判定処理の説明図である。 図31は、拡張干渉領域を用いた場合の不具合を解消するための処理の説明図である。 図32は、同一の物体を向きを揃える場合の処理の説明図である。 図33は、空き領域スコアの説明図である。 図34は、複数種類の物体が配置対象として存在する場合の物体配置位置の設定の一例の説明図である。 図35は、重心位置を考慮した配置位置設定の一例の説明図である。
次に実施形態について図面を参照して説明する。
[システム全体構成]
図1は、物体ハンドリングシステムの概略構成図である。
物体ハンドリングシステム1は、制御装置10、マニピュレータ(ロボットアーム)20、センサ30及び筐体40を備えている。
物体ハンドリングシステム1は、配置対象の物体OBJを把持位置HPで把持して搬送し、解放位置RPで解放する。このような動作は、配置対象の物体OBJのピッキング(搬送)と呼ばれている。
マニピュレータ20は、アーム21と、ハンド(エンドエフェクタ)22と、を備えている。アーム21は、例えば、複数(例えば6個)のサーボモータで回転駆動される回転部21a〜21fを有した多関節ロボットとして構成されている。
また、マニピュレータ20は、ハンド22を交換可能に構成されてもよい。その場合、ハンド22の交換には、図示しないツールチェンジャーのような機構が用いられてもよい。
アーム21は、多関節ロボットには限定されず、スカラロボットあるいは直動ロボットであってもよい。また、アーム21は、多関節ロボット、スカラロボット、および直動ロボットのうち少なくとも二つの組み合わせであってもよい。
ハンド22は、図1の例においては、配置対象の物体OBJを把持するための吸着機構としての吸着パッド22aを有しており、図示しない圧力センサが設けられている。また、吸着パッド22aの数、配置、形状、大きさのようなスペックは、種々に変更することができる。
また、配置対象の物体OBJの把持機構としては、吸着機構に限定されず、例えば、ジャミング機構、挟み込み機構、または多指機構を有してもよい。また、ハンド22は、吸着機構、ジャミング機構、挟み込み機構あるいは多指機構のうち、少なくとも二つを有してもよい。
ハンド22は、屈曲部22bを有している。なお、ハンド22は、屈曲部22b以外にも、例えば、回転部や伸縮部のような可動部を有することができる。
また、ハンド22は、センサ30として、力センサ31を有している。力センサ31の位置は、図示の位置には限定されない。また、ハンド22は、力センサ31以外の各種センサを有してもよい。
センサ30は、力センサ31の他、回転部210a〜210f(図1)に設けられるモータのトルクセンサ、回転センサあるいは電流センサであってもよい。
この場合において、制御装置10は、ハンド22に作用する力を、力センサ31の検出値から得てもよいし、各モータの電流値や回転値(回転センサの検出値)から算出してもよい。
また、物体ハンドリングシステム1は、複数のカメラ32−1〜32−4を備えている。カメラ32−1〜32−4は、例えば、RGB画像カメラや、距離画像カメラ、レーザーレンジファインダ、laser imaging detection and ranging(LiDAR)など、画像情報や距離情報(3次元情報)を取得可能に構成されている。
物体ハンドリングシステム1は、例えば、把持用のカメラ32−1、把持状態確認用あるいはキャリブレーション用のカメラ32−2、解放用のカメラ32−3及び一時載置用のカメラ32−4を、備えている。
把持用のカメラ32−1は、把持(搬出)する配置対象の物体OBJが存在している把持位置HPにおいて、配置対象の物体OBJおよびその周辺領域を撮影かつ検出する。当該把持位置HPにおいて、配置対象の物体OBJは、例えばコンテナやパレットのような把持用の容器14a内に収容されている。その場合、把持用のカメラ32−1は、容器14a内の一部または全部を撮影かつ検出する。把持位置HPは、配置対象の物体OBJの移動開始位置や出発位置とも称することができる。なお、図1においては、容器14aは、ベルトコンベアのような搬送機構上に載置されているが、これに限定されるものではない。
キャリブレーション用のカメラ32−2は、把持用の容器14a外であるとともに把持位置HPよりも上方に設定された配置対象の物体OBJのキャリブレーション位置において、配置対象の物体OBJを撮影かつ検出する。
解放用のカメラ32−3は、配置対象の物体OBJを解放(搬入)する解放位置RPにおいて、当該解放位置RPおよびその周辺領域を撮影かつ検出する。解放位置RPにおいて、配置対象の物体OBJは、例えばコンテナやパレットのような解放用の容器14b内に収容される。その場合、解放用のカメラ32−3は、容器14b内の一部または全部を撮影かつ検出する。解放位置RPは、配置対象の物体OBJの移動終了位置や到着位置とも称することができる。なお、図1では、容器14bは、ベルトコンベアのような搬送機構上に載置されているが、これに限定されるものではない。
仮置き用のカメラ32−4は、把持位置HPと解放位置RPとの間で配置対象の物体OBJを一時的に置いておく仮置位置Ptおよびその周辺領域を撮影かつ検出する。仮置位置Ptにおいて、配置対象の物体OBJは、例えばテーブルやステージのような仮置き面15上に置かれる。その場合、仮置き用のカメラ32−4は、仮置き面15の一部または全部を撮影かつ検出する。仮置位置Ptは、配置対象の物体OBJの途中位置や経由位置とも称することができる。なお、仮置位置Ptは、載置面で無くてもよい。
筐体40内には、例えば、モータのような電動アクチュエータを駆動させるための電源装置、流体アクチュエータを駆動させるためのボンベ、タンク、およびコンプレッサー、各種安全機構など、物体ハンドリングシステム1の種々の部品や機器類が収容されうる。なお、筐体40内に、制御装置10が収容されるようにすることも可能である。
[制御装置]
図2は、制御装置の概要構成ブロック図である。
制御装置10は、例えば、統合部51、画像処理部52、信号処理部53、把持計画生成部54、解放計画生成部55、動作計画生成部56、ロボット制御部57、周辺機器・I/O制御部58(I/O:インプットアウトプット)、学習制御部59、エラー検出部60及び内部DB61を有している。
統合部51は、外部I/F70(I/F:インタフェース)からのユーザー入力情報や、物体ハンドリングシステム1の状態、センサ30による検出値に基づいて、物体ハンドリングシステム1の作業計画の生成や、運用、管理を実行する。
画像処理部52は、カメラ32から得られた画像や情報(検出値)を処理し、動作計画や、動作制御、エラー検出、学習等に必要な情報を生成する。
信号処理部53は、センサ30から得られた情報(検出値)を処理し、動作計画や、動作制御、エラー検出、等に必要な情報を生成する。信号処理部53は、検出値取得部の一例である。
把持計画生成部54は、マニピュレータ20による配置対象の物体OBJの把持方法や、把持位置HPや把持姿勢、周囲環境に干渉することなく把持位置HPおよび把持姿勢に移動可能な経路および経由点を算出する処理を、実行する。把持計画生成部54は、計画生成部の一例であり、把持姿勢決定部の一例でもある。また、把持姿勢は、第一把持姿勢の一例である。
解放計画生成部55は、マニピュレータ20が把持した配置対象の物体OBJを容器14bに箱詰めしたり設置したりする場所における例えば押し付けのような設置方法や、把持方法、解放方法、解放位置RPや解放姿勢、周囲環境に干渉することなく解放位置RPおよび解放姿勢に移動可能な経路および経由点を算出する処理を、実行する。解放計画生成部55は、計画生成部の一例である。
動作計画生成部56は、統合部51からの指示に従って、マニピュレータ20が現在位置から移動可能な経路(経由点)を経由して把持位置HPや、仮置位置Pt、解放位置RP等に移動するよう、動作方法や、動作速度、動作経路等のロボット動作情報の算出を実行する。動作計画生成部56は、計画生成部の一例である。
ロボット制御部57は、把持計画生成部54、解放計画生成部55、あるいは動作計画生成部56で生成されたロボット動作情報および統合部51からの各種の動作切り替え指示等に従って、マニピュレータ20を含む物体ハンドリングシステム1を制御する。また、ロボット制御部57は、統合部51から取得した各種姿勢情報や軌道計画情報等に従い、マニピュレータ20を制御する。ロボット制御部57は、動作制御部の一例である。
周辺機器・I/O制御部58は、各種搬送機器の制御や、安全ドアなどの周辺機器70の制御、各種センサ情報の取得、照明の制御等のための、インプットアウトプット(I/O)制御を実行する。
学習制御部59は、マニピュレータ20の振動抑制など動作精度向上のためのロボットモデル学習や、対象物5の把持性能向上のための把持制御パラメータ学習、把持データベース学習、作業計画の実施性能を向上のためのエラー検知学習、等の学習機能を制御する。本実施形態では、状況に応じて、後に詳しく述べる力制御において、パラメータの最適な値を選択する。これらの値は人間が経験値から設定してもよいが、機械学習の結果を適用することで、より省力化しながら、より効率の高い処理を実現することができる。
エラー検出部60は、物体ハンドリングシステム1の状態、作業計画の実施状態、駆動制御状態、配置対象の物体OBJの把持、搬送の状態等を観測し、エラーを検知する。このエラー検知は、例えば、力センサ31や力センサ31の出力を手先座標に変換した値、それらの値をローパスフィルタに通したものを観測し、既定の値を超えたらエラーと判断することで実現できる。この結果、処理中の作業を中断し、その後リカバリ動作に移るなどの処理が可能となる。
内部データベース(DB)61は、例えば、いずれも図示しないロボットデータベース、ハンドデータベース、物品データベース、把持データベース及び環境データベースを含んでいる。
ロボットデータベース(ロボットDB)には、例えば、物体ハンドリングシステム1の構造、各部の寸法や重量、慣性モーメント、各駆動部の動作範囲や速度、およびトルク性能が、保存されている。
ハンドデータベース(ハンドDB)には、例えば、ハンド22の機能、およびハンド22の把持の特性に関する情報が、保存されている。
物品データベース(物品DB)には、例えば、配置対象の物体OBJの名称、識別番号、カテゴリ、全面の画像情報、CADモデル情報、重量情報、および把持時の特性情報(柔らかい、壊れやすい、形が変わる等)が、保存されている。
把持データベース(把持DB)には、例えば、配置対象の物体OBJについて、ハンド22の把持方法ごとに、把持可能位置、把持可能姿勢、把持のしやすさなどのスコア情報、把持時の押し込み可能量、把持判定のための判定閾値、およびエラー検知のための判定閾値が、保存されている。ここで、把持方法は、例えば、吸着方式、並行2指方式、平行4指方式、または多関節方式である。
環境データベース(環境DB)には、例えば、物体ハンドリングシステム1が対応している作業台情報、および物体ハンドリングシステム1の動作範囲や周囲の障害物Oを示すような周囲環境情報が、保存されている。
また、外部I/F71は、統合部51(制御装置10)と外部機器(不図示)との間のデータの送信および受信を実行する。
[ハンドリング処理の手順]
図3は、制御装置が実行する配置対象の物体を把持し、移動して、解放するハンドリング処理の手順を示すフローチャートである。
まず、統合部51は、外部I/F71を経て、外部機器から配置対象の物体OBJの搬送指示(ハンドリング指示)を受け取る(ステップS1)。
統合部51は、カメラ321の撮影した画像や、光電センサやマイクロスイッチのような他のセンサ300の検出値に基づいて、配置対象の物体OBJまたは当該配置対象の物体OBJを収容した容器14aが把持位置HPに到達したことを検出する(ステップS2)。
統合部51は、配置対象の物体OBJの把持位置HPおよびその周辺、例えば配置対象の物体OBJが収容されている容器14a内を、撮像するよう、カメラ32−1を制御する(ステップS3)。
続いて画像処理部52は、カメラ32−1が撮影した画像から、配置対象の物体OBJの有無の判定、配置対象の物体OBJの把持可能面の識別を実行する。さらに、画像処理部52は、配置対象の物体OBJの把持可能面の形状や大きさ、3次元空間内での位置や姿勢等の把持面情報を算出する(ステップS4)。
把持計画生成部54は、把持面情報に基づいて、容器14a内の配置対象の物体OBJ以外の物品(周辺部品)などの把持位置HPの周辺情報や、把持面情報や物品DBの情報に基づいて、例えば、後述の力制御を実行する際のハンド22の移動方向や、押付力の大きさ、移動許容範囲のような付加情報を算出する(ステップS5)。
把能持計画生成部54は、把持面情報に基づいて、マニピュレータ20が配置対象の物体OBJの把持可面を把持するための複数の把持情報を算出し、算出した複数の把持情報に基づいて、把持対象とする配置対象の物体OBJ、その把持位置HP及び把持姿勢を選択あるいは決定する。そして、動作計画生成部56は、マニピュレータ20の現在位置から、把持位置HPおよび把持姿勢に至るロボット動作情報を生成する(ステップS6)。
この場合において、把持情報には、把持位置情報や把持姿勢情報の他、ステップS5で算出した周辺情報及び付加情報が把持情報に含められている。
ステップS6の処理において、統合部51は、把持情報ロボット動作情報の生成については、例えば、マニピュレータ20配置対象の物体OBJ以外の物体との干渉あるいは衝突の虞が無いあるいは確率が比較的低い領域では、高速な動作が選択される。他方、例えば、ハンド22が容器14aに近付いたり容器14a内に入ったりするなど、ハンド22または配置対象の物体OBJと当該配置対象の物体OBJ以外の物体との干渉あるいは衝突の虞があるあるいは確率が比較的高い領域では、速度を抑えた動作が選択される。さらに、動作計画生成部56は、この領域でハンド22に発生する力の目標値を決定する。
続いて、ロボット制御部57は、生成されたロボット動作情報に従って動作し、把持位置HPおよび把持姿勢で配置対象の物体OBJを把持するよう、マニピュレータ20およびハンド22を制御する。配置対象の物体OBJの把持位置HPの周辺領域では、力制御のみによるハンド22の押付動作が実行され、例えば、吸着パッド22aが配置対象の物体OBJに十分に接触した状態で、吸着等の把持動作が実行される(ステップS7)。
この場合において、把持位置HPの周辺領域では、ハンド22が、配置対象の物体OBJ以外の物体のような障害物に当たった場合には、与えられた動作方式や力の目標値に従って、ハンド22が障害物から逃げる動作等が実行される。また、配置対象の物体OBJの把持面が比較的大きな傾きを持っているような場合にあっても、与えられた押付方法や押付力により、ハンド22を配置対象の物体OBJの把持面に倣わせる動作が実行される。
統合部51またはロボット制御部57は、マニピュレータ20やハンド22の動作や把持の状態を監視し、配置対象の物体OBJの把持が成功したか否かを判定する(ステップS8)。
ステップS8の判定において、把持の失敗が確認された場合には(ステップS8;No)、統合部51は、マニピュレータ20の退避動作や、把持の失敗を示す情報を物品DBに登録する登録処理などのリトライ準備動作を実行する(ステップS9)。そして、把持のリトライ動作を行うため、処理を再びステップS3に移行する。
ステップS8の判定において、把持の成功が確認された場合には(ステップS8;Yes)、ロボット制御部57は、ハンド22による配置対象の物体OBJの把持状態が撮影可能な位置に移動するよう、マニピュレータ20を制御する。また、統合部51は、当該位置で、配置対象の物体OBJを把持したハンド22を撮影するよう、カメラ32−2を制御する(ステップS10)。
画像処理部52は、カメラ32−2が撮影した画像から、例えば、ハンド22に対する配置対象の物体OBJの相対位置、ハンド22に対する配置対象の物体OBJの相対姿勢、および配置対象の物体OBJの状態や形状のような、配置対象の物体OBJ情報を生成する(ステップS11)。
続いて統合部51は、配置対象の物体OBJの解放位置RPおよびその周辺、例えば把持されている配置対象の物体OBJが解放され収容される容器14b内を、撮影するよう、カメラ32−3を制御する(ステップS12)。
画像処理部52は、統合部51と共働して、カメラ32−3が撮影した画像から、解放位置RPおよびその周辺における、配置対象の物体OBJ以外の物体(既配置物体)の有無の判定、当該既配置物体の大きさや、位置、当該既配置物体の表面の位置等の、周辺情報を生成する(ステップS13)。解放位置RPの周辺情報は、障害物情報とも称される。
この場合において、画像処理部52及び統合部51は、既配置物体情報生成部として機能している。
図4は、既配置物体情報生成部の処理フローチャートである。
画像処理部52は、カメラ32−3が撮影した容器14bを撮影した容器撮影データ(ステレオ画像データ)が入力されると、容器14b内の画像から既配置物体の配置位置、各既配置物体の大きさ、各既配置物体の向き等の既配置物体情報を生成する。
図5は、既配置物体情報の生成処理の処理フローチャートである。
まず画像処理部52は、ステレオ画像データである容器撮影データに基づいて3次元データD3Dを生成し、生成した3次元データに基づいて、既配置物体の配置位置、大きさ、向き等の既配置物体情報DPOBJを生成する(ステップS31)。
この既配置物体情報DPOBJの生成と並行して、統合部51は、後述の解放計画生成部55が生成した解放計画に則って、既に配置位置に配置するために解放した物体OBJの種類、配置位置、向き等の解放物体情報DROBJを取得する(ステップS32)。
これらの結果、統合部51は、既配置物体情報DPOBJと、制御装置10が解放計画処理(ステップS32)を行って実際に容器14b内に解放した物体OBJに対応する解放物体情報DROBJと、を統合し統合既配置物体情報DTPOBJを生成する(ステップS33)。
図6は、統合既配置物体情報の利用の一例の説明図である。
制御装置10は、既配置物体情報DPOBJ及び解放物体情報DROBJを統合し統合既配置物体情報DTPOBJを生成するに際し、それらの差分に基づいて、図6(a)に示すように、既配置物体情報DPOBJに基づけば存在するが、解放物体情報DROBJに基づけば存在しない物体POBJNは、実際には存在しないとして除去対象としたり、既配置物体POBJSの既配置物体情報DPOBJに基づくサイズと、解放物体情報DROBJに基づくサイズとが異なる場合に、当該既配置物体POBJSのサイズを解放物体情報DROBJに基づくサイズに確定したりすることが可能となる。
また、図6(b)に示すように、既配置物体情報DPOBJに基づけば、最も解放用のカメラ32側に位置する既配置物体POBJTのみしか認識できない場合に、既配置物体POBJTの下方側に位置する既配置物体POBJU1及び既配置物体POBJU2の配置を解放物体情報DROBJに基づいて推定し、荷崩れ判定に用いるようにすることが可能となる。
続いて解放計画生成部55は、配置対象の物体OBJ情報、把持DBの情報、周辺情報等に基づいて、マニピュレータ20が把持している配置対象の物体OBJの解放情報を生成する(ステップS14)。解放情報には、解放位置情報や、解放姿勢情報、経由点位置情報、経由点姿勢情報等が含まれる。ここで、解放計画生成部55は、力制御を伴うハンド22の押付方向や押付力の大きさ、力制御の移動許容範囲等の付加情報を算出し、これを解放情報に付加する。
ところで、解放計画生成部55が解放計画を生成するのに先だって、事前箱詰め計算及び容器溢れ予測が必要である。
ここで、事前箱詰め計算及び容器溢れ予測の処理について説明する。
図7は、事前箱詰め計算及び容器溢れ予測の処理の処理フローチャートである。
まず、解放計画生成部55は、次に把持すべき1個の物体OBJ、すなわち、新たに容器14b内に配置しようとする1個の物体OBJを容器14b内に入れられるかどうか、容器溢れが起こるか否かを予測する必要がある。
このために、新たに容器14b内に配置しようとする1個の物体OBJが発生した場合には、容器溢れ予測要求がなされるので(ステップS41)、解放計画生成部55は、当該物体OBJの箱詰め姿勢の6パターンを生成する(ステップS42)。
図8は、立方体形状の配置対象の物体の箱詰め姿勢のパターンの説明図である。
本実施形態においては、立方体形状の物体OBJの3つの面A1、A2、A3のいずれかを上面とする3つのパターンと、これらの3つの面を90°回転させた面A1r、A2r、A3rの3つの面のうちいずれかを上面とする3つのパターンと、の合計6パターンが存在する。
図9は、容器内へ物体を詰める箱詰め方向のパターンの説明図である。
容器14b内へ物体OBJを箱詰めしていく方向のパターンとしては、図9に矢印D1〜D8に示すように、以下の8パターンが存在する。
D1:上端−右端を開始位置とし、左方向に順次箱詰めし、左端まで箱詰めが完了したら、再び右端に戻って左方向に順次箱詰めし、徐々に下側に向かうパターン。
D2:上端−右端を開始位置とし、下方向に順次箱詰めし、下端まで箱詰めが完了したら、再び上端に戻って下方向に順次箱詰めし、徐々に左側に向かうパターン。
D3:下端−右端を開始位置とし、左方向に順次箱詰めし、左端まで箱詰めが完了したら、再び右端に戻って左方向に順次箱詰めし、徐々に上側に向かうパターン。
D4:下端−右端を開始位置とし、上方向に順次箱詰めし、上端まで箱詰めが完了したら、再び下端に戻って上方向に順次箱詰めし、徐々に左側に向かうパターン。
D5:上端−左端を開始位置とし、右方向に順次箱詰めし、右端まで箱詰めが完了したら、再び左端に戻って右方向に順次箱詰めし、徐々に下側に向かうパターン。
D6:上端−左端を開始位置とし、下方向に順次箱詰めし、下端まで箱詰めが完了したら、再び上端に戻って下方向に順次箱詰めし、徐々に右側に向かうパターン。
D7:下端−左端を開始位置とし、右方向に順次箱詰めし、右端まで箱詰めが完了したら、再び左端に戻って右方向に順次箱詰めし、徐々に上側に向かうパターン。
D8:下端−左端を開始位置とし、上方向に順次箱詰めし、上端まで箱詰めが完了したら、再び下端に戻って上方向に順次箱詰めし、徐々に右側に向かうパターン。
上述したように、箱詰めのパターン数としては、物体OBJの向き6パターンと、箱詰め方向の8パターンとを掛け合わせて、合計48(=6×8)パターンがあり得るので、解放計画生成部55は、上記48パターンのうち、いずれかのパターンで箱詰めが可能でるか否かを判定し(ステップS44)、いずれかのパターンで箱詰めが可能である場合には容器溢れはないものとして、容器溢れ予測結果をOKとする容器溢れ予測結果を出力し、いずれのパターンでも箱詰めが行えない場合には、容器溢れ予測結果をNGとする容器溢れ予測結果を出力する(ステップS45)。
ここで、解放情報の生成について詳細に説明する。
図10は、解放計画生成部の処理フローチャートである。
まず、解放計画生成部55は、配置対象の物体OBJの単体(=配置対象の物体OBJを把持しているハンド22の周辺あるいは周囲物体への干渉を考慮せずにの意)で配置対象の物体OBJが解放され収容される容器14bへの箱詰め計画を行う(ステップS51)。
次に解放計画生成部は、配置可能位置としての解放位置(RP)を算出する(ステップS52)。
図11は、箱詰め計画における配置可能位置の算出処理の処理フローチャートである。
この場合において、解放計画生成部55には、容器14bのサイズ及び配置物体である配置対象の物体OBJのサイズ、並びに容器14b内における既配置物体の位置及びサイズが入力されるものとする。
まず既配置物体を2次元平面に投影する(ステップS71)。
ここで、2次元平面は、容器14bの内底面及び各既配置物体の上面を含む一又は複数の平面である。
図12は、既配置物体と2次元平面との対応関係説明図(その1)である。
図12(a)に示すように、容器14bの角に一つの既配置物体POBJ1が位置している場合には、図12(b)が既配置物体POBJ1の上面を含み、容器14bの内底面の形状(長方形状)に規定される2次元平面PL1であり、図12(c)が容器14bの内底面に対応した2次元平面PL2である。
この場合において、既配置物体POBJ1を各2次元平面PL1、PL2に対し、上方から投影するものとする。
2次元平面PL1の上方には、既配置物体POBJ1が存在していないので、図12(b)に示すように、2次元平面PL1には、既配置物体POBJ1は投影されていない。これに対し、2次元平面PL2の上方には、既配置物体POBJ1が存在するため、図12(c)に示すように、2次元平面PL2には、既配置物体POBJ1が投影されている。
図13は、既配置物体と2次元平面との対応関係説明図(その2)である。
図13(a)に示すように、容器14bの角に二つの既配置物体POBJ11、POBJ12が位置している場合には、図13(b)が既配置物体POBJ12の上面に対応し、容器14bの内底面の形状(長方形状)に規定される2次元平面PL11であり、図13(c)が既配置物体POBJ11の上面に対応し、容器14bの内底面の形状(長方形状)に規定される2次元平面PL12であり、図13(d)が容器14bの内底面に対応する2次元平面PL13である。
この場合においても、2次元平面PL11の上方には、既配置物体POBJ11及び既配置物体POBJ12のいずれも存在していないので、図13(b)に示すように、2次元平面PL1には、既配置物体POBJ1及び既配置物体POBJ12のいずれも投影されていない。
これに対し、2次元平面PL12の上方には、既配置物体POBJ12が存在するため、図13(c)に示すように、2次元平面PL12には、既配置物体POBJ12が投影されている。
さらに2次元平面PL13の上方には、既配置物体POBJ11及び既配置物体POBJ12が存在するため、図13(d)に示すように、2次元平面PL13には、既配置物体POBJ11及既配置物体POBJ12が投影されている。
ここで、容器14bの奥行き方向(図12(a)における紙面に交差する方向)をx軸とし、容器14bの幅方向(図12(a)における左右方向)をy軸とし、容器14bの高さ方向(図12(a)における上下方向)をz軸とし、図12の場合を例として、配置可能位置の算出処理を説明する。
まず、解放計画生成部55は、座標pzとして、各投影面PL1、PL2のZ座標のうち、最も小さい投影面のz座標を設定する(ステップS72)。この場合には、投影面PL2のz座標が設定される。
次に解放計画生成部55は、2次元BL(bottom-left)位置を算出する(ステップS73)。
ここで、2次元BL位置とは、参考文献[「3次元パッキングに対する効率的なbottom-left法」川島ら、数理解析研究所講究録、第1726巻、2011年、p50−61]に開示されている「配置可能位置」であって、所定の2次元平面上の位置のことである。
この場合において、「配置可能位置」とは、直方体を既配置の物体に重なりなく配置可能な位置の中で、以下の3つの条件のうち、少なくともいずれか一つを満たす位置のことである。
(1) z座標が他のどの位置よりも小さい
(2) z座標が最小で、x座標が他のどの位置よりも小さい
(3) z座標及びx座標が最小で、y座標が他のどの位置よりも小さい
したがって、2次元BL位置とは、例えば、z軸に垂直なx−y平面上のx座標及びy座標で表される配置可能位置である。
ここで、2次元BL位置の算出例について説明する。
図14は、2次元BL位置の算出フローチャートの一例の説明図である。
図15は、2次元BL位置の算出動作の説明図である。
2次元BL位置の算出が指示されると、図15(a)に示すように、平面視長方形状の配置対象の物体OBJの左上の座標を座標(px,py)とした場合に、x座標pxの初期値を0とし、x方向の長さの増分パラメータを1とし、容器内のx方向長さ−配置対象の物体OBJのx方向長さとなるまで処理を繰り返す(ステップS81〜ステップS85)。
同様にy座標pyの初期値を0とし、y方向の長さの増分パラメータを1とし、容器内のy方向長さ−配置対象の物体OBJのy方向長さとなるまで処理を繰り返す(ステップS82〜ステップS84)。
そしてステップS82の処理が終わった時点で、配置対象の物体OBJの配置予定位置が既配置物体POBJの配置位置と重複した状態となったか否かを判定する(ステップS83)。
ステップS83の判定において、配置対象の物体OBJの配置予定位置が、図15(b)に示すように、既配置物体POBJの配置位置と重複した状態となった場合には(ステップS83;Yes)、py=py+1とし(ステップS84)、再び処理をステップS82に移行する。
ステップS83の判定において、配置対象の物体OBJの配置予定位置が既配置物体POBJの配置位置と重複していない状態である場合には(ステップS83;No)、当該時点における座標(px,py)を2次元BL位置として出力して(ステップS86)、処理を終了する。
一方、容器14bにおいて、全ての座標(px,py)において、配置対象の物体OBJの配置予定位置が、図15(b)に示すように、既配置物体POBJの配置位置と重複した状態となった場合には、2次元BL位置は存在しないとして(ステップS87)、処理を終了する。
図16は、配置可能位置の具体例の説明図である。
図16(a)に示すようにx軸、y軸及びz軸が定義された場合、既配置物体が存在しない場合には、図16(b)に示すように上記(1)〜(3)の全てを満たすx座標、y座標及びz座標が最小の位置が配置可能位置PP1となる。
図16(c)に示すように、既配置物体POBJが存在する場合には、(3)を満たすz座標及びx座標が最小で、y座標が他のどの位置よりも小さい位置が配置可能位置PP2となる。
また、図16(d)に示すように、既配置物体POBJ1〜POBJ3が存在する場合には、3)を満たすz座標及びx座標が最小で、y座標が最小となる位置が配置可能位置PP3となる。
続いて、解放計画生成部55は、z座標=pzの平面上の2次元BL位置(px、py)が存在するか否かを判定する(ステップS74)。
ステップS74の判定において、2次元BL位置(px、py)が存在する場合には、解放計画生成部55は、座標(px、py、pz)を配置可能位置として出力して(ステップS76)、処理を終了する。
ステップS74の判定において、2次元BL位置(px、py)が存在しない場合には、解放計画生成部55は、処理を再びステップS72に移行し、次にz座標=pzが小さい次の投影面について2次元BL位置、ひいては、配置可能位置を算出する処理を行う。
そして、全ての投影面について配置可能位置が存在しない場合には、配置可能位置なしとして(ステップS77)、処理を終了する。
続いて、解放計画生成部55は、配置可能位置としても解放位置(RP)が算出された場合には、配置対象の物体OBJをハンド22により把持したままで、解放位置RPまでハンド22を移動可能か否かを判定する(ステップS53)。
ステップS53の判定において、配置対象の物体OBJをハンド22により把持したままで、解放位置RPまでハンド22を移動可能であると判定された場合には(ステップS53;Yes)、解放計画生成部55は、当該解放位置RPを当該配置対象の物体OBJの解放位置リストに追加する(ステップS54)。
続いて解放計画生成部55は、力制御押し当て面及びアプローチ方向を決定する(ステップS55)。
まず、力制御押し当て面の決定について説明する。
制御装置10の解放計画生成部55は、物体解放位置の周囲に容器14bの壁(内底面を含む)あるいは既配置物体があれば、新たに配置しようとする物体OBJを配置するに際し、物体OBJを力制御により容器14bの壁あるいは既配置物体に押し当てるように制御している。
図17は、力制御による押し当て制御の一例の説明図である。
図17(a)は、新たに配置しようとする物体OBJの下面には、容器14Bの内定面が位置し、x方向及びy方向には、容器14Bの壁が位置する場合である。この場合には、制御装置10は、ハンド22の力制御を行って、x方向、y方向及びz方向の全ての方向に押し当てるように制御を行う。
図17(b)は、新たに配置しようとする物体OBJの下面には、容器14Bの内底面が位置し、y方向には、既配置物体POBJが位置し、x方向には、容器14Bの壁が位置する場合である。この場合には、制御装置10は、ハンド22の力制御を行って、x方向、y方向及びz方向の全ての方向に押し当てるように制御を行う。
図17(c)は、新たに配置しようとする物体OBJの下面には、既配置物体POBJが位置し、x方向には、容器14Bの壁が位置し、y方向には、容器14bの壁も既配置物体POBJも位置していない場合である。この場合には、制御装置10は、ハンド22の力制御を行って、x方向及びz方向に押し当てるように制御を行う。
図17(d)は、新たに配置しようとする物体OBJの下面には、既配置物体POBJが位置し、x方向及びy方向には、容器14bの壁も既配置物体POBJも位置していない場合である。この場合には、制御装置10は、ハンド22の力制御を行って、z方向のみに押し当てるように制御を行う。
図18は、押し当て制御が不可の場合の一例の説明図である。
力制御による押し当て制御を行おうとする場合に、図18(a)に示すように、既配置物体POBJの寸法が新たに配置しようとする物体OBJの寸法よりも小さい場合や、図18(b)に示すように、既配置物体POBJの押し当て面の面積が小さい場合には、荷崩れが生じたり、新たに配置しようとする物体OBJが回り込んでしまう虞があることとなるが、この場合には、後述する他の処理で配置不可の判定がなされるため問題は生じない。
ここで、力制御押し当て面と、新たに配置しようとする物体OBJの配置位置へのアプローチ方向の算出について説明する。
図19は、アプローチ方向算出処理における判定領域の設定の説明図である。
新たに配置しようとする物体OBJの配置予定位置の周囲に、物体OBJの側面の平行に所定幅w1の第1判定領域DA1(DA11〜DA14)と、物体OBJの対角線方向に設けた所定幅w1の第2判定領域DA2(DA21〜DA24)を設定する。ここで、所定幅w1は、通常物体OBJを配置する場合に隣接する容器14bの壁、あるいは、既配置物体から離間させることがない距離として設定されている。すなわち、容器14bの壁、あるいは、既配置物体を確実に検出できる距離とされている。
図20は、アプローチ方向算出処理の説明図である。
図20(a)に示すように、第2判定領域DA2としての第2判定領域DA22及び当該第2判定領域DA22に隣接する第1判定領域DA1としての第1判定領域DA11及び第1判定領域DA12の全てにおいて、障害物となる容器14bの壁、あるいは、既配置物体が位置していない場合には、制御装置10は、図20(a)に矢印で示すように、物体OBJは配置予定位置に向けて斜めアプローチが可能であると判定を行う。
また、斜めアプローチができない場合であって、図20(b)に示すように、第1判定領域DA1としての第1判定領域DA11に障害物となる容器14bの壁、あるいは、既配置物体が位置していない場合には、制御装置10は、図20(b)に矢印で示すように、物体OBJは配置予定位置に向けて横アプローチが可能であるとの判定を行う。
さらに斜めアプローチ及び横アプローチができない場合であって、図20(c)に示すように、第1判定領域DA1のいずれにおいても、障害物となる容器14bの壁、あるいは、既配置物体が位置している場合には、制御装置10は真上アプローチが可能であると判定する。
したがって、アプローチ方向算出においては、アプローチ方向の優先順位は、斜めアプローチが最も高く、横アプローチが次に優先順位が高く、真上アプローチが低くなっている。
次に押し当て可能面の判定について説明する。
図21は押し当て可能面の判定説明図(その1)である。
この場合において、制御装置10は、図21に示すように、図19に示した第1判定領域DA1(DA11〜DA14)内に位置している容器14bの壁面、あるいは、既配置物体POBJの面を探索する。なお、この探索には、第1判定領域DA1とは幅が異なる判定領域を用いるようにしてもよい。
そして、制御装置10は、解放位置RPから上下方向に延長した直線上にあって、上下方向の位置が新たに配置しようとする物体OBJの図心の上下方向の位置と一致する点に押し当て中心点TCPを設定する。
図22は、押し当て可能面の判定説明図(その2)である。
そして、制御装置10は、押し当て中心点TCPに対し、押し当て面に沿った水平方向(図22では、左右方向)の双方に容器14bの壁面、あるいは、既配置物体POBJの面が存在するか否かを判定し、押し当て面に沿った水平方向の双方に容器14bの壁面、あるいは、既配置物体POBJの面が存在する場合に押し当て可能面が存在する(押し当て可能である)と判定する。
具体的には、図22(a)に示すように、押し当て中心点TCPに対し、押し当て面に沿った水平方向の双方に既配置物体POBJの面が存在する場合には、制御装置10は、押し当て可能面が存在する(押し当て可能である)と判定する。
また、図22(b)に示す場合も押し当て中心点TCPに対し、押し当て面に沿った水平方向の双方に既配置物体POBJの面が存在するので、制御装置10は、押し当て可能面が存在する(押し当て可能である)と判定する。
また、図22(c)に示す場合も押し当て中心点TCPに対し、押し当て面に沿った水平方向の一方に既配置物体POBJ1の面が存在し、押し当て面に沿った水平方向の他方に既配置物体POBJ2の面が存在するので、この場合にも、制御装置10は、押し当て可能面が存在する(押し当て可能である)と判定する。
これらに対し、図22(d)に示す場合には、押し当て面に沿った水平方向の一方には既配置物体POBJの面が存在するが、押し当て面に沿った水平方向の他方には、容器14bの壁面及び既配置物体POBJの面のいずれも存在しないので、制御装置10は、押し当て可能面が存在しない(押し当て不能である)と判定する。
次に押し当て方向及びアプローチ方向の決定方法について説明する。
図23は、押し当て方向及びアプローチ方向の決定の説明図である。
まず、押し当て方向の決定について説明する。
制御装置10は、上述した各処理により斜めアプローチ可能、かつ、アプローチ先の2面に押し当て可能面が存在する場合には、押し当て方向を斜め押し当てと決定する。
また、制御装置10は、上述した各処理により横アプローチ可能、かつ、アプローチ先の1面に押し当て可能面が存在する場合には、押し当て方向を横押し当てと決定する。
また、制御装置10は、上述した各処理によりアプローチ可能、かつ、アプローチ先に押し当て可能面が存在しない場合には、押し当て方向を真上押し当てと決定する。
次にアプローチ方向の決定について説明する。
制御装置10は、上述した押し当て方向の決定において、押し当て方向が斜め押し当てである場合には、アプローチ方向を斜めアプローチと決定する。
制御装置10は、上述した押し当て方向の決定において、押し当て方向が横押し当てである場合には、アプローチ方向を斜めアプローチあるいは横アプローチであると決定する。
制御装置10は、上述した押し当て方向の決定において、押し当て方向が真上押し当てである場合には、アプローチ方向を斜めアプローチ、横アプローチあるいは真上アプローチのいずれかであると決定する。
従って、押し当て方向とアプローチ方向の組合せは、図23に示すように6通りとなる。
以上の押し当て方向及びアプローチ方向の決定方法の説明は、新たに配置しようとする物体OBJの配置予定位置の近傍に当該物体OBJよりも高さの高い既配置物体がアプローチに影響を与える範囲内に存在しない場合であるが、新たに配置しようとする物体OBJの配置予定位置の近傍に当該物体OBJよりも高さの高い既配置物体がアプローチに影響を与える範囲内に存在する場合には、以下の通りとなる。
図24は、押し当て方向及びアプローチ方向の決定の他の説明図である。
以下、図23と異なる部分のみ説明する。
図24が図24と異なる点は、上述した各処理により横アプローチ可能、かつ、アプローチ先の1面に押し当て可能面が存在する場合には、押し当て方向を真上押し当てあるいは横押し当てと決定する点である。
この結果、上述の例の場合には、押し当て方向が横でアプローチ方向が横アプローチであった場合に、本例では、押し当て方向が横でアプローチ方向が真上アプローチとなる場合がある。
そして、解放計画生成部55は、力制御押し当て面及びアプローチ方向を決定すると、次に解放位置RPに到達するまでのハンド22の経由点を計算する(ステップS56)。
続いて、解放計画生成部55は、解放位置リストに基づいて、実際に採用する解放位置RP及び解放位置RPにおけるハンド22の姿勢を決定して処理を終了する(ステップS57)。
一方、ステップS53の判定において、配置対象の物体OBJをハンド22により把持したままで、解放位置RPまでハンド22を移動可能ではないと判定された場合には(ステップS53;No)、解放計画生成部55は、上方解放用の解放位置RPを計算する(ステップS58)。
すなわち、新たに配置する物体の解放位置まで当該物体をハンドに把持して搬送する場合に、ハンドが既配置物体POBJや容器14bの壁と干渉する場合であっても、物体解放位置の上方から物体OBJを解放(リリース)すれば配置可能な場合が存在する。
図25は、物体解放位置の上方で物体を解放する場合の説明図である。
図25に示すように、新たに配置する物体の物体解放位置がARLである場合に、ハンド22の下面が、物体解放位置ARLの上方の上方解放位置URPに到った場合に物体を解放しようとする場合に、物体解放位置ARLに物体を配置した場合の物体の上面位置UFPと、上方解放位置URPとの差である上方解放距離DURが所定の設定値以下である場合に、上方解放を行うようにしている。
さらも上方解放を行う場合には、物体の物理的安定性を考慮して上方解放を行うか否かを決定している。
図26は、物体の物理的安定性の考慮を行う場合の原理説明図である。
配置対象の物体が直方体である場合に、図26(a)及び図26(b)に示すように、配置対象の物体に対応する物体解放位置ARLに配置する場合に、配置対象の物体OBJの側面において、対角線DGLと鉛直方向(z軸に平行な方向)の辺とのなす角度θ(=θ1,θ2)が所定の基準角度θrefより大きいか否かに基づいて、物理的安定性を判定する。
具体的には、図26(a)に示すように、対角線DGLと鉛直方向の辺とのなす角度θ1が所定の基準角度θrefより大きい場合には、配置対象の物体OBJは、横長に配置されることとなるので、物理的安定性が高く、上方解放を行っても倒れる虞が無いとして、上方解放の対象となる。
これに対し、図26(b)に示すように、対角線DGLと鉛直方向の辺とのなす角度θ2が所定の基準角度θref以下である場合には、配置対象の物体OBJは、横長に配置されることとなるので、物理的安定性が低く、上方解放を行った場合には、倒れる虞があるとして、上方解放の対象から除かれることとなる。
そして、解放計画生成部55は、上述したように物体解放位置ARLに物体を配置した場合の物体の上面位置UFPと、上方解放位置URPとの差である上方解放距離DURが所定の設定値以下であるか否かを判定して、上方解放可能か否かを判定する(ステップS59)。
ステップS59の判定において、上方解放可能ではない場合には(ステップS59;No)、解放計画生成部55は、処理をステップS55に移行する。
ステップS59の判定において、上方解放可能である場合には(ステップS59;Yes)、解放計画生成部55は、当該上方解放位置に対応する解放位置RPを当該配置対象の物体OBJの解放位置リストに追加する(ステップS60)。
そして、解放計画生成部55は、処理をステップS55に移行して、上述したのと同様の処理を行う(ステップS55〜S57)。
ところで、物体を容器内に配置する場合に物体単体では配置可能な状況であっても、物体を搬送するハンドの他の物体(容器の壁、既配置物体等)の存在により干渉が生じ、所望の物体解放位置にハンドを駆動することができない場合がある。
そこで、本実施形態においては、上述したステップS51〜ステップS60の処理と並行してハンドが干渉しないように解放位置RPを求める処理を行っている。
図27は、ハンドを駆動して、物体解放位置に到達することができない場合の一例の説明図である。
容器内には、既配置物体が存在しており、新たに配置する物体が当該既配置物体に隣接する位置に存在している。
この場合に図27(a)に示すように、新たに配置する物体を容器底面に設定した物体解放位置まで到達するようにハンドを下降させた場合、図27(b)に示すように、既配置物体の上面にハンドが当接し、ハンドに把持された新たに配置する物体の物体解放位置に到達することはできない。
図28は、拡張干渉領域の説明図である。
そこで、図28に示すように、上方(z軸方向)からハンド22を見た場合のハンド22の干渉領域ARI1と、上方から新たに配置する物体OBJを見た場合の新たに配置する物体の干渉領域ARI2の論理和をとった形状に対し、新たに配置する物体の干渉領域ARI2の各辺に対応する辺が平行となるように(=物体の配置時の向きが所望の向きとなるように)長方形状の領域とした拡張干渉領域ARICとして設定する。
この場合において、新たに配置する物体を平面視した場合に、新たに配置する物体の形状が長方形状ではない場合には新たに配置する物体の干渉領域ARI2は、新たに配置する物体の形状に外接する長方形状の領域とする。
例えば、新たに配置する物体の平面視形状が円である場合には、外接四角形状の領域を干渉領域ARI2とする。また、新たに配置する物体の平面視形状が楕円である場合には、長辺の長さが楕円の長軸の長さと等しく、短辺の長さが楕円の短軸の長さと等しい長方形状を干渉領域ARI2とする。
このような構成として、干渉領域ARI1と干渉領域ARI2との論理和に基づいて拡張干渉領域ARICとして設定することにより、ハンド及び新たに配置する物体のいずれも他の物体と干渉すること無く、確実に物体解放位置まで新たに配置する物体を搬送できる。
図29は、ハンドを駆動して物体解放位置に到達することができる場合の一例の説明図である。
より具体的には、図29(a)に示すように、新たに配置する物体を容器底面に設定した物体解放位置まで到達するようにハンド22を下降させた場合、物体解放位置に至る途中においてもハンドが既配置物体POBJ及び容器14bと干渉することはない。
そして、最終的には、図29(b)に示すように、既配置物体の上面や容器14bにハンド22が当接することなく、ハンド22に把持された新たに配置する物体OBJの物体解放位置ARLに到達し、配置が完了することとなる。
ところで、上述した拡張干渉領域ARICを用いて物体のハンドリングを行う場合に、既配置物体と新たに配置する物体との間の隙間を詰めてもハンド22が容器14の壁や、既配置物体と干渉しない場合に、新たに配置すべき物体を既配置物体と隙間を空けて(離間して)配置する可能性が生じる。
そこで、このような場合に隙間を減らすことが可能であるか否かを判定するようにしている。
原理的には、新たに配置しようとする物体OBJを所定の位置に配置したと仮定した場合に、当該物体OBJの上面にハンド22を他の障害物(容器14bあるいは既配置物体)と干渉せずに配置できるか否かを判定し、配置できる場合には、隙間を空けずに配置するように制御するのである。
拡張干渉領域ARICを用いて物体のハンドリングを行う場合に、ハンド22が障害物と干渉するか否かを判定する処理について説明する。
図30、拡張干渉領域を用いる場合のハンドと障害物とが干渉するか否かの判定処理の説明図である。
まず、制御装置10は、図30(a)に示すように、既配置物体POBJ及び容器14bの壁の情報にもとづいて、新たに配置する物体OBJを所定の配置予定位置に配置した場合に当該物体OBJの上面より上にある部分を直方体形状を有する抽出領域EARとして抽出する。
続いて図30(b)に示すように、上面視した場合に抽出領域内にある既配置物体POBJの輪郭及び容器14bの壁を抽出する。
つぎに、ハンド22の干渉領域ARI1と既配置物体POBJの輪郭及び容器14bの壁とが交差する(共通領域を有する)か否かを判定し、図30(c)に示すような状態とならず、ハンド22の干渉領域ARI1が既配置物体POBJの輪郭及び容器14bの壁のいずれとも交差しなければ、当該物体OBJの上面にハンド22を他の障害物(容器14bあるいは既配置物体)と干渉せずに配置できると判定して、制御装置10は、隙間を減らすように配置処理を行うこととなる。
図31は、拡張干渉領域を用いた場合の不具合を解消するための処理の説明図である。
図31(a)に示すように拡張干渉領域ARICを用いて物体OBJを配置しようとする場合には、既配置物体POBJとの間に、図31(a)中、両矢印で示すように、隙間が生じることとなる。
そこで、このような場合には、図31(b)で示すように、既配置物体POBJの隣りに物体OBJを単体で配置したと仮定し、図31(c)に示すように、物体OBJの上面にハンド22を配置できるか否かを判定する。
この判定の結果、図31(c)に示すように、物体OBJの上面にハンド22を配置できると判定した場合には、拡張干渉領域ARICを用いずに解放位置を算出して隙間を詰めるようにしている。
続いて、解放計画生成部55は、解放情報に基づいて、把持している配置対象の物体OBJの解放位置RPおよび解放姿勢を決定する(ステップS15)。
この場合において、解放計画生成部55は、は、1個の物体OBJの配置位置の算出時に解放位置スコアを算出して、最も解放位置スコアの高い配置位置を実際に物体OBJを配置しようとする位置として確定する。
例えば、解放位置スコアを、解放方式スコア及びサブスコアをパラメータとする関数で定義する。
関数の一例としては、以下の通りである。
解放位置スコア=解放方式スコア+0.1×サブスコア
ここで、解放方式としては、上方解放及び拡張干渉領域を考慮することなく、物体OBJ単体で箱詰めが可能な物体単体解放の場合、上方解放の場合及び拡張干渉領域を用いる場合があり、各解放方式の解放方式スコアとしては、例えば、以下の様に設定される。
解放方式スコア
物体単体解放の場合 : 0.3(点)
上方解放の場合 : 0.2(点)
拡張干渉領域考慮の場合: 0.1(点)
また、サブスコアとしては、例えば、自然姿勢スコア、押当面スコア、空き領域スコアなどが挙げられる。
自然姿勢スコアは、ハンド22がより自然な姿勢となるほど高い点数となるスコアである。
押当面スコアは、物体の向きが揃う(同じ方向を向いている)ほど高い点数となるスコアである。
空き領域スコアは、物体配置の後の空きスペースが広いほど高い点数となるスコアである。
ここで、押し当て面スコアについて説明する。
容器14b内に物体OBJを配置する場合、同じ物体OBJの場合には、向きを揃えて配置する方が、充填率が向上する。
このため、同じ物体OBJを複数、同一の容器14bに配置する場合には、向きを揃えるように配置できるように物体解放位置を選択している。
図32は、同一の物体を向きを揃える場合の処理の説明図である。
本実施形態においては、物体解放位置を評価するために後述する押当面スコアを算出し、より押当面スコアが高くなるように新たに配置する物体OBJの向きを既配置物体POBJの向きに基づいて算出している。
この場合において、図32(a)に示すように、既配置物体POBJに対し、新たに配置する物体OBJを押し当て方向DRPから押し当てて配置を行うものとする。
まず、制御装置10は、既配置物体POBJの配置情報に基づいて、物体OBJを押当方向DRPから押し当てた場合の押し当て面PPLを抽出し、抽出した押し当て面PPLに基づいて、新たに配置する物体OBJの向きを算出するために以下の処理を行う。
以下の説明においては、図32(b)に示すように、既配置物体POBJにおいて新たに配置する物体OBJが押し当てられる面PP1の面積を押当先面積SToとし、新たに配置する物体OBJにおいて既配置物体POBJに押し当てる面PP2の面積を押当元面積SFromとし、物体OBJにおいて押当方向DRPとは直交する方向に位置する側面PPSの面積を押当元側面積SSideとし、既配置物体POBJと新たに配置する物体OBJの接触面積をSComとする。
そして、次式(1)により押当面スコアSCRを算出する。
Figure 2020040158
この場合において、押当面スコアSCRの算出式の第1項を構成している新たに配置する物体OBJにおける押当元面積SFromと押当元側面積SSideとの和は一定値である。そこで、接触面積SComが一定の場合を想定すると、押当面スコアSCRが最大となるのは、押当面スコアSCRの算出式の第2項を構成している括弧内の式のうち、分数部分の分子が最小となる場合である。すなわち、押当元面積SFromと押当先面積SToとの差が0、すなわち、押当元面積SFromと押当先面積SToとが等しい場合である。
換言すれば、既配置物体POBJと新たに配置する物体OBJの向きが一致した場合に押当面スコアSCRが最大となるということである。
さらに既配置物体POBJと新たに配置する物体OBJの接触面積SComが最大である場合とは、次式(2)を満たす場合である。
SCom=SFrom=STo (2)
すなわち、既配置物体POBJと新たに配置する物体OBJが一列に並んでいる場合である。
これらの結果、押当面スコアSCRが実質的に最大となるのは、既配置物体POBJと新たに配置する物体OBJが同じ向きに一列に並んでいる場合である。
以上の説明は、既配置物体POBJが一つの場合であったが既配置物体POBJが二つある場合には、各押し当て面についてそれぞれ押当面スコアSCRを算出し、それらの和が最も大きくなる場合が新たに配置する物体OBJの最適配置位置ということとなる。
また、以上の説明は、既配置物体POBJと新たに配置する物体OBJが等しい場合であったが、既配置物体POBJと新たに配置する物体OBJとが異なる場合であってもより押当面スコアSCRがより大きくなるように配置位置を決定すれば、同様に適用が可能であり、より充填率が上がる配置位置を決定することができる。
次に空き領域スコアについて説明する。
図33は、空き領域スコアの説明図である。
図33(a)は、新たに配置しようとする物体OBJの配置計画時の容器14b内の既配置物体の説明図である。
図33(a)に示すように、容器14b内には、既に既配置物体POBJ1〜POBJ4の4個が存在しているものとする。
この場合に物体OBJを既配置物体POBJ1の上面に配置しようとした場合には、容器14bの上端から物体OBJを配置したとした場合の物体OBJの下面位置(=既配置既配置物体POBJ1の上面位置)に到る高さESPHの立方体形状の空間を抽出し、抽出空間ESPとする。
そして抽出空間ESP内に位置する既配置物体を抽出する。
図33(a)の場合には、抽出空間ESP内に位置する既配置物体は、既配置物体POBJ2及び既配置物体POBJ3の二つである。
続いて図33(b)に示すように、容器14bを上面視した場合に、抽出した既配置物体POBJ2、POBJ3、物体OBJ及び容器14bによって囲まれており、かつ、既配置物体が存在しない領域を抽出し、空き領域VARとする。
この空き領域VARの面積に高さESPHを乗じて空きスペースの体積を求める。
続いて空きスペースの体積及び容器14bの内容積(容器14bの物体配置可能部分の総体積)を用いて、空き領域スコアを、例えば、次式により算出する。
空き領域スコア=空きスペースの体積/容器14bの内容積
このようにして解放計画生成部55は、空き領域スコアを算出し、物体OBJの配置しようとする位置を変えて、より空き領域スコアの高い配置位置を探索することとなる。
常住したように、空き領域スコアを高くするには、空きスペースの体積が大きくすれば良いこととなるので、実効的に制御装置10は、空き領域をできるだけ確保できるように物体OBJを中央寄りへの配置を避けるように物体OBJの位置を探索することとなる。
また空きスペースの体積を大きくするには、物体OBJを出来る限り低い場所に配置するのが良いので、実効的に制御装置10は、物体OBJをより低い場所に配置しようとすることとなるので、高さ方向に沿って縦に積んでしまうような配置を避けるように物体OBJの配置位置を探索することとなる。
これらの結果、解放計画生成部55は、より充填率の高くなるように物体OBJの配置位置を探索できるようになっている。
そして、解放計画生成部55により解放計画が生成されると、動作計画生成部56は、マニピュレータ20の現在位置から、解放位置RPおよび解放姿勢に至るロボット動作情報を生成する。この場合も、ロボット動作情報の生成については、例えば、マニピュレータ20と配置対象の物体OBJ以外の物体との干渉あるいは衝突の虞が無いあるいは確率が比較的低い領域では、高速な動作が選択される。他方、例えば、ハンド22が容器14bに近付いたり容器14b内に入ったりするなど、ハンド22または配置対象の物体OBJと当該配置対象の物体OBJ以外の物体との干渉あるいは衝突の虞があるあるいは確率が比較的高い領域では、速度を抑えた動作が選択される。さらに、動作計画生成部56は、この領域でハンド22に発生する力の目標値を決定する。
ロボット制御部57は、生成されたロボット動作情報に従って動作し、解放位置RPへ配置対象の物体OBJを移動させ当該解放位置RPで配置対象の物体OBJを解放するよう、マニピュレータ20およびハンド22を制御する(ステップS16)。配置対象の物体OBJの解放位置RPの周辺領域では、配置対象の物体OBJを容器14bにより高密度に配置するために、容器14bの壁や、既に置かれている十分な大きさの物品がある場合には、ハンド22により当該壁や物品の被押付面に対して配置対象の物体OBJを押し付ける動作が、実行される。また、被押付面が比較的大きな傾きを持っているような場合にあっても、与えられた押付方法や押付力により、配置対象の物体OBJを被押付面に倣わせて、密着した状態で解放する動作が実行される。
配置対象の物体OBJの解放後、ロボット制御部57は、容器14bから脱出するようハンド22を制御し、待機姿勢をとるようマニピュレータ20を制御する(ステップS17)。
重力補償部57dは、力センサ31の検出値のリセット(この状態での検出値を0とする)のような重力補償を実行する(ステップS18)。ここで、次の配置対象の物体OBJの把持姿勢が既に決定している場合には、ロボット制御部57は、ハンド22が、把持姿勢と略同じキャリブレーション姿勢となるよう、マニピュレータ20およびハンド22を制御し、この状態で、重力補償部57dは、重力補償を実行する。
続いて統合部51は、外部I/F71を経て、外部機器から次の配置対象の物体OBJの搬送指示(ハンドリング指示)を受け取ったか否かを判定する(ステップS19)。
ステップS19の判定において、統合部51は、外部I/F130を経て、外部機器から次の配置対象の物体OBJの搬送指示(ハンドリング指示)を受け取った場合には(ステップS19;Yes)、処理をステップS2へ移行し、次の配置対象の物体OBJに対する一連の制御を開始する。
一方ステップS19の判定において、次の配置対象の物体OBJについての搬送指示を受け取っていない場合には(ステップS19;No)、一連の制御を終了する。
以上の説明のように、本実施形態によれば、実装が容易で高速な手法により、周囲の障害物と干渉を起こすこと無く物体を把持し、ハンドリングすることが可能となる。
次に実施形態の変形例について説明する。
図34は、複数種類の物体が配置対象として存在する場合の物体配置位置の設定の一例の説明図である。
図34に示すように、複数種類の物体OBJ1、OBJ2が配置対象として存在する場合には、それぞれの種類が同一配置エリアに配置されるように、物体解放位置ARL1〜ARL3が設定される。
具体的には、物体OBJ1に対しては、配置エリアDAR1が割り当てられ、物体OBJ2に対しては配置エリアDAR2が割り当てられる。
ここで、配置エリアDAR1には、物体OBJ1に対応する物体解放位置ARL1及び物体解放位置ARL2が割り当てられる。
また、配置エリアDAR2には、物体OBJ2に対応する物体解放位置ARL3が割り当てられる。
この結果、同一の物体解放位置には同種の物体のみが配置されることとなるので、容器内における物体充填率が向上し、荷崩れしにくくなる。
また、新たに配置する物体OBJを配置可能な位置が複数存在する場合には、制御装置10は、容器14b内の配置物の重心位置がより低くなるように配置位置を設定している。
図35は、重心位置を考慮した配置位置設定の一例の説明図である。
新たに配置する物体OBJの配置位置設定に際し、図35(a)に示すように、容器14bの底面に位置する第1の物体解放位置ARL11と、図35(b)に示すように、容器14bの底面上に既に配置されている既配置物体POBJの上面に位置する第2の物体解放位置ARL12と、が存在する場合、容器14b内に物体OBJを配置後の配置物全体の重心位置がより低くなるのは、図(a)に示す場合である。
したがって、制御装置10は、新たに配置する物体OBJの配置位置設定に際し容器14b内の配置物の重心位置がより低くなる第1の物体解放位置ARL11を第2の物体解放位置ARL12よりも優先して選択するようになっている。
この選択に従って、実際に物体OBJを配置するようにすれば、容器14bの搬送時(運搬時)の安定性が向上し、荷崩れをより一層防止することが可能となる。
本実施形態の制御装置は、CPUなどの制御装置と、ROM(Read Only Memory)やRAMなどの記憶装置と、HDD、CDドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
本実施形態の制御装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、USBメモリ、SSD等の半導体メモリ装置、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、本実施形態の制御装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の制御装置で実行される〜プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
また、本実施形態の制御装置のプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 物体ハンドリングシステム
10 制御装置(物体ハンドリング装置)
22 ハンド
32−1〜32−4 カメラ
55 解放計画生成部
OBJ 物体
POBJ 既配置物体

Claims (14)

  1. ハンドを用いて把持した物体を配置先の配置容器内に移送して配置する物体ハンドリング装置であって、
    前記ハンドの他の物体に対する干渉領域であるハンド干渉領域及び前記ハンドが把持している物体の前記他の物体に対する干渉領域である把持物体干渉領域を複合した拡張干渉領域を算出する拡張干渉領域算出部と、
    前記配置容器内の障害物情報及び前記拡張干渉領域に基づいて前記配置容器内における前記物体の配置位置及び姿勢のうち、少なくとも前記物体の配置位置を算出する配置位置算出部と、
    前記物体の配置位置に基づいて前記ハンドが前記把持した物体を解放する解放位置を算出する解放位置算出部と、
    を備えた物体ハンドリング装置。
  2. ハンドを用いて把持した物体を配置先の配置容器内に移載する物体ハンドリング装置であって、
    前記配置容器内の障害物情報、前記ハンドの他の物体に対する干渉領域であるハンド干渉領域及び前記ハンドが把持している物体の前記他の物体に対する干渉領域である把持物体干渉領域に基づいて前記配置容器内における前記物体の配置位置を算出する配置位置算出部と、
    前記配置位置の鉛直方向上方に所定距離以内で離間した位置を前記把持した物体の解放位置である物体解放位置として算出する上方解放位置算出部と、
    を備えた物体ハンドリング装置。
  3. 前記上方解放位置算出部は、前記物体の配置位置の鉛直方向真上に把持物体が存在するように、前記物体解放位置を設定する、
    請求項2記載の物体ハンドリング装置。
  4. 前記上方解放位置算出部は、前記ハンド干渉領域が容器または容器内の障害物と干渉しないように前記物体解放位置を算出する、
    請求項3記載の物体ハンドリング装置。
  5. 前記上方解放位置算出部は、前記解放対象の物体の幾何的または動力学的な特徴量を算出し、前記配置位置と解放時の前記解放対象の物体の位置との距離を算出し、解放後の前記解放対象の物体の物理的安定性を維持して前記物体解放位置の高さを算出する、
    請求項2乃至請求項4のいずれか一項に記載の物体ハンドリング装置。
  6. ハンドを用いて把持した物体を配置先の配置容器内に移載する物体ハンドリング装置であって、
    前記配置容器内の障害物情報に基づく既に前記配置容器内に配置されている直方体形状の既配置物体に前記配置容器内に新たに配置する直方体形状の物体を押し当てた状態で配置する場合に、前記既配置物体と前記新たに配置する物体との接触面の面積がより大きくなり、かつ、前記既配置物体の前記接触面に対応する面の面積と、前記新たに配置する物体の前記接触面に対応する面の面積との差がより小さくなる面を前記接触面に対応する二つの面として探索する接触面探索部と、
    前記探索の結果に基づいて、前記配置容器内における前記物体の配置位置及び姿勢のうち、少なくとも前記物体の配置位置を算出する配置位置算出部と、
    を備えた、
    物体ハンドリング装置。
  7. 接触面探索部は、前記既配置物体において前記新たに配置する物体が押し当てられる面の面積を押当先面積SToとし、前記新たに配置する物体において既配置物体に押し当てる面の面積を押当元面積SFromとし、前記新たに配置する物体において押当方向とは直交する方向に位置する側面の面積を押当元側面積SSideとし、前記既配置物体POBJと前記新たに配置する物体の接触面積をSComとした場合に式(1)により押当面スコアSCRを算出し、より押当面スコアSCRが大きい値を有する面を前記接触面に対応する二つの面として探索する請求項4記載の物体ハンドリング装置。
    Figure 2020040158
  8. 前記配置容器内に前記物体の配置位置を設定する配置エリアを複数設け、前記移送対象の物体の種類に応じて前記配置エリアを割り当てるエリア割当部を備えた、
    請求項1乃至請求項7のいずれか一項記載の物体ハンドリング装置。
  9. 前記配置位置算出部は、配置対象の前記物体の配置後における前記物体が配置された前記容器全体の重心がより低くなる位置を前記前記物体の配置位置として算出する、
    請求項1乃至請求項8のいずれか一項記載の物体ハンドリング装置。
  10. 前記配置容器内に配置した物体の履歴情報と、前記配置容器内の前記実際に配置されているセンシングデータとを統合し、前記配置容器内の障害物情報を算出する、
    請求項1乃至請求項9のいずれか一項記載の物体ハンドリング装置。
  11. 予め取得した前記ハンドで把持予定の直方体形状の物体のサイズに基づいて、直方体形状の物体のいずれの面を把持した場合に前記配置容器内に配置可能か否かを判定し、
    前記判定結果に基づいて、前記配置容器内に配置可能である面を把持対象として前記ハンドで把持する、
    請求項1乃至請求項9のいずれか一項記載の物体ハンドリング装置。
  12. ハンドを用いて把持した物体を配置先の配置容器内に移送して配置する物体ハンドリング装置をコンピュータにより制御するためのプログラムであって、
    前記コンピュータを、
    前記ハンドの他の物体に対する干渉領域であるハンド干渉領域及び前記ハンドが把持している物体の前記他の物体に対する干渉領域である把持物体干渉領域を複合した拡張干渉領域を算出する手段と、
    前記配置容器内の障害物情報及び前記拡張干渉領域に基づいて前記配置容器内における前記物体の配置位置及び姿勢のうち、少なくとも前記物体の配置位置を算出する手段と、
    前記物体の配置位置に基づいて前記ハンドが前記把持した物体を解放する解放位置を算出する手段と、
    して機能させるプログラム。
  13. ハンドを用いて把持した物体を配置先の配置容器内に移載する物体ハンドリング装置をコンピュータにより制御するためのプログラムであって、
    前記コンピュータを、
    前記配置容器内の障害物情報、前記ハンドの他の物体に対する干渉領域であるハンド干渉領域及び前記ハンドが把持している物体の前記他の物体に対する干渉領域である把持物体干渉領域に基づいて前記配置容器内における前記物体の配置位置を算出する手段と、
    前記配置位置の鉛直方向上方に所定距離以内で離間した位置を前記把持した物体の解放位置である物体解放位置として算出する手段と、
    して機能させるプログラム。
  14. ハンドを用いて把持した物体を配置先の配置容器内に移載する物体ハンドリング装置をコンピュータにより制御するためのプログラムであって、
    前記コンピュータを、
    前記配置容器内の障害物情報に基づく既に前記配置容器内に配置されている直方体形状の既配置物体に前記配置容器内に新たに配置する直方体形状の物体を押し当てた状態で配置する場合に、前記既配置物体と前記新たに配置する物体との接触面の面積がより大きくなり、かつ、前記既配置物体の前記接触面に対応する面の面積と、前記新たに配置する物体の前記接触面に対応する面の面積との差がより小さくなる面を前記接触面に対応する二つの面として探索する手段と、
    前記探索の結果に基づいて、前記配置容器内における前記物体の配置位置及び姿勢のうち、少なくとも前記物体の配置位置を算出する手段と、
    して機能させるプログラム。
JP2018168920A 2018-09-10 2018-09-10 物体ハンドリング装置及びプログラム Active JP6833777B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018168920A JP6833777B2 (ja) 2018-09-10 2018-09-10 物体ハンドリング装置及びプログラム
US16/546,771 US11498210B2 (en) 2018-09-10 2019-08-21 Object handling device and computer program product
DE102019212839.4A DE102019212839B4 (de) 2018-09-10 2019-08-27 Objekthandhabungsvorrichtung und Computerprogrammprodukt

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018168920A JP6833777B2 (ja) 2018-09-10 2018-09-10 物体ハンドリング装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2020040158A true JP2020040158A (ja) 2020-03-19
JP6833777B2 JP6833777B2 (ja) 2021-02-24

Family

ID=69621310

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018168920A Active JP6833777B2 (ja) 2018-09-10 2018-09-10 物体ハンドリング装置及びプログラム

Country Status (3)

Country Link
US (1) US11498210B2 (ja)
JP (1) JP6833777B2 (ja)
DE (1) DE102019212839B4 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022059541A1 (ja) * 2020-09-16 2022-03-24 ソニーグループ株式会社 制御装置、制御システム、制御方法、及びロボット
US11559894B2 (en) 2019-06-17 2023-01-24 Kabushiki Kaisha Toshiba Object handling control device, object handling device, object handling method, and computer program product
WO2023209827A1 (ja) * 2022-04-26 2023-11-02 ファナック株式会社 ロボット、ロボットの制御装置、および作業ロボットシステム

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9393686B1 (en) * 2013-03-15 2016-07-19 Industrial Perception, Inc. Moveable apparatuses having robotic manipulators and conveyors to facilitate object movement
US11007648B2 (en) * 2017-09-05 2021-05-18 Abb Schweiz Ag Robotic system for grasping objects
JP7167547B2 (ja) * 2018-08-22 2022-11-09 セイコーエプソン株式会社 制御装置、及び、ロボットシステム
ES2912406T3 (es) * 2019-02-15 2022-05-25 Siemens Ag Sistema y método computarizados que usan diferentes vistas de imágenes para encontrar ubicaciones de agarre y trayectorias para una recogida robótica
JP7163235B2 (ja) * 2019-03-29 2022-10-31 コベルコ建機株式会社 作業分析方法、作業分析装置及びプログラム
US11295471B1 (en) * 2019-12-11 2022-04-05 Amazon Technologies, Inc. Camera-based pallet placement detection and notification
JP7375587B2 (ja) * 2020-02-05 2023-11-08 株式会社デンソー 軌道生成装置、多リンクシステム、及び軌道生成方法
US11130237B1 (en) * 2020-03-05 2021-09-28 Mujin, Inc. Method and computing system for performing container detection and object detection
US11548739B1 (en) * 2020-03-30 2023-01-10 Amazon Technologies, Inc. Systems and methods for automated robotic sortation
JP7447676B2 (ja) 2020-05-26 2024-03-12 株式会社デンソーウェーブ ロボットアームの制御装置
US20220016779A1 (en) * 2020-07-15 2022-01-20 The Board Of Trustees Of The University Of Illinois Autonomous Robot Packaging of Arbitrary Objects
US11795012B1 (en) * 2020-11-06 2023-10-24 Aaron Thomas Bacon Multi-gripper system
DE102021104773B3 (de) * 2021-02-26 2022-03-17 IGZ Ingenieurgesellschaft für logistische Informationssysteme mbH Kommissionierroboter mit optimierter trajektorie und verfahren zum steuern eines kommissionierroboters
US20230092690A1 (en) * 2021-09-21 2023-03-23 Rios Intelligent Machines, Inc. Automated production work cell

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03111339A (ja) * 1989-09-22 1991-05-13 Mitsubishi Electric Corp パレタイズ装置
JP2001206550A (ja) * 2000-01-24 2001-07-31 Murata Mach Ltd 板材搬送装置
JP2003172605A (ja) * 2001-12-10 2003-06-20 Daifuku Co Ltd 物品位置認識装置
JP2017061025A (ja) * 2015-09-25 2017-03-30 キヤノン株式会社 ロボット制御装置、ロボット制御方法及びコンピュータプログラム

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5824173B2 (ja) 1977-04-14 1983-05-19 タイホ−工業株式会社 燃焼ガス中の有害な窒素酸化物の除去方法
JPS597752A (ja) 1982-07-07 1984-01-14 Nissan Motor Co Ltd 内燃機関のアイドル回転速度制御方法
US20070018059A1 (en) * 2005-07-25 2007-01-25 Woodcock John E Apparatus for holding a container at an angle
JP5402697B2 (ja) 2009-10-26 2014-01-29 株式会社安川電機 ロボット装置及びワーク取り出しシステム並びにワーク取り出し方法
JP5404519B2 (ja) * 2010-04-26 2014-02-05 本田技研工業株式会社 ロボット、制御システムおよび制御プログラム
JP5685027B2 (ja) * 2010-09-07 2015-03-18 キヤノン株式会社 情報処理装置、物体把持システム、ロボットシステム、情報処理方法、物体把持方法およびプログラム
CN103492134B (zh) 2011-04-14 2016-05-04 三菱电机株式会社 机械臂控制装置
US9075412B2 (en) * 2012-10-24 2015-07-07 Stratom, Inc. Self-propelled robotic pallet vehicle
US9393686B1 (en) * 2013-03-15 2016-07-19 Industrial Perception, Inc. Moveable apparatuses having robotic manipulators and conveyors to facilitate object movement
JP6314429B2 (ja) 2013-11-01 2018-04-25 セイコーエプソン株式会社 ロボット、ロボットシステム、及びロボット制御装置
JP5824173B1 (ja) 2014-02-28 2015-11-25 ファナック株式会社 ロボットを用いて物品を整列させる物品整列装置及び物品整列方法、並びに物品整列装置を備えた物品移送システム
US9272417B2 (en) * 2014-07-16 2016-03-01 Google Inc. Real-time determination of object metrics for trajectory planning
JP6137115B2 (ja) 2014-10-27 2017-05-31 Jfeスチール株式会社 鋼管の接合継手
JP6137155B2 (ja) 2014-12-09 2017-05-31 トヨタ自動車株式会社 干渉回避方法、制御装置及びプログラム
JP6378783B2 (ja) * 2014-12-25 2018-08-22 川崎重工業株式会社 アーム型のロボットの障害物自動回避方法及び制御装置
JP6088563B2 (ja) 2015-02-10 2017-03-01 ファナック株式会社 位置及び姿勢の変換演算機能を備えたワーク取出しロボットシステム、及びワーク取出し方法
CA3107257C (en) * 2015-11-13 2023-05-02 Berkshire Grey, Inc. Sortation systems and methods for providing sortation of a variety of objects
JP6267175B2 (ja) * 2015-11-20 2018-01-24 ファナック株式会社 物品を積む位置を設定する積み付けパターン計算装置
US10124489B2 (en) * 2016-02-26 2018-11-13 Kinema Systems Inc. Locating, separating, and picking boxes with a sensor-guided robot
US9821458B1 (en) * 2016-05-10 2017-11-21 X Development Llc Trajectory planning with droppable objects
JP6614075B2 (ja) * 2016-09-07 2019-12-04 株式会社ダイフク 物品積載設備
DE102017002354B4 (de) 2017-03-10 2022-04-07 Swisslog Ag Transportieren von Objekten, insbesondere Kommissionieren von Waren, mithilfe eines Roboters
DE112017007397B4 (de) 2017-04-04 2021-09-30 Mujin, Inc. Steuervorrichtung, Greifsystem, Verteilersystem, Programm, Steuerverfahren und Herstellungsverfahren
CN111226237A (zh) * 2017-09-01 2020-06-02 加利福尼亚大学董事会 用于稳健抓取和瞄准物体的机器人系统和方法
US11136149B2 (en) * 2018-08-03 2021-10-05 Futurewei Technologies, Inc. Container packing system
EP3938151B1 (en) * 2018-08-13 2023-11-08 Boston Dynamics, Inc. Manipulating boxes using a zoned gripper

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03111339A (ja) * 1989-09-22 1991-05-13 Mitsubishi Electric Corp パレタイズ装置
JP2001206550A (ja) * 2000-01-24 2001-07-31 Murata Mach Ltd 板材搬送装置
JP2003172605A (ja) * 2001-12-10 2003-06-20 Daifuku Co Ltd 物品位置認識装置
JP2017061025A (ja) * 2015-09-25 2017-03-30 キヤノン株式会社 ロボット制御装置、ロボット制御方法及びコンピュータプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11559894B2 (en) 2019-06-17 2023-01-24 Kabushiki Kaisha Toshiba Object handling control device, object handling device, object handling method, and computer program product
WO2022059541A1 (ja) * 2020-09-16 2022-03-24 ソニーグループ株式会社 制御装置、制御システム、制御方法、及びロボット
WO2023209827A1 (ja) * 2022-04-26 2023-11-02 ファナック株式会社 ロボット、ロボットの制御装置、および作業ロボットシステム

Also Published As

Publication number Publication date
JP6833777B2 (ja) 2021-02-24
DE102019212839B4 (de) 2020-12-10
US11498210B2 (en) 2022-11-15
DE102019212839A1 (de) 2020-03-12
US20200078941A1 (en) 2020-03-12

Similar Documents

Publication Publication Date Title
JP6833777B2 (ja) 物体ハンドリング装置及びプログラム
JP6771799B1 (ja) 壁に基づくパッキング機構を有するロボットシステム及びその動作方法
JP6813229B1 (ja) 自動物体検出機構を備えたロボットシステム、および、その動作方法
JP6704157B1 (ja) 動的パッキング機構を有するロボットシステム
JP6729953B1 (ja) エラー検出および動的パッキング機構を有するロボットシステム
JP6807949B2 (ja) 干渉回避装置
JP7015031B2 (ja) カメラによって生成される画像情報に基づいて、物体検出またはロボット相互作用計画作成を行う方法および計算システム
JP7204587B2 (ja) 物体ハンドリング制御装置、物体ハンドリング装置、物体ハンドリング方法および物体ハンドリングプログラム
US7881917B2 (en) Apparatus simulating operations between a robot and workpiece models
JP2020040132A (ja) ハンド制御装置
CN113592855B (zh) 基于启发式深度强化学习的自主抓取与装箱方法及系统
JP7233858B2 (ja) ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
JP6662836B2 (ja) 収容領域又は治具にワークを配置するワーク配置システム
JP7028092B2 (ja) 把持姿勢評価装置及び把持姿勢評価プログラム
CN111498213A (zh) 具有动态打包机制的机器人系统
JP2020121346A (ja) ワーク移載システム及びその方法
WO2023188407A1 (ja) ロボットシステム
JP7415013B2 (ja) ロボットの構成部材の干渉を検出するロボット装置
TW202408758A (zh) 程式生成裝置、控制裝置及程式
WO2024019701A1 (en) Bin wall collision detection for robotic bin picking
CN117754558A (zh) 通过人类演示的抓取教导
Vishwa Priya et al. Design And Simulation Of Vision Based Robotic Arm Using ROS
Priya et al. Design and simulation of vision based robotic arm using ROS.
JP2023038456A (ja) ロボット制御システム
CN117377558A (zh) 自动拾取和放置系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190912

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201208

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210203

R150 Certificate of patent or registration of utility model

Ref document number: 6833777

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150