JP7158862B2 - Information processing method and information processing device - Google Patents

Information processing method and information processing device Download PDF

Info

Publication number
JP7158862B2
JP7158862B2 JP2018018583A JP2018018583A JP7158862B2 JP 7158862 B2 JP7158862 B2 JP 7158862B2 JP 2018018583 A JP2018018583 A JP 2018018583A JP 2018018583 A JP2018018583 A JP 2018018583A JP 7158862 B2 JP7158862 B2 JP 7158862B2
Authority
JP
Japan
Prior art keywords
information processing
processing method
trajectory
robot arm
method characterized
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
JP2018018583A
Other languages
Japanese (ja)
Other versions
JP2019135076A (en
JP2019135076A5 (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=JP7158862(B2) "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]

Description

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

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

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

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

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

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

下記の非特許文献1では、ロボットアームの周りの障害物との干渉を回避し、なおかつロボットアームの関節に用いるモータのトルクを最小にする軌道の生成方法が開示されている。図8は、非特許文献1におけるロボットアームの軌道生成の手法を概略的に示している。図8において、ロボットアームAは、J1、および、J2の2つの回転軸を持つ2自由度に簡略化されたロボットアームで、Obは障害物を示している。 Non-Patent Document 1 below discloses a trajectory generation method that avoids interference with obstacles around a robot arm and minimizes the torque of motors used for the joints of the robot arm. FIG. 8 schematically shows the method of generating the trajectory of the robot arm in Non-Patent Document 1. As shown in FIG. In FIG. 8, the robot arm A is a simplified robot arm with two degrees of freedom having two rotation axes J1 and J2, and Ob indicates 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, . Of these positions, p1 indicates the motion start position (start teaching point), and p9 indicates the target position (target teaching point) of the motion. Also, p2 to p8 indicate intermediate command values arranged between the start position (p1) and the target position (p9). For example, postures p1, p2, . In this case, the operating 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 is seven in this case. In FIG. 8, the robot arm and the obstacle Ob interfere with each other at points p4 and p5.

まず、中間指令値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, . Next, the intermediate command values ri2, ri3, . . . ri8 (i=1, . . . N) are evaluated, and the intermediate command values p2, p3, . 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 value. 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 axis does not become overloaded. However, in the technique of Non-Patent Document 1, the number of intermediate command values is a fixed number. There is a problem that time cannot be optimized. Moreover, if the operation time is fixed, it becomes difficult to satisfy the constraint of the motor torque used for each joint axis and other constraints. Constraints relating to such difficult-to-achieve robot motions include, for example, constraints relating to joint axis torque, joint angular velocity, joint angular acceleration and jerk, hand velocity and hand acceleration. That is, the conventional technique described in Non-Patent Document 1 has the following problems. That is, in areas where the number of intermediate command values is too small, there is no guarantee that the constraints on the robot's motion are met.

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

本発明の一態様は、第1位置および第2位置の間でロボットアームを動作させる軌道を取得する情報処理方法において、前記第1位置から前記第2位置までの経路を規定する中間教示点群を複数設定し、前記中間教示点群に基づき複数の中間軌道を取得する取得工程と、前記取得工程で取得された前記中間軌道において評価値を取得する評価工程と、前記評価値に基づき前記中間軌道のうち所定の中間軌道を選択し、前記所定の中間軌道に基づいて前記軌道の更新を行う更新工程と、を有している、ことを特徴とする情報処理方法である。 One aspect of the present invention is an information processing method for obtaining a trajectory for moving a robot arm between a first position and a second position, in which an intermediate taught point group defining a route from the first position to the second position is provided. and obtaining a plurality of intermediate trajectories based on the intermediate taught point group; an evaluating step of obtaining an evaluation value for the intermediate trajectory obtained in the obtaining step; and the intermediate trajectory based on the evaluation value. and an updating step of selecting a predetermined intermediate trajectory from among the trajectories and updating the trajectory based on the predetermined intermediate trajectory.

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

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

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

<実施形態1>
図1は本実施形態に係る軌道生成装置の構成を示している。なお、本実施形態では、本発明に係る軌道生成を行う装置を指して「軌道生成装置」というが、この軌道生成装置は、例えばロボットシミュレータ装置などの製品として提供されるものであってよい。
<Embodiment 1>
FIG. 1 shows the configuration of a trajectory generation device according to this embodiment. In the present embodiment, a device for generating a trajectory according to the present invention is referred to as a "trajectory generating device", 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 apparatus shown in FIG. 1 includes an arithmetic processing unit 1, an operation unit 2 for inputting data by a teacher, a recording unit 3 for recording an operation program, and a display unit for displaying the operation trajectory of a robot arm. A display unit 4 is provided. This trajectory generator can be configured by computer hardware such as a PC (personal computer), for example. Here, FIG. 9 shows a specific configuration example of the arithmetic processing unit 1. As shown in FIG.

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

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

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

図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 of FIG. 9 has a network interface 1605 as communication means for communicating via the network NW. Arithmetic processing unit 1 (FIG. 1) controls teaching point data, trajectory data, etc. for actual robot arm A (or its robot control device 200 (FIG. 10)) via network interface 1605 to network NW. Can send and receive information. In that case, the network interface 1605 is configured with a communication standard for wired communication such as IEEE 802.3 and wireless communication such as IEEE 802.11 and 802.15. However, the network NW may, of course, employ any other communication standard.

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

なお、ロボット制御装置200(図10)の場合には、図9の構成にロボットアームAの各部のモータやソレノイドなど(不図示)を駆動するドライバ回路などが、インターフェース1606に接続される。また、ディスプレイ1608および操作部1609から成るユーザーインターフェースは、ロボット制御装置200の場合には、ティーチングペンダントのような操作端末(例えば図10の204)に置き換えてもよい。 In the case of the robot controller 200 (FIG. 10), a driver circuit for driving the motors and solenoids (not shown) of each part of the robot arm A is connected to the interface 1606 in the configuration shown in FIG. In the case of the robot controller 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 (for example, 204 in FIG. 10).

一般に、ロボットアームは、関節とリンクによって構成され、関節機構の形式には回転関節や直動関節の他、球関節などさまざまな種類がある。本実施形態においては、軌道を生成するロボットアームは、図2に示すようにリンクを回転関節によって結合した構成を有するものとする。 In general, 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 revolving joints as shown in FIG.

図2は、本実施形態において、軌道生成の対象となるロボットアームの例である。図2のロボットアームAは、説明を容易にするため、簡略化した構成で図示されている。 FIG. 2 shows an example of a robot arm that is a target of trajectory generation in this embodiment. The robot arm A in FIG. 2 is illustrated 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. Below, the joint angles (joint positions) of the axes J1 and J2 of these joints are expressed as θ1 and θ2, respectively. 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. Also, the generated trajectory of the robot arm A is generated as a 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 TCP position can be obtained by kinematic calculation, and when the TCP position is given, the TCP position can be obtained by inverse kinematic calculation. can obtain the joint angles θ1 and θ2 of the axes J1 and J2 when takes that position. In the following, when referring to TCP, it may simply be referred to as a "minion".

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

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

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

中間教示点群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 intermediate teaching point groups P1, P2, . By using these interpolation methods to generate a path that smoothly connects the teaching points, the robot arm A can be operated smoothly.

本明細書では、ロボットアームの「動作経路」、もしくは「経路」とは、速度などの時間的概念は含まないロボットアームの動作の軌跡を指す。また、ロボットアームの「動作軌道」、もしくは「軌道」とは、ロボットアームの上記の「(動作)経路」に加え、ロボットアームの動作速度の情報を持つ情報体を意味し、本明細書では上記の「(動作)経路」とは明確に区別して用いる。なお、ロボット制御技術では、「軌道」は、ある単位時間、例えばロボットコントローラの制御クロック周期ごとのロボットアームの関節(角度)の指令値データ列によって表現される場合もある。 As used herein, the “path of motion” or “path” of the robot arm refers to the trajectory of motion of the robot arm, which does not include temporal concepts such as velocity. 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 above-mentioned "(motion) path" of the robot arm. It is used in a clear distinction from the above-mentioned "(movement) path". In the robot control technology, the "trajectory" may be represented by a command value data string of the joints (angles) of the robot arm for each unit time, for example, the control clock period of the robot controller.

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

図3は、ロボットアームA(を模擬する3Dモデル:ロボットアームモデル)、および障害物Ob(を模擬する3Dモデル:障害物モデル)がともに動作環境(仮想環境)に配置されている様子を示している。また、図3では、開始教示点Ps、目標教示点Pg、と、中間教示点群P1、P2、…Pnと、それにより生成される軌道(p1、p2、…pt)を示してある。 FIG. 3 shows how a robot arm A (a 3D model simulating the robot arm model) and an obstacle Ob (a 3D model simulating the obstacle Obstacle model) are both placed in an operating environment (virtual environment). ing. 3 also shows a start teaching point Ps, a target teaching point Pg, intermediate teaching point groups P1, P2, . . . Pn, and trajectories (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. Can not. The purpose of the present embodiment is to provide optimal intermediate teaching point groups P1, P2, ... to find Pn. Note that the obstacle Ob is not limited to being stationary, and the trajectory optimization calculation can be performed 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 flow chart describing the main control procedure of the trajectory generation method according to this embodiment. The control procedure shown in FIG. 4 can be stored in ROM 1602 (or external storage device 1604 or the like) as a control program for CPU 1601 . 5 shows the control procedure of each step in FIG. 4 in the same manner as in FIG. In the following, trajectory generation and optimization are performed with respect to the 3D models of the robot arm A and the obstacle Ob. 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 in the work space where the robot arm A works, the constraint conditions, the start teaching point Ps, and the target teaching point Pg are input (FIG. 5(a)). These inputs can be made by the user through 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 through a virtual display (GUI) on the display unit 4, and are determined by the CPU 1601 when the trajectory is generated by AI-like processing. may

上記のロボットアームAのモデルは、ロボットアームを構成する部品の設計情報であり、各リンクの慣性モーメント、質量、位置、姿勢、軸数などの情報を含む。また、制約条件とは、ロボットアームの物理的な制約を定義したもので、関節トルク制約、関節角速度制約、関節角加速度制約、ジャーク制約、手先速度制約、手先加速度制約などを含む。 The model of the robot arm A described above is design information for the parts that make up the robot arm, and includes information such as the moment of inertia, mass, position, attitude, number of axes, etc. of each link. Constraints 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 group of intermediate teaching points) P1, P2, . generated (FIG. 5(b)). In this embodiment, as shown in FIG. 5B, the number of intermediate taught points to be generated is n, and the intermediate taught points are P1, P2, . . . Pn in order.

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

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

あるいは、初期値としての中間教示点群P1、P2、…Pn(第1の中間教示点群)は、ユーザが、操作部2および表示部4のユーザーインターフェースを介して、画面上の仮想環境中にプロットする操作を行って設定してもよい。 Alternatively, intermediate taught point groups P1, P2, . You can also set it by performing an operation to plot on .

図4のステップS102では、中間教示点群P1、P2、…Pn(第1の中間教示点群)に対して空間的な変位を与え、新たな中間教示点群R1、R2、…Rn(第2の中間教示点群)を生成する(図5(c):中間教示点生成工程)。この変位を与える方法としては、例えば、中間教示点の1つ1つに対し、空間的な変位を与えるためのパラメータとして乱数値を足し込む(加算する)方法が考えられる。ただし、単にランダムな乱数値を作用させる手法を採ると、教示点が振動的に配置され、ロボットアームの動作が滑らかでなくなる場合がある。一般的に、ロボットアームの動作が振動的になると、動作時間が増える傾向にあるため、教示点は振動的に配置されるのは望ましくない。 In step S102 in FIG. 4, the intermediate taught point groups P1, P2, . 2 intermediate taught point group) (FIG. 5(c): intermediate taught point generation step). As a method of giving this displacement, for example, a method of adding a random value as a parameter for giving spatial displacement to each of the intermediate teaching points can be considered. However, if a method of simply applying random random values is adopted, the teaching points are arranged oscillatingly, and the motion of the robot arm may not be smooth. In general, when the motion of the robot arm vibrates, the motion 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, in order to give a spatial displacement, a correlation is given between random numbers acting on adjacent intermediate teaching points, thereby smoothing the trajectory (path). For example, let the joint values of one axis of the robot arm be θ11, θ12, . . . . By giving a positive value to the covariance in the variance-covariance matrix in this way, the joint values of adjacent intermediate taught points can be correlated, and smooth random numbers along the path can be generated. It becomes possible.

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

ステップ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, and if the trajectory satisfies the constraints, the process proceeds to S105. The constraints determined in step S104 are constraints that cannot be constrained by the shortest time control technique used in step S103. The constraint condition determined in step S104 is that the mechanism of the robot arm A does not protrude out of the movable range at least on the trajectory generated in step S103. Other constraints determined in step S104 may include, for example, joint torque constraints, joint angular velocity constraints, joint angular acceleration constraints, jerk constraints, hand speed constraints, or hand acceleration constraints of the robot arm. 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, intermediate taught point groups R1, R2, . . . Rn and trajectories generated based thereon are stored. The stored intermediate taught point groups are denoted by Ri1, Ri2, . . . Rin in order to distinguish them from other stored intermediate taught point groups. i is the saved order.

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

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

なお、障害物Obの干渉回避以外の目的で、中間教示点群Ri1、Ri2、…Rin(i = 1~N)に対応する軌道の評価に他の手法を採用してもよい。 For purposes other than avoiding interference with the obstacle Ob, other methods may be employed to evaluate the trajectories corresponding to the intermediate taught 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 taught point groups P1, P2, . . . Pn are moved based on the evaluation values of the N intermediate taught point groups Ri1, Ri2, . ). As one of the methods of this movement, for example, in the group of intermediate taught points Ri1, Ri2, . . . A method of moving the groups P1, P2, . . . Pn is conceivable. 5(e), intermediate taught point groups P1, P2, . is moving.

また、中間教示点群Ri1、Ri2、…Rin(i = 1~N)の評価値の逆数を重みとして、N個の中間教示点群Ri1、Ri2、…Rin(i = 1~N)の重み付き平均をとり、中間教示点群P1、P2、…Pnを移動させる方法を用いてもよい。 In addition, the weights of the N intermediate taught point groups Ri1, Ri2, . A method of taking the attached average and moving the group of intermediate taught points P1, P2, . . . Pn may also be used.

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

あるいは、ステップS102~ステップS109のループを実行する上限回数を定めておいてもよい。その場合、ステップS109でその上限回数に達している場合は、それ以上の試行を諦めてステップS110に進む。あるいは適当なエラーメッセージを表示部4で出力する、といったエラー処理を行うことにしてもよい。 Alternatively, an upper limit number of times for executing the loop of steps S102 to S109 may be set. In that case, if the upper limit number of times has been reached in step S109, further trials are given up and the process 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 termination condition determined in step S109 is, for example, to generate an evaluation value similar to step S107 for the post-movement intermediate taught point group P1, P2, . . . Pn (first intermediate taught point group). The condition is that a predetermined condition is satisfied. For example, the purpose of this 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 group of intermediate taught points P1, P2, . As a result, an optimum trajectory that satisfies the constraints on robot motion can be generated (trajectory determination step).

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

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

本実施形態によれば、複数の中間教示点群Ri1、Ri2、…Rin(i = 1~N)を生成し、それにより定義される軌道を評価した結果に基づき、中間教示点群P1、P2、…Pnを移動させる。軌道の評価には、関節トルク制約のような物理的制約に関する条件を用い、中間教示点群P1、P2、…Pnを移動させる処理の脱出条件には、障害物回避の達成の条件を用いる。このような構成により、本実施形態によれば、障害物を回避し、関節トルク制約などの物理的制約を満たす滑らかな曲線軌道を生成することができる。 According to this embodiment, a plurality of intermediate taught point groups Ri1, Ri2, . . . Rin (i=1 to N) are generated, and the intermediate taught point groups P1, P2 , . . . move Pn. Conditions relating to physical constraints such as joint torque constraints are used for trajectory evaluation, and obstacle avoidance achievement conditions are used as escape conditions for the process of moving intermediate taught point groups P1, P2, . . . , Pn. With such a configuration, according to the present embodiment, it is possible to avoid obstacles and generate a smooth curved trajectory 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 optimization processing for generating a trajectory that enables (the 3D model of) the robot arm A to avoid interference with the obstacle Ob and move in the shortest time will be described. Configurations other than that shown in FIG. 7, such as the hardware configurations of the trajectory generation device and its control device, are the same as those 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 the present embodiment is the same as the flowchart of FIG. 4 of the first embodiment. The values, how the trajectories are constrained, how the trajectories are evaluated, and the censoring criteria are different. FIG. 7 shows how the trajectory (first intermediate teaching point) is optimized in this embodiment. FIG. 7 shows the processing of each step of FIG. 4 in this embodiment in a format similar to that of FIG.

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

既に実施形態1の最適化処理を経て出力された中間教示点群P1、P2、…Pnを初期値とすることにより、既に障害物を回避済みの軌道の動作時間を縮める最適化を行うことができる。このように、本発明の最適化制御手順(図4)は、2パス(あるいはそれ以上の複数パス)で用いることができ、その場合、各パスにおいて、異なる制約条件を作用させることによって、各制約条件について最適化された軌道を取得することができる。 By using the group of intermediate taught points P1, P2, . can. Thus, the optimization control procedure of the present invention (FIG. 4) can be used in two passes (or more passes), in which case different constraints are applied in each pass so that each A trajectory optimized for the constraints can be obtained.

実施形態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 group of intermediate taught points R1, R2, . When determining whether the trajectory of the point cloud satisfies the constraints, it is determined whether or not the robot arm A is within the movable range. In this embodiment, a new group of intermediate taught points R1, R2, . It is determined whether or not A interferes with the obstacle Ob. If it interferes with an obstacle, invalidate the group of intermediate taught points R1, R2, .

また、実施形態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である。 Further, in the first embodiment, in step S107 of FIG. 4, the trajectory is evaluated using the interference time or the penetration amount 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. 7(d)). Thus, intermediate taught point groups P1, P2, . In the example of FIG. 7D, the evaluation values of the second intermediate teaching point group related to the operation time are 180 for R11, R12...R1n, 120 for R21, R22...R2n, and 150 for R31, R32...R3n. It's becoming Here, the intermediate taught point groups R21, R22, .

また、実施形態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の変化の履歴を取り、もっとも評価が高いものを出力しても良い。 Moreover, in the first embodiment, the evaluation value becomes 0 as one of the termination conditions in step S109 of FIG. On the other hand, in the present embodiment, there is a method of setting an upper limit number of repetitions of steps S102 to S109, or a method of setting the number of evaluation values of intermediate taught point groups P1, P2, . . . A method of setting an upper limit is used. For example, if the operation time is not shortened any further, the loop of steps S102 to S109 is exited, and intermediate taught point groups P1, P2, . ). Alternatively, in the second embodiment, in step S110, the group of intermediate taught points P1, P2, . For example, a change history of intermediate taught point groups P1, P2, .

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

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

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

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

ロボットアーム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 operation of the robot arm A can also be programmed (instructed) 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, it is possible to program an operation to move a specific part of the robot arm A (for example, TCP: tool mounting surface at the tip of the arm) along a desired trajectory.

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

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

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 section, 2... operating section, 3... recording section, 4... display section.

Claims (26)

第1位置および第2位置の間でロボットアームを動作させる軌道を取得する情報処理方法において、
前記第1位置から前記第2位置までの経路を規定する中間教示点群を複数設定し、前記中間教示点群に基づき複数の中間軌道を取得する取得工程と、
前記取得工程で取得された前記中間軌道において評価値を取得する評価工程と、
前記評価値に基づき前記中間軌道のうち所定の中間軌道を選択し、前記所定の中間軌道に基づいて前記軌道の更新を行う更新工程と、を有している、
ことを特徴とする情報処理方法。
In an information processing method for obtaining a trajectory for moving a robot arm between a first position and a second position,
an acquisition step of setting a plurality of intermediate taught point groups that define a route from the first position to the second position, and acquiring a plurality of intermediate trajectories based on the intermediate taught point groups;
an evaluation step of obtaining an evaluation value for the intermediate trajectory obtained in the obtaining step;
an updating step of selecting a predetermined intermediate trajectory from among the intermediate trajectories based on the evaluation value and updating the trajectory based on the predetermined intermediate trajectory;
An information processing method characterized by:
請求項1に記載の情報処理方法において、
前記取得工程では、所定の中間教示点群が有する中間教示点に異なる変位を与えることで前記複数の中間教示点群を設定する、
ことを特徴とする情報処理方法。
In the information processing method according to claim 1,
In the obtaining step, the plurality of intermediate taught point groups are set by giving different displacements to intermediate taught points of a predetermined intermediate taught point group.
An information processing method characterized by:
請求項2に記載の情報処理方法において、
前記変位は相関のある乱数に基づいて付与される、
ことを特徴とする情報処理方法。
In the information processing method according to claim 2,
the displacement is given based on correlated random numbers;
An information processing method characterized by:
請求項3に記載の情報処理方法において、
分散共分散行列に共分散に正の値を付与することで前記乱数に相関を持たせる、
ことを特徴とする情報処理方法。
In the information processing method according to claim 3,
Correlating the random numbers by assigning a positive value to the covariance in the variance-covariance matrix;
An information processing method characterized by:
請求項1から4のいずれか1項に記載の情報処理方法において、
前記取得工程では、前記ロボットアームの駆動機構に関する物理的な制約条件を満たす前記中間軌道を取得する、
ことを特徴とする情報処理方法。
In the information processing method according to any one of claims 1 to 4,
In the acquisition step, the intermediate trajectory that satisfies physical constraints regarding the drive mechanism of the robot arm is acquired.
An information processing method characterized by:
請求項5に記載の情報処理方法において、
前記制約条件は、前記ロボットアームの可動範囲である、
ことを特徴とする情報処理方法。
In the information processing method according to claim 5,
wherein the constraint is the movable range of the robot arm ;
An information processing method characterized by:
請求項5または6に記載の情報処理方法において、
前記制約条件は、前記ロボットアームに関する関節トルク制約、関節角速度制約、関節角加速度制約、ジャーク制約、手先速度制約、ないし手先加速度制約のうちいずれか1つまたは複数である、
ことを特徴する情報処理方法。
In the information processing method according to claim 5 or 6,
The constraint is any one or more of a 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 regarding the robot arm ,
An information processing method characterized by:
請求項5から7のいずれか1項に記載の情報処理方法において、
前記評価工程では、前記中間軌道における、前記ロボットアームと、前記ロボットアームの動作する空間に配置される物体と、の間の干渉量に基づき前記評価値を取得する、
ことを特徴とする情報処理方法。
In the information processing method according to any one of claims 5 to 7,
In the evaluation step, the evaluation value is obtained based on the amount of interference between the robot arm and an object placed in the space where the robot arm operates on the intermediate trajectory.
An information processing method characterized by:
請求項8に記載の情報処理方法において、
前記干渉量は、前記ロボットアームと、前記物体と、が同一の空間を占める干渉時間、または干渉距離である、
ことを特徴とする情報処理方法。
In the information processing method according to claim 8,
The amount of interference is an interference time or an interference distance in which the robot arm and the object occupy the same space.
An information processing method characterized by:
請求項8または9に記載の情報処理方法において、
前記取得工程では、前記制約条件を満たしていれば、前記ロボットアームと物体とにおいて干渉が発生している所定の中間軌道も前記複数の中間軌道として取得する、
ことを特徴とする情報処理方法。
In the information processing method according to claim 8 or 9,
In the acquisition step, if the constraint is satisfied, a predetermined intermediate trajectory in which interference occurs between the robot arm and the object is also acquired as the plurality of intermediate trajectories.
An information processing method characterized by:
請求項8から10のいずれか1項に記載の情報処理方法において、
前記更新工程において、前記評価値が0となった場合を、前記ロボットアームと前記物体とにおいて干渉が発生していないと判定する、
ことを特徴とする情報処理方法。
In the information processing method according to any one of claims 8 to 10,
determining in the updating step that no interference has occurred between the robot arm and the object when the evaluation value becomes 0;
An information processing method characterized by:
請求項1から11のいずれか1項に記載の情報処理方法において、
前記取得工程、前記評価工程、及び前記更新工程を繰り返し実行する、
ことを特徴とする情報処理方法。
In the information processing method according to any one of claims 1 to 11,
repeatedly performing the acquiring step, the evaluating step, and the updating step;
An information processing method characterized by:
請求項1から12のいずれか1項に記載の情報処理方法において、
前記取得工程では、前記ロボットアームを動作させる動作時間が小さくなるように前記複数の中間軌道を取得する、
ことを特徴とする情報処理方法。
In the information processing method according to any one of claims 1 to 12,
In the obtaining step, the plurality of intermediate trajectories are obtained so that an operation time for operating the robot arm is shortened.
An information processing method characterized by:
請求項1から13のいずれか1項に記載の情報処理方法において、
前記評価工程では、前記複数の中間軌道で前記ロボットアームを動作させた場合の動作時間に基づき前記評価値を取得する、
ことを特徴とする情報処理方法。
In the information processing method according to any one of claims 1 to 13,
In the evaluation step, the evaluation value is obtained based on an operation time when the robot arm is operated on the plurality of intermediate trajectories.
An information processing method characterized by:
請求項1から14のいずれか1項に記載の情報処理方法において、
前記更新工程において、前記評価値が所定条件を満たすことを条件として、前記軌道の更新を停止する、
ことを特徴とする情報処理方法。
In the information processing method according to any one of claims 1 to 14,
In the updating step, on condition that the evaluation value satisfies a predetermined condition, the update of the trajectory is stopped.
An information processing method characterized by:
請求項15に記載の情報処理方法において、
前記所定条件は、前記軌道の更新を所定回数実行しても前記評価値の変化が一定となる場合である、
ことを特徴とする情報処理方法。
In the information processing method according to claim 15,
The predetermined condition is a case where the change in the evaluation value is constant even if the trajectory is updated a predetermined number of times.
An information processing method characterized by:
請求項1から14のいずれか1項に記載の情報処理方法において、
前記軌道の更新の繰り返し実行回数が所定回数に達したことに基づいて前記軌道の更新を停止する、
ことを特徴とする情報処理方法。
In the information processing method according to any one of claims 1 to 14,
stopping the update of the trajectory based on the number of repetitions of updating the trajectory reaching a predetermined number of times;
An information processing method characterized by:
請求項1から17のいずれか1項に記載の情報処理方法において、
前記取得工程において、ポテンシャル法、PRM、RRT、可視グラフ法、セル分割法、ボロノイ図法、の内の少なくとも1つを用いて前記複数の中間軌道を取得する、
ことを特徴とする情報処理方法。
In the information processing method according to any one of claims 1 to 17,
In the acquiring step, acquiring the plurality of intermediate trajectories using at least one of a potential method, PRM, RRT, visible graph method, cell division method, and Voronoi projection method.
An information processing method characterized by:
請求項1から18のいずれか1項に記載の情報処理方法において、
前記取得工程において、Spline補間、B-Spline補間、ベジェ曲線補間、の内少なくとも1つを用いて前記複数の中間軌道を平滑化する、
ことを特徴とする情報処理方法。
In the information processing method according to any one of claims 1 to 18,
smoothing the plurality of intermediate trajectories using at least one of Spline interpolation, B-Spline interpolation, and Bezier curve interpolation in the obtaining step;
An information processing method characterized by:
請求項1から19のいずれか1項に記載の情報処理方法において、
更新された前記軌道を表示装置に表示する出力工程をさらに備える、
ことを特徴とする情報処理方法。
In the information processing method according to any one of claims 1 to 19,
Further comprising an output step of displaying the updated trajectory on a display device,
An information processing method characterized by:
請求項1から19のいずれか1項に記載の情報処理方法において、
更新された前記軌道を前記ロボットアームを制御する制御装置に出力する出力工程をさらに備える、
ことを特徴とする情報処理方法。
In the information processing method according to any one of claims 1 to 19,
further comprising an output step of outputting the updated trajectory to a control device that controls the robot arm ;
An information processing method characterized by:
請求項1から21のいずれか1項に記載の情報処理方法の各工程をコンピュータに実行させるプログラム。 A program that causes a computer to execute each step of 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位置までの経路を規定する中間教示点群を複数設定し、前記中間教示点群に基づき複数の中間軌道を取得し、
取得された前記中間軌道において評価値を取得し、
前記評価値に基づき前記中間軌道のうち所定の中間軌道を選択し、前記所定の中間軌道に基づいて前記軌道の更新を行う、
ことを特徴とする情報処理装置。
In an information processing device that acquires a trajectory for operating a robot arm between a first position and a second position,
setting a plurality of intermediate taught point groups that define a route from the first position to the second position, obtaining a plurality of intermediate trajectories based on the intermediate taught point groups;
obtaining an evaluation value in the obtained intermediate trajectory;
selecting a predetermined intermediate trajectory from among the intermediate trajectories based on the evaluation value, and updating the trajectory based on the predetermined intermediate trajectory;
An information processing device characterized by:
請求項1から22のいずれか1項に記載の情報処理方法を用いて取得された軌道で前記ロボットアームを動作させてワークの組み立てを行い、物品を製造する生産システム。 A production system for manufacturing articles by assembling workpieces by operating the robot arm along a trajectory obtained by using the information processing method according to any one of claims 1 to 22. 請求項1から22のいずれか1項に記載の情報処理方法を用いて取得された軌道で前記ロボットアームを動作させてワークの組み立てを行い、物品を製造する物品の製造方法。 23. An article manufacturing method comprising assembling a workpiece by operating the robot arm along a trajectory obtained by using the information processing method according to any one of claims 1 to 22, and manufacturing an article.
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 JP2019135076A (en) 2019-08-15
JP2019135076A5 JP2019135076A5 (en) 2021-03-18
JP7158862B2 true 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)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220281110A1 (en) * 2019-08-22 2022-09-08 Sony Group Corporation 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
JP2021142635A (en) * 2020-03-13 2021-09-24 オムロン株式会社 Interference determination device, method and program
US20230226691A1 (en) * 2020-07-08 2023-07-20 Mitsubishi Electric Corporation Robot controller, robot control method, and storage medium storing 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
WO2023162168A1 (en) * 2022-02-25 2023-08-31 ファナック株式会社 Information processing device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2875498B2 (en) * 1995-07-18 1999-03-31 株式会社神戸製鋼所 Automatic generation method of movement path of robot manipulator
US8700307B1 (en) * 2013-03-04 2014-04-15 Mitsubishi Electric Research Laboratories, Inc. Method for determining trajectories manipulators to avoid obstacles

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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

Also Published As

Publication number Publication date
JP2019135076A (en) 2019-08-15
JP2024040344A (en) 2024-03-25
JP2022179671A (en) 2022-12-02
JP7439206B2 (en) 2024-02-27

Similar Documents

Publication Publication Date Title
JP7158862B2 (en) Information processing method and information processing device
US11458626B2 (en) Trajectory generating method, and trajectory generating apparatus
JP6576255B2 (en) Robot trajectory generation method, robot trajectory generation apparatus, and manufacturing method
US20200218223A1 (en) Automatic Generation of Toolpaths
JP2018020410A (en) Layout setting method, and layout setting device
JP6750909B2 (en) Robot trajectory generation method, robot trajectory generation apparatus, and manufacturing method
KR102030141B1 (en) Method and system for controlling elbow of robot
JP7237447B2 (en) Information processing method, program, recording medium, information processing device, robot system, and article manufacturing method
JP7210201B2 (en) Information processing method, program, recording medium, information processing device, robot system, article manufacturing method
JP7475841B2 (en) Information processing method, robot system, article manufacturing method, and information processing device
KR101787865B1 (en) Inverse kinematic solution for multi-joint link mechanism, and device for creating instructional data by using inverse kinematic solution
WO2019208785A1 (en) Robot teaching method and robot teaching system
JP5272447B2 (en) Numerical control machine operation simulator
Muller-Karger et al. Hyperbolic trajectories for pick-and-place operations to elude obstacles
JP7314215B2 (en) Simulator, robot teaching device, robot system, article manufacturing method, simulation method, program and recording medium
CN111989193A (en) Method and control system for controlling motion trail of robot
JP3884928B2 (en) Posture calculation method and posture calculation apparatus for articulated robot
Kuppan Chetty et al. A heuristic approach towards path planning and obstacle avoidance control of planar manipulator
JP7424122B2 (en) Simulation equipment and programs
WO2023276149A1 (en) Optimization assistance device
Ratiu Short literature review on the kinematics and dynamics of the industrial robots
Baizid et al. Virtual reality based tool for optimal robot placement in robotized site based on CAD’s application programming interface
JP2022099420A (en) Simulation device and simulation program
Shabeeb Dr. Laith Abdullah Mohammed Assistant Professor
BUSHRA AHMED MOHAMED ENERGY MODELLING AND SIMULATION FOR INDUSTRIAL ROBOTS

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