JP2010137298A - Method of preparing working program for double arm robot - Google Patents
Method of preparing working program for double arm robot Download PDFInfo
- Publication number
- JP2010137298A JP2010137298A JP2008313198A JP2008313198A JP2010137298A JP 2010137298 A JP2010137298 A JP 2010137298A JP 2008313198 A JP2008313198 A JP 2008313198A JP 2008313198 A JP2008313198 A JP 2008313198A JP 2010137298 A JP2010137298 A JP 2010137298A
- Authority
- JP
- Japan
- Prior art keywords
- manipulator
- work
- manipulators
- posture
- arm robot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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]
Abstract
Description
本発明は、複数のマニピュレータで構成されるロボットの作業プログラム作成方法に関し、特に複数のマニピュレータを利用した部品組み付け作業に関する作業プログラムを自動生成する方法に関する。 The present invention relates to a method for creating a work program for a robot composed of a plurality of manipulators, and more particularly to a method for automatically generating a work program related to a part assembling work using a plurality of manipulators.
通常、ティーチングプレイバック方式のロボットの教示は、プログラミングペンダントと呼ばれる手動操作手段を用いて行う。プログラミングペンダント上の軸操作キーでロボットの各軸を動作させ、手先を対象ワークに対する作業位置へジョグ移動させて、その後記憶キーを押すことで移動命令とともにその時の各関節軸の角度データを記憶する。ロボットを所望の位置へとジョグ移動させて記憶させる操作を繰り返すことによってロボット言語で構成される作業プログラムを作成している。実際にロボットが作業を行う再生運転では、教示した各関節軸の角度データを順に読み出して、ロボットの各軸モータへの補間指令を生成し、位置速度制御によってロボットの先端を移動させる。
一方、ロボットによる部品の組み付けのような複雑な作業を教示する際には、このような方法では操作が煩雑であり教示に時間がかかる。特に特許文献1にて開示されたような2本以上のマニピュレータを持つ複腕ロボットによって組み付け作業を行わせる場合では、ロボットが行う作業自体は効率化することが可能になるものの、その作業を教示することは熟練者でも困難である。特許文献1では、ハーネスを含む部品の組み付け作業を行う複腕ロボットが開示されているが、組み付け作業の教示方法については特に記載されていない。
そこで、このような複雑な作業を簡単に教示する方法として、3次元CADやオフラインシミュレータを使ってロボットの作業プログラムを生成する方法がある。
具体的な方法としては、3次元CADによって部品の移動手順を定義し、その動きを実現するようにロボットの動作を決める(例えば特許文献2)。
また、複数マニピュレータで構成されるロボットの作業プログラム作成方法としては、組み付けのための部品の移動手順をマニピュレータごとに定義し、その移動動作単位毎にマニピュレータの優先度を設定してその優先度の組み合わせで各マニピュレータの動作手順を作成し、その中から作業可能かつ作業時間が最短となる動作手順を選択するようにしたロボットの作業プログラム作成方法(例えば特許文献3)がある。
On the other hand, when teaching complicated work such as assembly of parts by a robot, such a method is complicated and takes time to teach. In particular, when the assembly work is performed by a multi-arm robot having two or more manipulators as disclosed in
Therefore, as a method for easily teaching such complicated work, there is a method of generating a robot work program using a three-dimensional CAD or an offline simulator.
As a specific method, a moving procedure of a part is defined by three-dimensional CAD, and a robot operation is determined so as to realize the movement (for example, Patent Document 2).
In addition, as a method for creating a work program for a robot composed of a plurality of manipulators, a procedure for moving parts for assembly is defined for each manipulator, and the priority of the manipulator is set for each movement operation unit. There is a robot work program creation method (for example, Patent Document 3) in which the operation procedure of each manipulator is created in combination, and the operation procedure that enables work and the work time is the shortest is selected.
しかしながら、特許文献2にて開示された従来の作業プログラム作成方法は1本のマニピュレータによる作業に適用されるものであり、複数のマニピュレータで構成されたロボットに対して教示を行う場合にマニピュレータ毎の動作を決定することはできないという問題があった。
また、特許文献3にて開示された従来の作業プログラム作成方法は、複数マニピュレータの各々について部品の移動手順を設定するようにしているものの、各マニピュレータおよび動作単位毎に優先度を設定する必要があるため、動作の種類が多い作業の場合などは動作手順の組み合わせが非常に多くなり、最適な動作手順を探索するための計算量が非常に大きくなるという問題があった。
また動作手順の組み合わせには、マニピュレータ間の干渉や組み付け手順などによって、実際には作業不能となるものも多くあり、無駄な計算が多くなる。さらに、どのような動作手順が選択されるのかが最後まで教示作業者にとっては不明(どの部品を先に移動させ、どの部品を先に組み付けるか等が不明)であり、教示作業者が全く意図しない動作手順になってしまうこともあるという問題があった。
さらに、作業項目を追加した時には最初から動作手順を探索し直さなければならず、作業プログラムの作成に時間を要するという問題もあった。
また、両者に共通の問題として、実際に組み付け作業をロボットで実施する際には、部品の移動のみでなく、部品位置をセンサで計測したり、力制御しながら部品同士の嵌め合いを行ったり、ねじ締めを行ったりする必要があるが、従来の方法ではこうした作業に関するロボット命令は作業プログラムを生成した後に別途追加する必要があり、作業プログラムのどの箇所にその命令を挿入したらよいか教示作業者にとって分かりにくいという問題もあった。
本発明はこのような問題点に鑑みてなされたものであり、教示作業者が意図した組み付け手順に基づいて複数マニピュレータの作業プログラムを生成することができ、また効率的に短時間で作業プログラムを生成することが可能となる複腕ロボットの作業プログラム作成方法を提供することを目的とする。
However, the conventional work program creation method disclosed in
Moreover, although the conventional work program creation method disclosed in
In addition, there are many combinations of operation procedures that are actually inoperable due to interference between manipulators, assembly procedures, and the like, resulting in increased useless calculations. Furthermore, it is unclear to the teaching worker what operation procedure is selected until the end (which parts are moved first and which parts are assembled first, etc.), and the teaching worker has no intention. There was a problem that it might become an operation procedure that does not.
Furthermore, when a work item is added, the operation procedure must be searched again from the beginning, and there is a problem that it takes time to create a work program.
In addition, as a problem common to both, when actually performing assembly work with a robot, not only the movement of the part but also the part position is measured by a sensor, and the parts are fitted together while controlling the force. However, in the conventional method, robot commands related to such work need to be added separately after generating the work program, and teaching work where to insert the command in the work program There was also a problem that it was difficult for people to understand.
The present invention has been made in view of such problems. A work program for a plurality of manipulators can be generated based on an assembly procedure intended by a teaching worker, and the work program can be efficiently and quickly generated. An object of the present invention is to provide a work program creation method for a multi-arm robot that can be generated.
上記問題を解決するため、本発明は、次のような方法をとったのである。
請求項1に記載の発明は、複数のマニピュレータを有する複腕ロボットを動作させ、複数の部品の組み付け作業を行う作業プログラムをオフラインにて生成する複腕ロボットの作業プログラム作成方法であって、前記複数の部品の各々につき、その部品を把持して操作するマニピュレータを前記複数のマニピュレータから選定して設定する第1ステップと、
前記組み付け作業において前記各部品が経由する各点の位置と、前記各経由点における前記各部品の姿勢を設定する第2ステップと、前記第2ステップにて設定された各経由点について、前記マニピュレータが到達する順に番号を割り当てると共に、前記経由点での前記部品の位置および姿勢を前記経由点の位置および姿勢とし、前記マニピュレータ毎に、経由点番号、操作する部品名、前記経由点位置および姿勢からなる経由点データリストを作成する第3ステップと、前記経由点データリストの前記各経由点にて前記マニピュレータが実行する作業内容を予め登録された作業一覧から選択する第4ステップと、前記各経由点について設定された作業内容に応じて、前記マニピュレータに対する命令群からなる作業マクロを組み合わせて前記複数のマニピュレータの作業プログラムを作成する第5ステップと、からなることを特徴とする。
In order to solve the above problem, the present invention adopts the following method.
The invention according to
The second step of setting the position of each point through which each part passes in the assembling operation, the posture of each part at each of the via points, and the manipulator for each via point set in the second step Are assigned numbers in the order of arrival, and the position and orientation of the part at the waypoint are defined as the position and orientation of the waypoint. For each manipulator, the number of the waypoint, the name of the part to be operated, the position and posture of the waypoint A third step of creating a route point data list comprising: a fourth step of selecting work contents to be executed by the manipulator at each route point of the route point data list from a pre-registered work list; Depending on the work contents set for the waypoints, a combination of work macros consisting of a group of instructions for the manipulator A fifth step of creating a plurality of manipulators of the work program, that consists of the features.
請求項2に記載の発明は、前記第2ステップにて、前記複数の部品の他にダミー部品を仮想的に定義し、前記ダミー部品の経由点の位置および姿勢を設定することによって前記部品を把持せずに前記マニピュレータのみの動作を作成することを特徴とする。 According to the second aspect of the present invention, in the second step, in addition to the plurality of parts, a dummy part is virtually defined, and the position and orientation of the via point of the dummy part are set, thereby setting the part. The operation of only the manipulator is created without gripping.
請求項3に記載の発明は、前記第4ステップにて、前記作業内容に関するパラメータとして作業条件を設定することを特徴とする。
The invention according to
請求項4に記載の発明は、前記組み付け作業において前記複数のマニピュレータを同期させて動作させる場合は、前記第4ステップにて前記各マニピュレータに作業内容を設定する際に、同期命令と、同期動作の対象となる部品および部品の経由点番号を指定することを特徴とする。 According to a fourth aspect of the present invention, when the plurality of manipulators are operated in synchronization in the assembly work, a synchronization command and a synchronization operation are performed when setting the work contents in each manipulator in the fourth step. It is characterized by designating a part to be a target and a waypoint number of the part.
請求項5に記載の発明は、前記第5ステップにて、前記経由点の位置および姿勢から逆運動学計算を用いてマニピュレータの各関節目標角度を計算し、前記マニピュレータが特異点を通過する場合は、前記マニピュレータ手先の目標姿勢を所定の範囲で変化させ、変化させた目標姿勢について所定の評価方法による評価値を求め、前記評価値によって前記マニピュレータの目標姿勢を変更することを特徴とする。 In the fifth aspect of the invention, in the fifth step, each joint target angle of the manipulator is calculated from the position and orientation of the via point using inverse kinematics calculation, and the manipulator passes a singular point. Changes the target posture of the manipulator hand within a predetermined range, obtains an evaluation value by a predetermined evaluation method for the changed target posture, and changes the target posture of the manipulator according to the evaluation value.
請求項6に記載の発明は、前記第5ステップにて、前記経由点間の前記マニピュレータの補間動作をシミュレーションし、前記補間シミュレーションにて前記マニピュレータが特異点を通過する場合は、前記マニピュレータ手先の目標姿勢を所定の範囲で変化させ、変化させた目標姿勢について所定の評価方法による評価値を求め、前記評価値によって前記マニピュレータの目標姿勢を変更することを特徴とする。
In the invention according to
請求項7に記載の発明は、前記マニピュレータが7自由度以上の冗長自由度を持つ場合は、前記マニピュレータの冗長自由度姿勢を所定の範囲で変化させた時の前記評価方法による評価値に基づいて、前記マニピュレータの冗長自由度の姿勢を変更することを特徴とする。 According to a seventh aspect of the present invention, when the manipulator has a redundancy degree of freedom of 7 degrees or more, the manipulator is based on an evaluation value obtained by the evaluation method when a redundant degree of freedom attitude of the manipulator is changed within a predetermined range. Then, the attitude of the redundant degree of freedom of the manipulator is changed.
請求項8に記載の発明は、前記マニピュレータが前記マニピュレータの台座を移動させる外部軸上に搭載されている場合は、前記外部軸の位置を所定の範囲で変化させた時の前記評価方法による評価値に基づいて、前記外部軸の位置を変更することを特徴とする。 In the invention according to claim 8, when the manipulator is mounted on an external shaft that moves the pedestal of the manipulator, the evaluation by the evaluation method when the position of the external shaft is changed within a predetermined range The position of the external shaft is changed based on the value.
請求項1に記載の発明によると、教示作業者が意図した組み付け手順に基づいて複数マニピュレータの作業プログラムを簡単に作成でき、また、作業項目の追加も簡単に行うことができる。また作業内容を作業一覧から選択できるようにしたため、作業プログラムの作成のための教示作業者の負担を軽減することができる。
請求項2に記載の発明によると、実際には存在しないダミー部品を定義し、その移動毎の位置姿勢を設定するようにしたため、部品の動きとは関係しないエアカット動作や退避動作などに関しても、作業プログラムを生成することができる。
請求項3に記載の発明によると、作業内容に応じて作業条件を設定するため、様々な組み付け作業へと対応可能となり、複腕ロボットの汎用性を増すことができる。
請求項4に記載の発明によると、作業内容に同期する対象の部品と同期する部品の経由点番号を指定するので、複数のマニピュレータが同期をとって動作することが可能となり、複数のマニピュレータを協調させて動作するような作業のプログラムを作成することができる。
請求項5乃至8に記載の発明によると、指定した部品の位置や姿勢、またはその移動動作が実現できない時でも、自動的にマニピュレータの姿勢や外部軸の位置を変更することで実行可能な作業プログラムを生成することが可能となる。
According to the first aspect of the present invention, it is possible to easily create a work program for a plurality of manipulators based on an assembling procedure intended by a teaching worker, and to easily add work items. Further, since the work content can be selected from the work list, the burden on the teaching worker for creating the work program can be reduced.
According to the second aspect of the present invention, since dummy parts that do not actually exist are defined and the position and orientation for each movement are set, the air cut operation and the retreat operation that are not related to the movement of the parts can be performed. A work program can be generated.
According to the third aspect of the present invention, since the work conditions are set according to the work content, it is possible to deal with various assembling work, and the versatility of the multi-arm robot can be increased.
According to the invention described in
According to the fifth to eighth aspects of the present invention, even when the position or posture of the specified part or its moving operation cannot be realized, work that can be performed by automatically changing the posture of the manipulator or the position of the external shaft. A program can be generated.
以下、本発明の実施の形態について図を参照して説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1は、本発明の方法を実施する複腕ロボットおよび装置の構成を示している。ここでは左右2台のマニピュレータを有する双腕ロボットを例に説明する。図において、101はJ1からJ6の関節を有する左腕マニピュレータ、同様に102はJ1からJ6の関節を有する右腕マニピュレータである。マニピュレータ101と102はそれぞれの先端部に開閉するグリッパを備えており、グリッパによって作業台105上の部品を把持し、組み付け作業を行う。このように部品を組み付ける作業ではマニピュレータに力制御を施し、力加減を制御しながら組み付けることが多い。このような場合は、マニピュレータの先端部とグリッパとの間に力センサ(図示せず)を装着する。
103はマニピュレータ101と102の制御装置であり、作業プログラム読み込み部103により読み込んだ作業プログラムに記述された動作命令に応じて指令生成部1032が両マニピュレータへの指令を生成し、各マニピュレータのサーボ制御部1033、1034へ位置指令を送る。
サーボ制御部1033、1034では各マニピュレータの各軸モータの位置・速度制御を行う。
図1の例ではグリッパは空気圧により動作し、作業プログラムに記述されたI/O命令によってグリッパへの空気圧の供給または供給停止が行われてグリッパが開閉する。
また力制御を実行する場合は指令生成部1032は力センサによる計測結果を基にサーボ制御部1033、1034へ力指令を送り、サーボ制御部1033、1034では各マニピュレータの各軸モータの力制御も実行する。
FIG. 1 shows the configuration of a multi-arm robot and apparatus for implementing the method of the present invention. Here, a double-arm robot having two left and right manipulators will be described as an example. In the figure, 101 is a left arm manipulator having joints J1 to J6, and 102 is a right arm manipulator having joints J1 to J6. The
Servo
In the example of FIG. 1, the gripper operates by air pressure, and the gripper is opened or closed by supplying or stopping supply of air pressure to the gripper by an I / O command described in the work program.
When executing force control, the
この制御装置103で用いる作業プログラムは作業プログラム作成装置104で作成される。本発明の作業プログラム作成方法もこの作業プログラム作成装置104上で実施するものである。
作業プログラム作成装置104では、マニピュレータ101、102や作業台105のロボットモデルが3次元CADデータ等を基に3次元コンピュータグラフィックスのモデルとして構築されている。マニピュレータの位置関係や各マニピュレータの軸構成、動作領域などの情報もロボットモデルには含まれている。さらに組み付け対象モデル1041が3次元CADデータ等から変換されて3次元コンピュータグラフィックスのモデルとして作業プログラム作成装置104内に構築される。
また、作業情報入力部1042では作業プログラムを作成するための作業内容や作業条件など、様々な情報をGUIを用いて入力する。各モデルやGUIによる情報は、作業プログラム作成装置104に接続された表示装置106上に表示される。
作業プログラム作成装置104は、組み付け対象モデル1041で定義した部品の位置姿勢と作業情報入力部1042で入力された情報、および各作業内容に対応して予め用意された作業マクロ1043から作業プログラム生成部1044にて作業プログラムを自動的に生成するものである。この作業プログラム作成装置は例えばパソコンとそのパソコン上で動作するオフライン教示ソフトウェアで実現される。または、ロボットの制御装置に操作用として付加されているプログラミングペンダントの機能として実施しても良い。
作業プログラム作成装置をパソコンとオフライン教示ソフトウェアで実現する場合、作業情報入力部1024は具体的にはキーボードやマウスとなる。またプログラミングペンダントの機能として実施する場合は、プログラミングペンダント上に設けられたキーやタッチパネルとなる。作業情報入力部1024を用いたGUIによる入力方法は一般的なパソコンと同様であるので説明は割愛する。
また図1では作業プログラム作成装置104と表示装置106とは別体となっているが、作業プログラム作成装置をプログラミングペンダントの機能として実施する場合は、表示装置106は作業プログラム作成装置104と一体となっていても良い。
The work program used by the
In the work
The work
The work
When the work program creation device is realized by a personal computer and offline teaching software, the work information input unit 1024 is specifically a keyboard or a mouse. Moreover, when implementing as a function of a programming pendant, it becomes a key or touch panel provided on the programming pendant. Since the input method by GUI using the work information input unit 1024 is the same as that of a general personal computer, the description is omitted.
In FIG. 1, the work
図2は組み付け対象となる部品とその組み付けの一例を示している。図2(a)に示しているように作業台上におかれた部品201に、部品A(202)と部品B(203)を図2(b)のように組み付ける。ここで部品201には部品202と部品203をそれぞれ組み付ける穴2011と2012があり、また、部品202と部品203はケーブル204で接続されている。こうしたケーブルで接続された2つの部品を組み付ける作業は1台のマニピュレータのみでは行うことができない。2台のマニピュレータがそれぞれのグリッパで部品202と部品203を把持した状態でケーブル204に張力がかからないように協調して搬送し、部品201に組み付ける必要がある。
FIG. 2 shows an example of a component to be assembled and its assembly. As shown in FIG. 2A, the part A (202) and the part B (203) are assembled to the
図3は図1で説明した作業プログラム作成装置104で実施する作業プログラム作成の過程を示すフローチャートである。
まず組み付け対象モデル1041を作成する(ステップS0)。ここでは図2で示した組み付け対象の3次元CADデータを読み込むことによって3次元コンピュータグラフィックスとしてモデル化できる。
組み付け作業に先立って部品はロボットの周辺に設置される部品供給装置によって供給されるものとし、これを部品の初期位置とする。
次に、組み付け対象の各部品を操作するマニピュレータを指定する(ステップS1)。
具体的な指定方法としてはオフライン教示ソフトウェアのGUIを用いてステップS0で読み込んだ組み付け対象モデルを表示装置106に表示させ、表示装置106上で各部品(202、203)を選択して、例えば部品203は左マニピュレータで把持、操作するよう指定し、部品202には右マニピュレータで把持、操作するよう指定する。ただし、部品201はマニピュレータで直接操作せず作業台上に固定されているだけなので、部品201を把持、操作するマニピュレータの指定は行わない。
FIG. 3 is a flowchart showing a process of creating a work program executed by the work
First, an
Prior to the assembly work, the parts are supplied by a parts supply device installed around the robot, and this is set as the initial position of the parts.
Next, a manipulator that operates each component to be assembled is designated (step S1).
As a specific designation method, the assembly target model read in step S0 is displayed on the
次に、部品組み付けの動作の途中で各部品が経由する点の位置と姿勢を設定する(ステップS2)。ここでは部品202と203について、図2(a)に示した初期位置姿勢から図2(b)に示した組み付け完了位置までの間を移動する際の経由点ごとの位置・姿勢を設定する。経由点の姿勢は、部品202と203にそれぞれ設けた直交座標系の姿勢によって設定する。
Next, the position and orientation of a point through which each component passes during the component assembling operation are set (step S2). Here, for the
図4は、部品組み付け作業における、部品202と203の各経由点の位置・姿勢の具体例を示している。2021、2031がそれぞれ部品202と203に設定した直交座標系である。この座標系2021と2031は各部品に設定した代表点の位置姿勢を表すためのものである。
図4(a)の初期位置姿勢で、ステップS1で指定したように部品203を左マニピュレータ手先のグリッパで、部品202を右マニピュレータ手先のグリッパでそれぞれ把持し、(b)のように持ち上げる。この際に部品203を部品201に組み付けに適した姿勢にするために、左マニピュレータにより部品203の姿勢を(a)の状態から90°回転させる。(c)で部品201の上に搬送し、(d)で部品202を部品201の穴2011へ嵌めるためのアプローチ位置へ移動させる。
部品202を穴2011へ嵌めた後に、右マニピュレータ手先のグリッパを開放し部品202の把持を解消して、(e)で部品203を部品201の穴2012へ嵌めるためのアプローチ位置へ移動させる。部品201を穴2012へ嵌めた後に、左マニピュレータ手先のグリッパを開放し部品201の把持を解消する。
このように教示作業者が想定した部品組み付け手順に従って、部品202の座標系2021と部品203の座標系2031の各経由点における位置姿勢を指定する。
具体的な指定方法としては、ステップS0で作成した組み付け対象モデルの3次元コンピュータグラフィックスを含むオフライン教示ソフトウェアのGUI環境において、表示装置106上に表示された組み付け対象モデルを教示作業者が図4(a)〜(e)のように経由点へと移動させてその位置を記録するとともに、各部品の経由点における部品202、203の座標系を追加し、その軸方向を決めていく。経由点ごとにこの作業を繰り返すことで座標系2021と座標系2031の各経由点における位置姿勢が決定される。
FIG. 4 shows a specific example of the position / posture of each via point of the
4A, the
After fitting the
In this way, the position and orientation at each via point of the coordinate
As a specific designation method, in the GUI environment of the off-line teaching software including the three-dimensional computer graphics of the assembly target model created in step S0, the teaching worker displays the assembly target model displayed on the
次に、各部品を操作するよう指定されたマニピュレータや部品の経由点を基に実際の各マニピュレータの経由点データリストを生成する(ステップS3)。
経由点データリストは、作業プログラム生成部1044にて左マニピュレータ用のリストと右マニピュレータ用のリストがそれぞれ自動生成され、経由点番号、部品名、経由点の位置および姿勢からなる。経由点番号は部品が移動する順に割り振られた番号であり、経由点の位置姿勢はステップS2で設定した各部品の経由点の位置姿勢である。
Next, a route point data list of each actual manipulator is generated based on the manipulator designated to operate each component and the route points of the component (step S3).
The waypoint data list is automatically generated by the work
次に、上記で設定した各部品の経由点で実行する作業内容を設定する(ステップS4)。作業内容は図2の作業例では「把持」、「嵌め合い」「把持解消」などがあるが、これに加えて「通過」「停止」なども作業内容の一つとして含める。作業内容は予め登録されたものから選択する。
また、選択された作業内容に応じて作業条件を入力する。
例えば「嵌め合い」の作業条件としては、力制御のパラメータや嵌め込み量等が挙げられる。このような作業条件を予め複数用意し、作業条件ごとに一意の番号を割り当ててその作業条件番号を必要に応じて設定する。教示作業者は適宜表示装置106に表示される画面を見ながら、こうした作業内容や作業条件の設定を作業情報入力部1042によって行う。
ステップS4で作業内容や作業条件を入力するGUIの画面例を図5に示す。表の左から経由点番号、部品名、作業内容、作業条件番号が示される。ここでは経由点番号と部品名はステップS3で生成した経由点データリストに応じて、マニピュレータ毎に図5のような表が示され、教示作業者はそこに順次作業内容と作業条件番号を入力していく。
Next, the work contents to be executed at the waypoints of the respective parts set as described above are set (step S4). The work content includes “gripping”, “fitting”, “grip cancellation” and the like in the work example of FIG. 2, but in addition to this, “passing”, “stop”, and the like are included as one of the work contents. The work content is selected from those registered in advance.
Also, work conditions are input according to the selected work content.
For example, working conditions for “fitting” include force control parameters, amount of fitting, and the like. A plurality of such work conditions are prepared in advance, a unique number is assigned to each work condition, and the work condition number is set as necessary. The teaching worker sets such work contents and work conditions by the work
FIG. 5 shows an example of a GUI screen for inputting work contents and work conditions in step S4. The via point number, part name, work content, and work condition number are shown from the left of the table. Here, the waypoint number and the part name are shown in a table as shown in FIG. 5 for each manipulator according to the waypoint data list generated in step S3, and the teaching worker sequentially inputs work contents and work condition numbers there. I will do it.
最後に、ステップS4で完成した表の各経由点番号における作業内容に対応した作業マクロを組み合わせてマニピュレータの作業プログラムを自動生成する(ステップS5)。
作業マクロとは各作業内容をマニピュレータで実現するための一つまたは複数のロボット言語で構成された命令群である。ロボット言語はPTP(ポイントtoポイント)制御を行うための動作命令やグリッパを開閉するためのI/O命令、あるいは力制御を使って嵌め合いを行う作業命令、センサ情報を取得するセンサ命令など様々な命令で構成されており、作業マクロはそれらの組み合わせであって予め登録されている。
なお、作業マクロの汎用性を高めるため、作業マクロ内の動作命令では原則として「現在位置からの移動量」のように相対的な移動量を指定するようになっており、直接移動先を指定しないようにして様々な作業プログラムから利用可能なように構成されている。
Finally, a work program for the manipulator is automatically generated by combining work macros corresponding to work contents at each waypoint number in the table completed in step S4 (step S5).
A work macro is a group of instructions composed of one or more robot languages for realizing each work content with a manipulator. Robot language includes various operation commands for performing PTP (point-to-point) control, I / O commands for opening and closing the gripper, work commands for fitting using force control, sensor commands for obtaining sensor information, etc. The operation macro is a combination thereof and is registered in advance.
In order to increase the versatility of work macros, the movement commands in the work macros generally specify relative movement amounts such as “movement amount from the current position”, and specify the destination directly. It is configured so that it can be used from various work programs.
図5の左マニピュレータの経由点番号1の部品把持に対応する把持作業マクロとその作業条件の例、および左マニピュレータの経由点番号5の部品嵌め合いに対応する作業マクロとその作業条件の例を図6に示す。
図6(a)は作業内容「把持」に対応した作業マクロ「Grip」を示す。作業マクロ「Grip」は
(1行目)センサを用いた把持位置の計測命令と
(2行目)センサによる計測結果に基づいた移動命令、
(3行目)グリッパを閉める命令
の3つの命令から構成される。4行目は、作業マクロを呼び出した作業プログラムへ戻るための命令である。
経由点番号1においては、図4(a)に示すように部品は初期位置にあるが、実際にマニピュレータが部品の初期位置へアプローチしてグリッパによって部品を把持する場合、部品の位置を再確認する必要がある。そのためグリッパには部品の位置を計測するためのセンサが設けられており、作業マクロ「Grip」の1行目ではまず部品の位置計測を行う。
1行目によって計測センサを基準とした把持対象部品の位置がP001に代入され、2行目によってP001に代入された値だけマニピュレータが動作してグリッパの位置を微調整する。
また図6(b)に示す作業条件は、グリッパ開閉に対応する制御装置のI/O番号、センサによる計測のための対象物番号、計測結果によって把持位置を決定するための把持位置補正値からなる。
An example of a gripping work macro corresponding to the part gripping of the via
FIG. 6A shows a work macro “Grip” corresponding to the work content “gripping”. The work macro “Grip” has a (first line) grip position measurement command using the sensor and a (second line) movement command based on the measurement result by the sensor,
(Third line) It is composed of three instructions for closing the gripper. The fourth line is an instruction for returning to the work program that called the work macro.
At the
The position of the part to be gripped with reference to the measurement sensor is assigned to P001 by the first line, and the manipulator operates by the value assigned to P001 by the second line to finely adjust the position of the gripper.
Also, the work conditions shown in FIG. 6B are based on the I / O number of the control device corresponding to the opening / closing of the gripper, the object number for measurement by the sensor, and the grip position correction value for determining the grip position based on the measurement result. Become.
同様に図5の左マニピュレータの経由点番号5では、図4(e)に示すような初期位置から部品A(203)を部品C(201)の穴(2012)へ挿入する作業を記述している。図6(c)に作業内容「嵌め合い」に対応した作業マクロ「Fitting」を示す。作業マクロ「Fitting」は、
(1〜3行目)部品A(203)を部品C(201)の嵌合部分への突き当たるまでマニピュレータを下降させるためのTUKIATE命令に関する命令群
(4〜6行目)上記突き当てで部品Aが部品Cの穴(2012)の縁に当たって止まった場合にマニピュレータを微動させて穴を探るSAGURI命令に関する命令群
(7〜10行目)部品Aを部品Cの穴の底部まで挿入するINSERT命令に関する命令群
から構成される。
この作業が成功した場合は11行目で0をリターンし、失敗した場合は13行目で−1を、この作業マクロの呼び出し元の作業プログラムへ返す。
また図6(d)に示すように、上記の突き当て、探り、挿入それぞれの作業条件を入力する。
なお7行目の「*_INS」や12行目の「*_ERROR」は3行目や6行目、10行目のJUMP命令による移動先を示すラベルである。また「GETSTATUS」は、突き当て命令(TUKIATE命令)や探り命令(SAGURI命令)などの直前の命令が成功したか、失敗したかを戻り値としてB001などの変数に取り込む命令である。TUKIATE命令、SAGURI命令、INSERT命令といった命令は予めマニピュレータの作業命令として準備されている。
前述の「把持」「通過」「嵌め合い」「把持解消」「停止」といったそれぞれの作業内容に対応した作業マクロと作業条件を予め登録しておき、ステップS4で各経由点番号について作業内容とその作業条件を指定することで組み付け作業の作業プログラム生成に必要な情報が得られる。
Similarly, the
(1st to 3rd lines) A group of instructions relating to the TUKITE instruction for lowering the manipulator until the part A (203) hits the fitting part of the part C (201) (4th to 6th lines) Group of SAGURI instructions that finely move the manipulator to find the hole when it hits the edge of the hole (2012) of part C (7th to 10th lines) Related to the INSERT instruction that inserts part A to the bottom of the hole of part C Consists of instruction groups.
If this work is successful, 0 is returned in the 11th line, and if it is unsuccessful, -1 is returned to the work program that called this work macro in the 13th line.
In addition, as shown in FIG. 6 (d), the operation conditions for the above-described butting, searching, and insertion are input.
Note that “* _INS” on the 7th line and “* _ERROR” on the 12th line are labels indicating the destinations of the third, sixth, and 10th JUMP instructions. “GETSTATUS” is an instruction that takes in a variable such as B001 as a return value whether an immediately preceding instruction such as a hit instruction (TUKIATE instruction) or a search instruction (SAGURI instruction) has succeeded or failed. Instructions such as a TUKIATE instruction, a SAGURI instruction, and an INSERT instruction are prepared in advance as manipulator work instructions.
Work macros and work conditions corresponding to the respective work contents such as “gripping”, “passing”, “fitting”, “holding cancellation”, and “stop” are registered in advance, and in
このように選択可能な作業内容に応じて作業マクロと作業条件を準備しておき、ステップS4で作成した表の順番に従って作業マクロを組み合わせていくことでマニピュレータの作業プログラムが自動生成される。
以上述べたように本願発明では、部品毎に作業するマニピュレータを設定し、決められた組み付け手順に応じて部品の経由点の位置姿勢を設定し、それに対応する作業内容を設定し、設定された作業内容を実現する作業マクロの組み合わせから、複数のマニピュレータの作業プログラムを作成するという手順をとることにより、教示作業者が意図した組み付け手順に基づいて複数マニピュレータの作業プログラムを生成することができ、また効率的に短時間で作業プログラムを生成することが可能となる。
As described above, work macros and work conditions are prepared according to the work contents that can be selected, and the work macros are combined in accordance with the order of the table created in step S4, whereby a manipulator work program is automatically generated.
As described above, in the present invention, the manipulator that works for each part is set, the position and orientation of the waypoint of the part is set according to the determined assembling procedure, and the work content corresponding to that is set and set. By taking the procedure of creating a work program for multiple manipulators from a combination of work macros that realize the work content, a work program for multiple manipulators can be generated based on the assembly procedure intended by the teaching worker, In addition, a work program can be efficiently generated in a short time.
実際の組み付け作業では、待機位置にあるマニピュレータが部品にアプローチするまでの動作や、作業が終わって退避する動作、あるいは、1つの部品を他方のマニピュレータで持ち替える動作など、部品を直接操作せずにマニピュレータのみを移動させることが必要な部分が存在する。
このようなマニピュレータの動作は各部品の経由点の位置姿勢を設定する処理(ステップS2)において、図7のように実際には存在しないダミー部品302(部品D)と303(部品E)を定義し、さらにそれを操作するマニピュレータを指定し、各ダミー部品の経由点の位置姿勢3021、3031を設定することで、マニピュレータのみの移動を実現する作業プログラムが生成できるようにする。
ステップS4においても、ここで設定したダミー部品の経由点で実行する作業内容を図8のNo.1やNo.8のように設定する。このようにすることで、部品の移動を伴わないマニピュレータの部品へのアプローチ動作や、組み付け作業完了後のマニピュレータの退避動作についてもステップS5で自動生成される作業プログラムの中に含めることが可能となる。
In the actual assembly work, the manipulator at the standby position approaches the part, moves away from the work, or moves one part with the other manipulator without directly operating the part. There are parts that need to move only the manipulator.
The operation of such a manipulator defines dummy parts 302 (part D) and 303 (part E) that do not actually exist as shown in FIG. 7 in the process (step S2) of setting the position and orientation of the via point of each part. Furthermore, a manipulator for operating the manipulator can be generated by designating a manipulator for operating the dummy parts and setting the position and
Also in step S4, the work content to be executed at the via point of the dummy part set here is shown as No. in FIG. 1 or No. Set as in 8. By doing so, it is possible to include the approach operation to the part of the manipulator without moving the part and the retracting operation of the manipulator after completion of the assembly work in the work program automatically generated in step S5. Become.
さらに、複数のマニピュレータで作業を実行する場合はマニピュレータが相互に干渉しないようにする必要がある。また図2のような部品の組立てでは2台のマニピュレータがそれぞれ部品202と203を把持した状態で協調動作し、ケーブルに張力がかからないようにする必要がある。このように複数のマニピュレータが同期して動作しなければならない場合、ステップS4において各部品の経由点の作業内容を設定する際に、同期する対象の部品および、同期する対象部品の経由点番号を指定する。このような同期条件を入力するフィールドを追加したGUIの例を図8に示している。
図8の左マニピュレータNo.2やNo.5のように同期する対象の部品(この例では右マニピュレータで操作する部品B)と経由点番号(この例では右マニピュレータで操作する部品Bの経由点番号)を入力する。
このように同期について入力した左右マニピュレータの作業内容に基づいて生成された作業プログラム例を図9に示す。図9(a)は左マニピュレータの作業プログラム例、図9(b)は右マニピュレータの作業プログラム例である。図8で指定した作業内容と作業条件に対応して、図9のような作業プログラムが作成される。ここで、作業プログラム中のP000〜P004はステップS2で指定した部品の位置姿勢からステップS5で作成されたロボット位置姿勢データである。また、CONDは作業条件番号を指定するタグである。この時、左右マニピュレータの同期はSYNC命令を挿入することで実現する。SYNC命令は左マニピュレータ(R0)と右マニピュレータ(R1)を同期させる命令であり、この命令が実行されると、相手マニピュレータのSYNC命令が実行されるまで待つ。従ってSYNC命令が両方とも実行された時点でそれ以下の作業プログラム実行が同時に再開されるようになる。
このようにすることで、複数のマニピュレータが同期をとって動作することが可能となるので、複数のマニピュレータを協調させて動作するような作業プログラムの作成も可能となる。
Furthermore, when performing work with a plurality of manipulators, it is necessary to prevent the manipulators from interfering with each other. Also, in assembling the parts as shown in FIG. 2, it is necessary that the two manipulators operate in a coordinated manner while holding the
The left manipulator No. 2 or No. As shown in FIG. 5, the parts to be synchronized (part B operated by the right manipulator in this example) and the via point number (via point number of the part B operated by the right manipulator in this example) are input.
FIG. 9 shows an example of a work program generated based on the work contents of the left and right manipulators input for synchronization in this way. FIG. 9A shows an example of a work program for the left manipulator, and FIG. 9B shows an example of a work program for the right manipulator. A work program as shown in FIG. 9 is created corresponding to the work contents and work conditions specified in FIG. Here, P000 to P004 in the work program are the robot position and orientation data created in step S5 from the position and orientation of the parts specified in step S2. COND is a tag for designating a work condition number. At this time, the synchronization of the left and right manipulators is realized by inserting a SYNC command. The SYNC command is a command to synchronize the left manipulator (R0) and the right manipulator (R1). When this command is executed, it waits until the SYNC command of the counterpart manipulator is executed. Therefore, when both SYNC instructions are executed, the execution of the lower work program is resumed at the same time.
By doing so, it becomes possible for a plurality of manipulators to operate in synchronism, so that it is possible to create a work program that operates in cooperation with the plurality of manipulators.
作業プログラムの自動生成(ステップS5)では、ステップS2で設定した部品の各経由点の位置および姿勢をマニピュレータ先端の位置および姿勢に変換し、これを入力として逆運動学変換の計算によってマニピュレータの各関節角目標値を計算する。
これによって各マニピュレータの各経由点での各関節軸の目標角度が求まり、移動命令とともに作業プログラムが生成できる。逆運動学変換の計算は既知の方法であり、すべての経由点についてこの計算を行うことで移動に関する作業プログラムが完成する。
しかし、経由点の位置はGUI環境にて指定したもので、実際にマニピュレータを動作させて決定したものではない。よって経由点が特異点になっている場合もありうる。特異点が含まれていた場合は逆運動学変換の解が求まらない。また逆運動学変換の計算では求まった解が、マニピュレータの関節の可動範囲外であるなど、ステップS2で設定した部品の経由点の位置姿勢がマニピュレータにとっては実現できない位置姿勢である場合がある。
一方、単に通過するだけの経由点や、部品の把持方法を変更して作業姿勢を変更しても問題ない経由点については、その経由点でのマニピュレータ手先の目標姿勢のみ変更すれば目標位置は実現できる場合が多い。例えば、図4の(b)や(c)において、部品202や203は必ずしも図4に示した通りの姿勢でなくても良い。
そこで、ステップS5において逆運動学変換で解が求まらなかったり、解が関節可動範囲外であったりした経由点が発生した場合は、マニピュレータ手先の目標姿勢を所定の範囲内で変化させ、所定の評価方法によって目標姿勢を変更することで部品の経由点におけるマニピュレータの実現可能な位置姿勢が求まる。
目標姿勢を決定する評価方法として例えば次のようにすればよい。
(1)可操作性楕円体(「吉川恒夫著「ロボット制御基礎論」参照」)の半径から姿勢が最も変更しやすい方向を決定する。
可操作性楕円体とは手先の可操作性を表したものであり、その主軸半径の長い方向が手先速度を出しやすい方向、短い方向が小さい手先速度しか出せない方向である。従って、可操作性楕円体主軸半径(ヤコビ行列の特異値)によって変更しやすい方向を知ることができる。
(2)上記の方向に姿勢を一定範囲に振って、逆運動学変換の計算が可能な範囲を決定する。
(3)上記範囲のうち、逆運動学変換の解が各関節可動範囲のリミット値からの距離が最も遠いものを目標姿勢とする。
このようにして自動的に目標姿勢を変更することで実現可能な作業プログラムが自動生成できる。
In the automatic generation of the work program (step S5), the position and orientation of each via point of the part set in step S2 are converted into the position and orientation of the manipulator tip, and this is used as input to calculate each of the manipulators by inverse kinematic transformation calculation. Calculate the joint angle target value.
As a result, the target angle of each joint axis at each via point of each manipulator is obtained, and a work program can be generated together with the movement command. The calculation of the inverse kinematic transformation is a known method, and the work program relating to movement is completed by performing this calculation for all waypoints.
However, the position of the via point is specified in the GUI environment and is not determined by actually operating the manipulator. Therefore, there may be a case where the waypoint is a singular point. If singularities are included, the solution of inverse kinematic transformation cannot be obtained. In some cases, the solution obtained by the calculation of inverse kinematics conversion is out of the movable range of the joint of the manipulator, and the position and orientation of the via point of the part set in step S2 is a position and orientation that cannot be realized by the manipulator.
On the other hand, for via points that simply pass through or via points that do not have any problems if the work posture is changed by changing the gripping method of the part, if only the target posture of the manipulator hand at that via point is changed, the target position will be In many cases, it can be realized. For example, in FIGS. 4B and 4C, the
Therefore, when a via point is generated in which the solution cannot be obtained by inverse kinematic conversion in step S5 or the solution is out of the joint movable range, the target posture of the manipulator hand is changed within a predetermined range, The feasible position and orientation of the manipulator at the via point of the part can be obtained by changing the target posture by a predetermined evaluation method.
For example, the evaluation method for determining the target posture may be as follows.
(1) A direction in which the posture is most easily changed is determined from the radius of the manipulable ellipsoid (see “Tsuneo Yoshikawa“ Robot Control Basics ”).
The manipulability ellipsoid represents the maneuverability of the hand. The direction in which the principal axis radius is long is the direction in which the hand speed can be easily obtained, and the direction in which the short direction is small is the direction in which only a small hand speed can be obtained. Therefore, it is possible to know the direction that is easily changed by the manipulable ellipsoid principal axis radius (singular value of the Jacobian matrix).
(2) The posture is swung in a certain range in the above direction, and a range in which the inverse kinematic transformation can be calculated is determined.
(3) Among the above ranges, the solution in which the inverse kinematics conversion is farthest from the limit value of each joint movable range is set as the target posture.
Thus, a work program that can be realized by automatically changing the target posture can be automatically generated.
また、図10のようにマニピュレータが冗長自由度を持った7軸以上の構成である場合は、冗長自由度の姿勢を変更することで特異点や関節可動範囲オーバーを回避することが可能である。例えば7軸のマニピュレータでは、マニピュレータ先端の位置と姿勢を変更せずに、マニピュレータの肘の位置(ロボットのベース部から数えて3軸目(J3)と4軸目(J4)の軸の交点を肘位置と定義する)を変更することが可能である。
マニピュレータの原点(ロボットのベース部から数えて1軸目(J1)の軸線上の点で、2軸目(J2)の軸線と同じ高さに位置する)と手首点(J6軸の軸線とJ7軸の軸線の交点)を結ぶ直線回りの肘位置の回転角度を肘回転角度と呼び、7自由度マニピュレータでは冗長自由度としてよく用いられる。
このような冗長自由度を用いて特異点や関節可動範囲オーバーを回避する。
ステップS5において逆運動学変換で解が求まらなかったり、解が関節可動範囲外であったりした経由点が発生した場合は、マニピュレータの肘回転角度を所定の範囲内で変化させ、所定の評価方法によって目標肘回転角度を変更することでマニピュレータの経由点における実現可能な位置姿勢が求まる。
目標肘回転角度を決定する評価方法としては例えば次のようにすれば良い。
(1)肘回転角度を一定範囲で変化させ、逆運動学変換の計算が可能な範囲を決定する。
(2)上記範囲のうち、逆運動学変換の解が関節可動範囲のリミット値からの(各関節角度制限値との)距離が最も遠いものを目標肘回転角度とする。
(3)または上記範囲のうち、上述の可操作度が最も大きいものを肘回転角度とする。
このようにして自動的に冗長自由度姿勢を変更することで、実現可能な作業プログラムが自動生成できる。
In addition, when the manipulator has a configuration with seven or more axes having redundant degrees of freedom as shown in FIG. 10, it is possible to avoid a singular point or a joint movable range over by changing the posture of the redundant degrees of freedom. . For example, in a 7-axis manipulator, without changing the position and posture of the manipulator tip, the position of the manipulator elbow (the intersection of the 3rd axis (J3) and 4th axis (J4) axes counted from the base of the robot) It is possible to change the elbow position).
The origin of the manipulator (the point on the axis of the first axis (J1) counted from the base of the robot is located at the same height as the axis of the second axis (J2)) and the wrist point (the axis of the J6 axis and J7 The rotation angle of the elbow position around a straight line connecting the axis of the axis) is called the elbow rotation angle, and is often used as a redundant degree of freedom in a seven-degree-of-freedom manipulator.
Using such redundant degrees of freedom avoids singular points and joint movement range over.
In step S5, when a via point where the solution is not obtained by inverse kinematic conversion or the solution is out of the joint movable range is generated, the elbow rotation angle of the manipulator is changed within a predetermined range, By changing the target elbow rotation angle according to the evaluation method, the feasible position and orientation at the waypoint of the manipulator can be obtained.
For example, the evaluation method for determining the target elbow rotation angle may be as follows.
(1) The elbow rotation angle is changed within a certain range, and the range in which the inverse kinematic transformation can be calculated is determined.
(2) Among the above ranges, a solution having the farthest distance from the limit value of the joint movable range (with respect to each joint angle limit value) as the solution of the inverse kinematic conversion is set as the target elbow rotation angle.
(3) or the above-mentioned range having the highest manipulability is defined as the elbow rotation angle.
By automatically changing the redundancy degree of freedom posture in this way, a feasible work program can be automatically generated.
さらに、マニピュレータが位置制御可能な外部の走行台や回転台の上に搭載されている場合は、走行台や回転台の位置を変更することで、特異点や関節可動範囲オーバーを回避することが可能である。
ステップS5において逆運動学変換で解が求まらなかったり、解が関節可動範囲外であったりした経由点が発生した場合は、マニピュレータが搭載されている走行台や回転台の位置を所定の範囲で変化させ、所定の評価方法によって走行台や回転台の位置を変更することで部品の経由点におけるマニピュレータの実現可能な位置姿勢が求まる。
走行台や回転台の位置を決定する評価方法としては例えば次のようにすれば良い。
(1)マニピュレータの可操作性楕円体の半径から走行台や回転台の変更方向を決定する。
(2)上記の方向に走行台または回転台の位置を一定範囲変化させ、その時のマニピュレータベースの位置姿勢の変化分をマニピュレータ手先の目標位置姿勢から差し引いて逆運動学変換し、その計算が可能な範囲を決定する。
(3)上記範囲のうち、逆運動学変換の解が関節可動範囲のリミット値からの距離が最も遠いものを走行台または回転台の目標位置とする。
このようにして自動的に走行台や回転台の位置を変更することで、実現可能な作業プログラムが自動生成できる。
Furthermore, when the manipulator is mounted on an external traveling platform or turntable whose position can be controlled, it is possible to avoid singular points or over the joint movable range by changing the position of the traveling table or turntable. Is possible.
In step S5, if there is a transit point where the solution cannot be obtained by inverse kinematics conversion or the solution is out of the joint movable range, the position of the traveling table or the turntable on which the manipulator is mounted is set to a predetermined value. The position and orientation of the manipulator that can be realized at the waypoint of the part can be obtained by changing the range and changing the position of the traveling table or the turntable by a predetermined evaluation method.
For example, the evaluation method for determining the position of the traveling table or the rotating table may be as follows.
(1) The direction of change of the traveling platform and the turntable is determined from the radius of the manipulability ellipsoid of the manipulator.
(2) Change the position of the carriage or turntable in a certain range in the above direction, and subtract the change in the position and orientation of the manipulator base from the target position and orientation of the manipulator hand to perform inverse kinematic conversion and calculate it The correct range.
(3) Among the above ranges, a solution in which the inverse kinematics conversion is farthest from the limit value of the joint movable range is set as a target position of the traveling platform or the turntable.
A work program that can be realized can be automatically generated by automatically changing the position of the traveling table or the turntable in this way.
上記はステップS2で設定した部品の経由点の位置姿勢が、マニピュレータにとっては実現できない位置姿勢である場合の例を示したが、経由点間を補間して移動する際に位置姿勢が実現できなくなる場合もある。これは、生成された作業プログラムをオフライン教示ソフトウェアで経由点間の補間移動シミュレーションを行うことによって確認することができる。
この場合は、マニピュレータの移動途中に目標位置姿勢を実現できない地点において、上記の経由点での姿勢や冗長自由度姿勢、走行台や回転台の位置を変更した方法と同じ方法を用いて、姿勢や冗長自由度姿勢、走行台や回転台の位置を変更し、その地点を新たな経由点として作業プログラムに追加すればよい。
The above shows an example in which the position and orientation of the via point of the part set in step S2 cannot be realized by the manipulator. However, the position and orientation cannot be realized when moving by interpolating between the via points. In some cases. This can be confirmed by performing an interpolated movement simulation between via points using the off-line teaching software for the generated work program.
In this case, at the point where the target position and posture cannot be realized during the movement of the manipulator, the posture is determined by using the same method as the method of changing the posture at the waypoint, the posture of the redundant degree of freedom, and the position of the traveling platform and the turntable. It is also possible to change the position of the redundant degree of freedom, the position of the traveling platform or the turntable, and add the point as a new waypoint to the work program.
101 左腕ロボット(6自由度)
102 右腕ロボット(6自由度)
103 制御装置
104 プログラム作成装置
105 作業台
106 表示装置
201 部品C
2011 部品Bを取り付ける穴
2012 部品Aを取り付ける穴
202 部品B
2021 部品Bの位置姿勢を表す座標系
203 部品A
2031 部品Aの位置姿勢を表す座標系
204 ケーブル
302 ダミー部品D
303 ダミー部品C
3021 ダミー部品Dの位置姿勢を表す座標系
3031 ダミー部品Cの位置姿勢を表す座標系
101 Left arm robot (6 degrees of freedom)
102 Right arm robot (6 degrees of freedom)
103
2011 A hole for mounting a part B 2012 A hole for mounting a part A 202 A part B
2021 A coordinate
2031 Coordinate
303 Dummy part C
3021 A coordinate system representing the position and orientation of the dummy component D 3031 A coordinate system representing the position and orientation of the dummy component C
Claims (8)
前記複数の部品の各々につき、その部品を把持して操作するマニピュレータを前記複数のマニピュレータから選定して設定する第1ステップと、
前記組み付け作業において前記各部品が経由する各点の位置と、前記各経由点における前記各部品の姿勢を設定する第2ステップと、
前記第2ステップにて設定された各経由点について、前記マニピュレータが到達する順に番号を割り当てると共に、前記経由点での前記部品の位置および姿勢を前記経由点の位置および姿勢とし、前記マニピュレータ毎に、経由点番号、操作する部品名、前記経由点位置および姿勢からなる経由点データリストを作成する第3ステップと、
前記経由点データリストの前記各経由点にて前記マニピュレータが実行する作業内容を予め登録された作業一覧から選択する第4ステップと、
前記各経由点について設定された作業内容に応じて、前記マニピュレータに対する命令群からなる作業マクロを組み合わせて前記複数のマニピュレータの作業プログラムを作成する第5ステップと、
からなることを特徴とする複腕ロボットの作業プログラム作成方法。 A work program creation method for a multi-arm robot that operates a multi-arm robot having a plurality of manipulators and generates a work program for assembling a plurality of parts offline,
For each of the plurality of parts, a first step of selecting and setting a manipulator for gripping and operating the part from the plurality of manipulators;
A second step of setting the position of each point through which each component passes in the assembly operation, and the posture of each component at each of the via points;
For each waypoint set in the second step, a number is assigned in the order in which the manipulator arrives, and the position and orientation of the part at the waypoint are set as the position and orientation of the waypoint, and for each manipulator A third step of creating a via point data list including the via point number, the name of the part to be operated, and the via point position and orientation;
A fourth step of selecting a work content to be executed by the manipulator at each waypoint in the waypoint data list from a pre-registered work list;
A fifth step of creating work programs for the plurality of manipulators by combining work macros comprising instructions for the manipulators according to the work content set for each of the via points;
A work program creation method for a multi-arm robot characterized by comprising:
前記第4ステップにて前記各マニピュレータに作業内容を設定する際に、同期命令と、同期動作の対象となる部品および部品の経由点番号を指定することを特徴とする請求項1記載の複腕ロボットの作業プログラム作成方法。 When operating the plurality of manipulators in synchronization in the assembly work,
2. The multi-arm according to claim 1, wherein when the work content is set in each of the manipulators in the fourth step, a synchronization command, a part to be synchronized and a via point number of the part are designated. Robot work program creation method.
前記マニピュレータ手先の目標姿勢を所定の範囲で変化させ、変化させた目標姿勢について所定の評価方法による評価値を求め、前記評価値によって前記マニピュレータの目標姿勢を変更することを特徴とする請求項1記載の複腕ロボットの作業プログラム作成方法。 In the fifth step, each joint target angle of the manipulator is calculated from the position and posture of the via point using inverse kinematics calculation, and when the manipulator passes a singular point,
2. The target posture of the manipulator hand is changed within a predetermined range, an evaluation value is obtained by a predetermined evaluation method for the changed target posture, and the target posture of the manipulator is changed according to the evaluation value. The work program creation method of the double-arm robot described.
前記マニピュレータ手先の目標姿勢を所定の範囲で変化させ、変化させた目標姿勢について所定の評価方法による評価値を求め、前記評価値によって前記マニピュレータの目標姿勢を変更することを特徴とする請求項1記載の複腕ロボットの作業プログラム作成方法。 In the fifth step, the interpolation operation of the manipulator between the waypoints is simulated, and when the manipulator passes a singular point in the interpolation simulation,
2. The target posture of the manipulator hand is changed within a predetermined range, an evaluation value is obtained by a predetermined evaluation method for the changed target posture, and the target posture of the manipulator is changed according to the evaluation value. The work program creation method of the double-arm robot described.
前記マニピュレータの冗長自由度姿勢を所定の範囲で変化させた時の前記評価方法による評価値に基づいて、前記マニピュレータの冗長自由度の姿勢を変更することを特徴とする請求項5または6記載の複腕ロボットの作業プログラム作成方法。 If the manipulator has more than 7 degrees of freedom,
7. The redundant degree of freedom posture of the manipulator is changed based on an evaluation value obtained by the evaluation method when the redundant degree of freedom posture of the manipulator is changed within a predetermined range. How to create a multi-arm robot work program.
前記外部軸の位置を所定の範囲で変化させた時の前記評価方法による評価値に基づいて、前記外部軸の位置を変更することを特徴とする請求項5または6記載の複腕ロボットの作業プログラム作成方法。 When the manipulator is mounted on an external shaft that moves the pedestal of the manipulator,
The multi-arm robot operation according to claim 5 or 6, wherein the position of the external axis is changed based on an evaluation value obtained by the evaluation method when the position of the external axis is changed within a predetermined range. How to create a program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008313198A JP5071361B2 (en) | 2008-12-09 | 2008-12-09 | Method for creating work program for double-arm robot and double-arm robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008313198A JP5071361B2 (en) | 2008-12-09 | 2008-12-09 | Method for creating work program for double-arm robot and double-arm robot |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2010137298A true JP2010137298A (en) | 2010-06-24 |
JP2010137298A5 JP2010137298A5 (en) | 2011-07-14 |
JP5071361B2 JP5071361B2 (en) | 2012-11-14 |
Family
ID=42347877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008313198A Active JP5071361B2 (en) | 2008-12-09 | 2008-12-09 | Method for creating work program for double-arm robot and double-arm robot |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5071361B2 (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013059817A (en) * | 2011-09-12 | 2013-04-04 | Seiko Epson Corp | Operation program creating device, program, robot control system, and robot system |
JP2014226730A (en) * | 2013-05-17 | 2014-12-08 | 蛇の目ミシン工業株式会社 | Robot, control method for robot, and control program for robot |
JP2015085467A (en) * | 2013-10-31 | 2015-05-07 | セイコーエプソン株式会社 | Control device, robot, robot system and control method |
WO2016151862A1 (en) * | 2015-03-26 | 2016-09-29 | 株式会社日立製作所 | Assembly teaching device and assembly teaching method |
JP2017001145A (en) * | 2015-06-11 | 2017-01-05 | 蛇の目ミシン工業株式会社 | robot |
US9925668B2 (en) | 2015-04-10 | 2018-03-27 | Seiko Epson Corporation | Robot, control unit, and control method |
JP2018118330A (en) * | 2017-01-23 | 2018-08-02 | 富士通株式会社 | Operational equipment, operating method, operation program and robot system |
KR20180112324A (en) * | 2017-04-03 | 2018-10-12 | 한국전자통신연구원 | Automatic assembly apparatus and method based on process recipe |
JP2019188487A (en) * | 2018-04-19 | 2019-10-31 | 富士通株式会社 | Arithmetic unit, arithmetic method and arithmetic program |
JP2020185631A (en) * | 2019-05-13 | 2020-11-19 | 日立Geニュークリア・エナジー株式会社 | Simulation device, and simulation program |
CN114713890A (en) * | 2021-12-13 | 2022-07-08 | 上海工程技术大学 | Ring surface worm gear hob rake face machining system and method based on double-arm cooperation |
US11707845B2 (en) | 2019-06-27 | 2023-07-25 | Hitachi, Ltd. | Assembly planning device, assembly planning method, and non-transitory computer-readable storage medium |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5582427B2 (en) * | 2012-12-18 | 2014-09-03 | 株式会社安川電機 | Teaching data creation apparatus, robot system, and teaching data creation method |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS632681A (en) * | 1986-06-19 | 1988-01-07 | 富士通株式会社 | Coordination operation control system of plurality of robot |
JPS63288683A (en) * | 1987-05-21 | 1988-11-25 | 株式会社東芝 | Assembling robot |
JPS6436306A (en) * | 1987-07-31 | 1989-02-07 | Yaskawa Denki Seisakusho Kk | Method for editing operation program of robot |
JPH05265527A (en) * | 1992-03-16 | 1993-10-15 | Fanuc Ltd | Operation program preparing method and execution method |
JPH06187020A (en) * | 1992-12-18 | 1994-07-08 | Kobe Steel Ltd | Operational locus instructing method for robot |
JPH09179624A (en) * | 1995-12-27 | 1997-07-11 | Honda Motor Co Ltd | Off-line teaching system |
JPH11226886A (en) * | 1998-02-13 | 1999-08-24 | Hitachi Zosen Corp | Correcting method for robot track |
JP2002355724A (en) * | 2001-05-31 | 2002-12-10 | Ricoh Co Ltd | Assembly-disassembly process design support device |
-
2008
- 2008-12-09 JP JP2008313198A patent/JP5071361B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS632681A (en) * | 1986-06-19 | 1988-01-07 | 富士通株式会社 | Coordination operation control system of plurality of robot |
JPS63288683A (en) * | 1987-05-21 | 1988-11-25 | 株式会社東芝 | Assembling robot |
JPS6436306A (en) * | 1987-07-31 | 1989-02-07 | Yaskawa Denki Seisakusho Kk | Method for editing operation program of robot |
JPH05265527A (en) * | 1992-03-16 | 1993-10-15 | Fanuc Ltd | Operation program preparing method and execution method |
JPH06187020A (en) * | 1992-12-18 | 1994-07-08 | Kobe Steel Ltd | Operational locus instructing method for robot |
JPH09179624A (en) * | 1995-12-27 | 1997-07-11 | Honda Motor Co Ltd | Off-line teaching system |
JPH11226886A (en) * | 1998-02-13 | 1999-08-24 | Hitachi Zosen Corp | Correcting method for robot track |
JP2002355724A (en) * | 2001-05-31 | 2002-12-10 | Ricoh Co Ltd | Assembly-disassembly process design support device |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013059817A (en) * | 2011-09-12 | 2013-04-04 | Seiko Epson Corp | Operation program creating device, program, robot control system, and robot system |
JP2014226730A (en) * | 2013-05-17 | 2014-12-08 | 蛇の目ミシン工業株式会社 | Robot, control method for robot, and control program for robot |
JP2015085467A (en) * | 2013-10-31 | 2015-05-07 | セイコーエプソン株式会社 | Control device, robot, robot system and control method |
WO2016151862A1 (en) * | 2015-03-26 | 2016-09-29 | 株式会社日立製作所 | Assembly teaching device and assembly teaching method |
US9925668B2 (en) | 2015-04-10 | 2018-03-27 | Seiko Epson Corporation | Robot, control unit, and control method |
JP2017001145A (en) * | 2015-06-11 | 2017-01-05 | 蛇の目ミシン工業株式会社 | robot |
JP2018118330A (en) * | 2017-01-23 | 2018-08-02 | 富士通株式会社 | Operational equipment, operating method, operation program and robot system |
KR102093775B1 (en) * | 2017-04-03 | 2020-03-26 | 한국전자통신연구원 | Automatic assembly apparatus and method based on process recipe |
KR20180112324A (en) * | 2017-04-03 | 2018-10-12 | 한국전자통신연구원 | Automatic assembly apparatus and method based on process recipe |
JP2019188487A (en) * | 2018-04-19 | 2019-10-31 | 富士通株式会社 | Arithmetic unit, arithmetic method and arithmetic program |
JP7081284B2 (en) | 2018-04-19 | 2022-06-07 | 富士通株式会社 | Arithmetic logic unit, operational method, and arithmetic program |
JP2020185631A (en) * | 2019-05-13 | 2020-11-19 | 日立Geニュークリア・エナジー株式会社 | Simulation device, and simulation program |
JP7223630B2 (en) | 2019-05-13 | 2023-02-16 | 日立Geニュークリア・エナジー株式会社 | Simulation device and simulation program |
US11707845B2 (en) | 2019-06-27 | 2023-07-25 | Hitachi, Ltd. | Assembly planning device, assembly planning method, and non-transitory computer-readable storage medium |
CN114713890A (en) * | 2021-12-13 | 2022-07-08 | 上海工程技术大学 | Ring surface worm gear hob rake face machining system and method based on double-arm cooperation |
CN114713890B (en) * | 2021-12-13 | 2023-08-29 | 上海工程技术大学 | Double-arm cooperation-based annular worm hob front cutter surface machining system and method |
Also Published As
Publication number | Publication date |
---|---|
JP5071361B2 (en) | 2012-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5071361B2 (en) | Method for creating work program for double-arm robot and double-arm robot | |
US20220009100A1 (en) | Software Interface for Authoring Robotic Manufacturing Process | |
CN108453702B (en) | Robot simulator, robot system, and simulation method | |
US10279476B2 (en) | Method and system for programming a robot | |
EP2282873B1 (en) | A method and a system for facilitating calibration of an off-line programmed robot cell | |
JP4137909B2 (en) | Robot program correction device | |
JP6706489B2 (en) | Robot direct teaching method | |
US20110054685A1 (en) | Robot off-line teaching method | |
JP4621641B2 (en) | Robot teaching CAD apparatus and robot teaching method | |
JP2005111618A (en) | Manual feeding device for robot | |
JP6469159B2 (en) | Offline programming apparatus and method with work position detection program generation function by contact sensor | |
WO2022224425A1 (en) | Numerical control device and numerical control system | |
Manou et al. | Off-line programming of an industrial robot in a virtual reality environment | |
JP2009190113A (en) | Robot simulation device | |
Gogouvitis et al. | Construction of a virtual reality environment for robotic manufacturing cells | |
JP2013226602A (en) | Industrial machine system | |
JP2019188545A (en) | Robot control device | |
JP5272447B2 (en) | Numerical control machine operation simulator | |
JP2018118330A (en) | Operational equipment, operating method, operation program and robot system | |
WO2018180299A1 (en) | Robot teaching device, method for controlling robot teaching device, and robot teaching program | |
Lin | Path generation for robot polishing system based on cutter location data | |
Dàvila-Rìos et al. | On the Implementation of a robotic welding process using 3D simulation environment | |
JPH03288211A (en) | Off-line teaching system for handling robot | |
WO2018180297A1 (en) | Robot teaching device, robot teaching program, and method for controlling robot teaching device | |
Xiao et al. | Assembly language design and development for reconfigurable flexible assembly line |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110531 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110531 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20120216 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120718 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120724 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120806 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5071361 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150831 Year of fee payment: 3 |