JPWO2019064914A1 - Robot teaching device - Google Patents

Robot teaching device Download PDF

Info

Publication number
JPWO2019064914A1
JPWO2019064914A1 JP2019544366A JP2019544366A JPWO2019064914A1 JP WO2019064914 A1 JPWO2019064914 A1 JP WO2019064914A1 JP 2019544366 A JP2019544366 A JP 2019544366A JP 2019544366 A JP2019544366 A JP 2019544366A JP WO2019064914 A1 JPWO2019064914 A1 JP WO2019064914A1
Authority
JP
Japan
Prior art keywords
robot
task
reference point
unit
teaching
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019544366A
Other languages
Japanese (ja)
Other versions
JP7024795B2 (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 JPWO2019064914A1 publication Critical patent/JPWO2019064914A1/en
Application granted granted Critical
Publication of JP7024795B2 publication Critical patent/JP7024795B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine

Abstract

【課題】ロボットのティーチングを行うときに、ロボットがワークを精度良く所望の位置に移動することができる技術を提供する。【解決手段】本発明の一実施形態は、ロボットの作業対象である対象物の構成要素が階層的に記述された階層型データを表示装置に表示する表示制御部と、仮想空間内の対象物の3次元モデルを記憶する記憶部と、ロボットの対象物に対する作業の基準となる基準点を、対象物に関連付ける基準点設定部と、を備え、基準点設定部は、階層型データ上に表示された対象物の3次元モデルの仮想空間内の位置に基づき、基準点を算出する。【選択図】図14PROBLEM TO BE SOLVED: To provide a technique capable of a robot moving a work to a desired position with high accuracy when teaching the robot. An embodiment of the present invention includes a display control unit that displays hierarchical data in which components of an object that is a work target of a robot are hierarchically described on a display device, and an object in a virtual space. A storage unit that stores the three-dimensional model of the robot and a reference point setting unit that associates a reference point that serves as a reference for work on the robot object with the object, and the reference point setting unit is displayed on hierarchical data. A reference point is calculated based on the position of the object in the virtual space of the three-dimensional model. [Selection diagram] FIG. 14

Description

本発明は、ロボット教示装置に関する。 The present invention relates to a robot teaching device.

ロボットを工場のライン等で使用するためには、利用者は、ロボットに対して動作を教示(ティーチング)する必要がある。例えば、特許文献1には、ロボット、および、ロボットの作業の対象物をコンピュータにより仮想空間上に配置し、ロボットの動作プログラムを作成する技術(ティーチング技術)が開示されている。 In order to use the robot on a factory line or the like, the user needs to teach the robot the movement. For example, Patent Document 1 discloses a technique (teaching technique) of arranging a robot and an object of work of the robot in a virtual space by a computer and creating an operation program of the robot.

特許第4621641号公報Japanese Patent No. 4621641

特許文献1では、例えば、ロボットのハンドの先端位置(TCP:Tool Center Point)に基づいて、ロボットがワークを移動する際の軌道が計算されている。そのような軌道でワークが移動されると、ロボットのハンドに対するワーク位置の変化(例えば、ハンドの先端でワークを把持するか、ハンドの奥でワークを把持するか)等により、ワークを精度良く所望の位置に移動することができないことがある。 In Patent Document 1, for example, the trajectory when the robot moves the work is calculated based on the tip position (TCP: Tool Center Point) of the robot hand. When the work is moved in such a trajectory, the work can be accurately moved by changing the position of the work with respect to the hand of the robot (for example, whether the work is gripped by the tip of the hand or the back of the hand). It may not be possible to move to the desired position.

そこで、本発明は、ロボットのティーチングを行うときに、ロボットがワークを精度良く所望の位置に移動することができる技術を提供することを目的とする。 Therefore, an object of the present invention is to provide a technique capable of the robot moving the work to a desired position with high accuracy when teaching the robot.

本願の例示的な第1発明は、ロボットの作業対象である対象物の構成要素が階層的に記述された階層型データを表示装置に表示する表示制御部と、仮想空間内の前記対象物の3次元モデルを記憶する記憶部と、前記ロボットの前記対象物に対する作業の基準となる基準点を、前記対象物に関連付ける基準点設定部と、を備え、前記基準点設定部は、前記階層型データ上に表示された対象物の3次元モデルの仮想空間内の位置に基づき、前記基準点を算出する、ロボット教示装置である。 An exemplary first invention of the present application is a display control unit that displays hierarchical data in which components of an object that is a robot work object are hierarchically described on a display device, and the object in a virtual space. A storage unit that stores a three-dimensional model and a reference point setting unit that associates a reference point that serves as a reference for work on the object by the robot with the object are provided, and the reference point setting unit is a hierarchical type. It is a robot teaching device that calculates the reference point based on the position in the virtual space of the three-dimensional model of the object displayed on the data.

本発明によれば、ロボットのティーチングを行うときに、ロボットがワークを精度良く所望の位置に移動することができる技術を提供することができる。 According to the present invention, it is possible to provide a technique capable of the robot moving the work to a desired position with high accuracy when teaching the robot.

図1は、実施形態のロボット教示装置の全体構成について示す図である。FIG. 1 is a diagram showing an overall configuration of the robot teaching device of the embodiment. 図2は、実施形態のロボット教示装置に含まれる各装置のハードウェア構成を示す図である。FIG. 2 is a diagram showing a hardware configuration of each device included in the robot teaching device of the embodiment. 図3は、実施形態の一例に係る3次元CAD用ウィンドウを示す図である。FIG. 3 is a diagram showing a three-dimensional CAD window according to an example of the embodiment. 図4は、実施形態の一例に係る教示用ウィンドウを示す図である。FIG. 4 is a diagram showing a teaching window according to an example of the embodiment. 図5は、タスクを概念的に説明するための図である。FIG. 5 is a diagram for conceptually explaining the task. 図6は、実施形態の一例に係る教示用ウィンドウの遷移を示す図である。FIG. 6 is a diagram showing a transition of the teaching window according to an example of the embodiment. 図7は、対象物のTCPの設定例を示す図である。FIG. 7 is a diagram showing an example of TCP setting of the object. 図8は、仮想空間におけるロボットのハンドの動作例を示す図である。FIG. 8 is a diagram showing an operation example of a robot hand in a virtual space. 図9は、オペレータがTCPを設定する方法を説明する図である。FIG. 9 is a diagram illustrating a method for the operator to set TCP. 図10は、タスクリストの一例を示す図である。FIG. 10 is a diagram showing an example of a task list. 図11は、図10のタスクリストにおいてエラータスクの表示例を示す図である。FIG. 11 is a diagram showing a display example of an error task in the task list of FIG. 図12は、実施形態の一例に係る教示用ウィンドウの遷移を示す図である。FIG. 12 is a diagram showing a transition of the teaching window according to an example of the embodiment. 図13は、実施形態において階層型リストの表示例を示す図である。FIG. 13 is a diagram showing a display example of a hierarchical list in the embodiment. 図14は、実施形態に係るロボット教示装置の機能ブロック図である。FIG. 14 is a functional block diagram of the robot teaching device according to the embodiment. 図15は、実施形態に係るロボット教示装置の処理を示すシーケンスチャートの例である。FIG. 15 is an example of a sequence chart showing the processing of the robot teaching device according to the embodiment. 図16は、実施形態に係るロボット教示装置の処理を示すシーケンスチャートの例である。FIG. 16 is an example of a sequence chart showing the processing of the robot teaching device according to the embodiment. 図17は、実施形態において階層型リストの別の表示例を示す図である。FIG. 17 is a diagram showing another display example of the hierarchical list in the embodiment.

以下、本発明のロボット教示装置の一実施形態について説明する。
本実施形態のロボット教示装置1は、ロボットを実際に動作させることなく、オペレータが当該ロボットの動作を教示するための教示データを作成するオフラインティーチングを提供する。
以下の説明において、「作業要素」とは、物体を「取る」や「置く」等、一連の作業の中でロボットが行う最小単位の作業を意味する。
「対象物」とは、ロボットの作業の対象となる物体を意味し、ロボットが把持する物体(例えば、加工対象物であるワーク)に限らず、ロボットの作業に関連する物体(例えば、ロボットが把持する物体を置く棚)をも含む。
Hereinafter, an embodiment of the robot teaching device of the present invention will be described.
The robot teaching device 1 of the present embodiment provides offline teaching that creates teaching data for an operator to teach the operation of the robot without actually operating the robot.
In the following description, the "work element" means the smallest unit of work performed by a robot in a series of work such as "taking" or "putting" an object.
The "object" means an object that is the object of work of the robot, and is not limited to an object that the robot holds (for example, a work that is a processing object) but an object that is related to the work of the robot (for example, a robot). It also includes a shelf on which to hold objects).

(1)本実施形態に係るロボット教示装置の構成
以下、本実施形態のロボット教示装置1の構成について、図1および図2を参照して説明する。図1は、本実施形態のロボット教示装置1の全体構成について示す図である。図2は、本実施形態のロボット教示装置1に含まれる各装置のハードウェア構成を示す図である。
(1) Configuration of Robot Teaching Device According to the Present Embodiment Hereinafter, the configuration of the robot teaching device 1 of the present embodiment will be described with reference to FIGS. 1 and 2. FIG. 1 is a diagram showing an overall configuration of the robot teaching device 1 of the present embodiment. FIG. 2 is a diagram showing a hardware configuration of each device included in the robot teaching device 1 of the present embodiment.

図1に示すように、ロボット教示装置1は、情報処理装置2およびロボット制御装置3を備える。情報処理装置2とロボット制御装置3とは、例えば通信ネットワークケーブルECにより通信可能に接続される。
情報処理装置2は、工場のラインに設置されたロボットに対して動作を教示するための装置である。情報処理装置2は、オペレータによるオフラインティーチングを行うために設けられており、例えばロボットが設置される工場から離れた位置(例えば、オペレータの作業場所)に配置される。
As shown in FIG. 1, the robot teaching 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, a communication network cable EC.
The information processing device 2 is a device for teaching an operation to a robot installed on a factory line. The information processing device 2 is provided for offline teaching by the operator, and is arranged at a position away from the factory where the robot is installed (for example, the operator's work place).

ロボット制御装置3は、情報処理装置2から送信されるロボットプログラムを実行する。本実施形態ではロボット制御装置3はロボットと接続されないが、ロボットと接続された場合には、ロボットプログラムの実行結果に応じた制御信号をロボットに送り、ロボットを動作させることが可能である。そのため、好ましくは、ロボット制御装置3は、ロボットの実機の近傍に配置される。 The robot control device 3 executes a robot program transmitted from the information processing device 2. In the present embodiment, the robot control device 3 is not connected to the robot, but when it is connected to the robot, it is possible to send a control signal according to the execution result of the robot program to the robot to operate the robot. Therefore, preferably, the robot control device 3 is arranged in the vicinity of 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ソフトウェアによる動画再生を行うために、フレーム単位で画像を連続的に表示する。
As shown in FIG. 2, the information processing device 2 includes a control unit 21, a storage 22, an input device 23, a display device 24, and a communication interface unit 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 expands and executes the three-dimensional CAD application software (hereinafter, appropriately referred to as "CAD software") and the teaching software on the ROM in the RAM. The teaching software and the CAD software cooperate to execute processing via an API (Application Program Interface).
The control unit 21 continuously displays images in frame units in order to reproduce a moving image by CAD software.

ストレージ22は、HDD(Hard Disk Drive)あるいはSSD(Solid State Drive)等の大容量記憶装置であり、制御部21のCPUにより逐次アクセス可能に構成されている。
ストレージ22には、CADソフトウェアを実行するときに参照される3次元モデルのデータが格納される。本実施形態の例では、ストレージ22には、ロボットおよび対象物(例えば、後述するペン、キャップ、製品、ペントレイ、キャップトレイ、製品トレイ)の3次元モデルのデータが格納される。
ストレージ22には、ロボット制御装置3から取得した実行ログデータが格納される。実行ログデータには、ロボットプログラムの実行結果と、後述するロボット状態データとが含まれる。ロボット状態データは、3次元CADによってロボットの動作を仮想空間内で動画(アニメーション)により再現するために使用される。
The storage 22 is a large-capacity storage device such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive), and is configured to be sequentially accessible by the CPU of the control unit 21.
The storage 22 stores the data of the three-dimensional model referred to when the CAD software is executed. In the example of this embodiment, the storage 22 stores data of a three-dimensional model of the robot and an object (for example, a pen, a cap, a product, a pen tray, a cap tray, and a product tray described later).
Execution log data acquired from the robot control device 3 is stored in the storage 22. The execution log data includes the execution result of the robot program and the robot state data described later. The robot state data is used to reproduce the movement of the robot by moving images (animation) in the virtual space by three-dimensional CAD.

入力装置23は、オペレータによる操作入力を受け付けるためのデバイスであり、ポインティングデバイスを含む。
表示装置24は、教示ソフトウェアおよびCADソフトウェアの実行結果を表示するためのデバイスであり、表示駆動回路および表示パネルを含む。
通信インタフェース部25は、ロボット制御装置3との間でネットワーク通信を行うための通信回路を含む。
The input device 23 is a device for receiving an operation input by an operator, and includes a pointing device.
The display device 24 is a device for displaying the execution results of the teaching software and the CAD software, and includes a display drive circuit and a display panel.
The communication interface unit 25 includes a communication circuit for performing network communication with the robot control device 3.

ロボット制御装置3は、制御部31と、ストレージ32と、通信インタフェース部33とを備える。
制御部31は、CPU、ROM、RAM、および、制御回路を含む。制御部31は、情報処理装置2から受信するロボットプログラムを実行し、実行ログデータを出力する。実行ログデータには、ロボットプログラムの実行結果と、ロボットプログラムに記述された作業を実行するロボットのロボット状態データとを含む。
ロボット状態データは、時間の経過に応じたロボットの状態を示す物理量のデータである。ロボットの状態を示す物理量としては、ロボットのアームの関節角、アームの速度や加速度が挙げられる。
The robot control device 3 includes a control unit 31, a storage 32, and a communication interface unit 33.
The control unit 31 includes a CPU, a ROM, a RAM, and a control circuit. The control unit 31 executes the robot program received from the information processing device 2 and outputs the execution log data. The execution log data includes the execution result of the robot program and the robot state data of the robot that executes the work described in the robot program.
The robot state data is physical quantity data indicating the state of the robot with the passage of time. Examples of physical quantities indicating the state of the robot include the joint angle of the arm of the robot and the speed and acceleration of the arm.

ストレージ32は、HDDあるいはSSD等の大容量記憶装置であり、制御部31のCPUにより逐次アクセス可能に構成されている。ストレージ32には、ロボットプログラムおよび実行ログデータが格納される。
通信インタフェース部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 unit 31. The robot program and execution log data are stored in the storage 32.
The communication interface unit 33 includes a communication circuit for performing network communication with the information processing device 2.

(2)オフラインティーチングにおけるユーザインタフェース
本実施形態のロボット教示装置1において、情報処理装置2は、ロボットに対するオフラインティーチングを提供する。このオフラインティーチングでは、教示ソフトウェアおよびCADソフトウェアが協働して実行され、以下で説明する有用なユーザインタフェースが提供される。
本実施形態においてオペレータがオフラインティーチングを行うときには、CADソフトウェアと教示ソフトウェアを情報処理装置2に実行させる。
CADソフトウェアの実行結果はCAD用ウィンドウに表示され、教示ソフトウェアの実行結果は教示用ウィンドウに表示される。オペレータは、CAD用ウィンドウと教示用ウィンドウの両方を情報処理装置2に表示させ、あるいはCAD用ウィンドウと教示用ウィンドウを切り替えながら情報処理装置2に表示させ、ティーチングに関連する操作を行う。
(2) User Interface in Offline Teaching In the robot teaching device 1 of the present embodiment, the information processing device 2 provides offline teaching to the robot. In this offline teaching, teaching software and CAD software work together to provide a useful user interface as described below.
When the operator performs offline teaching in the present embodiment, the information processing device 2 is made to execute the CAD software and the 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 displays the CAD window and the teaching window on the information processing device 2 while switching between the CAD window and the teaching window, and performs operations related to teaching.

図3に、本実施形態の一例に係るCAD用ウィンドウW1を示す。図3には、テーブルTの上に、ロボット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 the present embodiment. FIG. 3 shows an image of a robot R, a pen tray 11, a cap tray 12, a jig 13, and a product tray 14 arranged in a virtual space on a table T (hereinafter, appropriately “CAD”). "Image") is displayed.
In the example shown in FIG. 3, it is assumed that the robot R performs a series of operations of fitting a cap on a pen and assembling a product (a finished product in a state where the cap is fitted on the pen). A pen group P composed of a plurality of pens is arranged on the pen tray 11, and a cap group C composed of a plurality of caps is arranged on the cap tray 12. The jig 13 is a member for the robot R to temporarily arrange the pen and fit the cap. The product tray 14 is a member on which the product is placed.

図3に示す例では、ペン群Pに含まれる各ペン、キャップ群Cに含まれる各キャップ、ペントレイ11、キャップトレイ12、治具13、製品トレイ14の各々は、ロボットRの作業対象である対象物の例である。また、ペンにキャップが嵌められた製品も対象物の例である。 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 the work targets of the robot R. This is an example of an object. An example of an object is a product in which a cap is fitted to a pen.

(2−1)階層型リスト
図4に、本実施形態の一例に係る教示用ウィンドウW2を示す。教示用ウィンドウW2に表示されているのは、図3のCAD画像に含まれているロボットR、および、対象物の階層関係を示す階層型リスト(階層型データの一例)である。
(2-1) Hierarchical List FIG. 4 shows a teaching window W2 according to an example of the present embodiment. What is displayed in the teaching window W2 is the robot R included in the CAD image of FIG. 3 and a hierarchical list (an example of hierarchical data) showing the hierarchical relationship of the objects.

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

以下の説明では、CAD画像内のロボットR、対象物を階層型リストのいずれかのノードに含めるようにすることを、ロボットR又は対象物を「階層型リストに登録する」という。図3では、ロボットが1体である場合のCAD画像を例示しているが、ロボットが2体以上存在する場合には、当該2体以上のロボットを階層型リストに登録することができる。 In the following description, including the robot R and the object in any node of the hierarchical list in the CAD image is referred to as "registering the robot R or the object 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は、以下の内容を意味し、それぞれ後述するTCP(Tool Center Point)が設定されている。 In the hierarchical list shown in FIG. 4, three nodes related to the hand are provided in the lower layer of the node of the robot R (Robot_R). The reason why a plurality of nodes are provided for the hand is to consider the working state assumed for the hand. That is, the nodes 61 to 63 mean the following contents, and TCP (Tool Center Point) described later is set for each.

・ノード61(Pen)…ペンを把持する作業に対応したハンド
・ノード62(Cap)…キャップを把持する作業に対応したハンド
・ノード63(Pen_with_Cap)…キャップが嵌められたペンを把持する作業に対応したハンド
-Node 61 (Pen) ... Hand corresponding to the work of gripping the pen-Node 62 (Cap) ... Hand corresponding to the work of gripping the cap-Node 63 (Pen_with_Cap) ... For the work of gripping the pen with the cap fitted Corresponding hand

ノード61〜63のいずれかを対象として右クリック操作を行い、「ハンドシーケンス操作」を選択すると、アクチュエーション方式(シングルソレノイド、又はダブルソレノイド等)、センサ種類などのハンドシーケンスに関連する設定を行うことができる。
ハンドシーケンスは、ロボットRのハンド52が把持する対象物に依存するため、ハンド52が把持する対象物ごとに設定される。ハンドシーケンスが設定されていない場合に後述するタスクを作成した場合には、タスクに基づくプログラムを実行できないため、表示装置24に警告表示を出力してもよい。
Right-click on any of the nodes 61 to 63 and select "Hand sequence operation" to set the actuation method (single solenoid, double solenoid, etc.), sensor type, and other settings related to the hand sequence. be able to.
Since the hand sequence depends on the object held by the hand 52 of the robot R, it is set for each object held by the hand 52. If a task 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.

図4に示すように、好ましくは、ロボットRの構成要素(図4のRobot_R, Hand)を階層的に表示するためのロボット領域RA(第1領域の例)と、対象物の構成要素を階層的に表示するための対象物領域PA(第2領域の例)とに分けて、階層型データが表示される。
対象物の構成要素には、治具(JIG)、ペントレイ(PenTray)、キャップトレイ(CapTray)、製品トレイ(ProductTray)、ペン(Pen1, Pen2,…,Pen12)、キャップ(Cap1, Cap2,…,Cap12)、および、製品(PenProduct1, PenProduct2,…,PenProduct12)が含まれる。
治具(JIG)のノードの下位には、治具を対象とした作業に対応して、例えば、以下のノードが設けられる。
As shown in FIG. 4, preferably, the robot region RA (example of the first region) for hierarchically displaying the components of the robot R (Robot_R, Hand in FIG. 4) and the components of the object are hierarchically displayed. Hierarchical data is displayed separately from the object area PA (example of the second area) for display.
The components of the object include jig (JIG), pen tray (PenTray), cap tray (CapTray), product tray (ProductTray), pen (Pen1, Pen2, ..., Pen12), cap (Cap1, Cap2, ..., Cap12) and products (PenProduct1, PenProduct2, ..., PenProduct12) are included.
Below the jig (JIG) node, 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 the pen (Pen) -Node 66 (CapJ) ... Holding the cap (Cap) State jig

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

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

図4の階層型リストにおいて、CAD用ウィンドウにおいて、選択したロボットR、対象物、部品又はTCP等を、ロボット領域RA内の任意のノードの位置に右クリックする操作を行い、「部品の追加」を選択することで、階層型リストに、CAD用ウィンドウで選択したロボットR又は対象物を階層型リストに登録する。
図4の階層型リストにおいて、任意の位置を右クリックする操作を行い、「一括更新」を選択することで、CADソフトウェア上で対象物の位置関係を変更した場合に、変更後の位置関係についての情報が階層型リストに反映される。
In the hierarchical list of FIG. 4, in the CAD window, right-click the selected robot R, object, part, TCP, etc. at the position of an arbitrary node in the robot area RA to "add parts". By selecting, the robot R or the object selected in the CAD window is registered in the hierarchical list.
In the hierarchical list of FIG. 4, when the positional relationship of the object is changed on the CAD software by right-clicking an arbitrary position and selecting "Batch update", the changed positional relationship Information is reflected in the hierarchical list.

(2−2)グルーピング
階層型リストに登録された2以上の対象物はグループ化することができる。
グループ化するときの手順は、以下のとおりである。例えば、図4において、ペントレイ(PenTray)に含まれるペンPen1, Pen2をグループ化する場合、ポインティングデバイスで階層型リストの中のペンPen1, Pen2に対応するノードを指定して右クリック操作を行い、次いで「グループ作成」を選択する操作を行う。この操作を行うことで、ペンPen1, Pen2がグループ化される。階層型リストにおいてグループ化された2以上の対象物は、当該2以上の対象物がグループ化されていることがオペレータに認識可能となるように、例えば図4に示すように矩形の枠で囲う、共通の字体とする、あるいは同一の色を付す等の表示処理を行うことが好ましい。
(2-2) Grouping Two or more objects registered in the hierarchical list can be grouped.
The procedure for grouping is as follows. For example, in FIG. 4, when grouping pens Pen1 and Pen2 included in a pentray, a pointing device is used to specify a node corresponding to pens Pen1 and Pen2 in the hierarchical list and perform a right-click operation. Next, the operation of selecting "Create group" is performed. By performing this operation, the pens Pen1 and Pen2 are grouped. Two or more objects grouped in a hierarchical list are enclosed in a rectangular frame, for example, as shown in FIG. 4 so that the operator can recognize that the two or more objects are grouped. , It is preferable to perform display processing such as using a common font or giving the same color.

なお、図4に示す例は、連続する2つのノードに対応する対象物をグループ化する場合であるが、連続していない2つのノードに対応する対象物をグループ化する場合には、グループ化した2つのノードが連続するように階層型リストを更新するようにしてもよい。例えば、ペンPen1とペンPen3をグループ化する場合には、ペントレイ(PenTray)のノードの下位ノードの順序を、ペンPen1, Pen3, Pen2…に更新する、といった具合である。 In the example shown in FIG. 4, the objects corresponding to two consecutive nodes are grouped, but when the objects corresponding to two non-consecutive nodes are grouped, they are grouped. The hierarchical list may be updated so that the two nodes are continuous. For example, when grouping Pen Pen1 and Pen Pen3, the order of the lower nodes of the nodes of the pen tray (PenTray) is updated to Pen Pen1, Pen3, Pen2, and so on.

(2−3)タスクについて
次に、タスクについて、図5を参照して説明する。図5は、タスクを概念的に説明するための図である。
タスクとは、一連の作業の中でロボットが行う最小単位の作業である作業要素に関する情報である。ロボットRが行う一連の作業(以下、「ジョブ」という。)は、複数の作業要素と、作業要素間の移動とにより構成される。従って、本実施形態では、ロボットRが行うジョブに対して複数のタスクが定義される。
(2-3) Tasks Next, the tasks will be described with reference to FIG. FIG. 5 is a diagram for conceptually explaining the task.
A task is information about a work element that is the smallest unit of work performed by a robot in a series of work. A series of work (hereinafter referred to as "job") performed by the robot R is composed of a plurality of work elements and movement between the work elements. Therefore, in the present embodiment, a plurality of tasks are defined for the job performed by the robot R.

図5において、矢印付きの線は、ロボットRのハンド52の軌跡を概念的に示している。当該軌跡は、作業要素の目標点TPに到達する前の通過点であるアプローチ点AP1,AP2(それぞれ第1点の例)と、目標点TPと、目標点TPに到達した後の通過点であるデパーチャ点DP1,DP2(それぞれ第2点の例)とを含む。目標点TPは、作業要素の対象である対象物の位置を示しており、後述する対象物のTCPとしてもよい。 In FIG. 5, the line with the arrow conceptually shows the trajectory of the hand 52 of the robot R. The locus is the approach points AP1 and AP2 (each of which is an example of the first point), the target point TP, and the passing points after reaching the target point TP, which are the passing points before reaching the target point TP of the work element. It includes certain departure points DP1 and DP2 (each is an example of the second point). The target point TP indicates the position of the object that is the target of the work element, and may be TCP of the object described later.

図5に示す例では、アプローチ点AP1に到達する前のロボットRの動作が、作業要素間の移動(つまり、前の作業要素と図5に示す作業要素との間の移動)に相当する。アプローチ点AP1からデパーチャ点DP2までのロボットRの動作が1つの作業要素および1つのタスクに対応する。デパーチャ点DP2から後のロボットRの動作が、作業要素間の移動(つまり、図5に示す作業要素と次の作業要素との間の移動)に相当する。
すなわち、タスクは、作業要素に関する情報のほか、目標点TP、アプローチ点AP、およびデパーチャ点DPのうち少なくともいずれかの点に関する情報を含んでもよい。
In the example shown in FIG. 5, the operation of the robot R before reaching the approach point AP1 corresponds to the movement between the working elements (that is, the movement between the previous working element and the working element shown in FIG. 5). The movement of the robot R from the approach point AP1 to the departure point DP2 corresponds to one work element and one task. The operation of the robot R after the departure point DP2 corresponds to the movement between the work elements (that is, the movement between the work element shown in FIG. 5 and the next work element).
That is, the task may include information about the work element, as well as information about at least one of the target point TP, the approach point AP, and the departure point DP.

図5では、アプローチ点AP1,AP2においてインターロックが設定されている場合が例示されている。インターロックは、他のロボット等との干渉を回避するために、入力信号に基づいて、目標点TP、アプローチ点AP、およびデパーチャ点DPの少なくともいずれかの点においてロボットRの動作を待機させる処理である。
タスクには、インターロックを設定する点と、インターロックによる待機時間のタイムアウト値とを含むインターロック設定に関する情報を含んでもよい。
FIG. 5 illustrates a case where an interlock is set at approach points AP1 and AP2. The interlock is a process of waiting the operation of the robot R at at least one of the target point TP, the approach point AP, and the departure point DP based on the input signal in order to avoid interference with other robots and the like. Is.
The task may include information about the interlock setting, including the point at which the interlock is set and the timeout value for the wait time due to the interlock.

(2−4)タスクの作成
次に、階層型リストを用いたタスクの作成方法について、図4および図6を参照して説明する。図6は、本実施形態の一例に係る教示用ウィンドウの遷移を示す図である。
図4に示す階層型リストにおいてタスクを作成するには、先ず、ロボット領域RAに含まれるロボットR(Robot_R)のハンド(Hand)のノード61〜63のうちいずれかのノードを、オペレータがポインティングデバイスで選択して右クリック操作を行い、「タスク作成」を選択する。すなわち、ノードの選択は、オペレータの操作入力に基づいて、タスクに対応する作業要素におけるロボットRのハンドの把持対象から選択される。
(2-4) Creation of Task Next, a method of creating a task using a hierarchical list will be described with reference to FIGS. 4 and 6. FIG. 6 is a diagram showing a transition of the teaching window according to an example of the present embodiment.
In order to create a task in the hierarchical list shown in FIG. 4, the operator first selects one of the nodes 61 to 63 of the hand of the robot R (Robot_R) included in the robot area RA as a pointing device. Select with and right-click to select "Create Task". That is, the node selection is selected from the gripping targets of the robot R's hand in the work element corresponding to the task, based on the operation input of the operator.

「タスク作成」が選択されると、図6のタスク作成のための教示用ウィンドウW3が表示される。教示用ウィンドウW3はタスクの詳細設定を行うための画面であり、タスク名称(Name)と、作業要素の種別(Function)、作業要素の目標物(Target)の各項目が表示される。ここで、階層型リストの対象物領域PAの中からいずれかの対象物に対応するノードをポインティングデバイスで左クリックすることで、教示用ウィンドウW3の目標物(Target)の項目に、左クリックにより選択された対象物が入力される。作業要素の種別(Function)の欄には、予め設定された複数の種類の作業要素(例えば、取る(Pick up)、置く(Place)等)の候補からなるプルダウンメニューの中からいずれかの作業要素を選択できるように構成されている。 When "Create task" is selected, the teaching window W3 for creating the task of FIG. 6 is displayed. The teaching window W3 is a screen for making detailed settings of a task, and each item of a task name (Name), a work element type (Function), and a work element target (Target) is displayed. Here, by left-clicking the node corresponding to any object from the object area PA of the hierarchical list with the pointing device, the item of the target (Target) of the teaching window W3 can be left-clicked. The selected object is entered. In the work element type (Function) column, one of the work from a pull-down menu consisting of a plurality of preset work element candidates (for example, pick up, place, etc.). It is configured so that elements can be selected.

次いで、階層型リストの対象物領域PAの中から作業対象となる対象物をポインティングデバイスで選択して左クリック操作を行うことにより、教示用ウィンドウW3の目標物(Target)の項目に、選択された対象物が入力される。
作業要素の種別(Function)と目標物(Target)の各項目についてデータが入力されると、当該データに基づいて、タスクの名称(Name)が自動的に決定されて表示される。
Next, by selecting an object to be worked on from the object area PA of the hierarchical list with the pointing device and performing a left-click operation, the object is selected as the target item in the teaching window W3. The object is entered.
When data is input for each item of the work element type (Function) and the target (Target), the task name (Name) is automatically determined and displayed based on the data.

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

以上の操作の結果、「ペントレイからペンPen1を取る」という作業要素に関する情報として、“Pickup_Pen1_From_PenTray”という名称のタスクが作成される。
本実施形態では、作業要素の対象物(ここでは「ペンPen1」)と、作業要素の始点(例えば「ペントレイ」)若しくは終点とを階層型リスト上で指定することで、オペレータは直感的にタスクを作成することができる。また、タスクの名称は、作業要素の作業内容(例えば「Pickup」)と、作業対象(例えば「ペンPen1」)と、作業要素の始点となる対象物(例えば「ペントレイ」)、又は終点となる対象物とを含むように自動的に作成されるため、タスクの名称からタスクの内容が直ちに分かるようになっている。
なお、階層型リストにおいてグループ化された2以上の対象物を対象として、まとめてタスクを作成してもよい。
As a result of the above operation, a task named "Pickup_Pen1_From_PenTray" is created as information related to the work element "take the pen Pen1 from the pen tray".
In the present embodiment, the operator can intuitively perform a task by designating the object of the work element (here, "Pen Pen1") and the start point (for example, "pen tray") or the end point of the work element on the hierarchical list. Can be created. The name of the task is the work content of the work element (for example, "Pickup"), the work target (for example, "Pen Pen1"), the object that is the start point of the work element (for example, "Pen tray"), or the end point. Since it is automatically created to include the object, the content of the task can be immediately understood from the name of the task.
In addition, a task may be collectively created for two or more objects grouped in a hierarchical list.

タスクを作成した場合、タスクに含まれるアプローチ点AP、目標点TP、および、デパーチャ点DPについての情報が自動的に作成される。すなわち、タスクは、当該タスクに関連する対象物の仮想空間上の3次元モデルのデータと関連付けられているため、3次元モデルのデータに基づいて、所定の基準によりアプローチ点AP、目標点TP、および、デパーチャ点DPの各点を算出する。算出方法の一例では、対象物の目標点TPとしてTCP(Tool Center Point;基準点の一例)を算出し、TCPを基準として、アプローチ点APおよびデパーチャ点DPを算出する。 When a task is created, information about the approach point AP, target point TP, and departure point DP included in the task is automatically created. That is, since the task is associated with the data of the 3D model in the virtual space of the object related to the task, the approach point AP, the target point TP, based on the data of the 3D model, according to a predetermined reference. Then, each point of the departure point DP is calculated. In one example of the calculation method, TCP (Tool Center Point; an example of a reference point) is calculated as the target point TP of the object, and the approach point AP and the departure point DP are calculated with TCP as the reference.

TCPは、ロボットRの対象物に対する作業の基準となる、仮想空間内の当該対象物の基準点(あるいは、作業点)を意味し、ロボットRのハンド52および各対象物に対して設定される。TCPを設定するときには、TCPを原点としたローカル座標系についても設定される。対象物のローカル座標系を設定することで、対象物のオイラー角を回転させるときにはTCPを中心に回転させればよいこと、および、後述するようにアプローチ点APおよびデパーチャ点DPを自動的に設定できること等の利点がある。 TCP means a reference point (or work point) of the object in the virtual space, which is a reference of work on the object of the robot R, and is set for the hand 52 of the robot R and each object. .. When TCP is set, the local coordinate system with TCP as the origin is also set. By setting the local coordinate system of the object, when rotating the Euler angles of the object, it should be rotated around TCP, and the approach point AP and departure point DP are automatically set as described later. There are advantages such as being able to do it.

図7に一例として、キャップCap1のTCPの設定例を示す。
本実施形態の例では、TCPは、対象物の重心位置に自動的に設定される。対象物には3次元モデルのデータが関連付けられているため、当該3次元モデルのデータから重心位置を比較的容易に得ることができる。
アプローチ点APおよびデパーチャ点DPは、それぞれ、対象物に設定されたローカル座標系のZ軸において、対象物(図7の例では、キャップCap1)の全長の1.5倍の位置に、タスク作成時に自動的に設定される。全長の1.5倍の位置は一例に過ぎず、例えば全長の1〜2倍の間の任意の値に適宜設定されてもよい。なお、図7では、+Z軸側での作業(ハンド52によりキャップを取る、置く等の作業)が想定されており、ハンド52による作業が+Z方向となるようにローカル座標系を定義しておくことで、アプローチ点APおよびデパーチャ点DPを自動的に決定できる。
FIG. 7 shows a TCP setting example of the cap Cap1 as an example.
In the example of this embodiment, TCP is automatically set at the position of the center of gravity of the object. Since the data of the three-dimensional model is associated with the object, the position of the center of gravity can be obtained relatively easily from the data of the three-dimensional model.
The approach point AP and the departure point DP create tasks at positions 1.5 times the total length of the object (cap Cap1 in the example of FIG. 7) on the Z axis of the local coordinate system set for the object, respectively. Sometimes set automatically. The position 1.5 times the total length is only an example, and may be appropriately set to an arbitrary value between 1 and 2 times the total length, for example. In FIG. 7, work on the + Z axis side (work such as removing and placing the cap with the hand 52) is assumed, and the local coordinate system is defined so that the work with the hand 52 is in the + Z direction. Therefore, the approach point AP and the departure point DP can be automatically determined.

2以上の対象物がグループ化されている場合には、当該2以上の対象物のいずれかに設定されているアプローチ点APおよびデパーチャ点DPを基に、当該2以上の対象物のうち他の対象物のアプローチ点APおよびデパーチャ点DPについて自動的に設定されてもよい。
例えば、ペンPen1, Pen2がグループ化されている場合を想定する。ペンPen1に対する作業の基準となるTCPの座標がワールド座標系において(100, 100, 0)に設定され、ペンPen1のアプローチ点APおよびデパーチャ点DPの座標がワールド座標系において(100, 100, 20)に設定されている場合を想定する。このとき、ペンPen2のTCPがワールド座標系において(120, 100, 0)である場合には、ペンPen2のアプローチ点APおよびデパーチャ点DPの座標がワールド座標系において(120, 100, 20)に自動的に設定される。すなわち、ペンPen1とペンPen2のTCPオフセット量(X座標で+20)が反映されるようにして、ペンPen2のアプローチ点APおよびデパーチャ点DPが設定される。換言すると、ペンPen1とペンPen2のそれぞれTCPを基準としたローカル座標系においてペンPen1とペンPen2のアプローチ点APおよびデパーチャ点DPが同一の座標となるように、ペンPen2のアプローチ点APおよびデパーチャ点DPが設定される。
When two or more objects are grouped, the other of the two or more objects is based on the approach point AP and departure point DP set in one of the two or more objects. The approach point AP and departure point DP of the object may be set automatically.
For example, assume that the pens Pen1 and Pen2 are grouped. The TCP coordinates that are the basis of work for Pen Pen1 are set to (100, 100, 0) in the world coordinate system, and the coordinates of the approach point AP and departure point DP of Pen Pen1 are set to (100, 100, 20) in the world coordinate system. ) Is set. At this time, when the TCP of the pen Pen2 is (120, 100, 0) in the world coordinate system, the coordinates of the approach point AP and the departure point DP of the pen Pen2 are (120, 100, 20) in the world coordinate system. It is set automatically. That is, the approach point AP and the departure point DP of the pen Pen2 are set so that the TCP offset amount (+20 in the X coordinate) of the pen Pen1 and the pen Pen2 is reflected. In other words, the approach point AP and departure point of pen Pen2 so that the approach point AP and departure point DP of pen Pen1 and pen Pen2 have the same coordinates in the local coordinate system based on TCP of pen Pen1 and pen Pen2, respectively. DP is set.

図8は、キャップトレイ12からキャップCap1を取るときの仮想空間上のハンド52の動作の一例を示す図である。
図8において、ハンド52は先ず、軌道TR1に沿って、ハンド52に設定されたTCP1(すなわち、図4のノード62に設定されたハンドのTCP)がアプローチ点APに一致するようにして移動する。次に、ハンド52は、軌道TR2に沿って、ハンド52に設定されたTCP1がキャップトレイ12のキャップCap1に設定されたTCP2に一致するようにして移動する。キャップCap1を把持した後、ハンド52は、軌道TR3に沿って、ハンド52に設定されたTCP1がデパーチャ点DPに一致するようにして移動する。
軌道TR2,TR3は、キャップトレイ12のキャップCap1に設定されたローカル座標系のZ軸に沿った軌道である。そのため、ハンド52がキャップCap1を取る際に、キャップトレイ12内のキャップCap1に隣接するキャップに干渉することはない。また、ハンド52の軌道は、ハンド52に設定されたTCP1と、キャップトレイ12内のキャップCap1のTCP2およびそのローカル座標系とに基づいて決定される。そのため、ハンド52は、キャップCap1を精度良く把持することができる。
FIG. 8 is a diagram showing an example of the operation of the hand 52 in the virtual space when the cap Cap1 is taken from the cap tray 12.
In FIG. 8, the hand 52 first moves along the trajectory TR1 so that TCP1 set in the hand 52 (that is, TCP of the hand set in the node 62 in FIG. 4) coincides with the approach point AP. .. Next, the hand 52 moves along the orbit TR2 so that TCP1 set in the hand 52 matches TCP2 set in the cap Cap1 of the cap tray 12. After gripping the cap Cap1, the hand 52 moves along the trajectory TR3 so that TCP1 set in the hand 52 matches the departure point DP.
The orbits TR2 and TR3 are orbits along the Z axis of the local coordinate system set in the cap Cap1 of the cap tray 12. Therefore, when the hand 52 takes the cap Cap1, it does not interfere with the cap adjacent to the cap Cap1 in the cap tray 12. The trajectory of the hand 52 is determined based on TCP1 set in the hand 52, TCP2 of the cap Cap1 in the cap tray 12, and its local coordinate system. Therefore, the hand 52 can grip the cap Cap1 with high accuracy.

TCPを対象物の重心以外に設定する場合には、オペレータの操作入力に基づいて対象物の所望の位置にTCPを設定することもできる。
図9に、オペレータの操作入力に基づいてTCPを設定する方法を示す。
図9に示すように、CADソフトウェアでは、TCPを設定するためにローカル座標系LAを備えたTCPモデルTCP_mが設けられている。オペレータが当該TCPモデルを対象物(図9では、キャップCap1)の所望の位置に移動させてTCPモデルTCP_mの位置をセットした後に、階層型リスト内の対応するノード(例えば、図4のCap1のノード)までTCPモデルTCP_mをドラッグする操作を行う。それによって、CADソフトウェア上でセットした座標に対象物(例えば、キャップCap1)のTCPを設定することができる。
When setting TCP other than the center of gravity of the object, TCP can be set at a desired position of the object based on the operation input of the operator.
FIG. 9 shows a method of setting TCP based on the operation input of the operator.
As shown in FIG. 9, in the CAD software, a TCP model TCP_m provided with a local coordinate system LA is provided for setting TCP. After the operator moves the TCP model to the desired position on the object (cap Cap1 in FIG. 9) and sets the position of the TCP model TCP_m, the corresponding node in the hierarchical list (eg, Cap1 in FIG. 4) The operation of dragging the TCP model TCP_m to the node) is performed. Thereby, TCP of the object (for example, cap Cap1) can be set at the coordinates set on the CAD software.

再度図6を参照すると、教示用ウィンドウW3には、ボタンb1(「詳細設定」)が設けられている。オペレータは、ボタンb1(「詳細設定」)を操作することで、「アプローチ点、デパーチャ点設定」、「モーションパラメータ設定」、および「インターロック設定」のいずれかを選択することができる。
「アプローチ点、デパーチャ点設定」を選択することで、オペレータは、自動作成されたアプローチ点及び/又はデパーチャ点の変更、削除、および、新しいアプローチ点及び/又はデパーチャ点の追加を行うことができる。
モーションパラメータとは、タスクに含まれる隣接するアプローチ点AP間、アプローチ点APから目標点TPまでの間、および、目標点TPからデパーチャ点DPまでの間のロボットRのハンド52等の動きに関するパラメータである。例えば、かかるパラメータとして、移動速度、加速度、加速時間、減速時間、ロボットRの姿勢等が挙げられる。「モーションパラメータ設定」を選択することで、上記モーションパラメータをデフォルト値から変更することができる。
「インターロック設定」を選択することで、インターロックの待機時間のタイムアウト値と、待機時間がタイムアウト値を超えてエラーと判断したときの動作の設定とを、デフォルト値から変更することができる。
Referring to FIG. 6 again, the teaching window W3 is provided with a button b1 (“detailed setting”). The operator can select one of "approach point, departure point setting", "motion parameter setting", and "interlock setting" by operating the button b1 ("detailed setting").
By selecting "Set approach point, departure point", the operator can change or delete the automatically created approach point and / or departure point, and add a new approach point and / or departure point. ..
The motion parameters are parameters related to the movement of the robot R such as the hand 52 between adjacent approach points APs included in the task, between the approach point AP and the target point TP, and between the target point TP and the departure point DP. Is. For example, such parameters include moving speed, acceleration, acceleration time, deceleration time, posture of robot R, and the like. By selecting "Motion parameter setting", the above motion parameter can be changed from the default value.
By selecting "Interlock setting", the timeout value of the interlock waiting time and the setting of the operation when the waiting time exceeds the timeout value and an error is determined can be changed from the default value.

図6の教示用ウィンドウW3には、ボタンb3(「チェック」)が設けられている。タスクを作成するときにボタンb3(「チェック」)を操作することは必須ではないが、ボタンb3(「チェック」)を操作することで、オペレータは事前に、タスクに含まれるアプローチ点APからデパーチャ点DPまでのロボットRの動作をCAD用ウィンドウで確認することができる。
ボタンb3(「チェック」)の操作は、タスクの名称(Name)が表示されている場合(つまり、作業要素の種別(Function)と目標物(Target)の各項目についてデータが入力済みの場合)に有効である。
The teaching window W3 of FIG. 6 is provided with a button b3 (“check”). It is not essential to operate button b3 (“check”) when creating a task, but by operating button b3 (“check”), the operator can depart from the approach point AP included in the task in advance. The operation of the robot R up to the point DP can be confirmed in the CAD window.
The operation of button b3 (“check”) is when the task name (Name) is displayed (that is, when data has already been entered for each item of the work element type (Function) and target (Target)). It is effective for.

ボタンb3(「チェック」)の操作による動作確認結果は、タスクに基づいて作成されたプログラムを、ロボット制御装置3へ送信することにより行われる。ロボット制御装置3は、受信したプログラムを実行し、実行結果として、時間の経過に応じたロボットRの状態を示す情報であるロボット状態データを算出する。ロボット状態データは、例えば、時間の経過に応じたアーム51の関節角の変化や、時間の経過に応じたハンド52の軌跡等の情報である。このロボット状態データは、ロボット制御装置3から情報処理装置2へ返される。CADソフトウェアは、ロボット状態データに基づいて、ロボットRおよび対象物の3次元モデルを仮想空間内で動作させ、タスクに対応するロボットRの動きの動画表示を行う。 The operation confirmation result by the operation of the button b3 (“check”) is performed by transmitting the program created based on the task to the robot control device 3. The robot control device 3 executes the received program, and as an execution result, calculates robot state data which is information indicating the state of the robot R according to the passage of time. The robot state data is, for example, information such as a change in the joint angle of the arm 51 with the passage of time, a locus of the hand 52 with the passage of time, and the like. This robot state data is returned from the robot control device 3 to the information processing device 2. The CAD software operates the robot R and the three-dimensional model of the object in the virtual space based on the robot state data, and displays a moving image of the movement of the robot R corresponding to the task.

ロボットRのロボット状態データを算出するときにエラーが発生した場合には、図6の教示用ウィンドウW3のステータス(Status)の欄に、エラー原因を表示してもよい。エラー原因としては、例えば、速度超過、目標点不到達、特異点到達等が挙げられる。
ロボットRの動作が正常に行われた場合には、ステータス(Status)の欄に、モーションパラメータで設定されている移動速度に対する余裕度、目標点に対する余裕度、あるいは、特異点までの余裕度等、オペレータにとって有益となる情報を表示してもよい。
If an error occurs when calculating the robot state data of the robot R, the cause of the error may be displayed in the status column of the teaching window W3 of FIG. Examples of the cause of the error include excessive speed, non-reaching of the target point, and reaching of a singular point.
When the operation of the robot R is performed normally, in the status column, the margin for the movement speed set in the motion parameter, the margin for the target point, the margin for the singular point, etc. , Information that is useful to the operator may be displayed.

図6の教示用ウィンドウW3には、ボタンb2(「作成」)が設けられている。
ボタンb2(「作成」)が操作されることで、教示用ウィンドウW3によって設定されたタスクが後述するタスクリストに登録される。
なお、ボタンb2(「作成」)が操作される前に、ボタンb3(「チェック」)の操作による動作確認が行われていない場合には、ボタンb3(「チェック」)の操作が行われなくても自動的に動作確認を実行し、エラーの有無を報知するようにしてもよい。
The teaching window W3 of FIG. 6 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.
If the operation of the button b3 (“check”) has not been confirmed before the button b2 (“create”) is operated, the button b3 (“check”) will not be operated. However, the operation check may be automatically executed to notify the presence or absence of an error.

(2−5)タスクに基づくプログラムの作成
上述したように、タスクごとの動作確認を行う場合には、タスクに基づいてプログラムが作成される。タスクに基づくプログラムは、当該タスクに対応する作業要素をロボットRに実行させるためのロボットプログラムの例である。
例えば、図5に示すタスクに対応する作業要素を実行するためのプログラムは、以下の複数の関数からなり、各関数は、ロボットRのモーション(「ロボットRの動き」を意味する。)を実行させるためのプログラムによって記述されている。
なお、以下のmove(AP1)は、作業要素間の移動として別に定義されてもよい。
(2-5) Creation of a program based on a task As described above, when checking the operation for each task, a program is created based on the task. The task-based program is an example of a robot program for causing the robot R to execute a work element corresponding to the task.
For example, the program for executing the work element corresponding to the task shown in FIG. 5 includes the following plurality of functions, and each function executes the motion of the robot R (meaning “movement of the robot R”). Written by a program to make it.
The following move (AP1) may be defined separately as a move between working elements.

・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)… Approach point AP2 Wait by interlock (IL2) ・ 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 addition, in the interlock (IL1) and interlock (IL2) functions, when checking the operation for each task, the program is created, but the timeout value of the waiting time due to the interlock is invalid.

(2−6)タスクリスト
タスクリストとは、ロボットRが行うジョブに含まれる複数の作業要素の各々に対応する複数のタスクの一覧の情報である。特定のジョブを対象として教示用ウィンドウW3によって作成されたタスクは、順次、当該ジョブに対応するタスクリストに登録されていく。タスクリストに含まれる複数のタスクの順序は、当該複数のタスクにそれぞれ対応する複数の作業要素の実行順序を示していることが、ジョブを管理する上で好ましい。
(2-6) Task list The task list is information on a list of a plurality of tasks corresponding to each of a plurality of work elements included in a job performed by the robot R. The tasks created by the teaching window W3 for a specific job are sequentially registered in the task list corresponding to the job. It is preferable that the order of the plurality of tasks included in the task list indicates the execution order of the plurality of work elements corresponding to the plurality of tasks in order to manage the jobs.

図10の教示用ウィンドウ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 of FIG. 10 displays an example of a task list corresponding to a job (“Pen Assembly”) which is a series of operations of “fitting a cap on a pen and assembling a product”. An example of this task list includes tasks corresponding to the following six work elements (i) to (vi). In this case, the case where the task with the name shown in parentheses is created by the teaching window W3 for creating the task is shown.
(i) Take the pen from the pen tray (Pickup_Pen1_From_PenTray)
(ii) Set the picked pen on the jig (Place_to_PenJ_in_PenProduct)
(iii) Remove the cap from the cap tray (Pickup_Cap1_From_CapTray)
(iv) Fit the cap on the pen on the jig (Place_to_CapJ_in_PenJ)
(v) Take the capped pen (Pickup_PenProduct_From_JIG)
(vi) Place the capped pen on the product tray (Place_to_PenProduct1_in_ProductTray)

図10に示すタスクリストのうち、教示用ウィンドウW3における動作確認の結果がエラーを示したタスク(「エラータスク」という。)と、タスクリストのうちエラータスク以外のタスクとを、異なる表示態様(例えば、異なる文字色、異なる背景色とする表示態様)で表示してもよい。「エラータスク以外のタスク」とは、動作確認の結果、エラーを示さなかったタスクと、動作確認を行っていないタスクとを含む。エラータスクと、OKタスク(つまり、動作確認の結果、エラーを示さなかったタスク)と、動作確認が未実施のタスクとを、それぞれ異なる表示態様にしてもよい。 Of the task list shown in FIG. 10, a task (referred to as "error task") whose operation check result in the teaching window W3 shows an error and a task other than the error task in the task list are displayed in different display modes (referred to as "error task"). For example, it may be displayed in a display mode in which different character colors and different background colors are used). The "task other than the error task" includes a task that does not show an error as a result of the operation check and a task that has not been checked for operation. The error task, the OK task (that is, the task that did not show an error as a result of the operation check), and the task for which the operation check has not been performed may be displayed in different display modes.

グループ化された2以上の対象物を対象としてまとめてタスクを作成した場合には、タスクリスト中、グループにまとめたタスク表示を行ってもよい。 When a task is created by grouping two or more objects in a group, the tasks grouped in the task list may be displayed.

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

図10に示すように、オペレータがタスクリストのいずれかのタスクをポインティングデバイスで選択した状態で右クリックを行うと、「タスク編集」、「タスク追加」、「タスク削除」のいずれかの処理を選択できる。ここで、「タスク編集」が選択された場合には、選択されているタスクの教示用ウィンドウW3に戻って、当該タスクについての情報を変更することができる。「タスク追加」が選択された場合には、選択されているタスクのすぐ後の順序に、作成済みのタスクを読み込んで挿入するか、あるいは、教示用ウィンドウW3に戻ってタスクを作成して挿入することができる。「タスク削除」が選択された場合には、選択されているタスクをタスクリストから削除することができる。 As shown in FIG. 10, when the operator right-clicks while selecting any task in the task list on the pointing device, any of "edit task", "add task", and "delete task" is performed. You can choose. Here, when "Edit task" is selected, it is possible to return to the teaching window W3 of the selected task and change the information about the task. When "Add task" is selected, the created task is read and inserted in the order immediately after the selected task, or the task is created and inserted by returning to the teaching window W3. can do. When "Delete task" is selected, the selected task can be deleted from the task list.

図10において、オペレータが教示用ウィンドウW4内の任意の位置を対象として右クリック操作を行うと、「教示点リスト出力」、「IOマップ出力」、および「プログラム出力」の中からいずれかを選択できる。
「教示点リスト出力」が選択された場合、各対象物に設定されたTCPの座標の一覧が出力される。
「IOマップ出力」が選択された場合、ロボットRに対する入出力(I/O)のポートの一覧を出力する。
「プログラム出力」が選択された場合、ジョブに対応して、シミュレーション用プログラムと実機用プログラムの2種類のロボットプログラムを出力する。実機用プログラムはインターロックによる待機時間のタイムアウト値が有効となっているが、シミュレーション用プログラムはインターロックによる待機時間が無効化されている点で、両者は異なる。
In FIG. 10, when the operator performs a right-click operation on an arbitrary position in the teaching window W4, one of "teaching point list output", "IO map output", and "program output" is selected. it can.
When "Teaching point list output" is selected, a list of TCP coordinates set for each object is output.
When "IO map output" is selected, a list of input / output (I / O) ports for the robot R is output.
When "program output" is selected, two types of robot programs, a simulation program and an actual machine program, are output according to the job. The actual machine program has the timeout value of the waiting time due to the interlock valid, but the simulation program differs from each other in that the waiting time due to the interlock is invalidated.

(2−7)ジョブのシミュレーション
図10の教示用ウィンドウW4においてボタンb4が操作された場合、タスクリストに対応するロボットRのジョブのシミュレーションが実行される。
ジョブのシミュレーションを実行するに当たっては、先ず、当該ジョブに対応するロボットプログラムが作成される。すなわち、タスクリストに含まれる各タスクに基づくプログラムは、前述したように、ロボットRに対応する複数のモーションを実行させるためのプログラムが記述された関数の集合体として表される。なお、連続するタスクに対応する作業要素の間のロボットRの移動についてのモーションパラメータ(移動速度、加速度、加速時間、減速時間等)は、デフォルト値として予め定められていてもよいし、オペレータが設定できるようにしてもよい。
各タスクに基づくプログラムを順に組み合わせることで、ジョブに対応するロボットプログラムが作成される。各タスクに基づくプログラムを組み合わせるに当たっては、入力信号あるいは条件によって実行するプログラムを切り替えるような分岐処理や、特定のプログラムを繰り返す処理等が組み込まれてもよい。
(2-7) Job Simulation When the button b4 is operated in the teaching window W4 of FIG. 10, the job simulation of the robot R corresponding to the task list is executed.
In executing a job simulation, a robot program corresponding to the job is first created. That is, as described above, the program based on each task included in the task list is represented as a set of functions in which a program for executing a plurality of motions corresponding to the robot R is described. The motion parameters (movement speed, acceleration, acceleration time, deceleration time, etc.) for the movement of the robot R between the work elements corresponding to the continuous tasks may be predetermined as default values, or the operator may use them. It may be possible to set it.
By combining programs based on each task in order, a robot program corresponding to the job is created. In combining the programs based on each task, a branch process for switching the program to be executed depending on an input signal or a condition, a process for repeating a specific program, or the like may be incorporated.

本実施形態では、情報処理装置2においてロボットプログラムが作成され、ロボット制御装置3において当該ロボットプログラムが実行される。
ロボット制御装置3は、ロボットプログラムの実行結果として、時間の経過に応じたロボットRの状態を示す情報であるロボット状態データを算出する。ロボット状態データは、例えば、時間の経過に応じたアーム51の関節角の変化や、時間の経過に応じたハンド52の軌跡等の情報である。このロボット状態データは、ロボット制御装置3から情報処理装置2へ返される。CADソフトウェアは、ロボット状態データに基づいて、ロボットRおよび対象物の3次元モデルを仮想空間内で動作させ、シミュレーション出力として、タスクに対応するロボットRの動きの動画(アニメーション)の表示を行う。
In the present embodiment, the information processing device 2 creates a robot program, and the robot control device 3 executes the robot program.
The robot control device 3 calculates robot state data, which is information indicating the state of the robot R according to the passage of time, as the execution result of the robot program. The robot state data is, for example, information such as a change in the joint angle of the arm 51 with the passage of time, a locus of the hand 52 with the passage of time, and the like. This robot state data is returned from the robot control device 3 to the information processing device 2. The CAD software operates the robot R and the three-dimensional model of the object in the virtual space based on the robot state data, and displays a moving image (animation) of the robot R corresponding to the task as a simulation output.

ロボットRのロボット状態データを算出するときにエラーが発生した場合には、図10の教示用ウィンドウW4のステータス(Status)の欄に、エラー原因を表示してもよい。エラー原因としては、例えば、速度超過、目標点不到達、特異点到達等が挙げられる。
図10に示すタスクリストのうち、シミュレーションの結果がエラーを示したエラータスクと、タスクリストのうちエラータスク以外のタスクとを、異なる表示態様(例えば、異なる文字色、異なる背景色とする表示態様)で表示してもよい。
図11の教示用ウィンドウW5に、図10のタスクリストにおいてエラータスクの表示例を示す。この表示例では、タスクリストの中の最後の“Place_to_PenProduct1_in_ProductTray”というタスクがエラータスクである場合を示しており、当該エラータスクにマークM1(タスクを囲む枠線)を付加することで、エラータスク以外のタスクと異なる表示態様としている。
If an error occurs when calculating the robot state data of the robot R, the cause of the error may be displayed in the status column of the teaching window W4 of FIG. Examples of the cause of the error include excessive speed, non-reaching of the target point, and reaching of a singular point.
Of the task list shown in FIG. 10, an error task whose simulation result shows an error and a task other than the error task in the task list are displayed in different display modes (for example, different character colors and different background colors). ) May be displayed.
The teaching window W5 of FIG. 11 shows a display example of an error task in the task list of FIG. In this display example, the case where the last task "Place_to_PenProduct1_in_ProductTray" in the task list is an error task is shown, and by adding mark M1 (frame line surrounding the task) to the error task, other than the error task. The display mode is different from that of the task.

なお、タスクリストのうちオペレータによって選択された一部のタスクに対応する作業要素についてのシミュレーションを実行できるようにしてもよい。 In addition, it may be possible to execute a simulation for work elements corresponding to some tasks selected by the operator in the task list.

(2−8)エリアチェック
次に、エリアチェックについて、図12および図13を参照して説明する。図12は、本実施形態の一例に係る教示用ウィンドウの遷移を示す図である。図13は、本実施形態において階層型リストの表示例を示す図である。
(2-8) Area Check Next, the area check will be described with reference to FIGS. 12 and 13. FIG. 12 is a diagram showing a transition of the teaching window according to an example of the present embodiment. FIG. 13 is a diagram showing a display example of a hierarchical list in the present embodiment.

エリアチェックとは、ロボットRのハンド52(ロボットの構成要素の例)が、オペレータによって選択された少なくとも1つの対象物(図4に示す例では、ペンPen1, Pen2,…,Pen12、キャップCap1, Cap2,…,Cap12、および、製品PenProduct1, PenProduct2,…,PenProduct12の少なくともいずれか)に到達可能であるか否かを判定することである。ロボットが複数設けられる場合には、複数のロボットのうちエリアチェックの対象とするロボットをオペレータが選択できるようにしてもよい。ロボットは複数の姿勢をとりうるため、当該複数の姿勢のうちオペレータによって選択されたいずれかの姿勢において、ロボットのエリアチェックを行うようにしてもよい。 The area check means that the hand 52 of the robot R (an example of a robot component) is at least one object selected by an operator (in the example shown in FIG. 4, pens Pen1, Pen2, ..., Pen12, cap Cap1, It is to determine whether or not Cap2, ..., Cap12, and at least one of the products PenProduct1, PenProduct2, ..., PenProduct12) can be reached. When a plurality of robots are provided, the operator may be able to select the robot to be the target of the area check from among the plurality of robots. Since the robot can take a plurality of postures, the area check of the robot may be performed in any of the plurality of postures selected by the operator.

図4に示した階層型リストにおいて、対象物の一部又は全部を選択した状態にして、ロボット領域RA内のノード61〜63のいずれかをポインティングデバイスで右クリックしてから「エリアチェック」を選択すると、図12の教示用ウィンドウW6が表示される。教示用ウィンドウW6では、エリアチェックのための姿勢(posture)を選択できる。教示用ウィンドウW6において、少なくとも1つの姿勢を選択し、ボタンb5(「OK」)を選択することで、エリアチェックが実行される。 In the hierarchical list shown in FIG. 4, with some or all of the objects selected, right-click any of the nodes 61 to 63 in the robot area RA with the pointing device, and then select "Area check". When selected, the teaching window W6 of FIG. 12 is displayed. In the teaching window W6, the posture for area check can be selected. In the teaching window W6, the area check is executed by selecting at least one posture and selecting the button b5 (“OK”).

エリアチェックの実行には逆運動学の計算が必要であり、この計算は、ロボット制御装置3において行われる。すなわち、情報処理装置2は、ロボットRおよび各対象物の3次元モデルに基づく座標データ、各対象物のTCPの座標データの情報をロボット制御装置3に渡す。ロボット制御装置3は、当該情報を基に、特定の対象物に対して逆運動学によりロボットRのアーム51の関節角を求めることができれば、当該対象物に到達可能であると判断できる。
エリアチェックの結果は、図13に例示するように、ペンを対象とするエリアチェックの場合、ペントレイ11に含まれるペンごとに、到達不可能であるペン(到達不可対象物の例)に対してマークM2(「NG」)を表示することによって行われる。他の表示例として、到達不可対象物を到達可能対象物と異なる色で表示することなどが挙げられる。
Inverse kinematics calculation is required to execute the area check, and this calculation is performed by the robot control device 3. That is, the information processing device 2 passes the coordinate data based on the robot R and the three-dimensional model of each object and the information of the TCP coordinate data of each object to the robot control device 3. If the robot control device 3 can obtain the joint angle of the arm 51 of the robot R for a specific object by inverse kinematics based on the information, it can be determined that the object can be reached.
As illustrated in FIG. 13, the result of the area check is, in the case of the area check for pens, for each pen included in the pen tray 11 for the unreachable pen (example of unreachable object). This is done by displaying the mark M2 (“NG”). Another display example is to display an unreachable object in a different color from the reachable object.

(3)ロボット教示装置1の機能
次に、本実施形態のロボット教示装置1の機能について、図14を参照して説明する。図14は、実施形態に係るロボット教示装置1の機能ブロック図である。
図14に示すように、ロボット教示装置1は、表示制御部101、タスク作成部102、タスク更新部103、タスク入替部104、設定更新部105、グルーピング部106、プログラム作成部107、プログラム実行部108、状態情報算出部109、シミュレーション部110、判定部111、姿勢選択部112、基準点設定部113、モデル配置部114、および、インターロック設定部115を備える。
ロボット教示装置1はさらに、タスクデータベース221、階層型リストデータベース222、3次元モデルデータベース223、および、実行ログデータベース224を備える。
(3) Function of Robot Teaching Device 1 Next, the function of the robot teaching device 1 of the present embodiment will be described with reference to FIG. FIG. 14 is a functional block diagram of the robot teaching device 1 according to the embodiment.
As shown in FIG. 14, the robot teaching device 1 includes a display control unit 101, a task creation unit 102, a task update unit 103, a task replacement unit 104, a setting update unit 105, a grouping unit 106, a program creation unit 107, and a program execution unit. It includes 108, a state information calculation unit 109, a simulation unit 110, a determination unit 111, a posture selection unit 112, a reference point setting unit 113, a model arrangement unit 114, and an interlock setting unit 115.
The robot teaching device 1 further includes a task database 221, a hierarchical list database 222, a three-dimensional model database 223, and an execution log database 224.

以下の説明において、情報処理装置2の制御部21の処理について言及するときには、制御部21に含まれるCPUが教示ソフトウェア及び/又はCADソフトウェアを実行することにより処理が行われる。 In the following description, when the processing of the control unit 21 of the information processing device 2 is referred to, the processing is performed by the CPU included in the control unit 21 executing the teaching software and / or the CAD software.

表示制御部101は、教示ソフトウェアおよびCADソフトウェアの実行結果を表示装置24に表示させる制御を行う。表示制御部101の機能を実現するために、情報処理装置2の制御部21は、教示ソフトウェアおよびCADソフトウェアの出力を含む画像データを生成し、バッファリングし、表示装置24へ送信する。表示装置24は、表示駆動回路を駆動して画像を表示パネルに表示する。 The display control unit 101 controls the display device 24 to display the execution results of the teaching software and the CAD software. In order to realize the function of the display control unit 101, the control unit 21 of the information processing device 2 generates image data including the output of the teaching software and the CAD software, buffers the image data, and transmits the image data to the display device 24. The display device 24 drives the display drive circuit to display an image on the display panel.

タスク作成部102は、オペレータの操作入力に基づいて、対象物に対するロボットの作業要素に関する情報であるタスクを作成する機能を備える。
タスク作成部102の機能を実現するために、情報処理装置2の制御部21は、入力装置23からオペレータの操作入力を受け付けると、当該操作入力に基づき、図6の作業要素の種別(Function)および作業要素の目標物(Target)の情報を含むファイルとしてタスクを作成し、ストレージ22に記録する。制御部21は、作業要素の種別(Function)および作業要素の目標物(Target)に基づいて、所定の規則に従ってタスク名称を決定する。ストレージ22(第1記憶部の例)は、タスク作成部102によって作成されたタスクを含むタスクデータベース221を記憶する。
情報処理装置2の制御部21は、ロボットが行うジョブに含まれる複数の作業要素に対応するタスクを順に作成し、それによって、当該ジョブに関連付けられた複数のタスクがタスクリストとして作成される。タスクデータベース221では、各タスクが特定のジョブに関連付けられた状態で記録されている。
表示制御部101は、ストレージ22のタスクデータベース221を参照して、複数のタスクの一覧であるタスクリストを表示装置24に表示する。タスクリストが表示されることで、ロボットのティーチングを行うときに、ロボットが行うジョブを分かり易く管理することができる。本実施形態では、表示されるタスクリストの各タスクの名称が、ロボットの作業要素の作業内容が認識できるように構成されているため、一連の作業内容がオペレータに直感的に理解しやすいものとなっている。
The task creation unit 102 has a function of creating a task which is information about a robot's work element with respect to an object based on an operation input of an operator.
In order to realize the function of the task creation unit 102, when the control unit 21 of the information processing device 2 receives the operation input of the operator from the input device 23, the type of work element (Function) of FIG. 6 is based on the operation input. The task is created as a file containing information on the target of the work element and recorded in the storage 22. The control unit 21 determines the task name according to a predetermined rule based on the type of the work element (Function) and the target (Target) of the work element. The storage 22 (example of the first storage unit) stores the task database 221 including the tasks created by the task creation unit 102.
The control unit 21 of the information processing device 2 sequentially creates tasks corresponding to a plurality of work elements included in a job performed by the robot, whereby a plurality of tasks associated with the job are created as a task list. In the task database 221, each task is recorded in a state associated with a specific job.
The display control unit 101 refers to the task database 221 of the storage 22 and displays a task list, which is a list of a plurality of tasks, on the display device 24. By displaying the task list, it is possible to manage the jobs performed by the robot in an easy-to-understand manner when teaching the robot. In the present embodiment, the name of each task in the displayed task list is configured so that the work contents of the work elements of the robot can be recognized, so that the series of work contents can be intuitively understood by the operator. It has become.

タスク作成部102は、作業要素の目標点、目標点に到達する前の通過点であるアプローチ点(第1点の例)、および、目標点に到達した後の通過点であるデパーチャ点(第2点の例)のうち、少なくともいずれかの点に関する情報をタスクに設定する機能を備えてもよい。当該機能を実現するために、情報処理装置2の制御部21は、作業要素の目標物(Target)となる対象物のTCPとローカル座標系に基づいて、アプローチ点およびデパーチャ点を決定する。例えば、対象物のローカル座標系のZ軸において、対象物の全長の所定倍率の位置をアプローチ点およびデパーチャ点とする。制御部21は、決定したアプローチ点およびデパーチャ点の情報がタスクに含まれるように、タスクデータベース221を更新する。
アプローチ点およびデパーチャ点が自動的に設定されることで、オペレータのティーチング作業が効率化される。
The task creation unit 102 includes a target point of the work element, an approach point (example of the first point) which is a passing point before reaching the target point, and a departure point (first point) which is a passing point after reaching the target point. It may have a function of setting information about at least one of the two points) in the task. In order to realize this function, the control unit 21 of the information processing apparatus 2 determines the approach point and the departure point based on the TCP of the target object (Target) of the work element and the local coordinate system. For example, on the Z axis of the local coordinate system of the object, the position of a predetermined magnification of the total length of the object is set as the approach point and the departure point. The control unit 21 updates the task database 221 so that the determined approach point and departure point information is included in the task.
By automatically setting the approach point and departure point, the teaching work of the operator is streamlined.

表示制御部101は、ロボットの構成要素と、対象物の構成要素とが階層的に記述された階層型データを表示装置24に表示する。
情報処理装置2の制御部21は、教示ソフトウェアとCADソフトウェアの連携により階層型リストを作成する。すなわち、制御部21は、CAD画像内のロボットおよび対象物を入力装置23のポインティングデバイスで選択した状態で木構造のデータフォーマットの所望のノードまでドラッグする操作入力を受け付けて、木構造の階層型リストを作成する。制御部21は、作成した階層型リストをストレージ22の階層型リストデータベース222に記録する。階層型リストでは、木構造のデータにおけるロボットの構成要素および対象物の構成要素に対応する各ノードと、3次元モデルデータベース223に記録される3次元モデルの対応するデータと、が関連付けられた状態となっている。
The display control unit 101 displays on the display device 24 hierarchical data in which the constituent elements of the robot and the constituent elements of the object are described hierarchically.
The control unit 21 of the information processing device 2 creates a hierarchical list by linking the teaching software and the CAD software. That is, the control unit 21 accepts an operation input of dragging the robot and the object in the CAD image to a desired node of the tree structure data format in a state of being selected by the pointing device of the input device 23, and is a tree structure hierarchical type. Create a list. The control unit 21 records the created hierarchical list in the hierarchical list database 222 of the storage 22. In the hierarchical list, each node corresponding to the component of the robot and the component of the object in the tree structure data is associated with the corresponding data of the 3D model recorded in the 3D model database 223. It has become.

好ましくは、タスク作成部102は、階層型データのロボットの構成要素および対象物の構成要素を指定するオペレータの操作入力に基づいて、タスクを作成する機能を備える。当該機能を実現するために、情報処理装置2の制御部21は、特定の対象物を把持する作業に対応したロボットのハンドを示すノードと、当該対象物に対応するノードとを階層型リストから選択するオペレータの操作入力に基づいて、タスクを作成する。階層型リストを使用することで、オペレータが作業要素の内容に応じて直感的にタスクを作成することができる。 Preferably, the task creation unit 102 has a function of creating a task based on an operation input of an operator who specifies a robot component of hierarchical data and a component of an object. In order to realize the function, the control unit 21 of the information processing device 2 selects a node indicating a robot hand corresponding to the work of grasping a specific object and a node corresponding to the object from a hierarchical list. Create a task based on the operation input of the selected operator. Hierarchical lists allow operators to intuitively create tasks according to the content of work elements.

好ましくは、図4に示したように、表示制御部101は、ロボットの構成要素を階層的に表示するためのロボット領域RA(第1領域)と、対象物の構成要素を階層的に表示するための対象物領域PA(第2領域)とに分けて、階層型リストを表示装置24に表示する。
ロボット領域と対象物領域とを分けて表示することで、タスクの作成に当たって、特定の対象物を把持する作業に対応したロボットのハンドを示すノードと、当該対象物に対応するノードとを選択するときに、目的とするノードを見つけやすくなる。
Preferably, as shown in FIG. 4, the display control unit 101 hierarchically displays the robot region RA (first region) for displaying the robot components hierarchically and the components of the object. The hierarchical list is displayed on the display device 24 separately from the object area PA (second area) for the purpose.
By displaying the robot area and the object area separately, when creating a task, a node indicating a robot hand corresponding to the work of grasping a specific object and a node corresponding to the object are selected. Sometimes it's easier to find the node you want.

タスク更新部103は、表示装置24に表示されたタスクリストに対するオペレータの操作入力に基づいて、タスクリストのうちいずれかのタスクを削除し、ストレージ22(第1記憶部の例)に記憶されているタスクデータベース221に含まれるタスクをタスクリストに追加し、又は、タスクリストのうちいずれかのタスクの内容を変更する機能を備える。
タスク更新部103の機能を実現するために、情報処理装置2の制御部21は、入力装置23が受け付けたオペレータの操作入力に基づいてストレージ22にアクセスし、タスクデータベース221に含まれるタスクリストを書き換える。オペレータはタスク単位でジョブの内容を編集することができるため、ティーチング作業が効率化される。
The task update unit 103 deletes one of the tasks in the task list based on the operator's operation input to the task list displayed on the display device 24, and stores it in the storage 22 (example of the first storage unit). It has a function of adding a task included in the task database 221 to the task list or changing the content of any task in the task list.
In order to realize the function of the task update unit 103, the control unit 21 of the information processing device 2 accesses the storage 22 based on the operation input of the operator received by the input device 23, and displays the task list included in the task database 221. rewrite. Since the operator can edit the contents of the job on a task-by-task basis, the teaching work is streamlined.

表示装置24に表示されるタスクリストに含まれるタスクの順序は、複数のタスクの実行順序を規定していてもよい。その場合、タスク入替部104は、表示装置24に表示されたタスクリストに対するオペレータの操作入力に基づいて、タスクリストに含まれるタスクの順序を入れ替える。
タスク入替部104の機能を実現するために、情報処理装置2の制御部21は、入力装置23が受け付けたオペレータの操作入力に基づいてストレージ22にアクセスし、タスクデータベース221に含まれるタスクリストの順序を更新する。オペレータはタスク単位で実行順序を変更することができるため、ロボットによるジョブの最適化を図ることができるとともに、ティーチング作業が効率化される。
The order of the tasks included in the task list displayed on the display device 24 may define the execution order of a plurality of tasks. In that case, the task replacement unit 104 changes the order of the tasks included in the task list based on the operator's operation input to the task list displayed on the display device 24.
In order to realize the function of the task replacement unit 104, the control unit 21 of the information processing device 2 accesses the storage 22 based on the operation input of the operator received by the input device 23, and is a task list included in the task database 221. Update the order. Since the operator can change the execution order for each task, the robot can optimize the job and the teaching work is streamlined.

設定更新部105は、タスク作成部102によりタスクに設定されたアプローチ点およびデパーチャ点のうち少なくともいずれかの点に関する情報を、オペレータの操作入力に基づいて、削除し、変更し、又は、追加する機能を備える。
設定更新部105の機能を実現するために、情報処理装置2の制御部21は、タスク作成用のウィンドウ(図6参照)において入力装置23が受け付けたオペレータの操作入力に基づいてストレージ22にアクセスし、タスクデータベース221に含まれるタスクのアプローチ点およびデパーチャ点の情報を更新する。
設定更新部105によりオペレータが所望の位置に作業要素のアプローチ点およびデパーチャ点を削除し、変更し、又は、追加することができるため、ロボットをオペレータの所望の動作に教示することができる。特に、本実施形態では、タスクの実行結果をCADソフトウェアにより動画再生することができるため、動画再生結果を見た後にオペレータがアプローチ点及び/又はデパーチャ点を削除し、変更し、又は、追加することで、ロボットの動作を最適化するように教示することができる。
The setting update unit 105 deletes, changes, or adds information regarding at least one of the approach point and the departure point set in the task by the task creation unit 102 based on the operation input of the operator. It has a function.
In order to realize the function of the setting update unit 105, the control unit 21 of the information processing device 2 accesses the storage 22 based on the operation input of the operator received by the input device 23 in the task creation window (see FIG. 6). Then, the information on the approach point and the departure point of the task included in the task database 221 is updated.
Since the setting update unit 105 allows the operator to delete, change, or add the approach point and departure point of the work element at a desired position, the robot can be taught to the operator's desired operation. In particular, in the present embodiment, since the execution result of the task can be played back as a moving image by CAD software, the operator deletes, changes, or adds the approach point and / or the departure point after seeing the moving image playback result. By doing so, it is possible to teach to optimize the operation of the robot.

グルーピング部106は、表示装置24に表示された階層型リストから2以上の対象物を指定するオペレータの操作入力に基づいて、当該2以上の対象物をグループ化する機能を備える。その場合、タスク作成部102は、グループ化された2以上の対象物のうちいずれかの対象物に対して設定されたアプローチ点およびデパーチャ点のうち少なくともいずれかの点に関する情報を、上記2以上の対象物の他の対象物に対しても設定する。 The grouping unit 106 has a function of grouping the two or more objects based on the operation input of the operator who specifies two or more objects from the hierarchical list displayed on the display device 24. In that case, the task creation unit 102 provides information on at least one of the approach point and the departure point set for any one of the two or more grouped objects. It is also set for other objects of.

グルーピング部106の機能を実現するために、情報処理装置2に制御部21は、入力装置23からのオペレータの操作入力を受け入れると、当該操作入力によって指定される2以上の対象物が同じグループとして関連付けられるようにタスクデータベース221を更新する。そして、制御部21は、グループ化された2以上の対象物のうちいずれかの対象物に対して、例えばアプローチ点が設定された場合、グループ化された他の対象物のアプローチ点が設定されるように、タスクデータベース221を更新する。グループ化された他の対象物のアプローチ点およびデパーチャ点の設定は、前述したように、グループ化された2以上の対象物のTCPオフセット量が反映されるようにして行われる。 2以上の対象物をグループ化することで、複数の対象物に対するアプローチ点及び/又はデパーチャ点の設定作業が容易となる。 In order to realize the function of the grouping unit 106, when the control unit 21 receives the operator's operation input from the input device 23 in the information processing device 2, two or more objects specified by the operation input are grouped together. Update task database 221 to be associated. Then, when an approach point is set for any one of the two or more grouped objects, the control unit 21 sets the approach point of the other grouped objects. The task database 221 is updated so as to be so. The approach points and departure points of the other grouped objects are set so as to reflect the TCP offset amount of the two or more grouped objects as described above. By grouping two or more objects, it becomes easy to set an approach point and / or a departure point for a plurality of objects.

プログラム作成部107は、タスク作成部102によって作成されたタスクに基づいて、当該タスクに対応する作業要素をロボット5に実行させるためのプログラムを作成する機能を備える。
プログラム作成部107の機能を実現するために、情報処理装置2の制御部21は、タスクに含まれる作業要素の種別、作業要素の目標物、アプローチ点、デパーチャ点、モーションパラメータ、およびインターロックの設定を基に、タスクに対応する作業要素をロボットに実行させるためのプログラムが記述された関数を作成する。例えば、プログラム作成部107は、タスクに含まれる情報を参照し、ストレージ22(第1記憶部の例)に保存された作業要素の種別に応じた所定のプログラムのフォーマットにおける座標位置等を書き換えることで、自動的にプログラムを作成する。
The program creation unit 107 has a function of creating a program for causing the robot 5 to execute a work element corresponding to the task based on the task created by the task creation unit 102.
In order to realize the function of the program creation unit 107, the control unit 21 of the information processing device 2 determines the type of work element included in the task, the target of the work element, the approach point, the departure point, the motion parameter, and the interlock. Based on the settings, create a function that describes a program for the robot to execute the work element corresponding to the task. For example, the program creation unit 107 refers to the information included in the task, and rewrites the coordinate position and the like in the predetermined program format according to the type of the work element stored in the storage 22 (example of the first storage unit). Then, the program is created automatically.

プログラム実行部108は、表示装置24に表示されたタスクリストのうち少なくとも1つのタスクを選択するオペレータの操作入力に基づいて、選択された少なくとも1つのタスクに基づいてプログラム作成部107により作成されたプログラムを含むロボットプログラムを実行する機能を備える。
プログラム実行部108の機能を実現するために、情報処理装置2の制御部21は、通信インタフェース部25を介して少なくとも1つのタスクに基づいて作成したロボットプログラムを、ロボット制御装置3へ送信する。ロボット制御装置3では、通信インタフェース部33によりロボットプログラムを受信すると、制御部31が当該ロボットプログラムを実行する。各タスクに基づいて作成されたプログラムは、関数の集合体で構成されている。制御部31はタスクリストに含まれる各タスクに基づいて作成されたプログラムを順に実行する。
The program execution unit 108 is created by the program creation unit 107 based on at least one selected task based on the operation input of the operator who selects at least one task in the task list displayed on the display device 24. It has a function to execute a robot program including a program.
In order to realize the function of the program execution unit 108, the control unit 21 of the information processing device 2 transmits a robot program created based on at least one task to the robot control device 3 via the communication interface unit 25. In the robot control device 3, when the communication interface unit 33 receives the robot program, the control unit 31 executes the robot program. The program created based on each task is composed of a set of functions. The control unit 31 sequentially executes the programs created based on each task included in the task list.

表示制御部101は、タスクリストのうちプログラム実行部108による実行結果がエラーを示したタスクであるエラータスクと、タスクリストのうちエラータスク以外のタスクとを異なる表示態様で表示する。
上述したように、ロボット制御装置3の制御部31は、タスクリストに含まれる各タスクに基づいて作成されたプログラムを順に実行するようにしてロボットプログラムを実行する。そして、制御部31は、タスクごとの実行結果(成功又はエラーの結果、および、エラーの場合のエラー原因)を含む実行ログデータを実行ログデータベース224に記録する。エラー原因は、例えば、速度超過、目標点不到達、特異点到達等である。次いで制御部31は、通信インタフェース部33を介して情報処理装置2へ実行ログデータを送信する。情報処理装置2の制御部21は、ロボット制御装置3から実行ログデータを取得すると、実行ログデータに含まれる実行結果が反映されるようにして、タスクリストを表示装置24に表示する。具体的には、タスクリストの表示を、実行結果がエラーを示したエラータスクと、エラータスク以外のタスクとが異なる表示態様となるようにして行う(例えば、図11参照)。そのため、オペレータは、ジョブの中でエラーが発生した作業要素を直ちに認識でき、タスクのアプローチ点、デパーチャ点、あるいはモーションパラメータの設定値の修正等に対処することができる。
The display control unit 101 displays an error task, which is a task whose execution result by the program execution unit 108 indicates an error in the task list, and a task other than the error task in the task list in different display modes.
As described above, the control unit 31 of the robot control device 3 executes the robot program so as to sequentially execute the programs created based on each task included in the task list. Then, the control unit 31 records the execution log data including the execution result for each task (the result of success or error, and the cause of the error in the case of an error) in the execution log database 224. The cause of the error is, for example, excessive speed, non-reaching of the target point, reaching of a singular point, or the like. Next, the control unit 31 transmits the execution log 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 the execution log data from the robot control device 3, the control unit 21 displays the task list on the display device 24 so that the execution result included in the execution log data is reflected. Specifically, the task list is displayed so that the error task whose execution result indicates an error and the task other than the error task have different display modes (see, for example, FIG. 11). Therefore, the operator can immediately recognize the work element in which the error has occurred in the job, and can deal with the approach point of the task, the departure point, the correction of the set value of the motion parameter, and the like.

ストレージ22(第2記憶部および第3記憶部の例)は、仮想空間におけるロボットRの3次元モデルと、対象物の3次元モデルの情報と、を含む3次元モデルデータベース223を記憶する。
状態情報算出部109は、プログラム実行部108による実行結果に基づいて、時間の経過に応じたロボットの状態を示す情報であるロボット状態データ(状態情報の例)を演算する機能を備える。
シミュレーション部110は、状態情報算出部109によって得られたロボット状態データに基づいて、3次元モデルを仮想空間内で動作させて表示装置24に表示する機能を備える。
The storage 22 (examples of the second storage unit and the third storage unit) stores the three-dimensional model database 223 including the three-dimensional model of the robot R in the virtual space and the information of the three-dimensional model of the object.
The state information calculation unit 109 has a function of calculating robot state data (example of state information), which is information indicating the state of the robot according to the passage of time, based on the execution result by the program execution unit 108.
The simulation unit 110 has a function of operating the three-dimensional model in the virtual space and displaying it on the display device 24 based on the robot state data obtained by the state information calculation unit 109.

状態情報算出部109およびシミュレーション部110の機能を実現するために、ロボット制御装置3の制御部31は、上述したように、各タスクに基づいて作成されたプログラムを順に実行するようにして、情報処理装置2から受信したロボットプログラムを実行する。そして、制御部31は、ロボットプログラムの実行結果として、ジョブ全体におけるロボット状態データを取得する。ロボット状態データは、時間の経過に応じたロボットの状態を示す物理量(例えば、アームの関節角、アームの速度や加速度、各部の軌跡)のデータである。情報処理装置2の制御部21はロボット制御装置3から、ロボット状態データを含む実行ログデータを取得し、実行ログデータベース224に記録する。さらに制御部21は、実行ログデータを基に仮想空間上でロボットおよび対象物の3次元モデルを動作させて表示装置24に表示する。
したがって、オペレータは、各タスクのロボットの動作を視覚的に確認することができるため、各タスクの設定値(例えば、アプローチ点、デパーチャ点、モーションパラメータ等)や対象物の配置(例えば、図3のキャップトレイ12の配置等)を再検討することが容易となる。
In order to realize the functions of the state information calculation unit 109 and the simulation unit 110, the control unit 31 of the robot control device 3 executes the programs created based on each task in order as described above, so that the information The robot program received from the processing device 2 is executed. Then, the control unit 31 acquires the robot state data for the entire job as the execution result of the robot program. The robot state data is data of physical quantities (for example, the joint angle of the arm, the speed and acceleration of the arm, the trajectory of each part) indicating the state of the robot according to the passage of time. The control unit 21 of the information processing device 2 acquires execution log data including robot state data from the robot control device 3 and records it in the execution log database 224. Further, the control unit 21 operates a three-dimensional model of the robot and the object in the virtual space based on the execution log data and displays it on the display device 24.
Therefore, since the operator can visually confirm the operation of the robot for each task, the set value of each task (for example, approach point, departure point, motion parameter, etc.) and the arrangement of the object (for example, FIG. 3). It becomes easy to reexamine the arrangement of the cap tray 12 and the like.

判定部111は、階層型リストにおいて、オペレータの操作入力に基づいて、いずれか1つのロボットの構成要素、および、少なくとも1つの対象物が選択された場合に、当該少なくとも1つの対象物が仮想空間においてロボットRのハンド52(ロボットの構成要素の例)により到達可能であるか否かを判定する機能を備える。当該機能は、前述したエリアチェックに相当する。
判定部111の機能を実現するために、情報処理装置2の制御部21は、通信インタフェース部25を介して、ロボットおよび対象物の3次元モデルに基づく座標データ、対象物のTCPの座標のデータをロボット制御装置3へ送信する。ロボット制御装置3の制御部31は、受信したデータを基に、特定の対象物に対して逆運動学によりロボットのアームの関節角を求めることができるか否かを判定する。関節角を求めることができればロボットのハンドが対象物に到達可能であることを意味し、関節角を求めることができなければロボットのハンドが対象物に到達不可能であることを意味する。
判定部111によりロボットプログラムを作成する前に特定の対象物に対するロボットのハンドの到達可否がわかるため、対象物の配置の最適化等の検討を前もって行うことができ、ティーチング作業の効率化が図れる。
When the component of any one robot and at least one object are selected in the hierarchical list based on the operation input of the operator, the determination unit 111 sets the at least one object in the virtual space. It has a function of determining whether or not it can be reached by the hand 52 of the robot R (an example of a component of the robot). This function corresponds to the area check described above.
In order to realize the function of the determination unit 111, the control unit 21 of the information processing device 2 transmits the coordinate data based on the three-dimensional model of the robot and the object, and the TCP coordinate data of the object via the communication interface unit 25. Is transmitted to the robot control device 3. Based on the received data, the control unit 31 of the robot control device 3 determines whether or not the joint angle of the robot arm can be obtained by inverse kinematics for a specific object. If the joint angle can be obtained, it means that the robot's hand can reach the object, and if the joint angle cannot be obtained, it means that the robot's hand cannot reach the object.
Since the determination unit 111 knows whether or not the robot's hand can reach a specific object before creating the robot program, it is possible to study the optimization of the arrangement of the object in advance and improve the efficiency of the teaching work. ..

表示制御部101は、複数の対象物のうち判定部111により到達可能でないと判定された対象物である到達不可対象物が、当該到達不可対象物以外の対象物と識別可能となるように、階層型データを表示してもよい。
エリアチェックでは、図13に示したように、好ましくは、複数の対象物のうち到達可能でないと判定された対象物(到達不可対象物)が、到達不可対象物以外の対象物と識別可能となるように、階層型リストを表示する。図13では、マークM2の有無によって到達不可対象物を識別可能に表示しているが、識別方法は様々な方法を採りうる。例えば、図13の例に代えて、到達不可のペン(Pen)を赤色にするか、あるいは輝度を低下させる等の表示処理を施してもよい。
The display control unit 101 makes it possible to identify an unreachable object, which is an object determined by the determination unit 111 to be unreachable among a plurality of objects, from an object other than the unreachable object. Hierarchical data may be displayed.
In the area check, as shown in FIG. 13, preferably, among a plurality of objects, the object determined to be unreachable (the unreachable object) can be distinguished from the object other than the unreachable object. Display a hierarchical list so that In FIG. 13, the unreachable object is identifiable depending on the presence or absence of the mark M2, but various methods can be adopted as the identification method. For example, instead of the example of FIG. 13, a display process such as turning the unreachable pen (Pen) red or reducing the brightness may be performed.

姿勢選択部112は、オペレータの操作入力に基づいて、ロボットに対して予め定められた複数の姿勢の中からいずれかの姿勢を選択する機能を備える。
その場合、判定部111は、ロボットが姿勢選択部112によって選択された姿勢をとることを条件として、少なくとも1つの対象物がロボットの構成要素により到達可能であるか否かを判定する。姿勢選択が行われた場合には、ロボット制御装置3の制御部31は、ロボットを選択された姿勢に固定した状態で、特定の対象物に対して逆運動学によりロボットのアームの関節角を求めることができるか否かを判定する。
姿勢選択部112を設けることで、オペレータは、ロボットの様々な姿勢を考慮しながら、対象物の配置等の検討を前もって行うことができる。
The posture selection unit 112 has a function of selecting one of a plurality of predetermined postures with respect to the robot based on the operation input of the operator.
In that case, the determination unit 111 determines whether or not at least one object is reachable by the components of the robot, provided that the robot takes the posture selected by the attitude selection unit 112. When the posture is selected, the control unit 31 of the robot control device 3 determines the joint angle of the arm of the robot by inverse kinematics with respect to a specific object while the robot is fixed in the selected posture. Determine if it can be determined.
By providing the posture selection unit 112, the operator can examine the arrangement of the object in advance while considering various postures of the robot.

基準点設定部113は、対象物の3次元モデルの仮想空間内の位置に基づいて、ロボットの対象物に対する作業の基準となる、仮想空間内のTCP(基準点の例)を算出し、TCPを対象物に関連付ける機能を備える。
基準点設定部113の機能を実現するために、情報処理装置2の制御部21は、処理対象となる対象物の3次元モデルのデータに基づき、当該対象物のTCPを設定するとともに、TCPを基準とした当該対象物のローカル座標系を設定する。本実施形態では、教示ソフトウェアとCADソフトウェアが連携しているため、対象物のTCPを自動的、かつ正確に算出することができる。基準点設定部113は、TCPとして対象物の重心位置を算出することが好ましい。
本実施形態では、ロボットのハンドの軌道は、対象物を把持する作業に対応したハンドに設定されたTCPと、目標物である当該対象物のTCPおよびそのローカル座標系とに基づいて決定されるため、ハンドによる作業を精度良くティーチングすることができる。また、TCPとして対象物の重心位置を算出することで、対象物以外の物体(他の対象物や設備等)との干渉を回避しやすい位置をTCPとして特定することができる。
The reference point setting unit 113 calculates TCP (example of a reference point) in the virtual space, which is a reference for the work of the robot on the object, based on the position in the virtual space of the three-dimensional model of the object, and TCP. Has a function to associate with an object.
In order to realize the function of the reference point setting unit 113, the control unit 21 of the information processing device 2 sets the TCP of the target object based on the data of the three-dimensional model of the target object, and sets the TCP of the target object. Set the local coordinate system of the object as a reference. In the present embodiment, since the teaching software and the CAD software are linked, the TCP of the object can be calculated automatically and accurately. It is preferable that the reference point setting unit 113 calculates the position of the center of gravity of the object as TCP.
In the present embodiment, the trajectory of the robot's hand is determined based on the TCP set in the hand corresponding to the work of grasping the object, the TCP of the target object, and its local coordinate system. Therefore, it is possible to teach the work by hand with high accuracy. Further, by calculating the position of the center of gravity of the object as TCP, it is possible to specify as TCP a position where interference with an object other than the object (other object, equipment, etc.) can be easily avoided.

モデル配置部114は、対象物の3次元モデルと、TCPと、TCPを原点とした3次元モデルのローカル座標系と、を仮想空間に配置して表示する機能を備える。モデル配置部114の機能を実現するために、情報処理装置2の制御部21は、TCPと、TCPを原点とした3次元モデルのローカル座標系のデータとを、各対象物に関連付けるようにしてストレージ22の3次元モデルデータベース223に記録する。制御部21は、3次元モデルデータベース223を参照して、対象物の3次元モデルと当該対象物のTCPおよびローカル座標系とを表示装置24に表示する。
対象物の3次元モデルと当該対象物のTCPおよびローカル座標系とが表示されること
で、オペレータは、アプローチ点APおよびデパーチャ点DPの位置についてCAD用ウ
ィンドウ上で検討しやすくなる。
The model arrangement unit 114 has a function of arranging and displaying the three-dimensional model of the object, TCP, and the local coordinate system of the three-dimensional model with TCP as the origin in a virtual space. In order to realize the function of the model arrangement unit 114, the control unit 21 of the information processing device 2 associates TCP and the data of the local coordinate system of the three-dimensional model with TCP as the origin with each object. Record in the three-dimensional model database 223 of the storage 22. The control unit 21 refers to the three-dimensional model database 223 and displays the three-dimensional model of the object and the TCP and the local coordinate system of the object on the display device 24.
By displaying the three-dimensional model of the object and the TCP and local coordinate system of the object, the operator can easily examine the positions of the approach point AP and the departure point DP on the CAD window.

図9に関連付けて説明したように、TCPの対象物への関連付けは、自動的ではなく、オペレータの操作入力に基づいて行われてもよい。
すなわち、表示制御部101は、3次元モデルを仮想空間内に表示し、基準点設定部113は、仮想空間内の所定点と、階層型データの対象物とを関連付けるオペレータの操作入力に基づいて、上記所定点をTCPとして対象物に関連付けてもよい。このとき、基準点設定部113は、対象物にTCPが関連付けられていない場合には、対象物にTCPが関連付けられていないことを報知してもよい。
この基準点設定部113の機能を実現するために、情報処理装置2の入力装置23が、TCPモデル(図9参照)を所定点にセットし、かつ階層型リストの特定の対象物に対応するノードまでドラッグする操作入力を受け付ける。制御部21は、当該所定点を対象物のTCPとして対象物に関連付けるように、ストレージ22の3次元モデルデータベース223を更新する。
制御部21は、対象物にTCPが関連付けられていない場合に、例えば表示装置24に警告表示を出力することで、当該対象物にTCPを関連付けることをオペレータに促すことができる。
As described in association with FIG. 9, the association of TCP with the object may be performed based on the operation input of the operator, not automatically.
That is, the display control unit 101 displays the three-dimensional model in the virtual space, and the reference point setting unit 113 is based on the operation input of the operator that associates the predetermined point in the virtual space with the object of the hierarchical data. , The above-mentioned predetermined point may be associated with the object as TCP. At this time, when the reference point setting unit 113 does not associate TCP with the object, it may notify that TCP is not associated with the object.
In order to realize the function of the reference point setting unit 113, the input device 23 of the information processing device 2 sets the TCP model (see FIG. 9) at a predetermined point and corresponds to a specific object in the hierarchical list. Accepts operation input to drag to a node. The control unit 21 updates the three-dimensional model database 223 of the storage 22 so as to associate the predetermined point with the object as TCP of the object.
When TCP is not associated with the object, the control unit 21 can urge the operator to associate TCP with the object, for example, by outputting a warning display to the display device 24.

表示制御部101は、対象物に関連付けられたTCPを、階層型データ上の対象物の下層に階層的に表示してもよい。この場合、情報処理装置2の制御部21は、階層型リストを表示するときに、階層型リストデータベース222において各対象物と関連付けられたTCPを読み出して、階層型リストに各対象物の下層にTCPの座標を表示する。それにより、オペレータが、各対象物のTCPの座標を人目で認識できるようになる。 The display control unit 101 may hierarchically display the TCP associated with the object in the lower layer of the object on the hierarchical data. In this case, when displaying the hierarchical list, the control unit 21 of the information processing device 2 reads the TCP associated with each object in the hierarchical list database 222 and puts it in the lower layer of each object in the hierarchical list. Display TCP coordinates. As a result, the operator can visually recognize the TCP coordinates of each object.

インターロック設定部115は、オペレータの操作入力に基づき、タスクに設定された目標点、アプローチ点およびデパーチャ点の少なくともいずれかの点においてロボットの動作を待機させる待機時間のタイムアウト値を設定する機能を備える。
インターロック設定部115の機能を実現するために、情報処理装置2の制御部21は、入力装置23が受け付けたオペレータの操作入力(例えば、図6の教示用ウィンドウW3における操作入力)に基づいてストレージ22にアクセスし、タスクデータベース221に含まれるタスクに含まれる特定のアプローチ点又はデパーチャ点に設定されたインターロックの待機時間のタイムアウト値を書き換える。
インターロック設定部115により、ロボットのオフラインティーチングを行うときに、インターロックによる待機時間のタイムアウト値を作業要素ごとにオペレータが容易に設定することができる。
The interlock setting unit 115 has a function of setting a timeout value of a waiting time for waiting for the robot operation at at least one of a target point, an approach point, and a departure point set in the task based on the operation input of the operator. Be prepared.
In order to realize the function of the interlock setting unit 115, the control unit 21 of the information processing device 2 is based on the operation input of the operator received by the input device 23 (for example, the operation input in the teaching window W3 of FIG. 6). Access the storage 22 and rewrite the timeout value of the interlock waiting time set at the specific approach point or departure point included in the task included in the task database 221.
The interlock setting unit 115 allows the operator to easily set the timeout value of the waiting time due to the interlock for each work element when performing offline teaching of the robot.

なお、シミュレーション部110は、インターロックによる待機時間を無効化して、3次元モデルを仮想空間内で動作させてもよい。つまり、シミュレーション用プログラムを実行するときには、インターロックによる待機を行わずに3次元モデルを動作させる。それによって、オペレータは、仮想空間上でロボットを停止させずに、ロボットの動きに着目してプログラムの実行結果を確認することができる。 The simulation unit 110 may invalidate the waiting time due to the interlock and operate the three-dimensional model in the virtual space. That is, when the simulation program is executed, the three-dimensional model is operated without waiting by the interlock. As a result, the operator can check the execution result of the program by paying attention to the movement of the robot without stopping the robot in the virtual space.

(4)ロボット教示装置1の主要な処理
次に、図15および図16を参照して、ロボット教示装置1の主要な処理についてシーケンスチャートを参照して説明する。
図15は、本実施形態に係るロボット教示装置のエリアチェックの処理を示すシーケンスチャートの例である。図16は、本実施形態に係るロボット教示装置のジョブの実行処理を示すシーケンスチャートの例である。
(4) Main Processing of Robot Teaching Device 1 Next, with reference to FIGS. 15 and 16, the main processing of the robot teaching device 1 will be described with reference to a sequence chart.
FIG. 15 is an example of a sequence chart showing an area check process of the robot teaching device according to the present embodiment. FIG. 16 is an example of a sequence chart showing job execution processing of the robot teaching device according to the present embodiment.

(4−1)エリアチェック(図15)
先ず、図15のシーケンスチャートを参照してエリアチェックの処理について説明する。
図4に示した階層型リストのロボット領域RA内のいずれかの対象物に対応するノードをポインティングデバイスで右クリックしてから「エリアチェック」が選択されることで(ステップS10:YES)、エリアチェックの実行が開始される。
先ず、姿勢選択部112は、オペレータのロボットRの姿勢を選択する操作入力があった場合(ステップS12:YES)、当該操作入力に基づいて、ロボットRに対して予め定められた複数の姿勢の中からいずれかの姿勢を選択する。
(4-1) Area check (Fig. 15)
First, the area check process will be described with reference to the sequence chart of FIG.
By right-clicking the node corresponding to any object in the robot area RA of the hierarchical list shown in FIG. 4 with the pointing device and then selecting "Area check" (step S10: YES), the area The check execution is started.
First, when the posture selection unit 112 receives an operation input for selecting the posture of the robot R of the operator (step S12: YES), the posture selection unit 112 has a plurality of postures predetermined with respect to the robot R based on the operation input. Select one of the postures.

次いで、判定部111は、「エリアチェック」の選択時に指定した対象物が仮想空間においてロボットRのハンド52により到達可能であるか否かを判定し、到達可否結果を表示装置24に表示する。なお、2以上の対象物を指定してエリアチェックを行うことも可能である。判定部111の処理は、具体的には、以下のようにして行われる。
情報処理装置2は、通信インタフェース部25を介して、ロボットRおよび各対象物の3次元モデルに基づく座標データ、各対象物のTCPの座標データをロボット制御装置3へ送信する(ステップS14)。ロボット制御装置3は、受信したデータを基に、指定された各対象物に対して逆運動学によりロボットRのアーム51の関節角を計算する(ステップS16)。ロボット制御装置3は、ステップS16によりアーム51の関節角が求められるか否かに基づいて、アーム51の対象物に対する到達可否を決定する(ステップS18)。ステップS16,S18の処理は、姿勢選択部112により選択されたすべてのロボットRの姿勢について1つずつ行われる。ロボット制御装置3は、すべての姿勢についての処理を終了した場合には(ステップS20:YES)、ロボットRの姿勢ごとのエリアチェック結果(到達可否の結果)を情報処理装置2へ返す(ステップS22)。情報処理装置2は、受信したエリアチェック結果を、例えば図13に示したように、表示装置24に表示する(ステップS24)。
Next, the determination unit 111 determines whether or not the object specified when the "area check" is selected can be reached by the hand 52 of the robot R in the virtual space, and displays the reachability result on the display device 24. It is also possible to specify two or more objects and perform an area check. Specifically, the processing of the determination unit 111 is performed as follows.
The information processing device 2 transmits coordinate data based on the robot R and the three-dimensional model of each object and TCP coordinate data of each object to the robot control device 3 via the communication interface unit 25 (step S14). The robot control device 3 calculates the joint angle of the arm 51 of the robot R by inverse kinematics for each designated object based on the received data (step S16). The robot control device 3 determines whether or not the arm 51 can reach the object based on whether or not the joint angle of the arm 51 is obtained in step S16 (step S18). The processes of steps S16 and S18 are performed one by one for the postures of all the robots R selected by the posture selection unit 112. When the robot control device 3 finishes processing for all postures (step S20: YES), the robot control device 3 returns the area check result (reachability result) for each posture of the robot R to the information processing device 2 (step S22). ). The information processing device 2 displays the received area check result on the display device 24, for example, as shown in FIG. 13 (step S24).

(4−2)ジョブのシミュレーションの実行(図16)
次に、図16のシーケンスチャートを参照してジョブのシミュレーションの実行の処理について説明する。
図10の教示用ウィンドウW4においてオペレータによるボタンb4に対する操作入力(シミュレーションの実行指示)を受け付けると(ステップS30:YES)、プログラム作成部107は、ジョブをロボットRに実行するためのロボットプログラムを作成する(ステップS32)。このロボットプログラムには、ジョブに対応するタスクリストの各タスクに対応する作業要素をロボットRに実行させるためのプログラムが記述された複数の関数が含まれる。
(4-2) Execution of job simulation (Fig. 16)
Next, the process of executing the simulation of the job will be described with reference to the sequence chart of FIG.
When the operation input (simulation execution instruction) for the button b4 by the operator is received in the teaching window W4 of FIG. 10 (step S30: YES), the program creation unit 107 creates a robot program for executing the job to the robot R. (Step S32). This robot program includes a plurality of functions in which a program for causing the robot R to execute a work element corresponding to each task in the task list corresponding to the job is described.

作成されたロボットプログラムは、情報処理装置2からロボット制御装置3へ送信されて(ステップS34)、ロボット制御装置3において実行される。すなわち、プログラム実行部108は、タスク単位でロボットプログラムを実行する(ステップS36)。状態情報算出部109は、プログラム実行部108による実行結果に基づいて、時間の経過に応じたロボットRの状態を示す情報であるロボット状態データを演算し、ロボット状態データを含む実行ログデータをストレージ32に記録する(ステップS38)。ステップS36,S38の処理は、タスクリストに含まれるすべてのタスクが終了するまで行われる。
すべてのタスクについての処理が終了すると(ステップS40:YES)、ロボット制御装置3は、ストレージ32に記録した実行ログデータを情報処理装置2に送信する(ステップS42)。情報処理装置2は、受信した実行ログデータを実行ログデータベース224に記録する。
次いで、シミュレーション部110は、ステップS42で受信した実行ログデータに含まれるロボット状態データ(つまり、状態情報算出部109によって得られたロボット状態データ)に基づいて、3次元モデルを仮想空間内で動作させて表示装置24に表示する(ステップS44)。
The created robot program is transmitted from the information processing device 2 to the robot control device 3 (step S34), and is executed by the robot control device 3. That is, the program execution unit 108 executes the robot program in task units (step S36). The state information calculation unit 109 calculates robot state data, which is information indicating the state of the robot R according to the passage of time, based on the execution result by the program execution unit 108, and stores execution log data including the robot state data. Record in 32 (step S38). The processing of steps S36 and S38 is performed until all the tasks included in the task list are completed.
When the processing for all the tasks is completed (step S40: YES), the robot control device 3 transmits the execution log data recorded in the storage 32 to the information processing device 2 (step S42). The information processing device 2 records the received execution log data in the execution log database 224.
Next, the simulation unit 110 operates the three-dimensional model in the virtual space based on the robot state data (that is, the robot state data obtained by the state information calculation unit 109) included in the execution log data received in step S42. It is displayed on the display device 24 (step S44).

(5)変形例
次に、上述した実施形態の変形例について説明する。
(5−1)変形例1
上述した実施形態で説明したエリアチェックでは、ロボットRのハンド52による対象物への到達可否のみを表示する例(図13参照)を挙げたが、より詳細な情報を提供することで、オペレータによるオフラインティーチングを支援することができる。例えば、ロボットRのハンド52により到達可能でないと判定された対象物が、ハンド52にどの程度近接しているかについての情報を提供するようにしてもよい。それによって、例えば対象物の再配置についての有用な情報が得られる。
本変形例では、判定部111は、ロボットRのハンド52(ロボットの構成要素の例)により到達可能でないと判定した対象物である到達不可対象物に対するロボットRのハンド52の近接の程度を特定し、表示制御部101は、到達不可対象物に対するロボットRのハンド52の近接の程度が認識可能となるように表示する。
ハンド52の近接の程度を示す指標の表示例を図17に示す。図17に示すように、到達不可対象物に対してマークM3を表示する。マークM3は、「NG(*)(*:1〜5)」という表示形式となっており、括弧内の数字によって近接の程度(例えば、数字が小さいほど近接している)がわかるようになっている。近接の程度は、求められたアーム51の関節角と、関節角の限界角度との差分値によって算出できる。
(5) Modification Example Next, a modification of the above-described embodiment will be described.
(5-1) Modification 1
In the area check described in the above-described embodiment, an example (see FIG. 13) of displaying only whether or not the robot R can reach the object by the hand 52 is given, but by providing more detailed information, the operator can perform the operation. Can support offline teaching. For example, the robot R may provide information on how close an object determined to be unreachable by the hand 52 is to the hand 52. This provides useful information, for example, about the rearrangement of objects.
In this modification, the determination unit 111 specifies the degree of proximity of the robot R's hand 52 to an unreachable object that is determined to be unreachable by the robot R's hand 52 (an example of a robot component). Then, the display control unit 101 displays so that the degree of proximity of the hand 52 of the robot R to the unreachable object can be recognized.
FIG. 17 shows a display example of an index indicating the degree of proximity of the hand 52. As shown in FIG. 17, the mark M3 is displayed on the unreachable object. The mark M3 has a display format of "NG (*) (*: 1 to 5)", and the degree of proximity (for example, the smaller the number, the closer) can be known by the numbers in parentheses. ing. The degree of proximity can be calculated from the difference value between the obtained joint angle of the arm 51 and the limit angle of the joint angle.

(5−2)変形例2
変形例2では、ロボットRのハンド52により到達可能であると判定された対象物が、ハンド52に対してどの程度余裕があるかについての情報が提供される。かかる情報を提供することによっても、オフラインティーチングを支援することができる。例えば対象物の再配置についての有用な情報が得られる。
本変形例では、判定部111は、ロボットRのハンド52により到達可能と判定した対象物である到達可能対象物に対するロボットRのハンド52の到達の余裕度を特定し、表示制御部101は、到達可能対象物に対するロボットRのハンド52の到達の余裕度が認識可能となるように表示する。例えば図17に示すように、到達可能対象物に対してマークM4を表示する。マークM4は、「OK(*)(*:1〜5)」という表示形式となっており、括弧内の数字によって余裕度(例えば、数字が大きいほど余裕がある)がわかるようになっている。
余裕度は、求められたアーム51の関節角と、関節角の限界角度との差分値によって算出できる。
(5-2) Modification 2
In the second modification, information is provided as to how much the object determined to be reachable by the hand 52 of the robot R has a margin with respect to the hand 52. By providing such information, offline teaching can also be supported. For example, useful information about rearrangement of objects can be obtained.
In this modification, the determination unit 111 identifies the reachability of the robot R's hand 52 with respect to the reachable object that is determined to be reachable by the robot R's hand 52, and the display control unit 101 determines that the robot R's hand 52 can reach the object. The margin of arrival of the hand 52 of the robot R with respect to the reachable object is displayed so as to be recognizable. For example, as shown in FIG. 17, the mark M4 is displayed on the reachable object. The mark M4 has a display format of "OK (*) (*: 1 to 5)", and the number in parentheses indicates the degree of margin (for example, the larger the number, the more margin). ..
The margin can be calculated from the difference value between the obtained joint angle of the arm 51 and the limit angle of the joint angle.

(5−3)変形例3
判定部111は、オペレータの操作入力に基づいていずれか1つのロボットが選択された場合に、複数の対象物の各々がロボットRのハンド52により到達可能であるか否かを判定してもよい。
つまり、階層型リストにおいてロボットRを選択した操作入力に基づいて、すべての対象物に対する到達可否を判定してもよい。それによって、オペレータがエリアチェックを行う対象物を選択する手間を省くことができる。また、すべての対象物に対する到達可否を判定することで、すべての対象物の全体的な配置について検討するための有用な情報が得られる。
(5-3) Modification 3
When any one robot is selected based on the operation input of the operator, the determination unit 111 may determine whether or not each of the plurality of objects can be reached by the hand 52 of the robot R. ..
That is, the reachability of all the objects may be determined based on the operation input in which the robot R is selected in the hierarchical list. As a result, the operator can save the trouble of selecting the object to be checked in the area. Also, determining reachability for all objects provides useful information for considering the overall placement of all objects.

(5−4)変形例4
プログラム作成部107は、インターロックによる待機時間がタイムアウト値に達した場合には、エラーと判断するようにプログラムを作成してもよい。
ロボットプログラムを実行したときにインターロックによる待機時間がタイムアウト値に達した場合には、エラーと判断することで、例えばロボットRに対する入出力信号に不具合があること等をオペレータが認識することができる。
(5-4) Modification 4
The program creation unit 107 may create a program so as to determine an error when the waiting time due to the interlock reaches the timeout value.
If the waiting time due to the interlock reaches the timeout value when the robot program is executed, the operator can recognize that there is a problem with the input / output signal for the robot R, for example, by determining that it is an error. ..

(5−5)変形例5
プログラム作成部107は、インターロックのタイムアウトによりエラーと判断した場合にロボットRを予め決められた基準姿勢にするように、プログラムを作成してもよい。
変形例4に示したようにしてエラーと判断した場合には、エラーが発生した後の動作を行うよりもロボットRの動作を中止して基準姿勢(例えば、初期の姿勢)に戻す方が好ましい場合がある。
(5-5) Modification 5
The program creation unit 107 may create a program so that the robot R is set to a predetermined reference posture when it is determined that an error occurs due to an interlock timeout.
When it is determined that an error occurs as shown in the modified example 4, it is preferable to stop the operation of the robot R and return it to the reference posture (for example, the initial posture) rather than performing the operation after the error occurs. In some cases.

(5−6)変形例6
プログラム作成部107は、インターロックのタイムアウトによりエラーと判断した場合には、ストレージ22(第1記憶部の例)のタスクデータベース221を参照して、オペレータの操作入力に基づく複数のタスクのうちのいずれかのタスクに対応する作業要素をロボットRに実行させるように、プログラムを作成してもよい。
変形例4に示したようにしてエラーと判断した場合には、ロボットRに特定の作業要素を実行させてもよい。特定の作業要素の例としては、現在把持している対象物をエラー用の棚に置くことが挙げられる。
(5-6) Modification 6
When the program creation unit 107 determines that an error occurs due to the timeout of the interlock, the program creation unit 107 refers to the task database 221 of the storage 22 (example of the first storage unit) and among a plurality of tasks based on the operation input of the operator. A program may be created so that the robot R executes a work element corresponding to any of the tasks.
When it is determined that an error occurs as shown in the modification 4, the robot R may be made to execute a specific work element. An example of a particular working element is placing the currently gripped object on an error shelf.

以上、本発明のロボット教示装置の実施形態について詳述したが、本発明は上記の実施形態に限定されない。また、上記の実施形態は、本発明の主旨を逸脱しない範囲において、種々の改良や変更が可能である。
例えば、上述した実施形態に係るロボット教示装置は、図14の機能ブロック図に記載されたすべての機能を備えている必要はなく、少なくとも一部の機能を備えていればよい。
上述した実施形態では、ロボット教示装置は、情報処理装置とロボット制御装置の2つの装置を含む場合について例示したが、その限りではなく、一体の装置として構成してもよい。
上述した実施形態では、情報処理装置の入力装置にポインティングデバイスが含まれる場合について説明したが、その限りではなく、他のデバイスであってもよい。例えば、タッチ入力機能を備えた表示パネルを使用し、オペレータによるタッチ入力を受け付けてもよい。
Although the embodiment of the robot teaching device of the present invention has been described in detail above, the present invention is not limited to the above embodiment. Further, the above-described embodiment can be improved or modified in various ways without departing from the spirit of the present invention.
For example, the robot teaching device according to the above-described embodiment does not have to have all the functions shown in the functional block diagram of FIG. 14, but may have at least some functions.
In the above-described embodiment, the case where the robot teaching device includes two devices, an information processing device and a robot control device, has been illustrated, but the present invention is not limited to this, and the robot teaching device may be configured as an integrated device.
In the above-described embodiment, the case where the input device of the information processing device includes the pointing device has been described, but the present invention is not limited to this, and other devices may be used. For example, a display panel having a touch input function may be used to accept touch input by an operator.

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

1…ロボット教示装置、2…情報処理装置、21…制御部、22…ストレージ、23…入力装置、24…表示装置、25…通信インタフェース部、3…ロボット制御装置、31…制御部、32…ストレージ、33…通信インタフェース部、11…ペントレイ、P…ペン群、12…キャップトレイ、C…キャップ群、13…治具、14…製品トレイ、A1〜A12…製品、EC…通信ネットワークケーブル、R…ロボット、51…アーム、52…ハンド、61〜68…ノード、101…表示制御部、102…タスク作成部、103…タスク更新部、104…タスク入替部、105…設定更新部、106…グルーピング部、107…プログラム作成部、108…プログラム実行部、109…状態情報算出部、110…シミュレーション部、111…判定部、112…姿勢選択部、113…基準点設定部、114…モデル配置部、115…インターロック設定部、221…タスクデータベース、222…階層型リストデータベース、223…3次元モデルデータベース、224…実行ログデータベース、RA…ロボット領域、PA…対象物領域、W1〜W6…ウィンドウ、b1〜b4…ボタン、AP…アプローチ点、TP…目標点、DP…デパーチャ点、T…テーブル 1 ... Robot teaching device, 2 ... Information processing device, 21 ... Control unit, 22 ... Storage, 23 ... Input device, 24 ... Display device, 25 ... Communication interface unit, 3 ... Robot control device, 31 ... Control unit, 32 ... Storage, 33 ... communication interface unit, 11 ... pen tray, P ... pen group, 12 ... cap tray, C ... cap group, 13 ... jig, 14 ... product tray, A1 to A12 ... product, EC ... communication network cable, R ... Robot, 51 ... Arm, 52 ... Hand, 61-68 ... Node, 101 ... Display control unit, 102 ... Task creation unit, 103 ... Task update unit, 104 ... Task replacement unit, 105 ... Setting update unit, 106 ... Grouping Unit, 107 ... Program creation unit, 108 ... Program execution unit, 109 ... State information calculation unit, 110 ... Simulation unit, 111 ... Judgment unit, 112 ... Attitude selection unit, 113 ... Reference point setting unit, 114 ... Model placement unit, 115 ... Interlock setting unit, 221 ... Task database, 222 ... Hierarchical list database, 223 ... Three-dimensional model database, 224 ... Execution log database, RA ... Robot area, PA ... Object area, W1 to W6 ... Window, b1 ~ B4 ... Button, AP ... Approach point, TP ... Target point, DP ... Departure point, T ... Table

Claims (6)

ロボットの作業対象である対象物の構成要素が階層的に記述された階層型データを表示装置に表示する表示制御部と、
仮想空間内の前記対象物の3次元モデルを記憶する記憶部と、
前記ロボットの前記対象物に対する作業の基準となる基準点を、前記対象物に関連付ける基準点設定部と、を備え、
前記基準点設定部は、前記階層型データ上に表示された対象物の3次元モデルの仮想空間内の位置に基づき、前記基準点を算出する、
ロボット教示装置。
A display control unit that displays hierarchical data in which the components of the object that the robot works on are hierarchically described on the display device, and
A storage unit that stores a three-dimensional model of the object in the virtual space,
A reference point setting unit that associates a reference point that serves as a reference for work on the object of the robot with the object is provided.
The reference point setting unit calculates the reference point based on the position in the virtual space of the three-dimensional model of the object displayed on the hierarchical data.
Robot teaching device.
前記対象物の3次元モデルと、前記基準点と、前記基準点を原点とした前記3次元モデルのローカル座標系と、を仮想空間に配置して表示するモデル配置部、をさらに備えた、
請求項1に記載されたロボット教示装置。
A model placement unit that arranges and displays the three-dimensional model of the object, the reference point, and the local coordinate system of the three-dimensional model with the reference point as the origin in a virtual space is further provided.
The robot teaching device according to claim 1.
前記基準点設定部は、前記基準点として前記対象物の重心位置を算出する、
請求項1又は2に記載されたロボット教示装置。
The reference point setting unit calculates the position of the center of gravity of the object as the reference point.
The robot teaching device according to claim 1 or 2.
ロボットの作業対象である対象物の構成要素が階層的に記述された階層型データを表示装置に表示する表示制御部と、
仮想空間内の前記対象物の3次元モデルを記憶する記憶部と、
前記ロボットの前記対象物に対する作業の基準となる基準点を、前記対象物に関連付ける基準点設定部と、
を備え、
前記表示制御部は、前記3次元モデルを仮想空間内に表示し、
前記基準点設定部は、仮想空間内の所定点と、前記階層型データの前記対象物とを関連付けるオペレータの操作入力に基づいて、前記所定点を前記基準点として前記対象物に関連付ける、
ロボット教示装置。
A display control unit that displays hierarchical data in which the components of the object that the robot works on are hierarchically described on the display device, and
A storage unit that stores a three-dimensional model of the object in the virtual space,
A reference point setting unit that associates a reference point, which is a reference point for the robot's work on the object, with the object,
With
The display control unit displays the three-dimensional model in the virtual space.
The reference point setting unit associates the predetermined point with the object as the reference point based on the operation input of the operator who associates the predetermined point in the virtual space with the object of the hierarchical data.
Robot teaching device.
前記基準点設定部は、前記対象物に前記基準点が関連付けられていない場合には、前記対象物に前記基準点が関連付けられていないことを報知する、
請求項4に記載されたロボット教示装置。
When the reference point is not associated with the object, the reference point setting unit notifies that the reference point is not associated with the object.
The robot teaching device according to claim 4.
前記表示制御部は、前記対象物に関連付けられた前記基準点を、前記階層型データ上の前記対象物の下層に階層的に表示する、
請求項1から5のいずれか1項に記載されたロボット教示装置。
The display control unit hierarchically displays the reference point associated with the object in the lower layer of the object on the hierarchical data.
The robot teaching device according to any one of claims 1 to 5.
JP2019544366A 2017-09-26 2018-08-02 Robot teaching device Active JP7024795B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017184644 2017-09-26
JP2017184644 2017-09-26
PCT/JP2018/028987 WO2019064914A1 (en) 2017-09-26 2018-08-02 Robot teaching device

Publications (2)

Publication Number Publication Date
JPWO2019064914A1 true JPWO2019064914A1 (en) 2020-10-15
JP7024795B2 JP7024795B2 (en) 2022-02-24

Family

ID=65903625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019544366A Active JP7024795B2 (en) 2017-09-26 2018-08-02 Robot teaching device

Country Status (2)

Country Link
JP (1) JP7024795B2 (en)
WO (1) WO2019064914A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002066967A (en) * 2000-08-25 2002-03-05 Kawasaki Heavy Ind Ltd Structuring method of robot motion descriptive language, and indicating method and editing method of structured robot motion descriptive language
JP2005111618A (en) * 2003-10-08 2005-04-28 Fanuc Ltd Manual feeding device for robot
JP2008033419A (en) * 2006-07-26 2008-02-14 Honda Motor Co Ltd Cad device for robot teaching, and robot teaching method
JP2014161921A (en) * 2013-02-21 2014-09-08 Yaskawa Electric Corp Robot simulator, robot teaching device and robot teaching method
JP2016209969A (en) * 2015-05-12 2016-12-15 キヤノン株式会社 Information processing method and information processor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002066967A (en) * 2000-08-25 2002-03-05 Kawasaki Heavy Ind Ltd Structuring method of robot motion descriptive language, and indicating method and editing method of structured robot motion descriptive language
JP2005111618A (en) * 2003-10-08 2005-04-28 Fanuc Ltd Manual feeding device for robot
JP2008033419A (en) * 2006-07-26 2008-02-14 Honda Motor Co Ltd Cad device for robot teaching, and robot teaching method
JP2014161921A (en) * 2013-02-21 2014-09-08 Yaskawa Electric Corp Robot simulator, robot teaching device and robot teaching method
JP2016209969A (en) * 2015-05-12 2016-12-15 キヤノン株式会社 Information processing method and information processor

Also Published As

Publication number Publication date
JP7024795B2 (en) 2022-02-24
WO2019064914A1 (en) 2019-04-04

Similar Documents

Publication Publication Date Title
US6330495B1 (en) Off-line teaching method and apparatus for the same
JP6676286B2 (en) Information processing method and information processing apparatus
JP6350037B2 (en) Robot simulator and robot simulator file generation method
US9984178B2 (en) Robot simulator, robot teaching apparatus and robot teaching method
EP1310844B1 (en) Simulation device
JPWO2019064916A1 (en) Robot simulator
JP2019171501A (en) Robot interference determination device, robot interference determination method and program
JPWO2019064919A1 (en) Robot teaching device
JP7259860B2 (en) ROBOT ROUTE DETERMINATION DEVICE, ROBOT ROUTE DETERMINATION METHOD, AND PROGRAM
JP7151713B2 (en) robot simulator
JP2019171498A (en) Robot program execution device, robot program execution method and program
JP7024795B2 (en) Robot teaching device
JP7099470B2 (en) Robot teaching device
JP7167925B2 (en) Robot teaching device
WO2020059342A1 (en) Robot simulator
WO2020066947A1 (en) Robot route determination device, robot route determination method, and program
JP2786306B2 (en) Assembly process design apparatus and method
JPH06134684A (en) Teaching method of robot track
JP2020089970A (en) Information processing method and information processor
JP2019171500A (en) Robot interference determination device, robot interference determination method and program
JP2019171499A (en) Robot interference determination device, robot interference determination method and program
JP3378738B2 (en) Welding robot teaching device
JP7322099B2 (en) Information processing method, information processing device, robot device, program, and computer-readable recording medium
WO2022222061A1 (en) Robot teaching system and method and robot control system and method
JP7074057B2 (en) Work description creation device for industrial robots and work description creation method for industrial robots

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210802

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220124

R151 Written notification of patent or utility model registration

Ref document number: 7024795

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151