JP7167925B2 - Robot teaching device - Google Patents
Robot teaching device Download PDFInfo
- Publication number
- JP7167925B2 JP7167925B2 JP2019544367A JP2019544367A JP7167925B2 JP 7167925 B2 JP7167925 B2 JP 7167925B2 JP 2019544367 A JP2019544367 A JP 2019544367A JP 2019544367 A JP2019544367 A JP 2019544367A JP 7167925 B2 JP7167925 B2 JP 7167925B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- robot
- unit
- point
- operator
- 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
Links
- 238000004088 simulation Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 11
- 239000000470 constituent Substances 0.000 claims description 6
- 238000013459 approach Methods 0.000 description 52
- 230000006870 function Effects 0.000 description 47
- 230000010365 information processing Effects 0.000 description 47
- 230000033001 locomotion Effects 0.000 description 38
- 238000010586 diagram Methods 0.000 description 25
- 230000036544 posture Effects 0.000 description 23
- 101000579646 Penaeus vannamei Penaeidin-1 Proteins 0.000 description 20
- 101150077194 CAP1 gene Proteins 0.000 description 17
- 101100245221 Mus musculus Prss8 gene Proteins 0.000 description 17
- 238000004891 communication Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 17
- 101000579647 Penaeus vannamei Penaeidin-2a Proteins 0.000 description 16
- 238000000034 method Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 230000001133 acceleration Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 101150014715 CAP2 gene Proteins 0.000 description 4
- 101710169754 CD-NTase-associated protein 12 Proteins 0.000 description 4
- 101000666730 Homo sapiens T-complex protein 1 subunit alpha Proteins 0.000 description 4
- 101100260872 Mus musculus Tmprss4 gene Proteins 0.000 description 4
- 102100038410 T-complex protein 1 subunit alpha Human genes 0.000 description 4
- 239000003086 colorant Substances 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- -1 ... Proteins 0.000 description 2
- 101100206195 Arabidopsis thaliana TCP2 gene Proteins 0.000 description 2
- 101100536570 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) CCT2 gene Proteins 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000000547 structure data Methods 0.000 description 2
- 239000000872 buffer Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/42—Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Description
本発明は、ロボット教示装置に関する。 The present invention relates to a robot teaching device.
ロボットを工場のライン等で動作させるためには、利用者は、ロボットに対して動作を教示(ティーチング)する必要がある。このティーチングには、ロボットの動作させるときの目標となる3次元座標における点の情報(以下、「教示点」という。)を含むプログラムを作成することが含まれる。例えば特許文献1には、ロボットの教示目標点の移動軌跡を表示させるようにしたロボットシステムが記載されている。 In order to operate a robot on a factory line or the like, a user needs to teach the robot how to operate. This teaching includes creating a program containing information on points (hereinafter referred to as "teaching points") in three-dimensional coordinates that are targets for robot operation. For example,
ところで、教示対象となるロボットが行う一連の作業に複数の作業要素が含まれている場合に、複数の作業要素を分かり易く管理することが望まれる。特に、ロボットが行う一連の作業に含まれる作業要素の数が増えれば増えるほど、一連の作業を管理することが困難となる。 By the way, when a series of operations performed by a robot to be taught includes a plurality of work elements, it is desirable to manage the plurality of work elements in an easy-to-understand manner. In particular, as the number of work elements included in a series of operations performed by a robot increases, it becomes more difficult to manage the series of operations.
そこで、本発明は、ロボットのティーチングを行うときに、ロボットが行う一連の作業を分かり易く管理できるようにすることを目的とする。 SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to manage a series of operations performed by a robot in an easy-to-understand manner when teaching the robot.
本願の例示的な第1発明は、オペレータの操作入力に基づいて、対象物に対するロボットの作業要素に関する情報であるタスクを作成するタスク作成部と、前記タスク作成部によって作成されたタスクを記憶する第1記憶部と、前記第1記憶部を参照して、複数のタスクの一覧であるタスクリストを表示装置に表示する表示制御部と、を備えた、ロボット教示装置である。 A first exemplary invention of the present application is a task creation unit that creates a task, which is information related to a work element of a robot for an object, based on an operator's operation input, and stores the task created by the task creation unit. A robot teaching device comprising: a first storage unit; and a display control unit that refers to the first storage unit and displays a task list, which is a list of a plurality of tasks, on a display device.
本発明によれば、ロボットのティーチングを行うときに、ロボットが行う一連の作業を分かり易く管理することができる。 ADVANTAGE OF THE INVENTION According to this invention, when teaching a robot, a series of work which a robot performs can be managed in an easy-to-understand manner.
以下、本発明のロボット教示装置の一実施形態について説明する。
本実施形態のロボット教示装置1は、ロボットを実際に動作させることなく、オペレータが当該ロボットの動作を教示するための教示データを作成するオフラインティーチングを提供する。
以下の説明において、「作業要素」とは、物体を「取る」や「置く」等、一連の作業の中でロボットが行う最小単位の作業を意味する。
「対象物」とは、ロボットの作業の対象となる物体を意味し、ロボットが把持する物体(例えば、加工対象物であるワーク)に限らず、ロボットの作業に関連する物体(例えば、ロボットが把持する物体を置く棚)をも含む。An embodiment of the robot teaching device of the present invention will be described below.
The
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および図2を参照して説明する。図1は、本実施形態のロボット教示装置1の全体構成について示す図である。図2は、本実施形態のロボット教示装置1に含まれる各装置のハードウェア構成を示す図である。(1) Configuration of Robot Teaching Apparatus According to Present Embodiment Hereinafter, the configuration of a
図1に示すように、ロボット教示装置1は、情報処理装置2およびロボット制御装置3を備える。情報処理装置2とロボット制御装置3とは、例えば通信ネットワークケーブルECにより通信可能に接続される。
情報処理装置2は、工場のラインに設置されたロボットに対して動作を教示するための装置である。情報処理装置2は、オペレータによるオフラインティーチングを行うために設けられており、例えばロボットが設置される工場から離れた位置(例えば、オペレータの作業場所)に配置される。As shown in FIG. 1 , the
The
ロボット制御装置3は、情報処理装置2から送信されるロボットプログラムを実行する。本実施形態ではロボット制御装置3はロボットと接続されないが、ロボットと接続された場合には、ロボットプログラムの実行結果に応じた制御信号をロボットに送り、ロボットを動作させることが可能である。そのため、好ましくは、ロボット制御装置3は、ロボットの実機の近傍に配置される。 The
図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
The
The
ストレージ22は、HDD(Hard Disk Drive)あるいはSSD(Solid State Drive)等の大容量記憶装置であり、制御部21のCPUにより逐次アクセス可能に構成されている。
ストレージ22には、CADソフトウェアを実行するときに参照される3次元モデルのデータが格納される。本実施形態の例では、ストレージ22には、ロボットおよび対象物(例えば、後述するペン、キャップ、製品、ペントレイ、キャップトレイ、製品トレイ)の3次元モデルのデータが格納される。
ストレージ22には、ロボット制御装置3から取得した実行ログデータが格納される。実行ログデータには、ロボットプログラムの実行結果と、後述するロボット状態データとが含まれる。ロボット状態データは、3次元CADによってロボットの動作を仮想空間内で動画(アニメーション)により再現するために使用される。The
The
The execution log data acquired from the
入力装置23は、オペレータによる操作入力を受け付けるためのデバイスであり、ポインティングデバイスを含む。
表示装置24は、教示ソフトウェアおよびCADソフトウェアの実行結果を表示するためのデバイスであり、表示駆動回路および表示パネルを含む。
通信インタフェース部25は、ロボット制御装置3との間でネットワーク通信を行うための通信回路を含む。The
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
ロボット制御装置3は、制御部31と、ストレージ32と、通信インタフェース部33とを備える。
制御部31は、CPU、ROM、RAM、および、制御回路を含む。制御部31は、情報処理装置2から受信するロボットプログラムを実行し、実行ログデータを出力する。実行ログデータには、ロボットプログラムの実行結果と、ロボットプログラムに記述された作業を実行するロボットのロボット状態データとを含む。
ロボット状態データは、時間の経過に応じたロボットの状態を示す物理量のデータである。ロボットの状態を示す物理量としては、ロボットのアームの関節角、アームの速度や加速度が挙げられる。The
The control unit 31 includes a CPU, ROM, RAM, and control circuit. The control unit 31 executes the robot program received from the
The robot state data is physical quantity data indicating the state of the robot over time. Physical quantities that indicate the state of the robot include the joint angles of the arms of the robot, and the speed and acceleration of the arms.
ストレージ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 robot programs and execution log data.
The communication interface unit 33 includes a communication circuit for network communication with the
(2)オフラインティーチングにおけるユーザインタフェース
本実施形態のロボット教示装置1において、情報処理装置2は、ロボットに対するオフラインティーチングを提供する。このオフラインティーチングでは、教示ソフトウェアおよびCADソフトウェアが協働して実行され、以下で説明する有用なユーザインタフェースが提供される。
本実施形態においてオペレータがオフラインティーチングを行うときには、CADソフトウェアと教示ソフトウェアを情報処理装置2に実行させる。
CADソフトウェアの実行結果はCAD用ウィンドウに表示され、教示ソフトウェアの実行結果は教示用ウィンドウに表示される。オペレータは、CAD用ウィンドウと教示用ウィンドウの両方を情報処理装置2に表示させ、あるいはCAD用ウィンドウと教示用ウィンドウを切り替えながら情報処理装置2に表示させ、ティーチングに関連する操作を行う。(2) User Interface in Offline Teaching In the
In this embodiment, when the operator performs off-line teaching, the
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
図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
図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
(2-1)階層型リスト
図4に、本実施形態の一例に係る教示用ウィンドウW2を示す。教示用ウィンドウW2に表示されているのは、図3のCAD画像に含まれているロボットR、および、対象物の階層関係を示す階層型リスト(階層型データの一例)である。(2-1) Hierarchical List FIG. 4 shows a teaching window W2 according to an example of this embodiment. What is displayed in the teaching window W2 is a hierarchical list (an example of hierarchical data) showing the hierarchical relationship between the robot R and the 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 for 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 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は、以下の内容を意味し、それぞれ後述するTCP(Tool Center Point)が設定されている。 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, the
・ノード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
Since the hand sequence depends on the object grasped by the
図4に示すように、好ましくは、ロボットRの構成要素(図4のRobot_R, Hand)を階層的に表示するためのロボット領域RA(第1領域の例)と、対象物の構成要素を階層的に表示するための対象物領域PA(第2領域の例)とに分けて、階層型データが表示される。
対象物の構成要素には、治具(JIG)、ペントレイ(PenTray)、キャップトレイ(CapTray)、製品トレイ(ProductTray)、ペン(Pen1, Pen2,…,Pen12)、キャップ(Cap1, Cap2,…,Cap12)、および、製品(PenProduct1, PenProduct2,…,PenProduct12)が含まれる。
治具(JIG)のノードの下位には、治具を対象とした作業に対応して、例えば、以下のノードが設けられる。As shown in FIG. 4, preferably, a robot area RA (example of the first area) for hierarchically displaying the constituent elements of the robot R (Robot_R, Hand in FIG. 4) and a hierarchical display of the constituent elements of the object. The hierarchical data is displayed separately from the object area PA (example of the second area) for displaying the hierarchical data.
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.
図4の階層型リストにおいて、CAD用ウィンドウにおいて、選択したロボットR、対象物、部品又はTCP等を、ロボット領域RA内の任意のノードの位置に右クリックする操作を行い、「部品の追加」を選択することで、階層型リストに、CAD用ウィンドウで選択したロボットR又は対象物を階層型リストに登録する。
図4の階層型リストにおいて、任意の位置を右クリックする操作を行い、「一括更新」を選択することで、CADソフトウェア上で対象物の位置関係を変更した場合に、変更後の位置関係についての情報が階層型リストに反映される。In the hierarchical list of FIG. 4, right-click the selected robot R, target object, part, TCP, or the like in the CAD window at the position of any node in the robot area RA, and select "Add Part". By selecting , the robot R or object selected in the CAD window is registered in the hierarchical list.
In the hierarchical list in Fig. 4, by right-clicking an arbitrary position and selecting "Batch update", when the positional relationship of objects is changed on the CAD software, the positional relationship after the change will be displayed. information is reflected in the hierarchical list.
(2-2)グルーピング
階層型リストに登録された2以上の対象物はグループ化することができる。
グループ化するときの手順は、以下のとおりである。例えば、図4において、ペントレイ(PenTray)に含まれるペンPen1, Pen2をグループ化する場合、ポインティングデバイスで階層型リストの中のペンPen1, Pen2に対応するノードを指定して右クリック操作を行い、次いで「グループ作成」を選択する操作を行う。この操作を行うことで、ペンPen1, Pen2がグループ化される。階層型リストにおいてグループ化された2以上の対象物は、当該2以上の対象物がグループ化されていることがオペレータに認識可能となるように、例えば図4に示すように矩形の枠で囲う、共通の字体とする、あるいは同一の色を付す等の表示処理を行うことが好ましい。(2-2) Grouping Two or more objects registered in the hierarchical list can be grouped.
The procedure for grouping is as follows. For example, in FIG. 4, when grouping the pens Pen1 and Pen2 contained in the pen tray (PenTray), specify the node corresponding to the pens Pen1 and Pen2 in the hierarchical list with the pointing device, right-click, Next, an operation of selecting "create group" is performed. By performing this operation, the pens Pen1 and Pen2 are grouped. Two or more objects grouped in the hierarchical list are surrounded by a rectangular frame, for example, as shown in FIG. 4, so that the operator can recognize that the two or more objects are grouped. , a common font, or the same color.
なお、図4に示す例は、連続する2つのノードに対応する対象物をグループ化する場合であるが、連続していない2つのノードに対応する対象物をグループ化する場合には、グループ化した2つのノードが連続するように階層型リストを更新するようにしてもよい。例えば、ペンPen1とペンPen3をグループ化する場合には、ペントレイ(PenTray)のノードの下位ノードの順序を、ペンPen1, Pen3, Pen2…に更新する、といった具合である。 Note that the example shown in FIG. 4 is a case of grouping objects corresponding to two consecutive nodes, but when grouping objects corresponding to two discontinuous nodes, grouping Alternatively, the hierarchical list may be updated so that the two nodes are consecutive. For example, when pen Pen1 and pen Pen3 are grouped, the order of the lower nodes of the pen tray (PenTray) node is updated to pen Pen1, Pen3, Pen2, and so on.
(2-3)タスクについて
次に、タスクについて、図5を参照して説明する。図5は、タスクを概念的に説明するための図である。
タスクとは、一連の作業の中でロボットが行う最小単位の作業である作業要素に関する情報である。ロボットRが行う一連の作業(以下、「ジョブ」という。)は、複数の作業要素と、作業要素間の移動とにより構成される。従って、本実施形態では、ロボットRが行うジョブに対して複数のタスクが定義される。(2-3) Tasks Next, tasks will be described with reference to FIG. FIG. 5 is a diagram for conceptually explaining tasks.
A task is information about a work element that is the smallest unit of work performed by a robot in a series of work. A series of work performed by the robot R (hereinafter referred to as a "job") is composed of a plurality of work elements and movements between the work elements. Therefore, in this embodiment, a plurality of tasks are defined for jobs that the robot R performs.
図5において、矢印付きの線は、ロボットRのハンド52の軌跡を概念的に示している。当該軌跡は、作業要素の目標点TPに到達する前の通過点であるアプローチ点AP1,AP2(それぞれ第1点の例)と、目標点TPと、目標点TPに到達した後の通過点であるデパーチャ点DP1,DP2(それぞれ第2点の例)とを含む。目標点TPは、作業要素の対象である対象物の位置を示しており、後述する対象物のTCPとしてもよい。 In FIG. 5, lines with arrows conceptually indicate the trajectory of the robot R's
図5に示す例では、アプローチ点AP1に到達する前のロボットRの動作が、作業要素間の移動(つまり、前の作業要素と図5に示す作業要素との間の移動)に相当する。アプローチ点AP1からデパーチャ点DP2までのロボットRの動作が1つの作業要素および1つのタスクに対応する。デパーチャ点DP2から後のロボットRの動作が、作業要素間の移動(つまり、図5に示す作業要素と次の作業要素との間の移動)に相当する。
すなわち、タスクは、作業要素に関する情報のほか、目標点TP、アプローチ点AP、およびデパーチャ点DPのうち少なくともいずれかの点に関する情報を含んでもよい。In the example shown in FIG. 5, 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. 5). The movement of robot R from approach point AP1 to departure point DP2 corresponds to one work element and one task. The movement of the robot R after the departure point DP2 corresponds to movement between work elements (that is, movement between the work element shown in FIG. 5 and the next work element).
That is, the task may include information about the work element and at least one of the target point TP, the approach point AP, and the departure point DP.
図5では、アプローチ点AP1,AP2においてインターロックが設定されている場合が例示されている。インターロックは、他のロボット等との干渉を回避するために、入力信号に基づいて、目標点TP、アプローチ点AP、およびデパーチャ点DPの少なくともいずれかの点においてロボットRの動作を待機させる処理である。
タスクには、インターロックを設定する点と、インターロックによる待機時間のタイムアウト値とを含むインターロック設定に関する情報を含んでもよい。FIG. 5 illustrates a case where interlocks are set at approach points AP1 and AP2. Interlocking is a process of waiting the robot R at at least one of the target point TP, the approach point AP, and the departure point DP based on an input signal in order to avoid interference with other robots. is.
The task may include information about interlock settings, including points to set interlocks and timeout values for waiting time due to interlocks.
(2-4)タスクの作成
次に、階層型リストを用いたタスクの作成方法について、図4および図6を参照して説明する。図6は、本実施形態の一例に係る教示用ウィンドウの遷移を示す図である。
図4に示す階層型リストにおいてタスクを作成するには、先ず、ロボット領域RAに含まれるロボットR(Robot_R)のハンド(Hand)のノード61~63のうちいずれかのノードを、オペレータがポインティングデバイスで選択して右クリック操作を行い、「タスク作成」を選択する。すなわち、ノードの選択は、オペレータの操作入力に基づいて、タスクに対応する作業要素におけるロボットRのハンドの把持対象から選択される。(2-4) Creation of Task Next, a method of creating a task using a hierarchical list will be described with reference to FIGS. 4 and 6. FIG. FIG. 6 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.
「タスク作成」が選択されると、図6のタスク作成のための教示用ウィンドウ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. 6 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 column of the work element type (Function), one of the work elements is selected from a pull-down menu consisting of multiple types of preset work element candidates (for example, Pick up, Place, etc.). It is configured so that elements can be selected.
次いで、階層型リストの対象物領域PAの中から作業対象となる対象物をポインティングデバイスで選択して左クリック操作を行うことにより、教示用ウィンドウW3の目標物(Target)の項目に、選択された対象物が入力される。
作業要素の種別(Function)と目標物(Target)の各項目についてデータが入力されると、当該データに基づいて、タスクの名称(Name)が自動的に決定されて表示される。Next, by selecting an object to be worked on from the object area PA of the hierarchical list with the pointing device and performing a left-click operation, the 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を対象としてポインティングデバイスで左クリック操作を行うことで、図6に示す教示用ウィンドウ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
以上の操作の結果、「ペントレイからペンPen1を取る」という作業要素に関する情報として、“Pickup_Pen1_From_PenTray”という名称のタスクが作成される。
本実施形態では、作業要素の対象物(ここでは「ペンPen1」)と、作業要素の始点(例えば「ペントレイ」)若しくは終点とを階層型リスト上で指定することで、オペレータは直感的にタスクを作成することができる。また、タスクの名称は、作業要素の作業内容(例えば「Pickup」)と、作業対象(例えば「ペンPen1」)と、作業要素の始点となる対象物(例えば「ペントレイ」)、又は終点となる対象物とを含むように自動的に作成されるため、タスクの名称からタスクの内容が直ちに分かるようになっている。
なお、階層型リストにおいてグループ化された2以上の対象物を対象として、まとめてタスクを作成してもよい。As a result of the above operation, a task named "Pickup_Pen1_From_PenTray" is created as information related to the work element "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.
It should be noted that a task may be collectively created for two or more objects grouped in the hierarchical list.
タスクを作成した場合、タスクに含まれるアプローチ点AP、目標点TP、および、デパーチャ点DPについての情報が自動的に作成される。すなわち、タスクは、当該タスクに関連する対象物の仮想空間上の3次元モデルのデータと関連付けられているため、3次元モデルのデータに基づいて、所定の基準によりアプローチ点AP、目標点TP、および、デパーチャ点DPの各点を算出する。算出方法の一例では、対象物の目標点TPとしてTCP(Tool Center Point;基準点の一例)を算出し、TCPを基準として、アプローチ点APおよびデパーチャ点DPを算出する。 When a task is created, information about the approach point AP, target point TP, and departure point DP included in the task is automatically created. That is, since the task is associated with the data of the three-dimensional model in the virtual space of the object related to the task, based on the data of the three-dimensional model, the approach point AP, the target point TP, Then, each point of the departure point DP is calculated. In one example of the calculation method, a TCP (Tool Center Point; an example of a reference point) is calculated as the target point TP of the object, and the approach point AP and the departure point DP are calculated based on the TCP.
TCPは、ロボットRの対象物に対する作業の基準となる、仮想空間内の当該対象物の基準点(あるいは、作業点)を意味し、ロボットRのハンド52および各対象物に対して設定される。TCPを設定するときには、TCPを原点としたローカル座標系についても設定される。対象物のローカル座標系を設定することで、対象物のオイラー角を回転させるときにはTCPを中心に回転させればよいこと、および、後述するようにアプローチ点APおよびデパーチャ点DPを自動的に設定できること等の利点がある。 TCP means a reference point (or working point) of an object in virtual space, which serves as a reference for work on the object by the robot R, and is set for the
図7に一例として、キャップCap1のTCPの設定例を示す。
本実施形態の例では、TCPは、対象物の重心位置に自動的に設定される。対象物には3次元モデルのデータが関連付けられているため、当該3次元モデルのデータから重心位置を比較的容易に得ることができる。
アプローチ点APおよびデパーチャ点DPは、それぞれ、対象物に設定されたローカル座標系のZ軸において、対象物(図7の例では、キャップCap1)の全長の1.5倍の位置に、タスク作成時に自動的に設定される。全長の1.5倍の位置は一例に過ぎず、例えば全長の1~2倍の間の任意の値に適宜設定されてもよい。なお、図7では、+Z軸側での作業(ハンド52によりキャップを取る、置く等の作業)が想定されており、ハンド52による作業が+Z方向となるようにローカル座標系を定義しておくことで、アプローチ点APおよびデパーチャ点DPを自動的に決定できる。FIG. 7 shows an example of TCP settings for the cap Cap1.
In the example of this embodiment, the TCP is automatically set to the center-of-gravity position of the object. Since the object is associated with the three-dimensional model data, the center-of-gravity position can be obtained relatively easily from the three-dimensional model data.
The approach point AP and the departure point DP are each located at a position 1.5 times the total length of the target (cap Cap1 in the example of FIG. 7) on the Z axis of the local coordinate system set on the target. automatically set when The position of 1.5 times the total length is merely an example, and may be set to any value between 1 and 2 times the total length as appropriate. In FIG. 7, work on the +Z-axis side (work such as removing or placing a cap by the hand 52) is assumed, and the local coordinate system is defined so that the work by the
2以上の対象物がグループ化されている場合には、当該2以上の対象物のいずれかに設定されているアプローチ点APおよびデパーチャ点DPを基に、当該2以上の対象物のうち他の対象物のアプローチ点APおよびデパーチャ点DPについて自動的に設定されてもよい。
例えば、ペンPen1, Pen2がグループ化されている場合を想定する。ペンPen1に対する作業の基準となるTCPの座標がワールド座標系において(100, 100, 0)に設定され、ペンPen1のアプローチ点APおよびデパーチャ点DPの座標がワールド座標系において(100, 100, 20)に設定されている場合を想定する。このとき、ペンPen2のTCPがワールド座標系において(120, 100, 0)である場合には、ペンPen2のアプローチ点APおよびデパーチャ点DPの座標がワールド座標系において(120, 100, 20)に自動的に設定される。すなわち、ペンPen1とペンPen2のTCPオフセット量(X座標で+20)が反映されるようにして、ペンPen2のアプローチ点APおよびデパーチャ点DPが設定される。換言すると、ペンPen1とペンPen2のそれぞれTCPを基準としたローカル座標系においてペンPen1とペンPen2のアプローチ点APおよびデパーチャ点DPが同一の座標となるように、ペンPen2のアプローチ点APおよびデパーチャ点DPが設定される。When two or more objects are grouped, based on the approach point AP and departure point DP set for one of the two or more objects, the other of the two or more objects The object approach point AP and departure point DP may be automatically set.
For example, assume that pens Pen1 and Pen2 are grouped. The coordinates of TCP, which is the reference of work for pen Pen1, are set to (100, 100, 0) in the world coordinate system, and the coordinates of approach point AP and departure point DP of pen Pen1 are set to (100, 100, 20) in the world coordinate system. ) is assumed. At this time, if the TCP of the pen Pen2 is (120, 100, 0) in the world coordinate system, the coordinates of the approach point AP and the departure point DP of the pen Pen2 are (120, 100, 20) in the world coordinate system. Set automatically. That is, the approach point AP and departure point DP of the pen Pen2 are set so as to reflect the TCP offset amount (+20 on the X coordinate) of the pens Pen1 and Pen2. In other words, the approach point AP and the departure point DP of the pen Pen2 are set so that the approach point AP and the departure point DP of the pen Pen1 and the pen Pen2 have the same coordinates in the respective local coordinate systems of the pens Pen1 and Pen2 based on TCP. DP is set.
図8は、キャップトレイ12からキャップCap1を取るときの仮想空間上のハンド52の動作の一例を示す図である。
図8において、ハンド52は先ず、軌道TR1に沿って、ハンド52に設定されたTCP1(すなわち、図4のノード62に設定されたハンドのTCP)がアプローチ点APに一致するようにして移動する。次に、ハンド52は、軌道TR2に沿って、ハンド52に設定されたTCP1がキャップトレイ12のキャップCap1に設定されたTCP2に一致するようにして移動する。キャップCap1を把持した後、ハンド52は、軌道TR3に沿って、ハンド52に設定されたTCP1がデパーチャ点DPに一致するようにして移動する。
軌道TR2,TR3は、キャップトレイ12のキャップCap1に設定されたローカル座標系のZ軸に沿った軌道である。そのため、ハンド52がキャップCap1を取る際に、キャップトレイ12内のキャップCap1に隣接するキャップに干渉することはない。また、ハンド52の軌道は、ハンド52に設定されたTCP1と、キャップトレイ12内のキャップCap1のTCP2およびそのローカル座標系とに基づいて決定される。そのため、ハンド52は、キャップCap1を精度良く把持することができる。FIG. 8 is a diagram showing an example of the motion of the
In FIG. 8, the
The trajectories TR2 and TR3 are trajectories along the Z-axis of the local coordinate system set on the cap Cap1 of the
TCPを対象物の重心以外に設定する場合には、オペレータの操作入力に基づいて対象物の所望の位置にTCPを設定することもできる。
図9に、オペレータの操作入力に基づいてTCPを設定する方法を示す。
図9に示すように、CADソフトウェアでは、TCPを設定するためにローカル座標系LAを備えたTCPモデルTCP_mが設けられている。オペレータが当該TCPモデルを対象物(図9では、キャップCap1)の所望の位置に移動させてTCPモデルTCP_mの位置をセットした後に、階層型リスト内の対応するノード(例えば、図4のCap1のノード)までTCPモデルTCP_mをドラッグする操作を行う。それによって、CADソフトウェア上でセットした座標に対象物(例えば、キャップCap1)のTCPを設定することができる。When the TCP is set at a position other than the center of gravity of the object, the TCP can be set at a desired position of the object based on the operator's operation input.
FIG. 9 shows a method of setting TCP based on operator input.
As shown in FIG. 9, the CAD software provides a TCP model TCP_m with a local coordinate system LA to set the TCP. After the operator moves the TCP model to the desired position of the object (cap Cap1 in FIG. 9) and sets the position of TCP model TCP_m, the corresponding node in the hierarchical list (for example, Cap1 in FIG. node) to drag the TCP model TCP_m. Thereby, the TCP of the object (for example, Cap Cap1) can be set to the coordinates set on the CAD software.
再度図6を参照すると、教示用ウィンドウW3には、ボタンb1(「詳細設定」)が設けられている。オペレータは、ボタンb1(「詳細設定」)を操作することで、「アプローチ点、デパーチャ点設定」、「モーションパラメータ設定」、および「インターロック設定」のいずれかを選択することができる。
「アプローチ点、デパーチャ点設定」を選択することで、オペレータは、自動作成されたアプローチ点及び/又はデパーチャ点の変更、削除、および、新しいアプローチ点及び/又はデパーチャ点の追加を行うことができる。
モーションパラメータとは、タスクに含まれる隣接するアプローチ点AP間、アプローチ点APから目標点TPまでの間、および、目標点TPからデパーチャ点DPまでの間のロボットRのハンド52等の動きに関するパラメータである。例えば、かかるパラメータとして、移動速度、加速度、加速時間、減速時間、ロボットRの姿勢等が挙げられる。「モーションパラメータ設定」を選択することで、上記モーションパラメータをデフォルト値から変更することができる。
「インターロック設定」を選択することで、インターロックの待機時間のタイムアウト値と、待機時間がタイムアウト値を超えてエラーと判断したときの動作の設定とを、デフォルト値から変更することができる。Referring to FIG. 6 again, the teaching window W3 is provided with a button b1 (“detailed setting”). The operator can select any one of "approach point and departure point setting", "motion parameter setting", and "interlock setting" by operating the button b1 ("detailed setting").
By selecting "approach point, departure point setting", the operator can change or delete automatically created approach points and/or departure points, and add new approach points and/or departure points. .
A motion parameter is a parameter relating to the movement of the
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.
図6の教示用ウィンドウW3には、ボタンb3(「チェック」)が設けられている。タスクを作成するときにボタンb3(「チェック」)を操作することは必須ではないが、ボタンb3(「チェック」)を操作することで、オペレータは事前に、タスクに含まれるアプローチ点APからデパーチャ点DPまでのロボットRの動作をCAD用ウィンドウで確認することができる。
ボタンb3(「チェック」)の操作は、タスクの名称(Name)が表示されている場合(つまり、作業要素の種別(Function)と目標物(Target)の各項目についてデータが入力済みの場合)に有効である。A teaching window W3 in FIG. 6 is provided with a button b3 (“check”). It is not essential to operate the button b3 ("check") when creating a task, but by operating the button b3 ("check"), the operator can preliminarily check the departure point from the approach point AP included in the task. The movement of the robot R up to the point DP can be confirmed on the CAD window.
The button b3 ("check") is operated when the name of the task (Name) is displayed (that is, when data has been entered for each item of the work element type (Function) and the target (Target)). effective for
ボタンb3(「チェック」)の操作による動作確認結果は、タスクに基づいて作成されたプログラムを、ロボット制御装置3へ送信することにより行われる。ロボット制御装置3は、受信したプログラムを実行し、実行結果として、時間の経過に応じたロボットRの状態を示す情報であるロボット状態データを算出する。ロボット状態データは、例えば、時間の経過に応じたアーム51の関節角の変化や、時間の経過に応じたハンド52の軌跡等の情報である。このロボット状態データは、ロボット制御装置3から情報処理装置2へ返される。CADソフトウェアは、ロボット状態データに基づいて、ロボットRおよび対象物の3次元モデルを仮想空間内で動作させ、タスクに対応するロボットRの動きの動画表示を行う。 The operation confirmation result by operating the button b3 (“check”) is performed by transmitting a program created based on the task to the
ロボットRのロボット状態データを算出するときにエラーが発生した場合には、図6の教示用ウィンドウW3のステータス(Status)の欄に、エラー原因を表示してもよい。エラー原因としては、例えば、速度超過、目標点不到達、特異点到達等が挙げられる。
ロボットRの動作が正常に行われた場合には、ステータス(Status)の欄に、モーションパラメータで設定されている移動速度に対する余裕度、目標点に対する余裕度、あるいは、特異点までの余裕度等、オペレータにとって有益となる情報を表示してもよい。If an error occurs when calculating the robot state data of the robot R, the cause of the error may be displayed in the Status column of the teaching window W3 in FIG. Error causes include, for example, excessive speed, failure to reach a target point, and arrival at a singular point.
When the robot R operates normally, the margin for the movement speed set in the motion parameter, the margin for the target point, the margin for the singular point, etc. are displayed in the Status column. , may display information useful to the operator.
図6の教示用ウィンドウW3には、ボタンb2(「作成」)が設けられている。
ボタンb2(「作成」)が操作されることで、教示用ウィンドウW3によって設定されたタスクが後述するタスクリストに登録される。
なお、ボタンb2(「作成」)が操作される前に、ボタンb3(「チェック」)の操作による動作確認が行われていない場合には、ボタンb3(「チェック」)の操作が行われなくても自動的に動作確認を実行し、エラーの有無を報知するようにしてもよい。A teaching window W3 in FIG. 6 is provided with a button b2 (“create”).
By operating the button b2 (“Create”), the task set by the teaching window W3 is registered in the task list described later.
Note that if the operation of the button b3 (“check”) has not been confirmed before the button b2 (“create”) is operated, the button b3 (“check”) will not be operated. However, it is also possible to automatically check the operation and notify the presence or absence of an error.
(2-5)タスクに基づくプログラムの作成
上述したように、タスクごとの動作確認を行う場合には、タスクに基づいてプログラムが作成される。タスクに基づくプログラムは、当該タスクに対応する作業要素をロボットRに実行させるためのロボットプログラムの例である。
例えば、図5に示すタスクに対応する作業要素を実行するためのプログラムは、以下の複数の関数からなり、各関数は、ロボットRのモーション(「ロボットRの動き」を意味する。)を実行させるためのプログラムによって記述されている。
なお、以下のmove(AP1)は、作業要素間の移動として別に定義されてもよい。(2-5) Creation of Program Based on Task As described above, when checking the operation for each task, a program is created based on the task. A task-based program is an example of a robot program for causing a robot R to execute a work element corresponding to the task.
For example, a program for executing work elements corresponding to the task shown in FIG. It is written by a program to let
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.
(2-6)タスクリスト
タスクリストとは、ロボットRが行うジョブに含まれる複数の作業要素の各々に対応する複数のタスクの一覧の情報である。特定のジョブを対象として教示用ウィンドウW3によって作成されたタスクは、順次、当該ジョブに対応するタスクリストに登録されていく。タスクリストに含まれる複数のタスクの順序は、当該複数のタスクにそれぞれ対応する複数の作業要素の実行順序を示していることが、ジョブを管理する上で好ましい。(2-6) 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.
図10の教示用ウィンドウW4は、「ペンにキャップを嵌めて製品を組み立てる」という一連の作業であるジョブ(「Pen Assembly」)に対応するタスクリストの一例を表示する。このタスクリストの一例は、以下の(i)~(vi)の6個の作業要素に対応するタスクを含む。この場合、タスク作成のための教示用ウィンドウW3によって、括弧内に表された名称のタスクが作成された場合を示している。
(i) ペントレイからペンを取る (Pickup_Pen1_From_PenTray)
(ii) 取ったペンを治具にセットする (Place_to_PenJ_in_PenProduct)
(iii) キャップトレイからキャップを取る (Pickup_Cap1_From_CapTray)
(iv) 治具上のペンにキャップを嵌める (Place_to_CapJ_in_PenJ)
(v) キャップが嵌められたペンを取る (Pickup_PenProduct_From_JIG)
(vi) キャップが嵌められたペンを製品トレイに置く (Place_to_PenProduct1_in_ProductTray)The teaching window W4 in FIG. 10 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)
図10に示すタスクリストのうち、教示用ウィンドウW3における動作確認の結果がエラーを示したタスク(「エラータスク」という。)と、タスクリストのうちエラータスク以外のタスクとを、異なる表示態様(例えば、異なる文字色、異なる背景色とする表示態様)で表示してもよい。「エラータスク以外のタスク」とは、動作確認の結果、エラーを示さなかったタスクと、動作確認を行っていないタスクとを含む。エラータスクと、OKタスク(つまり、動作確認の結果、エラーを示さなかったタスク)と、動作確認が未実施のタスクとを、それぞれ異なる表示態様にしてもよい。 In the task list shown in FIG. 10, the task for which the result of the operation check in the teaching window W3 indicates an error (referred to as "error task") and the tasks other than the error task in the task list are displayed in different display modes ( For example, it may be displayed in a display mode with different character colors and different background colors. "Tasks other than error tasks" include tasks that showed no error as a result of operation confirmation and tasks for which operation confirmation was not performed. An error task, an OK task (that is, a task showing no error as a result of the operation check), and a task for which the operation check has not yet been performed may be displayed in different modes.
グループ化された2以上の対象物を対象としてまとめてタスクを作成した場合には、タスクリスト中、グループにまとめたタスク表示を行ってもよい。 If a task is created for two or more grouped objects, the grouped tasks may be displayed in the task list.
オペレータは、タスクリストにおいて、いずれかのタスクをポインティングデバイスで選択した状態でドラッグ操作を行うことで、選択されたタスクをタスクリスト中の任意の順序に設定することができる。 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.
図10に示すように、オペレータがタスクリストのいずれかのタスクをポインティングデバイスで選択した状態で右クリックを行うと、「タスク編集」、「タスク追加」、「タスク削除」のいずれかの処理を選択できる。ここで、「タスク編集」が選択された場合には、選択されているタスクの教示用ウィンドウW3に戻って、当該タスクについての情報を変更することができる。「タスク追加」が選択された場合には、選択されているタスクのすぐ後の順序に、作成済みのタスクを読み込んで挿入するか、あるいは、教示用ウィンドウW3に戻ってタスクを作成して挿入することができる。「タスク削除」が選択された場合には、選択されているタスクをタスクリストから削除することができる。 As shown in FIG. 10, when the operator selects any task in the task list with the pointing device and right-clicks, any one of "task edit", "task addition", and "task deletion" is executed. You can choose. 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.
図10において、オペレータが教示用ウィンドウW4内の任意の位置を対象として右クリック操作を行うと、「教示点リスト出力」、「IOマップ出力」、および「プログラム出力」の中からいずれかを選択できる。
「教示点リスト出力」が選択された場合、各対象物に設定されたTCPの座標の一覧が出力される。
「IOマップ出力」が選択された場合、ロボットRに対する入出力(I/O)のポートの一覧を出力する。
「プログラム出力」が選択された場合、ジョブに対応して、シミュレーション用プログラムと実機用プログラムの2種類のロボットプログラムを出力する。実機用プログラムはインターロックによる待機時間のタイムアウト値が有効となっているが、シミュレーション用プログラムはインターロックによる待機時間が無効化されている点で、両者は異なる。In FIG. 10, when the operator right-clicks an arbitrary position within the teaching window W4, one of "teaching point list output", "IO map output", and "program output" is selected. can.
When "output teaching point list" is selected, a list of TCP coordinates set for each object is output.
When "output IO map" is selected, a list of input/output (I/O) ports for robot R is output.
When "program output" is selected, two types of robot programs, a simulation program and a real machine program, are output according to the job. 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.
(2-7)ジョブのシミュレーション
図10の教示用ウィンドウW4においてボタンb4が操作された場合、タスクリストに対応するロボットRのジョブのシミュレーションが実行される。
ジョブのシミュレーションを実行するに当たっては、先ず、当該ジョブに対応するロボットプログラムが作成される。すなわち、タスクリストに含まれる各タスクに基づくプログラムは、前述したように、ロボットRに対応する複数のモーションを実行させるためのプログラムが記述された関数の集合体として表される。なお、連続するタスクに対応する作業要素の間のロボットRの移動についてのモーションパラメータ(移動速度、加速度、加速時間、減速時間等)は、デフォルト値として予め定められていてもよいし、オペレータが設定できるようにしてもよい。
各タスクに基づくプログラムを順に組み合わせることで、ジョブに対応するロボットプログラムが作成される。各タスクに基づくプログラムを組み合わせるに当たっては、入力信号あるいは条件によって実行するプログラムを切り替えるような分岐処理や、特定のプログラムを繰り返す処理等が組み込まれてもよい。(2-7) Job Simulation When the button b4 is operated in the teaching window W4 of FIG. 10, a job simulation of the robot R corresponding to the task list is executed.
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.
By sequentially combining programs based on each task, a robot program corresponding to the job is created. 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は、ロボットプログラムの実行結果として、時間の経過に応じたロボットRの状態を示す情報であるロボット状態データを算出する。ロボット状態データは、例えば、時間の経過に応じたアーム51の関節角の変化や、時間の経過に応じたハンド52の軌跡等の情報である。このロボット状態データは、ロボット制御装置3から情報処理装置2へ返される。CADソフトウェアは、ロボット状態データに基づいて、ロボットRおよび対象物の3次元モデルを仮想空間内で動作させ、シミュレーション出力として
タスクに対応するロボットRの動きの動画(アニメーション)の表示を行う。In this embodiment, the
The
ロボットRのロボット状態データを算出するときにエラーが発生した場合には、図10の教示用ウィンドウW4のステータス(Status)の欄に、エラー原因を表示してもよい。エラー原因としては、例えば、速度超過、目標点不到達、特異点到達等が挙げられる。
図10に示すタスクリストのうち、シミュレーションの結果がエラーを示したエラータスクと、タスクリストのうちエラータスク以外のタスクとを、異なる表示態様(例えば、異なる文字色、異なる背景色とする表示態様)で表示してもよい。
図11の教示用ウィンドウW5に、図10のタスクリストにおいてエラータスクの表示例を示す。この表示例では、タスクリストの中の最後の“Place_to_PenProduct1_in_ProductTray”というタスクがエラータスクである場合を示しており、当該エラータスクにマークM1(タスクを囲む枠線)を付加することで、エラータスク以外のタスクと異なる表示態様としている。If an error occurs when calculating the robot state data of the robot R, the cause of the error may be displayed in the Status column of the teaching window W4 in FIG. Error causes include, for example, excessive speed, failure to reach a target point, and arrival at a singular point.
In the task list shown in FIG. 10, the error task for which the simulation result indicates an error and the tasks other than the error task in the task list are displayed in different display modes (for example, different character colors and different background colors). ) may be displayed.
A teaching window W5 in FIG. 11 shows a display example of an error task in the task list in FIG. This display example shows that the task "Place_to_PenProduct1_in_ProductTray" at the end of the task list is an error task. The display mode is different from the task of
なお、タスクリストのうちオペレータによって選択された一部のタスクに対応する作業要素についてのシミュレーションを実行できるようにしてもよい。 It should be noted that the simulation may be executed for work elements corresponding to some of the tasks selected by the operator from the task list.
(2-8)エリアチェック
次に、エリアチェックについて、図12および図13を参照して説明する。図12は、本実施形態の一例に係る教示用ウィンドウの遷移を示す図である。図13は、本実施形態において階層型リストの表示例を示す図である。(2-8) Area Check Next, the area check will be described with reference to FIGS. 12 and 13. FIG. FIG. 12 is a diagram showing transition of teaching windows according to an example of the present embodiment. FIG. 13 is a diagram showing a display example of a hierarchical list in this embodiment.
エリアチェックとは、ロボットRのハンド52(ロボットの構成要素の例)が、オペレータによって選択された少なくとも1つの対象物(図4に示す例では、ペンPen1, Pen2,…,Pen12、キャップCap1, Cap2,…,Cap12、および、製品PenProduct1, PenProduct2,…,PenProduct12の少なくともいずれか)に到達可能であるか否かを判定することである。ロボットが複数設けられる場合には、複数のロボットのうちエリアチェックの対象とするロボットをオペレータが選択できるようにしてもよい。ロボットは複数の姿勢をとりうるため、当該複数の姿勢のうちオペレータによって選択されたいずれかの姿勢において、ロボットのエリアチェックを行うようにしてもよい。 The area check means that the
図4に示した階層型リストにおいて、対象物の一部又は全部を選択した状態にして、ロボット領域RA内のノード61~63のいずれかをポインティングデバイスで右クリックしてから「エリアチェック」を選択すると、図12の教示用ウィンドウW6が表示される。教示用ウィンドウW6では、エリアチェックのための姿勢(posture)を選択できる。教示用ウィンドウW6において、少なくとも1つの姿勢を選択し、ボタンb5(「OK」)を選択することで、エリアチェックが実行される。 In the hierarchical list shown in FIG. 4, select a part or all of the object, right-click on any of the
エリアチェックの実行には逆運動学の計算が必要であり、この計算は、ロボット制御装置3において行われる。すなわち、情報処理装置2は、ロボットRおよび各対象物の3次元モデルに基づく座標データ、各対象物のTCPの座標データの情報をロボット制御装置3に渡す。ロボット制御装置3は、当該情報を基に、特定の対象物に対して逆運動学によりロボットRのアーム51の関節角を求めることができれば、当該対象物に到達可能であると判断できる。
エリアチェックの結果は、図13に例示するように、ペンを対象とするエリアチェックの場合、ペントレイ11に含まれるペンごとに、到達不可能であるペン(到達不可対象物の例)に対してマークM2(「NG」)を表示することによって行われる。他の表示例として、到達不可対象物を到達可能対象物と異なる色で表示することなどが挙げられる。Performing an area check requires inverse kinematics calculations, which are performed in the
As illustrated in FIG. 13, in the case of the area check for pens, the results of the area check are as follows: This is done by displaying a mark M2 ("NG"). Other display examples include displaying unreachable objects in a different color from reachable objects.
(3)ロボット教示装置1の機能
次に、本実施形態のロボット教示装置1の機能について、図14を参照して説明する。図14は、実施形態に係るロボット教示装置1の機能ブロック図である。
図14に示すように、ロボット教示装置1は、表示制御部101、タスク作成部102、タスク更新部103、タスク入替部104、設定更新部105、グルーピング部106、プログラム作成部107、プログラム実行部108、状態情報算出部109、シミュレーション部110、判定部111、姿勢選択部112、基準点設定部113、モデル配置部114、および、インターロック設定部115を備える。
ロボット教示装置1はさらに、タスクデータベース221、階層型リストデータベース222、3次元モデルデータベース223、および、実行ログデータベース224を備える。(3) Functions of
As shown in FIG. 14, the
The
以下の説明において、情報処理装置2の制御部21の処理について言及するときには、制御部21に含まれるCPUが教示ソフトウェア及び/又はCADソフトウェアを実行することにより処理が行われる。 In the following description, when referring to the processing of the
表示制御部101は、教示ソフトウェアおよびCADソフトウェアの実行結果を表示装置24に表示させる制御を行う。表示制御部101の機能を実現するために、情報処理装置2の制御部21は、教示ソフトウェアおよびCADソフトウェアの出力を含む画像データを生成し、バッファリングし、表示装置24へ送信する。表示装置24は、表示駆動回路を駆動して画像を表示パネルに表示する。 The
タスク作成部102は、オペレータの操作入力に基づいて、対象物に対するロボットの作業要素に関する情報であるタスクを作成する機能を備える。
タスク作成部102の機能を実現するために、情報処理装置2の制御部21は、入力装置23からオペレータの操作入力を受け付けると、当該操作入力に基づき、図6の作業要素の種別(Function)および作業要素の目標物(Target)の情報を含むファイルとしてタスクを作成し、ストレージ22に記録する。制御部21は、作業要素の種別(Function)および作業要素の目標物(Target)に基づいて、所定の規則に従ってタスク名称を決定する。ストレージ22(第1記憶部の例)は、タスク作成部102によって作成されたタスクを含むタスクデータベース221を記憶する。
情報処理装置2の制御部21は、ロボットが行うジョブに含まれる複数の作業要素に対応するタスクを順に作成し、それによって、当該ジョブに関連付けられた複数のタスクがタスクリストとして作成される。タスクデータベース221では、各タスクが特定のジョブに関連付けられた状態で記録されている。
表示制御部101は、ストレージ22のタスクデータベース221を参照して、複数のタスクの一覧であるタスクリストを表示装置24に表示する。タスクリストが表示されることで、ロボットのティーチングを行うときに、ロボットが行うジョブを分かり易く管理することができる。本実施形態では、表示されるタスクリストの各タスクの名称が、ロボットの作業要素の作業内容が認識できるように構成されているため、一連の作業内容がオペレータに直感的に理解しやすいものとなっている。The
In order to realize the function of the
The
The
タスク作成部102は、作業要素の目標点、目標点に到達する前の通過点であるアプローチ点(第1点の例)、および、目標点に到達した後の通過点であるデパーチャ点(第2点の例)のうち、少なくともいずれかの点に関する情報をタスクに設定する機能を備えてもよい。当該機能を実現するために、情報処理装置2の制御部21は、作業要素の目標物(Target)となる対象物のTCPとローカル座標系に基づいて、アプローチ点およびデパーチャ点を決定する。例えば、対象物のローカル座標系のZ軸において、対象物の全長の所定倍率の位置をアプローチ点およびデパーチャ点とする。制御部21は、決定したアプローチ点およびデパーチャ点の情報がタスクに含まれるように、タスクデータベース221を更新する。
アプローチ点およびデパーチャ点が自動的に設定されることで、オペレータのティーチング作業が効率化される。The
By automatically setting the approach point and the departure point, the operator's teaching work becomes more efficient.
表示制御部101は、ロボットの構成要素と、対象物の構成要素とが階層的に記述された階層型データを表示装置24に表示する。
情報処理装置2の制御部21は、教示ソフトウェアとCADソフトウェアの連携により階層型リストを作成する。すなわち、制御部21は、CAD画像内のロボットおよび対象物を入力装置23のポインティングデバイスで選択した状態で木構造のデータフォーマットの所望のノードまでドラッグする操作入力を受け付けて、木構造の階層型リストを作成する。制御部21は、作成した階層型リストをストレージ22の階層型リストデータベース222に記録する。階層型リストでは、木構造のデータにおけるロボットの構成要素および対象物の構成要素に対応する各ノードと、3次元モデルデータベース223に記録される3次元モデルの対応するデータと、が関連付けられた状態となっている。The
The
好ましくは、タスク作成部102は、階層型データのロボットの構成要素および対象物の構成要素を指定するオペレータの操作入力に基づいて、タスクを作成する機能を備える。当該機能を実現するために、情報処理装置2の制御部21は、特定の対象物を把持する作業に対応したロボットのハンドを示すノードと、当該対象物に対応するノードとを階層型リストから選択するオペレータの操作入力に基づいて、タスクを作成する。階層型リストを使用することで、オペレータが作業要素の内容に応じて直感的にタスクを作成することができる。 Preferably, the
好ましくは、図4に示したように、表示制御部101は、ロボットの構成要素を階層的に表示するためのロボット領域RA(第1領域)と、対象物の構成要素を階層的に表示するための対象物領域PA(第2領域)とに分けて、階層型リストを表示装置24に表示する。
ロボット領域と対象物領域とを分けて表示することで、タスクの作成に当たって、特定の対象物を把持する作業に対応したロボットのハンドを示すノードと、当該対象物に対応するノードとを選択するときに、目的とするノードを見つけやすくなる。Preferably, as shown in FIG. 4, the
By displaying the robot area and the object area separately, when creating a task, a node indicating a robot hand corresponding to a task of grasping a specific object and a node corresponding to the object can be selected. Sometimes it makes it easier to find the desired node.
タスク更新部103は、表示装置24に表示されたタスクリストに対するオペレータの操作入力に基づいて、タスクリストのうちいずれかのタスクを削除し、ストレージ22(第1記憶部の例)に記憶されているタスクデータベース221に含まれるタスクをタスクリストに追加し、又は、タスクリストのうちいずれかのタスクの内容を変更する機能を備える。
タスク更新部103の機能を実現するために、情報処理装置2の制御部21は、入力装置23が受け付けたオペレータの操作入力に基づいてストレージ22にアクセスし、タスクデータベース221に含まれるタスクリストを書き換える。オペレータはタスク単位でジョブの内容を編集することができるため、ティーチング作業が効率化される。The
In order to realize the function of the
表示装置24に表示されるタスクリストに含まれるタスクの順序は、複数のタスクの実行順序を規定していてもよい。その場合、タスク入替部104は、表示装置24に表示されたタスクリストに対するオペレータの操作入力に基づいて、タスクリストに含まれるタスクの順序を入れ替える。
タスク入替部104の機能を実現するために、情報処理装置2の制御部21は、入力装置23が受け付けたオペレータの操作入力に基づいてストレージ22にアクセスし、タスクデータベース221に含まれるタスクリストの順序を更新する。オペレータはタスク単位で実行順序を変更することができるため、ロボットによるジョブの最適化を図ることができるとともに、ティーチング作業が効率化される。The order of the tasks included in the task list displayed on display device 24 may define the execution order of the plurality of tasks. In that case, the
In order to realize the function of the
設定更新部105は、タスク作成部102によりタスクに設定されたアプローチ点およびデパーチャ点のうち少なくともいずれかの点に関する情報を、オペレータの操作入力に基づいて、削除し、変更し、又は、追加する機能を備える。
設定更新部105の機能を実現するために、情報処理装置2の制御部21は、タスク作成用のウィンドウ(図6参照)において入力装置23が受け付けたオペレータの操作入力に基づいてストレージ22にアクセスし、タスクデータベース221に含まれるタスクのアプローチ点およびデパーチャ点の情報を更新する。
設定更新部105によりオペレータが所望の位置に作業要素のアプローチ点およびデパーチャ点を削除し、変更し、又は、追加することができるため、ロボットをオペレータの所望の動作に教示することができる。特に、本実施形態では、タスクの実行結果をCADソフトウェアにより動画再生することができるため、動画再生結果を見た後にオペレータがアプローチ点及び/又はデパーチャ点を削除し、変更し、又は、追加することで、ロボットの動作を最適化するように教示することができる。The
In order to realize the function of the
Since the
グルーピング部106は、表示装置24に表示された階層型リストから2以上の対象物を指定するオペレータの操作入力に基づいて、当該2以上の対象物をグループ化する機能を備える。その場合、タスク作成部102は、グループ化された2以上の対象物のうちいずれかの対象物に対して設定されたアプローチ点およびデパーチャ点のうち少なくともいずれかの点に関する情報を、上記2以上の対象物の他の対象物に対しても設定する。 The
グルーピング部106の機能を実現するために、情報処理装置2に制御部21は、入力装置23からのオペレータの操作入力を受け入れると、当該操作入力によって指定される2以上の対象物が同じグループとして関連付けられるようにタスクデータベース221を更新する。そして、制御部21は、グループ化された2以上の対象物のうちいずれかの対象物に対して、例えばアプローチ点が設定された場合、グループ化された他の対象物のアプローチ点が設定されるように、タスクデータベース221を更新する。グループ化された他の対象物のアプローチ点およびデパーチャ点の設定は、前述したように、グループ化された2以上の対象物のTCPオフセット量が反映されるようにして行われる。
2以上の対象物をグループ化することで、複数の対象物に対するアプローチ点及び/又はデパーチャ点の設定作業が容易となる。In order to implement the function of the
By grouping two or more objects, it becomes easier to set approach points and/or departure points for a plurality of objects.
プログラム作成部107は、タスク作成部102によって作成されたタスクに基づいて、当該タスクに対応する作業要素をロボット5に実行させるためのプログラムを作成する機能を備える。
プログラム作成部107の機能を実現するために、情報処理装置2の制御部21は、タスクに含まれる作業要素の種別、作業要素の目標物、アプローチ点、デパーチャ点、モーションパラメータ、およびインターロックの設定を基に、タスクに対応する作業要素をロボットに実行させるためのプログラムが記述された関数を作成する。例えば、プログラム作成部107は、タスクに含まれる情報を参照し、ストレージ22(第1記憶部の例)に保存された作業要素の種別に応じた所定のプログラムのフォーマットにおける座標位置等を書き換えることで、自動的にプログラムを作成する。The
In order to realize the function of the
プログラム実行部108は、表示装置24に表示されたタスクリストのうち少なくとも1つのタスクを選択するオペレータの操作入力に基づいて、選択された少なくとも1つのタスクに基づいてプログラム作成部107により作成されたプログラムを含むロボットプログラムを実行する機能を備える。
プログラム実行部108の機能を実現するために、情報処理装置2の制御部21は、通信インタフェース部25を介して少なくとも1つのタスクに基づいて作成したロボットプログラムを、ロボット制御装置3へ送信する。ロボット制御装置3では、通信インタフェース部33によりロボットプログラムを受信すると、制御部31が当該ロボットプログラムを実行する。各タスクに基づいて作成されたプログラムは、関数の集合体で構成されている。制御部31はタスクリストに含まれる各タスクに基づいて作成されたプログラムを順に実行する。The
To implement the function of the
表示制御部101は、タスクリストのうちプログラム実行部108による実行結果がエラーを示したタスクであるエラータスクと、タスクリストのうちエラータスク以外のタスクとを異なる表示態様で表示する。
上述したように、ロボット制御装置3の制御部31は、タスクリストに含まれる各タスクに基づいて作成されたプログラムを順に実行するようにしてロボットプログラムを実行する。そして、制御部31は、タスクごとの実行結果(成功又はエラーの結果、および、エラーの場合のエラー原因)を含む実行ログデータを実行ログデータベース224に記録する。エラー原因は、例えば、速度超過、目標点不到達、特異点到達等である。次いで制御部31は、通信インタフェース部33を介して情報処理装置2へ実行ログデータを送信する。情報処理装置2の制御部21は、ロボット制御装置3から実行ログデータを取得すると、実行ログデータに含まれる実行結果が反映されるようにして、タスクリストを表示装置24に表示する。具体的には、タスクリストの表示を、実行結果がエラーを示したエラータスクと、エラータスク以外のタスクとが異なる表示態様となるようにして行う(例えば、図11参照)。そのため、オペレータは、ジョブの中でエラーが発生した作業要素を直ちに認識でき、タスクのアプローチ点、デパーチャ点、あるいはモーションパラメータの設定値の修正等に対処することができる。The
As described above, the control unit 31 of the
ストレージ22(第2記憶部および第3記憶部の例)は、仮想空間におけるロボットRの3次元モデルと、対象物の3次元モデルの情報と、を含む3次元モデルデータベース223を記憶する。
状態情報算出部109は、プログラム実行部108による実行結果に基づいて、時間の経過に応じたロボットの状態を示す情報であるロボット状態データ(状態情報の例)を演算する機能を備える。
シミュレーション部110は、状態情報算出部109によって得られたロボット状態データに基づいて、3次元モデルを仮想空間内で動作させて表示装置24に表示する機能を備える。The storage 22 (an example of a second storage unit and a third storage unit) stores a three-
The state
The
状態情報算出部109およびシミュレーション部110の機能を実現するために、ロボット制御装置3の制御部31は、上述したように、各タスクに基づいて作成されたプログラムを順に実行するようにして、情報処理装置2から受信したロボットプログラムを実行する。そして、制御部31は、ロボットプログラムの実行結果として、ジョブ全体におけるロボット状態データを取得する。ロボット状態データは、時間の経過に応じたロボットの状態を示す物理量(例えば、アームの関節角、アームの速度や加速度、各部の軌跡)のデータである。情報処理装置2の制御部21はロボット制御装置3から、ロボット状態データを含む実行ログデータを取得し、実行ログデータベース224に記録する。さらに制御部21は、実行ログデータを基に仮想空間上でロボットおよび対象物の3次元モデルを動作させて表示装置24に表示する。
したがって、オペレータは、各タスクのロボットの動作を視覚的に確認することができるため、各タスクの設定値(例えば、アプローチ点、デパーチャ点、モーションパラメータ等)や対象物の配置(例えば、図3のキャップトレイ12の配置等)を再検討することが容易となる。In order to realize the functions of the state
Therefore, since the operator can visually confirm the motion of the robot for each task, the set values of each task (for example, approach point, departure point, motion parameters, etc.) and the arrangement of objects (for example, FIG. 3 arrangement of the
判定部111は、階層型リストにおいて、オペレータの操作入力に基づいて、いずれか1つのロボットの構成要素、および、少なくとも1つの対象物が選択された場合に、当該少なくとも1つの対象物が仮想空間においてロボットRのハンド52(ロボットの構成要素の例)により到達可能であるか否かを判定する機能を備える。当該機能は、前述したエリアチェックに相当する。
判定部111の機能を実現するために、情報処理装置2の制御部21は、通信インタフェース部25を介して、ロボットおよび対象物の3次元モデルに基づく座標データ、対象物のTCPの座標のデータをロボット制御装置3へ送信する。ロボット制御装置3の制御部31は、受信したデータを基に、特定の対象物に対して逆運動学によりロボットのアームの関節角を求めることができるか否かを判定する。関節角を求めることができればロボットのハンドが対象物に到達可能であることを意味し、関節角を求めることができなければロボットのハンドが対象物に到達不可能であることを意味する。
判定部111によりロボットプログラムを作成する前に特定の対象物に対するロボットのハンドの到達可否がわかるため、対象物の配置の最適化等の検討を前もって行うことができ、ティーチング作業の効率化が図れる。When any one component of the robot and at least one target object are selected in the hierarchical list based on the operation input by the operator, the
In order to realize the function of the
Since the determining
表示制御部101は、複数の対象物のうち判定部111により到達可能でないと判定された対象物である到達不可対象物が、当該到達不可対象物以外の対象物と識別可能となるように、階層型データを表示してもよい。
エリアチェックでは、図13に示したように、好ましくは、複数の対象物のうち到達可能でないと判定された対象物(到達不可対象物)が、到達不可対象物以外の対象物と識別可能となるように、階層型リストを表示する。図13では、マークM2の有無によって到達不可対象物を識別可能に表示しているが、識別方法は様々な方法を採りうる。例えば、図13の例に代えて、到達不可のペン(Pen)を赤色にするか、あるいは輝度を低下させる等の表示処理を施してもよい。The
In the area check, as shown in FIG. 13, it is preferable that an object (unreachable object) determined to be unreachable among the plurality of objects is identifiable from objects other than the unreachable object. Display a hierarchical list so that In FIG. 13, the unreachable object is displayed so that it can be identified by the presence or absence of the mark M2, but various identification methods can be used. For example, instead of the example of FIG. 13, display processing such as making the unreachable pen (Pen) red or lowering the brightness may be performed.
姿勢選択部112は、オペレータの操作入力に基づいて、ロボットに対して予め定められた複数の姿勢の中からいずれかの姿勢を選択する機能を備える。
その場合、判定部111は、ロボットが姿勢選択部112によって選択された姿勢をとることを条件として、少なくとも1つの対象物がロボットの構成要素により到達可能であるか否かを判定する。姿勢選択が行われた場合には、ロボット制御装置3の制御部31は、ロボットを選択された姿勢に固定した状態で、特定の対象物に対して逆運動学によりロボットのアームの関節角を求めることができるか否かを判定する。
姿勢選択部112を設けることで、オペレータは、ロボットの様々な姿勢を考慮しながら、対象物の配置等の検討を前もって行うことができる。The
In that case, the
By providing the
基準点設定部113は、対象物の3次元モデルの仮想空間内の位置に基づいて、ロボットの対象物に対する作業の基準となる、仮想空間内のTCP(基準点の例)を算出し、TCPを対象物に関連付ける機能を備える。
基準点設定部113の機能を実現するために、情報処理装置2の制御部21は、処理対象となる対象物の3次元モデルのデータに基づき、当該対象物のTCPを設定するとともに、TCPを基準とした当該対象物のローカル座標系を設定する。本実施形態では、教示ソフトウェアとCADソフトウェアが連携しているため、対象物のTCPを自動的、かつ正確に算出することができる。基準点設定部113は、TCPとして対象物の重心位置を算出することが好ましい。
本実施形態では、ロボットのハンドの軌道は、対象物を把持する作業に対応したハンドに設定されたTCPと、目標物である当該対象物のTCPおよびそのローカル座標系とに基づいて決定されるため、ハンドによる作業を精度良くティーチングすることができる。また、TCPとして対象物の重心位置を算出することで、対象物以外の物体(他の対象物や設備等)との干渉を回避しやすい位置をTCPとして特定することができる。The reference
In order to realize the function of the reference
In this embodiment, the trajectory of the robot's hand is determined based on the TCP set for the hand corresponding to the task of gripping the object, the TCP of the object that is the target, and its local coordinate system. Therefore, manual work can be taught with high accuracy. Further, by calculating the center-of-gravity position of the object as the TCP, it is possible to specify as the TCP a position where it is easy to avoid interference with objects other than the object (other objects, equipment, etc.).
モデル配置部114は、対象物の3次元モデルと、TCPと、TCPを原点とした3次元モデルのローカル座標系と、を仮想空間に配置して表示する機能を備える。モデル配置部114の機能を実現するために、情報処理装置2の制御部21は、TCPと、TCPを原点とした3次元モデルのローカル座標系のデータとを、各対象物に関連付けるようにしてストレージ22の3次元モデルデータベース223に記録する。制御部21は、3次元モデルデータベース223を参照して、対象物の3次元モデルと当該対象物のTCPおよびローカル座標系とを表示装置24に表示する。
対象物の3次元モデルと当該対象物のTCPおよびローカル座標系とが表示されることで、オペレータは、アプローチ点APおよびデパーチャ点DPの位置についてCAD用ウィンドウ上で検討しやすくなる。The
By displaying the three-dimensional model of the object, the TCP and the local coordinate system of the object, the operator can easily examine the positions of the approach point AP and the departure point DP on the CAD window.
図9に関連付けて説明したように、TCPの対象物への関連付けは、自動的ではなく、オペレータの操作入力に基づいて行われてもよい。
すなわち、表示制御部101は、3次元モデルを仮想空間内に表示し、基準点設定部113は、仮想空間内の所定点と、階層型データの対象物とを関連付けるオペレータの操作入力に基づいて、上記所定点をTCPとして対象物に関連付けてもよい。このとき、基準点設定部113は、対象物にTCPが関連付けられていない場合には、対象物にTCPが関連付けられていないことを報知してもよい。
この基準点設定部113の機能を実現するために、情報処理装置2の入力装置23が、TCPモデル(図9参照)を所定点にセットし、かつ階層型リストの特定の対象物に対応するノードまでドラッグする操作入力を受け付ける。制御部21は、当該所定点を対象物のTCPとして対象物に関連付けるように、ストレージ22の3次元モデルデータベース223を更新する。
制御部21は、対象物にTCPが関連付けられていない場合に、例えば表示装置24に警告表示を出力することで、当該対象物にTCPを関連付けることをオペレータに促すことができる。As described in connection with FIG. 9, association of TCP to objects may be performed based on an operator's operation input instead of automatically.
That is, the
In order to realize the function of the reference
When TCP is not associated with the object, the
表示制御部101は、対象物に関連付けられたTCPを、階層型データ上の対象物の下層に階層的に表示してもよい。この場合、情報処理装置2の制御部21は、階層型リストを表示するときに、階層型リストデータベース222において各対象物と関連付けられたTCPを読み出して、階層型リストに各対象物の下層にTCPの座標を表示する。それにより、オペレータが、各対象物のTCPの座標を人目で認識できるようになる。 The
インターロック設定部115は、オペレータの操作入力に基づき、タスクに設定された目標点、アプローチ点およびデパーチャ点の少なくともいずれかの点においてロボットの動作を待機させる待機時間のタイムアウト値を設定する機能を備える。
インターロック設定部115の機能を実現するために、情報処理装置2の制御部21は、入力装置23が受け付けたオペレータの操作入力(例えば、図6の教示用ウィンドウW3における操作入力)に基づいてストレージ22にアクセスし、タスクデータベース221に含まれるタスクに含まれる特定のアプローチ点又はデパーチャ点に設定されたインターロックの待機時間のタイムアウト値を書き換える。
インターロック設定部115により、ロボットのオフラインティーチングを行うときに、インターロックによる待機時間のタイムアウト値を作業要素ごとにオペレータが容易に設定することができる。The
In order to realize the function of the
The
なお、シミュレーション部110は、インターロックによる待機時間を無効化して、3次元モデルを仮想空間内で動作させてもよい。つまり、シミュレーション用プログラムを実行するときには、インターロックによる待機を行わずに3次元モデルを動作させる。それによって、オペレータは、仮想空間上でロボットを停止させずに、ロボットの動きに着目してプログラムの実行結果を確認することができる。 Note that the
(4)ロボット教示装置1の主要な処理
次に、図15および図16を参照して、ロボット教示装置1の主要な処理についてシーケンスチャートを参照して説明する。
図15は、本実施形態に係るロボット教示装置のエリアチェックの処理を示すシーケンスチャートの例である。図16は、本実施形態に係るロボット教示装置のジョブの実行処理を示すシーケンスチャートの例である。(4) Main Processing of
FIG. 15 is an example of a sequence chart showing the area check process of the robot teaching device according to this embodiment. FIG. 16 is an example of a sequence chart showing job execution processing of the robot teaching device according to the present embodiment.
(4-1)エリアチェック(図15)
先ず、図15のシーケンスチャートを参照してエリアチェックの処理について説明する。
図4に示した階層型リストのロボット領域RA内のいずれかの対象物に対応するノードをポインティングデバイスで右クリックしてから「エリアチェック」が選択されることで(ステップS10:YES)、エリアチェックの実行が開始される。
先ず、姿勢選択部112は、オペレータのロボットRの姿勢を選択する操作入力があった場合(ステップS12:YES)、当該操作入力に基づいて、ロボットRに対して予め定められた複数の姿勢の中からいずれかの姿勢を選択する。(4-1) Area check (Fig. 15)
First, the area check process will be described with reference to the sequence chart of FIG.
By right-clicking with the pointing device on a node corresponding to any object in the robot area RA of the hierarchical list shown in FIG. 4 and selecting "area check" (step S10: YES), the area Check execution begins.
First, when there is an operation input for selecting the posture of the robot R from the operator (step S12: YES), the
次いで、判定部111は、「エリアチェック」の選択時に指定した対象物が仮想空間においてロボットRのハンド52により到達可能であるか否かを判定し、到達可否結果を表示装置24に表示する。なお、2以上の対象物を指定してエリアチェックを行うことも可能である。判定部111の処理は、具体的には、以下のようにして行われる。
情報処理装置2は、通信インタフェース部25を介して、ロボットRおよび各対象物の3次元モデルに基づく座標データ、各対象物のTCPの座標データをロボット制御装置3へ送信する(ステップS14)。ロボット制御装置3は、受信したデータを基に、指定された各対象物に対して逆運動学によりロボットRのアーム51の関節角を計算する(ステップS16)。ロボット制御装置3は、ステップS16によりアーム51の関節角が求められるか否かに基づいて、アーム51の対象物に対する到達可否を決定する(ステップS18)。ステップS16,S18の処理は、姿勢選択部112により選択されたすべてのロボットRの姿勢について1つずつ行われる。ロボット制御装置3は、すべての姿勢についての処理を終了した場合には(ステップS20:YES)、ロボットRの姿勢ごとのエリアチェック結果(到達可否の結果)を情報処理装置2へ返す(ステップS22)。情報処理装置2は、受信したエリアチェック結果を、例えば図13に示したように、表示装置24に表示する(ステップS24)。Next, the
The
(4-2)ジョブのシミュレーションの実行(図16)
次に、図16のシーケンスチャートを参照してジョブのシミュレーションの実行の処理について説明する。
図10の教示用ウィンドウW4においてオペレータによるボタンb4に対する操作入力(シミュレーションの実行指示)を受け付けると(ステップS30:YES)、プログラム作成部107は、ジョブをロボットRに実行するためのロボットプログラムを作成する(ステップS32)。このロボットプログラムには、ジョブに対応するタスクリストの各タスクに対応する作業要素をロボットRに実行させるためのプログラムが記述された複数の関数が含まれる。(4-2) Execution of job simulation (Fig. 16)
Next, job simulation execution processing will be described with reference to the sequence chart of FIG.
When an operation input (simulation execution instruction) by the operator with respect to the button b4 in the teaching window W4 of FIG. 10 is received (step S30: YES), the
作成されたロボットプログラムは、情報処理装置2からロボット制御装置3へ送信されて(ステップS34)、ロボット制御装置3において実行される。すなわち、プログラム実行部108は、タスク単位でロボットプログラムを実行する(ステップS36)。状態情報算出部109は、プログラム実行部108による実行結果に基づいて、時間の経過に応じたロボットRの状態を示す情報であるロボット状態データを演算し、ロボット状態データを含む実行ログデータをストレージ32に記録する(ステップS38)。ステップS36,S38の処理は、タスクリストに含まれるすべてのタスクが終了するまで行われる。
すべてのタスクについての処理が終了すると(ステップS40:YES)、ロボット制御装置3は、ストレージ32に記録した実行ログデータを情報処理装置2に送信する(ステップS42)。情報処理装置2は、受信した実行ログデータを実行ログデータベース224に記録する。
次いで、シミュレーション部110は、ステップS42で受信した実行ログデータに含まれるロボット状態データ(つまり、状態情報算出部109によって得られたロボット状態データ)に基づいて、3次元モデルを仮想空間内で動作させて表示装置24に表示する(ステップS44)。The created robot program is transmitted from the
When the processing for all tasks is completed (step S40: YES), the
Next, the
(5)変形例
次に、上述した実施形態の変形例について説明する。
(5-1)変形例1
上述した実施形態で説明したエリアチェックでは、ロボットRのハンド52による対象物への到達可否のみを表示する例(図13参照)を挙げたが、より詳細な情報を提供することで、オペレータによるオフラインティーチングを支援することができる。例えば、ロボットRのハンド52により到達可能でないと判定された対象物が、ハンド52にどの程度近接しているかについての情報を提供するようにしてもよい。それによって、例えば対象物の再配置についての有用な情報が得られる。
本変形例では、判定部111は、ロボットRのハンド52(ロボットの構成要素の例)により到達可能でないと判定した対象物である到達不可対象物に対するロボットRのハンド52の近接の程度を特定し、表示制御部101は、到達不可対象物に対するロボットRのハンド52の近接の程度が認識可能となるように表示する。
ハンド52の近接の程度を示す指標の表示例を図17に示す。図17に示すように、到達不可対象物に対してマークM3を表示する。マークM3は、「NG(*)(*:1~5)」という表示形式となっており、括弧内の数字によって近接の程度(例えば、数字が小さいほど近接している)がわかるようになっている。近接の程度は、求められたアーム51の関節角と、関節角の限界角度との差分値によって算出できる。(5) Modification Next, a modification of the above-described embodiment will be described.
(5-1)
In the area check described in the above-described embodiment, an example was given in which only whether or not the
In this modified example, the determining
FIG. 17 shows a display example of the index indicating the degree of proximity of the
(5-2)変形例2
変形例2では、ロボットRのハンド52により到達可能であると判定された対象物が、ハンド52に対してどの程度余裕があるかについての情報が提供される。かかる情報を提供することによっても、オフラインティーチングを支援することができる。例えば対象物の再配置についての有用な情報が得られる。
本変形例では、判定部111は、ロボットRのハンド52により到達可能と判定した対象物である到達可能対象物に対するロボットRのハンド52の到達の余裕度を特定し、表示制御部101は、到達可能対象物に対するロボットRのハンド52の到達の余裕度が認識可能となるように表示する。例えば図17に示すように、到達可能対象物に対してマークM4を表示する。マークM4は、「OK(*)(*:1~5)」という表示形式となっており、括弧内の数字によって余裕度(例えば、数字が大きいほど余裕がある)がわかるようになっている。
余裕度は、求められたアーム51の関節角と、関節角の限界角度との差分値によって算出できる。(5-2)
In Modified Example 2, information is provided as to how much room the
In this modified example, the
The margin can be calculated from the difference value between the obtained joint angle of the
(5-3)変形例3
判定部111は、オペレータの操作入力に基づいていずれか1つのロボットが選択された場合に、複数の対象物の各々がロボットRのハンド52により到達可能であるか否かを判定してもよい。
つまり、階層型リストにおいてロボットRを選択した操作入力に基づいて、すべての対象物に対する到達可否を判定してもよい。それによって、オペレータがエリアチェックを行う対象物を選択する手間を省くことができる。また、すべての対象物に対する到達可否を判定することで、すべての対象物の全体的な配置について検討するための有用な情報が得られる。(5-3)
The
In other words, based on the operation input for selecting the robot R in the hierarchical list, it may be determined whether or not all objects can be reached. This saves the operator the trouble of selecting an object to be checked. In addition, determining the reachability of all objects provides useful information for considering the overall arrangement of all objects.
(5-4)変形例4
プログラム作成部107は、インターロックによる待機時間がタイムアウト値に達した場合には、エラーと判断するようにプログラムを作成してもよい。
ロボットプログラムを実行したときにインターロックによる待機時間がタイムアウト値に達した場合には、エラーと判断することで、例えばロボットRに対する入出力信号に不具合があること等をオペレータが認識することができる。(5-4)
The
When the waiting time due to the interlock reaches the timeout value when the robot program is executed, it is judged as an error, so that the operator can recognize, for example, that there is a problem with the input/output signal to the robot R. .
(5-5)変形例5
プログラム作成部107は、インターロックのタイムアウトによりエラーと判断した場合にロボットRを予め決められた基準姿勢にするように、プログラムを作成してもよい。
変形例4に示したようにしてエラーと判断した場合には、エラーが発生した後の動作を行うよりもロボットRの動作を中止して基準姿勢(例えば、初期の姿勢)に戻す方が好ましい場合がある。(5-5)
The
When it is determined that an error has occurred as shown in
(5-6)変形例6
プログラム作成部107は、インターロックのタイムアウトによりエラーと判断した場合には、ストレージ22(第1記憶部の例)のタスクデータベース221を参照して、オペレータの操作入力に基づく複数のタスクのうちのいずれかのタスクに対応する作業要素をロボットRに実行させるように、プログラムを作成してもよい。
変形例4に示したようにしてエラーと判断した場合には、ロボットRに特定の作業要素を実行させてもよい。特定の作業要素の例としては、現在把持している対象物をエラー用の棚に置くことが挙げられる。(5-6)
When the
If an error is determined as shown in Modified Example 4, the robot R may be caused to execute a specific work element. An example of a specific work element is placing the currently grasped object on the error shelf.
以上、本発明のロボット教示装置の実施形態について詳述したが、本発明は上記の実施形態に限定されない。また、上記の実施形態は、本発明の主旨を逸脱しない範囲において、種々の改良や変更が可能である。
例えば、上述した実施形態に係るロボット教示装置は、図14の機能ブロック図に記載されたすべての機能を備えている必要はなく、少なくとも一部の機能を備えていればよい。
上述した実施形態では、ロボット教示装置は、情報処理装置とロボット制御装置の2つの装置を含む場合について例示したが、その限りではなく、一体の装置として構成してもよい。
上述した実施形態では、情報処理装置の入力装置にポインティングデバイスが含まれる場合について説明したが、その限りではなく、他のデバイスであってもよい。例えば、タッチ入力機能を備えた表示パネルを使用し、オペレータによるタッチ入力を受け付けてもよい。Although the embodiments of the robot teaching device of the present invention have been described above, the present invention is not limited to the above embodiments. Also, the above embodiments can be modified and modified in various ways without departing from the gist of the present invention.
For example, the robot teaching device according to the above-described embodiment does not need to have all the functions described in the functional block diagram of FIG. 14, and may have at least some of the functions.
In the above-described embodiment, the robot teaching device 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.
上述した説明により、図14の機能ブロック図に記載された機能のうち少なくとも一部の機能をコンピュータに実現させるためのプログラム、および、当該プログラムが記録されたコンピュータ可読記憶媒体(不揮発性の記憶媒体をも含む。)が開示されていることは当業者に理解される。 According to the above description, a program for causing a computer to implement at least some of the functions described in the functional block diagram of FIG. 14, and a computer-readable storage medium (non-volatile storage medium ) are disclosed.
1…ロボット教示装置、2…情報処理装置、21…制御部、22…ストレージ、23…入力装置、24…表示装置、25…通信インタフェース部、3…ロボット制御装置、31…制御部、32…ストレージ、33…通信インタフェース部、11…ペントレイ、P…ペン群、12…キャップトレイ、C…キャップ群、13…治具、14…製品トレイ、A1~A12…製品、EC…通信ネットワークケーブル、R…ロボット、51…アーム、52…ハンド、61~68…ノード、101…表示制御部、102…タスク作成部、103…タスク更新部、104…タスク入替部、105…設定更新部、106…グルーピング部、107…プログラム作成部、108…プログラム実行部、109…状態情報算出部、110…シミュレーション部、111…判定部、112…姿勢選択部、113…基準点設定部、114…モデル配置部、115…インターロック設定部、221…タスクデータベース、222…階層型リストデータベース、223…3次元モデルデータベース、224…実行ログデータベース、RA…ロボット領域、PA…対象物領域、W1~W6…ウィンドウ、b1~b4…ボタン、AP…アプローチ点、TP…目標点、DP…デパーチャ点、T…テーブルDESCRIPTION OF
Claims (13)
前記タスク作成部によって作成されたタスクを記憶する第1記憶部と、
前記第1記憶部を参照して、複数のタスクの一覧であるタスクリストを表示装置に表示する表示制御部と、
を備え、
前記表示制御部は、前記ロボットの構成要素と、前記対象物の構成要素とが階層的に記述された階層型データを前記表示装置に表示し、
前記タスク作成部は、前記階層型データの前記ロボットの構成要素および前記対象物の構成要素を指定するオペレータの操作入力に基づいて、前記タスクを作成し、
オペレータの操作入力に基づいて、CAD用ウィンドウで選択した前記ロボット又は前記対象物を前記階層型データに登録し、
前記階層型データにおいて、オペレータの操作入力に基づいて、いずれか1つのロボットの構成要素、および少なくとも1つの対象物が選択された場合に、仮想空間において、選択されたロボットの構成要素が選択された対象物に到達可能かを判定する判定部と、
をさらに備え、
前記判定部によって到達可能と判定されたとき、到達可能と判定された対象部に対する前記選択されたロボットの構成要素の到達の余裕度を特定し、
前記選択された対象物に対して、特定された余裕度を表示するロボット教示装置。 a task creation unit that creates a task, which is information about the work elements of the robot with respect to the object, based on the operator's operation input;
a first storage unit that stores the task created by the task creating unit;
a display control unit that refers to the first storage unit and displays a task list, which is a list of a plurality of tasks, on a display device;
with
The display control unit displays hierarchical data in which components of the robot and components of the object are hierarchically described on the display device,
The task creation unit creates the task based on an operator's operation input specifying the component of the robot and the component of the object in the hierarchical data,
registering the robot or the object selected in the CAD window in the hierarchical data based on an operation input by an operator ;
In the hierarchical data, when any one component of the robot and at least one target object are selected based on the operation input by the operator, the selected component of the robot is selected in the virtual space. a determination unit that determines whether the target object can be reached;
further comprising
When the determination unit determines that the target part is reachable, specifying the degree of margin of arrival of the selected robot component to the target part determined to be reachable,
A robot teaching device that displays the specified margin for the selected object .
請求項1に記載されたロボット教示装置 a program creation unit that creates, based on the task created by the task creation unit, a program for causing the robot to execute a work element corresponding to the task;
The robot teaching device according to claim 1
請求項1から2のいずれか1項に記載されたロボット教示装置。 Deleting any task from the task list and adding the task stored in the first storage unit to the task list based on an operator's operation input to the task list displayed on the display device Or, further comprising a task update unit that changes the contents of any task in the task list,
The robot teaching device according to any one of claims 1 and 2.
前記ロボット教示装置は、
前記表示装置に表示された前記タスクリストに対するオペレータの操作入力に基づいて、前記タスクリストに含まれるタスクの順序を入れ替えるタスク入替部、をさらに備えた、
請求項1から3のいずれか1項に記載されたロボット教示装置。 the order of the tasks included in the task list displayed on the display device defines the execution order of the plurality of tasks;
The robot teaching device is
a task replacement unit that changes the order of the tasks included in the task list based on an operator's operation input for the task list displayed on the display device;
A robot teaching device according to any one of claims 1 to 3.
請求項1に記載されたロボット教示装置。 The task creation unit selects at least a target point of the work element, a first point that is a passing point before reaching the target point, and a second point that is a passing point after reaching the target point. setting information about any point to the task;
The robot teaching device according to claim 1.
請求項5に記載されたロボット教示装置。 Settings for deleting, changing, or adding information about at least one of the first point and the second point set in the task by the task creation unit, based on an operation input by an operator. further comprising an updating unit,
The robot teaching device according to claim 5.
前記タスク作成部は、グループ化された前記2以上の対象物のうちいずれかの対象物に対して設定された前記第1点および前記第2点のうち少なくともいずれかの点に関する情報を、前記2以上の対象物の他の対象物に対しても設定する、
請求項5に記載されたロボット教示装置。 a grouping unit that groups the two or more objects based on an operator's operation input specifying two or more objects from the hierarchical data displayed on the display device;
The task creation unit generates information about at least one of the first point and the second point set for one of the two or more grouped objects, Also set for other objects of two or more objects,
The robot teaching device according to claim 5.
請求項1に記載されたロボット教示装置。 The display control unit divides the hierarchical data into a first area for hierarchically displaying the constituent elements of the robot and a second area for hierarchically displaying the constituent elements of the object. is displayed on the display device;
The robot teaching device according to claim 1.
請求項2に記載されたロボット教示装置。 A robot including a program created by the program creating unit based on the selected at least one task based on an operator's operation input for selecting at least one task from the task list displayed on the display device. further comprising a program execution unit that executes a program,
The robot teaching device according to claim 2.
請求項9に記載されたロボット教示装置。 The display control unit displays an error task, which is a task whose execution result by the program execution unit indicates an error in the task list, and a task other than the error task in the task list in different display modes.
The robot teaching device according to claim 9.
前記プログラム実行部による実行結果に基づいて、時間の経過に応じた前記ロボットの状態を示す情報である状態情報を演算する状態情報算出部と、
前記状態情報算出部によって得られた状態情報に基づいて、前記3次元モデルを仮想空間内で動作させて前記表示装置に表示するシミュレーション部と、
をさらに備えた、
請求項9又は10に記載されたロボット教示装置。 a second storage unit that stores information of the three-dimensional model of the robot in virtual space;
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;
a simulation unit that operates the three-dimensional model in a virtual space and displays it on the display device based on the state information obtained by the state information calculation unit;
further comprising
The robot teaching device according to claim 9 or 10.
前記ロボットの前記対象物に対する作業の基準となる基準点を、前記対象物に関連付ける基準点設定部と、をさらに備え、
前記基準点設定部は、前記階層型データ上に表示された対象物の3次元モデルの仮想空間内の位置に基づき、前記基準点を算出する、
請求項1から11のいずれか1項に記載されたロボット教示装置。 a third storage unit that stores information of the three-dimensional model of the object in the virtual space;
a reference point setting unit that associates with the object a reference point that serves as a reference for work performed by the robot on the object,
The reference point setting unit calculates the reference point based on the position in the virtual space of the three-dimensional model of the object displayed on the hierarchical data.
A robot teaching device according to any one of claims 1 to 11.
請求項5又は6に記載されたロボット教示装置。 An interlock that sets a timeout value of a waiting time for the robot to wait at at least one of the target point, the first point, and the second point set for the task, based on an operator's operation input. further comprising a setting unit,
A robot teaching device according to claim 5 or 6.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017184640 | 2017-09-26 | ||
JP2017184640 | 2017-09-26 | ||
PCT/JP2018/028990 WO2019064915A1 (en) | 2017-09-26 | 2018-08-02 | Robot teaching device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2019064915A1 JPWO2019064915A1 (en) | 2020-10-15 |
JP7167925B2 true JP7167925B2 (en) | 2022-11-09 |
Family
ID=65901578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019544367A Active JP7167925B2 (en) | 2017-09-26 | 2018-08-02 | Robot teaching device |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7167925B2 (en) |
WO (1) | WO2019064915A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7411918B2 (en) * | 2019-04-24 | 2024-01-12 | パナソニックIpマネジメント株式会社 | Work instruction device in manufacturing factory and work instruction method in manufacturing factory |
WO2024203437A1 (en) * | 2023-03-31 | 2024-10-03 | ソニーグループ株式会社 | Control method, control device, generation method, and generation device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010089218A (en) | 2008-10-09 | 2010-04-22 | Seiko Epson Corp | Position teaching device of industrial robot, operational program preparing device, and method and program for position teaching of industrial robot |
JP2011123667A (en) | 2009-12-10 | 2011-06-23 | Star Micronics Co Ltd | Command display device of numerical control program, and command display program |
JP2014117781A (en) | 2012-12-18 | 2014-06-30 | Yaskawa Electric Corp | Teaching data creation device, robot system, and teaching data creation method |
WO2016103307A1 (en) | 2014-12-26 | 2016-06-30 | 川崎重工業株式会社 | Method for generating robot operation program, and device for generating robot operation program |
JP2016209969A (en) | 2015-05-12 | 2016-12-15 | キヤノン株式会社 | Information processing method and information processor |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997011416A1 (en) * | 1995-09-19 | 1997-03-27 | Kabushiki Kaisha Yaskawa Denki | Robot language processor |
JPH09212219A (en) * | 1996-01-31 | 1997-08-15 | Fuji Facom Corp | Three-dimensional virtual model creation device and monitoring control device for controlled object |
DE602006003726D1 (en) * | 2006-04-03 | 2009-01-02 | Abb Research Ltd | Device and method for producing a train for an industrial robot |
-
2018
- 2018-08-02 JP JP2019544367A patent/JP7167925B2/en active Active
- 2018-08-02 WO PCT/JP2018/028990 patent/WO2019064915A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010089218A (en) | 2008-10-09 | 2010-04-22 | Seiko Epson Corp | Position teaching device of industrial robot, operational program preparing device, and method and program for position teaching of industrial robot |
JP2011123667A (en) | 2009-12-10 | 2011-06-23 | Star Micronics Co Ltd | Command display device of numerical control program, and command display program |
JP2014117781A (en) | 2012-12-18 | 2014-06-30 | Yaskawa Electric Corp | Teaching data creation device, robot system, and teaching data creation method |
WO2016103307A1 (en) | 2014-12-26 | 2016-06-30 | 川崎重工業株式会社 | Method for generating robot operation program, and device for generating robot operation program |
JP2016209969A (en) | 2015-05-12 | 2016-12-15 | キヤノン株式会社 | Information processing method and information processor |
Also Published As
Publication number | Publication date |
---|---|
JPWO2019064915A1 (en) | 2020-10-15 |
WO2019064915A1 (en) | 2019-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6676286B2 (en) | Information processing method and information processing apparatus | |
US9984178B2 (en) | Robot simulator, robot teaching apparatus and robot teaching method | |
JP6350037B2 (en) | Robot simulator and robot simulator file generation method | |
US9387589B2 (en) | Visual debugging of robotic tasks | |
WO2019064916A1 (en) | Robot simulator | |
EP1310844A1 (en) | Simulation device | |
JP2019171501A (en) | Robot interference determination device, robot interference determination method and program | |
JP2019171498A (en) | Robot program execution device, robot program execution method and program | |
JP7259860B2 (en) | ROBOT ROUTE DETERMINATION DEVICE, ROBOT ROUTE DETERMINATION METHOD, AND PROGRAM | |
JP7151713B2 (en) | robot simulator | |
JPWO2019064919A1 (en) | Robot teaching device | |
JP7167925B2 (en) | Robot teaching device | |
EP3638463A1 (en) | Method and system for teaching a robot in reaching a given target in robot manufacturing | |
WO2020059342A1 (en) | Robot simulator | |
JP6900533B2 (en) | Information processing methods, information processing devices, robot devices, information processing programs, and computer-readable recording media | |
JP7099470B2 (en) | Robot teaching device | |
JP7024795B2 (en) | Robot teaching device | |
JP2019171499A (en) | Robot interference determination device, robot interference determination method and program | |
WO2020066947A1 (en) | Robot route determination device, robot route determination method, and program | |
JP7074057B2 (en) | Work description creation device for industrial robots and work description creation method for industrial robots | |
JP7322099B2 (en) | Information processing method, information processing device, robot device, program, and computer-readable recording medium | |
JP2019171500A (en) | Robot interference determination device, robot interference determination method and program | |
WO2022222061A1 (en) | Robot teaching system and method and robot control system and method | |
JP2024011847A (en) | Information processing method, information processing device, robot system, method for manufacturing article, program and recording medium |
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: 20211109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220531 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220721 |
|
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: 20220927 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221010 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7167925 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |