JP7210201B2 - Information processing method, program, recording medium, information processing device, robot system, article manufacturing method - Google Patents

Information processing method, program, recording medium, information processing device, robot system, article manufacturing method Download PDF

Info

Publication number
JP7210201B2
JP7210201B2 JP2018178064A JP2018178064A JP7210201B2 JP 7210201 B2 JP7210201 B2 JP 7210201B2 JP 2018178064 A JP2018178064 A JP 2018178064A JP 2018178064 A JP2018178064 A JP 2018178064A JP 7210201 B2 JP7210201 B2 JP 7210201B2
Authority
JP
Japan
Prior art keywords
trajectory
robot
information processing
processing method
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018178064A
Other languages
Japanese (ja)
Other versions
JP2020049554A5 (en
JP2020049554A (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 JP2018178064A priority Critical patent/JP7210201B2/en
Priority to US16/257,748 priority patent/US11458626B2/en
Priority to CN201910101556.2A priority patent/CN110116405B/en
Publication of JP2020049554A publication Critical patent/JP2020049554A/en
Publication of JP2020049554A5 publication Critical patent/JP2020049554A5/en
Priority to US17/822,229 priority patent/US20220402132A1/en
Application granted granted Critical
Publication of JP7210201B2 publication Critical patent/JP7210201B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P70/00Climate change mitigation technologies in the production process for final industrial or consumer products
    • Y02P70/10Greenhouse gas [GHG] capture, material saving, heat recovery or other energy efficient measures, e.g. motor control, characterised by manufacturing processes, e.g. for rolling metal or metal working

Description

本発明は、複数のロボットアームを、それぞれ開始教示点および目標教示点の間で動作させる軌道を生成する軌道生成方法、軌道生成装置、およびロボットシステムに関する。 The present invention relates to a trajectory generation method, a trajectory generation apparatus, and a robot system for generating trajectories for moving a plurality of robot arms between start teaching points and target teaching points.

自動車や電機製品といった物品を製造する生産ラインでは、複数台のロボットアームを投入して、溶接や組み立てなどの作業を自動化することが行われている。このような生産システムでは、複数のロボットアームの動作領域が重なり合うほど近接して配置されることがある。このような近接する複数のロボットの教示作業は、旧来では、教示者が個々のロボットの動作を1ステップずつ実際に動作させながら、ロボット間で干渉が生じないよう、各ロボットの軌道と、各軌道間の実行タイミングを試行錯誤的に教示していた。 In a production line that manufactures articles such as automobiles and electrical products, multiple robot arms are introduced to automate work such as welding and assembly. In such a production system, multiple robotic arms may be placed so close together that they overlap. Traditionally, teaching work for multiple robots that are close to each other has been done by having the instructor actually move each robot step by step while adjusting the trajectory of each robot to prevent interference between the robots. The execution timing between orbits was taught by trial and error.

しかし、このような教示者による試行錯誤的な教示作業は、複数のロボットを確実に、また効率的に動作させるのが難しく、また、実用可能なロボット軌道を作成するのにはかなりの熟練を要する、という問題がある。例えば、製品の種類が頻繁に変わる環境では、製品の種類が変更される度に教示者が教示作業を全てやり直すことになるので、立ち上げ工数が増大し、生産性が極端に低下してしまう。また、教示作業の工数が増大すると、人件費の高騰が問題となる。 However, such trial-and-error teaching work by a teacher makes it difficult to operate multiple robots reliably and efficiently, and it takes considerable skill to create practical robot trajectories. There is a problem of need. For example, in an environment where product types change frequently, the tutor will have to redo all the teaching work each time the product type changes, which increases the man-hours required for startup and significantly reduces productivity. . Moreover, if the number of man-hours required for the teaching work increases, the increase in personnel costs becomes a problem.

そこで、近年では、教示者による直接教示に代わって、計算機を用いて複数のロボットの教示作業と動作制御を効率化する方法や装置が提案されている。 Therefore, in recent years, instead of direct teaching by a teacher, methods and devices have been proposed that use computers to improve the efficiency of teaching work and motion control of a plurality of robots.

例えば、下記の特許文献1では、複数のロボット間の干渉を回避し、なおかつロボットの待ち時間を最小にして効率的にロボットを動作させる制御装置が開示されている。特許文献1のロボット制御装置では、2つのロボットの作業点と作業点間の経路につき、干渉テーブルを作成する。この干渉テーブルを用いると、ロボットアームAとロボットアームBが、それぞれある作業点に位置している時、ロボットアームAとロボットアームBが同時に作業を行なうと干渉が生じることが判る。このようなアーム同士の干渉が生じる可能性がある場合、いずれかのロボットアームの作業を優先させる。この優先順位を制御するデータは、優先順位テーブルとして生成するが、その場合、例えば、各ロボットの残りの作業時間と作業点での待ち時間の和などに応じて優先順位を決定する。 For example, Patent Literature 1 below discloses a control device that avoids interference between a plurality of robots, minimizes the waiting time of the robots, and operates the robots efficiently. In the robot control device of Patent Document 1, an interference table is created for the work points of two robots and the paths between the work points. Using this interference table, it can be seen that when the robot arms A and B are positioned at respective work points, interference occurs when the robot arms A and B work simultaneously. If there is a possibility that such arms will interfere with each other, priority is given to the work of one of the robot arms. Data for controlling this priority order is generated as a priority order table. In this case, for example, the priority order is determined according to the sum of the remaining work time of each robot and the waiting time at the work point.

また、下記の非特許文献1は、ロボット同士の干渉回避を行うため、複数のロボットアームA、Bを一つのロボットアームCとみなして経路生成を行う。図7(a)~(g)は、非特許文献1の技術により制御されるロボットアームAおよびロボットアームBの動作を示し、これらのロボットは2つの関節(2つの自由度)からなる2軸を備えたロボットである。このうち、ロボットアームAは、開始点となる2軸関節角度が(θas1,θas2)であり、目標点となる2軸関節角度が(θag1,θag2)とする。一方、ロボットアームBは、開始点となる2軸関節角度が(θbs1,θbs2)であり、目標点となる2軸関節角度が(θbg1,θbg2)とする。また、この例では、ロボットアームA、Bの作業空間には、障害物Obが設置されている。 Further, in Non-Patent Document 1 below, in order to avoid interference between robots, a plurality of robot arms A and B are regarded as one robot arm C to generate a path. FIGS. 7(a) to (g) show movements of robot arm A and robot arm B controlled by the technique of Non-Patent Document 1. These robots have two joints (two degrees of freedom) and two axes. is a robot with Among them, the robot arm A has a biaxial joint angle (θas1, θas2) as a starting point and a biaxial joint angle (θag1, θag2) as a target point. On the other hand, the robot arm B has biaxial joint angles (θbs1, θbs2) as a starting point and biaxial joint angles (θbg1, θbg2) as a target point. Also, in this example, an obstacle Ob is installed in the work spaces of the robot arms A and B. FIG.

非特許文献1の技術では、ロボット同士の干渉および、障害物との干渉回避を考慮に入れた経路を生成するために、ロボットアームAとロボットアームBを一つのロボットアームCとして取り扱う。そして、このロボットアームCの4次元コンフィグレーション空間で、開始点(θas1,θas2, θbs1,θbs2)から、目標点(θag1,θag2, sθbg1,θbg2)へと障害物を回避する経路を探索する。経路生成には、RRT(Rapidly-exploring Random Tree)やPRM(Probabilistic RoadMap Method)のような経路生成アルゴリズムを用いる。このように、第1、第2のロボットアームを一つの仮想的なロボットアームとして取り扱い、経路生成を行うことにより、図8(a)~(g)に示すように、各ロボットが干渉しない経路をそれぞれ決定することができる。 In the technique of Non-Patent Document 1, the robot arms A and B are treated as one robot arm C in order to generate a path that takes into consideration the interference between robots and the avoidance of interference with obstacles. Then, in the four-dimensional configuration space of the robot arm C, a route avoiding obstacles is searched from the starting points (θas1, θas2, θbs1, θbs2) to the target points (θag1, θag2, sθbg1, θbg2). A route generation algorithm such as RRT (Rapidly-exploring Random Tree) or PRM (Probabilistic Road Map Method) is used for route generation. In this way, by treating the first and second robot arms as one virtual robot arm and performing path generation, as shown in FIGS. can be determined respectively.

特開平11-347984号公報JP-A-11-347984

G. S´anchez 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.G. S´anchez 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 .

特許文献1の制御では、2つのロボットの干渉の可能性があるそれぞれの作業点では、優先順位の高い方のロボットの作業点への移動と、その作業を先に行わせ、それが終了するまで優先順位の低い方のロボットの作業点への移動と、その作業を待機させる。しかしながら、例えば、高優先順位のロボットが作業を終えて次の作業点に移動するまで、低優先順位のロボットを1つ前の作業点で待機させると、作業効率が低下する可能性がある。例えば、低優先順位のロボットの、干渉領域に入るまでの移動時間などを考慮すると、高優先順位のロボットが干渉領域を脱していなくても、低優先順位のロボットの移動を開始できる可能性がある。さらに、その場合、低優先順位のロボットの軌道の補正を行うことなどによって、より速く、低優先順位のロボットを移動できる可能性がある。特許文献1の技術では、このような効率化の余地が考慮されていない。即ち、特許文献1の技術では、全体の作業時間を短縮できる余地はまだ十分残されているが、双腕ロボットが同時に移動し干渉回避をする軌道については考慮していないため、この方法ではこれ以上対処できないという問題がある。 In the control of Patent Document 1, at each work point where there is a possibility of interference between two robots, the robot with the higher priority is moved to the work point, the work is performed first, and the work is completed. Move the robot with the lower priority to the work point and put the work on hold. However, for example, if the low-priority robot waits at the previous work point until the high-priority robot finishes its work and moves to the next work point, work efficiency may decrease. For example, considering the movement time required for a low-priority robot to enter the interference area, there is a possibility that the low-priority robot can start moving even if the high-priority robot has not left the interference area. be. Furthermore, in that case, there is a possibility that the low-priority robot can be moved faster by, for example, correcting the trajectory of the low-priority robot. The technique of Patent Literature 1 does not consider such efficiency improvement. That is, in the technique of Patent Document 1, there is still ample room for shortening the overall work time, but the trajectory for simultaneous movement of the dual-arm robots to avoid interference is not taken into account. There is a problem that cannot be dealt with above.

一方、非特許文献1で開示された方法は、双腕ロボットを一つのロボットとみなして、経路生成アルゴリズムにより経路生成を行い、ロボットを同時に移動し干渉を回避する。この経路生成にはRRT(Rapidly-exploring Random Tree)やPRM(Probabilistic RoadMap Method)のようなアルゴリズムが用いられる。 On the other hand, the method disclosed in Non-Patent Document 1 treats a dual-arm robot as one robot, generates paths using a path generation algorithm, moves the robots simultaneously, and avoids interference. Algorithms such as RRT (Rapidly-exploring Random Tree) and PRM (Probabilistic Road Map Method) are used for this route generation.

非特許文献1では、第1、第2のロボットアームを仮想的なロボットアームとみなし、この仮想的なロボットアームの姿勢をコンフィグレーション空間で1つの点として扱う。そのために、非特許文献1の制御によると、第1、第2のロボットアームの動作のタイミングが同じになる。しかし、第1、第2のロボットアームが同じタイミングで動作するよう制御されると、例えば一方のアームが少ししか動かず、他方のアームが大きく動く場合に、前者のアームが後者のアームに影響され、全体の動作が無駄に遅くなるケースが予想される。 In Non-Patent Document 1, the first and second robot arms are regarded as virtual robot arms, and the posture of this virtual robot arm is treated as one point in the configuration space. Therefore, according to the control of Non-Patent Document 1, the timings of the movements of the first and second robot arms are the same. However, if the first and second robot arms are controlled to operate at the same timing, for example, if one arm moves only slightly and the other moves greatly, the former arm will affect the latter arm. It is expected that the entire operation will be slowed down unnecessarily.

例えば、図7(a)~(g)の例では、移動量の少ないロボットアームAが先に目標点(図7(g))に到達できてもよく、また、その方が特定の用途で好ましい場合が考えられる。しかしながら、非特許文献1の手法によると、第1、第2のロボットアームを仮想的なロボットアームとして扱うため、第1、第2のロボットアームは、目標点に着くタイミングが同じになるよう制御せざるを得ない。そのため、非特許文献1の手法によると、複数のロボット間に移動量のばらつきがある場合には、無駄な動きの制約が生じる可能性がある。また、非特許文献1のように第1、第2のロボットアームを仮想的なロボットアームとして扱う手法では、次のようなロボット動作を制御できない可能性がある。これらは、例えば、第1、第2のロボットアームが同じ場所にアプローチする動作、第1のロボットアームが動いている間に第2のロボットアームが動き始める動作などである。また、非特許文献1の制御手法では、第1のロボットアームが先に目標点に到着しその他の動作を先行して開始する動作、などを行わせることができない。即ち、非特許文献1の手法によると、複数ロボットの作業時間を最短にする効率化を追及できない可能性がある上、生成できる動作が限定される、という問題がある。 For example, in the examples of FIGS. 7(a) to (g), the robot arm A, which has a smaller amount of movement, may be able to reach the target point (FIG. 7(g)) first. A favorable case is conceivable. However, according to the method of Non-Patent Document 1, since the first and second robot arms are treated as virtual robot arms, the first and second robot arms are controlled to reach the target point at the same timing. I have to. Therefore, according to the method of Non-Patent Document 1, if there is variation in the amount of movement among a plurality of robots, there is a possibility that useless movement restrictions will occur. Also, with the method of treating the first and second robot arms as virtual robot arms as in Non-Patent Document 1, there is a possibility that the following robot motions cannot be controlled. These are, for example, motions in which the first and second robot arms approach the same place, motions in which the second robot arm begins to move while the first robot arm is moving. Further, in the control method of Non-Patent Document 1, it is not possible to perform an operation in which the first robot arm reaches the target point first and starts other operations in advance. That is, according to the method of Non-Patent Document 1, there is a possibility that efficiency improvement that minimizes the work time of a plurality of robots cannot be pursued, and the motions that can be generated are limited.

そこで、本発明は、上記問題に鑑み、ロボットアーム同士の干渉、あるいは作業空間中の障害物とロボットアームの干渉などを生じず、効率的に複数のロボットアームを動作させることができる最適な軌道を生成できるようにすることにある。 Therefore, in view of the above problems, the present invention provides an optimum trajectory that can efficiently operate a plurality of robot arms without causing interference between robot arms or interference between robot arms and obstacles in the work space. to be able to generate

上記課題を解決するため、本発明の一態様においては、第1位置から第2位置までの間で第1ロボットを動作させる第1軌道、およびまたは前記第1ロボットとは異なる第2ロボットを、第3位置から第4位置までの間で動作させる第2軌道と、更新する情報処理方法において、前記第1軌道を更新する場合、前記第1位置、前記第2位置、前記第1位置から前記第2位置までの間で前記第1ロボットが通過する第1中間位置、のうち少なくとも1つの位置における第1時間情報を変化させて、前記第1軌道を更新し前記第2軌道を更新する場合、前記第3位置、前記第4位置、前記第3位置から前記第4位置までの間で前記第2ロボットが通過する第2中間位置、のうち少なくとも1つの位置における第2時間情報を変化させて、前記第2軌道を更新し、前記第1軌道およびまたは前記第2軌道を更新する際、前記第1ロボットが前記第1位置、前記第2位置、前記第1中間位置のうち少なくとも1つの位置に、前記第2ロボットが前記第3位置、前記第4位置、前記第2中間位置のうち少なくとも1つの位置に到達するよりも先に到達する、ことを条件として更新する、ことを特徴とする情報処理方法を採用した。 In order to solve the above problems, in one aspect of the present invention, a first trajectory that moves a first robot between a first position and a second position , and/or a second robot different from the first robot, In the information processing method for updating a second trajectory that is operated between a third position and a fourth position, when updating the first trajectory, the first position, the second position, and from the first position changing the first time information at at least one of the first intermediate positions through which the first robot passes up to the second position, updating the first trajectory, and updating the second trajectory the second time information at at least one of the third position, the fourth position, and a second intermediate position through which the second robot passes between the third position and the fourth position. updating the second trajectory by changing the first robot to at least one of the first position, the second position, and the first intermediate position when updating the first trajectory and/or the second trajectory; A position is updated on the condition that the second robot reaches at least one of the third position, the fourth position, and the second intermediate position. A characteristic information processing method was adopted.

上記構成によれば、ロボットアーム同士の干渉、あるいは作業空間中の障害物とロボットアームの干渉などを生じず、効率的に複数のロボットアームを動作させることができる最適な軌道を生成することができる。 According to the above configuration, it is possible to generate an optimum trajectory that can efficiently operate a plurality of robot arms without causing interference between the robot arms or interference between the robot arms and obstacles in the work space. can.

本発明の実施形態に係る軌道生成装置の概略構成を示した説明図である。1 is an explanatory diagram showing a schematic configuration of a trajectory generation device according to an embodiment of the present invention; FIG. 本発明の実施形態に係る複数ロボットアームの教示点群、および障害物を示した説明図である。FIG. 4 is an explanatory diagram showing teaching point groups of a plurality of robot arms and obstacles according to the embodiment of the present invention; 本発明の実施形態に係る複数ロボットアームの教示点群と軌道を示した説明図である。FIG. 4 is an explanatory diagram showing teaching point groups and trajectories of a plurality of robot arms according to the embodiment of the present invention; 本発明の実施形態に係る軌道生成を説明するフローチャート図である。It is a flow chart figure explaining track generation concerning an embodiment of the present invention. (a)~(d)は本発明の実施形態に係る軌道生成の様子を示した説明図である。(a) to (d) are explanatory diagrams showing how trajectories are generated according to the embodiment of the present invention. (a)~(d)は本発明の実施形態に係る軌道の異なる軌道生成の様子を示した説明図である。(a) to (d) are explanatory diagrams showing how different trajectories are generated according to the embodiment of the present invention. (a)~(g)は従来技術による軌道制御の手法を示した説明図である。(a) to (g) are explanatory diagrams showing a conventional trajectory control technique. 本発明の実施形態に適用可能な制御装置の概略構成を示したブロック図である。1 is a block diagram showing a schematic configuration of a control device applicable to an embodiment of the invention; FIG. 本発明の実施形態に係る生産システムに配置可能なロボット装置を示した説明図である。It is an explanatory view showing a robot device that can be arranged in the production system according to the embodiment of the present invention.

以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す構成はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。 BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments for carrying out the present invention will be described with reference to the accompanying drawings. The configuration shown below is merely an example, and, for example, details of the configuration can be changed as appropriate by those skilled in the art without departing from the spirit of the present invention. Further, the numerical values taken up in the present embodiment are reference numerical values and do not limit the present invention.

図1は本発明の実施形態に係る軌道生成装置の構成を示す図である。この軌道生成装置は、CPU等からなる演算処理部1と、教示者等がデータ入力などを行う操作部2と、動作プログラム等を記録する記録部3と、ロボットステーションやロボットの軌道の表示を行う表示部4を備えている。 FIG. 1 is a diagram showing the configuration of a trajectory generation device according to an embodiment of the present invention. This trajectory generating device includes an arithmetic processing unit 1 including a CPU, etc., an operation unit 2 for inputting data by a teacher, etc., a recording unit 3 for recording operation programs, etc., and a display of the trajectories of robot stations and robots. It has a display unit 4 for performing.

図2は、障害物Obの配置された作業空間において、ロボットアームA、Bを動作させる配置の一例を示している。図2では、ロボットアームAの教示点PA1、PA2、PA3、ロボットアームBの教示点PB1、PB2、PB3が与えられている。本実施形態の軌道生成では、これらの教示点を通る軌道を生成する。その場合、ロボットアームA、B同士が干渉しないことは勿論、ロボットアームA、Bのいずれも障害物Obと干渉しない軌道を生成する。 FIG. 2 shows an example of an arrangement for operating the robot arms A and B in a work space in which an obstacle Ob is arranged. In FIG. 2, teaching points PA1, PA2 and PA3 of robot arm A and teaching points PB1, PB2 and PB3 of robot arm B are given. In the trajectory generation of this embodiment, a trajectory passing through these teaching points is generated. In that case, a trajectory is generated such that the robot arms A and B do not interfere with each other, and neither of the robot arms A or B interferes with the obstacle Ob.

本実施形態の軌道生成処理は、ロボットアームA、Bは、主にタスク空間のX方向Y方向を移動する2自由度のロボットアームであるものとして説明する。しかしながら、本発明に係るロボットは、一般的に自動作業を行う装置として広く認知されるものであればよく、本発明は例えばロボットアームの関節数、それにより実現される姿勢の自由度の数などによって、限定的に解釈されるものではない。例えば、後述の図9に例示するような6軸多関節ロボットや直動型のロボットを用いたロボットシステムなどにおいても本発明は実施することができる。 The trajectory generation process of this embodiment will be described assuming that the robot arms A and B are two-degree-of-freedom robot arms that move mainly in the X and Y directions of the task space. However, the robot according to the present invention may be generally recognized as a device that performs automatic work. is not to be construed in a limited manner. For example, the present invention can be implemented in a robot system using a 6-axis multi-joint robot or a direct-acting robot as illustrated in FIG. 9, which will be described later.

この種の2自由度以上の関節数を有する多関節ロボットの場合は、ロボットの教示点は、手先の位置、姿勢もしくは、関節軸角度により決定することができる。また、本実施形態では、2つのロボットアームが動作する例を示すが、本発明はロボットアームの数によって限定されるものではなく、例えば後述の実施形態3のように3つ、あるいはそれ以上のロボットアームが移動する構成でも本発明は実施可能である。 In the case of such a multi-joint robot having two or more degrees of freedom of joints, the teaching point of the robot can be determined by the position and posture of the hand or the joint axis angle. Also, in this embodiment, an example in which two robot arms operate is shown, but the present invention is not limited by the number of robot arms. The present invention can also be implemented in a configuration in which the robot arm moves.

図2において、ロボットアームAは障害物Obおよび、ロボットアームBとの干渉を回避し、教示点PA1、PA2、PA3の順に、移動するものとする。また、ロボットアームBは障害物Obおよび、ロボットアームAとの干渉を回避し、教示点PB1、PB2、PB3の順に、移動するものとする。 In FIG. 2, it is assumed that robot arm A avoids interference with obstacle Ob and robot arm B and moves in order of teaching points PA1, PA2, and PA3. Further, it is assumed that the robot arm B avoids interference with the obstacle Ob and the robot arm A and moves in order of the teaching points PB1, PB2, and PB3.

また、教示点PA2と教示点PB2では、ロボットアームAとロボットアームBが干渉する位置にあるが、ロボットアームBが教示点PB2に到達するより前に、ロボットアームAが教示点PA2に到達することを制約とする。これを本実施形態では動作制約と呼ぶ。この動作制約は、ロボットアームAが、ワークを搬送し、PA2でワークを置き、ロボットアームBがワークをPB2で受け取るといった動作を想定している。 At the teaching point PA2 and the teaching point PB2, the robot arm A and the robot arm B are at a position where they interfere with each other, but the robot arm A reaches the teaching point PA2 before the robot arm B reaches the teaching point PB2. as a constraint. This is called an operation constraint in this embodiment. This motion restriction assumes that robot arm A transports a workpiece, places the workpiece at PA2, and robot arm B receives the workpiece at PB2.

図3は、図2の環境において、軌道評価のために教示点の間に配置される中間点と、ロボットの経路を示したものである。なお、本実施形態では、説明を容易にするため、中間点は開始位置と目標位置に相当する2つの教示点の間に、3つ配置する例を説明するが、本発明は中間点の数によって限定されるものではない。 FIG. 3 shows intermediate points arranged between teaching points for trajectory evaluation and the path of the robot in the environment of FIG. In the present embodiment, an example in which three intermediate points are arranged between two teaching points corresponding to the start position and the target position will be described for the sake of simplicity. is not limited by

また、本明細書において、ロボットの「経路」とは、速度などの時間的概念は含まないロボット、例えば手先などの特定の基準部位が動作する軌跡を意味する。また、ロボットの「軌道」とは、「経路」と、その「経路」上のロボットの動作速度の情報を持つ情報体を意味し、このように本明細書では「軌道」と、「経路」と、は明確に区別される。一般に、軌道はある制御周期ごとのロボットの特定の基準部位を位置させるための位置指令値データとして表現されることが多い。この位置指令値データは、例えば、特定の基準部位を特定の位置(教示点)に位置させるための、ロボットの各関節の位置(角度)データのリスト、のような形式によって表現される。 In this specification, the "path" of a robot means a trajectory along which a specific reference part such as a hand moves, which does not include the concept of time such as speed. In addition, the ``trajectory'' of the robot means an information body having information on the ``path'' and the motion speed of the robot on the ``path''. and are clearly distinguished. In general, the trajectory is often expressed as position command value data for positioning a specific reference portion of the robot for each control cycle. This position command value data is expressed, for example, in a format such as a list of position (angle) data of each joint of the robot for positioning a specific reference part at a specific position (teaching point).

図3の例では、ロボットアームAは、教示点PA1、中間点PA11、PA12、PA13、教示点PA2を制御点とし、曲線で滑らかに補間した経路TA1上を通り、教示点PA1から教示点PA2へと移動する。その後、ロボットアームAは、教示点PA2、中間点PA21、PA22、PA23、教示点PA3を制御点とし、曲線で滑らかに補間した経路TA2上を通り、教示点PA2から教示点PA3へ到達する。 In the example of FIG. 3, the robot arm A uses the teaching point PA1, the intermediate points PA11, PA12, PA13, and the teaching point PA2 as control points, and passes along a route TA1 that is smoothly interpolated with a curved line, from the teaching point PA1 to the teaching point PA2. move to After that, the robot arm A uses the teaching point PA2, the intermediate points PA21, PA22, PA23, and the teaching point PA3 as control points, and passes along a route TA2 smoothly interpolated with a curved line to reach the teaching point PA3 from the teaching point PA2.

一方、ロボットアームBは、教示点PB1、中間点PB11、PB12、PB13、教示点PB2を制御点とし、曲線で滑らかに補間した経路TB1上を通り、教示点PB1から教示点PB2へと移動する。その後、ロボットアームBは、教示点PB2、中間点PB21、PB22、PB23、教示点PB3を制御点とし、曲線で滑らかに補間した経路TB2上を通り、教示点PB2から教示点PB3へ到達する。 On the other hand, the robot arm B uses the teaching point PB1, the intermediate points PB11, PB12, PB13, and the teaching point PB2 as control points, and moves from the teaching point PB1 to the teaching point PB2 along a route TB1 that is smoothly interpolated with curved lines. . After that, the robot arm B uses the teaching point PB2, the intermediate points PB21, PB22, PB23, and the teaching point PB3 as control points, and reaches the teaching point PB3 from the teaching point PB2 through a route TB2 smoothly interpolated with a curved line.

教示点(ないし中間点)の間で、アームの所定部位を通過させる経路を滑らかに曲線補間する手法として、Spline補間、B-Spline補間、ベジェ曲線補間といった周知の補間手法がある。これらの補間手法を用いて、教示点間を滑らかに繋ぐ経路を生成することにより、ロボットの滑らかな動作を実現することができる。なお、図3は、ロボットアームは中間点を通過するよう表現しているが、中間点は経路を生成するためのパラメータに過ぎず、ロボットアームは必ず中間点を通過することを要請するものではない。たとえば、B-Spline補間で補間した軌道の場合は、経路が中間点を通過しない場合がある。 Well-known interpolation methods such as Spline interpolation, B-Spline interpolation, and Bezier curve interpolation are known as methods of smoothly interpolating a curve passing through a predetermined portion of the arm between teaching points (or intermediate points). By using these interpolation methods to generate a route that smoothly connects teaching points, it is possible to realize smooth motion of the robot. Although FIG. 3 shows the robot arm passing through the intermediate point, the intermediate point is merely a parameter for generating a path, and the robot arm does not necessarily pass through the intermediate point. Absent. For example, in the case of a trajectory interpolated by B-Spline interpolation, the route may not pass through intermediate points.

また、教示点および中間点を用いて生成したロボットの経路に対し、速度情報を含めた軌道を生成する方法として、最短時間制御がある。後述の軌道作成工程では、最短時間制御を用いれば、上記補間方法により生成した経路に基づき、ロボットの物理的な制約の範囲内で、動作時間が最短になる軌道を求めることができる。なお、本実施形態における最短時間制御は、決まった経路上を通る上で、最短時間となる移動速度を求めるもので、経路は変化させない。 Also, there is shortest time control as a method for generating a trajectory including speed information for a robot path generated using teaching points and intermediate points. In the trajectory creation process described later, if the shortest time control is used, the trajectory with the shortest operation time can be obtained based on the path generated by the above interpolation method within the range of physical limitations of the robot. Note that the shortest time control in the present embodiment is to obtain the moving speed that takes the shortest time while traveling on a predetermined route, and does not change the route.

また、ロボット動作が満足すべき物理的な制約には、例えば、トルク制約、関節角速度制約、関節角加速度制約、ジャーク制約、手先速度制約、加速度制約などがある。最短時間制御を用いて生成した軌道は、ある制御周期ごとのロボットの位置指令値となる。ただし、最短時間制御を用いずに、カム曲線を利用した軌道生成などを行ってもよい。 Further, physical constraints to be satisfied by robot motions include, for example, torque constraints, joint angular velocity constraints, joint angular acceleration constraints, jerk constraints, hand speed constraints, and acceleration constraints. The trajectory generated using the shortest time control is the robot position command value for each control cycle. However, trajectory generation using a cam curve may be performed without using the shortest time control.

また、本実施形態では、ロボットは、教示点ごとにある時間待機するものとし、この時間を待機時間と呼ぶ(ただし、本実施形態は、待機時間が0である制御を除外するものではない)。本実施形態では、ロボットアームAは教示点PA1でWA1秒待機し、教示点PA2ではWA2秒待機するとする。また、教示点PA3は終点であり、動作終了後は待機し続けるので、待機時間は定義しない。また、ロボットアームBは教示点PB1でWB1秒待機し、教示点PB2ではWB2秒待機するとする。また、ロボットアームAの場合と同様、教示点PB3は終点であり動作終了後は待機し続けるので、待機時間は定義しない。 Further, in this embodiment, the robot waits for a certain time for each teaching point, and this time is called waiting time (however, this embodiment does not exclude control in which the waiting time is 0). . In this embodiment, the robot arm A waits WA1 seconds at the teaching point PA1 and waits WA2 seconds at the teaching point PA2. Also, the teaching point PA3 is the end point, and the waiting time is not defined because the waiting time continues after the end of the operation. Further, it is assumed that the robot arm B waits for WB1 seconds at the teaching point PB1 and waits for WB2 seconds at the teaching point PB2. Also, as in the case of the robot arm A, the teaching point PB3 is the end point, and after the end of the operation it continues to wait, so the waiting time is not defined.

図3において、ロボットアームA、Bがそれぞれ、待機せずに、経路TA1、TA2、TB1、TB2、にそれぞれ沿って移動を開始した場合、例えば教示点PA2、PB2でロボットアームAとBが干渉してしまうことが考えられる。 In FIG. 3, when the robot arms A and B each start moving along the paths TA1, TA2, TB1 and TB2 without waiting, the robot arms A and B interfere with each other at the teaching points PA2 and PB2, for example. It is conceivable that

ここで、例えば、作業内容などに応じてロボットアームAが教示点PA2が到達した後で、ロボットアームBが教示点PB2の位置に到達すべきことが決まっているとする。その場合、例えばロボットアームBが教示点PB1、PB2において待機すべき適切な待機時間(WB1、WB2)などを設定できれば、ロボットアームモデル同士の干渉を回避することができる。また、ロボットアームBが教示点PB2に到達するより前に、ロボットアームAが教示点PA2に到達するためには、待機時間WB1よりWB2が大きく(長く)設定される必要がある。 Here, for example, it is decided that the robot arm B should reach the position of the teaching point PB2 after the robot arm A reaches the teaching point PA2 according to the work contents. In that case, for example, if the appropriate waiting times (WB1, WB2) for the robot arm B to wait at the teaching points PB1, PB2 can be set, interference between the robot arm models can be avoided. Also, in order for the robot arm A to reach the teaching point PA2 before the robot arm B reaches the teaching point PB2, it is necessary to set the waiting time WB2 larger (longer) than the waiting time WB1.

図3(あるいは後述の図5)の例では、アーム同士およびロボットと障害物とが干渉せずにそれぞれの教示点を経由する軌道を生成する。また、ロボットアームBが教示点PB2に到達するより前にロボットアームAが教示点PA2に到達するロボットアームA、Bの動作を生成する。 In the example of FIG. 3 (or FIG. 5, which will be described later), a trajectory is generated that passes through the respective teaching points without interference between the arms and between the robot and the obstacle. In addition, an operation of the robot arms A and B in which the robot arm A reaches the teaching point PA2 before the robot arm B reaches the teaching point PB2 is generated.

ここで、図8に、軌道生成装置、特に演算処理部1(図1)の主要部に相当する制御系1000の構成例を示しておく。図示のようにこの制御系1000は、CPU1601廻りに配置された各ブロックから成る構成である。なお、このCPU1601廻りに配置された各ブロックから成る構成は、例えば、ロボット制御装置(200A、200B:後述の図9)などにおいてもほぼ同様に適用できる。 Here, FIG. 8 shows a configuration example of the trajectory generation device, particularly the control system 1000 corresponding to the main part of the arithmetic processing unit 1 (FIG. 1). As shown in the figure, the control system 1000 is composed of blocks arranged around a CPU 1601 . It should be noted that the configuration composed of blocks arranged around the CPU 1601 can be applied almost similarly to, for example, a robot control device (200A, 200B: FIG. 9 to be described later).

図8の制御系1000は、主制御手段としてのCPU1601、記憶装置としてのROM1602、およびRAM1603を備える。ROM1602には、後述する制御手順を実現するためのCPU1601の制御プログラムや定数情報などを格納しておくことができる。また、RAM1603は、後述する制御手順を実行する時にCPU1601のワークエリアなどとして使用される。 A control system 1000 in FIG. 8 includes a CPU 1601 as main control means, a ROM 1602 as a storage device, and a RAM 1603 . The ROM 1602 can store a control program for the CPU 1601 and constant information for realizing a control procedure to be described later. Also, the RAM 1603 is used as a work area for the CPU 1601 when executing a control procedure to be described later.

図8の構成が、演算処理部1(図1)の場合には、ユーザーインターフェース装置として、例えばディスプレイ1608(図1の表示部4)、および操作部1609(図1の操作部2)がインターフェース1607に接続される。操作部1609は、例えばフルキーボードおよびポインティングデバイスなどから構成することができ、軌道シミュレーションや検証を行う作業者のためのユーザーインターフェースを構成する。 When the configuration of FIG. 8 is the arithmetic processing unit 1 (FIG. 1), for example, the display 1608 (display unit 4 in FIG. 1) and the operation unit 1609 (operation unit 2 in FIG. 1) are interface devices as user interface devices. 1607. The operation unit 1609 can be composed of, for example, a full keyboard and pointing device, and constitutes a user interface for an operator who performs trajectory simulation and verification.

図8の制御系1000は、ネットワークNWを介して通信する通信手段としてネットワークインターフェース1605を備える。演算処理部1(図1)は、ネットワークインターフェース1605~ネットワークNWを介して実機のロボットアーム1001A、1001B(ないしはそのロボット制御装置200A、200B(図9))と通信することができる。その場合、教示点データや、軌道データをなどの制御情報を送受信することができる。その場合、ネットワークインターフェース1605は、例えばIEEE 802.3のような有線通信、IEEE 802.11、802.15のような無線通信による通信規格で構成する。しかしながら、ネットワークNWには、もちろん、それ以外の任意の通信規格を採用しても構わない。 The control system 1000 of FIG. 8 includes a network interface 1605 as communication means for communicating via the network NW. Arithmetic processing unit 1 (FIG. 1) can communicate with actual robot arms 1001A and 1001B (or their robot controllers 200A and 200B (FIG. 9)) via network interface 1605 to network NW. In that case, it is possible to transmit and receive control information such as teaching point data and trajectory data. In that case, the network interface 1605 is configured with a communication standard for wired communication such as IEEE 802.3 and wireless communication such as IEEE 802.11 and 802.15. However, the network NW may, of course, employ any other communication standard.

なお、後述の制御手順を実現するためのCPU1601の制御プログラムは、HDDやSSDなどから成る外部記憶装置1604や、ROM1602(の例えばEEPROM領域)のような記憶部に格納しておくこともできる。その場合、後述の制御手順を実現するためのCPU1601の制御プログラムは、ネットワークインターフェース1605を介して、上記の各記憶部に供給し、また新しい(別の)プログラムに更新することができる。あるいは、後述の制御手順を実現するためのCPU1601の制御プログラムは、各種の磁気ディスクや光ディスク、フラッシュメモリなどの記憶手段と、そのためのドライブ装置を経由して、上記の各記憶部に供給し、またその内容を更新することができる。上述の制御手順を実現するためのCPU1601の制御プログラムを格納した状態における各種の記憶手段や記憶部は、本発明の制御手順を格納したコンピュータ読み取り可能な記録媒体を構成することになる。 Note that the control program of the CPU 1601 for realizing the control procedure described later can also be stored in an external storage device 1604 such as an HDD or SSD, or a storage unit such as the ROM 1602 (for example, an EEPROM area). In that case, the control program of the CPU 1601 for realizing the control procedure described later can be supplied to each of the above-described storage units via the network interface 1605 and updated to a new (different) program. Alternatively, the control program of the CPU 1601 for realizing the control procedure described later is supplied to each of the above-described storage units via storage means such as various magnetic disks, optical disks, and flash memories, and drive devices therefor, Also, its contents can be updated. Various storage means and storage units in which the control program of the CPU 1601 for realizing the above-described control procedure is stored constitute a computer-readable recording medium storing the control procedure of the present invention.

なお、図8において、ロボット制御装置200A、200B(図9)の場合には、ロボットアーム1001A、1001B(同)の各部のモータやソレノイドなど(不図示)を駆動するドライバ回路などが、インターフェース1606に接続される。また、ディスプレイ1608および操作部1609から成るユーザーインターフェースは、ロボット制御装置200A、200B(図9)の場合には、ティーチングペンダント204A、204B(同)のような操作端末に置き換えてもよい。 In FIG. 8, in the case of the robot control devices 200A and 200B (FIG. 9), the interface 1606 is a driver circuit for driving the motors, solenoids, etc. (not shown) of each part of the robot arms 1001A and 1001B (same). connected to In the case of the robot controllers 200A and 200B (FIG. 9), the user interface consisting of the display 1608 and the operation unit 1609 may be replaced with an operation terminal such as the teaching pendants 204A and 204B (same).

本実施形態において、開始教示点および目標教示点の間でロボットアームを動作させる軌道を生成する場合、開始教示点と前記目標教示点との間に生成された軌道(動作情報)でロボットアームの動作を評価し、軌道の評価値を算出する(評価工程)。試行工程ないし更新工程では、軌道中の位置と、その位置で前記ロボットアームを待機させる待機時間と、に適宜変化量を与えて変更し、新たな軌道を例えば複数、生成する。この新たな軌道について、前記評価工程を実行し、また評価工程において評価値の良好な軌道を選択する(選択工程)処理を繰り返す。 In this embodiment, when generating a trajectory for moving the robot arm between the start teaching point and the target teaching point, the trajectory (motion information) generated between the start teaching point and the target teaching point is used to move the robot arm. Evaluate the motion and calculate the evaluation value of the trajectory (evaluation step). In the trial process or the update process, the position in the trajectory and the waiting time for waiting the robot arm at that position are changed by giving an appropriate amount of change to generate, for example, a plurality of new trajectories. For this new trajectory, the evaluation process is executed, and the process of selecting a trajectory with a good evaluation value in the evaluation process (selection process) is repeated.

図4は、本実施形態による軌道生成処理の流れを示している。また、図5(a)~(d)は、図4の各ステップの制御に相当するロボットアームの経路と軌道を示したものである。以下、図4、図5を参照して、本実施形態のロボットの軌道生成に処理につき説明する。 FIG. 4 shows the flow of trajectory generation processing according to this embodiment. 5(a) to (d) show the paths and trajectories of the robot arm corresponding to the control of each step in FIG. Hereinafter, processing for generating the trajectory of the robot according to this embodiment will be described with reference to FIGS. 4 and 5. FIG.

図4のステップS100では、ロボットアームA、Bが作業を行う作業空間(図5(a))におけるこれらロボットアームを模擬するロボットアームモデル、物理的制約条件、動作制約条件、各教示点を入力する。ロボットアームA、Bに対応するロボットアームモデルは、作業空間を模擬した仮想空間で動作させて、軌道生成、ないしその最適化を行う。なお、以下の軌道生成処理、ないしその最適化処理の説明では、簡略化のため、仮想空間におけるロボットアームモデル、障害物モデルについても、あたかも(実機の)ロボットアーム、障害物の動作であるかのごとく記述することがある。 In step S100 of FIG. 4, a robot arm model simulating the robot arms A and B in the work space (FIG. 5(a)) where the robot arms A and B work, physical constraint conditions, motion constraint conditions, and each teaching point are input. do. Robot arm models corresponding to the robot arms A and B are operated in a virtual space simulating the work space to generate or optimize the trajectory. In the following description of the trajectory generation process and its optimization process, for the sake of simplification, the robot arm model and the obstacle model in the virtual space are also treated as if they were the motions of the (actual) robot arm and the obstacle. It can be described as

図5(a)に示すように、ロボットアームA、ロボットアームB、障害物Ob、ロボットアームAの教示点PA1、PA2、PA3、ロボットアームBの教示点PB1、PB2、PB3、などの構成および配置は、図2で示したものと同様である。 As shown in FIG. 5A, the configuration and The arrangement is similar to that shown in FIG.

ロボットアームA、ロボットアームBのロボットアームモデルは、ロボットを構成する部品の設計情報である。このロボットアームA、ロボットアームBのロボットアームモデルは、ポリゴン情報、慣性モーメント、質量、位置、姿勢、軸数などによって表現される。また、ロボットアームモデルを構成する物理的制約条件には、ロボットアームの物理的な制約を定義したもので、ロボットアームの機構の構造、ジオメトリなどによって課せられる関節トルク制約、手先速度制約、手先加速度制約などがある。 The robot arm models of the robot arm A and the robot arm B are design information of parts constituting the robot. The robot arm models of robot arm A and robot arm B are represented by polygon information, moment of inertia, mass, position, orientation, number of axes, and the like. In addition, the physical constraints that make up the robot arm model define the physical constraints of the robot arm. There are restrictions.

また、動作制約条件とは、上述のように、ロボットアームBが教示点PB2に到達するより前に、ロボットアームAが教示点PA2に到達するという、動作の前後関係にかかわる制約条件である。この動作制約条件は、例えば、ロボットアームBが教示点PB2に到達するより前に、ロボットアームAが教示点PA2で特定の作業を行わなければならない、といった、特定の物品の製造工程の都合などにより決定されている。 Further, as described above, the motion constraint is a constraint related to the sequential relationship of motion such that the robot arm A reaches the teaching point PA2 before the robot arm B reaches the teaching point PB2. This operation constraint condition is, for example, the convenience of the manufacturing process of a specific article, such as the robot arm A having to perform a specific work at the teaching point PA2 before the robot arm B reaches the teaching point PB2. determined by

図4のステップS101、S102では、暫定の中間点(第1の中間点群)を生成し、また暫定の中間点(第1の中間点群)の各々における暫定の待機時間(第1の待機時間群)を初期化する(初期化工程)。 In steps S101 and S102 of FIG. 4, provisional intermediate points (first intermediate point group) are generated, and provisional standby times (first standby time group) is initialized (initialization step).

ステップS101で、ステップS100で与えた、教示点の間に、暫定の中間点(第1の中間点群)を生成する。この暫定の中間点(第1の中間点群)は、後述の新たな中間点(第2の中間点群)の複数セットの評価結果によって、変位を与えて最適な軌道を生成できるよう、移動させる。 At step S101, provisional intermediate points (first intermediate point group) are generated between the teaching points given at step S100. This provisional intermediate point (first intermediate point group) is moved so that an optimal trajectory can be generated by applying displacement according to the evaluation results of multiple sets of new intermediate points (second intermediate point group) described later. Let

本実施形態では、中間点(第1、第2の中間点群)として生成する中間点の数を教示点間に3つとする。図5(b)示すように、教示点PA1と教示点PA2の間では、暫定の中間点PA11、PA12、PA13(第1の中間点群)を、教示点PA2と教示点PA3の間では、暫定の中間点PA21、PA22、PA23(第1の中間点群)を配置する。また、教示点PB1と教示点PB2の間では、暫定の中間点PB11、PB12、PB13(第1の中間点群)を教示点PB2と教示点PB3の間では、暫定の中間点PB21、PB22、PB23(第1の中間点群)を生成する。 In this embodiment, the number of intermediate points to be generated as intermediate points (first and second intermediate point groups) is three between teaching points. As shown in FIG. 5B, provisional intermediate points PA11, PA12, and PA13 (first intermediate point group) are set between the taught points PA1 and PA2, and between the taught points PA2 and PA3, Temporary intermediate points PA21, PA22, PA23 (first intermediate point group) are arranged. Between the taught points PB1 and PB2, provisional intermediate points PB11, PB12, and PB13 (first group of intermediate points) are provided, and between the taught points PB2 and PB3, provisional intermediate points PB21, PB22, Generate PB23 (first intermediate point group).

ステップS101における、暫定の中間点の生成方法としては、障害物を回避する経路を計算する経路計画アルゴリズムを用いることが考えられる。この経路生成方法には、ポテンシャル法、PRM(Probabilistic Road Map)、RRT(Rapidly-exploring Random Tree)などの周知の手法を利用できる。また、以上の経路計画アルゴリズムに限定されることなく、可視グラフ法、セル分割法、ボロノイ図法などの他の経路計画アルゴリズムも適用できる。また、単純に、経路計画アルゴリズムを用いずに、教示点間を線形補間して中間点を生成する手法を用いてもよい。 As a method of generating the provisional waypoints in step S101, it is conceivable to use a route planning algorithm that calculates a route avoiding obstacles. Well-known methods such as the potential method, PRM (Probabilistic Road Map), RRT (Rapidly-exploring Random Tree), and the like can be used for this route generation method. Also, other route planning algorithms such as the visible graph method, the cell division method, the Voronoi diagram method, etc. can be applied without being limited to the above route planning algorithms. Alternatively, a method of simply linearly interpolating between taught points to generate intermediate points may be used without using a route planning algorithm.

本実施形態では、暫定の中間点(第1の中間点群)において、その位置でアームを待機させる暫定の待機時間(第1の待機時間群)を定義し、中間点(第1の中間点群)を最適化するとともに、対応する待機時間(第1の待機時間群)を最適化する。その場合、暫定の待機時間(第1の待機時間群)に変位を与え、後述の新たな待機時間(第2の待機時間群)が生成され、新たな中間点(第2の中間点群)とともに評価される。ステップS102では、暫定の中間点(第1の中間点群)それぞれにつき、その位置でアームを待機させる暫定の待機時間WA1、WA2、WB1、WB2(第1の待機時間群)を0に初期化する。 In this embodiment, a provisional waiting time (first waiting time group) for waiting the arm at a provisional intermediate point (first intermediate point group) is defined, and the intermediate point (first intermediate point group) and optimize the corresponding wait times (first group of wait times). In that case, a temporary waiting time (first waiting time group) is given a displacement, a new waiting time (second waiting time group) described later is generated, and a new intermediate point (second intermediate point group) is evaluated with In step S102, for each temporary intermediate point (first intermediate point group), temporary standby times WA1, WA2, WB1, and WB2 (first standby time group) for waiting the arm at that position are initialized to 0. do.

ステップS103では、暫定の中間点PA11~PA13、PA21~PA23、PB11~PB13、PB21~PB23(第1の中間点群)に対し、それぞれ変位を与え、新たな中間点(第2の中間点群)を算出する。また、暫定の待機時間WA1、WA2、WB1、WB2(第1の待機時間群)に対し、それぞれ変位を与え、新たな待機時間(第2の待機時間群)を算出する。 In step S103, the temporary intermediate points PA11 to PA13, PA21 to PA23, PB11 to PB13, PB21 to PB23 (first intermediate point group) are respectively displaced, and new intermediate points (second intermediate point group ) is calculated. Moreover, each of the provisional waiting times WA1, WA2, WB1, and WB2 (first waiting time group) is varied to calculate a new waiting time (second waiting time group).

ここで、待機時間に変位を与える方法としては、例えば、例えば、暫定の待機時間、暫定の中間点の1つ1つに対し、独立して乱数値を足し込む方法を用いる。あるいは、暫定の待機時間、暫定の中間点のパラメータを連動させて多変量正規分布を用いて発生させた乱数値を足し込む手法を用いてもよい。この軌道中の位置ないし待機時間を変位させるための乱数の値の範囲は、新たな軌道生成と評価を繰り返す試行工程ないし更新工程の繰り返し実行の回数が増加するに従い、例えば狭くなるように制御することができる。即ち、試行工程ないし更新工程の繰り返し実行の回数が増加するに従い、例えば第1の中間点群の中間点の各々、および第1の待機時間群の待機時間の各々に与えられる変位の量を小さくする制御を行うことができる。このような制御は、上記の軌道中の位置ないし待機時間を変位させるための乱数を発生させる乱数発生サブルーチンに対する設定処理により、乱数の値の範囲や分散値を設定することにより行うことができる。上記のような制御により、更新、生成される軌道の精度を高め、また処理を良好に収束させることができる。 Here, as a method of varying the waiting time, for example, a method of independently adding a random value to each of the provisional waiting time and the provisional intermediate point is used. Alternatively, a technique may be used in which a random value generated using a multivariate normal distribution is added in conjunction with the provisional waiting time and provisional midpoint parameters. The range of the random number value for changing the position in the trajectory or the waiting time is controlled so as to narrow, for example, as the number of repetitions of the trial process or update process for repeating new trajectory generation and evaluation increases. be able to. That is, as the number of repetitions of the trial process or update process increases, the amount of displacement given to each of the intermediate points of the first intermediate point group and each of the waiting times of the first waiting time group, for example, is reduced. can be controlled. Such control can be performed by setting the range of random number values and variance values through the setting process for the random number generation subroutine that generates random numbers for changing the position in the track or the waiting time. By the above control, the accuracy of the updated and generated trajectory can be improved, and the processing can be successfully converged.

ステップS104では、新たな待機時間(第2の待機時間群)と、新たな中間点(第2の中間点群)を用いて、時間情報を含んだロボットアームの動作情報(軌道)を作成する(軌道作成工程)。例えば、ロボットアームごとに、教示点間を、新たな中間点を用いて曲線補間により経路を生成し、最短時間制御を用いて軌道を生成する。その後、新たな待機時間と軌道から、ある制御周期ごとのロボットごとの位置指令値を生成する。待機中の指令値は、待機する教示点での位置を待機時間分、複製した位置指令値となる。次に、ロボットアームAとロボットアームBの指令値を一つにまとめ、各時間にロボットアームAとロボットアームBの位置指令値を示す動作情報の情報体を生成する。この動作情報の情報体は、RAM1603、外部記憶装置1604(図8)のようなメモリ上では、例えばテーブルデータのような構造体により表現される。この動作情報は、経路のみならず待機時間を含んだ「軌道」を制御する制御情報と考えることができる。そこで、以下では、この動作情報は「(軌道)」の括弧書きとともに記載することがある。 In step S104, using the new waiting time (second waiting time group) and the new intermediate point (second intermediate point group), motion information (trajectory) of the robot arm including time information is created. (trajectory creation process). For example, for each robot arm, a path between teaching points is generated by curve interpolation using new intermediate points, and a trajectory is generated using shortest time control. After that, a position command value for each robot is generated for each control cycle from the new waiting time and trajectory. The command value during standby is a position command value obtained by duplicating the position of the teaching point to be standby for the standby time. Next, the command values of robot arm A and robot arm B are combined into one, and an information body of motion information indicating the position command values of robot arm A and robot arm B at each time is generated. This information body of operation information is represented by a structure such as table data on a memory such as the RAM 1603 and the external storage device 1604 (FIG. 8). This motion information can be considered as control information for controlling not only the route but also the "trajectory" including waiting time. Therefore, hereinafter, this motion information may be described together with the parenthesis of "(trajectory)".

ステップS105で、動作情報(軌道)を元に、上述の動作制約を満たしているか判定し、満たしていない場合は、ステップS103に戻り、満たしている場合は、ステップS106に進む。このステップS105における「制約」は、ステップS104で用いた最短時間制御技術で制約する物理的制約ではなく、ロボットアームAが教示点PA2に到達するという、動作の前後関係にかかわる制約条件である。 In step S105, based on the motion information (trajectory), it is determined whether or not the above-described motion constraints are satisfied. The "constraint" in step S105 is not a physical constraint imposed by the shortest time control technique used in step S104, but a constraint condition related to the context of the operation that the robot arm A reaches the teaching point PA2.

ステップS106では、新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)および、それに基づき生成した動作情報(軌道)のセットを保存する(生成工程)。 In step S106, a new waiting time (second waiting time group), a new intermediate point (second intermediate point group), and a set of motion information (trajectory) generated based thereon are saved (generating step).

ステップS107では、保存した新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)、および対応する動作情報(軌道)のセットが、所定数N個になったかを判定する。ここで保存した複数セットのセット数がN個になっていなければ、ステップS103に戻り、もしN個になっていれば、ステップS108に進む。即ち、本実施形態では、所定数N個の新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)、および対応する動作情報(軌道)のセットを複数個、生成し、保存する。保存先には、RAM1603や、外部記憶装置1604(図8)の所定記憶エリアを用いる。 In step S107, a predetermined number N of sets of saved new waiting times (second waiting time group), new intermediate points (second intermediate point group), and corresponding motion information (trajectories) are obtained. determine whether or not If the number of sets stored here is not N, the process returns to step S103, and if the number is N, the process proceeds to step S108. That is, in the present embodiment, a plurality of sets of a predetermined number N of new waiting times (second waiting time group), new intermediate points (second intermediate point group), and corresponding motion information (trajectories) are prepared. pcs, generate and store. A predetermined storage area of the RAM 1603 or the external storage device 1604 (FIG. 8) is used as the storage destination.

本実施形態では、説明を容易にするため、生成し、保存する新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)、および対応する動作情報(軌道)のセットの数はN=2とする。このN=2の場合の、図5(b)、(c)に新たな中間点(第2の中間点群)と、対応する動作情報に基づき生成した軌道の例を示す。図5(b)、(c)において、1セット目の、中間点(第1の中間点群)教示点PA1、PA2、PB1、PB2での新たな待機時間(第2の待機時間群)はそれぞれ、WA11、WA21、WB11、WB21である。また、中間点(第1の中間点群)を変位させて得た教示点PA1、PA2間の新たな中間点(第2の中間点群)はPA111、PA121、PA131、教示点PA2、PA3間の新たな中間点(第2の中間点群)はPA211、PA221、PA231である。また、教示点PB1、PB2間の新たな中間点(第2の中間点群)はPB111、PB121、PB131、教示点PB2、PB3間の新たな中間点(第2の中間点群)はPB211、PB221、PB231である。 In this embodiment, for ease of explanation, a new waiting time (second waiting time group) to be generated and saved, a new intermediate point (second intermediate point group), and corresponding motion information (trajectory ) is set to N=2. FIGS. 5B and 5C show examples of new intermediate points (second intermediate point group) and trajectories generated based on the corresponding motion information when N=2. In FIGS. 5B and 5C, the new waiting times (second waiting time group) at the intermediate points (first intermediate point group) taught points PA1, PA2, PB1, and PB2 in the first set are They are WA11, WA21, WB11, and WB21, respectively. Further, new intermediate points (second intermediate point group) between taught points PA1 and PA2 obtained by displacing the intermediate point (first intermediate point group) are PA111, PA121, and PA131, and between taught points PA2 and PA3. The new intermediate points (second intermediate point group) of are PA211, PA221, and PA231. Further, the new intermediate points (second intermediate point group) between the teaching points PB1 and PB2 are PB111, PB121 and PB131, the new intermediate points (second intermediate point group) between the teaching points PB2 and PB3 are PB211, They are PB221 and PB231.

同様に、2セット目の、教示点PA1、PA2、PB1、PB2での新たな待機時間(第2の待機時間群)はそれぞれ、WA12、WA22、WB12、WB22である。また、中間点(第1の中間点群)を変位させて得た教示点PA1、PA2間の新たな中間点(第2の中間点群)はPA112、PA122、PA132、教示点PA2、PA3間の新たな中間点(第2の中間点群)はPA212、PA222、PA232である。また、教示点PB1、PB2間の新たな中間点(第2の中間点群)はPB112、PB122、PB132、教示点PB2、PB3間の新たな中間点(第2の中間点群)はPB212、PB222、PB232である。 Similarly, the new waiting times (second waiting time group) at the teaching points PA1, PA2, PB1, and PB2 of the second set are WA12, WA22, WB12, and WB22, respectively. Further, new intermediate points (second intermediate point group) between taught points PA1 and PA2 obtained by displacing the intermediate points (first intermediate point group) are PA112, PA122, and PA132, and between taught points PA2 and PA3. The new intermediate points (second intermediate point group) of are PA212, PA222, and PA232. Further, the new intermediate points (second intermediate point group) between the teaching points PB1 and PB2 are PB112, PB122 and PB132, the new intermediate points (second intermediate point group) between the teaching points PB2 and PB3 are PB212, They are PB222 and PB232.

図4のステップS108では、保存したN個の新たな待機時間、新たな中間点、動作情報のセットに、それぞれ評価値を与える(評価工程)。この評価は、動作情報に基づいて行う。本実施形態では、ロボットアームと他の物体の干渉を回避するため、干渉量に基づいて行う。このロボットアームと他の物体の干渉は、例えば複数のロボットアームモデル同士、またはロボットアームモデルと障害物モデルとの干渉に相当する。本実施形態では、例えば、ロボットアーム(モデル)と、他の物体が干渉して(同一の空間を占めて)いる干渉時間を評価値として用いる。干渉判定は、ロボットモデルに含まれる、ポリゴン情報から行う。また、干渉している時間ではなく、あるロボットアームと障害物(ないしは他のロボット)の相互のめり込み量(例えば干渉距離)を評価値として用いてもよい。ただし、動作情報(軌道)の評価基準は特に、上記の評価基準に限定されるものではなく、上記の評価基準と別のものであっても構わない。 In step S108 of FIG. 4, an evaluation value is assigned to each of the stored N sets of new standby times, new intermediate points, and sets of motion information (evaluation step). This evaluation is based on operational information. In this embodiment, in order to avoid interference between the robot arm and other objects, it is determined based on the amount of interference. This interference between a robot arm and another object corresponds to, for example, interference between a plurality of robot arm models or between a robot arm model and an obstacle model. In this embodiment, for example, an interference time during which a robot arm (model) and another object interfere (occupy the same space) is used as an evaluation value. Collision determination is performed from polygon information included in the robot model. Also, instead of the interfering time, a mutual penetration amount (for example, interference distance) between a certain robot arm and an obstacle (or another robot) may be used as an evaluation value. However, the evaluation criteria for the motion information (trajectory) are not particularly limited to the above evaluation criteria, and may be different from the above evaluation criteria.

ステップS109では、N個の、新たな待機時間、新たな中間点、動作情報のセットの評価値に基づき、暫定の待機時間(第1の待機時間群)、暫定の中間点(第1の中間点群)に変位を与えて、移動させる。この暫定の待機時間(第1の待機時間群)、暫定の中間点(第1の中間点群)の移動の方法としては、次のような手法を用いる。例えば、新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)、対応する動作情報(軌道)のセットの中で、評価値が最小(良好)な新たな待機時間、新たな中間点に、暫定の第1の待機時間群、第1の中間点群を移動させる。あるいは、新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)、対応する動作情報のセットの評価値を重みとした重み付き平均に、暫定の待機時間(第1の待機時間群)、暫定の中間点(第1の中間点群)を移動させる手法を用いてもよい。 In step S109, a provisional waiting time (first waiting time group), a provisional intermediate point (first intermediate point Point cloud) is displaced and moved. As a method for moving the provisional waiting time (first waiting time group) and the provisional intermediate point (first intermediate point group), the following method is used. For example, among a set of new waiting time (second waiting time group), new intermediate point (second intermediate point group), and corresponding motion information (trajectory), the new The temporary first group of waiting times and the first group of intermediate points are moved to the new intermediate point. Alternatively, a new waiting time (second waiting time group), a new intermediate point (second intermediate point group), a weighted average weighted by the evaluation value of the corresponding operation information set, and the temporary waiting time (First waiting time group), a method of moving a provisional intermediate point (first intermediate point group) may be used.

図5(d)は、一例として、評価値が良好だった2セット目の新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)に、暫定の待機時間(第1の待機時間群)、暫定の中間点(第1の中間点群)を移動させた例を示している。 FIG. 5D shows, as an example, a new waiting time (second waiting time group) for the second set with a good evaluation value, a new intermediate point (second intermediate point group), and a temporary standby An example is shown in which time (first waiting time group) and temporary intermediate points (first intermediate point group) are moved.

ステップS103からステップS109で構成される、生成工程と、軌道作成工程と、評価工程と、は繰り返し実行される(試行工程)。このループ(試行工程)の処理の脱出条件は図4のステップS110で判定される。 A generation process, a trajectory creation process, and an evaluation process, which are composed of steps S103 to S109, are repeatedly executed (trial process). A condition for exiting from this loop (trial process) is determined in step S110 of FIG.

ステップS110では、ステップS103からステップS109で構成されるループ(試行工程)の処理を打ち切る条件を満たすか判定する。打ち切り条件を満たしていなければ、ステップS103に戻り、打ち切り条件を満たしていれば、ステップS111に進みループ(試行工程)の処理を繰り返す。 In step S110, it is determined whether or not a condition for terminating the processing of the loop (trial process) formed from steps S103 to S109 is satisfied. If the termination condition is not satisfied, the process returns to step S103, and if the termination condition is satisfied, the process proceeds to step S111 to repeat the processing of the loop (trial step).

本実施形態の目的は、ロボットと障害物との干渉を回避することである。そのため、ステップS110で判定される打ち切り条件は、例えば、N個ある、新たな待機時間、新たな中間点、動作情報のセットの中で、最小な評価値が0になることとする。 The purpose of this embodiment is to avoid interference between the robot and obstacles. Therefore, the termination condition determined in step S110 is, for example, that the minimum evaluation value in N sets of new standby time, new intermediate point, and motion information is 0.

ステップS111では、暫定の待機時間(第1の待機時間群)、暫定の中間点(第1の中間点群)を用いて、ロボットアームA、Bをそれぞれ動作させる軌道を生成する(軌道生成工程)。 In step S111, a temporary waiting time (first waiting time group) and a temporary intermediate point (first intermediate point group) are used to generate trajectories for moving the robot arms A and B (trajectory generating step ).

以上説明したように、本実施形態によれば、複数のロボットアームが、教示点へ到達する順番を制約しつつ、ロボットアーム同士の干渉および、ロボットアームと障害物との干渉を回避可能な軌道を生成することができる。また、評価のための軌道作成においては、動作制約、物理的な制約、最短時間制御、のような制御を加味することができる。従って、作業工程に適合し、機構上の問題を生じず、かつ効率よく複数のロボットアームを動作させる軌道を生成することができる。 As described above, according to the present embodiment, while restricting the order in which a plurality of robot arms reach teaching points, a trajectory that can avoid interference between the robot arms and interference between the robot arms and an obstacle can be achieved. can be generated. Also, in creating a trajectory for evaluation, it is possible to consider controls such as operational restrictions, physical restrictions, and shortest time control. Therefore, it is possible to generate a trajectory that is suitable for the work process, does not cause mechanical problems, and efficiently moves a plurality of robot arms.

<実施形態2>
上記実施形態1では、主に、教示点へ到達する順番の制約を逸脱せず、ロボットアーム同士の干渉および、ロボットアームと障害物との干渉を回避可能な軌道を生成する最適化技術について説明した。本実施形態2では、複数のロボットアームが、教示点へ到達する順番の制約を逸脱せず、ロボットアーム同士の干渉および、ロボットアームと障害物との干渉を回避しながら最短で動作させる軌道を生成することを目的とする。
<Embodiment 2>
In the above-described first embodiment, an optimization technique for generating a trajectory that can avoid interference between robot arms and interference between a robot arm and an obstacle without deviating from restrictions on the order in which teaching points are reached will be mainly described. bottom. In the second embodiment, a plurality of robot arms operate in the shortest trajectory while avoiding interference between the robot arms and interference between the robot arms and obstacles without deviating from restrictions on the order in which the robot arms reach teaching points. intended to generate

ロボットシステムのハードウェア的な構成は実施形態1と同等であり、また、本実施形態による動作生成方法の主要なステップは、実施形態1の図4のフローチャートと準ずるものとする。しかしながら、本実施形態2では、上記実施形態1とは、暫定の待機時間の初期値、暫定の中間点の初期値、動作の制約方法、動作の評価方法、打ち切り条件の構成が異なる。 The hardware configuration of the robot system is equivalent to that of the first embodiment, and the main steps of the motion generation method according to this embodiment conform to the flowchart of FIG. 4 of the first embodiment. However, the second embodiment differs from the first embodiment in the configuration of the initial value of the provisional waiting time, the initial value of the provisional intermediate point, the motion restriction method, the motion evaluation method, and the termination condition.

本実施形態2では、図4に示した処理を行い、打ち切り条件を満たす暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)を用いて、再度、下記のように図4の一部を変更した処理を行い、最適化した軌道を生成する。 In the second embodiment, the processing shown in FIG. 4 is performed, and a provisional waiting time (first waiting time group) and a provisional intermediate point (first intermediate point group) that satisfy the termination condition are used again. , the process of partially modifying FIG. 4 is performed as follows to generate an optimized trajectory.

この図4の一部を変更した処理では、まず、初期化工程が最初に行う実施形態1の図4の処理が異なる。実施形態1では、図4のステップS101で、経路計画技術を元に暫定の中間点(第1の中間点群)を生成し、ステップS102で暫定の待機時間(第1の待機時間群)を0に初期化している。これに対して、本実施形態のステップS102では、図4のステップS110~S111で収束、生成した暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)に初期化する。このため、処理の1パス目の実施形態1の図4のステップS111は、直ちに軌道生成を行わないように変更しておく。 In the partially modified process of FIG. 4, first, the process of FIG. 4 of the first embodiment, which is performed first in the initialization process, is different. In the first embodiment, at step S101 in FIG. 4, provisional intermediate points (first intermediate point group) are generated based on the route planning technique, and provisional waiting times (first waiting time group) are generated at step S102. Initialized to 0. On the other hand, in step S102 of the present embodiment, the provisional waiting time (first waiting time group) converged and generated in steps S110 to S111 of FIG. ). Therefore, step S111 in FIG. 4 of the first embodiment of the first pass of the process is changed so as not to immediately generate the trajectory.

このように、本実施形態では、実施形態1の処理で打ち切り条件を満たす暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)を初期値に用いる。これより、ロボット同士および、ロボットと障害物との干渉を回避することが判明している暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)を出発点として、動作時間を縮める軌道最適化処理を行うことができる。 As described above, in the present embodiment, the provisional waiting time (first waiting time group) and the provisional middle point (first middle point group) that satisfy the termination condition in the processing of the first embodiment are used as initial values. . From this, provisional waiting times (first waiting time group) and provisional intermediate points (first intermediate point group) that are known to avoid interference between robots and between robots and obstacles are set. As a starting point, a trajectory optimization process can be performed that reduces the operating time.

また、実施形態1の図4の処理では、ステップS105で、軌道が制約を満たしているか判定する際に、ロボットアームBが教示点PB2に到達するより前に、ロボットアームAが教示点PA2に到達するかを判定していた。これに対して、本実施形態2では、さらに加えて、ロボットアーム同士、および、ロボットアームと障害物が干渉しているか否かを判定する。そして、ロボットアーム同士もしくは、ロボットアームと障害物が干渉している場合は、その新たな待機時間、新たな中間点を無効とし、図4のステップS103に戻る。 Further, in the process of FIG. 4 of the first embodiment, when determining whether the trajectory satisfies the constraint in step S105, the robot arm A reaches the teaching point PA2 before the robot arm B reaches the teaching point PB2. I was trying to determine if I would reach it. In contrast, in the second embodiment, it is further determined whether or not the robot arms interfere with each other and between the robot arms and an obstacle. If the robot arms interfere with each other or the robot arm and the obstacle interfere with each other, the new standby time and the new intermediate point are invalidated, and the process returns to step S103 in FIG.

また、実施形態1では、図4のステップS108で、干渉している時間もしくはめり込み量を評価値として動作を評価していた。これに対して、本実施形態2では、複数のロボットアーム、即ちロボットアームA、Bが与えられた教示点により規定された全ての動作が終了するまでの所要時間を評価値として用いる。このような評価値生成により、工程作業の時間が最短となる、暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)を生成することができる。 Further, in the first embodiment, in step S108 of FIG. 4, the operation is evaluated using the interference time or the amount of penetration as an evaluation value. On the other hand, in the second embodiment, the time required for a plurality of robot arms, that is, the robot arms A and B to complete all motions defined by given teaching points, is used as an evaluation value. By generating such evaluation values, it is possible to generate a provisional waiting time (first waiting time group) and a provisional intermediate point (first intermediate point group) that minimize the process work time.

また、実施形態1では、図4のステップS110の打ち切り条件を、N個ある、新たな待機時間、新たな中間点、動作情報のセットの中で、最小な評価値が0になることとしていた。これに対して、本実施形態2では、ステップS110の打ち切り条件は、ステップS103からステップS109(試行工程)の繰り返しの回数が所定回数に達するか、または、評価値が連続して変化しない回数が所定回数に達することとする。これにより、試行工程が収束せず、発散する事態に対処でき、また、実質的に試行工程で暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)が収束していることを検出することができる。 In the first embodiment, the termination condition in step S110 of FIG. 4 is that the minimum evaluation value among the N sets of new waiting time, new intermediate point, and operation information becomes 0. . On the other hand, in the second embodiment, the termination condition of step S110 is that the number of repetitions of steps S103 to S109 (trial process) reaches a predetermined number of times, or the number of times the evaluation value does not change continuously. It is assumed that the predetermined number of times is reached. As a result, it is possible to cope with the situation where the trial process does not converge and diverge, and in the trial process, the provisional waiting time (first waiting time group) and the provisional intermediate point (first intermediate point group) ) is converging.

本実施形態2において、ステップS111では、暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)を用いて軌道を生成する。ただし、ステップS103~S109(試行工程)の繰り返しにおける暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)の変化の履歴を保存しておき、最も良好な第1の待機時間群、および中間点群を軌道生成に用いてもよい。例えば、保存しておいた履歴の中で最も良好な(例えば動作時間の最も短い)評価値を得た暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)のを軌道生成に用いる。 In the second embodiment, in step S111, a trajectory is generated using provisional waiting times (first waiting time group) and provisional intermediate points (first intermediate point group). However, the history of changes in the provisional waiting time (first waiting time group) and the provisional intermediate point (first intermediate point group) in repeating steps S103 to S109 (trial process) is saved, and the most A good first set of latencies and a set of waypoints may be used for trajectory generation. For example, the temporary standby time (first standby time group) that obtained the best (for example, the shortest operating time) evaluation value in the stored history, and the temporary intermediate point (first intermediate point cloud) is used for trajectory generation.

以上に示したように、本実施形態2では、実施形態1の図4の処理で打ち切り条件を満たす暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)を用いて、再度、上記のように図4の一部を変更した処理を行う。このようなほぼ2パス構成の最適化により、複数のロボットアームの目標教示点への到達順の制約、ロボットアーム同士の干渉、ロボットアームと障害物との干渉を回避するという制約を全て守った上で、動作時間を最短とする軌道を生成することができる。 As described above, in the second embodiment, the provisional waiting time (first waiting time group) and the provisional middle point (first middle point) that satisfy the termination condition in the processing of FIG. 4 of the first embodiment. group) is used to perform the partially modified process of FIG. 4 again as described above. By optimizing the 2-pass configuration, all the constraints of avoiding the order of arrival of multiple robot arms to target teaching points, interference between robot arms, and interference between robot arms and obstacles were observed. Above, a trajectory that minimizes the motion time can be generated.

なお、以上では、干渉回避に係る干渉量を評価値に用いる最適化(実施形態1)の後に、複数のロボットアームが与えられた教示点により規定された全ての動作が終了するまでの所要時間を評価値に用いる軌道生成(本実施形態2)を示した。しかしながら、複数のロボットアームが与えられた教示点により規定された全ての動作が終了するまでの所要時間を評価値に用いる軌道生成は、干渉回避を必ずしも考慮する必要のない場合には単独で実施しても構わない。 In the above, after the optimization (first embodiment) using the amount of interference related to interference avoidance as an evaluation value, the required time until all the motions defined by the teaching points given to the plurality of robot arms are completed. is used as an evaluation value (second embodiment). However, trajectory generation using the evaluation value for the time required to complete all motions defined by the given teaching points for a plurality of robot arms is performed independently when it is not necessary to consider interference avoidance. I don't mind.

また、本実施形態2で示したように、それぞれ異なる評価値を用いる複数のパスで軌道生成ないしその最適化を行うことができる。即ち、それぞれ異なる評価値を用いる複数のパスで軌道生成ないしその最適化を行う場合、本発明は軌道生成ないしその最適化制御のパス数によって限定されるものではない。例えば、軌道評価に用いたい評価値が複数ある場合、例えば3以上のパス構成で、打ち切り条件を満たす暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)を次々に取得する制御を行うことができる。 Further, as shown in the second embodiment, trajectory generation or optimization can be performed in a plurality of passes using different evaluation values. That is, when trajectory generation or optimization is performed in a plurality of passes using different evaluation values, the present invention is not limited by the number of trajectory generation or optimization control passes. For example, if there are a plurality of evaluation values to be used for trajectory evaluation, for example, in a path configuration of three or more, a provisional waiting time (first waiting time group) and a provisional intermediate point (first intermediate point) that satisfy the termination condition (first intermediate point). group) can be controlled to acquire one after another.

その場合、前記の初期化工程と、生成工程、前記軌道作成工程、および前記評価工程を実行する試行工程を複数パス、用意し、各パスの評価工程では、それぞれ相互に異なる評価値を生成する。複数パスの評価工程では、それぞれ異なる評価値を用いて、評価工程の打ち切り条件を満たす暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)を、後続のパスの初期化工程で待機時間および中間点の初期値として用いる。そして最後のパスの評価工程の打ち切り条件を満たす暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)を用いて軌道を生成する。 In this case, a plurality of trial steps for executing the initialization step, the generation step, the trajectory creation step, and the evaluation step are prepared, and evaluation values different from each other are generated in the evaluation steps of each pass. . In the multi-pass evaluation process, different evaluation values are used to set a provisional waiting time (first waiting time group) and a provisional intermediate point (first intermediate point group) that satisfy the termination condition of the evaluation process. It is used as initial values for wait times and midpoints in subsequent pass initialization steps. Then, a trajectory is generated using a provisional waiting time (first waiting time group) and a provisional intermediate point (first intermediate point group) that satisfy the termination condition of the evaluation process of the last pass.

<実施形態3>
実施形態1、2では、主に2ロボットアーム構成における軌道生成、ないしその最適化制御を説明した。本実施形態3のロボットシステムでは、ロボットアームA、Bに加え、さらに、ロボットアームCが作業空間に配置されている構成を例示する。本実施形態の目的は、もちろん、これらロボットアーム同士およびロボットアームと障害物とが干渉せずにそれぞれの教示点を経由して動作させる軌道を生成することにある。その場合、本実施形態では、ロボットアームA、ロボットアームB、ロボットアームCの動作について、ロボットアームBが教示点PB2に到達するより前に、ロボットアームAが教示点PA2に到達する制約条件が採用される。
<Embodiment 3>
In Embodiments 1 and 2, trajectory generation in a two-robot arm configuration or its optimization control has been mainly described. In the robot system of Embodiment 3, in addition to the robot arms A and B, a configuration in which a robot arm C is arranged in the work space is illustrated. The object of the present embodiment is, of course, to generate a trajectory that allows these robot arms to move through their teaching points without interfering with each other and between the robot arm and the obstacle. In this case, in the present embodiment, regarding the operations of robot arm A, robot arm B, and robot arm C, the constraint that robot arm A reaches teaching point PA2 before robot arm B reaches teaching point PB2 is Adopted.

本実施形態3でも、軌道生成処理の主要なステップは、図4のフローチャートに準ずる。また、図6(a)~(d)は、図4の主要ステップの制御を図示している。本実施形態では、図6(a)に示すように、実施形態1に対し、ロボットアームCおよび、ロボットアームCの教示点PC1、PC2が新たに追加されている。 Also in the third embodiment, the main steps of the trajectory generation process conform to the flowchart of FIG. 6(a)-(d) also illustrate the control of the main steps of FIG. In this embodiment, as shown in FIG. 6A, a robot arm C and teaching points PC1 and PC2 of the robot arm C are newly added to the first embodiment.

ロボットアームCに関しては、教示点PC1、PC2が与えられ、教示点PC1から教示点PC2まで移動する軌道を生成する。その場合、当然、障害物および、他のロボットと干渉することなく動作できるよう軌道を生成する。また、ロボットアームCは、ロボットアームAおよびロボットアームBとの間で、動作の前後関係の制約はないものとする。 With respect to the robot arm C, teaching points PC1 and PC2 are given, and a trajectory moving from the teaching point PC1 to the teaching point PC2 is generated. In that case, naturally, a trajectory is generated so that the robot can operate without interfering with obstacles and other robots. In addition, the robot arm C is not restricted in the sequential relationship between the robot arm A and the robot arm B in terms of movement.

このような構成においても、実施形態1の図4と同等の処理によって、ロボットアームA、B、Cの最適な軌道を生成することができる。その場合、まず、図4のステップS100で、図6(a)に示した構成に対応し、ロボットアームA、Bに加え、ロボットアームCのモデル、物理的制約条件、動作制約条件、教示点PC1、PC2が入力される。ただし、本実施例では、ロボットアームCは、他のロボットとの間では、動作の前後関係に関する動作制約条件を持たないとする。 Even in such a configuration, the optimum trajectories of the robot arms A, B, and C can be generated by the same processing as in FIG. 4 of the first embodiment. In that case, first, in step S100 of FIG. 4, corresponding to the configuration shown in FIG. PC1 and PC2 are input. However, in this embodiment, the robot arm C does not have motion constraints regarding the context of motion with other robots.

図4のステップS101では実施形態1に加え、ロボットアームCの暫定の中間点PC11、PC12、PC13(第1の中間点群)の初期値を生成する(図6(b))。また、ステップS102では実施形態1のロボットアームA、Bに加え、ロボットアームCについても、暫定の待機時間WC1(第1の待機時間群)の初期値を0で初期化する。 In step S101 of FIG. 4, in addition to the first embodiment, initial values of temporary intermediate points PC11, PC12, and PC13 (first intermediate point group) of the robot arm C are generated (FIG. 6(b)). Further, in step S102, in addition to the robot arms A and B of the first embodiment, the initial value of the provisional standby time WC1 (first standby time group) is initialized to 0 for the robot arm C as well.

また、図4のステップS103~S107では、実施形態1と同様、ロボットアームCに関しても、新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)を生成する。この際、実施形態1と同様、動作制約条件を満たさない新たな待機時間、新たな中間点のセットは破棄し、動作条件を満たす新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)のセットを2つ(N=2)計算する。 Further, in steps S103 to S107 of FIG. 4, as in the first embodiment, a new waiting time (second waiting time group) and a new intermediate point (second intermediate point group) are generated for the robot arm C as well. do. At this time, as in the first embodiment, the set of new waiting times and new intermediate points that do not satisfy the operation constraint conditions is discarded, and new waiting times (second waiting time group) and new intermediate points that satisfy the operating conditions are discarded. Two (N=2) sets of points (second intermediate point cloud) are computed.

図6(c)は、新たな中間点(第2の中間点群)に対応する経路の例を示す。ここでは、実施形態1に加え、1セット目の、教示点PC1、PC2での新たな待機時間(第2の待機時間群)がそれぞれ、WC11、WC21に設定される。また、教示点PC1、PC2間に、新たな中間点(第2の中間点群)としてPC111、PC121、PC131が生成されている。同様に、2セット目の、教示点PC1、PC2での新たな待機時間(第2の待機時間群)がそれぞれ、WC12、WC22に設定される。また、教示点PC1、PC2間の新たな中間点(第2の中間点群)としてPC112、PC122、PC132が生成されている。 FIG. 6(c) shows an example of a route corresponding to the new intermediate points (second intermediate point group). Here, in addition to the first set, new waiting times (second waiting time group) at the teaching points PC1 and PC2 of the first set are set to WC11 and WC21, respectively. Further, PC111, PC121, and PC131 are generated as new intermediate points (second intermediate point group) between the teaching points PC1 and PC2. Similarly, new waiting times (second waiting time group) at the teaching points PC1 and PC2 of the second set are set to WC12 and WC22, respectively. Also, PC112, PC122, and PC132 are generated as new intermediate points (second intermediate point group) between the teaching points PC1 and PC2.

図4のステップS108では、ロボットアームA、B、Cの新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)から動作情報(軌道)を生成し、ロボットアーム同士および、ロボットアームと障害物が干渉する時間で評価値を計算する。 In step S108 of FIG. 4, motion information (trajectory) is generated from new waiting times (second waiting time group) and new intermediate points (second intermediate point group) of the robot arms A, B, and C, An evaluation value is calculated based on the time during which the robot arms interfere with each other and between the robot arms and the obstacle.

ステップS109では、実施形態1と同様、2セット(N=2)の新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)と、対応する動作情報(軌道)の評価値の評価結果に基づき、暫定の第1の待機時間群、第1の中間点群を移動させる。図6(d)の例では、2セット目の新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)が採用され、そこに暫定の待機時間(第1の待機時間群)、暫定の中間点(第1の中間点群)を移動させている。 In step S109, as in the first embodiment, two sets (N=2) of new waiting times (second waiting time group), new intermediate points (second intermediate point group), and corresponding motion information ( Based on the evaluation result of the evaluation value of the trajectory), the provisional first waiting time group and the first intermediate point group are moved. In the example of FIG. 6(d), the second set of new waiting time (second waiting time group) and a new intermediate point (second intermediate point group) are adopted, and there is a provisional waiting time (second 1 standby time group), and a temporary intermediate point (first intermediate point group) is moved.

図4のステップS110では、実施形態1と同様、試行工程(ステップS103~S109)を打ち切る打ち切り条件が成立しているか否かを判定する。そして、打ち切り条件が成立している場合には、ステップS111で、実施形態1と同様、打ち切り条件を満たす暫定の待機時間(第1の待機時間群)、暫定の中間点(第1の中間点群)を用いてロボットアームA、B、Cの軌道を生成する。 In step S110 of FIG. 4, as in the first embodiment, it is determined whether or not the termination condition for terminating the trial process (steps S103 to S109) is satisfied. Then, if the abort condition is satisfied, in step S111, as in the first embodiment, a provisional standby time (first standby time group) and a provisional midpoint (first intermediate point) satisfying the abort condition are provided. group) is used to generate the trajectories of the robot arms A, B, C.

以上説明したように、本実施形態3によれば、3機のロボットアームについて、教示点へ到達する順番を制約しつつ、ロボットアーム同士の干渉および、ロボットアームと障害物との干渉を回避可能な軌道を生成することができる。また、評価のための軌道作成においては、動作制約、物理的な制約、最短時間制御、のような制御を加味することができる。従って、作業工程に適合し、機構上の問題を生じず、かつ効率よく複数のロボットアームを動作させる軌道を生成することができる。 As described above, according to the third embodiment, it is possible to avoid interference between the three robot arms and interference between the robot arms and an obstacle while restricting the order in which the three robot arms reach the teaching point. trajectory can be generated. Also, in creating a trajectory for evaluation, it is possible to consider controls such as operational restrictions, physical restrictions, and shortest time control. Therefore, it is possible to generate a trajectory that is suitable for the work process, does not cause mechanical problems, and efficiently moves a plurality of robot arms.

本実施形態3では、実施形態1にロボットアームCを加え、干渉回避を目的とした動作生成を行う最適化の例を示した。しかしながら、上記の実施形態2の制御は、3アーム構成のロボットシステムにおいても実施することができる。即ち、実施形態3の処理(1パス目)で取得した打ち切り条件を満たす暫定の待機時間(第1の待機時間群)、暫定の中間点(第1の中間点群)を初期化に用いて実施形態2の制御を実施する。これにより、評価値を動作時間として、干渉回避をしつつ、動作時間が最適な動作を生成することができる。以上に示したように、本発明の軌道生成ないし、その最適化制御は、ロボットアームの数や、評価指標を限定することなく、ロボットアームの軌道を生成することが可能である。 In the third embodiment, the robot arm C is added to the first embodiment, and an optimization example is shown in which motion generation is performed for the purpose of avoiding interference. However, the control of the second embodiment can also be implemented in a three-armed robot system. That is, the provisional waiting time (first waiting time group) and the provisional intermediate point (first intermediate point group) that satisfy the termination condition acquired in the processing (first pass) of the third embodiment are used for initialization. The control of the second embodiment is implemented. As a result, using the evaluation value as the operation time, it is possible to generate an operation with the optimum operation time while avoiding interference. As described above, the trajectory generation and its optimization control according to the present invention can generate trajectories of robot arms without limiting the number of robot arms or the evaluation index.

<ロボットシステムの構成>
ここで、上記の各実施形態により、生成されたロボット軌道によって制御される複数アームのロボットシステムの具体的な構成例や、このロボットシステムを生産システムに適用した場合の構成などにつき示しておく。
<Configuration of robot system>
Here, a specific configuration example of a multi-arm robot system controlled by the robot trajectory generated according to each of the above embodiments and a configuration when this robot system is applied to a production system will be shown.

図9は、ロボットアームA、Bのより具体的な構成例を模式的な図2よりも詳細に示したものである。図9において、ロボットアーム1001A、1001Bは、それぞれ上述のロボットアームA、Bに相当し、例えば6軸(関節)の垂直多関節形式の構成である。これら、ロボットアーム1001A、1001Bの各関節は、各関節を駆動するサーボモータをサーボ制御することによって所望の位置姿勢に制御することができる。 FIG. 9 shows a more specific configuration example of the robot arms A and B in more detail than the schematic FIG. In FIG. 9, robot arms 1001A and 1001B correspond to the above-described robot arms A and B, respectively, and have, for example, a 6-axis (joint) vertical multi-joint configuration. Each joint of these robot arms 1001A and 1001B can be controlled to a desired position and orientation by servo-controlling a servomotor that drives each joint.

ロボットアーム1001A、1001Bは、の先端(手先)には、例えばハンド202A、200Bのようなツールがそれぞれ装着されている。ロボットアーム1001A、1001Bは、ハンド202A、202Bによって、ワーク203A、203Bを把持し、これらのワークを組み付けたり、加工したりする生産作業を行うことができる。ワーク203A、203Bは、自動車や、電子機器、電機製品などの工業製品の例えば部品である。ロボットアーム1001A、1001Bを生産システム(生産ライン)に生産装置として配置することができる。 Tools such as hands 202A and 200B are attached to the tips (tips) of the robot arms 1001A and 1001B, respectively. Robot arms 1001A and 1001B can perform production work such as gripping works 203A and 203B with hands 202A and 202B and assembling and processing these works. The workpieces 203A and 203B are, for example, parts of industrial products such as automobiles, electronic equipment, and electric products. Robot arms 1001A and 1001B can be arranged in a production system (production line) as production devices.

ロボットアーム1001A、1001Bの動作は、ロボット制御装置200A、200B(ロボットコントローラ)によりそれぞれ制御される。ロボットアーム1001A、1001Bの動作は、ロボット制御装置200A、200Bに接続された操作端末204(例えばティーチングペンダント)によってプログラミング(教示)することもできる。例えば、操作端末204により教示点を順次指定することによって、ロボットアーム1001A、1001Bの特定部位(例えばTCP:アーム先端のツール装着面など)を所望の軌跡で移動させる動作をプログラミングすることができる。 The operations of the robot arms 1001A and 1001B are controlled by robot controllers 200A and 200B (robot controllers), respectively. The operations of the robot arms 1001A and 1001B can also be programmed (teached) by an operation terminal 204 (for example, a teaching pendant) connected to the robot controllers 200A and 200B. For example, by sequentially designating teaching points using the operation terminal 204, it is possible to program an operation to move specific parts of the robot arms 1001A and 1001B (for example, TCP: tool mounting surface at the tip of the arm) along a desired trajectory.

また、ネットワークNWを介して、ロボットアーム1001A、1001B、ないしロボット制御装置200A、200Bは、上記の軌道生成装置(図1のロボットシミュレータ)から、最適化された中間教示点ないし軌道データを受信することができる。これにより、最適化された中間教示点ないし軌道データで、ロボットアーム1001A、1001Bを生産システム(生産ライン)に生産装置として配置して動作させ、各アームにより物品を製造することができる。 In addition, the robot arms 1001A and 1001B and the robot controllers 200A and 200B receive optimized intermediate teaching points or trajectory data from the trajectory generator (robot simulator in FIG. 1) via the network NW. be able to. As a result, the robot arms 1001A and 1001B can be arranged as production devices in a production system (production line) and operated with the optimized intermediate teaching points or trajectory data, and an article can be manufactured by each arm.

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

1…演算処理部、2…操作部、3…記録部、4…表示部、A~C、1001A、1001B…ロボットアーム、1601…CPU、1602…ROM、1603…RAM、1604…外部記憶装置、NW…ネットワーク、Ob…障害物、PA1、PA2、PA3…(第1の)教示点群、PB1、PB2、PB3…(第1の)中間点群、PAnn、PAnnn…(第2の)中間点群、PBnn、PBnnn…(第2の)中間点群。 DESCRIPTION OF SYMBOLS 1... Arithmetic processing part, 2... Operation part, 3... Recording part, 4... Display part, A to C, 1001A, 1001B... Robot arm, 1601... CPU, 1602... ROM, 1603... RAM, 1604... External storage device, NW... network, Ob... obstacle, PA1, PA2, PA3... (first) taught point group, PB1, PB2, PB3... (first) intermediate point group, PAnn, PAnn... (second) intermediate point Group, PBnn, PBnnn... (second) intermediate point group.

Claims (32)

第1位置から第2位置までの間で第1ロボットを動作させる第1軌道、およびまたは前記第1ロボットとは異なる第2ロボットを、第3位置から第4位置までの間で動作させる第2軌道と、更新する情報処理方法において、
前記第1軌道を更新する場合、前記第1位置、前記第2位置、前記第1位置から前記第2位置までの間で前記第1ロボットが通過する第1中間位置、のうち少なくとも1つの位置における第1時間情報を変化させて、前記第1軌道を更新し
前記第2軌道を更新する場合、前記第3位置、前記第4位置、前記第3位置から前記第4位置までの間で前記第2ロボットが通過する第2中間位置、のうち少なくとも1つの位置における第2時間情報を変化させて、前記第2軌道を更新し、
前記第1軌道およびまたは前記第2軌道を更新する際、前記第1ロボットが前記第1位置、前記第2位置、前記第1中間位置のうち少なくとも1つの位置に、前記第2ロボットが前記第3位置、前記第4位置、前記第2中間位置のうち少なくとも1つの位置に到達するよりも先に到達する、ことを条件として更新する、
ことを特徴とする情報処理方法。
A first trajectory that moves a first robot between a first position and a second position and/or a second robot that moves a second robot that is different from the first robot between a third position and a fourth position. In an information processing method for updating a trajectory ,
When updating the first trajectory, at least one of the first position, the second position, and a first intermediate position through which the first robot passes between the first position and the second position. updating the first trajectory by changing the first time information in
When updating the second trajectory, at least one of the third position, the fourth position, and a second intermediate position between the third position and the fourth position through which the second robot passes. updating the second trajectory by changing the second time information in
When updating the first trajectory and/or the second trajectory, the first robot is at least one of the first position, the second position, and the first intermediate position, and the second robot is at the first position. update on the condition that at least one of the three positions, the fourth position, and the second intermediate position is reached before it is reached;
An information processing method characterized by:
請求項に記載の情報処理方法において、
前記第1時間情報は、前記第1ロボットにおける第1停止時間であり、
前記第2時間情報は、前記第2ロボットにおける第2停止時間である、
ことを特徴とする情報処理方法。
In the information processing method according to claim 1 ,
the first time information is a first stop time of the first robot;
wherein the second time information is a second stop time of the second robot;
An information processing method characterized by:
請求項に記載の情報処理方法において、
前記第1停止時間は、前記第1ロボットを、前記第1位置、前記第2位置、前記第1中間位置、のうち少なくとも1つの位置において停止を維持する時間であり、
前記第2停止時間は、前記第2ロボットを、前記第3位置、前記第4位置、前記第2中間位置、のうち少なくとも1つの位置において停止を維持する時間である、
ことを特徴とする情報処理方法。
In the information processing method according to claim 2 ,
the first stop time is a time during which the first robot remains stopped at at least one of the first position, the second position, and the first intermediate position;
The second stop time is a time during which the second robot remains stopped at at least one of the third position, the fourth position, and the second intermediate position.
An information processing method characterized by:
請求項2または3に記載の情報処理方法において、
前記第1時間情報または前記第2時間情報に乱数値を用いることで前記第1軌道およびまたは前記第2軌道を更新する、
ことを特徴とする情報処理方法。
In the information processing method according to claim 2 or 3 ,
updating the first trajectory and/or the second trajectory by using a random value for the first time information or the second time information;
An information processing method characterized by:
請求項に記載の情報処理方法において、
前記乱数値は、多変量正規分布を用いて発生させる、
ことを特徴とする情報処理方法。
In the information processing method according to claim 4 ,
The random values are generated using a multivariate normal distribution;
An information processing method characterized by:
請求項またはに記載の情報処理方法において、
前記乱数値の範囲は、前記第1軌道または前記第2軌道の取得回数の増加に従い小さくなる、
ことを特徴とする情報処理方法。
In the information processing method according to claim 4 or 5 ,
the range of the random values becomes smaller as the number of acquisitions of the first trajectory or the second trajectory increases;
An information processing method characterized by:
請求項からのいずれか1項に記載の情報処理方法において、
前記乱数値は、前記第1時間情報およびまたは前記第2時間情報を変化させる際に与えられる変位量である、
ことを特徴とする情報処理方法。
In the information processing method according to any one of claims 4 to 6 ,
The random value is a displacement amount given when changing the first time information and /or the second time information,
An information processing method characterized by:
請求項からのいずれか1項に記載の情報処理方法において、
前記第1軌道およびまたは前記第2軌道を更新する際、前記第1ロボットと前記第2ロボットとが干渉しない、ことを条件として取得する、
ことを特徴とする情報処理方法。
In the information processing method according to any one of claims 1 to 7 ,
When updating the first trajectory and /or the second trajectory, the first robot and the second robot do not interfere with each other.
An information processing method characterized by:
請求項からのいずれか1項に記載の情報処理方法において、
更新した前記第1軌道およびまたは前記第2軌道を所定条件に基づき評価し、
前記評価に基づき、前記第1軌道およびまたは前記第2軌道を更新する、
ことを特徴とする情報処理方法。
In the information processing method according to any one of claims 1 to 8 ,
evaluating the updated first trajectory and /or the second trajectory based on a predetermined condition;
updating the first trajectory and/or the second trajectory based on the evaluation;
An information processing method characterized by:
請求項に記載の情報処理方法において、
前記第1ロボットと前記第2ロボットと周辺物との干渉量に基づき前記評価を行う、
ことを特徴とする情報処理方法。
In the information processing method according to claim 9 ,
performing the evaluation based on the amount of interference between the first robot, the second robot , and surrounding objects;
An information processing method characterized by:
請求項1に記載の情報処理方法において、
前記干渉量が小さくなるように、前記第1中間位置と前記第2中間位置と前記第1時間情報と前記第2時間情報とを変更することで前記第1軌道およびまたは前記第2軌道を更新する
ことを特徴とする情報処理方法。
In the information processing method according to claim 10,
The first trajectory and/or the second trajectory are updated by changing the first intermediate position, the second intermediate position, the first time information, and the second time information so that the interference amount becomes small. do
An information processing method characterized by:
請求項1に記載の情報処理方法において、
前記干渉量が0になった場合、前記第1軌道およびまたは前記第2軌道の更新を打ち切る、
ことを特徴とする情報処理方法。
In the information processing method according to claim 11 ,
When the interference amount becomes 0, discontinue updating the first trajectory and/or the second trajectory ;
An information processing method characterized by:
請求項1から1のいずれか1項に記載の情報処理方法において、
前記干渉量は、前記第1ロボットと前記第2ロボット、およびまたは前記第1ロボットと前記周辺物、およびまたは前記第2ロボットと前記周辺物が同一の空間を占める干渉時間、または干渉距離である、
ことを特徴とする情報処理方法。
In the information processing method according to any one of claims 10 to 12,
The amount of interference is an interference time or an interference distance in which the first robot and the second robot, or the first robot and the surrounding object, or the second robot and the surrounding object occupy the same space. ,
An information processing method characterized by:
請求項に記載の情報処理方法において、
前記第1ロボットが前記第1軌道によって実行される動作と、前記第2ロボットが前記第2軌道によって実行される動作との所要時間に基づき前記評価を行う、
ことを特徴とする情報処理方法。
In the information processing method according to claim 9 ,
performing the evaluation based on the required time between the operation performed by the first robot according to the first trajectory and the operation performed by the second robot according to the second trajectory;
An information processing method characterized by:
請求項1に記載の情報処理方法において、
前記所要時間が小さくなるように前記第1中間位置と前記第2中間位置と前記第1時間情報と前記第2時間情報とを変更することで前記第1軌道およびまたは前記第2軌道を更新する
ことを特徴とする情報処理方法。
In the information processing method according to claim 1-4 ,
updating the first trajectory and/or the second trajectory by changing the first intermediate position, the second intermediate position, the first time information, and the second time information so that the required time becomes shorter; ,
An information processing method characterized by:
請求項1に記載の情報処理方法において、
前記所要時間が、所定基準を満たす場合に、前記第1軌道およびまたは前記第2軌道の更新を打ち切る、
ことを特徴とする情報処理方法。
In the information processing method according to claims 1 to 5 ,
Aborting updating of the first trajectory and/or the second trajectory if the duration satisfies a predetermined criterion;
An information processing method characterized by:
請求項1に記載の情報処理方法において、
前記所定基準は、前記所要時間が最短時間と判定される時間となった場合である、
ことを特徴とする情報処理方法。
In the information processing method according to claim 1 to 6 ,
The predetermined criterion is when the required time is determined to be the shortest time,
An information processing method characterized by:
請求項1または1に記載の情報処理方法において、
前記第1軌道およびまたは前記第2軌道の更新の回数が増加するに従い、前記第1中間位置と前記第2中間位置と前記第1時間情報と前記第2時間情報とを変更する際の変化量を小さくする、
ことを特徴とする情報処理方法。
In the information processing method according to claim 1-1 or 1-5 ,
Amount of change when changing the first intermediate position, the second intermediate position, the first time information, and the second time information as the number of updates of the first trajectory and/or the second trajectory increases. to be smaller,
An information processing method characterized by:
請求項または1または1に記載の情報処理方法において、
前記第1軌道およびまたは前記第2軌道の更新の回数が所定回数に達した場合、または前記第1軌道およびまたは前記第2軌道の評価において評価値が連続して変化しない回数が所定回数に達した場合、前記第1軌道およびまたは前記第2軌道の更新を打ち切る、
ことを特徴とする情報処理方法。
In the information processing method according to claim 9 or 1-1 or 1-5 ,
When the number of updates of the first trajectory and/or the second trajectory reaches a predetermined number of times, or the number of times the evaluation value does not continuously change in the evaluation of the first trajectory and/or the second trajectory reaches a predetermined number of times. if so, abort updating the first trajectory and/or the second trajectory ;
An information processing method characterized by:
請求項から19のいずれか1項に記載の情報処理方法において、
前記第1軌道および前記第2軌道の更新において、前記第1位置、前記第2位置、前記第3位置、前記第4位置、前記第1中間位置、前記第2中間位置に基づき、曲線補間により更新する、
ことを特徴とする情報処理方法。
In the information processing method according to any one of claims 1 to 19 ,
In updating the first trajectory and the second trajectory, by curve interpolation based on the first position, the second position, the third position, the fourth position, the first intermediate position, and the second intermediate position update ,
An information processing method characterized by:
請求項2に記載の情報処理方法において、
前記曲線補間は、Spline補間、B-Spline補間、ベジェ曲線補間、のうち少なくとも1つである、
ことを特徴とする情報処理方法。
In the information processing method according to claim 20,
The curve interpolation is at least one of Spline interpolation, B-Spline interpolation, and Bezier curve interpolation.
An information processing method characterized by:
請求項から2のいずれか1項に記載の情報処理方法において、
前記第1軌道および前記第2軌道の更新において、前記第1ロボットおよび前記第2ロボットに関する関節トルク制約、関節角速度制約、関節角加速度制約、ジャーク制約、手先速度制約、ないし手先加速度制約のうち少なくとも1つを満たすように取得する、
ことを特徴とする情報処理方法。
In the information processing method according to any one of claims 1 to 21,
In updating the first trajectory and the second trajectory, at least joint torque constraint, joint angular velocity constraint, joint angular acceleration constraint, jerk constraint, hand velocity constraint, or hand acceleration constraint for the first robot and the second robot get to meet one,
An information processing method characterized by:
第1位置から第2位置までの間で第1ロボットを動作させる第1軌道、およびまたは前記第1ロボットとは異なる第2ロボットを、第3位置から第4位置までの間で動作させる第2軌道と、更新する情報処理装置において、
前記第1軌道を更新する場合、前記第1位置、前記第2位置、前記第1位置から前記第2位置までの間で前記第1ロボットが通過する第1中間位置、のうち少なくとも1つの位置における第1時間情報を変化させて、前記第1軌道を更新し
前記第2軌道を更新する場合、前記第3位置、前記第4位置、前記第3位置から前記第4位置までの間で前記第2ロボットが通過する第2中間位置、のうち少なくとも1つの位置における第2時間情報を変化させて、前記第2軌道を更新し、
前記第1軌道およびまたは前記第2軌道を更新する際、前記第1ロボットが前記第1位置、前記第2位置、前記第1中間位置のうち少なくとも1つの位置に、前記第2ロボットが前記第3位置、前記第4位置、前記第2中間位置のうち少なくとも1つの位置に到達するよりも先に到達する、ことを条件として更新する、
ことを特徴とする情報処理装置。
A first trajectory that moves a first robot between a first position and a second position and/or a second robot that moves a second robot that is different from the first robot between a third position and a fourth position. In the information processing device that updates the trajectory ,
When updating the first trajectory, at least one of the first position, the second position, and a first intermediate position through which the first robot passes between the first position and the second position. updating the first trajectory by changing the first time information in
When updating the second trajectory, at least one of the third position, the fourth position, and a second intermediate position between the third position and the fourth position through which the second robot passes. updating the second trajectory by changing the second time information in
When updating the first trajectory and/or the second trajectory, the first robot is at least one of the first position, the second position, and the first intermediate position, and the second robot is at the first position. update on the condition that at least one of the three positions, the fourth position, and the second intermediate position is reached before it is reached;
An information processing device characterized by:
請求項2に記載の情報処理装置と、前記第1ロボットと、前記第2ロボット、とを含む、ロボットシステム。 A robot system comprising the information processing device according to claim 2 or 3 , the first robot , and the second robot . 請求項2に記載のロボットシステムを用いて物品の製造を行うことを特徴とする物品の製造方法 25. A method of manufacturing an article, wherein the article is manufactured using the robot system according to claim 24 . 第1位置から第2位置までの間でロボットを動作させる軌道を更新する情報処理装置において、
前記第1位置、前記第2位置、前記第1位置から前記第2位置までの間で前記ロボットが通過する中間位置、のうち少なくとも1つの位置における時間情報を変化させて、前記軌道を更新し
前記時間情報の変化の方法を設定できる、
ことを特徴とする情報処理装置。
In an information processing device that updates a trajectory for operating a robot between a first position and a second position,
The trajectory is updated by changing time information at at least one of the first position, the second position, and an intermediate position through which the robot passes between the first position and the second position. ,
A method of changing the time information can be set,
An information processing device characterized by:
第1位置から第2位置までの間でロボットを動作させる軌道を更新する情報処理装置において、 In an information processing device that updates a trajectory for operating a robot between a first position and a second position,
前記第1位置、前記第2位置、前記第1位置から前記第2位置までの間で前記ロボットが通過する中間位置、のうち少なくとも1つの位置における時間情報を変化させて、前記軌道を更新し、 The trajectory is updated by changing time information at at least one of the first position, the second position, and an intermediate position through which the robot passes between the first position and the second position. ,
前記時間情報の変化の方法を設定できる、 A method of changing the time information can be set,
ことを特徴とする情報処理方法。 An information processing method characterized by:
第1位置から第2位置までの間でロボットを動作させる軌道を更新する情報処理装置において、
前記第1位置、前記第2位置、前記第1位置から前記第2位置までの間で前記ロボットを通過させる中間位置、のうち少なくとも1つの位置における時間情報を変化させて、前記軌道を更新する際における前記時間情報の初期値を設定でき、
前記時間情報として、前記ロボットを、前記第1位置、前記第2位置、前記中間位置、の少なくとも1つの位置において停止を維持する停止時間を設定でき、
前記停止時間を、前記第1位置、前記第2位置、前記中間位置、のそれぞれに設定できる、
ことを特徴とする情報処理装置。
In an information processing device that updates a trajectory for operating a robot between a first position and a second position,
The trajectory is updated by changing time information at at least one of the first position, the second position, and an intermediate position through which the robot passes between the first position and the second position. can set the initial value of the time information when
as the time information, a stop time for maintaining the robot at least one of the first position, the second position, and the intermediate position can be set;
The stop time can be set to each of the first position, the second position, and the intermediate position.
An information processing device characterized by:
請求項28に記載の情報処理装置において、 In the information processing device according to claim 28,
前記停止時間は0秒を含む、 the stop time includes 0 seconds;
ことを特徴とする情報処理装置。 An information processing device characterized by:
第1位置から第2位置までの間でロボットを動作させる軌道を更新する情報処理方法において、 In an information processing method for updating a trajectory for operating a robot between a first position and a second position,
前記第1位置、前記第2位置、前記第1位置から前記第2位置までの間で前記ロボットを通過させる中間位置、のうち少なくとも1つの位置における時間情報を変化させて、前記軌道を更新する際における前記時間情報の初期値を設定でき、 The trajectory is updated by changing time information at at least one of the first position, the second position, and an intermediate position through which the robot passes between the first position and the second position. can set the initial value of the time information when
前記時間情報として、前記ロボットを、前記第1位置、前記第2位置、前記中間位置、の少なくとも1つの位置において停止を維持する停止時間を設定でき、 as the time information, a stop time for maintaining the robot at least one of the first position, the second position, and the intermediate position can be set;
前記停止時間を、前記第1位置、前記第2位置、前記中間位置、のそれぞれに設定できる、 The stop time can be set to each of the first position, the second position, and the intermediate position.
ことを特徴とする情報処理方法。 An information processing method characterized by:
請求項1から2のいずれか1項に記載の情報処理方法、または請求項27に記載情報処理方法、または請求項30に記載の情報処理方法を実行可能なプログラム。 A program capable of executing the information processing method according to any one of claims 1 to 22, the information processing method according to claim 27, or the information processing method according to claim 30 . 請求項31に記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。 A computer-readable recording medium storing the program according to claim 31 .
JP2018178064A 2018-02-05 2018-09-21 Information processing method, program, recording medium, information processing device, robot system, article manufacturing method Active JP7210201B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018178064A JP7210201B2 (en) 2018-09-21 2018-09-21 Information processing method, program, recording medium, information processing device, robot system, article manufacturing method
US16/257,748 US11458626B2 (en) 2018-02-05 2019-01-25 Trajectory generating method, and trajectory generating apparatus
CN201910101556.2A CN110116405B (en) 2018-02-05 2019-02-01 Trajectory generation method and trajectory generation device
US17/822,229 US20220402132A1 (en) 2018-02-05 2022-08-25 Trajectory generating method, and trajectory generating apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018178064A JP7210201B2 (en) 2018-09-21 2018-09-21 Information processing method, program, recording medium, information processing device, robot system, article manufacturing method

Publications (3)

Publication Number Publication Date
JP2020049554A JP2020049554A (en) 2020-04-02
JP2020049554A5 JP2020049554A5 (en) 2021-11-04
JP7210201B2 true JP7210201B2 (en) 2023-01-23

Family

ID=69995003

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018178064A Active JP7210201B2 (en) 2018-02-05 2018-09-21 Information processing method, program, recording medium, information processing device, robot system, article manufacturing method

Country Status (1)

Country Link
JP (1) JP7210201B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7474681B2 (en) 2020-11-10 2024-04-25 株式会社安川電機 PROGRAM GENERATION SYSTEM, ROBOT SYSTEM, PROGRAM GENERATION METHOD, AND GENERATION PROGRAM
JP2023125754A (en) * 2022-02-28 2023-09-07 株式会社日立製作所 Trajectory planning device and trajectory planning method
CN114851211B (en) * 2022-07-07 2022-09-23 国网瑞嘉(天津)智能机器人有限公司 Method, device, server and storage medium for planning track of boom

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001273022A (en) 2000-03-24 2001-10-05 Nkk Corp Control device and control method
US20050273200A1 (en) 2004-06-08 2005-12-08 Gerhard Hietmann Process for protecting a robot from collisions
JP2015208811A (en) 2014-04-25 2015-11-24 ファナック株式会社 Simulation device of a plurality of robots
WO2018092860A1 (en) 2016-11-16 2018-05-24 三菱電機株式会社 Interference avoidance device
JP2018144223A (en) 2017-03-06 2018-09-20 キヤノン株式会社 Teaching method for teaching motion to plurality of robots and teaching device to be used in the same

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04201081A (en) * 1990-11-29 1992-07-22 Honda Motor Co Ltd Control unit for robot
JPH10260714A (en) * 1997-03-21 1998-09-29 Nissan Motor Co Ltd Robot interference area setting program preparing method
US8700307B1 (en) * 2013-03-04 2014-04-15 Mitsubishi Electric Research Laboratories, Inc. Method for determining trajectories manipulators to avoid obstacles

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001273022A (en) 2000-03-24 2001-10-05 Nkk Corp Control device and control method
US20050273200A1 (en) 2004-06-08 2005-12-08 Gerhard Hietmann Process for protecting a robot from collisions
JP2015208811A (en) 2014-04-25 2015-11-24 ファナック株式会社 Simulation device of a plurality of robots
WO2018092860A1 (en) 2016-11-16 2018-05-24 三菱電機株式会社 Interference avoidance device
JP2018144223A (en) 2017-03-06 2018-09-20 キヤノン株式会社 Teaching method for teaching motion to plurality of robots and teaching device to be used in the same

Also Published As

Publication number Publication date
JP2020049554A (en) 2020-04-02

Similar Documents

Publication Publication Date Title
US20220402132A1 (en) Trajectory generating method, and trajectory generating apparatus
JP7158862B2 (en) Information processing method and information processing device
JP6576255B2 (en) Robot trajectory generation method, robot trajectory generation apparatus, and manufacturing method
KR101667031B1 (en) Path planning apparatus of robot and method thereof
US11813753B2 (en) Collision avoidance motion planning method for industrial robot
JP7210201B2 (en) Information processing method, program, recording medium, information processing device, robot system, article manufacturing method
US20110224815A1 (en) Industrial Robot And Path Planning Method For Controlling The Movement Of An Industrial Robot
KR20120073616A (en) Path planning apparatus of robot and method thereof
US11433537B2 (en) Automatic path generation device
US20220063099A1 (en) Framework of robotic online motion planning
JP2023540169A (en) Robot joint space graph path planning and movement execution
JP6750909B2 (en) Robot trajectory generation method, robot trajectory generation apparatus, and manufacturing method
JP7237447B2 (en) Information processing method, program, recording medium, information processing device, robot system, and article manufacturing method
CN108908347A (en) One kind is towards redundancy mobile mechanical arm error-tolerance type repetitive motion planning method
JP2012157955A (en) Device and method for controlling movement, and computer program
CN109015657A (en) A kind of final state network optimized approach towards redundant mechanical arm repeating motion planning
Byl et al. Algorithmic optimization of inverse kinematics tables for high degree-of-freedom limbs
JP2021169149A (en) Disassembly based assembly planning
Tang et al. Coordinated motion planning of dual-arm space robot with deep reinforcement learning
Wang et al. Path planning optimization for teaching and playback welding robot
JP6862849B2 (en) Arithmetic logic units, arithmetic methods, arithmetic programs and robot systems
JP7060700B2 (en) Coordination system, handling equipment and method
Kawabe et al. A flexible collision-free trajectory planning for multiple robot arms by combining Q-learning and RRT
US20210245364A1 (en) Method And Control System For Controlling Movement Trajectories Of A Robot
Salmaninejad et al. Motion path planning of two robot arms in a common workspace

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200206

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210917

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210917

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220922

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230111

R151 Written notification of patent or utility model registration

Ref document number: 7210201

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151