JP7259860B2 - ROBOT ROUTE DETERMINATION DEVICE, ROBOT ROUTE DETERMINATION METHOD, AND PROGRAM - Google Patents

ROBOT ROUTE DETERMINATION DEVICE, ROBOT ROUTE DETERMINATION METHOD, AND PROGRAM Download PDF

Info

Publication number
JP7259860B2
JP7259860B2 JP2020549167A JP2020549167A JP7259860B2 JP 7259860 B2 JP7259860 B2 JP 7259860B2 JP 2020549167 A JP2020549167 A JP 2020549167A JP 2020549167 A JP2020549167 A JP 2020549167A JP 7259860 B2 JP7259860 B2 JP 7259860B2
Authority
JP
Japan
Prior art keywords
robot
point
candidate
interference
approximate shape
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
JP2020549167A
Other languages
Japanese (ja)
Other versions
JPWO2020066949A1 (en
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.)
Nidec America Corp
Original Assignee
Nidec America 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 Nidec America Corp filed Critical Nidec America Corp
Publication of JPWO2020066949A1 publication Critical patent/JPWO2020066949A1/en
Application granted granted Critical
Publication of JP7259860B2 publication Critical patent/JP7259860B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/06Safety devices
    • 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/4093Numerical 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 part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine

Description

本発明は、ロボットの経路決定装置、ロボットの経路決定方法、および、プログラムに関する。 The present invention relates to a robot route determination device, a robot route determination method, and a program.

ロボットが動作したときに、ロボット同士、またはロボットと周辺部品との間の干渉の有無をシミュレーションで判定する経路決定装置が知られている。

例えば日本国公開公報特開2008-254172号公報には、ロボットの教示点の情報とロボットの周囲環境モデルの情報とを格納する記憶部を有しロボットプログラムをオフラインで作成するプログラミング部と、ロボット制御部と、を備えたロボットプログラム作成装置が記載されている。日本国公開公報特開2008-254172号公報では、ロボット制御部は、ロボットの動作を制御し、ロボットを実際の教示点に移動させ、実際の教示点の情報を捕え、ロボットプログラム上の教示点の情報を修正する。

また、日本国公開公報特開2014-024162号公報には、アームと、アームの先端に設けられたエンドエフェクターと、からなる可動部を、複数の教示点に沿って移動させる時に、教示点の位置情報と障害物の位置情報とに基づいて可動部と障害物とが干渉するか否かを判定することが記載されている。日本国公開公報特開2014-024162号公報では、第1の教示点と第2の教示点との間で可動部と障害物とが干渉すると判定された場合に、接近制限情報及び離脱制限情報に基づいて第1の教示点と第2の教示点との間に教示点が追加される。
2. Description of the Related Art A route determination device is known that determines by simulation whether or not there is interference between robots or between a robot and a peripheral component when the robots operate.

For example, Japanese Unexamined Patent Application Publication No. 2008-254172 describes a programming unit that has a storage unit that stores information on teaching points of a robot and information on a model of the surrounding environment of the robot, and that creates a robot program off-line; A robot programming device is described that includes a controller. In Japanese Unexamined Patent Application Publication No. 2008-254172, a robot control unit controls the motion of a robot, moves the robot to an actual teaching point, captures information on the actual teaching point, and calculates the teaching point on the robot program. correct the information in

Further, Japanese Patent Application Laid-Open No. 2014-024162 discloses that when moving a movable part including an arm and an end effector provided at the tip of the arm along a plurality of teaching points, It is described that it is determined whether or not the movable part and the obstacle interfere with each other based on the position information and the position information of the obstacle. In Japanese Patent Laid-Open Publication No. 2014-024162, when it is determined that a movable part and an obstacle interfere between a first teaching point and a second teaching point, approach restriction information and departure restriction information A teaching point is added between the first teaching point and the second teaching point based on.

日本国公開公報:特開2008-254172号公報Japanese publication: JP 2008-254172 日本国公開公報:特開2014-024162号公報Japanese publication: JP 2014-024162

しかし、日本国公開公報特開2008-254172号公報では、実機で修正する必要がある教示点を表示部の画面に一覧表示し、オペレータがこの画面を見てプログラム部に修正要の教示情報を送信する操作が必要となる。

他方、日本国公開公報特開2014-024162号公報では、干渉有無の判定を行い、さらにエンドエフェクターの様々な情報から変更先の教示点を計算する必要があるため、干渉を回避するように経路修正するのに長い時間が掛かるという難点がある。
However, in Japanese Unexamined Patent Application Publication No. 2008-254172, a list of teaching points that need to be corrected on the actual machine is displayed on the screen of the display unit, and the operator sees this screen and sends teaching information to be corrected to the program unit. Operation to send is required.

On the other hand, in Japanese Unexamined Patent Application Publication No. 2014-024162, it is necessary to determine whether or not there is interference, and to calculate the teaching point to be changed from various information of the end effector. The problem is that it takes a long time to fix.

そこで、本発明は、簡易な操作で、かつ短時間で、干渉を回避するロボットの動作経路を生成できるようにすることを目的とする。 SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to generate a motion path of a robot that avoids interference with a simple operation and in a short period of time.

本願の例示的な第1発明は、ロボット、前記ロボットの作業対象となるワーク、および、前記ロボットの周辺に配置される周辺配置物のうち少なくともいずれかの3次元データを記憶する記憶部と、前記記憶部に記憶される3次元データを、当該3次元データの外表面を覆うように1または複数の球体を配置することで当該3次元データの近似形状データを作成するデータ作成部と、始点から終点までの経路において前記ロボットを移動させたときに、前記近似形状データの干渉が発生するか否かを判定する干渉判定部と、前記干渉判定部によって干渉が発生すると判定された場合、前記近似形状データのうち干渉が発生した球体より大径の球体の表面上に、前記ロボットが経由する経由点の候補となる複数の候補点を設定する候補点設定部と、前記始点から候補点までの経路、および、候補点から前記終点までの経路において前記ロボットに移動させたときに、前記近似形状データの干渉が発生しない候補点を、前記複数の候補点の中から特定する候補点特定部と、前記候補点特定部によって特定された候補点を、当該候補点の中からユーザが前記経由点を選択可能となるように、表示装置に表示する表示制御部と、を備えたロボットの経路決定装置である。 An exemplary first invention of the present application is a storage unit that stores three-dimensional data of at least one of a robot, a workpiece to be worked by the robot, and peripheral objects arranged around the robot; a data creation unit for creating approximate shape data of the three-dimensional data stored in the storage unit by arranging one or more spheres so as to cover the outer surface of the three-dimensional data; A collision determination unit that determines whether or not interference of the approximate shape data will occur when the robot is moved along a route from to an end point, and if the interference determination unit determines that interference will occur, A candidate point setting unit that sets a plurality of candidate points as candidates for waypoints through which the robot passes, on the surface of a sphere having a larger diameter than the sphere in which interference has occurred among the approximate shape data, and from the start point to the candidate points. and the route from the candidate point to the end point, a candidate point that does not interfere with the approximate shape data when the robot is moved, from the plurality of candidate points. and a display control unit for displaying the candidate points identified by the candidate point identification unit on a display device so that the user can select the waypoint from among the candidate points. It is a decision device.

本発明によれば、簡易な操作で、かつ短時間で、干渉を回避するロボットの動作経路を生成できる。 According to the present invention, it is possible to generate an action path of a robot that avoids interference with a simple operation and in a short time.

図1は、実施形態の経路決定装置の全体構成について示す図である。FIG. 1 is a diagram showing the overall configuration of a route determination device according to an embodiment. 図2は、実施形態の経路決定装置に含まれる各装置のハードウェア構成を示す図である。FIG. 2 is a diagram showing the hardware configuration of each device included in the route determination device of the embodiment. 図3は、実施形態の一例に係る3次元CAD用ウィンドウを示す図である。FIG. 3 is a diagram showing a three-dimensional CAD window according to an example of an embodiment. 図4は、実施形態の一例に係る教示用ウィンドウを示す図である。FIG. 4 is a diagram showing a teaching window according to an example embodiment. 図5は、ジョブを概念的に説明するための図である。FIG. 5 is a diagram for conceptually explaining a job. 図6は、タスクを概念的に説明するための図である。FIG. 6 is a diagram for conceptually explaining tasks. 図7は、実施形態の一例に係る教示用ウィンドウの遷移を示す図である。FIG. 7 is a diagram showing transition of teaching windows according to an example of an embodiment. 図8は、タスクリストの表示例を示す図である。FIG. 8 is a diagram showing a display example of a task list. 図9は、タスクリストの表示例を示す図である。FIG. 9 is a diagram showing a display example of a task list. 図10は、ロボットの3次元モデルと異なるレベルの近似形状データとを例示する図である。FIG. 10 is a diagram illustrating a three-dimensional model of a robot and approximate shape data of different levels. 図11は、ロボットおよび部品のデータ構成を概念的に示す図である。FIG. 11 is a diagram conceptually showing the data configuration of robots and parts. 図12は、実施形態の一例に係る教示用ウィンドウの遷移を示す図である。FIG. 12 is a diagram showing transition of teaching windows according to an example of an embodiment. 図13は、球体同士の干渉判定方法について説明する図である。FIG. 13 is a diagram illustrating a method of determining interference between spheres. 図14は、ロボットの3次元モデルと部品とが干渉する場合の表示態様を例示する図である。FIG. 14 is a diagram illustrating a display mode when the three-dimensional model of the robot and parts interfere with each other. 図15は、実施形態の一例に係る教示用ウィンドウの遷移を示す図である。FIG. 15 is a diagram illustrating transition of teaching windows according to an example of an embodiment. 図16は、実施形態に係る干渉判定のフローチャートの一例である。FIG. 16 is an example of a flowchart of interference determination according to the embodiment. 図17は、ロボットの経由点の決定方法を示すフローチャートの一例である。FIG. 17 is an example of a flowchart showing a method of determining waypoints for the robot. 図18は、候補点の設定について説明する図である。FIG. 18 is a diagram illustrating setting of candidate points. 図19は、候補点の表示例について示す図である。FIG. 19 is a diagram showing a display example of candidate points. 図20は、決定済みの経由点から終点までの経路で干渉する場合について説明する図である。FIG. 20 is a diagram illustrating a case where interference occurs on a route from a determined waypoint to an end point. 図21は、決定済みの経由点から終点までの間の経路で新たな候補点を設定する場合について示す図である。FIG. 21 is a diagram showing a case where new candidate points are set on a route from a determined waypoint to an end point. 図22は、候補点の好ましい設定例について説明する図である。FIG. 22 is a diagram for explaining a preferable setting example of candidate points. 図23は、実施形態に係る経路決定装置の機能ブロック図である。FIG. 23 is a functional block diagram of the route determination device according to the embodiment; 図24は、図17のフローチャートの変形例である。FIG. 24 is a modification of the flowchart of FIG.

以下、本発明のロボットの経路決定装置の実施形態について説明する。

以下の説明において、ロボットの要素作業を「タスク」という。ロボットの要素作業とは、物体を「取る」や「置く」等、一連の作業の中でロボットが行う最小単位の作業を意味する。

「部品」とは、ロボットの作業の対象となる物体を意味し、ロボットが把持する物体(例えば、工場内のワーク)に限らず、ロボットの周辺に配置される周辺配置物(例えば、ロボットが把持する物体を置く棚)をも含む。

ロボットの「基準点」は、後述するロボットのアプローチ点、目標点、デパーチャ点等のロボットの教示点の基準となるロボットの位置を意味し、例えばロボットの作用点(TCP:Tool Center Point)である。
An embodiment of a robot path determination device according to the present invention will be described below.

In the following description, the element work of the robot is referred to as "task". The element work of the robot means the minimum unit work performed by the robot in a series of work such as "taking" or "placing" an object.

"Parts" refer to objects that the robot works on, and are not limited to objects that are gripped by the robot (e.g., workpieces in a factory), but also peripheral objects that are placed around the robot (e.g., shelves on which objects to be grasped are placed).

The "reference point" of the robot means the position of the robot that serves as a reference for robot teaching points such as the robot's approach point, target point, departure point, etc., which will be described later. be.

ロボットの経路決定装置は、ロボット自体の干渉(例えば、ハンドとアームの干渉)、あるいはロボットと部品との干渉の有無をシミュレーションによって判定する装置である。ロボットの経路決定装置によって、ロボットの実機に接続しないオフラインティーチングを支援することができる。 A robot path determination device is a device that determines the presence or absence of interference of the robot itself (for example, interference between a hand and an arm) or interference between a robot and a part by simulation. The robot path determination device can support off-line teaching that is not connected to the actual robot.

(1)本実施形態に係る経路決定装置の構成

以下、本実施形態の経路決定装置1の構成について、図1および図2を参照して説明する。図1は、本実施形態の経路決定装置1の全体構成について示す図である。図2は、本実施形態の経路決定装置1に含まれる各装置のハードウェア構成を示す図である。
(1) Configuration of route determination device according to the present embodiment

The configuration of the route determination device 1 of this embodiment will be described below with reference to FIGS. 1 and 2. FIG. FIG. 1 is a diagram showing the overall configuration of a route determination device 1 of this embodiment. FIG. 2 is a diagram showing the hardware configuration of each device included in the route determination device 1 of this embodiment.

図1に示すように、経路決定装置1は、情報処理装置2およびロボット制御装置3を備える。情報処理装置2とロボット制御装置3とは、例えばイーサネット(登録商標)ケーブルECにより通信可能に接続される。

情報処理装置2は、工場のラインに設置されたロボットに対して動作を教示するための装置である。情報処理装置2は、オペレータによるオフラインティーチングを行うために設けられており、例えばロボットが設置される工場から離れた位置(例えば、オペレータの作業場所)に配置される。
As shown in FIG. 1 , the route determination device 1 includes an information processing device 2 and a robot control device 3 . The information processing device 2 and the robot control device 3 are communicably connected by, for example, an Ethernet (registered trademark) cable EC.

The information processing device 2 is a device for instructing motions to robots installed in a factory line. The information processing device 2 is provided for off-line teaching by an operator, and is arranged at a location (eg, operator's work place) away from the factory where the robot is installed, for example.

ロボット制御装置3は、情報処理装置2から送信されるロボットプログラムを実行する。本実施形態ではロボット制御装置3はロボットと接続されないが、ロボットと接続された場合には、ロボットプログラムの実行結果に応じた制御パルスをロボットに送り、ロボットを動作させることが可能である。そのため、ロボット制御装置3は、好ましくはロボットの実機の近傍に配置される。 The robot control device 3 executes the robot program transmitted from the information processing device 2 . In this embodiment, the robot control device 3 is not connected to the robot, but when connected to the robot, it can send control pulses to the robot according to the execution result of the robot program to operate the robot. Therefore, the robot control device 3 is preferably arranged near the actual robot.

図2に示すように、情報処理装置2は、制御部21と、ストレージ22と、入力装置23と、表示装置24と、通信インタフェース部25とを備える。

制御部21は、CPU(Central Processing Unit)、ROM(Read Only Memory)、および、RAM(Random Access Memory)を含む。ROMには、3次元CADアプリケーションプログラムと教示ソフトウェアが記憶されている。CPUは、ROM上の3次元CADアプリケーションソフトウェア(以下、適宜「CADソフトウェア」という。)と教示ソフトウェアをRAMに展開して実行する。教示ソフトウェアとCADソフトウェアは、API(Application Program Interface)を介して協調して処理を実行する。

制御部21は、CADソフトウェアによる動画再生を行うために、フレーム単位で画像を連続的に表示装置24に表示させる。
As shown in FIG. 2 , the information processing device 2 includes a control section 21 , a storage 22 , an input device 23 , a display device 24 and a communication interface section 25 .

The control unit 21 includes a CPU (Central Processing Unit), a ROM (Read Only Memory), and a RAM (Random Access Memory). The ROM stores a three-dimensional CAD application program and teaching software. The CPU develops three-dimensional CAD application software (hereinafter referred to as "CAD software" as appropriate) on the ROM and teaching software on the RAM and executes them. The teaching software and the CAD software execute processing in cooperation via an API (Application Program Interface).

The control unit 21 causes the display device 24 to continuously display images frame by frame in order to reproduce moving images using CAD software.

ストレージ22は、HDD(Hard Disk Drive)あるいはSSD(Solid State Drive)等の大容量記憶装置であり、制御部21のCPUにより逐次アクセス可能に構成されている。後述するように、ストレージ22には、ロボットプログラム221、階層型リストデータベース222、3次元モデルデータベース223、実行ログデータベース224、および、近似形状モデルデータベース225(これらのデータベースについては、図23を参照)が格納される。

階層型リストデータベース222には、後述する階層型リストを構成するデータが含まれる。

3次元モデルデータベース223には、CADソフトウェアを実行するときに参照される3次元モデルのデータが含まれる。本実施形態の例では、3次元モデルデータベース223には、ロボットおよび部品(例えば、後述するペン、キャップ、製品、ペントレイ、キャップトレイ、製品トレイ)の3次元モデルのデータが含まれる。

実行ログデータベース224には、ロボット制御装置3から取得した実行ログデータが含まれる。実行ログデータは、ロボットプログラムの実行結果と、後述するロボット状態データとを含む。ロボット状態データは、3次元CADによってロボットの動作を仮想空間内で動画(アニメーション)により再現するため、および、後述する干渉判定を行うために使用される。

近似形状モデルデータベース225には、近似形状データが当該近似形状データの基礎となる3次元モデル(3次元データの一例)に対応付けられている。近似形状データは、後述するように、3次元モデルを球体の集合によって近似したデータである。

ストレージ22は、記憶部の一例である。
The storage 22 is a large-capacity storage device such as a HDD (Hard Disk Drive) or SSD (Solid State Drive), and is configured to be sequentially accessible by the CPU of the control unit 21 . As will be described later, the storage 22 contains a robot program 221, a hierarchical list database 222, a three-dimensional model database 223, an execution log database 224, and an approximate shape model database 225 (see FIG. 23 for these databases). is stored.

The hierarchical list database 222 contains data forming a hierarchical list, which will be described later.

The three-dimensional model database 223 contains three-dimensional model data that is referenced when executing CAD software. In the example of this embodiment, the 3D model database 223 includes 3D model data of robots and parts (for example, pens, caps, products, pen trays, cap trays, product trays, which will be described later).

The execution log database 224 contains execution log data acquired from the robot control device 3 . The execution log data includes execution results of the robot program and robot state data, which will be described later. The robot state data is used to reproduce the motion of the robot in a virtual space using three-dimensional CAD, and to perform collision determination, which will be described later.

In the approximate shape model database 225, approximate shape data is associated with a three-dimensional model (an example of three-dimensional data) that is the basis of the approximate shape data. Approximate shape data is data obtained by approximating a three-dimensional model with a set of spheres, as will be described later.

The storage 22 is an example of a storage unit.

入力装置23は、オペレータによる操作入力を受け付けるためのデバイスであり、ポインティングデバイスを含む。

表示装置24は、教示ソフトウェアおよびCADソフトウェアの実行結果を表示するためのデバイスであり、表示駆動回路および表示パネルを含む。

通信インタフェース部25は、ロボット制御装置3との間でイーサネット通信を行うための通信回路を含む。
The input device 23 is a device for receiving operation input by an operator, and includes a pointing device.

The display device 24 is a device for displaying the execution results of teaching software and CAD software, and includes a display driving circuit and a display panel.

The communication interface unit 25 includes a communication circuit for Ethernet communication with the robot control device 3 .

ロボット制御装置3は、制御部31と、ストレージ32と、通信インタフェース部33とを備える。

制御部31は、CPU、ROM、RAM、および、制御回路を含む。制御部31は、情報処理装置2から受信するロボットプログラムを実行し、実行ログデータを出力する。上述したように、実行ログデータには、ロボットプログラムの実行結果と、ロボットプログラムに記述された作業を実行するロボットのロボット状態データとを含む。

ストレージ32は、ロボットのマニピュレータ(アーム51、ハンド52を含むロボット本体)のモデルのデータ(例えばリンクパラメータ等)を備えている。制御部31は、ロボットプログラムの実行結果に基づいて、マニピュレータを構成する各部のジョブを実行中の時間の経過に応じた物理量(例えば、所定の基準時間(例えば1ms)ごとの関節角、基準点の座標位置等のデータ)を演算する。かかる物理量のデータが上記ロボット状態データに含まれる。
The robot control device 3 includes a control section 31 , a storage 32 and a communication interface section 33 .

The control unit 31 includes a CPU, ROM, RAM, and control circuit. The control unit 31 executes the robot program received from the information processing device 2 and outputs execution log data. As described above, the execution log data includes the execution result of the robot program and the robot state data of the robot executing the work described in the robot program.

The storage 32 includes model data (for example, link parameters, etc.) of a robot manipulator (a robot body including an arm 51 and a hand 52). Based on the execution result of the robot program, the control unit 31 obtains physical quantities (for example, joint angles, reference points, etc.) according to the passage of time during the execution of the jobs of the parts that make up the manipulator (for example, every predetermined reference time (for example, 1 ms)). data such as the coordinate position of ). Such physical quantity data is included in the robot state data.

ストレージ32は、HDDあるいはSSD等の大容量記憶装置であり、制御部31のCPUにより逐次アクセス可能に構成されている。ストレージ32には、ロボットのマニピュレータのモデルのデータの他に、情報処理装置2から送信されるロボットプログラムと、実行ログデータとが格納される。

通信インタフェース部33は、情報処理装置2との間でイーサネット通信を行うための通信回路を含む。
The storage 32 is a large-capacity storage device such as an HDD or SSD, and is configured to be sequentially accessible by the CPU of the control section 31 . The storage 32 stores the robot program transmitted from the information processing device 2 and the execution log data in addition to the model data of the manipulator of the robot.

Communication interface unit 33 includes a communication circuit for performing Ethernet communication with information processing device 2 .

(2)オフラインティーチングにおけるユーザインタフェース

ロボットのシミュレーションを実行する前に、オペレータは、情報処理装置2を使用して、ロボットに対するオフラインティーチングを行い、ロボットプログラムを作成する。ロボットプログラムを作成するに当たって、本実施形態の好ましい例では、CADソフトウェアと教示ソフトウェアを情報処理装置2に実行させる。

CADソフトウェアの実行結果はCAD用ウィンドウに表示され、教示ソフトウェアの実行結果は教示用ウィンドウに表示される。オペレータは、CAD用ウィンドウと教示用ウィンドウの両方を情報処理装置2に表示させ、あるいはCAD用ウィンドウと教示用ウィンドウを切り替えながら情報処理装置2に表示させ、ティーチングやCADによる動画再生に関連する操作を行う。
(2) User interface in offline teaching

Before executing the robot simulation, the operator uses the information processing device 2 to perform off-line teaching to the robot and create a robot program. In creating a robot program, in a preferred example of the present embodiment, the information processing apparatus 2 is caused to execute CAD software and teaching software.

The execution result of the CAD software is displayed in the CAD window, and the execution result of the teaching software is displayed in the teaching window. The operator causes the information processing device 2 to display both the CAD window and the teaching window, or causes the information processing device 2 to display the CAD window and the teaching window while switching between them, and performs operations related to teaching and CAD moving image reproduction. I do.

図3に、本実施形態の一例に係るCAD用ウィンドウW1を示す。図3には、テーブルTLの上に、ロボットRと、ペントレイ11と、キャップトレイ12と、治具13と、製品トレイ14とが、仮想空間に配置された状態の画像(以下、適宜「CAD画像」という。)が表示されている。

図3に示す例では、ロボットRがペンにキャップを嵌めて製品(ペンにキャップが嵌められた状態の完成品)を組み立てる一連の作業を行うことが想定されている。ペントレイ11には複数のペンからなるペン群Pが配置され、キャップトレイ12には複数のキャップからなるキャップ群Cが配置されている。治具13は、ロボットRがペンを一時的に配置してキャップを嵌める作業を行うための部材である。製品トレイ14は、製品を置くための部材である。
FIG. 3 shows a CAD window W1 according to an example of this embodiment. FIG. 3 shows an image (hereinafter referred to as “CAD image”) is displayed.

In the example shown in FIG. 3, it is assumed that the robot R performs a series of tasks of fitting a pen with a cap and assembling a product (a finished product in which the pen is fitted with the cap). A pen group P consisting of a plurality of pens is arranged on the pen tray 11, and a cap group C consisting of a plurality of caps is arranged on the cap tray 12. - 特許庁The jig 13 is a member for the robot R to temporarily place the pen and fit the cap. The product tray 14 is a member for placing products.

図3に示す例では、ペン群Pに含まれる各ペン、キャップ群Cに含まれる各キャップ、ペントレイ11、キャップトレイ12、治具13、製品トレイ14の各々は、ロボットRの作業対象である部品の例である。また、ペンにキャップが嵌められた製品も部品の例である。

各ペン、各キャップ、および、ペンにキャップが嵌められた製品は、それぞれワークの一例である。ペントレイ11、キャップトレイ12、治具13、および、製品トレイ14は、それぞれ周辺配置物の一例である。
In the example shown in FIG. 3, each pen included in the pen group P, each cap included in the cap group C, the pen tray 11, the cap tray 12, the jig 13, and the product tray 14 are objects to be worked by the robot R. This is an example of parts. A product in which a pen is fitted with a cap is also an example of a part.

Each pen, each cap, and a product in which the cap is fitted to the pen are each an example of a work. The pen tray 11, the cap tray 12, the jig 13, and the product tray 14 are examples of peripheral arrangement objects.

(2-1)階層型リスト

図4に、本実施形態の一例に係る教示用ウィンドウW2を示す。教示用ウィンドウW2に表示されているのは、図3のCAD画像に含まれているロボットR、および、部品の階層関係を示す階層型リストである。
(2-1) Hierarchical list

FIG. 4 shows a teaching window W2 according to an example of this embodiment. Displayed in the teaching window W2 is a hierarchical list showing the hierarchical relationship of the robots R and parts included in the CAD image of FIG.

教示ソフトウェアは、CADソフトウェアと連携して階層型リストを作成することができる。階層型リストとして木構造のデータフォーマットが教示ソフトウェアによって用意される。オペレータは、CAD用ウィンドウと教示用ウィンドウを表示させた状態で、CAD画像内のロボットRおよび部品をポインティングデバイスで選択した状態で上記木構造のデータフォーマットの所望のノードまでドラッグする操作を行う。この操作を、ロボットRの教示を行うのに必要となるすべての部品に対して順に行うことで、階層型リストを完成させることができる。階層型リストに表示される各ノードの名称は、元となる3次元モデルの名称がそのまま適用されてもよいが、後で名称を変更できるようにしてもよい。 Teaching software can work with CAD software to create a hierarchical list. A tree-structured data format is prepared by teaching software as a hierarchical list. With the CAD window and the teaching window displayed, the operator selects the robot R and parts in the CAD image with the pointing device and drags them to the desired node in the tree structure data format. By sequentially performing this operation for all the parts necessary for teaching the robot R, the hierarchical list can be completed. For the name of each node displayed in the hierarchical list, the name of the original three-dimensional model may be applied as is, or the name may be changed later.

以下の説明では、CAD画像内のロボットR、部品を階層型リストのいずれかのノードに含めるようにすることを、ロボットR又は部品を「階層型リストに登録する」という。図3では、ロボットが1体である場合のCAD画像を例示しているが、ロボットが2体以上存在する場合には、当該2体以上のロボットを階層型リストに登録することができる。 In the following description, including the robot R and parts in the CAD image in one of the nodes of the hierarchical list is referred to as "registering the robot R or parts in the hierarchical list." FIG. 3 illustrates a CAD image when there is one robot, but when there are two or more robots, the two or more robots can be registered in the hierarchical list.

図4に示す階層型リストにおいて、ロボットR(Robot_R)のノードの下層には、ハンドに関連する3個のノードが設けられている。ハンドに対して複数のノードを設けているのは、ハンドに想定される作業状態を考慮するためである。すなわち、ノード61~63は、以下の内容を意味する。 In the hierarchical list shown in FIG. 4, three nodes related to hands are provided below the node of robot R (Robot_R). The reason why a plurality of nodes are provided for the hand is to consider the work state assumed for the hand. That is, nodes 61 to 63 mean the following contents.


・ノード61(Pen)…ペンを把持する作業に対応したハンド

・ノード62(Cap)…キャップを把持する作業に対応したハンド

・ノード63(Pen_with_Cap)…キャップが嵌められたペンを把持する作業に対応したハンド

・Node 61 (Pen): A hand corresponding to the task of holding a pen

・Node 62 (Cap): A hand that can hold a cap

・Node 63 (Pen_with_Cap): A hand corresponding to the work of holding a pen with a cap fitted

ノード61~63のいずれかを対象として右クリック操作を行い、「ハンドシーケンス操作」を選択すると、アクチュエーション方式(シングルソレノイド、又はダブルソレノイド等)、センサ種類などのハンドシーケンスに関連する設定を行うことができる。

ハンドシーケンスは、ロボットRのハンド52が把持する部品に依存するため、ハンド52が把持する部品ごとに設定される。ハンドシーケンスが設定されていない場合に後述するタスクを作成した場合には、タスクに基づくプログラムを実行できないため、表示装置24に警告表示を出力してもよい。
Right-click on any of the nodes 61 to 63 and select "hand sequence operation" to set the hand sequence related settings such as the actuation method (single solenoid, double solenoid, etc.), sensor type, etc. be able to.

Since the hand sequence depends on the part gripped by the hand 52 of the robot R, it is set for each part gripped by the hand 52 . If a task, which will be described later, is created when the hand sequence is not set, a warning display may be output to the display device 24 because the program based on the task cannot be executed.

部品の構成要素には、治具(JIG)、ペントレイ(PenTray)、キャップトレイ(CapTray)、製品トレイ(ProductTray)、ペン(Pen1, Pen2,…,Pen12)、キャップ(Cap1, Cap2,…,Cap12)、および、製品(PenProduct1, PenProduct2,…,PenProduct12)が含まれる。

治具(JIG)のノードの下位には、治具を対象とした作業に対応して、例えば、以下のノードが設けられる。
Components of parts include jigs (JIG), pen trays (PenTray), cap trays (CapTray), product trays (ProductTray), pens (Pen1, Pen2, ..., Pen12), caps (Cap1, Cap2, ..., Cap12 ), and products (PenProduct1, PenProduct2, ..., PenProduct12).

Below the node of the jig (JIG), for example, the following nodes are provided corresponding to the work for the jig.


・ノード64(PenProduct)…製品(PenProduct)を保持した状態の治具

・ノード65(PenJ)…ペン(Pen)を保持した状態の治具

・ノード66(CapJ)…キャップ(Cap)を保持した状態の治具

・Node 64 (PenProduct): Jig holding the product (PenProduct)

・Node 65 (PenJ): Jig holding a pen

・Node 66 (CapJ): A jig holding a cap (Cap)

ペントレイ(PenTray)のノードの下位には、ペンPen1, Pen2,…,Pen12に対応する各ノードが設けられる。キャップトレイ(CapTray)のノードの下位には、キャップCap1, Cap2,…,Cap12に対応する各ノードが設けられる。製品トレイ(ProductTray)のノードの下位には、製品PenProduct1, PenProduct2,…,PenProduct12に対応する各ノードが設けられる。 Nodes corresponding to pens Pen1, Pen2, . Each node corresponding to caps Cap1, Cap2, . . . , Cap12 is provided under the node of the cap tray (CapTray). Each node corresponding to the products PenProduct1, PenProduct2, .

階層型リストの中のロボットR(図4のRobot_R)、および部品(治具(JIG)、ペントレイ(PenTray)、キャップトレイ(CapTray)、製品トレイ(ProductTray)、ペンPen1, Pen2,…,Pen12、キャップCap1, Cap2,…,Cap12、および、製品PenProduct1, PenProduct2,…,PenProduct12)の各ノードは、各々に対応する3次元モデルのデータと関連付けられた状態となっている。そのため、階層型リストを作成後に階層型リスト内のロボットRおよび部品の3次元モデルに変更があった場合であっても、階層型リストに再度登録する必要はない。 Robot R in the hierarchical list (Robot_R in FIG. 4) and parts (jig (JIG), pen tray (PenTray), cap tray (CapTray), product tray (ProductTray), pen Pen1, Pen2, . . . , Pen12, Cap Cap1, Cap2, . . . , Cap12, and product nodes PenProduct1, PenProduct2, . Therefore, even if there is a change in the three-dimensional model of the robot R and parts in the hierarchical list after creating the hierarchical list, there is no need to re-register them in the hierarchical list.


(2-2)ジョブおよびタスクについて

次に、ジョブおよびタスクについて、図5および図6を参照して説明する。

図5は、ジョブを概念的に説明するための図である。図6は、タスクを概念的に説明するための図である。

(2-2) Jobs and tasks

Jobs and tasks will now be described with reference to FIGS.

FIG. 5 is a diagram for conceptually explaining a job. FIG. 6 is a diagram for conceptually explaining tasks.

ジョブとは、ロボットRが行う一連の作業である。タスクとは、前述したように一連の作業の中でロボットRが行う最小単位の作業である要素作業を意味する。従って、図5に示すように、ジョブ(JOB)に相当する期間には、複数のタスクT,T,…,Tn-1,Tに対応する期間と、ロボットRのタスク間の移動(以下、適宜「タスク間移動」という。)と、が含まれる。図5に示すように、本実施形態では、ロボットRが行うジョブに対して複数のタスクが定義される。 A job is a series of operations that the robot R performs. As described above, the task means an elementary work that is the smallest unit of work performed by the robot R in a series of work. Therefore, as shown in FIG. 5, a period corresponding to a job (JOB) includes a period corresponding to a plurality of tasks T 1 , T 2 , . movement (hereinafter referred to as “move between tasks” as appropriate). As shown in FIG. 5, in this embodiment, a plurality of tasks are defined for jobs that the robot R performs.

各タスクには、複数のモーション(「ロボットRの動き」を意味する。)M~Mが含まれる。タスクには、モーションの他、ハンドシーケンス(HS)が含まれてもよい。ハンドシーケンスは、ロボットRのハンド52による部品の把持についての一連の処理である。隣接するモーションの間には、後述するインターロック等による待機時間WTが設定される場合がある。 Each task includes a plurality of motions (meaning “movements of robot R”) M 1 to M n . Tasks may include hand sequences (HS) as well as motions. A hand sequence is a series of processes for gripping a part by the hand 52 of the robot R. FIG. A waiting time WT may be set between adjacent motions due to an interlock or the like, which will be described later.

図6において、矢印付きの線は、ロボットRのハンド52の軌跡を概念的に示している。当該軌跡は、タスクの目標点TPに到達する前の通過点であるアプローチ点AP1,AP2と、目標点TPと、目標点TPに到達した後の通過点であるデパーチャ点DP1,DP2とを含む。目標点TPは、タスクの対象である部品の位置を示している。 In FIG. 6, lines with arrows conceptually indicate the trajectory of the robot R's hand 52 . The trajectory includes approach points AP1 and AP2 that are passing points before reaching the target point TP of the task, the target point TP, and departure points DP1 and DP2 that are passing points after reaching the target point TP. . The target point TP indicates the position of the part that is the target of the task.

図6に示す例では、アプローチ点AP1に到達する前のロボットRの動作が、タスク間の移動(つまり、前のタスクと図6に示すタスクとの間の移動)に相当する。デパーチャ点DP2から後のロボットRの動作が、タスク間の移動(つまり、図6に示すタスクと次のタスクとの間の移動)に相当する。アプローチ点AP1からデパーチャ点DP2までのロボットRの動作が1つのタスクに対応し、当該タスク内において隣接する点間のロボットRの動きが1つのモーションに相当する。

タスクを実行させるロボットプログラムには、タスクの内容に関する情報のほか、目標点TP、アプローチ点AP、およびデパーチャ点DPのうち少なくともいずれかの点に関する情報が含まれうる。
In the example shown in FIG. 6, the motion of the robot R before reaching the approach point AP1 corresponds to movement between tasks (that is, movement between the previous task and the task shown in FIG. 6). The movement of the robot R after the departure point DP2 corresponds to movement between tasks (that is, movement between the task shown in FIG. 6 and the next task). The motion of the robot R from the approach point AP1 to the departure point DP2 corresponds to one task, and the movement of the robot R between adjacent points within the task corresponds to one motion.

A robot program for executing a task can include information about the content of the task and information about at least one of the target point TP, the approach point AP, and the departure point DP.

図6では、アプローチ点AP1,AP2においてそれぞれインターロックIL1,IL2が設定されている場合が例示されている。インターロックは、他のロボット等との干渉を回避するために、所定の信号が入力されるまで、目標点TP、アプローチ点AP、およびデパーチャ点DPの少なくともいずれかの点においてロボットRの動作を待機させる処理である。

タスクには、インターロックを設定する点と、インターロックによる待機時間のタイムアウト値とを含むインターロック設定に関する情報を含んでもよい。
FIG. 6 illustrates a case where interlocks IL1 and IL2 are set at approach points AP1 and AP2, respectively. In order to avoid interference with other robots, etc., the interlock prevents the robot R from moving at least one of the target point TP, the approach point AP, and the departure point DP until a predetermined signal is input. This is the waiting process.

The task may include information about interlock settings, including points to set interlocks and timeout values for waiting time due to interlocks.


(2-3)タスクに対応するロボットプログラムの作成

次に、階層型リストを用いたタスクに対応するロボットプログラム(以下、適宜「タスクプログラム」という。)の作成方法について、図4および図7を参照して説明する。図7は、本実施形態の一例に係る教示用ウィンドウの遷移を示す図である。

図4に示す階層型リストにおいてタスクプログラムを作成するには、先ず、ロボット領域RAに含まれるロボットR(Robot_R)のハンド(Hand)のノード61~63のうちいずれかのノードを、オペレータがポインティングデバイスで選択して右クリック操作を行い、「タスク作成」を選択する。すなわち、ノードの選択は、オペレータの操作入力に基づいて、タスクにおけるロボットRのハンドの把持対象から選択される。

(2-3) Creation of robot program corresponding to task

Next, a method of creating a robot program (hereinafter referred to as "task program" as appropriate) corresponding to a task using a hierarchical list will be described with reference to FIGS. 4 and 7. FIG. FIG. 7 is a diagram showing transition of teaching windows according to an example of the present embodiment.

To create a task program in the hierarchical list shown in FIG. Select it on the device, right-click, and select Create Task. That is, a node is selected from objects to be grasped by the hand of the robot R in the task based on the operator's operation input.

「タスク作成」が選択されると、図7のタスクプログラム作成のための教示用ウィンドウW3が表示される。教示用ウィンドウW3はタスクの詳細設定を行うための画面であり、タスク名称(Name)と、タスクの種別(Function)、タスクの目標物(Target)の各項目が表示される。ここで、階層型リストのパーツ領域PAの中からいずれかの部品に対応するノードをポインティングデバイスで左クリックすることで、教示用ウィンドウW3の目標物(Target)の項目に、左クリックにより選択された部品が入力される。タスクの種別(Function)の欄には、予め設定された複数の種類のタスクの種別(例えば、取る(Pick up)、置く(Place)等)の候補からなるプルダウンメニューの中からいずれかのタスクの種別を選択できるように構成されている。 When "create task" is selected, a teaching window W3 for creating a task program shown in FIG. 7 is displayed. The teaching window W3 is a screen for performing detailed settings of the task, and displays items such as a task name (Name), a task type (Function), and a task target (Target). Here, by left-clicking with a pointing device a node corresponding to one of the parts in the parts area PA of the hierarchical list, the target item (Target) of the teaching window W3 is selected by left-clicking. parts are entered. In the task type (Function) column, you can select one task from a pull-down menu consisting of multiple preset task types (for example, pick up, place, etc.). type can be selected.

次いで、階層型リストのパーツ領域PAの中から作業対象となる部品をポインティングデバイスで選択して左クリック操作を行うことにより、教示用ウィンドウW3の目標物(Target)の項目に、選択された部品が入力される。

タスクの種別(Function)と目標物(Target)の各項目についてデータが入力されると、当該データに基づいて、タスクの名称(Name)が自動的に決定されて表示される。
Next, by selecting a part to be worked on from the parts area PA of the hierarchical list with a pointing device and performing a left-click operation, the selected part is displayed in the target item (Target) of the teaching window W3. is entered.

When data is input for each item of task type (Function) and target (Target), the task name (Name) is automatically determined and displayed based on the data.

例えば、ロボットRのハンドが何も把持していない状態において、「ペントレイからペンPen1を取る」というタスクを作成するには、図4に示す階層型リストのロボット領域RA内のノード61を、オペレータはポインティングデバイスで右クリックしてから「タスク作成」を選択する。次いで、階層型リストのパーツ領域PAの中からペントレイ(PenTray)に対応するノード67を対象としてポインティングデバイスで左クリック操作を行うことで教示用ウィンドウW3の目標物(Target)の項目に、ペントレイ(PenTray)が入力される。タスクの種別(Function)の欄では、複数のタスクの種別の候補の中から「取る(Pick up)」を選択する。そして、階層型リストのパーツ領域PAの中から作業対象となるペンPen1に対応するノード68を対象としてポインティングデバイスで左クリック操作を行うことで、図7に示す教示用ウィンドウW3が表示される。 For example, in a state where the hand of the robot R is not holding anything, to create a task of "take the pen Pen1 from the pen tray", the node 61 in the robot area RA of the hierarchical list shown in FIG. Right-click with your pointing device and select Create Task. Next, by performing a left-click operation with the pointing device on a node 67 corresponding to the pen tray (PenTray) from the parts area PA of the hierarchical list, the pen tray ( PenTray) is input. In the task type (Function) column, select "Pick up" from among multiple task type candidates. A teaching window W3 shown in FIG. 7 is displayed by performing a left-click operation with the pointing device on a node 68 corresponding to the pen Pen1 to be worked on from the parts area PA of the hierarchical list.

以上の操作の結果、「ペントレイからペンPen1を取る」というタスクに対応して、“Pickup_Pen1_From_PenTray”という名称のタスクプログラムが作成される。

本実施形態では、要素作業の対象となる部品(ここでは「ペンPen1」)と、要素作業の始点(例えば「ペントレイ」)若しくは終点とを階層型リスト上で指定することで、オペレータは直感的にタスクプログラムを作成することができる。また、タスクプログラムの名称は、タスクの作業内容(例えば「Pickup」)と、タスクの作業対象(例えば「ペンPen1」)と、タスクの始点となる部品(例えば「ペントレイ」)、又は終点となる部品とを含むように自動的に作成されるため、タスクプログラムの名称からタスクの内容が直ちに分かるようになっている。
As a result of the above operations, a task program named "Pickup_Pen1_From_PenTray" is created corresponding to the task "Pickup Pen1 from Pen Tray".

In this embodiment, the operator can intuitively specify the target part of the element work ("Pen1" in this case) and the start point (for example, "pen tray") or end point of the element work on the hierarchical list. A task program can be created in Also, the name of the task program is the work content of the task (e.g. "Pickup"), the work target of the task (e.g. "Pen Pen1"), the part that is the starting point of the task (e.g. "Pen Tray"), or the end point. Since the program is automatically created so as to include the parts, the content of the task can be understood immediately from the name of the task program.

タスクプログラムを作成する際に、タスクに含まれるアプローチ点AP、目標点TP、および、デパーチャ点DPについての情報が自動的に作成されてもよい。あるいは、オペレータが教示用ウィンドウW3のボタンb1(「詳細設定」)を操作し、1又は複数のアプローチ点及び/又はデパーチャ点を設定してもよい。自動的にアプローチ点AP、目標点TP、および、デパーチャ点DPを作成する場合、部品の重心を目標点TPとして設定し、部品の重心を基準とした部品のローカル座標系において所定の軸上(例えばZ軸上)にアプローチ点APおよびデパーチャ点DPを設定してもよい。 When creating a task program, information about the approach point AP, target point TP, and departure point DP included in the task may be created automatically. Alternatively, the operator may operate the button b1 ("detailed setting") of the teaching window W3 to set one or more approach points and/or departure points. When automatically creating the approach point AP, the target point TP, and the departure point DP, the center of gravity of the part is set as the target point TP, and the center of gravity of the part is used as a reference for the local coordinate system of the part on a predetermined axis ( For example, the approach point AP and the departure point DP may be set on the Z axis).

図7を参照すると、教示用ウィンドウW3のボタンb1(「詳細設定」)を操作することで、オペレータは、「アプローチ点、デパーチャ点設定」のほか、「モーションパラメータ設定」および「インターロック設定」のいずれかを選択することができる。

モーションパラメータとは、タスクに含まれる隣接するアプローチ点AP間、アプローチ点APから目標点TPまでの間、および、目標点TPからデパーチャ点DPまでの間のロボットRのハンド52等の動きに関するパラメータである。例えば、かかるパラメータとして、移動速度、加速度、加速時間、減速時間、ロボットRの姿勢等が挙げられる。「モーションパラメータ設定」を選択することで、上記モーションパラメータをデフォルト値から変更することができる。

「インターロック設定」を選択することで、インターロックの待機時間のタイムアウト値と、待機時間がタイムアウト値を超えてエラーと判断したときの動作の設定とを、デフォルト値から変更することができる。
Referring to FIG. 7, by operating the button b1 ("detailed setting") of the teaching window W3, the operator can set "approach point and departure point setting", as well as "motion parameter setting" and "interlock setting". You can choose either

A motion parameter is a parameter relating to the movement of the hand 52 of the robot R between adjacent approach points AP, between the approach point AP and the target point TP, and between the target point TP and the departure point DP included in the task. is. For example, such parameters include movement speed, acceleration, acceleration time, deceleration time, posture of the robot R, and the like. By selecting "set motion parameters", the above motion parameters can be changed from the default values.

By selecting "interlock setting", it is possible to change the timeout value of the interlock standby time and the setting of the operation when the standby time exceeds the timeout value and an error is determined from the default value.

図7の教示用ウィンドウW3には、ボタンb2(「作成」)が設けられている。ボタンb2(「作成」)が操作されることで、教示用ウィンドウW3によって設定されたタスクが後述するタスクリストに登録される。 A teaching window W3 in FIG. 7 is provided with a button b2 (“create”). By operating the button b2 (“Create”), the task set by the teaching window W3 is registered in the task list described later.

(2-4)タスクに基づくプログラムの作成

例えば、図6に示すタスクに対応するタスクプログラムは、以下の複数の関数からなり、各関数は、ロボットRに対応するモーションを実行させるためのプログラム(以下、適宜「モーションプログラム」という。)によって記述されている。

なお、以下のmove(AP1)は、タスク間の移動として別に定義されてもよい。
(2-4) Creating a program based on tasks

For example, the task program corresponding to the task shown in FIG. It has been described.

Note that move (AP1) below may be defined separately as a move between tasks.


・move(AP1) …アプローチ点AP1までの移動

・interlock(IL1)…アプローチ点AP1でインターロック(IL1)による待機

・move(AP2)…アプローチ点AP2までの移動

・interlock(IL2)…アプローチ点AP2でインターロック(IL2)による待機

・move(TP)…目標点TPまでの移動

・handSequence()…ハンドシーケンス処理

・move(DP1)…デパーチャ点DP1までの移動

・move(DP2)…デパーチャ点DP2までの移動

なお、interlock(IL1)およびinterlock(IL2)の関数において、タスクごとの動作確認を行う場合、プログラムは作成されるが、インターロックによる待機時間のタイムアウト値が無効となっている。

・move(AP1) …Move to approach point AP1

・interlock (IL1)…Wait by interlock (IL1) at approach point AP1

・move(AP2)…Move to approach point AP2

・interlock (IL2)…Wait by interlock (IL2) at approach point AP2

・move(TP)…Move to target point TP

・handSequence(): hand sequence processing

・move(DP1) … move to departure point DP1

・move(DP2) … move to departure point DP2

In the functions interlock(IL1) and interlock(IL2), when checking the operation of each task, the program is created, but the timeout value for the waiting time due to interlock is invalid.


(2-5)タスクリスト

タスクリストとは、ロボットRが行うジョブに含まれる複数のタスクを含む情報であり、複数のタスクの各々に対応するタスクプログラムの名称の一覧の情報である。特定のジョブを対象として教示用ウィンドウW3によって定義されたタスクは、順次、当該ジョブに対応するタスクリストに登録されていく。タスクリストに含まれる複数のタスクの順序は、当該複数のタスクの実行順序を示していることが、ジョブを管理する上で好ましい。

(2-5) Task list

A task list is information including a plurality of tasks included in a job performed by the robot R, and is information of a list of names of task programs corresponding to each of the plurality of tasks. Tasks defined by the teaching window W3 for a specific job are sequentially registered in the task list corresponding to the job. For job management, it is preferable that the order of the plurality of tasks included in the task list indicates the execution order of the plurality of tasks.

図8の教示用ウィンドウW4は、「ペンにキャップを嵌めて製品を組み立てる」という一連の作業であるジョブ(「Pen Assembly」)に対応するタスクリストの一例を表示する。このタスクリストの一例は、以下の(i)~(vi)の6個のタスクを含む。この場合、タスクプログラム作成のための教示用ウィンドウW3によって、括弧内に表された名称のタスクプログラムが作成された場合を示している。

(i) ペントレイからペンを取る (Pickup_Pen1_From_PenTray)

(ii) 取ったペンを治具にセットする (Place_to_PenJ_in_PenProduct)

(iii) キャップトレイからキャップを取る (Pickup_Cap1_From_CapTray)

(iv) 治具上のペンにキャップを嵌める (Place_to_CapJ_in_PenJ)

(v) キャップが嵌められたペンを取る (Pickup_PenProduct_From_JIG)

(vi) キャップが嵌められたペンを製品トレイに置く (Place_to_PenProduct1_in_ProductTray)
The teaching window W4 in FIG. 8 displays an example of a task list corresponding to a job (“Pen Assembly”), which is a series of tasks “putting the cap on the pen and assembling the product”. An example of this task list includes the following six tasks (i) to (vi). In this case, the teaching window W3 for creating a task program creates a task program with the name shown in parentheses.

(i) Pickup Pen from Pen Tray (Pickup_Pen1_From_PenTray)

(ii) Place the picked pen in the jig (Place_to_PenJ_in_PenProduct)

(iii) Pick up cap from cap tray (Pickup_Cap1_From_CapTray)

(iv) Place Cap on Pen on Jig (Place_to_CapJ_in_PenJ)

(v) Pick up capped pen (Pickup_PenProduct_From_JIG)

(vi) Place capped pen in product tray (Place_to_PenProduct1_in_ProductTray)

オペレータは、タスクリストにおいて、いずれかのタスクをポインティングデバイスで選択した状態でドラッグ操作を行うことで、選択されたタスクをタスクリスト中の任意の順序に設定することができる。 The operator can set the selected tasks in any order in the task list by performing a drag operation while selecting one of the tasks in the task list with the pointing device.


図8に示すように、タスクリストのいずれかのタスクをポインティングデバイスで選択した状態で右クリックを行うと、「タスク編集」、「タスク追加」、「タスク削除」のいずれかの処理を選択できる。ここで、「タスク編集」が選択された場合には、選択されているタスクの教示用ウィンドウW3に戻って、当該タスクについての情報を変更することができる。「タスク追加」が選択された場合には、選択されているタスクのすぐ後の順序に、作成済みのタスクを読み込んで挿入するか、あるいは、教示用ウィンドウW3に戻ってタスクを作成して挿入することができる。「タスク削除」が選択された場合には、選択されているタスクをタスクリストから削除することができる。

オペレータの操作に応じてタスクプログラムが変更され、追加され、あるいは削除される。

As shown in Fig. 8, if any task in the task list is selected with a pointing device and right-clicked, one of "task edit", "task addition", and "task deletion" can be selected. . Here, when "task edit" is selected, it is possible to return to the teaching window W3 of the selected task and change the information about the task. If "Add task" is selected, read and insert the created task immediately after the selected task, or return to the teaching window W3 to create and insert the task. can do. When "delete task" is selected, the selected task can be deleted from the task list.

A task program is changed, added, or deleted according to the operator's operation.

図8に示すように、タスクリスト中の各タスクには、各タスクに含まれる複数のモーションを表示するための展開アイコンEIが対応付けられている。いずれかの展開アイコンEIを操作することで、操作された展開アイコンEIに対応するタスクに含まれる複数のモーションが表示される。例えば、図8のタスクリストにおいてタスクTに対応する展開アイコンEIが操作されると、図9に示す教示用ウィンドウW5が表示される。 As shown in FIG. 8, each task in the task list is associated with an expansion icon EI for displaying a plurality of motions included in each task. By operating any expansion icon EI, a plurality of motions included in the task corresponding to the operated expansion icon EI are displayed. For example, when the expand icon EI corresponding to task T2 in the task list of FIG. 8 is operated, a teaching window W5 shown in FIG. 9 is displayed.

図9に示す例では、タスクTには、タスクTに含まれる以下の複数のモーションを特定する名称であるモーション名称M21~M25が対応付けられて表示される。

・モーション名称M21… アプローチ点AP2までの動作 (Approach_point_2)

・モーション名称M22… アプローチ点AP1までの動作 (Approach_point_1)

・モーション名称M23… 目標点TPまでの動作 (Target_point)

・モーション名称M24… ハンドの動作(Hand-Open)

・モーション名称M25… デパーチャ点DP1までの動作 (Departure_point_1)
In the example shown in FIG. 9, task T 2 is displayed in association with motion names M 21 to M 25 , which are names specifying a plurality of motions included in task T 2 .

・Motion name M21 … Motion up to approach point AP2 (Approach_point_2)

・Motion name M22 … Motion up to approach point AP1 (Approach_point_1)

・Motion name M23 … Motion to target point TP (Target_point)

・Motion name M24 … Hand operation (Hand-Open)

・Motion name M25 … Movement up to departure point DP1 (Departure_point_1)

図9に示す教示用ウィンドウW5では、展開アイコンEIに代えて折畳みアイコンFIがタスクTに対応付けられるとともに、タスクTに含まれるモーション名称M21~M25が表示される。なお、折畳みアイコンFIが操作されると、モーション名称M21~M25が非表示となり、再度図8に示す教示用ウィンドウW4が表示される。 In the teaching window W5 shown in FIG. 9, the fold icon FI is associated with the task T2 instead of the unfold icon EI, and motion names M21 to M25 included in the task T2 are displayed. When the folding icon FI is operated, the motion names M21 to M25 are hidden, and the teaching window W4 shown in FIG. 8 is displayed again.

(2-6)近似形状データについて

本実施形態の経路決定装置1では、後述するタスク内干渉チェックおよびタスク間干渉チェックを高速で実行するために、ロボットおよび部品の3次元モデルと対応付けて、近似形状データが作成されてストレージ22に記憶される。近似形状データは、3次元モデル同士の干渉の有無を高速で行うために、3次元モデルの外表面を複数の球体で覆うように、3次元モデルを球体の集合によって近似したデータである。
(2-6) Approximate shape data

In the path determination device 1 of the present embodiment, in order to perform the intra-task interference check and the inter-task interference check described later at high speed, approximate shape data is created in correspondence with the three-dimensional models of the robot and parts, and stored in the storage 22. stored in Approximate shape data is data obtained by approximating a three-dimensional model with a set of spheres so that the outer surface of the three-dimensional model is covered with a plurality of spheres in order to quickly determine whether there is interference between the three-dimensional models.

好適には、1つの3次元モデルに対応して、球体のサイズが異なる複数の近似形状データが作成される。

図10には、ロボットの3次元モデルと異なるレベルの近似形状データとが例示される。図10において、レベル1、レベル2、および、レベル3の近似形状データは、順に基本形状である球体の径が小さくなっていることがわかる。球体の径が小さいほど近似形状データに含まれる球体の数が多くなるため、レベル3の近似形状データは、3次元モデルの外表面が精度良く再現されたモデルである。また、球体の径をさらに小さくすることで、近似形状データのレベルをさらに上げてもよい。その一方で、干渉判定に要する計算時間については、近似形状データのレベル1~3の順に多くの時間がかかることになる。本実施形態は、後述するように、近似形状データの低レベルから高レベルへ順に上げていきながら干渉判定を行うことで、短時間で干渉判定を行うように構成される。

近似形状データごとに、異なるレベルの球体のデータがツリー構造で管理されている。例えば、近似形状データの特定のレベル1の球体1つに対して、レベル2の球体2つが対応付けられ、当該レベル2の球体1つに対してレベル3の球体が4つ対応付けられている、といった具合である。
Preferably, a plurality of approximate shape data with different sphere sizes are created corresponding to one three-dimensional model.

FIG. 10 illustrates a three-dimensional model of the robot and approximate shape data of different levels. In FIG. 10, it can be seen that the approximation shape data of level 1, level 2, and level 3 have smaller diameters of the sphere, which is the basic shape, in order. Since the number of spheres included in the approximate shape data increases as the diameter of the spheres decreases, the approximate shape data of level 3 is a model in which the outer surface of the three-dimensional model is accurately reproduced. Also, the level of the approximate shape data may be further increased by further reducing the diameter of the sphere. On the other hand, regarding the calculation time required for collision determination, it takes a long time in order of levels 1 to 3 of the approximate shape data. As will be described later, this embodiment is configured to perform collision determination in a short period of time by performing collision determination while sequentially increasing the level of approximate shape data from low to high.

Different levels of sphere data are managed in a tree structure for each approximate shape data. For example, two spheres of level 2 are associated with one sphere of specific level 1 in the approximate shape data, and four spheres of level 3 are associated with one sphere of level 2. , and so on.


図11に、ロボットおよび部品のデータ構成を概念的に示す図である。

図11に示すように、本実施形態では、階層型リストを構成するロボットRおよび各部品に対して、3次元モデルと、レベル1~3(L1~L3)の近似形状データとが対応付けられる。ロボットRの干渉判定結果を可視化するためにロボットRの動作のシミュレーションを実行するときには、ロボットRおよび各部品の3次元モデル、または3次元モデルに対応付けられた近似形状データが仮想空間に配置される。

FIG. 11 is a diagram conceptually showing the data configuration of robots and parts.

As shown in FIG. 11, in this embodiment, the three-dimensional model and the approximate shape data of levels 1 to 3 (L1 to L3) are associated with the robot R and each part that make up the hierarchical list. . When simulating the motion of the robot R in order to visualize the interference determination result of the robot R, a three-dimensional model of the robot R and each part, or approximate shape data associated with the three-dimensional model, is arranged in a virtual space. be.

本実施形態では、同一である2以上の3次元モデルに対応付けられる近似形状データが効率的に作成される。すなわち、同一である2以上の3次元モデルのうちいずれかの3次元モデルに対応する近似形状データが作成済みで近似形状モデルデータベース225に含まれている場合には、近似形状データが作成されていない3次元モデルに対して、作成済みの近似形状データが対応付けられる。例えば、図11に示す例において、ペンPen1に対応する3次元モデルに対する近似形状データが作成済みである場合には、残りのペンPen2~Pen12に対する近似形状データとして、ペンPen1の近似形状データが複製され、ペンPen2~Pen12に対する3次元モデルに対応付けられる。 In this embodiment, approximate shape data associated with two or more identical three-dimensional models is efficiently created. That is, if the approximate shape data corresponding to one of the two or more identical three-dimensional models has already been created and is included in the approximate shape model database 225, the approximate shape data has been created. Created approximate shape data is associated with a three-dimensional model that does not exist. For example, in the example shown in FIG. 11, if the approximate shape data for the three-dimensional model corresponding to pen Pen1 has already been created, the approximate shape data for pen Pen1 is duplicated as the approximate shape data for the remaining pens Pen2 to Pen12. and associated with the three-dimensional models for the pens Pen2 to Pen12.


ロボットRに対応する近似形状データを構成する各球体は、それぞれ局所座標を有するか、または局所座標が参照される。ロボットRに対応する近似形状データの各球体の局所座標は、ロボットRの各リンク座標系と同じである。

本実施形態の経路決定装置1では、ロボットRが動作するときの干渉チェックを行うときに、3次元モデルの仮想空間における位置の変更に伴って、3次元モデルに対応する近似形状データの仮想空間内の位置を逐次(例えば、干渉チェックを行う所定期間のタイミング毎に)変更する処理が行われる。このとき、近似形状データの各球体に設定された局所座標を利用して球体の位置の更新が行われる。

例えばロボットRが6関節ロボットである場合に、ロボットRの基準座標(ロボット座標)に対する隣接するリンク座標系間の同次変換行列をT,T,T,T,T,Tとすると、各同次変換行列は、各関節の角度からもとめられる。そこで、本実施形態では、更新後のロボット座標系における球体の原点の座標は、更新前のロボット座標系における球体の原点の座標に対して、同次変換行列T,T,T,T,T,Tのうち球体が属するリンクに応じた分の1または複数の行列を掛け合わせることで算出される。例えば、TおよびTによって変換される局所座標を有する球体について、変更前および変更後のロボット座標系における球体の原点の座標をP,Pt+1とすると、Pt+1=(T・T)P,となる。なお、ロボットRの移動に応じて同次変換行列も更新されるため、原点の座標の更新に当たっては、更新後の行列が適用される。

ロボットRの移動に応じて球体の原点の位置を順次更新していくことで、ロボットRが移動する度に3次元モデルに球体を再設定する必要がなくなるため、干渉判定処理のさらなる高速化を実現できる。

Each sphere forming the approximate shape data corresponding to the robot R has local coordinates, or the local coordinates are referred to. The local coordinates of each sphere of the approximate shape data corresponding to the robot R are the same as those of each link coordinate system of the robot R.

In the route determination device 1 of the present embodiment, when the interference check is performed when the robot R operates, the virtual space of the approximate shape data corresponding to the three-dimensional model is changed as the position of the three-dimensional model in the virtual space is changed. A process is performed to sequentially change the position within (for example, at each timing of a predetermined period in which an interference check is performed). At this time, the position of the sphere is updated using the local coordinates set for each sphere in the approximate shape data.

For example, when the robot R is a 6-joint robot, the homogeneous transformation matrices between adjacent link coordinate systems with respect to the reference coordinates (robot coordinates) of the robot R are T 1 , T 2 , T 3 , T 4 , T 5 , T 6 , each homogeneous transformation matrix is determined from the angle of each joint. Therefore, in this embodiment, the coordinates of the origin of the sphere in the robot coordinate system after updating are obtained by homogeneous transformation matrices T 1 , T 2 , T 3 , It is calculated by multiplying one or a plurality of matrices of T 4 , T 5 and T 6 according to the link to which the sphere belongs. For example, for a sphere with local coordinates transformed by T 1 and T 2 , let P t and P t+1 be the coordinates of the origin of the sphere in the robot coordinate system before and after the change, then P t+1 = (T 1 T 2 ) P t , Since the homogeneous transformation matrix is also updated according to the movement of the robot R, the updated matrix is applied when updating the coordinates of the origin.

By sequentially updating the position of the origin of the sphere according to the movement of the robot R, there is no need to reset the sphere in the three-dimensional model each time the robot R moves, thereby further speeding up the collision determination process. realizable.

(2-7)タスク内干渉チェック

次に、タスク内干渉チェックについて、図12~図14を参照して説明する。図12は、実施形態の一例に係る教示用ウィンドウの遷移を示す図である。図13は、球体同士の干渉判定方法について説明する図である。図14は、ロボットの3次元モデルと部品とが干渉する場合の表示態様を例示する図である。
(2-7) Intra-task interference check

Next, the intra-task interference check will be described with reference to FIGS. 12 to 14. FIG. FIG. 12 is a diagram showing transition of teaching windows according to an example of an embodiment. FIG. 13 is a diagram illustrating a method of determining interference between spheres. FIG. 14 is a diagram illustrating a display mode when the three-dimensional model of the robot and parts interfere with each other.

タスク内干渉チェックとは、オペレータによって選択されたタスクをロボットが行ったときに当該タスク内に、ロボット、ワーク、および、周辺配置物の3次元モデルの干渉が仮想空間において発生するか否かを判定することである。

タスク内干渉チェックを実行するには、タスクリストに登録されたいずれかのタスクを選択することにより行う。例えば、図12に示すように、タスクリストのうちタスクTのタスク内干渉チェックを行うには、オペレータは、タスクTを選択した上で右クリックし、ボタンb14(「動作確認」)を選択し、ボタンb141(「タスク内干渉チェック」)を選択する操作を行う。
The intra-task interference check is to check whether or not interference occurs in the virtual space between the three-dimensional models of the robot, the workpiece, and the peripheral arrangement during the task when the robot performs the task selected by the operator. It is to judge.

To execute the intra-task interference check, select one of the tasks registered in the task list. For example, as shown in FIG. 12, to perform an intra-task interference check for task T2 in the task list, the operator selects task T2 , right-clicks, and presses button b14 ("operation check"). Select and operate to select the button b141 (“intra-task interference check”).

タスク内干渉チェックでは、選択されたタスクのタスクプログラムが情報処理装置2からロボット制御装置3へ送信され、ロボット制御装置3においてタスクプログラムが実行される。ロボット制御装置3は、タスクプログラムの実行結果としてロボット状態データを含む実行ログデータを情報処理装置2に返す。ロボット状態データは、マニピュレータ50のモデルを基に演算された時間の経過に応じたロボットの状態を示す物理量(例えば、所定の基準時間(例えば1ms)ごとの関節角、基準点の座標位置等)のデータである。 In the intra-task interference check, the task program of the selected task is transmitted from the information processing device 2 to the robot control device 3, and the task program is executed in the robot control device 3. FIG. The robot control device 3 returns execution log data including robot state data to the information processing device 2 as an execution result of the task program. The robot state data are physical quantities indicating the state of the robot over time calculated based on the model of the manipulator 50 (for example, joint angles at predetermined reference times (for example, 1 ms), coordinate positions of reference points, etc.). data.

情報処理装置2のCADソフトウェアは、ロボット状態データに従って仮想空間内でロボットRおよびロボットRに把持されたワークの3次元モデルを動作させる。このとき、情報処理装置2は、当該3次元モデルに対応する近似形状データが、他のロボットRおよび部品の3次元モデルに対応する近似形状データと干渉するか否かについて判定を行う。

干渉判定のタイミングは適宜設定してよいが、例えば、ロボットの基準点が10mm移動する度に干渉判定が行われる。干渉判定のタイミングで、前述したように、ロボットの近似形状データを構成する各球体の位置が更新されて、干渉判定に利用される。
The CAD software of the information processing device 2 operates the three-dimensional model of the robot R and the workpiece gripped by the robot R within the virtual space according to the robot state data. At this time, the information processing device 2 determines whether or not the approximate shape data corresponding to the three-dimensional model interferes with the approximate shape data corresponding to the three-dimensional models of other robots R and parts.

The timing of collision determination may be set as appropriate, but for example, collision determination is performed each time the reference point of the robot moves by 10 mm. At the timing of collision determination, as described above, the positions of the spheres forming the approximate shape data of the robot are updated and used for interference determination.

本実施形態の例では、近似形状データが複数の球体で構成されているため、干渉の判定処理が容易である。すなわち、図13において、干渉判定対象の2個の球体が球体Cb1,Cb2(各球体の半径r1,r2はレベルに応じて既知である。)とした場合、球体Cb1,Cb2のそれぞれのロボット座標系における更新後の原点O1,O2が、前述したようにして算出される。そして、原点O1,O2間の距離Lが、球体Cb1の半径r1と球体Cb2の半径r2の和よりも大きい場合には、球体Cb1と球体Cb2の干渉が無いと判断できる。逆に、原点O1,O2間の距離Lが、球体Cb1の半径r1と球体Cb2の半径r2の和と同じかそれより小さい場合には、球体Cb1と球体Cb2の干渉があると判断できる。球体Cb1と球体Cb2の干渉がある場合には、球体Cb1が属するロボットまたは部品と、球体Cb2が属するロボットまたは部品とが干渉したと判断される。 In the example of this embodiment, since the approximate shape data is composed of a plurality of spheres, the process of determining interference is easy. That is, in FIG. 13, when the two spheres for collision determination are spheres Cb1 and Cb2 (the radii r1 and r2 of each sphere are known according to the level), the robot coordinates of the spheres Cb1 and Cb2 are The updated origins O1 and O2 in the system are calculated as described above. When the distance L between the origins O1 and O2 is greater than the sum of the radius r1 of the sphere Cb1 and the radius r2 of the sphere Cb2, it can be determined that there is no interference between the spheres Cb1 and Cb2. Conversely, if the distance L between the origins O1 and O2 is equal to or smaller than the sum of the radius r1 of the sphere Cb1 and the radius r2 of the sphere Cb2, it can be determined that there is interference between the spheres Cb1 and Cb2. When there is interference between the spheres Cb1 and Cb2, it is determined that the robot or part to which the sphere Cb1 belongs interferes with the robot or part to which the sphere Cb2 belongs.

ロボットR同士およびロボットRと部品との干渉判定は、基本的には総当りで行われるが、明らかに干渉しない組合せについては干渉判定を行わなくてもよい。例えば、(i) ロボットRのハンドと、ハンド上のワーク、(ii) 周辺配置物と、周辺配置物に配置されたワーク、(iii) ハンド上のワークと、周辺配置物に配置された当該ワーク、については、干渉判定を行わなくてもよい。(i)については干渉が発生し得ず、(ii)については両者とも静止関係にあるために干渉が発生し得ず、(iii)については同時に存在し得ないもの同士であるためである。

また、干渉判定の対象の特定の組合せについては、タスクの種別に応じて干渉判定を行う期間を限定してもよい。例えば、ロボット若しくは周辺配置物と、ハンド上のワークとの干渉を判定する際に、タスクの種別が「取る(Pick up)」である場合には最初のデパーチャ点以降の期間において干渉判定を行い、タスクの種別が「置く(Place)」である場合には最初のアプローチ点から目標点までの期間において干渉判定を行うようにしてもよい。
The determination of interference between the robots R and between the robot R and the part is basically performed in a round-robin manner, but it is not necessary to perform the interference determination for combinations that clearly do not interfere. For example, (i) the hand of the robot R and the workpiece on the hand, (ii) the peripheral arrangement object and the workpiece arranged on the peripheral arrangement object, (iii) the work on the hand and the relevant object arranged on the peripheral arrangement object For workpieces, interference determination may not be performed. This is because (i) interference cannot occur, (ii) interference cannot occur because they are in a stationary relationship, and (iii) they cannot exist at the same time.

Further, for a specific combination of targets for interference determination, the period for performing interference determination may be limited according to the task type. For example, when judging interference between a robot or a peripherally arranged object and a work on the hand, if the task type is "Pick up", the collision judgment is performed in the period after the first departure point. Alternatively, if the task type is "Place", interference determination may be performed in the period from the first approach point to the target point.

干渉判定の結果は、3次元モデルのうち干渉が発生する部分を、干渉が発生しない部分と異なる態様で表示してもよい。例えば図14に示すように、ロボットRの3次元モデルのうち部品と干渉する部分RINFを干渉していない部分と異なる態様(例えば、異なる色、模様、輝度など)で表示してもよい。それによって、ロボットRのどの部位に干渉が発生するのかオペレータが認識できるため、ロボットRの教示点を変更する、あるいは部品の配置を変更する等の教示作業を支援することができる。 As for the result of interference determination, the part where interference occurs in the three-dimensional model may be displayed in a different manner from the part where interference does not occur. For example, as shown in FIG. 14, the part RINF of the three-dimensional model of the robot R that interferes with parts may be displayed in a different manner (for example, different color, pattern, brightness, etc.) from parts that do not interfere. As a result, the operator can recognize in which part of the robot R the interference will occur, so that teaching work such as changing the teaching point of the robot R or changing the arrangement of parts can be supported.

干渉する部分RINFを3次元モデルと異なる様態で表示するとともに、干渉する部分RINFを近似形状データで表示してもよい。その際、近似形状データを構成する球体のサイズを表示することが好ましい。それによってオペレータは、近似形状データを構成する球体のサイズから、ロボットRの教示点をどの程度変更することで干渉を回避することができるのか認識することが容易となる。

なお、図14では、ロボットRの3次元モデルが表示される場合について例示しているが、ロボットRの3次元モデルに代えて当該3次元モデルに対応する近似形状データが表示されてもよい。
The interfering portion R INF may be displayed in a manner different from the three-dimensional model, and the interfering portion R INF may be displayed with approximate shape data. At that time, it is preferable to display the size of the sphere that constitutes the approximate shape data. This makes it easier for the operator to recognize how much the teaching points of the robot R need to be changed to avoid interference from the size of the spheres forming the approximate shape data.

Although FIG. 14 exemplifies the case where the three-dimensional model of the robot R is displayed, approximate shape data corresponding to the three-dimensional model may be displayed instead of the three-dimensional model of the robot R.

なお、CADソフトウェアは、オペレータによって選択されたいずれかの3次元モデルを仮想空間内で非表示にしてもよい。その場合、CADソフトウェアにより仮想空間内で非表示にされた3次元モデルについては、干渉が発生するか否かについての判定の対象としないようにすることが好ましい。それによって、オペレータが注目したい部分についての干渉の有無が認識しやすくなる。例えば、仮想空間を表示するときの視点によっては、オペレータが注目したい部分と、部品とが重なってしまう場合が生じうるが、その場合に、当該部品を非表示とすることで注目したい部分で干渉が生ずるか否かオペレータが確認しやすくなる。 Note that the CAD software may hide any three-dimensional model selected by the operator in the virtual space. In that case, it is preferable not to use the three-dimensional model hidden in the virtual space by the CAD software as a target for determining whether or not interference will occur. This makes it easier for the operator to recognize the presence or absence of interference with respect to the portion that the operator wants to focus on. For example, depending on the point of view when displaying the virtual space, a part that the operator wants to pay attention to may overlap with a part. It becomes easy for the operator to confirm whether or not a

(2-8)タスク間干渉チェック

タスク間干渉チェックは、オペレータによって選択された2つのタスク間のロボットの移動中に、ロボット、ワーク、および、周辺配置物の3次元モデルの干渉が仮想空間において発生するか否かを判定することである。
(2-8) Interference check between tasks

The inter-task interference check is to determine whether or not interference occurs in the virtual space between the three-dimensional models of the robot, the workpiece, and the surrounding arrangement during the movement of the robot between two tasks selected by the operator. is.

タスク間干渉チェックを実行するには、例えば、タスクリストに登録された少なくとも2以上のタスクを選択することにより行う。図15に示すように、例えば、タスクリストのうちタスクT~Tのタスク間干渉チェックを行うには、オペレータは、タスクT~Tを選択した上で右クリックし、ボタンb14(「動作確認」)を選択し、ボタンb142(「タスク間干渉チェック」)を選択する操作を行う。 To execute the inter-task interference check, for example, at least two or more tasks registered in the task list are selected. As shown in FIG. 15, for example, in order to check the interference between tasks T 2 to T 4 in the task list, the operator selects the tasks T 2 to T 4 and right-clicks on the button b14 ( "Check operation"), and select the button b142 ("interference check between tasks").

タスク間干渉チェックでは、選択された2以上のタスクのタスク間の動作が設定された部分のロボットプログラム(例えば、上記move(AP1))が情報処理装置2からロボット制御装置3へ送信され、ロボット制御装置3においてロボットプログラムが実行される。ロボット制御装置3は、ロボットプログラムの実行結果としてロボット状態データを含む実行ログデータを情報処理装置2に返す。ロボット状態データは、マニピュレータ50のモデルを基に演算された時間の経過に応じたロボットの状態を示す物理量(例えば、所定の基準時間(例えば1ms)ごとの関節角、基準点の座標位置等)のデータである。 In the inter-task interference check, a portion of the robot program (for example, the above move (AP1)) in which the operation between two or more selected tasks is set is transmitted from the information processing device 2 to the robot control device 3, and the robot A robot program is executed in the controller 3 . The robot control device 3 returns execution log data including robot state data to the information processing device 2 as the execution result of the robot program. The robot state data are physical quantities indicating the state of the robot over time calculated based on the model of the manipulator 50 (for example, joint angles at predetermined reference times (for example, 1 ms), coordinate positions of reference points, etc.). data.

情報処理装置2のCADソフトウェアは、ロボット状態データに従って仮想空間内でロボットRおよびロボットRに把持されたワークの3次元モデルを動作させる。このとき、情報処理装置2は、当該3次元モデルに対応する近似形状データが、他のロボットRおよび部品の3次元モデルに対応する近似形状データと干渉するか否かについて判定を行う。

干渉判定のタイミングは適宜設定してよいが、例えば、ロボットの基準点が10mm移動する度に干渉判定が行われる。干渉判定のタイミングで、前述したように、ロボットの近似形状データを構成する各球体の位置が更新されて、干渉判定に利用される。
The CAD software of the information processing device 2 operates the three-dimensional model of the robot R and the workpiece gripped by the robot R within the virtual space according to the robot state data. At this time, the information processing device 2 determines whether or not the approximate shape data corresponding to the three-dimensional model interferes with the approximate shape data corresponding to the three-dimensional models of other robots R and parts.

The timing of collision determination may be set as appropriate, but for example, collision determination is performed each time the reference point of the robot moves by 10 mm. At the timing of collision determination, as described above, the positions of the spheres forming the approximate shape data of the robot are updated and used for interference determination.

(2-9)干渉判定処理

次に、図16のフローチャートを参照して、干渉判定(干渉チェック)の処理について説明する。図16のフローチャートは、主として情報処理装置2の制御部21によって実行される。
(2-9) Interference determination processing

Next, the process of interference determination (interference check) will be described with reference to the flowchart of FIG. 16 . The flowchart of FIG. 16 is mainly executed by the control section 21 of the information processing device 2 .

図16に示すフローチャートにおいて、ロボットRの基準点が10mm移動する度にステップS12以降の処理が行わる。ロボットRの基準点が前回から10mm移動した場合(ステップS10:YES)、近似形状データの位置の更新を行う(ステップS12)。近似形状データの位置の更新は、当該近似形状データを構成する1または複数の球体の原点をすべて更新することによって行われる。 In the flowchart shown in FIG. 16, the processing from step S12 onward is performed each time the reference point of the robot R moves by 10 mm. If the reference point of the robot R has moved 10 mm from the previous time (step S10: YES), the position of the approximate shape data is updated (step S12). Updating the position of the approximate shape data is performed by updating all of the origins of one or more spheres forming the approximate shape data.

次いで、制御部21は、ロボットR同士、およびロボットRと部品との干渉判定を総当りで行う。このとき、ロボットRおよび部品の近似形状データとして、最も球体のサイズが大きいレベル1の近似形状データを用いて、干渉判定が行われる(ステップS14)。干渉の有無は、図13を参照して説明したように、干渉判定の対象となる2つの近似形状データからそれぞれ1つの球体に着目し、球体同士が干渉するか否かを、原点間の距離と、レベル1として予め設定されている各球体の半径の和との大小に基づいて行う。干渉判定の対象となる2つの近似形状データに対して着目する球体を順次変更し、総当りで球体同士が干渉するか否かを判定する。その結果、1つも球体同士が干渉しない場合には(ステップS16:NO)、制御部21は、2つの近似形状データが干渉しないと判断し(ステップS18)、終了する。 Next, the control unit 21 performs round-robin collision determination between the robots R and between the robot R and the part. At this time, as the approximate shape data of the robot R and parts, the approximate shape data of level 1 having the largest sphere size is used to determine interference (step S14). As described with reference to FIG. 13, the presence or absence of interference is determined by focusing on one sphere from each of the two pieces of approximate shape data to be subjected to interference determination, and determining whether or not the spheres interfere with each other based on the distance between the origins. and the sum of the radii of each sphere preset as level 1. The spheres to be focused on are sequentially changed with respect to the two pieces of approximate shape data to be subjected to interference determination, and whether or not the spheres interfere with each other is determined in a round-robin manner. As a result, when even one sphere does not interfere with each other (step S16: NO), the control unit 21 determines that the two pieces of approximate shape data do not interfere with each other (step S18), and terminates.

ステップS14のレベル1の近似形状データでの干渉チェックにおいて、ロボットR同士の組合せ、およびロボットRと部品の組合せのうち、干渉が生じた組合せについては(ステップS16:YES)、制御部21は、球体のサイズがレベル1より小さいレベル2の近似形状データを用いて干渉判定を行う(ステップS20)。球体のサイズが異なる点を除けば、干渉判定の処理は、ステップS14と同じである。すなわち、制御部21は、干渉判定の対象となる2つの近似形状データについて1つも球体同士が干渉しない場合には(ステップS22:NO)、2つの近似形状データが干渉しないと判断し(ステップS18)、終了する。 In the interference check using the approximate shape data of level 1 in step S14, among the combination of the robots R and the combination of the robot R and the part, for the combination in which interference occurs (step S16: YES), the control unit 21: Collision determination is performed using approximate shape data of level 2, in which the size of the sphere is smaller than level 1 (step S20). The collision determination process is the same as in step S14 except that the size of the spheres is different. That is, if even one sphere does not interfere with two pieces of approximate shape data to be subjected to interference determination (step S22: NO), the control unit 21 determines that the two pieces of approximate shape data do not interfere (step S18). ),finish.

ステップS20のレベル2の近似形状データでの干渉チェックにおいて、ロボットR同士の組合せ、およびロボットRと部品の組合せのうち、干渉が生じた組合せについては(ステップS22:YES)、制御部21は、球体のサイズがレベル2よりさらに小さいレベル3の近似形状データを用いて干渉判定を行う(ステップS24)。球体のサイズが異なる点を除けば、干渉判定の処理は、ステップS14と同じである。すなわち、制御部21は、干渉判定の対象となる2つの近似形状データについて1つも球体同士が干渉しない場合には(ステップS26:NO)、2つの近似形状データが干渉しないと判断し(ステップS18)、終了する。 In the interference check using the approximate shape data of level 2 in step S20, among the combination of the robots R and the combination of the robot R and the part, for the combination in which interference occurs (step S22: YES), the control unit 21 Collision determination is performed using approximate shape data of level 3, in which the size of the sphere is smaller than level 2 (step S24). The collision determination process is the same as in step S14 except that the size of the spheres is different. That is, if even one sphere does not interfere with two pieces of approximate shape data to be subjected to interference determination (step S26: NO), the control unit 21 determines that the two pieces of approximate shape data do not interfere (step S18). ),finish.

ステップS24のレベル3の近似形状データでの干渉チェックにおいて、ロボットR同士の組合せ、およびロボットRと部品の組合せに対して干渉が生じた場合には(ステップS26:YES)、干渉があると判断し(ステップS28)、干渉判定結果のデータをストレージ22に記録して終了する。干渉判定結果のデータは、ロボットR、および/または、ロボットRと部品における干渉した球体の位置のデータが含まれる。

図16のフローチャートに示すように、好ましくは、干渉判定は、精度が低いレベル1の近似形状データから精度が高いレベル3の近似形状データを順に用いて、段階的に干渉判定が行われる。また、好ましくは、干渉チェックにおいて、干渉が生じた組合せのうち、干渉した球体のみを高精度のレベルの近似形状データとする。そのため、最初から精度が高いレベル3の近似形状データを用いて干渉判定を行う場合と比較して、干渉判定に要する演算負荷が低減される。
In the interference check with the approximate shape data of level 3 in step S24, if interference occurs between the combination of the robots R and the combination of the robot R and the part (step S26: YES), it is determined that there is interference. (step S28), the data of the collision determination result is recorded in the storage 22, and the process ends. The collision determination result data includes data on the robot R and/or the position of the sphere that interfered with the robot R and the part.

As shown in the flowchart of FIG. 16, preferably, the collision determination is performed step by step using the approximate shape data of level 1 with low precision and the approximate shape data of level 3 with high precision in order. Preferably, in the interference check, among the combinations in which interference occurs, only the interfering spheres are treated as approximate shape data at a high-precision level. Therefore, the computational load required for collision determination is reduced compared to the case where collision determination is performed using approximate shape data of level 3, which has high accuracy from the beginning.

(3)干渉が発生する場合の経由点の設定

次に、ロボットRを始点から終点まで移動させる場合の経由点の設定方法について、図17のフローチャートを参照して説明する。例えば、ロボットRを始点から終点まで移動させるときに、途中で部品と干渉が発生する場合には、当該部品を避けるようにして経由点を設ける必要がある。
(3) Setting waypoints when interference occurs

Next, a method of setting waypoints when moving the robot R from the start point to the end point will be described with reference to the flowchart of FIG. For example, when the robot R is moved from the start point to the end point, if interference occurs with a part on the way, it is necessary to provide a waypoint so as to avoid the part.

以下、図18の例示を参照しながら、図17のフローチャートについて説明する。図18は、候補点(後述する)の設定について説明する図である。図1に示すフローチャートは教示プログラムに記述されており、情報処理装置2の制御部21によって実行される。 図17において、所定の始点から所定の終点までロボットRを移動させる場合、制御部21は、例えば、始点や終点の座標データや近似形状データ等の必要なデータを抽出し(ステップS30)、干渉チェックを行う(ステップS32)。干渉チェックの具体的な処理は、図16を参照して説明したとおりである。

ステップS32の結果、干渉が発生しない場合には(ステップS34:NO)、始点と終点の間に経由点を設ける必要がないため、終了する。ステップS32の結果、干渉が発生する場合には(ステップS34:YES)、経由点を設定するためにステップS36以降に進む。
The flowchart of FIG. 17 will be described below with reference to the example of FIG. FIG. 18 is a diagram illustrating setting of candidate points (to be described later). The flowchart shown in FIG. 1 is written in a teaching program and executed by the control unit 21 of the information processing device 2 . In FIG. 17, when moving the robot R from a predetermined start point to a predetermined end point, the control unit 21 extracts necessary data such as coordinate data of the start point and the end point and approximate shape data (step S30), A check is performed (step S32). The specific processing of the interference check is as described with reference to FIG. 16 .

As a result of step S32, if no interference occurs (step S34: NO), there is no need to provide a waypoint between the start point and the end point, so the process ends. As a result of step S32, if interference occurs (step S34: YES), the process proceeds to step S36 and subsequent steps to set a waypoint.

ロボットと部品の干渉が発生した場合、制御部21は、球体で構成される部品の近似形状データにおいてロボットと干渉する球体を大径化した球体の表面に候補点を設定する(ステップS36)。候補点とは、ロボットRの始点から終点までの経路の経由点となり得る、経由点の候補となる点を意味する。

例えば、部品の特定のレベル3の球体(図10参照)において干渉が発生する場合、当該レベル3の球体に対して、ツリー構造上で対応するレベル2の球体(図10参照)の表面上に候補点を設定する。
When the robot and the part interfere with each other, the control unit 21 sets candidate points on the surface of a sphere obtained by increasing the diameter of the sphere that interferes with the robot in the approximate shape data of the part composed of a sphere (step S36). A candidate point means a point that can be a candidate of a waypoint that can be a waypoint of a route from the start point of the robot R to the end point.

For example, when interference occurs in a specific level 3 sphere (see FIG. 10) of a part, for that level 3 sphere, on the surface of the corresponding level 2 sphere (see FIG. 10) in the tree structure Set candidate points.

図18は、候補点VCが設定されたレベル2の球体Cb10(L2)を示している。この例では、始点と終点の間に存在するレベル3の球体(図示せず)において干渉が発生したため、当該球体に対応付けられている、より径の大きいレベル2の球体Cb10(L2)に候補点VCが設定された場合が想定されている。干渉が発生した球体よりも一回り大きな球体の表面上に候補点VCを設定することで、現在生じている干渉を回避しつつ、別の部品との新たな干渉が発生する可能性を低くすることができる。 FIG. 18 shows a level 2 sphere Cb10 (L2) on which candidate points VC are set. In this example, since interference occurs in a level 3 sphere (not shown) existing between the start point and the end point, the candidate is a level 2 sphere Cb10 (L2) with a larger diameter that is associated with the sphere. It is assumed that the point VC is set. By setting the candidate point VC on the surface of a sphere that is one size larger than the sphere where the interference occurred, the possibility of new interference with another part is reduced while avoiding the current interference. be able to.

図18に示す例では、レベル2の球体Cb10(L2)の表面上に、ユーザによって指定された数の候補点VCを均等に設定している。 In the example shown in FIG. 18, the number of candidate points VC specified by the user is evenly set on the surface of the level 2 sphere Cb10 (L2).

複数の候補点VCを設定した後、制御部21は、各候補点VCを仮に経由点とした場合に干渉が発生するか否かの干渉チェックを行う。具体的には、制御部21は、ロボットRを始点から候補点VCまで移動させたときの干渉チェックを行うとともに(ステップS38)、ロボットRを当該候補点VCから終点まで移動させたときの干渉チェックを行う(ステップS40)。ステップS38およびS40の処理は、ステップS36で設定されたすべての候補点VCを対象として行う(ステップS42:NO)。制御部21は、各候補点VCに対するステップS38,S40の干渉チェックの結果をストレージ22に記録する。

各候補点VCに対する干渉チェックの結果、干渉を回避できる候補点VCが1つでも存在したと判定された場合(ステップS44:YES)、干渉を回避できる候補点VCの中からいずれかの候補点VCをユーザが選択可能となるように、候補点VCを表示する(ステップS46)。
After setting a plurality of candidate points VC, the control unit 21 performs an interference check to determine whether or not interference will occur if each candidate point VC is assumed to be a waypoint. Specifically, the control unit 21 performs an interference check when the robot R is moved from the starting point to the candidate point VC (step S38), and also performs an interference check when the robot R is moved from the candidate point VC to the end point. A check is performed (step S40). The processes of steps S38 and S40 are performed for all the candidate points VC set in step S36 (step S42: NO). The control unit 21 records in the storage 22 the results of the interference checks in steps S38 and S40 for each candidate point VC.

As a result of the interference check for each candidate point VC, if it is determined that there is at least one candidate point VC that can avoid interference (step S44: YES), one of the candidate points VC that can avoid interference The candidate points VC are displayed so that the user can select the VC (step S46).

ステップS46における好ましい表示例を図19に示す。

図19に示す表示例では、以下の4グループに分けて、各グループを異なる表示態様で表示する。このようにグループ分けして候補点VCを表示することで、ユーザに対して、候補点VCの中から適切な経由点を選択するための有用な情報を与えることができる。

なお、各グループの異なる表示態様は一例に過ぎず、異なるグループが識別できる限り如何なる表示態様であってもよい。例えば、グループごとに異なる色で表示してもよい。
FIG. 19 shows a preferable display example in step S46.

In the display example shown in FIG. 19, it is divided into the following four groups, and each group is displayed in a different display mode. By grouping and displaying the candidate points VC in this way, it is possible to provide the user with useful information for selecting an appropriate waypoint from among the candidate points VC.

It should be noted that the different display modes of each group are merely an example, and any display mode may be used as long as different groups can be identified. For example, each group may be displayed in a different color.


・「●」:始点から候補点VCまでの経路、および、候補点VCから終点までの経路において近似形状データの干渉が発生しないという第1条件を満たす候補点(第1候補点の一例)からなる第1候補点からなる第1候補点グループ

・「△」:始点から候補点VCまでの経路において近似形状データの干渉が発生せず、候補点VCから終点までの経路において近似形状データの干渉が発生するという第2条件を満たす候補点(第2候補点の一例)からなる第2候補点グループ

・「▲」:始点から候補点VCまでの経路において近似形状データの干渉が発生し、候補点VCから終点までの経路において近似形状データの干渉が発生しないという第3条件を満たす候補点(第3候補点の一例)からなる第3候補点グループ

・「×」:始点から候補点VCまでの経路、および、候補点VCから終点までの経路のいずれにおいても近似形状データの干渉が発生するという第4条件を満たす候補点からなる第4候補点グループ

・“●”: from a candidate point (an example of the first candidate point) that satisfies the first condition that no interference of approximate shape data occurs on the path from the start point to the candidate point VC and on the path from the candidate point VC to the end point (an example of the first candidate point) The first candidate point group consisting of the first candidate points

・“△”: Candidate point satisfying the second condition that the approximate shape data does not interfere on the route from the start point to the candidate point VC, and the approximate shape data interfere on the route from the candidate point VC to the end point ( Second candidate point group consisting of (an example of the second candidate point)

・“▲”: A candidate point that satisfies the third condition that the approximate shape data interferes on the route from the starting point to the candidate point VC, and the approximate shape data does not interfere on the route from the candidate point VC to the end point (the third condition). An example of 3 candidate points) A third candidate point group consisting of

"X": Fourth candidate point consisting of candidate points satisfying the fourth condition that interference of approximate shape data occurs on both the route from the start point to the candidate point VC and the route from the candidate point VC to the end point. group

ユーザが例えばポインティングデバイスを用いて、ステップS46に表示された候補点VCの中からいずれかの候補点VCを選択した場合(ステップS48:YES)、制御部21は、選択された候補点VCを経由点として決定する(ステップS50)。 If the user selects any candidate point VC from among the candidate points VC displayed in step S46 using, for example, a pointing device (step S48: YES), the control unit 21 selects the selected candidate point VC. It is determined as a waypoint (step S50).

ステップS44において、干渉を回避できる候補点VCが1つも存在しないと判定された場合(ステップS44:NO)、制御部21は、ステップS36で候補点VCを設定した球体よりもさらに1サイズ大きい球体の表面上に候補点VCを設定する(ステップS52)。そして、ステップS38~S42の処理を再び繰り返す。候補点VCを設定する球体を大きくすることで、干渉を回避できる可能性が高くなる。 If it is determined in step S44 that there is no candidate point VC that can avoid interference (step S44: NO), the control unit 21 selects a sphere that is one size larger than the sphere for which the candidate point VC is set in step S36. A candidate point VC is set on the surface of (step S52). Then, the processing of steps S38 to S42 is repeated again. Increasing the size of the sphere for setting the candidate point VC increases the possibility of avoiding interference.

図17のフローチャートのステップS44において、干渉を回避する候補点VCが1つも存在しない場合には、2以上の経由点を設定するようにしてもよい。

例えば図20において、干渉を回避する候補点VCが1つも存在しない場合、第2候補点グループの中のいずれかの候補点VCを、第1の経由点V1として決定する。つまり、図20に示す例では、始点から第1の経由点V1までの経路で干渉が発生しないが、第1の経由点V1から終点までの経路で、近似形状データのレベル3の球体Cb12(L3)と干渉する。

かかる場合には、第1の経由点V1を始点とした場合の始点から終点までの経路において、図17の処理を実行する。すなわち、図21に示すように、近似形状データのレベル3の球体Cb12(L3)より大径化した、レベル2の球体Cb12(L2)の表面上に候補点を設定する。図21には、レベル2の球体Cb12(L2)の表面上に候補点から第2の経由点V2が決定された例が示される。図21に示した例では、始点→第1の経由点V1→第2の経由点V2→終点、のロボットRの経路によって干渉の発生が回避される。
In step S44 of the flowchart of FIG. 17, if there is not even one candidate point VC for avoiding interference, two or more waypoints may be set.

For example, in FIG. 20, if there is no candidate point VC for avoiding interference, any candidate point VC in the second candidate point group is determined as the first waypoint V1. That is, in the example shown in FIG. 20, no interference occurs on the route from the starting point to the first waypoint V1, but on the route from the first waypoint V1 to the end point, the sphere Cb12 ( L3).

In such a case, the process of FIG. 17 is executed on the route from the starting point to the ending point when the first waypoint V1 is used as the starting point. That is, as shown in FIG. 21, candidate points are set on the surface of a level 2 sphere Cb12 (L2) that is larger in diameter than the approximation shape data level 3 sphere Cb12 (L3). FIG. 21 shows an example in which the second waypoint V2 is determined from the candidate points on the surface of the level 2 sphere Cb12 (L2). In the example shown in FIG. 21, the occurrence of interference is avoided by the route of the robot R of starting point→first waypoint V1→second waypoint V2→end point.

図18に示した例では、レベル2の球体Cb10(L2)の表面上に、ユーザによって指定された数の候補点VCを均等に設定した場合を示したが、その限りではない。

図22に示すように、始点と終点とを結ぶ直線DLと直交するレベル2の球体Cb10(L2)の切断面のうちレベル2の球体Cb10(L2)と交わる円の径が最大となる平面PL1を定義したときに、当該平面PL1上であってレベル2の球体Cb10(L2)の表面と交わる円上に複数の候補点VCを設定してもよい。この場合、設定された複数の候補点VCの中には、レベル2の球体Cb10(L2)の表面上で直線DLから最も離れた候補点VCが含まれることになるため、干渉を回避できる可能性が高くなる。また、レベル2の球体Cb10(L2)の表面上に均等に候補点VCを設けるよりも、候補点VCの数が少なくて済むため、経由点を決定するための演算負荷が低減する。
Although the example shown in FIG. 18 shows the case where the number of candidate points VC specified by the user is evenly set on the surface of the sphere Cb10 (L2) of level 2, the present invention is not limited to this.

As shown in FIG. 22, a plane PL1 having the maximum diameter of a circle that intersects the level-2 sphere Cb10 (L2) among the cutting planes of the level-2 sphere Cb10 (L2) perpendicular to the straight line DL connecting the start point and the end point , a plurality of candidate points VC may be set on a circle that is on the plane PL1 and intersects the surface of the level-2 sphere Cb10 (L2). In this case, the plurality of set candidate points VC includes the candidate point VC farthest from the straight line DL on the surface of the level 2 sphere Cb10 (L2). become more sexual. In addition, since the number of candidate points VC is smaller than when the candidate points VC are uniformly provided on the surface of the level 2 sphere Cb10 (L2), the calculation load for determining the waypoints is reduced.

(4)経路決定装置1の機能

次に、本実施形態の経路決定装置1の機能について、図23を参照して説明する。図23は、実施形態に係る経路決定装置1の機能ブロック図である。

図23に示すように、経路決定装置1は、表示制御部101、データ作成部102、プログラム実行部103、状態情報算出部104、干渉判定部105、候補点設定部106、および、候補点特定部107を備える。

本実施形態の経路決定装置1において、情報処理装置2のストレージ22は、前述したように、ロボットプログラム221、階層型リストデータベース222、3次元モデルデータベース223、実行ログデータベース224、および、近似形状モデルデータベース225を備える。
(4) Functions of route determination device 1

Next, functions of the route determination device 1 of this embodiment will be described with reference to FIG. FIG. 23 is a functional block diagram of the route determination device 1 according to the embodiment.

As shown in FIG. 23, the route determination device 1 includes a display control unit 101, a data creation unit 102, a program execution unit 103, a state information calculation unit 104, an interference determination unit 105, a candidate point setting unit 106, and a candidate point identification unit. A unit 107 is provided.

In the route determination device 1 of this embodiment, the storage 22 of the information processing device 2 includes the robot program 221, the hierarchical list database 222, the three-dimensional model database 223, the execution log database 224, and the approximate shape model, as described above. A database 225 is provided.

表示制御部101は、教示ソフトウェアおよびCADソフトウェアの実行結果を表示装置24に表示させる制御を行う。

表示制御部101は、ロボット、ワーク、および、周辺配置物の3次元モデルを仮想空間内に配置して表示装置24に表示させる機能を備える。当該機能は、CADソフトウェアが3次元モデルデータベース223を参照することによって実現される。

表示制御部101は、近似形状データを仮想空間内に配置して表示装置24に表示させる機能を備える。当該機能を実現するために、情報処理装置2の制御部21は、ストレージ22の近似形状モデルデータベース225にアクセスして、仮想空間に配置すべき近似形状データを読み出す。近似形状データは、3次元モデルデータベース223の3次元モデルに対応付けられている。
The display control unit 101 controls the display device 24 to display execution results of the teaching software and the CAD software.

The display control unit 101 has a function of arranging a three-dimensional model of a robot, a workpiece, and a surrounding arrangement in a virtual space and displaying it on the display device 24 . This function is realized by referring to the three-dimensional model database 223 by CAD software.

The display control unit 101 has a function of arranging the approximate shape data in the virtual space and displaying it on the display device 24 . In order to implement this function, the control unit 21 of the information processing device 2 accesses the approximate shape model database 225 of the storage 22 and reads approximate shape data to be arranged in the virtual space. Approximate shape data is associated with the three-dimensional model of the three-dimensional model database 223 .

表示制御部101は、候補点特定部107によって特定された候補点を、当該候補点の中からユーザが経由点を選択可能となるように、表示装置24に表示する機能を備える。 The display control unit 101 has a function of displaying the candidate points specified by the candidate point specifying unit 107 on the display device 24 so that the user can select a waypoint from the candidate points.

データ作成部102は、3次元モデルデータベース223に含まれる3次元データを球体の集合によって近似した近似形状データを作成する機能を備える。当該機能を実現するために、情報処理装置2の制御部21が、3次元モデルデータベース223からロボットおよび部品の3次元モデルを読み出し、3次元モデルの外表面を1または複数の球体で覆うようにして球体を配置することで、3次元モデルに対応する近似形状データを作成する。作成された近似形状データは、近似形状モデルデータベース225に記録される。 The data creation unit 102 has a function of creating approximate shape data obtained by approximating the three-dimensional data contained in the three-dimensional model database 223 by a set of spheres. In order to realize this function, the control unit 21 of the information processing device 2 reads the three-dimensional model of the robot and parts from the three-dimensional model database 223, and covers the outer surface of the three-dimensional model with one or more spheres. Approximate shape data corresponding to the three-dimensional model is created by arranging the spheres with the The approximate shape data created is recorded in the approximate shape model database 225 .

プログラム実行部103は、オペレータの操作入力に応じて、ロボットプログラムの全部または一部を実行する機能を備える。

プログラム実行部103の機能を実現するために、タスクリストのうちいずれかのタスクを選択した状態でのボタンb141(「タスク内干渉チェック」)の操作、または、タスクリストのうち2以上のタスクを選択した状態でのボタンb142(「タスク間干渉チェック」)を選択する操作に応じて、通信インタフェース部25を介してロボットプログラムをロボット制御装置3へ送信する。送信対象とするロボットプログラムの範囲は、タスクリストにおいて選択されたタスクに基づく。ロボット制御装置3の制御部31は、ロボットプログラムを受信すると、ロボットプログラムを実行する。
The program execution unit 103 has a function of executing all or part of the robot program according to the operation input by the operator.

In order to realize the function of the program execution unit 103, the operation of the button b141 ("intra-task interference check") with any task selected from the task list, or the operation of two or more tasks from the task list. The robot program is transmitted to the robot control device 3 via the communication interface unit 25 in response to the operation of selecting the button b142 (“interference check”) in the selected state. The range of robot programs to be sent is based on the task selected in the task list. Upon receiving the robot program, the control unit 31 of the robot control device 3 executes the robot program.

状態情報算出部104は、プログラム実行部103による実行結果に基づいて、時間の経過に応じたロボットの状態を示す情報であるロボット状態データを演算する機能を備える。 The state information calculation unit 104 has a function of calculating robot state data, which is information indicating the state of the robot over time, based on the execution results of the program execution unit 103 .

状態情報算出部104の機能を実現するために、ロボット制御装置3の制御部31は、情報処理装置2からロボットプログラムを実行し、ロボットプログラムの実行結果として、ロボット状態データを演算して順次、ストレージ32に記録する。

ロボット状態データは、マニピュレータ50のモデルを基に演算された時間の経過に応じたロボットの状態を示す物理量(例えば、所定の基準時間(例えば1ms)ごとの関節角、基準点の座標位置等)のデータである。

ロボットプログラムの実行が終了すると、制御部31は、ストレージ32から、時間軸に沿った所定の基準時間(例えば1ms)ごとのロボット状態データを読み出す。制御部31は、読み出したロボット状態データを含む実行ログデータを、通信インタフェース部33を介して情報処理装置2へ送信する。情報処理装置2の制御部21は、ロボット制御装置3からロボット状態データを含む実行ログデータを取得すると、実行ログデータを実行ログデータベース224に記録する。
In order to realize the function of the state information calculation unit 104, the control unit 31 of the robot control device 3 executes the robot program from the information processing device 2, calculates robot state data as the execution result of the robot program, and sequentially: Record in the storage 32 .

The robot state data are physical quantities indicating the state of the robot over time calculated based on the model of the manipulator 50 (for example, joint angles at predetermined reference times (for example, 1 ms), coordinate positions of reference points, etc.). data.

When the execution of the robot program is finished, the control unit 31 reads robot state data for each predetermined reference time (for example, 1 ms) along the time axis from the storage 32 . The control unit 31 transmits execution log data including the read robot state data to the information processing device 2 via the communication interface unit 33 . When the control unit 21 of the information processing device 2 acquires execution log data including robot state data from the robot control device 3 , it records the execution log data in the execution log database 224 .

干渉判定部105は、始点から終点までの経路においてロボットRを移動させたときに、近似形状データの干渉が発生するか否かを判定する機能を備える。干渉の有無は、ロボットプログラムの実行ログデータに基づいて決定される。干渉判定部105は、図16の干渉判定処理に相当する。 The interference determination unit 105 has a function of determining whether or not the approximate shape data will interfere with each other when the robot R is moved along the route from the start point to the end point. Whether or not there is interference is determined based on execution log data of the robot program. The interference determination unit 105 corresponds to the interference determination process in FIG. 16 .

候補点設定部106は、干渉判定部105によって干渉が発生すると判定された場合、近似形状データのうち干渉が発生した球体より大径の球体の表面上に、ロボットRが経由する経由点の候補となる複数の候補点を設定する機能を備える。候補点設定部106は、例えば、図17のフローチャートのステップS36の処理に対応する。 When the interference determination unit 105 determines that interference will occur, the candidate point setting unit 106 sets candidates for waypoints through which the robot R passes on the surface of a sphere having a larger diameter than the sphere in which the interference has occurred among the approximate shape data. It has a function to set a plurality of candidate points. The candidate point setting unit 106 corresponds to, for example, the process of step S36 in the flowchart of FIG.

候補点特定部107は、始点から候補点までの経路、および、候補点から前記終点までの経路においてロボットRに移動させたときに、近似形状データの干渉が発生しない候補点を、複数の候補点の中から特定する機能を備える。候補点特定部107は、例えば、図17のフローチャートのステップS38~S44の処理に相当する。 The candidate point specifying unit 107 selects a plurality of candidate points for which no interference of the approximate shape data occurs when the robot R is moved along the route from the starting point to the candidate point and the route from the candidate point to the end point. Equipped with a function to specify from points. The candidate point identification unit 107 corresponds to, for example, the processing of steps S38 to S44 in the flowchart of FIG.

データ作成部102は、3次元データに対応して、それぞれ球体の径が異なる複数の近似形状データを作成し、当該複数の近似形状データの各球体は、径が大きい球体が当該球体よりも径が小さい2以上の球体と対応付けられるようにツリー構造によって構成されてもよい。その場合、候補点設定部106は、近似形状データのうち干渉が発生した球体に対応付けられている、より径が大きい球体の表面上に、複数の候補点を設定する。

なお、近似形状データのうち干渉が発生した球体に対して、ツリー構造に対応する大径の球体の表面上に候補点を設定することは必須ではない。例えば、近似形状データのうち干渉が発生した球体と同心の、より大径の球体の表面上に候補点を設定してもよい。
The data creation unit 102 creates a plurality of approximate shape data having different sphere diameters corresponding to the three-dimensional data. may be configured by a tree structure such that is associated with two or more small spheres. In this case, the candidate point setting unit 106 sets a plurality of candidate points on the surface of the larger diameter sphere associated with the sphere in which the interference occurred in the approximate shape data.

It is not essential to set candidate points on the surface of a large-diameter sphere corresponding to the tree structure for the sphere in which interference has occurred in the approximate shape data. For example, the candidate points may be set on the surface of a larger-diameter sphere that is concentric with the sphere in which interference has occurred in the approximate shape data.

図17のフローチャートのステップS52に示したように、候補点特定部107が、近似形状データの干渉が発生しない候補点を特定することができない場合には、候補点設定部106は、候補点が設定されている球体に対応付けられている、より径が大きい球体の表面上に、複数の候補点を新たに設定してもよい。その場合、候補点特定部107は、新たに設定した複数の候補点の中から、近似形状データの干渉が発生しない候補点を特定する。 As shown in step S52 of the flowchart in FIG. 17, when the candidate point specifying unit 107 cannot specify the candidate points where the approximate shape data do not interfere, the candidate point setting unit 106 determines that the candidate points are A plurality of candidate points may be newly set on the surface of a sphere with a larger diameter that is associated with the set sphere. In this case, the candidate point identifying unit 107 identifies candidate points at which interference of the approximate shape data does not occur from among the plurality of newly set candidate points.

以上説明したように、本実施形態の経路決定装置1では、1または複数の球体の集合体で構成した近似形状データでロボットや部品をモデル化し、近似形状データを用いてロボットを動作させたときの干渉判定を行う。干渉が発生した場合には、近似形状データのうち干渉が発生した球体より大径の球体の表面上に、ロボットが経由する経由点の候補となる複数の候補点を設定し、当該複数の候補点の中から干渉が発生しない候補点を特定する。そして、特定された候補点の中から、ユーザの選択に従って経由点を決定する。

複数の候補点は、例えば、干渉が発生した球体に対して予め対応付けられた、より大径の球体上に設定される。そして、各候補点を経由するときの干渉判定は、図13を参照して説明したように簡単な処理で行うことができる。すなわち、干渉が発生しない経由点の候補となる候補点を経由点の決定は短時間で行うことができる。干渉が発生しない候補点の中からユーザによる簡易な操作で経由点が決定される。したがって、本実施形態の経路決定装置1によれば、簡易な操作で、かつ短時間で、干渉を回避するロボットの動作経路を生成できる。
As described above, in the route determination device 1 of the present embodiment, when a robot or a part is modeled using approximate shape data composed of an aggregate of one or more spheres, and the robot is operated using the approximate shape data, interference judgment. When interference occurs, a plurality of candidate points are set on the surface of a sphere having a diameter larger than that of the sphere where the interference occurred among the approximate shape data, and the plurality of candidate points are set as candidates for waypoints through which the robot passes. Identify candidate points where interference does not occur from among the points. Then, from among the identified candidate points, a waypoint is determined according to the user's selection.

A plurality of candidate points are set, for example, on a larger-diameter sphere that is pre-associated with the sphere in which interference has occurred. Then, the collision determination when passing through each candidate point can be performed by a simple process as described with reference to FIG. 13 . In other words, it is possible to determine candidate points that are candidates for the waypoints where no interference occurs in a short period of time. A waypoint is determined by a user's simple operation from candidate points where no interference occurs. Therefore, according to the route determination device 1 of the present embodiment, it is possible to generate a motion route of the robot that avoids interference with a simple operation and in a short period of time.

以上、本発明の経路決定装置の実施形態について詳述したが、本発明は上記の実施形態に限定されない。また、上記の実施形態は、本発明の主旨を逸脱しない範囲において、種々の改良や変更が可能である。

例えば、図24に、図17のフローチャートの変形例を示す。図24では、各候補点に対する干渉チェックが終了した後(ステップS42:YES)、干渉チェック結果を図19に例示したようにして表示し、ユーザがいずれの候補点も経由点として選択しないことを決定した場合にステップS52に進む。この変形例では、干渉が発生しない候補点が存在しない場合であっても、候補点を設定する球体を大きくすることなく、複数の経由点を設定することで柔軟に経路を決定していくことができる。
Although the embodiments of the route determination device of the present invention have been described above, the present invention is not limited to the above embodiments. Also, the above embodiments can be modified and modified in various ways without departing from the gist of the present invention.

For example, FIG. 24 shows a modification of the flowchart of FIG. In FIG. 24, after the interference check for each candidate point is completed (step S42: YES), the interference check result is displayed as shown in FIG. When determined, the process proceeds to step S52. In this modification, even if there are no candidate points that do not cause interference, the route can be determined flexibly by setting multiple waypoints without enlarging the sphere for setting candidate points. can be done.

上述した説明により、図23の機能ブロック図に記載された機能のうち少なくとも一部の機能をコンピュータに実現させるためのプログラム、および、当該プログラムが記録されたコンピュータ可読記憶媒体(不揮発性の記憶媒体をも含む。)が開示されていることは当業者に理解される。 According to the above description, a program for causing a computer to implement at least some of the functions described in the functional block diagram of FIG. 23, and a computer-readable storage medium (non-volatile storage medium ) are disclosed.

1…経路決定装置、2…情報処理装置、21…制御部、22…ストレージ、23…入力装置、24…表示装置、25…通信インタフェース部、3…ロボット制御装置、31…制御部、32…ストレージ、33…通信インタフェース部、11…ペントレイ、P…ペン群、12…キャップトレイ、C…キャップ群、13…治具、14…製品トレイ、EC…イーサネットケーブル、R…ロボット、51…アーム、52…ハンド、61~68…ノード、101…表示制御部、102…データ作成部、103…プログラム実行部103…状態情報算出部104…干渉判定部、106…候補点設定部、107…候補点特定部、221…ロボットプログラム、222…階層型リストデータベース、223…3次元モデルデータベース、224…実行ログデータベース、225…近似形状モデルデータベース、RA…ロボット領域、PA…パーツ領域、W1~W5…ウィンドウ、b1~b2,b11~b13,b141,b142…ボタン、AP…アプローチ点、TP…目標点、DP…デパーチャ点、TL…テーブル、T…タスク、M…モーション名称、Cb1,Cb2…球体、Cb10(L2),Cb12(L2)…レベル2の球体、Cb12(L3)…レベル3の球体、O1,O2…原点、VC…候補点、V…経由点、DL…直線DL、PL1…切断面、CL1…円 DESCRIPTION OF SYMBOLS 1... Route determination apparatus 2... Information processing apparatus 21... Control part 22... Storage 23... Input device 24... Display device 25... Communication interface part 3... Robot control apparatus 31... Control part 32... Storage 33 Communication interface unit 11 Pen tray P Pen group 12 Cap tray C Cap group 13 Jig 14 Product tray EC Ethernet cable R Robot 51 Arm 52 Hand 61 to 68 Node 101 Display control unit 102 Data creation unit 103 Program execution unit 103 State information calculation unit 104 Interference determination unit 106 Candidate point setting unit 107 Candidate point Identification unit 221 Robot program 222 Hierarchical list database 223 Three-dimensional model database 224 Execution log database 225 Approximate shape model database RA Robot area PA Part area W1 to W5 Window , b1-b2, b11-b13, b141, b142... button, AP... approach point, TP... target point, DP... departure point, TL... table, T... task, M... motion name, Cb1, Cb2... sphere, Cb10 (L2), Cb12 (L2)... Level 2 sphere, Cb12 (L3)... Level 3 sphere, O1, O2... Origin, VC... Candidate point, V... Waypoint, DL... Straight line DL, PL1... Cutting plane, CL1... Yen

Claims (8)


ロボット、前記ロボットの作業対象となるワーク、および、前記ロボットの周辺に配置される周辺配置物のうち少なくともいずれかの3次元データを記憶する記憶部と、

前記記憶部に記憶される3次元データを、当該3次元データの外表面を覆うように1または複数の球体を配置することで当該3次元データの近似形状データを作成するデータ作成部と、

始点から終点までの経路において前記ロボットを移動させたときに、前記近似形状データの干渉が発生するか否かを判定する干渉判定部と、

前記干渉判定部によって干渉が発生すると判定された場合、前記近似形状データのうち干渉が発生した球体より大径の球体の表面上に、前記ロボットが経由する経由点の候補となる複数の候補点を設定する候補点設定部と、

前記始点から候補点までの経路、および、候補点から前記終点までの経路において前記ロボットに移動させたときに、前記近似形状データの干渉が発生しない候補点を、前記複数の候補点の中から特定する候補点特定部と、

前記候補点特定部によって特定された候補点を、当該候補点の中からユーザが前記経由点を選択可能となるように、表示装置に表示する表示制御部と、

を備えた、ロボットの経路決定装置。

a storage unit that stores three-dimensional data of at least one of a robot, a workpiece to be worked by the robot, and peripheral objects arranged around the robot;

a data creation unit that creates approximate shape data of the three-dimensional data stored in the storage unit by arranging one or more spheres so as to cover the outer surface of the three-dimensional data;

an interference determination unit that determines whether or not interference of the approximate shape data will occur when the robot is moved along a route from a start point to an end point;

When it is determined by the interference determination unit that interference will occur, a plurality of candidate points, which are candidates for waypoints through which the robot passes, are formed on the surface of a sphere having a larger diameter than the sphere in which interference has occurred among the approximate shape data. a candidate point setting unit for setting

Candidate points at which interference of the approximate shape data does not occur when the robot is moved on a route from the start point to the candidate point and on a route from the candidate point to the end point are selected from the plurality of candidate points. a candidate point identification unit to identify;

a display control unit that displays the candidate points identified by the candidate point identification unit on a display device so that a user can select the waypoint from among the candidate points;

A robotic routing device with a

前記データ作成部は、前記3次元データに対応して、それぞれ球体の径が異なる複数の近似形状データを作成し、当該複数の近似形状データの各球体は、径が大きい球体が当該球体よりも径が小さい2以上の球体と対応付けられるようにツリー構造によって構成され、

前記候補点設定部は、前記近似形状データのうち干渉が発生した球体に対応付けられている、より径が大きい球体の表面上に、前記複数の候補点を設定する、

請求項1に記載されたロボットの経路決定装置。

The data creation unit creates a plurality of approximate shape data having different sphere diameters corresponding to the three-dimensional data, and each sphere of the plurality of approximate shape data has a larger diameter than the sphere. Constructed by a tree structure so as to be associated with two or more spheres with small diameters,

The candidate point setting unit sets the plurality of candidate points on the surface of a sphere having a larger diameter that is associated with the sphere in which interference has occurred in the approximate shape data.

2. The path determination device for a robot according to claim 1.

前記候補点特定部が、前記近似形状データの干渉が発生しない候補点を特定することができない場合には、前記候補点設定部は、候補点が設定されている球体に対応付けられている、より径が大きい球体の表面上に、複数の候補点を新たに設定し、

前記候補点特定部は、新たに設定した前記複数の候補点の中から、前記近似形状データの干渉が発生しない候補点を特定する、

請求項2に記載されたロボットの経路決定装置。

When the candidate point specifying unit cannot specify a candidate point at which interference of the approximate shape data does not occur, the candidate point setting unit associates the candidate point with the set sphere. Newly set a plurality of candidate points on the surface of a sphere with a larger diameter,

The candidate point identifying unit identifies, from among the plurality of newly set candidate points, candidate points at which interference of the approximate shape data does not occur.

3. The robot route determination device according to claim 2.

前記表示制御部は、前記複数の候補点のうち、

前記始点から候補点までの経路、および、候補点から前記終点までの経路において前記近似形状データの干渉が発生しないという第1条件を満たす第1候補点と、

前記始点から候補点までの経路において前記近似形状データの干渉が発生せず、候補点から前記終点までの経路において前記近似形状データの干渉が発生するという第2条件を満たす第2候補点と、

前記始点から候補点までの経路において前記近似形状データの干渉が発生し、候補点から前記終点までの経路において前記近似形状データの干渉が発生しないという第3条件を満たす第3候補点と、

を異なる表示態様で表示する、

請求項1から3のいずれか1項に記載されたロボットの経路決定装置。

The display control unit, among the plurality of candidate points,

a first candidate point that satisfies a first condition that interference of the approximate shape data does not occur on a route from the start point to the candidate point and on a route from the candidate point to the end point;

a second candidate point that satisfies a second condition that the approximate shape data do not interfere on the route from the starting point to the candidate point and the approximate shape data interfere on the route from the candidate point to the end point;

a third candidate point that satisfies a third condition that the approximate shape data interfere with each other on the route from the starting point to the candidate point and that the approximate shape data do not interfere on the route from the candidate point to the end point;

to display in a different display mode,

A path determination device for a robot according to any one of claims 1 to 3.

前記候補点設定部は、前記複数の候補点を設定すべき球体の表面上に、前記ユーザによって指定された数の候補点を均等に設定する、

請求項1から4のいずれか1項に記載された、ロボットの経路決定装置。

The candidate point setting unit evenly sets the number of candidate points specified by the user on the surface of the sphere on which the plurality of candidate points are to be set.

A path determination device for a robot according to any one of claims 1 to 4.

前記候補点設定部は、前記始点と前記終点とを結ぶ直線と直交する面のうち前記表面と交わる円の径が最大となる平面を定義したときに、当該平面上であって前記表面と交わる円上に前記複数の候補点を設定する、

請求項1から4のいずれか1項に記載された、ロボットの経路決定装置。

The candidate point setting unit, when defining a plane having a maximum diameter of a circle that intersects the surface among planes orthogonal to a straight line connecting the start point and the end point, is on the plane and intersects the surface. setting the plurality of candidate points on a circle;

A path determination device for a robot according to any one of claims 1 to 4.

ロボット、前記ロボットの作業対象となるワーク、および、前記ロボットの周辺に配置される周辺配置物のうち少なくともいずれかの3次元データを用いて前記ロボットの経路を決定する経路決定方法であって、

前記3次元データを、当該3次元データの外表面を覆うように1または複数の球体を配置することで当該3次元データの近似形状データを作成し、

始点から終点までの経路において前記ロボットを移動させたときに、前記近似形状データの干渉が発生するか否かを判定し、

干渉が発生すると判定された場合、前記近似形状データのうち干渉が発生した球体より大径の球体の表面上に、前記ロボットが経由する経由点の候補となる複数の候補点を設定し、

前記始点から候補点までの経路、および、候補点から前記終点までの経路において前記ロボットに移動させたときに、前記近似形状データの干渉が発生しない候補点を、前記複数の候補点の中から特定し、

前記特定された候補点を、当該候補点の中からユーザが前記経由点を選択可能となるように、表示装置に表示する、

ロボットの経路決定方法。

A route determination method for determining a route of the robot using three-dimensional data of at least one of a robot, a workpiece to be worked by the robot, and peripheral objects arranged around the robot,

creating approximate shape data of the three-dimensional data by arranging one or more spheres so as to cover the outer surface of the three-dimensional data;

determining whether or not interference of the approximate shape data occurs when the robot is moved along a route from a start point to an end point;

When it is determined that interference will occur, setting a plurality of candidate points as candidates for waypoints through which the robot passes on the surface of a sphere having a larger diameter than the sphere where the interference has occurred among the approximate shape data,

Candidate points at which interference of the approximate shape data does not occur when the robot is moved on a route from the start point to the candidate point and on a route from the candidate point to the end point are selected from the plurality of candidate points. identify,

displaying the identified candidate points on a display device so that a user can select the waypoint from among the candidate points;

How the robot is routed.

ロボット、前記ロボットの作業対象となるワーク、および、前記ロボットの周辺に配置される周辺配置物のうち少なくともいずれかの3次元データを記憶する記憶装置を参照して、前記ロボットの経路を決定するためのプログラムであって、コンピュータに、

前記記憶装置に記憶される3次元データを、当該3次元データの外表面を覆うように1または複数の球体を配置することで当該3次元データの近似形状データを作成するデータ作成手段と、

始点から終点までの経路において前記ロボットを移動させたときに、前記近似形状データの干渉が発生するか否かを判定する干渉判定手段と、

前記干渉判定手段によって干渉が発生すると判定された場合、前記近似形状データのうち干渉が発生した球体より大径の球体の表面上に、前記ロボットが経由する経由点の候補となる複数の候補点を設定する候補点設定手段と、

前記始点から候補点までの経路、および、候補点から前記終点までの経路において前記ロボットに移動させたときに、前記近似形状データの干渉が発生しない候補点を、前記複数の候補点の中から特定する候補点特定手段と、

前記候補点特定手段によって特定された候補点を、当該候補点の中からユーザが前記経由点を選択可能となるように、表示装置に表示する表示制御手段と、

を実現させるためのプログラム。

A path of the robot is determined by referring to a storage device that stores three-dimensional data of at least one of a robot, a workpiece to be worked by the robot, and peripheral objects arranged around the robot. A program for

data creation means for creating approximate shape data of the three-dimensional data stored in the storage device by arranging one or more spheres so as to cover the outer surface of the three-dimensional data;

interference determination means for determining whether or not interference of the approximate shape data will occur when the robot is moved along a route from a start point to an end point;

When it is determined by the interference determining means that interference will occur, a plurality of candidate points, which are candidates for waypoints through which the robot passes, are formed on a surface of a sphere having a larger diameter than the sphere in which the interference has occurred among the approximate shape data. Candidate point setting means for setting

Candidate points at which interference of the approximate shape data does not occur when the robot is moved on a route from the start point to the candidate point and on a route from the candidate point to the end point are selected from the plurality of candidate points. Candidate point identification means to identify;

display control means for displaying the candidate points identified by the candidate point identification means on a display device so that a user can select the waypoint from among the candidate points;

program to make it happen.
JP2020549167A 2018-09-26 2019-09-20 ROBOT ROUTE DETERMINATION DEVICE, ROBOT ROUTE DETERMINATION METHOD, AND PROGRAM Active JP7259860B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018179924 2018-09-26
JP2018179924 2018-09-26
PCT/JP2019/037124 WO2020066949A1 (en) 2018-09-26 2019-09-20 Robot path determination device, robot path determination method, and program

Publications (2)

Publication Number Publication Date
JPWO2020066949A1 JPWO2020066949A1 (en) 2021-08-30
JP7259860B2 true JP7259860B2 (en) 2023-04-18

Family

ID=69949433

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020549167A Active JP7259860B2 (en) 2018-09-26 2019-09-20 ROBOT ROUTE DETERMINATION DEVICE, ROBOT ROUTE DETERMINATION METHOD, AND PROGRAM

Country Status (2)

Country Link
JP (1) JP7259860B2 (en)
WO (1) WO2020066949A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4173773A4 (en) 2020-06-25 2024-03-27 Hitachi High Tech Corp Robot teaching device and method for teaching work
US20230264352A1 (en) 2020-08-05 2023-08-24 Fanuc Corporation Robot device for detecting interference of constituent member of robot
JP2022137797A (en) * 2021-03-09 2022-09-22 オムロン株式会社 Safety verification apparatus, safety verification method, and program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009233757A (en) 2008-03-25 2009-10-15 Ihi Corp Control method of robot system, and the robot system
JP2009291540A (en) 2008-06-09 2009-12-17 Hitachi Ltd Mobile robot system
JP5250023B2 (en) 2008-03-07 2013-07-31 三菱電機株式会社 Decorative parts
JP2017217143A (en) 2016-06-06 2017-12-14 東芝メディカルシステムズ株式会社 X-ray diagnostic apparatus

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2196763A (en) * 1986-10-29 1988-05-05 Philips Electronic Associated Solid modeling
JPH05250023A (en) * 1991-10-23 1993-09-28 Sanyo Electric Co Ltd Automatic route generating method for robot manipulator
JP2875498B2 (en) * 1995-07-18 1999-03-31 株式会社神戸製鋼所 Automatic generation method of movement path of robot manipulator
JPH0981228A (en) * 1995-09-19 1997-03-28 Fanuc Ltd Robot teaching console panel and method for updating robot program
JPH1020916A (en) * 1996-07-01 1998-01-23 Kubota Corp Method and device for generating shift route of moving body
JP2004046542A (en) * 2002-07-11 2004-02-12 Mitsubishi Heavy Ind Ltd Model working method and model working system
JP2005081405A (en) * 2003-09-10 2005-03-31 Murata Mach Ltd Interference checking device for punch press

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5250023B2 (en) 2008-03-07 2013-07-31 三菱電機株式会社 Decorative parts
JP2009233757A (en) 2008-03-25 2009-10-15 Ihi Corp Control method of robot system, and the robot system
JP2009291540A (en) 2008-06-09 2009-12-17 Hitachi Ltd Mobile robot system
JP2017217143A (en) 2016-06-06 2017-12-14 東芝メディカルシステムズ株式会社 X-ray diagnostic apparatus

Also Published As

Publication number Publication date
WO2020066949A1 (en) 2020-04-02
JPWO2020066949A1 (en) 2021-08-30

Similar Documents

Publication Publication Date Title
CN108453702B (en) Robot simulator, robot system, and simulation method
JP7259860B2 (en) ROBOT ROUTE DETERMINATION DEVICE, ROBOT ROUTE DETERMINATION METHOD, AND PROGRAM
CN102216037B (en) A method and a device for optimizing a programmed movement path for an industrial robot
US9387589B2 (en) Visual debugging of robotic tasks
KR890005032B1 (en) Operation teaching method and apparatus for industrial robot
JP2019532827A (en) Method for collision avoidance motion planning
JP2019171501A (en) Robot interference determination device, robot interference determination method and program
US8706302B2 (en) Method for offline programming of an NC-controlled manipulator
JP2019018272A (en) Motion generation method, motion generation device, system, and computer program
KR20150044812A (en) Teaching system and teaching method
WO2019064916A1 (en) Robot simulator
JP2009190113A (en) Robot simulation device
JP7151713B2 (en) robot simulator
JPWO2019064919A1 (en) Robot teaching device
WO2022004649A1 (en) Numerical control system
JP2019171498A (en) Robot program execution device, robot program execution method and program
CN115703227A (en) Robot control method, robot, and computer-readable storage medium
WO2021049028A1 (en) Numerical control device and machine learning device
JP7099470B2 (en) Robot teaching device
JP7024795B2 (en) Robot teaching device
JPH06134684A (en) Teaching method of robot track
JP2019171499A (en) Robot interference determination device, robot interference determination method and program
WO2020066947A1 (en) Robot route determination device, robot route determination method, and program
JP7167925B2 (en) Robot teaching device
JP2019171500A (en) Robot interference determination device, robot interference determination method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220829

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230307

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230320

R151 Written notification of patent or utility model registration

Ref document number: 7259860

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151