JP7099470B2 - Robot teaching device - Google Patents
Robot teaching device Download PDFInfo
- Publication number
- JP7099470B2 JP7099470B2 JP2019544370A JP2019544370A JP7099470B2 JP 7099470 B2 JP7099470 B2 JP 7099470B2 JP 2019544370 A JP2019544370 A JP 2019544370A JP 2019544370 A JP2019544370 A JP 2019544370A JP 7099470 B2 JP7099470 B2 JP 7099470B2
- Authority
- JP
- Japan
- Prior art keywords
- robot
- task
- unit
- teaching
- 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
- 230000036544 posture Effects 0.000 claims description 29
- 238000013459 approach Methods 0.000 description 52
- 230000006870 function Effects 0.000 description 51
- 230000010365 information processing Effects 0.000 description 47
- 230000033001 locomotion Effects 0.000 description 32
- 238000010586 diagram Methods 0.000 description 25
- 101000579646 Penaeus vannamei Penaeidin-1 Proteins 0.000 description 20
- 238000000034 method Methods 0.000 description 19
- 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
- 238000004088 simulation Methods 0.000 description 15
- 238000012986 modification Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000001133 acceleration Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- -1 ... Proteins 0.000 description 5
- 230000005484 gravity Effects 0.000 description 5
- 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
- 238000000547 structure data Methods 0.000 description 3
- 101100206195 Arabidopsis thaliana TCP2 gene Proteins 0.000 description 2
- 101100536570 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) CCT2 gene Proteins 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 1
- 238000012790 confirmation Methods 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
- 238000012905 input function Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000002699 waste material 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)
- Manipulator (AREA)
- Numerical Control (AREA)
Description
本発明は、ロボット教示装置に関する。 The present invention relates to a robot teaching device.
ロボットを工場のライン等で使用するためには、利用者は、ロボットに対して動作を教示(ティーチング)する必要がある。例えば、特許文献1には、ロボット、および、ロボットの作業の対象物をコンピュータにより仮想空間上に配置し、ロボットの動作プログラムを作成する技術(ティーチング技術)が開示されている。
In order to use the robot on a factory line or the like, the user needs to teach the robot the movement. For example,
ところで、従来のティーチング技術では、ロボットに対して一連の動作を教示した後、当該一連の動作をロボットが実行可能であるか判断していた。しかし、いったんロボットに対して一連の動作を教示し、ロボットの一連の動作の軌跡を設定したにもかかわらず、ロボットが実行できない動作が含まれている場合があった。その場合、再度ロボットに対する教示を再度行わねばならず、ティーチング作業に無駄が生ずることになる。 By the way, in the conventional teaching technique, after teaching a series of movements to the robot, it is determined whether the robot can execute the series of movements. However, even though the robot was once taught a series of movements and the trajectory of the series of movements of the robot was set, there were cases where the movements that the robot could not perform were included. In that case, the teaching to the robot must be performed again, which results in waste in the teaching work.
そこで、本発明は、ロボットのティーチング作業を従来よりも効率的に行うことができるようにすることを目的とする。 Therefore, an object of the present invention is to enable the teaching work of the robot to be performed more efficiently than before.
本願の例示的な第1発明は、ロボットの構成要素と、前記ロボットの作業対象である対象物の構成要素とが階層的に記述された階層型データを表示装置に表示する表示制御部と、仮想空間内の前記ロボットの3次元モデルと、前記対象物の3次元モデルとを記憶する記憶部と、前記階層型データにおいて、オペレータの操作入力に基づいて、いずれか1つの前記ロボットの構成要素、および、少なくとも1つの対象物が選択された場合に、当該少なくとも1つの対象物が仮想空間において前記ロボットの構成要素により到達可能であるか否かを判定する判定部と、を備えたロボット教示装置である。 An exemplary first invention of the present application includes a display control unit that displays hierarchical data in which a robot component and a component of an object that is the work target of the robot are hierarchically described on a display device. In the storage unit that stores the three-dimensional model of the robot in the virtual space and the three-dimensional model of the object, and in the hierarchical data, any one of the components of the robot is based on the operation input of the operator. , And a robot teaching unit comprising, when at least one object is selected, a determination unit for determining whether or not the at least one object is reachable by the robot component in the virtual space. It is a device.
本発明によれば、ロボットのティーチング作業を従来よりも効率的に行うことができる。 According to the present invention, the teaching work of the robot can be performed more efficiently than before.
以下、本発明のロボット教示装置の一実施形態について説明する。
本実施形態のロボット教示装置1は、ロボットを実際に動作させることなく、オペレータが当該ロボットの動作を教示するための教示データを作成するオフラインティーチングを提供する。
以下の説明において、「作業要素」とは、物体を「取る」や「置く」等、一連の作業の中でロボットが行う最小単位の作業を意味する。
「対象物」とは、ロボットの作業の対象となる物体を意味し、ロボットが把持する物体(例えば、加工対象物であるワーク)に限らず、ロボットの作業に関連する物体(例えば、ロボットが把持する物体を置く棚)をも含む。Hereinafter, an embodiment of the robot teaching device of the present invention will be described.
The
In the following description, the "working element" means the smallest unit of work performed by a robot in a series of work such as "taking" or "putting" an object.
The "object" means an object that is the object of work of the robot, and is not limited to an object that the robot holds (for example, a work that is a processing object) but an object that is related to the work of the robot (for example, the robot). Also includes a shelf on which to hold objects).
(1)本実施形態に係るロボット教示装置の構成
以下、本実施形態のロボット教示装置1の構成について、図1および図2を参照して説明する。図1は、本実施形態のロボット教示装置1の全体構成について示す図である。図2は、本実施形態のロボット教示装置1に含まれる各装置のハードウェア構成を示す図である。(1) Configuration of Robot Teaching Device According to the Present Embodiment Hereinafter, the configuration of the
図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
Execution log data acquired from the
入力装置23は、オペレータによる操作入力を受け付けるためのデバイスであり、ポインティングデバイスを含む。
表示装置24は、教示ソフトウェアおよびCADソフトウェアの実行結果を表示するためのデバイスであり、表示駆動回路および表示パネルを含む。
通信インタフェース部25は、ロボット制御装置3との間でネットワーク通信を行うための通信回路を含む。The
The display device 24 is a device for displaying the execution result of the teaching software and the CAD software, and includes a display drive circuit and a display panel.
The
ロボット制御装置3は、制御部31と、ストレージ32と、通信インタフェース部33とを備える。
制御部31は、CPU、ROM、RAM、および、制御回路を含む。制御部31は、情報処理装置2から受信するロボットプログラムを実行し、実行ログデータを出力する。実行ログデータには、ロボットプログラムの実行結果と、ロボットプログラムに記述された作業を実行するロボットのロボット状態データとを含む。
ロボット状態データは、時間の経過に応じたロボットの状態を示す物理量のデータである。ロボットの状態を示す物理量としては、ロボットのアームの関節角、アームの速度や加速度が挙げられる。The
The control unit 31 includes a CPU, a ROM, a RAM, and a control circuit. The control unit 31 executes the robot program received from the
The robot state data is physical quantity data indicating the state of the robot according to the passage of time. Examples of physical quantities indicating the state of the robot include the joint angle of the arm of the robot, the speed and acceleration of the arm.
ストレージ32は、HDDあるいはSSD等の大容量記憶装置であり、制御部31のCPUにより逐次アクセス可能に構成されている。ストレージ32には、ロボットプログラムおよび実行ログデータが格納される。
通信インタフェース部33は、情報処理装置2との間でネットワーク通信を行うための通信回路を含む。The storage 32 is a large-capacity storage device such as an HDD or SSD, and is configured to be sequentially accessible by the CPU of the control unit 31. The storage 32 stores the robot program and the execution log data.
The communication interface unit 33 includes a communication circuit for performing network communication with the
(2)オフラインティーチングにおけるユーザインタフェース
本実施形態のロボット教示装置1において、情報処理装置2は、ロボットに対するオフラインティーチングを提供する。このオフラインティーチングでは、教示ソフトウェアおよびCADソフトウェアが協働して実行され、以下で説明する有用なユーザインタフェースが提供される。
本実施形態においてオペレータがオフラインティーチングを行うときには、CADソフトウェアと教示ソフトウェアを情報処理装置2に実行させる。
CADソフトウェアの実行結果はCAD用ウィンドウに表示され、教示ソフトウェアの実行結果は教示用ウィンドウに表示される。オペレータは、CAD用ウィンドウと教示用ウィンドウの両方を情報処理装置2に表示させ、あるいはCAD用ウィンドウと教示用ウィンドウを切り替えながら情報処理装置2に表示させ、ティーチングに関連する操作を行う。(2) User Interface in Offline Teaching In the
When the operator performs offline teaching in the present embodiment, 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 the present embodiment. FIG. 3 shows an image of a robot R, a
In the example shown in FIG. 3, it is assumed that the robot R performs a series of operations by fitting a cap on a pen and assembling a product (a finished product with the cap fitted on the pen). A pen group P composed 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 the present embodiment. What is displayed in the teaching window W2 is the robot R included in the CAD image of FIG. 3 and a hierarchical list (an example of hierarchical data) showing the hierarchical relationship of the objects.
教示ソフトウェアは、CADソフトウェアと連携して階層型リストを作成することができる。階層型リストとして木構造のデータフォーマットが教示ソフトウェアによって用意される。オペレータは、CAD用ウィンドウと教示用ウィンドウを表示させた状態で、CAD画像内のロボットRおよび対象物をポインティングデバイスで選択した状態で上記木構造のデータフォーマットの所望のノードまでドラッグする操作を行う。この操作を、ロボットRの教示を行うのに必要となるすべての対象物に対して順に行うことで、階層型リストを完成させることができる。階層型リストに表示される各ノードの名称は、元となる3次元モデルの名称がそのまま適用されてもよいが、後で名称を変更できるようにしてもよい。 The teaching software can create a hierarchical list in cooperation with the CAD software. A tree-structured data format is provided by the teaching software as a hierarchical list. The operator performs an operation of dragging the robot R and the object in the CAD image to a desired node of the above-mentioned tree structure data format with the CAD image and the teaching window displayed while the robot R and the object are selected by the pointing device. .. By performing this operation in order for all the objects required for teaching the robot R, the hierarchical list can be completed. The name of each node displayed in the hierarchical list may be the same as the name of the original 3D model, but the name may be changed later.
以下の説明では、CAD画像内のロボットR、対象物を階層型リストのいずれかのノードに含めるようにすることを、ロボットR又は対象物を「階層型リストに登録する」という。図3では、ロボットが1体である場合のCAD画像を例示しているが、ロボットが2体以上存在する場合には、当該2体以上のロボットを階層型リストに登録することができる。 In the following description, including the robot R and the object in any node of the hierarchical list in the CAD image is referred to as "registering the robot R or the object in the hierarchical list". FIG. 3 illustrates a CAD image when there is one robot, but when there are two or more robots, the two or more robots can be registered in the hierarchical list.
図4に示す階層型リストにおいて、ロボットR(Robot_R)のノードの下層には、ハンドに関連する3個のノードが設けられている。ハンドに対して複数のノードを設けているのは、ハンドに想定される作業状態を考慮するためである。すなわち、ノード61~63は、以下の内容を意味し、それぞれ後述するTCP(Tool Center Point)が設定されている。
In the hierarchical list shown in FIG. 4, three nodes related to the hand are provided in the lower layer of the node of the robot R (Robot_R). The reason why a plurality of nodes are provided for the hand is to consider the working state assumed for the hand. That is, the
・ノード61(Pen)…ペンを把持する作業に対応したハンド
・ノード62(Cap)…キャップを把持する作業に対応したハンド
・ノード63(Pen_with_Cap)…キャップが嵌められたペンを把持する作業に対応したハンド-Node 61 (Pen) ... Hand corresponding to the work of gripping the pen-Node 62 (Cap) ... Hand corresponding to the work of gripping the cap-Node 63 (Pen_with_Cap) ... For the work of gripping the pen with the cap fitted Corresponding hand
ノード61~63のいずれかを対象として右クリック操作を行い、「ハンドシーケンス操作」を選択すると、アクチュエーション方式(シングルソレノイド、又はダブルソレノイド等)、センサ種類などのハンドシーケンスに関連する設定を行うことができる。
ハンドシーケンスは、ロボットRのハンド52が把持する対象物に依存するため、ハンド52が把持する対象物ごとに設定される。ハンドシーケンスが設定されていない場合に後述するタスクを作成した場合には、タスクに基づくプログラムを実行できないため、表示装置24に警告表示を出力してもよい。Right-click on any of the
Since the hand sequence depends on the object held 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, the robot region RA (example of the first region) for displaying the components of the robot R (Robot_R, Hand in FIG. 4) hierarchically and the components of the object are hierarchically displayed. Hierarchical data is displayed separately from the object area PA (example of the second area) for displaying in a targeted manner.
The components of the object include jig (JIG), pen tray (PenTray), cap tray (CapTray), product tray (ProductTray), pen (Pen1, Pen2, ..., Pen12), cap (Cap1, Cap2, ..., Cap12) and products (PenProduct1, PenProduct2, ..., PenProduct12) are included.
Below the node of the jig (JIG), for example, the following node is provided corresponding to the work for the jig.
・ノード64(PenProduct)…製品(PenProduct)を保持した状態の治具
・ノード65(PenJ)…ペン(Pen)を保持した状態の治具
・ノード66(CapJ)…キャップ(Cap)を保持した状態の治具-Node 64 (PenProduct) ... Jig holding the product (PenProduct) -Node 65 (PenJ) ... Jig holding the pen (Pen) -Node 66 (CapJ) ... Holding the cap (Cap) State jig
ペントレイ(PenTray)のノードの下位には、ペンPen1, Pen2,…,Pen12に対応する各ノードが設けられる。キャップトレイ(CapTray)のノードの下位には、キャップCap1, Cap2,…,Cap12に対応する各ノードが設けられる。製品トレイ(ProductTray)のノードの下位には、製品PenProduct1, PenProduct2,…,PenProduct12に対応する各ノードが設けられる。 Below the nodes of the pen tray (PenTray), each node corresponding to the pens Pen1, Pen2, ..., Pen12 is provided. Below the nodes of the cap tray (CapTray), each node corresponding to the caps Cap1, Cap2, ..., Cap12 is provided. Below the nodes of the product tray (ProductTray), each node corresponding to the products PenProduct1, PenProduct2, ..., PenProduct12 is provided.
階層型リストの中のロボットR(図4のRobot_R)、および対象物(治具(JIG)、ペントレイ(PenTray)、キャップトレイ(CapTray)、製品トレイ(ProductTray)、ペンPen1, Pen2,…,Pen12、キャップCap1, Cap2,…,Cap12、および、製品PenProduct1, PenProduct2,…,PenProduct12)の各ノードは、各々に対応する3次元モデルのデータと関連付けられた状態となっている。そのため、階層型リストを作成後に階層型リスト内のロボットRおよび対象物の3次元モデルに変更があった場合であっても、階層型リストに再度登録する必要はない。 Robot R (Robot_R in Fig. 4) in the hierarchical list, and objects (jig (JIG), pen tray (PenTray), cap tray (CapTray), product tray (ProductTray), pen Pen1, Pen2, ..., Pen12 , Cap Cap1, Cap2, ..., Cap12, and each node of the product PenProduct1, PenProduct2, ..., PenProduct12) are in a state associated with the data of the corresponding three-dimensional model. Therefore, even if the robot R in the hierarchical list and the three-dimensional model of the object are changed after the hierarchical list is created, it is not necessary to register the robot R in the hierarchical list again.
図4の階層型リストにおいて、CAD用ウィンドウにおいて、選択したロボットR、対象物、部品又はTCP等を、ロボット領域RA内の任意のノードの位置に右クリックする操作を行い、「部品の追加」を選択することで、階層型リストに、CAD用ウィンドウで選択したロボットR又は対象物を階層型リストに登録する。
図4の階層型リストにおいて、任意の位置を右クリックする操作を行い、「一括更新」を選択することで、CADソフトウェア上で対象物の位置関係を変更した場合に、変更後の位置関係についての情報が階層型リストに反映される。In the hierarchical list of FIG. 4, in the CAD window, right-click the selected robot R, object, part, TCP, etc. at the position of any node in the robot area RA to "add parts". By selecting, the robot R or the object selected in the CAD window is registered in the hierarchical list.
In the hierarchical list of FIG. 4, when the positional relationship of the object is changed on the CAD software by right-clicking an arbitrary position and selecting "Batch update", the changed positional relationship Information is reflected in the hierarchical list.
(2-2)グルーピング
階層型リストに登録された2以上の対象物はグループ化することができる。
グループ化するときの手順は、以下のとおりである。例えば、図4において、ペントレイ(PenTray)に含まれるペンPen1, Pen2をグループ化する場合、ポインティングデバイスで階層型リストの中のペンPen1, Pen2に対応するノードを指定して右クリック操作を行い、次いで「グループ作成」を選択する操作を行う。この操作を行うことで、ペンPen1, Pen2がグループ化される。階層型リストにおいてグループ化された2以上の対象物は、当該2以上の対象物がグループ化されていることがオペレータに認識可能となるように、例えば図4に示すように矩形の枠で囲う、共通の字体とする、あるいは同一の色を付す等の表示処理を行うことが好ましい。(2-2) Grouping Two or more objects registered in the hierarchical list can be grouped.
The procedure for grouping is as follows. For example, in FIG. 4, when grouping the pens Pen1 and Pen2 included in the penTray, specify the node corresponding to the pens Pen1 and Pen2 in the hierarchical list on the pointing device and perform a right-click operation. Next, perform an operation to select "Create group". By performing this operation, the pens Pen1 and Pen2 are grouped. Two or more objects grouped in a hierarchical list are enclosed in a rectangular frame, for example, as shown in FIG. 4, so that the operator can recognize that the two or more objects are grouped. , It is preferable to perform display processing such as using a common font or adding the same color.
なお、図4に示す例は、連続する2つのノードに対応する対象物をグループ化する場合であるが、連続していない2つのノードに対応する対象物をグループ化する場合には、グループ化した2つのノードが連続するように階層型リストを更新するようにしてもよい。
例えば、ペンPen1とペンPen3をグループ化する場合には、ペントレイ(PenTray)のノードの下位ノードの順序を、ペンPen1, Pen3, Pen2…に更新する、といった具合である。The example shown in FIG. 4 is a case of grouping objects corresponding to two consecutive nodes, but a grouping of objects corresponding to two non-consecutive nodes. The hierarchical list may be updated so that the two nodes are continuous.
For example, when pen Pen1 and pen Pen3 are grouped, the order of the lower nodes of the nodes of the pen tray (PenTray) is updated to pen Pen1, Pen3, Pen2, and so on.
(2-3)タスクについて
次に、タスクについて、図5を参照して説明する。図5は、タスクを概念的に説明するための図である。
タスクとは、一連の作業の中でロボットが行う最小単位の作業である作業要素に関する情報である。ロボットRが行う一連の作業(以下、「ジョブ」という。)は、複数の作業要素と、作業要素間の移動とにより構成される。従って、本実施形態では、ロボットRが行うジョブに対して複数のタスクが定義される。(2-3) Tasks Next, the tasks will be described with reference to FIG. FIG. 5 is a diagram for conceptually explaining a task.
A task is information about a work element, which 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 "job") is composed of a plurality of work elements and movement between the work elements. Therefore, in the present embodiment, a plurality of tasks are defined for the job performed by the robot R.
図5において、矢印付きの線は、ロボットRのハンド52の軌跡を概念的に示している。当該軌跡は、作業要素の目標点TPに到達する前の通過点であるアプローチ点AP1,AP2(それぞれ第1点の例)と、目標点TPと、目標点TPに到達した後の通過点であるデパーチャ点DP1,DP2(それぞれ第2点の例)とを含む。目標点TPは、作業要素の対象である対象物の位置を示しており、後述する対象物のTCPとしてもよい。
In FIG. 5, the line with the arrow conceptually shows the locus of the
図5に示す例では、アプローチ点AP1に到達する前のロボットRの動作が、作業要素間の移動(つまり、前の作業要素と図5に示す作業要素との間の移動)に相当する。アプローチ点AP1からデパーチャ点DP2までのロボットRの動作が1つの作業要素および1つのタスクに対応する。デパーチャ点DP2から後のロボットRの動作が、作業要素間の移動(つまり、図5に示す作業要素と次の作業要素との間の移動)に相当する。
すなわち、タスクは、作業要素に関する情報のほか、目標点TP、アプローチ点AP、およびデパーチャ点DPのうち少なくともいずれかの点に関する情報を含んでもよい。In the example shown in FIG. 5, the operation of the robot R before reaching the approach point AP1 corresponds to the movement between the working elements (that is, the movement between the previous working element and the working element shown in FIG. 5). The movement of the robot R from the approach point AP1 to the departure point DP2 corresponds to one work element and one task. The operation of the robot R after the departure point DP2 corresponds to the movement between the working elements (that is, the movement between the working element shown in FIG. 5 and the next working element).
That is, the task may include information about the work element, as well as information about at least one of the target point TP, the approach point AP, and the departure point DP.
図5では、アプローチ点AP1,AP2においてインターロックが設定されている場合が例示されている。インターロックは、他のロボット等との干渉を回避するために、入力信号に基づいて、目標点TP、アプローチ点AP、およびデパーチャ点DPの少なくともいずれかの点においてロボットRの動作を待機させる処理である。
タスクには、インターロックを設定する点と、インターロックによる待機時間のタイムアウト値とを含むインターロック設定に関する情報を含んでもよい。FIG. 5 illustrates a case where an interlock is set at approach points AP1 and AP2. The interlock is a process of waiting the operation of the robot R at at least one of the target point TP, the approach point AP, and the departure point DP based on the input signal in order to avoid interference with other robots and the like. Is.
The task may include information about the interlock setting, including the point at which the interlock is set and the timeout value for the wait time due to the interlock.
(2-4)タスクの作成
次に、階層型リストを用いたタスクの作成方法について、図4および図6を参照して説明する。図6は、本実施形態の一例に係る教示用ウィンドウの遷移を示す図である。
図4に示す階層型リストにおいてタスクを作成するには、先ず、ロボット領域RAに含
まれるロボットR(Robot_R)のハンド(Hand)のノード61~63のうちいずれかのノードを、オペレータがポインティングデバイスで選択して右クリック操作を行い、「タスク作成」を選択する。すなわち、ノードの選択は、オペレータの操作入力に基づいて、タスクに対応する作業要素におけるロボットRのハンドの把持対象から選択される。(2-4) Creation of Task Next, a method of creating a task using a hierarchical list will be described with reference to FIGS. 4 and 6. FIG. 6 is a diagram showing a transition of the teaching window according to an example of the present embodiment.
In order to create a task in the hierarchical list shown in FIG. 4, the operator first selects one of the
「タスク作成」が選択されると、図6のタスク作成のための教示用ウィンドウW3が表示される。教示用ウィンドウW3はタスクの詳細設定を行うための画面であり、タスク名称(Name)と、作業要素の種別(Function)、作業要素の目標物(Target)の各項目が表示される。ここで、階層型リストの対象物領域PAの中からいずれかの対象物に対応するノードをポインティングデバイスで左クリックすることで、教示用ウィンドウW3の目標物(Target)の項目に、左クリックにより選択された対象物が入力される。作業要素の種別(Function)の欄には、予め設定された複数の種類の作業要素(例えば、取る(Pick up)、置く(Place)等)の候補からなるプルダウンメニューの中からいずれかの作業要素を選択できるように構成されている。 When "Create task" is selected, the teaching window W3 for creating the task of FIG. 6 is displayed. The teaching window W3 is a screen for making detailed settings for a task, and displays each item of a task name (Name), a work element type (Function), and a work element target (Target). Here, by left-clicking the node corresponding to any object from the object area PA of the hierarchical list with the pointing device, the item of the target (Target) of the teaching window W3 can be left-clicked. The selected object is entered. In the work element type (Function) column, one of the work from the pull-down menu consisting of multiple preset types of 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 the object to be worked from the object area PA of the hierarchical list with the pointing device and performing a left-click operation, the object is selected as the target item of the teaching window W3. The target object is entered.
When data is input for each item of work element type (Function) and target (Target), the task name (Name) is automatically determined and displayed based on the data.
例えば、ロボットRのハンドが何も把持していない状態において、「ペントレイからペンPen1を取る」という作業要素に対応するタスクを作成するには、ロボット領域RA内のノード61を、オペレータはポインティングデバイスで右クリックしてから「タスク作成」を選択する。次いで、階層型リストの対象物領域PAの中からペントレイ(PenTray)に対応するノード67を対象としてポインティングデバイスで左クリック操作を行うことで教示用ウィンドウW3の目標物(Target)の項目に、ペントレイ(PenTray)が入力される。作業要素の種別(Function)の欄では、複数の種類の作業要素の候補の中から「取る(Pick up)」を選択する。そして、階層型リストの対象物領域PAの中から作業対象となるペンPen1に対応するノード68を対象としてポインティングデバイスで左クリック操作を行うことで、図6に示す教示用ウィンドウW3が表示される。
For example, in a state where the hand of the robot R is not holding anything, in order to create a task corresponding to the work element of "taking the pen Pen1 from the pen tray", the operator inputs the
以上の操作の結果、「ペントレイからペン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 about the work element "take the pen Pen1 from the pen tray".
In the present embodiment, the operator can intuitively perform a task by designating the object of the work element (here, "Pen Pen1") and the start point (for example, "pen tray") or the end point of the work element on the hierarchical list. Can be created. The name of the task is the work content of the work element (for example, "Pickup"), the work target (for example, "Pen Pen1"), the object that is the start point of the work element (for example, "Pen tray"), or the end point. Since it is automatically created to include the object, the content of the task can be immediately understood from the name of the task.
It should be noted that a task may be collectively created for two or more objects grouped in a hierarchical list.
タスクを作成した場合、タスクに含まれるアプローチ点AP、目標点TP、および、デパーチャ点DPについての情報が自動的に作成される。すなわち、タスクは、当該タスクに関連する対象物の仮想空間上の3次元モデルのデータと関連付けられているため、3次元モデルのデータに基づいて、所定の基準によりアプローチ点AP、目標点TP、および、デパーチャ点DPの各点を算出する。算出方法の一例では、対象物の目標点TPとしてTCP(Tool Center Point;基準点の一例)を算出し、TCPを基準として、アプローチ点APおよびデパーチャ点DPを算出する。 When a task is created, information about the approach point AP, target point TP, and departure point DP included in the task is automatically created. That is, since the task is associated with the data of the 3D model on the virtual space of the object related to the task, the approach point AP, the target point TP, based on the data of the 3D model, according to a predetermined standard. And, each point of the departure point DP is calculated. In one example of the calculation method, TCP (Tool Center Point; an example of a reference point) is calculated as a target point TP of an object, and an approach point AP and a departure point DP are calculated with TCP as a reference.
TCPは、ロボットRの対象物に対する作業の基準となる、仮想空間内の当該対象物の基準点(あるいは、作業点)を意味し、ロボットRのハンド52および各対象物に対して設定される。TCPを設定するときには、TCPを原点としたローカル座標系についても設定される。対象物のローカル座標系を設定することで、対象物のオイラー角を回転させるときにはTCPを中心に回転させればよいこと、および、後述するようにアプローチ点APおよびデパーチャ点DPを自動的に設定できること等の利点がある。
TCP means a reference point (or work point) of the object in the virtual space, which is a reference of work on the object of the robot R, and is set for the
図7に一例として、キャップCap1のTCPの設定例を示す。
本実施形態の例では、TCPは、対象物の重心位置に自動的に設定される。対象物には3次元モデルのデータが関連付けられているため、当該3次元モデルのデータから重心位置を比較的容易に得ることができる。
アプローチ点APおよびデパーチャ点DPは、それぞれ、対象物に設定されたローカル座標系のZ軸において、対象物(図7の例では、キャップCap1)の全長の1.5倍の位置に、タスク作成時に自動的に設定される。全長の1.5倍の位置は一例に過ぎず、例えば全長の1~2倍の間の任意の値に適宜設定されてもよい。なお、図7では、+Z軸側での作業(ハンド52によりキャップを取る、置く等の作業)が想定されており、ハンド52による作業が+Z方向となるようにローカル座標系を定義しておくことで、アプローチ点APおよびデパーチャ点DPを自動的に決定できる。As an example, FIG. 7 shows a TCP setting example of the cap Cap1.
In the example of this embodiment, TCP is automatically set at the position of the center of gravity of the object. Since the data of the three-dimensional model is associated with the object, the position of the center of gravity can be relatively easily obtained from the data of the three-dimensional model.
The approach point AP and the departure point DP each create a task at a position 1.5 times the total length of the object (cap Cap1 in the example of FIG. 7) on the Z axis of the local coordinate system set for the object. Sometimes set automatically. The position 1.5 times the total length is only an example, and may be appropriately set to an arbitrary value between 1 and 2 times the total length, for example. In FIG. 7, work on the + Z axis side (work such as removing and placing a cap with the hand 52) is assumed, and the local coordinate system is defined so that the work with 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, the other of the two or more objects is based on the approach point AP and the departure point DP set in one of the two or more objects. The approach point AP and departure point DP of the object may be set automatically.
For example, assume that the pens Pen1 and Pen2 are grouped together. The TCP coordinates that are the basis of work for Pen Pen1 are set to (100, 100, 0) in the world coordinate system, and the coordinates of the approach point AP and departure point DP of Pen Pen1 are set to (100, 100, 20) in the world coordinate system. ) Is set. At this time, when the TCP of the pen Pen2 is (120, 100, 0) in the world coordinate system, the coordinates of the approach point AP and the departure point DP of the pen Pen2 are (120, 100, 20) in the world coordinate system. It is set automatically. That is, the approach point AP and the departure point DP of the pen Pen2 are set so that the TCP offset amount of the pen Pen1 and the pen Pen2 (+20 in the X coordinate) is reflected. In other words, the approach point AP and departure point of pen Pen2 so that the approach point AP and departure point DP of pen Pen1 and pen Pen2 have the same coordinates in the local coordinate system based on TCP of pen Pen1 and pen Pen2, respectively. DP is set.
図8は、キャップトレイ12からキャップCap1を取るときの仮想空間上のハンド52の動作の一例を示す図である。
図8において、ハンド52は先ず、軌道TR1に沿って、ハンド52に設定されたTCP1(すなわち、図4のノード62に設定されたハンドのTCP)がアプローチ点APに一致するようにして移動する。次に、ハンド52は、軌道TR2に沿って、ハンド52に設定されたTCP1がキャップトレイ12のキャップCap1に設定されたTCP2に一致するようにして移動する。キャップCap1を把持した後、ハンド52は、軌道TR3に沿って、ハンド52に設定されたTCP1がデパーチャ点DPに一致するようにして移動する。
軌道TR2,TR3は、キャップトレイ12のキャップCap1に設定されたローカル座標系のZ軸に沿った軌道である。そのため、ハンド52がキャップCap1を取る際に、キャップトレイ12内のキャップCap1に隣接するキャップに干渉することはない。また、ハンド52の軌道は、ハンド52に設定されたTCP1と、キャップトレイ12内のキャップCap1のTCP2およびそのローカル座標系とに基づいて決定される。そのため、ハンド52は、キャップCap1を精度良く把持することができる。FIG. 8 is a diagram showing an example of the operation of the
In FIG. 8, the
The orbits TR2 and TR3 are orbits along the Z axis of the local coordinate system set in 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 setting TCP other than the center of gravity of the object, TCP can be set at a desired position of the object based on the operation input of the operator.
FIG. 9 shows a method of setting TCP based on the operation input of the operator.
As shown in FIG. 9, the CAD software is provided with a TCP model TCP_m provided with a local coordinate system LA for setting 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 the TCP model TCP_m, the corresponding node in the hierarchical list (eg, Cap1 in FIG. 4). Perform the operation of dragging the TCP model TCP_m to the node). Thereby, 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 one of "approach point, departure point setting", "motion parameter setting", and "interlock setting" by operating the button b1 ("detailed setting").
By selecting "Set approach point, departure point", the operator can change or delete the automatically created approach point and / or departure point, and add a new approach point and / or departure point. ..
The motion parameters are parameters related to the movement of the robot R such as the
By selecting "Interlock setting", the timeout value of the interlock waiting time and the setting of the operation when the waiting time exceeds the timeout value and an error is determined can be changed from the default value.
図6の教示用ウィンドウW3には、ボタンb3(「チェック」)が設けられている。タスクを作成するときにボタンb3(「チェック」)を操作することは必須ではないが、ボタンb3(「チェック」)を操作することで、オペレータは事前に、タスクに含まれるアプローチ点APからデパーチャ点DPまでのロボットRの動作をCAD用ウィンドウで確認することができる。
ボタンb3(「チェック」)の操作は、タスクの名称(Name)が表示されている場合(つまり、作業要素の種別(Function)と目標物(Target)の各項目についてデータが入力済みの場合)に有効である。The teaching window W3 of FIG. 6 is provided with a button b3 (“check”). It is not essential to operate button b3 (“check”) when creating a task, but by operating button b3 (“check”), the operator can depart from the approach point AP included in the task in advance. The operation of the robot R up to the point DP can be confirmed in the CAD window.
The operation of button b3 (“check”) is when the task name (Name) is displayed (that is, when data has already been entered for each item of the work element type (Function) and target (Target)). It is effective for.
ボタンb3(「チェック」)の操作による動作確認結果は、タスクに基づいて作成されたプログラムを、ロボット制御装置3へ送信することにより行われる。ロボット制御装置3は、受信したプログラムを実行し、実行結果として、時間の経過に応じたロボットRの状態を示す情報であるロボット状態データを算出する。ロボット状態データは、例えば、時間の経過に応じたアーム51の関節角の変化や、時間の経過に応じたハンド52の軌跡等の情報である。このロボット状態データは、ロボット制御装置3から情報処理装置2へ返される。CADソフトウェアは、ロボット状態データに基づいて、ロボットRおよび対象物の3次元モデルを仮想空間内で動作させ、タスクに対応するロボットRの動きの動画表示を行う。
The operation confirmation result by the operation of the button b3 (“check”) is performed by transmitting the program created based on the task to the
ロボットRのロボット状態データを算出するときにエラーが発生した場合には、図6の教示用ウィンドウW3のステータス(Status)の欄に、エラー原因を表示してもよい。エラー原因としては、例えば、速度超過、目標点不到達、特異点到達等が挙げられる。
ロボットRの動作が正常に行われた場合には、ステータス(Status)の欄に、モーションパラメータで設定されている移動速度に対する余裕度、目標点に対する余裕度、あるいは、特異点までの余裕度等、オペレータにとって有益となる情報を表示してもよい。If an error occurs when calculating the robot status data of the robot R, the cause of the error may be displayed in the status column of the teaching window W3 of FIG. Examples of the cause of the error include overspeed, non-achievement of target point, arrival of singular point, and the like.
If the operation of the robot R is performed normally, in the Status column, the margin for the movement speed set in the motion parameter, the margin for the target point, the margin for the singular point, etc. , Information that is useful to the operator may be displayed.
図6の教示用ウィンドウW3には、ボタンb2(「作成」)が設けられている。
ボタンb2(「作成」)が操作されることで、教示用ウィンドウW3によって設定されたタスクが後述するタスクリストに登録される。
なお、ボタンb2(「作成」)が操作される前に、ボタンb3(「チェック」)の操作による動作確認が行われていない場合には、ボタンb3(「チェック」)の操作が行われなくても自動的に動作確認を実行し、エラーの有無を報知するようにしてもよい。The teaching window W3 of FIG. 6 is provided with a button b2 (“creation”).
By operating the button b2 (“create”), the task set by the teaching window W3 is registered in the task list described later.
If the operation is not confirmed by the operation of the button b3 (“check”) before the button b2 (“create”) is operated, the operation of the button b3 (“check”) is not performed. However, the operation check may be automatically performed to notify the presence or absence of an error.
(2-5)タスクに基づくプログラムの作成
上述したように、タスクごとの動作確認を行う場合には、タスクに基づいてプログラムが作成される。タスクに基づくプログラムは、当該タスクに対応する作業要素をロボットRに実行させるためのロボットプログラムの例である。
例えば、図5に示すタスクに対応する作業要素を実行するためのプログラムは、以下の複数の関数からなり、各関数は、ロボットRのモーション(「ロボットRの動き」を意味する。)を実行させるためのプログラムによって記述されている。
なお、以下のmove(AP1)は、作業要素間の移動として別に定義されてもよい。(2-5) Creation of a program based on a task As described above, when checking the operation for each task, a program is created based on the task. The task-based program is an example of a robot program for causing the robot R to execute a work element corresponding to the task.
For example, the program for executing the work element corresponding to the task shown in FIG. 5 consists of the following plurality of functions, and each function executes the motion of the robot R (meaning “movement of the robot R”). Written by a program to make it.
The following move (AP1) may be defined separately as a move between working elements.
・move(AP1) …アプローチ点AP1までの移動
・interlock(IL1)…アプローチ点AP1でインターロック(IL1)による待機
・move(AP2)…アプローチ点AP2までの移動
・interlock(IL2)…アプローチ点AP2でインターロック(IL2)による待機
・move(TP)…目標点TPまでの移動
・handSequence()…ハンドシーケンス処理
・move(DP1)…デパーチャ点DP1までの移動
・move(DP2)…デパーチャ点DP2までの移動
なお、interlock(IL1)およびinterlock(IL2)の関数において、タスクごとの動作確認を行う場合、プログラムは作成されるが、インターロックによる待機時間のタイムアウト値が無効となっている。・ Move (AP1)… Move to approach point AP1 ・ interlock (IL1)… Stand by interlock (IL1) at approach point AP1 ・ move (AP2)… Move to approach point AP2 ・ interlock (IL2)… Approach point AP2 Wait by interlock (IL2) ・ move (TP)… move to target point TP ・ handSequence ()… hand sequence processing ・ move (DP1)… move to departure point DP1 ・ move (DP2)… move to departure point DP2 In the interlock (IL1) and interlock (IL2) functions, when checking the operation for each task, a program is created, but the timeout value of the waiting time due to the interlock is invalid.
(2-6)タスクリスト
タスクリストとは、ロボットRが行うジョブに含まれる複数の作業要素の各々に対応する複数のタスクの一覧の情報である。特定のジョブを対象として教示用ウィンドウW3によって作成されたタスクは、順次、当該ジョブに対応するタスクリストに登録されていく。タスクリストに含まれる複数のタスクの順序は、当該複数のタスクにそれぞれ対応する複数の作業要素の実行順序を示していることが、ジョブを管理する上で好ましい。(2-6) Task list The task list is information on a list of a plurality of tasks corresponding to each of the plurality of work elements included in the job performed by the robot R. The tasks created by the teaching window W3 for a specific job are sequentially registered in the task list corresponding to the job. It is preferable that the order of the plurality of tasks included in the task list indicates the execution order of the plurality of work elements corresponding to the plurality of tasks in order to manage the job.
図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_Produ
ctTray)The teaching window W4 of FIG. 10 displays an example of a task list corresponding to a job (“Pen Assembly”), which is a series of operations of “fitting a cap on a pen and assembling a product”. An example of this task list includes tasks corresponding to the following six work elements (i) to (vi). In this case, the case where the task with the name shown in parentheses is created by the teaching window W3 for creating the task is shown.
(i) Take the pen from the pen tray (Pickup_Pen1_From_PenTray)
(ii) Set the removed pen on the jig (Place_to_PenJ_in_PenProduct)
(iii) Remove the cap from the cap tray (Pickup_Cap1_From_CapTray)
(iv) Fit the cap on the pen on the jig (Place_to_CapJ_in_PenJ)
(v) Take the pen with the cap on (Pickup_PenProduct_From_JIG)
(vi) Place the capped pen on the product tray (Place_to_PenProduct1_in_Produ)
ctTray)
図10に示すタスクリストのうち、教示用ウィンドウW3における動作確認の結果がエラーを示したタスク(「エラータスク」という。)と、タスクリストのうちエラータスク以外のタスクとを、異なる表示態様(例えば、異なる文字色、異なる背景色とする表示態様)で表示してもよい。「エラータスク以外のタスク」とは、動作確認の結果、エラーを示さなかったタスクと、動作確認を行っていないタスクとを含む。エラータスクと、OKタスク(つまり、動作確認の結果、エラーを示さなかったタスク)と、動作確認が未実施のタスクとを、それぞれ異なる表示態様にしてもよい。 Among the task lists shown in FIG. 10, a task whose operation check result in the teaching window W3 shows an error (referred to as "error task") and a task other than the error task in the task list are displayed in different display modes (referred to as "error task"). For example, it may be displayed in a display mode in which different character colors and different background colors are used). The "task other than the error task" includes a task that does not show an error as a result of the operation check and a task that has not been checked for operation. The error task, the OK task (that is, the task that did not show an error as a result of the operation check), and the task for which the operation check has not been performed may be displayed in different display modes.
グループ化された2以上の対象物を対象としてまとめてタスクを作成した場合には、タスクリスト中、グループにまとめたタスク表示を行ってもよい。 When a task is created collectively for two or more grouped objects, the tasks grouped together 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 with any task selected on the pointing device in the task list.
図10に示すように、オペレータがタスクリストのいずれかのタスクをポインティングデバイスで選択した状態で右クリックを行うと、「タスク編集」、「タスク追加」、「タスク削除」のいずれかの処理を選択できる。ここで、「タスク編集」が選択された場合には、選択されているタスクの教示用ウィンドウW3に戻って、当該タスクについての情報を変更することができる。「タスク追加」が選択された場合には、選択されているタスクのすぐ後の順序に、作成済みのタスクを読み込んで挿入するか、あるいは、教示用ウィンドウW3に戻ってタスクを作成して挿入することができる。「タスク削除」が選択された場合には、選択されているタスクをタスクリストから削除することができる。 As shown in FIG. 10, when the operator right-clicks with any task in the task list selected on the pointing device, one of the "task edit", "task addition", and "task deletion" processes is performed. You can choose. Here, when "Edit task" is selected, it is possible to return to the teaching window W3 of the selected task and change the information about the task. When "Add task" is selected, the created task is read and inserted in the order immediately after the selected task, or the task is created and inserted by returning to the teaching window W3. can do. When "Delete Task" is selected, the selected task can be deleted from the task list.
図10において、オペレータが教示用ウィンドウW4内の任意の位置を対象として右クリック操作を行うと、「教示点リスト出力」、「IOマップ出力」、および「プログラム出力」の中からいずれかを選択できる。
「教示点リスト出力」が選択された場合、各対象物に設定されたTCPの座標の一覧が出力される。
「IOマップ出力」が選択された場合、ロボットRに対する入出力(I/O)のポートの一覧を出力する。
「プログラム出力」が選択された場合、ジョブに対応して、シミュレーション用プログラムと実機用プログラムの2種類のロボットプログラムを出力する。実機用プログラムはインターロックによる待機時間のタイムアウト値が有効となっているが、シミュレーション用プログラムはインターロックによる待機時間が無効化されている点で、両者は異なる。In FIG. 10, when the operator performs a right-click operation on an arbitrary position in the teaching window W4, one of "teaching point list output", "IO map output", and "program output" is selected. can.
When "Teaching point list output" is selected, a list of TCP coordinates set for each object is output.
When "IO map output" is selected, a list of input / output (I / O) ports for the robot R is output.
When "program output" is selected, two types of robot programs, a simulation program and an actual machine program, are output corresponding to the job. The actual machine program has the timeout value of the waiting time due to the interlock valid, but the simulation program differs from each other in that the waiting time due to the interlock is invalidated.
(2-7)ジョブのシミュレーション
図10の教示用ウィンドウW4においてボタンb4が操作された場合、タスクリストに対応するロボットRのジョブのシミュレーションが実行される。 ジョブのシミュレーションを実行するに当たっては、先ず、当該ジョブに対応するロボットプログラムが作成される。すなわち、タスクリストに含まれる各タスクに基づくプログラムは、前述したように、ロボットRに対応する複数のモーションを実行させるためのプログラムが記述された関数の集合体として表される。なお、連続するタスクに対応する作業要素の間のロボットRの移動についてのモーションパラメータ(移動速度、加速度、加速時間、減速時間等)は、デフォルト値として予め定められていてもよいし、オペレータが設定できるようにしてもよい。
各タスクに基づくプログラムを順に組み合わせることで、ジョブに対応するロボットプログラムが作成される。各タスクに基づくプログラムを組み合わせるに当たっては、入力信号あるいは条件によって実行するプログラムを切り替えるような分岐処理や、特定のプログラムを繰り返す処理等が組み込まれてもよい。(2-7) Job simulation When the button b4 is operated in the teaching window W4 of FIG. 10, the job simulation of the robot R corresponding to the task list is executed. In executing a job simulation, a robot program corresponding to the job is first created. That is, as described above, the program based on each task included in the task list is represented as a set of functions in which a program for executing a plurality of motions corresponding to the robot R is described. The motion parameters (movement speed, acceleration, acceleration time, deceleration time, etc.) for the movement of the robot R between the work elements corresponding to the continuous tasks may be predetermined as default values, or the operator may use them. It may be possible to set it.
By combining programs based on each task in order, a robot program corresponding to the job is created. In combining the programs based on each task, a branch process for switching a program to be executed depending on an input signal or a condition, a process for repeating a specific program, or the like may be incorporated.
本実施形態では、情報処理装置2においてロボットプログラムが作成され、ロボット制御装置3において当該ロボットプログラムが実行される。
ロボット制御装置3は、ロボットプログラムの実行結果として、時間の経過に応じたロボットRの状態を示す情報であるロボット状態データを算出する。ロボット状態データは、例えば、時間の経過に応じたアーム51の関節角の変化や、時間の経過に応じたハンド52の軌跡等の情報である。このロボット状態データは、ロボット制御装置3から情報処理装置2へ返される。CADソフトウェアは、ロボット状態データに基づいて、ロボットRおよび対象物の3次元モデルを仮想空間内で動作させ、シミュレーション出力として、タスクに対応するロボットRの動きの動画(アニメーション)の表示を行う。In the present embodiment, the
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 of FIG. Examples of the cause of the error include overspeed, non-achievement of target point, arrival of singular point, and the like.
Among the task lists shown in FIG. 10, an error task whose simulation result shows an error and a task other than the error task in the task list are displayed in different display modes (for example, different character colors and different background colors). ) May be displayed.
The teaching window W5 of FIG. 11 shows an example of displaying an error task in the task list of FIG. In this display example, the case where the last task "Place_to_PenProduct1_in_ProductTray" in the task list is an error task is shown, and by adding the mark M1 (frame line surrounding the task) to the error task, other than the error task. The display mode is different from that of the task.
なお、タスクリストのうちオペレータによって選択された一部のタスクに対応する作業要素についてのシミュレーションを実行できるようにしてもよい。 In addition, it may be possible to execute a simulation for a work element corresponding to a part of the tasks selected by the operator in the task list.
(2-8)エリアチェック
次に、エリアチェックについて、図12および図13を参照して説明する。図12は、本実施形態の一例に係る教示用ウィンドウの遷移を示す図である。図13は、本実施形態において階層型リストの表示例を示す図である。(2-8) Area Check Next, the area check will be described with reference to FIGS. 12 and 13. FIG. 12 is a diagram showing a transition of the teaching window according to an example of the present embodiment. FIG. 13 is a diagram showing a display example of a hierarchical list in the present embodiment.
エリアチェックとは、ロボットRのハンド52(ロボットの構成要素の例)が、オペレータによって選択された少なくとも1つの対象物(図4に示す例では、ペンPen1, Pen2,…,Pen12、キャップCap1, Cap2,…,Cap12、および、製品PenProduct1, PenProduct2,…,PenProduct12の少なくともいずれか)に到達可能であるか否かを判定することである。ロボットが複数設けられる場合には、複数のロボットのうちエリアチェックの対象とするロボットをオペレータが選択できるようにしてもよい。ロボットは複数の姿勢をとりうるため、当該複数の姿勢のうちオペレータによって選択されたいずれかの姿勢において、ロボットのエリアチェックを行うようにしてもよい。
The area check means that the
図4に示した階層型リストにおいて、対象物の一部又は全部を選択した状態にして、ロボット領域RA内のノード61~63のいずれかをポインティングデバイスで右クリックしてから「エリアチェック」を選択すると、図12の教示用ウィンドウW6が表示される。教示用ウィンドウW6では、エリアチェックのための姿勢(posture)を選択できる。教示用ウィンドウW6において、少なくとも1つの姿勢を選択し、ボタンb5(「OK」)を選択することで、エリアチェックが実行される。
In the hierarchical list shown in FIG. 4, with a part or all of the objects selected, right-click any of the
エリアチェックの実行には逆運動学の計算が必要であり、この計算は、ロボット制御装置3において行われる。すなわち、情報処理装置2は、ロボットRおよび各対象物の3次元モデルに基づく座標データ、各対象物のTCPの座標データの情報をロボット制御装置3に渡す。ロボット制御装置3は、当該情報を基に、特定の対象物に対して逆運動学によりロボットRのアーム51の関節角を求めることができれば、当該対象物に到達可能であると判断できる。
エリアチェックの結果は、図13に例示するように、ペンを対象とするエリアチェックの場合、ペントレイ11に含まれるペンごとに、到達不可能であるペン(到達不可対象物の例)に対してマークM2(「NG」)を表示することによって行われる。他の表示例として、到達不可対象物を到達可能対象物と異なる色で表示することなどが挙げられる。Execution of the area check requires a calculation of inverse kinematics, and this calculation is performed by the
As an example of FIG. 13, the result of the area check is, in the case of the area check for pens, for each pen included in the
(3)ロボット教示装置1の機能
次に、本実施形態のロボット教示装置1の機能について、図14を参照して説明する。図14は、実施形態に係るロボット教示装置1の機能ブロック図である。
図14に示すように、ロボット教示装置1は、表示制御部101、タスク作成部102、タスク更新部103、タスク入替部104、設定更新部105、グルーピング部106、プログラム作成部107、プログラム実行部108、状態情報算出部109、シミュレーション部110、判定部111、姿勢選択部112、基準点設定部113、モデル配置部114、および、インターロック設定部115を備える。
ロボット教示装置1はさらに、タスクデータベース221、階層型リストデータベース222、3次元モデルデータベース223、および、実行ログデータベース224を備える。(3) Function of
As shown in FIG. 14, the
The
以下の説明において、情報処理装置2の制御部21の処理について言及するときには、制御部21に含まれるCPUが教示ソフトウェア及び/又はCADソフトウェアを実行することにより処理が行われる。
In the following description, when 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 departure point, the teaching work of the operator is streamlined.
表示制御部101は、ロボットの構成要素と、対象物の構成要素とが階層的に記述された階層型データを表示装置24に表示する。
情報処理装置2の制御部21は、教示ソフトウェアとCADソフトウェアの連携により階層型リストを作成する。すなわち、制御部21は、CAD画像内のロボットおよび対象物を入力装置23のポインティングデバイスで選択した状態で木構造のデータフォーマットの所望のノードまでドラッグする操作入力を受け付けて、木構造の階層型リストを作成する。制御部21は、作成した階層型リストをストレージ22の階層型リストデータベース222に記録する。階層型リストでは、木構造のデータにおけるロボットの構成要素および対象物の構成要素に対応する各ノードと、3次元モデルデータベース223に記録される3次元モデルの対応するデータと、が関連付けられた状態となっている。The
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 the robot hand corresponding to the work of grasping a specific object and a node corresponding to the object are selected. Sometimes it's easier to find the node you're looking for.
タスク更新部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 the display device 24 may define the execution order of a 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 operator can delete, change, or add the approach point and the departure point of the work element at the desired position by the
グルーピング部106は、表示装置24に表示された階層型リストから2以上の対象物を指定するオペレータの操作入力に基づいて、当該2以上の対象物をグループ化する機能を備える。その場合、タスク作成部102は、グループ化された2以上の対象物のうちいずれかの対象物に対して設定されたアプローチ点およびデパーチャ点のうち少なくともいずれかの点に関する情報を、上記2以上の対象物の他の対象物に対しても設定する。
The
グルーピング部106の機能を実現するために、情報処理装置2に制御部21は、入力装置23からのオペレータの操作入力を受け入れると、当該操作入力によって指定される2以上の対象物が同じグループとして関連付けられるようにタスクデータベース221を更新する。そして、制御部21は、グループ化された2以上の対象物のうちいずれかの対象物に対して、例えばアプローチ点が設定された場合、グループ化された他の対象物のアプローチ点が設定されるように、タスクデータベース221を更新する。グループ化された他の対象物のアプローチ点およびデパーチャ点の設定は、前述したように、グループ化された2以上の対象物のTCPオフセット量が反映されるようにして行われる。
2以上の対象物をグループ化することで、複数の対象物に対するアプローチ点及び/又はデパーチャ点の設定作業が容易となる。In order to realize the function of the
By grouping two or more objects, it becomes easy to set an approach point and / or a departure point for a plurality of objects.
プログラム作成部107は、タスク作成部102によって作成されたタスクに基づいて、当該タスクに対応する作業要素をロボット5に実行させるためのプログラムを作成する機能を備える。
プログラム作成部107の機能を実現するために、情報処理装置2の制御部21は、タスクに含まれる作業要素の種別、作業要素の目標物、アプローチ点、デパーチャ点、モーションパラメータ、およびインターロックの設定を基に、タスクに対応する作業要素をロボットに実行させるためのプログラムが記述された関数を作成する。例えば、プログラム作成部107は、タスクに含まれる情報を参照し、ストレージ22(第1記憶部の例)に保存された作業要素の種別に応じた所定のプログラムのフォーマットにおける座標位置等を書き換えることで、自動的にプログラムを作成する。The
In order to realize the function of the
プログラム実行部108は、表示装置24に表示されたタスクリストのうち少なくとも1つのタスクを選択するオペレータの操作入力に基づいて、選択された少なくとも1つのタスクに基づいてプログラム作成部107により作成されたプログラムを含むロボットプログラムを実行する機能を備える。
プログラム実行部108の機能を実現するために、情報処理装置2の制御部21は、通信インタフェース部25を介して少なくとも1つのタスクに基づいて作成したロボットプログラムを、ロボット制御装置3へ送信する。ロボット制御装置3では、通信インタフェース部33によりロボットプログラムを受信すると、制御部31が当該ロボットプログラムを実行する。各タスクに基づいて作成されたプログラムは、関数の集合体で構成されている。制御部31はタスクリストに含まれる各タスクに基づいて作成されたプログラムを順に実行する。The
In order to realize 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 (examples of the second storage unit and the third storage unit) stores the 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 operation of the robot for each task, the set value of each task (for example, approach point, departure point, motion parameter, etc.) and the arrangement of the object (for example, FIG. 3). It becomes easy to reexamine the arrangement of the
判定部111は、階層型リストにおいて、オペレータの操作入力に基づいて、いずれか1つのロボットの構成要素、および、少なくとも1つの対象物が選択された場合に、当該少なくとも1つの対象物が仮想空間においてロボットRのハンド52(ロボットの構成要素の例)により到達可能であるか否かを判定する機能を備える。当該機能は、前述したエリアチェックに相当する。
判定部111の機能を実現するために、情報処理装置2の制御部21は、通信インタフェース部25を介して、ロボットおよび対象物の3次元モデルに基づく座標データ、対象物のTCPの座標のデータをロボット制御装置3へ送信する。ロボット制御装置3の制御部31は、受信したデータを基に、特定の対象物に対して逆運動学によりロボットのアームの関節角を求めることができるか否かを判定する。関節角を求めることができればロボットのハンドが対象物に到達可能であることを意味し、関節角を求めることができなければロボットのハンドが対象物に到達不可能であることを意味する。
判定部111によりロボットプログラムを作成する前に特定の対象物に対するロボットのハンドの到達可否がわかるため、対象物の配置の最適化等の検討を前もって行うことができ、ティーチング作業の効率化が図れる。When the component of any one robot and at least one object are selected in the hierarchical list based on the operation input of the operator, the
In order to realize the function of the
Since the
表示制御部101は、複数の対象物のうち判定部111により到達可能でないと判定された対象物である到達不可対象物が、当該到達不可対象物以外の対象物と識別可能となるように、階層型データを表示してもよい。
エリアチェックでは、図13に示したように、好ましくは、複数の対象物のうち到達可能でないと判定された対象物(到達不可対象物)が、到達不可対象物以外の対象物と識別可能となるように、階層型リストを表示する。図13では、マークM2の有無によって到達不可対象物を識別可能に表示しているが、識別方法は様々な方法を採りうる。例えば、図13の例に代えて、到達不可のペン(Pen)を赤色にするか、あるいは輝度を低下させる等の表示処理を施してもよい。The
In the area check, as shown in FIG. 13, preferably, an object determined to be unreachable (unreachable object) among a plurality of objects can be distinguished from an object other than the unreachable object. Display a hierarchical list so that In FIG. 13, the unreachable object is displayed so as to be distinguishable depending on the presence or absence of the mark M2, but various methods can be adopted as the identification method. For example, instead of the example of FIG. 13, a display process such as turning the unreachable pen (Pen) red or reducing the brightness may be performed.
姿勢選択部112は、オペレータの操作入力に基づいて、ロボットに対して予め定められた複数の姿勢の中からいずれかの姿勢を選択する機能を備える。
その場合、判定部111は、ロボットが姿勢選択部112によって選択された姿勢をとることを条件として、少なくとも1つの対象物がロボットの構成要素により到達可能であるか否かを判定する。姿勢選択が行われた場合には、ロボット制御装置3の制御部31は、ロボットを選択された姿勢に固定した状態で、特定の対象物に対して逆運動学によりロボットのアームの関節角を求めることができるか否かを判定する。
姿勢選択部112を設けることで、オペレータは、ロボットの様々な姿勢を考慮しながら、対象物の配置等の検討を前もって行うことができる。The
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 the present embodiment, the trajectory of the robot's hand is determined based on the TCP set in the hand corresponding to the work of grasping the object, the TCP of the object as the target, and the local coordinate system thereof. Therefore, it is possible to teach the work by hand with high accuracy. Further, by calculating the position of the center of gravity of the object as TCP, it is possible to specify the position as TCP where it is easy to avoid interference with an object other than the object (other object, 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 and 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 association with FIG. 9, the association of TCP to the object may not be automatic, but may be performed based on the operation input of the operator.
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次元モデルを動作させる。それによって、オペレータは、仮想空間上でロボットを停止させずに、ロボットの動きに着目してプログラムの実行結果を確認することができる。
The
(4)ロボット教示装置1の主要な処理
次に、図15および図16を参照して、ロボット教示装置1の主要な処理についてシーケンスチャートを参照して説明する。
図15は、本実施形態に係るロボット教示装置のエリアチェックの処理を示すシーケンスチャートの例である。図16は、本実施形態に係るロボット教示装置のジョブの実行処理を示すシーケンスチャートの例である。(4) Main processing of the
FIG. 15 is an example of a sequence chart showing an area check process of the robot teaching device according to the present embodiment. FIG. 16 is an example of a sequence chart showing job execution processing of the robot teaching device according to the present embodiment.
(4-1)エリアチェック(図15)
先ず、図15のシーケンスチャートを参照してエリアチェックの処理について説明する。
図4に示した階層型リストのロボット領域RA内のいずれかの対象物に対応するノードをポインティングデバイスで右クリックしてから「エリアチェック」が選択されることで(ステップS10:YES)、エリアチェックの実行が開始される。
先ず、姿勢選択部112は、オペレータのロボットRの姿勢を選択する操作入力があった場合(ステップS12:YES)、当該操作入力に基づいて、ロボットRに対して予め定められた複数の姿勢の中からいずれかの姿勢を選択する。(4-1) Area check (Fig. 15)
First, the area check process will be described with reference to the sequence chart of FIG.
By right-clicking the node corresponding to any object in the robot area RA of the hierarchical list shown in FIG. 4 with the pointing device and then selecting "Area check" (step S10: YES), the area Execution of the check is started.
First, when 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, the process of executing the simulation of the job will be described with reference to the sequence chart of FIG.
When the operation input (simulation execution instruction) for the button b4 by the operator is received in the teaching window W4 of FIG. 10 (step S30: YES), the
作成されたロボットプログラムは、情報処理装置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 the 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 Example 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 (see FIG. 13) of displaying only whether or not the robot R can reach the object by the
In this modification, the
FIG. 17 shows an example of displaying an 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 the second modification, information is provided as to how much the object determined to be reachable by the
In this modification, 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
That is, it may be determined whether or not the robot R can be reached based on the operation input in which the robot R is selected in the hierarchical list. As a result, it is possible to save the operator the trouble of selecting an object for area check. In addition, determining the reachability of all objects provides useful information for examining the overall arrangement of all objects.
(5-4)変形例4
プログラム作成部107は、インターロックによる待機時間がタイムアウト値に達した場合には、エラーと判断するようにプログラムを作成してもよい。
ロボットプログラムを実行したときにインターロックによる待機時間がタイムアウト値に達した場合には、エラーと判断することで、例えばロボットRに対する入出力信号に不具合があること等をオペレータが認識することができる。(5-4)
The
If the waiting time due to the interlock reaches the timeout value when the robot program is executed, the operator can recognize that there is a problem with the input / output signal to the robot R, for example, by determining that it is an error. ..
(5-5)変形例5
プログラム作成部107は、インターロックのタイムアウトによりエラーと判断した場合にロボットRを予め決められた基準姿勢にするように、プログラムを作成してもよい。
変形例4に示したようにしてエラーと判断した場合には、エラーが発生した後の動作を行うよりもロボットRの動作を中止して基準姿勢(例えば、初期の姿勢)に戻す方が好ましい場合がある。(5-5)
The
When it is determined that an error occurs as shown in the modified example 4, it is preferable to stop the operation of the robot R and return it to the reference posture (for example, the initial posture) rather than performing the operation after the error occurs. In some cases.
(5-6)変形例6
プログラム作成部107は、インターロックのタイムアウトによりエラーと判断した場合には、ストレージ22(第1記憶部の例)のタスクデータベース221を参照して、オペレータの操作入力に基づく複数のタスクのうちのいずれかのタスクに対応する作業要素をロボットRに実行させるように、プログラムを作成してもよい。
変形例4に示したようにしてエラーと判断した場合には、ロボットRに特定の作業要素を実行させてもよい。特定の作業要素の例としては、現在把持している対象物をエラー用の棚に置くことが挙げられる。(5-6)
When the
If an error is determined as shown in
以上、本発明のロボット教示装置の実施形態について詳述したが、本発明は上記の実施形態に限定されない。また、上記の実施形態は、本発明の主旨を逸脱しない範囲において、種々の改良や変更が可能である。
例えば、上述した実施形態に係るロボット教示装置は、図14の機能ブロック図に記載されたすべての機能を備えている必要はなく、少なくとも一部の機能を備えていればよい。
上述した実施形態では、ロボット教示装置は、情報処理装置とロボット制御装置の2つの装置を含む場合について例示したが、その限りではなく、一体の装置として構成してもよい。
上述した実施形態では、情報処理装置の入力装置にポインティングデバイスが含まれる場合について説明したが、その限りではなく、他のデバイスであってもよい。例えば、タッチ入力機能を備えた表示パネルを使用し、オペレータによるタッチ入力を受け付けてもよい。Although the embodiment of the robot teaching device of the present invention has been described in detail above, the present invention is not limited to the above embodiment. Further, the above-described embodiment can be variously improved or modified without departing from the gist of the present invention.
For example, the robot teaching device according to the above-described embodiment does not have to have all the functions shown in the functional block diagram of FIG. 14, but may have at least some functions.
In the above-described embodiment, the robot teaching device includes two devices, an information processing device and a robot control device, but the present invention is not limited to this, and the robot teaching device may be configured as an integrated device.
In the above-described embodiment, the case where the input device of the information processing device includes the pointing device has been described, but the present invention is not limited to this, and other devices may be used. For example, a display panel provided with a touch input function may be used to accept touch input by an operator.
上述した説明により、図14の機能ブロック図に記載された機能のうち少なくとも一部の機能をコンピュータに実現させるためのプログラム、および、当該プログラムが記録されたコンピュータ可読記憶媒体(不揮発性の記憶媒体をも含む。)が開示されていることは当業者に理解される。 According to the above description, a program for realizing at least a part of the functions shown in the functional block diagram of FIG. 14 on a computer, and a computer-readable storage medium (nonvolatile storage medium) in which the program is recorded. It is understood by those skilled in the art that) is disclosed.
1…ロボット教示装置、2…情報処理装置、21…制御部、22…ストレージ、23…入力装置、24…表示装置、25…通信インタフェース部、3…ロボット制御装置、31…制御部、32…ストレージ、33…通信インタフェース部、11…ペントレイ、P…ペン群、12…キャップトレイ、C…キャップ群、13…治具、14…製品トレイ、A1~A12…製品、EC…通信ネットワークケーブル、R…ロボット、51…アーム、52…ハンド、61~68…ノード、101…表示制御部、102…タスク作成部、103…タスク更新部、104…タスク入替部、105…設定更新部、106…グルーピング部、107…プログラム作成部、108…プログラム実行部、109…状態情報算出部、110…シミュレーション部、111…判定部、112…姿勢選択部、113…基準点設定部、114…モデル配置部、115…インターロック設定部、221…タスクデータベース、222…階層型リストデータベース、223…3次元モデルデータベース、224…実行ログデータベース、RA…ロボット領域、PA…対象物領域、W1~W6…ウィンドウ、b1~b4…ボタン、AP…アプローチ点、TP…目標点、DP…デパーチャ点、T…テーブル 1 ... Robot teaching device, 2 ... Information processing device, 21 ... Control unit, 22 ... Storage, 23 ... Input device, 24 ... Display device, 25 ... Communication interface unit, 3 ... Robot control device, 31 ... Control unit, 32 ... Storage, 33 ... communication interface unit, 11 ... pen tray, P ... pen group, 12 ... cap tray, C ... cap group, 13 ... jig, 14 ... product tray, A1 to A12 ... product, EC ... communication network cable, R ... Robot, 51 ... Arm, 52 ... Hand, 61-68 ... Node, 101 ... Display control unit, 102 ... Task creation unit, 103 ... Task update unit, 104 ... Task replacement unit, 105 ... Setting update unit, 106 ... Grouping Unit, 107 ... Program creation unit, 108 ... Program execution unit, 109 ... State information calculation unit, 110 ... Simulation unit, 111 ... Judgment unit, 112 ... Attitude selection unit, 113 ... Reference point setting unit, 114 ... Model placement unit, 115 ... Interlock setting unit, 221 ... Task database, 222 ... Hierarchical list database, 223 ... Three-dimensional model database, 224 ... Execution log database, RA ... Robot area, PA ... Object area, W1 to W6 ... Window, b1 ~ B4 ... Button, AP ... Approach point, TP ... Target point, DP ... Departure point, T ... Table
Claims (5)
仮想空間内の前記ロボットの3次元モデルと、前記対象物の3次元 モデルとを記憶する記憶部と、
前記階層型データにおいて、オペレータの操作入力に基づいて、いずれか1つの前記ロボットの構成要素、および、少なくとも1つの対 象物が選択された場合に、当該少なくとも1つの対象物が仮想空間において前記ロボットの構成要素により到達可能であるか否かを判定する判定部と、
を備え、
前記判定部は、前記ロボットの構成要素により到達可能でないと判定した対象物である到達不可対象物に対する前記ロボットの構成要素の近接の程度を特定し、
前記表示制御部は、前記到達不可対象物に対する前記ロボットの構成要素の近接の程度が認識可能となるように表示するロボット教示装置。 A display control unit that displays hierarchical data in which the components of the robot and the components of the object that is the work target of the robot are hierarchically described on the display device.
A storage unit that stores the 3D model of the robot in the virtual space and the 3D model of the object.
In the hierarchical data, when any one of the components of the robot and at least one object are selected based on the operation input of the operator, the at least one object is said to be in the virtual space. A judgment unit that determines whether or not it is reachable by the components of the robot,
Equipped with
The determination unit identifies the degree of proximity of the robot component to an unreachable object that is determined to be unreachable by the robot component.
The display control unit is a robot teaching device that displays so that the degree of proximity of a component of the robot to the unreachable object can be recognized .
仮想空間内の前記ロボットの3次元モデルと、前記対象物の3次元 モデルとを記憶する記憶部と、A storage unit that stores the 3D model of the robot in the virtual space and the 3D model of the object.
前記階層型データにおいて、オペレータの操作入力に基づいて、いずれか1つの前記ロボットの構成要素、および、少なくとも1つの対 象物が選択された場合に、当該少なくとも1つの対象物が仮想空間において前記ロボットの構成要素により到達可能であるか否かを判定する判定部と、In the hierarchical data, when any one of the components of the robot and at least one object are selected based on the operation input of the operator, the at least one object is said to be in the virtual space. A judgment unit that determines whether or not it is reachable by the components of the robot,
を備え、Equipped with
前記判定部は、前記ロボットの構成要素により到達可能と判定した対象物である到達可能対象物に対する前記ロボットの構成要素の到達の余裕度を特定し、The determination unit specifies the margin of arrival of the component of the robot with respect to the reachable object which is the object determined to be reachable by the component of the robot.
前記表示制御部は、前記到達可能対象物に対する前記ロボットの構成要素の到達の余裕度が認識可能となるように表示するロボット教示装置。The display control unit is a robot teaching device that displays so that the margin of arrival of the components of the robot with respect to the reachable object can be recognized.
前記判定部は、前記ロボットが前記姿勢選択部によって選択された姿勢をとる場合に、前記少なくとも1つの対象物が前記ロボットの構成要素により到達可能であるか否かを判定する、
請求項1又は2に記載されたロボット教示装置。 Further, a posture selection unit for selecting one of the postures of the arm determined from the indirect angle of the arm of the robot, which is predetermined for the robot based on the operation input of the operator, is further provided.
The determination unit determines whether or not the at least one object is reachable by a component of the robot when the robot takes the posture selected by the posture selection unit.
The robot teaching device according to claim 1 or 2 .
前記表示制御部は、前記複数の対象物のうち前記判定部により到達可能でないと判定された対象物である到達不可対象物が、当該到達不可対象物以外の対象物と識別可能となるように、前記階層型データを表示する、
請求項1から3のいずれか1項に記載されたロボット教示装置。 The hierarchical data includes a plurality of objects, and the hierarchical data includes a plurality of objects.
The display control unit makes it possible to identify an unreachable object, which is an object determined by the determination unit to be unreachable among the plurality of objects, from an object other than the unreachable object. , Display the hierarchical data,
The robot teaching device according to any one of claims 1 to 3 .
前記判定部は、オペレータの操作入力に基づいていずれか1つのロボットが選択された場合に、前記複数の対象物の各々が前記ロボットの構成要素により到達可能であるか否かを判定する、
請求項1から4のいずれか1項に記載されたロボット教示装置。 The hierarchical data includes a plurality of objects, and the hierarchical data includes a plurality of objects.
The determination unit determines whether or not each of the plurality of objects is reachable by the components of the robot when any one robot is selected based on the operation input of the operator.
The robot teaching device according to any one of claims 1 to 4 .
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017184648 | 2017-09-26 | ||
JP2017184648 | 2017-09-26 | ||
PCT/JP2018/028995 WO2019064918A1 (en) | 2017-09-26 | 2018-08-02 | Robot teaching device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2019064918A1 JPWO2019064918A1 (en) | 2020-10-15 |
JP7099470B2 true JP7099470B2 (en) | 2022-07-12 |
Family
ID=65902972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019544370A Active JP7099470B2 (en) | 2017-09-26 | 2018-08-02 | Robot teaching device |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7099470B2 (en) |
WO (1) | WO2019064918A1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002066967A (en) | 2000-08-25 | 2002-03-05 | Kawasaki Heavy Ind Ltd | Structuring method of robot motion descriptive language, and indicating method and editing method of structured robot motion descriptive language |
EP1842631A1 (en) | 2006-04-03 | 2007-10-10 | ABB Research Ltd | Apparatus and method for automatic path generation for an industrial robot |
JP4621641B2 (en) | 2006-07-26 | 2011-01-26 | 本田技研工業株式会社 | Robot teaching CAD apparatus and robot teaching method |
JP2016209969A (en) | 2015-05-12 | 2016-12-15 | キヤノン株式会社 | Information processing method and information processor |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0366586A (en) * | 1989-08-04 | 1991-03-22 | Toyota Motor Corp | Support device for deciding robot position |
JPH09201784A (en) * | 1996-01-30 | 1997-08-05 | Komatsu Ltd | Teaching device for robot |
-
2018
- 2018-08-02 WO PCT/JP2018/028995 patent/WO2019064918A1/en active Application Filing
- 2018-08-02 JP JP2019544370A patent/JP7099470B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002066967A (en) | 2000-08-25 | 2002-03-05 | Kawasaki Heavy Ind Ltd | Structuring method of robot motion descriptive language, and indicating method and editing method of structured robot motion descriptive language |
EP1842631A1 (en) | 2006-04-03 | 2007-10-10 | ABB Research Ltd | Apparatus and method for automatic path generation for an industrial robot |
JP4621641B2 (en) | 2006-07-26 | 2011-01-26 | 本田技研工業株式会社 | Robot teaching CAD apparatus and robot teaching method |
JP2016209969A (en) | 2015-05-12 | 2016-12-15 | キヤノン株式会社 | Information processing method and information processor |
Also Published As
Publication number | Publication date |
---|---|
JPWO2019064918A1 (en) | 2020-10-15 |
WO2019064918A1 (en) | 2019-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6676286B2 (en) | Information processing method and information processing apparatus | |
JP6350037B2 (en) | Robot simulator and robot simulator file generation method | |
US6330495B1 (en) | Off-line teaching method and apparatus for the same | |
US9984178B2 (en) | Robot simulator, robot teaching apparatus and robot teaching method | |
EP1310844B1 (en) | Simulation device | |
JP2019171501A (en) | Robot interference determination device, robot interference determination method and program | |
WO2019064916A1 (en) | Robot simulator | |
US9186792B2 (en) | Teaching system, teaching method and robot system | |
US20150112482A1 (en) | Teaching system and teaching method | |
JP7151713B2 (en) | robot simulator | |
JP2019018272A (en) | Motion generation method, motion generation device, system, and computer program | |
JPWO2019064919A1 (en) | Robot teaching device | |
JP7259860B2 (en) | ROBOT ROUTE DETERMINATION DEVICE, ROBOT ROUTE DETERMINATION METHOD, AND PROGRAM | |
JP2019171498A (en) | Robot program execution device, robot program execution method and program | |
JP7167925B2 (en) | Robot teaching device | |
JP7099470B2 (en) | Robot teaching device | |
JP7024795B2 (en) | Robot teaching device | |
WO2020059342A1 (en) | Robot simulator | |
JP2019171499A (en) | Robot interference determination device, robot interference determination method and program | |
JP6900533B2 (en) | Information processing methods, information processing devices, robot devices, information processing programs, and computer-readable recording media | |
JP7074057B2 (en) | Work description creation device for industrial robots and work description creation method for industrial robots | |
WO2020066947A1 (en) | Robot route determination device, robot route determination method, and program | |
JPH06134684A (en) | Teaching method of robot track | |
JP2019171500A (en) | Robot interference determination device, robot interference determination method and program | |
JP7322099B2 (en) | Information processing method, information processing device, robot device, program, and computer-readable 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 |
|
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: 20220531 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220613 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7099470 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |