JP7439206B2 - Information processing methods, information processing devices, programs, recording media, production systems, robot systems, article manufacturing methods - Google Patents
Information processing methods, information processing devices, programs, recording media, production systems, robot systems, article manufacturing methods Download PDFInfo
- Publication number
- JP7439206B2 JP7439206B2 JP2022163661A JP2022163661A JP7439206B2 JP 7439206 B2 JP7439206 B2 JP 7439206B2 JP 2022163661 A JP2022163661 A JP 2022163661A JP 2022163661 A JP2022163661 A JP 2022163661A JP 7439206 B2 JP7439206 B2 JP 7439206B2
- Authority
- JP
- Japan
- Prior art keywords
- information processing
- processing method
- trajectory
- robot arm
- 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
Links
- 230000010365 information processing Effects 0.000 title claims description 78
- 238000003672 processing method Methods 0.000 title claims description 72
- 238000004519 manufacturing process Methods 0.000 title claims description 20
- 238000000034 method Methods 0.000 claims description 70
- 238000011156 evaluation Methods 0.000 claims description 46
- 238000010586 diagram Methods 0.000 claims description 12
- 230000001133 acceleration Effects 0.000 claims description 10
- 238000006073 displacement reaction Methods 0.000 claims description 8
- 230000036461 convulsion Effects 0.000 claims description 5
- 230000000875 corresponding effect Effects 0.000 claims description 5
- 238000004422 calculation algorithm Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 claims description 3
- 230000032823 cell division Effects 0.000 claims description 2
- 230000002596 correlated effect Effects 0.000 claims description 2
- 239000011159 matrix material Substances 0.000 claims description 2
- 238000009499 grossing Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 description 15
- 238000005457 optimization Methods 0.000 description 13
- 238000003860 storage Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000035515 penetration Effects 0.000 description 4
- 230000036544 posture Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003534 oscillatory effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total 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 an information processing apparatus for generating a trajectory of a robot arm.
従来より、自動車や電機製品などの工業製品の生産システム(生産ライン)に、産業用のロボット装置を配置して溶接や組み立てなどの作業を自動化する構成が知られている。この種の生産システムでは、ロボット装置、ワーク、ワークの置き台、冶具、その他周辺機器などが互いに干渉(接触、衝突)する可能性がある状態で配置される。近年では、このような生産システムのロボット装置のアームの動作軌道の設計作業において、仮想環境を用いたシミュレーションが利用されることがある。 BACKGROUND ART Conventionally, configurations have been known in which industrial robot devices are arranged in production systems (production lines) for industrial products such as automobiles and electrical appliances to automate tasks such as welding and assembly. In this type of production system, robot devices, workpieces, workpiece stands, jigs, and other peripheral equipment are arranged in such a way that they may interfere with each other (contact, collide). In recent years, simulations using a virtual environment are sometimes used in designing the movement trajectory of the arm of a robot device in such a production system.
オフラインでシミュレータ装置を使用してロボット装置の動作シミュレーションを行う場合、仮想環境中にロボットアーム、ワーク置き台、冶具、その他の周辺機器などの3D(3次元)モデルを配置する。例えば、このようなシミュレータ装置では、予め作成したロボットアームの教示点の間の軌道を生成し、また、その軌道で仮想環境中のロボットアームの3Dモデルを動作させるシミュレーションを行って検証するものがある。ロボットアームモデルが動作する様子は、シミュレータ装置のディスプレイの仮想表示画面に動画形式などによって表示することができる。 When simulating the operation of a robot device offline using a simulator device, 3D (three-dimensional) models such as a robot arm, workpiece stand, jig, and other peripheral devices are placed in a virtual environment. For example, such a simulator device generates a trajectory between teaching points of a robot arm created in advance, and performs a simulation to operate a 3D model of the robot arm in a virtual environment on that trajectory to verify it. be. The movement of the robot arm model can be displayed in the form of a video on the virtual display screen of the display of the simulator device.
当然ながら、ロボットアームの動作軌道によってシミュレーション結果は大きく異なってくる。ロボットアームの軌道が不適切であれば、ロボットアームの動作軌道の一部がロボットアームの動作不可能な領域に入ったり、ロボットアームが他の物体と干渉したり、無駄な動作によって、サイクルタイムが遅くなる場合がある。 Naturally, the simulation results will vary greatly depending on the motion trajectory of the robot arm. If the trajectory of the robot arm is inappropriate, a part of the robot arm's motion trajectory may enter the area where the robot arm cannot operate, the robot arm may interfere with other objects, or the cycle time may be reduced due to unnecessary motion. may be delayed.
旧来の手法では、ロボットアームが動作不可能な領域に入ったり、周辺機器とロボットアームが干渉したりしないという条件を満たすロボットアームの教示点をオペレータが画面上で試行錯誤的に作成していた。その場合、可動である、干渉しない、という条件がまず考慮されるため、必ずしも最適な動作速度で動作できるロボット軌道が生成されず、サイクルタイムが遅くなってしまう場合があった。その場合には、ロボットアームの教示点を再検討して設置し直す手動作業を行う必要があった。 In the conventional method, the operator used trial and error on the screen to create teaching points for the robot arm that satisfied the conditions that the robot arm would not enter an area where it could not operate or that the robot arm would not interfere with peripheral equipment. . In this case, since the conditions of movability and non-interference are first taken into consideration, a robot trajectory that allows the robot to operate at an optimal operating speed is not necessarily generated, which may slow down the cycle time. In that case, it was necessary to reconsider the teaching points of the robot arm and perform manual work to reinstall it.
また、一方で、生産システム(ライン)でロボット装置を用いる場合、工程設計者の教示点作成の工数が大きいので、人件費の高騰も問題となっている。そこで、近年では、教示者による直接教示に代わって、計算機を用いてロボットアームの教示作業を効率化する方法や装置が提案されている。 On the other hand, when a robot device is used in a production system (line), it takes a large amount of man-hours for a process designer to create teaching points, so there is also the problem of rising labor costs. Therefore, in recent years, methods and devices have been proposed that use a computer to improve the efficiency of the teaching work of a robot arm, instead of direct teaching by a teacher.
下記の非特許文献1では、ロボットアームの周りの障害物との干渉を回避し、なおかつロボットアームの関節に用いるモータのトルクを最小にする軌道の生成方法が開示されている。図8は、非特許文献1におけるロボットアームの軌道生成の手法を概略的に示している。図8において、ロボットアームAは、J1、および、J2の2つの回転軸を持つ2自由度に簡略化されたロボットアームで、Obは障害物を示している。
Non-Patent
図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, . Among these positions, p1 indicates the start position (start teaching point) of the movement, and p9 indicates the target position (target teaching point) of the movement. Further, p2 to p8 indicate intermediate command values placed between the starting position (p1) and the target position (p9). For example, it is possible to instruct the robot arm A to take the postures p1, p2, . In this case, the operating time of the robot arm between the starting position (p1) and the target position (p9) is calculated as control period x (9-1). In the case of Non-Patent
まず、中間指令値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, joint angles corresponding to intermediate command values p2, p3, . . . p8 are smoothly displaced to generate N new intermediate command values ri2, ri3, . Next, by repeating the process of evaluating the intermediate command values ri2, ri3, ...ri8 (i = 1, ...N) and displacing the intermediate command values p2, p3, ...p8 based on the evaluation values, Optimize your trajectory. In
上記のように、非特許文献1の技術では、ロボットアームAと、障害物Obが干渉せず、各関節軸に用いるモータトルクが過負荷状態にならない軌道を生成する。しかしながら、非特許文献1の技術では、中間指令値の個数は固定数であり、従って、開始教示点(p1)から目標教示点(p9)までの動作時間が固定されており、例えばアームの動作時間を最適化できない問題がある。また、動作時間が固定されると、各関節軸に用いるモータトルクの制約条件や、他の制約条件を満たすのが難しくなる。このような達成困難になるロボット動作に関する制約条件には、例えば関節軸トルク、関節角速度、関節角加速度や加加速度、手先速度や手先加速度に関する制約条件が含まれる。即ち、非特許文献1に記載されるような従来技術では、次のような問題がある。即ち、中間指令値の個数が少なすぎる領域では、ロボット動作に関する制約条件を満たす保証がなく、逆に、中間指令値の個数が多すぎる領域では、動作時間が最適な軌道を得られない。
As described above, the technique of Non-Patent
本発明の課題は、上記の問題に鑑み、ロボット動作に関する制約条件を満たした最適な軌道を確実に生成できるようにすることにある。 In view of the above problems, an object of the present invention is to reliably generate an optimal trajectory that satisfies the constraints regarding robot motion.
本発明の一態様は、第1位置および第2位置の間でロボットアームを動作させる軌道を取得する情報処理方法において、前記第1位置から前記第2位置までの経路を規定する中間教示点群を少なくとも2つ設定し、前記中間教示点群に基づき少なくとも2つの中間軌道を取得する中間軌道取得工程と、前記中間軌道取得工程で取得された前記中間軌道において評価値を取得する評価工程と、前記評価値に基づき前記中間軌道のうち所定の中間軌道に基づいて、前記ロボットアームを動作させる軌道を取得する軌道取得工程と、を有していることを特徴とする情報処理方法である。
本発明の他の一態様は、第1位置および第2位置の間でロボットアームを動作させる軌道を取得する情報処理装置において、前記第1位置から前記第2位置までの経路を規定する中間教示点群を少なくとも2つ設定し、前記中間教示点群に基づき少なくとも2つの中間軌道を取得し、取得された前記中間軌道において評価値を取得し、前記評価値に基づき前記中間軌道のうち所定の中間軌道に基づいて、前記ロボットアームを動作させる軌道を取得することを特徴とする情報処理装置である。
One aspect of the present invention provides an information processing method for acquiring a trajectory for operating a robot arm between a first position and a second position, in which a group of intermediate teaching points defines a path from the first position to the second position. an intermediate trajectory acquisition step of setting at least two intermediate trajectories and acquiring at least two intermediate trajectories based on the intermediate teaching point group; an evaluation step of acquiring an evaluation value on the intermediate trajectory acquired in the intermediate trajectory acquisition step; The information processing method is characterized by comprising a trajectory obtaining step of obtaining a trajectory for operating the robot arm based on a predetermined intermediate trajectory among the intermediate trajectories based on the evaluation value.
Another aspect of the present invention is an information processing apparatus that acquires a trajectory for operating a robot arm between a first position and a second position, in which intermediate teaching is provided that defines a path from the first position to the second position. At least two point groups are set, at least two intermediate trajectories are acquired based on the intermediate teaching point group , an evaluation value is acquired on the acquired intermediate trajectory, and a predetermined one of the intermediate trajectories is determined based on the evaluation value. The information processing apparatus is characterized in that a trajectory for operating the robot arm is acquired based on an intermediate trajectory of the robot arm.
上記構成により、本発明によれば、ロボット動作に関する制約条件を満たした最適な軌道を確実に生成することができる。 With the above configuration, according to the present invention, it is possible to reliably generate an optimal trajectory that satisfies the constraint conditions regarding robot operation.
以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す構成はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。 DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments for carrying out the present invention will be described with reference to the accompanying drawings. Note that the configuration shown below is just an example, and for example, the detailed configuration can be changed as appropriate by those skilled in the art without departing from the spirit of the present invention. Moreover, the numerical values taken up in this embodiment are reference numerical values, and do not limit the present invention.
<実施形態1>
図1は本実施形態に係る軌道生成装置の構成を示している。なお、本実施形態では、本発明に係る軌道生成を行う装置を指して「軌道生成装置」というが、この軌道生成装置は、例えばロボットシミュレータ装置などの製品として提供されるものであってよい。
<
FIG. 1 shows the configuration of a trajectory generation device according to this embodiment. In this embodiment, the device that generates a trajectory according to the present invention is referred to as a “trajectory generation device,” but this trajectory generation device may be provided as a product such as a robot simulator device.
図1の軌道生成装置は、演算処理部1、教示者などがデータ入力などを行うための操作部2、動作プログラムなどを記録する記録部3や、ロボットアームの動作軌道などを表示するための表示部4を備えている。この軌道生成装置は、例えばPC(パーソナルコンピュータ)のようなコンピュータハードウェアによって構成することができる。ここで、演算処理部1の具体的な構成例を図9に示す。
The trajectory generation device shown in FIG. 1 includes an
図9は、軌道生成装置、特に演算処理部1(図1)の主要部に相当する制御装置1000の構成例を示している。図示のようにこの制御装置1000は、CPU1601廻りに配置された各ブロックから成る制御系である。なお、このCPU1601廻りに配置された各ブロックから成る構成は、例えば、後述のロボット制御装置(200:図10)などにおいてもほぼ同様に適用できる。
FIG. 9 shows a configuration example of a
図9の制御装置1000は、主制御手段としてのCPU1601、記憶装置としてのROM1602、およびRAM1603を備える。ROM1602には、後述する制御手順を実現するためのCPU1601の制御プログラムや定数情報などを格納しておくことができる。また、RAM1603は、後述する制御手順を実行する時にCPU1601のワークエリアなどとして使用される。
The
図9の構成が、演算処理部1(図1)の場合には、ユーザーインターフェース装置として、例えばディスプレイ1608(図1の表示部4)、および操作部1609(図1の操作部2)がインターフェース1607に接続される。操作部1609は、例えばフルキーボードおよびポインティングデバイスなどから構成することができ、軌道シミュレーションや検証を行う作業者のためのユーザーインターフェースを構成する。
When the configuration in FIG. 9 is the arithmetic processing unit 1 (FIG. 1), the user interface device includes, for example, a display 1608 (
図9の制御装置1000は、ネットワークNWを介して通信する通信手段としてネットワークインターフェース1605を備える。演算処理部1(図1)は、ネットワークインターフェース1605~ネットワークNWを介して実機のロボットアームA(ないしはそのロボット制御装置200(図10))に対して教示点データや、軌道データをなどの制御情報を送受信することができる。その場合、ネットワークインターフェース1605は、例えばIEEE 802.3のような有線通信、IEEE 802.11、802.15のような無線通信による通信規格で構成する。しかしながら、ネットワークNWには、もちろん、それ以外の任意の通信規格を採用しても構わない。
The
なお、後述の制御手順を実現するためのCPU1601の制御プログラムは、HDDやSSDなどから成る外部記憶装置1604や、ROM1602(の例えばEEPROM領域)のような記憶部に格納しておくこともできる。その場合、後述の制御手順を実現するためのCPU1601の制御プログラムは、ネットワークインターフェース1605を介して、上記の各記憶部に供給し、また新しい(別の)プログラムに更新することができる。あるいは、後述の制御手順を実現するためのCPU1601の制御プログラムは、各種の磁気ディスクや光ディスク、フラッシュメモリなどの記憶手段と、そのためのドライブ装置を経由して、上記の各記憶部に供給し、またその内容を更新することができる。上述の制御手順を実現するためのCPU1601の制御プログラムを格納した状態における各種の記憶手段や記憶部は、本発明の制御手順を格納したコンピュータ読み取り可能な記録媒体を構成することになる。
Note that a control program for the
なお、ロボット制御装置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 motors, solenoids, etc. (not shown) of various parts of the robot arm A are connected to the
一般に、ロボットアームは、関節とリンクによって構成され、関節機構の形式には回転関節や直動関節の他、球関節などさまざまな種類がある。本実施形態においては、軌道を生成するロボットアームは、図2に示すようにリンクを回転関節によって結合した構成を有するものとする。 Generally, a robot arm is composed of joints and links, and there are various types of joint mechanisms such as rotary joints, translational joints, and ball and socket 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 FIG.
図2は、本実施形態において、軌道生成の対象となるロボットアームの例である。図2のロボットアームAは、説明を容易にするため、簡略化した構成で図示されている。 FIG. 2 is an example of a robot arm that is the object of trajectory generation in this embodiment. The robot arm A in FIG. 2 is shown in a simplified configuration for ease of explanation.
図2のロボットアームAは、2つの回転関節からなる2つの軸J1、J2を備えている。以下では、これら関節の軸J1、J2の関節角度(関節位置)は、それぞれθ1、θ2と表記する。また、軸J2の先端には、基準位置として、TCP(Tool Center Point)が定義される。本実施形態では、ロボットアームAの位置を定義する教示点は、このTCPの位置として表現される。また、生成するロボットアームAの軌道は、このTCPが移動する軌道として生成される。 The robot arm A in FIG. 2 is equipped with two axes J1 and J2 consisting of two rotational joints. Below, the joint angles (joint positions) of the axes J1 and J2 of these joints are expressed as θ1 and θ2, respectively. Further, a TCP (Tool Center Point) is defined as a reference position at the tip of the axis J2. In this embodiment, the teaching point that defines the position of the robot arm A is expressed as the position of this TCP. Further, the trajectory of the robot arm A to be generated is generated as a trajectory along which this TCP moves.
一般に、軸J1、J2の関節角度θ1、θ2が与えられた場合、運動学的な演算によりTCPの位置を取得でき、また、TCPの位置が与えられた場合、逆運動学的な演算によりTCPがその位置を取る時の軸J1、J2の関節角度θ1、θ2を取得できる。以下では、TCPに言及する場合、単に「手先」と呼ぶ場合がある。 Generally, when joint angles θ1 and θ2 of axes J1 and J2 are given, the position of TCP can be obtained by kinematic calculation, and when the position of TCP is given, TCP can be obtained by inverse kinematic calculation. The joint angles θ1 and θ2 of the axes J1 and J2 when the robot takes that position can be obtained. In the following, when referring to TCP, it may be simply referred to as a "stooge."
なお、ロボットアームAは、理解を容易にするため、ごく簡略化した構成として図示しているが、この構成は本発明を実施する形態に限定するものではない。例えば、当業者が本発明を実施する場合、ロボットアームAとしては、6軸多関節ロボットアームや、直動型のロボットアームの構成を用いることができる。そして、以下に示す本実施形態のロボットアームに係る制御系の構成や制御手順は、それらのロボットアームを用いる場合に容易に敷衍可能である。 Note that although the robot arm A is illustrated as having a very simplified configuration for ease of understanding, 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, a six-axis articulated robot arm or a direct-acting robot arm configuration can be used as the robot arm A. The configuration and control procedure of the control system related to the robot arm of this embodiment described below can be easily extended when using those robot arms.
次にロボットアームAの移動動作について説明する。ロボットアームAを移動させる場合、その移動の開始位置を示す教示点を開始教示点、目標位置を示す教示点を目標教示点という。ロボットアームAの教示点は、手先(TCP)の位置、姿勢もしくは、関節軸角度により決定することができる。また、逆運動学計算により、手先(TCP)の位置、姿勢は、各関節軸の関節角度に変換可能であり、逆に、(順)運動学計算により、各関節軸の関節角度は、手先の位置、姿勢に変換可能である。 Next, the moving operation of robot arm A will be explained. When moving the 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 point of the robot arm A can be determined by the position and posture of the hand (TCP) or the joint axis angle. In addition, by inverse kinematics calculation, the position and posture of the hand (TCP) can be converted into the joint angle of each joint axis, and conversely, by (forward) kinematics calculation, the joint angle of each joint axis can be converted to the joint angle of each joint axis. It is possible to convert the position and posture of
ここで、開始教示点、目標教示点をそれぞれPs、Pgとする。また、開始教示点と、目標教示点の間に配置する教示点を、中間教示点と呼び、P1、P2、…、Pnと表現するものとする。また、P1、P2、…、Pnを総称する場合は、中間教示点群と呼ぶことがある。 Here, the start teaching point and the target teaching point are assumed to be Ps and Pg, respectively. Furthermore, the teaching points arranged between the start teaching point and the target teaching point are called intermediate teaching points, and are expressed as P1, P2, . . . , Pn. Moreover, when P1, P2, . . . , Pn are collectively referred to, they may be called an intermediate teaching 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 the group of intermediate teaching points P1, P2, . . . Pn using curves. By using these interpolation methods to generate a path that smoothly connects teaching points, the robot arm A can be smoothly operated.
本明細書では、ロボットアームの「動作経路」、もしくは「経路」とは、速度などの時間的概念は含まないロボットアームの動作の軌跡を指す。また、ロボットアームの「動作軌道」、もしくは「軌道」とは、ロボットアームの上記の「(動作)経路」に加え、ロボットアームの動作速度の情報を持つ情報体を意味し、本明細書では上記の「(動作)経路」とは明確に区別して用いる。なお、ロボット制御技術では、「軌道」は、ある単位時間、例えばロボットコントローラの制御クロック周期ごとのロボットアームの関節(角度)の指令値データ列によって表現される場合もある。 In this specification, a "motion path" or "path" of a robot arm refers to a trajectory of the motion of the robot arm that does not include temporal concepts such as speed. In addition, the "motion trajectory" or "trajectory" of the robot arm means 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 in this specification, It is clearly distinguished from the above-mentioned "(operation) route". Note that in robot control technology, a "trajectory" may be expressed by a command value data string of joints (angles) of a robot arm for each unit time, for example, every cycle of a control clock of a robot controller.
上記の補間手法を用いて生成したロボットアームの経路に対し、速度情報を含めた軌道を生成する方法として、最短時間制御がある。最短時間制御を用いることにより、補間により生成した経路に基づき、ロボットアームの物理的な制約を守った上で、動作時間が最短になる軌道を求めることが可能となる。なお、最短時間制御は決まった経路上を通る上で、最短時間となる移動速度を求める技術であって、ロボットアームを動作させる経路はあくまで中間教示点群P1、P2、…Pnに依存する。ロボットアームの物理的な制約は、他にも、例えば、関節トルク制約、関節角速度制約、関節角加速度制約、ジャーク制約、手先速度制約、手先加速度制約を作用させることが考えられる。以下では、最短時間制御を用いて生成した軌道を、ある制御周期ごとのロボットアームの位置指令値の列として、p1、p2、…ptと表現する。 Minimum time control is a method for generating a trajectory including speed information for the robot arm path generated using the above interpolation method. By using the shortest time control, it is possible to obtain a trajectory with the shortest operating time based on the path generated by interpolation while adhering to the physical constraints of the robot arm. Note that the shortest time control is a technique for determining the moving speed that takes the shortest time on a fixed route, and the route on which the robot arm is operated depends solely on the group of intermediate teaching points P1, P2, . . . Pn. Other physical constraints on the robot arm may include, for example, a joint torque constraint, a joint angular velocity constraint, a joint angular acceleration constraint, a jerk constraint, a hand speed constraint, and a hand acceleration constraint. In the following, a trajectory generated using the shortest time control will be expressed as a sequence of position command values of the robot arm for each control period as p1, p2, . . . pt.
図3は、ロボットアームA(を模擬する3Dモデル:ロボットアームモデル)、および障害物Ob(を模擬する3Dモデル:障害物モデル)がともに動作環境(仮想環境)に配置されている様子を示している。また、図3では、開始教示点Ps、目標教示点Pg、と、中間教示点群P1、P2、…Pnと、それにより生成される軌道(p1、p2、…pt)を示してある。 Figure 3 shows how robot arm A (3D model simulating: robot arm model) and obstacle Ob (3D model simulating: obstacle model) are both placed in the operating environment (virtual environment). ing. Further, FIG. 3 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, and in this trajectory, the robot arm A cannot move from the start teaching point Ps to the target teaching point Pg. Can not. The purpose of this embodiment is to create an optimal group of intermediate teaching points P1, P2, between the starting teaching point Ps and the target teaching point Pg, where the robot arm and obstacles do not interfere (and other constraint conditions are also satisfied). ...The purpose is to find Pn. Note that the trajectory optimization calculation is possible even when the obstacle Ob is not limited to being stationary, but is moving.
図4は、本実施形態による軌道生成方法の主要な制御手順を記載したフローチャートである。図4に示した制御手順は、CPU1601の制御プログラムとして、ROM1602(あるいは外部記憶装置1604など)に格納しておくことができる。また、図5は、図4の各ステップの制御手順を図3と同様の様式で示している。以下では、軌道生成および最適化は、ロボットアームAや障害物Obの3Dモデルに関して行うが、記述を簡略にするため、以下では、「3Dモデル」の明示を省略し、制御の対象がロボットアームAや障害物Obであるかの如く記載する場合がある。
FIG. 4 is a flowchart describing the main control procedures of the trajectory generation method according to this embodiment. The control procedure shown in FIG. 4 can be stored in the ROM 1602 (or
図4のステップS100では、ロボットアームAが作業を行う作業空間での、ロボットアームAのモデルおよび、制約条件、開始教示点Ps、目標教示点Pgを入力する(図5(a))。これらの入力は、例えば操作部2や表示部4によって構成したユーザーインターフェースを介してユーザに行わせることができる。また、特に開始教示点Ps、目標教示点Pgは、表示部4上の仮想表示(GUI)を介して、ユーザに入力させる他、AI的な処理によって軌道生成を行う場合は、CPU1601が決定してもよい。
In step S100 of FIG. 4, a model of robot arm A, constraints, start teaching point Ps, and target teaching point Pg in the work space where robot arm A performs work are input (FIG. 5(a)). These inputs can be made by the user via a user interface configured by, for example, the
上記のロボットアームAのモデルは、ロボットアームを構成する部品の設計情報であり、各リンクの慣性モーメント、質量、位置、姿勢、軸数などの情報を含む。また、制約条件とは、ロボットアームの物理的な制約を定義したもので、関節トルク制約、関節角速度制約、関節角加速度制約、ジャーク制約、手先速度制約、手先加速度制約などを含む。 The model of the robot arm A described above is design information of the parts constituting the robot arm, and includes information such as the moment of inertia of each link, mass, position, orientation, and number of axes. Furthermore, the constraint conditions define physical constraints of the robot arm, and include joint torque constraints, joint angular velocity constraints, joint angular acceleration constraints, jerk constraints, hand speed constraints, hand acceleration constraints, and the like.
ステップS101では、ステップS100で与えた、ロボットアームAの開始教示点Ps、目標教示点Pgの間に、初期値としての中間教示点(第1の中間教示点群)P1、P2、…Pnを生成する(図5(b))。本実施形態では、図5(b)に示すように、生成する中間教示点の数をnとし、中間教示点を順にP1、P2、…Pnとしている。 In step S101, intermediate teaching points (first intermediate teaching point group) P1, P2, ...Pn as initial values are set between the starting teaching point Ps and the target teaching point Pg of the robot arm A given in step S100. (Fig. 5(b)). In this embodiment, as shown in FIG. 5(b), the number of intermediate teaching points to be generated is n, and the intermediate teaching points are sequentially P1, P2, . . . Pn.
中間教示点の生成方法には、障害物を回避する経路を計算する経路計画アルゴリズムを用いることが考えられる。経路生成方法には、ポテンシャル法、PRM (Probabilistic RoadMap)、RRT (Rapidly-exploring Random Tree)といった多くの方法がある。また、以上の経路生成手段に限定されず、可視グラフ法、セル分割法、ボロノイ図法などの他の経路生成方法も適用してもよい。また、単純に、経路計画アルゴリズムを用いずに、開始教示点、目標教示点の間を直線で線形補間する処理を用いてもよい。なお、上記のような経路計画技術はあくまで、教示点間を直線でつないだ場合にのみ干渉回避が保証される経路を算出する。従って、中間教示点群P1、P2、…Pnを曲線で補間した経路においては必ずしも干渉回避が保証されない場合がある。 A conceivable method for generating intermediate teaching points is to use a route planning algorithm that calculates a route that avoids obstacles. There are many route generation methods, such as the potential method, PRM (Probabilistic Road Map), and RRT (Rapidly-exploring Random Tree). Furthermore, the route generation method is not limited to the above route generation means, and other route generation methods such as the visible graph method, the cell division method, and the Voronoi diagram method may also be applied. Alternatively, a process of linearly interpolating between the start teaching point and the target teaching point may be used instead of using the path planning algorithm. Note that the path planning technique described above calculates a path that guarantees avoidance of interference only when teaching points are connected by straight lines. Therefore, avoidance of interference may not always be guaranteed on a path obtained by interpolating the intermediate teaching point group P1, P2, . . . Pn 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 the obstacle Ob, for example. In this embodiment, even if the process starts from the intermediate teaching point group P1, P2,...Pn (first intermediate teaching point group) as such initial values, the intermediate teaching points are set so as to generate an optimal trajectory. The groups P1, P2, . . . Pn (first intermediate teaching point group) can be moved.
あるいは、初期値としての中間教示点群P1、P2、…Pn(第1の中間教示点群)は、ユーザが、操作部2および表示部4のユーザーインターフェースを介して、画面上の仮想環境中にプロットする操作を行って設定してもよい。
Alternatively, the intermediate teaching point group P1, P2,...Pn (first intermediate teaching point group) as initial values can be set by the user through the user interface of the
図4のステップS102では、中間教示点群P1、P2、…Pn(第1の中間教示点群)に対して空間的な変位を与え、新たな中間教示点群R1、R2、…Rn(第2の中間教示点群)を生成する(図5(c):中間教示点生成工程)。この変位を与える方法としては、例えば、中間教示点の1つ1つに対し、空間的な変位を与えるためのパラメータとして乱数値を足し込む(加算する)方法が考えられる。ただし、単にランダムな乱数値を作用させる手法を採ると、教示点が振動的に配置され、ロボットアームの動作が滑らかでなくなる場合がある。一般的に、ロボットアームの動作が振動的になると、動作時間が増える傾向にあるため、教示点は振動的に配置されるのは望ましくない。 In step S102 of FIG. 4, spatial displacement is applied to the intermediate teaching point group P1, P2, ...Pn (first intermediate teaching point group), and a new intermediate teaching point group R1, R2, ...Rn (first intermediate teaching point group) is given. (FIG. 5(c): intermediate teaching point generation step). As a method for giving this displacement, for example, a method of adding (adding) a random value as a parameter for giving spatial displacement to each intermediate teaching point can be considered. However, if a method of simply applying random random values is adopted, the teaching points may be arranged in an oscillatory manner, and the motion of the robot arm may not be smooth. Generally, when the motion of the robot arm becomes vibratory, the motion time tends to increase, so it is undesirable for the teaching points to be arranged in a vibratory manner.
そこで、空間的な変位を与えるために隣り合う中間教示点に作用させる乱数の間に相関を与え、これにより軌道(経路)を平滑化することができる。たとえば、中間教示点群P1、P2、…Pnにおける、ロボットアームの1軸の関節値をθ11、θ12、…θ1nとし、これらを変数とした多変量正規分布を考える。このように、分散共分散行列における共分散に、正の値を与えることで、隣り合う中間教示点の関節値に相関を持たせることができ、経路に沿った滑らかな乱数を発生させることが可能となる。 Therefore, in order to give a spatial displacement, a correlation is given between the random numbers applied to adjacent intermediate teaching points, thereby making it possible to smooth the trajectory (route). For example, let the joint values of one axis of the robot arm in the intermediate teaching point group P1, P2, ...Pn be θ11, θ12, ...θ1n, and consider a multivariate normal distribution using these as variables. In this way, by giving a positive value to the covariance in the variance-covariance matrix, the joint values of adjacent intermediate teaching points can be correlated, and smooth random numbers can be generated along the path. It becomes possible.
ステップS103では、中間教示点群R1、R2、…Rnの間を曲線で補間し、最短時間制御を用いて軌道を生成する(軌道生成工程)。ここで、静止した障害物を回避すると言う目的であれば、曲線で補間した「経路」上でのロボットアームAの干渉を評価すれば事足りるが、動作する障害物を考えた際には、時間軸も考慮に入れなければならないため、本実施形態では、「軌道」を考慮する。 In step S103, a curve is interpolated between the intermediate teaching point groups R1, R2, . . . Rn, and a trajectory is generated using shortest time control (trajectory generation step). Here, if the purpose is to avoid a stationary obstacle, it is sufficient to evaluate the interference of robot arm A on a "route" interpolated with a curved line, but when considering a moving obstacle, the time Since the axis must also be taken into consideration, the "trajectory" is considered in this embodiment.
ステップ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 constraint condition determined in step S104 is a constraint 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 robot arm A does not protrude outside the movable range, at least on the trajectory generated in step S103. In addition, other conditions may be considered as the constraint conditions determined in step S104, such as 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, the intermediate teaching point group R1, R2, . . . Rn and the trajectory generated based on them are saved. The intermediate taught point groups to be saved are expressed as Ri1, Ri2, . . . Rin to distinguish them from other saved intermediate taught point groups. i is the order in which they were saved.
ステップS106では、保存した中間教示点群および軌道が、ある定数N個になったか否かを判定する。ステップS106で、保存した中間教示点群および軌道がN個に達していなければ、ステップS102に戻り、N個になっていれば、ステップS107に進む。 In step S106, it is determined whether the number of saved intermediate taught points and trajectories has reached a certain constant N. In step S106, if the number of saved intermediate taught points 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, an evaluation value is given to the saved N intermediate teaching point group Ri1, Ri2, . . . Rin (i = 1 to N) (FIG. 5(d): evaluation step). In this embodiment, this evaluation value is used to displace (move) the intermediate teaching point group P1, P2,...Pn (first intermediate teaching point group) so as to generate an optimal trajectory.
また、この評価値は、例えば、中間教示点群Ri1、Ri2、…Rin(i = 1~N)に対応する軌道を評価することにより生成する。例えば、本実施形態では、障害物Obとの干渉を回避する軌道を求めるため、ロボットアームと障害物とが干渉量を評価値とする。例えば、この干渉量は、ロボットアームと障害物とが同一の空間を占める干渉時間や、めり込み量ないし干渉距離(あるいは両者の掃引空間の重複する体積など)であってよい。本実施形態では、例えば干渉量として干渉時間を採用し、評価値とする。 Further, this evaluation value is generated, for example, by evaluating the trajectory corresponding to the intermediate teaching point group Ri1, Ri2, . . . Rin (i = 1 to N). For example, in this embodiment, in order to obtain a trajectory that avoids interference with the obstacle Ob, the amount of interference between the robot arm and the obstacle is used as an evaluation value. For example, the amount of interference may be the interference time when the robot arm and the obstacle occupy the same space, the amount of penetration, or the interference distance (or the overlapping volume of the sweep spaces of the two). 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である。 In the example of FIG. 5(d), evaluation values generated based on the amount of interference (interference time or amount of penetration) are shown for three intermediate teaching point groups. This evaluation value is 10 for the second intermediate teaching point group R11, R12...R1n, 30 for R21, R22...R2n, and 50 for R31, R32...R3n. Here, the intermediate teaching point group R11, R12...R1n, which has a small amount of interference (close to 0), has the best evaluation value.
なお、障害物Obの干渉回避以外の目的で、中間教示点群Ri1、Ri2、…Rin(i = 1~N)に対応する軌道の評価に他の手法を採用してもよい。 Note that other methods may be adopted for evaluating the trajectories 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 groups P1, P2, ...Pn are moved based on the evaluation values of the N intermediate teaching point groups Ri1, Ri2, ...Rin (i = 1 to N) (FIG. 5(e)) ). One method of this movement is, for example, to move the intermediate teaching points to the intermediate teaching point group with the lowest (favorable) evaluation value among the intermediate teaching point groups Ri1, Ri2,...Rin (i = 1 to N). A possible method is to move the groups P1, P2, . . . Pn. In the example of FIG. 5(e), the intermediate teaching point groups P1, P2, ...Pn (in the first intermediate teaching point group) are located at the positions of the intermediate teaching point groups R11, R12...R1n, where the amount of interference is small (close to 0). is being moved.
また、中間教示点群Ri1、Ri2、…Rin(i = 1~N)の評価値の逆数を重みとして、N個の中間教示点群Ri1、Ri2、…Rin(i = 1~N)の重み付き平均をとり、中間教示点群P1、P2、…Pnを移動させる方法を用いてもよい。 In addition, the weights of the N intermediate teaching point groups Ri1, Ri2, ... Rin (i = 1 to N) are calculated using the reciprocal of the evaluation value of the intermediate teaching point group Ri1, Ri2, ... Rin (i = 1 to N). Alternatively, a method may be used in which the intermediate teaching point group P1, P2, . . . , Pn is moved.
ステップS109では、ステップS102からステップS108までの処理を打ち切る条件を満たすか判定する。打ち切り条件を満たしていなければ、ステップS102に戻り、打ち切り条件を満たしていれば、ステップS110に進む。 In step S109, it is determined whether the conditions for aborting the processes from step S102 to step S108 are satisfied. If the abort condition is not met, the process returns to step S102, and if the abort condition is met, the process proceeds to step S110.
あるいは、ステップS102~ステップS109のループを実行する上限回数を定めておいてもよい。その場合、ステップS109でその上限回数に達している場合は、それ以上の試行を諦めてステップS110に進む。あるいは適当なエラーメッセージを表示部4で出力する、といったエラー処理を行うことにしてもよい。
Alternatively, an upper limit number of times to execute the loop from step S102 to step S109 may be determined. In this case, if the upper limit has been reached in step S109, further attempts are given up and the process proceeds to step S110. Alternatively, error handling may be performed such as outputting an appropriate error message on the
ステップS109で判断する打ち切り条件は、例えば移動後の中間教示点群P1、P2、…Pn(第1の中間教示点群)に対して、ステップS107と同様な評価値を生成し、評価値が所定条件を満たすことを条件とする。例えば、本実施形態の目的は、ロボットアームAと障害物Obとの干渉を回避することである。そこで、移動後の中間教示点群P1、P2、…Pn(第1の中間教示点群)について生成した評価値が0(干渉量:干渉時間やめり込み量が0)となることとする。これにより、ロボット動作に関する制約条件を満たした最適な軌道を生成することができる(軌道決定工程)。 The discontinuation condition determined in step S109 is, for example, to generate the same evaluation value as in step S107 for the intermediate taught point group P1, P2,...Pn (first intermediate taught point group) after the movement, and the evaluation value is The condition is that a predetermined condition is met. 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 intermediate teaching point group P1, P2, . This makes it possible to generate an optimal trajectory that satisfies the constraints regarding robot motion (trajectory determination step).
ステップS110では、最適化された教示点として、中間教示点群P1、P2、…Pnを出力する。この出力は、例えば表示部4の仮想表示内で、最適化された中間教示点群P1、P2、…Pnによって生成される軌道でロボットアームAの3Dモデル(ロボットアームモデル)を動作させることにより行う。あるいは、ステップS110は、実機のロボットアームAないしそのロボット制御装置(200:図10)に最適化された中間教示点群P1、P2、…Pnまたはそれにより生成された軌道データを出力する処理であってもよい。
In step S110, intermediate teaching point groups P1, P2, . . . Pn are output as optimized teaching points. This output can be obtained by, for example, operating a 3D model of the robot arm A (robot arm model) on a trajectory generated by the optimized intermediate teaching point group P1, P2, ...Pn within the virtual display of the
本実施形態では、干渉回避を目的としているため、ステップS110まで到達した場合は、図6のように、移動後の中間教示点群P1、P2、…Pnに基づき生成した軌道(p1、p2、…pt)において、ロボットアームが干渉物と干渉しない状態となる。 In this embodiment, since the purpose is to avoid interference, when reaching step S110, as shown in FIG. 6, the trajectory (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 the present embodiment, a plurality of intermediate taught point groups Ri1, Ri2, ... Rin (i = 1 to N) are generated, and based on the results of evaluating the trajectory defined thereby, intermediate taught point groups P1, P2 are generated. ,...Move Pn. Conditions related to physical constraints such as joint torque constraints are used to evaluate the trajectory, and conditions for achieving obstacle avoidance are used as escape conditions for the process of moving the intermediate teaching point group P1, P2, . . . Pn. With such a configuration, according to the present embodiment, it is possible to generate a smooth curved trajectory that avoids obstacles and satisfies physical constraints such as joint torque constraints.
<実施形態2>
以下、図7を参照して、ロボットアームA(の3Dモデル)が障害物Obとの干渉回避を達成した上で、かつ最短時間で移動できる軌道を生成する最適化処理の例を示す。図7以外の構成、例えば、軌道生成装置およびその制御装置のハードウェア構成などは、実施形態1と同様であるものとする。
<
Hereinafter, with reference to FIG. 7, an example of optimization processing for generating a trajectory in which the robot arm A (3D model thereof) can avoid interference with the obstacle Ob and can move in the shortest time will be described. It is assumed that configurations other than those in FIG. 7, such as the hardware configuration of the trajectory generation device and its control device, are the same as in the first embodiment.
本実施形態の軌道生成方法の制御手順は、実施形態1の図4のフローチャートと同等であるが、本実施形態2では、実施形態1とは、中間教示点群P1、P2、…Pnの初期値、軌道の制約方法、軌道の評価方法、および打ち切り条件が異なる。図7は、本実施形態において行われる軌道(第1の中間教示点)の最適化の様子を示したものである。図7は、図5と同様の形式で、本実施形態における図4の各ステップの処理を示している。 The control procedure of the trajectory generation method of this embodiment is equivalent to the flowchart of FIG. The values, trajectory constraint methods, trajectory evaluation methods, and censoring conditions are different. FIG. 7 shows how the trajectory (first intermediate teaching point) is optimized in this embodiment. FIG. 7 shows, in the same format as FIG. 5, the processing of each step in FIG. 4 in this embodiment.
上記の実施形態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 in FIG. 4, intermediate teaching point groups P1, P2, ... Pn are generated by path planning technology between the start teaching point Ps and the target teaching point Pg (FIG. 7(a)). An example was given. In contrast, in this embodiment, the intermediate teaching point group P1, P2,...Pn (FIGS. 6 and 7(b)) outputted through the optimization process of
既に実施形態1の最適化処理を経て出力された中間教示点群P1、P2、…Pnを初期値とすることにより、既に障害物を回避済みの軌道の動作時間を縮める最適化を行うことができる。このように、本発明の最適化制御手順(図4)は、2パス(あるいはそれ以上の複数パス)で用いることができ、その場合、各パスにおいて、異なる制約条件を作用させることによって、各制約条件について最適化された軌道を取得することができる。 By setting the intermediate teaching point group P1, P2, ...Pn, which has already been output through the optimization process of the first embodiment, as an initial value, it is possible to perform optimization to shorten the operation time of a trajectory that has already avoided an obstacle. can. In this way, the optimization control procedure of the present invention (FIG. 4) can be used in two passes (or more than one pass), and in that case, by applying different constraint conditions in each pass, each A trajectory optimized for 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 intermediate teaching point group R1, R2,...Rn (second intermediate teaching point group) is generated (FIG. 5(c)), and in step S104 of FIG. When determining whether the trajectory of the 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 group of intermediate teaching points R1, R2,...Rn (second intermediate teaching point group) is generated (FIG. 7(c)), and in addition to determining whether or not the robot arm is within the movable range, It is determined whether or not A is interfering with the obstacle Ob. If there is interference with an obstacle, the intermediate taught 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である。 Furthermore, in the first embodiment, in step S107 in FIG. 4, the trajectory is evaluated using the interference time or the amount of penetration as an evaluation value. In this embodiment, the trajectory is evaluated using the operation time of the robot arm A as an evaluation value (FIG. 7(d)). Thereby, it is possible to generate intermediate teaching point groups P1, P2, . . . Pn with the shortest operation time. In the example of FIG. 7(d), 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 has become. Here, the intermediate teaching point group R21, R22, . . . R2n, which has a small amount of interference (has a 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の変化の履歴を取り、もっとも評価が高いものを出力しても良い。 Furthermore, in the first embodiment, one of the termination conditions in step S109 in FIG. 4 is that the evaluation value becomes 0. On the other hand, in the present embodiment, a method is adopted in which an upper limit is set for the number of repetitions from step S102 to step S109, or the evaluation value of the intermediate teaching point group P1, P2,...Pn is set to a number of consecutive times (almost) unchanged. Use a method that sets an upper limit. For example, if the operation time cannot be further shortened, the loop from step S102 to step 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, the group of intermediate teaching points P1, P2, . . . Pn in the final movement state does not necessarily have to be output as the optimized teaching points in step S110. For example, the history of changes in the group of intermediate teaching points P1, P2, .
以上に示したように、本実施形態によれば、障害物を回避し、トルク制約などの物理的制約を守った上で、さらに動作時間を最短とする軌道を生成できるという効果がある。特に、最適化制御手順(図4)は、2パス(あるいはそれ以上の複数パス)で用いることができ、その場合、各パスにおいて、異なる制約条件を作用させることによって、各制約条件について最適化された軌道を取得することができる。 As described above, the present embodiment has the advantage that it is possible to generate a trajectory that minimizes the operating time while avoiding obstacles and observing physical constraints such as torque constraints. In particular, the optimization control procedure (Figure 4) can be used in two passes (or more than one pass), in which case the optimization for each constraint is achieved by applying different constraints in each pass. It is possible to obtain the trajectory.
ここで、ロボットアームAのより具体的な構成例や、ロボットアームAを生産システムに適用した場合の構成などにつき示しておく。 Here, a more specific example of the configuration 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 a more specific overall configuration of the robot arm A than the schematic configuration shown in FIG. In FIG. 10, a robot arm A (robot device) includes a vertically articulated
アーム本体201の先端(手先)には、例えばハンド202のようなツールが装着され、このハンド202によって、ワーク203を把持し、ワーク203を組み付けたり、加工したりする生産作業を行わせることができる。ワーク203は、自動車や電機製品などの工業製品の例えば部品であって、ロボットアームAはこのような生産システム(生産ライン)に生産装置として配置することができる。
A tool such as a
ロボットアームAのアーム本体201の動作は、ロボット制御装置200(ロボットコントローラ)により制御される。ロボットアームAの動作は、ロボット制御装置200に接続された操作端末204(例えばティーチングペンダント)によってプログラミング(教示)することもできる。例えば、操作端末204により教示点を順次指定することによって、ロボットアームAの特定部位(例えばTCP:アーム先端のツール装着面など)を所望の軌跡で移動させる動作をプログラミングすることができる。
The operation of the
また、ネットワークNWを介して、ロボットアームAないしロボット制御装置200は、上記の軌道生成装置(あるいはロボットシミュレータ:図1)から、上述のように最適化された中間教示点ないし軌道データを受信することができる。これにより、上記の処理によって最適化された中間教示点ないし軌道データに基づき、ロボットアームAを生産システム(生産ライン)に配置し、生産装置として動作させ、物品を製造することができる。
Further, via the network NW, the robot arm A or the
本発明は、上述の実施例の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。 The present invention provides a program that implements one or more of the functions of the embodiments described above to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device reads and executes the program. This can also be achieved through processing. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
A…ロボットアーム、J1、J2…関節軸、Ob…障害物、Ps…開始教示点、Pg…目標教示点、P1、P2、…Pn…(第1の)中間教示点群、Ri1、Ri2、Rin…(第2の)中間教示点群、1…演算処理部、2…操作部、3…記録部、4…表示部。 A...Robot arm, J1, J2...Joint axis, Ob...Obstacle, Ps...Start teaching point, Pg...Target teaching point, P1, P2,...Pn...(First) intermediate teaching point group, Ri1, Ri2, Rin... (second) intermediate teaching point group, 1... Arithmetic processing section, 2... Operation section, 3... Recording section, 4... Display section.
Claims (38)
前記第1位置から前記第2位置までの経路を規定する中間教示点群を少なくとも2つ設定し、前記中間教示点群に基づき少なくとも2つの中間軌道を取得する中間軌道取得工程と、
前記中間軌道取得工程で取得された前記中間軌道において評価値を取得する評価工程と、
前記評価値に基づき前記中間軌道のうち所定の中間軌道に基づいて、前記ロボットアームを動作させる軌道を取得する軌道取得工程と、を有している、
ことを特徴とする情報処理方法。 In an information processing method for acquiring a trajectory for operating a robot arm between a first position and a second position,
an intermediate trajectory obtaining step of setting at least two intermediate teaching point groups that define a route from the first position to the second position, and obtaining at least two intermediate trajectories based on the intermediate teaching point groups;
an evaluation step of acquiring an evaluation value on the intermediate trajectory acquired in the intermediate trajectory acquisition step;
a trajectory obtaining step of obtaining a trajectory for operating the robot arm based on a predetermined intermediate trajectory among the intermediate trajectories based on the evaluation value;
An information processing method characterized by:
前記軌道取得工程では、前記評価値に基づき前記中間軌道のうち前記所定の中間軌道を選択する、
ことを特徴とする情報処理方法。 In the information processing method according to claim 1,
In the trajectory acquisition step, the predetermined intermediate trajectory is selected from among the intermediate trajectories based on the evaluation value.
An information processing method characterized by:
前記中間軌道取得工程では、所定の中間教示点群が有する中間教示点に異なる変位を与えることで前記少なくとも2つの中間教示点群を設定する、
ことを特徴とする情報処理方法。 The information processing method according to claim 1 or 2,
In the intermediate trajectory acquisition step, the at least two intermediate teaching point groups are set by applying different displacements to intermediate teaching points included in a predetermined intermediate teaching point group.
An information processing method characterized by:
前記中間軌道取得工程では、前記中間教示点に値を加算することで前記変位を与え、前記少なくとも2つの中間教示点群を設定する、 In the intermediate trajectory acquisition step, the displacement is given by adding a value to the intermediate teaching point, and the at least two intermediate teaching point groups are set.
ことを特徴とする情報処理方法。 An information processing method characterized by:
前記変位は相関のある乱数に基づいて付与される、
ことを特徴とする情報処理方法。 In the information processing method according to claim 3 or 4 ,
The displacement is given based on correlated random numbers,
An information processing method characterized by:
前記中間教示点は隣り合っており、前記中間軌道取得工程では、隣り合った前記中間教示点に前記乱数に基づき前記変位を付与する、 The intermediate teaching points are adjacent to each other, and in the intermediate trajectory obtaining step, the displacement is applied to the adjacent intermediate teaching points based on the random number.
ことを特徴とする情報処理方法。 An information processing method characterized by:
分散共分散行列における共分散に正の値を付与することで前記乱数に相関を持たせる、
ことを特徴とする情報処理方法。 In the information processing method according to claim 5 or 6 ,
Correlating the random numbers by assigning a positive value to the covariance in the variance-covariance matrix;
An information processing method characterized by:
前記中間軌道取得工程では、前記ロボットアームの駆動機構に関する物理的な制約条件を満たす前記中間軌道を取得する、
ことを特徴とする情報処理方法。 The information processing method according to any one of claims 1 to 7 ,
In the intermediate trajectory 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:
前記制約条件は、前記ロボットアームの可動範囲である、
ことを特徴とする情報処理方法。 The information processing method according to claim 8 ,
The constraint condition is a movable range of the robot arm.
An information processing method characterized by:
前記制約条件は、前記ロボットアームに関する関節トルク制約、関節角速度制約、関節角加速度制約、ジャーク制約、手先速度制約、ないし手先加速度制約のうち、いずれか1つまたは複数である、
ことを特徴する情報処理方法。 The information processing method according to claim 8 or 9 ,
The constraint condition 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
前記評価工程では、前記中間軌道における、前記ロボットアームと、前記ロボットアームの動作する空間に配置される物体との干渉量に基づき前記評価値を取得する、
ことを特徴とする情報処理方法。 The information processing method according to any one of claims 8 to 10 ,
In the evaluation step, the evaluation value is obtained based on the amount of interference between the robot arm and an object placed in a space in which the robot arm operates in the intermediate trajectory.
An information processing method characterized by:
前記干渉量は、前記ロボットアームと、前記ロボットアームの動作する空間に配置される物体と、が同一の空間を占める干渉時間、または干渉距離である、
ことを特徴とする情報処理方法。 The information processing method according to claim 11 ,
The amount of interference is an interference time or an interference distance in which the robot arm and an object placed in the space in which the robot arm operates occupy the same space.
An information processing method characterized by:
前記中間軌道取得工程では、前記制約条件を満たしていれば、前記ロボットアームと物体とにおいて干渉が発生している所定の中間軌道も前記少なくとも2つの中間軌道として取得する、
ことを特徴とする情報処理方法。 The information processing method according to claim 11 or 12 ,
In the intermediate trajectory acquisition step, if the constraint condition is satisfied, a predetermined intermediate trajectory in which interference occurs between the robot arm and the object is also acquired as the at least two intermediate trajectories.
An information processing method characterized by:
前記軌道取得工程において、前記干渉量が0となった場合を、前記ロボットアームと前記物体とにおいて干渉が発生していないと判定する、
ことを特徴とする情報処理方法。 The information processing method according to any one of claims 11 to 13 ,
In the trajectory acquisition step, if the amount of interference is 0, it is determined that no interference has occurred between the robot arm and the object;
An information processing method characterized by:
前記少なくとも2つの中間教示点群の内、1つの中間教示点群はユーザがユーザインタフェースを介して設定できる、 One intermediate teaching point group among the at least two intermediate teaching point groups can be set by a user via a user interface;
ことを特徴とする情報処理方法。 An information processing method characterized by:
前記中間軌道取得工程、前記評価工程、及び前記軌道取得工程を繰り返し実行する、
ことを特徴とする情報処理方法。 The information processing method according to any one of claims 1 to 15 ,
repeating the intermediate trajectory acquisition step, the evaluation step, and the trajectory acquisition step;
An information processing method characterized by:
前記中間軌道取得工程では、前記ロボットアームを動作させる動作時間が小さくなるように前記少なくとも2つの中間軌道を取得する、
ことを特徴とする情報処理方法。 The information processing method according to any one of claims 1 to 10 ,
In the intermediate trajectory acquisition step, the at least two intermediate trajectories are acquired such that the operation time for operating the robot arm is shortened.
An information processing method characterized by:
前記評価工程では、前記少なくとも2つの中間軌道で前記ロボットアームを動作させた場合の動作時間に基づき前記評価値を取得する、
ことを特徴とする情報処理方法。 The information processing method according to any one of claims 1 to 10 ,
In the evaluation step, the evaluation value is obtained based on the operation time when the robot arm is operated in the at least two intermediate trajectories.
An information processing method characterized by:
前記軌道取得工程において、前記評価値が所定条件を満たすことを条件として、前記ロボットアームを動作させる軌道の取得を停止する、
ことを特徴とする情報処理方法。 The information processing method according to any one of claims 1 to 18 ,
In the trajectory acquisition step, the acquisition of the trajectory for operating the robot arm is stopped on the condition that the evaluation value satisfies a predetermined condition.
An information processing method characterized by:
前記所定条件は、前記ロボットアームを動作させる軌道の取得を所定回数実行しても前記評価値が変化していないと判定される場合である、
ことを特徴とする情報処理方法。 In the information processing method according to claim 19 ,
The predetermined condition is a case where it is determined that the evaluation value has not changed even after performing acquisition of a trajectory for operating the robot arm a predetermined number of times.
An information processing method characterized by:
前記ロボットアームを動作させる軌道の取得の繰り返し実行回数が所定回数に達したことに基づいて前記ロボットアームを動作させる軌道の取得を停止する、
ことを特徴とする情報処理方法。 The information processing method according to any one of claims 1 to 20 ,
stopping the acquisition of the trajectory for operating the robot arm based on the number of repeated executions of acquisition of the trajectory for operating the robot arm reaching a predetermined number of times;
An information processing method characterized by:
前記中間軌道取得工程において、ポテンシャル法、PRM、RRT、可視グラフ法、セル分割法、ボロノイ図法、のうちの少なくとも1つを用いて前記少なくとも2つの中間軌道を取得する、
ことを特徴とする情報処理方法。 The information processing method according to any one of claims 1 to 21 ,
In the intermediate trajectory acquisition step, the at least two intermediate trajectories are acquired using at least one of the potential method, PRM, RRT, visible graph method, cell division method, and Voronoi diagram.
An information processing method characterized by:
前記中間軌道取得工程において、Spline補間、B-Spline補間、ベジェ曲線補間、のうちの少なくとも1つを用いて前記少なくとも2つの中間軌道を平滑化する、
ことを特徴とする情報処理方法。 The information processing method according to any one of claims 1 to 22 ,
In the intermediate trajectory acquisition step, smoothing the at least two intermediate trajectories using at least one of Spline interpolation, B-Spline interpolation, and Bezier curve interpolation.
An information processing method characterized by:
前記軌道取得工程において取得された前記ロボットアームを動作させる軌道を表示装置に表示する表示工程をさらに備える、
ことを特徴とする情報処理方法。 The information processing method according to any one of claims 1 to 23 ,
further comprising a display step of displaying the trajectory for operating the robot arm acquired in the trajectory acquisition step on a display device;
An information processing method characterized by:
前記軌道取得工程において取得された前記ロボットアームを動作させる軌道を前記ロボットアームを制御する制御装置に出力する出力工程をさらに備える、
ことを特徴とする情報処理方法。 The information processing method according to any one of claims 1 to 24 ,
further comprising an output step of outputting the trajectory for operating the robot arm acquired in the trajectory acquisition step to a control device that controls the robot arm;
An information processing method characterized by:
前記軌道取得工程では、前記所定の中間軌道に基づき、前記ロボットアームを動作させる軌道を更新する、
ことを特徴とする情報処理方法。 The information processing method according to any one of claims 1 to 25 ,
In the trajectory acquisition step, a trajectory for operating the robot arm is updated based on the predetermined intermediate trajectory.
An information processing method characterized by:
前記第1位置または前記第2位置の設定を受け付ける受付工程をさらに備える、
ことを特徴とする情報処理方法。 The information processing method according to any one of claims 1 to 26 ,
further comprising a reception step of accepting the setting of the first position or the second position;
An information processing method characterized by:
前記中間軌道取得工程で取得された前記少なくとも2つの中間軌道において、前記ロボットアームと、前記ロボットアームが動作する空間に配置される物体とが干渉しているか否かを判定する判定工程を備え、 a determination step of determining whether or not the robot arm and an object placed in a space in which the robot arm operates interfere in the at least two intermediate trajectories acquired in the intermediate trajectory acquisition step;
前記評価工程において、前記判定工程により前記ロボットアームと、前記ロボットアームが動作する空間に配置される物体との干渉が発生していないと判定された中間軌道において、前記ロボットアームを動作させる動作時間に関する前記評価値を取得する、 In the evaluation step, an operation time for operating the robot arm in an intermediate trajectory in which it is determined in the determination step that there is no interference between the robot arm and an object placed in the space in which the robot arm operates. obtaining the evaluation value regarding;
ことを特徴とする情報処理方法。 An information processing method characterized by:
前記判定工程において、前記ロボットアームと、前記ロボットアームが動作する空間に配置される物体との干渉が発生していると判定された中間軌道は、前記評価工程において評価する対象としないよう無効とする、 In the determination step, intermediate trajectories for which it is determined that interference between the robot arm and an object placed in the space in which the robot arm operates is invalidated so as not to be evaluated in the evaluation step. do,
ことを特徴とする情報処理方法。 An information processing method characterized by:
前記中間軌道取得工程において、 In the intermediate trajectory acquisition step,
前記少なくとも2つの中間教示点群として、第1中間教示点群と第2中間教示点群とを設定し、 Setting a first intermediate teaching point group and a second intermediate teaching point group as the at least two intermediate teaching point groups,
前記第1中間教示点群は、前記第1位置から前記第2位置までにおいて、前記ロボットアームと、前記ロボットアームが動作する空間に配置される物体とが干渉を回避できる経路を規定し、 The first intermediate teaching point group defines a path from the first position to the second position in which the robot arm and an object placed in a space in which the robot arm operates can avoid interference;
前記第1中間教示点群に変位を与えることで前記第2中間教示点群を取得し、前記第2中間教示点群に基づき前記少なくとも2つの中間軌道を取得する、 obtaining the second intermediate teaching point group by displacing the first intermediate teaching point group, and obtaining the at least two intermediate trajectories based on the second intermediate teaching point group;
ことを特徴とする情報処理方法。 An information processing method characterized by:
前記第1中間教示点群を線路計画アルゴリズムにより設定する、 setting the first intermediate teaching point group by a track planning algorithm;
ことを特徴とする情報処理方法。 An information processing method characterized by:
前記軌道取得工程において、前記所定の中間軌道に対応する前記第2中間教示点群に、前記第1中間教示点群を移動させ、移動した前記第1中間教示点群に基づいて、前記ロボットアームを動作させる軌道を取得する、 In the trajectory acquisition step, the first intermediate teaching point group is moved to the second intermediate teaching point group corresponding to the predetermined intermediate trajectory, and based on the moved first intermediate teaching point group, the robot arm Obtain the trajectory to operate,
ことを特徴とする情報処理方法。 An information processing method characterized by:
前記第1位置から前記第2位置までの経路を規定する中間教示点群を少なくとも2つ設定し、前記中間教示点群に基づき少なくとも2つの中間軌道を取得し、
取得された前記中間軌道において評価値を取得し、
前記評価値に基づき前記中間軌道のうち所定の中間軌道に基づいて、前記ロボットアームを動作させる軌道を取得する、
ことを特徴とする情報処理装置。 In an information processing device that obtains a trajectory for operating a robot arm between a first position and a second position,
setting at least two intermediate teaching point groups that define a route from the first position to the second position, obtaining at least two intermediate trajectories based on the intermediate teaching point group;
obtaining an evaluation value in the obtained intermediate trajectory;
obtaining a trajectory for operating the robot arm based on a predetermined intermediate trajectory among the intermediate trajectories based on the evaluation value;
An information processing device characterized by:
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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 method, information processing device, program, recording medium, production system, robot system and article production method |
Applications Claiming Priority (2)
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 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018018583A Division 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 |
---|---|---|---|
JP2024018550A Division JP2024040344A (en) | 2018-02-05 | 2024-02-09 | Information processing method, information processing device, program, recording medium, production system, robot system and article production method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022179671A JP2022179671A (en) | 2022-12-02 |
JP7439206B2 true JP7439206B2 (en) | 2024-02-27 |
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 method, information processing device, program, recording medium, production system, robot system and article production method |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018018583A Active JP7158862B2 (en) | 2018-02-05 | 2018-02-05 | Information processing method and information processing device |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2024018550A Pending JP2024040344A (en) | 2018-02-05 | 2024-02-09 | Information processing method, information processing device, program, recording medium, production system, robot system and article production method |
Country Status (1)
Country | Link |
---|---|
JP (3) | JP7158862B2 (en) |
Families Citing this family (9)
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 |
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 |
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 |
CN118715098A (en) * | 2022-02-25 | 2024-09-27 | 发那科株式会社 | Information processing apparatus |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
Family Cites Families (5)
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 |
JPH09146621A (en) * | 1995-11-01 | 1997-06-06 | Mitsubishi Electric Corp | Simulator for robot |
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 |
JP5908544B2 (en) | 2014-08-11 | 2016-04-26 | ファナック株式会社 | Robot program generation device for generating a robot program for reducing drive shaft jerk |
-
2018
- 2018-02-05 JP JP2018018583A patent/JP7158862B2/en active Active
-
2022
- 2022-10-12 JP JP2022163661A patent/JP7439206B2/en active Active
-
2024
- 2024-02-09 JP JP2024018550A patent/JP2024040344A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
Also Published As
Publication number | Publication date |
---|---|
JP2019135076A (en) | 2019-08-15 |
JP7158862B2 (en) | 2022-10-24 |
JP2024040344A (en) | 2024-03-25 |
JP2022179671A (en) | 2022-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7439206B2 (en) | Information processing methods, information processing devices, programs, recording media, production systems, robot systems, article manufacturing methods | |
US11458626B2 (en) | Trajectory generating method, and trajectory generating apparatus | |
JP6576255B2 (en) | Robot trajectory generation method, robot trajectory generation apparatus, and manufacturing method | |
US20180036882A1 (en) | Layout setting method and layout setting apparatus | |
JP7210201B2 (en) | Information processing method, program, recording medium, information processing device, robot system, article manufacturing method | |
JP6750909B2 (en) | Robot trajectory generation method, robot trajectory generation apparatus, and manufacturing method | |
CN106041932B (en) | A kind of motion control method of UR robots | |
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 | |
JP7556283B2 (en) | Simulation device and simulation program | |
JP7475841B2 (en) | Information processing method, robot system, article manufacturing method, and information processing device | |
JP5272447B2 (en) | Numerical control machine operation simulator | |
Becker et al. | Automation of post-processing in additive manufacturing with industrial robots | |
JP5792226B2 (en) | Inverse kinematic solution for multi-joint link mechanism and teaching data creation device using this inverse kinematic solution | |
CN111989193A (en) | Method and control system for controlling motion trail of robot | |
Meddahi et al. | API based graphical simulation of robotized sites | |
JP7314215B2 (en) | Simulator, robot teaching device, robot system, article manufacturing method, simulation method, program and recording medium | |
JP6862849B2 (en) | Arithmetic logic units, arithmetic methods, arithmetic programs and robot systems | |
WO2021149419A1 (en) | Simulation device, and simulation program | |
Lan et al. | Development of a 6-axis Robot Using Multibody Dynamic Software | |
Abaas et al. | Inverse kinematic analysis of lab-volt R5150 robot system | |
JP7424122B2 (en) | Simulation equipment and programs | |
Baizid et al. | Virtual reality based tool for optimal robot placement in robotized site based on CAD’s application programming interface | |
Fauadi et al. | Modeling and simulation of programmable universal machine for assembly (PUMA) industrial robot for automotive-related assembly process | |
Sultanuly et al. | Simulation of motion control of a cylindrical robot manipulator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221109 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230829 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231026 |
|
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: 20240116 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240214 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7439206 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |