JP2018140476A - ロボットシステムのシミュレーション装置、シミュレーション方法、およびコンピュータプログラム - Google Patents

ロボットシステムのシミュレーション装置、シミュレーション方法、およびコンピュータプログラム Download PDF

Info

Publication number
JP2018140476A
JP2018140476A JP2017037408A JP2017037408A JP2018140476A JP 2018140476 A JP2018140476 A JP 2018140476A JP 2017037408 A JP2017037408 A JP 2017037408A JP 2017037408 A JP2017037408 A JP 2017037408A JP 2018140476 A JP2018140476 A JP 2018140476A
Authority
JP
Japan
Prior art keywords
model
work
models
interference
unit
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
JP2017037408A
Other languages
English (en)
Other versions
JP6438509B2 (ja
Inventor
寛之 後平
Hiroyuki Gohira
寛之 後平
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
Priority to JP2017037408A priority Critical patent/JP6438509B2/ja
Priority to US15/899,319 priority patent/US10618163B2/en
Priority to DE102018001360.0A priority patent/DE102018001360B4/de
Priority to CN201810164521.9A priority patent/CN108500976B/zh
Publication of JP2018140476A publication Critical patent/JP2018140476A/ja
Application granted granted Critical
Publication of JP6438509B2 publication Critical patent/JP6438509B2/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/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0093Programme-controlled manipulators co-operating with conveyor 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/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/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • 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/1682Dual arm manipulator; Coordination of several manipulators
    • 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
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • G05B19/4182Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell manipulators and conveyor only
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39135For multiple manipulators operating at same time, avoid collision
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40058Align box, block with a surface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)
  • Automatic Assembly (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】実際の作業ラインにおいては、オペレータがワークを搬送装置の上に配置するとき、該搬送装置におけるワークの位置および姿勢は、ランダムに変化することになる。このような作業のシミュレーションを行う技術が求められている。【解決手段】シミュレーション装置50は、モデル配置部52と、ワークモデルの基準位置からのオフセット量を設定するオフセット設定部54と、ワークモデルを搬送装置モデルによって搬送する搬送動作を実行する搬送動作実行部56と、2つのワークモデルの間の干渉を検出する干渉検出部58と、干渉が生じなくなる非干渉位置を検索する非干渉位置検索部60と、非干渉位置に基づいて少なくとも1つのワークモデルの位置を修正するワーク位置修正部62とを備える。【選択図】図1

Description

本発明は、ロボットシステムのシミュレーション装置、シミュレーション方法、およびコンピュータプログラムに関する。
ワークを搬送装置によって搬送するシミュレーションを行うシミュレーション装置が知られている(例えば、特許文献1)。
特開2016−129915号公報
実際の作業ラインにおいては、オペレータがワークを搬送装置(例えば、ベルトコンベア)の上に配置するとき、該搬送装置におけるワークの位置および姿勢は変化することになる。このような作業のシミュレーションを行う技術が求められている。
本開示の一態様において、搬送装置によって搬送される複数のワークに対してロボットが作業を行うロボットシステムのシミュレーション装置は、複数のワークおよび搬送装置のそれぞれをモデル化した複数のワークモデルおよび搬送装置モデルを仮想空間に配置するモデル配置部と、搬送装置モデルに対して予め定められた複数のワークモデルの各々の基準位置からの、個々のワークモデルのオフセット量を設定するオフセット設定部と、基準位置とオフセット量とから求めた位置に各々が配置される複数のワークモデルを、順次、搬送装置モデルによって搬送する搬送動作を実行する搬送動作実行部と、搬送装置モデルによって順次搬送される少なくとも2つのワークモデルの間の干渉を検出する干渉検出部と、干渉が検出された少なくとも2つのワークモデルのうち少なくとも1つのワークモデルに対し、干渉が生じなくなる非干渉位置を検索する非干渉位置検索部と、検索した非干渉位置に基づき、搬送装置モデルに配置される少なくとも1つのワークモデルの位置を修正するワーク位置修正部とを備える。
本開示の他の態様において、搬送装置によって搬送される複数のワークに対してロボットが作業を行うロボットシステムのシミュレーション方法は、複数のワークおよび搬送装置のそれぞれをモデル化した複数のワークモデルおよび搬送装置モデルを仮想空間に配置することと、搬送装置モデルに対して予め定められた複数のワークモデルの各々の基準位置からの、個々のワークモデルのオフセット量を設定することと、基準位置とオフセット量とから求めた位置に各々が配置される複数のワークモデルを、順次、搬送装置モデルによって搬送する搬送動作を実行することと、搬送装置モデルによって順次搬送される少なくとも2つのワークモデルの間の干渉を検出することと、干渉が検出された少なくとも2つのワークモデルのうち少なくとも1つのワークモデルに対し、干渉が生じなくなる非干渉位置を検索することと、検索した非干渉位置に基づき、搬送装置モデルに配置される少なくとも1つのワークモデルの位置を修正することとを備える。
本開示のさらに他の態様において、コンピュータプログラムは、搬送装置によって搬送される複数のワークに対してロボットが作業を行うシミュレーションを行うために、コンピュータを、複数のワークおよび搬送装置のそれぞれをモデル化した複数のワークモデルおよび搬送装置モデルを仮想空間に配置するモデル配置部、搬送装置モデルに対して予め定められた複数のワークモデルの各々の基準位置からの、個々のワークモデルのオフセット量を設定するオフセット設定部、基準位置とオフセット量とから求めた位置に各々が配置される複数のワークモデルを、順次、搬送装置モデルによって搬送する搬送動作を実行する搬送動作実行部、搬送装置モデルによって順次搬送される少なくとも2つのワークモデルの間の干渉を検出する干渉検出部、干渉が検出された少なくとも2つのワークモデルのうち少なくとも1つのワークモデルに対し、干渉が生じなくなる非干渉位置を検索する非干渉位置検索部、および、検索した非干渉位置に基づき、搬送装置モデルに配置される少なくとも1つのワークモデルの位置を修正するワーク位置修正部として機能させる。
本開示の一態様によれば、仮想空間に配置するワークモデル同士の干渉領域の発生を防止しつつ、実際の作業に近い形態で搬送装置の動作をシミュレーション可能な装置を提供することができる。
本開示の他の態様によれば、ワークモデル同士の干渉領域の発生を防止しつつ、実際の作業に近い形態で搬送装置の動作をシミュレーション可能な方法を提供することができる。
本開示のさらに他の態様によれば、ワークモデル同士の干渉領域の発生を防止しつつ、実際の作業に近い形態での搬送装置の動作シミュレーションをコンピュータに実行させるコンピュータプログラムを提供することができる。
一実施形態に係るシミュレーションシステムのブロック図である。 実空間における搬送装置の一例を示す図である。 図2に示す搬送装置を鉛直上方から見た図である。 図1に示すシミュレーションシステムの動作フローの一例を示すフローチャートである。 図4中のステップS1にて生成される仮想空間の画像を示す。 図5に示す仮想空間においてワークモデルが搬送部モデル上の基準位置に配置された状態を示す。 図6に示すワークモデルを、図6中の搬送装置座標系のz軸プラス方向から見た図である。 搬送装置座標系のx軸方向の第1のオフセット量と、y軸方向の第2のオフセット量とを説明するための図である。 搬送装置座標系のz軸と平行な軸線周りの第3のオフセット量を説明するための図である。 第1、第2、および第3のオフセット量を説明するための図である。 図4中のステップS5でワークモデルが配置され得る位置範囲を示す。 互いに隣り合う2つのワークモデルの位置範囲を示す。 互いに隣り合う2つのワークモデルの間で干渉領域が生じている状態を示す。 図4中のステップS8のフローの一例を示すフローチャートである。 他の実施形態に係るシミュレーションシステムのブロック図である。 仮想空間において第1種のワークモデルと第2種のワークモデルとを配置した状態を示す。 図15に示すシミュレーションシステムの動作フローの一例を示すフローチャートである。 さらに他の実施形態に係るシミュレーションシステムのブロック図である。 表面が見えるように配置されたワークモデルと、裏面が見えるように配置されたワークモデルとを示す。 図18に示すシミュレーションシステムの動作フローの一例を示すフローチャートである。 さらに他の実施形態に係るシミュレーションシステムのブロック図である。 実空間におけるワーク搬送システムの一例を示す。 図21に示すシミュレーションシステムの動作フローの一例を示すフローチャートである。 図23中のステップS41にて生成される仮想空間の画像を示す。 図23中のステップS42にて生成される仮想空間の画像を示す。 図23中のステップS43を説明するための図である。 図23中のステップS44を説明するための図である。
以下、本開示の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。まず、図1を参照して、一実施形態に係るシミュレーションシステム10について説明する。
シミュレーションシステム10は、CPU12、システムメモリ14、ワークメモリ16、入力/出力インターフェース(I/Oインターフェース)18、データ入力部20、表示部22、およびシミュレーション装置50を備える。
CPU12は、システムメモリ14、ワークメモリ16、およびI/Oインターフェース18と、バス24を介して通信可能に接続されており、これらの要素と通信しつつ、後述する各種プロセスを実行する。
システムメモリ14は、電気的に消去・記録可能な不揮発性メモリであり、例えば、EEPROM(登録商標)等から構成される。システムメモリ14は、後述するシミュレーションを実行するのに要する定数、変数、設定値、コンピュータプログラム等を、シミュレーションシステム10の非動作時にも失われないように記録している。
ワークメモリ16は、CPU12が各種プロセスを実行するのに要するデータを一時的に保管する。また、ワークメモリ16には、システムメモリ14に記録されている定数、変数、設定値、コンピュータプログラム等が適宜展開され、CPU12は、ワークメモリ16に展開されたデータを、各種プロセスを実行するために利用する。
I/Oインターフェース18は、データ入力部20と通信可能に接続され、CPU12からの指令の下、データ入力部20からデータを受信する。また、I/Oインターフェース18は、表示部22と通信可能に接続され、CPU12からの指令の下、表示部22に画像データを送信する。
I/Oインターフェース18は、例えばイーサネットポートまたはUSBポート等から構成され、データ入力部20および表示部22と有線で通信してもよい。または、I/Oインターフェース18は、Wi−Fi等の無線LANを介して、表示部22およびデータ入力部20と無線で通信してもよい。
データ入力部20は、例えばキーボード、タッチパネル、またはマウスから構成され、オペレータは、データ入力部20を操作することによって、データを入力できる。データ入力部20は、入力されたデータを、I/Oインターフェース18を介して、CPU12に送信する。
表示部22は、例えばCRT、液晶ディスプレイ(LCD)、または有機ELディスプレイから構成され、I/Oインターフェース18から送信された画像データを受信し、オペレータが視認可能な画像として表示する。
シミュレーション装置50は、搬送装置によって搬送される複数のワークに対してロボットが作業を行うロボットシステムのシミュレーションを行う。以下、図2を参照して、実空間における搬送装置100の一例について説明する。
搬送装置100は、例えばベルトコンベアであって、土台部102と、該土台部102の上に可動に配置された搬送部104とを有する。土台部102は、実空間の作業セルの床の上に固定される。搬送部104は、その上に載置されたワークWを、図2中の矢印Aで示す搬送方向Aへ搬送する。本実施形態においては、ワークWは、直方体状である。
実空間の作業ラインにおいて、オペレータは、ワークWを、搬送部104の上流端付近に連続的に載置する。このときに搬送部104に載置されるワークWの、搬送部104に対する位置および姿勢は、図3に示すように、ランダムに変化することになる。このように、ワークWは、搬送部104の上流端付近に連続して載置され、該搬送部104によって搬送方向Aへ順次搬送される。
本実施形態に係るシミュレーション装置50は、このような搬送装置100の動作をシミュレーションする。図1に示すように、シミュレーション装置50は、モデル配置部52、オフセット設定部54、搬送動作実行部56、干渉検出部58、非干渉位置検索部60、およびワーク位置修正部62を有する。
なお、本実施形態においては、CPU12が、モデル配置部52、オフセット設定部54、搬送動作実行部56、干渉検出部58、非干渉位置検索部60、およびワーク位置修正部62の機能を担う。これらモデル配置部52、オフセット設定部54、搬送動作実行部56、干渉検出部58、非干渉位置検索部60、およびワーク位置修正部62の機能については、後述する。
次に、図4を参照して、シミュレーションシステム10の動作について説明する。図4に示すフローは、例えば、オペレータがデータ入力部20を操作してシミュレーション開始指令を入力し、CPU12が、データ入力部20からシミュレーション開始指令を受け付けたときに、開始する。
なお、CPU12は、図4に示すステップS1〜S10を、コンピュータプログラムに従って実行してもよい。このコンピュータプログラムは、システムメモリ14に予め記憶されてもよい。または、このコンピュータプログラムは、シミュレーションシステム10に外付けされる記録媒体(例えば、ハードディスク、EEPROM等)に記録されてもよい。
ステップS1において、CPU12は、搬送装置の構成要素をモデル化した構成要素モデルを仮想空間に配置する。具体的には、CPU12は、オペレータの入力操作に応じて、図5に示すように、仮想空間110において、搬送装置モデル100Mを配置する。
なお、本稿においては、実空間における構成要素の名称が「XX」であった場合、その構成要素の仮想空間110におけるモデルを「XXモデル」として言及する。例えば、実空間における「搬送部」のモデルは、「搬送部モデル」として言及される。
搬送装置モデル100Mは、図2に示す搬送装置100をモデル化したものであって、土台部モデル102Mおよび搬送部モデル104Mを有する。
システムメモリ14は、搬送装置モデル100Mを含む、複数種類の搬送装置モデルを、予め記憶する。一例として、CPU12は、システムメモリ14に記憶された複数種類の搬送装置モデルをリストの形態で表した画像データを生成し、表示部22に表示させる。オペレータは、データ入力部20を操作して、表示部22に表示されたリストの中から、所望の搬送装置モデルを選択する。
以下、オペレータが、図5に示す搬送装置モデル100M(図4)を選択した場合について説明する。データ入力部20は、オペレータが入力した入力データを、I/Oインターフェース18を介して、CPU12に送信する。
CPU12は、受信した入力データに応じて、システムメモリ14に記憶された複数種類の搬送装置モデルの中から、搬送装置モデル100Mを読み出し、仮想空間110に配置する。そして、CPU12は、該仮想空間110を画像データとして生成し、図5に示すような仮想空間110の画像として、表示部22に表示させる。
システムメモリ14は、搬送装置モデル100Mに関連付けて、種々の仮想搬送装置動作パラメータを記憶する。この仮想搬送装置動作パラメータは、後述するステップS4で搬送装置モデル100Mを仮想空間110内で模擬的に動作させるのに要するパラメータである。
この仮想搬送装置動作パラメータは、搬送装置座標系Cの原点および軸方向、搬送装置モデル100Mの搬送速度等のパラメータを含む。搬送装置座標系Cは、仮想空間110において搬送装置モデル100Mを模擬的に動作させるときに基準となる直交座標系であって、仮想搬送装置動作パラメータに含まれる、該搬送装置座標系Cの原点および軸方向によって、仮想空間110内で定義される。
図5に示す実施形態においては、搬送装置座標系Cの原点は、搬送部モデル104Mの上流端の一角に配置され、搬送部モデル104Mは、後述するワークモデルを、搬送装置座標系Cのy軸プラス方向へ搬送する。すなわち、搬送装置座標系Cのy軸プラス方向は、図2中の搬送方向Aに一致する。
搬送速度は、仮想空間110において搬送部モデル104Mによってワークモデルを搬送する速度(すなわち、搬送部モデル104Mの動作速度)を決定するパラメータである。
図5に示すように、CPU12は、搬送装置モデル100Mとともに、搬送装置座標系Cを仮想空間110に設定する。このように、本実施形態においては、CPU12は、搬送装置モデル100Mを仮想空間110に配置するモデル配置部52(図1)の機能を担う。
ステップS2において、CPU12は、後述するシミュレーションにおいて、ワークモデルを仮想空間110に供給する総数nを設定する。一例として、CPU12は、オペレータが総数nを入力可能とするための入力画像データを生成し、表示部22に表示する。
オペレータは、データ入力部20を操作して、表示部22に表示された入力画像に所望の総数nを入力する。データ入力部20は、オペレータが入力した総数nの入力データを、I/Oインターフェース18を介して、CPU12に送信する。CPU12は、受信した入力データに従って、総数nを設定し、該総数nの設定をシステムメモリ14に記憶する。
ステップS3において、CPU12は、ワークモデルを仮想空間110において搬送装置モデル100Mに配置するときのオフセット量を設定する。このオフセット量について、図6〜図10を参照して説明する。
後述するステップS5において、CPU12は、ワークWをモデル化したワークモデルWMを仮想空間110において搬送部モデル104Mの上に配置する。図6および図7は、ワークモデルWMが、搬送部モデル104M上の基準位置に配置された状態を示している。
この基準位置は、搬送部モデル104Mに対して予め定められる。図6および図7に示す例においては、基準位置は、以下のように設定されている。すなわち、ワークモデルWMの中心Bが、搬送部モデル104Mの、搬送装置座標系Cのx軸方向の中央に配置され、ワークモデルWMの長手方向(すなわち、長辺の延在方向)が、搬送装置座標系Cのx軸方向と平行であり、且つ、ワークモデルWMの短手方向(すなわち、短辺の延在方向)が、搬送装置座標系Cのy軸方向と平行となっている。
本実施形態におけるオフセット量は、後述のステップS5においてワークモデルWMを搬送部モデル104M上に配置するときの、搬送装置座標系Cのx−y平面におけるワークモデルWMの基準位置からのずれを表す。
例えば、図8に示す例においては、基準位置を点線領域Cで表しており、ワークモデルWMは、その中心Bが、基準位置Cの中心Bから、搬送装置座標系Cのx軸マイナス方向へxOFF(すなわち、−xOFF)だけずれており、且つ、搬送装置座標系Cのy軸マイナス方向へyOFF(すなわち、−yOFF)だけずれている。
このように、図8に示す例においては、オフセット量として、基準位置から搬送装置座標系Cのx軸方向へオフセットする第1のオフセット量xOFFと、基準位置から搬送装置座標系Cのy軸方向へオフセットする第2のオフセット量yOFFとが設定されている。
図9に示す例においては、ワークモデルWMの位置は、基準位置Cから、軸線O周りに、搬送装置座標系Cのz軸プラス方向から見て反時計回りの方向に角度θOFFだけ回転させた位置に、オフセットされている。
この軸線Oは、搬送装置座標系Cのz軸と平行であり、且つ、ワークモデルWMの中心を通過する仮想軸線である。このように、図9に示す例においては、オフセット量として、基準位置から、軸線O周りに回転する方向へオフセットする第3のオフセット量θOFFが設定されている。
図10に示す例においては、ワークモデルWMの位置は、その基準位置から、第1のオフセット量xOFF、第2のオフセット量yOFF、および第3のオフセット量θOFFだけオフセットされている。
具体的には、ワークモデルWMの中心Bは、搬送装置座標系Cのx軸マイナス方向へxOFFだけずれ、且つ、搬送装置座標系Cのy軸マイナス方向へyOFFだけずれている。また、ワークモデルWMは、軸線O周りに角度θOFFだけ回転されている。
一例として、オペレータは、このステップS3において、オフセット量(xOFF、yOFF、θOFF)の上限値および下限値を入力する。この場合、CPU12は、オペレータがオフセット量(xOFF、yOFF、θOFF)の上限値および下限値を入力可能とするための入力画像データを生成し、表示部22に表示する。オペレータは、データ入力部20を操作して、表示部22に表示された入力画像に所望の上限値および下限値を入力する。
例えば、オペレータが第1のオフセット量xOFFの上限値xMAXおよび下限値xMINと、第2のオフセット量yOFFの上限値yMAXおよび下限値yMINと、第3のオフセット量θOFFの上限値θMAXおよび下限値θMINとを、それぞれ入力したとする。
この場合、データ入力部20は、オペレータが入力した上限値(xMAX、yMAX、θMAX)および下限値(xMIN、yMIN、θMIN)の入力データを、I/Oインターフェース18を介して、CPU12に送信する。
CPU12は、受信した入力データに従って、第1のオフセット量xOFFの範囲を、xMIN≦xOFF≦xMAXに設定する。ここで、上限値xMAXおよび下限値xMINは、正の値である場合、それぞれ、基準位置Cから搬送装置座標系Cのx軸プラス方向へ座標xMAXおよびxMINだけオフセットするオフセット量を表す。
一方、上限値xMAXおよび下限値xMINは、負の値である場合、それぞれ、基準位置Cから、搬送装置座標系Cのx軸マイナス方向へ座標xMAXおよびxMINだけオフセットするオフセット量を表す。
また、CPU12は、受信した入力データに従って、第2のオフセット量yOFFの範囲を、yMIN≦yOFF≦yMAXに設定する。ここで、上限値yMAXおよび下限値yMINは、正の値である場合、それぞれ、基準位置Cから搬送装置座標系Cのy軸プラス方向へ座標yMAXおよびyMINだけオフセットするオフセット量を表す。
一方、上限値yMAXおよび下限値yMINは、負の値である場合、それぞれ、基準位置Cから搬送装置座標系Cのy軸マイナス方向へ座標yMAXおよびyMINだけオフセットするオフセット量を表す。
また、CPU12は、受信した入力データに従って、第3のオフセット量θOFFの範囲を、θMIN≦θOFF≦θMAXに設定する。ここで、上限値θMAXおよび下限値θMINは、正の値である場合、それぞれ、基準位置Cから軸線O周りに搬送装置座標系Cのz軸プラス方向から見て反時計回りの方向に角度θMAXおよびθMINだけ回転させたオフセット量を表す。
一方、上限値θMAXおよび下限値θMINは、負の値である場合、それぞれ、基準位置Cから軸線O周りに搬送装置座標系Cのz軸プラス方向から見て時計回りの方向に角度θMAXおよびθMINだけ回転させたオフセット量を表す。
また、他の例として、オペレータは、このステップS3において、オフセット量(xOFF、yOFF、θOFF)の閾値を1つだけ入力する。この場合、CPU12は、オペレータがオフセット量(xOFF、yOFF、θOFF)の閾値を入力可能とするための入力画像データを生成し、表示部22に表示する。オペレータは、データ入力部20を操作して、表示部22に表示された入力画像に所望の閾値を入力する。
例えば、オペレータが第1のオフセット量xOFFの閾値xと、第2のオフセット量yOFFの閾値yと、第3のオフセット量θOFFの閾値θとを、それぞれ入力したとする。この場合、データ入力部20は、オペレータが入力した閾値(x、y、θ)の入力データを、I/Oインターフェース18を介して、CPU12に送信する。
CPU12は、受信した入力データに従って、第1のオフセット量xOFFの範囲を、−x≦xOFF≦x、0≦xOFF≦x、または、−x≦xOFF≦0として、設定する。
また、CPU12は、第2のオフセット量yOFFの範囲を、−y≦yOFF≦y、0≦yOFF≦y、または、−y≦yOFF≦0のとして、設定する。また、CPU12は、第3のオフセット量θOFFの範囲を、−θ≦θOFF≦θ、0≦θOFF≦θ、または、−θ≦θOFF≦0として、設定する。
このように、CPU12は、オフセット量xOFF、yOFF、およびθOFFを定める値(xMAX、yMAX、θMAX、xMIN、yMIN、θMIN、x、y、またはθ)の入力を受け付けて、該オフセット量xOFF、yOFF、およびθOFFを設定する。したがって、CPU12は、個々のワークモデルWMの基準位置からのオフセット量xOFF、yOFF、およびθOFFを設定するオフセット設定部54(図1)としての機能を担う。
ステップS4において、CPU12は、仮想空間110においてワークモデルWMを搬送装置モデル100Mによって模擬的に搬送する搬送動作を実行する。具体的には、CPU12は、仮想空間110において搬送装置モデル100Mを模擬的に動作させて、ワークモデルWMが搬送部モデル104Mの上に載置されたときに、該ワークモデルWMを、搬送装置座標系Cのy軸プラス方向へ模擬的に搬送する。
このように、本実施形態においては、CPU12は、ワークモデルWMを搬送装置モデル100Mによって搬送する搬送動作を実行する搬送動作実行部56(図1)としての機能を担う。
ステップS5において、CPU12は、仮想空間110においてワークモデルWMを搬送装置モデル100Mに配置する。このとき、CPU12は、ステップS3で設定したオフセット量xOFF、yOFF、およびθOFFの範囲内で、該オフセット量xOFF、yOFF、およびθOFFをランダムに決定する。
例えば、CPU12は、第1のオフセット量xOFFを、xMIN≦xOFF≦xMAXの範囲内の値として、ランダムに決定する。また、CPU12は、第2のオフセット量yOFFを、yMIN≦yOFF≦yMAXの範囲内の値として、ランダムに決定する。また、CPU12は、第2のオフセット量θOFFを、θMIN≦θOFF≦θMAXの範囲内の値として、ランダムに決定する。
そして、CPU12は、ワークWMを、決定したオフセット量xOFF、yOFF、およびθOFFだけ基準位置Cからオフセットしたオフセット位置を求め、該ワークWMを、搬送部モデル104Mにおいて該オフセット位置に配置する。
このように、本実施形態においては、CPU12は、このステップS5において、基準位置Cと、ステップS3で設定したオフセット量(例えば、xMAX、yMAX、θMAX、xMIN、yMIN、θMIN)だけ基準位置Cからオフセットした位置との間の位置範囲内(例えば、閉区間[xMIN,xMAX]、[yMIN,yMAX]、[θMIN,θMAX])で、ワークWMを搬送部モデル104Mの上に配置する。
図11に、CPU12がステップS5においてワークモデルWMを配置し得る位置範囲を、二点鎖線の領域Dで示す。この位置範囲Dは、ステップS3で設定されたオフセット量の範囲内(例えば、[xMIN,xMAX]、[yMIN,yMAX]、[θMIN,θMAX])でCPU12がワークモデルWMを配置したときに該ワークモデルWMが搬送部モデル104M上で占有し得る範囲を表す。
この位置範囲Dは、ステップS3で設定したオフセット量(xMAX、yMAX、θMAX、xMIN、yMIN、θMIN、x、y、またはθ)に依存して変化することになる。このように、本実施形態においては、CPU12は、モデル配置部52として機能して、仮想空間110においてワークモデルWMを搬送装置モデル100Mに配置する。
図4に示すように、CPU12は、後述のステップS10でYESと判定するまで、ステップS5〜S10をループする。したがって、CPU12は、ステップS5を実行する毎に、ワークモデルWMを搬送装置モデル100Mに連続的に配置する。
図12に、第n−1回目のステップS5で配置したワークモデルWMn−1の位置範囲を、一点鎖線領域Dn−1として示し、第n回目のステップS5で配置したワークモデルWMの位置範囲を、二点鎖線領域Dとして示す。
CPU12は、第n回目に実行するステップS5において、ワークモデルWMを、第n−1回目のステップS5で配置したワークモデルWMn−1が搬送装置モデル100Mによって搬送された後に、配置する。
このとき、CPU12は、第n−1回目のステップS5で配置したワークモデルWMn−1の位置範囲Dn−1と、第n回目のステップS5で配置するワークモデルWMの位置範囲Dとが、少なくとも一部の領域Hで互いに重なり合うように、ワークモデルWMを配置する。
互いに隣り合うワークモデルWMn−1とワークモデルWMとの間の間隔Eは、オペレータによって予め定められる。この間隔Eは、ワークモデルWMn−1の基準位置Cn−1の中心B0_n−1と,ワークモデルWMの基準位置Cの中心B0_nとの間の、搬送装置座標系Cのy軸方向の距離である。この間隔Eは、位置範囲Dn−1と位置範囲Dとが互いに重なり合うように、定められる。
一例として、CPU12は、ステップS3において、オペレータが、オフセット量(xMAX、yMAX、θMAX、xMIN、yMIN、θMIN、x、y、またはθ)に加えて、間隔Eを入力可能とするための入力画像データを生成し、表示部22に表示する。オペレータは、データ入力部20を操作して、表示部22に表示された入力画像に所望の間隔Eを入力する。
このとき、CPU12は、入力されたオフセット量および間隔Eに基づいて、互いに隣り合う位置範囲Dn−1と位置範囲Dとが互いに重なり合うか否かを判定してもよい。そして、CPU12は、位置範囲Dn−1と位置範囲Dとが互いに重なり合わないと判定した場合、その旨を表す画像を表示部22に表示してもよい。
ステップS6において、CPU12は、ステップS4の開始時点からワークモデルWMを搬送装置モデル100Mに供給した総数「n」の値を、1だけインクリメント(すなわち、n=n+1)する。なお、図4に示すフローの開始時点に、CPU12は、この総数「n」を「0」(すなわち、n=0)にセットする。
ステップS7において、CPU12は、直近のステップS5で配置したワークモデルと、該ワークモデルの前に配置した他のワークモデルとの間の干渉が検出されたか否かを判定する。
例えば、CPU12が第n回目のステップS7を実行している場合、CPU12は、第n回目のステップS5で配置したワークモデルWMと、第n−1回目のステップS5で配置したワークモデルWMn−1との間の干渉が検出されたか否かを判定する。
上述したように、CPU12は、ステップS5において、位置範囲Dn−1と位置範囲Dとが互いに重なり合うように、ワークモデルWMを配置する。したがって、CPU12が第n回目のステップS5でワークモデルWMを位置範囲D内でランダムに配置したとき、図13に示すように、該ワークモデルWMとワークモデルWMn−1との間で干渉領域Fが生じ得る。
CPU12は、このステップS7において、仮想空間110に配置されたワークモデルWMとワークモデルWMn−1のプロファイルデータ等に基づいて、干渉領域Fを検出する。
CPU12は、干渉領域Fを(すなわち、YES)検出した場合、ステップS8へ進む。一方、CPU12は、干渉領域Fが検出されなかった(すなわち、NO)場合、ステップS10へ進む。このように、本実施形態においては、CPU12は、干渉領域Fを検出する干渉検出部58(図1)としての機能を担う。
ステップS8において、CPU12は、ワークモデルWMおよびワークモデルWMn−1の少なくとも1つに対し、干渉領域Fが生じなくなる非干渉位置を検索する。このステップS8について、図14を参照して説明する。
ステップS8の開始後、ステップS11において、CPU12は、ワークモデルWMおよびワークモデルWMn−1の少なくとも一方の位置を、位置範囲DまたはDn−1内でずらす。
一例として、CPU12は、図13に示すワークモデルWMの中心B1_nの搬送装置座標系Cのx軸方向の座標xを、位置範囲D(例えば、閉区間[xMIN,xMAX])内に収まるように、変化させる(例えば、x+α、または、x−αとする)。
または、CPU12は、ワークモデルWMの中心B1_nの搬送装置座標系Cのy軸方向の座標yを、位置範囲D(例えば、閉区間[yMIN,yMAX])内に収まるように、変化させる(例えば、y+α、または、y−αとする)。
または、CPU12は、ワークモデルWMを、位置範囲D(例えば、閉区間[θMIN,θMAX])内に収まるように、軸線O周りに所定の角度(例えば、+αまたは−α)だけ回転させる。
また、他の例として、CPU12は、図13に示すワークモデルWMn−1の中心B1_n−1の搬送装置座標系Cのx軸方向の座標xn−1を、位置範囲Dn−1内に収まるように、変化させる(例えば、xn−1+α、または、xn−1−αとする)。
または、CPU12は、ワークモデルWMn−1の中心B1_n−1の搬送装置座標系Cのy軸方向の座標yn−1を、位置範囲Dn−1内に収まるように、変化させる(例えば、yn−1+α、または、yn−1−αとする)。
または、CPU12は、ワークモデルWMn−1を、位置範囲Dn−1内に収まるように、軸線O周りに所定の角度(例えば、+αまたは−α)だけ回転させる。さらに他の例として、CPU12は、ワークモデルWMおよびWMn−1の双方の位置を、上述の手法を用いて変更してもよい。
このようなプロセスを実行することによって、CPU12は、2つのワークモデルWMおよびWMn−1の相対位置を変更する。このように、本実施形態においては、CPU12は、2つのワークモデルWMおよびWMn−1の相対位置を変更する位置変更部64(図1)として機能する。
ステップS12において、CPU12は、ステップS7の同様の手法で、ステップS11で位置をずらしたワークモデルWMと、ワークモデルWMn−1との間で干渉領域Eが生じているか否かを判定する。
CPU12は、干渉領域Fが生じている(すなわち、YES)と判定した場合、ステップS11へ戻る。一方、CPU12は、干渉領域Fが生じていない(すなわち、NO)と判定した場合、図14に示すステップS8を終了し、図4のステップS9へ進む。このように、本実施形態においては、CPU12は、干渉領域Fが生じるか否かを判定する干渉判定部66(図1)としての機能を担う。
以上のように、CPU12は、ステップS12でNOと判定するまで(すなわち、干渉領域Eが検出されなくなるまで)、ステップS11およびS12をループする。このステップS8を実行することによって、CPU12は、ワークモデルWMとワークモデルWMn−1との間で干渉領域Fが生じなくなる非干渉位置を検索する。
したがって、CPU12は、非干渉位置を検索する非干渉位置検索部60(図1)としての機能を担う。そして、ステップS11を実行する位置変更部64およびステップS12を実行する干渉判定部66は、非干渉位置検索部60を構成する。
なお、CPU12は、ステップS4で開始した搬送動作を実行している間に、該搬送動作と並行して、図14に示すフローを実行してもよい。または、CPU12は、ステップS7でYESと判定したときに、ステップS4で開始した搬送動作を一旦停止し、図14に示すフローを実行してもよい。この場合において、CPU12は、後述のステップS9の終了時に、搬送動作を再開してもよい。
また、CPU12は、ステップS12でNOと判定するまでにステップS11を繰り返し実行するときに、ワークモデルWMおよびWMn−1の少なくとも一方を搬送装置座標系Cのx軸方向へずらす動作、y軸方向へずらす動作、および、軸線O周りに回転させる動作を、所定の順番に従って実行してもよい。また、これら動作を行う順番、および該動作を行うときの変位量αは、オペレータによって予め定められてもよい。
また、CPU12は、ステップS11において、ワークモデルWMおよびワークモデルWMn−1が互いから離反する方向を算出し、該ワークモデルWMおよびWMn−1の少なくとも一方をずらす方向を、該離反する方向に決定してもよい。
再度、図4を参照して、ステップS9において、CPU12は、ワークモデルWMおよびWMn−1の少なくとも一方の位置を修正する。具体的には、CPU12は、ワークモデルWMおよびWMn−1の少なくとも一方の位置を、ステップS8で検索された非干渉位置(すなわち、ステップS12でNOと判定された位置)に決定する。
その結果、ワークモデルWMおよびWMn−1の位置は、ステップS7でYESと判定されたときの位置から、干渉領域Fが生じない非干渉位置に修正されることになる。このように、CPU12は、ワークモデルWMおよびWMn−1の少なくとも1つの位置を修正するワーク位置修正部62(図1)としての機能を有する。
ステップS10において、CPU12は、ステップS6でインクリメントされた総数「n」が、ステップS2で設定された総数nに達したか否か(すなわち、n=nであるか否か)を判定する。
CPU12は、n=nである(すなわち、YES)と判定した場合、ステップS4で開始したシミュレーションを終了し、以って、図4に示すフローを終了する。一方、CPU12は、n<nである(すなわち、NO)と判定した場合、ステップS5へ戻る。
以上に述べたように、本実施形態においては、CPU12は、ワークモデルWMを搬送部モデル104Mに配置するときの位置(搬送装置座標系Cのx軸およびy軸の位置)、および姿勢(軸線O周りの角度θ)をランダムで変化させている。
そして、CPU12は、ワークモデルWMを配置したときに干渉領域Eが生じたか否かを検出し(ステップS7)、干渉領域Eが生じた場合に、ワークモデルWMの非干渉位置を検索している(ステップS8)。そして、CPU12は、ワークモデルWMの位置を検索した非干渉位置に修正している(ステップS9)。
この構成によれば、図2および図3を用いて説明したような、実空間における搬送装置100の動作を、干渉領域Eの発生を防止しつつ、実際の作業に近い形態でシミュレーションすることができる。
また、本実施形態においては、オフセット量として、第1のオフセット量xOFF、第2のオフセット量yOFF、および、第3のオフセット量θOFFが設定されている。この構成によれば、ワークモデルWMを搬送部モデル104Mに配置するときの位置および姿勢を、より多様に変化させることができるので、実際の作業により近い形態で、搬送装置100の動作のシミュレーションをすることができる。
また、本実施形態においては、CPU12は、ステップS7で干渉領域Eの発生を検出したときに、2つのワークモデルWMの相対位置を変更し(ステップS11)、次いで、該2つのワークモデルWMが干渉しているか否かを判定し(ステップS12)、これにより、非干渉位置を検索している。この構成によれば、非干渉位置を、比較的簡単なアルゴリズムで、確実に検索することができる。
次に、図15を参照して、他の実施形態に係るシミュレーションシステム150について説明する。シミュレーションシステム150は、上述のシミュレーションシステム10と、シミュレーション装置160において、相違する。
シミュレーション装置160は、モデル配置部52、オフセット設定部54、搬送動作実行部56、干渉検出部58、非干渉位置検索部60、ワーク位置修正部62、および第1の比率設定部162を有する。
CPU12は、モデル配置部52、オフセット設定部54、搬送動作実行部56、干渉検出部58、非干渉位置検索部60、ワーク位置修正部62、および第1の比率設定部162の機能を担う。
図16に示すように、本実施形態においては、CPU12は、仮想空間110において、第1種のワークモデルWM1と、該第1種のワークモデルとは異なる形状を有する第2種のワークモデルWM2を配置する。第1種のワークモデルWM1は、上述のワークモデルWMと同様に、略直方体状である一方、第2種のワークモデルWM2は、略円柱状である。
以下、図17を参照して、シミュレーションシステム150の動作について説明する。なお、図17に示すフローにおいて、図4に示すフローと同様のステップには同じステップ番号を付し、詳細な説明を省略する。
ステップS2の後、ステップS21において、CPU12は、後述のステップS23で仮想空間110にワークモデルを配置するときの、第1種のワークモデルWM1の個数nと、第2種のワークモデルWM2の個数nとの比率R(=n/n)を設定する。
一例として、CPU12は、オペレータが比率Rを入力可能とするための入力画像データを生成し、表示部22に表示する。オペレータは、データ入力部20を操作して、表示部22に表示された入力画像に所望の比率Rを入力する。
データ入力部20は、オペレータが入力した比率Rの入力データを、I/Oインターフェース18を介して、CPU12に送信する。CPU12は、受信した入力データに従って、比率Rを設定し、該比率Rの設定をシステムメモリ14に記憶する。
このように、本実施形態においては、CPU12は、第1種のワークモデルWM1と第2種のワークモデルWM2との比率Rを設定する第1の比率設定部162(図15)としての機能を担う。
ステップS22において、CPU12は、オフセット設定部54として機能し、ワークモデルを仮想空間110において搬送装置モデル100Mに配置するときのオフセット量を設定する。
具体的には、CPU12は、第1種のワークモデルWM1のオフセット量として、上述の実施形態と同様に、第1のオフセット量xOFF、第2のオフセット量yOFF、および第3のオフセット量θOFFの値をオペレータから受け付けて、第1のオフセット量xOFF、第2のオフセット量yOFF、および第3のオフセット量θOFFを設定する。
一方、CPU12は、第2種のワークモデルWM2のオフセット量として、第1のオフセット量xOFFおよび第2のオフセット量yOFFをオペレータから受け付けて、第1のオフセット量xOFFおよび第2のオフセット量yOFFを設定する。第2種のワークモデルWM2は、搬送装置座標系Cのz軸方向から見て円形であるので、軸線O周りの角度に係る第3のオフセット量θOFFを設定する必要はない。
ステップS4の後、ステップS23において、CPU12は、モデル配置部52として機能し、仮想空間110においてワークモデルを搬送装置モデル100Mに配置する。
このとき、CPU12は、ステップS21で設定した比率Rに従って第1種のワークモデルWM1または第2種のワークモデルWM2を選択し、搬送部モデル104M上に配置する。
例えば、ステップS2で設定された総数nが、100個(n=100)であり、且つ、ステップS21で設定された比率Rが、R=n/n=3/2であった場合、CPU12は、ステップS10でYESと判定するまでに、第1種のワークモデルWM1を60個、第2種のワークモデルWM2を40個、仮想空間110に供給するように、第1種のワークモデルWM1または第2種のワークモデルWM2を選択して配置する。
第1種のワークモデルWM1を配置する場合、CPU12は、ステップS3で設定したオフセット量によって定められる位置範囲D内(例えば、閉区間[xMIN,xMAX]、[yMIN,yMAX]、[θMIN,θMAX])で、第1種のワークモデルWM1の位置および姿勢をランダムに変化させる。
また、第2種のワークモデルWM2を配置する場合、CPU12は、ステップS3で設定したオフセット量によって定められる位置範囲D内(例えば、閉区間[xMIN,xMAX]、[yMIN,yMAX])で、第2種のワークモデルWM2の位置をランダムに変化させる。
このように、本実施形態によれば、異なる種類のワークを搬送装置100によって搬送する動作のシミュレーションを、実際の作業に則した形態で行うことができる。
次に、図18を参照して、さらに他の実施形態に係るシミュレーションシステム170について説明する。シミュレーションシステム170は、上述のシミュレーションシステム10と、シミュレーション装置180において、相違する。
シミュレーション装置180は、モデル配置部52、オフセット設定部54、搬送動作実行部56、干渉検出部58、非干渉位置検索部60、ワーク位置修正部62、および第2の比率設定部182を有する。
CPU12は、モデル配置部52、オフセット設定部54、搬送動作実行部56、干渉検出部58、非干渉位置検索部60、ワーク位置修正部62、および第2の比率設定部182の機能を担う。
図19に示すように、本実施形態においては、CPU12は、仮想空間110においてワークモデルWM3を配置する。ワークモデルWM3は、略直方体状の部材であって、表面112と、該表面112とは反対側の裏面114とを有する。表面112には、「A」という文字の模様116が形成されている一方、裏面114には、「B」という文字の模様118が形成されている。
以下、図20を参照して、シミュレーションシステム170の動作について説明する。なお、図20に示すフローにおいて、図4に示すフローと同様のステップには同じステップ番号を付し、詳細な説明を省略する。
ステップS2の後、ステップS31において、CPU12は、後述のステップS32で仮想空間110にワークモデルWM3を配置するときに、図19(a)に示すように表面112が見える(すなわち、搬送装置モデル100Mとは反対側を向く)ようにワークモデルWM3を搬送部モデル104M上に配置する回数nと、図19(b)に示すように裏面114が見えるようにワークモデルWM3を搬送部モデル104M上に配置する回数nとの比率R(=n/n)を設定する。
一例として、CPU12は、オペレータが比率Rを入力可能とするための入力画像データを生成し、表示部22に表示する。オペレータは、データ入力部20を操作して、表示部22に表示された入力画像に所望の比率Rを入力する。
データ入力部20は、オペレータが入力した比率Rの入力データを、I/Oインターフェース18を介して、CPU12に送信する。CPU12は、受信した入力データに従って、比率Rを設定し、該比率Rの設定をシステムメモリ14に記憶する。このように、本実施形態においては、CPU12は、比率Rを設定する第2の比率設定部182(図18)としての機能を担う。
ステップS4の後、ステップS32において、CPU12は、モデル配置部52として機能し、仮想空間110においてワークモデルWM3を搬送装置モデル100Mに配置する。
このとき、CPU12は、ステップS31で設定した比率Rに従って、表面112が見えるようにワークモデルWM3をワークモデルWM3上に配置するか、または、裏面114が見えるようにワークモデルWM3をワークモデルWM3上に配置するかを選択する。
例えば、ステップS2で設定された総数nが、100個(n=100)であり、且つ、ステップS31で設定された比率Rが、R=n/n=3/2であった場合、CPU12は、ステップS10でYESと判定するまでに、60個のワークモデルWM3を、その表面112が見えるように配置し、40個のワークモデルWM3を、その裏面114が見えるように配置する。
このように、本実施形態によれば、表面と裏面とを有するワークを搬送装置100によって搬送する動作のシミュレーションを、実際の作業に則した形態で行うことができる。
次に、図21を参照して、さらに他の実施形態に係るシミュレーションシステム190について説明する。シミュレーションシステム190は、上述のシミュレーションシステム10と、シミュレーション装置200において、相違する。
シミュレーション装置200は、モデル配置部52、オフセット設定部54、搬送動作実行部56、干渉検出部58、非干渉位置検索部60、ワーク位置修正部62、動作範囲設定部204、および追従動作実行部206を有する。
CPU12は、モデル配置部52、オフセット設定部54、搬送動作実行部56、干渉検出部58、非干渉位置検索部60、ワーク位置修正部62、動作範囲設定部204、および追従動作実行部206の機能を担う。
シミュレーション装置200は、搬送装置によって搬送されるワークをロボットハンドで追随して保持するロボットシステムの動作をシミュレーションするための装置である。
以下、図22を参照して、実空間におけるロボットシステム250の一例について説明する。ロボットシステム250は、搬送装置100、ロボット252、およびセンサ254を備える。
ロボット252は、垂直多関節ロボットであって、ロボットベース256、旋回胴258、ロボットアーム260、手首部262、およびロボットハンド264を有する。ロボットベース256は、実空間の作業セルの床に固定される。
旋回胴258は、ロボットベース256に回動可能に設けられる。ロボットアーム260は、旋回胴258に回動可能に連結された上腕部266と、該上腕部266の先端に回動可能に連結された前腕部268とを有する。
手首部262は、前腕部268の先端に連結され、ロボットハンド264を3軸周りに回動可能に支持する。ロボットハンド264は、例えば、開閉可能な複数の指部、または吸着部を有し、ワークWを解放可能に保持することができる。
ロボット252に対しては、ロボット座標系Cが設定される。ロボット252は、ロボット座標系Cを基準として、該ロボット252の各構成要素を動作させる。例えば、ロボット座標系Cのz軸は、実空間の鉛直方向に平行に配置され、旋回胴258は、ロボット座標系Cのz軸周りに回動される。
一方、ロボットハンド264に対しては、ツール座標系Cが設定される。このツール座標系Cは、ロボット座標系Cにおけるロボットハンド264の位置および姿勢を規定する。
ロボット252は、ロボットハンド264の位置および姿勢を、ツール座標系Cによって規定される位置および姿勢に一致させるように、ロボット座標系Cにおいて旋回胴258、ロボットアーム260、手首部262を動作させる。
センサ254は、搬送部104の鉛直上方に設置され、搬送部104によって搬送されるワークWを検出することができる。センサ254は、例えば3次元視覚センサであって、ワークWを撮像し、該ワークWの画像を取得する。
センサ254に対しては、センサ座標系Cが設定される。例えば、センサ座標系Cのz軸プラス方向は、センサ254の視線方向と一致し、且つ、実空間の鉛直下方に一致するように、設定される。
次に、ロボットシステム250の動作について説明する。まず、ワークWが、オペレータによって搬送部104の上流端付近に載置される。次いで、搬送装置100は、搬送部104を動作させ、これにより、搬送部104の上に載置されたワークWを搬送方向Aへ搬送する。
次いで、センサ254は、搬送部104の上に載置されたワークWを検出する。具体的には、センサ254は、搬送部104上のワークWを撮像し、該ワークWの画像を取得する。
次いで、ロボット252は、センサ254が取得したワークWの検出画像に基づいて、ロボット座標系CにおけるワークWの位置および姿勢を取得する。そして、ロボット252は、取得した位置および姿勢に基づいて、ツール座標系Cの原点が搬送中のワークWの所定位置(例えばワークWの中心)に継続して配置されるように、ツール座標系Cを設定する。
ロボット252は、ツール座標系Cによって規定される位置および姿勢にロボットハンド264を配置するように、旋回胴258、ロボットアーム260、手首部262を動作させる。こうして、ロボット252は、搬送中のワークWにロボットハンド264を追随させる。次いで、ロボット252は、ロボットハンド264によってワークWを保持する。その結果、搬送中のワークWは、ロボットハンド264によって持ち上げられる。
本実施形態に係るシミュレーション装置200は、このようなロボットシステム250の動作をシミュレーションする。
以下、図23を参照して、シミュレーションシステム190の動作について説明する。なお、図23に示すフローにおいて、図4に示すフローと同様のステップには同じステップ番号を付し、詳細な説明を省略する。
ステップS1の後、ステップS41において、CPU12は、モデル配置部52として機能して、ロボットモデルを仮想空間に配置する。システムメモリ14は、上述のロボット252を含む、複数種類のロボットのロボットモデルを予め記憶する。
一例として、CPU12は、システムメモリ14に記憶された複数種類のロボットモデルをリストの形態で表した画像データを生成し、表示部22に表示させる。使用者は、データ入力部20を操作して、表示部22に表示されたリストの中から、所望のロボットモデルを選択する。
以下、使用者が、上記したロボット252をモデル化したロボットモデル252M(図24)を選択した場合について説明する。データ入力部20は、使用者が入力した入力データを、I/Oインターフェース18を介して、CPU12に送信する。
CPU12は、受信した入力データに応じて、システムメモリ14に記憶された複数種類のロボットモデルの中から、ロボットモデル252Mを読み出し、仮想空間110に配置する。そして、CPU12は、該仮想空間110を画像データとして生成し、表示部22に表示させる。
このときの仮想空間110の画像の例を、図24に示す。図24に示す仮想空間110においては、ロボットベースモデル256M、旋回胴モデル258M、ロボットアームモデル260M、手首部モデル262M、およびロボットハンドモデル264Mを有するロボットモデル252Mが配置されている。
システムメモリ14は、ロボットモデル252Mに関連付けて、種々の仮想ロボット動作パラメータを記憶する。この仮想ロボット動作パラメータは、実空間でロボット252を動作させるのに要する動作パラメータに対応するパラメータである。例えば、仮想ロボット動作パラメータは、ロボット座標系C、ツール座標系C、および仮想可動範囲を含む。
この仮想可動範囲は、実空間でロボット252がロボットハンド264を移動させることのできる可動範囲(すなわち、ツール座標系Cを設定可能な範囲)に対応する、仮想空間110内の範囲である。
CPU12は、図24に示すように、ロボットモデル252Mとともに、ロボット座標系Cとツール座標系Cとを仮想空間110において設定する。このように、本実施形態においては、CPU12は、モデル配置部52として機能して、ロボットモデル252Mを仮想空間110に配置する。
ステップS42において、CPU12は、モデル配置部52として機能して、センサモデルを仮想空間110に配置する。システムメモリ14は、上述のセンサ254を含む、複数種類のセンサのセンサモデルを予め記憶する。
一例として、CPU12は、システムメモリ14に記憶された複数種類のセンサモデルをリストの形態で表した画像データを生成し、表示部22に表示する。使用者は、データ入力部20を操作して、表示部22に表示されたリストの中から、所望のセンサモデルを選択する。
以下、使用者が、上述したセンサ254をモデル化したセンサモデル254M(図25)を選択した場合について説明する。データ入力部20は、使用者が入力した入力データを、I/Oインターフェース18を介して、CPU12に送信する。
CPU12は、受信した入力データに応じて、システムメモリ14に記憶された複数種類のセンサモデルの中から、センサモデル254Mを読み出し、仮想空間110に配置する。このとき、CPU12は、センサモデル254Mが搬送部モデル104Mの上方(すなわち、搬送装置座標系Cのz軸プラス方向)に位置するように、配置する。
これとともに、CPU12は、センサ座標系Cを仮想空間110において設定する。こうして、図25に示すように、センサモデル254Mが仮想空間110に配置される。このように、本実施形態においては、CPU12は、モデル配置部52として機能して、センサモデル254Mを仮想空間110に配置する。
このステップS42の結果、搬送装置モデル100M、ロボットモデル252M、およびセンサモデル254Mを有する搬送システムモデル250Mが、仮想空間110内で構築される。
ステップS43において、CPU12は、追従動作範囲を仮想空間110において設定する。この追従動作範囲は、後述するステップS44でシミュレーションを実行するときに、搬送装置モデル100Mが搬送するワークモデルWMにロボットモデル252Mがロボットハンドモデル264Mを追従させる追従動作を行うときの、仮想空間110における動作範囲である。
一例として、CPU12は、追従動作範囲を規定する距離G(図26)を使用者が入力可能とするための入力画像データを生成し、表示部22に表示する。距離Gは、搬送装置座標系Cのy軸方向の距離である。使用者は、データ入力部20を操作して、表示部22に表示された入力画像に所望の距離Gを入力する。
データ入力部20は、使用者が入力した距離Gの入力データを、I/Oインターフェース18を介して、CPU12に送信する。CPU12は、受信した入力データに従って、追従動作範囲の上流端210と下流端212を、搬送部モデル104M上に設定する。
このとき、上流端210は、センサモデル254Mの下流側に配置される。また、上流端210および下流端212は、その間にロボットモデル252Mの仮想可動範囲を含むように、配置される。
その結果、図26に示すように、追従動作範囲は、上流端210および下流端212の間の範囲として、設定される。このように、本実施形態においては、CPU12は、追従動作範囲を仮想空間110において設定する動作範囲設定部204(図21)として機能する。
なお、CPU12は、追従動作範囲が設定されたときに、データ入力部20からの入力データに応じて、追従動作範囲の上流端210または下流端212を仮想空間110内で移動させてもよい。
例えば、使用者は、追従動作範囲が設定されたとき、データ入力部20(例えばマウス)を操作して、表示部22に表示された上流端210または下流端212を移動させる(例えば、ドラッグアンドドロップ)。CPU12は、使用者によるデータ入力部20からの入力データに応じて、上流端210または下流端212を仮想空間110内で移動させる。
なお、使用者の入力データに応じて上流端210または下流端212を移動させた結果、センサモデル254Mの、搬送装置座標系Cのx−y平面における位置が、追従動作範囲内となる場合に、上流端210または下流端212の移動を禁止するか、または、表示部22に警告画像を表示してもよい。
または、使用者の入力データに応じて上流端210または下流端212を移動させた結果、ロボットモデル252Mの仮想可動範囲が追従動作範囲から外れた場合に、上流端210または下流端212の移動を禁止するか、または、表示部22に警告画像を表示してもよい。
ステップS44において、CPU12は、搬送システムモデル250Mの動作のシミュレーションを開始する。具体的には、CPU12は、搬送動作実行部56として機能して、搬送装置モデル100Mを模擬的に動作させ、ステップS5でワークモデルWMが搬送部モデル104Mに配置されたときに、該ワークモデルWMを搬送する。
次いで、CPU12は、仮想空間110においてセンサモデル254Mを動作させ、センサモデル254Mは、搬送中のワークモデルWMを検出する。CPU12は、センサモデル254Mの視線データと、ワークモデルWMの配置情報とに基づいて、センサモデル254Mが仮想空間110内でワークモデルWMを検出したときに得られるべき仮想検出画像(仮想検出結果)を生成する。
ついで、CPU12は、生成した仮想検出画像から、ロボット座標系CにおけるワークモデルWMの位置および姿勢を取得する。そして、CPU12は、取得したワークモデルWMの位置および姿勢と、ステップS43で設定した追従動作範囲と、ロボットプログラムとに基づいて、ロボットモデル252Mを仮想空間110内で動作させる。
具体的には、CPU12は、ツール座標系Cの原点を搬送中のワークモデルWMの所定位置(例えばワークモデルWMの中心)に継続して配置するように、ツール座標系Cを順次設定する。
CPU12は、ツール座標系Cによって規定される位置および姿勢にロボットハンドモデル264Mを配置するように、ロボットモデル252Mを仮想空間110内で動作させる。
こうして、ロボットモデル252Mは、仮想空間110において、ロボットハンドモデル264Mを追従動作範囲内でワークモデルWMに追従させる。このように、本実施形態においては、CPU12は、ロボットモデル252Mに追従動作を実行させる追従動作実行部206(図21)としての機能を担う。
次いで、ロボットモデル252Mは、ロボットハンドモデル264MでワークモデルWMを保持する。なお、上述のロボットプログラムは、システムメモリ14に予め記憶される。
このロボットプログラムが適切に構築されていた場合、図27に示すように、ロボットモデル252Mは、ロボットハンドモデル264MでワークモデルWMを適切に持ち上げることができる。
一方、ロボットプログラムが適切に構築されていなかった場合、ロボットハンドモデル264Mは、ワークモデルWMを保持し損なうことになる。この場合、CPU12は、表示部22に警告画像を表示してもよい。CPU12は、以上に述べた搬送システムモデル250Mの動作のシミュレーションを実行する。
このように、本実施形態においては、ステップS5で任意の位置および姿勢で配置されたワークモデルWMを、ロボットモデル252Mによって保持して持ち上げる動作をシミュレーションする。この構成によれば、実空間におけるロボットシステム250の動作を、干渉領域Eの発生を防止しつつ、実際の作業に近い形態でシミュレーションすることができる。
なお、上述の実施形態においては、ステップS11において、CPU12が、ワークモデルWMの中心B1_nの座標xおよび座標yを変化させる場合について述べた。しかしながら、CPU12は、ステップS11において、ワークモデルWMの如何なる基準点(例えば、ワークモデルWMの一頂点)の座標xおよび座標yを変化させてもよい。
また、上述の実施形態においては、ステップS11でワークモデルWM、WMn−1の位置を仮想空間110内で模擬的にずらす動作を行う場合について述べた。しかしながら、これに限らず、CPU12は、ステップS11において、ワークモデルWMをずらす動作を演算上実行し、非干渉位置を検索してもよい(例えば、ワークモデルWMのプロファイルデータを変更する演算を行う)。
この場合、CPU12は、ステップS9において、ステップS11で演算によって検索された非干渉位置に配置するように、ワークモデルWMおよびWMn−1の少なくとも一方の位置を修正する。
また、上述の実施形態においては、CPU12が、シミュレーション装置50、160、180、および200の機能を担う場合について述べた。しかしながら、シミュレーション装置50、160、180、または200は、CPU12とは別の要素として構成されてもよい。
この場合において、シミュレーション装置50、160、180、または200は、第2のCPUを有し、該第2のCPUが、モデル配置部52、オフセット設定部54、搬送動作実行部56、干渉検出部58、非干渉位置検索部60、ワーク位置修正部62、第1の比率設定部162、第2の比率設定部182、動作範囲設定部204、または追従動作実行部206の機能を担ってもよい。
また、モデル配置部52、オフセット設定部54、搬送動作実行部56、干渉検出部58、非干渉位置検索部60、ワーク位置修正部62、第1の比率設定部162、第2の比率設定部182、動作範囲設定部204、または追従動作実行部206が、CPUを有する1つのコンピュータから構成されてもよい。
また、CPU12は、ステップS4またはS44のシミュレーション実行中に、搬送装置モデル100MがワークWMを搬送する搬送範囲を設定してもよい。例えば、搬送範囲の上流端および下流端は、それぞれ、搬送部モデル104Mの上流端および下流端に近接して配置され得る。
この場合、CPU12は、ステップS5において、ワークモデルWMを搬送範囲の上流端に配置する。そして、ステップS4またはS44のシミュレーション実行中に、搬送装置モデル100Mは、ワークモデルWMを下流端まで搬送する。CPU12は、ワークモデルWMが搬送範囲の下流端に達したときに、該ワークモデルWMを仮想空間110から消去してもよい。
以上、実施形態を通じて本開示を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。
10,150,170,190 シミュレーションシステム
12 CPU
50,160,180,200 シミュレーション装置
52 モデル配置部
54 オフセット設定部
56 搬送動作実行部
58 干渉検出部
60 非干渉位置検索部
62 ワーク位置修正部

Claims (8)

  1. 搬送装置によって搬送される複数のワークに対してロボットが作業を行うロボットシステムのシミュレーション装置であって、
    前記複数のワークおよび前記搬送装置のそれぞれをモデル化した複数のワークモデルおよび搬送装置モデルを仮想空間に配置するモデル配置部と、
    前記搬送装置モデルに対して予め定められた前記複数のワークモデルの各々の基準位置からの、個々の前記ワークモデルのオフセット量を設定するオフセット設定部と、
    前記基準位置と前記オフセット量とから求めた位置に各々が配置される前記複数のワークモデルを、順次、前記搬送装置モデルによって搬送する搬送動作を実行する搬送動作実行部と、
    前記搬送装置モデルによって順次搬送される少なくとも2つの前記ワークモデルの間の干渉を検出する干渉検出部と、
    前記干渉が検出された前記少なくとも2つのワークモデルのうち少なくとも1つのワークモデルに対し、前記干渉が生じなくなる非干渉位置を検索する非干渉位置検索部と、
    検索した前記非干渉位置に基づき、前記搬送装置モデルに配置される前記少なくとも1つのワークモデルの位置を修正するワーク位置修正部と、を備える、シミュレーション装置。
  2. 前記非干渉位置検索部は、
    前記少なくとも2つのワークモデルの相対位置を変更する位置変更部と、
    変更後の該相対位置において前記少なくとも2つのワークモデルの間に干渉が生じるか否かを判定する干渉判定部と、を有する、請求項1に記載のシミュレーション装置。
  3. 前記オフセット設定部は、
    前記基準位置から、前記搬送装置モデルが前記ワークモデルを搬送する搬送方向と平行な第1方向へオフセットした第1のオフセット量と、
    前記基準位置から、前記第1方向と直交する第2方向へオフセットした第2のオフセット量と、
    前記基準位置から、前記第1方向および前記第2方向と直交する軸線の周りの回転方向へオフセットした第3のオフセット量と、のうち少なくとも1つを設定する、請求項1または2に記載のシミュレーション装置。
  4. 前記モデル配置部は、さらに、前記ロボットをモデル化したロボットモデル、前記ワークを保持するロボットハンドをモデル化したロボットハンドモデル、および、前記ワークを検出するセンサをモデル化したセンサモデルを、前記仮想空間に配置し、
    前記シミュレーション装置は、
    前記搬送装置モデルが搬送する前記ワークモデルに前記ロボットハンドモデルを追従させる追従動作を前記ロボットモデルが行うときの追従動作範囲を、前記仮想空間に設定する動作範囲設定部と、
    前記搬送装置モデルが搬送する前記ワークモデルを前記センサモデルが検出した仮想検出結果に基づいて、前記ロボットモデルに前記追従動作を実行させる追従動作実行部と、をさらに備える、請求項1〜3のいずれか1項に記載のシミュレーション装置。
  5. 前記複数のワークモデルは、第1種のワークモデルと、該第1種のワークモデルとは異なる形状を有する第2種のワークモデルと、を有し、
    前記モデル配置部が前記複数のワークモデルを配置するときの、前記第1種のワークモデルの個数と前記第2種のワークモデルの個数との比率を設定する第1の比率設定部をさらに備える、請求項1〜4のいずれか1項に記載のシミュレーション装置。
  6. 前記複数のワークモデルの各々は、表面と裏面とを有し、
    前記モデル配置部が前記複数のワークモデルを配置するときの、前記表面を見せるワークモデルの個数と前記裏面を見せるワークモデルの個数との比率を設定する第2の比率設定部をさらに備える、請求項1〜5のいずれか1項に記載のシミュレーション装置。
  7. 搬送装置によって搬送される複数のワークに対してロボットが作業を行うロボットシステムのシミュレーション方法であって、
    前記複数のワークおよび前記搬送装置のそれぞれをモデル化した複数のワークモデルおよび搬送装置モデルを仮想空間に配置することと、
    前記搬送装置モデルに対して予め定められた前記複数のワークモデルの各々の基準位置からの、個々の前記ワークモデルのオフセット量を設定することと、
    前記基準位置と前記オフセット量とから求めた位置に各々が配置される前記複数のワークモデルを、順次、前記搬送装置モデルによって搬送する搬送動作を実行することと、
    前記搬送装置モデルによって順次搬送される少なくとも2つの前記ワークモデルの間の干渉を検出することと、
    前記干渉が検出された前記少なくとも2つのワークモデルのうち少なくとも1つのワークモデルに対し、前記干渉が生じなくなる非干渉位置を検索することと、
    検索した前記非干渉位置に基づき、前記搬送装置モデルに配置される前記少なくとも1つのワークモデルの位置を修正することと、を備える、シミュレーション方法。
  8. 搬送装置によって搬送される複数のワークに対してロボットが作業を行うシミュレーションを行うために、コンピュータを、
    前記複数のワークおよび前記搬送装置のそれぞれをモデル化した複数のワークモデルおよび搬送装置モデルを仮想空間に配置するモデル配置部、
    前記搬送装置モデルに対して予め定められた前記複数のワークモデルの各々の基準位置からの、個々のワークモデルのオフセット量を設定するオフセット設定部、
    前記基準位置と前記オフセット量とから求めた位置に各々が配置される前記複数のワークモデルを、順次、前記搬送装置モデルによって搬送する搬送動作を実行する搬送動作実行部、
    前記搬送装置モデルによって順次搬送される少なくとも2つの前記ワークモデルの間の干渉を検出する干渉検出部、
    前記干渉が検出された前記少なくとも2つのワークモデルのうち少なくとも1つのワークモデルに対し、前記干渉が生じなくなる非干渉位置を検索する非干渉位置検索部、および、
    検索した前記非干渉位置に基づき、前記搬送装置モデルに配置される前記少なくとも1つのワークモデルの位置を修正するワーク位置修正部、
    として機能させるためのコンピュータプログラム。
JP2017037408A 2017-02-28 2017-02-28 ロボットシステムのシミュレーション装置、シミュレーション方法、およびコンピュータプログラム Active JP6438509B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017037408A JP6438509B2 (ja) 2017-02-28 2017-02-28 ロボットシステムのシミュレーション装置、シミュレーション方法、およびコンピュータプログラム
US15/899,319 US10618163B2 (en) 2017-02-28 2018-02-19 Simulation device, simulation method, and computer program for robot system
DE102018001360.0A DE102018001360B4 (de) 2017-02-28 2018-02-21 Simulationsvorrichtung, simulationsverfahren und computerprogramm für ein robotersystem
CN201810164521.9A CN108500976B (zh) 2017-02-28 2018-02-27 机器人系统的模拟装置、模拟方法以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017037408A JP6438509B2 (ja) 2017-02-28 2017-02-28 ロボットシステムのシミュレーション装置、シミュレーション方法、およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2018140476A true JP2018140476A (ja) 2018-09-13
JP6438509B2 JP6438509B2 (ja) 2018-12-12

Family

ID=63112327

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017037408A Active JP6438509B2 (ja) 2017-02-28 2017-02-28 ロボットシステムのシミュレーション装置、シミュレーション方法、およびコンピュータプログラム

Country Status (4)

Country Link
US (1) US10618163B2 (ja)
JP (1) JP6438509B2 (ja)
CN (1) CN108500976B (ja)
DE (1) DE102018001360B4 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11345027B2 (en) 2019-06-13 2022-05-31 Fanuc Corporation Simulation device

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6450727B2 (ja) * 2016-10-28 2019-01-09 ファナック株式会社 ロボットが行う物品整列作業のシミュレーションのための装置、方法、プログラム及び記録媒体
JP7360406B2 (ja) * 2018-06-26 2023-10-12 ファナック アメリカ コーポレイション ロボット型ピッキングシステムのための拡張現実可視化
CN109746936B (zh) * 2018-12-19 2021-05-04 深圳镁伽科技有限公司 机器人的关节限位方法、装置、系统及存储介质
JP7368147B2 (ja) * 2019-09-02 2023-10-24 ファナック株式会社 搬送シミュレーション装置、及び搬送システム
JP7456249B2 (ja) * 2020-04-10 2024-03-27 オムロン株式会社 シミュレーションのためのプログラムおよび装置
CN112657860A (zh) * 2021-01-15 2021-04-16 佛山科学技术学院 一种自动排队系统和排队方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008296330A (ja) * 2007-05-31 2008-12-11 Fanuc Ltd ロボットシミュレーション装置
JP2015168043A (ja) * 2014-03-10 2015-09-28 ファナック株式会社 ワークの取出工程をシミュレーションするロボットシミュレーション装置
JP2016129915A (ja) * 2015-01-14 2016-07-21 ファナック株式会社 ロボットシステムのシミュレーション装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4787280A (en) * 1986-07-24 1988-11-29 The Warner & Swasey Company Apparatus for machining workpieces and method therefor
JPH0322106A (ja) 1989-06-20 1991-01-30 Tokico Ltd ロボット教示装置
JP3002097B2 (ja) 1994-08-25 2000-01-24 ファナック株式会社 ビジュアルトラッキング方法
JP3725040B2 (ja) * 2001-04-06 2005-12-07 株式会社小松製作所 トランスファフィーダ
US7128198B2 (en) * 2002-12-26 2006-10-31 Komatsu Ltd. Workpiece conveyor for press line
JP2007030087A (ja) 2005-07-26 2007-02-08 Fanuc Ltd 物流トラッキング装置
JP4056542B2 (ja) 2005-09-28 2008-03-05 ファナック株式会社 ロボットのオフライン教示装置
JP2008021092A (ja) 2006-07-12 2008-01-31 Fanuc Ltd ロボットシステムのシミュレーション装置
JP5801569B2 (ja) 2011-02-28 2015-10-28 株式会社ブリヂストン 干渉チェック装置及びプログラム
JP5464176B2 (ja) * 2011-06-20 2014-04-09 株式会社安川電機 ピッキングシステム
US9080855B2 (en) * 2011-09-23 2015-07-14 Mitutoyo Corporation Method utilizing image correlation to determine position measurements in a machine vision system
CN102514010A (zh) 2011-12-31 2012-06-27 长春大正博凯汽车设备有限公司 一种搬运机器人及其搬运方法
CN104245228B (zh) 2012-04-17 2018-04-20 株式会社牧野铣床制作所 机床的干涉判定方法和干涉判定装置
EP2876066A1 (en) 2012-07-20 2015-05-27 Kabushiki Kaisha Yaskawa Denki Robot system and article transfer method
US10518375B2 (en) * 2017-06-16 2019-12-31 Canon Kabushiki Kaisha Production system, production apparatus and method for controlling production system
US10894676B2 (en) * 2017-07-17 2021-01-19 Symbolic Llc Apparatus and method for building a pallet load

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008296330A (ja) * 2007-05-31 2008-12-11 Fanuc Ltd ロボットシミュレーション装置
JP2015168043A (ja) * 2014-03-10 2015-09-28 ファナック株式会社 ワークの取出工程をシミュレーションするロボットシミュレーション装置
JP2016129915A (ja) * 2015-01-14 2016-07-21 ファナック株式会社 ロボットシステムのシミュレーション装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11345027B2 (en) 2019-06-13 2022-05-31 Fanuc Corporation Simulation device

Also Published As

Publication number Publication date
DE102018001360A1 (de) 2018-08-30
CN108500976A (zh) 2018-09-07
US20180243905A1 (en) 2018-08-30
CN108500976B (zh) 2020-06-19
JP6438509B2 (ja) 2018-12-12
US10618163B2 (en) 2020-04-14
DE102018001360B4 (de) 2020-06-18

Similar Documents

Publication Publication Date Title
JP6438509B2 (ja) ロボットシステムのシミュレーション装置、シミュレーション方法、およびコンピュータプログラム
CN109353833B (zh) 机器人码垛点位生成方法、设备及计算机可读存储器
CN108000524B (zh) 模拟装置、模拟方法、模拟程序以及存储介质
JP5767464B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
US10534876B2 (en) Simulation device and simulation method that carry out simulation of operation of robot system, and recording medium that records computer program
US10410339B2 (en) Simulator, simulation method, and simulation program
JP6744709B2 (ja) 情報処理装置、情報処理方法
CN109318226A (zh) 机器人控制装置、机器人控制方法及存储介质
CN109955222A (zh) 物品搬运装置、机器人系统和物品搬运方法
US11185984B2 (en) Method and apparatus for controlling robot
JP2006293826A (ja) ロボットプログラム補正装置
CN107984475B (zh) 模拟机器人动作的模拟装置以及模拟方法
JPWO2019009350A1 (ja) 経路出力方法、経路出力システム及び経路出力プログラム
TWI649171B (zh) 機器人程式之產生裝置及產生方法
JP6841805B2 (ja) ロボット教示装置、ロボット教示方法、及び動作命令を記憶する方法
JP6571723B2 (ja) 動作プログラムを生成するプログラミング装置、及びプログラム生成方法
CN113119131B (zh) 机器人的控制方法、装置、计算机可读存储介质及处理器
WO2021250923A1 (ja) ロボットシステム、制御装置、及び制御方法
WO2018180298A1 (ja) ロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラム
CN109693233B (zh) 机器人姿态检测方法、装置、终端设备及计算机存储介质
CN110198812B (zh) 用于选择用于工业机器人调试的初始点的方法和装置
JP2020160615A (ja) オブジェクト姿勢制御プログラムおよびオブジェクト姿勢制御システム
JP6079352B2 (ja) ロボット制御方法、ロボット制御装置、ロボット、ロボットシステム、及びプログラム
JP7424122B2 (ja) シミュレーション装置およびプログラム
WO2024075290A1 (ja) ロボットシミュレーション装置

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180627

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180820

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181015

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181116

R150 Certificate of patent or registration of utility model

Ref document number: 6438509

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150