JP7635442B2 - Information processing method, information processing device, program, recording medium, production system, robot system, and method for manufacturing an article - Google Patents

Information processing method, information processing device, program, recording medium, production system, robot system, and method for manufacturing an article Download PDF

Info

Publication number
JP7635442B2
JP7635442B2 JP2024018550A JP2024018550A JP7635442B2 JP 7635442 B2 JP7635442 B2 JP 7635442B2 JP 2024018550 A JP2024018550 A JP 2024018550A JP 2024018550 A JP2024018550 A JP 2024018550A JP 7635442 B2 JP7635442 B2 JP 7635442B2
Authority
JP
Japan
Prior art keywords
information processing
processing method
robot arm
trajectory
teaching point
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
JP2024018550A
Other languages
Japanese (ja)
Other versions
JP2024040344A (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
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=JP7635442(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2024018550A priority Critical patent/JP7635442B2/en
Publication of JP2024040344A publication Critical patent/JP2024040344A/en
Priority to JP2025020762A priority patent/JP2025079828A/en
Application granted granted Critical
Publication of JP7635442B2 publication Critical patent/JP7635442B2/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

  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

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

従来より、自動車や電機製品などの工業製品の生産システム(生産ライン)に、産業用のロボット装置を配置して溶接や組み立てなどの作業を自動化する構成が知られている。この種の生産システムでは、ロボット装置、ワーク、ワークの置き台、冶具、その他周辺機器などが互いに干渉(接触、衝突)する可能性がある状態で配置される。近年では、このような生産システムのロボット装置のアームの動作軌道の設計作業において、仮想環境を用いたシミュレーションが利用されることがある。 Conventionally, there has been known a configuration in which industrial robot devices are arranged in production systems (production lines) for industrial products such as automobiles and electrical products to automate tasks such as welding and assembly. In this type of production system, the robot device, workpieces, workpiece placement tables, jigs, and other peripheral equipment are arranged in a state where there is a possibility of interference (contact, collision) with one another. In recent years, simulations using virtual environments are sometimes used in the design work of the motion trajectory of the arms of the robot devices in such production systems.

オフラインでシミュレータ装置を使用してロボット装置の動作シミュレーションを行う場合、仮想環境中にロボットアーム、ワーク置き台、冶具、その他の周辺機器などの3D(3次元)モデルを配置する。例えば、このようなシミュレータ装置では、予め作成したロボットアームの教示点の間の軌道を生成し、また、その軌道で仮想環境中のロボットアームの3Dモデルを動作させるシミュレーションを行って検証するものがある。ロボットアームモデルが動作する様子は、シミュレータ装置のディスプレイの仮想表示画面に動画形式などによって表示することができる。 When simulating the operation of a robot device using a simulator offline, 3D (three-dimensional) models of the robot arm, workpiece stand, jigs, and other peripheral equipment are placed in a virtual environment. For example, some such simulator devices generate a trajectory between pre-created teaching points of the robot arm, and verify the operation by simulating the operation of the 3D model of the robot arm in the virtual environment along that trajectory. The operation of the robot arm model can be displayed in video format on the virtual display screen of the simulator device's display.

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

旧来の手法では、ロボットアームが動作不可能な領域に入ったり、周辺機器とロボットアームが干渉したりしないという条件を満たすロボットアームの教示点をオペレータが画面上で試行錯誤的に作成していた。その場合、可動である、干渉しない、という条件がまず考慮されるため、必ずしも最適な動作速度で動作できるロボット軌道が生成されず、サイクルタイムが遅くなってしまう場合があった。その場合には、ロボットアームの教示点を再検討して設置し直す手動作業を行う必要があった。 In the old method, the operator would create teaching points for the robot arm on the screen by trial and error, so that the robot arm would not enter areas where it could not operate, or interfere with peripheral equipment. In this case, because the conditions of being movable and not interfering were taken into consideration first, the robot trajectory that allowed it to operate at the optimal operating speed was not necessarily generated, which could result in slow cycle times. In such cases, it was necessary to manually reconsider and reposition the teaching points for the robot arm.

また、一方で、生産システム(ライン)でロボット装置を用いる場合、工程設計者の教示点作成の工数が大きいので、人件費の高騰も問題となっている。そこで、近年では、教示者による直接教示に代わって、計算機を用いてロボットアームの教示作業を効率化する方法や装置が提案されている。 On the other hand, when using robotic devices in a production system (line), the process designer must spend a lot of time creating teaching points, which leads to rising labor costs. In recent years, therefore, methods and devices have been proposed that use computers to make the teaching work of robotic arms more efficient, instead of direct teaching by an instructor.

下記の非特許文献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 in the joints of the robot arm. Figure 8 shows an outline of the method for generating a trajectory for a robot arm in non-patent document 1. In Figure 8, robot arm A is a simplified robot arm with 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 the positions to which the end of the robot arm A (TCP: Tool Center Point) is moved. Of these positions, p1 indicates the start position (start teaching point) of the operation, and p9 indicates the target position (target teaching point) of the operation. Also, p2 to p8 indicate intermediate command values to be placed between the start position (p1) and the target position (p9). For example, the postures of p1, p2, ..., p9 can be commanded to the robot arm A in sequence for each control cycle, and the robot arm A can perform an operation from p1 to p9. In this case, the operation time of the robot arm between the start position (p1) and the target position (p9) is calculated as the control cycle x (9-1). In the case of Non-Patent Document 1, the number of intermediate command values (p2 to p8) is determined in advance as a constant, which is seven in this case. In Figure 8, the robot arm and obstacle Ob interfere with each other at p4 and p5, but a trajectory that can avoid the 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 angles corresponding to the intermediate command values p2, p3, ..., p8 are smoothly displaced to generate N new intermediate command values ri2, ri3, ..., ri8 (i = 1, ..., N). Next, the intermediate command values ri2, ri3, ..., ri8 (i = 1, ..., N) are evaluated, and the process of displacing the intermediate command values p2, p3, ..., p8 based on the evaluation values is repeated to optimize the trajectory. In Non-Patent Document 1, the amount of penetration between the robot arm A and the obstacle Ob and the motor torque used for each joint axis are used as evaluation values for the intermediate command values. By using such evaluation values, 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 technology 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 axis does not become overloaded. However, in the technology of Non-Patent Document 1, the number of intermediate command values is fixed, and therefore the operation time from the start teaching point (p1) to the target teaching point (p9) is fixed, which causes a problem that, for example, the operation time of the arm cannot be optimized. In addition, when the operation time is fixed, it becomes difficult to satisfy the constraint conditions of the motor torque used for each joint axis and other constraint conditions. Such constraint conditions on the robot operation that are difficult to achieve include, for example, constraint conditions on the joint axis torque, joint angular velocity, joint angular acceleration and jerk, hand speed and hand acceleration. That is, the conventional technology described in Non-Patent Document 1 has the following problems. That is, in an area where the number of intermediate command values is too small, there is no guarantee that the constraint conditions on the robot operation are satisfied, and conversely, in an area where the number of intermediate command values is too large, a trajectory with an optimal operation time cannot be obtained.

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

本発明の一態様は、ロボットアームを動作させる軌道を取得する情報処理方法において、前記ロボットアームを動作させたい第1教示点および第2教示点をユーザが設定するのを受け付け、前記第1教示点から前記第2教示点までの経路を規定する少なくとも2つの中間教示点を取得し、少なくとも2つの前記中間教示点を群として変位させることで中間教示点群を取得し、前記中間教示点群に基づき中間軌道を取得し、前記中間軌道に基づき前記ロボットアームを動作させる軌道を取得する、ことを特徴とする情報処理方法である。
本発明の他の一態様は、ロボットアームを動作させる軌道を取得する情報処理方法において、前記ロボットアームを動作させたい第1教示点および第2教示点をユーザが設定するのを受け付け、前記第1教示点から前記第2教示点までの経路を規定する少なくとも2つの中間教示点を取得し、少なくとも2つの前記中間教示点を群として変位させることで中間教示点群を取得し、前記中間教示点群に基づきの中間軌道を取得し、前記中間軌道を評価する、ことを特徴とする情報処理方法である。
本発明の他の一態様は、ロボットアームを動作させる軌道を取得する情報処理装置において、前記ロボットアームを動作させたい第1教示点および第2教示点をユーザが設定するのを受け付け、前記第1教示点から前記第2教示点までの経路を規定する少なくとも2つの中間教示点を取得し、少なくとも2つの前記中間教示点を群として変位させることで中間教示点群を取得し、前記中間教示点群に基づき中間軌道を取得し、前記中間軌道に基づき前記ロボットアームを動作させる軌道を取得する、ことを特徴とする情報処理装置である。
本発明の他の一態様は、ロボットアームを動作させる軌道を取得する情報処理装置において、前記ロボットアームを動作させたい第1教示点および第2教示点をユーザが設定するのを受け付け、前記第1教示点から前記第2教示点までの経路を規定する少なくとも2つの中間教示点を取得し、少なくとも2つの前記中間教示点を群として変位させることで中間教示点群を取得し、前記中間教示点群に基づき中間軌道を取得し、前記中間軌道を評価する、ことを特徴とする情報処理装置である。
One aspect of the present invention is an information processing method for acquiring a trajectory for operating a robot arm, the information processing method comprising the steps of: accepting a user's setting of a first teaching point and a second teaching point at which the robot arm is desired to operate ; acquiring at least two intermediate teaching points that define a path from the first teaching point to the second teaching point; acquiring a group of intermediate teaching points by displacing the at least two intermediate teaching points as a group; acquiring an intermediate trajectory based on the group of intermediate teaching points; and acquiring a trajectory for operating the robot arm based on the intermediate trajectory .
Another aspect of the present invention is an information processing method for acquiring a trajectory for operating a robot arm, the information processing method comprising the steps of: accepting a user's setting of a first teaching point and a second teaching point at which the robot arm is desired to operate; acquiring at least two intermediate teaching points that define a path from the first teaching point to the second teaching point; acquiring an intermediate teaching point group by displacing the at least two intermediate teaching points as a group; acquiring an intermediate trajectory based on the intermediate teaching point group; and evaluating the intermediate trajectory.
Another aspect of the present invention is an information processing device that acquires a trajectory for operating a robot arm, the information processing device accepts a user's setting of a first teaching point and a second teaching point at which the robot arm is desired to operate, acquires at least two intermediate teaching points that define a path from the first teaching point to the second teaching point, acquires a group of intermediate teaching points by displacing the at least two intermediate teaching points as a group, acquires an intermediate trajectory based on the group of intermediate teaching points, and acquires a trajectory for operating the robot arm based on the intermediate trajectory .
Another aspect of the present invention is an information processing device that acquires a trajectory for operating a robot arm, the information processing device accepts a user's setting of a first teaching point and a second teaching point at which the robot arm is desired to operate, acquires at least two intermediate teaching points that define a path from the first teaching point to the second teaching point, acquires a group of intermediate teaching points by displacing the at least two intermediate teaching points as a group, acquires an intermediate trajectory based on the group of intermediate teaching points, and evaluates the intermediate trajectory.

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

本発明の実施形態に係る軌道生成装置の機能的な構成を示した説明図である。FIG. 2 is an explanatory diagram showing a functional configuration of a trajectory generation device according to an embodiment of the present invention. 本発明の実施形態に係るロボットアームにおける2軸構成を示した説明図である。FIG. 1 is an explanatory diagram showing a two-axis configuration of a robot arm according to an embodiment of the present invention. 本発明の実施形態に係る教示点群と軌道を示した説明図である。FIG. 2 is an explanatory diagram showing a teaching point group and a trajectory according to an embodiment of the present invention. 本発明の実施形態に係る軌道の最適化処理を説明するフローチャート図である。FIG. 11 is a flowchart illustrating a trajectory optimization process according to an embodiment of the present invention. (a)~(e)は本発明の実施形態に係る軌道の最適化処理を示した説明図である。5A to 5E are explanatory diagrams showing a trajectory optimization process according to an embodiment of the present invention. 本発明の実施形態に係る教示点群と軌道を示した説明図である。FIG. 2 is an explanatory diagram showing a teaching point group and a trajectory according to an embodiment of the present invention. (a)~(e)は本発明の実施形態に係る軌道の最適化処理を示した説明図である。5A to 5E are explanatory diagrams showing a trajectory optimization process according to an embodiment of the present invention. 従来技術による軌道制御の手法を示した説明図である。FIG. 1 is an explanatory diagram showing a method of orbit control according to the prior art. 本発明の実施形態に適用可能な制御装置の概略構成を示したブロック図である。1 is a block diagram showing a schematic configuration of a control device applicable to an embodiment of the present invention. 本発明の実施形態に係る生産システムに配置可能なロボット装置を示した説明図である。FIG. 1 is an explanatory diagram showing a robot device that can be arranged in a production system according to an embodiment of the present invention.

以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す構成はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。 Below, a description will be given of an embodiment of the present invention with reference to the attached drawings. Note that the configuration shown below is merely an example, and those skilled in the art can appropriately change the detailed configuration, for example, without departing from the spirit of the present invention. Also, the numerical values used in this embodiment are for reference only and do not limit the present invention.

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

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

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

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

図9の構成が、演算処理部1(図1)の場合には、ユーザーインターフェース装置として、例えばディスプレイ1608(図1の表示部4)、および操作部1609(図1の操作部2)がインターフェース1607に接続される。操作部1609は、例えばフルキーボードおよびポインティングデバイスなどから構成することができ、軌道シミュレーションや検証を行う作業者のためのユーザーインターフェースを構成する。 When the configuration in FIG. 9 is the calculation 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 connected to the interface 1607 as user interface devices. The operation unit 1609 can be configured, for example, from a full keyboard and a pointing device, 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 device 1000 in FIG. 9 includes a network interface 1605 as a communication means for communicating via the network NW. The calculation processing unit 1 (FIG. 1) can transmit and receive control information such as teaching point data and trajectory data to the actual robot arm A (or its robot control device 200 (FIG. 10)) via the network interface 1605 and the network NW. In this case, the network interface 1605 is configured with a communication standard such as wired communication, IEEE 802.3, or wireless communication, IEEE 802.11, 802.15. However, the network NW may of course adopt any other communication standard.

なお、後述の制御手順を実現するためのCPU1601の制御プログラムは、HDDやSSDなどから成る外部記憶装置1604や、ROM1602(の例えばEEPROM領域)のような記憶部に格納しておくこともできる。その場合、後述の制御手順を実現するためのCPU1601の制御プログラムは、ネットワークインターフェース1605を介して、上記の各記憶部に供給し、また新しい(別の)プログラムに更新することができる。あるいは、後述の制御手順を実現するためのCPU1601の制御プログラムは、各種の磁気ディスクや光ディスク、フラッシュメモリなどの記憶手段と、そのためのドライブ装置を経由して、上記の各記憶部に供給し、またその内容を更新することができる。上述の制御手順を実現するためのCPU1601の制御プログラムを格納した状態における各種の記憶手段や記憶部は、本発明の制御手順を格納したコンピュータ読み取り可能な記録媒体を構成することになる。 The control program of the CPU 1601 for implementing the control procedure described below can be stored in a storage unit such as an external storage device 1604 consisting of an HDD or SSD, or a ROM 1602 (for example, an EEPROM area). In this case, the control program of the CPU 1601 for implementing the control procedure described below can be supplied to each of the above storage units via the network interface 1605 and updated to a new (different) program. Alternatively, the control program of the CPU 1601 for implementing the control procedure described below can be supplied to each of the above storage units via various storage means such as magnetic disks, optical disks, and flash memories and drive devices therefor and updated. The various storage means and storage units in a state in which the control program of the CPU 1601 for implementing the above control procedure is stored constitute 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 device 200 (FIG. 10), driver circuits for driving the motors and solenoids (not shown) of each part of the robot arm A in the configuration of FIG. 9 are connected to the interface 1606. In addition, in the case of the robot control device 200, the user interface consisting of the display 1608 and the operation unit 1609 may be replaced with an operation terminal such as a teaching pendant (e.g., 204 in FIG. 10).

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

図2は、本実施形態において、軌道生成の対象となるロボットアームの例である。図2のロボットアームAは、説明を容易にするため、簡略化した構成で図示されている。 Figure 2 shows an example of a robot arm for which trajectory generation is to be performed in this embodiment. Robot arm A in Figure 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 has two axes J1 and J2 consisting of two rotary joints. Hereinafter, the joint angles (joint positions) of the axes J1 and J2 of these joints are expressed as θ1 and θ2, respectively. Furthermore, a TCP (Tool Center Point) is defined as a reference position at the tip of the axis J2. In this embodiment, the teaching point that defines the position of the robot arm A is expressed as the position of this TCP. Furthermore, the trajectory of the robot arm A to be generated is generated as the trajectory along which this TCP moves.

一般に、軸J1、J2の関節角度θ1、θ2が与えられた場合、運動学的な演算によりTCPの位置を取得でき、また、TCPの位置が与えられた場合、逆運動学的な演算によりTCPがその位置を取る時の軸J1、J2の関節角度θ1、θ2を取得できる。以下では、TCPに言及する場合、単に「手先」と呼ぶ場合がある。 In general, 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 calculations, and when the position of the TCP is given, the joint angles θ1 and θ2 of the axes J1 and J2 when the TCP is in that position can be obtained by inverse kinematic calculations. In the following, when referring to the TCP, it may be simply called the "hand".

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

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

ここで、開始教示点、目標教示点をそれぞれPs、Pgとする。また、開始教示点と、目標教示点の間に配置する教示点を、中間教示点と呼び、P1、P2、…、Pnと表現するものとする。また、P1、P2、…、Pnを総称する場合は、中間教示点群と呼ぶことがある。 Here, the start teaching point and the target teaching point are Ps and Pg, respectively. The teaching points located between the start teaching point and the target teaching point are called intermediate teaching points and expressed as P1, P2, ..., Pn. When P1, P2, ..., Pn are collectively referred to, they may be called a group of intermediate teaching points.

中間教示点群P1、P2、…Pnを曲線で滑らかに補間する方法として、Spline補間、B-Spline補間、ベジェ曲線補間といった補間方法が知られている。これらの補間方法を用い、教示点間を滑らかに繋ぐ経路を生成することにより、ロボットアームAを滑らかに動作させることができる。 As a method for smoothly interpolating the group of intermediate teaching points P1, P2, ... Pn with a curve, there are known interpolation methods such as Spline interpolation, B-Spline interpolation, and Bezier curve interpolation. By using these interpolation methods to generate a path that smoothly connects the teaching points, it is possible to operate the robot arm A smoothly.

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

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

図3は、ロボットアームA(を模擬する3Dモデル:ロボットアームモデル)、および障害物Ob(を模擬する3Dモデル:障害物モデル)がともに動作環境(仮想環境)に配置されている様子を示している。また、図3では、開始教示点Ps、目標教示点Pg、と、中間教示点群P1、P2、…Pnと、それにより生成される軌道(p1、p2、…pt)を示してある。 Figure 3 shows a robot arm A (3D model simulating it: robot arm model) and an obstacle Ob (3D model simulating it: obstacle model) both placed in an operating environment (virtual environment). Figure 3 also shows a start teaching point Ps, a target teaching point Pg, and a group of intermediate teaching points 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 Figure 3, the robot arm A interferes with the obstacle Ob at p4 and p5, and on this trajectory it is not possible to move from the starting teaching point Ps to the target teaching point Pg. The objective of this embodiment is to find an optimal group of intermediate teaching points P1, P2, ... Pn between the starting teaching point Ps and the target teaching point Pg, where the robot arm does not interfere with the obstacle (and other constraints are also satisfied). Note that the obstacle Ob is not limited to being stationary, and even if it is moving, the optimization calculation of the trajectory is possible.

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

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

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

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

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

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

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

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

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

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

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

ステップ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 saved. The saved intermediate teaching point groups are denoted as Ri1, Ri2, ... Rin to distinguish them from other saved intermediate teaching point groups. i indicates the order in which they were saved.

ステップS106では、保存した中間教示点群および軌道が、ある定数N個になったか否かを判定する。ステップS106で、保存した中間教示点群および軌道がN個に達していなければ、ステップS102に戻り、N個になっていれば、ステップS107に進む。 In step S106, it is determined whether the number of stored intermediate teaching points and trajectories has reached a certain constant N. If the number of stored intermediate teaching points and trajectories has not reached N in step S106, the process returns to step S102, and if the number 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, evaluation values are assigned to the N stored intermediate teaching point groups Ri1, Ri2, ... Rin (i = 1 to N) (Figure 5 (d): evaluation step). In this embodiment, these evaluation values are used to displace (move) the intermediate teaching point group P1, P2, ... Pn (first intermediate teaching point group) to generate an optimal trajectory.

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

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

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

ステップ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 group P1, P2, ... Pn is moved based on the evaluation values of the N intermediate teaching point groups Ri1, Ri2, ... Rin (i = 1 to N) (Figure 5 (e)). One method of this movement is, for example, to move the intermediate teaching point group P1, P2, ... Pn to the intermediate teaching point group with the lowest (best) evaluation value among the intermediate teaching point groups Ri1, Ri2, ... Rin (i = 1 to N). In the example of Figure 5 (e), the intermediate teaching point group P1, P2, ... Pn (in the first intermediate teaching point group) is moved to the position of the intermediate teaching point group R11, R12 ... R1n with the smallest (closest to 0) interference amount.

また、中間教示点群Ri1、Ri2、…Rin(i = 1~N)の評価値の逆数を重みとして、N個の中間教示点群Ri1、Ri2、…Rin(i = 1~N)の重み付き平均をとり、中間教示点群P1、P2、…Pnを移動させる方法を用いてもよい。 Alternatively, a method may be used in which the inverse of the evaluation value of the intermediate teaching point group Ri1, Ri2, ... Rin (i = 1 to N) is used as the weight, a weighted average of N intermediate teaching point groups Ri1, Ri2, ... Rin (i = 1 to N) is taken, and the intermediate teaching point groups P1, P2, ... Pn are moved.

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

あるいは、ステップS102~ステップS109のループを実行する上限回数を定めておいてもよい。その場合、ステップS109でその上限回数に達している場合は、それ以上の試行を諦めてステップS110に進む。あるいは適当なエラーメッセージを表示部4で出力する、といったエラー処理を行うことにしてもよい。 Alternatively, an upper limit on the number of times the loop from step S102 to step S109 is executed may be set. In this case, if the upper limit is reached in step S109, further attempts are abandoned and the process proceeds to step S110. Alternatively, an error handling process may be performed, such as outputting an appropriate error message on the display unit 4.

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

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

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

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

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

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

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

既に実施形態1の最適化処理を経て出力された中間教示点群P1、P2、…Pnを初期値とすることにより、既に障害物を回避済みの軌道の動作時間を縮める最適化を行うことができる。このように、本発明の最適化制御手順(図4)は、2パス(あるいはそれ以上の複数パス)で用いることができ、その場合、各パスにおいて、異なる制約条件を作用させることによって、各制約条件について最適化された軌道を取得することができる。 By using the intermediate teaching point group P1, P2, ... Pn that has already been output through the optimization process of embodiment 1 as initial values, it is possible to perform optimization to shorten the operating time of a trajectory that has already avoided obstacles. In this way, the optimization control procedure of the present invention (Figure 4) can be used in two passes (or multiple passes), in which case a trajectory optimized for each constraint condition can be obtained by applying different constraint conditions in each pass.

実施形態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. 5(c)), and in step S104 of FIG. 4, when determining whether the trajectory of this second intermediate teaching point group satisfies the constraints, it is determined whether it is within the movable range of the robot arm A. In this embodiment, a new intermediate teaching point group R1, R2, ... Rn (second intermediate teaching point group) is generated (FIG. 7(c)), and in addition to determining whether it is within the movable range, it is also determined whether the robot arm A is interfering with an obstacle Ob. If it is interfering with an obstacle, the intermediate teaching point group R1, R2, ... Rn is 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, in step S107 in FIG. 4, the trajectory is evaluated using the interference time or the amount of penetration as the evaluation value. In this embodiment, the trajectory is evaluated using the operation time of the robot arm A as the evaluation value (FIG. 7(d)). This makes it possible to generate an intermediate teaching point group P1, P2, ... Pn that has the shortest operation time. In the example of FIG. 7(d), 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, and 150 for R31, R32 ... R3n. Here, the intermediate teaching point group R21, R22 ... R2n with the smallest amount of interference (small operation time value) has the best evaluation value.

また、実施形態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, one of the conditions for aborting step S109 in FIG. 4 is that the evaluation value becomes 0. In contrast, in the present embodiment, a method of setting an upper limit on the number of times steps S102 to S109 are repeated, or a method of setting an upper limit on the number of times the evaluation value of the intermediate teaching point group P1, P2, ... Pn does not change (almost) continuously, is used. For example, if the operation time cannot be shortened any further, the loop of steps S102 to S109 is exited, and the intermediate teaching point group P1, P2, ... Pn that provides the shortest time is output in step S110 (FIG. 7(e)). Alternatively, in the second embodiment, in step S110, it is not necessary to output the intermediate teaching point group P1, P2, ... Pn in the final moving state as the optimized teaching point. For example, a history of changes in the intermediate teaching point group P1, P2, ... Pn in the repetition of steps S102 to S108 may be recorded, and the one with the highest evaluation may be output.

以上に示したように、本実施形態によれば、障害物を回避し、トルク制約などの物理的制約を守った上で、さらに動作時間を最短とする軌道を生成できるという効果がある。特に、最適化制御手順(図4)は、2パス(あるいはそれ以上の複数パス)で用いることができ、その場合、各パスにおいて、異なる制約条件を作用させることによって、各制約条件について最適化された軌道を取得することができる。 As described above, this embodiment has the advantage of being able to generate a trajectory that avoids obstacles, observes physical constraints such as torque constraints, and also minimizes the operating time. In particular, the optimization control procedure (Figure 4) can be used in two passes (or multiple passes), in which case a trajectory optimized for each constraint can be obtained by applying different constraint conditions in each pass.

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

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

アーム本体201の先端(手先)には、例えばハンド202のようなツールが装着され、このハンド202によって、ワーク203を把持し、ワーク203を組み付けたり、加工したりする生産作業を行わせることができる。ワーク203は、自動車や電機製品などの工業製品の例えば部品であって、ロボットアームAはこのような生産システム(生産ライン)に生産装置として配置することができる。 A tool such as a hand 202 is attached to the tip (hand tip) of the arm body 201, and this hand 202 can grip a workpiece 203 and perform production work such as assembling or processing the workpiece 203. 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 placed in such a production system (production line) as a production device.

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

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

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

ロボットアームを動作させる軌道を取得する情報処理方法において、
前記ロボットアームを動作させたい第1教示点および第2教示点をユーザが設定するのを受け付け、
前記第1教示点から前記第2教示点までの経路を規定する少なくとも2つの中間教示点を取得し、
少なくとも2つの前記中間教示点を群として変位させることで中間教示点群を取得し、
前記中間教示点群に基づき中間軌道を取得し、
前記中間軌道に基づき前記ロボットアームを動作させる軌道を取得する、
ことを特徴とする情報処理方法。
1. An information processing method for acquiring a trajectory for operating a robot arm, comprising:
Accepting a user's setting of a first teaching point and a second teaching point at which the robot arm is to be operated;
obtaining at least two intermediate teaching points that define a path from the first teaching point to the second teaching point;
Obtaining a group of intermediate teaching points by displacing at least two of the intermediate teaching points as a group;
Acquire an intermediate trajectory based on the intermediate teaching point group;
obtaining a trajectory for moving the robot arm based on the intermediate trajectory;
23. An information processing method comprising:
請求項1に記載の情報処理方法において、
少なくとも2つの前記中間教示点を変位させ、前記第1教示点および前記第2教示点を変位させないようにして、前記ロボットアームを動作させる軌道を取得する、
ことを特徴とする情報処理方法。
2. The information processing method according to claim 1,
obtaining a trajectory for moving the robot arm by displacing at least two of the intermediate teaching points and not displacing the first teaching point and the second teaching point;
23. An information processing method comprising:
請求項1または2に記載の情報処理方法において、
少なくとも2つの前記中間教示点を、ポテンシャル法、PRM (Probabilistic RoadMap)、RRT (Rapidly-exploring Random Tree)、可視グラフ法、セル分割法、ボロノイ図法、の少なくとも1つを用いて取得する、
ことを特徴とする情報処理方法。
3. The information processing method according to claim 1 ,
The at least two intermediate teaching points are obtained using at least one of a potential method, a probabilistic road map (PRM), a rapidly-exploring random tree (RRT), a visibility graph method, a cell division method, and a Voronoi diagram method;
23. An information processing method comprising:
請求項1または2に記載の情報処理方法において、3. The information processing method according to claim 1,
少なくとも2つの前記中間教示点をユーザが設定するのを受け付ける、Accepting a user's setting of at least two of the intermediate teaching points;
ことを特徴とする情報処理方法。23. An information processing method comprising:
請求項1から4のいずれか1項に記載の情報処理方法において、
少なくとも2つの前記中間教示点それぞれに値を加算することで群として変位させ、前記中間教示点群を取得する
ことを特徴とする情報処理方法。
5. The information processing method according to claim 1 ,
Adding a value to each of at least two of the intermediate teaching points to displace them as a group, thereby obtaining the group of intermediate teaching points.
23. An information processing method comprising:
請求項5に記載の情報処理方法において、6. The information processing method according to claim 5,
前記変位は相関のある乱数に基づいて付与される、The displacement is based on correlated random numbers.
ことを特徴とする情報処理方法。23. An information processing method comprising:
請求項6に記載の情報処理方法において、7. The information processing method according to claim 6,
少なくとも2つの前記中間教示点は隣り合っており、隣り合った少なくとも2つの前記中間教示点に前記乱数に基づき前記変位を付与する、At least two of the intermediate teaching points are adjacent to each other, and the displacement is given to the at least two adjacent intermediate teaching points based on the random number.
ことを特徴とする情報処理方法。23. An information processing method comprising:
請求項6または7に記載の情報処理方法において、8. The information processing method according to claim 6,
分散共分散行列における共分散に正の値を付与することで前記乱数に相関を持たせる、Correlating the random numbers by assigning positive values to the covariances in a variance-covariance matrix;
ことを特徴とする情報処理方法。23. An information processing method comprising:
請求項1から8のいずれか1項に記載の情報処理方法において、
少なくとも2つの前記中間教示点を群として変位させることで少なくとも2つの前記中間教示点群を取得し、
少なくとも2つの前記中間教示点群を曲線補間することで少なくとも2つの前記中間軌道を取得し、
曲線補間によって取得した少なくとも2つの前記中間軌道において、前記ロボットアームと物体との干渉を評価する、
ことを特徴とする情報処理方法。
9. The information processing method according to claim 1 ,
Obtaining at least two groups of intermediate teaching points by displacing at least two of the intermediate teaching points as a group;
At least two of the intermediate teaching point groups are subjected to curve interpolation to obtain at least two of the intermediate trajectories;
evaluating interference between the robot arm and an object in at least two of the intermediate trajectories obtained by curved line interpolation;
23. An information processing method comprising:
請求項に記載の情報処理方法において、
曲線補間によって取得した少なくとも2つの前記中間軌道において、前記ロボットアームと物体との干渉を評価し、曲線補間によって取得した少なくとも2つの前記中間軌道の内、干渉の評価に基づき所定中間軌道を選択し、
前記所定中間軌道をさらに変化させ、前記ロボットアームと物体との干渉を制約条件として用い、前記ロボットアームと物体とが干渉していない新たな少なくとも2つの中間軌道を取得し、
前記新たな少なくとも2つの中間軌道において、前記ロボットアームと物体との干渉以外の項目を評価する、
ことを特徴とする情報処理方法。
10. The information processing method according to claim 9 ,
evaluating interference between the robot arm and an object in at least two of the intermediate trajectories obtained by curved interpolation; and selecting a predetermined intermediate trajectory from the at least two intermediate trajectories obtained by curved interpolation based on the interference evaluation;
Further modifying the predetermined intermediate trajectory and using the interference between the robot arm and the object as a constraint condition to obtain at least two new intermediate trajectories in which the robot arm and the object do not interfere with each other;
Evaluating items other than interference between the robot arm and an object in the at least two new intermediate trajectories.
23. An information processing method comprising:
請求項10に記載の情報処理方法において、The information processing method according to claim 10,
前記所定中間軌道における少なくとも2つの中間教示点を変位させることで新たな中間教示点群を取得し、Acquire a new group of intermediate teaching points by displacing at least two intermediate teaching points on the predetermined intermediate trajectory;
当該新たな中間教示点群を曲線補間することで新たな中間軌道を取得し、A new intermediate trajectory is obtained by performing curve interpolation on the new intermediate teaching point group.
当該新たな中間軌道において前記ロボットアームを動作させる場合に前記ロボットアームが物体と干渉する場合、当該新な中間教示点群を無効とし、If the robot arm interferes with an object when operating the robot arm on the new intermediate trajectory, the new intermediate teaching point group is invalidated;
再度、前記所定中間軌道における少なくとも2つの中間教示点を変位させることで新たな中間教示点群を取得し、当該新たな中間教示点群を曲線補間することで新たな中間軌道を取得する、again, by displacing at least two intermediate teaching points on the predetermined intermediate trajectory, a new group of intermediate teaching points is obtained, and a new intermediate trajectory is obtained by performing curve interpolation on the new group of intermediate teaching points.
ことを特徴とする情報処理方法。23. An information processing method comprising:
請求項10または11に記載の情報処理方法において、12. The information processing method according to claim 10,
前記ロボットアームと物体との干渉以外の項目として、前記ロボットアームを動作させる動作時間に基づき評価する、As an item other than the interference between the robot arm and an object, the evaluation is based on an operation time for operating the robot arm.
ことを特徴とする情報処理方法。23. An information processing method comprising:
請求項9から12のいずれか1項に記載の情報処理方法において、
Spline補間、B-Spline補間、ベジェ曲線補間、のうちの少なくとも1つを用いて少なくとも2つの前記中間教示点群を曲線補間する、
ことを特徴とする情報処理方法。
13. The information processing method according to claim 9 ,
Curve-interpolating at least two of the intermediate teaching point groups using at least one of Spline interpolation, B-Spline interpolation, and Bezier curve interpolation;
23. An information processing method comprising:
請求項に記載の情報処理方法において、
少なくとも2つの前記中間教示点を、表示部へのユーザの入力により取得する、
ことを特徴とする情報処理方法。
5. The information processing method according to claim 4 ,
At least two of the intermediate teaching points are obtained by a user's input to a display unit.
23. An information processing method comprising:
請求項14に記載の情報処理方法において、
表示部に前記ロボットアームが動作する空間を仮想的に表示した仮想環境を表示し、前記仮想環境へのユーザの入力を受け付け少なくとも2つの前記中間教示点を取得する、
ことを特徴とする情報処理方法。
15. The information processing method according to claim 14 ,
displaying a virtual environment on a display unit, the virtual environment being a virtual display of a space in which the robot arm operates; and receiving a user's input to the virtual environment to obtain at least two of the intermediate teaching points;
23. An information processing method comprising:
請求項1から15のいずれか1項に記載の情報処理方法において、
表示部へのユーザの入力により、前記第1教示点および前記第2教示点の設定を受け付ける、
ことを特徴とする情報処理方法。
16. The information processing method according to claim 1,
accepting settings of the first teaching point and the second teaching point through a user's input to a display unit;
23. An information processing method comprising:
請求項1に記載の情報処理方法において、
表示部に前記ロボットアームが動作する空間を仮想的に表示した仮想環境を表示し、前記仮想環境へユーザの入力により前記第1教示点および前記第2教示点の設定を受け付ける、
ことを特徴とする情報処理方法。
The information processing method according to claim 16 ,
displaying a virtual environment on a display unit, the virtual environment being a virtual display of a space in which the robot arm operates, and accepting settings of the first teaching point and the second teaching point by a user's input into the virtual environment;
23. An information processing method comprising:
請求項1から1のいずれか1項に記載の情報処理方法において、
所定条件を満たす、前記ロボットアームを動作させる軌道が取得できない場合、エラーを通知する、
ことを特徴とする情報処理方法。
The information processing method according to any one of claims 1 to 17 ,
If a trajectory for moving the robot arm that satisfies a predetermined condition cannot be acquired, an error is notified.
23. An information processing method comprising:
請求項1から1のいずれか1項に記載の情報処理方法において、
取得された前記ロボットアームを動作させる軌道を表示部に表示する、
ことを特徴とする情報処理方法。
The information processing method according to any one of claims 1 to 18 ,
displaying the acquired trajectory for moving the robot arm on a display unit;
23. An information processing method comprising:
請求項1から1のいずれか1項に記載の情報処理方法において、
取得された前記ロボットアームを動作させる軌道を前記ロボットアームを制御する制御装置に出力する、
ことを特徴とする情報処理方法。
The information processing method according to any one of claims 1 to 19 ,
outputting the acquired trajectory for moving the robot arm to a control device that controls the robot arm ;
23. An information processing method comprising:
ロボットアームを動作させる軌道を取得する情報処理方法において、1. An information processing method for acquiring a trajectory for operating a robot arm, comprising:
前記ロボットアームを動作させたい第1教示点および第2教示点をユーザが設定するのを受け付け、Accepting a user's setting of a first teaching point and a second teaching point at which the robot arm is to be operated;
前記第1教示点から前記第2教示点までの経路を規定する少なくとも2つの中間教示点を取得し、obtaining at least two intermediate teaching points that define a path from the first teaching point to the second teaching point;
少なくとも2つの前記中間教示点を群として変位させることで中間教示点群を取得し、Obtaining a group of intermediate teaching points by displacing at least two of the intermediate teaching points as a group;
前記中間教示点群に基づき中間軌道を取得し、Acquire an intermediate trajectory based on the intermediate teaching point group;
前記中間軌道を評価する、evaluating the intermediate trajectory;
ことを特徴とする情報処理方法。23. An information processing method comprising:
請求項1から21のいずれか1項に記載の情報処理方法をコンピュータに実行させるプログラム。 A program causing a computer to execute the information processing method according to any one of claims 1 to 21 . 請求項22に記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。 A computer-readable recording medium storing the program according to claim 22 . ロボットアームを動作させる軌道を取得する情報処理装置において、
前記ロボットアームを動作させたい第1教示点および第2教示点をユーザが設定するのを受け付け、
前記第1教示点から前記第2教示点までの経路を規定する少なくとも2つの中間教示点を取得し、
少なくとも2つの前記中間教示点を群として変位させることで中間教示点群を取得し、
前記中間教示点群に基づき中間軌道を取得し、
前記中間軌道に基づき前記ロボットアームを動作させる軌道を取得する、
ことを特徴とする情報処理装置。
In an information processing device that acquires a trajectory for operating a robot arm,
Accepting a user's setting of a first teaching point and a second teaching point at which the robot arm is to be operated;
obtaining at least two intermediate teaching points that define a path from the first teaching point to the second teaching point;
Obtaining a group of intermediate teaching points by displacing at least two of the intermediate teaching points as a group;
Acquire an intermediate trajectory based on the intermediate teaching point group;
obtaining a trajectory for moving the robot arm based on the intermediate trajectory;
23. An information processing apparatus comprising:
ロボットアームを動作させる軌道を取得する情報処理装置において、In an information processing device that acquires a trajectory for operating a robot arm,
前記ロボットアームを動作させたい第1教示点および第2教示点をユーザが設定するのを受け付け、Accepting a user's setting of a first teaching point and a second teaching point at which the robot arm is to be operated;
前記第1教示点から前記第2教示点までの経路を規定する少なくとも2つの中間教示点を取得し、obtaining at least two intermediate teaching points that define a path from the first teaching point to the second teaching point;
少なくとも2つの前記中間教示点を群として変位させることで中間教示点群を取得し、Obtaining a group of intermediate teaching points by displacing at least two of the intermediate teaching points as a group;
前記中間教示点群に基づき中間軌道を取得し、Acquire an intermediate trajectory based on the intermediate teaching point group;
前記中間軌道を評価する、evaluating the intermediate trajectory;
ことを特徴とする情報処理装置。23. An information processing apparatus comprising:
請求項1から21のいずれか1項に記載の情報処理方法を用いて取得された軌道で前記ロボットアームを動作させてワークの組み立てを行い、物品を製造する生産システム。 A production system that manufactures an article by operating the robot arm along a trajectory acquired using the information processing method according to any one of claims 1 to 21 to assemble a workpiece. 請求項1から21のいずれか1項に記載の情報処理方法を用いて取得された軌道に基づき動作が制御される前記ロボットアームを備えたロボットシステム。 A robot system comprising the robot arm, the operation of which is controlled based on a trajectory obtained using the information processing method according to any one of claims 1 to 21 . 請求項1から21のいずれか1項に記載の情報処理方法を用いて取得された軌道で前記ロボットアームを動作させてワークの組み立てを行い、物品を製造する物品の製造方法。 A method for manufacturing an article, comprising operating the robot arm along a trajectory acquired using the information processing method according to any one of claims 1 to 21 to assemble a workpiece and manufacture the article.
JP2024018550A 2018-02-05 2024-02-09 Information processing method, information processing device, program, recording medium, production system, robot system, and method for manufacturing an article Active JP7635442B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2024018550A JP7635442B2 (en) 2018-02-05 2024-02-09 Information processing method, information processing device, program, recording medium, production system, robot system, and method for manufacturing an article
JP2025020762A JP2025079828A (en) 2018-02-05 2025-02-12 Information processing method, information processing device, program, recording medium, production system, robot system, and method for manufacturing an article

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018018583A JP7158862B2 (en) 2018-02-05 2018-02-05 Information processing method and information processing device
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 JP7635442B2 (en) 2018-02-05 2024-02-09 Information processing method, information processing device, program, recording medium, production system, robot system, and method for manufacturing an article

Related Parent 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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2025020762A Division JP2025079828A (en) 2018-02-05 2025-02-12 Information processing method, information processing device, program, recording medium, production system, robot system, and method for manufacturing an article

Publications (2)

Publication Number Publication Date
JP2024040344A JP2024040344A (en) 2024-03-25
JP7635442B2 true JP7635442B2 (en) 2025-02-25

Family

ID=67623992

Family Applications (4)

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 Active JP7635442B2 (en) 2018-02-05 2024-02-09 Information processing method, information processing device, program, recording medium, production system, robot system, and method for manufacturing an article
JP2025020762A Pending JP2025079828A (en) 2018-02-05 2025-02-12 Information processing method, information processing device, program, recording medium, production system, robot system, and method for manufacturing an article

Family Applications Before (2)

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

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2025020762A Pending JP2025079828A (en) 2018-02-05 2025-02-12 Information processing method, information processing device, program, recording medium, production system, robot system, and method for manufacturing an article

Country Status (1)

Country Link
JP (4) JP7158862B2 (en)

Families Citing this family (13)

* 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
JP7262373B2 (en) 2019-11-19 2023-04-21 株式会社日立製作所 Trajectory plan generation device, trajectory plan generation method, and trajectory plan generation program
JP6792184B1 (en) * 2019-11-27 2020-11-25 株式会社安川電機 Simulation systems, simulation methods, simulation programs, robot manufacturing methods, and robot systems
JP7484254B2 (en) * 2020-03-13 2024-05-16 オムロン株式会社 Interference detection device, method, and program
CN115702064B (en) * 2020-07-08 2025-10-10 三菱电机株式会社 Robot control device and robot control method
JP7509880B2 (en) * 2020-07-10 2024-07-02 ファナック株式会社 Trajectory generation device and automatic position control device
JP2022092386A (en) * 2020-12-10 2022-06-22 株式会社栗本鐵工所 Forging press and method for controlling the same
JP7435434B2 (en) * 2020-12-22 2024-02-21 株式会社デンソー Layout generation device, layout generation method, and layout generation program
EP4052865A1 (en) * 2021-03-05 2022-09-07 Canon Kabushiki Kaisha Information processing apparatus, robot system, information processing method, program, and recording medium
JP7124947B1 (en) 2021-11-08 2022-08-24 株式会社安川電機 Planning Systems, Planning Methods, and Planning Programs
CN118632766A (en) 2022-02-04 2024-09-10 三菱电机株式会社 Track Generator
US20250135647A1 (en) * 2022-02-25 2025-05-01 Fanuc Corporation Information processing apparatus
JP7726845B2 (en) 2022-06-10 2025-08-20 株式会社神戸製鋼所 Robot motion trajectory generation method, motion trajectory generation device, robot system, and program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006068890A (en) 2004-09-06 2006-03-16 Seiko Epson Corp Orbit determination system and orbit determination method
JP2008269021A (en) 2007-04-16 2008-11-06 Toyota Motor Corp Route creation method and route creation device
JP2009211571A (en) 2008-03-06 2009-09-17 Sony Corp Course planning device, course planning method, and computer program
JP2014073550A (en) 2012-10-04 2014-04-24 Seiko Epson Corp Path searching method, path searching device, robot control device, robot, and program

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06102919A (en) * 1992-09-22 1994-04-15 Nippon Telegr & Teleph Corp <Ntt> Method for teaching robot trajectories
JP2875498B2 (en) * 1995-07-18 1999-03-31 株式会社神戸製鋼所 Automatic generation method of movement path of robot manipulator
JPH09146621A (en) * 1995-11-01 1997-06-06 Mitsubishi Electric Corp Robot simulation device
JP4667764B2 (en) * 2004-04-23 2011-04-13 トヨタ自動車株式会社 Route setting method
US8700307B1 (en) * 2013-03-04 2014-04-15 Mitsubishi Electric Research Laboratories, Inc. Method for determining trajectories manipulators to avoid obstacles
JP5860081B2 (en) * 2014-02-27 2016-02-16 ファナック株式会社 Robot simulation device that generates robot motion path
JP5908544B2 (en) * 2014-08-11 2016-04-26 ファナック株式会社 Robot program generation device for generating a robot program for reducing drive shaft jerk

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006068890A (en) 2004-09-06 2006-03-16 Seiko Epson Corp Orbit determination system and orbit determination method
JP2008269021A (en) 2007-04-16 2008-11-06 Toyota Motor Corp Route creation method and route creation device
JP2009211571A (en) 2008-03-06 2009-09-17 Sony Corp Course planning device, course planning method, and computer program
JP2014073550A (en) 2012-10-04 2014-04-24 Seiko Epson Corp Path searching method, path searching device, robot control device, robot, and program

Also Published As

Publication number Publication date
JP2025079828A (en) 2025-05-22
JP7158862B2 (en) 2022-10-24
JP2019135076A (en) 2019-08-15
JP7439206B2 (en) 2024-02-27
JP2024040344A (en) 2024-03-25
JP2022179671A (en) 2022-12-02

Similar Documents

Publication Publication Date Title
JP7635442B2 (en) Information processing method, information processing device, program, recording medium, production system, robot system, and method for manufacturing an article
US11458626B2 (en) Trajectory generating method, and trajectory generating apparatus
JP7210201B2 (en) Information processing method, program, recording medium, information processing device, robot system, article manufacturing method
JP6576255B2 (en) Robot trajectory generation method, robot trajectory generation apparatus, and manufacturing method
US20180036882A1 (en) Layout setting method and layout setting apparatus
CN104858876A (en) Visual debugging of robotic tasks
CN112041128B (en) Robot teaching methods and robot teaching systems
JP7237447B2 (en) Information processing method, program, recording medium, information processing device, robot system, and article manufacturing method
JP6750909B2 (en) Robot trajectory generation method, robot trajectory generation apparatus, and manufacturing method
JP7528028B2 (en) Information processing device, information processing method, robot system, article manufacturing method, program, and recording medium
WO2022137581A1 (en) Simulation device and simulation program
JP7314215B2 (en) Simulator, robot teaching device, robot system, article manufacturing method, simulation method, program and recording medium
JP2024536349A (en) Velocity presets for kinematic trajectory determination
CN120882535A (en) Improved sample-based graph generation method and apparatus for robot online path planning
JP5272447B2 (en) Numerical control machine operation simulator
JP7475841B2 (en) Information processing method, robot system, article manufacturing method, and information processing device
Fauadi et al. Modeling and simulation of programmable universal machine for assembly (PUMA) industrial robot for automotive-related assembly process
Vicentini et al. Methods for Obtaining Inverse Kinematics in Industrial Robots: A Comparative Study
Sychova Motion Control of the Angular Type Educational Manipulator Using Visual Components
US20240335944A1 (en) Method of Controlling Industrial Device Comprising Manipulator, Control System and Industrial Device
CN121061857A (en) Robot mechanical arm motion space simulation method and system and photovoltaic robot
CN116460840A (en) Planning for safety-oriented monitoring of multi-axis kinematic systems with several motion segments
Baizid et al. Virtual reality based tool for optimal robot placement in robotized site based on CAD’s application programming interface
Shabeeb Dr. Laith Abdullah Mohammed Assistant Professor
Villaverde et al. International Journal of Technology

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240308

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240308

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20241001

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20241129

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250212

R150 Certificate of patent or registration of utility model

Ref document number: 7635442

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150