JP2019135076A - Locus generation method and device - Google Patents

Locus generation method and device Download PDF

Info

Publication number
JP2019135076A
JP2019135076A JP2018018583A JP2018018583A JP2019135076A JP 2019135076 A JP2019135076 A JP 2019135076A JP 2018018583 A JP2018018583 A JP 2018018583A JP 2018018583 A JP2018018583 A JP 2018018583A JP 2019135076 A JP2019135076 A JP 2019135076A
Authority
JP
Japan
Prior art keywords
trajectory
teaching point
robot arm
intermediate teaching
point group
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.)
Granted
Application number
JP2018018583A
Other languages
Japanese (ja)
Other versions
JP7158862B2 (en
JP2019135076A5 (en
Inventor
弦 木村
Gen Kimura
弦 木村
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=67623992&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2019135076(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority to JP2018018583A priority Critical patent/JP7158862B2/en
Application filed by Canon Inc filed Critical Canon Inc
Priority to US16/257,748 priority patent/US11458626B2/en
Priority to CN201910101556.2A priority patent/CN110116405B/en
Publication of JP2019135076A publication Critical patent/JP2019135076A/en
Publication of JP2019135076A5 publication Critical patent/JP2019135076A5/en
Priority to US17/822,229 priority patent/US20220402132A1/en
Priority to JP2022163661A priority patent/JP7439206B2/en
Publication of JP7158862B2 publication Critical patent/JP7158862B2/en
Application granted granted Critical
Priority to JP2024018550A priority patent/JP2024040344A/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
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

To provide a locus generation method and device capable of satisfying a constraint condition to a robot operation and surely generating an optimal locus.SOLUTION: The locus generation method and device are configured to apply displacement to first intermediate teaching point groups between a start teaching point and a target teaching point of a locus on which a robot arm (A) is operated, and generate second intermediate teaching point groups (S102), then, generate a locus of the robot arm (A) based on the second intermediate teaching point groups (S103), then generate an evaluation value of each second intermediate teaching point group and a locus thereof (S107), then move the first intermediate teaching point group based on the evaluation values (S108), repeat these processes, then determine the first intermediate teaching point group satisfying the prescribed condition, as an intermediate teaching point group used for generating the locus on which the robot arm is operated (S110).SELECTED DRAWING: Figure 4

Description

本発明はロボットアームの軌道を生成する軌道生成方法および軌道生成装置に関するものである。   The present invention relates to a trajectory generation method and a trajectory generation apparatus for generating a trajectory of a robot arm.

従来より、自動車や電機製品などの工業製品の生産システム(生産ライン)に、産業用のロボット装置を配置して溶接や組み立てなどの作業を自動化する構成が知られている。この種の生産システムでは、ロボット装置、ワーク、ワークの置き台、冶具、その他周辺機器などが互いに干渉(接触、衝突)する可能性がある状態で配置される。近年では、このような生産システムのロボット装置のアームの動作軌道の設計作業において、仮想環境を用いたシミュレーションが利用されることがある。   2. Description of the Related Art Conventionally, a configuration is known in which an industrial robot apparatus is arranged in an industrial product production system (production line) such as an automobile or an electric product to automate operations such as welding and assembly. In this type of production system, a robot apparatus, a workpiece, a workpiece table, a jig, and other peripheral devices are arranged in a state where there is a possibility of mutual interference (contact, collision). In recent years, a simulation using a virtual environment is sometimes used in the design work of the motion trajectory of the arm of the robot apparatus of such a production system.

オフラインでシミュレータ装置を使用してロボット装置の動作シミュレーションを行う場合、仮想環境中にロボットアーム、ワーク置き台、冶具、その他の周辺機器などの3D(3次元)モデルを配置する。例えば、このようなシミュレータ装置では、予め作成したロボットアームの教示点の間の軌道を生成し、また、その軌道で仮想環境中のロボットアームの3Dモデルを動作させるシミュレーションを行って検証するものがある。ロボットアームモデルが動作する様子は、シミュレータ装置のディスプレイの仮想表示画面に動画形式などによって表示することができる。   When performing an operation simulation of a robot apparatus offline using a simulator apparatus, a 3D (three-dimensional) model such as a robot arm, a work table, a jig, and other peripheral devices is arranged in a virtual environment. For example, in such a simulator device, a trajectory between teaching points of a robot arm created in advance is generated, and a simulation for operating a 3D model of the robot arm in a virtual environment on the trajectory is performed for verification. is there. The operation of the robot arm model can be displayed in a moving image format or the like on the virtual display screen of the display of the simulator device.

当然ながら、ロボットアームの動作軌道によってシミュレーション結果は大きく異なってくる。ロボットアームの軌道が不適切であれば、ロボットアームの動作軌道の一部がロボットアームの動作不可能な領域に入ったり、ロボットアームが他の物体と干渉したり、無駄な動作によって、サイクルタイムが遅くなる場合がある。   Naturally, the simulation results vary greatly depending on the motion trajectory of the robot arm. If the robot arm trajectory is inadequate, part of the robot arm motion trajectory may be in an inoperable area of the robot arm, the robot arm may interfere with other objects, or useless motion may cause cycle time. May be slow.

旧来の手法では、ロボットアームが動作不可能な領域に入ったり、周辺機器とロボットアームが干渉したりしないという条件を満たすロボットアームの教示点をオペレータが画面上で試行錯誤的に作成していた。その場合、可動である、干渉しない、という条件がまず考慮されるため、必ずしも最適な動作速度で動作できるロボット軌道が生成されず、サイクルタイムが遅くなってしまう場合があった。その場合には、ロボットアームの教示点を再検討して設置し直す手動作業を行う必要があった。   In the conventional method, the operator created the teaching points of the robot arm on the screen on a trial and error basis that satisfies the condition that the robot arm does not enter the inoperable area or the peripheral device does not interfere with the robot arm. . In that case, since the conditions of being movable and not interfering are first considered, there is a case where a robot trajectory that can operate at an optimal operation speed is not necessarily generated, and the cycle time may be delayed. In that case, it was necessary to perform manual work to reexamine the teaching points of the robot arm and re-install it.

また、一方で、生産システム(ライン)でロボット装置を用いる場合、工程設計者の教示点作成の工数が大きいので、人件費の高騰も問題となっている。そこで、近年では、教示者による直接教示に代わって、計算機を用いてロボットアームの教示作業を効率化する方法や装置が提案されている。   On the other hand, when a robot apparatus is used in a production system (line), since the man-hour for creating teaching points by the process designer is large, the labor cost is also a problem. Therefore, in recent years, a method and an apparatus for improving the efficiency of teaching work of a robot arm using a computer have been proposed in place of direct teaching by a teacher.

下記の非特許文献1では、ロボットアームの周りの障害物との干渉を回避し、なおかつロボットアームの関節に用いるモータのトルクを最小にする軌道の生成方法が開示されている。図8は、非特許文献1におけるロボットアームの軌道生成の手法を概略的に示している。図8において、ロボットアームAは、J1、および、J2の2つの回転軸を持つ2自由度に簡略化されたロボットアームで、Obは障害物を示している。   The following Non-Patent Document 1 discloses a method for generating a trajectory that avoids interference with obstacles around the robot arm and minimizes the torque of the motor used for the joint of the robot arm. FIG. 8 schematically shows a method for generating the trajectory of the robot arm in Non-Patent Document 1. In FIG. 8, a robot arm A is a robot arm that is simplified to two degrees of freedom having two rotation axes J1 and J2, and Ob represents an obstacle.

図8において、p1、p2…p9は、それぞれロボットアームAの手先(TCP:Tool Center Point)を移動させる位置を示している。これらの位置のうち、p1は動作の開始位置(開始教示点)を、p9は動作の目標位置(目標教示点)をそれぞれ示している。また、p2〜p8は、開始位置(p1)と、目標位置(p9)の間に配置される中間指令値を示している。例えば、制御周期ごとに、p1、p2…p9の姿勢を、ロボットアームAに順に指令し、p1からp9に到達する動作を行わせることができる。この場合、開始位置(p1)と、目標位置(p9)との間のロボットアームの動作時間は、制御周期×(9−1)と計算される。非特許文献1の場合、中間指令値(p2〜p8)の数は、あらかじめ定数として決定されており、この場合は7個である。図8では、p4、p5において、ロボットアームと障害物Obが干渉しているが、以下の方法によって干渉回避の可能な軌道を生成することができる。   In FIG. 8, p1, p2,..., P9 indicate positions where the hand of the robot arm A (TCP: Tool Center Point) is moved. Of these positions, p1 indicates the start position (start teaching point) of the motion, and p9 indicates the target position (target teaching point) of the motion. Moreover, p2-p8 has shown the intermediate command value arrange | positioned between a starting position (p1) and a target position (p9). For example, for each control cycle, the postures p1, p2,..., P9 can be instructed in order to the robot arm A, and an operation of reaching p9 from p1 can be performed. In this case, the operation time of the robot arm between the start position (p1) and the target position (p9) is calculated as control cycle × (9-1). In the case of Non-Patent Document 1, the number of intermediate command values (p2 to p8) is determined as a constant in advance, and in this case is seven. In FIG. 8, the robot arm and the obstacle Ob interfere with each other at p4 and p5, but a trajectory capable of avoiding interference can be generated by the following method.

まず、中間指令値p2、p3、…p8に相当する関節角度に対し、滑らかに変位を与え、新たな中間指令値ri2、ri3、…ri8(i = 1、…N)をN個生成する。次に、中間指令値ri2、ri3、…ri8(i = 1、…N)の評価を行い、その評価値を元に、中間指令値p2、p3、…p8を変位させる処理を繰り返すことにより、軌道を最適化する。非特許文献1では、中間指令値の評価値として、ロボットアームAと障害物Obとのめり込み量、各関節軸に用いるモータトルクを用いている。このような評価値を用いることにより、ロボットアームAと、障害物Obが干渉せず、各関節軸に用いるモータトルクが過負荷状態にならない軌道を生成している。   First, the joint angle corresponding to the intermediate command values p2, p3,... P8 is smoothly displaced, and N new intermediate command values ri2, ri3,... Ri8 (i = 1,... N) are generated. Next, by evaluating the intermediate command values ri2, ri3,... Ri8 (i = 1,... N) and repeating the process of displacing the intermediate command values p2, p3,. Optimize the trajectory. In Non-Patent Document 1, as the evaluation value of the intermediate command value, the amount of engagement between the robot arm A and the obstacle Ob and the motor torque used for each joint axis are used. By using such an evaluation value, a trajectory is generated in which the robot arm A and the obstacle Ob do not interfere with each other and the motor torque used for each joint axis does not become overloaded.

Kalakrishnan, Mrinal, et al. "STOMP: Stochastic trajectory optimization for motion planning." Robotics and Automation (ICRA), 2011 IEEE International Conference on IEEE, 2011.Kalakrishnan, Mrinal, et al. "STOMP: Stochastic trajectory optimization for motion planning." Robotics and Automation (ICRA), 2011 IEEE International Conference on IEEE, 2011.

上記のように、非特許文献1の技術では、ロボットアームAと、障害物Obが干渉せず、各関節軸に用いるモータトルクが過負荷状態にならない軌道を生成する。しかしながら、非特許文献1の技術では、中間指令値の個数は固定数であり、従って、開始教示点(p1)から目標教示点(p9)までの動作時間が固定されており、例えばアームの動作時間を最適化できない問題がある。また、動作時間が固定されると、各関節軸に用いるモータトルクの制約条件や、他の制約条件を満たすのが難しくなる。このような達成困難になるロボット動作に関する制約条件には、例えば関節軸トルク、関節角速度、関節角加速度や加加速度、手先速度や手先加速度に関する制約条件が含まれる。即ち、非特許文献1に記載されるような従来技術では、次のような問題がある。即ち、中間指令値の個数が少なすぎる領域では、ロボット動作に関する制約条件を満たす保証がなく、逆に、中間指令値の個数が多すぎる領域では、動作時間が最適な軌道を得られない。   As described above, the technique of Non-Patent Document 1 generates a trajectory in which the robot arm A and the obstacle Ob do not interfere with each other and the motor torque used for each joint shaft is not overloaded. However, in the technique of Non-Patent Document 1, the number of intermediate command values is a fixed number, and therefore the operation time from the start teaching point (p1) to the target teaching point (p9) is fixed. There is a problem that time cannot be optimized. Further, when the operation time is fixed, it becomes difficult to satisfy the constraint condition of the motor torque used for each joint axis and other constraint conditions. Such constraint conditions related to robot operations that are difficult to achieve include, for example, constraint conditions related to joint axis torque, joint angular velocity, joint angular acceleration and jerk, and hand speed and hand acceleration. That is, the conventional technique described in Non-Patent Document 1 has the following problems. That is, in a region where the number of intermediate command values is too small, there is no guarantee that the constraint condition regarding the robot operation is satisfied. Conversely, in a region where the number of intermediate command values is too large, an optimal trajectory cannot be obtained.

本発明の課題は、上記の問題に鑑み、ロボット動作に関する制約条件を満たした最適な軌道を確実に生成できるようにすることにある。   In view of the above-described problems, an object of the present invention is to reliably generate an optimal trajectory that satisfies a constraint condition related to robot operation.

上記課題を解決するため、本発明においては、開始教示点および目標教示点の間でロボットアームを動作させる軌道を生成する軌道生成方法において、制御装置が、ロボットアームを動作させる軌道の開始教示点および目標教示点の間に配置された第1の中間教示点群に対して変位を与え、第2の中間教示点群を生成する中間教示点生成工程と、前記制御装置が、第2の中間教示点群に基づき、前記ロボットアームを模擬したロボットアームモデルを動作させる軌道を生成する軌道生成工程と、前記制御装置が、前記中間教示点生成工程において、前記第1の中間教示点群に対して異なる変位を与えて生成した複数の第2の中間教示点群から、前記軌道生成工程によりそれぞれ生成した複数の軌道に対する評価値を生成する評価工程と、前記制御装置が、前記評価工程で生成された複数の軌道に対する評価値に基づき前記第1の中間教示点群を移動させ、移動後の第1の中間教示点群に対して、前記中間教示点生成工程と、前記軌道生成工程と、前記評価工程と、を繰り返し実行し、所定の条件を満たす第1の中間教示点群を前記ロボットアームを動作させる軌道の生成に用いる中間教示点群として決定する軌道決定工程と、を含む構成を採用した。   In order to solve the above problems, in the present invention, in a trajectory generation method for generating a trajectory for operating a robot arm between a start teaching point and a target teaching point, the control device starts the trajectory starting teaching point for operating the robot arm. And an intermediate teaching point generation step of generating a second intermediate teaching point group by applying a displacement to the first intermediate teaching point group arranged between the target teaching points and the control device comprising: Based on the teaching point group, a trajectory generating step for generating a trajectory for operating the robot arm model simulating the robot arm, and the control device, in the intermediate teaching point generating step, for the first intermediate teaching point group An evaluation step for generating evaluation values for a plurality of trajectories respectively generated by the trajectory generation step from a plurality of second intermediate teaching point groups generated by giving different displacements; The control device moves the first intermediate teaching point group based on the evaluation values for the plurality of trajectories generated in the evaluation step, and generates the intermediate teaching point with respect to the first intermediate teaching point group after the movement. A first intermediate teaching point group satisfying a predetermined condition is determined as an intermediate teaching point group used for generating a trajectory for operating the robot arm. A configuration including an orbit determination step.

上記構成により、本発明によれば、ロボット動作に関する制約条件を満たした最適な軌道を確実に生成することができる。   With the above configuration, according to the present invention, it is possible to reliably generate an optimal trajectory that satisfies the constraints related to the robot operation.

本発明の実施形態に係る軌道生成装置の機能的な構成を示した説明図である。It is explanatory drawing which showed the functional structure of the track | orbit production | generation apparatus which concerns on embodiment of this invention. 本発明の実施形態に係るロボットアームにおける2軸構成を示した説明図である。It is explanatory drawing which showed the 2 axis | shaft structure in the robot arm which concerns on embodiment of this invention. 本発明の実施形態に係る教示点群と軌道を示した説明図である。It is explanatory drawing which showed the teaching point group and track | orbit concerning embodiment of this invention. 本発明の実施形態に係る軌道の最適化処理を説明するフローチャート図である。It is a flowchart figure explaining the optimization process of a track concerning an embodiment of the present invention. (a)〜(e)は本発明の実施形態に係る軌道の最適化処理を示した説明図である。(A)-(e) is explanatory drawing which showed the optimization process of the track | orbit based on embodiment of this invention. 本発明の実施形態に係る教示点群と軌道を示した説明図である。It is explanatory drawing which showed the teaching point group and track | orbit concerning embodiment of this invention. (a)〜(e)は本発明の実施形態に係る軌道の最適化処理を示した説明図である。(A)-(e) is explanatory drawing which showed the optimization process of the track | orbit based on embodiment of this invention. 従来技術による軌道制御の手法を示した説明図である。It is explanatory drawing which showed the method of the track control by a prior art. 本発明の実施形態に適用可能な制御装置の概略構成を示したブロック図である。It is the block diagram which showed schematic structure of the control apparatus applicable to embodiment of this invention. 本発明の実施形態に係る生産システムに配置可能なロボット装置を示した説明図である。It is explanatory drawing which showed the robot apparatus which can be arrange | positioned at the production system which concerns on embodiment of this invention.

以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す構成はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。   Hereinafter, embodiments for carrying out the present invention will be described with reference to the accompanying drawings. In addition, the structure shown below is an example to the last, For example, it can change suitably for those skilled in the art in the range which does not deviate from the meaning of this invention about a detailed structure. Moreover, the numerical value taken up by this embodiment is a reference numerical value, Comprising: This invention is not limited.

<実施形態1>
図1は本実施形態に係る軌道生成装置の構成を示している。なお、本実施形態では、本発明に係る軌道生成を行う装置を指して「軌道生成装置」というが、この軌道生成装置は、例えばロボットシミュレータ装置などの製品として提供されるものであってよい。
<Embodiment 1>
FIG. 1 shows a configuration of a trajectory generating apparatus according to this embodiment. In this embodiment, the trajectory generating apparatus according to the present invention is referred to as a “trajectory generating apparatus”, but the trajectory generating apparatus may be provided as a product such as a robot simulator apparatus.

図1の軌道生成装置は、演算処理部1、教示者などがデータ入力などを行うための操作部2、動作プログラムなどを記録する記録部3や、ロボットアームの動作軌道などを表示するための表示部4を備えている。この軌道生成装置は、例えばPC(パーソナルコンピュータ)のようなコンピュータハードウェアによって構成することができる。ここで、演算処理部1の具体的な構成例を図9に示す。   The trajectory generation device of FIG. 1 displays an arithmetic processing unit 1, an operation unit 2 for a teacher to input data, a recording unit 3 for recording an operation program, an operation trajectory of a robot arm, and the like. A display unit 4 is provided. The trajectory generation device can be configured by computer hardware such as a PC (personal computer). Here, a specific configuration example of the arithmetic processing unit 1 is shown in FIG.

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

図9の制御装置1000は、主制御手段としてのCPU1601、記憶装置としてのROM1602、およびRAM1603を備える。ROM1602には、後述する制御手順を実現するためのCPU1601の制御プログラムや定数情報などを格納しておくことができる。また、RAM1603は、後述する制御手順を実行する時にCPU1601のワークエリアなどとして使用される。   The control device 1000 in FIG. 9 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. The RAM 1603 is used as a work area for the CPU 1601 when executing a control procedure to be described later.

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

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

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

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

一般に、ロボットアームは、関節とリンクによって構成され、関節機構の形式には回転関節や直動関節の他、球関節などさまざまな種類がある。本実施形態においては、軌道を生成するロボットアームは、図2に示すようにリンクを回転関節によって結合した構成を有するものとする。   In general, a robot arm is composed of a joint and a link, and there are various types of joint mechanisms such as a rotary joint, a linear motion joint, and a ball joint. In the present embodiment, the robot arm that generates the trajectory has a configuration in which links are coupled by rotating joints as shown in FIG.

図2は、本実施形態において、軌道生成の対象となるロボットアームの例である。図2のロボットアームAは、説明を容易にするため、簡略化した構成で図示されている。   FIG. 2 is an example of a robot arm that is a target of trajectory generation in this embodiment. The robot arm A in FIG. 2 is shown in a simplified configuration for ease of explanation.

図2のロボットアームAは、2つの回転関節からなる2つの軸J1、J2を備えている。以下では、これら関節の軸J1、J2の関節角度(関節位置)は、それぞれθ1、θ2と表記する。また、軸J2の先端には、基準位置として、TCP(Tool Center Point)が定義される。本実施形態では、ロボットアームAの位置を定義する教示点は、このTCPの位置として表現される。また、生成するロボットアームAの軌道は、このTCPが移動する軌道として生成される。   The robot arm A in FIG. 2 includes two axes J1 and J2 made up of two rotary joints. Hereinafter, the joint angles (joint positions) of the axes J1 and J2 of these joints are denoted as θ1 and θ2, respectively. Further, a TCP (Tool Center Point) is defined as a reference position at the tip of the axis J2. In the present embodiment, the teaching point that defines the position of the robot arm A is expressed as the position of this TCP. The generated trajectory of the robot arm A is generated as a trajectory on which the TCP moves.

一般に、軸J1、J2の関節角度θ1、θ2が与えられた場合、運動学的な演算によりTCPの位置を取得でき、また、TCPの位置が与えられた場合、逆運動学的な演算によりTCPがその位置を取る時の軸J1、J2の関節角度θ1、θ2を取得できる。以下では、TCPに言及する場合、単に「手先」と呼ぶ場合がある。   Generally, when the joint angles θ1 and θ2 of the axes J1 and J2 are given, the position of the TCP can be obtained by kinematic calculation, and when the position of the TCP is given, the TCP position is obtained by inverse kinematic calculation. Can obtain the joint angles θ1, θ2 of the axes J1, J2 when taking the position. Hereinafter, when referring to TCP, it may be simply referred to as “hand”.

なお、ロボットアームAは、理解を容易にするため、ごく簡略化した構成として図示しているが、この構成は本発明を実施する形態に限定するものではない。例えば、当業者が本発明を実施する場合、ロボットアームAとしては、6軸多関節ロボットアームや、直動型のロボットアームの構成を用いることができる。そして、以下に示す本実施形態のロボットアームに係る制御系の構成や制御手順は、それらのロボットアームを用いる場合に容易に敷衍可能である。   The robot arm A is illustrated as a very simplified configuration for easy understanding, but this configuration is not limited to the embodiment for carrying out the present invention. For example, when a person skilled in the art implements the present invention, as the robot arm A, a 6-axis articulated robot arm or a direct-acting robot arm can be used. The configuration and control procedure of the control system related to the robot arm of the present embodiment shown below can be easily spread when using those robot arms.

次にロボットアームAの移動動作について説明する。ロボットアームAを移動させる場合、その移動の開始位置を示す教示点を開始教示点、目標位置を示す教示点を目標教示点という。ロボットアームAの教示点は、手先(TCP)の位置、姿勢もしくは、関節軸角度により決定することができる。また、逆運動学計算により、手先(TCP)の位置、姿勢は、各関節軸の関節角度に変換可能であり、逆に、(順)運動学計算により、各関節軸の関節角度は、手先の位置、姿勢に変換可能である。   Next, the movement operation of the robot arm A will be described. When the robot arm A is moved, the teaching point indicating the starting position of the movement is referred to as a starting teaching point, and the teaching point indicating the target position is referred to as a target teaching point. The teaching point of the robot arm A can be determined by the position, posture or joint axis angle of the hand (TCP). In addition, the position and posture of the hand (TCP) can be converted into the joint angle of each joint axis by inverse kinematic calculation, and conversely, the joint angle of each joint axis can be calculated by (forward) kinematic calculation. It is possible to convert to the position and posture.

ここで、開始教示点、目標教示点をそれぞれPs、Pgとする。また、開始教示点と、目標教示点の間に配置する教示点を、中間教示点と呼び、P1、P2、…、Pnと表現するものとする。また、P1、P2、…、Pnを総称する場合は、中間教示点群と呼ぶことがある。   Here, the starting teaching point and the target teaching point are Ps and Pg, respectively. In addition, the teaching point arranged between the starting teaching point and the target teaching point is called an intermediate teaching point and expressed as P1, P2,..., Pn. Further, when P1, P2,..., Pn are collectively referred to, they may be referred to as intermediate teaching point groups.

中間教示点群P1、P2、…Pnを曲線で滑らかに補間する方法として、Spline補間、B−Spline補間、ベジェ曲線補間といった補間方法が知られている。これらの補間方法を用い、教示点間を滑らかに繋ぐ経路を生成することにより、ロボットアームAを滑らかに動作させることができる。   Interpolation methods such as Spline interpolation, B-Spline interpolation, and Bezier curve interpolation are known as methods for smoothly interpolating the intermediate teaching point groups P1, P2,. Using these interpolation methods, the robot arm A can be operated smoothly by generating a path that smoothly connects the teaching points.

本明細書では、ロボットアームの「動作経路」、もしくは「経路」とは、速度などの時間的概念は含まないロボットアームの動作の軌跡を指す。また、ロボットアームの「動作軌道」、もしくは「軌道」とは、ロボットアームの上記の「(動作)経路」に加え、ロボットアームの動作速度の情報を持つ情報体を意味し、本明細書では上記の「(動作)経路」とは明確に区別して用いる。なお、ロボット制御技術では、「軌道」は、ある単位時間、例えばロボットコントローラの制御クロック周期ごとのロボットアームの関節(角度)の指令値データ列によって表現される場合もある。   In this specification, the “operation path” or “path” of the robot arm refers to a trajectory of the operation of the robot arm that does not include a temporal concept such as speed. In addition, the “motion trajectory” or “trajectory” of the robot arm means an information body having information on the motion speed of the robot arm in addition to the “(motion) path” of the robot arm. It is clearly distinguished from the above “(operation) path”. In the robot control technology, the “trajectory” may be expressed by a command value data string of joints (angles) of the robot arm for each unit time, for example, every control clock cycle of the robot controller.

上記の補間手法を用いて生成したロボットアームの経路に対し、速度情報を含めた軌道を生成する方法として、最短時間制御がある。最短時間制御を用いることにより、補間により生成した経路に基づき、ロボットアームの物理的な制約を守った上で、動作時間が最短になる軌道を求めることが可能となる。なお、最短時間制御は決まった経路上を通る上で、最短時間となる移動速度を求める技術であって、ロボットアームを動作させる経路はあくまで中間教示点群P1、P2、…Pnに依存する。ロボットアームの物理的な制約は、他にも、例えば、関節トルク制約、関節角速度制約、関節角加速度制約、ジャーク制約、手先速度制約、手先加速度制約を作用させることが考えられる。以下では、最短時間制御を用いて生成した軌道を、ある制御周期ごとのロボットアームの位置指令値の列として、p1、p2、…ptと表現する。   There is a shortest time control as a method for generating a trajectory including speed information for a path of a robot arm generated using the above-described interpolation method. By using the shortest time control, it is possible to obtain a trajectory having the shortest operation time based on the path generated by the interpolation while keeping the physical restrictions of the robot arm. Note that the shortest time control is a technique for obtaining a moving speed that takes the shortest time when passing along a predetermined route, and the route for operating the robot arm depends solely on the intermediate teaching point groups P1, P2,. Other physical constraints of the robot arm may include, for example, a joint torque constraint, a joint angular velocity constraint, a joint angular acceleration constraint, a jerk constraint, a hand speed constraint, and a hand acceleration constraint. In the following, the trajectory generated using the shortest time control is expressed as p1, p2,... Pt as a sequence of robot arm position command values for each control cycle.

図3は、ロボットアームA(を模擬する3Dモデル:ロボットアームモデル)、および障害物Ob(を模擬する3Dモデル:障害物モデル)がともに動作環境(仮想環境)に配置されている様子を示している。また、図3では、開始教示点Ps、目標教示点Pg、と、中間教示点群P1、P2、…Pnと、それにより生成される軌道(p1、p2、…pt)を示してある。   FIG. 3 shows a state in which the robot arm A (3D model simulating: robot arm model) and the obstacle Ob (3D model simulating: obstacle model) are both arranged in the operating environment (virtual environment). ing. 3 shows the start teaching point Ps, the target teaching point Pg, the intermediate teaching point groups P1, P2,... Pn, and the trajectory (p1, p2,... Pt) generated thereby.

図3に示した軌道(p1、p2、…pt)では、p4、p5において、ロボットアームAが障害物Obと干渉しており、この軌道では開始教示点Psから、目標教示点Pgまで移動ができない。本実施形態の目的は、開始教示点Psから、目標教示点Pgの間で、ロボットアームと障害物とが干渉しない(また他の制約条件も満たす)、最適な中間教示点群P1、P2、…Pnを求めることにある。なお、障害物Obは静止していると限定せず、移動している場合でも、軌道の最適化計算は可能である。   In the trajectory (p1, p2,... Pt) shown in FIG. 3, the robot arm A interferes with the obstacle Ob at p4 and p5, and the trajectory moves from the start teaching point Ps to the target teaching point Pg. Can not. The purpose of the present embodiment is to set the optimum intermediate teaching point groups P1, P2, and the like so that the robot arm and the obstacle do not interfere (and other constraints are satisfied) between the starting teaching point Ps and the target teaching point Pg. ... to find Pn. The obstacle Ob is not limited to be stationary, and the trajectory optimization calculation is possible even when the obstacle Ob is moving.

図4は、本実施形態による軌道生成方法の主要な制御手順を記載したフローチャートである。図4に示した制御手順は、CPU1601の制御プログラムとして、ROM1602(あるいは外部記憶装置1604など)に格納しておくことができる。また、図5は、図4の各ステップの制御手順を図3と同様の様式で示している。以下では、軌道生成および最適化は、ロボットアームAや障害物Obの3Dモデルに関して行うが、記述を簡略にするため、以下では、「3Dモデル」の明示を省略し、制御の対象がロボットアームAや障害物Obであるかの如く記載する場合がある。   FIG. 4 is a flowchart describing main control procedures of the trajectory generation method according to the present embodiment. The control procedure shown in FIG. 4 can be stored in the ROM 1602 (or the external storage device 1604) as a control program of the CPU 1601. FIG. 5 shows the control procedure of each step in FIG. 4 in the same manner as in FIG. In the following, the trajectory generation and optimization are performed with respect to the 3D model of the robot arm A and the obstacle Ob. However, in order to simplify the description, in the following, the “3D model” is omitted and the control target is the robot arm. It may be described as if it is A or an obstacle Ob.

図4のステップS100では、ロボットアームAが作業を行う作業空間での、ロボットアームAのモデルおよび、制約条件、開始教示点Ps、目標教示点Pgを入力する(図5(a))。これらの入力は、例えば操作部2や表示部4によって構成したユーザーインターフェースを介してユーザに行わせることができる。また、特に開始教示点Ps、目標教示点Pgは、表示部4上の仮想表示(GUI)を介して、ユーザに入力させる他、AI的な処理によって軌道生成を行う場合は、CPU1601が決定してもよい。   In step S100 of FIG. 4, the model of the robot arm A, the constraint condition, the start teaching point Ps, and the target teaching point Pg in the work space where the robot arm A performs work are input (FIG. 5A). These inputs can be performed by the user via a user interface configured by the operation unit 2 and the display unit 4, for example. In particular, the start teaching point Ps and the target teaching point Pg are input by the user via a virtual display (GUI) on the display unit 4, and the CPU 1601 determines when generating a trajectory by AI processing. May be.

上記のロボットアームAのモデルは、ロボットアームを構成する部品の設計情報であり、各リンクの慣性モーメント、質量、位置、姿勢、軸数などの情報を含む。また、制約条件とは、ロボットアームの物理的な制約を定義したもので、関節トルク制約、関節角速度制約、関節角加速度制約、ジャーク制約、手先速度制約、手先加速度制約などを含む。   The model of the robot arm A is design information of parts constituting the robot arm, and includes information such as the moment of inertia, mass, position, posture, and number of axes of each link. The constraint conditions define physical constraints of the robot arm, and include joint torque constraints, joint angular velocity constraints, joint angular acceleration constraints, jerk constraints, hand speed constraints, hand acceleration constraints, and the like.

ステップS101では、ステップS100で与えた、ロボットアームAの開始教示点Ps、目標教示点Pgの間に、初期値としての中間教示点(第1の中間教示点群)P1、P2、…Pnを生成する(図5(b))。本実施形態では、図5(b)に示すように、生成する中間教示点の数をnとし、中間教示点を順にP1、P2、…Pnとしている。   In step S101, intermediate teaching points (first intermediate teaching point group) P1, P2,... Pn as initial values are provided between the starting teaching point Ps and the target teaching point Pg of the robot arm A given in step S100. (FIG. 5B). In the present embodiment, as shown in FIG. 5B, the number of intermediate teaching points to be generated is n, and the intermediate teaching points are P1, P2,.

中間教示点の生成方法には、障害物を回避する経路を計算する経路計画アルゴリズムを用いることが考えられる。経路生成方法には、ポテンシャル法、PRM (Probabilistic RoadMap)、RRT (Rapidly−exploring Random Tree)といった多くの方法がある。また、以上の経路生成手段に限定されず、可視グラフ法、セル分割法、ボロノイ図法などの他の経路生成方法も適用してもよい。また、単純に、経路計画アルゴリズムを用いずに、開始教示点、目標教示点の間を直線で線形補間する処理を用いてもよい。なお、上記のような経路計画技術はあくまで、教示点間を直線でつないだ場合にのみ干渉回避が保証される経路を算出する。従って、中間教示点群P1、P2、…Pnを曲線で補間した経路においては必ずしも干渉回避が保証されない場合がある。   As a method for generating intermediate teaching points, it is conceivable to use a route planning algorithm for calculating a route that avoids an obstacle. There are many route generation methods such as a potential method, PRM (Probabilistic RoadMap), and RRT (Rapidly-exploring Random Tree). Further, the present invention is not limited to the above route generation means, and other route generation methods such as a visible graph method, a cell division method, and a Voronoi diagram method may be applied. Alternatively, a process of linearly interpolating between the start teaching point and the target teaching point with a straight line may be used without using the path planning algorithm. Note that the route planning technique as described above calculates a route in which interference avoidance is guaranteed only when the teaching points are connected by a straight line. Therefore, there is a case where interference avoidance is not always guaranteed in a path obtained by interpolating the intermediate teaching point groups P1, P2,.

例えば、図5(b)に示すように、中間教示点群P1、P2、…Pn(第1の中間教示点群)は、例えば障害物Obに干渉するような軌道に相当する。本実施形態では、このような初期値としての中間教示点群P1、P2、…Pn(第1の中間教示点群)から処理を開始しても、最適な軌道を生成するよう、中間教示点群P1、P2、…Pn(第1の中間教示点群)を移動させることができる。   For example, as shown in FIG. 5B, the intermediate teaching point groups P1, P2,... Pn (first intermediate teaching point group) correspond to trajectories that interfere with the obstacle Ob, for example. In this embodiment, even if processing is started from such intermediate teaching point groups P1, P2,... Pn (first intermediate teaching point group) as initial values, intermediate teaching points are generated so as to generate an optimal trajectory. The groups P1, P2,... Pn (first intermediate teaching point group) can be moved.

あるいは、初期値としての中間教示点群P1、P2、…Pn(第1の中間教示点群)は、ユーザが、操作部2および表示部4のユーザーインターフェースを介して、画面上の仮想環境中にプロットする操作を行って設定してもよい。   Alternatively, intermediate teaching point groups P 1, P 2,... Pn (first intermediate teaching point group) as initial values are stored in the virtual environment on the screen by the user via the user interface of the operation unit 2 and the display unit 4. It may be set by performing a plotting operation.

図4のステップS102では、中間教示点群P1、P2、…Pn(第1の中間教示点群)に対して空間的な変位を与え、新たな中間教示点群R1、R2、…Rn(第2の中間教示点群)を生成する(図5(c):中間教示点生成工程)。この変位を与える方法としては、例えば、中間教示点の1つ1つに対し、空間的な変位を与えるためのパラメータとして乱数値を足し込む(加算する)方法が考えられる。ただし、単にランダムな乱数値を作用させる手法を採ると、教示点が振動的に配置され、ロボットアームの動作が滑らかでなくなる場合がある。一般的に、ロボットアームの動作が振動的になると、動作時間が増える傾向にあるため、教示点は振動的に配置されるのは望ましくない。   In step S102 of FIG. 4, a spatial displacement is applied to the intermediate teaching point groups P1, P2,... Pn (first intermediate teaching point group), and new intermediate teaching point groups R1, R2,. 2 intermediate teaching point group) (FIG. 5C: intermediate teaching point generation step). As a method of giving this displacement, for example, a method of adding (adding) a random value as a parameter for giving a spatial displacement to each of the intermediate teaching points can be considered. However, if a method of simply applying a random random number value is employed, the teaching points are arranged in a vibrational manner, and the operation of the robot arm may not be smooth. In general, when the robot arm moves in vibration, the operation time tends to increase. Therefore, it is not desirable to arrange the teaching points in vibration.

そこで、空間的な変位を与えるために隣り合う中間教示点に作用させる乱数の間に相関を与え、これにより軌道(経路)を平滑化することができる。たとえば、中間教示点群P1、P2、…Pnにおける、ロボットアームの1軸の関節値をθ11、θ12、…θ1nとし、これらを変数とした多変量正規分布を考える。このように、分散共分散行列における共分散に、正の値を与えることで、隣り合う中間教示点の関節値に相関を持たせることができ、経路に沿った滑らかな乱数を発生させることが可能となる。   Therefore, a correlation is given between random numbers applied to adjacent intermediate teaching points in order to give a spatial displacement, whereby the trajectory (path) can be smoothed. For example, consider a multivariate normal distribution in which the joint values of one axis of the robot arm in the intermediate teaching point groups P1, P2,... Pn are θ11, θ12,. In this way, by giving a positive value to the covariance in the variance-covariance matrix, it is possible to correlate the joint values of adjacent intermediate teaching points and generate smooth random numbers along the path. It becomes possible.

ステップS103では、中間教示点群R1、R2、…Rnの間を曲線で補間し、最短時間制御を用いて軌道を生成する(軌道生成工程)。ここで、静止した障害物を回避すると言う目的であれば、曲線で補間した「経路」上でのロボットアームAの干渉を評価すれば事足りるが、動作する障害物を考えた際には、時間軸も考慮に入れなければならないため、本実施形態では、「軌道」を考慮する。   In step S103, the intermediate teaching point groups R1, R2,... Rn are interpolated with a curve, and a trajectory is generated using the shortest time control (trajectory generating step). Here, for the purpose of avoiding the stationary obstacle, it is sufficient to evaluate the interference of the robot arm A on the “path” interpolated by the curve, but when considering the moving obstacle, In this embodiment, “trajectory” is considered because the axis must also be taken into consideration.

ステップS104では、生成した軌道が制約を満たしているか判定し、軌道が制約を満たしていない場合は、S102に戻り、軌道が制約を満たしている場合は、S105に進む。ステップS104で判断する制約条件は、ステップS103で用いた最短時間制御技術で制約することができない制約である。ステップS104で判断する制約条件は、少なくとも、ステップS103で生成した軌道上では、ロボットアームAの機構が可動範囲外にはみ出さないことを制約条件とする。また、ステップS104で判断する制約条件には、他の条件、例えば、ロボットアームの関節トルク制約、関節角速度制約、関節角加速度制約、ジャーク制約、手先速度制約、ないし手先加速度制約が考えられる。ステップS104では、これらの制約条件のうちいずれか1つまたは複数の制約を満足する軌道を生成するよう判定を行うことができる。   In step S104, it is determined whether the generated trajectory satisfies the constraint. If the trajectory does not satisfy the constraint, the process returns to S102, and if the trajectory satisfies the constraint, the process proceeds to S105. The constraint condition determined in step S104 is a constraint that cannot be constrained by the shortest time control technique used in step S103. The restriction condition determined in step S104 is that the mechanism of the robot arm A does not protrude beyond the movable range at least on the trajectory generated in step S103. Further, the constraint conditions determined in step S104 may be other conditions such as a robot arm joint torque constraint, a joint angular velocity constraint, a joint angular acceleration constraint, a jerk constraint, a hand speed constraint, or a hand acceleration constraint. In step S104, a determination can be made to generate a trajectory that satisfies any one or more of these constraints.

ステップS105では、中間教示点群R1、R2、…Rnおよび、それを元に生成した軌道を保存する。保存する中間教示点群は、他の保存した中間教示点群と区別するため、Ri1、Ri2、…Rinと表記する。iは、保存した順番である。   In step S105, the intermediate teaching point groups R1, R2,... Rn and the trajectory generated based on them are stored. The intermediate teaching point group to be stored is expressed as Ri1, Ri2,... Rin in order to distinguish it from other stored intermediate teaching point groups. i is the order of saving.

ステップS106では、保存した中間教示点群および軌道が、ある定数N個になったか否かを判定する。ステップS106で、保存した中間教示点群および軌道がN個に達していなければ、ステップS102に戻り、N個になっていれば、ステップS107に進む。   In step S106, it is determined whether or not the number of stored intermediate teaching point groups and trajectories has reached a certain constant N. If the number of stored intermediate teaching point groups and trajectories has not reached N in step S106, the process returns to step S102, and if it has reached N, the process proceeds to step S107.

ステップS107では、保存したN個の中間教示点群Ri1、Ri2、…Rin(i = 1〜N)に評価値を与える(図5(d):評価工程)。本実施形態では、この評価値は、中間教示点群P1、P2、…Pn(第1の中間教示点群)を、最適な軌道を生成するよう変位(移動)させるために用いる。   In step S107, an evaluation value is given to the stored N intermediate teaching point groups Ri1, Ri2,... Rin (i = 1 to N) (FIG. 5 (d): evaluation step). In this embodiment, this evaluation value is used to displace (move) the intermediate teaching point groups P1, P2,... Pn (first intermediate teaching point group) so as to generate an optimal trajectory.

また、この評価値は、例えば、中間教示点群Ri1、Ri2、…Rin(i = 1〜N)に対応する軌道を評価することにより生成する。例えば、本実施形態では、障害物Obとの干渉を回避する軌道を求めるため、ロボットアームと障害物とが干渉量を評価値とする。例えば、この干渉量は、ロボットアームと障害物とが同一の空間を占める干渉時間や、めり込み量ないし干渉距離(あるいは両者の掃引空間の重複する体積など)であってよい。本実施形態では、例えば干渉量として干渉時間を採用し、評価値とする。   Further, this evaluation value is generated, for example, by evaluating a trajectory corresponding to the intermediate teaching point group Ri1, Ri2,... Rin (i = 1 to N). For example, in this embodiment, in order to obtain a trajectory that avoids interference with the obstacle Ob, the robot arm and the obstacle use the interference amount as an evaluation value. For example, the amount of interference may be the interference time in which the robot arm and the obstacle occupy the same space, the amount of interference or the interference distance (or the overlapping volume of the two sweep spaces). In the present embodiment, for example, an interference time is adopted as an interference amount and is set as an evaluation value.

図5(d)の例では、3つの中間教示点群に対して、干渉量(干渉時間またはめり込み量)で生成した評価値を示してある。この評価値は、第2の中間教示点群R11、R12…R1nでは10、R21、R22…R2nでは30、R31、R32…R3nでは50、となっている。ここで最も評価値が良いのは干渉量の小さい(0に近い)中間教示点群R11、R12…R1nである。   In the example of FIG. 5D, the evaluation values generated by the interference amount (interference time or amount of interference) are shown for the three intermediate teaching point groups. This evaluation value is 10 for the second intermediate teaching point group R11, R12... R1n, 30 for R21, R22... R2n, and 50 for R31, R32. Here, the best evaluation value is the intermediate teaching point group R11, R12... R1n having a small amount of interference (close to 0).

なお、障害物Obの干渉回避以外の目的で、中間教示点群Ri1、Ri2、…Rin(i = 1〜N)に対応する軌道の評価に他の手法を採用してもよい。   For the purpose other than avoiding the interference of the obstacle Ob, other methods may be adopted for evaluating the trajectory corresponding to the intermediate teaching point groups Ri1, Ri2,... Rin (i = 1 to N).

ステップS108で、N個の中間教示点群Ri1、Ri2、…Rin(i = 1〜N)の評価値を元に、中間教示点群P1、P2、…Pnを移動させる(図5(e))。この移動の方法の1つとしては、例えば、中間教示点群Ri1、Ri2、…Rin(i = 1〜N)の中で、評価値が最も低い(良好な)中間教示点群に中間教示点群P1、P2、…Pnを移動させる方法が考えられる。図5(e)の例では、干渉量の小さい(0に近い)中間教示点群R11、R12…R1nの位置に中間教示点群P1、P2、…Pn(第1の中間教示点群中)を移動させている。   In step S108, the intermediate teaching point groups P1, P2,... Pn are moved based on the evaluation values of the N intermediate teaching point groups Ri1, Ri2,... Rin (i = 1 to N) (FIG. 5E). ). As one of the moving methods, for example, the intermediate teaching point is set to the intermediate teaching point group having the lowest (good) evaluation value among the intermediate teaching point groups Ri1, Ri2,... Rin (i = 1 to N). A method of moving the groups P1, P2,. In the example of FIG. 5E, intermediate teaching point groups P1, P2,... Pn (in the first intermediate teaching point group) at the positions of the intermediate teaching point groups R11, R12. Is moving.

また、中間教示点群Ri1、Ri2、…Rin(i = 1〜N)の評価値の逆数を重みとして、N個の中間教示点群Ri1、Ri2、…Rin(i = 1〜N)の重み付き平均をとり、中間教示点群P1、P2、…Pnを移動させる方法を用いてもよい。   Also, the weights of the N intermediate teaching point groups Ri1, Ri2,... Rin (i = 1 to N) with the reciprocal of the evaluation value of the intermediate teaching point groups Ri1, Ri2,... Rin (i = 1 to N) as weights. A method of moving the intermediate teaching point groups P1, P2,.

ステップS109では、ステップS102からステップS108までの処理を打ち切る条件を満たすか判定する。打ち切り条件を満たしていなければ、ステップS102に戻り、打ち切り条件を満たしていれば、ステップS110に進む。   In step S109, it is determined whether a condition for aborting the processing from step S102 to step S108 is satisfied. If the abort condition is not satisfied, the process returns to step S102, and if the abort condition is satisfied, the process proceeds to step S110.

あるいは、ステップS102〜ステップS109のループを実行する上限回数を定めておいてもよい。その場合、ステップS109でその上限回数に達している場合は、それ以上の試行を諦めてステップS110に進む。あるいは適当なエラーメッセージを表示部4で出力する、といったエラー処理を行うことにしてもよい。   Or you may define the upper limit frequency | count which performs the loop of step S102-step S109. In that case, if the upper limit number has been reached in step S109, it gives up more trials and proceeds to step S110. Alternatively, error processing such as outputting an appropriate error message on the display unit 4 may be performed.

ステップS109で判断する打ち切り条件は、例えば移動後の中間教示点群P1、P2、…Pn(第1の中間教示点群)に対して、ステップS107と同様な評価値を生成し、評価値が所定条件を満たすことを条件とする。例えば、本実施形態の目的は、ロボットアームAと障害物Obとの干渉を回避することである。そこで、移動後の中間教示点群P1、P2、…Pn(第1の中間教示点群)について生成した評価値が0(干渉量:干渉時間やめり込み量が0)となることとする。これにより、ロボット動作に関する制約条件を満たした最適な軌道を生成することができる(軌道決定工程)。   The abort condition determined in step S109 is, for example, that an evaluation value similar to that in step S107 is generated for the intermediate teaching point group P1, P2,... Pn (first intermediate teaching point group) after the movement. It is a condition that a predetermined condition is satisfied. For example, an object of the present embodiment is to avoid interference between the robot arm A and the obstacle Ob. Therefore, it is assumed that the evaluation value generated for the intermediate teaching point group P1, P2,... Pn (first intermediate teaching point group) after the movement is 0 (interference amount: interference time and interference amount is 0). As a result, it is possible to generate an optimal trajectory that satisfies the constraints related to the robot motion (trajectory determination step).

ステップS110では、最適化された教示点として、中間教示点群P1、P2、…Pnを出力する。この出力は、例えば表示部4の仮想表示内で、最適化された中間教示点群P1、P2、…Pnによって生成される軌道でロボットアームAの3Dモデル(ロボットアームモデル)を動作させることにより行う。あるいは、ステップS110は、実機のロボットアームAないしそのロボット制御装置(200:図10)に最適化された中間教示点群P1、P2、…Pnまたはそれにより生成された軌道データを出力する処理であってもよい。   In step S110, intermediate teaching point groups P1, P2,... Pn are output as optimized teaching points. This output is obtained by operating the 3D model (robot arm model) of the robot arm A in the trajectory generated by the optimized intermediate teaching point groups P1, P2,... Pn in the virtual display of the display unit 4, for example. Do. Alternatively, step S110 is a process of outputting intermediate teaching point groups P1, P2,... Pn optimized for the actual robot arm A or its robot controller (200: FIG. 10) or trajectory data generated thereby. There may be.

本実施形態では、干渉回避を目的としているため、ステップS110まで到達した場合は、図6のように、移動後の中間教示点群P1、P2、…Pnに基づき生成した軌道(p1、p2、…pt)において、ロボットアームが干渉物と干渉しない状態となる。   In this embodiment, since the purpose is to avoid interference, when the process reaches step S110, as shown in FIG. 6, trajectories (p1, p2,...) Generated based on the intermediate teaching point groups P1, P2,. At pt), the robot arm does not interfere with the interference.

本実施形態によれば、複数の中間教示点群Ri1、Ri2、…Rin(i = 1〜N)を生成し、それにより定義される軌道を評価した結果に基づき、中間教示点群P1、P2、…Pnを移動させる。軌道の評価には、関節トルク制約のような物理的制約に関する条件を用い、中間教示点群P1、P2、…Pnを移動させる処理の脱出条件には、障害物回避の達成の条件を用いる。このような構成により、本実施形態によれば、障害物を回避し、関節トルク制約などの物理的制約を満たす滑らかな曲線軌道を生成することができる。   According to the present embodiment, a plurality of intermediate teaching point groups Ri1, Ri2,... Rin (i = 1 to N) are generated, and based on the result of evaluating the trajectory defined thereby, intermediate teaching point groups P1, P2 ... Pn is moved. Conditions for physical constraints such as joint torque constraints are used for trajectory evaluation, and conditions for achieving obstacle avoidance are used as escape conditions for the process of moving the intermediate teaching point groups P1, P2,. With this configuration, according to the present embodiment, it is possible to avoid an obstacle and generate a smooth curved track that satisfies physical constraints such as joint torque constraints.

<実施形態2>
以下、図7を参照して、ロボットアームA(の3Dモデル)が障害物Obとの干渉回避を達成した上で、かつ最短時間で移動できる軌道を生成する最適化処理の例を示す。図7以外の構成、例えば、軌道生成装置およびその制御装置のハードウェア構成などは、実施形態1と同様であるものとする。
<Embodiment 2>
Hereinafter, with reference to FIG. 7, an example of an optimization process for generating a trajectory in which the robot arm A (a 3D model thereof) can avoid the interference with the obstacle Ob and can move in the shortest time will be described. The configurations other than those in FIG. 7, for example, the trajectory generation device and the hardware configuration of the control device thereof are the same as those in the first embodiment.

本実施形態の軌道生成方法の制御手順は、実施形態1の図4のフローチャートと同等であるが、本実施形態2では、実施形態1とは、中間教示点群P1、P2、…Pnの初期値、軌道の制約方法、軌道の評価方法、および打ち切り条件が異なる。図7は、本実施形態において行われる軌道(第1の中間教示点)の最適化の様子を示したものである。図7は、図5と同様の形式で、本実施形態における図4の各ステップの処理を示している。   The control procedure of the trajectory generation method of the present embodiment is equivalent to the flowchart of FIG. 4 of the first embodiment, but in the second embodiment, the initial teachings of the intermediate teaching point groups P1, P2,. Values, trajectory constraint methods, trajectory evaluation methods, and censoring conditions are different. FIG. 7 shows how the trajectory (first intermediate teaching point) is optimized in the present embodiment. FIG. 7 shows the processing of each step of FIG. 4 in the present embodiment in the same format as FIG.

上記の実施形態1では、図4のステップS101で、開始教示点Ps、目標教示点Pgの間(図7(a))に経路計画技術によって中間教示点群P1、P2、…Pnを生成する例を示した。これに対して、本実施形態では、図4のステップS101において実施形態1の最適化処理を経て出力された中間教示点群P1、P2、…Pn(図6および図7(b))を用いる。   In the first embodiment, intermediate teaching point groups P1, P2,... Pn are generated between the starting teaching point Ps and the target teaching point Pg (FIG. 7A) by the path planning technique in step S101 of FIG. An example is shown. On the other hand, in the present embodiment, the intermediate teaching point groups P1, P2,... Pn (FIG. 6 and FIG. 7B) output through the optimization process of the first embodiment in step S101 of FIG. .

既に実施形態1の最適化処理を経て出力された中間教示点群P1、P2、…Pnを初期値とすることにより、既に障害物を回避済みの軌道の動作時間を縮める最適化を行うことができる。このように、本発明の最適化制御手順(図4)は、2パス(あるいはそれ以上の複数パス)で用いることができ、その場合、各パスにおいて、異なる制約条件を作用させることによって、各制約条件について最適化された軌道を取得することができる。   The intermediate teaching point groups P1, P2,..., Pn that have already been output through the optimization processing of the first embodiment are set as initial values, thereby performing optimization that shortens the operation time of a trajectory that has already avoided an obstacle. it can. As described above, the optimization control procedure of the present invention (FIG. 4) can be used in two passes (or more than one pass), and in this case, by applying different constraints on each pass, Trajectories optimized for the constraints can be acquired.

実施形態1では、新たな中間教示点群R1、R2、…Rn(第2の中間教示点群)を生成し(図5(c))、図4のステップS104で、この第2の中間教示点群の軌道が制約を満たしているか判定する際に、ロボットアームAの可動範囲内か否かを判定していた。本実施形態では、新たな中間教示点群R1、R2、…Rn(第2の中間教示点群)を生成し(図7(c))、可動範囲内か否かの判定に加え、ロボットアームAが障害物Obと干渉しているか否かを判定する。障害物と干渉している場合は、その中間教示点群R1、R2、…Rnを無効とし、ステップS102に戻る。   In the first embodiment, a new intermediate teaching point group R1, R2,... Rn (second intermediate teaching point group) is generated (FIG. 5C), and in step S104 of FIG. When determining whether the trajectory of the point cloud satisfies the constraint, it is determined whether or not the robot arm A is within the movable range. In this embodiment, a new intermediate teaching point group R1, R2,... Rn (second intermediate teaching point group) is generated (FIG. 7C), and in addition to the determination as to whether or not it is within the movable range, the robot arm It is determined whether A interferes with the obstacle Ob. If there is an interference with the obstacle, the intermediate teaching point groups R1, R2,... Rn are invalidated, and the process returns to step S102.

また、実施形態1では、図4のステップS107で、干渉時間もしくはめり込み量を評価値として軌道を評価していた。本実施形態では、ロボットアームAの動作時間を評価値として軌道を評価する(図7(d))。これにより、動作時間が最短となる中間教示点群P1、P2、…Pnを生成することができる。図7(d)の例では、動作時間に係る第2の中間教示点群の評価値は、R11、R12…R1nでは180、R21、R22…R2nでは120、R31、R32…R3nでは150、となっている。ここで最も評価値が良いのは干渉量の小さい(動作時間値の小さい)中間教示点群R21、R22…R2nである。   In the first embodiment, the trajectory is evaluated in step S107 of FIG. 4 using the interference time or the amount of penetration as an evaluation value. In this embodiment, the trajectory is evaluated using the operation time of the robot arm A as an evaluation value (FIG. 7D). Accordingly, it is possible to generate intermediate teaching point groups P1, P2,. In the example of FIG. 7D, the evaluation value of the second intermediate teaching point group related to the operation time is 180 for R11, R12... R1n, 120 for R21, R22... R2n, 150 for R31, R32. It has become. Here, the intermediate evaluation point groups R21, R22,... R2n having the smallest evaluation value (small operation time value) have the best evaluation values.

また、実施形態1では、図4ステップS109の打ち切り条件の1つとして、評価値が0になることを考えた。これに対して本実施形態では、ステップS102〜ステップS109までの繰り返しに上限回数を設ける方法、もしくは、中間教示点群P1、P2、…Pnの評価値が連続して(ほぼ)変化しない回数に上限を設ける方法を用いる。例えば、それ以上に動作時間が短縮されない場合にステップS102〜ステップS109のループを脱出し、最短時間の得られる中間教示点群P1、P2、…PnをステップS110で出力する(図7(e))。あるいは、本実施形態2では、ステップS110で、最適化された教示点として、必ずしも最終の移動状態の中間教示点群P1、P2、…Pnを出力しなくてもよい。例えば、ステップS102からステップS108までの繰り返しにおける中間教示点群P1、P2、…Pnの変化の履歴を取り、もっとも評価が高いものを出力しても良い。   In the first embodiment, it is considered that the evaluation value becomes 0 as one of the termination conditions in step S109 in FIG. On the other hand, in the present embodiment, a method of setting the upper limit number of times for repetition from step S102 to step S109, or the number of times the evaluation values of the intermediate teaching point groups P1, P2,. A method of setting an upper limit is used. For example, if the operation time is not shortened further, the loop of step S102 to step S109 is exited, and intermediate teaching point groups P1, P2,... Pn that can obtain the shortest time are output in step S110 (FIG. 7 (e) ). Alternatively, in the second embodiment, it is not always necessary to output the intermediate teaching point groups P1, P2,... Pn in the final moving state as the optimized teaching points in step S110. For example, the history of changes in the intermediate teaching point groups P1, P2,... Pn in the repetition from step S102 to step S108 may be taken, and the highest evaluation may be output.

以上に示したように、本実施形態によれば、障害物を回避し、トルク制約などの物理的制約を守った上で、さらに動作時間を最短とする軌道を生成できるという効果がある。特に、最適化制御手順(図4)は、2パス(あるいはそれ以上の複数パス)で用いることができ、その場合、各パスにおいて、異なる制約条件を作用させることによって、各制約条件について最適化された軌道を取得することができる。   As described above, according to the present embodiment, there is an effect that it is possible to generate a trajectory having the shortest operation time while avoiding obstacles and keeping physical constraints such as torque constraints. In particular, the optimization control procedure (FIG. 4) can be used in two paths (or more than one path), in which case optimization is performed for each constraint condition by applying different constraint conditions in each path. The acquired trajectory can be acquired.

ここで、ロボットアームAのより具体的な構成例や、ロボットアームAを生産システムに適用した場合の構成などにつき示しておく。   Here, a more specific configuration example of the robot arm A, a configuration when the robot arm A is applied to a production system, and the like will be described.

図10は、模式的な図2の構成よりも具体的なロボットアームAの全体構成を示している。図10において、ロボットアームA(ロボット装置)は、例えば6軸(関節)の垂直多関節形式のアーム本体201を備える。アーム本体201の各関節は、各関節にそれぞれ設けられたサーボモータをサーボ制御することにより所望の位置姿勢に制御することができる。   FIG. 10 shows an entire configuration of the robot arm A more concrete than the schematic configuration of FIG. In FIG. 10, a robot arm A (robot device) includes, for example, a six-axis (joint) vertical articulated arm body 201. Each joint of the arm body 201 can be controlled to a desired position and orientation by servo-controlling a servo motor provided in each joint.

アーム本体201の先端(手先)には、例えばハンド202のようなツールが装着され、このハンド202によって、ワーク203を把持し、ワーク203を組み付けたり、加工したりする生産作業を行わせることができる。ワーク203は、自動車や電機製品などの工業製品の例えば部品であって、ロボットアームAはこのような生産システム(生産ライン)に生産装置として配置することができる。   A tool such as a hand 202 is attached to the tip (hand) of the arm main body 201, and the hand 202 can be used to perform a production operation such as gripping the workpiece 203 and assembling or processing the workpiece 203. it can. The workpiece 203 is, for example, a part of an industrial product such as an automobile or an electrical product, and the robot arm A can be arranged as a production apparatus in such a production system (production line).

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

また、ネットワークNWを介して、ロボットアームAないしロボット制御装置200は、上記の軌道生成装置(あるいはロボットシミュレータ:図1)から、上述のように最適化された中間教示点ないし軌道データを受信することができる。これにより、上記の処理によって最適化された中間教示点ないし軌道データに基づき、ロボットアームAを生産システム(生産ライン)に配置し、生産装置として動作させ、物品を製造することができる。   Further, the robot arm A or the robot controller 200 receives the intermediate teaching point or the trajectory data optimized as described above from the trajectory generator (or the robot simulator: FIG. 1) via the network NW. be able to. Thereby, based on the intermediate teaching point or trajectory data optimized by the above processing, the robot arm A can be arranged in the production system (production line) and operated as a production apparatus to manufacture an article.

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

A…ロボットアーム、J1、J2…関節軸、Ob…障害物、Ps…開始教示点、Pg…目標教示点、P1、P2、…Pn…(第1の)中間教示点群、Ri1、Ri2、Rin…(第2の)中間教示点群、1…演算処理部、2…操作部、3…記録部、4…表示部。   A ... robot arm, J1, J2 ... joint axis, Ob ... obstacle, Ps ... start teaching point, Pg ... target teaching point, P1, P2, ... Pn ... (first) intermediate teaching point group, Ri1, Ri2, Rin ... (second) intermediate teaching point group, 1 ... arithmetic processing unit, 2 ... operation unit, 3 ... recording unit, 4 ... display unit.

Claims (14)

開始教示点および目標教示点の間でロボットアームを動作させる軌道を生成する軌道生成方法において、
制御装置が、ロボットアームを動作させる軌道の開始教示点および目標教示点の間に配置された第1の中間教示点群に対して変位を与え、第2の中間教示点群を生成する中間教示点生成工程と、
前記制御装置が、第2の中間教示点群に基づき、前記ロボットアームを模擬したロボットアームモデルを動作させる軌道を生成する軌道生成工程と、
前記制御装置が、前記中間教示点生成工程において、前記第1の中間教示点群に対して異なる変位を与えて生成した複数の第2の中間教示点群から、前記軌道生成工程によりそれぞれ生成した複数の軌道に対する評価値を生成する評価工程と、
前記制御装置が、前記評価工程で生成された複数の軌道に対する評価値に基づき前記第1の中間教示点群を移動させ、移動後の第1の中間教示点群に対して、前記中間教示点生成工程と、前記軌道生成工程と、前記評価工程と、を繰り返し実行し、所定の条件を満たす第1の中間教示点群を前記ロボットアームを動作させる軌道の生成に用いる中間教示点群として決定する軌道決定工程と、を含む軌道生成方法。
In a trajectory generation method for generating a trajectory for operating a robot arm between a start teaching point and a target teaching point,
Intermediate teaching in which a control device applies displacement to a first intermediate teaching point group arranged between a starting teaching point and a target teaching point of a trajectory for operating a robot arm, and generates a second intermediate teaching point group A point generation process;
A trajectory generating step in which the control device generates a trajectory for operating a robot arm model simulating the robot arm based on a second intermediate teaching point group;
In the intermediate teaching point generation step, the control device generates each of the second intermediate teaching point groups generated by giving different displacements to the first intermediate teaching point group by the trajectory generation step. An evaluation process for generating evaluation values for a plurality of trajectories;
The control device moves the first intermediate teaching point group based on the evaluation values for the plurality of trajectories generated in the evaluation step, and the intermediate teaching point with respect to the first intermediate teaching point group after the movement. The generation step, the trajectory generation step, and the evaluation step are repeatedly executed, and a first intermediate teaching point group that satisfies a predetermined condition is determined as an intermediate teaching point group used for generation of a trajectory for operating the robot arm. A trajectory determination method comprising: a trajectory determination step.
請求項1記載の軌道生成方法において、前記中間教示点生成工程において、前記ロボットアームモデルが、前記ロボットアームモデルの動作する空間に配置された障害物モデルを回避できる複数の中間教示点を生成する軌道生成方法。   2. The trajectory generation method according to claim 1, wherein, in the intermediate teaching point generation step, the robot arm model generates a plurality of intermediate teaching points that can avoid an obstacle model arranged in a space in which the robot arm model operates. Orbit generation method. 請求項1または2に記載の軌道生成方法において、前記中間教示点生成工程で、前記第2の中間教示点群に含まれ、隣り合う中間教示点にそれぞれ相関するパラメータを作用させ、前記複数の中間教示点を結ぶ経路を平滑化する軌道生成方法。   3. The trajectory generation method according to claim 1, wherein in the intermediate teaching point generation step, parameters that are included in the second intermediate teaching point group and correlate to adjacent intermediate teaching points are applied, and A trajectory generation method for smoothing a path connecting intermediate teaching points. 請求項1から3のいずれか1項に記載の軌道生成方法において、前記軌道生成工程で、前記第2の中間教示点群に基づき、前記ロボットアームモデルを動作させる動作時間が短かくなる軌道を生成する軌道生成方法。   4. The trajectory generation method according to claim 1, wherein, in the trajectory generation step, a trajectory in which an operation time for operating the robot arm model is shortened based on the second intermediate teaching point group. 5. The trajectory generation method to generate. 請求項1から4のいずれか1項に記載の軌道生成方法において、前記評価工程で、評価する軌道における、前記ロボットアームモデルと、前記ロボットアームモデルの動作する空間に配置された障害物モデルと、の間の干渉量に基づき、前記評価値を生成する軌道生成方法。   5. The trajectory generation method according to claim 1, wherein in the trajectory to be evaluated in the evaluation step, the robot arm model and an obstacle model disposed in a space in which the robot arm model operates A trajectory generation method for generating the evaluation value based on the amount of interference between. 請求項5に記載の軌道生成方法において、前記干渉量は、前記ロボットアームモデルと、前記障害物モデルと、が、同一の空間を占める干渉時間、または干渉距離である軌道生成方法。   6. The trajectory generation method according to claim 5, wherein the interference amount is an interference time or an interference distance in which the robot arm model and the obstacle model occupy the same space. 請求項1から6のいずれか1項に記載の軌道生成方法において、前記評価工程で、評価する軌道で前記ロボットアームモデルを動作させた場合の動作時間に基づき、前記評価値を生成する軌道生成方法。   The trajectory generation method according to claim 1, wherein in the evaluation step, the evaluation value is generated based on an operation time when the robot arm model is operated in the trajectory to be evaluated. Method. 請求項1から7のいずれか1項に記載の軌道生成方法において、前記軌道決定工程において、移動後の前記第1の中間教示点群に基づき生成した前記ロボットアームモデルを動作させる軌道の評価値が所定の条件を満たす場合、当該の第1の中間教示点群を、前記ロボットアームを動作させる軌道の生成に用いる中間教示点群として決定する軌道生成方法。   The trajectory generation method according to any one of claims 1 to 7, wherein an evaluation value of a trajectory for operating the robot arm model generated based on the first intermediate teaching point group after movement in the trajectory determination step. Is a trajectory generation method for determining the first intermediate teaching point group as an intermediate teaching point group used for generating a trajectory for operating the robot arm. 請求項1から8のいずれか1項に記載の軌道生成方法において、前記軌道生成工程で、前記第2の中間教示点群に基づき、前記ロボットアームに関する関節トルク制約、関節角速度制約、関節角加速度制約、ジャーク制約、手先速度制約、ないし手先加速度制約のうちいずれか1つまたは複数の制約を満足する軌道を生成する軌道生成方法。   9. The trajectory generation method according to claim 1, wherein in the trajectory generation step, based on the second intermediate teaching point group, a joint torque constraint, a joint angular velocity constraint, and a joint angular acceleration related to the robot arm. A trajectory generation method for generating a trajectory that satisfies any one or more of constraints, jerk constraints, hand speed constraints, or hand acceleration constraints. 請求項1から9のいずれか1項に記載の軌道生成方法の各工程を前記制御装置に実行させる制御プログラム。   The control program which makes the said control apparatus perform each process of the orbital generation method of any one of Claim 1 to 9. 請求項10に記載の制御プログラムを格納したコンピュータ読み取り可能な記録媒体。   A computer-readable recording medium storing the control program according to claim 10. 開始教示点および目標教示点の間でロボットアームを動作させる軌道を生成する軌道生成装置において、
ロボットアームを動作させる軌道の開始教示点および目標教示点の間に配置された第1の中間教示点群に対して変位を与え、第2の中間教示点群を生成する中間教示点生成工程と、
第2の中間教示点群に基づき、前記ロボットアームを模擬したロボットアームモデルを動作させる軌道を生成する軌道生成工程と、
前記中間教示点生成工程において、前記第1の中間教示点群に対して異なる変位を与えて生成した複数の第2の中間教示点群から、前記軌道生成工程によりそれぞれ生成した複数の軌道に対する評価値を生成する評価工程と、
前記評価工程で生成された複数の軌道に対する評価値に基づき前記第1の中間教示点群を移動させ、移動後の第1の中間教示点群に対して、前記中間教示点生成工程と、前記軌道生成工程と、前記評価工程と、を繰り返し実行し、所定の条件を満たす第1の中間教示点群を前記ロボットアームを動作させる軌道の生成に用いる中間教示点群として決定する軌道決定工程と、
を実行する制御装置を備えた軌道生成装置。
In a trajectory generating device for generating a trajectory for operating a robot arm between a starting teaching point and a target teaching point,
An intermediate teaching point generation step of generating a second intermediate teaching point group by applying displacement to the first intermediate teaching point group arranged between the starting teaching point and the target teaching point of the trajectory for operating the robot arm; ,
A trajectory generating step for generating a trajectory for operating a robot arm model simulating the robot arm based on a second intermediate teaching point group;
In the intermediate teaching point generation step, evaluation of a plurality of trajectories respectively generated by the trajectory generation step from a plurality of second intermediate teaching point groups generated by giving different displacements to the first intermediate teaching point group An evaluation process for generating values;
Moving the first intermediate teaching point group based on the evaluation values for the plurality of trajectories generated in the evaluation step, the intermediate teaching point generating step with respect to the first intermediate teaching point group after the movement; A trajectory determination step of repeatedly executing the trajectory generation step and the evaluation step and determining a first intermediate teaching point group satisfying a predetermined condition as an intermediate teaching point group used for generating a trajectory for operating the robot arm; ,
A trajectory generation device provided with a control device for executing.
請求項1から9のいずれか1項に記載の軌道生成方法を用いて生成された軌道で前記ロボットアームを動作させてワークの組み立てを行い、物品を製造する生産システム。   A production system for manufacturing an article by assembling a workpiece by operating the robot arm on a trajectory generated by using the trajectory generating method according to claim 1. 請求項1から9のいずれか1項に記載の軌道生成方法を用いて生成された軌道で前記ロボットアームを動作させてワークの組み立てを行い、物品を製造する物品の製造方法。   An article manufacturing method for manufacturing an article by assembling a workpiece by operating the robot arm on a trajectory generated using the trajectory generating method according to claim 1.
JP2018018583A 2018-02-05 2018-02-05 Information processing method and information processing device Active JP7158862B2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2018018583A JP7158862B2 (en) 2018-02-05 2018-02-05 Information processing method and information processing device
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
JP2022163661A JP7439206B2 (en) 2018-02-05 2022-10-12 Information processing methods, information processing devices, programs, recording media, production systems, robot systems, article manufacturing methods
JP2024018550A JP2024040344A (en) 2018-02-05 2024-02-09 Information processing methods, information processing devices, programs, recording media, production systems, robot systems, article manufacturing methods

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018018583A JP7158862B2 (en) 2018-02-05 2018-02-05 Information processing method and information processing device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022163661A Division JP7439206B2 (en) 2018-02-05 2022-10-12 Information processing methods, information processing devices, programs, recording media, production systems, robot systems, article manufacturing methods

Publications (3)

Publication Number Publication Date
JP2019135076A true JP2019135076A (en) 2019-08-15
JP2019135076A5 JP2019135076A5 (en) 2021-03-18
JP7158862B2 JP7158862B2 (en) 2022-10-24

Family

ID=67623992

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2018018583A Active JP7158862B2 (en) 2018-02-05 2018-02-05 Information processing method and information processing device
JP2022163661A Active JP7439206B2 (en) 2018-02-05 2022-10-12 Information processing methods, information processing devices, programs, recording media, production systems, robot systems, article manufacturing methods
JP2024018550A Pending JP2024040344A (en) 2018-02-05 2024-02-09 Information processing methods, information processing devices, programs, recording media, production systems, robot systems, article manufacturing methods

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2022163661A Active JP7439206B2 (en) 2018-02-05 2022-10-12 Information processing methods, information processing devices, programs, recording media, production systems, robot systems, article manufacturing methods
JP2024018550A Pending JP2024040344A (en) 2018-02-05 2024-02-09 Information processing methods, information processing devices, programs, recording media, production systems, robot systems, article manufacturing methods

Country Status (1)

Country Link
JP (3) JP7158862B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021033594A1 (en) * 2019-08-22 2021-02-25 ソニー株式会社 Information processing device, information processing method, and program
JP2021079482A (en) * 2019-11-19 2021-05-27 株式会社日立製作所 Trajectory plan generation device, trajectory plan generation method, and trajectory plan generation program
JP2021084175A (en) * 2019-11-27 2021-06-03 株式会社安川電機 Simulation system, simulation method, simulation program, robot manufacturing method and robot system
CN113386127A (en) * 2020-03-13 2021-09-14 欧姆龙株式会社 Interference determination device and method, and storage medium
WO2022009333A1 (en) * 2020-07-08 2022-01-13 三菱電機株式会社 Robot control device, robot control method, and robot control program
JP7124947B1 (en) 2021-11-08 2022-08-24 株式会社安川電機 Planning Systems, Planning Methods, and Planning Programs
WO2023162168A1 (en) * 2022-02-25 2023-08-31 ファナック株式会社 Information processing device
JP7435434B2 (en) 2020-12-22 2024-02-21 株式会社デンソー Layout generation device, layout generation method, and layout generation program

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0934524A (en) * 1995-07-18 1997-02-07 Kobe Steel Ltd Automatic generation method for moving path of robot manipulator
JP2005309990A (en) * 2004-04-23 2005-11-04 Toyota Motor Corp Path setting method
JP2008269021A (en) * 2007-04-16 2008-11-06 Toyota Motor Corp Method and apparatus for creating path
US8700307B1 (en) * 2013-03-04 2014-04-15 Mitsubishi Electric Research Laboratories, Inc. Method for determining trajectories manipulators to avoid obstacles
JP2015160277A (en) * 2014-02-27 2015-09-07 ファナック株式会社 Robot simulation device for creating motion path of robot
JP2016036895A (en) * 2014-08-11 2016-03-22 ファナック株式会社 Robot program generating device for generating robot program which reduces jerk of drive shaft

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0934524A (en) * 1995-07-18 1997-02-07 Kobe Steel Ltd Automatic generation method for moving path of robot manipulator
JP2005309990A (en) * 2004-04-23 2005-11-04 Toyota Motor Corp Path setting method
JP2008269021A (en) * 2007-04-16 2008-11-06 Toyota Motor Corp Method and apparatus for creating path
US8700307B1 (en) * 2013-03-04 2014-04-15 Mitsubishi Electric Research Laboratories, Inc. Method for determining trajectories manipulators to avoid obstacles
JP2015160277A (en) * 2014-02-27 2015-09-07 ファナック株式会社 Robot simulation device for creating motion path of robot
JP2016036895A (en) * 2014-08-11 2016-03-22 ファナック株式会社 Robot program generating device for generating robot program which reduces jerk of drive shaft

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021033594A1 (en) * 2019-08-22 2021-02-25 ソニー株式会社 Information processing device, information processing method, and program
CN114728418A (en) * 2019-11-19 2022-07-08 株式会社日立制作所 Orbit plan generating device, orbit plan generating method, and orbit plan generating program
JP2021079482A (en) * 2019-11-19 2021-05-27 株式会社日立製作所 Trajectory plan generation device, trajectory plan generation method, and trajectory plan generation program
WO2021100268A1 (en) * 2019-11-19 2021-05-27 株式会社日立製作所 Trajectory plan generation device, trajectory plan generation method, and trajectory plan generation program
CN114728418B (en) * 2019-11-19 2023-09-12 株式会社日立制作所 Track plan generation device, track plan generation method, and recording medium
JP7262373B2 (en) 2019-11-19 2023-04-21 株式会社日立製作所 Trajectory plan generation device, trajectory plan generation method, and trajectory plan generation program
JP2021084175A (en) * 2019-11-27 2021-06-03 株式会社安川電機 Simulation system, simulation method, simulation program, robot manufacturing method and robot system
CN113386127A (en) * 2020-03-13 2021-09-14 欧姆龙株式会社 Interference determination device and method, and storage medium
CN113386127B (en) * 2020-03-13 2023-10-20 欧姆龙株式会社 Interference judging device and method, and storage medium
JPWO2022009333A1 (en) * 2020-07-08 2022-01-13
WO2022009333A1 (en) * 2020-07-08 2022-01-13 三菱電機株式会社 Robot control device, robot control method, and robot control program
JP7313564B2 (en) 2020-07-08 2023-07-24 三菱電機株式会社 ROBOT CONTROL DEVICE, ROBOT CONTROL METHOD, AND ROBOT CONTROL PROGRAM
JP7435434B2 (en) 2020-12-22 2024-02-21 株式会社デンソー Layout generation device, layout generation method, and layout generation program
JP7124947B1 (en) 2021-11-08 2022-08-24 株式会社安川電機 Planning Systems, Planning Methods, and Planning Programs
JP2023069759A (en) * 2021-11-08 2023-05-18 株式会社安川電機 Planning system, planning method, and planning program
WO2023162168A1 (en) * 2022-02-25 2023-08-31 ファナック株式会社 Information processing device

Also Published As

Publication number Publication date
JP7439206B2 (en) 2024-02-27
JP2024040344A (en) 2024-03-25
JP7158862B2 (en) 2022-10-24
JP2022179671A (en) 2022-12-02

Similar Documents

Publication Publication Date Title
US11458626B2 (en) Trajectory generating method, and trajectory generating apparatus
JP7439206B2 (en) Information processing methods, information processing devices, programs, recording media, production systems, robot systems, article manufacturing methods
JP6576255B2 (en) Robot trajectory generation method, robot trajectory generation apparatus, and manufacturing method
EP2969400B1 (en) Reducing energy consumption of industrial robots by using new methods for motion path programming
JP6282140B2 (en) Orbit generation method, robot apparatus, program, and recording medium
JP6167770B2 (en) Multi-axis robot trajectory generation method and multi-axis robot controller
US20180036882A1 (en) Layout setting method and layout setting apparatus
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
KR102030141B1 (en) Method and system for controlling elbow of robot
JP2023540169A (en) Robot joint space graph path planning and movement execution
CN108908347A (en) One kind is towards redundancy mobile mechanical arm error-tolerance type repetitive motion planning method
JP7210201B2 (en) Information processing method, program, recording medium, information processing device, robot system, article manufacturing method
JP2012091304A (en) Teaching data making method and teaching data making device
KR101787865B1 (en) Inverse kinematic solution for multi-joint link mechanism, and device for creating instructional data by using inverse kinematic solution
JP5272447B2 (en) Numerical control machine operation simulator
WO2019208785A1 (en) Robot teaching method and robot teaching system
JP7475841B2 (en) Information processing method, robot system, article manufacturing method, and information processing device
JP2020110884A (en) Robot control device, robot control method, and robot control program
JP7314215B2 (en) Simulator, robot teaching device, robot system, article manufacturing method, simulation method, program and recording medium
EP3784448A1 (en) Method and control system for controlling movement trajectories of a robot
JP7424122B2 (en) Simulation equipment and programs
US20230249347A1 (en) Path planning during execution of robot control
JP4124583B2 (en) Method and apparatus for creating operation path data of work robot
JP2021082222A (en) Information processing method, robot system, article manufacturing method, and information processing unit

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

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220715

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221012

R151 Written notification of patent or utility model registration

Ref document number: 7158862

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151