JP7151713B2 - robot simulator - Google Patents

robot simulator Download PDF

Info

Publication number
JP7151713B2
JP7151713B2 JP2019544369A JP2019544369A JP7151713B2 JP 7151713 B2 JP7151713 B2 JP 7151713B2 JP 2019544369 A JP2019544369 A JP 2019544369A JP 2019544369 A JP2019544369 A JP 2019544369A JP 7151713 B2 JP7151713 B2 JP 7151713B2
Authority
JP
Japan
Prior art keywords
robot
timing chart
task
state information
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019544369A
Other languages
Japanese (ja)
Other versions
JPWO2019064917A1 (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 JPWO2019064917A1 publication Critical patent/JPWO2019064917A1/en
Application granted granted Critical
Publication of JP7151713B2 publication Critical patent/JP7151713B2/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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4069Simulating machining process on screen

Landscapes

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

Description

本発明は、ロボットシミュレータに関する。 The present invention relates to robot simulators.

ロボットの動作をティーチング(教示)するとともに、ロボットの3次元モデルによりロボットにティーチングした動作をシミュレーションすることが知られている。例えば特許文献1には、アームに研削加工ツールを装着したロボットの動作のシミュレートすることが記載されている。 It is known to teach the motion of a robot and to simulate the motion taught to the robot using a three-dimensional model of the robot. For example, Patent Literature 1 describes simulating the movement of a robot having a grinding tool attached to its arm.

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

ところで、教示対象となるロボットが行う一連の作業に複数の作業要素が含まれる場合に、当該一連の作業のロボットの実行結果に対して、複数の作業要素の各々について確認したいという要請がある。ここで、「作業要素」とは、物体を「取る」や「置く」等、一連の作業の中でロボットが行う最小単位の作業を意味する。作業要素ごとのロボットの状態に着目することで、ロボットによる一連の作業のティーチング、及び/又は、ロボットと作業の対象物の配置の改善を図ることができる。 By the way, when a series of work performed by a robot to be taught includes a plurality of work elements, there is a demand to confirm each of the plurality of work elements with respect to the robot's execution result of the series of work. Here, the "work element" means the minimum unit of work performed by the robot in a series of work, such as "taking" or "placing" an object. By paying attention to the state of the robot for each work element, it is possible to improve the teaching of a series of work by the robot and/or the arrangement of the robot and the work target.

そこで、本発明は、ロボットによる一連の作業の実行結果に対して、作業要素ごとの検討を支援することを目的とする。 SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to support the examination of each work element with respect to the result of execution of a series of works by a robot.

ロボットの作業要素に関する情報であるタスクを含むロボットプログラムを実行するプログラム実行部と、前記プログラム実行部による実行結果に基づいて前記ロボットに対する制御信号を生成し、当該制御信号によって動作する前記ロボットの時間の経過に応じた状態を示す情報である状態情報を、前記ロボットから取得する状態情報取得部と、前記状態情報取得部により得られた前記状態情報に基づいて、時間軸において前記タスクの作業要素に相当する期間が識別可能となるように、前記ロボットの状態を示す第1タイミングチャートを表示装置に表示する表示制御部と、前記プログラム実行部による実行結果に基づいて、時間の経過に応じた前記ロボットの状態を示す情報である状態情報を演算する状態情報算出部、をさらに備え、前記表示制御部は、前記状態情報算出部により得られた前記状態情報に基づいて、時間軸において前記タスクの作業要素に相当する期間が識別可能となるように、前記ロボットの状態を示す第2タイミングチャートを前記表示装置に表示するロボットシミュレータ。 A program execution unit that executes a robot program including tasks that are information related to work elements of the robot; a control signal for the robot based on the execution result of the program execution unit; a state information acquiring unit for acquiring state information, which is information indicating a state according to the progress of the work element of the task on the time axis, based on the state information obtained by the state information acquiring unit A display control unit that displays a first timing chart indicating the state of the robot on a display device so that a period corresponding to is identifiable, and based on the execution result of the program execution unit, according to the passage of time A state information calculation unit that calculates state information that is information indicating the state of the robot, and the display control unit calculates the state information on the time axis based on the state information obtained by the state information calculation unit. A robot simulator that displays a second timing chart showing the state of the robot on the display device so that periods corresponding to work elements of a task can be identified.

本発明によれば、ロボットによる一連の作業の実行結果に対して、作業要素ごとの検討を支援することができる。 Advantageous Effects of Invention According to the present invention, it is possible to support examination of each work element with respect to the result of execution of a series of works by a robot.

図1は、第1の実施形態のロボットシミュレータの全体構成について示す図である。FIG. 1 is a diagram showing the overall configuration of the robot simulator of the first embodiment. 図2は、第1の実施形態のロボットシミュレータに含まれる各装置のハードウェア構成を示す図である。FIG. 2 is a diagram showing the hardware configuration of each device included in the robot simulator of the first embodiment. 図3は、第1の実施形態の一例に係る3次元CAD用ウィンドウを示す図である。FIG. 3 is a diagram showing a three-dimensional CAD window according to an example of the first embodiment. 図4は、第1の実施形態の一例に係る教示用ウィンドウを示す図である。FIG. 4 is a diagram showing a teaching window according to an example of the first embodiment. 図5は、ジョブを概念的に説明するための図である。FIG. 5 is a diagram for conceptually explaining a job. 図6は、タスクを概念的に説明するための図である。FIG. 6 is a diagram for conceptually explaining tasks. 図7は、第1の実施形態の一例に係る教示用ウィンドウの遷移を示す図である。FIG. 7 is a diagram showing transition of teaching windows according to an example of the first embodiment. 図8は、タスクリストの一例を示す図である。FIG. 8 is a diagram showing an example of a task list. 図9は、第1の実施形態に係るロボットシミュレータによって表示されるタイミングチャートの一例を示す図である。FIG. 9 is a diagram showing an example of a timing chart displayed by the robot simulator according to the first embodiment. 図10は、第1の実施形態の一例に係る3次元CAD用ウィンドウを示す図である。FIG. 10 is a diagram showing a three-dimensional CAD window according to an example of the first embodiment. 図11は、第1の実施形態に係るロボットシミュレータの機能ブロック図である。FIG. 11 is a functional block diagram of the robot simulator according to the first embodiment; 図12は、第1の実施形態に係るロボットシミュレータの処理を示すシーケンスチャートの例である。FIG. 12 is an example of a sequence chart showing processing of the robot simulator according to the first embodiment. 図13は、第2の実施形態のロボットシミュレータの全体構成について示す図である。FIG. 13 is a diagram showing the overall configuration of the robot simulator of the second embodiment. 図14は、第2の実施形態のロボットシミュレータに含まれる各装置のハードウェア構成を示す図である。FIG. 14 is a diagram showing the hardware configuration of each device included in the robot simulator of the second embodiment. 図15は、第2の実施形態に係るロボットシミュレータによって表示されるタイミングチャートの一例を示す図である。FIG. 15 is a diagram showing an example of a timing chart displayed by the robot simulator according to the second embodiment. 図16は、第2の実施形態に係るロボットシミュレータの機能ブロック図である。FIG. 16 is a functional block diagram of the robot simulator according to the second embodiment. 図17は、第3の実施形態に係るロボットシミュレータによって表示されるタイミングチャートの一例を示す図である。FIG. 17 is a diagram showing an example of a timing chart displayed by the robot simulator according to the third embodiment. 図18は、第3の実施形態に係るロボットシミュレータによって表示されるタイミングチャートの一例を示す図である。FIG. 18 is a diagram showing an example of a timing chart displayed by the robot simulator according to the third embodiment.

以下、本発明のロボットシミュレータの実施形態について説明する。
以下の説明において、「作業要素」とは、物体を「取る」や「置く」等、一連の作業の中でロボットが行う最小単位の作業を意味する。
「対象物」とは、ロボットの作業の対象となる物体を意味し、ロボットが把持する物体(例えば、加工対象物であるワーク)に限らず、ロボットの作業に関連する物体(例えば、ロボットが把持する物体を置く棚)をも含む。
An embodiment of the robot simulator of the present invention will be described below.
In the following description, a "work element" means a minimum unit work performed by a robot in a series of work such as "taking" or "placing" an object.
"Object" means an object to be worked by the robot, and is not limited to an object gripped by the robot (e.g., a work that is an object to be processed), but also an object related to the work of the robot (e.g., shelves on which objects to be grasped are placed).

(1)第1の実施形態
第1の実施形態のロボットシミュレータは、ロボットの実機に接続することなく、ロボットの実機の動作をシミュレートし、ロボットの状態をタイミングチャートに表示する。
(1) First Embodiment The robot simulator of the first embodiment simulates the operation of the actual robot without connecting to the actual robot, and displays the state of the robot on a timing chart.

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

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

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

図2に示すように、情報処理装置2は、制御部21と、ストレージ22と、入力装置23と、表示装置24と、通信インタフェース部25とを備える。
制御部21は、CPU(Central Processing Unit)、ROM(Read Only Memory)、および、RAM(Random Access Memory)を含む。ROMには、3次元CADアプリケーションプログラムと教示ソフトウェアが記憶されている。CPUは、ROM上の3次元CADアプリケーションソフトウェア(以下、適宜「CADソフトウェア」という。)と教示ソフトウェアをRAMに展開して実行する。教示ソフトウェアとCADソフトウェアは、API(Application Program Interface)を介して協調して処理を実行する。
制御部21は、CADソフトウェアによる動画再生を行うために、フレーム単位で画像を連続的に表示する。
As shown in FIG. 2 , the information processing device 2 includes a control section 21 , a storage 22 , an input device 23 , a display device 24 and a communication interface section 25 .
The control unit 21 includes a CPU (Central Processing Unit), a ROM (Read Only Memory), and a RAM (Random Access Memory). The ROM stores a three-dimensional CAD application program and teaching software. The CPU develops three-dimensional CAD application software (hereinafter referred to as "CAD software" as appropriate) on the ROM and teaching software on the RAM and executes them. The teaching software and the CAD software execute processing in cooperation via an API (Application Program Interface).
The control unit 21 continuously displays images in units of frames in order to reproduce moving images using CAD software.

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

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

ロボット制御装置3は、制御部31と、ストレージ32と、通信インタフェース部33とを備える。
制御部31は、CPU、ROM、RAM、および、制御回路を含む。制御部31は、情報処理装置2から受信するロボットプログラムを実行し、実行ログデータを出力する。上述したように、実行ログデータには、ロボットプログラムの実行結果と、ロボットプログラムに記述された作業を実行するロボットのロボット状態データとを含む。
ストレージ32は、ロボットのマニピュレータ(アーム51、ハンド52を含むロボット本体)のモデルのデータを備えている。制御部31は、ロボットプログラムの実行結果に基づいて、マニピュレータを構成する各部のジョブを実行中の時間の経過に応じた物理量(例えば、アーム51の関節角の角度変位、角速度、ハンド52の位置等)を演算する。かかる物理量のデータが上記ロボット状態データに含まれる。
The robot control device 3 includes a control section 31 , a storage 32 and a communication interface section 33 .
The control unit 31 includes a CPU, ROM, RAM, and control circuit. The control unit 31 executes the robot program received from the information processing device 2 and outputs execution log data. As described above, the execution log data includes the execution result of the robot program and the robot state data of the robot executing the work described in the robot program.
The storage 32 has model data of a robot manipulator (a robot body including an arm 51 and a hand 52). Based on the execution result of the robot program, the control unit 31 calculates physical quantities (for example, angular displacement of the joint angle of the arm 51, angular velocity, position etc.). Such physical quantity data is included in the robot state data.

ストレージ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 section 31 . The storage 32 stores the robot program and execution log data in addition to the robot manipulator model data.
The communication interface unit 33 includes a communication circuit for network communication with the information processing device 2 .

(1-2)オフラインティーチングにおけるユーザインタフェース
ロボットのシミュレーションを実行する前に、オペレータは、情報処理装置2を使用して、ロボットに対するオフラインティーチングを行い、ロボットプログラムを作成する。ロボットプログラムを作成するに当たって、本実施形態の好ましい例では、CADソフトウェアと教示ソフトウェアを情報処理装置2に実行させる。
CADソフトウェアの実行結果はCAD用ウィンドウに表示され、教示ソフトウェアの実行結果は教示用ウィンドウに表示される。オペレータは、CAD用ウィンドウと教示用ウィンドウの両方を情報処理装置2に表示させ、あるいはCAD用ウィンドウと教示用ウィンドウを切り替えながら情報処理装置2に表示させ、ティーチングやCADによる動画再生に関連する操作を行う。
(1-2) User Interface in Offline Teaching Before executing the robot simulation, the operator uses the information processing device 2 to perform offline teaching of the robot and create a robot program. In creating a robot program, in a preferred example of the present embodiment, the information processing apparatus 2 is caused to execute CAD software and teaching software.
The execution result of the CAD software is displayed in the CAD window, and the execution result of the teaching software is displayed in the teaching window. The operator causes the information processing device 2 to display both the CAD window and the teaching window, or causes the information processing device 2 to display the CAD window and the teaching window while switching between them, and performs operations related to teaching and CAD moving image reproduction. I do.

図3に、本実施形態の一例に係るCAD用ウィンドウW1を示す。図3には、テーブル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 this embodiment. FIG. 3 shows an image (hereinafter referred to as “CAD image”) is displayed.
In the example shown in FIG. 3, it is assumed that the robot R performs a series of tasks of fitting a pen with a cap and assembling a product (a finished product in which the pen is fitted with the cap). A pen group P consisting of a plurality of pens is arranged on the pen tray 11, and a cap group C consisting of a plurality of caps is arranged on the cap tray 12. - 特許庁The jig 13 is a member for the robot R to temporarily place the pen and fit the cap. The product tray 14 is a member for placing products.

図3に示す例では、ペン群Pに含まれる各ペン、キャップ群Cに含まれる各キャップ、ペントレイ11、キャップトレイ12、治具13、製品トレイ14の各々は、ロボットRの作業対象である対象物の例である。また、ペンにキャップが嵌められた製品も対象物の例である。 In the example shown in FIG. 3, each pen included in the pen group P, each cap included in the cap group C, the pen tray 11, the cap tray 12, the jig 13, and the product tray 14 are objects to be worked by the robot R. It is an example of an object. A product in which a cap is fitted to a pen is also an example of the object.

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

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

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

・ノード61(Pen)…ペンを把持する作業に対応したハンド
・ノード62(Cap)…キャップを把持する作業に対応したハンド
・ノード63(Pen_with_Cap)…キャップが嵌められたペンを把持する作業に対応したハンド
Node 61 (Pen): A hand for holding a pen Node 62 (Cap): A hand for holding a cap Node 63 (Pen_with_Cap): For holding a pen with a cap 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 hand sequence related settings such as the actuation method (single solenoid, double solenoid, etc.), sensor type, etc. be able to.
Since the hand sequence depends on the object grasped by the hand 52 of the robot R, it is set for each object grasped by the hand 52 . If a task, which will be described later, is created when the hand sequence is not set, a warning display may be output to the display device 24 because the program based on the task cannot be executed.

対象物の構成要素には、治具(JIG)、ペントレイ(PenTray)、キャップトレイ(CapTray)、製品トレイ(ProductTray)、ペン(Pen1, Pen2,…,Pen12)、キャップ(Cap1, Cap2,…,Cap12)、および、製品(PenProduct1, PenProduct2,…,PenProduct12)が含まれる。
治具(JIG)のノードの下位には、治具を対象とした作業に対応して、例えば、以下のノードが設けられる。
The components of the object include jigs (JIG), pen trays (PenTray), cap trays (CapTray), product trays (ProductTray), pens (Pen1, Pen2, ..., Pen12), caps (Cap1, Cap2, ..., Cap12), and products (PenProduct1, PenProduct2, ..., PenProduct12).
Below the node of the jig (JIG), for example, the following nodes are provided corresponding to the work for the jig.

・ノード64(PenProduct)…製品(PenProduct)を保持した状態の治具
・ノード65(PenJ)…ペン(Pen)を保持した状態の治具
・ノード66(CapJ)…キャップ(Cap)を保持した状態の治具
・Node 64 (PenProduct): A jig that holds a product (PenProduct) ・Node 65 (PenJ): A jig that holds a pen ・Node 66 (CapJ): A jig that holds a cap condition jig

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

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

(1-2-2)ジョブおよびタスクについて
次に、ジョブおよびタスクについて、図5および図6を参照して説明する。
図5は、ジョブを概念的に説明するための図である。図6は、タスクを概念的に説明するための図である。
(1-2-2) Jobs and Tasks Next, jobs and tasks will be described with reference to FIGS. 5 and 6. FIG.
FIG. 5 is a diagram for conceptually explaining a job. FIG. 6 is a diagram for conceptually explaining tasks.

ジョブとは、ロボットRが行う一連の作業である。タスクとは、一連の作業の中でロボットRが行う最小単位の作業である作業要素に関する情報である。従って、図5に示すように、ジョブ(JOB)に相当する期間には、複数のタスクT,T,…,Tn-1,Tに対応する複数の作業要素の期間と、ロボットRの作業要素間の移動(つまり、「タスク間移動」)とが含まれる。図5に示すように、本実施形態では、ロボットRが行うジョブに対して複数のタスクが定義される。A job is a series of operations that the robot R performs. A task is information about a work element that is the smallest unit of work performed by the robot R in a series of work. Therefore, as shown in FIG. 5, a period corresponding to a job (JOB) includes a period of a plurality of work elements corresponding to a plurality of tasks T 1 , T 2 , . movement between work elements of R (ie, "intertask movement"). As shown in FIG. 5, in this embodiment, a plurality of tasks are defined for jobs that the robot R performs.

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

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

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

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

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

「タスク作成」が選択されると、図7のタスク作成のための教示用ウィンドウW3が表示される。教示用ウィンドウW3はタスクの詳細設定を行うための画面であり、タスク名称(Name)と、作業要素の種別(Function)、作業要素の目標物(Target)の各項目が表示される。ここで、階層型リストの対象物領域PAの中からいずれかの対象物に対応するノードをポインティングデバイスで左クリックすることで、教示用ウィンドウW3の目標物(Target)の項目に、左クリックにより選択された対象物が入力される。作業要素の種別(Function)の欄には、予め設定された複数の種類の作業要素(例えば、取る(Pick up)、置く(Place)等)の候補からなるプルダウンメニューの中からいずれかの作業要素を選択できるように構成されている。 When "task creation" is selected, a teaching window W3 for task creation in FIG. 7 is displayed. The teaching window W3 is a screen for performing detailed settings of the task, and displays items such as the task name (Name), the work element type (Function), and the work element target (Target). Here, by left-clicking a node corresponding to one of the objects in the target object area PA of the hierarchical list with the pointing device, the item of the target object (Target) in the teaching window W3 is left-clicked. A selected object is entered. In the work element type (Function) column, select one of the work elements from a pull-down menu consisting of candidates for multiple types of preset work elements (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 selected object (Target) item of the teaching window W3 is displayed. object is input.
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を対象としてポインティングデバイスで左クリック操作を行うことで、図7に示す教示用ウィンドウW3が表示される。 For example, in order to create a task corresponding to the work element "Take pen Pen1 from the pen tray" in a state where the hand of robot R is not holding anything, the operator selects node 61 in robot area RA with the pointing device Right-click and select Create Task. Next, by left-clicking the node 67 corresponding to the pen tray (PenTray) from the object area PA of the hierarchical list with the pointing device, the pen tray is added to the target item (Target) of the teaching window W3. (PenTray) is entered. In the work element type (Function) column, select "Pick up" from among multiple types of work element candidates. Then, by left-clicking with the pointing device on the node 68 corresponding to the pen Pen1 to be worked on from the object area PA of the hierarchical list, the teaching window W3 shown in FIG. 7 is displayed. .

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

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

図7を参照すると、教示用ウィンドウW3のボタンb1(「詳細設定」)を操作することで、オペレータは、「アプローチ点、デパーチャ点設定」のほか、「モーションパラメータ設定」および「インターロック設定」のいずれかを選択することができる。
モーションパラメータとは、タスクに含まれる隣接するアプローチ点AP間、アプローチ点APから目標点TPまでの間、および、目標点TPからデパーチャ点DPまでの間のロボットRのハンド52等の動きに関するパラメータである。例えば、かかるパラメータとして、移動速度、加速度、加速時間、減速時間、ロボットRの姿勢等が挙げられる。「モーションパラメータ設定」を選択することで、上記モーションパラメータをデフォルト値から変更することができる。
「インターロック設定」を選択することで、インターロックの待機時間のタイムアウト値と、待機時間がタイムアウト値を超えてエラーと判断したときの動作の設定とを、デフォルト値から変更することができる。
Referring to FIG. 7, by operating the button b1 ("detailed setting") of the teaching window W3, the operator can set "approach point and departure point setting", as well as "motion parameter setting" and "interlock setting". You can choose either
A motion parameter is a parameter relating to the movement of the hand 52 of the robot R between adjacent approach points AP, between the approach point AP and the target point TP, and between the target point TP and the departure point DP included in the task. is. For example, such parameters include movement speed, acceleration, acceleration time, deceleration time, posture of the robot R, and the like. By selecting "set motion parameters", the above motion parameters can be changed from the default values.
By selecting "interlock setting", it is possible to change the timeout value of the interlock standby time and the setting of the operation when the standby time exceeds the timeout value and an error is determined from the default value.

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

(1-2-4)タスクに基づくプログラムの作成
例えば、図6に示すタスクに対応する作業要素を実行するためのプログラムは、以下の複数の関数からなり、各関数は、ロボットRに対応するモーションを実行させるためのプログラムによって記述されている。
なお、以下のmove(AP1)は、作業要素間の移動として別に定義されてもよい。
(1-2-4) Creation of Program Based on Task For example, a program for executing work elements corresponding to tasks shown in FIG. It is described by a program for executing motions.
Note that move (AP1) below may be defined separately as a move between work 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 Standby by interlock (IL2) at . ・move(TP)…Move to target point TP ・handSequence()…Hand sequence processing ・move(DP1)…Move to departure point DP1 ・move(DP2)…To departure point DP2 In the interlock(IL1) and interlock(IL2) functions, when checking the operation of each task, the program is created, but the timeout value for the waiting time due to interlock is invalid.

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

図8の教示用ウィンドウW4は、「ペンにキャップを嵌めて製品を組み立てる」という一連の作業であるジョブ(「Pen Assembly」)に対応するタスクリストの一例を表示する。このタスクリストの一例は、以下の(i)~(vi)の6個の作業要素に対応するタスクを含む。この場合、タスク作成のための教示用ウィンドウW3によって、括弧内に表された名称のタスクが作成された場合を示している。
(i) ペントレイからペンを取る (Pickup_Pen1_From_PenTray)
(ii) 取ったペンを治具にセットする (Place_to_PenJ_in_PenProduct)
(iii) キャップトレイからキャップを取る (Pickup_Cap1_From_CapTray)
(iv) 治具上のペンにキャップを嵌める (Place_to_CapJ_in_PenJ)
(v) キャップが嵌められたペンを取る (Pickup_PenProduct_From_JIG)
(vi) キャップが嵌められたペンを製品トレイに置く (Place_to_PenProduct1_in_ProductTray)
The teaching window W4 in FIG. 8 displays an example of a task list corresponding to a job (“Pen Assembly”), which is a series of tasks “putting the cap on the pen and assembling the product”. An example of this task list includes tasks corresponding to the following six work elements (i) to (vi). In this case, a task with a name shown in parentheses is created by the teaching window W3 for task creation.
(i) Pickup Pen from Pen Tray (Pickup_Pen1_From_PenTray)
(ii) Place the picked pen in the jig (Place_to_PenJ_in_PenProduct)
(iii) Pick up cap from cap tray (Pickup_Cap1_From_CapTray)
(iv) Place Cap on Pen on Jig (Place_to_CapJ_in_PenJ)
(v) Pick up capped pen (Pickup_PenProduct_From_JIG)
(vi) Place capped pen in product tray (Place_to_PenProduct1_in_ProductTray)

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

図8に示すように、タスクリストのいずれかのタスクをポインティングデバイスで選択した状態で右クリックを行うと、「タスク編集」、「タスク追加」、「タスク削除」のいずれかの処理を選択できる。ここで、「タスク編集」が選択された場合には、選択されているタスクの教示用ウィンドウW3に戻って、当該タスクについての情報を変更することができる。「タスク追加」が選択された場合には、選択されているタスクのすぐ後の順序に、作成済みのタスクを読み込んで挿入するか、あるいは、教示用ウィンドウW3に戻ってタスクを作成して挿入することができる。「タスク削除」が選択された場合には、選択されているタスクをタスクリストから削除することができる。 As shown in Fig. 8, if any task in the task list is selected with a pointing device and right-clicked, one of "task edit", "task addition", and "task deletion" can be selected. . Here, when "task edit" is selected, it is possible to return to the teaching window W3 of the selected task and change the information about the task. If "Add task" is selected, read and insert the created task immediately after the selected task, or return to the teaching window W3 to create and insert the task. can do. When "delete task" is selected, the selected task can be deleted from the task list.

図8において、教示用ウィンドウW4内の任意の位置を対象として右クリック操作を行い、「プログラム出力」が選択された場合、ジョブに対応して、シミュレーション用プログラムと実機用プログラムの2種類のロボットプログラムを出力する。実機用プログラムはインターロックによる待機時間のタイムアウト値が有効となっているが、シミュレーション用プログラムはインターロックによる待機時間が無効化されている点で、両者は異なる。 In FIG. 8, when an arbitrary position within the teaching window W4 is right-clicked and "program output" is selected, two types of robot programs, a simulation program and an actual machine program, are generated corresponding to the job. Output the program. The two are different in that the timeout value of the waiting time due to the interlock is valid in the program for the actual machine, but the waiting time due to the interlock is invalidated in the program for the simulation.

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

本実施形態では、情報処理装置2においてロボットプログラムが作成され、ロボット制御装置3において当該ロボットプログラムが実行される。本実施形態では、上記シミュレーション用プログラムが実行される。
本実施形態では、ロボット制御装置3にロボットの実機が接続されていないため、ロボット制御装置3の制御部31は、ストレージ32に記録されているロボットRのマニピュレータのモデルのデータに基づいて、マニピュレータを構成する各部の時間の経過に応じた物理量(例えば、アーム51の関節角の角度変位、角速度等)を、ロボット状態データとして演算する。
In this embodiment, the information processing device 2 creates a robot program, and the robot control device 3 executes the robot program. In this embodiment, the simulation program is executed.
In this embodiment, since the actual robot is not connected to the robot control device 3 , the control unit 31 of the robot control device 3 controls the manipulator model of the robot R based on the data of the manipulator model of the robot R recorded in the storage 32 . (for example, the angular displacement of the joint angle of the arm 51, the angular velocity, etc.) according to the passage of time of each part constituting the robot is calculated as robot state data.

ジョブの実行結果とロボット状態データを含む実行ログデータは、ロボット制御装置3から情報処理装置2へ送信される。情報処理装置2は、ロボット状態データに基づいて、タイミングチャートを作成して表示する。本実施形態では、実機のロボットRがロボット制御装置3に接続されていない状態でジョブのシミュレーションが行われるため、情報処理装置2によって作成されるタイミングチャートを適宜、「オフラインタイミングチャート」ともいう。オフラインタイミングチャートは、第2タイミングチャートの一例である。 Execution log data including job execution results and robot state data is transmitted from the robot control device 3 to the information processing device 2 . The information processing device 2 creates and displays a timing chart based on the robot state data. In this embodiment, the job is simulated while the actual robot R is not connected to the robot control device 3, so the timing chart created by the information processing device 2 is also called an "offline timing chart". The offline timing chart is an example of a second timing chart.

図9に、情報処理装置2の表示装置24において表示されるタイミングチャートの一例を示す。
図9に例示するタイミングチャートは、図8の教示用ウィンドウW4において例示したジョブ(「Pen Assembly」)の中の「ペントレイからペンを取る (Pickup_Pen1_From_PenTray)」という名称のタスクに対応するタイミングチャートを示している。
図9のタイミングチャートは、グラフを表示する部分であるA部と、タスクの実行状況について表示する部分であるB部と、を含み、最上部には、ジョブの開始時刻からの時間が表示されている。図9に示す例では、カーソルCU1~CU3が設けられている。ポインティングデバイスによって各カーソルを左右に移動させることができる。カーソルCU1は、ジョブの開始時刻からの時間を示しており、カーソルCU2,CU3はそれぞれ、カーソルCU1が示す時刻を0としたときの時間を示している。
FIG. 9 shows an example of a timing chart displayed on the display device 24 of the information processing device 2. As shown in FIG.
The timing chart illustrated in FIG. 9 shows a timing chart corresponding to the task named "Pickup_Pen1_From_PenTray" in the job ("Pen Assembly") illustrated in the teaching window W4 of FIG. ing.
The timing chart of FIG. 9 includes a portion A that displays a graph and a portion B that displays the status of task execution. At the top, the time from the job start time is displayed. ing. In the example shown in FIG. 9, cursors CU1 to CU3 are provided. Each cursor can be moved left and right by the pointing device. The cursor CU1 indicates the time from the start time of the job, and the cursors CU2 and CU3 indicate the time when the time indicated by the cursor CU1 is set to 0.

図9のA部には、ロボットRの以下のロボット状態データの参照時間(例えば1ms)ごとの変化をプロットした波形(グラフ)が表示される。なお、ロボットRの位置とは、例えば、マニピュレータの先端フランジの位置である。
・ロボットRのX座標(ワールド座標系)の位置の指令値(“posX”)
・ロボットRのY座標(ワールド座標系)の位置の指令値(“posY”)
・ロボットRのZ座標(ワールド座標系)の位置の指令値(“posZ”)
・アーム51の関節角の角速度の指令値(“Angular Velocity”)
Part A in FIG. 9 displays a waveform (graph) plotting changes in the following robot state data of the robot R for each reference time (for example, 1 ms). The position of the robot R is, for example, the position of the tip flange of the manipulator.
・Command value (“posX”) for the X coordinate (world coordinate system) position of robot R
・Command value (“posY”) for the Y coordinate (world coordinate system) position of robot R
・Command value (“posZ”) for the Z coordinate (world coordinate system) position of robot R
・Command value of angular velocity of joint angle of arm 51 (“Angular Velocity”)

なお、図9のA部に表示されているグラフは、複数の種別のロボット状態データの一部の種別のデータに過ぎない。オペレータは、複数の種別のロボット状態データの中から、表示させるロボット状態データの種別を選択できる。 It should be noted that the graph displayed in part A of FIG. 9 is only data of a part of the plurality of types of robot state data. The operator can select the type of robot state data to be displayed from among a plurality of types of robot state data.

図9のB部では、タスク名称(“Task Function”)とモーション状態(“Motion status”)が表示される。タスク名称(“Task Function”)は、上述したように“Pickup_Pen1_From_PenTray”であり、図9からジョブに含まれる当該タスクの期間(開始時刻および終了時刻)がわかる。
モーション状態(“Motion status”)はタスクに含まれるモーションに対応している。すなわち、モーション状態(“Motion status”)では、以下の3種類のモーション(ここでは、ハンドシーケンスも含む。)の期間(開始時刻および終了時刻)がわかる。各モーションの開始時刻および終了時刻は、各モーションに対応する関数の実行開始時刻および実行終了時刻と一致する。各タスクの開始時刻は、各タスクに含まれる複数のモーションのうち最初のモーションの開始時刻と一致し、各タスクの終了時刻は、各タスクに含まれる複数のモーションのうち最後のモーションの終了時刻と一致する。
In part B of FIG. 9, the task name (“Task Function”) and motion status (“Motion status”) are displayed. The task name (“Task Function”) is “Pickup_Pen1_From_PenTray” as described above, and the period (start time and end time) of the task included in the job can be seen from FIG.
The motion status ("Motion status") corresponds to the motions involved in the task. That is, in the motion status ("Motion status"), the periods (start time and end time) of the following three types of motion (including hand sequences here) can be known. The start time and end time of each motion match the execution start time and end time of the function corresponding to each motion. The start time of each task matches the start time of the first motion among multiple motions included in each task, and the end time of each task matches the end time of the last motion among multiple motions included in each task. matches.

・Move(PTP)…円弧移動。主に、アプローチ点AP間の移動、および、デパーチャ点DP間の移動のうちのいずれかの移動に用いられる。
・Move(Line)…直線移動。主に、アプローチ点APから目標点TPまでの移動、および、目標点TPからデパーチャ点DPまでの移動のうちのいずれかの移動に用いられる。
・HandSequence()…ハンドシーケンス処理
・Move (PTP): Arc movement. It is mainly used for movement between approach points AP and movement between departure points DP.
・Move (Line) … Straight line movement. It is mainly used for either movement from the approach point AP to the target point TP or movement from the target point TP to the departure point DP.
・HandSequence(): hand sequence processing

ロボットRのロボット状態データを算出するときにエラーが発生した場合には、図8の教示用ウィンドウW4のステータス(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 W4 in FIG. Error causes include, for example, excessive speed, failure to reach a target point, and arrival at a singular point.

好ましくは、本実施形態では、情報処理装置2は、ロボット状態データに基づいて、ロボットRおよび対象物の3次元モデルを仮想空間内で動作させ、シミュレーション出力として、タスクに対応するロボットRの動きの動画(アニメーション)の表示を行う。それによって、オペレータは、ジョブのシミュレーションの結果をCAD用ウィンドウで確認することができる。 Preferably, in the present embodiment, the information processing device 2 operates the robot R and the three-dimensional model of the object in the virtual space based on the robot state data, and outputs the motion of the robot R corresponding to the task as the simulation output. video (animation) is displayed. Thereby, the operator can confirm the simulation result of the job in the CAD window.

図10は、ジョブのシミュレーションの結果を動画再生するためのCAD用ウィンドウW5の一例を示している。CAD用ウィンドウW5に示す例では、オペレータによる操作対象として、ボタンb4~b8が提供される。
ボタンb4は、図9に示すタイミングチャートと同じロボット状態データの変化となるように(つまり、通常速度により)、仮想空間においてロボットRおよび対象物の動作させるための操作ボタンである。ボタンb5は、通常速度の倍の速度でロボット状態データが変化するように、仮想空間においてロボットRおよび対象物の動作させるための操作ボタンである。ボタンb6は、通常速度より低速でロボット状態データが変化するように、仮想空間においてロボットRおよび対象物の動作させるための操作ボタンである。ボタンb7は、仮想空間において動作中のロボットRおよび対象物を一時的に停止させるための操作ボタンである。ボタンb8は、時間の進行が逆方向となるようにしてロボット状態データを変化させて(つまり、逆再生して)、仮想空間においてロボットRおよび対象物の動作させるための操作ボタンである。
FIG. 10 shows an example of the CAD window W5 for reproducing the result of job simulation as a moving image. In the example shown in the CAD window W5, buttons b4 to b8 are provided as objects to be operated by the operator.
The button b4 is an operation button for operating the robot R and the object in the virtual space so that the robot state data changes in the same manner as in the timing chart shown in FIG. 9 (that is, at normal speed). The button b5 is an operation button for moving the robot R and the object in the virtual space so that the robot state data changes at twice the normal speed. The button b6 is an operation button for moving the robot R and the object in the virtual space so that the robot state data changes at a speed lower than the normal speed. The button b7 is an operation button for temporarily stopping the robot R and the object that are operating in the virtual space. The button b8 is an operation button for causing the robot R and the object to move in the virtual space by changing the robot state data so that the progress of time is reversed (that is, reverse playback).

(1-3)ロボットシミュレータ1の機能
次に、本実施形態のロボットシミュレータ1の機能について、図11を参照して説明する。図11は、実施形態に係るロボットシミュレータ1の機能ブロック図である。
図11に示すように、ロボットシミュレータ1は、表示制御部101、タスク作成部102、プログラム作成部103、プログラム実行部104、状態情報算出部105、シミュレーション部107、および、インターロック設定部108を備える。
ロボットシミュレータ1はさらに、タスクデータベース221、階層型リストデータベース222、3次元モデルデータベース223、および、実行ログデータベース224を備える。
(1-3) Functions of Robot Simulator 1 Next, functions of the robot simulator 1 of this embodiment will be described with reference to FIG. FIG. 11 is a functional block diagram of the robot simulator 1 according to the embodiment.
As shown in FIG. 11, the robot simulator 1 includes a display control unit 101, a task creation unit 102, a program creation unit 103, a program execution unit 104, a state information calculation unit 105, a simulation unit 107, and an interlock setting unit 108. Prepare.
The robot simulator 1 further comprises a task database 221 , hierarchical list database 222 , 3D model database 223 and execution log database 224 .

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

表示制御部101は、教示ソフトウェアおよびCADソフトウェアの実行結果を表示装置24に表示させる制御を行う。表示制御部101の機能を実現するために、情報処理装置2の制御部21は、教示ソフトウェアおよびCADソフトウェアの出力を含む画像データを生成し、バッファリングし、表示装置24へ送信する。表示装置24は、表示駆動回路を駆動して画像を表示パネルに表示する。 The display control unit 101 controls the display device 24 to display 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 outputs of teaching software and 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からオペレータの操作入力を受け付けると、当該操作入力に基づき、図7の作業要素の種別(Function)および作業要素の目標物(Target)の情報を含むファイルとしてタスクを作成し、ストレージ22に記録する。制御部21は、作業要素の種別(Function)および作業要素の目標物(Target)に基づいて、所定の規則に従ってタスク名称を決定する。ストレージ22は、タスク作成部102によって作成されたタスクを含むタスクデータベース221を記憶する。
情報処理装置2の制御部21は、ロボットが行うジョブに含まれる複数の作業要素に対応するタスクを順に作成し、それによって、当該ジョブに関連付けられた複数のタスクがタスクリストとして作成される。タスクデータベース221では、各タスクが特定のジョブに関連付けられた状態で記録されている。
表示制御部101は、ストレージ22のタスクデータベース221を参照して、複数のタスクの一覧であるタスクリストを表示装置24に表示する。タスクリストが表示されることで、ロボットのティーチングを行うときに、ロボットが行うジョブを分かり易く管理することができる。本実施形態では、表示されるタスクリストの各タスクの名称が、ロボットの作業要素の作業内容が認識できるように構成されているため、一連の作業内容がオペレータに直感的に理解しやすいものとなっている。
The task creating unit 102 has a function of creating a task, which is information related to the work elements of the robot with respect to the object, based on the operation input by the operator.
In order to realize the function of the task creation unit 102, the control unit 21 of the information processing device 2 receives an operation input from the operator from the input device 23, and based on the operation input, determines the type of work element (Function) shown in FIG. and a task is created as a file containing target information of the work element and recorded in the storage 22 . The control unit 21 determines a task name according to a predetermined rule based on the type (Function) of the work element and the target (Target) of the work element. The storage 22 stores a task database 221 including tasks created by the task creating section 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, thereby creating a task list of a plurality of tasks associated with the job. In the task database 221, each task is recorded in association 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 multiple 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 this embodiment, the name of each task in the displayed task list is configured so that the work content of the work element of the robot can be recognized, so that the operator can intuitively understand the series of work content. It's becoming

表示制御部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 hierarchically described.
The control unit 21 of the information processing device 2 creates a hierarchical list through cooperation between teaching software and CAD software. That is, the control unit 21 accepts an operation input of dragging a robot and an object in the CAD image to a desired node in the tree-structured data format with the pointing device of the input device 23 selected. 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 robot component and the object component in the tree structure data is associated with the corresponding data of the three-dimensional model recorded in the three-dimensional model database 223. It has become.

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

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

プログラム実行部104は、ロボットの作業要素に関する情報であるタスクを含むロボットプログラムを実行する機能を備える。
プログラム実行部104の機能を実現するために、情報処理装置2の制御部21は、通信インタフェース部25を介して少なくとも1つのタスクに基づいて作成したロボットプログラム(シミュレーション用プログラム)を、ロボット制御装置3へ送信する。
前述したように、1つのジョブには、タスクによって記述される複数の作業要素と作業要素間の移動とが含まれる。1つのタスクには、複数のモーションと必要に応じてハンドシーケンスとが含まれ、タスクに対応する作業要素を実行するためのプログラムは、複数の関数によって定義される。ロボットの作業要素間の移動は、予め決められたデフォルトのモーションパラメータを含むプログラムによって記述された関数で定義される。
ロボット制御装置3の制御部31は、ロボットプログラムを受信すると、各モーションおよびハンドシーケンスに対応する複数の関数を順に実行することで、1つのジョブに対するロボットプログラムを実行する。
The program execution unit 104 has a function of executing a robot program including tasks that are information related to the work elements of the robot.
In order to realize the function of the program execution unit 104, the control unit 21 of the information processing device 2 executes a robot program (simulation program) created based on at least one task via the communication interface unit 25 to the robot control device. Send to 3.
As described above, one job includes multiple work elements described by tasks and movements between the work elements. A task includes multiple motions and optionally hand sequences, and a program for executing work elements corresponding to the task is defined by multiple functions. Movements between robot work elements are defined by programmatically written functions that include predetermined default motion parameters.
Upon receiving the robot program, the control unit 31 of the robot control device 3 executes the robot program for one job by sequentially executing a plurality of functions corresponding to each motion and hand sequence.

状態情報算出部105は、プログラム実行部104による実行結果に基づいて、時間の経過に応じたロボットの状態を示す情報であるロボット状態データ(状態情報の例)を演算する機能を備える。そして、表示制御部101は、状態情報算出部105により得られたロボット状態データに基づいて、時間軸においてタスクの作業要素に相当する期間が識別可能となるように、ロボットの状態を示すタイミングチャート(すなわち、オフラインタイミングチャート)を表示装置24に表示する。 The state information calculation unit 105 has a function of calculating robot state data (an example of state information), which is information indicating the state of the robot over time, based on the result of execution by the program execution unit 104 . Then, based on the robot state data obtained by the state information calculation unit 105, the display control unit 101 displays a timing chart showing the state of the robot so that the periods corresponding to the work elements of the task can be identified on the time axis. (that is, offline timing chart) is displayed on the display device 24 .

状態情報算出部105の機能を実現するために、ロボット制御装置3の制御部31は、上述したように、各タスクに基づいて作成されたプログラムを順に実行するようにして、情報処理装置2から受信したロボットプログラムを実行する。そして、制御部31は、ロボットプログラムの実行結果として、ジョブ全体におけるロボット状態データを演算して順次、ストレージ32に記録する。
ロボット状態データは、マニピュレータ50のモデルを基に演算された時間の経過に応じたロボットの状態を示す物理量(例えば、アームの関節角、アームの速度や加速度、ハンドの位置等)のデータである。
ジョブ全体のロボットプログラムの実行が終了すると、制御部31は、ストレージ32から、ジョブの進行の時間軸に沿った所定の参照時間(例えば1ms)ごとのロボット状態データを読み出す。制御部31は、読み出したロボット状態データと、ロボットプログラムの実行結果とを含む実行ログデータを、通信インタフェース部33を介して情報処理装置2へ送信する。
In order to realize the function of the state information calculation unit 105, the control unit 31 of the robot control device 3 sequentially executes the programs created based on each task as described above. Execute the received robot program. Then, the control unit 31 calculates the robot state data for the entire job and sequentially records it in the storage 32 as the execution result of the robot program.
The robot state data is data of physical quantities (for example, arm joint angles, arm speeds and accelerations, hand positions, etc.) indicating the state of the robot over time calculated based on the model of the manipulator 50. .
When the execution of the robot program for the entire job is completed, the control unit 31 reads robot state data for each predetermined reference time (for example, 1 ms) along the time axis of the progress of the job from the storage 32 . The control unit 31 transmits execution log data including the read robot status data and the execution result of the robot program to the information processing device 2 via the communication interface unit 33 .

情報処理装置2の制御部21は、ロボット制御装置3からロボット状態データを含む実行ログデータを取得すると、実行ログデータを実行ログデータベース224に記録する。
制御部21は、取得した参照時間ごとのロボット状態データに基づいて、所定の形式のオフラインタイミングチャートを含む画像を生成して表示装置24に表示する。当該タイミングチャートは、ロボットの一連の作業について特定の作業要素に相当する期間を識別可能となるように構成される。
When the control unit 21 of the information processing device 2 acquires execution log data including robot state data from the robot control device 3 , it records the execution log data in the execution log database 224 .
Based on the acquired robot state data for each reference time, the control unit 21 generates an image including an offline timing chart in a predetermined format, and displays the image on the display device 24 . The timing chart is configured so that it is possible to identify a period corresponding to a specific work element for a series of work of the robot.

ロボット状態データは、ロボットは複数の種別の情報を含んでもよい。その場合、表示制御部101は、ロボット状態データのうち、オペレータの操作入力によって複数の種別の中から選択された一部の種別の情報に基づいて、オフラインタイミングチャートを表示装置24に表示してもよい。それによって、オペレータは、自身が確認したい種別のロボット状態データをオフラインタイミングチャートに表示させることができる。ロボット状態データの種別の選択方法は問わないが、例えば、オペレータによる操作によってロボット状態データの種別を選択可能とするメニューを含めるようにしてタイミングチャートの表示画面が構成されていることが好ましい。 The robot state data may include multiple types of information for the robot. In this case, the display control unit 101 displays the offline timing chart on the display device 24 based on some types of robot state data selected from a plurality of types by the operator's operation input. good too. As a result, the operator can display the type of robot state data that the operator wants to check on the offline timing chart. Although the method for selecting the type of robot state data is not limited, it is preferable that the display screen of the timing chart is configured to include a menu that allows the type of robot state data to be selected by an operator's operation.

ストレージ22(記憶部の例)は、仮想空間におけるロボットの3次元モデルと、対象物の3次元モデルの情報と、を含む3次元モデルデータベース223を記憶する。
シミュレーション部107は、状態情報算出部105によって得られたロボット状態データに基づいて、3次元モデルを仮想空間内で動作させて表示装置24に表示する機能を備える。
シミュレーション部107の機能を実現するため、情報処理装置2の制御部21は、実行ログデータベース224に記録した実行ログデータを読み出し、当該実行ログデータに含まれるロボット状態データを基に仮想空間上でロボットおよび対象物の3次元モデルを動作させて表示装置24に表示する。これによって、オペレータは、各タスクのロボットの動作を視覚的に確認することができるため、各タスクの設定値(例えば、アプローチ点、デパーチャ点、モーションパラメータ等)や対象物の配置(例えば、図3のキャップトレイ12の配置等)を再検討することが容易となる。
The storage 22 (an example of a storage unit) stores a 3D model database 223 including 3D models of robots in virtual space and information on 3D models of objects.
The simulation unit 107 has a function of operating a three-dimensional model in a virtual space and displaying it on the display device 24 based on the robot state data obtained by the state information calculation unit 105 .
In order to realize the function of the simulation unit 107, the control unit 21 of the information processing device 2 reads out the execution log data recorded in the execution log database 224, and based on the robot state data included in the execution log data, executes the robot state data in the virtual space. A three-dimensional model of the robot and the object is operated and displayed on the display device 24 . This allows the operator to visually check the robot motion for each task, so that the set values (for example, approach points, departure points, motion parameters, etc.) and the placement of objects (for example, diagrams) for each task can be checked. 3, the placement of the cap tray 12, etc.).

シミュレーション部107は、3次元モデルの動作を、ロボット状態データに基づく速度よりも高速となるように、若しくは低速となるように、又は、時間の進行が逆方向となるようにして、表示装置24に表示してもよい。それによって、オペレータは、シミュレーションの結果を、オペレータの所望の速度で、あるいは逆再生により再現することができる。
この場合、情報処理装置2の制御部21は、図10に例示したように、CAD用ウィンドウのボタンに対するオペレータによる操作に応じて、通常速度よりも高速あるいは低速にしてロボットおよび対象物の3次元モデルを動画再生し、又は、当該3次元モデルを逆再生して表示装置24に表示する。実行ログデータベース224には、例えば1msの参照時間ごとのロボット状態データが記録されているため、制御部21は、オペレータの操作に応じた再生用のフレームを作成する。
The simulation unit 107 causes the motion of the three-dimensional model to be faster or slower than the speed based on the robot state data, or to reverse the progress of time. may be displayed in The operator can thereby reproduce the results of the simulation at the operator's desired speed or by playing in reverse.
In this case, as illustrated in FIG. 10, the control unit 21 of the information processing apparatus 2 increases or decreases the normal speed according to the operator's operation on the buttons of the CAD window so that the robot and the object are displayed three-dimensionally. The model is reproduced as a moving image, or the three-dimensional model is reversely reproduced and displayed on the display device 24 . Since the execution log database 224 records robot state data for each reference time of 1 ms, for example, the control unit 21 creates frames for reproduction according to the operator's operation.

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

なお、シミュレーション部107は、インターロックによる待機時間を無効化して、3次元モデルを仮想空間内で動作させてもよい。つまり、シミュレーション用プログラムを実行するときには、インターロックによる待機を行わずに3次元モデルを動作させる。それによって、オペレータは、仮想空間上でロボットを停止させずに、ロボットの動きに着目してプログラムの実行結果を確認することができる。 Note that the simulation unit 107 may disable the waiting time due to the interlock and operate the three-dimensional model in the virtual space. In other words, when executing the simulation program, the three-dimensional model is operated without waiting due to an interlock. Thereby, 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.

(1-4)ジョブのシミュレーションの実行処理
次に、図12を参照して、ロボットシミュレータ1によるジョブのシミュレーションの実行処理についてシーケンスチャートを参照して説明する。図12は、本実施形態に係るロボットシミュレータのジョブの実行処理を示すシーケンスチャートの例である。
(1-4) Job Simulation Execution Processing Next, job simulation execution processing by the robot simulator 1 will be described with reference to a sequence chart with reference to FIG. FIG. 12 is an example of a sequence chart showing job execution processing of the robot simulator according to this embodiment.

図8の教示用ウィンドウW4においてオペレータによるボタンb3に対する操作入力(シミュレーションの実行指示)を受け付けると(ステップS10:YES)、プログラム作成部103は、ジョブをロボットRに実行するためのロボットプログラムを作成する(ステップS12)。このロボットプログラムには、ジョブに対応するタスクリストの各タスクに対応する作業要素をロボットRに実行させるためのプログラムが記述された複数の関数が含まれる。 When the operation input (simulation execution instruction) by the operator with respect to the button b3 in the teaching window W4 of FIG. 8 is received (step S10: YES), the program creation unit 103 creates a robot program for executing the job on the robot R. (step S12). This robot program includes a plurality of functions describing a program for causing the robot R to execute work elements corresponding to each task in the task list corresponding to the job.

作成されたロボットプログラムは、情報処理装置2からロボット制御装置3へ送信されて(ステップS14)、ロボット制御装置3において実行される。すなわち、プログラム実行部104は、タスク単位でロボットプログラムを実行する(ステップS16)。状態情報算出部105は、プログラム実行部104による実行結果に基づいて、時間の経過に応じたロボットRの状態を示す情報であるロボット状態データを演算し、ロボット状態データを含む実行ログデータをストレージ32に記録する(ステップS18)。ステップS16,S18の処理は、タスクリストに含まれるすべてのタスクが終了するまで行われる。
すべてのタスクについての処理が終了すると(ステップS20:YES)、ロボット制御装置3は、実行ログデータを情報処理装置2に送信する(ステップS22)。実行ログデータには、ジョブの進行の時間軸に沿った所定の参照時間(例えば1ms)ごとのロボット状態データと、ロボットプログラムの実行結果とが含まれる。情報処理装置2は、受信した実行ログデータを実行ログデータベース224に記録する。
次いで、表示制御部101は、ステップS22で受信した実行ログデータに含まれるロボット状態データ(つまり、状態情報算出部105によって得られたロボット状態データ)に基づいて所定のフォーマットとしたタイミングチャート(オフラインタイミングチャート)を表示装置24に表示する(ステップS24)。シミュレーション部107は、ロボット状態データに基づいて3次元モデルを仮想空間内で動作させて表示装置24に表示する(ステップS26)。
The created robot program is transmitted from the information processing device 2 to the robot control device 3 (step S14) and executed in the robot control device 3. FIG. That is, the program execution unit 104 executes the robot program on a task-by-task basis (step S16). The state information calculation unit 105 calculates robot state data, which is information indicating the state of the robot R over time, based on the execution results of the program execution unit 104, and stores execution log data including the robot state data. 32 (step S18). The processing of steps S16 and S18 is performed until all tasks included in the task list are completed.
When processing for all tasks is completed (step S20: YES), the robot control device 3 transmits execution log data to the information processing device 2 (step S22). The execution log data includes robot status data for each predetermined reference time (for example, 1 ms) along the time axis of the progress of the job, and execution results of the robot program. The information processing device 2 records the received execution log data in the execution log database 224 .
Next, the display control unit 101 generates a timing chart (offline data) in a predetermined format based on the robot state data (that is, the robot state data obtained by the state information calculation unit 105) included in the execution log data received in step S22. timing chart) is displayed on the display device 24 (step S24). The simulation unit 107 operates the three-dimensional model in the virtual space based on the robot state data and displays it on the display device 24 (step S26).

以上説明したように、本実施形態のロボットシミュレータ1は、ジョブに対応するロボットプログラムの実行結果に基づいてロボット状態データを演算し、当該ロボット状態データに基づいて、時間軸においてタスクの作業要素に相当する期間が識別可能となるようにオフラインタイミングチャートを表示する。そのため、ロボットの一連の作業についてのシミュレーションの結果を表示するときに、特定の作業要素に相当する期間を識別可能とすることができ、作業要素ごとの検討を支援することができる。 As described above, the robot simulator 1 of this embodiment calculates the robot state data based on the execution result of the robot program corresponding to the job, and based on the robot state data, the work element of the task on the time axis. The offline timing chart is displayed so that the corresponding period can be identified. Therefore, when displaying the simulation results for a series of tasks of the robot, it is possible to identify a period corresponding to a specific task element, and to support consideration of each task element.

(2)第2の実施形態
次に、本発明の第2の実施形態について説明する。
(2) Second Embodiment Next, a second embodiment of the present invention will be described.

(2-1)本実施形態に係るロボットシミュレータの構成
以下、本実施形態のロボットシミュレータ1Aの構成について、図13および図14を参照して説明する。図13は、本実施形態のロボットシミュレータ1Aの全体構成について示す図である。図14は、本実施形態のロボットシミュレータ1Aに含まれる各装置のハードウェア構成を示す図である。
なお、第1の実施形態のロボットシミュレータ1と同様の構成要素については、同一の符号を付して重複説明を省略する。
(2-1) Configuration of Robot Simulator According to Present Embodiment Hereinafter, the configuration of the robot simulator 1A according to the present embodiment will be described with reference to FIGS. 13 and 14. FIG. FIG. 13 is a diagram showing the overall configuration of the robot simulator 1A of this embodiment. FIG. 14 is a diagram showing the hardware configuration of each device included in the robot simulator 1A of this embodiment.
Components similar to those of the robot simulator 1 of the first embodiment are denoted by the same reference numerals, and redundant description is omitted.

図13に示すように、ロボットシミュレータ1Aは、情報処理装置2およびロボット制御装置3Aを備える。情報処理装置2とロボット制御装置3Aとは、例えば通信ネットワークケーブルECにより通信可能に接続される。
ロボット制御装置3Aは、情報処理装置2から送信されるロボットプログラムを実行する点では第1の実施形態のロボット制御装置3と共通するが、ロボットRとケーブルWCにより接続されている点でロボット制御装置3と異なる。好ましくは、ロボット制御装置3Aは、ロボットの実機の近傍に配置される。
As shown in FIG. 13, the robot simulator 1A includes an information processing device 2 and a robot control device 3A. The information processing device 2 and the robot control device 3A are communicably connected by, for example, a communication network cable EC.
The robot control device 3A is similar to the robot control device 3 of the first embodiment in that it executes a robot program transmitted from the information processing device 2, but is connected to the robot R by a cable WC. Differs from device 3. Preferably, the robot control device 3A is arranged near the actual robot.

図14に示すように、ロボット制御装置3Aは、制御部31Aと、ストレージ32と、通信インタフェース部33とを含む。
ロボット制御装置3Aの制御部31Aは、ロボットプログラムを実行してロボットRに対する制御信号を生成する。ロボットRに対する制御信号は、ロボットRに対する指令値を示す信号(例えば、パルス信号)である。ロボットRに対する指令値は、例えばロボットRの位置、速度、加速度等の目標値である。
制御部31Aは、ロボットRから、ロボットRの状態を示すデータであるロボット状態データを取得する。本実施形態において、制御部31Aが取得するロボット状態データは、演算値ではなくロボットRから取得する点で、第1の実施形態とは異なる。また、本実施形態のロボット状態データには、ロボットRに対する入出力信号が含まれる。制御部31Aは、ロボットRから取得したロボット状態データを逐次、ストレージ32に記録する。
制御部31Aは、ストレージ32から、ジョブの進行の時間軸に沿った所定の参照時間(例えば1ms)ごとのロボット状態データを読み出し、読み出したロボット状態データと、ロボットプログラムの実行結果とを含む実行ログデータを情報処理装置2へ送信する。
As shown in FIG. 14, the robot control device 3A includes a control section 31A, a storage 32, and a communication interface section 33.
The controller 31A of the robot controller 3A generates control signals for the robot R by executing the robot program. A control signal for the robot R is a signal (for example, a pulse signal) indicating a command value for the robot R. FIG. Command values for the robot R are, for example, target values of the robot R's position, speed, acceleration, and the like.
The controller 31A acquires robot state data, which is data indicating the state of the robot R, from the robot R. As shown in FIG. This embodiment differs from the first embodiment in that the robot state data acquired by the controller 31A is acquired from the robot R instead of the calculated value. Further, the robot state data of this embodiment includes input/output signals for the robot R. FIG. The controller 31A sequentially records the robot state data acquired from the robot R in the storage 32 .
The control unit 31A reads the robot state data for each predetermined reference time (for example, 1 ms) along the time axis of the progress of the job from the storage 32, and performs execution including the read robot state data and the execution result of the robot program. The log data is transmitted to the information processing device 2 .

図14に示すように、ロボットRは、ロボット本体となるマニピュレータ50と、制御装置55と、センサ群56と、入出力部57とを備える。
マニピュレータ50は、ロボットRの本体部であり、アーム51およびハンド52と、アーム51およびハンド52の位置、角度を制御する複数のモータと、を含む。
制御装置55は、ロボット制御装置3Aから受信する指令値に追従するように、マニピュレータ50に設けられたモータを制御するサーボ機構を備える。
センサ群56は、マニピュレータ50の位置、速度、加速度、および、各関節の角度,角速度等を検出する複数のセンサを含んでもよい。
As shown in FIG. 14 , the robot R includes a manipulator 50 serving as a robot body, a control device 55 , a sensor group 56 and an input/output unit 57 .
The manipulator 50 is the main body of the robot R, and includes an arm 51 and a hand 52 and a plurality of motors that control the positions and angles of the arm 51 and hand 52 .
The control device 55 has a servo mechanism that controls the motor provided in the manipulator 50 so as to follow the command value received from the robot control device 3A.
The sensor group 56 may include a plurality of sensors that detect the position, velocity, acceleration, angle of each joint, angular velocity, etc. of the manipulator 50 .

制御装置55がロボット制御装置3Aへ送信するロボット状態データは、センサ群56のいずれかのセンサによって検出されたマニピュレータ50の物理量であってもよいし、モータに対する制御電流値等から推定可能な物理量であってもよい。例えば、アーム51の関節角の角速度のデータは、アーム51の関節角の角速度センサが設けられている場合には当該角速度センサの検出値であってもよいし、マニピュレータ50のモータを制御するサーボ機構における制御電流値であってもよい。 The robot state data that the control device 55 transmits to the robot control device 3A may be the physical quantity of the manipulator 50 detected by one of the sensors of the sensor group 56, or the physical quantity that can be estimated from the control current value for the motor. may be For example, the data of the angular velocity of the joint angle of the arm 51 may be the detected value of the angular velocity sensor if an angular velocity sensor of the joint angle of the arm 51 is provided, or the data of the servo that controls the motor of the manipulator 50 . It may be a control current value in the mechanism.

入出力部57は、ロボットRの外部のシステムとの入出力インタフェースである。例えば、入力信号の例としては、外部のシステムからのインターロック信号や、後述するようにロボットRがラインに配置されている場合には、対象物の位置についての補正のための信号が挙げられる。 The input/output unit 57 is an input/output interface with a system outside the robot R. FIG. For example, examples of input signals include an interlock signal from an external system, and a signal for correcting the position of an object when the robot R is placed on the line as described later. .

(2-2)本実施形態のタイミングチャート
本実施形態では、実機のロボットRがロボット制御装置3Aに接続され、ロボットRから取得したロボット状態データに基づいて、情報処理装置2においてタイミングチャートが作成される。以下の説明では、本実施形態において作成されるタイミングチャートを適宜、「オンラインタイミングチャート」ともいう。オンラインタイミングチャートは、第1タイミングチャートの一例である。
(2-2) Timing chart of this embodiment In this embodiment, the actual robot R is connected to the robot control device 3A, and a timing chart is created in the information processing device 2 based on the robot state data acquired from the robot R. be done. In the following description, the timing chart created in this embodiment will also be referred to as an "online timing chart" as appropriate. The online timing chart is an example of the first timing chart.

図15に、本実施形態のタイミングチャートの一例を示す。図15のタイミングチャートは、グラフを表示する部分であるA部と、タスクの実行状況について表示する部分であるB部とに加えて、入出力信号を表示する部分であるC部を含む。すなわち、オンラインタイミングチャートに含まれるロボット状態データには、ロボットにおける入出力信号の状態が含まれてもよい。オンラインタイミングチャートに表示される入出力信号は、ロボットRに対して設けられた入出力信号の中からオペレータの操作入力により選択可能であることが好ましい。 FIG. 15 shows an example of a timing chart of this embodiment. The timing chart of FIG. 15 includes a portion A that displays a graph, a portion B that displays the execution status of tasks, and a portion C that displays input/output signals. That is, the robot status data included in the online timing chart may include the input/output signal status of the robot. It is preferable that the input/output signals displayed in the online timing chart can be selected from the input/output signals provided for the robot R by the operator's operation input.

A部には、ロボットRから取得した以下のロボット状態データの参照時間(例えば1ms)ごとの変化をプロットした波形(グラフ)が表示される。
・ロボットRのX座標(ワールド座標系)の位置の取得値(“posX”)
・ロボットRのY座標(ワールド座標系)の位置の取得値(“posY”)
・ロボットRのZ座標(ワールド座標系)の位置の取得値(“posZ”)
・アーム51の関節角の角速度の取得値(“Angular Velocity”)
Part A displays a waveform (graph) in which changes in the following robot state data obtained from the robot R are plotted for each reference time (for example, 1 ms).
・ Acquisition value (“posX”) of the position of the X coordinate (world coordinate system) of robot R
・Acquisition value of the Y coordinate (world coordinate system) position of robot R (“posY”)
・Acquisition value of the Z coordinate (world coordinate system) position of robot R (“posZ”)
Acquisition value of angular velocity of joint angle of arm 51 (“Angular Velocity”)

B部において、第1の実施形態のオフラインタイミングチャートと同様に、各モーションの開始時刻および終了時刻は、各モーションに対応する関数の実行開始時刻および実行終了時刻と一致する。各タスクの開始時刻は、各タスクに含まれる複数のモーションのうち最初のモーションの開始時刻と一致し、各タスクの終了時刻は、各タスクに含まれる複数のモーションのうち最後のモーションの終了時刻と一致する。 In part B, similarly to the offline timing chart of the first embodiment, the start time and end time of each motion match the execution start time and end time of the function corresponding to each motion. The start time of each task matches the start time of the first motion among multiple motions included in each task, and the end time of each task matches the end time of the last motion among multiple motions included in each task. matches.

図15のC部では、I/O(入出力信号)の状態(ON(Hレベル)又はOFF(Lレベル))が表示される。[]の中の数字は、予め定められたI/O番号であり、[]に続く文字は、I/Oの内容を示している。なお、C部に含まれる入出力信号が不定を示す場合がある。
図15に示す例では、以下の内容のI/Oを示している。
In part C of FIG. 15, the I/O (input/output signal) state (ON (H level) or OFF (L level)) is displayed. The numbers in [ ] are predetermined I/O numbers, and the characters following [ ] indicate the contents of the I/O. Input/output signals included in the C part may indicate indefiniteness.
The example shown in FIG. 15 shows I/O with the following contents.

・[09] Pen Set … 実機のロボットRの作業環境にカメラが設けられており、当該カメラがペントレイを認識したときにONとなる。ペントレイが固定して配置されている場合には常にONであるが、ペントレイがラインで運ばれてくる場合には、カメラがペントレイのペンを認識したときにOFFからONに切り替わる。
・[10] Vision lockon … 実機のロボットRの作業環境に設置されているカメラによって認識されたペントレイの位置に基づいて、ロボットRに対する指令値に対する補正を行う補正タイミングを示している。補正タイミングに達したときにONとなる。補正タイミングは、タスクに対して予め設定されている。
・[16] Hand1 grasp … ハンドがペンを把持したときにONとなる。ONのタイミングはハンドシーケンスによって異なる。
・[17] Hand1 release … ハンドがペンを離したときにONとなる。実機のロボットRでは、対象物を取る(pick up)作業中にONとなった場合、対象物を掴み損ねて落下させたことがわかる。
・[09] Pen Set … A camera is provided in the work environment of the actual robot R, and is turned ON when the camera recognizes the pen tray. It is always ON when the pen tray is fixedly placed, but when the pen tray is brought in line, it switches from OFF to ON when the camera recognizes the pens in the pen tray.
[10] Vision lockon . . . Indicates the correction timing for correcting the command value for the robot R based on the position of the pen tray recognized by the camera installed in the working environment of the actual robot R. It turns ON when the correction timing is reached. Correction timing is set in advance for each task.
・[16] Hand1 grasp … Turns ON when the hand grasps the pen. The ON timing differs depending on the hand sequence.
・[17] Hand1 release … Turns ON when the hand releases the pen. In the actual robot R, when it is turned ON during the work of picking up an object, it can be understood that the object has been dropped due to failing to pick it up.

図15に示すように、オンラインタイミングチャートにおいても、第1の実施形態のオフラインタイミングチャートと同様に、ロボットRのジョブに含まれる各タスクの期間(開始時刻および終了時刻)と、各タスクに含まれるモーションの期間(開始時刻および終了時刻)とがわかる。
図15のオンラインタイミングチャートの例では、ロボットRに対する指令値の補正タイミングである時刻t3が、当該指令値に対応するモーションの開始時刻である時刻t2よりも後になっており、問題が発生していることがわかる。
As shown in FIG. 15, in the online timing chart as well as in the offline timing chart of the first embodiment, the period (start time and end time) of each task included in the job of the robot R and the time period included in each task. You can see the duration of the motion (start time and end time).
In the example of the online timing chart of FIG. 15, the time t3, which is the correction timing of the command value for the robot R, is later than the time t2, which is the start time of the motion corresponding to the command value. I know there is.

(2-3)ロボットシミュレータ1Aの機能
次に、本実施形態のロボットシミュレータ1Aの機能について、図16を参照して説明する。図16は、実施形態に係るロボットシミュレータ1Aの機能ブロック図である。
図16に示すように、ロボットシミュレータ1Aは、表示制御部101、タスク作成部102、プログラム作成部103、プログラム実行部104、状態情報取得部106、シミュレーション部107、および、インターロック設定部108を備える。すなわち、本実施形態のロボットシミュレータ1Aは、状態情報算出部105ではなく状態情報取得部106を備えている点で、第1の実施形態のロボットシミュレータ1とは異なる。
(2-3) Functions of Robot Simulator 1A Next, functions of the robot simulator 1A of the present embodiment will be described with reference to FIG. FIG. 16 is a functional block diagram of the robot simulator 1A according to the embodiment.
As shown in FIG. 16, the robot simulator 1A includes a display control unit 101, a task creation unit 102, a program creation unit 103, a program execution unit 104, a state information acquisition unit 106, a simulation unit 107, and an interlock setting unit 108. Prepare. In other words, the robot simulator 1A of the present embodiment differs from the robot simulator 1 of the first embodiment in that the state information acquisition section 106 is provided instead of the state information calculation section 105 .

本実施形態のプログラム実行部104を実現するために、情報処理装置2の制御部21は、例えば教示用ウィンドウW3(図8)のボタンb3に対する操作入力を認識すると、ロボットプログラム(実機用プログラム)を作成し、当該ロボットプログラムをロボット制御装置3Aへ送信する。ロボット制御装置3Aの制御部31Aは、受信した実機用プログラムを実行する。 In order to realize the program execution unit 104 of the present embodiment, the control unit 21 of the information processing device 2 recognizes, for example, an operation input to the button b3 of the teaching window W3 (FIG. 8), and executes a robot program (actual machine program). and transmits the robot program to the robot controller 3A. The controller 31A of the robot controller 3A executes the received actual machine program.

状態情報取得部106は、プログラム実行部104による実行結果に基づいてロボットに対する制御信号を生成し、当該制御信号によって動作するロボットの時間の経過に応じた状態を示す情報であるロボット状態データを、ロボットから取得する機能を備える。
本実施形態では、表示制御部101は、状態情報取得部106により得られたロボット状態データに基づいて、時間軸においてタスクの作業要素に相当する期間が識別可能となるように、ロボットの状態を示すタイミングチャート(すなわち、オンラインタイミングチャート)を表示装置24に表示する。
The state information acquisition unit 106 generates a control signal for the robot based on the result of execution by the program execution unit 104, and obtains robot state data, which is information indicating the state of the robot operating according to the control signal over time. It has a function to acquire from the robot.
In this embodiment, the display control unit 101 changes the state of the robot based on the robot state data obtained by the state information acquisition unit 106 so that the period corresponding to the work element of the task can be identified on the time axis. The timing chart shown (that is, the online timing chart) is displayed on the display device 24 .

状態情報取得部106の機能を実現するために、ロボット制御装置3Aの制御部31Aは、上述したように、各タスクに基づいて作成されたプログラムを順に実行するようにして、情報処理装置2から受信したロボットプログラムを実行する。そして、制御部31Aは、ロボットプログラムに含まれる関数を実行する度に、ロボットRに対する指令値を含む制御信号を生成し、ロボットRへ送信する。
ロボットRの制御装置55は、ロボット制御装置3Aから受信する指令値に追従するように、マニピュレータ50に設けられたモータを制御するとともに、ロボット状態データをロボット制御装置3Aに送信する。ロボット状態データは、センサ群56のいずれかのセンサによって検出されたマニピュレータ50の物理量、あるいはマニピュレータ50の物理量の推定値(例えば制御電流値等)である。ロボット制御装置3Aの制御部31Aは、ロボットRから取得したロボット状態データを逐次、ストレージ32に記録する。
制御部31Aは、ストレージ32に累積されるロボット状態データを所定の参照時間(例えば1ms)ごとに読み出し、読み出した所定の参照時間ごとのロボット状態データを含む実行ログデータを情報処理装置2へ送信する。
情報処理装置2の制御部21は、受信した実行ログデータを実行ログデータベース224に記録する。さらに、制御部21は、第1の実施形態と同様に、実行ログデータに含まれるロボット状態データに基づいて、所定の形式のタイミングチャート(オンラインタイミングチャート)を含む画像を生成して表示装置24に表示する。当該タイミングチャートにより、ロボットの一連の作業について特定の作業要素に相当する期間を識別可能とすることができる。
In order to realize the function of the state information acquisition unit 106, the control unit 31A of the robot control device 3A sequentially executes the programs created based on each task as described above. Execute the received robot program. Then, the control unit 31A generates a control signal including a command value for the robot R and transmits the control signal to the robot R each time a function included in the robot program is executed.
The control device 55 of the robot R controls the motor provided in the manipulator 50 so as to follow the command value received from the robot control device 3A, and also transmits robot state data to the robot control device 3A. The robot state data is a physical quantity of the manipulator 50 detected by one of the sensors of the sensor group 56 or an estimated value of the physical quantity of the manipulator 50 (eg, control current value, etc.). The control unit 31A of the robot control device 3A records the robot state data acquired from the robot R in the storage 32 one by one.
The control unit 31A reads the robot state data accumulated in the storage 32 every predetermined reference time (for example, 1 ms), and transmits execution log data including the read robot state data for each predetermined reference time to the information processing device 2. do.
The control unit 21 of the information processing device 2 records the received execution log data in the execution log database 224 . Furthermore, as in the first embodiment, the control unit 21 generates an image including a timing chart (online timing chart) in a predetermined format based on the robot state data included in the execution log data, and displays it on the display device 24 . to display. With the timing chart, it is possible to identify a period corresponding to a specific work element for a series of work of the robot.

第1の実施形態と同様に、ロボット状態データは、ロボットは複数の種別の情報を含んでもよい。その場合、表示制御部101は、ロボット状態データのうち、オペレータの操作入力によって複数の種別の中から選択された一部の種別の情報に基づいて、オンラインタイミングチャートを表示装置24に表示してもよい。 As in the first embodiment, the robot state data may include multiple types of information for the robot. In this case, the display control unit 101 displays the online timing chart on the display device 24 based on a part of the robot state data selected from a plurality of types by the operator's operation input. good too.

本実施形態では、シミュレーション部107は、状態情報取得部106によって得られたロボット状態データに基づいて、3次元モデルを仮想空間内で動作させて表示装置24に表示する機能を備えてもよい。その際、シミュレーション部 107は、3次元モデルの動作を、ロボット状態データに基づく速度よりも高速となるように、若しくは低速となるように、又は、時間の進行が逆方向となるようにして、表示装置24に表示してもよい。
本実施形態では、情報処理装置2の制御部21は、ロボットRから取得した参照時間ごとのロボット状態データを基に仮想空間上でロボットおよび対象物の3次元モデルを動作させて表示装置24に表示する。これによって、オペレータは、各タスクのロボットの動作を視覚的に確認することができるため、各タスクの設定値(例えば、アプローチ点、デパーチャ点、モーションパラメータ等)や対象物の配置(例えば、図3のキャップトレイ12の配置等)を再検討することが容易となる。
In this embodiment, the simulation unit 107 may have a function of operating a three-dimensional model in a virtual space and displaying it on the display device 24 based on the robot state data obtained by the state information acquisition unit 106 . At that time, the simulation unit 107 causes the motion of the three-dimensional model to be faster or slower than the speed based on the robot state data, or to reverse the progress of time. It may be displayed on the display device 24 .
In this embodiment, the control unit 21 of the information processing device 2 operates the three-dimensional model of the robot and the object in the virtual space based on the robot state data for each reference time acquired from the robot R, and displays the three-dimensional model on the display device 24. indicate. This allows the operator to visually check the robot motion for each task, so that the set values (for example, approach points, departure points, motion parameters, etc.) and the placement of objects (for example, diagrams) for each task can be checked. 3, the placement of the cap tray 12, etc.).

本実施形態において、オンラインタイミングチャートを表示し、3次元モデルの動画を再生する処理は、図12に示したフローチャートの処理と概ね共通するが、ステップS18において、ロボットRからロボット状態データを取得して記録する点が異なる。 In this embodiment, the process of displaying the online timing chart and playing back the moving image of the three-dimensional model is generally the same as the process of the flowchart shown in FIG. The difference is that the

以上説明したように、本実施形態のロボットシミュレータ1Aは、ジョブに対応するロボットプログラムの実行結果に基づいてロボットに対して指令値を送信し、ロボットからロボット状態データを取得する。そして、ロボットシミュレータ1Aは、取得したロボット状態データに基づいて、時間軸においてタスクの作業要素に相当する期間が識別可能となるようにオンラインタイミングチャートを表示する。そのため、実機のロボットの一連の作業についての結果を表示するときに、特定の作業要素に相当する期間を識別可能とすることができ、作業要素ごとの検討を支援することができる。 As described above, the robot simulator 1A of this embodiment transmits a command value to the robot based on the execution result of the robot program corresponding to the job, and acquires robot state data from the robot. Then, the robot simulator 1A displays the online timing chart so that the period corresponding to the work element of the task can be identified on the time axis based on the acquired robot state data. Therefore, when displaying the results of a series of operations performed by the actual robot, it is possible to identify a period corresponding to a specific operation element, thereby supporting consideration of each operation element.

(3)第3の実施形態
次に、第3の実施形態について説明する。
本実施形態のロボットシミュレータは、第1の実施形態のロボットシミュレータ1の機能と、第2の実施形態のロボットシミュレータ1Aの機能とを備え、オフラインタイミングチャートとオンラインタイミングチャートの両方を表示装置24に表示する。すなわち、本実施形態では、表示制御部101は、オフラインタイミングチャート(第2タイミングチャートの例)とオンラインタイミングチャート(第1タイミングチャートの例)を、タスクの作業要素に相当する期間のロボットの状態が比較可能となるように、表示装置24に表示する。かかる表示によって、同一のジョブに対してロボットに接続した場合と接続しない場合とでのロボット状態データを、ジョブに含まれる作業要素ごとに比較し、検討することができる。
(3) Third Embodiment Next, a third embodiment will be described.
The robot simulator of this embodiment has the functions of the robot simulator 1 of the first embodiment and the functions of the robot simulator 1A of the second embodiment, and displays both the offline timing chart and the online timing chart on the display device 24. indicate. That is, in the present embodiment, the display control unit 101 displays the offline timing chart (example of the second timing chart) and the online timing chart (example of the first timing chart) as the state of the robot during the period corresponding to the work element of the task. are displayed on the display device 24 so that they can be compared. With such a display, it is possible to compare and examine the robot status data for the same job with and without connecting to the robot for each work element included in the job.

本実施形態の情報処理装置2の実行ログデータベース224には、同一のジョブに対して作成されたロボットプログラムを実行することで得られたロボット状態データ(演算されたロボット状態データ、および、ロボットから取得したロボット状態データ)が記録される。そして、情報処理装置2の制御部21は、演算されたロボット状態データに基づくオフラインタイミングチャートと、ロボットから取得したロボット状態データに基づくオンラインタイミングチャートとを、比較可能となる表示装置24に表示する。 In the execution log database 224 of the information processing apparatus 2 of the present embodiment, robot state data obtained by executing a robot program created for the same job (calculated robot state data and Acquired robot state data) is recorded. Then, the control unit 21 of the information processing device 2 displays the offline timing chart based on the calculated robot state data and the online timing chart based on the robot state data acquired from the robot on the display device 24 that can be compared. .

オフラインタイミングチャートとオンラインタイミングチャートとを比較可能となるような表示態様は限定するものではなく、例えば、表示画面の上側にオフラインタイミングチャートを表示し、表示画面の下側にオンラインタイミングチャートを表示してもよい。
好ましくは、表示制御部101は、オフラインタイミングチャートとオンラインタイミングチャートとを切り替え可能に表示するか、又は、オフラインタイミングチャートとオンラインタイミングチャートとを共通の時間軸において重ね合わせて表示装置24に表示する。かかる表示態様とすることで、オフラインタイミングチャートとオンラインタイミングチャートを比較することが容易となる。
The display mode in which the offline timing chart and the online timing chart can be compared is not limited. For example, the offline timing chart is displayed on the upper side of the display screen and the online timing chart is displayed on the lower side of the display screen. may
Preferably, the display control unit 101 displays the offline timing chart and the online timing chart in a switchable manner, or displays the offline timing chart and the online timing chart superimposed on the common time axis on the display device 24. . By adopting such a display mode, it becomes easy to compare the offline timing chart and the online timing chart.

図17に、オフラインタイミングチャートとオンラインタイミングチャートとを共通の時間軸において重ね合わせて表示した例を示す。図17に示す例では、図15に示したオンラインタイミングチャートに、図9に示したオフラインタイミングチャートが共通の時間軸において重ね合わせて表示されている。 FIG. 17 shows an example in which an offline timing chart and an online timing chart are superimposed and displayed on a common time axis. In the example shown in FIG. 17, the offline timing chart shown in FIG. 9 is superimposed on the online timing chart shown in FIG. 15 on the common time axis.

図18に、オフラインタイミングチャートとオンラインタイミングチャートとを切り替え可能に表示した例を示す。図18に示す例では、最上部に、オフラインタイミングチャートに対応する「結果#1(ロボット非接続)」という名称のタブと、オンラインタイミングチャートに対応する「結果#2(ロボット接続)」という名称のタブとが切り替え可能に設けられる。図18は、「結果#1(ロボット非接続)」という名称のタブが選択された場合を示しており、図9のオフラインタイミングチャートと同一の表示内容となっている。 FIG. 18 shows an example in which the off-line timing chart and the on-line timing chart are switchably displayed. In the example shown in FIG. 18, a tab named "Result #1 (robot not connected)" corresponding to the offline timing chart and a tab named "Result #2 (robot connected)" corresponding to the online timing chart are displayed at the top. tabs are provided so as to be switchable. FIG. 18 shows a case where a tab named "result #1 (robot disconnected)" is selected, and has the same display contents as the offline timing chart of FIG.

(4)変形例
以下、上述した各実施形態の変形例について述べる。
(4) Modifications Modifications of the above embodiments will be described below.

(4-1)変形例1
表示制御部101は、異なる作業要素同士におけるロボットの状態が比較可能となるように、オフラインタイミングチャート又はオンラインタイミングチャートを表示装置24に表示してもよい。それによって、ロボットのジョブに含まれる複数の作業要素のうち異なる作業要素間においてロボットの状態を比較することができる。
本変形例を実現するために、例えば、情報処理装置2の制御部21は、ジョブに含まれる複数のタスクのうち2つのタスクを選択するオペレータの操作入力に基づいて、情報処理装置2の制御部21は、選択された2つのタスクの期間が並列に構成されたタイミングチャートを作成する。好ましくは、選択された2つのタスクの期間の開始時刻が一致するようにしてタイミングチャートが作成される。
(4-1) Modification 1
The display control unit 101 may display an offline timing chart or an online timing chart on the display device 24 so that robot states of different work elements can be compared. Thereby, the states of the robot can be compared between different work elements among a plurality of work elements included in the job of the robot.
In order to implement this modification, for example, the control unit 21 of the information processing device 2 controls the information processing device 2 based on an operator's operation input for selecting two tasks from a plurality of tasks included in a job. The unit 21 creates a timing chart in which the periods of the two selected tasks are arranged in parallel. Preferably, the timing chart is created so that the start times of the periods of the two selected tasks match.

(4-2)変形例2
シミュレーション部107は、オフラインタイミングチャート又はオンラインタイミングチャートにおいて表示されている期間のうち、オペレータの操作入力に基づいて指定された一部の期間におけるロボット状態データに基づいて、3次元モデルを動作させて表示装置24に表示してもよい。それによって、ジョブの全期間のうちオペレータが注目したい期間のロボットの動作を確認することができる。
本変形例を実現するために、オフラインタイミングチャート又はオンラインタイミングチャートに、図10に例示したようなボタンb4(通常速度によりロボットおよび対象物の動作させるための操作ボタン)が設けられる。情報処理装置2の制御部21は、当該ボタンb4の操作入力に基づいて、オフラインタイミングチャート又はオンラインタイミングチャートに対応する動画を再生する。このとき、タイミングチャートに設けられたカーソルCU1~CU3を操作することで、動画の再生対象とする期間を、タイミングチャートに表示されている期間のうち一部の期間に指定できるようにする。
(4-2) Modification 2
The simulation unit 107 operates the three-dimensional model based on the robot state data during a part of the period specified based on the operation input by the operator among the periods displayed in the offline timing chart or the online timing chart. It may be displayed on the display device 24 . As a result, the operator can confirm the operation of the robot during the period that the operator wants to pay attention to during the entire period of the job.
In order to implement this modification, the offline timing chart or the online timing chart is provided with a button b4 (operation button for operating the robot and the object at normal speed) as illustrated in FIG. The control unit 21 of the information processing device 2 reproduces the moving image corresponding to the offline timing chart or the online timing chart based on the operation input of the button b4. At this time, by operating the cursors CU1 to CU3 provided on the timing chart, it is possible to designate a period for which the moving image is to be reproduced to be a part of the periods displayed on the timing chart.

(4-3)変形例3
第2の実施形態において、表示制御部101は、同一の作業要素であっても異なる実行結果におけるロボットの状態が比較可能となるように、オンラインタイミングチャートを表示装置24に表示してもよい。それによって、同一のタスクを複数回試行したときのロボットの状態のばらつきを把握することができる。 本変形例を実現するために、情報処理装置2の制御部21は、ロボットプログラムを複数回実行することで取得した複数のロボット状態データをジョブの開始時刻が一致するようにして重ねてプロットしたタイミングチャートを作成する。
(4-3) Modification 3
In the second embodiment, the display control unit 101 may display an online timing chart on the display device 24 so that robot states in different execution results can be compared even for the same work element. This makes it possible to grasp the variation in the state of the robot when the same task is attempted multiple times. In order to implement this modification, the control unit 21 of the information processing device 2 plots a plurality of pieces of robot state data acquired by executing the robot program a plurality of times so that the job start times match. Create a timing chart.

以上、本発明のロボットシミュレータの複数の実施形態について詳述したが、本発明は上記の各実施形態に限定されない。また、上記の実施形態は、本発明の主旨を逸脱しない範囲において、種々の改良や変更が可能である。例えば、各実施形態について言及した技術的事項は、技術的矛盾が生じない限り、異なる実施形態の間で適宜組み合わせてもよい。 A plurality of embodiments of the robot simulator of the present invention have been described in detail above, but the present invention is not limited to the above embodiments. Also, the above embodiments can be modified and modified in various ways without departing from the gist of the present invention. For example, technical matters referred to in each embodiment may be appropriately combined between different embodiments as long as there is no technical contradiction.

上述した第1および第2の実施形態において、情報処理装置2は、ロボット制御装置3から取得したロボット状態データに基づいて有用な情報を提供するようにしてもよい。
例えば、ジョブ内の作業要素間の移動距離および移動回数を統計処理した情報を提供することで、ラインにおける対象物の供給及び/又は排出の場所、向き等の検討を支援することができる。
また、ジョブ内のロボットの動作時間と待機時間の時間比率を算出して提示してもよい。それによって、ジョブ内の作業順序の改善、あるいは不要な高速動作を低速化する等の検討を支援することができる。
In the first and second embodiments described above, the information processing device 2 may provide useful information based on robot state data acquired from the robot control device 3 .
For example, by providing information obtained by statistically processing the movement distance and the number of movement times between work elements in a job, it is possible to support consideration of the location, orientation, etc. of supply and/or discharge of objects on the line.
Also, the time ratio between the operation time and the waiting time of the robot in the job may be calculated and presented. As a result, it is possible to support considerations such as improving the order of work within a job or slowing down unnecessary high-speed operations.

上述した実施形態に係るロボットシミュレータは、図11又は図16の機能ブロック図に記載されたすべての機能を備えている必要はなく、少なくとも一部の機能を備えていればよい。
上述した実施形態では、ロボットシミュレータは、情報処理装置とロボット制御装置の2つの装置を含む場合について例示したが、その限りではなく、一体の装置として構成してもよい。
上述した実施形態では、情報処理装置の入力装置にポインティングデバイスが含まれる場合について説明したが、その限りではなく、他のデバイスであってもよい。例えば、タッチ入力機能を備えた表示パネルを使用し、オペレータによるタッチ入力を受け付けてもよい。
上述した実施形態では、ジョブに含まれるタスクリストを、階層型リストを基に作成する例を説明したが、その限りではない。ジョブに含まれる複数の作業要素が特定される限り、階層型リストを基にジョブに含まれるタスクを定義する必要はない。
The robot simulator according to the embodiment described above need not have all the functions described in the functional block diagram of FIG. 11 or FIG. 16, and may have at least some of the functions.
In the above-described embodiment, the robot simulator includes two devices, namely, the information processing device and the robot control device.
In the above-described embodiment, the case where the pointing device is included in the input device of the information processing apparatus has been described, but the present invention is not limited to this and other devices may be used. For example, a display panel with a touch input function may be used to receive touch input from the operator.
In the above-described embodiment, an example of creating a task list included in a job based on a hierarchical list has been described, but the present invention is not limited to this. There is no need to define the tasks to be included in a job based on a hierarchical list as long as multiple work elements to be included in the job are specified.

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

1,1A…ロボットシミュレータ、2…情報処理装置、21…制御部、22…ストレージ、23…入力装置、24…表示装置、25…通信インタフェース部、3,3A…ロボット制御装置、31,31A…制御部、32…ストレージ、33…通信インタフェース部、11…ペントレイ、P…ペン群、12…キャップトレイ、C…キャップ群、13…治具、14…製品トレイ、A1~A12…製品、EC…通信ネットワークケーブル、WC…ケーブル、R…ロボット、50…マニピュレータ、51…アーム、52…ハンド、55…制御装置、56…センサ群、57…入出力部、61~68…ノード、101…表示制御部、102…タスク作成部、103…プログラム作成部、104…プログラム実行部、105…状態情報算出部、106…状態情報取得部、107…シミュレーション部、108…インターロック設定部、221…タスクデータベース、222…階層型リストデータベース、223…3次元モデルデータベース、224…実行ログデータベース、RA…ロボット領域、PA…対象物領域、W1~W6…ウィンドウ、b1~b8…ボタン、AP…アプローチ点、TP…目標点、DP…デパーチャ点、T…テーブル DESCRIPTION OF SYMBOLS 1, 1A... Robot simulator, 2... Information processing apparatus, 21... Control part, 22... Storage, 23... Input device, 24... Display device, 25... Communication interface part, 3, 3A... Robot control device, 31, 31A... Control part 32... Storage 33... Communication interface part 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, WC... cable, R... robot, 50... manipulator, 51... arm, 52... hand, 55... control device, 56... sensor group, 57... input/output unit, 61 to 68... node, 101... display control Unit 102 Task creation unit 103 Program creation unit 104 Program execution unit 105 State information calculation unit 106 State information acquisition unit 107 Simulation unit 108 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 to b8... button, AP... approach point, TP ... target point, DP ... departure point, T ... table

Claims (9)

ロボットの作業要素に関する情報であるタスクを含むロボットプログラムを実行するプログラム実行部と、
前記プログラム実行部による実行結果に基づいて前記ロボットに対する制御信号を生成し、当該制御信号によって動作する前記ロボットの時間の経過に応じた状態を示す情報である状態情報を、前記ロボットから取得する状態情報取得部と、
前記状態情報取得部により得られた前記状態情報に基づいて、時間軸において前記タスクの作業要素に相当する期間が識別可能となるように、前記ロボットの状態を示す第1タイミングチャートを表示装置に表示する表示制御部と、
前記プログラム実行部による実行結果に基づいて、時間の経過に応じた前記ロボットの状態を示す情報である状態情報を演算する状態情報算出部、をさらに備え、
前記表示制御部は、前記状態情報算出部により得られた前記状態情報に基づいて、時間軸において前記タスクの作業要素に相当する期間が識別可能となるように、前記ロボットの状態を示す第2タイミングチャートを前記表示装置に表示するロボットシミュレータ。
a program execution unit that executes a robot program that includes tasks that are information about work elements of the robot;
A state in which a control signal for the robot is generated based on an execution result by the program execution unit, and state information, which is information indicating a state of the robot operating according to the control signal over time, is acquired from the robot. an information acquisition unit;
Based on the state information obtained by the state information acquisition unit, a first timing chart showing the state of the robot is displayed on a display device so that periods corresponding to work elements of the task can be identified on the time axis. a display control unit for displaying;
a state information calculation unit that calculates state information, which is information indicating the state of the robot over time, based on the result of execution by the program execution unit;
Based on the state information obtained by the state information calculation unit, the display control unit displays a second state of the robot so that a period corresponding to the work element of the task can be identified on the time axis. A robot simulator that displays a timing chart on the display device.
仮想空間における前記ロボットの3次元モデルの情報を記憶する記憶部と、
前記状態情報取得部によって得られた状態情報に基づいて、前記3次元モデルを動作させて前記表示装置に表示するシミュレーション部と、
をさらに備えた、請求項1に記載されたロボットシミュレータ。
a storage unit that stores information of the three-dimensional model of the robot in virtual space;
a simulation unit that operates the three-dimensional model and displays it on the display device based on the state information obtained by the state information acquisition unit;
A robot simulator as recited in claim 1, further comprising:
前記表示制御部は、前記第1タイミングチャートと前記第2タイミングチャートを、前記タスクの作業要素に相当する期間の前記ロボットの状態が比較可能となるように、前記表示装置に表示する、請求項1に記載されたロボットシミュレータ。 The display control unit displays the first timing chart and the second timing chart on the display device so that states of the robot during periods corresponding to work elements of the task can be compared. 1. The robot simulator described in 1. 前記表示制御部は、前記第1タイミングチャートと前記第2タイミングチャートとを切り替え可能に表示するか、又は、前記第1タイミングチャートと前記第2タイミングチャートとを共通の時間軸において重ね合わせて表示する、請求項3に記載されたロボットシミュレータ。 The display control unit displays the first timing chart and the second timing chart in a switchable manner, or displays the first timing chart and the second timing chart by overlapping them on a common time axis. 4. The robot simulator according to claim 3, wherein 前記表示制御部は、異なる作業要素同士における前記ロボットの状態が比較可能となるように、または、同一の作業要素であっても異なる前記実行結果における前記ロボットの状態が比較可能となるように、前記第1タイミングチャートを前記表示装置に表示する、請求項1に記載されたロボットシミュレータ。 The display control unit makes it possible to compare the states of the robot between different work elements, or to make it possible to compare the states of the robot in different execution results even for the same work element. 2. The robot simulator according to claim 1, wherein said first timing chart is displayed on said display device. 前記状態情報取得部により得られた前記状態情報は、数の種別の情報を含み、
前記表示制御部は、前記状態情報取得部により得られた前記状態情報のうち、オペレータの操作入力によって前記複数の種別の中から選択された一部の種別の情報に基づいて、前記第1タイミングチャートを前記表示装置に表示する、請求項1又は5に記載されたロボットシミュレータ。
The state information obtained by the state information acquisition unit includes a plurality of types of information,
The display control unit controls the first timing based on information of a part of the state information obtained by the state information acquisition unit , selected from among the plurality of types by an operation input by an operator. 6. The robot simulator according to claim 1, wherein a chart is displayed on said display device.
前記状態情報取得部により得られた前記状態情報には、前記ロボットにおける入出力信号の状態が含まれる、請求項1から5 のいずれか1項に記載されたロボットシミュレータ。 6. The robot simulator according to any one of claims 1 to 5, wherein said state information obtained by said state information acquisition unit includes states of input/output signals of said robot. 前記シミュレーション部は、前記第1タイミングチャートにおいて表示されている期間のうち、オペレータの操作入力に基づいて指定された一部の期間における前記状態情報取得部により得られた前記状態情報に基づいて、前記3次元モデルを動作させて前記表示装置に表示する、請求項2に記載されたロボットシミュレータ。 Based on the state information obtained by the state information acquisition unit during a part of the period specified based on the operation input by the operator, among the periods displayed in the first timing chart, the simulation unit 3. The robot simulator according to claim 2, wherein said three-dimensional model is operated and displayed on said display device. 前記シミュレーション部は、前記3次元モデルの動作を、前記状態情報取得部により得られた前記状態情報に基づく速度よりも高速となるように、若しくは低速となるように、又は、時間の進行が逆方向となるようにして、前記表示装置に表示する、請求項2に記載されたロボットシミュレータ。 The simulation unit causes the motion of the three-dimensional model to be faster or slower than the speed based on the state information obtained by the state information acquisition unit , or to reverse the progress of time. 3. The robot simulator according to claim 2, wherein the display device displays the direction.
JP2019544369A 2017-09-26 2018-08-02 robot simulator Active JP7151713B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017184664 2017-09-26
JP2017184664 2017-09-26
PCT/JP2018/028994 WO2019064917A1 (en) 2017-09-26 2018-08-02 Robot simulator

Publications (2)

Publication Number Publication Date
JPWO2019064917A1 JPWO2019064917A1 (en) 2020-10-15
JP7151713B2 true JP7151713B2 (en) 2022-10-12

Family

ID=65902389

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019544369A Active JP7151713B2 (en) 2017-09-26 2018-08-02 robot simulator

Country Status (2)

Country Link
JP (1) JP7151713B2 (en)
WO (1) WO2019064917A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021122898A (en) * 2020-02-05 2021-08-30 芝浦機械株式会社 Robot system and operating device
JP7390479B2 (en) * 2020-04-29 2023-12-01 株式会社Fuji Workpiece processing equipment
CN113232018B (en) * 2021-04-27 2022-05-10 成都飞机工业(集团)有限责任公司 Method for quickly resetting posture of robot
WO2024019107A1 (en) * 2022-07-22 2024-01-25 ソニーグループ株式会社 Multiple-robot control method, multiple-robot control device, and multiple-robot control system

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002132311A (en) 2000-10-26 2002-05-10 Citizen Watch Co Ltd Graph display method for processing program and device for the same
JP2004148428A (en) 2002-10-30 2004-05-27 Honda Motor Co Ltd Simulation device
JP2004174662A (en) 2002-11-27 2004-06-24 Fanuc Ltd Operation state analysis device for robot
JP2004209641A (en) 2002-12-30 2004-07-29 Abb Res Ltd Method and system for programming industrial robot
JP2009297877A (en) 2008-06-17 2009-12-24 Yamatake Corp Device and method for preparing robot teaching program
JP2011022688A (en) 2009-07-14 2011-02-03 Fanuc Ltd Tool path display apparatus for machine tool
JP2016018539A (en) 2014-07-11 2016-02-01 三菱電機株式会社 Simulation image display
JP2017126199A (en) 2016-01-14 2017-07-20 ファナック株式会社 Numerical controller having block time display means
JP2017138827A (en) 2016-02-04 2017-08-10 ファナック株式会社 Processing time prediction device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03188507A (en) * 1989-12-18 1991-08-16 Fanuc Ltd Working display system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002132311A (en) 2000-10-26 2002-05-10 Citizen Watch Co Ltd Graph display method for processing program and device for the same
JP2004148428A (en) 2002-10-30 2004-05-27 Honda Motor Co Ltd Simulation device
JP2004174662A (en) 2002-11-27 2004-06-24 Fanuc Ltd Operation state analysis device for robot
JP2004209641A (en) 2002-12-30 2004-07-29 Abb Res Ltd Method and system for programming industrial robot
JP2009297877A (en) 2008-06-17 2009-12-24 Yamatake Corp Device and method for preparing robot teaching program
JP2011022688A (en) 2009-07-14 2011-02-03 Fanuc Ltd Tool path display apparatus for machine tool
JP2016018539A (en) 2014-07-11 2016-02-01 三菱電機株式会社 Simulation image display
JP2017126199A (en) 2016-01-14 2017-07-20 ファナック株式会社 Numerical controller having block time display means
JP2017138827A (en) 2016-02-04 2017-08-10 ファナック株式会社 Processing time prediction device

Also Published As

Publication number Publication date
JPWO2019064917A1 (en) 2020-10-15
WO2019064917A1 (en) 2019-04-04

Similar Documents

Publication Publication Date Title
JP7151713B2 (en) robot simulator
US11220002B2 (en) Robot simulation device
JPWO2019064916A1 (en) Robot simulator
US9984178B2 (en) Robot simulator, robot teaching apparatus and robot teaching method
US10509392B2 (en) Runtime controller for robotic manufacturing system
EP1310844B1 (en) Simulation device
CN104002297B (en) Teaching system, teaching method and robot system
CN100590629C (en) Device, program, recording medium and method for robot simulation
JP2019171501A (en) Robot interference determination device, robot interference determination method and program
KR20160002329A (en) Robot simulator and file generation method for robot simulator
JP6598454B2 (en) Teaching data creation method, creation device, and creation program
CN113710432A (en) Method for determining a trajectory of a robot
JP2019171498A (en) Robot program execution device, robot program execution method and program
JP7259860B2 (en) ROBOT ROUTE DETERMINATION DEVICE, ROBOT ROUTE DETERMINATION METHOD, AND PROGRAM
US20220395985A1 (en) Information processing apparatus, information processing method, display apparatus, display method, robot system, article production method, program, and storage medium
US6798416B2 (en) Generating animation data using multiple interpolation procedures
JP7167925B2 (en) Robot teaching device
WO2020059342A1 (en) Robot simulator
JP2019171499A (en) Robot interference determination device, robot interference determination method and program
JP7099470B2 (en) Robot teaching device
WO2020066947A1 (en) Robot route determination device, robot route determination method, and program
WO2018180298A1 (en) Robot teaching device, method for controlling robot teaching device, and robot teaching program
JP2019171500A (en) Robot interference determination device, robot interference determination method and program
JP2024011847A (en) Information processing method, information processing device, robot system, method for manufacturing article, program and recording medium
JP2018008351A (en) Simulation device and robot control device

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

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220404

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220912

R151 Written notification of patent or utility model registration

Ref document number: 7151713

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151