JP2009075898A - ロボット制御装置 - Google Patents

ロボット制御装置 Download PDF

Info

Publication number
JP2009075898A
JP2009075898A JP2007244596A JP2007244596A JP2009075898A JP 2009075898 A JP2009075898 A JP 2009075898A JP 2007244596 A JP2007244596 A JP 2007244596A JP 2007244596 A JP2007244596 A JP 2007244596A JP 2009075898 A JP2009075898 A JP 2009075898A
Authority
JP
Japan
Prior art keywords
teaching point
control
target
robot
movement
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.)
Pending
Application number
JP2007244596A
Other languages
English (en)
Inventor
Kiminori Kamiya
公徳 神矢
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.)
Daihen Corp
Original Assignee
Daihen 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 Daihen Corp filed Critical Daihen Corp
Priority to JP2007244596A priority Critical patent/JP2009075898A/ja
Publication of JP2009075898A publication Critical patent/JP2009075898A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)

Abstract

【課題】1つのプログラムで複数の制御対象の非同期制御を可能にし、作業線の長さ又は移動速度が異なっても各ロボットが設定された移動速度で作業線上を移動することができるロボット制御装置を提供する。
【解決手段】非同期制御部23は、第1工程部25、第2工程部26及び第3工程部27を備える。第1工程部は、主制御対象Ca及び従制御対象Cbが教示点に到達する際の移動時間を算出して教示点に最短時間で到達する先行制御対象を決定する。第2工程部は、最短時間に基づいて後行側の制御対象が到達すべき教示点を再設定する。第3工程部は、両方の制御対象を目標教示点に同時に到達させた後、どちらの制御対象も最終教示点へ到達していない時は非同期制御を続行し、最終教示点へ到達している時は先行側の制御対象を待機させつつ後行側の制御対象を最終教示点に到達させて非同期制御を終了する。
【選択図】図1

Description

本発明は、複数台のロボットと1台の外部軸(例えばポジショナ等)とを動作制御して加工作業を行わせるロボット制御装置に関するものである。
従来から、複数台のロボットおよび1台のポジショナを1台のロボット制御装置で動作制御することによって、ポジショナに設置したワークの複数の加工箇所に対して複数台のロボットが同時に加工作業を行うロボット制御装置が知られている。例えば、アーク溶接ロボットの分野においては、ポジショナに設置したワークの複数の溶接箇所を、2台のロボットで同時に溶接することが行われている(例えば、特許文献1、特許文献2参照)。
特許文献1に記載された従来技術では、複数の制御対象毎に教示点を教示して1つの移動命令で記憶するとともに、複数の移動命令で形成される移動経路が1つの作業プログラムに記憶されている。そして、作業プログラムを再生運転すると複数の制御対象が各々の教示点に同時に出発して同時に到達する、いわゆる同期制御が行われる。特許文献2に記載された従来技術では、制御対象毎に作業プログラムを作成しておき、複数の作業プログラムを同時に起動することによって、複数の作業プログラム間における非同期制御を実現している。
以下、2台のロボットおよび1台のポジショナを制御するロボット制御装置を使用したアーク溶接ロボットシステムを例にして、従来の同期制御について説明する。
図9は、従来のロボット制御装置を使用したアーク溶接ロボットシステムのブロック図である。
同図において、ロボットA、ロボットBおよびポジショナP(以下、これらを総称する場合は制御対象と呼ぶ。)は、ロボット制御装置1に接続されている。ロボットAおよびBは、ワークWに対して加工作業を自動で行うものであり、複数のアームと、これらを回転駆動するための複数のサーボモータ(図示せず)とによって各々構成されている。また、アームの先端には図示しないアーク溶接トーチが取り付けられている。
ポジショナPには、溶接箇所である作業線WAおよびWBを有するワークWが設置されている。ワークWは、ポジショナPが回転制御されることによってロボットAおよびBに対して最適な溶接姿勢を取ることが可能となっている。作業者は、ロボットAおよびBのそれぞれが作業線WAおよびWBに沿って移動するように複数の教示点を教示する。なお、加工箇所である作業線WAおよびWBは左右対称であるものとする。
ロボット制御装置1は、各制御対象を制御するためのものであり、その中枢となる主制御部3、各制御対象の軌跡演算等を行って演算結果を駆動信号として駆動指令部12に出力する動作制御部11、各制御対象のサーボモータを回転制御するためのサーボ制御信号を出力する駆動指令部12、ティーチペンダントTPとの通信を行うためのTPインタフェース2、作業プログラムおよび各種パラメータ等を記憶するためのハードディスク4、一時的な計算領域であるRAM5、および外部機器との通信を行うための入出力インターフェース6を備えている。
ティーチペンダントTPは、可搬式の教示操作盤であり、ロボット制御装置1のTPインタフェース2に接続されている。ティーチペンダントTPには、手動操作する制御対象を選択する制御対象選択スイッチ、各制御対象を実際に手動操作で動かすための軸操作キー等(いずれも図示せず)が備わっている。これらのスイッチ、キー等を操作することによって制御対象を各々所望の位置に動かすことができるとともに、その位置を教示点として作業プログラムに記憶することができる。
起動ボックスSBは、作成した作業プログラムの再生運転を行うための起動信号をロボット制御装置1に入力するためのものである。起動ボックスSBからの起動信号は、入出力インターフェース6を介して主制御部3に入力される。
次に、2台のロボットおよび1台のポジショナを同期制御するための教示について説明する。
図10は、作業プログラムの教示例を示す図である。同図において、ポイントPtは教示点の番号を示しており、001から始まり教示点を記憶するたびに+1される。
命令Cmは、各制御対象を教示点へ移動させたり、溶接を開始または終了させたりするためのものである。例えばMOVE命令ならば教示点へPTP動作を行い、LINE命令ならば教示点へ直線補間動作を行う。また、ArcStart命令ならばアーク溶接を開始し、ArcEnd命令ならばアーク溶接を終了する。図示している教示例の場合、ポイント001〜002のMOVE命令が溶接開始位置へ到達するエアカット区間、ポイント003〜005のLINE命令がワークWにアーク溶接を行うアーク溶接区間、ポイント006は溶接終了位置から待避するエアカット区間をそれぞれ示している。
移動速度Spは、移動命令で設定されるパラメータであり、制御対象が教示点へ移動する際の移動速度を示している。ポイント003〜005のアーク溶接区間においては、移動命令で設定された移動速度ではなく、ArcStart命令で指定された溶接速度が移動速度Spとして使用される(同図において括弧で囲んだ移動速度は使用されないことを示している)。以下では、移動命令で設定される移動速度とArcStart命令で設定される溶接速度とを、特に区別することなく移動速度Spと称して説明する。
ところで、アーク溶接区間における移動速度Spは、ロボットAおよびロボットBのポジショナPに対する相対移動速度である。すなわち、ポジショナPの回転動作に合わせてロボットAおよびロボットBがアーク溶接を行う際の、ポジショナPに対する移動速度を示している。
各制御対象を到達させる教示点は位置データとして記憶されている。位置データPaはロボットAの教示点(A1〜A6等)を、位置データPbはロボットBの教示点(B1〜B6等)を、位置データPpはポジショナPの教示点(P1〜P6)をそれぞれ示している。このように、各制御対象が到達すべき位置データが1つの移動命令に記憶されている。なお、ロボットAおよびBの実際の位置データは、ポジショナPを基準にした直交座標系であるワーク座標系での座標値等で表現されるべきものであり、ポジショナPの実際の位置データは関節値等で表現されるべきものであるが、ここでは、説明の便宜上、各教示点の位置データをA1、B1、P1等の形式で表現している。
図9に戻り、作成した作業プログラムの再生運転を行うための起動信号が起動ボックスSBから入力されると、動作制御部11において作業プログラムに記憶された移動命令を解釈して軌道計画および補間演算を行い、駆動信号を駆動指令部12に出力する。そして、駆動指令部12が各制御対象の各サーボモータにサーボ制御信号を出力し、対応する軸をそれぞれ回転駆動する。このことによって、ロボットA、ロボットBおよびポジショナPが同時に動き出し、作業線WAおよびWBの各教示点に同時に到達しながらワークWに対する加工作業を行う。
ワークWが左右対称である場合は、溶接箇所である左右の作業線(作業線WAおよびWB)が同一長となり移動速度も同一値が設定されるのが一般的なので、上述した同期制御によって何の問題もなくアーク溶接加工が行われる。しかしながら、ワークWの形状によっては、左右の作業線を異なる長さにしたいニーズ、左右の作業線に異なる移動速度を設定したいニーズ等が存在するが、このようなニーズに対しては、同期制御時の速度制御に起因して後述する課題を有していた。
特開平10−24369号公報 特開2005−346740号公報
従来のロボットシステムで同期制御を行う際の課題を説明する。
図11は、左右の作業線の長さおよび移動速度が異なる場合のロボットAおよびBの移動速度を説明するための図である。同図(a)は、ロボットAが教示点A2〜A4を移動する際の移動時間と移動速度との関係を、同図(b)はロボットBが教示点B2〜B4を移動する際の移動時間と移動速度との関係をそれぞれ示している。また、同図(c)はロボットAの作業線WAおよびロボットBの作業線WBにおける教示点間距離を示している。
同図(c)に示すように、教示点A2・A3間距離Da3と教示点B2・B3間距離Db3は同一距離で教示され、教示点A3・A4間距離Da4と教示点B3・B4間距離Db4は異なる距離(それぞれ10cm、5cm)で教示されている。また、ロボットAの設定移動速度Ssaは100cm/分、ロボットBの設定移動速度Ssbは75cm/分であり、各々の作業線で異なる移動速度が設定されている。
同期制御においては、まず、設定移動速度SsaおよびSsbに基づいて各ロボットが各々の教示点へ到達するのに要する移動時間を算出する。次に、移動時間が最長となるロボットを決定する。そして、最長移動時間となるロボットについては設定された移動速度で移動するように制御し、もう片方のロボットについては移動時間が上記最長移動時間に一致するように移動速度を算出した上で制御する。以下、ロボットAが教示点A3からA4へ、ロボットBが教示点B3からB4へ、同期制御によって各々移動する際の移動速度について説明する。
同図(a)において、ロボットAが教示点A3からA4に到達するまでの移動時間Taは、6秒(10cm÷100cm/分)である。一方、同図(b)において、ロボットBが教示点B3からB4に到達するまでの移動時間Tbは、4秒(5cm÷75cm/分)である。移動時間が最長となるロボットはロボットAとなるので、ロボットAの移動速度Spaとしては、設定移動速度Ssaがそのまま使用される。ロボットBについては、教示点B3からB4への移動時間Tbが6秒になるように、移動速度Spbが決定される。すなわち、ロボットBの移動速度Spbは50cm/分(5cm÷6秒)となり、設定された設定移動速度Ssbより小さい値になる。
移動速度が設定値から変化すると、アーク溶接後の施工結果は全く意図しないものとなる。このために、左右の作業線の長さおよび移動速度を異なるものとしたときは、移動速度、教示点への移動距離等の関係を綿密に計算し、移動速度が両ロボットにおいて一致する位置にダミーの教示点を教示しておく等、教示の工夫を必要としており、煩雑さを伴うと共に多大な教示工数を要するという課題を有していた。言い換えると、図9で示したロボットシステムは、左右対称のワークであって作業線が左右同一長および左右同一の移動速度を設定するという前提条件の元でしか使用できないという制限があった。
上記課題を解決するために、特許文献2において、制御対象毎に作業プログラムを作成しておき、複数の作業プログラムを同時に起動することのできる制御手段を備え、複数の作業プログラム間における非同期制御を実現できる作業機械の制御装置が開示されている。しかしながら、特許文献2に記載の従来技術では、制御対象毎に複数の作業プログラムを作成することが必要であるとともに、同期制御を行う区間も複数の作業プログラム毎に指定する必要があった。このために、1つの作業プログラムで全ての制御対象の教示を行うことに比べて、教示作業が煩雑であるという課題を有していた。
そこで、本発明は、複数の作業線を記憶した1の作業プログラムに基づいて複数のロボットを動作制御するに際して、教示された作業線の長さまたは移動速度が作業線毎に異なっても、非同期制御することによって各ロボットが必ず設定された移動速度で作業線上を移動することができるロボット制御装置を提供することを目的とする。
上記目的を達成するために、第1の発明は、
2台のロボット毎に教示された教示点によって外部軸に設置されたワーク上に形成された2の作業線を1の作業プログラムに記憶し、前記外部軸を回転動作させながら前記2台のロボットを前記作業線の各教示点に到達させて前記ワークに対する加工作業を行わせるロボット制御装置において、
前記外部軸と同期させて前記教示点に到達させる一方のロボットおよび前記外部軸を主制御対象とし、他方のロボットを従制御対象として設定する主従関係設定部と、
前記作業線の一部または全部を非同期制御区間として設定する非同期制御区間設定部と、
前記主制御対象および前記従制御対象を前記非同期制御区間の開始教示点から同時に移動開始させた後、前記主制御対象および前記従制御対象を前記非同期制御区間の移動目標教示点に非同時に到達させ、一方の制御対象が前記非同期制御区間の最終教示点に到達したときは他方の制御対象が最終教示点に到達するまで最終教示点に到達した制御対象を待機させる非同期制御部と、
を備えたことを特徴とするロボット制御装置である。
第2の発明は、第1の発明記載の非同期制御部は、
予め設定された前記外部軸に対する相対移動速度に基づき、到達教示点から移動目標教示点への移動時間を前記制御対象毎に算出し、移動目標教示点に最短時間で到達する系列を先行側、他方を後行側として決定する第1工程部と、
前記従制御対象が先行側のときは、後行側である前記主制御対象が自身の作業線を前記相対移動速度で移動して前記最短時間の経過後に到達する位置を前記主制御対象の移動目標教示点として再設定し、前記主制御対象が先行側のときは後行側である前記従制御対象の移動目標教示点を前記主制御対象の移動目標教示点に基づいて再設定する第2工程部と、
前記主制御対象および従制御対象を移動目標教示点に同時に到達させた後、どちらの制御対象も最終教示点へ到達していない場合は移動目標教示点として次の教示点を前記第1工程部に入力して非同期制御を続行し、一方の制御対象が最終教示点へ到達している場合は既に到達している制御対象を最終教示点で待機させつつ他方の制御対象を前記作業線を経由して最終教示点に到達させて非同期制御を終了する第3工程部と、
を備えたこと特徴とするロボット制御装置である。
第3の発明は、前記移動目標教示点が再設定された場合に、前記従制御対象の本来の教示点における前記外部軸の回転角度と前記従制御対象の再設定された移動目標教示点における前記外部軸の回転角度との差が所定値よりも大きいときは、異常を出力して前記主制御対象および前記従制御対象を停止させることを特徴とする請求項2記載のロボット制御装置である。
第4の発明は、前記2台のロボットは手首部先端にアーク溶接トーチを備えたアーク溶接ロボットであり、前記外部軸はポジショナであることを特徴とする第1〜第3のいずれか1項に記載のロボット制御装置である。
第5の発明は、前記相対移動速度は、溶接速度であることを特徴とする第4の発明記載のロボット制御装置である。
第1および第2の発明によれば、1台の外部軸に対して2台のロボットが同時に加工作業を行うロボットシステムにおいて、複数の制御対象の非同期制御を1つの作業プログラムで可能にしている。すなわち、2つの作業線を異なる長さ、移動速度にしたい場合にダミーの教示点を教示する等の教示の工夫を施さなくても、各ロボットが必ず教示された移動速度で作業線上を移動できるようにしたので、教示工数を大幅に低減できる。
第3の発明によれば、従制御対象の本来の教示点における外部軸の回転角度と従制御対象の移動目標教示点における外部軸の回転角度との差が所定値よりも大きいときは、異常を出力して主制御対象および従制御対象を停止させるようにしたので、教示結果と大きく異なる位置にロボットが移動することを未然に防止することができる。
第4および第5の発明によれば、特にアーク溶接ロボットでワークを溶接加工する場合に第1〜第3の発明が奏する効果を発揮できる。
以下、発明の実施形態を実施例に基づき図面を参照して説明する。
図1は、本発明のロボット制御装置を適用したアーク溶接ロボットのブロック図である。同図において、従来技術の図9との相違は、動作制御部11、RAM5および外部機器EPである。その他、同一のものについては同符号を付与して説明を省略する。
動作制御部11は、非同期制御区間設定部21、同期制御を行う同期制御部22および非同期制御を行うための非同期制御部23を備えている。非同期制御区間設定部21は、ハードディスク4に記憶された作業プログラムの移動命令を解釈し、解釈結果に基づき、作業線の一部または全部を非同期制御区間として非同期制御部23に設定する。非同期制御区間が設定されない区間は同期制御部22において同期制御が行われる。
非同期制御部23は、第1工程部25、第2工程部26および第3工程部27を備えている。RAM5は一時的な計算領域であり、先行制御対象記憶部51、追加教示点記憶部52(52Aは主制御対象Ca用、52Bは従制御対象Cb用)、および未消化教示点記憶部53(53Aは主制御対象Ca用、53Bは従制御対象Cb用)を備えている。非同期制御部23と各工程部の動作、RAM5の各部の詳細については後述する。
主従関係設定部24は、作業プログラムで予め指定された主制御対象および従制御対象を非同期制御部23に設定する。主制御対象とは、ポジショナPおよびこのポジショナPと同期させて教示点に到達させるロボットのことである。従制御対象とはポジショナPと同期させない、もう片方のロボットのことである。本実施形態では、図示するように、ロボットAおよびポジショナPが主制御対象Caとして指定され、ロボットBが従制御対象Cbとして指定されているものとする。主制御対象Caおよび従制御対象Cbは作業プログラムで作業者が任意に指定できるようにするのが望ましいが、固定値としてロボット固有のパラメータで予め定めておいても良い。
図2は、作業プログラムの教示例を示す図である。同図では、従来技術の図10で説明した作業プログラムにおいて特定の区間を非同期制御するための教示が行われている。具体的には、ポイント003〜005のアーク溶接区間が、NoSyncStart命令およびNoSyncEnd命令で挟まれた非同期制御区間として教示されている。NoSyncStart命令は非同期制御を開始する命令、NoSyncEnd命令は非同期制御を終了する命令である。なお、この非同期制御区間は上記命令で挟む教示の他に、ポイント003〜005に非同期制御を行うことを示すマークを付与することによって教示するように構成しても良い(例えば、ポイント003〜005にPマークが付与されていれば非同期制御区間と見なして非同期制御を行う等)。また、非同期制御区間を教示するのではなく、上位コントローラ等の外部機器EPから非同期制御信号が入力されている間だけ、非同期制御を行うように構成しても良い。このように構成しておけば、教示作業時間を低減することが可能である。以下では、非同期制御区間がNoSyncStart命令およびNoSyncEnd命令で設定されている場合を例にして説明する。
次に動作を説明する。まず、非同期制御区間設定部21がポイント001のMOVE命令を解釈する。非同期制御区間は設定されていないので、従来技術と同様に、同期制御によってロボットAを教示点A1に、ロボットBを教示点B1に、ポジショナPを教示点P1に同時に到達させる。ポイント002のMOVE命令に対しても同様の処理を行う。
次に、非同期制御区間設定部21がNoSyncStart命令を解釈する。非同期制御区間の開始指定がなされているので、非同期制御を開始する。このとき、NoSyncEnd命令をサーチすることによって非同期制御区間の最終教示点を予め求めておく。この場合は、ポイント005の教示点A5、B5およびP5が最終教示点となる。
次に、命令解釈部21がArcStart命令を解釈する。アーク溶接の開始指定がなされているので、ロボットAおよびロボットBに対して図示しないアーク溶接電源からアークスタート指令信号が出力され、アーク溶接が開始される。なお、ポイント003〜005のアーク溶接区間においては、移動命令で設定された移動速度ではなく、ArcStart命令で指定された溶接速度が移動速度として使用される(同図において括弧で囲んだ移動速度は使用されないことを示している)。また、アーク溶接区間における移動速度は、ロボットAおよびロボットBのポジショナPに対する相対移動速度であって、図示するように、ロボットAは移動速度Spa、ロボットBは移動速度Spbが教示されているものとする。
図3は、ロボットA、ロボットBおよびポジショナPの移動時間と移動速度との関係を示した波形図である。同図(a)は非同期制御を行わない場合、同図(b)は非同期制御を行った場合をそれぞれ示している。同図(a)に示すように、非同期制御を行わない場合は、ロボットA、ロボットBおよびポジショナPが移動命令Cmで教示されている教示点に同時に到達する。このとき、教示している移動速度SpaまたはSpbのいずれか片方が遵守されないことは従来技術で説明したとおりである。一方、同図(b)に示すように、非同期制御が行われる場合は、各制御対象が教示されている移動速度Spa、Spbでそれぞれ移動する。すなわち、主制御対象CaであるロボットAおよびポジショナP、ならびに従制御対象CbであるロボットBは、教示されたそれぞれの移動速度を遵守し、異なるタイミングで教示点に到達する。
次に非同期制御について説明する。
図4は、非同期制御時のフローチャートである。同図において、ステップS1が第1工程部25の処理、ステップS2が第2工程部26の処理、ステップS3〜S5が第3工程部27の処理をそれぞれ示している。同図を用いて、非同期制御時の大まかな流れについて説明する。より詳細には、具体的な教示例を挙げた上で後述する。なお、以下では、ロボットA、ロボットBおよびポジショナPが移動目標とする教示点のことを移動目標教示点と呼ぶことにする。
ステップS1において、第1工程部25は、各々設定されている移動速度に従い、主制御対象Caおよび従制御対象Cbが移動目標教示点に到達する際の移動時間を算出し、移動目標教示点に最短時間で到達する(先行する)制御対象を決定する。
ステップS2において、第2工程部26は、従制御対象Cbが先行側のときは、後行側である主制御対象Caが自身の作業線を移動速度Spaで移動して最短時間の経過後に到達する位置を主制御対象Caの移動目標教示点として再設定する。また、主制御対象Caが先行側のときは後行側である従制御対象Cbの移動目標教示点を主制御対象Caの移動目標教示点に基づいて再設定する。また、本来到達すべき教示点を未消化教示点として設定する。
ステップS3において、各々の制御対象を移動目標教示点に到達させるための軌道計画および補間演算を行い、駆動信号を駆動指令部12に出力する。
ステップS4において、各々の制御対象が移動目標教示点に同時に到達した後、次の処理を行う。どちらの制御対象も非同期制御区間の最終教示点へ到達していないときは、ステップS1に戻り、非同期制御を続行する。すなわち、先行側の制御対象は次の移動目標教示点を、後行側の制御対象は現在位置に最も近い未消化教示点を、移動目標教示点として第1工程部25に入力して非同期制御を続行する。先行側の制御対象が非同期制御区間の最終教示点へ到達しているときは、ステップS5に移る。
ステップS5において、先行側の制御対象を最終教示点で待機させつつ、後行側の制御対象を未消化教示点を経由して最終教示点に到達させて非同期制御を終了する。
次に、図5〜図8を参照して、ロボットAおよびポジショナPで構成される主制御対象Ca、ロボットBで構成される従制御対象Cbをそれぞれの教示点に非同期制御で到達させる際の上記処理について、教示例を挙げて具体的に説明する。なお、ロボットAおよびポジショナPで構成される主制御対象Caの教示点は、実際はロボットAの教示点およびポジショナPの両方の教示点を示す。説明を簡略化するために、以下においては、例えば「主制御対象Caが教示点A3(P3)に移動する」と表現している場合は、「ロボットAが教示点A3に、ポジショナPが教示点P3に移動する」ということを示すものとする。
[非同期制御区間の教示点A3(P3)およびB3への非同期制御]
図5は、非同期制御区間の最初の移動目標教示点である教示点A3(P3)およびB3に移動させる際の処理を説明するための図である。同図(a)は、主制御対象Caが教示点A2(P2)から教示点A3(P3)へ移動する際の、同図(b)は従制御対象Cbが教示点B2から教示点B3へ移動する際の、移動時間と移動速度との関係をそれぞれ示した波形図である。
第1工程部25は、主制御対象Caが移動速度Spaに従って教示点A3(P3)に到達する際の移動時間Ta3を算出する。同様に、従制御対象Cbが移動速度Spbに従って教示点B3に到達する際の移動時間Tb3を算出する。同図に示すように、「従制御対象Cbの移動時間Tb3<主制御対象Caの移動時間Ta3」となる。すなわち、移動目標教示点に最短時間で到達する制御対象は従制御対象Cbであるので、従制御対象Cbを先行側とし、先行制御対象記憶部51に記憶する。主制御対象Caは後行側となる。
次に、第2工程部26は次の処理を行う。従制御対象Cbが先行側であるから、後行側である主制御対象Caが自身の移動経路を設定された移動速度Spaで移動し、上記最短時間すなわち従制御対象Cbの移動時間Tb3の経過後に到達する位置を、移動目標教示点A3’(P3’)として再設定し、追加教示点記憶部52Aに記憶する。さらに、本来到達すべき教示点はA3(P3)であるので、A3(P3)を未消化教示点として未消化教示点記憶部53Aに記憶する。未消化教示点記憶部53は、複数の未消化教示点を順次格納可能なバッファ形式としている。
ところで、従制御対象Cbの移動目標教示点B3は、元々、ポジショナPがP3の位置であるときに教示されている。上記のように、ポジショナPの移動目標教示点がP3’の位置に再設定されると、ポジショナPを基準としたワーク座標系が変化したことになるために、従制御対象Cbは「ポジショナPがP3の位置のときに教示されたポジショナPに対する相対的な位置」ではなく、「ポジショナPがP3’の位置に再設定されたときのポジショナPに対する相対的な位置」に到達することになる。すなわち、主制御対象Caの移動目標教示点が再設定された場合、従制御対象Cbが到達する絶対的な位置は、本来教示された位置と異なる位置に変化することがある。この変化量は、作業線の長さ、溶接速度の差によって無視できるほどの小さい値であったり、逆に無視できないほどの大きい値であったりする。大きい値である場合は、従制御対象Cbが周辺機器と干渉する可能性がある。そこで、移動目標教示点が再設定された場合は、従制御対象Cbの本来の教示点におけるポジショナPの回転角度と従制御対象の移動目標教示点におけるポジショナPの回転角度との差が予め設定された所定値よりも大きいときは、異常を出力して主制御対象Caおよび従制御対象Cbを停止させるための停止信号を駆動指令部12に出力するように構成しておく。この一連の処理は、以降説明する移動目標教示点の算出処理時においても同様に行われる。このことによって、教示結果と大きく異なる位置にロボットが移動することを未然に防止することができる。
次に、第3工程部27は、主制御対象Caおよび従制御対象Cbを各々の移動目標教示点に到達させるための軌道計画および補間演算等を行い、駆動信号を駆動指令部12に出力する。すなわち、主制御対象Caおよび従制御対象をCb非同期制御区間の最初の教示点である開始教示点(A2,P2,B2)から同時に移動を開始させ、主制御対象Caを移動目標教示点A3’(P3’)に、従制御対象Cbを移動目標教示点B3に各々到達させる。
両方の制御対象が各々の移動目標教示点に同時に到達した後、どちらかの制御対象が非同期制御区間の最終教示点である教示点A5(P5)またはB5に到達しているか否かを判断する。この場合は最終教示点に到達していないので、第1工程部25に対し、移動目標教示点を入力して非同期制御を続行する。すなわち、主制御対象Caの移動目標教示点として次の教示点である未消化教示点A3(P3)を入力し、従制御対象Cbの移動目標教示点として次の教示点B4を入力する。
[例外処理]
上記の工程において各制御対象の移動時間が同一になる場合は、非同期制御ではなく同期制御が行われることになる。そして、制御対象が各々の移動目標教示点に同時に到達した後の次の移動目標教示点としては、各々教示されている次の教示点が選択される。この例外処理は、以降の処理においても同様である。
[非同期制御区間の未消化教示点A3および教示点B4への非同期制御]
上記までの非同期制御によって、主制御対象Caの移動目標教示点は未消化教示点A3(P3)、従制御対象Cbの移動目標教示点は教示点B4となっている。
図6は、未消化教示点A3(P3)および教示点B4に移動させる際の処理を説明するための図である。同図(a)は、主制御対象Caが現在位置である教示点A3’(P3’)から未消化教示点A3(P3)へ移動する際の移動時間と移動速度との関係を、同図(b)は従制御対象Cbが現在位置である教示点B3から教示点B4へ移動する際の移動時間と移動速度との関係をそれぞれ示した波形図である。
第1工程部25は、従制御対象Cbが移動速度Spbに従って教示点B4に到達する際の移動時間Tb4を算出する。同様に、主制御対象Caが移動速度Spaに従って未消化教示点A3(P3)に到達する際の移動時間Ta3を算出する。同図に示すように、「従制御対象Cbの移動時間Tb4<主制御対象Caの移動時間Ta3」となる。すなわち、移動目標教示点に最短時間で到達する制御対象は従制御対象Cbであるので、従制御対象Cbを先行側とし、先行制御対象記憶部51に記憶する。主制御対象Caは後行側となる。
次に、第2工程部26は、次の処理を行う。従制御対象Cbが先行側であるから、主制御対象Caが自身の移動経路を設定された移動速度Spaで移動し、上記最短時間すなわち従制御対象Cbの移動時間Tb4の経過後に到達する位置を、移動目標教示点A3’’(P3’’)として再設定し、追加教示点記憶部52Aに記憶する。さらに、本来到達すべき教示点はA4(P4)であるので、A4(P4)を未消化教示点として未消化教示点記憶部53Aに記憶する。この段階で未消化教示点記憶部53Aには、教示点A3(P3)およびA4(P4)が格納されたことになる。
次に、第3工程部27は、各制御対象を移動目標教示点に到達させるための軌道計画および補間演算等を行い、駆動信号を駆動指令部12に出力する。すなわち、主制御対象Caを教示点A3’’(P3’’)に、従制御対象Cbを教示点B4に、各々到達させる。
制御対象が各々の移動目標教示点に同時に到達した後、どちらかの制御対象が非同期制御区間の最終教示点である教示点A5(P5)またはB5に到達しているか否かを判断する。これまでの工程においては最終教示点に到達していないので、第1工程部25に対し、移動目標教示点を入力して非同期制御を続行する。すなわち、主制御対象Caの移動目標教示点として現在位置に最も近い未消化教示点A3(P3)を入力し、従制御対象Cbの移動目標教示点として次の教示点B5を入力する。
[非同期制御区間の未消化教示点A3および教示点B5への非同期制御]
上記までの非同期制御によって、主制御対象Caの移動目標教示点は未消化教示点A3(P3)、従制御対象Cbの移動目標教示点は教示点B5となっている。
図7は、未消化教示点A3(P3)および教示点B5に移動させる際の処理を説明するための図である。同図(a)は、主制御対象が現在位置である教示点A3’’(P3’’)から未消化教示点A3(P3)へ移動する際の移動時間と移動速度との関係を、同図(b)は従制御対象が現在位置である教示点B4から移動目標教示点B5へ移動する際の移動時間と移動速度との関係をそれぞれ示した波形図である。
第1工程部25は、従制御対象Cbが移動速度Spbに従って教示点B5に到達する際の移動時間Tb5を算出する。同様に、主制御対象Caが移動速度Spaに従って未消化教示点A3(P3)に到達する際の移動時間Ta3を算出する。同図に示すように、「従制御対象Cbの移動時間Tb5>主制御対象Caの移動時間Ta3」となる。すなわち、移動目標教示点に最短時間で到達する制御対象は主制御対象Caであるので、主制御対象Caを先行側とし、先行制御対象記憶部51に記憶する。従制御対象Cbは後行側となる。
次に、第2工程部26は、次の処理を行う。主制御対象Caが先行側であるから、従制御対象Cbが自身の移動経路を移動速度Spbで移動し、上記最短時間すなわち主制御対象Caの移動時間Ta3の経過後に到達する位置を、主制御対象CaのポジショナPの移動目標教示点P3に基づいて移動目標教示点B5’として再設定する。より具体的には、ポジショナPが移動目標教示点P3での回転角度における従制御対象Cbが取るべきワーク座標系での位置を算出して、移動目標教示点B5’として設定し、追加教示点記憶部52Bに記憶する。さらに、本来到達すべき教示点はA5(P5)およびB5であるので、A5(P5)を未消化教示点として未消化教示点記憶部53Aに、B5を未消化教示点として未消化教示点記憶部53Bに記憶する。
次に、第3工程部27は、各制御対象を各々の移動目標教示点に到達させるための軌道計画および補間演算等を行い、駆動信号を駆動指令部12に出力する。すなわち、従制御対象Cbを教示点B5’に、主制御対象Caを未消化教示点A3(P3)に各々到達させる。このとき、主制御対象Caは未消化教示点A3(P3)に到達することになるので、未消化教示点A3(P3)を未消化教示点記憶部53Aから消去する。すなわち、この段階で、未消化教示点記憶部53Aには教示点A4(P4)およびA5(P5)が、未消化教示点記憶部53Bには教示点B5が格納されていることになる。
制御対象が各々の移動目標教示点に同時に到達した後、どちらかの制御対象が非同期制御区間の最終教示点である教示点A5(P5)またはB5に到達しているか否かを判断する。これまでの工程においては最終教示点に到達していないので、第1工程部25に対し、移動目標教示点を入力して非同期制御を続行する。すなわち、主制御対象Caの移動目標教示点として現在位置に最も近い未消化教示点A4(P4)を、従制御対象Cbの移動目標教示点として未消化教示点B5を入力する。
[非同期制御区間の未消化教示点A4および未消化教示点B5への非同期制御]
上記までの非同期制御によって、主制御対象Caの移動目標教示点は未消化教示点A4(P4)、従制御対象Cbの移動目標教示点は未消化教示点B5となっている。
図8は、未消化教示点A4(P4)および未消化教示点B5に移動させる際の処理を説明するための図である。同図(a)は、主制御対象Caが現在位置である教示点A3から未消化教示点A4(P4)へ移動する際の移動時間と移動速度との関係を、同図(b)は従制御対象Cbが現在位置である教示点B5’から未消化教示点B5へ移動する際の移動時間と移動速度との関係をそれぞれ示した波形図である。
第1工程部25は、従制御対象Cbが移動速度Spbに従って未消化教示点B5に到達する際の移動時間Tb5を算出する。同様に、主制御対象Caが移動速度Spaに従って未消化教示点A4(P4)に到達する際の移動時間Ta4を算出する。同図に示すように、「従制御対象Cbの移動時間Tb5<主制御対象Caの移動時間Ta4」となる。すなわち、移動目標教示点に最短時間で到達する制御対象は従制御対象Cbであるので、従制御対象Cbを先行側とし、先行制御対象記憶部51に記憶する。主制御対象Caは後行側となる。
次に、第2工程部26は、主制御対象Caが自身の移動経路を設定された移動速度で移動し、上記最短時間すなわち従制御対象の移動時間Ta5の経過後に到達する位置を、移動目標教示点A4’(P4’)として再設定し、追加教示点記憶部52Aに記憶する。未消化教示点記憶部53には、すでに最終教示点A5(P5)およびB5が記憶されているので、この段階において未消化教示点を記憶する必要はない。
次に、第3工程部27は、各制御対象を移動目標教示点に到達させるための軌道計画および補間演算等を行い、駆動信号を駆動指令部12に出力する。すなわち、従制御対象Cbを未消化教示点B5に、主制御対象Caを教示点A4’(P4’)に各々到達させる。このとき、従制御対象Cbは未消化教示点B5に到達することになるので、未消化教示点B5を未消化教示点記憶部53Bから消去する。すなわち、この段階で、未消化教示点記憶部53Aにのみ、教示点A4(P4)およびA5(P5)が格納されていることになる。
制御対象が各々の移動目標教示点に同時に到達した後、どちらかの制御対象が非同期制御区間の最終教示点である教示点A5(P5)またはB5に到達しているか否かを判断する。これまでの工程において、従制御対象Cbが最終教示点B5に到達しているので、非同期制御を終了する。すなわち、すでに最終教示点に到達した従制御対象Cbを最終教示点B5で待機させつつ、他方の主制御対象Caを未消化教示点A4(P4)を経由して最終教示点A5(P5)に到達させて非同期制御を終了する。なお、従制御対象Cbの待機とは、絶対的な位置で停止して待機するということではなく、従制御対象CbがポジショナPに対する相対的な位置を維持しつづけるという意味である。すなわち、主制御対象Caを最終教示点に到達させる際にポジショナPが回転動作しているならば、従制御対象Cbは、ポジショナPの回転動作に追従して教示点P5への相対的な位置を維持することを指している。
上述したように、1台の外部軸に対して2台のロボットが同時に加工作業を行うロボットシステムにおいて、複数の制御対象の非同期制御を1つの作業プログラムで可能にしている。すなわち、2つの作業線を異なる長さ、移動速度にしたい場合にダミーの教示点を教示する等の教示の工夫を施さなくても、各ロボットが必ず教示された移動速度で作業線上を移動できるようにしたので、教示工数を大幅に低減できる。この効果は、アーク溶接、塗装、シーリング、スポット溶接等の加工を施す作業線が2つ存在し、この作業線に対して2台のロボットで同時に加工を行う場合において発揮されるが、中でも特にアーク溶接を行う場合において、より顕著に発揮される。
また、従制御対象の本来の教示点における外部軸の回転角度と再設定された移動目標教示点における外部軸の回転角度との差が所定値よりも大きいときは、異常を出力して主制御対象および従制御対象を停止させるようにしたので、教示結果と大きく異なる位置にロボットが移動することを未然に防止することができる。
本発明のロボット制御装置を適用したアーク溶接ロボットのブロック図である。 本発明のロボット制御装置によって作成した作業プログラムの教示例を示す図である。 ロボットA、ロボットBおよびポジショナPの移動時間と移動速度との関係を示した波形図である。 本発明のロボット制御装置で非同期制御を行う際のフローチャートである。 非同期制御区間の最初の移動目標教示点A3(P3)およびB3に移動させる際の処理を説明するための図である。 未消化教示点A3(P3)および教示点B4に移動させる際の処理を説明するための図である。 未消化教示点A3(P3)および教示点B5に移動させる際の処理を説明するための図である。 未消化教示点A4(P4)および未消化教示点B5に移動させる際の処理を説明するための図である。 従来のロボット制御装置を使用したアーク溶接ロボットシステムのブロック図である。 従来の作業プログラムの教示例を示す図である。 左右の作業線の長さおよび移動速度が異なる場合のロボットAおよびBの移動速度を説明するための図である。
符号の説明
1 ロボット制御装置
2 TPインタフェース
3 主制御部
4 ハードディスク
5 RAM
6 入出力インターフェース
11 動作制御部
12 駆動指令部
21 非同期制御区間設定部
22 同期制御部
23 非同期制御部
24 主従関係設定部
25 第1工程部
26 第2工程部
27 第3工程部
51 先行制御対象記憶部
52 追加教示点記憶部
53 未消化教示点記憶部
Ca 主制御対象
Cb 従制御対象
Cm 命令
EP 外部機器
P ポジショナ
Pp 位置データ
Pr 位置データ
Pt ポイント
R ロボット
SB 起動ボックス
Sp 移動速度
Spa 移動速度(主制御対象)
Spb 移動速度(従制御対象)
Ta 移動時間(主制御対象)
Tb 移動時間(従制御対象)
TP ティーチペンダント
W ワーク
WR 移動経路

Claims (5)

  1. 2台のロボット毎に教示された教示点によって外部軸に設置されたワーク上に形成された2の作業線を1の作業プログラムに記憶し、前記外部軸を回転動作させながら前記2台のロボットを前記作業線の各教示点に到達させて前記ワークに対する加工作業を行わせるロボット制御装置において、
    前記外部軸と同期させて前記教示点に到達させる一方のロボットおよび前記外部軸を主制御対象とし、他方のロボットを従制御対象として設定する主従関係設定部と、
    前記作業線の一部または全部を非同期制御区間として設定する非同期制御区間設定部と、
    前記主制御対象および前記従制御対象を前記非同期制御区間の開始教示点から同時に移動開始させた後、前記主制御対象および前記従制御対象を前記非同期制御区間の移動目標教示点に非同時に到達させ、一方の制御対象が前記非同期制御区間の最終教示点に到達したときは他方の制御対象が最終教示点に到達するまで最終教示点に到達した制御対象を待機させる非同期制御部と、
    を備えたことを特徴とするロボット制御装置。
  2. 請求項1記載の非同期制御部は、
    予め設定された前記外部軸に対する相対移動速度に基づき、到達教示点から移動目標教示点への移動時間を前記制御対象毎に算出し、移動目標教示点に最短時間で到達する制御対象を先行側、他方を後行側として決定する第1工程部と、
    前記従制御対象が先行側のときは、後行側である前記主制御対象が自身の作業線を前記相対移動速度で移動して前記最短時間の経過後に到達する位置を前記主制御対象の移動目標教示点として再設定し、前記主制御対象が先行側のときは後行側である前記従制御対象の移動目標教示点を前記主制御対象の移動目標教示点に基づいて再設定する第2工程部と、
    前記主制御対象および前記従制御対象を移動目標教示点に同時に到達させた後、どちらの制御対象も最終教示点へ到達していない場合は移動目標教示点として次の教示点を前記第1工程部に入力して非同期制御を続行し、一方の制御対象が最終教示点へ到達している場合は既に到達している制御対象を最終教示点で待機させつつ他方の制御対象を前記作業線を経由して最終教示点に到達させて非同期制御を終了する第3工程部と、
    を備えたこと特徴とするロボット制御装置。
  3. 前記移動目標教示点が再設定された場合に、前記従制御対象の本来の教示点における前記外部軸の回転角度と前記従制御対象の移動目標教示点における前記外部軸の回転角度との差が所定値よりも大きいときは、異常を出力して前記主制御対象および前記従制御対象を停止させることを特徴とする請求項2記載のロボット制御装置。
  4. 前記2台のロボットは手首部先端にアーク溶接トーチを備えたアーク溶接ロボットであり、前記外部軸はポジショナであることを特徴とする請求項1〜3のいずれか1項に記載のロボット制御装置。
  5. 前記相対移動速度は、溶接速度であることを特徴とする請求項4記載のロボット制御装置。
JP2007244596A 2007-09-21 2007-09-21 ロボット制御装置 Pending JP2009075898A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007244596A JP2009075898A (ja) 2007-09-21 2007-09-21 ロボット制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007244596A JP2009075898A (ja) 2007-09-21 2007-09-21 ロボット制御装置

Publications (1)

Publication Number Publication Date
JP2009075898A true JP2009075898A (ja) 2009-04-09

Family

ID=40610796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007244596A Pending JP2009075898A (ja) 2007-09-21 2007-09-21 ロボット制御装置

Country Status (1)

Country Link
JP (1) JP2009075898A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109693013A (zh) * 2017-10-24 2019-04-30 发那科株式会社 控制工件移动装置和机器人协调动作的控制装置及其方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109693013A (zh) * 2017-10-24 2019-04-30 发那科株式会社 控制工件移动装置和机器人协调动作的控制装置及其方法
JP2019076990A (ja) * 2017-10-24 2019-05-23 ファナック株式会社 ワーク移動装置及びロボットを協調して動作させるように制御する制御装置及び制御方法
US10723023B2 (en) 2017-10-24 2020-07-28 Fanuc Corporation Control device and control method for controlling workpiece moving device and robot to operate in cooperation with each other
DE102018125720B4 (de) * 2017-10-24 2020-09-24 Fanuc Corporation Steuervorrichtung und Steuerverfahren zur Vornahme einer derartigen Steuerung, dass eine Werkstückbewegungsvorrichtung und ein Roboter zusammenwirkend betrieben werden

Similar Documents

Publication Publication Date Title
JP6311421B2 (ja) ティーチングシステム、ロボットシステムおよびティーチング方法
JP5176790B2 (ja) ロボットの教示再生装置および教示再生方法
JPWO2017033391A1 (ja) ロボットシステム及びその運転方法
JPH0527815A (ja) 産業用ロボツトの同期制御方法
JP2008100292A (ja) ロボットシステム
JP2015134396A (ja) 産業用ロボットを制御する制御システム、制御装置、溶接物製造方法およびプログラム
JP2018151889A (ja) 処理装置、パラメータ調整方法、及びパラメータ調整プログラム
JP2008046899A (ja) 数値制御装置
JP5933450B2 (ja) ロボットの制御装置および制御方法
JP4625112B2 (ja) ロボットプログラム作成装置
JP4842656B2 (ja) 溶接ロボット制御装置
WO2015162757A1 (ja) ロボット制御装置およびロボット制御方法
JP5056241B2 (ja) ロボットシステム制御装置
JP2006055901A (ja) レーザ加工装置
JP2009075898A (ja) ロボット制御装置
JP2004114176A (ja) 数値制御装置
CN107735226A (zh) 利用机器人驶过预设的轨迹
JP3961323B2 (ja) ロボットの制御方法、制御ユニット及び制御装置
JP5670160B2 (ja) アーク溶接ロボット制御装置
JP2009026171A (ja) ロボット制御装置
JP2003165079A (ja) 産業用ロボット
JP4682907B2 (ja) モータ制御装置
JP5005366B2 (ja) ロボット制御装置
JP5133185B2 (ja) アーク溶接ロボット装置
JP4958630B2 (ja) アーク溶接の溶接方法及び溶接ロボットの制御装置