JP6998660B2 - ロボットシミュレータ、ロボットシステム及びシミュレーション方法 - Google Patents

ロボットシミュレータ、ロボットシステム及びシミュレーション方法 Download PDF

Info

Publication number
JP6998660B2
JP6998660B2 JP2017030276A JP2017030276A JP6998660B2 JP 6998660 B2 JP6998660 B2 JP 6998660B2 JP 2017030276 A JP2017030276 A JP 2017030276A JP 2017030276 A JP2017030276 A JP 2017030276A JP 6998660 B2 JP6998660 B2 JP 6998660B2
Authority
JP
Japan
Prior art keywords
robot
path
information
input
input information
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
JP2017030276A
Other languages
English (en)
Other versions
JP2018134703A (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.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric 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 Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP2017030276A priority Critical patent/JP6998660B2/ja
Priority to CN201810141614.XA priority patent/CN108453702B/zh
Priority to EP18157102.7A priority patent/EP3363604B1/en
Priority to US15/898,663 priority patent/US11213945B2/en
Publication of JP2018134703A publication Critical patent/JP2018134703A/ja
Application granted granted Critical
Publication of JP6998660B2 publication Critical patent/JP6998660B2/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/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/0081Programme-controlled manipulators with master teach-in means
    • 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
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • B25J13/089Determining the position of the robot with reference to its environment
    • 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
    • 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/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/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding 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/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
    • 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/406Numerical 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 monitoring or safety
    • G05B19/4061Avoiding collision or forbidden zones
    • 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/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/425Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35012Cad cam
    • 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/40121Trajectory planning in virtual space
    • 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/40371Control trajectory to avoid joint limit as well as obstacle 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/40466Plan for minimum time trajectory, at least one joint maximum torque
    • 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/40519Motion, 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/49Nc machine tool, till multiple
    • G05B2219/49143Obstacle, collision avoiding control, move so that no collision occurs
    • 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)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Description

本開示は、ロボットシミュレータ、ロボットシステム及びシミュレーション方法に関する。
特許文献1には、画像生成部と、始点指定部と、経由点指定部と、生成部とを備えるティーチングシステムが開示されている。画像生成部は、ロボットの加工対象であるワーク上に設定された閉じた加工線を含む仮想画像を生成する。始点指定部は、仮想画像上で加工線以外の位置に始点を指定する。経由点指定部は、加工線上に経由点を指定する。生成部は、始点から経由点を経由して加工線をたどり再び当該経由点に戻る経路についてロボットに対する教示データを生成する。
特開2015-202523号公報
本開示は、ロボットの動作教示の容易化に有効なロボットシミュレータ、ロボットシステム及びシミュレーション方法を提供することを目的とする。
本開示の一側面に係るロボットシミュレータは、ロボット及び当該ロボットの周辺の障害物に関するモデル情報を記憶したモデル記憶部と、ロボットの動作の開始点(or開始位置)及びと終了点(終了位置)を定める第一入力情報を取得するように構成された情報取得部と、ロボットと障害物との衝突を回避しつつ、二つの教示点の間でロボットの先端部を開始位置から終了位置まで移動させるパスを第一入力情報及びモデル情報に基づいて生成することと、障害物を示す図とパスの経由点を示す指標とを含む画像データを生成することと、を実行するように構成された情報処理部と、を備える。
本開示の他の側面に係るロボットシステムは、上記ロボットシミュレータと、ロボットと、パスに沿って先端部を移動させるようにロボットを制御するロボットコントローラと、を備える。
本開示の更に他の側面に係るシミュレーション方法は、ロボットシミュレータによるシミュレーション方法であって、ロボット及び当該ロボットの周辺の障害物に関するモデル情報を記憶することと、ロボットの動作の開始位置及び終了位置に対する少なくとも二つの教示点を定める第一入力情報を取得することと、ロボットと障害物との衝突を回避しつつ、二つの教示点の間でロボットの先端部を開始位置から終了位置まで移動させるパスを第一入力情報及びモデル情報に基づいて生成することと、障害物を示す図とパスの経由点を示す指標とを含む画像データを生成することと、を含む。
本開示によれば、ロボットの動作教示の容易化に有効なロボットシミュレータ、ロボットシステム及びシミュレーション方法を提供することができる。
ロボットシステムの全体構成を示す模式図である。 ロボットシミュレータの機能的な構成を示すブロック図である。 ジョブの内容を例示するテーブルである。 メインウィンドウを例示する模式図である。 ロボットシミュレータのハードウェア構成を示すブロック図である。 パス生成支援機能の呼び出しからパス生成までの手順を示すフローチャートである。 ジョブ指定ウィンドウを表示した画面を例示する模式図である。 オプション設定ウィンドウを表示した画面を例示する模式図である。 パス生成の詳細手順を示すフローチャートである。 生成されたパスを表示した画面を例示する模式図である。 開始位置及び終了位置を直線で結ぶパスを表示した画面を例示する模式図である。 指標選択からパス修正までの手順を示すフローチャートである。 経由点の編集マークを表示した画面を例示する模式図である。 パス修正の詳細手順を示すフローチャートである。 修正後のパスを表示した画面を例示する模式図である。 動画再生処理の手順を示すフローチャートである。 動画再生中の画面を例示する模式図である。
以下、実施形態について、図面を参照しつつ詳細に説明する。説明において、同一要素又は同一機能を有する要素には同一の符号を付し、重複する説明を省略する。本実施形態に係るロボットシステムは、オペレータにより教示された動作をロボットに実行させることにより、加工、組立等の様々な作業を自動化するシステムである。
〔ロボットシステム〕
図1に示すように、ロボットシステム1は、ロボット10と、ロボットシミュレータ100と、ロボットコントローラ200とを備える。ロボット10は、例えば6軸の垂直多関節ロボットであり、その先端部に設けられるツールによりワーク30に対する作業を実行するように構成されている。作業内容に応じたツールの選択により、様々な作業を実行可能である。作業内容の具体例としては、パーツをピッキングして配置するピックアンドプレース、パーツ同士のスポット溶接、又はパーツ同士のアーク溶接等が挙げられる。図1においては、パーツ同士のアーク溶接を行うロボット10を例示している。
ロボット10は、基部11と、旋回部12と、第一腕部13と、第二腕部14と、第三腕部15と、先端部16と、アクチュエータ21~26とを有する。
基部11は設置面に固定されている。旋回部12は、基部11の上に設けられており、鉛直な軸線Ax1まわりに旋回可能である。以下、基部11と旋回部12との接続部を「関節J1」といい、基部11に対する旋回部12の旋回角度を「関節J1の角度」という。
第一腕部13は、旋回部12に接続されており、軸線Ax1に直交する軸線Ax2まわりに揺動可能である。直交は、所謂立体交差のように互いに離れて交差することを含む。以下、旋回部12と第一腕部13との接続部を「関節J2」といい、旋回部12に対する第一腕部13の揺動角度を「関節J2の角度」という。
第二腕部14は、第一腕部13の先端部に接続されており、軸線Ax2に平行な軸線Ax3まわりに揺動可能である。以下、第一腕部13と第二腕部14との接続部を「関節J3」といい、第一腕部13に対する第二腕部14の揺動角度を「関節J3の角度」という。第二腕部14の先端部は、第二腕部14の中心線に沿う軸線Ax4まわりに旋回可能である。以下、第二腕部14の基端部と先端部との接続部を「関節J4」といい、第二腕部14の基端部に対する先端部の旋回角度を「関節J4の角度」という。
第三腕部15は、第二腕部14の先端部に接続されており、軸線Ax4に直交する軸線Ax5まわりに揺動可能である。以下、第二腕部14と第三腕部15との接続部を「関節J5」といい、第二腕部14に対する第三腕部15の揺動角度を「関節J5の角度」という。
先端部16は、第三腕部15の先端部に接続されており、軸線Ax6は第三腕部15の中心線に沿う軸線Ax6まわりに旋回可能である。以下、第三腕部15と先端部16との接続部を「関節J6」といい、第三腕部15に対する先端部16の旋回角度を「関節J6の角度」という。先端部16にはツール17が設けられている。ツール17は例えばアーク溶接用のトーチであり、着脱自在である。
アクチュエータ21~26は、例えば電動モータ等を動力源として関節J1~J6をそれぞれ駆動する。具体的に、アクチュエータ21は軸線Ax1まわりに旋回部12を旋回させ、アクチュエータ22は軸線Ax2まわりに第一腕部13を揺動させ、アクチュエータ23は軸線Ax3まわりに第二腕部14を搖動させ、アクチュエータ24は軸線Ax4まわりに第二腕部14の先端部を旋回させ、アクチュエータ25は軸線Ax5まわりに第三腕部15を搖動させ、アクチュエータ26は軸線Ax6まわりに先端部16を旋回させる。
関節J1~J6の角度の調節により、先端部16のツール17の位置及び姿勢をワーク30に合わせて自在に調節することが可能である。
ワーク30は、ロボット10の移動の障害物となり得る要素を含んでいる。例えばワーク30は、ベースとなるパーツ31と、パーツ31上に配置された複数のパーツ32,33,34を有している。一例として、ロボット10は、パーツ31に対するパーツ32,33,34のアーク溶接を行う。一つの溶接部から他の溶接部にツール17を移動させる際に、パーツ32,33,34のそれぞれが障害物となり得る。なお、「障害物」とは、常に先端部16の移動の妨げとなることを意味するものではなく、ロボット10の動作条件によって先端部16の移動の妨げとなり得るものを意味する。ワークのパーツの他、例えばロボットの周辺装置又は治具等も障害物となり得る。
なお、以上に示したロボット10の構成はあくまで一例である。ロボット10の構成は、その先端部の位置及び姿勢を所望の状態に調節可能なものであればいかなるものであってもよい。例えばロボット10は、上述の構成に更に1軸を追加した7軸ロボットであってもよい。
ロボットシミュレータ100は、ロボット10及びワーク30のモデル情報に基づいて、ロボット10及びワーク30の位置関係をシミュレーションし、その結果に基づいてロボット10のパスを生成する。パスは、ロボットシミュレータ100の先端部16の移動経路と、当該経路に沿って先端部16を移動させる際のロボット10の姿勢(すなわち関節J1~J6の角度)とを定める情報である。
ロボットコントローラ200は、上記パスに沿って先端部16を移動させる(上記パスに従って関節J1~関節J5をそれぞれ動作させる)ようにロボット10を制御する。
ロボットシミュレータ100及びロボットコントローラ200は一体化されていてもよい例えばロボットコントローラ200にロボットシミュレータ100の機能が組み込まれていてもよいし、ロボットシミュレータ100にロボットコントローラ200の機能が組み込まれていてもよい。
〔ロボットシミュレータ〕
続いて、ロボットシミュレータ100の構成を詳細に説明する。図2に示すように、ロボットシミュレータ100は、一つ又は複数のコンピュータにより構成された本体110と、入力装置191と、モニタ192とを有する。
入力装置191は、本体110に対し情報を入力するための装置である。入力装置191は、所望の情報を入力可能であればいかなるものであってもよく、その具体例としてはキーパッド及びマウス等が挙げられる。モニタ192は、本体110から出力された情報を表示するための装置である。モニタ192は、グラフィック表示が可能であればいかなるものであってもよく、その具体例としては液晶パネルなどが挙げられる。なお、入力装置191及びモニタ192は、入力機能と表示機能とを併せ持つタッチパネルとして一体化されていてもよい。また、入力装置191及びモニタ192は本体110に組み込まれていてもよい。
本体110は、機能的な構成(以下、「機能モジュール」という。)として、モデル記憶部111と、ジョブ記憶部112と、条件記憶部113と、パス記憶部114と、メイン画面出力部115と、情報取得部120と、情報処理部130と、画像データ出力部118とを有する。
モデル記憶部111は、ロボット10及び当該ロボットの周辺の障害物に関するモデル情報を記憶する。例えばモデル記憶部111は、障害物に関するモデル情報として、ワーク30のモデル情報を記憶する。モデル情報は、例えばポリゴンにより構成された三次元のサーフェスデータである。ロボット10及びワーク30のモデル情報は、三次元の設計データに基づいて生成されたものであってもよいし、三次元計測装置等による計測データに基づいて生成されてものであってもよい。
ジョブ記憶部112は、ロボット10の動作を規定する少なくとも一つのジョブを記憶する。図3に示すように、個々のジョブは、時系列で順に並ぶ複数のラインを含む。各ラインは、先端部16の目標位置及び姿勢を定める情報と、一つ前のラインとの間におけるパス生成の要否とを含む。順に並ぶライン間(以下、「区間」という。)には、線形補間、円弧補間又は関節角度補間等の既存の手法によるパスが予め設定されている。以下、これを「初期パス」という。
図2に戻り、条件記憶部113は、パスの生成条件を記憶する。例えば条件記憶部113は、パス(パスの候補)の生成回数を規制する条件(以下、「繰り返し条件」という。)を記憶する。繰り返し条件は、パスの生成回数の上限値であってもよいし、パスの生成を繰り返す時間であってもよい。
条件記憶部113は、生成されたパスの評価基準を更に記憶してもよい。パスの評価基準は、上記繰り返し条件を満たす生成回数で生成された複数のパスのうち、いずれを選択するかの基準として用いられる。パスの評価基準の具体例としては、パスに沿って先端部16が移動する時間が最小であること、パスに沿って先端部16が移動する際の関節J1~J6の合計動作角度が最小であること、パスの経由点(後述)の数が最小であること、パスに沿って先端部16が移動する際のアクチュエータ21~26の消費電力が最小であること、等が挙げられる。
条件記憶部113は、ロボット10に対する障害物の接近可能距離、すなわち障害物に対するロボット10の接近可能距離を記憶してもよい。接近可能距離は、後述の外殻モデルの生成に用いられる。
条件記憶部113は、パスに沿って移動する際の先端部16の姿勢条件を記憶してもよい。姿勢条件は、先端部16の姿勢角度を一つに定める数値であってもよく、先端部16の姿勢角度の上限値及び下限値を定める数値範囲であってもよい。
条件記憶部113は、パスに沿って先端部16が移動する際の関節J1~J6の可動範囲を記憶してもよい。関節J1~J6の可動範囲は、いかなる形式で定められていてもよい。例えば関節J1~J6の可動範囲は、関節J1~J6の角度の数値範囲であってもよいし、ハードウェア上の制約により定まる可動範囲(以下、「構造上の可動範囲」という。)に対する比率であってもよい。
パス記憶部114は、生成されたパスを記憶する。
メイン画面出力部115は、ロボットシミュレータ100を操作するためのメインウィンドウのデータを生成し、モニタ192に出力する。図4は、メインウィンドウを例示する模式図である。図4に示すように、メインウィンドウ300は、メニューバー310と、ジョブフレーム320と、描画フレーム330とを含む。メニューバー310は、ロボットシミュレータ100の各種機能を呼び出すためのボタンを含む。例えばメニューバー310は、パス生成支援ボタン311と、再生ボタン312とを含む。パス生成支援ボタン311は、パスの生成支援機能を呼び出すためのボタンであり、入力装置191による操作入力(例えばクリック又はタップ等)が可能である。再生ボタン312は、生成されたパスに従ったロボット10の動画像を再生するためのボタンであり、入力装置191による操作入力が可能である。ジョブフレーム320は、パス生成支援の対象となるジョブの構成を表示する。描画フレーム330は、ロボット10を示す図と、ワーク30を示す図とを含む画像を表示する。
図2に戻り、情報取得部120は、少なくとも、ロボット10の動作の開始位置及び終了位置を定める入力情報(以下、「第一入力情報」という。)を取得するように構成されている。「開始位置」は、動作の開始時における先端部16の位置と、当該位置に先端部16を配置する際のロボット10の姿勢(すなわち関節J1~J6の角度)とを含む。「終了位置」は、動作の終了時における先端部16の位置と、当該位置に先端部16を配置する際のロボット10の姿勢とを含む。
情報取得部120は、生成されたパスの経由点(後述)の位置を変更する入力情報(以下、「第二入力情報」という。)を更に取得するように構成されていてもよい。
情報取得部120は、上記繰り返し条件を定める入力情報(以下、「第三入力情報」という。)、上記パスの評価基準を定める入力情報(以下、「第四入力情報」という。)、上記接近可能距離を定める入力情報(以下、「第五入力情報」という。)、上記姿勢条件を定める入力情報(以下、「第六入力情報」という。)、及び上記可動範囲を定める入力情報(以下、「第七入力情報」という。)の少なくとも一つを更に取得するように構成されていてもよい。
例えば情報取得部120は、より細分化された機能モジュールとして、ジョブ指定取得部121と、オプション入力取得部122と、修正入力取得部123とを有する。
ジョブ指定取得部121は、上記第一入力情報の一例として、ジョブ記憶部112に記憶されたジョブのいずれかを指定する情報(以下、「ジョブ指定情報」という。)を入力装置191から取得する。上述のとおり、ジョブは、時系列で順に並ぶ複数のラインを含み、各ラインは、先端部16の目標位置及び姿勢を定める情報を含む。このため、ジョブを指定することで、ジョブの区間ごとに、ロボット10の動作の開始位置及び終了位置が定まる。なお、第一入力情報は、ジョブ指定情報に限られない。ジョブ指定取得部121は、開始位置及び終了位置を直接的に指定する情報を入力装置191から取得してもよい。
オプション入力取得部122は、上記第三入力情報~第七入力情報を入力装置191から取得し、これらの入力情報によりそれぞれ定まる条件を条件記憶部113に書き込む。
修正入力取得部123は、上記第二入力情報の一例として、モニタ192の画像上において経由点の指標(後述)を移動させる入力情報を入力装置191から取得する。
情報処理部130は、ロボット10と障害物との衝突を回避しつつ、先端部16を開始位置から終了位置まで移動させるパスを第一入力情報及びモデル情報に基づいて生成することと、障害物を示す図とパスの経由点を示す指標とを含む画像データを生成することと、を実行するように構成されている。
情報処理部130は、上記第二入力情報に基づく位置の変更後の経由点を通るように、パスを修正することと、第二入力情報に基づいて指標の位置を変更した画像データを生成することと、を更に実行するように構成されていてもよい。
情報処理部130は、パスを生成する際に、第三入力情報により定まる上記繰り返し条件を満たすまでパスの生成を繰り返すことと、生成された複数のパスから一つのパスを選択することとを実行するように構成されていてもよく、複数のパスから一つのパスを選択する際に、第四入力情報により定まる上記評価基準に従って一つのパスを選択するように構成されていてもよい。
情報処理部130は、第五入力情報に基づいて定まる上記接近可能距離を保ちつつロボット10を覆う外殻モデルを生成することを更に実行し、パスを生成する際に、外殻モデルと障害物との衝突を回避しつつ、先端部16を開始位置から終了位置まで移動させるパスを生成するように構成されていてもよい。
情報処理部130は、ロボット10を覆う外殻モデルに加えて、上記接近可能距離を保ちつつ障害物を覆う外殻モデルを生成し、ロボット10の外殻モデルと障害物の外殻モデルとの衝突を回避しつつ、先端部16を開始位置から終了位置まで移動させるパスを生成するように構成されていてもよい。
情報処理部130は、パスを生成する際に、先端部16の姿勢が、第六入力情報により定まる上記姿勢条件を満たすようにパスを生成するように構成されていてもよく、関節J1~J6の動作角度が、第七入力情報により定まる可動範囲内に収まるようにパスを生成するように構成されていてもよい。
例えば情報処理部130は、より細分化された機能モジュールとして、外殻モデル生成部131と、開始・終了位置設定部132と、パス生成部133と、画像データ生成部134と、経由点修正部135と、パス生成可否判定部136と、修正パス生成部137と、動画像データ生成部138とを有する。
外殻モデル生成部131は、条件記憶部113に記憶された上記接近可能距離を保ちつつロボット10を覆う外殻モデルを生成してモデル記憶部111に書き込む。外殻モデル生成部131は、上記接近可能距離を保ちつつ障害物(例えばパーツ32,33,34)を覆う外殻モデルを更に生成してモデル記憶部111に書き込んでもよい。
開始・終了位置設定部132は、ジョブ指定取得部121により取得された指定に対応するジョブ(以下、「指定ジョブ」という。)の情報をジョブ記憶部112から取得し、当該情報に基づいて、パスの生成対象となる区間の開始位置及び終了位置を定める。
パス生成部133は、パスを生成すべき区間の開始位置及び終了位置の情報を開始・終了位置設定部132から取得し、モデル情報をモデル記憶部111から取得して、ロボット10と障害物との衝突を回避しつつ、先端部16を開始位置から終了位置まで移動させるパスを生成する。
より具体的に、パス生成部133は、次の条件i)~iii)を満たすように、少なくとも一つの経由点を経て開始位置から終了位置に至るパスを生成する。開始位置と経由点との間、経由点同士の間、及び経由点と終了位置との間は、線形補間、円弧補間又は関節角度補間等の既存の手法により補間される。
i)モデル記憶部111に記憶されたロボット10の外殻モデルと障害物のモデルとが衝突(干渉)しない。
ii)パスに沿って移動する際の先端部16の姿勢が、条件記憶部113に記憶された上記姿勢条件を満たす。
iii)パスに沿って先端部16が移動する際に、関節J1~J6の動作角度が、条件記憶部113に記憶された可動範囲内に収まる。
パス生成部133は、条件記憶部113に記憶された上記繰り返し条件を満たすまでパスの生成を繰り返して複数のパスを得た後、条件記憶部113に記憶された上記評価基準に従って複数のパスから一つのパスを選択し、当該パスをジョブ記憶部112に記憶された指定ジョブに適用する。これにより、指定ジョブのうちパスの生成対象となっている区間における上記初期パスが、上記条件i)~iii)を満たすパスに改変される。
パスを生成した後、パス生成部133は、第二入力情報に基づく位置の変更後の経由点を通るように、パスを修正する。
画像データ生成部134は、モデル記憶部111に記憶されたモデル情報と、ジョブ記憶部112に記憶された改変後のジョブ(パス生成部133によるパスの改変後のジョブ)とに基づいて、ロボット10を示す図と、ワーク30を示す図と、パスの経由点を示す指標と、パスを示す線とを含む画像データを生成する。画像データは、例えばポリゴン及びベクトルにより構成された三次元画像データであってもよいし、二次元の線図データであってもよい。上記画像データを生成した後、画像データ生成部134は、第二入力情報に基づいて上記指標の位置を変更した画像データを生成する。
経由点修正部135は、上記指標の位置の変更に応じて三次元空間における経由点の位置を変更する。
パス生成可否判定部136は、変更後の経由点を通るパスを生成可能であるか否かを判定する。例えばパス生成可否判定部136は、変更後の経由点が上記条件i)~iii)を満たすか否かを判定する。
修正パス生成部137は、上記変更後の経由点を通るようにパスを修正し、当該パスをジョブ記憶部112に記憶された上記改変後のジョブに適用する。
動画像データ生成部138は、モデル記憶部111に記憶されたモデル情報と、ジョブ記憶部112に記憶された改変後のジョブとに基づいて、パスに沿って先端部16を移動させるようにロボット10を動作させた場合の動画像データを生成する。
画像データ出力部118は、画像データ生成部134により生成された画像データ又は動画像データ生成部138により生成された動画像データをモニタ192に出力する。
図5は、本体110のハードウェア構成を例示するブロック図である。図5に示すように、本体110は回路150を有し、回路150は、一つ又は複数のプロセッサ151と、記憶部152と、入出力ポート155,156とを有する。
記憶部152は、メモリ153及びストレージ154を含む。ストレージ154は、本体110の上記各機能モジュールを構成するためのプログラムを記録している。ストレージ154は、コンピュータ読み取り可能であればどのようなものであってもよい。具体例として、ハードディスク、不揮発性の半導体メモリ、磁気ディスク及び光ディスク等が挙げられる。メモリ153は、ストレージ154からロードしたプログラム及びプロセッサ151の演算結果等を一時的に記憶する。プロセッサ151は、メモリ153と協働してプログラムを実行することで、各機能モジュールを構成する。
入出力ポート155は、プロセッサ151からの指令に応じ、入力装置191との間で電気信号の入出力を行う。入出力ポート156は、プロセッサ151からの指令に応じ、モニタ192との間で電気信号の入出力を行う。
〔シミュレーション方法〕
続いて、シミュレーション方法の一例として、ロボットシミュレータ100によるパスの生成支援手順を説明する。
(パス生成支援機能の呼び出しからパス生成までの手順)
図6に示すように、ロボットシミュレータ100は、まずステップS01を実行する。ステップS01では、パス生成支援ボタン311に対する操作入力をメイン画面出力部115が待機する。
次に、ロボットシミュレータ100はステップS02を実行する。ステップS02では、ジョブ指定取得部121が、ジョブ指定ウィンドウを表示するためのデータをモニタ192に出力する。
図7は、ジョブ指定ウィンドウを表示した画面を例示する模式図である。図7に示すように、ジョブ指定ウィンドウ400は、ジョブリスト401と、オプションボタン402と、パス生成ボタン403とを含む。ジョブリスト401は、ジョブ記憶部112に記憶されているジョブを一覧表示する。入力装置191への入力により、ジョブリスト401に表示されたジョブのいずれかを選択することが可能である。オプションボタン402は、パス生成のオプション条件の入力画面を呼び出すためのボタンであり、入力装置191による操作入力が可能である。パス生成ボタン403は、ジョブリスト401において選択された一つのジョブについてパス生成の実行を要求するためのボタンであり、入力装置191による操作入力が可能である。
図6に戻り、ロボットシミュレータ100は、次にステップS03を実行する。ステップS03では、パス生成ボタン403に対する操作入力の有無をジョブ指定取得部121が確認する。
ステップS03において、パス生成ボタン403に対する操作入力は無いと判定した場合、ロボットシミュレータ100はステップS04を実行する。ステップS04では、オプションボタン402に対する操作入力の有無をオプション入力取得部122が確認する。
ステップS04において、オプションボタン402に対する操作入力は無いと判定した場合、ロボットシミュレータ100は処理をステップS03に戻す。以後、ロボットシミュレータ100は、オプションボタン402又はパス生成ボタン403のいずれかに対する操作入力を待機する。
ステップS04において、オプションボタン402に対する操作入力が有ると判定した場合、ロボットシミュレータ100はステップS05を実行する。ステップS05では、オプション入力取得部122がオプション設定ウィンドウを表示する。
図8は、オプション設定ウィンドウを表示した画面を例示する模式図である。図8に示すように、オプション設定ウィンドウ500は、設定メニュー510,520,530,540,550,560と、OKボタン590とを含む。
設定メニュー510は、パスの探索終了条件(上記繰り返し条件)を設定するためメニューであり、入力ボックス512,513と、ラジオボタン511とを含む。入力ボックス512は、探索パス数(上記繰り返し回数)を入力するための部分であり、入力装置191による数値の入力が可能である。入力ボックス513は、探索時間(上記繰り返し時間)を入力するための部分であり、入力装置191による数値の入力が可能である。ラジオボタン511は、探索パス数及び探索時間のいずれを定めるかを選択するための部分であり、入力装置191による選択入力が可能である。設定メニュー510への入力情報は、上記第三入力情報の一例に相当する。
設定メニュー520は、パスの選択基準(上記評価基準)を設定するためのメニューであり、入力ボックス521を含む。入力ボックス521は、選択基準を入力するための部分であり、入力装置191による選択入力が可能である。例えば入力ボックス521は、プルダウン方式により、「サイクルタイム最小」、「関節動作角度最小」、「経由点数最小」又は「消費電力最少」のいずれかを入力し得るように構成されている。入力ボックス521において「サイクルタイム最小」が入力された場合には、パスに沿って先端部16が移動する時間が最小となるパスを選択するように上記評価基準が設定される。入力ボックス521において「関節動作角度最小」が入力された場合には、パスに沿って先端部16が移動する際の関節J1~J6の合計動作角度が最小となるパスを選択するように上記評価基準が設定される。入力ボックス521において「経由点数最小」が入力された場合には、パスの経由点(後述)の数が最小となるパスを選択するように上記評価基準が設定される。入力ボックス521において「消費電力最小」が入力された場合には、パスに沿って先端部16が移動する際のアクチュエータ21~26の消費電力が最小となるパスを選択するように上記評価基準が設定される。設定メニュー520への入力情報は、上記第四入力情報の一例に相当する。
設定メニュー530は、生成されたパスにおける先端部16の移動速度を設定するためのメニューであり、入力ボックス531を含む。入力ボックス531は、移動速度の設定値を入力するための部分であり、入力装置191による数値の入力が可能である。
設定メニュー540は、簡易化条件(上記外殻モデルの生成条件)を設定するためのメニューであり、入力ボックス541,542を含む。入力ボックス541は、マージン量(上記接近可能距離)を入力するための部分であり、入力装置191による数値の入力が可能である。入力ボックス542は、粒度を入力するための部分であり、入力装置191による数値の入力が可能である。粒度は、外殻モデルの簡易化の程度を意味する。粒度の具体例としては、外殻モデルのサーフェスの細分化の程度を示す数値が挙げられる。細分化の程度を示す数値は、ロボット10のモデルのサーフェスに比較した比率で表されてもよい。入力ボックス541への入力情報は、上記第五入力情報に相当する。
設定メニュー550は、上記姿勢条件を設定するためのメニューであり、入力ボックス551,552,553を含む。入力ボックス551,552,553は、X軸まわりの傾き角、Y軸まわりの傾き角、及びZ軸まわりの傾き角をそれぞれ入力するための部分であり、入力装置191による数値の入力が可能である。なお、X軸、Y軸、Z軸は所定の座標軸である。設定メニュー550への入力情報は、上記第六入力情報に相当する。
設定メニュー560は、パスの探索範囲(空間的な探索範囲)を規制する条件を設定するためのメニューであり、入力ボックス561,562,563,564,565,566と、入力ボックス571,572,573,574,575,576とを含む。
入力ボックス561,562,563,564,565,566は、関節J1~J6の可動範囲を定める値を入力するための部分であり、入力装置191による数値の入力が可能である。例えば、入力ボックス561~566には関節J1~J6の構造上の可動範囲に対する使用率を入力可能である。この場合、関節J1~J6の構造上の可動範囲に上記使用率を乗算した範囲が上記可動範囲として設定される。
入力ボックス571,572,573,574,575,576は、先端部16の可動領域を定める値を入力するための部分であり、入力装置191による数値の入力が可能である。例えば、入力ボックス571,572には、X軸座標の下限及び上限をそれぞれ入力可能であり、入力ボックス573,574には、Y軸座標の下限及び上限をそれぞれ入力可能であり、入力ボックス575,576には、Z軸座標の下限及び上限を入力可能であり、これらの入力値により定まる領域が先端部16の可動領域として設定される。
入力ボックス561~566への入力情報は、上記第七入力情報に相当する。入力ボックス571~576への入力情報も、上記第七入力情報に相当する。先端部16の可動領域を規制することによって、関節J1~J6の可動範囲が間接的に規制されるためである。
OKボタン590は、設定メニュー510,520,530,540,550,560への入力内容の登録を要求するボタンであり、入力装置191による操作入力が可能である。
図6に戻り、ロボットシミュレータ100は、次にステップS06を実行する。ステップS06では、OKボタン590に対する操作入力をオプション入力取得部122が待機する。
次に、ロボットシミュレータ100はステップS07を実行する。ステップS07では、オプション入力取得部122が、設定メニュー510,520,530,540,550,560への入力情報を取得し、これらをパスの生成条件として条件記憶部113に書き込む。
次に、ロボットシミュレータ100はステップS08を実行する。ステップS08では、オプション入力取得部122が、オプション設定ウィンドウ500を非表示にする指令をモニタ192に出力する。
ステップS03において、パス生成ボタン403に対する操作入力がなされたと判定した場合、ロボットシミュレータ100はステップS09を実行する。ステップS09では、ジョブ指定取得部121が、ジョブリスト401におけるジョブの選択状況を上記ジョブ指定情報として取得する。
次に、ロボットシミュレータ100はステップS10を実行する。ステップS10では、情報処理部130が、指定ジョブ(ジョブ指定情報により指定されたジョブ)の区間のうちパスの生成対象となる区間について、条件記憶部113に記憶された条件に従ってパスを生成する。ステップS10における処理内容については、後に詳述する。以上でパスの生成支援機能の呼び出しからパス生成までの手順が完了する。
(パス生成の詳細手順)
続いて、ステップS10における処理の詳細な手順を説明する。図9に示すように、ロボットシミュレータ100は、まずステップS21を実行する。ステップS21では、外殻モデル生成部131が、条件記憶部113に記憶された上記接近可能距離を保ちつつロボット10を覆う外殻モデルを生成してモデル記憶部111に書き込む。例えば条件記憶部113は、ロボット10のモデルと外殻モデルとの間隔の最小値が上記接近可能距離以上となるように、上記粒度に従って外殻モデルを生成する。
次に、ロボットシミュレータ100はステップS22を実行する。ステップS22では、開始・終了位置設定部132が、上記指定ジョブの情報をジョブ記憶部112から取得し、当該情報に基づいて、パスの生成対象となる区間の開始位置及び終了位置を定める。
次に、ロボットシミュレータ100はステップS23を実行する。ステップS23では、パス生成部133が、開始位置及び終了位置の情報を開始・終了位置設定部132から取得し、モデル情報をモデル記憶部111から取得して、ロボット10と障害物との衝突を回避しつつ、先端部16を開始位置から終了位置まで移動させるパスを生成し、これをパスの候補としてジョブ記憶部112に書き込む。より具体的に、パス生成部133は、上記条件i)~iii)を満たすようにパスを生成する。例えばパス生成部133は、上記条件i)~iii)を満たす経由点を生成し、当該経由点を通るようにパスを修正することを、パス全体にわたって条件i)~iii)が満たされるまで繰り返す。より詳細な手法は、例えば特許第4103057号等に開示されている。
次に、ロボットシミュレータ100はステップS24を実行する。ステップS24では、条件記憶部113に記憶された上記繰り返し条件が満たされたか否かをパス生成部133が確認する。
ステップS24において、上記繰り返し条件を満たしていないと判定した場合、ロボットシミュレータ100は処理をステップS23に戻す。以後、上記繰り返し条件が満たされるまで、パスの候補の生成と書き込みが繰り返され、パス記憶部114に複数のパスの候補が蓄積される。
次に、ロボットシミュレータ100はステップS25を実行する。ステップS25では、パス生成部133が、条件記憶部113に記憶された上記評価基準に従って、上記複数のパスの候補から一つのパスを選択し、当該パスをジョブ記憶部112に記憶された指定ジョブに適用する。すなわち、指定ジョブのうち、当該パスの生成対象となった区間に、当該パスの経由点を挿入する。これにより、当該区間における上記初期パスが、上記条件i)~iii)を満たすパスに改変される。
次に、ロボットシミュレータ100はステップS26を実行する。ステップS26では、開始・終了位置設定部132が、パスの生成対象となる全区間についてパスの生成が完了したかを確認する。
ステップS26において、パスを生成すべき区間が残っていると判定した場合、ロボットシミュレータ100はステップS27を実行する。ステップS27では、開始・終了位置設定部132が、パスを生成すべき区間のいずれかを選択し、これに応じて開始位置及び終了位置を変更する。その後、ロボットシミュレータ100は処理をステップS23に戻す。以後、パスの生成対象となる全区間についてパスの生成が完了するまで、パスの生成と、生成後のパスに応じた指定ジョブの改変とが繰り返される。これにより、パスの生成対象となる全区間について、初期パスの改変がなされた指定ジョブを、以下においては「改変後のジョブ」という。
ステップS26において、パスを生成すべき区間は残っていないと判定した場合、ロボットシミュレータ100はステップS28を実行する。ステップS28では、画像データ生成部134が、モデル記憶部111に記憶されたモデル情報と、ジョブ記憶部112に記憶された改変後のジョブとに基づいて、ロボット10を示す図と、外殻モデルを示す図と、ワーク30を示す図と、パスの経由点を示す指標と、パスを示す線とを含む画像データを生成する。
次に、ロボットシミュレータ100はステップS29を実行する。ステップS29では、画像データ出力部118が、ステップS29において生成された画像データを画像データ生成部134から取得し、当該画像データをモニタ192に出力する。以上で上記ステップS10が完了する。
図10は、ステップS29において、モニタ192に表示される画像を例示する模式図である。描画フレーム330には、ロボット10のモデルM1と、ワーク30のモデルM2に加え、外殻モデルM3が表示されている。更に、描画フレーム330には、開始位置を示す指標P1と、経由点を示す指標P11~P15と、終了位置を示す指標P2と、経由点の指標P11~P15経て開始位置の指標P1から終了位置の指標P2に至る線RT1とが表示されている。指標P11~P15が表示された状態においては、入力装置191により、指標P11~P15のいずれかを選択する入力が可能である。なお、図10においては、理解の容易化のために描画フレーム330内の表示内容を二次元的に示しているが、実際には、描画フレーム330内に三次元画像を表示することが可能である。
図11は、比較用の図であり、上記ステップS23~S27を行うことなく、上記初期パスを表示した画像を例示している。図11においては、パーツ32,33を通り抜けて指標P1から指標P2に至る線RT2が表示されている。線RT2で示される初期パスにてロボット10を動作させる場合に、ロボット10とパーツ32,33との衝突が生じるのは明らかである。これに対し、図10における線RT1は、パーツ32,33を迂回して指標P1から指標P2に至っており、線RT1で示されるパスにてロボット10を動作させる場合、ロボット10とパーツ32,33との衝突は生じない。
以上のように、ワーク30のモデルM2と、経由点を示す指標P11~P15とを合わせて描画することにより、生成されたパスの妥当性を視覚的に確認することが可能である。また、パスを示す線RT1を合わせて表示することにより、生成されたパスの妥当性をより明確に確認することが可能である。
なお、上述した手順においては、ジョブ記憶部112に記憶された指定ジョブを生成後のパスにより改変する例を示したが、パス生成部133は、指定ジョブのコピーを生成した上で、当該コピーを改変してもよい。
(指標選択からパス修正までの手順)
図12に示すように、ロボットシミュレータ100は、まずステップS31を実行する。ステップS31では、いずれかの経由点の指標を選択する入力の有無を修正入力取得部123が確認する。
ステップS31において、指標を選択する入力が無いと判定した場合、ロボットシミュレータ100はステップS32を実行する。ステップS32では、入力装置191において、パス修正を完了させる入力(以下、「完了入力」という。)がなされたか否かを修正入力取得部123が確認する。完了入力の具体例としては、再生ボタン312に対する操作入力、又はメインウィンドウ300を閉じる入力等が挙げられる。
ステップS32において、完了入力は無いと判定した場合、ロボットシミュレータ100は処理をステップS31に戻す。以後、ロボットシミュレータ100は、指標を選択する入力又は完了入力を待機する。
ステップS31において、指標を選択する入力が有ると判定した場合、ロボットシミュレータ100はステップS33を実行する。ステップS33では、編集マークEM(図13参照)を選択された指標に付加する指令を修正入力取得部123が画像データ出力部118に出力し、この指令に応じた画像データを画像データ出力部118がモニタ192に出力する。以下、編集マークEMが付された指標を「アクティブ指標」という。アクティブ指標は、入力装置191による操作入力(例えばドラッグ入力)により移動させることが可能である。
次に、ロボットシミュレータ100はステップS34を実行する。ステップS34では、アクティブ指標を移動させる操作入力が開始されたか否かを修正入力取得部123が確認する。
ステップS34において、アクティブ指標を移動させる操作入力が開始されたと判定した場合、ロボットシミュレータ100はステップS35を実行する。ステップS35では、情報処理部130が、アクティブ指標の移動に応じてパスを修正する処理を実行する。ステップS35における処理内容については、後に詳述する。
次に、ロボットシミュレータ100は、ステップS36を実行する。ステップS36では、アクティブ指標を移動させる操作入力が完了したか否かを修正入力取得部123が確認する。
ステップS36において、アクティブ指標を移動させる操作入力は完了していないと判定した場合、ロボットシミュレータ100は処理をステップS35に戻す。以後、アクティブ指標を移動させる操作入力が完了するまで、アクティブ指標の移動に応じたパスの修正が繰り返される。
ステップS36において、アクティブ指標を移動させる操作入力が完了したと判定した場合、ロボットシミュレータ100はステップS37を実行する。ステップS34において、アクティブ指標を移動させる操作入力が開始されていないと判定した場合、ロボットシミュレータ100は、ステップS35,S36を実行することなくステップS37を実行する。ステップS37では、他の経由点の指標を選択する操作入力の有無を修正入力取得部123が確認する。
ステップS37において、他の経由点の指標を選択する操作入力が有ると判定した場合、ロボットシミュレータ100はステップS38を実行する。ステップS38では、編集マークEMの位置を新たに選択された指標の位置に変更する指令を修正入力取得部123が画像データ出力部118に出力し、この指令に応じた画像データを画像データ出力部118がモニタ192に出力する。
次に、ロボットシミュレータ100はステップS39を実行する。ステップS37において、他の経由点の指標を選択する操作入力は無いと判定した場合、ロボットシミュレータ100はステップS38を実行することなくステップS39を実行する。ステップS39では、修正入力取得部123が上記完了入力の有無を確認する。
ステップS39において、完了入力は無いと判定した場合、ロボットシミュレータ100は処理をステップS33に戻す。以後、完了入力がなされるまでは、入力装置191への操作入力に応じて、アクティブ指標の移動に応じたパス修正と、アクティブ指標の変更とが繰り返される。ステップS32及びステップS39において完了入力が有ると判定した場合、ロボットシミュレータ100は処理を完了する。
(パス修正の詳細手順)
続いて、ステップS35における処理の詳細な手順を説明する。図14に示すように、ロボットシミュレータ100は、まずステップS41を実行する。ステップS41では、修正入力取得部123が、アクティブ指標を移動させる入力情報を取得する。
次に、ロボットシミュレータ100はステップS42を実行する。ステップS42では、修正入力取得部123が、ステップS41において取得した情報に応じてアクティブ指標の移動量を設定する。
次に、ロボットシミュレータ100はステップS43を実行する。ステップS43では、経由点修正部135が、アクティブ指標の移動量に応じて経由点の位置を変更する。
次に、ロボットシミュレータ100はステップS44を実行する。ステップS44では、変更後の経由点(ステップS43において位置が変更された経由点)を通るパスの生成可否をパス生成可否判定部136が判定する。例えばパス生成可否判定部136は、変更後の経由点が上記条件i)~iii)を満たすかを判定する。
ステップS44において、変更後の経由点を通るパスを生成可能であると判定した場合、ロボットシミュレータ100はステップS45を実行する。ステップS45では、修正パス生成部137が、変更後の経由点を通るようにパスを再生成し、当該パスをジョブ記憶部112に記憶された上記改変後のジョブに適用する。すなわち、改変後のジョブのうち、当該パスの生成対象となった区間に、当該パスの経由点を挿入する。
次に、ロボットシミュレータ100はステップS46を実行する。ステップS46では、ステップS43において設定された移動量にてアクティブ指標の位置を変更し、これに応じて編集マークの位置も変更し、更に変更後のアクティブ指標を通るようにパスの線を変更した画像データを画像データ生成部134が再生成する。
ステップS44において、変更後の経由点を通るパスの生成が不可であると判定した場合、ロボットシミュレータ100はステップS47を実行する。ステップS47では、パスの生成が不可であることを通知するための画像データ(以下、「NG画像データ」という。)を画像データ生成部134が生成する。NG画像データは、パスの生成が不可であることを視覚的に認識させられる限りどのような画像であってもよい。例えば画像データ生成部134は、パスの生成が可能である場合に対して、ロボット10の図の色又は描画フレーム330の背景色等を変更した画像データをNG画像データとして生成してもよい。
ステップS46又はステップS47を実行した後、ロボットシミュレータ100はステップS48を実行する。ステップS48では、画像データ出力部118が、ステップS46又はステップS47において生成された画像データを画像データ生成部134から取得し、当該画像データをモニタ192に出力する。以上で上記ステップS35が完了する。
図15は、ステップS48において、モニタ192に表示される画像を例示する模式図であり、図13における指標P13の位置が変更され、これに応じてパスの線RT1が変更された場合を例示している。
(動画再生処理の手順)
図16に示すように、ロボットシミュレータ100は、まずステップS51を実行する。ステップS51では、動画像データ生成部138が再生ボタン312に対する操作入力を待機する。
次に、ロボットシミュレータ100はステップS52を実行する。ステップS52では、動画像データ生成部138が、ジョブの開始位置に対応する関節J1~J6の角度をジョブ記憶部112から取得する。以下、動画像データ生成部138により取得された関節J1~J6の角度を「シミュレーション角度」という。
次に、ロボットシミュレータ100はステップS53を実行する。ステップS53では、動画像データ生成部138が、モデル記憶部111に記憶されたモデル情報と、ジョブ記憶部112に記憶されたジョブとに基づいて、シミュレーション角度を適用したロボット10の図と、ワーク30の図と、パスの経由点を示す指標と、パスを示す線とを含む画像データを、モデル記憶部111に記憶されたモデル情報及びジョブ記憶部112に記憶されたジョブに基づいて生成する。
次に、ロボットシミュレータ100はステップS54を実行する。ステップS54では、画像データ出力部118が、ステップS53において生成された画像データを動画像データ生成部138から取得し、当該画像データをモニタ192に出力する。
次に、ロボットシミュレータ100はステップS55を実行する。ステップS55では、シミュレーション角度を適用したロボット10の先端部16がジョブの終了位置に到達したか否かを動画像データ生成部138が確認する。
ステップS55において、先端部16がジョブの終了位置に到達していないと判定した場合、ロボットシミュレータ100はステップS56を実行する。ステップS56では、動画像データ生成部138が、パス上における次の位置(例えば所定時間経過後の位置)に対応する関節J1~J6の角度をジョブ記憶部112から取得する。
その後、ロボットシミュレータ100は処理をステップS53に戻す。以後、先端部16がジョブの終了位置に到達するまで、パスに沿った先端部16の位置の変更と、これに応じた関節J1~J6のシミュレーション角度の変更と、変更後のシミュレーション角度に応じた画像データの生成及び出力とが繰り返される。これにより、パスに沿って先端部16を移動させる場合におけるロボット10の動作が動画像として表示される(図17参照)。
ステップS55において、ロボット10の先端部16がジョブの終了位置に到達したと判定した場合、ロボットシミュレータ100は動画再生処理を完了する。生成されたパスを含むジョブに従ったロボット10の動作を動画像として表示することにより、生成されたパスの妥当性をより明確に確認することが可能である。
〔本実施形態の効果〕
以上に説明したように、ロボットシミュレータ100は、ロボット10及び当該ロボット10の周辺の障害物に関するモデル情報を記憶したモデル記憶部111と、ロボット10の動作の開始位置及び終了位置を定める第一入力情報を取得するように構成された情報取得部120と、ロボット10と障害物との衝突を回避しつつ、ロボット10の先端部16を開始位置から終了位置まで移動させるパスを第一入力情報及びモデル情報に基づいて生成することと、障害物を示す図とパスの経由点を示す指標とを含む画像データを生成することと、を実行するように構成された情報処理部130と、を備える。
このロボットシミュレータ100によれば、ロボット10と障害物との衝突を回避しつつ、ロボット10の先端部16を開始位置から終了位置まで移動させるパスが自動生成される。また、障害物を示す図とパスの経由点を示す指標とを含む画像データが生成されるので、当該画像データを用い、障害物及び自動生成されたパスの関係を視覚的に示すことができる。これにより、パスの採用可否判定、及びパスの微調節等を容易に行うことが可能となる。従って、ロボット10の動作教示の容易化に有効である。
情報取得部120は、経由点の位置を変更する第二入力情報を更に取得するように構成され、情報処理部130は、第二入力情報に基づく位置の変更後の経由点を通るように、パスを再生成することと、第二入力情報に基づいて指標の位置を変更した画像データを生成することと、を更に実行するように構成されていてもよい。この場合、画像上で経由点を移動させる直感的操作によってパスを調節できる。また、経由点の位置の変更後に画像が更新されるので、調節後のパスの状態を確認しながらパスを調節できる。従って、ロボット10の動作教示の容易化に更に有効である。
情報取得部120は、パスの生成回数を規制する条件を定める第三入力情報を更に取得するように構成され、情報処理部130は、パスを生成する際に、第三入力情報により定まる条件を満たすまでパスの生成を繰り返すことと、生成された複数のパスから一つのパスを選択することとを実行するように構成されていてもよい。複数のパスを得たうえで一つのパスの選ぶことで、より品質(例えばロボットの動作効率の高さ等)の高いパスを生成可能である。また、パスの生成回数を規制する条件を設定可能とすることで、パスの品質及び生成時間のバランスをユーザの好みに応じて調節することが可能となる。従って、ロボット10の動作教示の容易化に更に有効である。
情報取得部120は、パスの評価基準を定める第四入力情報を更に取得するように構成され、情報処理部130は、複数のパスから一つのパスを選択する際に、第四入力情報により定まる評価基準に従って一つのパスを選択するように構成されていてもよい。この場合、パスの評価基準を指定可能とすることで、よりユーザの要求に合ったパスの生成が可能となる。従って、ロボット10の動作教示の容易化に更に有効である。
情報取得部120は、ロボット10に対する接近可能距離を定める第五入力情報を更に取得するように構成され、情報処理部130は、第五入力情報に基づいて定まる接近可能距離を保ちつつロボット10を覆う外殻モデルを生成することを更に実行し、パスを生成する際に、外殻モデルと障害物との衝突を回避しつつ、先端部16を開始位置から終了位置まで移動させるパスを生成するように構成されていてもよい。この場合、ロボット10の先端部16がパスに沿って動く場合に、ロボット10と障害物との間に少なくとも接近可能距離に相当する間隔が保たれる。このため、ロボット10の先端部16が実際に動く軌道と、パスとの間にある程度のずれを許容することが可能となる。また、外殻モデルの形状を単純化し、パスの生成速度を向上させることも可能となる。従って、ロボット10の動作教示の容易化に更に有効である。
情報取得部120は、ロボット10の先端部16の姿勢条件を定める第六入力情報を更に取得するように構成され、情報処理部130は、パスを生成する際に、先端部16の姿勢が、第六入力情報により定まる姿勢条件を満たすようにパスを生成するように構成されていてもよい。この場合、ユーザが求める姿勢条件を満たしつつパスを生成することが可能となる。従って、ロボットの動作教示の容易化に更に有効である。
情報取得部120は、ロボット10の関節J1~J6の可動範囲を定める第七入力情報を更に取得するように構成され、情報処理部130は、パスを生成する際に、関節J1~J6の動作角度が、第七入力情報により定まる可動範囲内に収まるパスを生成するように構成されていてもよい。この場合、関節J1~J6の可動範囲を、構造上の可動範囲に比較して小さく設定することで、関節角度の更なる変更余地を残した状態でパスを生成することが可能となる。このため、パスの生成後に当該パスを微調整する作業が更に容易となる。従って、ロボットの動作教示の容易化に更に有効である。
以上、実施形態について説明したが、本発明は必ずしも上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で様々な変更が可能である。
1…ロボットシステム、10…ロボット、100…ロボットシミュレータ、200…ロボットコントローラ、J1,J2,J3,J4,J5,J6…関節、32,33,34…パーツ(障害物)、111…モデル記憶部、120…情報取得部、130…情報処理部。

Claims (9)

  1. ロボット及び当該ロボットの周辺の障害物に関するモデル情報を記憶したモデル記憶部と、
    前記ロボットの動作の開始位置及び終了位置を定める第一入力情報を取得するように構成された情報取得部と、
    記ロボットの先端部を前記開始位置から前記終了位置まで移動させるパスを前記第一入力情報及び前記モデル情報に基づいて生成するように構成された情報処理部と、を備え、
    前記情報処理部は、前記ロボットと前記障害物とが衝突しないように経由点を追加することと、前記経由点を通るように前記パスを変更することと、を前記パスの全体にわたって前記ロボットと前記障害物との衝突が回避されるまで繰り返し、前記障害物を示す図と前記経由点を示す指標とを含む画像データを生成するように構成され、
    前記情報取得部は、前記経由点の位置を変更する第二入力情報を更に取得するように構成され、
    前記情報処理部は、前記第二入力情報に基づく位置の変更後の前記経由点を通るように、前記パスを再生成することと、前記第二入力情報に基づいて前記指標の位置を変更した前記画像データを生成することと、を更に実行するように構成されているロボットシミュレータ。
  2. 前記情報取得部は、前記パスの生成回数を規制する条件を定める第三入力情報を更に取得するように構成され、
    前記情報処理部は、前記パスを生成する際に、前記第三入力情報により定まる条件を満たすまで前記パスの生成を繰り返すことと、生成された複数のパスから一つのパスを選択することとを実行するように構成されている、請求項1記載のロボットシミュレータ。
  3. 前記情報取得部は、前記パスの評価基準を定める第四入力情報を更に取得するように構成され、
    前記情報処理部は、前記生成された前記複数のパスから前記一つのパスを選択する際に、前記第四入力情報により定まる前記評価基準に従って前記一つのパスを選択するように構成されている、請求項2記載のロボットシミュレータ。
  4. 前記情報取得部は、前記ロボットに対する接近可能距離を定める第五入力情報を更に取得するように構成され、
    前記情報処理部は、前記第五入力情報に基づいて定まる前記接近可能距離を保ちつつ前記ロボットを覆う外殻モデルを生成することを更に実行し、前記パスを生成する際に、前記外殻モデルと前記障害物との衝突を回避しつつ、前記先端部を前記開始位置から前記終了位置まで移動させるパスを生成するように構成されている、請求項1~3のいずれか一項記載のロボットシミュレータ。
  5. 前記情報取得部は、前記外殻モデルの簡易化の程度を示す粒度を定める粒度情報と、を更に取得するように構成され、
    前記情報処理部は、前記第五入力情報に基づいて定まる前記接近可能距離を保ちつつ前記外殻モデルを前記粒度に従って生成する、請求項4記載のロボットシミュレータ。
  6. 前記情報取得部は、前記ロボットの先端部の姿勢条件を定める第六入力情報を更に取得するように構成され、
    前記情報処理部は、前記パスを生成する際に、前記先端部の姿勢が、前記第六入力情報により定まる前記姿勢条件を満たすように前記パスを生成するように構成されている、請求項1~のいずれか一項記載のロボットシミュレータ。
  7. 前記情報取得部は、前記ロボットの関節の可動範囲を定める第七入力情報を更に取得するように構成され、
    前記情報処理部は、前記パスを生成する際に、前記関節の動作角度が、前記第七入力情報により定まる前記可動範囲内に収まるように前記パスを生成するように構成されている、請求項1~のいずれか一項記載のロボットシミュレータ。
  8. 請求項1~のいずれか一項記載のロボットシミュレータと、
    前記ロボットと、
    前記パスに沿って前記先端部を移動させるように前記ロボットを制御するロボットコントローラと、を備えるロボットシステム。
  9. ロボットシミュレータによるシミュレーション方法であって、
    ロボット及び当該ロボットの周辺の障害物に関するモデル情報を記憶することと、
    前記ロボットの動作の開始位置及び終了位置を定める第一入力情報を取得することと、
    記ロボットの先端部を前記開始位置から前記終了位置まで移動させるパスを前記第一入力情報に基づいて生成することと、
    前記モデル情報に基づいて前記ロボットと前記障害物とが衝突しないように経由点を追加することと、前記経由点を通るように前記パスを変更することと、を前記パスの全体にわたって前記ロボットと前記障害物との衝突が回避されるまで繰り返すことと、
    前記障害物を示す図と前記経由点を示す指標とを含む画像データを生成することと、
    前記経由点の位置を変更する第二入力情報を取得することと、
    前記第二入力情報に基づく位置の変更後の前記経由点を通るように、前記パスを再生成することと、
    前記第二入力情報に基づいて前記指標の位置を変更した前記画像データを生成することと、を含むシミュレーション方法
JP2017030276A 2017-02-21 2017-02-21 ロボットシミュレータ、ロボットシステム及びシミュレーション方法 Active JP6998660B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017030276A JP6998660B2 (ja) 2017-02-21 2017-02-21 ロボットシミュレータ、ロボットシステム及びシミュレーション方法
CN201810141614.XA CN108453702B (zh) 2017-02-21 2018-02-11 机器人仿真器、机器人***以及仿真方法
EP18157102.7A EP3363604B1 (en) 2017-02-21 2018-02-16 Robot simulator, robot system and simulation method
US15/898,663 US11213945B2 (en) 2017-02-21 2018-02-19 Robot simulator, robot system and simulation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017030276A JP6998660B2 (ja) 2017-02-21 2017-02-21 ロボットシミュレータ、ロボットシステム及びシミュレーション方法

Publications (2)

Publication Number Publication Date
JP2018134703A JP2018134703A (ja) 2018-08-30
JP6998660B2 true JP6998660B2 (ja) 2022-01-18

Family

ID=61244397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017030276A Active JP6998660B2 (ja) 2017-02-21 2017-02-21 ロボットシミュレータ、ロボットシステム及びシミュレーション方法

Country Status (4)

Country Link
US (1) US11213945B2 (ja)
EP (1) EP3363604B1 (ja)
JP (1) JP6998660B2 (ja)
CN (1) CN108453702B (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018202321A1 (de) * 2018-02-15 2019-08-22 Robert Bosch Gmbh Koordinierungsanlage, Handhabungseinrichtung und Verfahren
PL3769174T3 (pl) 2018-03-21 2022-10-24 Realtime Robotics, Inc. Planowanie przemieszczania robota do różnych środowisk i zadań oraz jego ulepszone działanie
US11440119B2 (en) 2018-10-12 2022-09-13 Teradyne, Inc. System and method for weld path generation
JP6508691B1 (ja) 2018-10-15 2019-05-08 株式会社Mujin 制御装置、作業ロボット、プログラム、及び、制御方法
JP7028151B2 (ja) * 2018-12-14 2022-03-02 トヨタ自動車株式会社 軌道生成装置
JP7147571B2 (ja) * 2019-01-15 2022-10-05 オムロン株式会社 経路生成装置、経路生成方法、及び経路生成プログラム
JP6577686B1 (ja) * 2019-02-18 2019-09-18 株式会社Mujin 制御装置、作業ロボット、プログラム、及び、制御方法
JP7251224B2 (ja) 2019-03-11 2023-04-04 セイコーエプソン株式会社 制御装置およびロボットシステム
CN110053045A (zh) * 2019-04-08 2019-07-26 佛山市宸卡机器人科技有限公司 工件表面轮廓线获取方法、干涉检测方法和相关装置
CN113905855B (zh) 2019-04-17 2023-08-25 实时机器人有限公司 运动规划图生成用户界面、***、方法和规则
JP7222803B2 (ja) * 2019-04-25 2023-02-15 株式会社日立製作所 軌道計画装置、軌道計画方法及びプログラム
JP6560841B1 (ja) * 2019-06-03 2019-08-14 株式会社Mujin 制御装置、作業ロボット、プログラム、及び、制御方法
JP7174673B2 (ja) * 2019-06-17 2022-11-17 株式会社日立ビルシステム 案内ロボット
JP7346133B2 (ja) * 2019-07-29 2023-09-19 株式会社キーエンス ロボット設定装置及びロボット設定方法
CN110555240B (zh) * 2019-08-09 2022-11-18 华南理工大学 一种从机器人装配体模型到仿真模型的自动生成方法
KR20210040613A (ko) 2019-10-04 2021-04-14 삼성전자주식회사 전자 장치 및 그의 제어 방법
JP7451940B2 (ja) * 2019-10-31 2024-03-19 セイコーエプソン株式会社 制御方法および算出装置
JP7424122B2 (ja) 2020-03-11 2024-01-30 オムロン株式会社 シミュレーション装置およびプログラム
US11707843B2 (en) * 2020-04-03 2023-07-25 Fanuc Corporation Initial reference generation for robot optimization motion planning
EP4160334A4 (en) 2020-06-23 2024-06-19 Kabushiki Kaisha Yaskawa Denki SIMULATION DEVICE, CONTROL SYSTEM, SIMULATION METHOD AND PROGRAM
JP6898506B1 (ja) 2020-07-01 2021-07-07 株式会社安川電機 制御システム、ロボットシステム及び制御方法
JP7413949B2 (ja) 2020-08-19 2024-01-16 コベルコ建機株式会社 アタッチメントの目標速度変更システム
TW202221433A (zh) * 2020-11-18 2022-06-01 日商發那科股份有限公司 自干擾判定裝置
JP7435434B2 (ja) * 2020-12-22 2024-02-21 株式会社デンソー レイアウト生成装置、レイアウト生成方法およびレイアウト生成プログラム
JP2022117612A (ja) * 2021-02-01 2022-08-12 セイコーエプソン株式会社 動作パラメーター調整方法、動作パラメーター調整プログラムおよびロボットシステム
CN112511759B (zh) * 2021-02-08 2021-05-11 常州微亿智造科技有限公司 飞拍控制方法和装置
TW202233369A (zh) * 2021-02-18 2022-09-01 日商發那科股份有限公司 機器人控制裝置、機器人控制系統、及電腦程式
JP2022149202A (ja) * 2021-03-25 2022-10-06 セイコーエプソン株式会社 ロボットの制御プログラムの生成方法、ロボットの制御プログラムを生成する処理をプロセッサーに実行させるコンピュータープログラム、及び教示装置
WO2022224449A1 (ja) * 2021-04-23 2022-10-27 日本電気株式会社 制御装置、制御方法及び記憶媒体
JP7083943B1 (ja) 2021-05-24 2022-06-13 Dmg森精機株式会社 情報処理装置
JP6921354B1 (ja) * 2021-05-24 2021-08-18 Dmg森精機株式会社 情報処理装置
CN113500601B (zh) * 2021-07-21 2022-11-22 上海原圈网络科技有限公司 一种机器人运动控制方法和***
JP2023117506A (ja) * 2022-02-14 2023-08-24 オムロン株式会社 多関節ロボットのパスを生成する装置、多関節ロボットのパスを生成する方法および多関節ロボットのパスを生成するプログラム
WO2023162164A1 (ja) * 2022-02-25 2023-08-31 三菱電機株式会社 教示支援装置、作業システム、教示支援方法および教示支援プログラム
JP7327550B1 (ja) 2022-03-08 2023-08-16 株式会社安川電機 ロボットコントローラ、及び制御方法
US20230294275A1 (en) * 2022-03-21 2023-09-21 Intrinsic Innovation Llc Robot programming
CN114647247A (zh) * 2022-05-09 2022-06-21 中国铁建重工集团股份有限公司 一种机器人路径记忆控制方法、装置、***及设备
CN114799638A (zh) * 2022-05-16 2022-07-29 广州东焊智能装备有限公司 一种基于虚拟现实的人机协作焊接***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216015A (ja) 2000-01-31 2001-08-10 Iwate Prefecture ロボットの動作教示装置
JP2005149016A (ja) 2003-11-13 2005-06-09 Fanuc Ltd ロボットプログラム修正装置
JP2015160277A (ja) 2014-02-27 2015-09-07 ファナック株式会社 ロボットの動作経路を生成するロボットシミュレーション装置

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04103057A (ja) 1990-08-23 1992-04-06 Fujitsu Ltd テンション・センサの受信回路
JPH05250023A (ja) * 1991-10-23 1993-09-28 Sanyo Electric Co Ltd ロボットマニピュレータの経路自動生成法
JPH08166809A (ja) * 1994-10-14 1996-06-25 Kobe Steel Ltd 複数台ロボットの干渉回避方法及び作業順・作業分担決定方法
JP4014662B2 (ja) * 1995-09-18 2007-11-28 ファナック株式会社 ロボット教示操作盤
DE69618606T2 (de) * 1995-09-19 2002-09-12 Yaskawa Denki Kitakyushu Kk Prozessor für robotersprache
JP3065579B2 (ja) * 1998-03-11 2000-07-17 川崎重工業株式会社 ロボットの干渉チェック方法
JP4103057B2 (ja) 1998-06-29 2008-06-18 株式会社安川電機 ロボットの動作経路計画方法およびその装置
US6292715B1 (en) * 1998-10-27 2001-09-18 Perry Investments, Inc. Robotic process planning method and apparatus using templates
JP3577296B2 (ja) * 2001-09-18 2004-10-13 本田技研工業株式会社 多関節ロボットの動作経路設定方法および設定装置
US6678582B2 (en) * 2002-05-30 2004-01-13 Kuka Roboter Gmbh Method and control device for avoiding collisions between cooperating robots
JP4168002B2 (ja) * 2004-04-07 2008-10-22 ファナック株式会社 オフラインプログラミング装置
WO2005124486A2 (en) * 2004-06-15 2005-12-29 Abb Ab Method and system for off-line programming of multiple interacting robots
JP4027350B2 (ja) * 2004-06-29 2007-12-26 ファナック株式会社 ロボットの待機位置復帰プログラム作成装置
JP2006099260A (ja) * 2004-09-28 2006-04-13 Fanuc Ltd ロボットプログラム作成装置
JP4941068B2 (ja) * 2007-04-16 2012-05-30 トヨタ自動車株式会社 経路作成方法及び経路作成装置
JP2009032189A (ja) * 2007-07-30 2009-02-12 Toyota Motor Corp ロボットの動作経路生成装置
US9144904B2 (en) * 2008-05-21 2015-09-29 Fanuc Robotics America Corporation Method and system for automatically preventing deadlock in multi-robot systems
US8315738B2 (en) 2008-05-21 2012-11-20 Fanuc Robotics America, Inc. Multi-arm robot system interference check via three dimensional automatic zones
JP5459255B2 (ja) * 2011-04-08 2014-04-02 株式会社安川電機 ロボットシステム
DE102012103830B4 (de) * 2011-05-05 2022-05-25 Fanuc Robotics America Corp. Verfahren und computerlesbare Medien zur automatischen Verbindung von gegenseitiger Blockierung in Mehrfachrobotersytemen
CN104969134B (zh) * 2013-02-06 2017-06-09 三菱电机株式会社 干涉检查装置
JP5716769B2 (ja) * 2013-02-21 2015-05-13 株式会社安川電機 ロボットシミュレータ、ロボット教示装置およびロボット教示方法
JP5729404B2 (ja) * 2013-02-21 2015-06-03 株式会社安川電機 ティーチングシステムおよびティーチング方法
JP5742862B2 (ja) * 2013-03-18 2015-07-01 株式会社安川電機 ロボット装置及び被加工物の製造方法
JP6311421B2 (ja) 2014-04-10 2018-04-18 株式会社安川電機 ティーチングシステム、ロボットシステムおよびティーチング方法
JP6350037B2 (ja) * 2014-06-30 2018-07-04 株式会社安川電機 ロボットシミュレータおよびロボットシミュレータのファイル生成方法
CN105269565B (zh) * 2015-10-30 2017-04-05 福建长江工业有限公司 一种六轴磨抛工业机器人离线编程及修正方法
CN105437232B (zh) * 2016-01-11 2017-07-04 湖南拓视觉信息技术有限公司 一种控制多关节移动机器人避障的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216015A (ja) 2000-01-31 2001-08-10 Iwate Prefecture ロボットの動作教示装置
JP2005149016A (ja) 2003-11-13 2005-06-09 Fanuc Ltd ロボットプログラム修正装置
JP2015160277A (ja) 2014-02-27 2015-09-07 ファナック株式会社 ロボットの動作経路を生成するロボットシミュレーション装置

Also Published As

Publication number Publication date
EP3363604A3 (en) 2018-08-29
CN108453702B (zh) 2022-03-01
EP3363604A2 (en) 2018-08-22
JP2018134703A (ja) 2018-08-30
US11213945B2 (en) 2022-01-04
EP3363604B1 (en) 2023-09-27
CN108453702A (zh) 2018-08-28
US20180236657A1 (en) 2018-08-23

Similar Documents

Publication Publication Date Title
JP6998660B2 (ja) ロボットシミュレータ、ロボットシステム及びシミュレーション方法
JP7095262B2 (ja) プログラミング支援装置、ロボットシステム及びプログラム生成方法
CN100460124C (zh) 电弧焊接用数据处理装置
US9984178B2 (en) Robot simulator, robot teaching apparatus and robot teaching method
JP6311421B2 (ja) ティーチングシステム、ロボットシステムおよびティーチング方法
US9186792B2 (en) Teaching system, teaching method and robot system
JP5872894B2 (ja) ロボット動作教示支援装置及び方法
JP6567101B2 (ja) 教示方法、ロボットの動作方法、プログラム、記憶媒体、教示装置
JP2015054378A (ja) 情報処理装置、ロボット、シナリオ情報生成方法及びプログラム
JP7259860B2 (ja) ロボットの経路決定装置、ロボットの経路決定方法、プログラム
JP2019171501A (ja) ロボットの干渉判定装置、ロボットの干渉判定方法、プログラム
JP2020168666A (ja) プログラミング支援装置、ロボットシステム及びプログラミング支援方法
JP2019010706A (ja) 溶接ロボットのトーチケーブル干渉評価情報出力装置、評価情報出力方法及びプログラム
JP2015174184A (ja) 制御装置
JP2019198925A (ja) 操作用デバイス、制御システム、制御方法及びプログラム
JP2009066738A (ja) ロボットの教示装置
JP6693538B2 (ja) 操作用デバイス、制御システム、制御方法及びプログラム
JP2021079482A (ja) 軌道計画生成装置、軌道計画生成方法、および軌道計画生成プログラム
JP2003103491A (ja) ロボットの相互干渉検証方法および相互干渉表示パターン
JPH1083208A (ja) ロボット間相対位置演算機構
JP2022190235A (ja) 情報処理装置、情報処理方法、ロボットシステム、物品の製造方法、プログラム及び記録媒体
JP3884928B2 (ja) 多関節ロボットの姿勢算出方法および姿勢算出装置
JP4124583B2 (ja) 作業ロボットの動作経路データ作成方法および装置
KR20230170569A (ko) 로봇의 이동 경로 생성 방법, 이동 경로 생성 장치, 로봇 시스템, 및 프로그램
WO2023276149A1 (ja) 最適化支援装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200827

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210202

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20210427

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20211005

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20211109

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20211214

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20211214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211221

R150 Certificate of patent or registration of utility model

Ref document number: 6998660

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150