JP7502419B2 - ワークを積み上げる位置を設定する位置設定装置および位置設定装置を備えるロボット装置 - Google Patents

ワークを積み上げる位置を設定する位置設定装置および位置設定装置を備えるロボット装置 Download PDF

Info

Publication number
JP7502419B2
JP7502419B2 JP2022517021A JP2022517021A JP7502419B2 JP 7502419 B2 JP7502419 B2 JP 7502419B2 JP 2022517021 A JP2022517021 A JP 2022517021A JP 2022517021 A JP2022517021 A JP 2022517021A JP 7502419 B2 JP7502419 B2 JP 7502419B2
Authority
JP
Japan
Prior art keywords
workpiece
unit
workpieces
container
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.)
Active
Application number
JP2022517021A
Other languages
English (en)
Other versions
JPWO2021215370A1 (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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Publication of JPWO2021215370A1 publication Critical patent/JPWO2021215370A1/ja
Application granted granted Critical
Publication of JP7502419B2 publication Critical patent/JP7502419B2/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
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G57/00Stacking of articles
    • B65G57/02Stacking of articles by adding to the top of the stack
    • B65G57/03Stacking of articles by adding to the top of the stack from above
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G61/00Use of pick-up or transfer devices or of manipulators for stacking or de-stacking articles not otherwise provided for
    • 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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50391Robot

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Manipulator (AREA)

Description

本発明は、ワークを積み上げる位置を設定する位置設定装置および位置設定装置を備えるロボット装置に関する。
物品を目的地まで搬送する場合には、容器またはパレットなどにより物品を搬送する場合がある。この場合に、容器の内部の所定の領域またはパレットの上側の所定の領域に複数の物品を配置する作業を実施する。
従来の技術においては、物品を所定の領域に配置する作業をロボット装置にて行うことが知られている(例えば、特開2019-181620号公報および国際公開第2017/149616号)。また、物品を搬送する場合に、物品を複数の段に積み上げるロボット装置が知られている(例えば、特開平7-291451号公報および特開平11-59909号公報)。また、ロボット装置にて物品を積み上げる場合に、大きさが互いに異なる複数の種類の物品を積み上げる制御が知られている(例えば、国際公開第2017/061632号公報)。
更に、複数の種類の物品を積み上げる際に、物品を積み上げる順序が定められていない場合がある。この場合には、ロボット装置は、ワークの寸法を検出し、ワークの寸法に応じて物品を配置する制御を実施することが知られている(例えば、特開昭62-251811号公報および特許第6267175号公報)。
特開2019-181620号公報 国際公開第2017/149616号 特開平7-291451号公報 特開平11-59909号公報 国際公開第2017/061632号 特開昭62-251811号公報 特許第6267175号公報
容器等の所定の領域に物品を配置する作業は、ピッキング作業と称される。複数の種類の物品を容器等に配置する場合に、複数の種類の物品の大きさおよび物品を積み上げる順序が予め定められている場合がある。この場合には、予め物品を積み上げるパターンを生成し、物品を積み上げるパターンに基づいて物品を配置することができる。
一方で、物品を搬送する容器等に配置する物品の個数、物品の大きさ、および物品を積み上げる順序が定まっていない場合がある。例えば、物品を送付する顧客の注文ごとに、物品の種類および物品の個数が異なる場合が有る。このような、注文ごとに複数の種類の物品を容器等に配置する作業は、オーダーピッキングと称される。この場合に、ロボット装置が物品を積み上げる位置を設定する制御は難しくなる。多くの場合には、作業者が手作業にて物品を積み上げている。
特に、容器等に配置されている物品の上側に物品を配置する場合に、物品の荷崩れが生じる場合がある。物品を配置する場合には、荷崩れが生じないように物品の位置を定める必要が有る。また、容器等に多くの物品を配置することが好ましい。ところが、物品の大きさ、物品の個数、および物品が供給される順序が定められていない場合に、物品を効率よく配置する位置を定めることは難しいという問題が有る。また、荷崩れが生じないように、物品を積み上げる位置を定めることは難しいという問題がある。
本開示の第1の態様は、複数の第1のワークの上側に第2のワークを積み上げる位置を設定する位置設定装置である。位置設定装置は、第2のワークの形状を検出するためのセンサーを備える。位置設定装置は、センサーの出力に基づいて、第2のワークの形状を検出する形状検出部と、複数の第1のワークの形状および位置を取得する取得部とを備える。位置設定装置は、複数の第1のワークの上側に第2のワークを配置することが許容される位置を探索する探索部を備える。第1のワークおよび第2のワークのそれぞれのワークは、上面および下面を有する。1つの第1のワークの上面と他の第1のワークの上面との高さの差の判定範囲が予め定められている。探索部は、1つの第1のワークの上面の高さと他の第1のワークの上面の高さとが異なる場合に、1つの第1のワークおよび他の第1のワークの両方のワークに支持されるように第2のワークを配置することを許容するか否かを判定する判定部を含む。判定部は、高さの差が判定範囲内である時に、1つの第1のワークおよび他の第1のワークの両方のワークに支持されるように第2のワークを配置することを許容する。判定部は、高さの差が判定範囲を逸脱する時に、1つの第1のワークおよび他の第1のワークの両方のワークに支持されるように第2のワークを配置することを禁止する。判定部は、第2のワークの下面と第2のワークを支持するように配置された第1のワークの上面とが対向する面積が、第2のワークの下面の面積に予め定められた割合を乗じた面積より大きいか否かを判定し、第2のワークの下面と第2のワークを支持するように配置された第1のワークの上面とが対向する面積が、第2のワークの下面の面積に予め定められた割合を乗じた面積より大きい場合に、第1のワークの上側に第2のワークを配置することを許容する。判定部は、第2のワークの下面を分割した複数の領域を設定し、第1のワークに対向する領域の個数が予め定められた判定値以上の場合に、第1のワークの上側に第2のワークを配置することを許容する。
本開示の第2の態様は、複数の第1のワークの上側に第2のワークを積み上げる位置を設定する位置設定装置である。位置設定装置は、第2のワークの形状を検出するためのセンサーを備える。位置設定装置は、センサーの出力に基づいて、第2のワークの形状を検出する形状検出部と、複数の第1のワークの形状および位置を取得する取得部とを備える。位置設定装置は、複数の第1のワークの上側に第2のワークを配置することが許容される位置を探索する探索部を備える。第1のワークおよび第2のワークのそれぞれのワークは、上面および下面を有する。1つの第1のワークの上面と他の第1のワークの上面との高さの差の判定範囲が予め定められている。探索部は、1つの第1のワークの上面の高さと他の第1のワークの上面の高さとが異なる場合に、1つの第1のワークおよび他の第1のワークの両方のワークに支持されるように第2のワークを配置することを許容するか否かを判定する判定部を含む。判定部は、高さの差が判定範囲内である時に、1つの第1のワークおよび他の第1のワークの両方のワークに支持されるように第2のワークを配置することを許容する。判定部は、高さの差が判定範囲を逸脱する時に、1つの第1のワークおよび他の第1のワークの両方のワークに支持されるように第2のワークを配置することを禁止する。判定部は、第2のワークの下面と第2のワークを支持するように配置された第1のワークの上面とが対向する面積が、第2のワークの下面の面積に予め定められた割合を乗じた面積より大きいか否かを判定し、第2のワークの下面と第2のワークを支持するように配置された第1のワークの上面とが対向する面積が、第2のワークの下面の面積に予め定められた割合を乗じた面積より大きい場合に、第1のワークの上側に第2のワークを配置することを許容する。判定部は、第2のワークの下面を分割した複数の領域を設定し、第2のワークの下面の外周部に配置された複数の領域のうち予め定められた領域が第1のワークに対向しており、更に、第2のワークを支持するように配置された第1のワークが第2のワークの下面の形状の重心を取り囲むように配置されている場合に、第1のワークの上側に第2のワークを配置することを許容する。
本開示の第3の態様は、複数の第1のワークの上側に第2のワークを積み上げる位置を設定する位置設定装置である。位置設定装置は、第2のワークの形状を検出するためのセンサーを備える。位置設定装置は、センサーの出力に基づいて、第2のワークの形状を検出する形状検出部と、複数の第1のワークの形状および位置を取得する取得部とを備える。位置設定装置は、複数の第1のワークの上側に第2のワークを配置することが許容される位置を探索する探索部を備える。第1のワークおよび第2のワークのそれぞれのワークは、上面および下面を有する。1つの第1のワークの上面と他の第1のワークの上面との高さの差の判定範囲が予め定められている。探索部は、1つの第1のワークの上面の高さと他の第1のワークの上面の高さとが異なる場合に、1つの第1のワークおよび他の第1のワークの両方のワークに支持されるように第2のワークを配置することを許容するか否かを判定する判定部を含む。判定部は、高さの差が判定範囲内である時に、1つの第1のワークおよび他の第1のワークの両方のワークに支持されるように第2のワークを配置することを許容する。判定部は、高さの差が判定範囲を逸脱する時に、1つの第1のワークおよび他の第1のワークの両方のワークに支持されるように第2のワークを配置することを禁止する。判定部は、第2のワークの下面と第2のワークを支持するように配置された第1のワークの上面とが対向する面積が、第2のワークの下面の面積に予め定められた割合を乗じた面積より大きいか否かを判定し、第2のワークの下面と第2のワークを支持するように配置された第1のワークの上面とが対向する面積が、第2のワークの下面の面積に予め定められた割合を乗じた面積より大きい場合に、第1のワークの上側に第2のワークを配置することを許容する。探索部は、第1のワークの上側の複数の位置に対して第2のワークの配置が許容される場合に、第2のワークが配置される位置を選択する選定部を含む。選定部は、1番目の優先度を有する第1の条件に従って、第2のワークを配置する位置を選定する。第1の条件を満たす第2のワークを配置する複数の位置が存在する場合に、選定部は、2番目の優先度を有する第2の条件に従って第2のワークを配置する位置を選定する。
本開示の第4の態様は、前述の位置設定装置を備えるロボット装置である。ロボット装置は、第2のワークを把持する作業ツールと、作業ツールを移動するロボットと、作業ツールおよびロボットを制御する制御装置とを備える。制御装置は、センサーの出力に基づいて第2のワークの位置および姿勢を検出する。制御装置は、第2のワークの位置および姿勢に基づいて第2のワークを把持するようにロボットを駆動する。制御装置は、位置設定装置により設定された第2のワークを配置する位置に第2のワークを搬送するようにロボットを駆動する。
本開示の態様によれば、複数の第1のワークの上側に第2のワークを積み上げる位置を設定する位置設定装置を提供することができる。
実施の形態におけるロボット装置の斜視図である。 ロボット装置のブロック図である。 容器に1段目のワークを配置した時の容器およびワークの斜視図である。 容器に1段目のワークを配置する制御の第1の工程を説明する容器の平面図である。 容器に1段目のワークを配置する制御の第2の工程を説明する容器の平面図である。 容器に1段目のワークを配置する制御の第3の工程を説明する容器の平面図である。 容器に1段目のワークを配置する制御の第4の工程を説明する容器の平面図である。 第2のワークの積み上げが許容される例を説明する第1のワークおよび第2のワークの側面図である。 第2のワークの積み上げが許容される例を説明する第1のワークおよび第2のワークの側面図である。 第2のワークの積み上げが禁止される例を説明する第1のワークおよび第2のワークの側面図である。 第1のワークの上側に第2のワークを配置したときの第1のワークおよび第2のワークの側面図である。 第1のワークの上側に第2のワークを配置することが許容される例の側面図である。 第1のワークの上側に第2のワークを配置することが禁止される例の側面図である。 第1のワークの上側に第2のワークを配置した時の第1のワークおよび第2のワークの斜視図である。 第2のワークの積み上げが許容される時の第1のワークが対向する領域を説明する平面図である。 第2のワークの積み上げが禁止される時の第1のワークが対向する領域を説明する平面図である。 第2のワークの積み上げが許容される時の第1のワークが対向する領域を説明する平面図である。 第2のワークの積み上げが許容される時の第1のワークが対向する領域を説明する平面図である。 第2のワークの積み上げが許容される時の第1のワークが対向する領域を説明する平面図である。 容器に2段目のワークを配置する制御の第1の工程を説明するワークおよび容器の平面図である。 容器に2段目のワークを配置する制御の第2の工程を説明するワークおよび容器の平面図である。 容器に2段目のワークを配置する制御の第3の工程を説明するワークおよび容器の平面図である。 容器に2段目のワークを配置する制御の第4の工程を説明するワークおよび容器の平面図である。 第1のワークの上側に第2のワークを配置したときの容器およびワークの斜視図である。 容器に2段目のワークを配置する制御の第5の工程を説明するワークおよび容器の平面図である。 容器に2段目のワークを配置する制御の第6の工程を説明するワークおよび容器の平面図である。 容器に2段目のワークを配置する制御の第7の工程を説明するワークおよび容器の平面図である。 ワークの寸法に対して余裕幅を付加した時のワークの平面図である。 実施の形態における他のワークの斜視図である。
図1から図29を参照して、実施の形態における位置設定装置および位置設定装置を備えるロボット装置について説明する。本実施の形態の位置設定装置は、容器に対してワークを配置する位置を設定する。特に、位置設定装置は、容器に配置された複数の第1のワークの上側に第2のワークを積み上げる位置を設定する。ロボット装置は、容器において位置設定装置にて設定された位置にワークを搬送する。
図1は、本実施の形態におけるロボット装置の斜視図である。図2は、本実施の形態におけるロボット装置のブロック図である。図1および図2を参照して、ロボット装置3は、架台78の天板79の上面に配置されているワーク69を容器60に配置する。本実施の形態のワーク69は、直方体の箱である。容器60は、ワーク69を下側から支持する支持部材として機能する。本実施の形態の容器60は、箱の形状を有し、上部が開口している。ワーク69の支持部材としては、容器60に限られず、ワークを支持する任意の部材を採用することができる。例えば、支持部材としてワーク69を搬送するためのパレットを採用することができる。
ロボット装置3は、ワーク69を把持する作業ツールとしてのハンド5と、ハンド5を移動するロボット1とを備える。ロボット装置3は、ロボット1およびハンド5を制御する制御装置2を備える。本実施の形態のハンド5は、ワーク69の上面を吸着により把持する吸着ハンドである。ロボット1に取り付けられる作業ツールとしては、この形態に限られない。ロボット装置3がワークを把持することができる任意の作業ツールを採用することができる。例えば、互いに対向する爪部にてワークを挟む作業ツールまたは磁力によりワークを把持する作業ツール等を採用することができる。
本実施の形態のロボット1は、複数の関節部18を含む多関節ロボットである。ロボット1は、上部アーム11と下部アーム12とを含む。下部アーム12は、旋回ベース13に支持されている。旋回ベース13は、ベース14に支持されている。ロボット1は、上部アーム11の端部に連結されているリスト15を含む。リスト15は、ハンド5を固定するフランジ16を含む。ロボットとしては、この形態に限られず、作業ツールを移動可能な任意のロボットを採用することができる。
本実施の形態のロボット装置3には、ロボット1の位置および姿勢が変化した時に不動のワールド座標系81が設定されている。ワールド座標系81は基準座標系とも称される。ワールド座標系81は、原点の位置が固定され、更に、座標軸の向きが固定されている。また、ロボット装置3には、作業ツールの任意の位置に設定された原点を有するツール座標系が設定されている。ツール座標系は、ハンド5と共に位置および姿勢が変化する。例えば、ロボット1の位置は、ツール先端点の位置(例えば、ツール座標系の原点の位置)に対応する。また、ロボット1の姿勢は、ワールド座標系81に対するツール座標系の姿勢に対応する。
本実施の形態のロボット装置3では、制御装置2が位置設定装置として機能する。制御装置2は、ワーク69の形状を検出するためのセンサーを備える。本実施の形態のセンサーは、ワーク69の表面に対応する3次元の測定点の位置情報を生成するための視覚センサー30である。本実施の形態の視覚センサー30は、第1のカメラ31および第2のカメラ32を含むステレオカメラである。また、視覚センサー30は、ワークに向かって縞模様などのパターン光を投影するプロジェクタ33を含む。
視覚センサー30は、ハンド5の基材に固定されている。視覚センサー30は、ロボット1の位置および姿勢の変化に伴って、位置および姿勢が変化する。視覚センサー30は、この形態に限られず、架台78に配置されたワーク69を撮像するように配置することができる。例えば、架台に固定された固定部材に視覚センサー30が固定されていても構わない。
本実施の形態のロボット1は、上部アーム11等の構成部材を駆動するロボット駆動装置21を含む。ロボット駆動装置21は、上部アーム11、下部アーム12、旋回ベース13、およびリスト15を駆動するための複数の駆動モータを含む。ハンド5は、ハンド5を駆動するハンド駆動装置22を含む。本実施の形態のハンド駆動装置22は、空気圧によりハンド5を駆動する。ハンド駆動装置22は、吸着パッドの内部の空間を減圧するためのポンプおよび電磁弁等を含む。
制御装置2は、プロセッサとしてのCPU(Central Processing Unit)を含む演算処理装置(コンピュータ)を備える。演算処理装置は、CPUにバスを介して互いに接続されたRAM(Random Access Memory)およびROM(Read Only Memory)等を有する。本実施の形態のロボット装置3は、動作プログラム41に基づいてワーク69を自動的に搬送する。ロボット駆動装置21およびハンド駆動装置22は、制御装置2により制御されている。
制御装置2は、ロボット装置3の制御に関する情報を記憶する記憶部42を含む。記憶部42は、揮発性メモリ、不揮発性メモリ、またはハードディスク等の情報を記憶可能な記憶媒体にて構成されることができる。制御装置2には、ロボット1の動作を行うために予め作成された動作プログラム41が入力される。動作プログラム41は、記憶部42に記憶される。
制御装置2は、動作指令を送出する動作制御部43を含む。動作制御部43は、動作プログラム41に基づいてロボット1を駆動するための動作指令をロボット駆動部44に送出する。ロボット駆動部44は、駆動モータを駆動する電気回路を含む。ロボット駆動部44は、動作指令に基づいてロボット駆動装置21に電気を供給する。また、動作制御部43は、ハンド駆動装置22を駆動する動作指令をハンド駆動部45に送出する。ハンド駆動部45は、ポンプ等を駆動する電気回路を含む。ハンド駆動部45は、動作指令に基づいてポンプ等に電気を供給する。
動作制御部43は、動作プログラム41に従って駆動するプロセッサに相当する。プロセッサが動作プログラム41を読み込んで、動作プログラム41に定められた制御を実施することにより、動作制御部43として機能する。
ロボット1は、ロボット1の位置および姿勢を検出するための状態検出器を含む。本実施の形態における状態検出器は、ロボット駆動装置21の各駆動軸の駆動モータに取り付けられた位置検出器23を含む。位置検出器23の出力により、ロボット1の位置および姿勢が検出される。状態検出器としては、駆動モータに取り付けられた位置検出器に限られず、ロボット1の位置および姿勢の検出が可能な任意の検出器を採用することができる。
制御装置2は、作業者がロボット装置3を操作する操作盤としての教示操作盤49を含む。教示操作盤49は、ロボット1、ハンド5、および視覚センサー30に関する情報を入力する入力部49aを含む。入力部49aは、キーボードおよびダイヤルなどの部材により構成されている。教示操作盤49は、ロボット装置3の制御に関する情報を表示する表示部49bを含む。表示部49bは、液晶表示パネル等の表示パネルにて構成されている。
制御装置2は、視覚センサー30にてワーク69を撮像して、容器60にワーク69を配置する動作指令を生成する処理部51を含む。処理部51は、視覚センサー30の出力に基づいて、容器60に搬送するワーク69の形状を検出する形状検出部52を含む。処理部51は、容器60に配置されたワーク69の形状および位置を取得する取得部53を含む。処理部51は、容器60に配置されたワーク69の位置に基づいて、ロボット1にて搬送されるワーク69を配置する位置を探索する探索部54を含む。探索部54は、容器60において、ロボット1にて搬送されるワーク69を配置する位置が許容されるか否かを判定する判定部55を含む。探索部54は、容器60において、複数の位置にワーク69の配置が許容される場合に、ワーク69が配置される位置を選択する選定部56を含む。
また、処理部51は、視覚センサー30に画像を撮像する指令を送出する撮像制御部57を含む。処理部51は、探索部54にて設定された容器60に対するワーク69を配置する位置に基づいて、ロボット1を駆動する動作指令を生成する動作指令部58を含む。
上記の処理部51は、動作プログラム41に従って駆動するプロセッサに相当する。特に、形状検出部52、取得部53、探索部54、判定部55、および選定部56のそれぞれのユニットは、動作プログラム41に従って駆動するプロセッサに相当する。また、撮像制御部57および動作指令部58は、動作プログラム41に従って駆動するプロセッサに相当する。プロセッサが動作プログラム41を読み込んで、動作プログラム41に定められた制御を実施することにより、それぞれのユニットとして機能する。
処理部51の形状検出部52は、視覚センサー30の出力に基づいてワーク69の形状を検出する。形状検出部52は、2台のカメラ31,32にて撮像された2次元の画像を取得する。形状検出部52は、第1のカメラ31にて撮像された画像および第2のカメラ32にて撮像された画像における特定の部分の視差に基づいて、視覚センサー30から特定の部分までの距離を算出する。
また、形状検出部52は、特定の部分までの距離および2台のカメラ31,32の位置に基づいて、ワーク69の表面に設定される測定点の3次元的な位置を算出することができる。形状検出部52は、ワーク69の表面に設定される測定点の位置情報に基づいて、ワーク69の寸法を含む形状を検出することができる。また、形状検出部52は、ワーク69の位置および姿勢を検出することができる。
なお、ワークの形状を検出するセンサーとしては、ステレオカメラに限られず、ワークの形状を検出することができる任意のセンサーを採用することができる。例えば、ワークの表面の測定点の3次元の位置を検出できるTOF(Time of Flight)カメラ等のセンサーを採用することができる。または、プローブをワークに接触させることにより、ワークの形状を検出可能な接触センサー等を採用しても構わない。
本実施の形態のロボット装置3は、架台78に載置されたワーク69を容器60に配置する制御を実施する。架台78には、作業者または搬送装置等によりワーク69が供給される。ロボット装置3のハンド5がワーク69を把持する前に、ロボット1は、視覚センサー30を架台78に配置されたワーク69の上方に配置する。撮像制御部57は、視覚センサー30に画像を撮像する指令を送出する。視覚センサー30は、ワーク69の画像を撮像する。形状検出部52は、ワーク69の形状とワーク69の位置および姿勢とを検出する。特に、本実施の形態の形状検出部52は、ワーク69を平面視したときの辺の寸法および高さを検出する。
視覚センサー30にはカメラ座標系が設定されている。形状検出部52は、カメラ座標系の座標値にてワーク69の表面に設定された測定点の位置を算出することができる。形状検出部52は、カメラ座標系にて表現されたワーク69の測定点の位置情報を、ロボット1の位置および姿勢に基づいて、ワールド座標系81にて表現されたワーク69の測定点の位置情報に変換することができる。測定点の位置情報に基づいて、ワークの寸法を検出することができる。
架台78の天板79の表面の位置は、予め定めておくことができる。形状検出部52は、天板79の表面の位置とワーク69の上面の位置との差により、ワーク69の高さを検出することができる。形状検出部52は、この形態に限られず、任意の制御にてワークの表面の形状および高さを検出することができる。例えば、ロボットは、視覚センサーの位置および姿勢を変更してワークの斜めの方向から画像を撮像しても構わない。この制御により、平面形状および側面の形状を検出することができる。
本実施の形態において、容器60の内部に配置される全てのワーク69の形状の情報および容器60におけるワーク69の位置は、記憶部42に記憶される。ワーク69の形状の情報には、ワーク69の寸法が含まれる。本実施の形態では、ワーク69の形状の情報には、直方体のワーク69のそれぞれの辺の長さが含まれる。ワーク69の位置としては、例えば、ワーク69の上面の形状の重心位置またはワーク69の立体的な形状の重心の位置を例示することができる。
処理部51の取得部53は、容器60に既に配置されているワーク69の形状および位置の情報を取得する。探索部54は、容器60に配置されているワーク69の情報に基づいて、新たにワーク69を配置する位置を設定する。動作指令部58は、架台78に載置されているワーク69の位置および姿勢に基づいて、ワーク69を把持するようにロボット1を駆動する指令を動作制御部43に送出する。動作指令部58は、探索部54にて設定された位置にワーク69を搬送するようにロボット1を駆動する指令を動作制御部43に送出する。動作制御部43は、動作指令部58からの動作指令に基づいてロボット1およびハンド5を駆動して、ワーク69を架台78から容器60に搬送する。
なお、本実施の形態では、架台78の天板79における容器60の位置は、予め定められている。容器60の底面の位置および形状と、容器60の壁面の位置および形状とは予め定められている。すなわち、容器60に対して複数のワーク69を配置する配置領域は予め定められている。しかしながら、容器60を天板79に載置する時に容器60の位置が僅かにずれる場合がある。本実施の形態のロボット装置3は、容器60を天板79の上に載置した後に、視覚センサー30にて容器60の画像を撮像することができる。そして、容器60の位置を検出し、容器60の底面の位置および形状および壁面の位置および形状を補正しても構わない。すなわち、ワーク69を配置する配置領域を補正しても構わない。
本実施の形態では、容器60に配置するワーク69の大きさ、ワーク69の個数、およびワーク69を積み上げる順序が定められていない。ロボット装置3は、複数の種類のワーク69を容器60に配置する。本実施の形態のワーク69は、互いに平行な上面および下面を有する。複数のワーク69は、互いに大きさが異なる。すなわち、それぞれのワーク69は、上面および下面の寸法および高さが異なる。なお、同一の大きさのワーク69が含まれていても構わない。
以降の説明においては、処理部51が容器60に対してワークを配置する位置を設定する制御について説明する。本実施の形態では、架台78に搬送された1個のワーク69ごとに容器60に配置する位置を探索する。探索部54がワークを配置する位置を探索する前には、視覚センサー30にて架台78に配置されているワーク69を撮像する。形状検出部52は、ワーク69の形状と位置および姿勢とを検出する。取得部53は、容器60に配置されているワーク69の形状の情報および容器60における位置の情報を記憶部42から取得する。探索部54がワーク69を配置する位置を決定した後には、記憶部42は、容器60に配置されるワーク69の形状および容器60におけるワーク69の位置を記憶する。ロボット装置3は、ハンド5にて架台78に配置されたワーク69を把持する。ロボット装置3は、探索部54にて定められた位置にワーク69を配置する。これらの制御は、1個のワーク69を容器60に配置するごとに実施することができる。
図3に、容器において1段目のワークの配置が完了をしたときのワークおよび容器の斜視図を示す。容器60の内部に1段目のワーク61a~61eが配置されている。容器60の内部には、複数の段にてワークが配置される。すなわち、容器60の内部においてワークを積み上げる作業を実施する。本実施の形態では、容器60に配置される複数の段のワークについて、下側に配置されるワークを第1のワークと称し、第1のワークの上側に積み上げるワークを第2のワークと称する。第1のワークは下側ワークであり、第2のワークは上側ワークである。ここでの例では、ワーク61a~61eは、第1のワークに相当する。
図4に、容器の内部に1段目のワークを配置する第1の工程を説明する容器の平面図を示す。容器60は、底面60aと、底面60aから立設する壁面60b~60eとを含む。1段目のワークは、容器60の底面60aに載置される。容器60には、ワーク座標系82が設定されている。ワーク座標系82は、容器60に固定される座標系である。本実施の形態のワーク座標系82の原点は、底面60aの角に配置されている。処理部51の探索部54は、第1のワーク61a~61eを底面60aに配置する位置を設定する。
始めに、探索部54は、第1のワーク61bを配置する位置を探索する。1個目のワーク61bを容器60に配置する場合には、容器60の内部にはワークが配置されていない。このために、取得部53は、容器60の形状および位置の情報を取得する。本実施の形態においては、容器60の底面60aの角に、基準となる基点70が予め設定されている。基点70は、壁面60b,60cと底面60aとが接する位置に設定されている。基点70は、ワークを移動するためのロボット1の動作が少なくなる位置に設定されることが好ましい。
また、ワーク61bの下面の角には、基点71が予め設定されている。探索部54は、基点70に対して基点71が重なるようにワーク61bを配置する。なお、図においては、基点同士が重なる場合には、一方の基点を僅かにずらした位置に記載している。判定部55は、ワーク61bが他のワークまたは容器60と干渉が生じるか否かを判定する。判定部55は、ワーク61bが他のワークまたは容器60と干渉しないと判定する。そして、探索部54は、ワーク61bの位置を決定する。
図5に、容器に1段目のワークを配置する制御の第2の工程を説明する容器の平面図を示す。処理部51は、第1のワーク61cを配置する位置を設定する。探索部54は、ワーク61cの基点71を容器60の基点70に重なるように配置する。容器60の内部には既にワーク61bが配置されているために、判定部55は、ワーク61cはワーク61bと干渉すると判定する。
探索部54は、ワーク61cを予め定められた方向に移動する。本実施の形態においては、矢印90に示すように、ワーク座標系82のX軸方向(容器60の短辺に沿う方向)にワーク61cを移動する制御を行う。探索部54は、予め定められた微小距離ずつにワーク61cを移動する。判定部55は、ワーク61cがワーク61bおよび容器60と干渉するか否かを判定する。探索部54は、微小距離ごとの移動と判定とを繰り返す。
図6に、容器に1段目のワークを配置する制御の第3の工程を説明する容器の平面図を示す。ここでの例では、ワーク61cの側面がワーク61bの側面に接する位置までワーク61cが移動した時に、判定部55は、ワーク61cがワーク61bおよび容器60に干渉しないと判定する。判定部55は、その位置にワーク61cを配置することを決定する。
図7に、容器に1段目のワークを配置する制御の第4の工程を説明する容器の平面図を示す。次に、第1のワーク61dを配置する場合に、探索部54は、ワーク61dに設定された基点71が容器60の基点70と重なるようにワーク61dを配置する。判定部55は、この位置では、ワーク61dがワーク61bに干渉すると判定する。
次に、探索部54は、ワーク61dをワーク座標系82のX軸に平行な方向に移動して、干渉が生じるか否かを判定する。この制御を、ワーク61dが壁面60dに干渉するまで繰り返す。ワーク61dの表面が壁面60dに接触する位置まで移動しても、ワーク61dは他のワーク61cに干渉する。このために、探索部54は、基点71が容器60の基点70と重なる位置までワーク61dを戻す。
次に、探索部54は、矢印83に示すように、ワーク座標系82のY軸に平行な方向(容器60の長辺に沿った方向)にワーク61dを移動する。探索部54は、微小距離にてワーク61dを移動する。次に、探索部54は、矢印84に示すようにワーク座標系82のX軸方向に平行な方向にワーク61dを微小距離ずつ移動しながら、ワーク61dが干渉なく配置できる位置を探索する。この移動は、ワーク61dが容器60の壁面60dに干渉するまで実施される。
このように、探索部54は、ワーク座標系82のX軸方向の移動とY軸方向の移動とを繰り返す。探索部54は、ワーク61dが他の物と干渉せずに配置できる位置を、ワーク61dを配置する位置に設定する。ここでの例では、ワーク61dの側面がワーク61bの側面および容器60の壁面60bに接触する位置に、ワーク61dを配置することができる。探索部54は、ワーク61dを配置する位置を決定する。
容器60の底面60aに次の第1のワークを配置するために、第1のワークの位置を設定する制御は、前述の第1のワークの位置を設定する制御と同様である。探索部54は、ワークが壁面60eに干渉する時に、この制御を終了する。
このように、探索部54は、予め定められた方向に微小距離ずつワークを移動して他の物と干渉が生じるか否かを判定することができる。ここでの例では、探索部54は、ワーク座標系82のX軸方向の移動とY軸方向の移動と繰り返して、ワークが配置できるか否かを判定する。この制御により容器60の底面60aに第1のワーク61a~61eを配置する位置を設定することができる。また、容器60の基点70を基準にワークの位置を設定しているために、基点70に近づくように、複数のワークを配置することができる。本実施の形態では、基点70は、ロボット1の駆動量が小さくなる位置に設定されている。このために、第1のワーク61a~61eを搬送する際に、ロボット1の駆動量が小さくなる。この結果、短時間で第1のワーク61a~61eを搬送することができる。
なお、ワークが他の物と干渉しない位置が存在しないと判定された場合に、ワークを予め定められた回転角度にて回転した状態にして、同様の制御を実施しても構わない。本実施の形態においては、ワークの平面形状は長方形である。このために、底面60aに垂直な回転軸の周りにワークを90°回転させた状態にて、上記の制御を実施することができる。例えば、ワーク座標系82のY軸方向にワークを移動しながらワークの干渉を判定した後に、ワークを90°回転させてY軸方向の移動およびワークの干渉の判定を実施しても構わない。
容器60の底面60aにワークを配置する位置を設定する制御は、上記の形態に限られず、任意の制御を実施することができる。例えば、探索部は、容器の底面が露出している領域の角を検出する。そして、探索部は、この角にワークの基点が重なるようにワークを配置して、干渉が生じるか否かを判定しても構わない。
次に、第1のワークの上側に第2のワークを積み上げる制御について説明する。本実施の形態の記憶部42には、容器60に配置された第1のワーク61a~61eの形状の情報および容器60の内部におけるそれぞれの第1のワーク61a~61eの位置の情報が記憶されている。取得部53は、容器60の内部に配置されているワーク61a~61eの情報を、記憶部42から取得する。
図8に、複数の第1のワークの上側に第2のワークを配置することが許容される例を説明する第1のワークおよび第2のワークの側面図を示す。図8に示す例においては、探索部54の判定部55は、下側の第1のワーク63a,63b,63cの上側に、第2のワーク64aを配置することが許容されるか否かを判定する。
本実施の形態においては、様々の高さのワークが存在する。複数のワークを容器60に配置した時に、それぞれのワークの上面の高さが互いに異なる場合がある。判定部55は、第1のワークの上面の高さの差が僅かである場合には、複数の第1のワークの上に第2のワークを配置することを許容する。すなわち、判定部55は、ワークの上面の位置が僅かに異なる場合には、実質的に同一の高さであるとして判定を行う。ワークの上面の高さとしては、例えば、容器60の底面60aからの高さを採用することができる。または、ワークの上面の高さとして、ワールド座標系81における座標値を採用していても構わない。
本実施の形態においては、1つの第1のワークの上面と他の第1のワークの上面との高さの差の判定範囲が予め定められている。判定部55は、1つのワーク63aを基準のワークとして選定し、ワーク63aの上面63aaの位置に対して判定範囲Rを設定する。そして、判定部55は、1つのワーク63aの上面63aaと他のワーク63bの上面63baとの高さの差が判定範囲内である場合に、第1のワーク63aおよび第1のワーク63bの両方のワークに支持されるように、第2のワーク64aを配置することを許容する。すなわち、第1のワーク63bの上面63baが判定範囲Rの内部に配置されている場合に、判定部55は、ワーク63aおよびワーク63bを跨いで第2のワーク64aを配置することを許容する。
一方で、1つの第1のワーク63aに対して他の第1のワーク63cの高さの差が、判定範囲Rを逸脱する場合に、判定部55は、上面63caの高さは、上面63aaの高さと異なると判定する。判定部55は、第1のワーク63aおよび第1のワーク63cの両方のワークに支持されるように第2のワーク64aを配置することを禁止する。または、判定部55は、第1のワーク63cの高さが判定範囲Rより小さい場合に、第2のワーク64aに接触しないと判定する。
図9に、複数の第1のワークの上側に第2のワークを配置することが許容される例を説明する第1のワークおよび第2のワークの側面図を示す。図9に示す例においては、第1のワーク63aと第1のワーク63bとが互いに離れて配置されている。ワーク63aとワーク63bとの間に第1のワーク63cが配置されている。この場合においても、ワーク63bの上面63baは、ワーク63aの上面63aaに関する判定範囲Rの内部に配置されている。このために、判定部55は、上面63baが上面63aaと実質的に同一の高さであるとして判定する。判定部55は、ワーク63aの上面63aaとワーク63bの上面63baとに支持されるように第2のワーク64aを配置することを許容する。
図10に、複数の第1のワークの上側に第2のワークを配置することが禁止される例を説明する第1のワークおよび第2のワークの側面図を示す。図10に示す例においては、判定部55は、第1のワーク63a,63c,63dの上側に第2のワーク64aを配置できるか否かを判定する。ワーク63dの上面63daは、ワーク63aの上面63aaに関する判定範囲Rを逸脱した位置に配置されている。このため、判定部55は、第1のワーク63aおよび第1のワーク63dに支持されるように、第2のワーク64aが配置されることを禁止する。ここでの例では、ワーク63dの上面63daは、判定範囲Rの上限よりも高い位置に配置されている。このために、判定部55は、第2のワーク64aを第1のワーク63aの上面63aaに配置したときに、第2のワーク64aが第1のワーク63dに干渉すると判定する。
図11に、第2のワークを複数の第1のワークの上側に実際に配置したときの側面図を示す。図11は、図8に示す複数の第1のワーク63a,63b,63cの上側に第2のワーク64aを配置したときの側面図である。上面63aaと上面63baとは僅かに高さが異なる。このために、第2のワーク64aを配置したときに、第2のワーク64aが僅かに傾く場合がある。本実施の形態における制御では、この僅かな傾きを許容する。この場合においても、探索部54は、図8に示すように、第2のワーク64aは傾いていないとして計算を実施する。すなわち、探索部54は、ワーク64aの上面に他のワークを配置する制御においても、ワーク63aの上面63aaの全体は、ワーク64aの下面に接触していると仮定して計算を実施する。探索部54は、それぞれのワークの上面および下面が容器の底面に平行であると仮定して計算を実施する。
ワークの上面の高さの差に関する判定範囲は、ワークの荷崩れが生じないように、小さく設定されることが好ましい。判定範囲は、ワークの形状、大きさ、および重さ等に依存する。判定範囲は、例えば基準となるワークの上面の位置に対して、±5mmの範囲を設定することができる。
このように、本実施の形態の判定部55は、複数の第1のワークの上側に第2のワークを安定して配置するために、第1のワークの上面の高さ方向の位置の判定を実施する。更に、判定部55は、ワークの上面の高さ方向の位置の判定に加えて、第2のワークが第1のワークに対向する領域の大きさおよび位置の判定を実施する。
図12に、第1のワークの上側に第2のワークを配置することが許容される例を示す。判定部55は、第1のワーク63gの上側に第2のワーク64aを配置できるか否かを判定する。第1のワークの上面の表面積が第2のワークの下面の表面積よりも小さい場合に、第2のワークを第1のワークの上側に配置すると第2のワークが不安定になる場合が有る。図12に示す例では、ワーク63cの上面63caの位置は、ワーク63gの上面63gaに関する判定範囲Rを逸脱している。従って、第2のワーク64aがワーク63cに支持されるように配置されることは禁止される。一方で、ワーク63gの上面63gaとワーク64aの下面64aaとが対向する面積が大きい。換言すると、上面63gaと下面64aaとが接触する面積が大きい。この場合に、判定部55は、第2のワーク64aを第1のワーク63gの上面に配置することを許容する。
図13に、第1のワークの上側に第2のワークを配置することが禁止される例を示す。第1のワーク63fの上面63faの位置は、第1のワーク63aの上面63aaに関する判定範囲Rを逸脱している。一方で、第1のワーク63eの上面63eaの位置は、第1のワーク63aの上面63aaに関する判定範囲R内に配置されている。判定部55は、上面63eaは上面63aaと実質的に同一の高さであるとして判定する。しかしながら、上面63aaの面積と上面63eaの面積とを加算しても、第2のワーク64aが第1のワーク63a,63eに対向する面積は小さくなる。このために、第1のワーク63a,63eの上面に第2のワーク64aを配置すると、ワーク64aは不安定になる。判定部55は、このような場合に、第2のワーク64aを第1のワーク63a,63eの上側に配置することを禁止する。
判定部55は、第2のワークの下面と第2のワークを支持するように配置される第1のワークの上面とが対向する面積が、第2のワークの下面の面積に予め定められた割合を乗じた面積よりも大きい場合に、第1のワークの上側に第2のワークを配置することを許容する。一方で、第1のワークの上面と第2のワークの下面とが対向する面積が、第2のワークの下面の面積に予め定められた割合を乗じた面積以下の場合に、第1のワークの上側に第2のワークを配置することを禁止する。
次に、第1のワークの上面と第2のワークの下面とが対向する面積および第1のワークの上面と第2のワークの下面とが対向する位置を判定する制御について、より詳しく説明する。
図14に、第1のワークの上側に第2のワークが載置されている例の斜視図を示す。図15に、第1のワークおよび第2のワークの平面図を示す。図14および図15を参照して、第1のワーク63hの上側に第2のワーク64aが配置されている。第1のワーク63hの上面63haの面積は、第2のワーク64aの下面64aaの面積よりも小さい。
本実施の形態の判定部55は、第2のワーク64aの下面64aaを分割した複数の領域75を設定する。ここでの例では、領域75は、長方形にて形成されている。また、判定部55は、第2のワーク64aの下面64aaを等分に分割している。判定部55は、第1のワーク63hに対向する領域75の個数が、予め定められた判定値以上の場合に、第1のワーク63hの上面63haが第2のワーク64aの下面64aaに充分な大きさの面積にて対向していると判定する。判定部55は、第1のワーク63hの上側に第2のワーク64aを配置することを許容する。
本実施の形態では、領域75の少なくとも一部分が第1のワーク63hの上面63haに対向している場合に、その領域75は、第1のワーク63hに対向していると判定する。図15に示す第2のワーク64aの位置では、ワーク64aの下面64aaに16個の領域75が設定されている。ここでの領域75の個数の判定値は、領域75の総数の10割である16個に設定されている。すなわち、全ての領域75が第1のワーク63hに対向しているときに、第2のワーク64aを配置することが許容される。ここでの例では、全ての領域75が第1のワーク63hに対向している。このために、判定部55は、図15に示す位置に第2のワーク64aを配置することを許容する。
図16に、第1のワークの上側に第2のワークを配置することが禁止される例を示す。図16に示す第2のワーク64aの位置では、第1のワーク63hの上面63haに対向する領域75の個数は、判定値未満の12個である。このために、判定部55は、第2のワーク64aが第1のワーク63hに対向する面積が小さいと判定する。判定部55、第1のワーク63hの上側に第2のワーク64aを配置することを禁止する。
なお、判定部は、任意の方法にて第2のワークの下面を分割して分割領域を設定することができる。例えば、判定部は、任意の個数の領域に下面を分割することができる。また、領域の形状は、三角形および六角形等の任意の形状を採用することができる。また、判定部55は、それぞれの領域75の全体が第1のワークに対向している場合に、その領域75が第1のワークに対向していると判定しても構わない。
図17に、第1のワークの上側に第2のワークを配置することが許容される例を示す。判定部55は、第1のワーク63i,63j,63kの上側に、第2のワーク64aを配置することが許容されるか否かを判定する。第1のワーク63i,63j,63kは、互いに離れて配置されている。第1のワーク63i,63j,63kの上面の高さの差は、判定範囲R内である。ここでの例では、16個の領域75のうち、8割以上の個数(13個以上)の領域75が第1のワーク63i,63j,63kに対向している場合に、第2のワーク64aを配置することが許容される。図17に示す第2のワーク64aの位置では、13個の領域75が第1のワーク63i,63j,63kに対向している。このために、第1のワーク63i,63j,63kの上側に第2のワーク64aが配置されることが許容される。
次に、本実施の形態の判定部55は、第1のワークの上面に対向する第2のワークの下面の領域の位置を検出する。判定部55は、この領域の位置に基づいて、第2のワークを配置することを許容するか否かを判定する。
図18に、第1のワークの上側に第2のワークを配置することが許容される例を示す。第1のワークの上面に対向する第2のワークの下面の面積が小さい場合においても、安定して第2のワークを配置できる場合が有る。図18に示す例では、複数の第1のワーク63l,63m,63n,63oの上側に第2のワーク64aを配置する。第1のワーク63l,63m,63n,63oの上面の高さの差は判定範囲R内である。
第2のワーク64aの下面の形状の重心64axの位置を取り囲むように、第2のワーク64aを支持するように第1のワーク63l,63m,63n,63oが配置されている。この場合に、判定部55は、第1のワーク63l,63m,63n,63oの上側に第2のワーク64aを配置することを許容する。特に、判定部55は、重心64axを囲むように3個以上の領域75が第1のワーク63l,63m,63n,63oに対向する場合に、第2のワーク64aをこの位置に配置することを許容する。
図18に示す例においては、第2のワーク64aの下面に設定された複数の領域75のうち、4個の角の領域75が、ワーク63l,63m,63n,63oに対向している。4個の角の領域75は、重心64axの周りに重心64axを囲むように配置されている。判定部55は、第2のワーク64aを、この位置に配置することを許容する。
または、判定部55は、第2のワークの下面に設定された複数の領域75のうち、予め定められた位置の領域75が第1のワークと対向する場合に、第2のワークを配置することを許容しても構わない。例えば、第2のワークの外周部に配置された複数の領域75のうち予め定められた一部の領域75が第1のワークに対向する場合に、第2のワークを配置することを許容しても構わない。図18に示す例においては、第2のワーク64aの下面の角に配置された4個の領域75を予め指定することができる。これらの4個の領域75が第1のワーク63l,63m,63n,63oに対向する場合に、判定部55は、第2のワーク64aをこの位置に配置することを許容することができる。
図19に、第1のワークの上側に第2のワークが配置されることが許容される例を示す。第1のワーク63p,63q,63rの上面の高さの差は、判定範囲R内である。この例では、第2のワーク64aの下面が第1のワーク63p,63q,63rに対向する領域75の個数の判定値として、10個が定められている。更に、第1のワーク63p,63q,63rに対向する必要が有る領域として、第2のワーク64aの下面の角部に配置された4個の領域75が指定されている。図19に示す例では、これらの2つの条件が満たされているために、判定部55は、第1のワーク63p,63q,63rの上側に第2のワーク64aを配置することを許容する。
このように、判定部55は、第2のワークが第1のワークに対向する領域の面積に基づく判定および第2のワークが第1のワークに対向する位置に基づく判定のうち、少なくとも一方の判定を実施することができる。この制御を実施することにより、第1のワークの上側に第2のワークを配置した時に、第2のワークを安定して配置できるか否かを判定することができる。特に、これらの判定を組み合わせて実施しても構わない。また、第2のワークの下面を分割した領域を設定することにより、ワークが互いに対向する面積に基づく判定を簡易な計算にて行うことができる。
図20に、第1のワークの上側に第2のワークを配置する制御の第1の工程を説明するワークおよび容器の平面図を示す。次に、図3に示す1段目のワークの上側に2段目のワークを配置する具体的な例について説明する。探索部54は、容器60の底面60aにワークを配置する位置が存在しないと判定した場合に、既に容器60の内部に配置されている第1のワーク61a~61eの上側に第2のワークを積み上げることを検討する。始めに第2のワーク62aを第1のワーク61a~61eの上側に配置する位置を設定する。
本実施の形態では、探索部54は、第2のワーク62aを配置する一つの位置を定める。判定部55は、一つの位置に第2のワーク62aを配置することが許容されるか否かを判定する。判定部55は、複数の第1のワークの上面の高さの差の判定を実施する。また、判定部55は、第2のワークが第1のワークに対向する領域の面積に基づく判定および第2のワークが第1のワークに対向する位置に基づく判定を実施する。また、判定部55は、第2のワーク62aが容器60と干渉するか否かを判定する。更に、判定部55は、他の第2のワークが配置されている時に、他の第2のワークと干渉するか否かを判定する。判定部55による判定結果は、第2のワークの位置と共に記憶部42に記憶される。
次に、探索部54は、第2のワーク62aを予め定められた方向に微小距離にて次の位置に移動する。そして、判定部55は、次の位置に第2のワーク62aを配置することが許容されるか否かを判定する。探索部54は、容器60の壁面60b~60eに囲まれる領域の内部において、第2のワーク62aの移動と判定とを繰り返す。複数の位置にワーク62aを配置することができる場合に、選定部56は、予め定められた条件に従って第2のワーク62aを配置する位置を選定する。
より具体的には、取得部53は、容器60の内部に配置されているワーク61a~61eの形状の情報および位置の情報を記憶部42から取得する。探索部54は、ワーク61a~61eの情報に基づいて、上面が露出しているワークを検出する。すなわち、複数の段にてワークが積まれている場合に、最も上側に配置されているワークを検出する。ここでの例では、1段目のワーク61a~61eが、上面が露出しているワークに相当する。探索部54は、ワーク61a~61eを第1のワークに設定する。第2のワーク62aの下面において、角には基点71が設定されている。また、容器60の基点70は、底面60aから第1のワーク61bの上面に移動している。
図21に、第1のワークの上側に第2のワークを配置する制御の第2の工程を説明するワークおよび容器の平面図を示す。探索部54は、基点70に対して基点71が重なるように第2のワーク62aを配置する。判定部55は、第1のワーク61b,61dの上側に、第2のワーク62aを配置することが許容されるか否かを判定する。ここでの例では、第1のワーク61bの上面と第1のワーク61dの上面との高さの差は判定範囲Rを逸脱する。また、第2のワーク62aの下面と第2のワーク62aを支持する第1のワーク61dの上面とが対向する面積は、予め定められた面積よりも小さい。このために、判定部55は、この位置に第2のワーク62aを配置することを禁止する。記憶部42は、第2のワーク62aの位置と判定結果とを記憶する。
次に、探索部54は、ワーク62aを予め定められた方向に移動する。本実施の形態の探索部54は、1段目のワークの位置を探索する制御と同様に、ワーク62aを移動する。本実施の形態においては、ワーク62aをワーク座標系82のX軸方向に移動した後に、Y軸方向に移動する。探索部54は、矢印90に示すように、ワーク座標系82のX軸方向にワーク62aを予め定められた微小距離にて移動する。判定部55は、その位置において、ワーク62aの配置が許容されるか否かを判定する。探索部54は、ワーク62aが容器60の壁面60dに干渉するまで、X軸方向への移動とワーク62aの配置の判定とを繰り返す。記憶部42は、第2のワーク62aのそれぞれの位置を判定結果と共に記憶する。
図22に、第1のワークの上側に第2のワークを配置する制御の第3の工程を説明するワークおよび容器の平面図を示す。次に、探索部54は、矢印83に示すように、基点71が基点70と重なる位置からY軸方向に第2のワーク62aを移動する。探索部54は微小距離にて第2のワーク62aを移動する。判定部55は、その位置にてワーク62aの配置が許容されるか否かを判定する。次に、探索部54は、矢印84に示すように、X軸方向に第2のワーク62aを微小距離ずつ移動しながらワーク62aの配置が許容されるか否かを判定する。探索部54は、第2のワーク62aが壁面60dに干渉するまで、X軸方向への移動と配置の判定とを繰り返す。記憶部42は、第2のワーク62aのそれぞれの位置を判定結果と共に記憶する。
第2のワーク62aのY軸方向への移動は、第2のワーク62aが容器60の壁面60eに干渉するまで実施される。このように、X軸方向の移動とY軸方向の移動とを繰り返すとともに、第2のワーク62aを配置することが許容されるか否かを判定する判定制御を実施する。ここでの例では、第2のワーク62aの平面形状の長辺が壁面60bと平行になる第2のワーク62aの向きでは、第2のワーク62aを第1のワーク61a~61eの上側に配置することは禁止される。
図23に、第1のワークの上側に第2のワークを配置する制御の第4の工程を説明するワークおよび容器の平面図を示す。次に、探索部54は、第2のワーク62aの向きを変更するように、第2のワーク62aを予め定められた回転角度にて回転する。本実施の形態では、容器60の底面60aに垂直に延びる回転軸の周りに第2のワーク62aの位置を90°回転させる。そして、探索部54は、第2のワーク62aの角が基点70に重なるように第2のワーク62aを配置する。
ここでの例では、第1のワーク61bの上面の高さと第1のワーク61cの上面の高さとの差は判定範囲R内である。判定部55は、第1のワーク61bと第1のワーク61cとに支持されるように第2のワーク62aを配置することを許容する。更に、第2のワーク62aの下面と第1のワーク61b,61cが対向する面積は、予め定められた面積よりも大きい。このために、判定部55は、この位置にワーク62aを配置することを許容する。記憶部42は、ワーク62aの位置と判定結果とを記憶する。
次に、探索部54は、矢印90に示すように、ワーク座標系82のX軸方向の移動を繰り返すとともに、第2のワーク62aを配置することが許容されるか否かを判定する判定制御を実施する。また、探索部54は、矢印83,84に示すように、Y軸方向およびX軸方向の移動を繰り返すと共に、第2のワーク62aを配置することが許容されるか否かを判定する判定制御を実施する。記憶部42は、ワーク62aの全ての位置と判定結果とを記憶する。
本実施の形態の第1のワークの上側に第2のワークを配置する位置を探索する制御を実施すると、探索部54は、第2のワークを配置できる複数の位置を検出する場合が有る。図2を参照して、本実施の形態の探索部54は、第2のワークを配置する位置を選定する選定部56を有する。選定部56は、予め定められた優先度を有する複数の条件に従って、第2のワークを配置する位置を設定する。選定部56は、1番目の優先度を有する第1の条件に従って、第2のワークを配置する位置を選定する。第1の条件を満たす第2のワークを配置する複数の位置が存在する場合に、選定部56は、2番目の優先度を有する第2の条件に従って、第2のワークを配置する位置を選定する。ここでの例では、第1の条件として、第2のワークを支持する第1のワークの高さが最も低いことが定められている。第2の条件としては、第2のワークの基点が容器の基点に最も近いことが定められている。
選定部56は、記憶部42から第2のワークの配置が許容される複数の位置を取得する。選定部56は、第1の条件に従って、第2のワークの配置が許容される複数の位置のうち、上面の高さが最も低い第1のワークに対向している第2のワークの位置を選定する。選定部56は、それぞれの第1のワーク61a~61eの上面の高さ方向における位置の順序を設定する。探索部54は、上面の高さが低い順に順序を設定する。図3を参照して、ここでの例では、ワーク61a、ワーク61c、ワーク61b、ワーク61d、およびワーク61eの順序が設定される。
図23を参照して、第2のワーク62aは、第2のワーク62aの平面形状の短辺が壁面60bに平行になる向きにおいて、ワーク61b,61cに対向する位置およびワーク61eに対向する位置に配置することができる。選定部56は、ワーク61b,61c,61eのうち、最も上面の位置の低いワーク61bを選択する。そして、選定部56は、ワーク61b,61cに対向する位置を選定する。ここでの例では、第2のワーク62aが第1のワーク61b,61cに対向して配置することが許容される複数の位置が存在する。
次に、選定部56は、第2の条件に従って、第2のワーク62aの基点71が容器60の基点70に最も近くなる位置を選定する。ここでの例では、第2のワーク62aの角が基点70に重なる位置(図23に示す第2のワーク62aの位置)において、基点70に対する基点71の距離が最も小さくなる。選定部56は、この位置を第2のワーク62aを配置する位置に設定することができる。このように、優先度を有する条件を予め定めておいて、第2のワークを配置する位置を選定することができる。
第2のワークを配置する位置を選定する条件は、3個以上定められていても構わない。例えば、上記以外の第2のワークを配置する位置を選定する条件として、ワークの向きの優先順位を予め定めておくことができる。図21に示すようにワーク62aの平面形状の長辺が容器60の壁面60bに平行になる状態よりも、図23に示すようにワーク62aの平面形状の短辺が容器60の壁面60bに平行になる状態を優先することができる。このように、優先度を有する条件を予め定めておいて、選定部56は、第2のワークを配置する位置を選定することができる。この制御により、作業者の所望の状態に近くなるようにワークを積み上げることができる。
図24に、第1のワークの上側に1個の第2のワークを配置したときの容器およびワークの斜視図を示す。ロボット装置3は、探索部54にて定められた位置にワーク62aを配置する。動作制御部43は、ロボット1およびハンド5を駆動することにより、第2のワーク62aを第1のワーク61bおよび第1のワーク61cの上側に配置する。
図25に、第1のワークの上側に第2のワークを配置する制御の第5の工程を説明するワークおよび容器の平面図を示す。次に、探索部54は、第2のワーク62bを配置する位置を探索する。探索部54は、第2のワーク62aと同様の制御により、第2のワーク62bを配置する位置を設定する制御を実施する。
探索部54は、第2のワーク62bの基点71が容器の基点70と重なるように第2のワーク62bを配置する。第2のワーク62bは、第2のワーク62aに干渉するために、判定部55は、この位置に第2のワーク62bを配置することを禁止する。次に、探索部54は、矢印90に示すようにワーク座標系82のX軸方向に微小距離にて移動する。判定部55は、第2のワーク62bの配置が許容されるか否かを判定する。ワーク62bが容器60の壁面60dに干渉するまで、X軸方向への移動と判定とを繰り返す。次に、探索部54は、矢印83,84に示すように、Y軸方向の移動およびX軸方向の移動を繰り返しながら判定を実施する。Y軸方向への移動は、ワーク62bが容器60の壁面60eに干渉するまで実施される。記憶部42は、ワーク62bの全ての位置と判定結果とを記憶する。
図26に、第1のワークの上側に第2のワークを配置する制御の第6の工程を説明するワークおよび容器の平面図を示す。次に、探索部54は、第2のワーク62bを90°回転させた状態にてワーク62bの配置が許容されるか否かを判定する制御を実施する。探索部54は、ワーク62bの角が基点70に重なるようにワーク62bを配置する。探索部54は、矢印90に示すようにワーク座標系82のX軸方向に徐々にワーク62bを移動して、ワーク62bの配置が許容されるか否かを判定する。更に、探索部54は、矢印83,84に示すように、X軸方向の移動およびY軸方向の移動を行いながらワーク62bの配置が許容されるか否かを判定する。記憶部42は、ワーク62bの全ての位置と判定結果とを記憶する。
図27に、第1のワークの上側に第2のワークを配置する制御の第7の工程を説明するワークおよび容器の平面図を示す。選定部56は、記憶部42から第2のワーク62bの配置が許容される複数の位置を取得する。選定部56は、予め定められた条件に従って第2のワーク62bを配置する位置を選定する。ここでの例では、第2のワーク62bは、第2のワーク62bの短辺が壁面60bに平行な状態において、第1のワーク61b,61cの上面または第1のワーク61eの上面に配置することができる。ここでの例では、予め定められた条件に従って、第2のワーク62bは、第1のワーク61b,61cの上面において、第2のワーク62aと第1のワーク61dとの間の領域に配置されている。
3個目の以降の第2のワークの配置は、第2のワーク62a,62bを配置する制御と同様の制御にて実施することができる。また、第2のワークの配置は、容器60の内部に2段目のワークを配置することができなくなるまで実施する。更に、2段目のワークの配置が完了した後に3段目のワークを配置することができる。3段目のワークを配置する場合には、2段目のワークを配置する制御と同様の制御を実施することができる。この場合には、2段目に配置されているワークが第1のワークとなり、3段目に配置されるワークが第2のワークになる。4段目以降のワークを配置する場合にも、3段目のワークの配置の制御と同様の制御を実施することができる。
本実施の形態では、探索部54は、容器60に干渉しない全ての位置に第2のワーク62aを移動しているが、この形態に限られない。第2のワークを移動する範囲は、予め定めておくことができる。または、第2のワークの配置が許容される1つの位置を検出した場合に、その位置を第2のワークを配置する位置に定めても構わない。
本実施の形態のワークの積み上げを終了する時期は、任意の制御にて判定することができる。例えば、複数のワークの上面のうち最も高い上面の位置が予め定められた判定値を超える場合にワークを積み上げる制御を終了しても構わない。また、容器の開口に蓋を配置する場合がある。この場合には、ワークの上面が容器の壁面の高さを超えると判定した場合に、ワークを積み上げる制御を終了しても構わない。または、パレットにワークを積み上げる場合には、パレットの上側にワークを配置する配置領域を予め設定することができる。ワークの上面が配置領域を超えると判定される場合に、ワークを積み上げる制御を終了しても構わない。または、作業者による教示操作盤の操作等により、ワークを積み上げる制御を終了する指令が入力された場合に、ワークの配置を終了しても構わない。
なお、ロボット装置は、容器の壁面の上端よりも高い領域においても、ワークの積み上げを実施しても構わない。本実施の形態においては、容器の3次元の形状の情報が予め記憶部に記憶されている。このために、容器の壁面の上端よりも高い領域では、壁面よりも側方にワークがはみ出すように、ワークを配置しても構わない。
また、探索部54が、第2のワークを配置する位置を探索した場合に、第1のワークの上側に第2のワークを配置する位置が存在しない場合が有る。すなわち、判定部55が、第1のワークに対する全ての位置に第2のワークを配置することを禁止する場合が有る。この場合に、探索部54は、第2のワークを配置する位置が存在しないという情報を教示操作盤49に送出する。教示操作盤49の表示部49bは、この情報を表示する。作業者は、ワークの積み上げが完了したことを認識することができる。そして、制御装置2は、現在の容器にワークを積み上げる制御を終了する。
本実施の形態の位置設定装置は、容器に配置するワークの位置を自動的に設定することができる。このために、本実施の形態の位置設定装置を備えるロボット装置は、自動的にワークを積み上げる作業を実施することができる。特に、ワークの個数、ワークの大きさ、およびワークを積み上げる順序が定まっていない場合にも、自動的にワークを容器などの支持部材に積み上げることができる。
本実施の形態におけるセンサーは、ワークの立体的な形状が検出可能な3次元センサーである。センサーにてワークの立体的な形状を検出することができるために、予めワークの形状に関する情報を記憶部に記憶させる作業を排除することができる。
例えば、センサーとして、2次元カメラを採用することができる。そして、記憶部に2次元カメラの画像に関する基準画像を記憶させておくことができる。また、記憶部は、基準画像に対応するワークの寸法等の情報を記憶することができる。実際に撮像された画像が最も一致する基準画像を選定して、ワークの3次元の形状を検出することができる。しかしながら、このような制御においては、ワークの基準画像およびワークの寸法等の情報を予め作成する必要がある。視覚センサーとして3次元センサーを採用することにより、このような作業を排除することができる。
図28に、ワークの余裕幅を説明するワークの平面図を示す。探索部54は、ワークを配置する位置を探索する際に、ワーク69の寸法に予め定められた余裕幅MDを加算してワーク69を配置する位置を探索することができる。すなわち、ワーク69の形状の外縁に対して余裕幅MDを加算した形状を用いて、ワークを配置する位置を探索することができる。この場合に、ワーク69の基点73は、余裕幅MDを加算した形状の角に設定することができる。
ロボット1にてワークを搬送するときにワークが僅かに揺れる場合がある。ワークの揺れにより、ワークが他のワークまたは容器と干渉する場合が有る。ワークの大きさに余裕幅を付加することにより、ワークの干渉を抑制することができる。余裕幅MDの大きさは、ワークおよび容器の大きさおよび重さ、またはロボットの性能等に依存する。余裕幅MDの大きさは、例えば、0.5mm以上1mm以下の値を設定することができる。
図29に、本実施の形態の他のワークの斜視図を示す。前述のワークは、直方体であるが、この形態に限られない。上面および下面を有する任意のワークに、本実施の形態の制御を適用することができる。上面および下面は、任意の形状を採用することができる。他のワーク65aは、互いに平行な上面65aaおよび下面65abを有する。上面65aaおよび下面65abは、平面である。上面65aaおよび下面65abの形状は五角形である。さらに、上面65aaの面積と下面65abの面積とは互いに異なる。このようなワークについても、本実施の形態の制御と同様の制御を実施することができる。
また、本実施の形態では、ロボットが位置設定装置にて設定された位置にワークを搬送するが、この形態に限られない。位置設定装置がワークを配置する位置を設定した後に、ロボット以外の装置がワークを搬送しても構わない。または、教示操作盤の表示部がワークを配置する位置を表示し、作業者がワークを表示された位置に配置しても構わない。
上述のそれぞれの制御においては、機能および作用が変更されない範囲において適宜ステップの順序を変更することができる。
上記の実施の形態は、適宜組み合わせることができる。上述のそれぞれの図において、同一または相等する部分には同一の符号を付している。なお、上記の実施の形態は例示であり発明を限定するものではない。また、実施の形態においては、請求の範囲に示される実施の形態の変更が含まれている。
1 ロボット
2 制御装置
3 ロボット装置
5 ハンド
30 視覚センサー
42 記憶部
49 教示操作盤
49b 表示部
52 形状検出部
53 取得部
54 探索部
55 判定部
56 選定部
60 容器
61a,61b,61c,61d,61e 第1のワーク
63a~63r 第1のワーク
63aa,63ba,63ca,63da,63ea,63fa,63ga,63ha 上面
62a,62b,62c 第2のワーク
64a 第2のワーク
64aa 下面
65a ワーク
65aa 上面
65ab 下面
69 ワーク
71,72,73 基点
75 領域

Claims (7)

  1. 複数の第1のワークの上側に第2のワークを積み上げる位置を設定する位置設定装置であって、
    第2のワークの形状を検出するためのセンサーと、
    センサーの出力に基づいて、第2のワークの形状を検出する形状検出部と、
    複数の第1のワークの形状および位置を取得する取得部と、
    複数の第1のワークの上側に第2のワークを配置することが許容される位置を探索する探索部と、を備え、
    第1のワークおよび第2のワークのそれぞれのワークは、上面および下面を有し、
    1つの第1のワークの上面と他の第1のワークの上面との高さの差の判定範囲が予め定められており、
    前記探索部は、1つの第1のワークの上面の高さと他の第1のワークの上面の高さとが異なる場合に、1つの第1のワークおよび他の第1のワークの両方のワークに支持されるように第2のワークを配置することを許容するか否かを判定する判定部を含み、
    前記判定部は、前記高さの差が判定範囲内である時に、1つの第1のワークおよび他の第1のワークの両方のワークに支持されるように第2のワークを配置することを許容し、前記高さの差が判定範囲を逸脱する時に、1つの第1のワークおよび他の第1のワークの両方のワークに支持されるように第2のワークを配置することを禁止し、
    前記判定部は、第2のワークの下面と第2のワークを支持するように配置された第1のワークの上面とが対向する面積が、第2のワークの下面の面積に予め定められた割合を乗じた面積より大きいか否かを判定し、第2のワークの下面と第2のワークを支持するように配置された第1のワークの上面とが対向する面積が、第2のワークの下面の面積に予め定められた割合を乗じた面積より大きい場合に、第1のワークの上側に第2のワークを配置することを許容し、
    前記判定部は、第2のワークの下面を分割した複数の領域を設定し、第1のワークに対向する領域の個数が予め定められた判定値以上の場合に、第1のワークの上側に第2のワークを配置することを許容する、位置設定装置。
  2. 複数の第1のワークの上側に第2のワークを積み上げる位置を設定する位置設定装置であって、
    第2のワークの形状を検出するためのセンサーと、
    センサーの出力に基づいて、第2のワークの形状を検出する形状検出部と、
    複数の第1のワークの形状および位置を取得する取得部と、
    複数の第1のワークの上側に第2のワークを配置することが許容される位置を探索する探索部と、を備え、
    第1のワークおよび第2のワークのそれぞれのワークは、上面および下面を有し、
    1つの第1のワークの上面と他の第1のワークの上面との高さの差の判定範囲が予め定められており、
    前記探索部は、1つの第1のワークの上面の高さと他の第1のワークの上面の高さとが異なる場合に、1つの第1のワークおよび他の第1のワークの両方のワークに支持されるように第2のワークを配置することを許容するか否かを判定する判定部を含み、
    前記判定部は、前記高さの差が判定範囲内である時に、1つの第1のワークおよび他の第1のワークの両方のワークに支持されるように第2のワークを配置することを許容し、前記高さの差が判定範囲を逸脱する時に、1つの第1のワークおよび他の第1のワークの両方のワークに支持されるように第2のワークを配置することを禁止し、
    前記判定部は、第2のワークの下面と第2のワークを支持するように配置された第1のワークの上面とが対向する面積が、第2のワークの下面の面積に予め定められた割合を乗じた面積より大きいか否かを判定し、第2のワークの下面と第2のワークを支持するように配置された第1のワークの上面とが対向する面積が、第2のワークの下面の面積に予め定められた割合を乗じた面積より大きい場合に、第1のワークの上側に第2のワークを配置することを許容し、
    前記判定部は、第2のワークの下面を分割した複数の領域を設定し、第2のワークの下面の外周部に配置された複数の領域のうち予め定められた領域が第1のワークに対向しており、更に、第2のワークを支持するように配置された第1のワークが第2のワークの下面の形状の重心を取り囲むように配置されている場合に、第1のワークの上側に第2のワークを配置することを許容する、位置設定装置
  3. 複数の第1のワークの上側に第2のワークを積み上げる位置を設定する位置設定装置であって、
    第2のワークの形状を検出するためのセンサーと、
    センサーの出力に基づいて、第2のワークの形状を検出する形状検出部と、
    複数の第1のワークの形状および位置を取得する取得部と、
    複数の第1のワークの上側に第2のワークを配置することが許容される位置を探索する探索部と、を備え、
    第1のワークおよび第2のワークのそれぞれのワークは、上面および下面を有し、
    1つの第1のワークの上面と他の第1のワークの上面との高さの差の判定範囲が予め定められており、
    前記探索部は、1つの第1のワークの上面の高さと他の第1のワークの上面の高さとが異なる場合に、1つの第1のワークおよび他の第1のワークの両方のワークに支持されるように第2のワークを配置することを許容するか否かを判定する判定部を含み、
    前記判定部は、前記高さの差が判定範囲内である時に、1つの第1のワークおよび他の第1のワークの両方のワークに支持されるように第2のワークを配置することを許容し、前記高さの差が判定範囲を逸脱する時に、1つの第1のワークおよび他の第1のワークの両方のワークに支持されるように第2のワークを配置することを禁止し、
    前記判定部は、第2のワークの下面と第2のワークを支持するように配置された第1のワークの上面とが対向する面積が、第2のワークの下面の面積に予め定められた割合を乗じた面積より大きいか否かを判定し、第2のワークの下面と第2のワークを支持するように配置された第1のワークの上面とが対向する面積が、第2のワークの下面の面積に予め定められた割合を乗じた面積より大きい場合に、第1のワークの上側に第2のワークを配置することを許容し、
    前記探索部は、第1のワークの上側の複数の位置に対して第2のワークの配置が許容される場合に、第2のワークが配置される位置を選択する選定部を含み、
    前記選定部は、1番目の優先度を有する第1の条件に従って、第2のワークを配置する位置を選定し、
    第1の条件を満たす第2のワークを配置する複数の位置が存在する場合に、前記選定部は、2番目の優先度を有する第2の条件に従って第2のワークを配置する位置を選定する、位置設定装置
  4. 前記センサーは、第1のワークの立体的な形状を検出可能な3次元センサーである、請求項1から3のいずれか一項に記載の位置設定装置。
  5. 第2のワークの配置に関する情報を表示する表示部を備え、
    前記探索部が第1のワークの上側において、第2のワークの配置を許容する位置を検出できない場合に、前記表示部は第2のワークを配置する位置が存在しないことを表示する、請求項1から4のいずれか一項に記載の位置設定装置。
  6. 前記判定部は、第2のワークの寸法に予め定められた余裕幅を加算して、第2のワークの配置が許容されるか否かを判定する、請求項1から5のいずれか一項に記載の位置設定装置。
  7. 請求項1から3のいずれか一項に記載の位置設定装置と、
    第2のワークを把持する作業ツールと、
    前記作業ツールを移動するロボットと、
    前記作業ツールおよび前記ロボットを制御する制御装置と、を備え、
    前記制御装置は、前記センサーの出力に基づいて第2のワークの位置および姿勢を検出し、第2のワークの位置および姿勢に基づいて第2のワークを把持するように前記ロボットを駆動し、前記位置設定装置により設定された第2のワークを配置する位置に第2のワークを搬送するように前記ロボットを駆動する、ロボット装置。
JP2022517021A 2020-04-21 2021-04-16 ワークを積み上げる位置を設定する位置設定装置および位置設定装置を備えるロボット装置 Active JP7502419B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020075545 2020-04-21
JP2020075545 2020-04-21
PCT/JP2021/015774 WO2021215370A1 (ja) 2020-04-21 2021-04-16 ワークを積み上げる位置を設定する位置設定装置および位置設定装置を備えるロボット装置

Publications (2)

Publication Number Publication Date
JPWO2021215370A1 JPWO2021215370A1 (ja) 2021-10-28
JP7502419B2 true JP7502419B2 (ja) 2024-06-18

Family

ID=78269299

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022517021A Active JP7502419B2 (ja) 2020-04-21 2021-04-16 ワークを積み上げる位置を設定する位置設定装置および位置設定装置を備えるロボット装置

Country Status (5)

Country Link
US (1) US20230158677A1 (ja)
JP (1) JP7502419B2 (ja)
CN (1) CN115485217A (ja)
DE (1) DE112021002430T5 (ja)
WO (1) WO2021215370A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024074213A1 (de) * 2022-10-07 2024-04-11 Mbo Postpress Solutions Gmbh Handhabungsvorrichtung für produkte oder produktstapel und verfahren zum übergeben von produkten oder produktstapeln

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000296916A (ja) 1999-04-14 2000-10-24 Murata Mach Ltd 板材積載装置
JP3969334B2 (ja) 2003-04-04 2007-09-05 株式会社ダイフク 物品の積付方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06171756A (ja) * 1992-12-08 1994-06-21 Toshiba Corp 荷積位置決定装置
JP7167391B2 (ja) 2015-10-08 2022-11-09 トーヨーカネツ株式会社 積載ロジックを有する物品積載装置
JP6267175B2 (ja) 2015-11-20 2018-01-24 ファナック株式会社 物品を積む位置を設定する積み付けパターン計算装置
WO2017149616A1 (ja) 2016-02-29 2017-09-08 株式会社日立製作所 箱詰めロボットおよび箱詰め計画方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000296916A (ja) 1999-04-14 2000-10-24 Murata Mach Ltd 板材積載装置
JP3969334B2 (ja) 2003-04-04 2007-09-05 株式会社ダイフク 物品の積付方法

Also Published As

Publication number Publication date
CN115485217A (zh) 2022-12-16
DE112021002430T5 (de) 2023-02-16
US20230158677A1 (en) 2023-05-25
WO2021215370A1 (ja) 2021-10-28
JPWO2021215370A1 (ja) 2021-10-28

Similar Documents

Publication Publication Date Title
US11383380B2 (en) Object pickup strategies for a robotic device
US11851290B2 (en) Robotic multi-item type palletizing and depalletizing
JP7430319B2 (ja) ロボットアーム吸引制御機構を有するロボットシステムおよびその動作方法
JP6805465B2 (ja) センサ誘導式ロボットを用いたボックスの位置特定、分離、およびピッキング
US10222206B2 (en) Stowage pattern calculation device which sets positions at which articles are stacked
US11407107B2 (en) Palletizing boxes
JP6374993B2 (ja) 複数の吸着カップの制御
CN111491878A (zh) 具有自动化包裹登记机构和最小可行区域检测的机器人系统
JP3782679B2 (ja) 干渉回避装置
CN109775370B (zh) 堆积模式计算装置以及机器人控制装置
JP7502419B2 (ja) ワークを積み上げる位置を設定する位置設定装置および位置設定装置を備えるロボット装置
WO2020012710A1 (ja) マニピュレータ制御装置、マニピュレータ制御方法、及びマニピュレータ制御プログラム
JP2019136828A (ja) 箱状物ピッキング装置及びその方法
JP2020110885A (ja) 経路生成装置、経路生成方法、及び経路生成プログラム
US20220297958A1 (en) Robotic palletization system with variable conveyor height
JP2019181573A (ja) ピッキング装置及びその方法
WO2022030414A1 (ja) ロボットの構成部材の干渉を検出するロボット装置
JPH1080881A (ja) 多関節ロボットの制御装置及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230824

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20231128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240215

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20240226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240606