JP5071361B2 - 複腕ロボットの作業プログラム作成方法および複腕ロボット - Google Patents

複腕ロボットの作業プログラム作成方法および複腕ロボット Download PDF

Info

Publication number
JP5071361B2
JP5071361B2 JP2008313198A JP2008313198A JP5071361B2 JP 5071361 B2 JP5071361 B2 JP 5071361B2 JP 2008313198 A JP2008313198 A JP 2008313198A JP 2008313198 A JP2008313198 A JP 2008313198A JP 5071361 B2 JP5071361 B2 JP 5071361B2
Authority
JP
Japan
Prior art keywords
work
manipulator
arm robot
manipulators
posture
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008313198A
Other languages
English (en)
Other versions
JP2010137298A (ja
JP2010137298A5 (ja
Inventor
賢一 安田
康之 井上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP2008313198A priority Critical patent/JP5071361B2/ja
Publication of JP2010137298A publication Critical patent/JP2010137298A/ja
Publication of JP2010137298A5 publication Critical patent/JP2010137298A5/ja
Application granted granted Critical
Publication of JP5071361B2 publication Critical patent/JP5071361B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

本発明は、複数のマニピュレータで構成されるロボットの作業プログラム作成方法に関し、特に複数のマニピュレータを利用した部品組み付け作業に関する作業プログラムを自動生成する方法、さらにはその作業プログラムにより作業を行う複腕ロボットに関する。
通常、ティーチングプレイバック方式のロボットの教示は、プログラミングペンダントと呼ばれる手動操作手段を用いて行う。プログラミングペンダント上の軸操作キーでロボットの各軸を動作させ、手先を対象ワークに対する作業位置へジョグ移動させて、その後記憶キーを押すことで移動命令とともにその時の各関節軸の角度データを記憶する。ロボットを所望の位置へとジョグ移動させて記憶させる操作を繰り返すことによってロボット言語で構成される作業プログラムを作成している。実際にロボットが作業を行う再生運転では、教示した各関節軸の角度データを順に読み出して、ロボットの各軸モータへの補間指令を生成し、位置速度制御によってロボットの先端を移動させる。
一方、ロボットによる部品の組み付けのような複雑な作業を教示する際には、このような方法では操作が煩雑であり教示に時間がかかる。特に特許文献1にて開示されたような2本以上のマニピュレータを持つ複腕ロボットによって組み付け作業を行わせる場合では、ロボットが行う作業自体は効率化することが可能になるものの、その作業を教示することは熟練者でも困難である。特許文献1では、ハーネスを含む部品の組み付け作業を行う複腕ロボットが開示されているが、組み付け作業の教示方法については特に記載されていない。
そこで、このような複雑な作業を簡単に教示する方法として、3次元CADやオフラインシミュレータを使ってロボットの作業プログラムを生成する方法がある。
具体的な方法としては、3次元CADによって部品の移動手順を定義し、その動きを実現するようにロボットの動作を決める(例えば特許文献2)。
また、複数マニピュレータで構成されるロボットの作業プログラム作成方法としては、組み付けのための部品の移動手順をマニピュレータごとに定義し、その移動動作単位毎にマニピュレータの優先度を設定してその優先度の組み合わせで各マニピュレータの動作手順を作成し、その中から作業可能かつ作業時間が最短となる動作手順を選択するようにしたロボットの作業プログラム作成方法(例えば特許文献3)がある。
特開平7−223179号公報(図1) 特開2006−350620号公報(図2) 特開昭63−295192号公報(表2)
しかしながら、特許文献2にて開示された従来の作業プログラム作成方法は1本のマニピュレータによる作業に適用されるものであり、複数のマニピュレータで構成されたロボットに対して教示を行う場合にマニピュレータ毎の動作を決定することはできないという問題があった。
また、特許文献3にて開示された従来の作業プログラム作成方法は、複数マニピュレータの各々について部品の移動手順を設定するようにしているものの、各マニピュレータおよび動作単位毎に優先度を設定する必要があるため、動作の種類が多い作業の場合などは動作手順の組み合わせが非常に多くなり、最適な動作手順を探索するための計算量が非常に大きくなるという問題があった。
また動作手順の組み合わせには、マニピュレータ間の干渉や組み付け手順などによって、実際には作業不能となるものも多くあり、無駄な計算が多くなる。さらに、どのような動作手順が選択されるのかが最後まで教示作業者にとっては不明(どの部品を先に移動させ、どの部品を先に組み付けるか等が不明)であり、教示作業者が全く意図しない動作手順になってしまうこともあるという問題があった。
さらに、作業項目を追加した時には最初から動作手順を探索し直さなければならず、作業プログラムの作成に時間を要するという問題もあった。
また、両者に共通の問題として、実際に組み付け作業をロボットで実施する際には、部品の移動のみでなく、部品位置をセンサで計測したり、力制御しながら部品同士の嵌め合いを行ったり、ねじ締めを行ったりする必要があるが、従来の方法ではこうした作業に関するロボット命令は作業プログラムを生成した後に別途追加する必要があり、作業プログラムのどの箇所にその命令を挿入したらよいか教示作業者にとって分かりにくいという問題もあった。
本発明はこのような問題点に鑑みてなされたものであり、教示作業者が意図した組み付け手順に基づいて複数マニピュレータの作業プログラムを生成することができ、また効率的に短時間で作業プログラムを生成することが可能となる複腕ロボットの作業プログラム作成方法を提供することを目的とする。
上記問題を解決するため、本発明は、次のような方法をとったのである。
請求項1に記載の発明は、複数のマニピュレータによって構成される複腕ロボットを動作させ、複数の部品の組み付け作業を行う作業プログラムをオフラインにて生成する複腕ロボットの作業プログラム作成方法であって、前記複数の部品の各々につき、その部品を把持して操作するマニピュレータを前記複数のマニピュレータから選定して設定する第1ステップと、
前記組み付け作業において前記各部品が経由する各点の位置と、前記各経由点における前記各部品の姿勢を設定する第2ステップと、前記第2ステップにて設定された各経由点について、前記マニピュレータが到達する順に番号を割り当てると共に、前記経由点での前記部品の位置および姿勢を前記経由点の位置および姿勢とし、前記マニピュレータ毎に、経由点番号、操作する部品名、前記経由点位置および姿勢からなる経由点データリストを作成する第3ステップと、前記経由点データリストの前記各経由点にて前記マニピュレータが実行する作業内容を予め登録された作業一覧から選択する第4ステップと、前記各経由点について設定された作業内容に応じて、前記マニピュレータに対する命令群からなる作業マクロを組み合わせて前記複数のマニピュレータの作業プログラムを作成する第5ステップと、からなることを特徴とする。
請求項2に記載の発明は、前記第2ステップにて、前記複数の部品の他にダミー部品を仮想的に定義し、前記ダミー部品の経由点の位置および姿勢を設定することによって前記部品を把持せずに前記マニピュレータのみの動作を作成することを特徴とする。
請求項3に記載の発明は、前記第4ステップにて、前記作業内容に関するパラメータとして作業条件を設定することを特徴とする。
請求項4に記載の発明は、前記組み付け作業において前記複数のマニピュレータを同期させて動作させる場合は、前記第4ステップにて前記各マニピュレータに作業内容を設定する際に、同期命令と、同期動作の対象となる部品および部品の経由点番号を指定することを特徴とする。
請求項5に記載の発明は、前記第5ステップにて、前記経由点の位置および姿勢から逆運動学計算を用いてマニピュレータの各関節目標角度を計算し、前記マニピュレータが特異点を通過する場合は、前記マニピュレータ手先の目標姿勢を所定の範囲で変化させ、変化させた目標姿勢について所定の評価方法による評価値を求め、前記評価値によって前記マニピュレータの目標姿勢を変更することを特徴とする。
請求項6に記載の発明は、前記第5ステップにて、前記経由点間の前記マニピュレータの補間動作をシミュレーションし、前記補間シミュレーションにて前記マニピュレータが特異点を通過する場合は、前記マニピュレータ手先の目標姿勢を所定の範囲で変化させ、変化させた目標姿勢について所定の評価方法による評価値を求め、前記評価値によって前記マニピュレータの目標姿勢を変更することを特徴とする。
請求項7に記載の発明は、前記マニピュレータが7自由度以上の冗長自由度を持つ場合は、前記マニピュレータの冗長自由度姿勢を所定の範囲で変化させた時の前記評価方法による評価値に基づいて、前記マニピュレータの冗長自由度の姿勢を変更することを特徴とする。
請求項8に記載の発明は、前記マニピュレータが前記マニピュレータの台座を移動させる外部軸上に搭載されている場合は、前記外部軸の位置を所定の範囲で変化させた時の前記評価方法による評価値に基づいて、前記外部軸の位置を変更することを特徴とする。
また請求項9に記載の発明は、複腕ロボットであって、請求項1乃至8のいずれか1項記載の方法によって作成された作業プログラムにより作業を行うことを特徴とする。
請求項1に記載の発明によると、教示作業者が意図した組み付け手順に基づいて複数マニピュレータの作業プログラムを簡単に作成でき、また、作業項目の追加も簡単に行うことができる。また作業内容を作業一覧から選択できるようにしたため、作業プログラムの作成のための教示作業者の負担を軽減することができる。
請求項2に記載の発明によると、実際には存在しないダミー部品を定義し、その移動毎の位置姿勢を設定するようにしたため、部品の動きとは関係しないエアカット動作や退避動作などに関しても、作業プログラムを生成することができる。
請求項3に記載の発明によると、作業内容に応じて作業条件を設定するため、様々な組み付け作業へと対応可能となり、複腕ロボットの汎用性を増すことができる。
請求項4に記載の発明によると、作業内容に同期する対象の部品と同期する部品の経由点番号を指定するので、複数のマニピュレータが同期をとって動作することが可能となり、複数のマニピュレータを協調させて動作するような作業のプログラムを作成することができる。
請求項5乃至8に記載の発明によると、指定した部品の位置や姿勢、またはその移動動作が実現できない時でも、自動的にマニピュレータの姿勢や外部軸の位置を変更することで実行可能な作業プログラムを生成することが可能となる。
以下、本発明の実施の形態について図を参照して説明する。
図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では各マニピュレータの各軸モータの力制御も実行する。
この制御装置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と一体となっていても良い。
図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に組み付ける必要がある。
図3は図1で説明した作業プログラム作成装置104で実施する作業プログラム作成の過程を示すフローチャートである。
まず組み付け対象モデル1041を作成する(ステップS0)。ここでは図2で示した組み付け対象の3次元CADデータを読み込むことによって3次元コンピュータグラフィックスとしてモデル化できる。
組み付け作業に先立って部品はロボットの周辺に設置される部品供給装置によって供給されるものとし、これを部品の初期位置とする。
次に、組み付け対象の各部品を操作するマニピュレータを指定する(ステップS1)。
具体的な指定方法としてはオフライン教示ソフトウェアのGUIを用いてステップS0で読み込んだ組み付け対象モデルを表示装置106に表示させ、表示装置106上で各部品(202、203)を選択して、例えば部品203は左マニピュレータで把持、操作するよう指定し、部品202には右マニピュレータで把持、操作するよう指定する。ただし、部品201はマニピュレータで直接操作せず作業台上に固定されているだけなので、部品201を把持、操作するマニピュレータの指定は行わない。
次に、部品組み付けの動作の途中で各部品が経由する点の位置と姿勢を設定する(ステップS2)。ここでは部品202と203について、図2(a)に示した初期位置姿勢から図2(b)に示した組み付け完了位置までの間を移動する際の経由点ごとの位置・姿勢を設定する。経由点の姿勢は、部品202と203にそれぞれ設けた直交座標系の姿勢によって設定する。
図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の各経由点における位置姿勢が決定される。
次に、各部品を操作するよう指定されたマニピュレータや部品の経由点を基に実際の各マニピュレータの経由点データリストを生成する(ステップS3)。
経由点データリストは、作業プログラム生成部1044にて左マニピュレータ用のリストと右マニピュレータ用のリストがそれぞれ自動生成され、経由点番号、部品名、経由点の位置および姿勢からなる。経由点番号は部品が移動する順に割り振られた番号であり、経由点の位置姿勢はステップS2で設定した各部品の経由点の位置姿勢である。
次に、上記で設定した各部品の経由点で実行する作業内容を設定する(ステップS4)。作業内容は図2の作業例では「把持」、「嵌め合い」「把持解消」などがあるが、これに加えて「通過」「停止」なども作業内容の一つとして含める。作業内容は予め登録されたものから選択する。
また、選択された作業内容に応じて作業条件を入力する。
例えば「嵌め合い」の作業条件としては、力制御のパラメータや嵌め込み量等が挙げられる。このような作業条件を予め複数用意し、作業条件ごとに一意の番号を割り当ててその作業条件番号を必要に応じて設定する。教示作業者は適宜表示装置106に表示される画面を見ながら、こうした作業内容や作業条件の設定を作業情報入力部1042によって行う。
ステップS4で作業内容や作業条件を入力するGUIの画面例を図5に示す。表の左から経由点番号、部品名、作業内容、作業条件番号が示される。ここでは経由点番号と部品名はステップS3で生成した経由点データリストに応じて、マニピュレータ毎に図5のような表が示され、教示作業者はそこに順次作業内容と作業条件番号を入力していく。
最後に、ステップS4で完成した表の各経由点番号における作業内容に対応した作業マクロを組み合わせてマニピュレータの作業プログラムを自動生成する(ステップS5)。
作業マクロとは各作業内容をマニピュレータで実現するための一つまたは複数のロボット言語で構成された命令群である。ロボット言語はPTP(ポイントtoポイント)制御を行うための動作命令やグリッパを開閉するためのI/O命令、あるいは力制御を使って嵌め合いを行う作業命令、センサ情報を取得するセンサ命令など様々な命令で構成されており、作業マクロはそれらの組み合わせであって予め登録されている。
なお、作業マクロの汎用性を高めるため、作業マクロ内の動作命令では原則として「現在位置からの移動量」のように相対的な移動量を指定するようになっており、直接移動先を指定しないようにして様々な作業プログラムから利用可能なように構成されている。
図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番号、センサによる計測のための対象物番号、計測結果によって把持位置を決定するための把持位置補正値からなる。
同様に図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で各経由点番号について作業内容とその作業条件を指定することで組み付け作業の作業プログラム生成に必要な情報が得られる。
このように選択可能な作業内容に応じて作業マクロと作業条件を準備しておき、ステップS4で作成した表の順番に従って作業マクロを組み合わせていくことでマニピュレータの作業プログラムが自動生成される。
以上述べたように本願発明では、部品毎に作業するマニピュレータを設定し、決められた組み付け手順に応じて部品の経由点の位置姿勢を設定し、それに対応する作業内容を設定し、設定された作業内容を実現する作業マクロの組み合わせから、複数のマニピュレータの作業プログラムを作成するという手順をとることにより、教示作業者が意図した組み付け手順に基づいて複数マニピュレータの作業プログラムを生成することができ、また効率的に短時間で作業プログラムを生成することが可能となる。
実際の組み付け作業では、待機位置にあるマニピュレータが部品にアプローチするまでの動作や、作業が終わって退避する動作、あるいは、1つの部品を他方のマニピュレータで持ち替える動作など、部品を直接操作せずにマニピュレータのみを移動させることが必要な部分が存在する。
このようなマニピュレータの動作は各部品の経由点の位置姿勢を設定する処理(ステップS2)において、図7のように実際には存在しないダミー部品302(部品D)と303(部品E)を定義し、さらにそれを操作するマニピュレータを指定し、各ダミー部品の経由点の位置姿勢3021、3031を設定することで、マニピュレータのみの移動を実現する作業プログラムが生成できるようにする。
ステップS4においても、ここで設定したダミー部品の経由点で実行する作業内容を図8のNo.1やNo.8のように設定する。このようにすることで、部品の移動を伴わないマニピュレータの部品へのアプローチ動作や、組み付け作業完了後のマニピュレータの退避動作についてもステップS5で自動生成される作業プログラムの中に含めることが可能となる。
さらに、複数のマニピュレータで作業を実行する場合はマニピュレータが相互に干渉しないようにする必要がある。また図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命令が両方とも実行された時点でそれ以下の作業プログラム実行が同時に再開されるようになる。
このようにすることで、複数のマニピュレータが同期をとって動作することが可能となるので、複数のマニピュレータを協調させて動作するような作業プログラムの作成も可能となる。
作業プログラムの自動生成(ステップS5)では、ステップS2で設定した部品の各経由点の位置および姿勢をマニピュレータ先端の位置および姿勢に変換し、これを入力として逆運動学変換の計算によってマニピュレータの各関節角目標値を計算する。
これによって各マニピュレータの各経由点での各関節軸の目標角度が求まり、移動命令とともに作業プログラムが生成できる。逆運動学変換の計算は既知の方法であり、すべての経由点についてこの計算を行うことで移動に関する作業プログラムが完成する。
しかし、経由点の位置はGUI環境にて指定したもので、実際にマニピュレータを動作させて決定したものではない。よって経由点が特異点になっている場合もありうる。特異点が含まれていた場合は逆運動学変換の解が求まらない。また逆運動学変換の計算では求まった解が、マニピュレータの関節の可動範囲外であるなど、ステップS2で設定した部品の経由点の位置姿勢がマニピュレータにとっては実現できない位置姿勢である場合がある。
一方、単に通過するだけの経由点や、部品の把持方法を変更して作業姿勢を変更しても問題ない経由点については、その経由点でのマニピュレータ手先の目標姿勢のみ変更すれば目標位置は実現できる場合が多い。例えば、図4の(b)や(c)において、部品202や203は必ずしも図4に示した通りの姿勢でなくても良い。
そこで、ステップS5において逆運動学変換で解が求まらなかったり、解が関節可動範囲外であったりした経由点が発生した場合は、マニピュレータ手先の目標姿勢を所定の範囲内で変化させ、所定の評価方法によって目標姿勢を変更することで部品の経由点におけるマニピュレータの実現可能な位置姿勢が求まる。
目標姿勢を決定する評価方法として例えば次のようにすればよい。
(1)可操作性楕円体(「吉川恒夫著「ロボット制御基礎論」参照」)の半径から姿勢が最も変更しやすい方向を決定する。
可操作性楕円体とは手先の可操作性を表したものであり、その主軸半径の長い方向が手先速度を出しやすい方向、短い方向が小さい手先速度しか出せない方向である。従って、可操作性楕円体主軸半径(ヤコビ行列の特異値)によって変更しやすい方向を知ることができる。
(2)上記の方向に姿勢を一定範囲に振って、逆運動学変換の計算が可能な範囲を決定する。
(3)上記範囲のうち、逆運動学変換の解が各関節可動範囲のリミット値からの距離が最も遠いものを目標姿勢とする。
このようにして自動的に目標姿勢を変更することで実現可能な作業プログラムが自動生成できる。
また、図10のようにマニピュレータが冗長自由度を持った7軸以上の構成である場合は、冗長自由度の姿勢を変更することで特異点や関節可動範囲オーバーを回避することが可能である。例えば7軸のマニピュレータでは、マニピュレータ先端の位置と姿勢を変更せずに、マニピュレータの肘の位置(ロボットのベース部から数えて3軸目(J3)と4軸目(J4)の軸の交点を肘位置と定義する)を変更することが可能である。
マニピュレータの原点(ロボットのベース部から数えて1軸目(J1)の軸線上の点で、2軸目(J2)の軸線と同じ高さに位置する)と手首点(J6軸の軸線とJ7軸の軸線の交点)を結ぶ直線回りの肘位置の回転角度を肘回転角度と呼び、7自由度マニピュレータでは冗長自由度としてよく用いられる。
このような冗長自由度を用いて特異点や関節可動範囲オーバーを回避する。
ステップS5において逆運動学変換で解が求まらなかったり、解が関節可動範囲外であったりした経由点が発生した場合は、マニピュレータの肘回転角度を所定の範囲内で変化させ、所定の評価方法によって目標肘回転角度を変更することでマニピュレータの経由点における実現可能な位置姿勢が求まる。
目標肘回転角度を決定する評価方法としては例えば次のようにすれば良い。
(1)肘回転角度を一定範囲で変化させ、逆運動学変換の計算が可能な範囲を決定する。
(2)上記範囲のうち、逆運動学変換の解が関節可動範囲のリミット値からの(各関節角度制限値との)距離が最も遠いものを目標肘回転角度とする。
(3)または上記範囲のうち、上述の可操作度が最も大きいものを肘回転角度とする。
このようにして自動的に冗長自由度姿勢を変更することで、実現可能な作業プログラムが自動生成できる。
さらに、マニピュレータが位置制御可能な外部の走行台や回転台の上に搭載されている場合は、走行台や回転台の位置を変更することで、特異点や関節可動範囲オーバーを回避することが可能である。
ステップS5において逆運動学変換で解が求まらなかったり、解が関節可動範囲外であったりした経由点が発生した場合は、マニピュレータが搭載されている走行台や回転台の位置を所定の範囲で変化させ、所定の評価方法によって走行台や回転台の位置を変更することで部品の経由点におけるマニピュレータの実現可能な位置姿勢が求まる。
走行台や回転台の位置を決定する評価方法としては例えば次のようにすれば良い。
(1)マニピュレータの可操作性楕円体の半径から走行台や回転台の変更方向を決定する。
(2)上記の方向に走行台または回転台の位置を一定範囲変化させ、その時のマニピュレータベースの位置姿勢の変化分をマニピュレータ手先の目標位置姿勢から差し引いて逆運動学変換し、その計算が可能な範囲を決定する。
(3)上記範囲のうち、逆運動学変換の解が関節可動範囲のリミット値からの距離が最も遠いものを走行台または回転台の目標位置とする。
このようにして自動的に走行台や回転台の位置を変更することで、実現可能な作業プログラムが自動生成できる。
上記はステップS2で設定した部品の経由点の位置姿勢が、マニピュレータにとっては実現できない位置姿勢である場合の例を示したが、経由点間を補間して移動する際に位置姿勢が実現できなくなる場合もある。これは、生成された作業プログラムをオフライン教示ソフトウェアで経由点間の補間移動シミュレーションを行うことによって確認することができる。
この場合は、マニピュレータの移動途中に目標位置姿勢を実現できない地点において、上記の経由点での姿勢や冗長自由度姿勢、走行台や回転台の位置を変更した方法と同じ方法を用いて、姿勢や冗長自由度姿勢、走行台や回転台の位置を変更し、その地点を新たな経由点として作業プログラムに追加すればよい。
本発明の方法を適用する複腕ロボット装置の構成図 本発明の方法を適用する組み付け作業の一例を示す図 本発明の方法の処理手順を示すフローチャート 本発明の方法の部品の移動毎の位置姿勢設定方法を示す図 本発明の方法の作業内容や作業条件の入力画面の例を示す図 本発明の方法の作業マクロと作業条件の例を示す図 本発明の方法のダミー部品での位置姿勢設定方法を示す図 本発明の方法の作業内容や作業条件の入力画面に同期条件を追加した図 本発明の方法によって生成された作業プログラムの例を示す図 冗長自由度を持ったマニピュレータを示す図
符号の説明
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の位置姿勢を表す座標系

Claims (9)

  1. 複数のマニピュレータによって構成される複腕ロボットを動作させ、複数の部品の組み付け作業を行う作業プログラムをオフラインにて生成する複腕ロボットの作業プログラム作成方法であって、
    前記複数の部品の各々につき、その部品を把持して操作するマニピュレータを前記複数のマニピュレータから選定して設定する第1ステップと、
    前記組み付け作業において前記各部品が経由する各点の位置と、前記各経由点における前記各部品の姿勢を設定する第2ステップと、
    前記第2ステップにて設定された各経由点について、前記マニピュレータが到達する順に番号を割り当てると共に、前記経由点での前記部品の位置および姿勢を前記経由点の位置および姿勢とし、前記マニピュレータ毎に、経由点番号、操作する部品名、前記経由点位置および姿勢からなる経由点データリストを作成する第3ステップと、
    前記経由点データリストの前記各経由点にて前記マニピュレータが実行する作業内容を予め登録された作業一覧から選択する第4ステップと、
    前記各経由点について設定された作業内容に応じて、前記マニピュレータに対する命令群からなる作業マクロを組み合わせて前記複数のマニピュレータの作業プログラムを作成する第5ステップと、
    からなることを特徴とする複腕ロボットの作業プログラム作成方法。
  2. 前記第2ステップにて、前記複数の部品の他にダミー部品を仮想的に定義し、前記ダミー部品の経由点の位置および姿勢を設定することによって前記部品を把持せずに前記マニピュレータのみの動作を作成することを特徴とする請求項1記載の複腕ロボットの作業プログラム作成方法。
  3. 前記第4ステップにて、前記作業内容に関するパラメータとして作業条件を設定することを特徴とする請求項1または2記載の複腕ロボットの作業プログラム作成方法。
  4. 前記組み付け作業において前記複数のマニピュレータを同期させて動作させる場合は、
    前記第4ステップにて前記各マニピュレータに作業内容を設定する際に、同期命令と、同期動作の対象となる部品および部品の経由点番号を指定することを特徴とする請求項1乃至3のいずれか1項記載の複腕ロボットの作業プログラム作成方法。
  5. 前記第5ステップにて、前記経由点の位置および姿勢から逆運動学計算を用いてマニピュレータの各関節目標角度を計算し、前記マニピュレータが特異点を通過する場合は、
    前記マニピュレータ手先の目標姿勢を所定の範囲で変化させ、変化させた目標姿勢について所定の評価方法による評価値を求め、前記評価値によって前記マニピュレータの目標姿勢を変更することを特徴とする請求項1乃至4のいずれか1項記載の複腕ロボットの作業プログラム作成方法。
  6. 前記第5ステップにて、前記経由点間の前記マニピュレータの補間動作をシミュレーションし、前記補間シミュレーションにて前記マニピュレータが特異点を通過する場合は、
    前記マニピュレータ手先の目標姿勢を所定の範囲で変化させ、変化させた目標姿勢について所定の評価方法による評価値を求め、前記評価値によって前記マニピュレータの目標姿勢を変更することを特徴とする請求項1乃至4のいずれか1項記載の複腕ロボットの作業プログラム作成方法。
  7. 前記マニピュレータが7自由度以上の冗長自由度を持つ場合は、
    前記マニピュレータの冗長自由度姿勢を所定の範囲で変化させた時の前記評価方法による評価値に基づいて、前記マニピュレータの冗長自由度の姿勢を変更することを特徴とする請求項5または6記載の複腕ロボットの作業プログラム作成方法。
  8. 前記マニピュレータが前記マニピュレータの台座を移動させる外部軸上に搭載されている場合は、
    前記外部軸の位置を所定の範囲で変化させた時の前記評価方法による評価値に基づいて、前記外部軸の位置を変更することを特徴とする請求項5または6記載の複腕ロボットの作業プログラム作成方法。
  9. 請求項1乃至8のいずれか1項記載の方法によって作成された作業プログラムにより作業を行うことを特徴とする複腕ロボット。
JP2008313198A 2008-12-09 2008-12-09 複腕ロボットの作業プログラム作成方法および複腕ロボット Active JP5071361B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008313198A JP5071361B2 (ja) 2008-12-09 2008-12-09 複腕ロボットの作業プログラム作成方法および複腕ロボット

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008313198A JP5071361B2 (ja) 2008-12-09 2008-12-09 複腕ロボットの作業プログラム作成方法および複腕ロボット

Publications (3)

Publication Number Publication Date
JP2010137298A JP2010137298A (ja) 2010-06-24
JP2010137298A5 JP2010137298A5 (ja) 2011-07-14
JP5071361B2 true JP5071361B2 (ja) 2012-11-14

Family

ID=42347877

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008313198A Active JP5071361B2 (ja) 2008-12-09 2008-12-09 複腕ロボットの作業プログラム作成方法および複腕ロボット

Country Status (1)

Country Link
JP (1) JP5071361B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103862472A (zh) * 2012-12-18 2014-06-18 株式会社安川电机 示教数据生成装置、机器人系统以及示教数据生成方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5915041B2 (ja) * 2011-09-12 2016-05-11 セイコーエプソン株式会社 ロボット制御装置
JP6297792B2 (ja) * 2013-05-17 2018-03-20 蛇の目ミシン工業株式会社 ロボット、ロボットの制御方法、及びロボットの制御プログラム
JP6421408B2 (ja) * 2013-10-31 2018-11-14 セイコーエプソン株式会社 制御装置、ロボット、ロボットシステム及び制御方法
WO2016151862A1 (ja) * 2015-03-26 2016-09-29 株式会社日立製作所 組立教示装置、および組立教示方法
JP6651707B2 (ja) 2015-04-10 2020-02-19 セイコーエプソン株式会社 ロボット、制御装置、及び制御方法
JP6585391B2 (ja) * 2015-06-11 2019-10-02 蛇の目ミシン工業株式会社 ロボット
JP6862849B2 (ja) * 2017-01-23 2021-04-21 富士通株式会社 演算装置、演算方法、演算プログラムおよびロボットシステム
KR102093775B1 (ko) * 2017-04-03 2020-03-26 한국전자통신연구원 공정 레시피 기반의 자동 조립 장치 및 방법
JP7081284B2 (ja) * 2018-04-19 2022-06-07 富士通株式会社 演算装置、演算方法、および演算プログラム
JP7223630B2 (ja) * 2019-05-13 2023-02-16 日立Geニュークリア・エナジー株式会社 シミュレーション装置、および、シミュレーションプログラム
JP7246267B2 (ja) 2019-06-27 2023-03-27 株式会社日立製作所 組立計画装置、組立計画方法、及び組立計画プログラム
CN114713890B (zh) * 2021-12-13 2023-08-29 上海工程技术大学 基于双臂协作的环面蜗轮滚刀前刀面加工系统及其方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS632681A (ja) * 1986-06-19 1988-01-07 富士通株式会社 複数ロボットの協調制御方法
JPS63288683A (ja) * 1987-05-21 1988-11-25 株式会社東芝 組立てロボット
JPS6436306A (en) * 1987-07-31 1989-02-07 Yaskawa Denki Seisakusho Kk Method for editing operation program of robot
JP2816269B2 (ja) * 1992-03-16 1998-10-27 ファナック株式会社 ロボットの動作プログラム実行方法
JPH06187020A (ja) * 1992-12-18 1994-07-08 Kobe Steel Ltd ロボットの動作軌跡教示方法
JP3158032B2 (ja) * 1995-12-27 2001-04-23 本田技研工業株式会社 オフラインティーチングシステム
JPH11226886A (ja) * 1998-02-13 1999-08-24 Hitachi Zosen Corp ロボット軌道の修正方法
JP2002355724A (ja) * 2001-05-31 2002-12-10 Ricoh Co Ltd 組立分解工程設計支援装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103862472A (zh) * 2012-12-18 2014-06-18 株式会社安川电机 示教数据生成装置、机器人系统以及示教数据生成方法

Also Published As

Publication number Publication date
JP2010137298A (ja) 2010-06-24

Similar Documents

Publication Publication Date Title
JP5071361B2 (ja) 複腕ロボットの作業プログラム作成方法および複腕ロボット
US20220009100A1 (en) Software Interface for Authoring Robotic Manufacturing Process
CN108453702B (zh) 机器人仿真器、机器人系统以及仿真方法
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
JP6706489B2 (ja) ロボットのダイレクト教示方法
JP4137909B2 (ja) ロボットプログラム補正装置
JP4917252B2 (ja) アーク溶接用装置
GB2473129A (en) Off-line robot teaching method
JP6469159B2 (ja) 接触センサによるワーク位置検出プログラム生成機能を備えたオフラインプログラミング装置及び方法
TW202244643A (zh) 數值控制裝置及數值控制系統
Gogouvitis et al. Construction of a virtual reality environment for robotic manufacturing cells
JP7087632B2 (ja) ロボット制御装置
CN114473324A (zh) 基于示教学习的多机械臂协同拼接焊接控制方法及系统
JP2022190235A (ja) 情報処理装置、情報処理方法、ロボットシステム、物品の製造方法、プログラム及び記録媒体
JP2013226602A (ja) 産業用機械システム
JP7314215B2 (ja) シミュレータ、ロボット教示装置、ロボットシステム、物品の製造方法、シミュレーション方法、プログラム及び記録媒体
JP2018118330A (ja) 演算装置、演算方法、演算プログラムおよびロボットシステム
US20240160181A1 (en) Motion-path generation device, numerical control device, numerical control system, and non-transitory computer-readable medium storing computer program
Vidaković et al. Procedure for definition of end-effector orientation in planar surfaces robot applications
JP7541955B2 (ja) ロボット用走行台車位置決定装置、該方法および該プログラム
WO2018180299A1 (ja) ロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラム
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
WO2024142289A1 (ja) プログラミング装置、プログラミング方法及びプログラム

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