Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6567101B2 - Teaching method, robot operating method, program, storage medium, teaching apparatus - Google Patents
[go: Go Back, main page]

JP6567101B2 - Teaching method, robot operating method, program, storage medium, teaching apparatus - Google Patents

Teaching method, robot operating method, program, storage medium, teaching apparatus Download PDF

Info

Publication number
JP6567101B2
JP6567101B2 JP2018016810A JP2018016810A JP6567101B2 JP 6567101 B2 JP6567101 B2 JP 6567101B2 JP 2018016810 A JP2018016810 A JP 2018016810A JP 2018016810 A JP2018016810 A JP 2018016810A JP 6567101 B2 JP6567101 B2 JP 6567101B2
Authority
JP
Japan
Prior art keywords
robot
teaching
computer
obstacle
robots
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.)
Expired - Fee Related
Application number
JP2018016810A
Other languages
Japanese (ja)
Other versions
JP2018144223A (en
Inventor
泰晴 前田
泰晴 前田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to US15/900,408 priority Critical patent/US10919153B2/en
Publication of JP2018144223A publication Critical patent/JP2018144223A/en
Application granted granted Critical
Publication of JP6567101B2 publication Critical patent/JP6567101B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

本発明は、複数のロボットが障害物を回避しつつ互いに衝突しないように動作を教示する教示方法、およびそれに用いる教示装置に関する。特に、複数台のロボットが共通の作業領域内で同時に作業する場合に、ロボット同士が干渉しない動作経路を生成して教示する方法および装置に関するものである。   The present invention relates to a teaching method that teaches operations so that a plurality of robots do not collide with each other while avoiding obstacles, and a teaching device used therefor. In particular, the present invention relates to a method and apparatus for generating and teaching an operation path that does not interfere with each other when a plurality of robots work simultaneously in a common work area.

工場の生産ラインにおける組み立て・搬送・塗布といった作業では、産業用ロボットを用いて自動化が行われている。これらのロボットは、生産能力の向上や省スペース化のために、複数台のロボットが近接して配置され、共通の領域内で同時に作業を行う場合が多い。このような場合に、従来は、教示者がロボットの通過する経路や、各ロボットを動作させるタイミングを考え、ロボット間で干渉し合わないように試行錯誤的に教示していた。   Automation such as assembly, transport, and application in factory production lines is performed using industrial robots. In many cases, these robots are arranged close to each other and work simultaneously in a common area in order to improve production capacity and save space. In such a case, conventionally, a teacher teaches by trial and error so that the robot does not interfere with each other in consideration of the route through which the robot passes and the timing for operating each robot.

しかし、この方法ではロボットの台数や作業の数が増加するほど、干渉のない軌道を見出すのが困難になり、教示作業に多大な労力と時間がかかるという問題点がある。また、生産ライン内の設備やロボットの配置に変更があると、その度に多大な労力と時間をかけて教示作業をやり直さねばならなかった。   However, this method has a problem that as the number of robots and the number of operations increase, it becomes more difficult to find a trajectory without interference, and teaching work takes a lot of labor and time. In addition, every time there was a change in the arrangement of equipment and robots in the production line, the teaching work had to be reworked with a great deal of labor and time.

そこで、ロボットが干渉を起こさない経路を、実空間で試行錯誤的に探索するのではなく、仮想空間で自動的に生成する技術が研究されている。例えば、RRT(Rapidly−exploring Random Tree)やPRM(Probabilistic Road map Method)等の経路生成アルゴリズムが知られている。この技術を用いれば、ロボットの動作の始点と終点を指定するだけで済むため、教示作業における教示者の負担を軽減することができる。また、生産ライン内の設備やロボットの配置の変更が発生しても、仮想空間上で計算するため、生産ラインを占有することなく、少ない時間で干渉を起こさない経路を再計算できる。   Therefore, a technique for automatically generating a path in which a robot does not cause interference in a virtual space, instead of searching in real space by trial and error, has been studied. For example, route generation algorithms such as RRT (Rapidly-Expanding Random Tree) and PRM (Probabilistic Load Map Method) are known. If this technique is used, it is only necessary to specify the start point and end point of the robot operation, so the burden on the teacher in the teaching work can be reduced. In addition, even if there is a change in the arrangement of equipment and robots in the production line, the calculation is performed in the virtual space, so that a route that does not cause interference can be recalculated in a short time without occupying the production line.

これらの技術は、単独のロボットについて、障害物と干渉を起こさない経路を生成する技術であるが、複数台のロボットを用いる場合についても、干渉を起こさせない方法が提案されている。   These techniques are techniques for generating a path that does not cause interference with an obstacle for a single robot. However, a method that does not cause interference even when a plurality of robots are used has been proposed.

例えば、特許文献1には、インターロックを設けることでロボット間の干渉を回避する技術が開示されている。特許文献1に記載されているのは、複数のロボットを含むシステムにおいて、前記複数のロボットの各々の動作プログラムを編集することにより、複数のロボット間のインターロックを自動的に設定するインターロック自動設定装置である。ロボットが動作することによって掃引する領域について、複数のロボット同士で重複部分がないかを判定し、重複部分がある場合には、その出入り口にインターロックを設ける。各ロボットがインターロックを通過するタイミングを調整し、重複部分を通過する際にロボット同士が相互に干渉しないようにするものである。   For example, Patent Document 1 discloses a technique for avoiding interference between robots by providing an interlock. Patent Document 1 describes an automatic interlock that automatically sets an interlock between a plurality of robots by editing an operation program of each of the plurality of robots in a system including a plurality of robots. It is a setting device. With respect to the area swept by the movement of the robot, it is determined whether or not there are overlapping portions between the plurality of robots. If there are overlapping portions, an interlock is provided at the entrance. The timing at which each robot passes through the interlock is adjusted so that the robots do not interfere with each other when passing through the overlapping portion.

また、非特許文献1には、ロボットの動作時の速度を調整することで、複数のロボット間で干渉が発生するのを回避する技術が開示されている。非特許文献1の軌道生成では、各ロボットの始点から終点までの経路を他のロボットが存在しないとみなして計算し、次に各ロボットの経路上の位置をパラメータとしたグラフを生成する。そして、生成したグラフ上で、干渉のない各ロボットの経路上の位置の組み合わせを探索し、最初に求めた経路と、各ロボットの経路上の位置の組み合わせを結合し、動作速度を調整しながら動作させ、互いに干渉しない軌道を得ている。   Non-Patent Document 1 discloses a technique for avoiding the occurrence of interference among a plurality of robots by adjusting the speed at the time of operation of the robot. In the trajectory generation of Non-Patent Document 1, the path from the start point to the end point of each robot is calculated assuming that no other robot exists, and then a graph is generated using the position of each robot on the path as a parameter. Then, on the generated graph, search for a combination of positions on the path of each robot without interference, and combine the first obtained path and a combination of positions on the path of each robot to adjust the operation speed. Operate and get trajectories that do not interfere with each other.

特開2007−164417号公報JP 2007-164417 A G. Sanchez and J.-C. Latombe, “On delaying collision checking in PRM planning: Application to multi-robot coordination” International Journal of Robotics Research, vol. 21, no. 1, pp. 5-26, 2002G. Sanchez and J.-C. Latombe, “On delaying collision checking in PRM planning: Application to multi-robot coordination” International Journal of Robotics Research, vol. 21, no. 1, pp. 5-26, 2002

まず、複数のロボットが通る領域を、教示者が実空間で検証して手作業で教示する場合には、教示者に高い技能が求められ、教示作業に多大な労力と時間を要することが課題である。   First, when a teacher teaches the area through which a plurality of robots pass in a real space and teaches them manually, the teacher is required to have high skills, and the teaching work requires a great deal of labor and time. It is.

また、特許文献1や非特許文献1に開示された方法では、あらかじめ各ロボットの軌道を求めておいて、その後に動作時のロボット同士の干渉を検証し、干渉が生じる場合には動作のタイミングや速度を調整して干渉を防止しようとしている。しかしながら、他のロボットが通る領域を考慮しないで作成された軌道を用いているので、タイミングや速度の調整だけでは、干渉を回避する解が見出せない可能性がある。また、解が見出せたとしても、干渉を回避するために各ロボットの動作速度を低下させたり一時停止させたりするため、システム全体でみると、ロボットが全動作を完了するまでに要する時間が長くなる傾向がある。   Further, in the methods disclosed in Patent Document 1 and Non-Patent Document 1, the trajectory of each robot is obtained in advance, and then the interference between the robots during operation is verified. Or trying to adjust the speed to prevent interference. However, since a trajectory created without considering the region through which another robot passes is used, there is a possibility that a solution for avoiding interference cannot be found only by adjusting the timing and speed. Even if a solution can be found, the operation speed of each robot is reduced or temporarily stopped in order to avoid interference, so that it takes a long time for the robot to complete all operations in the entire system. Tend to be.

本発明は、共通の作業領域を有するように配置された複数のロボットに、コンピュータを使って動作を教示する教示方法であって、教示すべき動作についての各ロボットの基準部位の始点、経由点、終点の位置情報を含む動作指令リストを、前記コンピュータが記憶する工程と、前記複数のロボットの動作範囲内にある障害物の位置および形状の情報を、前記コンピュータが記憶する工程と、前記コンピュータが、前記動作指令リスト及び前記障害物の位置および形状の情報に基づき、前記基準部位を前記始点から前記終点まで前記障害物を避けて移動させるための追加の経由点を各々のロボットについて独立に生成し、教示値として記憶する教示値生成工程と、前記コンピュータが、前記教示値に基づいて前記各ロボットの駆動部を動作させたときに各ロボットを構成する点が描く軌道の集合であるロボット通過領域を、各ロボットについて仮想空間上で算出して記憶するロボット通過領域算出工程と、前記コンピュータが、前記ロボット通過領域算出工程で算出した各ロボットの通過領域同士の交差の有無を検出する交差検出工程と、前記コンピュータが、前記交差検出工程で交差を検出した場合に、交差した領域内の少なくとも一部の空間を前記複数のロボットのいずれもが通過できなくする制約条件を設定し、前記動作指令リストまたは前記障害物の位置情報に追加する制約条件追加工程と、前記コンピュータが、前記制約条件追加工程後の前記動作指令リスト及び前記障害物の位置情報に基づき、前記基準部位を前記始点から前記終点まで前記障害物を避けて移動させるための教示値を、各々のロボットについて再生成する教示値再生成工程と、を有する、ことを特徴とする教示方法である。   The present invention is a teaching method for teaching a plurality of robots arranged so as to have a common work area by using a computer, and includes a starting point and a via point of a reference part of each robot for the motion to be taught. A step of storing an operation command list including position information of end points by the computer, a step of storing information of positions and shapes of obstacles within the operation range of the plurality of robots, and the computer; However, based on the operation command list and the position and shape information of the obstacle, an additional via point for moving the reference portion from the start point to the end point while avoiding the obstacle is independently set for each robot. A teaching value generation step of generating and storing as a teaching value; and the computer operates the driving unit of each robot based on the teaching value. A robot passage area calculation step of calculating and storing a robot passage area, which is a set of trajectories drawn by points constituting each robot, in a virtual space for each robot; and An intersection detection step for detecting the presence or absence of intersections between the passing areas of the robots calculated in step (b), and when the computer detects an intersection in the intersection detection step, at least a part of the spaces in the intersected regions is A restriction condition adding step of setting a restriction condition that prevents any of the robots from passing through and adding the restriction condition to the action command list or the position information of the obstacle, and the operation command after the restriction condition adding step. Based on the list and the position information of the obstacle, the reference portion is moved from the start point to the end point while avoiding the obstacle. The teaching value of the fit, has a teaching value regeneration process to regenerate for each robot, and a teaching method which is characterized in that.

また、本発明は、共通の作業領域を有するように配置された複数のロボットの軌道を仮想空間上で算出するコンピュータと、表示装置と、を有する教示装置において、前記コンピュータは、教示値に基づいて前記複数のロボットの各ロボットの駆動部を動作させたときに前記各ロボットを構成する点が描く軌道の集合であるロボット通過領域を、前記各ロボットについて仮想空間上で算出し、前記各ロボットの通過領域同士の交差の有無を検出し、交差を検出した場合に、交差した領域内の少なくとも一部の空間に前記複数のロボットのいずれもが通過できなくする制約条件として仮想的な障害物を設定し、前記ロボット通過領域と前記制約条件を前記表示装置に表示させ、前記仮想的な障害物を避けて移動させるための新たな教示値を、前記各ロボットについて生成し、前記新たな教示値に基づいて前記各ロボットの駆動部を動作させたときに前記各ロボットを構成する点が描く軌道の集合であるロボット通過領域を、前記各ロボットについて仮想空間上で算出し、前記仮想的な障害物とともに前記表示装置に表示させる、ことを特徴とする教示装置である。
また、本発明は、共通の作業領域を有するように配置された複数のロボットの軌道を仮想空間上で算出するコンピュータと、表示装置と、を有する教示装置において、前記コンピュータは、教示値に基づいて前記複数のロボットの各ロボットの駆動部を動作させたときに前記各ロボットを構成する点が描く軌道の集合であるロボット通過領域を、前記各ロボットについて仮想空間上で算出し、前記各ロボットの通過領域同士の交差の有無を検出し、交差を検出した場合に、交差した領域内の少なくとも一部の空間に前記複数のロボットのいずれもが通過できなくする制約条件として、前記ロボット通過領域が互いに交差する2点間を結ぶ線分の中間点と前記各ロボットの原点とを結ぶ線分上の点を、前記各ロボットが経由しなければならない経由点として設定し、前記ロボット通過領域と前記経由点を前記表示装置に表示させる、ことを特徴とする教示装置である。
According to another aspect of the present invention, there is provided a teaching device including a computer that calculates, on a virtual space, trajectories of a plurality of robots arranged so as to have a common work area, and the display device based on the teaching value. said plurality of robot passage region wherein a set of trajectory points constituting each robot is drawn when operating the drive unit of each robot of the robot, is calculated in a virtual space for each robot Te, each robot A virtual obstacle as a constraint that prevents any of the plurality of robots from passing through at least a part of the space in the intersected area when the crossing area is detected . set, the robot passage region and the constraint condition is displayed on the display device, a new teaching value for moving to avoid the virtual obstacle, before A robot passing area, which is a set of trajectories drawn by the points constituting each robot when the driving unit of each robot is operated based on the new teaching value, is generated for each robot. It is a teaching device characterized in that it is calculated in space and displayed on the display device together with the virtual obstacle .
According to another aspect of the present invention, there is provided a teaching device including a computer that calculates, on a virtual space, trajectories of a plurality of robots arranged so as to have a common work area, and the display device based on the teaching value. Calculating a robot passing region, which is a set of trajectories drawn by points constituting each robot when the driving unit of each robot of the plurality of robots is operated, in the virtual space for each robot; As a restriction condition that prevents any of the plurality of robots from passing through at least a part of the space within the intersected area when the intersection is detected, Each robot must pass through a point on the line connecting the middle point of the line connecting two points intersecting each other and the origin of each robot. Set as derived point, the cause robot passage region and the via-points displayed on the display device, it is teaching device according to claim.

本発明は、共通の作業領域を有するように配置された複数のロボットに、動作タイミングを調整しなくても互いに干渉を起こさないように、動作を自動的に教示する方法を提供する。また、本発明は教示において設定した制約条件等をディスプレイに表示させ、作業者の教示作業を容易にする教示装置を提供する。   The present invention provides a method for automatically teaching a plurality of robots arranged to have a common work area so that they do not interfere with each other without adjusting the operation timing. In addition, the present invention provides a teaching device that displays restriction conditions set in teaching on a display and facilitates the teaching work of an operator.

本発明の教示方法を実施する装置の構成図。The block diagram of the apparatus which enforces the teaching method of this invention. コンピュータ10のブロック図。1 is a block diagram of a computer 10. FIG. 動作を教示するロボットアームの例を示す図。The figure which shows the example of the robot arm which teaches operation | movement. 実施例1の教示方法の工程を示すフローチャート。3 is a flowchart showing steps of a teaching method according to the first embodiment. ロボットアームの始点、経由点、終点および障害物の例を示す図。The figure which shows the example of the starting point of a robot arm, a via-point, an end point, and an obstruction. ロボット通過領域が交差する例を示す図。The figure which shows the example which a robot passage area | region cross | intersects. 仮想的に追加する障害物を示す図。The figure which shows the obstacle added virtually. 仮想的に障害物を追加した後に再生成した経路を示す図。The figure which shows the path | route regenerated after adding an obstacle virtually. 実施例2の教示方法の工程を示すフローチャート。9 is a flowchart showing steps of a teaching method according to the second embodiment. 追加する経由点を示す図。The figure which shows the waypoint to add. 経由点を追加した後に再生成した経路を示す図。The figure which shows the path | route regenerated after adding a waypoint. 実施例3の教示方法の工程を示すフローチャート。10 is a flowchart showing steps of a teaching method according to the third embodiment. 実施例4の教示方法の工程を示すフローチャート。10 is a flowchart showing steps of a teaching method according to the fourth embodiment.

共通の作業領域を有するように複数のロボットを配置した系において、コンピュータを使って各ロボットの動作を教示する本発明の教示方法について説明する。説明の便宜のため、用いる用語の意味を予め記載しておく。   The teaching method of the present invention for teaching the operation of each robot using a computer in a system in which a plurality of robots are arranged so as to have a common work area will be described. For convenience of explanation, the meanings of terms used are described in advance.

(基準部位)
各ロボットに目的とする動作を教示する際に、予め位置を確定させる必要がある部位を指し、例えば各ロボットのハンド部分である。
(動作指令リスト)
教示しようとする一連の動作において、各ロボットの基準部位が取るべき始点、経由点、終点の位置情報を含むリストである。
(経路)
動作指令リストの始点から終点まで障害物を避けて基準部位を移動させる時に、基準部位が通る軌跡である。
(教示値)
障害物を避けるための、始点、経由点、終点などの教示点の集合である。
(駆動部)
ロボットを動作させる際に、駆動指示値に従って駆動される機構を指し、例えば、モータにより回転可能な関節機構や伸縮可能なアーム機構である。
(Reference part)
When teaching a target operation to each robot, it indicates a part whose position needs to be determined in advance, for example, a hand portion of each robot.
(Operation command list)
It is a list including position information of a start point, a via point, and an end point to be taken by the reference portion of each robot in a series of operations to be taught.
(Route)
This is a trajectory through which the reference part passes when the reference part is moved from the start point to the end point of the operation command list while avoiding an obstacle.
(Teaching value)
A set of teaching points such as a start point, a transit point, and an end point to avoid an obstacle.
(Drive part)
When operating a robot, it refers to a mechanism that is driven according to a drive instruction value, for example, a joint mechanism that can be rotated by a motor or an arm mechanism that can be expanded and contracted.

(ロボット通過領域)
仮想空間上で、教示値に基づいてロボットの駆動部を駆動させた時に、ロボットを構成する各点が通過する仮想空間上の軌道の集合である。すなわち、ロボット通過領域とは、有体物であるロボットが教示値に従って動作する際の掃引空間(三次元的な軌跡の集合)を、仮想空間上で表現したものである。
(Robot passage area)
This is a set of trajectories in the virtual space through which each point constituting the robot passes when the robot drive unit is driven based on the teaching value in the virtual space. That is, the robot passing area is a virtual space that represents a sweep space (a set of three-dimensional trajectories) when a robot, which is a tangible object, moves according to a teaching value.

(制約条件)
複数のロボットの通過領域同士が交差(空間的に重複)している場合に、交差が発生している領域内の少なくとも一部の空間を、いずれのロボットも通過できないようにするようにコンピュータが設定する条件である。
(Restrictions)
When the passing areas of multiple robots intersect (spatial overlap), the computer is set so that no robot can pass through at least a part of the space in the area where the intersection occurs. This is the condition to set.

以下に、本発明の教示方法の態様について、具体的に説明する。
まず、教示装置であるコンピュータは、教示しようとする一連の動作において、各々のロボットの基準部位が取るべき始点、経由点、終点の位置情報を含んだ動作指令リストを記憶する。ここで、基準部位とは、ロボットが目的とする動作を行う際に、位置を確定させる必要がある部位を指し、典型的には各ロボットのハンド部分である。
また、教示装置であるコンピュータは、各ロボットの動作範囲内にある障害物の位置および形状の情報を記憶する。
Below, the aspect of the teaching method of this invention is demonstrated concretely.
First, a computer as a teaching device stores an operation command list including position information of starting points, via points, and ending points to be taken by a reference portion of each robot in a series of operations to be taught. Here, the reference portion refers to a portion whose position needs to be determined when the robot performs a target operation, and is typically a hand portion of each robot.
Further, the computer as the teaching device stores information on the position and shape of the obstacles within the operation range of each robot.

動作指令リストと障害物の位置および形状の情報を記憶すると、コンピュータは、これらに基づき、各ロボットの基準部位を始点から終点まで障害物を避けて移動させるための経由点すなわち教示値を、各々のロボットについて独立に生成する。ここで、独立に生成するとは、他のロボットの経路との干渉を考慮しないで生成するという意味である。   When the operation command list and the information on the position and shape of the obstacle are stored, the computer, based on the information, sets a waypoint, that is, a teaching value for moving the reference part of each robot avoiding the obstacle from the start point to the end point. The robot is generated independently. Here, generating independently means generating without considering interference with a path of another robot.

経路とともに、基準部位を経路に沿って移動させるために、教示値に基づいて駆動部に与えるべき駆動指示値を、各々のロボットについて独立に生成する。ここで、駆動部とは、駆動指示値に従ってモータ駆動で回転する関節や、駆動指示値に従って伸縮するアームなど、ロボットを動作させる際に駆動する機構を指す。   Along with the route, in order to move the reference portion along the route, a drive instruction value to be given to the drive unit based on the teaching value is independently generated for each robot. Here, the drive unit refers to a mechanism that is driven when the robot is operated, such as a joint that is rotated by motor drive according to a drive instruction value, or an arm that expands and contracts according to the drive instruction value.

次に、コンピュータは、教示値に基づいてロボットの駆動部を仮想空間上で駆動させた時に、ロボットを構成する各点が通過する仮想空間上での軌道の集合であるロボット通過領域を、各ロボットについて算出して記憶する。すなわち、ロボット通過領域とは、有体物であるロボットを教示値に従って仮想的に動作させた際の掃引空間(三次元的な軌跡の集合)であり、そのロボットを構成している点であれば、必ずロボット通過領域内を移動することになる。   Next, when the computer drives the robot drive unit in the virtual space based on the teaching value, each of the robot passing regions, which are a set of trajectories in the virtual space through which each point constituting the robot passes, Calculate and store the robot. In other words, the robot passage area is a sweep space (a set of three-dimensional trajectories) when a robot that is a tangible object is virtually operated according to a teaching value, and if it is a point that constitutes the robot, It always moves in the robot passage area.

次に、コンピュータは、記憶した各ロボットのロボット通過領域のデータを用いて、通過領域同士が交差(空間的に重複)していないかを計算により求める。
交差を検出しなかった場合には、そのまま教示値を採用する。
Next, the computer uses the stored robot passage area data to determine whether the passage areas intersect (spatial overlap).
If no intersection is detected, the teaching value is adopted as it is.

一方、交差を検出した場合には、コンピュータは、交差が発生した領域内の少なくとも一部に対して、いずれのロボットも通過できない制約条件を設定し、動作指令リストまたは障害物情報に制約条件を追加する。   On the other hand, when an intersection is detected, the computer sets a restriction condition that no robot can pass through at least a part of the area where the intersection has occurred, and sets the restriction condition in the operation command list or the obstacle information. to add.

本発明の一つの態様では、制約条件の追加は、ロボット通過領域が交差する領域内にコンピュータが仮想的な障害物を設定し、仮想的な障害物の位置および形状の情報をコンピュータが追加的に記憶することにより行う。   In one aspect of the present invention, the constraint condition is added by the computer setting a virtual obstacle in an area where the robot passage areas intersect, and the computer additionally providing information on the position and shape of the virtual obstacle. This is done by storing in

本発明の別の態様では、制約条件は、ロボット通過領域が交差する2点間を結ぶ線分の中間点と各ロボットの原点とを結ぶ線分上の点を、各ロボットの基準部位が始点から終点へ向かう途中で経由しなければならない経由点として、設定される。そして、制約条件の追加は、設定した経由点を、コンピュータが動作指令リストに追加して記憶することにより行う。   In another aspect of the present invention, the constraint condition is that the reference point of each robot starts from a point on the line segment connecting the midpoint of the line connecting the two points where the robot passage area intersects and the origin of each robot. It is set as a waypoint that must be routed on the way from to the end point. The constraint condition is added by the computer adding the stored waypoints to the operation command list and storing them.

制約条件が追加された場合には、コンピュータは、追加後の動作指令リスト及び障害物の位置及び形態の情報に基づき、基準部位を始点から終点まで障害物を避けて移動させるための教示値を、各々のロボットについて再生成する。
本発明の教示方法によれば、ロボット同士の干渉を回避するために、各ロボットの動作タイミングの調整を行わなくともよい。
When the constraint condition is added, the computer sets a teaching value for moving the reference part from the start point to the end point while avoiding the obstacle based on the added operation command list and the position and form information of the obstacle. , Regenerate for each robot.
According to the teaching method of the present invention, it is not necessary to adjust the operation timing of each robot in order to avoid interference between the robots.

尚、ロボットが2台で平面的な動作しか行わないような単純な系であれば、再生成した教示値をそのまま採用すればよい。しかし、ロボットの台数が多かったり、三次元的な複雑な動作を含む系の場合には、再生成した教示値に基づいてロボット通過領域を再度算出し、ロボット通過領域同士が交差しないかを確認するのがよい。再生成した教示値で、新たな交差の発生が確認された場合には、コンピュータは、新たに交差が発生した領域内の少なくとも一部に対して、いずれのロボットも通過できない制約条件をさらに追加する。そして、追加後の動作指令リスト及び障害物の位置及び形態の情報に基づき、教示値を再生成する。   If the system is a simple system in which only two robots perform a planar operation, the regenerated teaching value may be adopted as it is. However, if the number of robots is large or the system includes complicated three-dimensional movements, the robot passage areas are calculated again based on the regenerated teaching values, and it is confirmed whether the robot passage areas do not cross each other. It is good to do. When a new intersection is confirmed with the regenerated teaching value, the computer adds a constraint that prevents any robot from passing through at least a part of the area where the new intersection has occurred. To do. Then, the teaching value is regenerated based on the operation command list after the addition and the information on the position and form of the obstacle.

このように、コンピュータが、ロボット通過領域の交差の確認と教示値の再生成とを繰り返し行うことにより、複数のロボット同士が干渉しない教示値を自動的に生成することができる。   As described above, the computer can repeatedly generate a teaching value in which a plurality of robots do not interfere with each other by repeatedly confirming the intersection of the robot passage areas and regenerating the teaching value.

以下、本発明の実施例に係るロボットの教示方法および教示装置について、図面を用いて説明する。なお、教示方法が対象とするロボットは、モータ等の動力源によって動作し、制御されるものであれば何でもよい。例えば、多関節の機構を持つロボットや、平面上を移動するロボット等を含む。   A robot teaching method and teaching apparatus according to embodiments of the present invention will be described below with reference to the drawings. The robot targeted by the teaching method may be anything as long as it is operated and controlled by a power source such as a motor. For example, a robot having an articulated mechanism and a robot moving on a plane are included.

(実施例1)
実施例では、回転関節を有するシリアルリンク型の2台のロボットアームに教示する例を説明する。
Example 1
In the embodiment, an example in which two serial link type robot arms having rotating joints are taught will be described.

(教示装置の構成)
図1、図2は本発明の実施例1に係るロボット教示システムの構成を示している。図1は、ロボット教示システム全体の構成を示した図で、図2は教示方法を実施するコンピュータのブロック図である。
(Configuration of teaching device)
1 and 2 show the configuration of a robot teaching system according to Embodiment 1 of the present invention. FIG. 1 is a diagram showing the configuration of the entire robot teaching system, and FIG. 2 is a block diagram of a computer that implements the teaching method.

図1において、コンピュータ10の一部である演算処理部1は、作業領域を共有して配置された複数のロボットの動作を制御するための教示値の生成を行う。詳細は後述するが、本実施例では、コンピュータ10は、障害物を回避しながら2台のロボットアームが互いに干渉しないで動作できるような教示値を生成する。そのためのプログラムは、記憶媒体に記憶されており、コンピュータが実行する際に読出し可能である。   In FIG. 1, an arithmetic processing unit 1 that is a part of a computer 10 generates a teaching value for controlling the operations of a plurality of robots arranged sharing a work area. Although details will be described later, in this embodiment, the computer 10 generates a teaching value that allows the two robot arms to operate without interfering with each other while avoiding an obstacle. A program for this purpose is stored in a storage medium and can be read when the computer executes it.

ここで、障害物とは、ロボットアームの動作範囲内に配置されたロボットアーム以外の物を指し、例えば部品供給装置、換気ダクト、あるいはロボットシステムの筐体など、実空間の作業領域中に配置されたあらゆる物体が含まれる。ロボットアームの動作をシミュレーションするためにコンピュータ10が用いる仮想空間内には、実空間の障害物に対応した位置及び形状の障害物が配置される。仮想空間に配置する障害物のデータは、演算処理部1で生成してもよいし、ネットワークインターフェース31を介して外部機器32からコンピュータ10に導入してもよい。   Here, the obstacle refers to an object other than the robot arm arranged within the operation range of the robot arm, and is arranged in a work area in the real space such as a component supply device, a ventilation duct, or a robot system housing. All objects that are made are included. In the virtual space used by the computer 10 to simulate the operation of the robot arm, obstacles having positions and shapes corresponding to the obstacles in the real space are arranged. Obstacle data arranged in the virtual space may be generated by the arithmetic processing unit 1 or may be introduced from the external device 32 to the computer 10 via the network interface 31.

演算処理部1には、動作指令やデータ等を入力するための入力部として、キーボード11、マウス12(あるいはトラックパッドのようなポインティングデバイス)が接続されている。作業者は、キーボード11、マウス12などを用いて、ロボットアームの動作指令を入力する。本実施例では、作業者は、教示すべき作業動作について、ロボットアーム先端部のハンド部分の始点、経由点、終点の3次元座標のデータ等を動作指令として入力し、コンピュータ10に記憶させる。
また、作業者が入力した動作指令や、それに基づき演算処理部1が生成したロボット通過領域や制約条件あるいは仮想的な障害物などを確認するための表示装置として、ディスプレイ13が接続されている。
A keyboard 11 and a mouse 12 (or a pointing device such as a track pad) are connected to the arithmetic processing unit 1 as input units for inputting operation commands, data, and the like. The operator inputs an operation command for the robot arm using the keyboard 11 and the mouse 12. In the present embodiment, the worker inputs the three-dimensional coordinate data of the start point, the via point, the end point, etc. of the hand part of the tip of the robot arm as the operation command for the work operation to be taught, and stores it in the computer 10.
In addition, a display 13 is connected as a display device for confirming an operation command input by an operator, a robot passage area generated by the arithmetic processing unit 1 based on the operation command, a constraint condition, or a virtual obstacle.

演算処理部1には、外部記憶装置14と、ネットワークインターフェース31などを接続することができる。図1の外部記憶装置14は、主に外付けのHDDやSSDのようなディスク装置、あるいは各種の光ディスク装置などから構成される。ネットワークインターフェース31は、実機のロボットアームに対して動作指令データなどを転送するために用いられる。   An external storage device 14 and a network interface 31 can be connected to the arithmetic processing unit 1. The external storage device 14 in FIG. 1 is mainly composed of a disk device such as an external HDD or SSD, or various optical disk devices. The network interface 31 is used to transfer operation command data and the like to the actual robot arm.

また、外部記憶装置14、ネットワークインターフェース31は、軌道生成プログラムを演算処理部1にインストールしたり、あるいはインストール済みの同プログラムを更新したりするためのインストール/更新手段として利用できる。その場合、例えば外部記憶装置14は、メディア交換の可能な光ディスク装置などから構成することができる。本発明を実施するための制御プログラムは、上記の光ディスクを介して演算処理部1にインストールでき、またその更新が可能である。同様に、本発明を実施するための制御プログラムは、ネットワークインターフェース31を介して、所定のネットワークプロトコルを利用して演算処理部1にインストールでき、またその更新が可能である。   The external storage device 14 and the network interface 31 can be used as an install / update means for installing the trajectory generation program in the arithmetic processing unit 1 or updating the installed program. In this case, for example, the external storage device 14 can be constituted by an optical disk device capable of exchanging media. A control program for carrying out the present invention can be installed in the arithmetic processing unit 1 via the optical disk and can be updated. Similarly, a control program for carrying out the present invention can be installed in the arithmetic processing unit 1 by using a predetermined network protocol via the network interface 31 and can be updated.

なお、図1の教示装置は、教示の対象となる実機のロボットアームと接続されていてもよく、また、ロボットアームとの接続の無いオフライン環境においても教示値を生成することができるよう構成されている。オフライン環境における教示値生成では、ディスプレイ13にプログラム対象であるロボットアームの3D仮想表示を行う。このような3D仮想表示GUIは、キーボード11、マウス12などを用いて、ディスプレイ13上に仮想表示されたアームやその関節を操作できるよう構成することができる。   1 may be connected to an actual robot arm to be taught, and is configured to generate a teaching value even in an offline environment without connection to the robot arm. ing. In the teaching value generation in the offline environment, 3D virtual display of the robot arm to be programmed is performed on the display 13. Such a 3D virtual display GUI can be configured such that an arm or a joint thereof virtually displayed on the display 13 can be operated using the keyboard 11, the mouse 12, or the like.

図2は、コンピュータ10の構成の一例をブロック図として示している。図示のように、コンピュータ10は、システムバス29上に、CPU20、ROM21、RAM22、HDD23(例えば演算処理部1の筐体内に内蔵のもの)などの各部を接続して構成されている。   FIG. 2 shows an example of the configuration of the computer 10 as a block diagram. As shown in the figure, the computer 10 is configured by connecting various components such as a CPU 20, a ROM 21, a RAM 22, and an HDD 23 (for example, those built in the casing of the arithmetic processing unit 1) on a system bus 29.

外部記憶装置14はインターフェース28を介してシステムバス29に接続されている。図2では、特に外部記憶装置14を構成する部材として光ディスク装置を例示したが、このようなディスクデバイスは、図2では記録ディスクドライブ24として示してある。記録ディスクドライブ24は、各種の光ディスクなどフォーマットで構成された記録ディスク15のデータを読み取り、あるいはさらに記録ディスク15に対してデータを書き込むことができる。従って、記録ディスク15は、例えば本発明を実施するための制御プログラムの入出力に利用できる。その場合、記録ディスク15は同制御プログラムのコンピュータ読み取り可能な記録媒体を構成する。   The external storage device 14 is connected to the system bus 29 via the interface 28. In FIG. 2, an optical disk device is illustrated as a member that constitutes the external storage device 14 in particular. Such a disk device is shown as a recording disk drive 24 in FIG. The recording disk drive 24 can read data on the recording disk 15 configured in a format such as various optical disks, or can further write data to the recording disk 15. Therefore, the recording disk 15 can be used for input / output of a control program for implementing the present invention, for example. In that case, the recording disk 15 constitutes a computer-readable recording medium of the control program.

図3は、動作を教示する対象のロボットを示す図で、共通の作業領域30に配置された2台のロボットアームを示している。ロボットアーム5は、3つの回転関節51、52、53を備え、またロボットアームの先端にはハンド54を備えている。ロボットアーム6も同様に、3つの回転関節61、62、63と、ハンド64を備えている。ロボットアーム5の回転関節51及びロボットアーム6の回転関節61は、それぞれ作業領域30の基台に固定されている。回転関節51と回転関節61が固定された基台上の位置を、それぞれのロボットアームの原点と呼ぶ。各ロボットアームは、回転関節を駆動させることによって図3の紙面方向に沿って動作する。   FIG. 3 is a diagram showing a robot to be instructed to operate, and shows two robot arms arranged in a common work area 30. The robot arm 5 includes three rotary joints 51, 52, and 53, and a hand 54 at the tip of the robot arm. Similarly, the robot arm 6 includes three rotary joints 61, 62, 63 and a hand 64. The rotary joint 51 of the robot arm 5 and the rotary joint 61 of the robot arm 6 are respectively fixed to the base of the work area 30. The position on the base where the rotary joint 51 and the rotary joint 61 are fixed is called the origin of each robot arm. Each robot arm operates along the paper surface direction of FIG. 3 by driving a rotary joint.

(教示方法)
以下、実施例1に係る教示方法について、図4乃至図8を用いて詳細に説明する。
図4は、教示方法の工程を示すフローチャートで、以下の6つの工程を含んでいる。S100は動作指令準備工程、S110はロボットが障害物を回避するための教示値を生成する教示値生成工程、S120は仮想空間上でロボット通過領域を生成するロボット通過領域算出工程、S130はロボット通過領域の交差を検出する交差検出工程である。また、S140は制約条件として仮想的な障害物を追加する制約条件追加工程、S150は制約条件追加工程後にロボットが障害物を回避するための教示値を再生成する教示値再生成工程である。上記の6工程を含むプログラムは、演算処理部1のROM21に備えられている。
(Teaching method)
Hereinafter, the teaching method according to the first embodiment will be described in detail with reference to FIGS.
FIG. 4 is a flowchart showing the steps of the teaching method, and includes the following six steps. S100 is an operation command preparation step, S110 is a teaching value generation step for generating a teaching value for the robot to avoid an obstacle, S120 is a robot passage region calculation step for generating a robot passage region in the virtual space, and S130 is a passage through the robot. This is an intersection detection step of detecting an intersection of regions. Further, S140 is a constraint condition adding step for adding a virtual obstacle as a constraint condition, and S150 is a teaching value regenerating step for regenerating a teaching value for the robot to avoid the obstacle after the constraint condition adding step. The program including the above six steps is provided in the ROM 21 of the arithmetic processing unit 1.

動作指令準備工程S100では、まず教示値を生成するのに必要な情報である動作指令リストを教示者が入力する。動作指令とは、始点と終点、更に必要な場合には経由点の組み合わせから成る。動作指令は各ロボットに複数個割り当てることも可能である。
動作指令の与え方として、ロボットアームの基準となる点を定め(本実施例ではハンドの先端)、教示したい動作における基準点の位置の始点、経由点、終点の情報を与えればよい。
In the operation command preparation step S100, first, an instructor inputs an operation command list which is information necessary for generating a teaching value. An operation command consists of a combination of a start point and an end point, and if necessary, a via point. A plurality of motion commands can be assigned to each robot.
As a method of giving an operation command, a point serving as a reference of the robot arm is determined (the tip of the hand in this embodiment), and information on the start point, via point, and end point of the position of the reference point in the operation to be taught is given.

また、S100では、2本のロボットアームの共通の作業領域30の内に存在する障害物の位置と形状の情報を、コンピュータ10に記憶させる。本実施例では、作業領域内に、2つの障害物100と障害物101が存在するものとする。   Further, in S100, the computer 10 stores information on the position and shape of the obstacle present in the common work area 30 of the two robot arms. In this embodiment, it is assumed that there are two obstacles 100 and 101 in the work area.

図5に、ロボットアーム5およびロボットアーム6に作業を教示するために与えられた始点、経由点、終点を例示する。ロボットアーム5の基準部位はハンド54の先端であるが、図5において、a1はその始点、a2は経由点、a3は終点である。これはロボットアーム5が始点a1から終点a2に移動し、その後、始点a2から終点a3に移動すると解釈することもできる。また、ロボットアーム6の基準部位はハンド64の先端であるが、図5において、b1はその始点、b2は終点である。   FIG. 5 exemplifies the start point, the waypoint, and the end point given to teach the robot arm 5 and the robot arm 6 about the work. The reference part of the robot arm 5 is the tip of the hand 54. In FIG. 5, a1 is the start point, a2 is the via point, and a3 is the end point. This can be interpreted that the robot arm 5 moves from the start point a1 to the end point a2, and then moves from the start point a2 to the end point a3. The reference part of the robot arm 6 is the tip of the hand 64. In FIG. 5, b1 is the start point and b2 is the end point.

ロボットアーム5に与えられた動作指令は以下の2つで、それぞれ動作指令Oa1、Oa2とする。
Oa1 = { a1 , a2 }
Oa2 = { a2 , a3 }
これは、ロボットアーム5が始点a1から終点a2に移動し、その後に始点a2から終点a3に移動することを意味する。
また、ロボットアーム6に与えられた動作指令は1つで、動作指令Ob1とする。
Ob1 = { b1 , b2 }
ロボットアーム6については、始点b1から終点b2に移動することを意味する。
The following two operation commands are given to the robot arm 5 and are referred to as operation commands Oa1 and Oa2, respectively.
Oa1 = {a1, a2}
Oa2 = {a2, a3}
This means that the robot arm 5 moves from the start point a1 to the end point a2, and then moves from the start point a2 to the end point a3.
Further, one operation command is given to the robot arm 6 and is set as the operation command Ob1.
Ob1 = {b1, b2}
For the robot arm 6, this means that the robot arm 6 moves from the start point b1 to the end point b2.

教示値生成工程S110では、コンピュータ10は、上記動作指令に基づき、障害物100と障害物101を避けてロボットアームを移動させる際に必要となる経由点(教示値)を生成する。尚、コンピュータ10には、各ロボットアームのリンク形状や長さ、各駆動部(関節)の可動範囲等、経路と教示値を生成する上で必要な情報は、予め記憶されている。   In the teaching value generation step S110, the computer 10 generates a waypoint (teaching value) necessary for moving the robot arm while avoiding the obstacle 100 and the obstacle 101 based on the operation command. The computer 10 stores in advance information necessary for generating a route and a teaching value, such as the link shape and length of each robot arm and the movable range of each drive unit (joint).

ここで、各ロボットアームの経路と教示値を生成する際には、他のロボットアームとの干渉は考慮せず、ロボットアーム毎に独立して生成する。即ち、他のロボットアームを障害物としては認識せずに生成を行う。   Here, when generating the path and the teaching value of each robot arm, it is generated independently for each robot arm without considering interference with other robot arms. That is, generation is performed without recognizing other robot arms as obstacles.

教示値生成工程S110は、詳しくは、経路計画、経路短縮、駆動値計算の3つのサブ工程を含む。   Specifically, the teaching value generation step S110 includes three sub-steps of route planning, route shortening, and driving value calculation.

経路計画工程では、始点から終点まで向かう間の障害物を回避する経路を求める。経路を求めるには、RRTやPRMといった公知の各種の手法により、自動で計算する方式を用いることができる。   In the route planning process, a route for avoiding an obstacle between the start point and the end point is obtained. In order to obtain the route, it is possible to use a method of automatically calculating by various known methods such as RRT and PRM.

経路短縮工程では、経路計画工程により生成された経路の修正を行う。経路計画工程でランダム探索を用いた方法を選択した場合、生成される経路が回り道をしていたり、角度変化が急になっていたりするため、経路の修正を行う必要がある。この経路短縮工程で、経路の短縮も、経路中の点同士で干渉なく結べる点を探す方法や、スプライン曲線で近似することにより経路を滑らかにする方法など多くの方法が考えられるが、ここではどのような方法を用いてもよい。   In the route shortening step, the route generated by the route planning step is corrected. When a method using random search is selected in the route planning process, the route to be generated has a detour or a sudden change in angle, and thus the route needs to be corrected. In this route shortening process, there are many ways to shorten the route, such as searching for points that can be connected without interference between points in the route, and smoothing the route by approximating with a spline curve. Any method may be used.

駆動値計算工程では、上記の経路計画/経路短縮工程によって生成された経路を、最短の時間で動作できるように、教示値に基づいてロボットアームの各駆動部(関節)の回転速度や加速度などを計算し、駆動部への指示値を生成する。他のロボットとの干渉については、ここでは考慮しないで生成する。   In the driving value calculation process, the rotational speed and acceleration of each driving unit (joint) of the robot arm is based on the teaching value so that the path generated by the path planning / path shortening process can be operated in the shortest time. Is calculated and an instruction value to the drive unit is generated. The interference with other robots is generated without consideration here.

図6に、動作指令Oa1、Oa2、Ob1に基づいて生成された経路を、模式的に示す。
ロボットアーム5については、図6に示すように、基準部位であるハンドの先端が移動する経路rTra1が動作指令Oa1に基づいて生成され、経路rTra2が動作指令Oa2に基づいて生成される。また、ロボットアーム6については、基準部位であるハンドの先端が移動する経路rTrb1がOb1に基づいて生成される。
FIG. 6 schematically shows paths generated based on the operation commands Oa1, Oa2, and Ob1.
As for the robot arm 5, as shown in FIG. 6, a path rTra1 along which the tip of the hand that is a reference part moves is generated based on the operation command Oa1, and a path rTra2 is generated based on the operation command Oa2. For the robot arm 6, a path rTrb1 along which the tip of the hand that is the reference part moves is generated based on Ob1.

次に、図4の工程S120において、コンピュータ10は、教示値に基づいてロボットの駆動部を駆動させた時に、ロボットを構成する各点が通過する仮想空間上の軌道の集合(掃引空間)であるロボット通過領域を生成する。図6において、ロボットアーム5のロボット通過領域500、及びロボットアーム6のロボット通過領域600は、各々斜線を付した領域として模式的に示されている。コンピュータ10は、図6に示す障害物や各ロボットアームのロボット通過領域等をディスプレイ13に表示させ、作業者の教示作業を容易にする。   Next, in step S120 of FIG. 4, when the computer 10 drives the driving unit of the robot based on the teaching value, the computer 10 is a set of trajectories (sweep space) on the virtual space through which each point constituting the robot passes. Generate a robot passage area. In FIG. 6, the robot passage area 500 of the robot arm 5 and the robot passage area 600 of the robot arm 6 are schematically shown as hatched areas. The computer 10 displays the obstacles shown in FIG. 6, the robot passage area of each robot arm, and the like on the display 13, thereby facilitating the operator's teaching work.

そして、図4の工程S130において、コンピュータ10は、ロボットアーム5のロボット通過領域500と、ロボットアーム6のロボット通過領域600が、仮想空間上で交差(重複)していないかを計算により求め、判定する。   In step S130 of FIG. 4, the computer 10 calculates by calculation whether the robot passage area 500 of the robot arm 5 and the robot passage area 600 of the robot arm 6 intersect (overlap) in the virtual space. judge.

図6の例では、ロボット通過領域500とロボット通過領域600には交差(重複)部分があり、教示値生成工程S110で生成した教示値で各ロボットアームを駆動すれば、ロボットアーム同士が干渉することが判る。   In the example of FIG. 6, the robot passage area 500 and the robot passage area 600 have an intersection (overlapping) portion, and the robot arms interfere with each other when the robot arms are driven with the teaching values generated in the teaching value generation step S <b> 110. I understand that.

ロボット通過領域同士の交差(重複)が検出されなかった場合、すなわち工程S130がNo判定の場合には、コンピュータ10は、すでに生成した教示値を採用し記憶する。しかし、図6の例のように交差(重複)が検出された場合、すなわち工程S130がYes判定の場合には、制約条件を設定して、教示値を再生成する。コンピュータ10は、設定した制約条件等をディスプレイ13に表示させ、作業者の教示作業を容易にする。   If no intersection (overlap) between the robot passage areas is detected, that is, if step S130 is No, the computer 10 adopts and stores the already generated teaching value. However, when an intersection (overlap) is detected as in the example of FIG. 6, that is, when Step S <b> 130 is Yes, a constraint condition is set and the teaching value is regenerated. The computer 10 displays the set constraint conditions and the like on the display 13 to facilitate the operator's teaching work.

実施例1ではロボット通過領域同士が交差(重複)する領域内の少なくとも一部に対して、いずれのロボットも通過できない仮想的な障害物の情報を制約条件として新たに生成して障害物情報に追加し(S140)、その条件で教示値を再生成する(S150)。コンピュータ10は、制約条件として設定した仮想的な障害物の情報等をディスプレイ13に表示させ、作業者の教示作業を容易にする。   In the first embodiment, for at least a part of an area where the robot passage areas intersect (overlapping), information on a virtual obstacle that cannot be passed by any robot is newly generated as a restriction condition to obtain obstacle information. It is added (S140), and the teaching value is regenerated under the conditions (S150). The computer 10 displays information on virtual obstacles set as a constraint condition on the display 13 to facilitate the teaching work of the operator.

具体的には、図6に示した通り、経路rTra1と経路rTrb1においてロボット通過領域500とロボット通過領域600は交差しているが、経路rTra2と経路rTrb1においては交差していない。
そこで、工程S140では、交差している経路rTra1と経路rTrb1について、仮想的な障害物の追加処理を行う。図7は、これを説明するための図である。まず、図7に示すように、経路rTra1と経路rTrb1におけるロボット通過領域の交点である点Int1と点Int2を計算する。次に、点Int1と点Int2を結ぶ線を計算し、これを新たな仮想的な障害物w1として、障害物の情報に追加する。この例では、追加する仮想的な障害物は1つであるが、複数の箇所で交差していれば、複数の障害物が追加される。
Specifically, as shown in FIG. 6, the robot passage area 500 and the robot passage area 600 intersect in the path rTra1 and the path rTrb1, but do not intersect in the path rTra2 and the path rTrb1.
Therefore, in step S140, a virtual obstacle addition process is performed for the intersecting route rTra1 and route rTrb1. FIG. 7 is a diagram for explaining this. First, as shown in FIG. 7, the points Int1 and Int2, which are the intersections of the robot passage areas on the route rTra1 and the route rTrb1, are calculated. Next, a line connecting the points Int1 and Int2 is calculated, and this is added to the obstacle information as a new virtual obstacle w1. In this example, one virtual obstacle is added, but a plurality of obstacles are added if they intersect at a plurality of locations.

そして、工程S150では、工程S140で追加された仮想的な障害物も回避するように経路を生成し直す。図8に、仮想的な障害物w1が追加された状態で、経路生成をやり直した結果を示す。動作指令Oa1に基づく経路は、当初はrTra1であったが、障害物w1が追加されたことにより、新たな経路Tra1が生成された。また、動作指令Ob1に基づく経路rTrb1も、新たな経路Trb1が生成された。動作指令Oa2に基づく経路rTra2に関しては、当初からロボットアーム6のロボット通過領域が交差していなかったため、経路は変化しないままである。コンピュータ10は、図8に示す障害物、仮想的な障害物や、生成し直した経路に基づく各ロボットアームのロボット通過領域等をディスプレイ13に表示させ、作業者の教示作業を容易にする。
コンピュータ10は、新たに生成された経路に対応する経由点を、変更された教示値として記憶する。
In step S150, a route is regenerated so as to avoid the virtual obstacle added in step S140. FIG. 8 shows the result of re-creating the route with the virtual obstacle w1 added. The route based on the operation command Oa1 was initially rTra1, but a new route Tra1 was generated by adding the obstacle w1. In addition, a new route Trb1 is generated as the route rTrb1 based on the operation command Ob1. Regarding the route rTra2 based on the operation command Oa2, since the robot passage areas of the robot arm 6 have not intersected from the beginning, the route remains unchanged. The computer 10 displays the obstacle shown in FIG. 8, a virtual obstacle, a robot passage area of each robot arm based on the regenerated route, and the like on the display 13, thereby facilitating the operator's teaching work.
The computer 10 stores the waypoint corresponding to the newly generated route as the changed teaching value.

以上により、ロボットアーム5の経路Tra1と経路Tra2、ロボットアーム6の経路Trb1と、それに対応する教示値が得られる。生成し直された経路および教示値は、他のロボットの動作を考慮したものであると言える。図8から明らかなように、互いのロボット通過領域は交差し合わないので、動作タイミングや速度調整といった制御を行うまでもなく、ロボットアームの干渉を防止できていることが分かる。   As described above, the path Tra1 and path Tra2 of the robot arm 5 and the path Trb1 of the robot arm 6 and the corresponding teaching value are obtained. It can be said that the regenerated path and the teaching value are considered in consideration of the operation of another robot. As can be seen from FIG. 8, since the robot passing areas do not intersect each other, it is understood that the robot arm interference can be prevented without performing control such as operation timing and speed adjustment.

尚、実施例1においては、平面的に動作するロボットアームで説明したため、仮想的な障害物は線で表現された。しかし、三次元動作する多関節ロボット等では、追加するべき仮想的な障害物は、平面または立体で表現する必要が生じる場合がある。コンピュータ10は、障害物、仮想的な障害物や、各ロボットアームのロボット通過領域等を、3次元的に表現された画像を用いてディスプレイ13に表示させ、作業者の教示作業を容易にする。そうした場合には、物体の移動によって物体が通過した領域を求めることが可能な掃引空間の技術(Swept Volume)を用いると良い。   In the first embodiment, since the robot arm that operates in a plane is described, the virtual obstacle is represented by a line. However, in an articulated robot or the like that operates three-dimensionally, a virtual obstacle to be added may need to be expressed in a plane or a solid. The computer 10 displays an obstacle, a virtual obstacle, a robot passage area of each robot arm, and the like on the display 13 using an image expressed three-dimensionally, thereby facilitating the operator's teaching work. . In such a case, it is preferable to use a sweep space technique capable of obtaining a region through which the object has passed due to the movement of the object.

掃引空間の技術を適用した場合には、一方のロボットアームについては経路に従ってロボットのリンクが掃引する領域を計算し、他方のロボットアームを経路に沿って動作させた時に、その領域に干渉するかを判定することが可能である。掃引した領域に干渉し始める点と、干渉しなくなる点の2つを計算することで、実施例1の場合と同様に、交点となる点Int1とInt2を3次元空間上で求めることができる。次に、3次元空間上の2点を含む平面または立体形状の仮想的な障害物を生成する。例えば、工程S140において、2点を結ぶ線分をロボットアームの高さ方向に拡張した平面を、追加する障害物として生成しても良い。あるいは、2点を結ぶ線分を軸とした円柱を、仮想的な障害物として生成してもよい。
以上のように、実施例1の教示方法は、3次元空間を移動するロボットの場合においても適用可能である。
If sweep space technology is applied, calculate the area where the robot link sweeps along the path for one robot arm, and interfere with that area when the other robot arm is moved along the path. Can be determined. By calculating two points, that is, a point at which interference starts in the swept region and a point at which interference does not occur, the points Int1 and Int2 that are the intersection points can be obtained in the three-dimensional space, as in the first embodiment. Next, a virtual obstacle having a planar or three-dimensional shape including two points on the three-dimensional space is generated. For example, in step S140, a plane obtained by extending a line segment connecting two points in the height direction of the robot arm may be generated as an obstacle to be added. Alternatively, a cylinder having a line segment connecting two points as an axis may be generated as a virtual obstacle.
As described above, the teaching method of the first embodiment can be applied to a robot that moves in a three-dimensional space.

(実施例2)
実施例2においても、図1、図2に示したロボット教示システムを用い、図3に示した回転関節を有するシリアルリンク型の2台のロボットアームに教示する。実施例1と説明が重複する部分については、ここでは省略する。
(Example 2)
In the second embodiment, the robot teaching system shown in FIGS. 1 and 2 is used to teach two serial link type robot arms having the rotary joint shown in FIG. Parts that overlap with the description of the first embodiment are omitted here.

実施例1では、ロボット通過領域を求め、交差が検出された場合には、交差領域の少なくとも一部に仮想的な障害物を追加し、再度経路を生成することで、他のロボットアームと干渉しない経路および教示値を生成した。
これに対して、実施例2では、仮想的な障害物ではなく、ロボット通過領域の交差を回避するための経由点を追加的に設定することで、経路を修正する。ここで、経由点とはロボットアームが始点から終点へと動作するまでの間に通らなければならない点であり、経由点を適切な位置に配置することで、ロボットアームの経路を修正することが可能となる。
以下、経由点の追加方法を含む実施例2の教示方法について説明する。
In the first embodiment, a robot passing area is obtained, and when an intersection is detected, a virtual obstacle is added to at least a part of the intersecting area, and a path is generated again to interfere with other robot arms. Not generated routes and teaching values were generated.
On the other hand, in the second embodiment, the route is corrected by additionally setting a waypoint for avoiding the intersection of the robot passage areas instead of the virtual obstacle. Here, the via point is the point that the robot arm must pass from the start point to the end point, and the route of the robot arm can be corrected by placing the via point at an appropriate position. It becomes possible.
Hereinafter, a teaching method according to the second embodiment including a method of adding via points will be described.

図9は、実施例2に係る教示方法の工程を示すフローチャートで、以下の6つの工程を含んでいる。S100は動作指令準備工程、S110はロボットが障害物を回避するための教示値を生成する教示値生成工程、S120は仮想空間上でロボット通過領域を生成するロボット通過領域算出工程、S130はロボット通過領域の交差を検出する交差検出工程である。また、S240は制約条件として経由点を追加する制約条件追加工程、S250は制約条件追加工程後にロボットが障害物を回避するための教示値を再生成する教示値再生成工程である。上記の6工程を含むプログラムは、演算処理部1のROM21に備えられている。   FIG. 9 is a flowchart showing the steps of the teaching method according to the second embodiment, and includes the following six steps. S100 is an operation command preparation step, S110 is a teaching value generation step for generating a teaching value for the robot to avoid an obstacle, S120 is a robot passage region calculation step for generating a robot passage region in the virtual space, and S130 is a passage through the robot. This is an intersection detection step of detecting an intersection of regions. Further, S240 is a constraint condition adding step for adding a via point as a constraint condition, and S250 is a teach value regenerating step for regenerating a teach value for the robot to avoid an obstacle after the constraint condition adding step. The program including the above six steps is provided in the ROM 21 of the arithmetic processing unit 1.

このうち、S100乃至S130の工程は、実施例1と同様である。実施例2においても、実施例1と同様に、工程S120で図6のロボット通過領域を生成し、工程S130でロボット通過領域同士の交差(重複)を検出したものとする。
実施例1では、交差が検出されると、図4の工程S140において制約条件として仮想的な障害物を追加していたが、実施例2では、図9の工程S240において制約条件として経由点を追加する。
Among these, the steps S100 to S130 are the same as those in the first embodiment. Also in the second embodiment, as in the first embodiment, it is assumed that the robot passage areas of FIG. 6 are generated in step S120, and the intersection (overlap) of the robot passage areas is detected in step S130.
In the first embodiment, when an intersection is detected, a virtual obstacle is added as a constraint in step S140 in FIG. 4, but in the second embodiment, a via point is used as a constraint in step S240 in FIG. to add.

まず、図10に示すように、経路rTra1と経路rTrb1のロボット通過領域が交差する点Int1、Int2から、点Int1とInt2を結ぶ線分の中間点であるM1を計算により求める。中間点M1は、図示のように線分を等分割する中点とするのが望ましいが、線分上の他の点であってもよい。そして、中間点M1とロボットアーム5の原点(回転関節51が固定された基台上の位置)を結んだ線分をlaとし、中間点M1とロボットアーム6の原点(回転関節61が固定された基台上の位置)を結んだ線分をlbとする。線分laとlbを任意の割合で分割した時の各線分上の点をSa1、Sb1とし、これらを再び経路を生成する際の経由点として追加する。コンピュータ10は、図10に示す障害物、ロボット通過領域が交差する点Int1、Int2、中間点M1や、経由点Sa1、Sb1等をディスプレイ13に表示させ、作業者の教示作業を容易にする。   First, as shown in FIG. 10, M1 which is an intermediate point of a line segment connecting the points Int1 and Int2 is obtained by calculation from points Int1 and Int2 where the robot passage areas of the route rTra1 and the route rTrb1 intersect. The intermediate point M1 is preferably a midpoint that equally divides the line segment as shown, but may be another point on the line segment. A line segment connecting the intermediate point M1 and the origin of the robot arm 5 (position on the base to which the rotary joint 51 is fixed) is denoted by la, and the origin of the intermediate point M1 and the robot arm 6 (the rotary joint 61 is fixed). A line segment connecting positions on the base) is defined as lb. The points on each line segment when the line segments la and lb are divided at an arbitrary ratio are Sa1 and Sb1, and these are added as via points when a route is generated again. The computer 10 displays on the display 13 the points Int1, Int2, the intermediate point M1, the waypoints Sa1, Sb1, and the like at which the obstacles and the robot passage area intersect, as shown in FIG.

線分laとlbを分割する時の割合の設定の仕方には、様々な方法が考えられる。例えばSa1とSb1の距離が、2つのロボットアームが動作するために最低限確保したいクリアランスよりも長くなるように、その割合を設定しても良い。また、経路rTra1とrTrb1を動作する時の時間によって、その割合を設定しても良い。   Various methods are conceivable for setting the ratio when dividing the line segments la and lb. For example, the ratio may be set so that the distance between Sa1 and Sb1 is longer than the minimum clearance that is required to be secured in order to operate the two robot arms. Further, the ratio may be set according to the time for operating the routes rTra1 and rTrb1.

経由点を追加することにより、ロボット通過領域が交差する空間に、複数のロボットのいずれもが通過できない制約条件を設定したことになる。経由点を追加した場合は、S110にて生成した教示値を変更する。ロボットアーム5に対しては、動作指令Oa1を分割し、始点a1から経由点Sa1まで向かう動作指令Oa1−1と、経由点Sa1から終点a2まで向かう動作指令Oa1−2へ変更する。よってロボットアーム5に対する動作指令は、以下のようになる。
Oa1−1 = { a1 , Sa1 } 、Oa1−2 = { Sa1 , a2 } 、Oa2 = { a2 , a3 }
同様に、ロボットアーム6に対する動作指令は、以下のようになる。
Ob1−1 = { b1 , Sb1 } 、Ob1−2 = { Sb1 , b2 }
図9のS250では、上記の変更された動作指令をもとに、教示値を再度生成する。
By adding a waypoint, a constraint condition in which none of the plurality of robots can pass is set in a space where the robot passage regions intersect. When a via point is added, the teaching value generated in S110 is changed. For the robot arm 5, the operation command Oa1 is divided and changed to an operation command Oa1-1 from the start point a1 to the transit point Sa1 and an operation command Oa1-2 from the transit point Sa1 to the end point a2. Therefore, the operation command for the robot arm 5 is as follows.
Oa1-1 = {a1, Sa1}, Oa1-2 = {Sa1, a2}, Oa2 = {a2, a3}
Similarly, the operation command for the robot arm 6 is as follows.
Ob1-1 = {b1, Sb1}, Ob1-2 = {Sb1, b2}
In S250 of FIG. 9, the teaching value is generated again based on the changed operation command.

図11は再生成された教示値に基づき、障害物100と障害物101を避けて各ロボットアームを移動させる際の基準部位の経路を示す図である。当初の経路rTra1に対して、経由点Sa1と通る経路Tra1−1とTra1−2が生成され、経路rTrb1に対しても、経由点Sb1を通る経路Trb1−1とTrb1−2が生成される。以上により、各ロボットアームの経路と、それに対応する教示値が得られる。コンピュータ10は、図11に示す障害物、経由点、生成し直した経路に基づく各ロボットアームのロボット通過領域等をディスプレイ13に表示させ、作業者の教示作業を容易にする。   FIG. 11 is a diagram illustrating a path of a reference portion when moving each robot arm while avoiding the obstacle 100 and the obstacle 101 based on the regenerated teaching value. Routes Tra1-1 and Tra1-2 that pass through the route point Sa1 are generated for the initial route rTra1, and routes Trb1-1 and Trb1-2 that pass through the route point Sb1 are also generated for the route rTrb1. As described above, the path of each robot arm and the teaching value corresponding thereto are obtained. The computer 10 displays the obstacle passing points shown in FIG. 11, the robot passage area of each robot arm based on the regenerated route, and the like on the display 13 to facilitate the operator's teaching work.

実施例2のように、新たな経由点を追加する方法においても、各ロボットアーム同士が干渉しない経路を生成することが可能である。経由点を追加する方法では、経由点の追加する位置を任意に決めることができるので、経路の修正を意図的に行いやすいのが特徴である。これは、例えば、一方のロボットは短い動作時間で、他方のロボットは長い動作時間で動作させるといった調整も可能になるということである。
尚、実施例2においても、平面的に動作するロボットアームで説明したが、3次元空間を移動するロボットの場合にも適用可能である。
Even in the method of adding a new waypoint as in the second embodiment, it is possible to generate a route in which the robot arms do not interfere with each other. The method of adding a waypoint is characterized in that it is easy to intentionally correct the route because the position where the waypoint is added can be determined arbitrarily. This means that, for example, it is possible to adjust such that one robot is operated with a short operation time and the other robot is operated with a long operation time.
In the second embodiment, the robot arm that operates in a planar manner has been described, but the present invention can also be applied to a robot that moves in a three-dimensional space.

(実施例3)
実施例1においては、平面的に動作する2台のロボットアームの例で説明したが、3次元的に動作するロボットや、多数のロボットが作業領域を共有する場合には、図4のフローチャートでは、必ずしも十分でない場合がある。工程S140で、仮想的な障害物を追加して経路を再生成したとしても、再生成した経路についてロボット通過領域同士が交差しないとは限らない場合がありえる。
(Example 3)
In the first embodiment, an example of two robot arms operating in a plane has been described. However, when a robot operating three-dimensionally or a large number of robots share a work area, the flowchart of FIG. , May not always be enough. Even if a virtual obstacle is added and the route is regenerated in step S140, the robot passing regions may not necessarily intersect with each other on the regenerated route.

そこで、実施例3では、図12のように変更した工程フローを用いる。すなわち、工程S150で仮想的な障害物を追加した条件で経路と教示値を再生成したら、そのまま終了するのではなく、工程S120に戻して再生成した教示値に基づくロボット通過領域を生成し、さらに工程S130で交差の有無を判定する。このように、フィードバックループを形成し、交差が検出されなくなるまで制約条件の追加と教示値の生成を再度実行して繰返すことにより、確実に交差のない経路と教示値を生成することが可能である。コンピュータ10は、図12の工程フローの各段階で、障害物、仮想的な障害物、ロボット通過領域等をディスプレイ13に表示させ、作業者の教示作業を容易にする。   Therefore, in the third embodiment, a process flow changed as shown in FIG. 12 is used. That is, if the route and the teaching value are regenerated under the condition that a virtual obstacle is added in step S150, the robot passing region is generated based on the teaching value regenerated by returning to step S120, instead of ending as it is. In step S130, it is determined whether or not there is an intersection. In this way, it is possible to reliably generate a path and a teaching value without an intersection by forming a feedback loop and repeating the addition of the constraint condition and the generation of the teaching value again until no intersection is detected. is there. The computer 10 displays obstacles, virtual obstacles, robot passage areas, and the like on the display 13 at each stage of the process flow of FIG. 12, thereby facilitating the operator's teaching work.

(実施例4)
実施例2においては、平面的に動作する2台のロボットアームの例で説明したが、3次元的に動作するロボットや、多数のロボットが作業領域を共有する場合には、図9のフローチャートでは、必ずしも十分でない場合がある。工程S240で、経由点を追加して経路を再生成したとしても、再生成した経路についてロボット通過領域同士が交差しないとは限らない場合がありえる。
Example 4
In the second embodiment, an example of two robot arms that operate in a planar manner has been described. However, when a robot that operates three-dimensionally or a large number of robots share a work area, the flowchart of FIG. , May not always be enough. Even if the route is regenerated by adding a waypoint in step S240, there may be a case where the robot passing areas do not always intersect each other on the regenerated route.

そこで、実施例4では、図13のように変更した工程フローを用いる。すなわち、工程S250で経由点が追加された条件で経路と教示値を再生成したら、そのまま終了するのではなく、工程S120に戻して再生成した教示値に基づくロボット通過領域を生成し、さらに工程S130で交差の有無を判定する。このように、フィードバックループを形成し、交差が検出されなくなるまで制約条件の追加と教示値の生成を再度実行して繰返すことにより、確実に交差のない経路と教示値を生成することが可能である。コンピュータ10は、図13の工程フローの各段階で、障害物、経由点、ロボット通過領域等をディスプレイ13に表示させ、作業者の教示作業を容易にする。   Therefore, in the fourth embodiment, a process flow changed as shown in FIG. 13 is used. That is, if the route and the teaching value are regenerated under the condition that the waypoint is added in step S250, the process does not end as it is, but returns to step S120 to generate a robot passing area based on the regenerated teaching value, In S130, it is determined whether or not there is an intersection. In this way, it is possible to reliably generate a path and a teaching value without an intersection by forming a feedback loop and repeating the addition of the constraint condition and the generation of the teaching value again until no intersection is detected. is there. The computer 10 displays obstacles, waypoints, robot passage areas, and the like on the display 13 at each stage of the process flow of FIG. 13 to facilitate the teaching work of the operator.

(他の実施例)
本発明の実施は、上述した4つの実施例に限られるものではなく、適宜変更したり、組み合わせたりすることが可能である。例えば、共通の作業領域の形状、設置されたロボットの数、種類、設置位置等は、上記の例に限らない。また、教示値を生成するコンピュータの構成も、上記の例に限らない。
(Other examples)
The implementation of the present invention is not limited to the four embodiments described above, and can be changed or combined as appropriate. For example, the shape of the common work area, the number and type of installed robots, the installation position, etc. are not limited to the above example. Further, the configuration of the computer that generates the teaching value is not limited to the above example.

本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。   The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

1・・・演算処理部/5・・・ロボットアーム/6・・・ロボットアーム/10・・・コンピュータ/100・・・障害物/101・・・障害物/500・・・ロボットアーム5のロボット通過領域/600・・・ロボットアーム6のロボット通過領域/a1・・・始点/a2・・・経由点/a3・・・終点/b1・・・始点/b2・・・終点/rTra1、rTra2・・・ロボットアーム5の経路/rTrb1・・・ロボットアーム6の経路/w1・・・仮想的な障害物/Tra1・・・再生成したロボットアーム5の経路/Trb1・・・再生成したロボットアーム6の経路/M1・・・交差領域を結ぶ線分の中点/sa1・・・ロボットアーム5の経路に追加された経由点/sb1・・・ロボットアーム6の経路に追加された経由点   DESCRIPTION OF SYMBOLS 1 ... Operation processing part / 5 ... Robot arm / 6 ... Robot arm / 10 ... Computer / 100 ... Obstacle / 101 ... Obstacle / 500 ... Robot arm 5 Robot passing area / 600 ... Robot passing area of the robot arm 6 / a1 ... start point / a2 ... via point / a3 ... end point / b1 ... start point / b2 ... end point / rTra1, rTra2 ... Robot arm 5 path / rTrb1 ... Robot arm 6 path / w1 ... Virtual obstacle / Tra1 ... Regenerated robot arm 5 path / Trb1 ... Regenerated robot Route of arm 6 / M1... Midpoint of line segment connecting intersection areas / sa1... Via point added to route of robot arm 5 / sb1... Route point added to route of robot arm 6

Claims (13)

共通の作業領域を有するように配置された複数のロボットに、コンピュータを使って動作を教示する教示方法であって、
教示すべき動作についての各ロボットの基準部位の始点、経由点、終点の位置情報を含む動作指令リストを、前記コンピュータが記憶する工程と、
前記複数のロボットの動作範囲内にある障害物の位置および形状の情報を、前記コンピュータが記憶する工程と、
前記コンピュータが、前記動作指令リスト及び前記障害物の位置および形状の情報に基づき、前記基準部位を前記始点から前記終点まで前記障害物を避けて移動させるための追加の経由点を各々のロボットについて独立に生成し、教示値として記憶する教示値生成工程と、
前記コンピュータが、前記教示値に基づいて前記各ロボットの駆動部を動作させたときに各ロボットを構成する点が描く軌道の集合であるロボット通過領域を、各ロボットについて仮想空間上で算出して記憶するロボット通過領域算出工程と、
前記コンピュータが、前記ロボット通過領域算出工程で算出した各ロボットの通過領域同士の交差の有無を検出する交差検出工程と、
前記コンピュータが、前記交差検出工程で交差を検出した場合に、交差した領域内の少なくとも一部の空間に前記複数のロボットのいずれもが通過できなくする制約条件を設定し、前記動作指令リストまたは前記障害物の位置情報に追加する制約条件追加工程と、
前記コンピュータが、前記制約条件追加工程の後の前記動作指令リスト及び前記障害物の位置情報に基づき、前記基準部位を前記始点から前記終点まで前記障害物を避けて移動させるための教示値を、各々のロボットについて再生成する教示値再生成工程と、を有する、
ことを特徴とする教示方法。
A teaching method for teaching a plurality of robots arranged to have a common work area using a computer,
A step in which the computer stores an operation command list including position information of a start point, a via point, and an end point of each robot's reference site for the operation to be taught;
Storing information on the position and shape of obstacles within the operating range of the plurality of robots;
Based on the operation command list and information on the position and shape of the obstacle, the computer sets an additional via point for each robot to move the reference portion from the start point to the end point while avoiding the obstacle. A teaching value generation step that is independently generated and stored as a teaching value;
When the computer operates the driving unit of each robot based on the teaching value, a robot passing area, which is a set of trajectories drawn by points constituting each robot, is calculated for each robot in a virtual space. A robot passing area calculating step to store,
The computer detects the presence or absence of intersection between the passing areas of each robot calculated in the robot passing area calculation step,
When the computer detects an intersection in the intersection detection step, the computer sets a restriction condition that prevents any of the plurality of robots from passing through at least a part of the space in the intersected area, A constraint condition adding step to add to the position information of the obstacle;
Based on the operation command list after the constraint condition adding step and the position information of the obstacle, the computer uses a teaching value for moving the reference part from the start point to the end point while avoiding the obstacle. A teaching value regeneration step for regenerating each robot.
A teaching method characterized by the above.
前記コンピュータが、前記教示値再生成工程で再生成した各々のロボットの教示値に基づいて、前記ロボット通過領域算出工程、前記交差検出工程を再度実行する、
ことを特徴とする請求項1に記載の教示方法。
The computer re-executes the robot passage area calculation step and the intersection detection step based on the teaching value of each robot regenerated in the teaching value regeneration step.
The teaching method according to claim 1.
前記制約条件追加工程は、
コンピュータが、前記各々のロボットのロボット通過領域同士が交差する領域内に仮想的な障害物を設定し、前記障害物の位置および形状の情報に前記仮想的な障害物の位置および形状の情報を追加する工程である、
ことを特徴とする請求項1または2に記載の教示方法。
The constraint condition adding step includes:
The computer sets a virtual obstacle in an area where the robot passage areas of the respective robots intersect with each other, and adds information on the position and shape of the virtual obstacle to the position and shape information of the obstacle. It is a process to add,
The teaching method according to claim 1 or 2, wherein
前記制約条件追加工程は、
前記各々のロボットのロボット通過領域同士が交差する2点間を結ぶ線分の中間点と前記各々のロボットの原点とを結ぶ線分上の点を、前記各々のロボットが前記始点から前記終点へ向かう途中で経由しなければならない経由点として設定し、前記動作指令リストに追加する工程である、
ことを特徴とする請求項1または2に記載の教示方法。
The constraint condition adding step includes:
Each robot has a point on a line segment connecting an intermediate point of a line connecting two points where the robot passing areas of each robot intersect with each other and an origin of each robot from the start point to the end point. It is a step of setting as a waypoint that must be routed on the way and adding to the operation command list.
The teaching method according to claim 1 or 2, wherein
前記基準部位は、前記ロボットが備えるハンドである、
ことを特徴とする請求項1乃至4のいずれか1項に記載の教示方法。
The reference part is a hand provided in the robot.
The teaching method according to any one of claims 1 to 4, wherein:
請求項1乃至5のいずれか1項に記載の教示方法で生成した教示値に基づき、前記複数のロボットを動作させる、
ことを特徴とする複数のロボットの動作方法。
The plurality of robots are operated based on the teaching value generated by the teaching method according to any one of claims 1 to 5.
A method for operating a plurality of robots.
請求項1乃至5のいずれか1項に記載の教示方法をコンピュータに実行させるためのプログラム。   A program for causing a computer to execute the teaching method according to any one of claims 1 to 5. 請求項1乃至5のいずれか1項に記載の教示方法をコンピュータに実行させるためのプログラムを記憶した記憶媒体。   A storage medium storing a program for causing a computer to execute the teaching method according to claim 1. コンピュータと、
請求項6に記載のプログラムを記憶した装置と、を備える、
ことを特徴とする教示装置。
A computer,
An apparatus storing the program according to claim 6.
A teaching device.
共通の作業領域を有するように配置された複数のロボットの軌道を仮想空間上で算出するコンピュータと、表示装置と、を有する教示装置において、
前記コンピュータは、
教示値に基づいて前記複数のロボットの各ロボットの駆動部を動作させたときに前記各ロボットを構成する点が描く軌道の集合であるロボット通過領域を、前記各ロボットについて仮想空間上で算出し、前記各ロボットの通過領域同士の交差の有無を検出し、
交差を検出した場合に、交差した領域内の少なくとも一部の空間に前記複数のロボットのいずれもが通過できなくする制約条件として仮想的な障害物を設定し、前記ロボット通過領域と前記制約条件を前記表示装置に表示させ、
前記仮想的な障害物を避けて移動させるための新たな教示値を、前記各ロボットについて生成し、
前記新たな教示値に基づいて前記各ロボットの駆動部を動作させたときに前記各ロボットを構成する点が描く軌道の集合であるロボット通過領域を、前記各ロボットについて仮想空間上で算出し、前記仮想的な障害物とともに前記表示装置に表示させる、
ことを特徴とする教示装置。
In a teaching device having a computer that calculates, in a virtual space, trajectories of a plurality of robots arranged to have a common work area, and a display device,
The computer
The robot passage region wherein a set of trajectory points draws constituting each robot when based on the teaching values by operating the driving portion of each robot of said plurality of robots, calculated in a virtual space for each robot to detect the presence or absence of the intersection of the passage region between the each robot,
When an intersection is detected, a virtual obstacle is set as a constraint that prevents any of the plurality of robots from passing through at least a part of the space in the intersected region, and the robot passage region and the constraint Is displayed on the display device ,
A new teaching value for moving around the virtual obstacle is generated for each robot,
A robot passing area, which is a set of trajectories drawn by points constituting each robot when the driving unit of each robot is operated based on the new teaching value, is calculated for each robot in a virtual space; Displaying on the display device together with the virtual obstacle,
A teaching device.
前記コンピュータは、前記仮想的な障害物を、前記ロボット通過領域が互いに交差する2点を結ぶ線分上に設定する、
ことを特徴とする請求項1に記載の教示装置。
The computer sets the virtual obstacle on a line segment connecting two points where the robot passage area intersects each other.
Teaching device according to claim 1 0, characterized in that.
共通の作業領域を有するように配置された複数のロボットの軌道を仮想空間上で算出するコンピュータと、表示装置と、を有する教示装置において、
前記コンピュータは、
教示値に基づいて前記複数のロボットの各ロボットの駆動部を動作させたときに前記各ロボットを構成する点が描く軌道の集合であるロボット通過領域を、前記各ロボットについて仮想空間上で算出し、前記各ロボットの通過領域同士の交差の有無を検出し、
交差を検出した場合に、交差した領域内の少なくとも一部の空間に前記複数のロボットのいずれもが通過できなくする制約条件として、前記ロボット通過領域が互いに交差する2点間を結ぶ線分の中間点と前記各ロボットの原点とを結ぶ線分上の点を、前記各ロボットが経由しなければならない経由点として設定し、前記ロボット通過領域と前記経由点を前記表示装置に表示させる、
ことを特徴とする教示装置。
In a teaching device having a computer that calculates, in a virtual space, trajectories of a plurality of robots arranged to have a common work area, and a display device,
The computer
Based on the teaching value, a robot passing area, which is a set of trajectories drawn by points constituting each of the robots when the driving unit of each of the plurality of robots is operated, is calculated for each robot in a virtual space. , Detecting the presence or absence of crossing between the passing areas of each robot,
When a crossing is detected, as a constraint that prevents any of the plurality of robots from passing through at least a part of the space in the crossing region, a line segment connecting two points where the robot passing region crosses each other a point on line segment connecting the said intermediate point of each robot origin, the set as route point that must traverse the robot is to display the via-point and the robot passing area on the display device ,
Teaching shows device you wherein a.
前記コンピュータは、前記経由点を経由して移動させるための新たな教示値を、前記各ロボットについて生成し、
前記新たな教示値に基づいて前記各ロボットの駆動部を動作させたときに前記各ロボットを構成する点が描く軌道の集合であるロボット通過領域を、前記各ロボットについて仮想空間上で算出し、前記経由点とともに前記表示装置に表示させる、
ことを特徴とする請求項1に記載の教示装置。
The computer generates a new teaching value for each robot to be moved via the waypoint,
The robot passage region which is a set of trajectory points draws constituting each robot when said based on the new teaching value by operating the driving portion of the each robot, it calculates in a virtual space for each robot, Display on the display device together with the waypoint,
Teaching device according to claim 1 2, characterized in that.
JP2018016810A 2017-03-06 2018-02-01 Teaching method, robot operating method, program, storage medium, teaching apparatus Expired - Fee Related JP6567101B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/900,408 US10919153B2 (en) 2017-03-06 2018-02-20 Teaching method for teaching operations to a plurality of robots and teaching system used therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017041508 2017-03-06
JP2017041508 2017-03-06

Publications (2)

Publication Number Publication Date
JP2018144223A JP2018144223A (en) 2018-09-20
JP6567101B2 true JP6567101B2 (en) 2019-08-28

Family

ID=63590434

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018016810A Expired - Fee Related JP6567101B2 (en) 2017-03-06 2018-02-01 Teaching method, robot operating method, program, storage medium, teaching apparatus

Country Status (1)

Country Link
JP (1) JP6567101B2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11458626B2 (en) 2018-02-05 2022-10-04 Canon Kabushiki Kaisha Trajectory generating method, and trajectory generating apparatus
JP7210201B2 (en) * 2018-09-21 2023-01-23 キヤノン株式会社 Information processing method, program, recording medium, information processing device, robot system, article manufacturing method
JP7500947B2 (en) 2019-10-17 2024-06-18 オムロン株式会社 Interference assessment device, method, and program
JP7331616B2 (en) * 2019-10-17 2023-08-23 オムロン株式会社 Avoidance trajectory generator, method and program
JP7484254B2 (en) * 2020-03-13 2024-05-16 オムロン株式会社 Interference detection device, method, and program
JP7691813B2 (en) * 2020-06-26 2025-06-12 川崎重工業株式会社 ROBOT TEACHING DEVICE, ROBOT TEACHING PROGRAM, AND ROBOT TEACHING METHOD
JP7561639B2 (en) * 2021-01-28 2024-10-04 住友重機械工業株式会社 Control device, robot, and program
WO2023189086A1 (en) * 2022-03-31 2023-10-05 パナソニックIpマネジメント株式会社 Offline teaching device and offline teaching method
KR102833136B1 (en) * 2022-04-25 2025-07-11 서울대학교산학협력단 Robot For Assembling Furniture
WO2023211007A1 (en) * 2022-04-25 2023-11-02 서울대학교산학협력단 Robot for assembling furniture

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH024792U (en) * 1988-06-20 1990-01-12
JP2762494B2 (en) * 1988-11-24 1998-06-04 松下電器産業株式会社 Non-interference control method for robot arm
JP3031769B2 (en) * 1991-11-26 2000-04-10 本田技研工業株式会社 How to check robot operation
JPH10260714A (en) * 1997-03-21 1998-09-29 Nissan Motor Co Ltd How to create a robot interference area setting program
JP2003103491A (en) * 2001-09-28 2003-04-08 Honda Motor Co Ltd Robot mutual interference verification method and mutual interference display pattern
JP4159577B2 (en) * 2005-12-13 2008-10-01 ファナック株式会社 Interlock automatic setting device and automatic setting method between a plurality of robots
JP5553373B2 (en) * 2008-03-25 2014-07-16 株式会社Ihi Robot apparatus control method and robot apparatus
JP2015098076A (en) * 2013-11-20 2015-05-28 キヤノン株式会社 Robot program creation method, robot program creation device, program, and recording medium
JP6282140B2 (en) * 2014-02-26 2018-02-21 キヤノン株式会社 Orbit generation method, robot apparatus, program, and recording medium

Also Published As

Publication number Publication date
JP2018144223A (en) 2018-09-20

Similar Documents

Publication Publication Date Title
JP6567101B2 (en) Teaching method, robot operating method, program, storage medium, teaching apparatus
US10919153B2 (en) Teaching method for teaching operations to a plurality of robots and teaching system used therefor
JP6576255B2 (en) Robot trajectory generation method, robot trajectory generation apparatus, and manufacturing method
US12222723B2 (en) Directed exploration for navigation in dynamic environments
CN110116405B (en) Trajectory generation method and trajectory generation device
JP6998660B2 (en) Robot simulator, robot system and simulation method
JP6282140B2 (en) Orbit generation method, robot apparatus, program, and recording medium
US20180036882A1 (en) Layout setting method and layout setting apparatus
EP3718702B1 (en) Programming assistance device, robot system, and programming assistance method
JP6750909B2 (en) Robot trajectory generation method, robot trajectory generation apparatus, and manufacturing method
US20200147794A1 (en) Techniques for cad-informed robotic assembly
JP2015174185A (en) Robot simulation device and method, control device, and robot system
US11609547B2 (en) Gestural control of an industrial robot
WO2015137162A1 (en) Control device, robot system, and method for generating control data
JP2023075884A (en) Dynamic motion planning system
JP2020082285A (en) Interference checking method for plural robots, and robot system
JP7314215B2 (en) Simulator, robot teaching device, robot system, article manufacturing method, simulation method, program and recording medium
US10022868B2 (en) Inverse kinematic solution for multi-joint link mechanism, and teaching-data creating device using the inverse kinematic solution
US12377543B2 (en) Path planning during execution of robot control
JPWO2020145403A1 (en) Control device
JP2023088293A (en) Online automatic interlock strategy
JP7335096B2 (en) Obstacle search device for robot system
US11826912B2 (en) Method and control means for controlling a robot assembly
CN115958592A (en) Information processing apparatus, information processing method, and method of manufacturing product
KR101619927B1 (en) Cooperative Grasping Control and Obstacle Avoidance of Multiple Mobile Manipulator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190405

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190730

R151 Written notification of patent or utility model registration

Ref document number: 6567101

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees