JP7271098B2 - レーザ加工装置、レーザ加工方法、枠体の製造方法及び装置の製造方法 - Google Patents

レーザ加工装置、レーザ加工方法、枠体の製造方法及び装置の製造方法 Download PDF

Info

Publication number
JP7271098B2
JP7271098B2 JP2018134972A JP2018134972A JP7271098B2 JP 7271098 B2 JP7271098 B2 JP 7271098B2 JP 2018134972 A JP2018134972 A JP 2018134972A JP 2018134972 A JP2018134972 A JP 2018134972A JP 7271098 B2 JP7271098 B2 JP 7271098B2
Authority
JP
Japan
Prior art keywords
robot
time
laser
controller
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018134972A
Other languages
English (en)
Other versions
JP2019038034A (ja
JP2019038034A5 (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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to US16/100,641 priority Critical patent/US11179803B2/en
Priority to CN201810972075.4A priority patent/CN109420845B/zh
Publication of JP2019038034A publication Critical patent/JP2019038034A/ja
Publication of JP2019038034A5 publication Critical patent/JP2019038034A5/ja
Application granted granted Critical
Publication of JP7271098B2 publication Critical patent/JP7271098B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、レーザ光で加工対象物を加工するレーザ加工装置、レーザ加工方法、枠体の製造方法び装置の製造方法に関する。
レーザ光で加工対象物を加工するレーザ加工装置として、レーザ光を発生させる光源と、光源にて発生されたレーザ光を加工対象物に向けて照射するレーザヘッドと、レーザヘッドを移動させるロボットと、を備えたものが知られている。この種のレーザ加工装置の一例として、レーザ光で溶接するレーザ溶接装置が知られている。レーザ溶接装置を用いたレーザ溶接として、レーザ光の照射位置を固定してスポットで溶接するレーザスポット溶接と、レーザ光で加工対象物を走査して溶接ビードを形成するレーザシーム溶接とが知られている。特許文献1には、レーザヘッドをロボットハンドに装着し、ロボットハンドを移動させることでレーザシーム溶接を行うレーザ溶接装置が記載されている。
特開2007-237202号公報
特許文献1に記載の方法では、ロボットコントローラが、移動中のロボットハンドの現在位置情報をエンコーダから取得し、現在位置情報に基づき、ロボットハンドがレーザ照射位置の始端に到達する時間軸上の溶接開始位置を予測している。
しかし、特許文献1に記載のロボットコントローラは、ロボットの動作中に予測演算等の時間を要する複雑な演算処理をリアルタイムで行わなければならない。したがって、高速動作するロボットに対しては、演算処理が間に合わず、ロボットと光源との間で制御のタイミングがずれてしまい、加工対象物に対してレーザ光を照射する位置の精度が低下することがあった。そのため、ロボットを低速で動作させなければならなかったため、加工品の生産効率が低いものであった。
そこで、本発明は、加工品の生産効率を向上させることを目的とする。
本発明のレーザ加工装置は、レーザ光を発生する光源と、前記光源にて発生されたレーザ光を出射する第1のレーザヘッド及び第2のレーザヘッドを含む複数のレーザヘッドと、前記複数のレーザヘッドをそれぞれ移動させるロボット装置と、前記複数のレーザヘッドのいずれかに前記光源にて発生されたレーザ光を導くよう光路を切り替える切替器と、前記光源におけるレーザ光の発生又は停止を制御し、前記ロボット装置の動作を制御し、前記切替器の動作を制御する制御装置と、を備え、前記制御装置は、前記第1のレーザヘッドの加工対象物に対するレーザ光の照射を停止させる前の第1の時点から予め設定された第1の時間が前記制御装置が行う計時において経過した第2の時点で、前記第2のレーザヘッドの加工対象物に対するレーザ光を発生するよう前記光源を制御し、前記制御装置は、前記第2のレーザヘッドの加工対象物に対する加速が前記第1の時点または前記第1の時点の後に開始し、前記第2のレーザヘッドの移動速度が前記第2の時点または前記第2の時点の前に第1の目標速度に達するように、前記ロボット装置を動作させることを特徴とする。
本発明によれば、加工品の生産効率が向上する。
第1実施形態に係るレーザ加工装置の一例であるレーザ溶接装置の概略構成を示す説明図である。 第1実施形態におけるレーザ溶接装置の制御系の一例を示すブロック図である。 第1実施形態における制御点の経路の一例を示す説明図である。 第1実施形態における制御点の移動距離の一例を示す説明図である。 (a)及び(b)は、第1実施形態におけるレーザヘッドの目標速度を変更した際の移動プロファイルを示す説明図である。 第1実施形態におけるレーザ溶接装置によりレーザ加工を行うレーザ加工方法の各工程を示すタイミングチャートである。 第2実施形態に係るレーザ加工装置の一例であるレーザ溶接装置の概略構成を示す説明図である。 第2実施形態におけるレーザ溶接装置によりレーザ加工を行うレーザ加工方法の各工程を示すタイミングチャートである。 参考例の説明図である。 第3実施形態における制御点の経路の一例を示す説明図である。 第3実施形態における制御点の経路の一例を示す説明図である。 (a)及び(b)は、第3実施形態における制御点の経路の一例を示す説明図である。 (a)及び(b)は、第3実施形態における速度と時間との関係を示す説明図である。 (a)及び(b)は、第3実施形態における制御点の経路の一例を示す説明図である。 第3実施形態における第1の時間を決定する測定方法を説明するための図である。 第3実施形態において移動命令に従って制御点を移動させたときの応答の例を示したグラフである。 第3実施形態における助走距離の算出方法を説明するための図である。 第3実施形態において移動する制御点の時間と速度との関係を示す図である。 第3実施形態における減速距離の算出方法を説明するための図である。 (a)及び(b)は、第3実施形態におけるロボットコントローラの処理を説明するための図である。 第4実施形態におけるコントローラとロボットコントローラとの間の通信を示すシーケンス図である。 第5実施形態における光位置センサの配置例を示す図である。 (a)及び(b)は、第5実施形態における測定結果を示すグラフである。 第6実施形態における助走距離の算出シーケンスを示すフローチャートである。 第6実施形態における減速距離の算出シーケンスを示すフローチャートである。 (a)は、参考例としてロボットに振動が発生している状態で制御点が辿る経路を説明するための図である。(b)は、参考例として移動する制御点の時間と速度との関係を示す図である。 第7実施形態における加速度を決定するシーケンスを示すフローチャートである。 (a)、(b)及び(c)は、第8実施形態においてロボットの振動を評価する方法を説明するための図である。 第9実施形態におけるコントローラとロボットコントローラとの間の通信を示すシーケンス図である。 第10実施形態に係るレーザ加工装置の一例であるレーザ溶接装置の概略構成を示す説明図である。 第10実施形態におけるレーザ溶接装置の制御系の一例を示すブロック図である。 第10実施形態における制御点の経路の一例を示す説明図である。 第10実施形態における制御点の移動距離の一例を示す説明図である。 (a)及び(b)は、第10実施形態におけるレーザヘッドの目標速度を変更した際の移動プロファイルを示す説明図である。 第10実施形態におけるレーザ溶接装置によりレーザ加工を行うレーザ加工方法の各工程を示すタイミングチャートである。 第10実施形態におけるレーザ溶接装置によりレーザ加工を行うレーザ加工方法の各工程を示すタイミングチャートである。 (a)及び(b)は、第10実施形態における、ロボット、レーザ発振器、切替器の動作時間の一例を示すタイミングチャートである。 第10実施形態における加工対象物とロボットの配置の一例を示す説明図である。 第10実施形態における加工対象物とロボットの配置の一例を示す説明図である。 第11実施形態に係る画像形成装置の斜視図である。 第11実施形態における加工対象物である枠体の一部を示す斜視図である。
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
[第1実施形態]
図1は、第1実施形態に係るレーザ加工装置の一例であるレーザ溶接装置100の概略構成を示す説明図である。レーザ溶接装置100は、ロボット101、レーザヘッド102、光源の一例であるレーザ発振器103、及び制御装置120を備えている。制御装置120は、装置全体の制御、具体的にはロボット101の動作、及びレーザ発振器103におけるレーザ光の発生又は停止を制御する。制御装置120は、第1のコントローラの一例であるコントローラ121と、第2のコントローラの一例であるロボットコントローラ122とを有する。ロボット101は、マニピュレータである。
レーザ発振器103とレーザヘッド102とは、レーザ光の光路となる光ファイバケーブル151で接続されている。レーザ発振器103とコントローラ121とは、互いにデジタル信号の通信が可能にケーブル153で接続されている。ロボットアーム111とロボットコントローラ122とは、動力線及び信号線を有するケーブル155で接続されている。コントローラ121とロボットコントローラ122とは、互いにデジタル信号の通信が可能にケーブル156で接続されている。
レーザ発振器103は、連続発振レーザ又はパルス発振レーザであり、レーザ発振によりレーザ光を発生する。レーザ発振器103にて発生されたレーザ光は、光ファイバケーブル151を介してレーザヘッド102に送られる。レーザヘッド102は、レーザ発振器103にて発生されたレーザ光Lを出射する。レーザヘッド102から出射されたレーザ光Lの焦点は、レーザヘッド102に対して所定距離の位置に結ばれる。コントローラ121は、レーザ発振器103におけるレーザ光の発生又は停止を制御する。即ち、コントローラ121は、レーザ発振器103にレーザ光の発生又は停止をケーブル153を介して指令する。
ロボット101は、例えば垂直多関節のロボットであり、ロボットアーム111と、ロボットアーム111に取り付けられたエンドエフェクタの一例であるロボットハンド112とを有する。ロボット101は、レーザヘッド102を支持する。第1実施形態では、ロボット101は、ロボットハンド112がレーザヘッド102を把持することで、レーザヘッド102を支持する。なお、例えばレーザヘッド102をロボットアーム111の先端又はロボットハンド112に取り付けて、ロボット101にレーザヘッド102を支持させてもよい。
レーザヘッド102がロボット101に支持されているので、ロボット101を動作させることにより、レーザヘッド102を所望の位置及び姿勢に移動させることができる。ロボット101を動作させてレーザヘッド102を所望の位置及び姿勢に移動させることにより、レーザ光Lの焦点を空間における所望の位置に移動させることができる。レーザ光Lの焦点を、加工対象物Wにおいて溶接ビードを形成させる位置に合わせることにより、加工対象物Wをレーザ光Lで溶接加工することができる。なお、加工対象物Wを加工することで、加工品が得られる。
第1実施形態では、制御装置120がレーザ発振器103及びロボット101を制御して、レーザシーム溶接を行う。レーザシーム溶接においては、レーザ光Lとして連続波を用いるものと、パルス波を用いるものとがあるが、いずれであってもよい。レーザシーム溶接では、レーザ光Lで加工対象物Wの表面を走査する必要がある。第1実施形態では、ガルバノミラーを用いず、ロボット101に支持されたレーザヘッド102を移動させながらレーザ光Lを出射し、レーザ光Lで加工対象物Wの表面を走査して、レーザ溶接加工する。ガルバノミラーを省略した分、コスト削減になる。加工対象物Wにおいて、加工箇所として溶接箇所が複数ある場合には、溶接箇所を順番にレーザ溶接加工する。
図2は、第1実施形態におけるレーザ溶接装置100の制御系の一例を示すブロック図である。コントローラ121は、例えば汎用コンピュータで構成され、プロセッサの一例であるCPU(Central Processing Unit)301を有する。また、コントローラ121は、CPU301を動作させる基本プログラム等が格納されたROM(Read Only Memory)302、及びCPU301の作業領域としてのRAM(Random Access Memory)303を有する。また、コントローラ121は、記憶装置の一例であるHDD(Hard Disk Drive)304と、ディスクドライブ305とを有する。ディスクドライブ305は、記録媒体の一例である記録ディスク323に記録されたプログラム等を読み出すことができる。
また、コントローラ121は、インタフェース(I/F)311,312を有する。これらCPU301、ROM302、RAM303、HDD304、ディスクドライブ305、I/F311,312は、バス310で互いに通信可能に接続されている。I/F312には、ケーブル153でレーザ発振器103が接続されている。
CPU301には、クロック発生回路313が接続されている。CPU301は、クロック発生回路313にて発生されたクロック信号に同期して動作する。つまり、CPU301の動作周波数は、クロック発生回路313のクロック信号によって決まる。
HDD304には、CPU301に計時処理を行わせたり、CPU301に信号の送受信処理を行わせたりする制御プログラム321が記憶(記録)されている。CPU301は、制御プログラム321に従って、計時処理や信号の送受信処理等の各種の処理を実行する。また、HDD304には、後述する第1の時間T1及び第2の時間T2などの時間のデータを含む各種のデータ322が記憶(記録)される。ここで、jは、正の整数であり、加工箇所である溶接箇所に対応付けて付与した通し番号であり、溶接する順番でもある。なお、データ322は、制御プログラム321に組み込まれていてもよい。
CPU301は、制御プログラム321を実行することにより、ソフトウェアタイマとして機能する。具体的には、CPU301は、第1の時間T1を計時するタイマと、第2の時間T2を計時するタイマとして機能する。また、CPU301は、制御プログラム321を実行することにより、レーザ発振器103にレーザ発振指令SR1(信号)を送信してレーザ発振器103を制御する。また、制御プログラム321は、I/Fからの読込処理、演算処理、I/Fへの出力処理を定期的に行っている。この周期をコントローラ121の制御周期と呼ぶこととする。
なお、制御プログラム321が記録される記録媒体は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、制御プログラム321を供給するための記録媒体としては、図2に示すROM302,記録ディスク323、不図示の外部記憶装置等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、DVD-ROMやCD-ROM、ブルーレイ等の光ディスク、磁気ディスク、磁気テープ、半導体メモリ等を用いることができる。
ロボットコントローラ122は、ロボット101の制御を行う専用のコンピュータである。なお、図2においては、ロボット101として、ロボットアーム111の制御系について図示し、ロボットハンド112の制御系については図示を省略している。ロボットコントローラ122は、プロセッサの一例であるCPU401、CPU401を動作させる基本プログラム等が格納されたROM402、及びCPU401の作業領域としてのRAM403を有する。また、ロボットコントローラ122は、記憶装置の一例であるHDD404を有する。
また、ロボットコントローラ122は、サーボ演算部の一例であるFPGA416、及び電流アンプ417を有する。また、ロボットコントローラ122は、インタフェース(I/F)411を有する。CPU401、ROM402、RAM403、HDD404、FPGA416、I/F411は、バス410で互いに通信可能に接続されている。また、コントローラ121のI/F311とロボットコントローラ122のI/F411とがケーブル156で接続されている。
CPU401には、クロック発生回路414が接続され、FPGA416には、クロック発生回路415が接続されている。CPU401は、クロック発生回路414にて発生されたクロック信号に同期して動作し、FPGA416は、クロック発生回路415にて発生されたクロック信号に同期して動作する。つまり、CPU401の動作周波数は、クロック発生回路414のクロック信号によって決まり、FPGA416の動作周波数は、クロック発生回路415のクロック信号によって決まる。
HDD404には、プログラム421、及びロボットプログラム422が記憶(記録)されている。
ロボットアーム111は、各関節を駆動する複数(例えば6つ)のモータM1,…,M6と、モータM1,…,M6の回転角度(回転位置)を検知する位置センサの一例である複数(例えば6つ)のエンコーダEn1,…,En6と、を有する。また、ロボットアーム111は、エンコーダEn1,…,En6に接続され、電子回路で構成された検出回路115を有する。
以上の構成で、コントローラ121、具体的にはCPU301は、I/F312からレーザ発振指令(信号)SR1をレーザ発振器103に送信する。レーザ発振指令SR1を受信したレーザ発振器103は、レーザ発振指令SR1に従い、レーザ光を発生するように動作する。具体的には、コントローラ121は、レーザ発振指令SR1として、レーザ発振器103にレーザ光の発生を指令するときには電気信号の電圧をローレベルからハイレベルに切り替えて、I/F312から送信する。電気信号の電圧をハイレベルにする場合、レーザ発振指令SR1をオンにするともいう。また、コントローラ121は、レーザ発振器103にレーザ光の停止を指令するときには電気信号の電圧をローレベルとする。電気信号の電圧をローレベルにする場合、レーザ発振指令SR1をオフにするともいう。したがって、レーザ発振器103は、レーザ発振指令SR1がオンのときにはレーザ光を発生させ、レーザ発振指令SR1がオフのときにはレーザ光を停止させる。
また、レーザ発振器103は、レーザ光を発生していることを示す信号SR2をコントローラ121に送信する。具体的には、レーザ発振器103は、信号SR2として、レーザ光を発生しているときには電圧がハイレベルの電気信号をコントローラ121に送信する。電気信号の電圧をハイレベルにする場合、信号SR2をオンにするともいう。また、レーザ発振器103は、レーザ光の発生を停止しているときには電気信号の電圧をローレベルとする。電気信号の電圧をローレベルにする場合、信号SR2をオフにするともいう。
ロボットコントローラ122は、ロボットプログラム422に従ってロボットアーム111とロボットハンド112の動作を制御する。また、ロボットコントローラ122は、ロボットプログラム422に従ってシーケンスを管理する。即ち、ロボットアーム111の動作を開始するタイミングは、ロボットコントローラ122が管理する。以下、ロボットアーム111を動作させることをロボット101を動作させると表現する。
また、ロボットコントローラ122は、ロボット101が溶接箇所を含む所定の区間の軌道データに基づいて動作中であることを示すデジタル信号である信号SBを、コントローラ121に送信する。具体的には、ロボットコントローラ122は、レーザヘッド102を加速させる動作をロボット101に開始させた時点で、信号SBを示す電気信号の電圧をローレベルからハイレベルに切り替えて、コントローラ121に送信する。また、ロボットコントローラ122は、所定のタイミングで信号SBを示す電気信号の電圧をハイレベルからローレベルにする。以下、信号SBを示す電気信号の電圧をハイレベルにすることを、信号SBをオンにするともいう。また、信号SBを示す電気信号の電圧をローレベルにすることを、信号SBをオフにするともいう。
ロボットアーム111の姿勢制御、即ちレーザヘッド102の位置姿勢制御、具体的にはレーザ光Lの焦点の位置制御は、ロボットコントローラ122からロボットアーム111のモータM1,…,M6へ流されるモータ電流SC1によって行われる。ロボットプログラム422は、ロボット言語で記述されたプログラムである。ユーザは、ロボット言語をテキストデータで記述することにより、ロボット101の動作を指示することができる。ロボットコントローラ122のCPU401は、プログラム421を実行することにより、ロボットプログラム422の解釈を行い、複数の指令からなる軌道データを生成し、生成した軌道データをFPGA416へ出力する。FPGA416は、軌道データに従ってサーボ演算を行う。即ち、FPGA416は、サーボ演算によってモータ電流指令を生成し、生成したモータ電流指令を電流アンプ417に送る。電流アンプ417は、モータ電流指令に応じたモータ電流SC1を生成し、ロボットアーム111の各関節にあるモータM1,…,M6に流す。流されたモータ電流SC1によってロボットアーム111の各モータM1,…,M6が駆動される。検出回路115は、モータM1,…,M6が回転するとエンコーダEn1,…,En6から検出信号を取得する。検出回路115は、検出信号をシリアルのデジタル信号SC2に変換してロボットコントローラ122のFPGA416へ送信する。
モータM1,…,M6の回転角度(位置)を示すデジタル信号SC2は、FPGA416におけるサーボ演算に使われる。また、プログラム421は、I/Fからの読込処理、演算処理、I/Fのへの出力処理を定期的に行っている。この周期をロボットコントローラ122の制御周期と呼ぶこととする。エンコーダEn1,…,En6の検出信号はABZ相のパルス信号である。検出回路115は、エンコーダEn1,…,En6のパルス信号を、パルス数(位置座標に変換可能な値)を示すデジタル信号SC2に変換してFPGA416へフィードバックする。なお、サーボ機構、即ちFPGA416及び電流アンプ417をロボットアーム111内に配置し、CPU401からケーブルを介してロボットアーム111内のサーボ機構に位置指令、即ち軌道データを送信する構成としてもよい。また、FPGA416の機能をCPU401に持たせて、FPGA416を省略してもよい。また、エンコーダEn1,…,En6のパルス信号をデジタル信号に変換してロボットコントローラ122に送信する場合について説明したが、エンコーダEn1,…,En6のパルス信号を直接ロボットコントローラ122に送信するようにしてもよい。また、位置センサとして、エンコーダEn1,…,En6のかわりにレゾルバを用いてもよい。
ここで、ロボット101の動作の制御点は、ロボット101の手先と共に移動する点であればよいが、第1実施形態では、ロボット101の動作の制御点を、レーザ光の焦点としている。制御点は、ロボット101のベースを基準とする、3次元空間における位置を表す3つのパラメータ(X,Y,Z)と、3次元空間における姿勢を表す3つのパラメータ(A,B,C)からなる6つのパラメータで表される。したがって、制御点は、6次元のタスク空間上では、1つの点としてみなすことができる。ロボットプログラム422には、制御点の移動目標である教示点がユーザによって記述(指定)される。ロボットコントローラ122は、ロボットプログラム422を解釈し、教示点を結ぶ軌道データ、すなわち教示点を補間した軌道データを生成する。教示点間を補間する補間方法としては、直線補間、円弧補間、関節補間などがあり、これら補間方法が補間命令としてロボットプログラム422にユーザによって記述(指定)される。
ロボットコントローラ122のCPU401は、補間により求めた軌道データをロボット101の各関節の角度の指令に変換し、FPGA416は、サーボ演算を行う。FPGA416は、サーボ演算の結果、電流アンプ417に送られる電流指令を決定する。サーボ演算はロボットコントローラ122のCPU401の制御周期毎に行われる。各関節の角度の指令は制御周期毎に更新されるが、その増減量をコントロールすることでロボット101の速度は決定される。すなわち、各関節の角度の指令の増減量が大きければロボット101は速く動作し、増減量が小さければロボット101は遅く動作する。
ロボット101の動作によって制御点(レーザ光の焦点)が移動する実際の経路は、位置制御の応答遅れにより、ロボットプログラム422によって指令される経路からずれることがある。
図3は、第1実施形態における制御点の経路の一例を示す説明図である。ここで、制御点(レーザ光の焦点)の経路は、ロボット101の動作によって作られるため、ロボット101に支持されたレーザヘッド102の経路と同義である。
以下、ロボットプログラム422に記述された補間命令の一例としての直線補間命令を実行する場合について説明する。直線補間命令とは、第1の位置座標と第2の位置座標とを結んだ直線に沿って制御点が移動するように補間する命令であり、制御点の経路は、3次元空間で線分となる。なお、第1の位置座標と第2の位置座標とでロボット101の姿勢も補間する方法と、第1の位置座標の姿勢を第2の位置座標まで保つ方法の2通りが可能であるが、第1実施形態では姿勢も補間する。いずれの方法であっても、ロボット101の制御点、即ちレーザ光の焦点は、第1の位置座標と第2の位置座標とを結んだ線分上を通る。なお、ロボットプログラム422では第1の位置座標はロボット101の現在の指令位置を利用し、移動先の第2の位置座標のみを指定することが多い。位置座標はユーザが設定する教示点(教示位置)を使ってもよいし、教示点に所望の演算を加えて教示点とは異なる位置を示す位置座標を使ってもよい。また、ロボットコントローラ122のCPU401が直線補間命令を実行すると、現在の指令位置と移動先の目標位置を結ぶ軌道データを生成し、その軌道データをFPGA416に制御周期毎に払い出しを行う。ロボットコントローラ122のCPU401はすべての軌道データの払い出しが完了すると直線補間命令は完了し、ロボットプログラム422に記述された次の命令を実行する。
図3中、破線は制御点の指令の経路(位置)50、実線は制御点の実際の経路(位置)51である。そして、図3の例では、レーザシーム溶接をする箇所が2箇所ある。1箇所目は、レーザ光の照射を開始する際の制御点の位置52とレーザ光の照射を終了する際の制御点の位置53との間である。2箇所目は、レーザ光の照射を開始する際の制御点の位置52とレーザ光の照射を終了する際の制御点の位置53との間である。なお、レーザシーム溶接を行う溶接箇所は、2箇所に限定するものではなく、1箇所であってもよいし、3箇所以上であってもよい。制御点の位置52,52及び制御点の位置53,53は、ユーザが設定する教示点(教示位置)である。
ロボットコントローラ122は、教示による位置52と教示による位置53とを結ぶ延長線上に位置する位置54と位置55とを、予め決められたアルゴリズムに従って求める。このアルゴリズムはロボットプログラム422に記述されている。ロボットプログラム422には直線補間命令の引数に位置55を与えて実行させる。なお、位置55への直線補間命令を実行させるためには、位置54へ移動命令を実行させ、ロボット101の位置指令が位置54へ到達している必要がある。
位置54は、制御点の移動を開始する指令の位置である。位置55は、制御点の移動を終了する指令の位置である。そして、ロボットコントローラ122は、教示による位置52,53の間の区間を含み、位置54を始点、位置55を終点とする、直線補間による所定の区間の軌道データPを生成する。同様に、ロボットコントローラ122は、制御点の移動を開始する位置54を始点、制御点の移動を終了する位置55を終点とする所定の区間の軌道データPを直線補間命令により生成する。なお、本実施形態では予め決められたアルゴリズムは、ロボットプログラム422に記述したが、ロボットコントローラ122の内部に実装しておき、コマンドで演算させてもよい。
このように、ロボット101へ指令する軌道データP,Pの一部である位置52,53,52,53は、ユーザにより指定される教示点である。一方、ロボット101へ指令する軌道データP,Pの一部である位置54,55,54,55は、ロボットコントローラ122がロボットプログラム422に従って自動計算して求める指令であり、教示点ではない。
ロボットコントローラ122は、位置55と位置54との間も、ロボットプログラム422に記述された補間命令に従って補間して、軌道データP1-2を生成する。なお、位置55と位置54との間は、単にレーザヘッド102を移動させるだけなので、任意の補間方法で補間可能である。したがって、ロボットプログラム422には、任意の補間命令を記述可能である。ロボットプログラム422に例えば直線補間命令が記述されている場合には、直線補間で補間すればよい。ロボットプログラム422に例えば関節補間命令が記述されている場合には、関節補間で補間すればよい。関節補間命令とは、ロボット101の各関節の動作量を時間で分割して補間する命令であり、制御点の経路は直線にはならない。ただし、ロボット101の動作は、直線補間命令でロボット101を動作させる場合よりも高速となる。
レーザシーム溶接を行う場合、制御点の移動速度が目標速度Vw,Vwとなるのに必要な助走区間が必要である。第1実施形態では、位置54と位置52との間が助走区間、位置54と位置52との間が助走区間ということになる。目標速度Vw,Vwは、ロボットプログラム422に記述(指定)される。
なお、レーザシーム溶接を行うので、制御点は位置52,52と位置53,53との間の溶接を行う区間を高精度に移動する必要があるが、レーザシーム溶接を行わないそれ以外の区間、例えば助走区間は位置精度が低くてもよい。したがって、図3に示すように、溶接を行う区間以外の区間において、実際の経路51が指令の経路50に対してずれていてもよい。換言するとロボットコントローラ122は、制御点が位置52,52と位置53,53との区間を高精度に移動するように、始点である位置54,54及び終点である位置55,55を求める。
ここで、ロボットコントローラ122が位置54,54をロボット101に指令する時点で、ロボット101が静止している場合と、ロボット101が動作している場合とがあるが、いずれであってもよい。
図4は、第1実施形態におけるロボット101の動作による制御点の移動距離の一例を示す説明図である。図4において、説明の便宜上、時刻TP1,TP2,TP3,TP5,TP1,TP2,TP3,TP5を図示している。第1実施形態のレーザ溶接装置100では、時刻TP1,TP2,TP3,TP5,TP1,TP2,TP3,TP5となったタイミングをカウントして処理を行うものではない。なお、図3と同様、破線は指令の経路50を示し、実線は実際の経路51を示す。
ロボットコントローラ122は、軌道データP、軌道データP1-2、軌道データPの順にロボット101の動作を制御する。しかし、位置制御の応答遅れにより、制御点は、図4に示すように、指令した時刻に対して遅れて動作する。
1箇所目の溶接のために、ロボットコントローラ122が直線補間命令を実行して、軌道データPの払い出しを開始すると、ロボット101の角度の指令が軌道データPの始点である位置54から軌道データPの終点である位置55へ変化を始める。この変化を開始する時刻TP1で、制御点、即ちレーザヘッド102を加速させるロボット101の動作が開始される。
ロボットコントローラ122が位置52をロボット101へ指令すると、制御点は、指令した時刻に対して遅れた時刻TP2で、指令した位置52に対応する位置を通過する。ロボットコントローラ122が位置53をロボット101へ指令すると、制御点は、指令した時刻に対して遅れた時刻TP3で、指令した位置53に対応する位置を通過する。ロボットコントローラ122が軌道データPの終点である位置55をロボット101へ指令すると、制御点は、指令した時刻に対して遅れた時刻TP5で、指令した位置55に対応する位置を通過する。レーザの照射は、実際の制御点が位置52を通過したときにレーザ光の照射を開始し、実際の制御点が位置53を通過したときにレーザ光の照射を停止する必要がある。
次にロボットコントローラ122は、次の溶接動作の準備のために、位置55から位置54へ向かう軌道データP1-2に従ってロボット101を動作させる。
2箇所目の溶接のために、ロボットコントローラ122が直線補間命令を実行して、軌道データPの払い出しを開始すると、ロボット101の角度の指令が軌道データPの始点である位置54から軌道データPの終点である位置55へ変化を始める。この変化を開始する時刻TP1で、制御点、即ちレーザヘッド102を加速させるロボット101の動作が開始される。
ロボットコントローラ122が位置52をロボット101へ指令すると、制御点は、指令した時刻に対して遅れた時刻TP2で、指令した位置52に対応する位置を通過する。ロボットコントローラ122が位置53をロボット101へ指令すると、制御点は、指令した時刻に対して遅れた時刻TP3で、指令した位置53に対応する位置を通過する。ロボットコントローラ122が軌道データPの終点である位置55をロボット101へ指令すると、制御点は、指令した時刻に対して遅れた時刻TP5で、指令した位置55に対応する位置を通過する。レーザの照射は、実際の制御点が位置52を通過したときにレーザ光の照射を開始し、実際の制御点が位置53を通過したときにレーザ光の照射を停止する必要がある。
レーザ光Lの焦点の移動速度が一定の目標速度Vw,Vwとなった状態で加工対象物Wにレーザ光Lを照射して加工を行うには、レーザヘッド102がレーザ光Lの照射を開始する位置に到達する前に、レーザヘッド102を加速させる必要である。第1の時間T1は、レーザヘッド102が一定の目標速度Vw,Vwで等速移動するようにレーザヘッド102を加速させる時間である。第2の時間T2,T2は、レーザヘッド102が一定の目標速度Vw,Vwで等速移動している状態でレーザ光Lを加工対象物Wに照射する時間である。
第1実施形態では、予め実験を行うことにより、時刻TP1と時刻TP2との間の期間、及び時刻TP1と時刻TP2との間の期間を、レーザヘッド102を加工対象物Wに対して加速させる第1の時間T1として設定する。また、予め実験又は演算を行うことにより、時刻TP2と時刻TP3との間の期間を、レーザ光Lを照射する第2の時間T2として設定し、時刻TP2と時刻TP3との間の期間を、レーザ光Lを照射する第2の時間T2として設定する。
以下、第1の時間T1、第2の時間T2の設定について詳細に説明する。レーザヘッド102の指令の速度と実際の速度とは、位置制御の応答遅れによりずれが生じる。したがって、第1の時間T1をロボットプログラム422のみで設定するのは困難である。そこで、試行錯誤的に様々な条件でロボット101を動作させ、レーザヘッド102の実際の速度が目標速度Vwに達して等速となる時間を各条件で測定し、これらの測定結果から、第1の時間T1を設定する。
なお、第1の時間T1が経過した時点で、レーザヘッド102の速度が目標速度Vwに達して等速となるのが好ましいが、ロボット101の位置姿勢、目標速度Vw、ロボット101の連続動作による残留偏差等の要因で速度誤差が生じる。よって、様々な条件で測定した中で、速度誤差が最も低くなる値、即ち最も時間がかかった時間を、第1の時間T1に定めるのが好ましい。即ち、第1の時間T1は、レーザヘッド102の加速を開始してから第1の時間T1が経過する時点で、レーザヘッド102の速度が目標速度Vwに対して所定の範囲内に収まるように設定すればよい。第1の時間T1は、各溶接箇所におけるレーザ光の目標速度Vwによって異ならせてもよいが、同じ時間とした方がコントローラ121の処理を簡略化できる。
図5(a)及び図5(b)は、ロボット101に支持されたレーザヘッド102の目標速度を変更した際の移動プロファイルを示す説明図である。図5(a)及び図5(b)には、溶接する箇所におけるレーザヘッド102の目標速度を3通りVw1,Vw2,Vw3に変更した場合の例を図示している。なお、図5(a)及び図5(b)には、ロボット101の指令の速度VC、ロボット101の実際の速度VRを図示している。図5(a)においては、異なる目標速度Vw1,Vw2,Vw3となっても、ロボット101の加速度を一定としている。そのため、ロボット101の加速時間は、目標速度Vw1,Vw2,Vw3に応じて変化する。図5(b)においては、異なる目標速度Vw1,Vw2,Vw3となっても、ロボット101の加速時間を一定としている。そのため、ロボット101の加速度は変化している。図5(a)及び図5(b)のいずれにおいても、第1の時間T1を十分な時間で設定すれば、指令の速度VCと実際の速度VRがおおよそ一致する。従って、第1の時間T1が経過した直後にはロボット101が等速領域に達したことを保証することができるようになる。即ち、第1の時間T1を経過した時刻TP2において等速になっていることが保証されていればよく、時刻TP2より前の時刻においてロボット101が等速になっていてもよい。
なお、図5(a)及び図5(b)では、教示による位置52と教示による位置53とを結ぶ延長線上に位置する位置54と位置55とを求めるアルゴリズムを変える必要がある。例えば、位置54は、位置52と位置53を結ぶ線分を、位置52側に延伸して求めるが、この延伸量は、図5(a)及び図5(b)における実際の速度VRを時刻TP1から時刻TP2まで積分して距離となる。積分した距離は図5(a)の方式と図5(b)の方式とでは異なるし、目標速度Vw1,Vw2,Vw3が変化しても異なる。従って位置54を求めるアルゴリズムはそれらを考慮する必要がある。位置55を求めるアルゴリズムも同様である。
第2の時間T2,T2はレーザ照射時間であり、以下の式(1)により計算する。ここで、以下の式(1)の演算記号として、第2の時間T2,T2をTw、レーザ光の照射を開始する位置52,52をPs、レーザ光の照射を終了する位置53,53をPe、及び目標速度VwをVwとする。第2の時間であるTwを、Ps、Pe及びVwを用いて、溶接箇所ごとに以下の式(1)で計算する。
Figure 0007271098000001
即ち、PsとPeとの距離を、Vwで割り算することで、第2の時間となるTwの値を求める。Ps、Pe、及びVwは、溶接箇所ごとに異なる値とすることができる。したがって、第2の時間T2,T2となるTwは、溶接箇所の長さ(領域)に応じた値となる。このように算出されたTwが、第2の時間T2,T2として設定される。
教示点である位置52,52は、位置と姿勢の6自由度の情報で構成されている。具体的には、位置52,52は、ロボット101のベースに対する位置の情報であるX,Y,Zとレーザヘッド102の保持角度の情報であるA,B,Cを有する。位置53,53も同様である。したがって、Ps,PeとしてX,Y,Zの位置情報のみを用いて、3次元空間上の距離を求める。
なお、この演算はロボットコントローラ122が行い、第2の時間となるTwの値を、ロボットコントローラ122がコントローラ121に転送してもよい。また、ロボットコントローラ122ではPsとPeとの距離のみを演算し、距離の情報をコントローラ121に転送し、残りの演算を行って第2の時間となるTwの値を求めてもよい。どちらを選択するかは、目標速度Vwをロボットコントローラ122で記述(指定)しているか、コントローラ121で記述(指定)しているかによって適宜選択できる。
以上、実際にロボット101を生産ラインで動作させる前に、第1の時間T1及び第2の時間T2,T2を設定しておく。なお、第1の時間T1は予めコントローラ121とロボットコントローラ122の両方に設定しておくのが望ましい。
ところで、レーザシーム溶接を行う溶接箇所においては、位置52,52をロボット101に指令したタイミングではなく、制御点が実際に位置52,52を通過する時刻TP2,TP2でレーザ光Lを照射する必要がある。同様に、位置53,53をロボット101に指令したタイミングではなく、制御点が実際に位置53,53を通過する時刻TP3,TP3でレーザ光Lの照射を停止する必要がある。
即ち、等速領域に達した時刻TP2において、ロボット101の位置制御の応答遅れが生じている場合がある。位置制御の応答遅れは、指令の位置と実際の位置の差で表される。位置制御の応答遅れがある場合には、この位置制御の応答遅れを、位置54,54及び位置55,55の算出に含める必要がある。
そこでロボットコントローラ122は、レーザヘッド102を加速させる動作を開始してから第1の時間T1が経過した時点で制御点が目標位置に到達するように、移動を開始する位置54,54と移動を終了する位置55,55を演算する。ただし、図5(a)の方法を適用した場合と図5(b)の方法を適用した場合とでは、位置54,54及び位置55,55の算出する方法が変わる。
この演算は軌道データP,Pを生成する直線補間命令を実行する前に行う必要がある。例えば、直線補間命令の直前、または、実際にロボット101を生産ラインで動作させる前に行うことができる。なお、演算アルゴリズムはロボットプログラム422に記述することでロボットコントローラ122が演算する。
図6は、第1実施形態におけるレーザ溶接装置100によりレーザ加工を行うレーザ加工方法の各工程を示すタイミングチャートである。図6には、ロボットコントローラ122においてコントローラ121に送信させる信号SBが図示されている。また、図6には、ロボット101により移動されるレーザヘッド102の実際の速度VR及び指令の速度VCが図示されている。また、図6には、コントローラ121においてレーザ発振器103に送信されるレーザ発振指令SR1が図示されている。
自動運転が開始され、位置55を目標位置とする直線補間命令が実行されると、ロボットコントローラ122は、位置54から位置55へ向かう軌道データPを、所定の制御周期で払い出す。ロボット101は軌道データPに従って動作する。即ち、ロボットコントローラ122は、加工対象物Wに対するレーザヘッド102の移動速度が目標速度Vwとなるようにレーザヘッド102を加速させる動作をロボット101に開始させる。これにより、レーザヘッド102、即ち制御点は、位置54から位置55に向かって移動を開始し、移動速度が一定の目標速度Vwとなるように加速し始める。
また、ロボットコントローラ122は、軌道データPの払い出しを開始すると同時に、信号SBをオフからオンに切り替えた信号SBAを送信する。信号SBをオフからオンへの切り替えたときの立ち上がりが、同期信号(所定の信号)SBAとなる。即ち、ロボットコントローラ122は、レーザヘッド102を加速させる動作をロボット101に開始させた時点で、信号SBの立ち上がりである同期信号SBAをコントローラ121へ送信することになる。このタイミングを時刻TP1として図6中に示している。
第1実施形態では、信号SBの立ち上がりを同期信号SBAとしている。したがって、次の軌道データPの払い出しを開始する前であって、信号SBが立ち上がってからコントローラ121の制御周期以上経過していれば、信号SBはどのタイミングで立ち下がってもよい。図6の例ではロボットコントローラ122は、軌道データPの終点である位置55を指令すると同時に、信号SBをオンからオフに切り替える。なお、信号SBを立ち上げることで同期信号SBAとしたが、これに限定するものではなく、信号SBを立ち下げることで同期信号SBAとしてもよい。
コントローラ121は、ロボットコントローラ122から送られてくる信号SBを監視しており、信号SBが立ち上がる同期信号SBAを受信した時点で、第1の時間T1の計時を開始する。第1の時間T1は、例えば200[msec]等、固定の時間である。
第1の時間T1が経過したとき、レーザヘッド102は、溶接を行う目標速度Vwに達して等速状態となっており、また、制御点は、指令された位置52(図3)に位置している。よって、コントローラ121は、信号SBが立ち上がる同期信号SBAを受信してから第1の時間T1が経過した時点、即ち第1の時間T1の計時が終了した時点(図6中、時刻TP2)で、レーザ光Lを発生するようレーザ発振器103を制御する。具体的には、コントローラ121は、第1の時間T1の計時が終了すると同時にレーザ発振指令SR1をオフからオンに切り替える。即ち、コントローラ121は、第1の時間T1の計時が終了した時点で、レーザ発振器103にレーザ光を発生させるよう指令する。レーザ発振器103は、レーザ発振指令SR1を監視しており、レーザ発振指令SR1がオフからオンに切り替わったのを受信したとき、レーザ発振を行う。これと同時に、レーザ発振器103は、信号SR2をオフからオンに切り替える。
このように、ロボットコントローラ122は、加工対象物Wに対するレーザヘッド102の移動速度が一定の目標速度Vwで等速となるようにレーザヘッド102を加速させる動作を、ロボット101に開始させる。そして、コントローラ121は、レーザヘッド102の加速開始から第1の時間T1が経過した時点で、レーザ光を発生するようレーザ発振器103を制御する。コントローラ121は、ロボットコントローラ122の制御によるレーザヘッド102の加速開始を、同期信号SBAを受信することで検知する。
次に、コントローラ121は、第1の時間T1の計時が終了した時点で第2の時間T2の計時を開始する。ロボットコントローラ122は、レーザヘッド102にて加工対象物Wにレーザ光Lを照射している間、レーザヘッド102の移動速度が目標速度Vwを維持するようにロボット101を動作させる。コントローラ121は、第1の時間T1が経過してから更に第2の時間T2が経過した時点、即ち第2の時間T2の計時が終了した時点(図6中、時刻TP3)で、レーザ光Lの発生を停止するようレーザ発振器103を制御する。
具体的には、コントローラ121は、第2の時間T2の計時が終了すると同時にレーザ発振指令SR1をオンからオフに切り替える。即ち、コントローラ121は、第2の時間T2の計時が終了した時点で、レーザ発振器103にレーザ光を停止させるよう指令する。レーザ発振器103は、レーザ発振指令SR1がオンからオフに切り替わったのを受信したとき、レーザ発振を停止する。
ロボットコントローラ122は、軌道データPの終点である位置55をロボット101に指令した後、次に溶接を行うために、軌道データP1-2をロボット101に指令する。なお、軌道データPをロボット101に指令して次の溶接を行う場合も、前述の動作の繰り返しとなる。このように、ロボットコントローラ122は、互いに異なる複数の軌道データP,Pに従って、順次、ロボット101の動作を制御する。コントローラ121は、同期信号SBAを受信する度に、第1の時間T1として同じ時間が経過した時点で、レーザ光を発生するようレーザ発振器103を制御する。即ち、第1の時間T1として、各溶接箇所に対して個別の時間としているのではなく、共通の時間としている。したがって、コントローラ121は、ロボットコントローラ122がいずれの軌道データP,Pの指令を開始したのかを認識することなく、同期信号SBAを受信する度に、第1の時間T1として同じ時間をカウントすることになり、処理が簡略化される。
以上、第1実施形態によれば、第1の時間T1が経過した時点でレーザヘッド102が目標速度Vwに達しており、この目標速度Vwに達した等速状態でレーザ光を加工対象物Wに照射する。即ち、ロボット101に支持されたレーザヘッド102を、加工対象物Wに対して等速で移動させることにより、レーザ光Lの焦点を加工対象物Wの表面に沿って等速で移動させることができる。よって、加工対象物Wにおいてレーザ光Lの焦点の移動方向に沿って入熱量が均一化され、加工対象物Wにレーザ光Lの焦点の移動方向に沿って均一な溶接ビードを形成することができる。これにより、高精度なレーザシーム溶接を実現することができる。
ここで、ロボットコントローラ122における制御周期は、ロボット101の動作を制御するのに適した値、例えば数ミリ秒に設定されている。第1実施形態では、コントローラ121は、ロボットコントローラ122の制御周期よりも短い制御周期でレーザ発振器103のレーザ光の発停を制御している。即ち、第1実施形態では、コントローラ121においてレーザ発振器103を制御する制御周期は、ロボットコントローラ122においてロボット101を制御する制御周期よりも短い。よって、コントローラ121は、ロボットコントローラ122よりも、第1の時間T1及び第2の時間T2,T2を正確に管理することができる。即ち、コントローラ121は、レーザ発振器103を短い制御周期で制御することができるので、レーザ発振器103を発停するタイミングを正確に管理することができる。その結果、溶接ビードの長さのばらつきが低減でき、溶接強度のばらつきが低減される。
また、第1実施形態によれば、ロボットコントローラ122が軌道データPの始点を指令するタイミングと、コントローラ121において第1の時間T1の計時を開始するタイミングとが同期信号SBAで同期するようにしている。ロボットコントローラ122が軌道データPの始点を指令するタイミングとは、軌道データPの払い出しを開始するタイミングである。即ち、ロボットコントローラ122においてロボット101の動作と同期させた同期信号SBAを発生させ、コントローラ121において同期信号SBAと同期した時刻からの経過時間によって、レーザ光の照射のオンオフを管理している。したがって、コントローラ121及びロボットコントローラ122は、複雑な演算処理等を行うことなく、ロボット101の動作とレーザ発振器103のレーザ発振のオンオフを同期させている。よって、ロボット101の動作とレーザ発振のタイミングのずれを低減することができる。これにより、レーザ光の照射を開始する目標の位置に対する実際の位置の誤差が低減される。また、ロボット101の動作中に複雑な演算処理を行ってレーザ発振を制御する必要がないので、レーザ加工の精度を確保しながら、ロボット101の動作を高速化することができ、加工品の生産効率を向上させることができる。
[第2実施形態]
次に、第2実施形態に係るレーザ溶接装置について説明する。図7は、第2実施形態に係るレーザ加工装置の一例であるレーザ溶接装置100Aの概略構成を示す説明図である。第2実施形態では、コントローラ121で装置全体のシーケンスを管理する構成とする。なお、第2実施形態のレーザ溶接装置100Aは、第1実施形態のレーザ溶接装置100と同様の装置構成であり、プログラム321A,422Aが第1実施形態のプログラム321,422と異なる。第2実施形態では、第1実施形態と同様の部分については説明を省略する。
図7に示すコントローラ121には、シーケンスを管理するように構成された制御プログラム321Aが予め設定されている。コントローラ121は、ロボットコントローラ122へロボット101の動作開始を指示する動作開始指令(所定の指令)SAを送信する。動作開始指令SAを受信したロボットコントローラ122は、動作開始指令SAに従い、溶接を行う軌道データP,P(図3)の指令を開始する。具体的には、コントローラ121は、ロボット101の動作を開始するよう動作開始指令SAを指令するときには、電圧がハイレベルの電気信号をロボットコントローラ122へ送信する。電気信号の電圧をハイレベルにする場合、動作開始指令SAをオンにするともいう。また、コントローラ121は、動作開始指令SAを示す電気信号の電圧をハイレベルにした後、所定のタイミングでローレベルとする。電気信号の電圧をローレベルにする場合、動作開始指令SAをオフにするともいう。ロボットコントローラ122は、動作開始指令SAがオフからオンに切り替わることにより、軌道データP,Pの指令を開始する。図3の例では、ロボットコントローラ122は、動作開始指令SAを受信すると、軌道データPに従ってロボット101を動作させ、引き続き、軌道データP1-2に従ってロボット101を動作させる。ロボットコントローラ122は、次の動作開始指令SAを受信すると、軌道データPに従ってロボット101を動作させる。
なお、ロボットプログラム422Aには、動作開始指令SAがオフからオンに切り替わったことをロボットコントローラ122が受信すると、ロボットコントローラ122が軌道データP,Pの指令を開始するように記述されている。
図8は、第2実施形態におけるレーザ溶接装置100Aによりレーザ加工を行うレーザ加工方法の各工程を示すタイミングチャートである。
図8において、図6に示すタイムチャートとの違いは、動作開始指令SAが追加されていることにある。動作開始指令SAによってロボット101は動作を開始する。以下、具体的に説明する。自動運転が開始されると、コントローラ121は、動作開始指令SAをオンする。このタイミングを時刻TP0として図8に示す。
ロボットコントローラ122は、動作開始指令SAを監視しており、動作開始指令SAがオフからオンに切り替わると、軌道データPの指令を開始する。即ち、ロボットコントローラ122は、動作開始指令SAを受信した場合に、レーザヘッド102を加速させる動作をロボット101に開始させる。
ロボットコントローラ122は、軌道データPの払い出しを開始してロボット101を制御する時点で、コントローラ121へ同期信号SBAを送信する。このタイミングを時刻TP1として図8に示している。
コントローラ121は、ロボットコントローラ122から送られてくる信号SBを監視しており、信号SBが立ち上がる同期信号SBAを受信した時点で、第1の時間T1の計時を開始する。また、コントローラ121は、動作開始指令SAをオフにする。
レーザヘッド102は、第1の時間T1が経過したとき、溶接を行う目標速度Vwに達して等速状態となっており、また、制御点は、指令された位置52(図3)に位置している。よって、コントローラ121は、同期信号SBAを受信してから第1の時間T1が経過した時点、即ち第1の時間T1の計時が終了した時点(図8中、時刻TP2)で、レーザ光Lを発生するようレーザ発振器103を制御する。
次に、コントローラ121は、第1の時間T1の計時が終了した時点から第2の時間T2の計時を開始する。コントローラ121は、第1の時間T1が経過してから更に第2の時間T2が経過した時点、即ち第2の時間T2の計時が終了した時点(図8中、時刻TP3)で、レーザ光Lの発生を停止するようレーザ発振器103を制御する。
具体的には、コントローラ121は、第2の時間T2の計時が終了すると同時にレーザ発振指令SR1をオンからオフに切り替える。即ち、コントローラ121は、第2の時間T2の計時が終了した時点で、レーザ発振器103にレーザ光を停止させるよう指令する。レーザ発振器103は、レーザ発振指令SR1がオンからオフに切り替わったのを受信したとき、レーザ発振を停止する。
ロボットコントローラ122は、軌道データPの終点である位置55をロボット101に指令した後、次に溶接を行うために、軌道データP1-2をロボット101に指令する。ロボットコントローラ122は、軌道データP1-2の終点を指令すると同時に、信号SBをオンからオフに切り替える。
一方、コントローラ121は、第2の時間T2の計時が終了してレーザを停止させてから、信号SBがオフになることを監視する。信号SBがオフになるタイミングは軌道データP1-2の終点の指令が完了したタイミングであり、次の溶接を行う軌道データPの実行が可能な状態であることを示している。コントローラ121は、信号SBがオフになっており、かつ、第2の時間T2の計時が終了していれば、動作開始指令SAをオンする。このタイミングを時刻TP0として図8に示す。これによりロボットコントローラ122は、次の溶接を行う軌道データPをロボット101に指令して、前述の動作を繰り返す。
このように、ロボットコントローラ122は、互いに異なる複数の軌道データP,Pに従って、順次、ロボット101の動作を制御する。コントローラ121は、同期信号SBAを受信する度に、第1の時間T1として同じ時間が経過した時点で、レーザ光を発生するようレーザ発振器103を制御する。
図8に示すように、ロボットコントローラ122は、軌道データPと軌道データPとの間の軌道データP1-2の指令が終了した時点で信号SBをオフにしている。もし、その直後に、動作開始指令SAがオンにならない場合は、ロボットコントローラ122は動作開始指令SAを監視する待機状態となり、ロボットはその位置を維持する。再び、動作開始指令SAがコントローラ121からロボットコントローラ122へ送られれば、ロボットコントローラ122は軌道データPの払い出しを開始する。
なお、信号SBを、ロボット101が待機状態になったことを示す信号としても使用しているが、信号SBとロボット101の待機状態になったことを示す信号とを別々に設定してもよい。
以上、第2実施形態によれば、コントローラ121によりシーケンスを管理する場合においても、第1実施形態と同様、高精度なレーザシーム溶接を実現することができる。また、第1実施形態と同様、ロボット101の動作中に複雑な演算処理を行う必要がなく、ロボット101の動作を高速化することができ、加工品の生産効率を向上させることができる。
また、周辺機器との接続性がよい汎用のコンピュータで構成されたコントローラ121がシーケンスを管理することにより、コントローラ121が不図示のデータベース等の周辺機器にアクセスするのも容易となる。コントローラ121は汎用のコンピュータのため、様々なフィールドバスと接続し、装置の情報を他の装置に伝達したり、センサなどの値を読み込んだりすることも容易である。イーサネット(登録商標)などで装置外のサーバとの通信を行うことも容易である。
また、ロボットコントローラ122の制御周期は、コントローラ121の制御周期よりも長い。このため、ロボットコントローラ122において動作開始指令SAを認識するタイミングにばらつきが生じる。第2実施形態では、コントローラ121は、動作開始指令SAを送信したタイミングではなく、同期信号SBAを受信したタイミングで、レーザ発振を行う第1の時間T1の計時を開始する。したがって、ロボット101の動作とレーザ発振器103におけるレーザ発振のタイミングのずれを低減できる。
[第3実施形態]
次に、第3実施形態に係るレーザ溶接装置を用いたレーザ加工方法について説明する。第3実施形態では、第1実施形態及び第2実施形態で説明した第1の時間T1の計時が完了したとき、及び第2の時間T2の計時が完了したときに、制御点、即ちレーザ光Lの焦点が教示した点を通過するようにロボット101を制御する方法について説明する。即ちレーザ光の照射開始時に、教示した溶接開始点である位置52を制御点が通過するロボット101の制御方法と、レーザ光の照射停止時に、教示した溶接終了点である位置53を制御点が通過するロボット101の制御方法について説明する。また、第3実施形態では、制御点が位置52及び位置53を通過する時に目標速度Vwで通過するようにロボット101を制御する方法についても説明する。なお、第3実施形態のレーザ加工方法は、第1実施形態、及び第2実施形態のいずれにも適用できる。
レーザ光の照射を開始する時に制御点が位置52を通過し、レーザ光の照射を停止する時に制御点が位置53を通過し、かつレーザ光の走査速度を目標速度Vwとするための計算について説明する。
図1及び図7に示すロボットコントローラ122は、まず助走距離La及び減速距離Ldを溶接箇所ごとに算出する。次に、ロボットコントローラ122は、位置52と位置53とを結ぶ延長線上において、位置52から助走距離La分だけ延伸した位置である位置54を求める。同様に、ロボットコントローラ122は、位置52と位置53とを結ぶ延長線上において、位置53から減速距離Ld分だけ延伸した位置である位置55を求める。ロボットコントローラ122は、位置54と位置52との間で制御点を加速させ、位置53と位置55との間で制御点を減速させることで、照射するレーザ光を目標速度Vwとすることができる。
助走距離La及び減速距離Ldの必要性について、図9を用いて説明する。図9は、参考例として助走距離La及び減速距離Ldを設けなかった場合の説明図である。図9中、破線は制御点の指令の経路(位置)50、実線は制御点の実際の経路(位置)51である。図9の例では、レーザシーム溶接をする箇所が2箇所ある。1箇所目は、レーザ光の照射を開始する制御点の位置52とレーザ光の照射を終了する制御点の位置53との間である。2箇所目は、レーザ光の照射を開始する制御点の位置52とレーザ光の照射を終了する制御点の位置53との間である。例として、1箇所目の溶接箇所について説明する。仮に助走距離La及び減速距離Ldが0であると、制御点の実際の経路(位置)51は制御点の指令の経路(位置)50からずれる。即ち、制御点は、位置52及び位置53を通過しない。なお、指令の位置とは、フィードバック制御における指令の位置を指し、実際の位置とは、ロボット101の各軸に搭載されているエンコーダから得られる角度情報から得られる実際の位置のことである。
仮に制御点が位置52に到達したことを確認してから、ロボット101に直線補間命令を実行させ、位置53に制御点を向かわせれば、制御点に位置52と位置53との間を直線移動させることはできる。しかし、この方法では、実際の経路(位置)51に沿って移動する制御点が位置52を通過する時の速度は0となってしまい、目標速度Vwで溶接を開始することができない。したがって、助走距離La及び減速距離Ldを設ける必要がある。
図10は、第3実施形態において助走距離La及び減速距離Ldを設けた制御点の経路の一例を示す説明図である。図10で示すように、助走距離Laは、位置54と位置52の距離、減速距離Ldは、位置53と位置55の距離である。本実施形態では、第1実施形態で説明したようにコントローラ121がロボット101の動作開始を指令しない場合(図1)と第2実施形態で説明したようにコントローラ121がロボット101の動作開始を指令する場合(図7)のそれぞれについて説明する。
第1実施形態のような場合では、ロボットコントローラ122は、直線補間命令又は関節補間命令を実行して、軌道データP0-1の払い出しを完了すると、即座に次の直線補間命令の実行を開始する。直線補間命令の目標位置は位置55である。ロボットコントローラ122は直線補間命令の実行により軌道データPの払い出しを開始する。ロボットコントローラ122は、軌道データPの払い出しと同時にコントローラ121に対し同期信号(所定の信号)SBA(図6)を送信し、第1の時間T1の計時をコントローラ121に開始させる。
第2実施形態のような場合では、ロボットコントローラ122は、軌道データP0-1の払い出しを完了すると、コントローラ121からの動作開始指令(所定の指令)SA(図8)を待つ。ロボットコントローラ122は、動作開始指令(所定の指令)SAを受信すると即座に次の直線補間命令の実行を開始する。直線補間命令の目標位置は位置55である。直線補間命令の実行により軌道データPの払い出しが開始する。ロボットコントローラ122は、軌道データPの払い出しと同時にコントローラ121に対し同期信号(所定の信号)SBAを送信し、第1の時間T1の計時をコントローラ121に開始させる。
第1実施形態のような場合、及び第2実施形態のような場合ともに、適切な助走距離Laを設けることで、第1の時間T1の計時をコントローラ121が終えると同時に位置52を制御点が通過するようにする。同様に、適切な減速距離Ldを設けることで、コントローラ121が第2の時間T2の計時を終えると同時に位置53を制御点が通過するようにする。
指令の位置と実際の位置とは、各瞬間において一致しないことがある。これは、ロボットの応答遅れによって発生する。図11を用いて、各瞬間における指令の位置と実際の位置を説明する。図11は、第3実施形態における制御点の経路の一例であって、指令の位置と実際の位置との関係を示す説明図である。図11中のベクトル56は、始点を実際の位置、終点を指令の位置で示している。ベクトル56の始点と終点は、時間の経過とともに変化する。一定の時間間隔ごとに始点と終点を求め、始点と終点の変化を表示したものが図11のようになる。ベクトル56の始点の位置を結ぶと制御点の実際の経路(位置)51となり、ベクトル56の終点の位置を結ぶと制御点の指令の経路(位置)50となる。図11で示すように、ロボットコントローラ122が軌道データP0-1の払い出しを完了した瞬間の指令の位置は位置54にあるが、実際の位置は位置54に到達していない。従って、ロボットコントローラ122が軌道データPの払い出しを開始した時点では、実際の位置は位置54と離れている。
制御点が、位置54に到達するのを待って軌道データPの払い出しを開始させることで、制御点に位置54を通過させる方法(第1の方法)と、制御点が位置54に到達するのを待たない方法(第2の方法)がある。第1の方法を、図12(a)及び図13(a)に示し、第2の方法を、図12(b)と図13(b)に示す。第1の方法では、制御点が位置54に実際に到達するのを待つ必要があり、動作が遅くなるため、第2の方法が好ましい。
図12(a)及び図12(b)は、第3実施形態における制御点の経路の一例を示す説明図である。図13(a)及び図13(b)は、第3実施形態における速度と時間との関係を示す説明図である。ただし、図13(a)には、コントローラ121が、第2実施形態のように動作開始指令(所定の指令)SAを送信する場合について図示しているが、第1実施形態のように動作開始指令SAを送信しない場合であってもよい。
第1の方法では、制御点が、図12(a)及び図13(a)に示すように、位置54に実際に到達するのを待つことで、制御点に位置52及び位置53を通過させるのが容易となる。図12(a)及び図13(a)に示した第1の方法では、目標速度に実際の速度VRが到達する時間のみを考慮して第1の時間T1を決定すればよい。助走距離Laは、決定した第1の時間T1を用いて決定すればよい。ただし、第1の方法では、位置54に制御点が実際に到達するのを待つための時間TWAITが発生する。生産性の観点では、時間TWAITのような待ち時間は少ない方がよい。
第1実施形態のように動作開始指令が無い場合に第1の方法を行うには、ロボットコントローラ122に次の処理を実行させる。即ちロボットコントローラ122は、軌道データP0-1の払い出し完了の後、位置54に実際に制御点が到達することを確認してから、軌道データPの払い出しを開始すると同時に同期信号SBAをコントローラ121に送信する。
第2実施形態のように動作開始指令がある場合に第1の方法を行うには、ロボットコントローラ122に次の処理を実行させる。即ちロボットコントローラ122は、軌道データP0-1の払い出し完了の後、位置54に実際に制御点が到達することを確認してから、信号SBをオンからオフにして動作開始指令SAを受け取る準備ができたことをコントローラ121に知らせる。以下、信号SBをオンからオフにして動作開始指令SAを受け取る準備ができたことを知らせる信号SBBを、ロボット待機信号SBBともいう。
第2の方法では、制御点が、図12(b)及び図13(b)に示すように、位置54に到達しない場合がある。到達しない場合について説明する。
第1実施形態のように動作開始指令が無い場合では、ロボットコントローラ122は、軌道データP0-1の払い出し完了の後、軌道データPの払い出しを開始すると同時に同期信号SBAをコントローラ121に送信する。
第2実施形態のように動作開始指令がある場合では、ロボットコントローラ122は、軌道データP0-1の払い出し完了の後、ロボット待機信号SBBを送信し、動作開始指令SAを受け取る準備ができたことをコントローラ121に知らせる。
ロボットコントローラ122がコントローラ121からの動作開始指令SAを受信した時点で、制御点が位置54に到達していないことが多い。なお、ロボットコントローラ122が動作開始指令SAを即座に受信しない場合は、動作開始指令SAを受信した時点で、制御点が位置54に到達することもある。その場合には、図12(a)及び図13(a)と同じになる。
図12(b)と図13(b)に示すように、第2の方法では、制御点の指令の経路(位置)50は位置54を通過するものの、制御点の実際の経路(位置)51は位置54を通過しないことがある。これは、位置54に指令位置が到達した時、即ち軌道データP0-1の払い出し完了した時、ロボットコントローラ122が実際の位置に関わらず軌道データPの払い出しを開始するためである。目標位置が位置54から変更されるため、制御点は、実際には位置54を通過しない。第2の方法では、図13(a)に示すような時間TWAITが発生せず、生産性の観点では有利である。ただし、第2の方法は、第1の時間T1の決定方法が煩雑になる。第1の時間T1の決定方法には、目標速度に実際の速度VRが到達する時間と、溶接開始点である位置52、及び溶接終了点である位置53を、制御点が通過する必要がある。
制御点に位置52及び位置53を通過させる手順を説明する。図14(a)及び図14(b)は、第3実施形態における制御点の経路の一例を示す説明図である。図14(a)及び図14(b)には、制御点が様々な位置から位置54にアプローチした例を示している。図14(a)及び図14(b)のいずれも、図12(b)及び図13(b)に示した、第2の方法の例であり、制御点は実際には位置54を通過しない。
図14(a)には、第1の時間T1を短く設定した場合について例示している。図14(a)において、第1の時間T1が短いため、制御点は溶接開始点である位置52を通過していない。即ち、制御点の実際の経路51が、溶接開始点である位置52から外れている。
図14(b)には、第1の時間T1を長く設定した場合について例示している。図14(b)において、制御点は溶接開始点である位置52を通過している。即ち、制御点の実際の経路51が、溶接開始点である位置52を通過している。位置54は、第1の時間T1によって決まる位置であるため、第1の時間T1が長いほど、位置52から離れた位置に設定される。位置54の決定方法については後述する。
図12(b)及び図13(b)に示した第2の方法の場合、第1の時間T1の決定方法には、2つの事項を考慮する必要がある。1つ目は、目標速度に実際の速度VRが到達する時間である。先に説明したように、試行錯誤的に様々な条件でロボット101を動作させ、レーザヘッド102の実際の速度VRが目標速度Vwに達して等速となる時間を各条件で測定し、これらの測定結果から、第1の時間T1の下限値を決定する。
2つ目は、制御点に位置52及び位置53を通過させることである。試行錯誤的に様々な条件でロボット101を様々な位置から位置54にアプローチさせ、制御点が位置52を通過するか試験する。そして、各条件での試験結果から、第1の時間T1の下限値を決定する。最後に2者のそれぞれの下限値のうち、いずれか大きい値を第1の時間T1として決定する。
第1時間T1の決定方法の具体的な事例について説明する。図15は、第3実施形態における第1の時間T1を決定する測定方法を説明するための図である。図15には、板57Aと板57Bとを溶接する場合について図示している。位置52及び位置53が板57A上にあるものとする。位置52を始点として位置53を終点とする溶接ビードの方向を方向58qとする。方向58qに垂直で板57Aに平行な方向を方向58rとする。板57Aに垂直な法線方向を方向58dとする。位置52と位置53とを結ぶ線分を、位置52から延びる方向に延長し、延長線上に位置54を設定する。位置52と位置54との間隔は十分長くとり、助走距離Laを仮設定する。助走距離Laは、位置52と位置54とを結ぶ線分の長さである。同様に、位置52と位置53を結ぶ線分を、位置53から延びる方向に延長し、延長線上に位置55を設定する。位置53と位置55との間隔は十分長くとり、減速距離Ldを仮設定する。減速距離Ldは、位置53と位置55とを結ぶ線分の長さである。
位置54及び位置55の設定を行った状態で、ロボットコントローラ122に次の処理を実行させる。すなわち、ロボットコントローラ122は、様々な位置から位置54へ直線補間移動命令又は関節補間移動命令に従って制御点を移動させる制御を行い、その後、移動した位置から位置55へ直線補間移動命令に従って制御点を移動させる制御を行う。
図16は、第3実施形態において移動命令に従って制御点を移動させたときの応答の例を示したグラフである。図16には、上から順に、応答波形59、応答波形60、応答波形61、応答波形62q、応答波形62r、応答波形62dのグラフを図示している。応答波形59は、溶接ビードの方向である方向58qの速度の応答波形である。応答波形60は、溶接ビードの方向である方向58qの速度偏差の応答波形である。応答波形61は、溶接ビードの方向である方向58qの位置偏差の応答波形である。応答波形62qは、溶接ビードの方向である方向58qの位置の応答波形である。応答波形62rは、方向58rの位置の応答波形である。応答波形62dは、方向58dの位置の応答波形である。なお、図16中、横軸方向は時間である。図16中、信号SBB、信号SA、信号SBAを縦線で図示している。この測定において、コントローラ121は、信号SBBを受信後、すぐに信号SAを送信するのが望ましい。
第1の時間T1は、速度の応答波形59において、速度が目標速度Vwに対して許容範囲内にあるか、位置の応答波形である応答波形62q、応答波形62r及び応答波形62dにおいて、位置が許容範囲内にあるかで決定する。第1の時間T1は、信号SBAを送信したときから、応答波形59、応答波形62q、応答波形62r、及び応答波形62dのすべてが、許容範囲内に入るまでの時間として決定できる。
図16においては、説明のために目標速度Vwのみ例示しているが、溶接箇所が複数ある場合は、溶接箇所ごとに目標速度を設定する。第1の時間T1を溶接箇所に関わらず固定値にする場合、溶接箇所ごとに応答波形59、応答波形62q、応答波形62r及び応答波形62dのすべてが許容範囲内に入るまでの時間を測定するのが好ましい。
以上により、第1の時間T1を決定することができる。次に、第1の時間T1が経過した瞬間に位置52を制御点が通過するように、助走距離Laを第1の時間T1を用いて計算する。
助走距離Laを計算する計算式は制御系の特性で変化する。制御系には、「型」とよばれる概念があり、型により応答特性が変化する。図16に示す測定結果からロボットコントローラ122のフィードバック制御系の型がわかる。図16の場合、型は1型である。
フィードバック制御系は、フィードフォワード制御を行っていない場合に表1に示す偏差を持つことが知られている。
Figure 0007271098000002
表1は、制御系の型と時間t=∞における位置偏差との関係を示したものである。ステップ入力r(t)=h、ランプ入力r(t)=vt、及び放物線入力r(t)=at/2のそれぞれが制御系に入力されたとき、t=∞において位置偏差がどのような定常値を示すかまとめたものである。
図16において、溶接動作は、図15に示す溶接方向58qにおいて、一定の目標速度Vwで制御する動作となるので、位置指令の入力としてランプ入力となる。すなわち、応答波形62qにおいて、図15に示す溶接方向58qにおける位置指令63qはランプ入力である。実際の位置応答64qは、位置指令63qに対しランプ応答となっている。位置偏差65qは、位置指令63qから位置応答64qを減算して求めるので、t=∞のとき一定値となることがわかる。すなわち、図16から制御系の型が1型であることがわかる。なお、説明のため1番目の溶接箇所の例を示したが、j番目の溶接箇所でも同様となる。
以上のことを踏まえて、助走距離Laを算出する。図17は、第3実施形態における助走距離Laの算出方法を説明するための図である。助走距離Laを算出するには、第1の時間T1が経過した瞬間のロボット101のいるべき位置から逆算する必要がある。図17には、第1の時間T1が経過した瞬間を図示している。また、図17には、j番目の溶接箇所の例を図示している。
ベクトル56sは、第1の時間T1が経過した瞬間における実際の位置に対する指令の位置を示すベクトルである。ベクトル56sの始点が実際の位置、終点が指令の位置である。第1の時間T1が経過した瞬間に、制御点が実際に位置52にいる必要がある。助走距離Laは、第1の時間T1の経過によりロボット101の指令の位置が進む距離Lsrと、第1の時間T1が経過した時点においてロボット101の応答遅れにより発生する距離Lseで表現できる。助走距離Laは式(2)で計算する。具体的には、助走距離Laは距離Lsrから距離Lseを減算したものとなる。図2に示すロボットコントローラ122のCPU401は、式(2)を用いて助走距離Laを求める。
Figure 0007271098000003
助走距離Laが求まると、位置54を算出することができる。まず、延伸する方向を定めるため、CPU401は、単位ベクトルPdirを、式(3)を用いて求める。ここで、式(3)の演算記号として、レーザ光の照射を開始する位置52をPs、レーザ光の照射を終了する位置53をPeとする。
Figure 0007271098000004
式(3)の計算は、位置52を始点として位置53を終点とするベクトルを、そのベクトルを距離で除算する計算となる。すなわち、単位ベクトルPdirはビードの形成する進行方向を指した長さ1のベクトルとなる。CPU401は、単位ベクトルPdirと助走距離Laを用いて、位置54を算出する。位置54の計算式を式(4)で示す。ここで演算記号として位置54を、助走を開始する位置としてPaで示している。
Figure 0007271098000005
次に、第1の時間T1の経過によりロボット101の指令の位置が進む距離Lsrと、第1の時間T1が経過した時点においてロボット101の応答遅れにより発生する距離Lseの実際の計算方法について説明する。
距離Lsrは、ロボットコントローラ122の生成するロボット101の軌道によって変化するが、速度指令が台形の場合は簡単に算出できる。例として速度指令が台形であって、かつ、加速時間Taが固定値である場合について説明する。
図18は、第3実施形態において移動する制御点の時間と速度との関係を示す図である。図18には、第1の時間T1の経過によりロボット101の指令の位置が進む距離Lsrを図示している。図18に示すハッチング部の面積が距離Lsrとなる。従って距離Lsrの計算式は式(5)となる。なお、目標速度Vwとはj番目の溶接箇所の目標の溶接速度である。
Figure 0007271098000006
距離Lseの計算方法は、表1に示した制御系の型により変わる。ロボット101は、第1の時間T1の計時及び第2の時間T2の計時が完了するまで目標速度を維持するように制御する。従って、表1に示すように、ランプ入力r(t)=vtとなる。よって、2型の制御系の場合、距離Lseは0である。1型の制御系の場合、距離Lseはv/Kである。0型の制御系の場合、距離Lseは時刻tの関数となる。ロボット101の制御系としては、0型の制御系を採用することはほとんどないため、2型又は1型となる。ロボット101の制御系が1型の場合、距離Lseの計算式は、目標速度Vwを所定の定数Kvで割った式(6)となる。図2に示すロボットコントローラ122のCPU401は、式(6)を用いて、距離Lseを計算する。
Figure 0007271098000007
以上、助走距離Laを算出することができ、位置54を算出することができる。これにより、第1の時間T1が経過した瞬間に、制御点が位置52を実際に通過するようにできる。
同様に、減速距離Ldの算出方法を説明する。減速距離Ldを算出し、位置55を算出することで、第2の時間T2が経過した瞬間に、制御点が位置53を実際に通過するようにできる。
図19は、第3実施形態における減速距離Ldの算出方法を説明するための図である。減速距離Ldを算出するには、第2の時間T2が経過した瞬間にロボット101のいるべき位置から逆算する必要がある。図19には、第2の時間T2が経過した瞬間を図示している。また、図19には、j番目の溶接箇所の例を図示している。
ベクトル56eは、第2の時間T2が経過した瞬間における実際の位置に対する指令の位置を示すベクトルである。ベクトル56eの始点が実際の位置、終点が指令の位置である。第2の時間T2が経過した瞬間に、制御点が実際に位置53にいる必要がある。第2の時間T2が経過した瞬間の実際の速度は、目標速度Vwと一致していることが望ましい。減速距離Ldは、第2の時間T2が経過した時点から指令の位置が位置55に到達して停止するまでに進む距離Lerと、第2の時間T2が経過した時点においてロボット101の応答遅れにより発生する距離Leeで表現できる。減速距離Ldは式(7)で計算する。具体的には、減速距離Ldは、距離Lerと距離Leeを加算したものとなる。図2に示すロボットコントローラ122のCPU401は、式(7)を用いて減速距離Ldを求める。
Figure 0007271098000008
減速距離Ldが求まると、位置55を算出することができる。CPU401は、式(3)で求めた単位ベクトルPdirを用いて、位置55を式(8)で計算する。ここで演算記号として、位置55を、減速して停止する位置としてPdで示している。
Figure 0007271098000009
次に、第2の時間T2が経過した時点から指令の位置が位置55に到達して停止するまでに進む距離Lerと、第2の時間T2が経過した時点においてロボット101の応答遅れにより発生する距離Leeの実際の計算方法について説明する。
距離Lerはロボットコントローラ122が生成するロボット101の軌道によって変化するが、速度指令が台形の場合は簡単に算出できる。例として速度指令が台形であって、かつ、減速時間Tdが固定値である場合について説明する。
図20(a)及び図20(b)は、第3実施形態において第2の時間T2が経過した後のロボットコントローラ122の処理を説明するための図である。図20(a)には、第2の時間T2が経過した後に指令の速度VCが0になる例、即ち指令の位置を位置55に一旦停止させる例を図示している。指令の速度VCは一旦0となるが、すぐに加速を始めるため、実際の速度VRは0にはなっていない。従って、制御点は減速するものの停止せず次の溶接箇所へ向かう。図20(a)において、ハッチング部の面積が距離Lerである。従って、距離Lerの計算式は式(9)となる。
Figure 0007271098000010
距離Leeの計算方法は、表1に示した制御系の型により変わる。2型の制御系の場合、距離Lseは0である。1型の制御系の場合、距離Leeは、目標速度Vwを所定の定数Kvで割ったものとなる。1型の制御系の場合、計算式は式(6)と同じであり、計算上はLee=Lseとなる。図2に示すロボットコントローラ122のCPU401は、式(10)を用いて、距離Leeを計算する。
Figure 0007271098000011
なお、式(6)及び式(10)で使用する定数Kvは未知数である。従って、あらかじめ同定を行い、図2に示すロボットコントローラ122の記憶装置、例えばHDD404に記録する必要がある。同定方法は、例えば図16に示すような実験を行い、応答波形61を取得し、第1の時間T1が経過した際の応答波形61の値を求め、距離Lseの値とすればよい。具体的には目標速度Vwを、測定した距離Lseで除算すればよい。この計算は式(11)となる。
Figure 0007271098000012
減速距離Ldを算出する例として、位置55にて指令の位置を停止させる例について説明したが、停止させない方法もある。図20(b)には、第2の時間T2経過後に指令の速度VCが0になっていない例を図示している。これは、一般に連続補間動作と呼ばれている。生産性の観点では、図20(b)のように減速させず次の溶接箇所へ移動を行う連続補間動作を行った方がよい。連続補間動作を行った際の減速距離Ldの求め方は、ロボットコントローラ122の軌道生成方法に依存するが、連続補間動作を行わないときの加減速開始位置が次の目標位置への補間動作の乗り換え位置となる場合は、式(9)の計算式のままでよい。次の目標位置への補間動作の乗り換え位置が異なる場合は軌道生成方法に合わせて式(9)を調整する必要がある。いずれにせよ、第2の時間T2経過の瞬間まで、指令の速度VCを目標速度Vwまで維持し、位置52と位置53を結んだ線から指令の位置が外れないようにする必要がある。また、ロボット101には応答遅れがあるため、指令の位置と実際の位置とは乖離する。従って、距離Leeを用いて補正する必要がある。
以上により、減速距離Ldを算出することができ、位置55を算出できるようになる。これにより、第2の時間T2が経過した瞬間に、制御点が位置53を実際に通過するようにできる。
なお、溶接箇所が複数ある場合は、各溶接箇所の距離Lseを測定し、平均値から定数Kvを計算してもよい。即ち、定数Kvは、式(11)の替わりに式(12)で計算してもよい。
Figure 0007271098000013
以上、第3実施形態によれば、第1の時間T1の計時が完了したとき、及び第2の時間T2の計時が完了したときにおいて、ロボット101の制御点、即ちレーザ光Lの焦点に、教示した点を通過させることができる。すなわち、レーザ照射開始時に、教示した溶接開始点である位置52を制御点に高い位置精度で通過させることができる。同様にレーザ照射停止時に、教示した溶接終了点である位置53を制御点に高い位置精度で通過させることができる。また、第3実施形態によれば、制御点が位置52及び位置53を通過する時に、制御点を目標速度Vwで通過させることができる。
[第4実施形態]
次に、第4実施形態に係るレーザ溶接装置を用いたレーザ加工方法について説明する。第3実施形態では、ロボット101の応答遅れによって発生する距離Lse及び距離Leeを、表1の制御系の型に従った式(6)及び式(10)を用いて求める方法について説明した。また、第3実施形態では、式(6)及び式(10)における定数Kvを、溶接箇所によらず同じ値とした。
ところが、ロボット101を動作させたとき、ロボットアーム111を伸ばした姿勢と、ロボットアーム111を縮めた姿勢とでは、ロボット101の慣性モーメントが異なるため、ロボット101の応答特性が変化する。従って、溶接箇所によらず同じ値の定数Kvを用いて距離Lseと距離Leeを計算すると、誤差が生じることがある。そこで、第4実施形態では、距離Lseと距離Leeを、溶接箇所ごとに予め求めておく方法を示す。
図21は、第4実施形態におけるコントローラ121とロボットコントローラ122との間の通信を示すシーケンス図である。図21には、溶接箇所ごとに距離Lseを求めるシーケンスについて例示している。溶接運転を行う前に少なくとも1度、図21のシーケンスを実行し、距離Lseを記憶装置、例えば図2に示すHDD404に記録する。このシーケンスは、位置52、位置53、及び目標速度Vwのうちのいずれかが変更された場合に実行しなおす必要がある。図21中、STEPA1~STEPA7はコントローラ121の処理、STEPB1~STEPB6及びSTEPC1~STEPC3はロボットコントローラ122の処理である。
コントローラ121は、STEPA1において、ロボットコントローラ122の「TASK1」を起動する。コントローラ121は、STEPA2において、信号SBBを受信するまで待機する。コントローラ121は、STEPA3において、動作開始指令SAをオンする。コントローラ121は、STEPA4において、信号SBAを受信するまで待機する。コントローラ121は、STEPA5において、第1の時間T1を計時する。コントローラ121は、STEPA6において、ロボットコントローラ122の「TASK2」に距離Lseを記録するタイミングを通知する信号SDAを送信する。コントローラ121は、STEPA7において、第2の時間T2を計時する。コントローラ121は、再びSTEPA2において、信号SBBを受信するまで待機する。図21中の「LOOP」は、枠内の処理の繰り返しを意味する。繰り返し回数は溶接箇所の個数である。
ロボットコントローラ122の処理には、第1実施形態と第2実施形態で説明した処理に対応する「TASK1」の処理と、距離Lseを記録するために新たに追加した「TASK2」の処理がある。
「TASK1」の処理は次の通りである。ロボットコントローラ122は、STEPB1において、「TASK2」を起動する。ロボットコントローラ122は、STEPB2において、信号SBBを送信する。ロボットコントローラ122は、STEPB3において、動作開始指令SAのオンを受信するまで待機する。ロボットコントローラ122は、STEPB4において、直線補間命令を実行し軌道Pを払い出す。ロボットコントローラ122は、STEPB5において、直線補間命令又は関節補間命令を実行し、軌道Pjー(j+1)を払い出す。軌道Pjー(j+1)とは、軌道Pの終点と軌道P(j+1)の始点とを結ぶ軌道である。ロボットコントローラ122は、STEPB6において、「TASK2」に全ての溶接箇所を巡回したことを通知する信号SEAを送信する。
「TASK2」の処理は、次の通りである。ロボットコントローラ122は、STEPC1において、コントローラ121からの信号SDAを受信するまで待機する。ロボットコントローラ122は、STEPC2において、指令の位置と実際の位置の2点を結ぶ線分の距離を取得する関数を呼び出して、距離Lseの値をRAM404に格納する。ロボットコントローラ122は、再びSTEPC1において、コントローラ121からの信号SDAを受信するまで待機する。ロボットコントローラ122は、STEPC3において、RAM404に格納された各溶接箇所における距離Lseの値をファイル化してHDD404に記録する。
信号SDAは、第1の時間T1の計時が完了したタイミングでコントローラ121からロボットコントローラ122に送信されるので、距離Lseを測定することができる。ロボットコントローラ122の制御周期は、コントローラ121の制御周期に比べて長いが、制御系の型が1型であれば、図16に示す応答波形61の通り、距離Lseは一定値に収束する。このため、第1の時間T1の計時が完了していれば概ね正確な値を測定できる。また、制御系の型が1型であれば、距離Lseと距離Leeとを同じ値とすることができるため、HDD404に記録する値は距離Lseのみで十分である。
溶接運転においては、HDD404に記録した距離Lseと式(2)及び式(7)を用いれば、各溶接箇所における助走距離La及び減速距離Ldを計算することができる。
第4実施形態によれば、溶接箇所ごとに距離Lseを実測している。このため、ロボット101の慣性モーメントの影響を受けず、第1の時間T1経過時、及び第2の時間T2経過時に、高い位置精度で制御点に位置52及び位置53を通過させることができる。
なお、STEPC2では、指令の位置と実際の位置の2点を結ぶ線分の距離を取得する関数を呼び出していたが、指令の位置と実際の位置を同じタイミングで取得できるのであれば、指令の位置と実際の位置とを取得して、その差を計算してもよい。
コントローラ121は、STEPA7において、レーザ光を照射する第2の時間T2を計時するが、図21で示したシーケンスは距離Lseを測定及び記録するためのシーケンスである。従って、実際に加工用のレーザ光を照射する必要はない。例えば加工用のレーザ光よりも強度の低いガイド光を照射するようにしてもよいし、レーザ光を照射しなくてもよい。
第4実施形態によれば、溶接箇所ごとに距離Lseと距離Leeとを予め求めておく、即ち測定し記録しておくため、ロボット101の姿勢によって応答特性が変化しても、位置精度よく溶接を行うことができる。
[第5実施形態]
第4実施形態では距離Lseと距離Leeを溶接箇所ごとに測定しHDDに記録する方法について説明したが、ロボットコントローラ122の応答遅れによって誤差が発生する場合がある。誤差とは、レーザ光の照射を開始する教示位置に対する第1の時間T1が経過した時点でのロボット101(制御点)の位置の誤差、つまり教示位置に対する実位置の誤差のことである。
そこで、第5実施形態では、式(2)及び式(7)ではなく、以下の式(13)及び式(14)の計算式によって、助走距離La、及び減速距離Ldを算出することで誤差を低減する。誤差の成分は、ロボット101の移動速度に比例した成分であるため、目標速度Vwと係数(定数)βを用いて表現することができる。
Figure 0007271098000014
Figure 0007271098000015
なお、式(13)及び式(14)で使用する定数βは、未知数である。従って、予め同定を行い、図2に示すロボットコントローラ122の記憶装置、例えばHDD404に記録する必要がある。定数βは、ロボットコントローラ122に依存する定数である。
図22は、第5実施形態における光位置センサの配置例を示す図である。図22に示すように、4つの光位置センサ130A,130B,130C,130Dが、ロボット101に隣接する壁に固定されている。光位置センサ130A,130B,130C,130Dは、PSD(Position Sensitive Detector)である。4つの光位置センサ130A,130B,130C,130Dに向かってレーザ光を照射することで、レーザ光が照射された位置を測定することができる。なお、加工用のレーザ光では、光位置センサ130A,130B,130C,130Dが破損することがあるため、加工用のレーザ光よりも強度の低いガイド光を照射するようにしてもよい。ガイド光を発生させる光源は、レーザ発振器103であってもよいし、不図示の発振器であってもよい。
定数βの同定は、次の手順で行う。まず、ユーザが教示する位置52及び位置53を光位置センサ130A,130B,130C,130Dの測定範囲内に設定する必要がある。例えば、光位置センサ130A,130B,130C,130Dを先に設置しておき、光位置センサ130A,130B,130C,130Dを基準に位置52及び位置53を教示する。教示点は実際の溶接点とは異なるが、定数βを同定する試験動作なので問題ない。jは溶接順を示すが、例えばj=1は光位置センサ130A、j=2は光位置センサ130Bなどのように対応付けしておく。また、教示完了時には教示位置にロボット101を静止させた状態でガイド光をONにして、位置52及び位置53の位置データを光位置センサ130A,130B,130C,130Dを用いて測定しておく。次に、第4実施形態で説明した通り、距離Lse及び距離Leeを溶接箇所ごとに求めるシーケンスを実行する。次に、β=0を仮設定し、式(13)及び式(14)で助走距離La、及び減速距離Ldを用いて溶接運転を実行する。
図23(a)及び図23(b)は、第5実施形態における測定結果を示すグラフである。図23(a)には、第5実施形態における光位置センサ130A,130B,130C,130Dのデータの例を図示している。光位置センサ130A,130B,130C,130Dを用いることで、ガイド光の平面上の位置を測定することができる。図23(a)に示す位置52及び位置53は、教示完了時にガイド光をONにして測定したデータである。図23(a)中、丸マークは、溶接運転を行ったときのガイド光の位置を示している。ガイド光の照射は、時間T1の間で1度だけであるが、光位置センサ130A,130B,130C,130Dの位置データは、サンプリングにより離散データとなる。
本実施形態では、教示した位置52と溶接運転におけるレーザ光の照射の開始位置との差である距離Lpを測定する。なお、位置の差の成分は、進行方向の成分と進行方向に90度直角な成分の2つに分けられるが、進行方向の成分のみを距離Lpとして測定する。この測定を、複数の姿勢、複数の速度、複数のレーザ走査方向で行い、これらの測定結果を用いて定数βを同定する。
図23(b)には、第5実施形態における距離Lpと目標速度Vwとの関係を図示している。複数の姿勢、複数の速度、複数のレーザ走査方向で測定を行うと、距離Lpは目標速度Vwと強い相関を示す。この傾きを定数βとして決定する。以上の方法により、定数βを同定することができ、式(13)及び式(14)を用いて助走距離La及び減速距離Ldを算出することができる。
第5実施形態によれば、ロボットコントローラ122の応答遅れによって生ずる誤差を低減することができ、位置精度よく溶接を行うことができる。
[第6実施形態]
第3実施形態から第5実施形態までは、第1の時間T1の経過により指令の位置が進む距離Lsrと、応答遅れにより発生する距離Lseとを用いて助走距離Laを算出する場合について説明した。同様に、第2の時間T2の経過後から指令の位置が位置55に到達して停止するまでの距離Lerと、第2の時間T2が経過した瞬間の応答遅れにより発生する距離Leeとを用いて減速距離Ldを算出する場合について説明した。しかし、第1の時間T1の計時完了時に、制御点の実際の位置を正確にロボットコントローラ122が測定できるならば、助走距離Laを、教示した位置52と、第1の時間T1の計時完了時の制御点の実際の位置を用いて求めることができる。
図24は、第6実施形態における助走距離Laの算出シーケンスを示すフローチャートである。図25は、第6実施形態における減速距離Ldの算出シーケンスを示すフローチャートである。
図24に示す助走距離Laを算出する方法について説明する。図2に示すロボットコントローラ122のCPU401は、STEPD1において、初期値を助走距離Laに代入(仮設定)する。初期値は、例えば式(5)を用いて計算した距離Lsrとしてもよい。初期値として、十分に助走可能な値を設定しておくのが望ましい。
CPU401は、STEPD2において、例えば式(4)を用いて、位置54を計算する。その後、溶接運転を行い、第1の時間T1が経過した時の制御点の実際の位置Psmを取得する。
CPU401は、STEPD3において、教示した位置52(Ps)と実際の位置Psmとの差分Errsを算出する。差分Errsは、レーザ光の照射を開始する教示位置である位置52(Ps)に対する第1の時間T1が経過した時点でのロボット101(制御点)の位置である位置Psmの誤差である。差分Errsを求める方法には、2つの方法、即ち溶接方向の成分のみ利用する方法と、溶接方向に対して90度直角な成分も含める方法とがある。以下、溶接方向の成分のみ利用する方法について説明する。差分Errsの計算式は式(15)となる。すなわち、差分Errsは、教示した位置52(Ps)と実際の位置Psmとの差分ベクトルに対し、単位ベクトルPdirの内積を計算したものとなる。
Figure 0007271098000016
CPU401は、STEPD4において、差分Errsが全て閾値以下であれば(YES)、STEPD6を実行してシーケンスを終了する。STEPD4で用いる閾値は、記憶装置、例えばHDD404に予め設定された値であり、例えばユーザが設定してもよい。CPU401は、STEPD6において、各溶接箇所における助走距離Laの値をファイル化してHDD404に記憶させる。
CPU401は、STEPD4において、いずれかの差分Errsが閾値より大きい場合(NO)、STEPD5を実行する。CPU401は、STEPD5において、閾値を超えた差分Errsに対して定数Ksを掛け、元の助走距離Laの値に加算して助走距離Laの値を更新する。この計算処理を式(16)に示す。CPU401は、STEPD5において助走距離Laの計算を終了したら、STEPD2の処理を再度実行する。
Figure 0007271098000017
以上の処理により、ロボットコントローラ122のCPU401は、差分Errsが閾値よりも小さくなるように助走距離Laを設定する。
図25に示す減速距離Ldを算出する方法について説明する。図2に示すロボットコントローラ122のCPU401は、STEPE1において、初期値を減速距離Ldに代入(仮設定)する。初期値は、例えば0とする。
CPU401は、STEPE2において、例えば式(8)を用いて、位置55を計算する。その後、溶接運転を行い、第2の時間T2が経過した時の制御点の実際の速度Vemを取得する。
CPU401は、STEPE3において、目標速度Vwと実際の速度との差分Errveを算出する。差分Errveの計算式は、式(17)となる。ロボット101(制御点)の速度は3次元ベクトルであるので、目標速度も3次元ベクトルで評価する必要がある。目標速度をベクトル化するには、スカラー量である目標速度Vwに単位ベクトルPdirを乗算すればよい。実際の速度Vemのベクトルから目標速度のベクトルを減算することで、目標速度に対する実際の速度の誤差である差分Errveのベクトルが求まる。
Figure 0007271098000018
CPU401は、STEPE4において、差分Errveの大きさ(絶対値)が、全て閾値以下であれば(YES)、STEPE6を実行してシーケンスを終了する。STEPE4で用いる閾値は、記憶装置、例えばHDD404に予め設定された値であり、例えばユーザが設定してもよい。CPU401は、STEPE6において、各溶接箇所における減速距離Ldの値をファイル化してHDD404に記憶させる。
CPU401は、STEPE4において、いずれかの差分Errveの大きさが閾値より大きい場合(NO)、STEPE5を実行する。CPU401は、STEPE5において、閾値を超える溶接箇所に対してのみ、減速距離Ldを定数Ke分だけ増加させる。この計算処理を式(18)に示す。CPU401は、STEPE5において減速距離Ldの計算を終了したら、STEPE2の処理を再度実行する。
Figure 0007271098000019
以上の処理により、ロボットコントローラ122のCPU401は、差分Errveの大きさが閾値よりも小さくなるように減速距離Ldを設定する。
以上、図24及び図25に示すシーケンスによって、助走距離La及び減速距離Ldを算出することができる。なお、式(16)の定数Ksは、1としてもよいが、差分Errsが閾値以下に収束しなければ、1よりも小さい値に変更してもよい。式(18)の定数Keは、式(9)を用いて距離Lerを計算しその10分の1程度の値を設定してもよい。
また、ロボット101は、減速機の入力軸に設けられたエンコーダEn1,…,En6(図2)を備えており、各関節の角度を測定可能としているが、減速機の出力軸にエンコーダが設けられていてもよい。減速機の出力軸に設けられたエンコーダを用いることで、各関節の角度を直接測定することができる。よって、各関節の角度情報から位置Psmを求めれば、位置精度よく溶接を行うことができる。
また、図24の助走距離Laの決定シーケンスを実行した後、図25の減速距離Ldの決定シーケンスを実行するのが望ましい。また、図24及び図25のシーケンスの実行中は加工用のレーザ光を照射する必要はないので、加工用のレーザ光の替わりにガイド光を照射するか、又はレーザ光の照射を行わないのが望ましい。また、実際の速度Vemを直接取得できない場合、第2の時間T2の計時完了時のサンプルとその直前のサンプルの合計2つサンプル分の実際の位置を取得し、その差分をサンプリング周期で除算して、速度Vemを求めてもよい。
第6実施形態によれば、制御点を位置52(Ps)に直接位置合わせするため位置精度よく溶接を行うことができる。また、実際の速度Vemを確認して減速距離Ldを決定するため、無駄に時間を消費せず、効率的に溶接を行うことができる。
また、第3実施形態の式(5)及び式(9)の計算が困難な場合、即ちロボットコントローラ122が生成する軌道が、台形の速度指令ではない場合や条件によって変動する場合、第6実施形態のように助走距離Laと減速距離Ldを設定してもよい。この場合、実際の位置Psm及び実際の速度Vemを使用しなくてもよく、これらの替わりに第1の時間T1の計時完了時の指令の位置と第2の時間T2の計時完了時の速度の指令を計算に用いてもよい。
[第7実施形態]
第3実施形態から第6実施形態までは助走距離Laの算出方法を説明し、位置54を求めることで、第1の時間の計時が完了したときにロボット101(制御点)に位置52を通過させる方法について説明した。また、同様に減速距離Ldの算出方法を説明し、位置55を求めることで、第2の時間の計時が完了したときにロボット101(制御点)に位置53を通過させる方法について説明した。しかし、溶接箇所から溶接箇所への移動が高速である場合、ロボットに振動が発生し、ビードが曲線になる、又は制御点が等速で溶接箇所を通過できなくなるなどの問題が発生することがあった。第7実施形態では、この振動を抑制する方法について説明する。
図26(a)は、参考例としてロボットに振動が発生している状態で制御点が辿る経路51を説明するための図である。ロボットに振動が発生すると、制御点が、位置52又は位置53を通過しないことがある。また、ロボットに振動が発生すると、溶接ビードが曲線になることがある。図26(a)には、制御点が位置52を通過せず、かつ、溶接ビードが曲線になる一例を図示している。
図26(b)は、参考例として移動する制御点の時間と速度との関係を示す図である。ロボットに振動が発生すると、レーザ光を照射している第2の時間T2の計時を行っている間に、制御点の速度が目標速度Vwとならず振動的になることがある。第7実施形態では、ロボットの振動を抑制するために、溶接箇所から溶接箇所へ移動するときの減速時の加速度αを調整する。図26(b)には、指令の速度VCとして、減速時の加速度αが100%の場合と、加速度αがその半分の50%の場合を例に図示している。また、図26(b)には、同期信号SBAを送信したタイミングを時間の基準として図示している。
加速度αの具体的な調整方法について説明する。図27は、第7実施形態における加速度を決定するシーケンスを示すフローチャートである。図27に示すシーケンスは、溶接箇所から溶接箇所へ移動するときの減速時の加速度αを決定するシーケンスを図示している。図27に示すシーケンスは、実際に加工対象物にレーザ加工する本動作の前の試験動作において実行する。試験動作では、実際に加工対象物にレーザ加工する本動作を模してロボット101を動作させる。
図2に示すロボットコントローラ122のCPU401は、STEPF1において、加速度αのリストをHDD404のファイルから読み込む。例えば、加速度αが100%、80%、60%、40%、20%の5パターンのリストなどである。CPU401は、STEPF2において、加速度αのリストから1つの値を設定して、試験的に溶接を行う試験動作をロボット101に行わせる。STEPF2では、複数の溶接箇所それぞれの加速開始位置に制御点を移動させる動作を、設定された加速度αで実行する。
CPU401は、STEPF3において、加速度αのリストをすべて実行したかチェックする。CPU401は、STEPF3において、加速度αのリストをすべて実行していない場合(NO)、STEPF2の処理に戻る。例えば加速度αのリストが100%、80%、60%、40%、20%の5パターンであれば、試験動作を、加速度αを100%から20%まで順番に変更して実行することで、STEPF2の処理を5回実行する。CPU401は、STEPF3において、加速度αのリストをすべて実行した場合(YES)、STEPF4の処理を実行する。
CPU401は、STEPF4において、ロボットの振動を評価するシーケンスを実施し、加速度αの値に対するOK/NGを判定する。OK/NGの判定は、溶接箇所ごとに行う。表2に判定結果の例を示す。表2の例では、1番目の溶接箇所については加速度100%がNGで、80%、60%、40%、20%がOKである。
Figure 0007271098000020
CPU401は、STEPF5において、溶接箇所ごとに加速度αの値を決定する。即ち、CPU401は、加速度αとして、各溶接箇所においてSTEPF4の判定においてOKであった値の中から選ぶ。加速度αとして、各溶接箇所においてSTEPF4の判定においてOKであった値の中から、最も大きな加速度αの値を選ぶのが好ましい。例えば表2の場合、CPU401は、1番目の溶接箇所については80%、2番目の溶接箇所については40%、3番目の溶接箇所については60%の値を選ぶ。
CPU401は、STEP6において、各溶接箇所に対応付けられた加速度αの値を、HDD404に記憶させる。以上、CPU401は、試験動作時に発生したロボット101の振動に基づき、本動作においてレーザヘッド102を加速させる動作を開始する位置にロボット101(制御点)を動作させるときの加速度αを、溶接箇所ごとに調整しておく。
なお、図27に示したシーケンスのSTEPF2における試験動作においては、レーザ光の照射を行う必要はないので、レーザ光を照射しない、又は加工用のレーザ光の替わりにガイド光の照射を行うのが望ましい。
以上、第7実施形態によれば、溶接箇所から次の溶接箇所へ制御点を移動させるときの減速時の加速度αを、ロボット101の振動が許容範囲内となるように、溶接箇所ごとに本動作の前に調整しておくので、加工効率が向上する。即ち、加工に必要な位置精度及び速度精度を満たしつつ、溶接箇所から次の溶接箇所へ制御点を高速に移動させることができる。
[第8実施形態]
第7実施形態では、溶接箇所から次の溶接箇所へ制御点を移動させるときの減速時の加速度αを、ロボット101の振動が許容範囲内となるように調整する方法について説明した。第8実施形態では、ロボット101の振動の評価方法の一例について具体的に説明する。図28(a)、図28(b)及び図28(c)は、第8実施形態においてロボットの振動を評価する方法を説明するための図である。
図28(a)に示すように、溶接ビードの形成位置は、ユーザがレーザ光の照射を開始する教示位置である位置52と、レーザ光の照射を終了する教示位置である位置53とを教示することによって決定する。位置52及び位置53を結んだ線分LSと、実際にレーザ光を照射して形成される溶接ビードの位置とが大きく異なると、位置精度の観点から問題となる。
そこで、図2に示すCPU401は、レーザ光の照射を行う第2の時間T2中、ロボット101の制御点の位置座標を、例えば、ロボット101の各関節の角度から順運動学計算により取得して、その位置座標に基づき、ロボット101の振動の評価を行う。
ロボットコントローラ122のCPU401は、第2の時間T2中、制御点が移動することにより時系列の複数の位置座標を取得する。そして、CPU401は、複数の位置座標が所定の領域内に収まるかどうかを判定する。CPU401は、全ての位置座標が所定の領域内に収まれば、「OK」と判定し、そうでなければ「NG」と判定する。所定の領域は、線分LSを含むようにユーザが任意に設定可能である。本実施形態では、図28(a)、図28(b)及び図28(c)に示すように、所定の領域である許容領域R1,R2,R3を設定している。図28(a)に示す許容領域R1は、線分LSを中心軸とする半径Rの円筒の領域である。図28(b)に示す許容領域R2は、位置52を中心とする半径Rの球の領域である。図28(c)に示す許容領域R3は、位置53を中心とする半径Rの球の領域である。CPU401は、各位置座標が、領域R1,R2,R3のうちいずれかの領域に収まっていれば、「OK」判定とする。CPU401は、複数の位置座標のうち、一つでも領域外の位置座標があれば「NG」判定とする。
なお、ロボット101の振動が、ロボット101の制御点の進行方向と概ね一致している場合、制御点の速度の振動として現れる。振動周期が長い場合、レーザ光の照射を行う第2の時間T2中の制御点の速度は、速度の振動の一部を切り取ることとなる。すると、切り取った区間の速度は、目標速度Vwと比べて遅くなる場合がある。制御点の速度が遅い場合、前述の所定の領域内に、制御点の位置座標が収まっていても、溶接ビードが短くなる。そこで、CPU401が、取得した、第2の時間T2中の制御点の時系列の位置座標データの差分値を計算し、その差分値をサンプリング時間で除算して制御点の時系列の速度データにする。その後、時系列の速度データの平均値を計算することで、制御点の平均速度を算出する。制御点の平均速度と目標速度Vwとの差分の絶対値が、所定値以下であれば「OK」判定し、所定値を超えていれば「NG」判定するようにしてもよい。即ち、ロボットの振動の発生の有無の判定として、目標速度Vwと、第2の時間の計時中の制御点の平均速度との、差分の絶対値が、所定値以下に収まることを判定してもよい。
加速度αの調整は、第7実施形態と同様である。以上、CPU401は、線分LSを含む所定の領域内に複数の位置座標が収まるように、加速度αを調整しておく。加速度αを溶接箇所ごとに本動作の前に調整しておくので、本動作においてはレーザ光による加工跡は、所定の領域内に収まる。即ち、加工に必要な位置精度及び速度精度を満たしつつ、溶接箇所から次の溶接箇所へ制御点を高速に移動させることができる。
なお、ロボット101においては、減速機が弾性変形する。したがって、減速機の出力軸にエンコーダを設けておけば、エンコーダの出力値に減速機の弾性変形による誤差が重畳するのを防止できる。したがって、減速機の出力軸に設けられたエンコーダの出力値から制御点の位置座標を計算するようにしてもよい。
CPU301がレーザ光を照射/停止させるタイミングを、CPU401が取得する方法としては、コントローラ121から第1の時間T1の計時完了時、及び、第2の時間T2の計時完了時に信号を送信させる方法がある。他に、ロボットコントローラ122が特殊なコマンドを実行する方法、ロボットコントローラ122が第1の時間T1と第2の時間T2を計時する方法などがある。また、振動の有無の判定をカメラで撮影し画像処理で行うこともできる。その場合、ロボット101はカメラを支持する。まず、第7実施形態のシーケンスを実行する。画像処理を用いる場合、第7実施形態のシーケンスでの試験動作は、実際の照射を伴う試験加工である。試験加工終了後、各溶接箇所をロボットで巡回し溶接ビードを撮影しHDD404に画像として記録する。すなわち、溶接箇所ごとに、加速度αのリストに対応した溶接ビードの画像をHDD404に記録する。加速度αが小さいときは振動が抑制される。従って、溶接点ごとに、加速度αのリストに対応した溶接ビードの画像を比較することで、振動の有無を判定する。具体的には、溶接箇所ごとに、加速度αを最も小さい値に設定したときの溶接ビード画像と、その他の加速度αを設定したときの溶接ビード画像を、比較することで振動の有無を判定する。例えば、各画像について、2値化処理を行い、溶接ビード部分とそれ以外の部分に分離する。その後、溶接ビード部分の重心を求め重心のX、Y座標を求める。ここで、X、Y座標とは、画像の左下を(0、0)とする画像の座標系を意味する。その後、加速度αを最も小さい値に設定したときの溶接ビード画像の重心と、その他の加速度αを設定したときの溶接ビード画像の重心の、距離を算出する。距離が一定の閾値より大きいとき、「NG」と判定し、閾値以下であれば「OK」と判定する。以上により振動の有無の判定をカメラで撮影し画像処理で行うことができる。
[第9実施形態]
第9実施形態では、ロボット101の振動の評価方法の第8実施形態とは別の例について、具体的に説明する。図29は、第9実施形態おけるコントローラ121とロボットコントローラ122との間の通信を示すシーケンス図である。図29には、ロボット101の振動の評価方法を示すシーケンスの一例を図示している。なお、図29において、図21と同様のステップについては、同一符号を付して説明を省略する。
図2に示すCPU401は、図29のSTEPB5において、制御点を溶接箇所から次の溶接箇所へ移動させる。第2実施形態から第8実施形態では、CPU401は、図21に示すように、STEPB5の処理が終了するとSTEPB2の処理である信号SBBの送信を行っていた。第9実施形態では、CPU401は、図29に示すように、STEPB5の処理が終了するとSTEPB7の処理を実施するようにする。CPU401は、STEPB7において、制御点の整定待ちを行う。STEPB5において、軌道データの払い出しが完了、すなわち、指令の位置が位置54に到達するとSTEPB5は終了する。しかし、制御点は位置54に到達していない。そこで、STEPB7を実行することで、制御点が振動なく、位置54に到達したことを確認する。
本実施形態では、例えば図7に示すロボットプログラム422Aに整定待ちを実行するコマンドを記述することで、ロボット101の振動の有無を判定することができる。図29のSTEPB7においては、CPU401は、整定待ちコマンドを実行する。整定待ちコマンドは、指令の位置と実際の位置との差分が閾値以内である状態がパラメータで設定した一定時間持続すると終了する。CPU401は、整定待ちコマンドの実行前から実行完了までの時間を測定することで、ロボット101の振動の有無を簡易的に判別できる。例えば、所定の時間よりも短時間で整定待ちコマンドが終了すれば振動なし、所定の時間よりも長時間で整定待ちコマンドが終了すれば、振動ありとなる。なお、溶接を実際に行う際にはSTEPE7の整定待ちは実施しない。即ち、以上のステップは、本動作の前の試験動作として行う。そして、CPU401は、ロボット101の振動ありと判定した場合には、加速度αを低下させる調整を行う。
以上、CPU401は、試験動作として、レーザヘッド102を加速させる動作を開始させる位置(位置54)へロボット101の指令の位置を移動させた時点からロボット101の制御点が整定するのに要した時間により、加速度αを調整する。
第9実施形態によれば、複雑な処理を必要とせず簡易的な方法で、ロボット101の振動の有無を判別することができ、簡単に加速度αを調整することができる。
なお、上述の第1~第9実施形態において、ロボット101が直線補間命令に従って動作している途中に、異常が発生する場合がある。ロボットコントローラ122は、コントローラ121に対して、ロボット101の状態を示す信号を周期的に送信すればよい。コントローラ121は、ロボット101が異常状態であることを示す信号を受信した場合、レーザ光を発振しないようにレーザ発振器103を制御すればよい。
また、上述の第1~第9実施形態において、ロボットコントローラ122が、コントローラ121に対してレーザ発振を許可する許可信号を送るようにしてもよい。例えば、ロボットコントローラ122が、直線補間命令によって軌道データPの払い出しを実行中であるときに、許可信号をオンする。コントローラ121は、許可信号とレーザ発振指令とをAND演算し、演算結果をレーザ発振器103に送信するようにしてもよい。これにより、ロボットコントローラ122が許可信号をオンしなければ、レーザ光は発振されないようになる。このAND演算はコントローラ121が行うが、別の電子回路で処理してもよい。
また、上述の第1~第9実施形態において、ロボット101は、レーザ光が人間に暴露しないように、遮光されたブース内(図示せず)に設置されているのが好ましい。人がブースへ入室するための扉を開くと、レーザ発振器103のレーザ発振が停止するようになっている。また、光ファイバケーブル151がレーザヘッド102及びレーザ発振器103と正しく接続されていない場合には、光ファイバケーブル151内の導線が接続されず、レーザ発振器103のレーザ発振が停止するようになっている。また、光ファイバケーブル151に一定以上の曲げが加わると内部の導線が切れ、レーザ発振器103のレーザ発振が停止するようになっている。また、セーフティレーザスキャナやセーフティライトカーテンなどで人間を感知して、レーザ発振器103のレーザ発振を停止するようにすることも可能である。また、ロボットコントローラ122やコントローラ121がなんらかの原因によって応答しなくなった場合に備えて、外部のハードウェアによって監視してレーザ発振を停止することも可能である。例えば、ロボットコントローラ122やコントローラ121から一定周期ごとにオン/オフする信号を出力し、出力された信号が一定時間変化しなければレーザ発振を止めればよい。
また、上述の第1~第9実施形態では、制御装置120が、コントローラ121とロボットコントローラ122とで構成される場合について説明したが、これに限定するものではない。コントローラ121とロボットコントローラ122との機能を併せ持つことが可能であれば、制御装置を1つのコンピュータで実現してもよい。例えば、複数のプロセッサ、又はプロセッサが有する複数のコアにより並列処理が可能であれば、制御装置を1つのコンピュータで実現することは可能である。
また、上述の第1~第9実施形態では、ロボット101が、垂直多関節のロボットの場合について説明したが、これに限定するものではない。ロボットが、例えば水平多関節のロボット、パラレルリンクのロボット、又は直交ロボット等のロボットであってもよい。
また、上述の第1~第9実施形態では、レーザ加工装置がレーザ溶接加工を行う場合について説明したが、これに限定するものではなく、例えばレーザ溝あけ加工又はレーザ切断加工を行う場合であってもよい。
また、上述の第1~第9実施形態では、レーザ溶接装置がレーザヘッド102を1つ備えている場合について説明したが、これに限定するものではない。即ち、レーザ溶接装置がレーザヘッド102を複数備えていてもよい。この場合、レーザ溶接装置は、複数のレーザヘッド102を個別に移動させることができるよう、ロボット101も複数備えていればよい。
[第10実施形態]
図30は、第10実施形態に係るレーザ加工装置の一例であるレーザ溶接装置100Bの概略構成を示す説明図である。図1と同一の構成要素には同一の参照符号を付与することにする。レーザ溶接装置100Bは、複数のロボット101,101,…,101(Nは2以上の正の整数)を含むロボット装置110、複数のレーザヘッド102,102,…,102、及び光源の一例である1台のレーザ発振器103を備える。また、レーザ溶接装置100Bは、切替器104及び制御装置120Bを備える。制御装置120Bは、装置全体の制御、具体的にはロボット装置110の動作、レーザ発振器103におけるレーザ光の発生又は停止、及び切替器104の切り替え動作を制御する。制御装置120Bは、第1のコントローラの一例であるコントローラ121Bと、複数の第2のコントローラの一例である複数のロボットコントローラ122,122,…,122とを有する。ロボット101,101,…,101は、マニピュレータである。
切替器104とレーザヘッド102,102,…,102とは、レーザ光の光路となる光ファイバケーブル151,151,…,151で接続されている。切替器104とレーザ発振器103とは、光ファイバケーブル152で接続されている。レーザ発振器103とコントローラ121Bとは、互いにデジタル信号の通信が可能にケーブル153で接続されている。切替器104とコントローラ121Bとは、互いにデジタル信号の通信が可能にケーブル154で接続されている。
ロボットアーム111,111,…,111とロボットコントローラ122,122,…,122とは、動力線及び信号線を有するケーブル155,155,…,155で接続されている。コントローラ121Bとロボットコントローラ122,122,…,122とは、互いにデジタル信号の通信が可能にケーブル156,156,…,156で接続されている。
レーザ発振器103は、連続発振レーザ又はパルス発振レーザであり、レーザ発振によりレーザ光を発生する。レーザ発振器103にて発生されたレーザ光は、光ファイバケーブル152を介して切替器104に送られる。切替器104は、複数のレーザヘッド102,102,…,102のうちいずれかのレーザヘッドに、レーザ発振器103にて発生させたレーザ光を光ファイバケーブル151,151,…,151を介して導くよう光路を切り替えるものである。具体的に説明すると、切替器104は、複数のミラー114,114,…,114を有し、ミラー114,114,…,114を動作させて、各レーザヘッド102,102,…,102に時分割でレーザ光を導くよう光路を切り替える。よって、レーザ発振器103を複数用意する必要が無く、コスト削減になる。
レーザヘッド102,102,…,102は、切替器104により導かれたレーザ光L,L,…,Lを出射する。レーザヘッド102,102,…,102から出射されたレーザ光L,L,…,Lの焦点は、レーザヘッド102,102,…,102に対して所定距離の位置に結ばれる。コントローラ121Bは、レーザ発振器103におけるレーザ光の発生又は停止、及び切替器104の切り替え動作を制御する。即ち、コントローラ121Bは、レーザ発振器103にレーザ光の発生又は停止をケーブル153を介して指令する。
本実施形態ではロボット101,101,…,101は同一構成である。ロボット装置110のロボット101は、例えば垂直多関節のロボットである。iは、1~Nの整数であり、ロボットに付与した通し番号でもある。ロボット101は、ロボットアーム111と、ロボットアーム111に取り付けられたエンドエフェクタの一例であるロボットハンド112とを有する。ロボット101は、レーザヘッド102を支持する。本実施形態では、ロボット101は、ロボットハンド112がレーザヘッド102を把持することで、レーザヘッド102を支持する。なお、例えばレーザヘッド102をロボットアーム111の先端又はロボットハンド112に取り付けて、ロボット101にレーザヘッド102を支持させてもよい。
レーザヘッド102がロボット101に支持されているので、ロボット101を動作させることにより、レーザヘッド102を所望の位置及び姿勢に移動させることができる。ロボット101を動作させてレーザヘッド102を所望の位置及び姿勢に移動させることにより、レーザ光Lの焦点を空間における所望の位置に移動させることができる。レーザ光Lの焦点を、加工対象物Wにおいて溶接ビードを形成させる位置に合わせることにより、加工対象物Wをレーザ光Lで溶接加工することができる。このように、複数のロボット101,101,…,101を含むロボット装置110は、複数のレーザヘッド102,102,…,102を個別に移動させることができる。なお、加工対象物Wを加工することで、加工品が得られる。
本実施形態では、制御装置120Bがレーザ発振器103、ロボット装置110、及び切替器104を制御して、レーザシーム溶接を行う。レーザシーム溶接においては、レーザ光Lとして連続波を用いるものと、パルス波を用いるものとがあるが、いずれであってもよい。レーザシーム溶接では、レーザ光Lで加工対象物Wの表面を走査する必要がある。本実施形態では、ガルバノミラーを用いず、ロボット101に支持されたレーザヘッド102を移動させながらレーザ光Lを出射し、レーザ光Lで加工対象物Wの表面を走査して、レーザ溶接加工する。ガルバノミラーを省略した分、コスト削減になる。
加工対象物Wにおいて、1つのロボット101、即ち1つのレーザヘッド102で溶接を行う溶接箇所は1つでもよいが、本実施形態では複数あるものとして説明する。また、複数のロボット101,101,…,101、即ち複数のレーザヘッド102,102,…,102には、説明の便宜上、i=1~Nの通し番号を付している。以下、1からNの順番に切り替えて、溶接箇所を1つずつ順番にレーザ溶接加工する場合について説明する。例えば、第1のロボットをロボット101、第1のレーザヘッドをレーザヘッド102とした場合、次に動作させる第2のロボットはロボット101、次にレーザ光を導く第2のレーザヘッドはレーザヘッド102ということになる。
図31は、第10実施形態におけるレーザ溶接装置100Bの制御系の一例を示すブロック図である。図2と同一の構成要素には同一の参照符号を付与することにする。コントローラ121Bは、例えば汎用コンピュータで構成され、プロセッサの一例であるCPU(Central Processing Unit)301を有する。また、コントローラ121Bは、CPU301を動作させる基本プログラム等が格納されたROM(Read Only Memory)302、及びCPU301の作業領域としてのRAM(Random Access Memory)303を有する。また、コントローラ121Bは、記憶装置の一例であるHDD(Hard Disk Drive)304と、ディスクドライブ305とを有する。ディスクドライブ305は、記録媒体の一例である記録ディスク323に記録されたプログラム等を読み出すことができる。
また、コントローラ121Bは、インタフェース(I/F)311,311,…,311、インタフェース(I/F)312及びインタフェース(I/F)313を有する。これらCPU301、ROM302、RAM303、HDD304、ディスクドライブ305、I/F311,311,…,311、I/F312及びI/F313は、バス310で互いに通信可能に接続されている。I/F312には、ケーブル153でレーザ発振器103が接続されている。I/F313には、ケーブル154で切替器104が接続されている。
CPU301には、クロック発生回路313が接続されている。CPU301は、クロック発生回路313にて発生されたクロック信号に同期して動作する。つまり、CPU301の動作周波数は、クロック発生回路313のクロック信号によって決まる。
HDD304には、CPU301に計時処理を行わせたり、CPU301に信号の送受信処理を行わせたりする、装置全体のシーケンスを管理するよう構成された制御プログラム321が記憶(記録)されている。CPU301は、制御プログラム321に従って、計時処理や信号の送受信処理等の各種の処理を実行する。また、HDD304には、第1の時間T1、第2の時間T2j,i及び第3の時間T3などの時間のデータを含む各種のデータ322が記憶(記録)される。なお、データ322は、制御プログラム321に組み込まれていてもよい。
ここで、第1の時間T1は、溶接箇所においてレーザヘッド102が等速となるように溶接箇所に向かってレーザヘッド102を加速させるのに要する時間である。また、第2の時間T2j,iは、溶接箇所においてレーザヘッド102がレーザ光を照射するのに要する時間である。iは、上述したように、1~Nの正の整数であって、ロボット、レーザヘッド等に付与した通し番号であり、動作させる順番に対応する。jは、正の整数であり、溶接箇所に対応付けて付与した通し番号であり、溶接する順番でもある。即ち、第2の時間T2j,iは、ロボット101に支持されたレーザヘッド102おいて溶接されるj箇所目の溶接箇所にレーザ光を照射するのに要する時間である。また、第3の時間T3は、切替器104において切り替え動作に要する時間である。以下、符号に下付きで付与する(j,i)は、i番目のロボット101(レーザヘッド102)におけるj箇所目の溶接箇所を意味する。
CPU301は、制御プログラム321を実行することにより、ソフトウェアタイマとして機能する。具体的には、CPU301は、第1の時間T1を計時するタイマと、第2の時間T2j,iを計時するタイマとして機能する。また、CPU301は、第2の時間T2j,iと第3の時間T3との合計時間(T2j,i+T3)を計時するタイマとして機能する。また、CPU301は、制御プログラム321を実行することにより、レーザ発振器103にレーザ発振指令SR1(信号)を送信してレーザ発振器103を制御する。また、CPU301は、制御プログラム321を実行することにより、切替器104に切替信号SSを送信して、切替器104を制御する。さらに、CPU301は、制御プログラム321を実行することにより、ロボットコントローラ122に、ロボット101の動作開始を指示する動作開始指令(所定の指令)SAを送信する。
なお、制御プログラム321が記録される記録媒体は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、制御プログラム321を供給するための記録媒体としては、図31に示すROM302,記録ディスク323、不図示の外部記憶装置等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、DVD-ROMやCD-ROM、ブルーレイ等の光ディスク、磁気ディスク、磁気テープ、半導体メモリ等を用いることができる。
ロボットコントローラ122は、ロボット101の制御を行う専用のコンピュータである。なお、図31においては、ロボット101として、ロボットアーム111の制御系について図示し、ロボットハンド112の制御系については図示を省略している。ロボットコントローラ122は、プロセッサの一例であるCPU401、CPU401を動作させる基本プログラム等が格納されたROM402、及びCPU401の作業領域としてのRAM403を有する。また、ロボットコントローラ122は、記憶装置の一例であるHDD404を有する。
また、ロボットコントローラ122は、サーボ演算部の一例であるFPGA416、及び電流アンプ417を有する。ロボットコントローラ122は、インタフェース(I/F)411を有する。CPU401、ROM402、RAM403、HDD404、FPGA416、I/F411は、バス410で互いに通信可能に接続されている。また、コントローラ121BのI/F311とロボットコントローラ122のI/F411とがケーブル156で接続されている。
CPU401には、クロック発生回路414が接続され、FPGA416には、クロック発生回路415が接続されている。CPU401は、クロック発生回路414にて発生されたクロック信号に同期して動作し、FPGA416は、クロック発生回路415にて発生されたクロック信号に同期して動作する。つまり、CPU401の動作周波数は、クロック発生回路414のクロック信号によって決まり、FPGA416の動作周波数は、クロック発生回路415のクロック信号によって決まる。
HDD404には、プログラム421、及びロボットプログラム422が記憶(記録)されている。
ロボットアーム111は、各関節を駆動する複数(例えば6つ)のモータM1,…,M6と、モータM1,…,M6の回転角度(回転位置)を検知する位置センサの一例である複数(例えば6つ)のエンコーダEn1,…,En6と、を有する。また、ロボットアーム111は、エンコーダEn1,…,En6に接続され、電子回路で構成された検出回路115を有する。
以上の構成で、コントローラ121B、具体的にはCPU301は、I/F312からレーザ発振指令(信号)SR1をレーザ発振器103に送信する。レーザ発振指令SR1を受信したレーザ発振器103は、レーザ発振指令SR1に従い、レーザ光を発生するように動作する。具体的には、コントローラ121Bは、レーザ発振指令SR1として、レーザ発振器103にレーザ光の発生を指令するときには電気信号の電圧をローレベルからハイレベルに切り替えて、I/F312から送信する。電気信号の電圧をハイレベルにする場合、レーザ発振指令SR1をオンにするともいう。また、コントローラ121Bは、レーザ発振器103にレーザ光の停止を指令するときには電気信号の電圧をローレベルとする。電気信号の電圧をローレベルにする場合、レーザ発振指令SR1をオフにするともいう。したがって、レーザ発振器103は、レーザ発振指令SR1がオンのときにはレーザ光を発生させ、レーザ発振指令SR1がオフのときにはレーザ光を停止させる。
また、レーザ発振器103は、レーザ光を発生していることを示す信号SR2をコントローラ121Bに送信する。具体的には、レーザ発振器103は、信号SR2として、レーザ光を発生しているときには電圧がハイレベルの電気信号をコントローラ121Bに送信する。電気信号の電圧をハイレベルにする場合、信号SR2をオンにするともいう。また、レーザ発振器103は、レーザ光の発生を停止しているときには電気信号の電圧をローレベルとする。電気信号の電圧をローレベルにする場合、信号SR2をオフにするともいう。
更に、コントローラ121B、具体的にはCPU301は、I/F313から切替信号SSを切替器104に送信する。切替信号SSは、それぞれのレーザヘッド102に割り当てられた固有の符号となる複数のビット(ビット列)からなるデジタル信号である。切替信号SSを受信した切替器104は、切替信号SSのビット列に応じて、光路の切り替えを行う。
更にまた、コントローラ121B、具体的にはCPU301は、I/F311からロボット101の動作開始を指示する動作開始指令(所定の指令)SAをロボットコントローラ122に送信する。具体的には、コントローラ121Bは、ロボット101の動作を開始するよう動作開始指令SAを指令するときには、電圧がハイレベルの電気信号をロボットコントローラ122へ送信する。電気信号の電圧をハイレベルにする場合、動作開始指令SAをオンにするともいう。また、コントローラ121Bは、動作開始指令SAを示す電気信号の電圧をハイレベルにした後、所定のタイミングでローレベルとする。電気信号の電圧をローレベルにする場合、動作開始指令SAをオフにするともいう。
ロボットコントローラ122は、動作開始指令SAを受信して、ロボットプログラム422に従ってロボット101の動作を制御する。即ち、ロボットコントローラ122は、動作開始指令SAを監視しており、動作開始指令SAがオフからオンに切り替わると、レーザヘッド102でレーザシーム溶接を行うためにレーザヘッド102を加速させる動作をロボット101に開始させる。
また、ロボットコントローラ122は、ロボット101が溶接箇所を含む所定の区間の軌道データに基づいて動作中であることを示すデジタル信号である信号SBを、コントローラ121Bに送信する。具体的には、ロボットコントローラ122は、レーザヘッド102を加速させる動作をロボット101に開始させた時点で、信号SBを示す電気信号の電圧をローレベルからハイレベルに切り替えて、コントローラ121Bに送信する。また、ロボットコントローラ122は、所定のタイミングで信号SBを示す電気信号の電圧をハイレベルからローレベルにする。以下、信号SBを示す電気信号の電圧をハイレベルにすることを、信号SBをオンにするともいう。また、信号SBを示す電気信号の電圧をローレベルにすることを、信号SBをオフにするともいう。
ロボットアーム111の姿勢制御、即ちレーザヘッド102の位置姿勢制御(レーザ光Lの焦点の位置制御)は、ロボットコントローラ122からロボットアーム111のモータM1,…,M6へ流されるモータ電流SC1によって行われる。ロボットプログラム422は、ロボット言語で記述されたプログラムである。ユーザは、ロボット言語をテキストデータで記述することにより、ロボット101の動作を指示することができる。ロボットコントローラ122のCPU401は、プログラム421を実行することにより、ロボットプログラム422の解釈を行い、複数の指令からなる軌道データを生成し、生成した軌道データをFPGA416へ出力する。FPGA416は、軌道データに従ってサーボ演算を行う。即ち、FPGA416はサーボ演算によってモータ電流指令を生成し、生成したモータ電流指令を電流アンプ417に送る。電流アンプ417は、モータ電流指令に応じたモータ電流SC1を生成し、ロボットアーム111の各関節にあるモータM1,…,M6に流す。流されたモータ電流SC1によってロボットアーム111の各モータM1,…,M6が駆動される。検出回路115は、モータM1,…,M6が回転するとエンコーダEn1,…,En6から検出信号を取得する。検出回路115は、検出信号をシリアルのデジタル信号SC2に変換してロボットコントローラ122のFPGA416へ送信する。
モータM1,…,M6の回転角度(位置)を示すデジタル信号SC2は、FPGA416におけるサーボ演算に使われる。また、プログラム421は、I/Fからの読込処理、演算処理、I/Fへの出力処理を定期的に行っている。この周期をロボットコントローラ122の制御周期と呼ぶこととする。エンコーダEn1,…,En6の検出信号はABZ相のパルス信号である。検出回路115は、エンコーダEn1,…,En6のパルス信号を、パルス数(位置座標に変換可能な値)を示すデジタル信号SC2に変換してFPGA416へフィードバックする。なお、サーボ機構、即ちFPGA416及び電流アンプ417をロボットアーム111内に配置し、CPU401からケーブルを介してロボットアーム111内のサーボ機構に位置指令、即ち軌道データを送信する構成としてもよい。また、FPGA416の機能をCPU401に持たせて、FPGA416を省略してもよい。エンコーダEn1,…,En6のパルス信号をデジタル信号に変換してロボットコントローラ122に送信するものとして説明したが、エンコーダEn1,…,En6のパルス信号を直接ロボットコントローラ122に送信するようにしてもよい。また、位置センサとして、エンコーダEn1,…,En6のかわりにレゾルバを用いてもよい。
ここで、ロボット101の動作の制御点は、ロボット101の手先と共に移動する点であればよいが、本実施形態では、ロボット101の動作の制御点を、レーザ光の焦点としている。制御点は、ロボット101のベースを基準とする、3次元空間における位置を表す3つのパラメータ(X,Y,Z)と、3次元空間における姿勢を表す3つのパラメータ(A,B,C)からなる6つのパラメータで表される。したがって、制御点は、6次元のタスク空間上では、1つの点としてみなすことができる。ロボットプログラム422には、制御点の移動目標である教示点がユーザによって記述(指定)される。ロボットコントローラ122は、ロボットプログラム422を解釈し、教示点を結ぶ軌道データ、すなわち教示点を補間した軌道データを生成する。教示点間を補間する補間方法としては、直線補間、円弧補間、関節補間などがあり、これら補間方法が補間命令としてロボットプログラム422にユーザによって記述(指定)される。
ロボットコントローラ122のCPU401は、補間により求めた軌道データをロボット101の各関節の角度の指令に変換し、FPGA416は、サーボ演算を行う。FPGA416は、サーボ演算の結果、電流アンプ417に送られる電流指令を決定する。サーボ演算はロボットコントローラ122のCPU401の制御周期毎に行われる。各関節の角度の指令は制御周期毎に更新されるが、その増減量をコントロールすることでロボット101の速度は決定される。すなわち、各関節の角度の指令の増減量が大きければロボット101は速く動作し、増減量が小さければロボット101は遅く動作する。
ロボット101の動作によって制御点(レーザ光の焦点)が移動する実際の経路は、位置制御の応答遅れにより、ロボットプログラム422によって指令される経路からずれることがある。
図32は、第10実施形態における制御点の経路の一例を示す説明図である。ここで、制御点(レーザ光の焦点)の経路は、ロボット101の動作によって作られるため、ロボット101に支持されたレーザヘッド102の経路と同義である。
以下、ロボットプログラム422に記述された補間命令の一例としての直線補間命令を実行する場合について説明する。直線補間命令とは、第1の位置座標と第2の位置座標とを結んだ直線に沿って制御点が移動するように補間する命令であり、制御点の経路は、3次元空間で線分となる。なお、第1の位置座標と第2の位置座標とでロボット101の姿勢も補間する方法と、第1の位置座標の姿勢を第2の位置座標まで保つ方法の2通りが可能であるが、本実施形態では姿勢も補間する。いずれの方法であっても、ロボット101の制御点、即ちレーザ光の焦点は、第1の位置座標と第2の位置座標とを結んだ線分上を通る。なお、ロボットプログラム422では第1の位置座標はロボット101の現在の指令位置を利用し、移動先の第2の位置座標のみを指定することが多い。位置座標はユーザが設定する教示点(教示位置)を使ってもよいし、教示点に所望の演算を加えて教示点とは異なる位置を示す位置座標を使ってもよい。また、ロボットコントローラ122のCPU401が直線補間命令を実行すると、現在の指令位置と移動先の目標位置を結ぶ軌道データを生成し、その軌道データをFPGA416に制御周期毎に払い出しを行う。ロボットコントローラ122のCPU401は軌道データの払い出しが完了すると直線補間命令は完了し、ロボットプログラム422に記述された次の命令を実行する。
図32中、破線は制御点の指令の経路(位置)50、実線は制御点の実際の経路(位置)51である。そして、図32の例では、レーザシーム溶接をする箇所が2箇所ある。j箇所目(図32の例では、j=1,2)は、レーザ光の照射を開始する際の制御点の位置52j,iとレーザ光の照射を終了する際の制御点の位置53j,iとの間である。なお、レーザシーム溶接を行う溶接箇所は、2箇所に限定するものではなく、1箇所であってもよいし、3箇所以上であってもよい。制御点の位置52j,i及び制御点の位置53j,iは、ユーザが設定する教示点(教示位置)である。
ロボットコントローラ122は、教示による位置52j,iと教示による位置53j,iとを結ぶ延長線上に位置する位置54j,iと位置55j,iとを、予め決められたアルゴリズムに従って求める。このアルゴリズムはロボットプログラム422に記述されている。ロボットプログラム422には直線補間命令の引数に位置55j,iを与えて実行させる。なお、位置55j,iへの直線補間命令を実行させるためには、位置54j,iへ移動命令を実行させ、ロボット101の位置指令が位置54j,iへ到達している必要がある。
位置54j,iは、制御点の移動を開始する指令の位置である。位置55j,iは、制御点の移動を終了する指令の位置である。そして、ロボットコントローラ122は、教示による位置52j,i,53j,iの間の区間を含み、位置54j,iを始点、位置55j,iを終点とする、直線補間による所定の区間の軌道データPj,iを生成する。
このように、ロボット101へ指令する軌道データPj,iの一部である位置52j,i,53j,iは、ユーザにより指定される教示点である。一方、ロボット101へ指令する軌道データPj,iの一部である位置54j,i,55j,iは、ロボットコントローラ122がロボットプログラム422に従って自動計算して求める指令であり、教示点ではない。
ロボットコントローラ122は、図32に示す位置551,iと位置542,iとの間も、ロボットプログラム422に記述された補間命令に従って補間して、軌道データP1-2,iを生成する。なお、位置551,iと位置542,iとの間は、単にレーザヘッド102を移動させるだけなので、任意の補間方法で補間可能である。したがって、ロボットプログラム422には、任意の補間命令を記述可能である。ロボットプログラム422に例えば直線補間命令が記述されている場合には、直線補間で補間すればよい。ロボットプログラム422に例えば関節補間命令が記述されている場合には、関節補間で補間すればよい。関節補間命令とは、ロボット101の各関節の動作量を時間で分割して補間する命令であり、制御点の経路は直線にはならない。ただし、ロボット101の動作は、直線補間命令でロボット101を動作させる場合よりも高速となる。
レーザシーム溶接を行う場合、制御点の移動速度が目標速度Vwj,iとなるのに必要な助走区間が必要である。本実施形態では、位置54j,iと位置52j,iとの間が助走区間ということになる。各溶接箇所の目標速度Vwj,iは、ロボットプログラム422に記述(指定)される。
なお、レーザシーム溶接を行うので、制御点は位置52j,iと位置53j,iとの間の溶接を行う区間を高精度に移動する必要があるが、レーザシーム溶接を行わないそれ以外の区間、例えば助走区間は位置精度が低くてもよい。したがって、図32に示すように、溶接を行う区間以外の区間において、実際の経路51が指令の経路50に対してずれていてもよい。換言するとロボットコントローラ122は、制御点が位置52j,iと位置53j,iとの区間を高精度に移動するように、始点である位置54j,i及び終点である位置55j,iを求める。
ここで、ロボットコントローラ122が位置54j,iをロボット101に指令する時点で、ロボット101が静止している場合と、ロボット101が動作している場合とがあるが、いずれであってもよい。
動作開始指令SAを受信したロボットコントローラ122は、動作開始指令SAに従い、溶接を行う軌道データPj,iの指令を開始する。即ち、ロボットコントローラ122は、動作開始指令SAがオフからオンに切り替わることにより、軌道データPj,iの指令を開始する。図32の例では、ロボットコントローラ122は、動作開始指令SAを受信すると、軌道データP1,iに従ってロボット101を動作させ、引き続き、軌道データP1-2,iに従ってロボット101を動作させる。動作が完了するとロボットは準備完了状態となり次の動作開始指令SAを監視する。ロボットコントローラ122は、次の動作開始指令SAを受信すると、軌道データP2,iに従ってロボット101を動作させる。
なお、ロボットプログラム422には、動作開始指令SAがオフからオンに切り替わったことをロボットコントローラ122が受信すると、ロボットコントローラ122が軌道データPj,iの指令を開始するように記述されている。
図33は、第10実施形態におけるロボット101の動作による制御点の移動距離の一例を示す説明図である。図4と同一の構成要素には同一の参照符号を付与することにする。図33において、説明の便宜上、時刻TP11,i,TP21,i,TP31,i,TP51,i,TP12,i,TP22,i,TP32,i,TP52,iを図示している。本実施形態のレーザ溶接装置100Bでは、時刻TP11,i,TP21,i,TP31,i,TP51,i,TP12,i,TP22,i,TP32,i,TP52,iとなったタイミングをカウントして処理を行うものではない。なお、図32と同様、破線は指令の経路50を示し、実線は実際の経路51を示す。
ロボットコントローラ122は、軌道データP1,i、軌道データP1-2,i、軌道データP2,iの順にロボット101の動作を制御する。しかし、位置制御の応答遅れにより、制御点は、図33に示すように、指令した時刻に対して遅れて動作する。
1箇所目の溶接のために、ロボットコントローラ122が直線補間命令を実行して、軌道データP1,iの払い出しを開始する。すると、ロボット101の角度の指令が軌道データP1,iの始点である位置541,iから軌道データP1,iの終点である位置551,iへ変化を始める。この変化を開始する時刻TP11,iで、制御点、即ちレーザヘッド102を加速させるロボット101の動作が開始される。
ロボットコントローラ122が位置521,iをロボット101へ指令すると、制御点は、指令した時刻に対して遅れた時刻TP21,iで、指令した位置521,iに対応する位置を通過する。ロボットコントローラ122が位置531,iをロボット101へ指令すると、制御点は、指令した時刻に対して遅れた時刻TP31,iで、指令した位置531,iに対応する位置を通過する。ロボットコントローラ122が軌道データP1,iの終点である位置551,iをロボット101へ指令すると、制御点は、指令した時刻に対して遅れた時刻TP51,iで、指令した位置551,iに対応する位置を通過する。レーザ光の照射は、実際の制御点が位置52を通過したときにレーザ光の照射を開始し、実際の制御点が位置53を通過したときにレーザ光の照射を停止する必要がある。
次にロボットコントローラ122は、次の溶接動作の準備のために、位置551,iから位置542,iへ向かう軌道データP1-2,iに従ってロボット101を動作させる。
2箇所目の溶接のために、ロボットコントローラ122が直線補間命令を実行して、軌道データP2,iの払い出しを開始する。すると、ロボット101の角度の指令が軌道データP2,iの始点である位置542,iから軌道データP2,iの終点である位置552,iへ変化を始める。この変化を開始する時刻TP12,iで、制御点、即ちレーザヘッド102を加速させるロボット101の動作が開始される。
ロボットコントローラ122が位置522,iをロボット101へ指令すると、制御点は、指令した時刻に対して遅れた時刻TP22,iで、指令した位置522,iに対応する位置を通過する。ロボットコントローラ122が位置532,iをロボット101へ指令すると、制御点は、指令した時刻に対して遅れた時刻TP32,iで、指令した位置532,iに対応する位置を通過する。ロボットコントローラ122が軌道データP2,iの終点である位置552,iをロボット101へ指令すると、制御点は、指令した時刻に対して遅れた時刻TP52,iで、指令した位置552,iに対応する位置を通過する。レーザ光の照射は、実際の制御点が位置522,iを通過したときにレーザ光の照射を開始し、実際の制御点が位置532,iを通過したときにレーザ光の照射を停止する必要がある。
レーザ光Lの焦点の移動速度が一定の目標速度Vwj,iとなった状態で加工対象物Wにレーザ光Lを照射して加工を行うには、レーザヘッド102がレーザ光Lの照射を開始する位置に到達する前に、レーザヘッド102を加速させる必要である。第1の時間T1は、レーザヘッド102が一定の目標速度Vwj,iで等速移動するようにレーザヘッド102を加速させる時間である。第2の時間T2j,iは、レーザヘッド102が一定の目標速度Vwj,iで等速移動している状態でレーザ光Lを加工対象物Wに照射する時間である。
本実施形態では、予め実験を行うことにより、時刻TP1j,iと時刻TP2j,iとの間の期間を、レーザヘッド102を加工対象物Wに対して加速させる第1の時間T1として設定する。また、予め実験又は演算を行うことにより、時刻TP2j,iと時刻TP3j,iとの間の期間を、レーザ光Lを照射する第2の時間T2j,iとして設定する。
以下、第1の時間T1、第2の時間T2j,i、第3の時間T3の設定について詳細に説明する。レーザヘッド102の指令の速度と実際の速度とは、位置制御の応答遅れによりずれが生じる。したがって、第1の時間T1をロボットプログラム422のみで設定するのは困難である。そこで、試行錯誤的に様々な条件でロボット101を動作させ、レーザヘッド102の実際の速度が目標速度Vwj,iに達して等速となる時間を各条件で測定し、これらの測定結果から、第1の時間T1を設定する。
なお、第1の時間T1が経過した時点で、レーザヘッド102の速度が目標速度Vwj,iに達して等速となるのが好ましいが、ロボット101の位置姿勢、目標速度Vwj,i、ロボット101の連続動作による残留偏差等の要因で速度誤差が生じる。よって、様々な条件で測定した中で、速度誤差が最も低くなる値、即ち最も時間がかかった時間を、第1の時間T1に定めるのが好ましい。即ち、第1の時間T1は、レーザヘッド102の加速を開始してから第1の時間T1が経過する時点で、レーザヘッド102の速度が目標速度Vwj,iに対して所定の範囲内に収まるように設定すればよい。第1の時間T1は、各溶接箇所におけるレーザ光の目標速度Vwj,iによって異ならせてもよいが、同じ時間とした方がコントローラ121Bの処理を簡略化できる。更に第1の時間T1は、各レーザヘッド102,102,…,102を加速移動させる場合も同じ時間、つまり共通のカウント時間としている。
図34(a)及び図34(b)は、ロボット101に支持されたレーザヘッド102の目標速度を変更した際の移動プロファイルを示す説明図である。図5と同一の構成要素には同一の参照符号を付与することにする。図34(a)及び図34(b)には、溶接する箇所におけるレーザヘッド102の目標速度を3通りVw1,Vw2,Vw3に変更した場合の例を図示している。なお、図34(a)及び図34(b)には、ロボット101の指令の速度VC、ロボット101の実際の速度VRを図示している。図34(a)においては、異なる目標速度Vw1,Vw2,Vw3となっても、ロボット101の加速度を一定としている。そのため、ロボット101の加速時間は、目標速度Vw1,Vw2,Vw3に応じて変化する。図34(b)においては、異なる目標速度Vw1,Vw2,Vw3となっても、ロボット101の加速時間を一定としている。そのため、ロボット101の加速度は変化している。図34(a)及び図34(b)のいずれにおいても、第1の時間T1を十分な時間で設定すれば、指令の速度VCと実際の速度VRがおおよそ一致する。従って、第1の時間T1が経過した直後にはロボット101が等速領域に達したことを保証することができるようになる。即ち、第1の時間T1を経過した時刻TP2j,iにおいて等速になっていることが保証されていればよく、時刻TP2j,iより前の時刻においてロボット101が等速になっていてもよい。
なお、図34(a)及び図34(b)では、教示による位置52と教示による位置53とを結ぶ延長線上に位置する位置54j,iと位置55j,iとを、求めるアルゴリズムを変える必要がある。例えば、位置54j,iは、位置52j,iと位置53j,iを結ぶ線分を、位置52j,i側に延伸して求めるが、この延伸量は、図34(a)及び図34(b)における実際の速度VRを時刻TP1j,iから時刻TP2j,iまで積分して距離となる。積分した距離は図34(a)の方式と図34(b)の方式とでは異なるし、目標速度Vw1,Vw2,Vw3が変化しても異なる。従って位置54を求めるアルゴリズムはそれらを考慮する必要がある。位置55を求めるアルゴリズムも同様である。
第2の時間T2j,iはレーザ照射時間であり、以下の式(19)により計算する。ここで、以下の式(19)の演算記号として、第2の時間T2j,iをTw、レーザ光の照射を開始する位置521,i,522,iをPs、レーザ光の照射を終了する位置531,i,532,iをPe、及び目標速度Vwj,iを、Vwとする。第2の時間であるTwを、Ps、Pe及びVwを用いて、溶接箇所ごとに以下の式(19)で計算する。
Figure 0007271098000021
即ち、PsとPeとの距離を、Vwで割り算することで、第2の時間となるTwの値を求める。Ps、Pe、及びVwは、溶接箇所ごとに異なる値とすることができる。したがって、第2の時間T21,i,T22,iとなるTwは、溶接箇所の長さ(領域)に応じた値となる。このように算出されたTwが、第2の時間T21,i,T22,iとして設定される。
教示点である位置521,i,522,iは、位置と姿勢の6自由度の情報で構成されている。具体的には、位置521,i,522,iは、ロボット101のベースに対する位置の情報であるX,Y,Zとレーザヘッド102の保持角度の情報であるA,B,Cを有する。位置531,i,532,iも同様である。したがって、Ps,PeとしてX,Y,Zの位置情報のみを用いて、3次元空間上の距離を求める。
なお、この演算はロボットコントローラ122で演算し、第2の時間となるTwの値をコントローラ121Bに転送してもよい。また、ロボットコントローラ122ではPsとPeとの距離のみを演算し、距離をコントローラ121Bに転送し、残りの演算を行って第2の時間となるTwの値を求めてもよい。どちらを選択するかは、目標速度Vwをロボットコントローラ122で記述(指定)しているか、コントローラ121Bで記述(指定)しているかによって適宜選択できる。
第3の時間T3は、切替器104において切り替え動作に要する時間であり、予め実験を行うことにより求められる。例えば、切替器104の切り替え動作を複数回行って切り替え動作に要した時間を計測し、これら計測値の最大値に余裕を加えた値を、第3の時間T3に設定する。最大値に余裕を加えた値を設定するのは、切り替えを指令してから第3の時間T3が経過したとき確実に切替えが完了している必要があるためである。なお、切替時間のデータが予め存在していれば、その値に余裕を加えた値を第3の時間T3に設定すればよい。以上、実際にロボット101を生産ラインで動作させる前に、第1の時間T1、第2の時間T2j,i、及び第3の時間T3を設定しておく。なお、第1の時間T1は予めコントローラ121Bとロボットコントローラ122の両方に設定しておくのが望ましい。
ところで、レーザシーム溶接を行う溶接箇所においては、位置52j,iをロボット101に指令したタイミングではなく、制御点が実際に位置52j,iを通過する時刻TP2j,iでレーザ光Lを照射する必要がある。同様に、位置53j,iをロボット101に指令したタイミングではなく、制御点が実際に位置53j,iを通過する時刻TP3j,iでレーザ光Lの照射を停止する必要がある。
即ち、等速領域に達した時刻TP2j,iにおいて、ロボット101の位置制御の応答遅れが生じている場合がある。位置制御の応答遅れは、指令の位置と実際の位置の差で表される。位置制御の応答遅れがある場合には、この位置制御の応答遅れを、位置54j,i及び位置55j,iの算出に含める必要がある。
そこでロボットコントローラ122は、レーザヘッド102を加速させる動作を開始してから第1の時間T1が経過した時点で制御点が目標位置に到達するように、移動を開始する位置54j,iと移動を終了する位置55j,iを演算する。ただし、図34(a)の方法を適用した場合と図34(b)の方法を適用した場合とでは、位置54j,i及び位置55j,iの算出する方法が変わる。この演算は軌道データP、Pを生成する直線補間命令を実行する前に求めておく必要がある。例えば、直線補間命令の直前、または、実際にロボット101を生産ラインで動作させる前に行うことができる。なお、演算アルゴリズムはロボットプログラム422に記述することでロボットコントローラ122が演算する。
図35は、第10実施形態におけるレーザ溶接装置100Bによりレーザ加工を行うレーザ加工方法の各工程を示すタイミングチャートである。図6と同一の構成要素には同一の参照符号を付与することにする。図35には、ロボットコントローラ122,122,…,122においてコントローラ121Bに送信させる信号SB,SB,…,SBが図示されている。また、図35には、ロボット101,101,…,101により移動されるレーザヘッドの実際の速度VR,VR,…,VR及び指令の速度VC,VC,…,VCが図示されている。また、図35には、コントローラ121Bにおいて送信されるレーザ発振指令SR1、切替信号SS、動作開始指令SA,SA,…,SAが図示されている。図35中、切替信号SSに付されている数字は、いずれのロボット101(レーザヘッド102)に切り替えるかを示す番号である。切替器104に付されている数字も、いずれのロボット101(レーザヘッド102)に切り替わっているかを示す番号である。切替信号SS及び切替器104に付した番号は、上述したi=1~Nの通し番号である。また、図35中、切替器104において、網掛け部分は、切り替え動作中であることを示す。
なお、前提条件として、1つのロボット101が受け持つ溶接箇所は、自動運転が開始される前に予め決められているものとする。また、各ロボット101、ロボット101、…、ロボット101がどの順番で動作するかも、自動運転が開始する前に予め決められているものとする。つまり、溶接移動の開始を指示するロボットの順番は、コントローラ121Bに予め設定されている。以下、ロボット101、ロボット101、…、ロボット101、ロボット101、ロボット101、…の順番で動作させる場合を例に説明する。即ち、レーザヘッド102、レーザヘッド102、…、レーザヘッド102、レーザヘッド102、レーザヘッド102、…の順番で切替器104によりレーザ光を導く。
また、コントローラ121Bは、主に2つのシーケンスSM1,SM2の管理を行う。具体的に説明すると、1つ目のシーケンスSM1の管理として、コントローラ121Bは、ロボットコントローラ122,122,…,122に対して、レーザヘッド102,102,…,102が溶接箇所に移動を開始するタイミングを指示する。
また、2つ目のシーケンスSM2の管理として、コントローラ121Bは、レーザ発振器103におけるレーザ発振のオンオフのタイミング、及び切替器104の切り替え動作のタイミングを指示する。具体的には、コントローラ121Bは、ロボットコントローラ122からの信号SBの立ち上がりを受信してから第1の時間T1が経過した時点で、レーザ発振指令SR1をオンにする。そして、コントローラ121Bは、第1の時間T1が経過した時点から更に第2の時間T2j,iが経過した時点でレーザ発振指令SR1をオフにする。そして、コントローラ121Bは、レーザ発振指令SR1をオフにした後は、次のレーザ照射に備えて、切替信号SSを変更し、レーザの光路を切り替える。
以上の2つのシーケンスSM1,SM2の管理は、各ロボット101の信号SBがオンしたタイミングに同期して行われる。以下、シーケンスSM1,SM2の管理について詳細に説明する。自動運転が開始されると、コントローラ121Bは、シーケンスSM1として、制御プログラム321に従って動作開始指令SAをオンにする。動作開始指令SAをオンにしたタイミングを、図35中、時刻TP01,1とする。
ロボットコントローラ122は、動作開始指令SAを監視しており、動作開始指令SAがオフからオンに切り替わったのを受信した後、位置551,1を目標位置とする直線補間移動命令が実行する。すると、位置541,1から位置551,1へ向かう軌道データP1,1が、所定の制御周期でロボット101に払い出される。即ち、ロボットコントローラ122は、加工対象物Wに対するレーザヘッド102の移動速度が目標速度Vw1,1となるようにレーザヘッド102を加速させる動作をロボット101に開始させる。これにより、レーザヘッド102、即ち制御点は、位置541,1から位置551,1に向かって移動を開始し、移動速度が一定の目標速度Vw1,1となるように加速し始める。
また、ロボットコントローラ122は、軌道データP1,1の払い出しを開始すると同時に、信号SBをオフからオンに切り替えた信号SBAをコントローラ121Bへ送信する。
信号SBをオフからオンへ切り替えたときの立ち上がりが、同期信号(所定の信号)SBAとなる。即ち、ロボットコントローラ122は、レーザヘッド102を加速させる動作をロボット101に開始させた時点で、信号SBの立ち上がりである同期信号SBAをコントローラ121Bへ送信することになる。このタイミングを時刻TP11,1として図35中に示している。
本実施形態では、信号SBの立ち上がりを同期信号SBAとしている。したがって、次の軌道データP2,1の払い出しを開始する前であって、信号SBが立ち上がってからコントローラ121Bの制御周期以上経過していれば、信号SBはどのタイミングで立ち下がってもよい。また、信号SBを立ち上げることで同期信号SBAとしたが、これに限定するものではなく、信号SBを立ち下げることで同期信号SBAとしてもよい。なお、本実施形態ではロボット101が準備完了状態となったことを示す信号として信号SBをオフしている。準備完了状態とはロボットコントローラ122が軌道データPと軌道データPj+1との間の軌道データPj-(j+1),iの払い出しを完了し、信号SAを待つ準備が整ったことを指す。
コントローラ121Bは、ロボットコントローラ122から送られてくる信号SBを監視しており、信号SBが立ち上がる同期信号SBAを受信した時点で、シーケンスSM2としてレーザヘッド102に対応する第1の時間T1の計時を開始する。第1の時間T1は、例えば200[msec]等、固定の時間である。
第1の時間T1が経過したとき、レーザヘッド102は、溶接を行う目標速度Vw1,1に達して等速状態となっており、また、制御点は、指令された位置521,1(図32)に位置している。よって、コントローラ121Bは、信号SBが立ち上がる同期信号SBAを受信してから第1の時間T1が経過した時点、即ち第1の時間T1の計時が終了した時点(図35中、時刻TP21,1)で、レーザ光を発生するようレーザ発振器103を制御する。具体的には、コントローラ121Bは、第1の時間T1の計時が終了すると同時にレーザ発振指令SR1をオフからオンに切り替える。即ち、コントローラ121Bは、第1の時間T1の計時が終了した時点で、レーザ発振器103にレーザ光を発生させるよう指令する。レーザ発振器103は、レーザ発振指令SR1を監視しており、レーザ発振指令SR1がオフからオンに切り替わったのを受信したとき、レーザ発振を行う。これと同時に、レーザ発振器103は、信号SR2をオフからオンに切り替える。
このように、ロボットコントローラ122は、動作開始指令SAにより加工対象物Wに対するレーザヘッド102の移動速度が一定の目標速度Vwj,iで等速となるようにレーザヘッド102を加速させる動作を、ロボット101に開始させる。一方、コントローラ121Bは、レーザヘッド102の加速開始から第1の時間T1が経過した時点で、レーザ光を発生するようレーザ発振器103を制御する。コントローラ121Bは、ロボットコントローラ122の制御によるレーザヘッド102の加速開始を、同期信号SBAを受信することで検知する。
コントローラ121Bは、第1の時間T1の計時が終了した時点で第2の時間T21,1の計時を開始する。ロボットコントローラ122は、レーザヘッド102にて加工対象物Wにレーザ光Lを照射している間、レーザヘッド102の移動速度が目標速度Vw1,1を維持するようにロボット101を動作させる。コントローラ121Bは、第1の時間T1が経過してから更に第2の時間T21,1が経過した時点、即ち第2の時間T21,1の計時が終了した時点(図35中、時刻TP31,1)で、レーザ光の発生を停止するようレーザ発振器103を制御する。
具体的には、コントローラ121Bは、第2の時間T21,1の計時が終了すると同時にレーザ発振指令SR1をオンからオフに切り替える。即ち、コントローラ121Bは、第2の時間T21,1の計時が終了した時点で、レーザ発振器103にレーザ光を停止させるよう指令する。レーザ発振器103は、レーザ発振指令SR1がオンからオフに切り替わったのを受信したとき、レーザ発振を停止する。
また、コントローラ121Bは、レーザ発振指令SR1をオフにしたのと同じタイミングで、切替信号SSを変更し、1番目のレーザヘッド102から2番目のレーザヘッド102にレーザ光が導かれるように切替器104に指示を出す。
切替器104は、切替信号SSを監視しており、切替信号SSの指示に従い、ミラー114~114を動作させて光路を変更する切り替え動作を実施する。この切り替え動作には、第3の時間T3がかかり、切り替え動作が完了した時点を図35中、時刻TP41,1で示す。この切り替え動作により、次のレーザヘッド102からレーザ光Lを出射することができる状態となる。
ここで、切替器104において、レーザ光を導く対象をレーザヘッド102からレーザヘッド102へ切り替えるが、切り替え動作の後に次のロボット101の動作を開始したのでは、レーザ発振器103の稼働率、即ち加工品の生産効率が低い。
そこで制御装置120Bは、レーザヘッド102において加工対象物Wに対するレーザ光Lの照射が終了する前にレーザヘッド102の移動速度が目標速度Vw1,2となるようレーザヘッド102を加速させる動作を、ロボット101に開始させる。レーザヘッド102において加工対象物Wに対するレーザ光Lの照射が終了する前とは、照射開始より前の場合も含む。これにより、レーザ発振器103の稼働率、即ち加工品の生産効率が向上する。
以下、コントローラ121Bが次のロボットコントローラ122に送信する動作開始指令SAをオンにするタイミング、即ちコントローラ121BにおけるシーケンスSM1の管理について詳細に説明する。
本実施形態では、各レーザヘッド102を加速移動させる度にカウントされる第1の時間T1は、例えば200[msec]等、同じ時間(固定値)である。コントローラ121Bは、レーザヘッド102によりレーザ光を照射する第2の時間T21,1が経過した時点から更に切替器104において切り替え動作に要する第3の時間T3が経過した時点以降に、次のレーザヘッド102にレーザ光を照射させる。よって、次のロボットコントローラ122に動作開始指令SAを送信するタイミングを、レーザヘッド102の加速を開始してから、第2の時間T21,1と第3の時間T3との合計時間(T21,1+T3)が経過した時点以降とするのが好ましい。なお、レーザヘッド102の加速の開始は、コントローラ121Bにおいて同期信号SBAで検知される。また、第2の時間T21,1は、レーザヘッド102において1箇所目の溶接箇所にレーザ光を照射する時間である。
本実施形態では、コントローラ121Bは、シーケンスSM1として、ロボットコントローラ122から同期信号SBAを受信した時点で、第2の時間T21,1と第3の時間T3との合計時間(T21,1+T3)の計時を開始する。この計時を開始するタイミングは、シーケンスSM2においてレーザヘッド102を加速させる第1の時間T1の計時を開始するタイミングと同時である。
コントローラ121Bは、合計時間(T21,1+T3)の計時が完了すると、次に動作させるロボット101が準備完了状態か確認する。本実施形態では信号SBがオフであれば準備完了状態である。コントローラ121Bは信号SBがオフでない場合はオフになるまで待機する。信号SBがオフであれば、次に動作させるロボット101を制御するロボットコントローラ122に送信する動作開始指令SAをオンにする。動作開始指令SAをオンにしたタイミングを、図35中、時刻TP01,2とする。
ロボットコントローラ122は、動作開始指令SAを監視しており、動作開始指令SAがオフからオンに切り替わると、軌道データP1,2を、所定の制御周期でロボット101に指令する。即ち、ロボットコントローラ122は、加工対象物Wに対するレーザヘッド102の移動速度が目標速度Vw1,2となるようにレーザヘッド102を加速させる動作をロボット101に開始させる。これにより、レーザヘッド102、即ち制御点は、移動を開始し、移動速度が一定の目標速度Vw1,2となるように加速し始める。
また、ロボットコントローラ122は、軌道データP1,2の払い出しを開始すると同時に、信号SBをオフからオンに切り替えた同期信号SBAを送信する。即ち、ロボットコントローラ122は、レーザヘッド102を加速させる動作をロボット101に開始させた時点で、信号SBの立ち上がりである同期信号SBAをコントローラ121Bへ送信する。このタイミングを時刻TP11,2として図35中に示している。
コントローラ121Bは、ロボットコントローラ122から送られてくる信号SBを監視しており、信号SBが立ち上がる同期信号SBAを受信した時点で、レーザヘッド102を加速させる第1の時間T1の計時を開始する。同時に、コントローラ121Bは、第2の時間T21,2と第3の時間T3との合計時間(T21,2+T3)の計時を開始する。コントローラ121Bは、合計時間(T21,2+T3)の計時が完了すると、コントローラ121Bはロボット101の準備完了状態を確認する。ロボット101が準備完了状態であれば、更に次の動作開始指令SAをオンにする。同様の処理を、ロボット101,…,101,101,…で繰り返す。このように、コントローラ121Bは、シーケンスSM1として、各ロボット101の動作のタイミングを同期信号SBAで管理している。
一方、コントローラ121Bは、信号SBが立ち上がる同期信号SBAを受信した時点で、レーザヘッド102に対する第1の時間T1、又は第2の時間T21,1を計時中である。図35の例では、コントローラ121Bは、第1の時間T1を計時中である。コントローラ121Bは、同期信号SBAを受信した時点で、レーザヘッド102に対する第1の時間T1の計時と並行して、シーケンスSM2として、レーザヘッド102に対する第1の時間T1の計時を開始する。コントローラ121Bは、レーザヘッド102に対する第1の時間T1が経過した時点、即ち第1の時間T1の計時が終了した時点(図35中、時刻TP21,2)で、レーザ発振指令SR1をオンにする。コントローラ121Bは、第1の時間T1の計時が終了した時点から第2の時間T21,2の計時を開始する。コントローラ121Bは、第2の時間T21,2の計時が終了した時点(図35中、時刻TP31,2)で、レーザ発振指令SR1をオフにする。
コントローラ121Bは、レーザ発振指令SR1をオフにしたのと同じタイミングで、切替信号SSを変更し、2番目のレーザヘッド102から3番目のレーザヘッド102にレーザ光が導かれるように切替器104に指示を出す。切替器104は、切替信号SSの指示に従って切り替え動作を行う。この切り替え動作には、第3の時間T3がかかり、切り替え動作が完了した時点を図35中、時刻TP41,2で示す。同様の処理を、N番目のレーザヘッド102によりレーザ溶接加工が終えるまで繰り返す。
レーザヘッド102~102において、それぞれ1箇所目の溶接箇所のレーザ溶接加工が終了したら、2箇所目以降の溶接箇所についても同様のシーケンスSM1,SM2を行う。
以上、コントローラ121Bは、シーケンスSM1とシーケンスSM2とを独立して行う。また、シーケンスSM1の動作とシーケンスSM2の動作は、同期信号SBAにより同期をとっており、それ以外では同期を行っていない。即ち、コントローラ121Bは、同期信号SBAを受信した時点からの経過時間によって各シーケンスSM1,SM2を行う。このように、同期信号SBAでシーケンスSM1,SM2を管理することで、管理が複雑とならず、安定してシーケンスSM1,SM2を実行することができる。
本実施形態によれば、シーケンスSM1,SM2により、溶接の完了を待つことなく、次々とロボット101を動作させるため、時間のロスを低減して、レーザ発振器103の稼働率、ひいては加工品の生産効率を向上させることができる。
また、本実施形態では、コントローラ121Bが同期信号SBAを受信する度にカウントする第1の時間T1を、同一の時間としているので、処理が簡略化される。即ち、コントローラ121Bがレーザヘッド102を溶接箇所に移動させるためのロボット101の動作開始のタイミングを指示する動作においては、第1の時間T1を使用せず、第2の時間T2j,iと第3の時間T3のみによって指示することができる。
図35ではロボット101側の処理が短く待機が必要ない場合のタイミングチャートを用いて説明した。しかし、コントローラ121Bが合計時間(T2+T3)の計時を完了し、動作開始指令SAをオンする処理を、ロボット101,…,101,101,…に対して次々へ行うと、ロボットの移動が完了しない場合が発生することがある。その例を図36に示す。
図36は、第10実施形態におけるレーザ溶接装置によりレーザ加工を行うレーザ加工方法の各工程を示すタイミングチャートである。図6と同一の構成要素には同一の参照符号を付与することにする。図36においては、ロボット101が準備完了状態になるタイミングよりも、コントローラ121Bが合計時間(T21,N+T3)の計時を完了するタイミングの方が早い。図36中、コントローラ121Bは合計時間(T21,N+T3)の計時を完了しているが、計時を完了したタイミングではロボットコントローラ122は軌道データP1-2,1の払い出しを行っているところである。ロボットコントローラ122は、軌道データP1-2の払い出しが完了すると、準備完了状態となり、準備完了をコントローラ121Bに通知するために信号SBをオフする。一方、コントローラ121Bは合計時間(T21,N+T3)の計時が完了すると、信号SBがオフであることを確認する。コントローラ121Bは信号SBがオフでない場合はオフになるまで待機する。信号SBがオフになると、コントローラ121Bは動作開始指令SAをオンする。なお、動作開始指令SAをオンしたタイミングを時刻TP02,1で示す。以降の処理は図35と同じである。
なお、ロボット101が準備完了になることを待つ、すなわち信号SBがオフになることを待つ場合、レーザ発振器103の稼働率が低下するもののシーケンスが破綻することはない。コントローラ121Bがロボット101の準備完了を待つとシーケンスSM2の起動が遅れる。すると、切替器104がレーザヘッド102にレーザ光を導くために光路を切り替えた後の、シーケンスSM2による次のレーザ発振が遅れるため、レーザ発振のタイミングが遅くなる。ゆえに、シーケンスSM2の起動が遅れた分レーザ発振の機会を損なう。コントローラ121Bがロボット101の準備完了を待ち実際に待ち時間が発生すると、レーザ発振器103および切替器104が稼働できないが、これはシーケンスを成立させるために必要な処理である。なお、図35と図36における、TP02,1からTP12,1までの時間が長くなっても、レーザ発振器103の稼働率が低下するだけでシーケンスが破綻することはない。TP02,1からTP12,1までの時間はロボットコントローラ122に負荷がかかると長くなる場合があるが、その場合もシーケンスSM2の起動が遅れるだけとなる。ゆえに前述のとおり、シーケンスSM2の起動が遅れた分レーザ発振の機会を損なうだけである。
レーザ発振器103および切替器104の待機時間について説明する。ロボット101を制御するロボットコントローラ122は、コントローラ121Bからの動作開始指令SAを受信すると、軌道データPの払い出しを開始する。ロボットコントローラ122は、計時を行っていないが、コントローラ121Bが第1の時間T1と第2の時間T2j,iの計時を完了したところで、軌道データPの払い出しが完了する。次に、ロボットコントローラ122は軌道データPj-(j+1)の払い出しを開始する。この軌道データPj-(j+1)の払い出しを行っている時間を、粗動時間T4j,iと定義する。また、レーザ発振器103および切替器104の待機時間をT5と定義する。待機時間T5はロボットの動作完了を、レーザ発振器103および切替器104が待つ時間である。ロボット101が溶接箇所におけるレーザ光の照射を終了する位置53j,iから、次の溶接箇所におけるレーザ光の照射を開始する位置52j,iへ移動する時間について説明する。この時間は、第2の時間T2j,iの計時完了から第2の時間T2j+1,iの計時開始までの時間である。この時間をロボット101の非溶接時間T6と定義する。
図37(a)及び図37(b)は、第10実施形態における、ロボット101、レーザ発振器103、切替器104の動作時間の一例を示した図である。図37(a)には、待機時間T5が発生している例、図37(b)には、待機時間T5が発生していない例を図示している。
図37(a)及び図37(b)には、ロボット101による4か所目の溶接箇所から5か所目の溶接箇所へ制御点の移動中に、ロボット101、ロボット101、及びロボット101が、それぞれ4か所目の溶接箇所への溶接を行う場合を例示している。非溶接時間T6の間にレーザ発振器103が稼働している時間は、ロボット101、ロボット101及びロボット101が、それぞれ4か所目の溶接箇所への溶接を行う時間の合計時間(T24,2+T24,3+T24,4)となる。非溶接時間T6の間に切替器104が稼働している時間は、ロボット101からロボット101、ロボット101、及びロボット101に切り替えて、再びロボット101に切り替えるので、4回切り替えを行う時間(4×T3)となる。すなわち、図37(a)に示すように、5か所目の溶接箇所に溶接するまでの待機時間T5は、[{(T44,1+T1)-{(4×T3)+(T24,2+T24,3+T24,4)}]である。図37(a)に示すように待機時間T5が発生すると、レーザ発振器103および切替器104が稼働できない。
図37(b)には、図37(a)と同様に、ロボット101の4か所目から5か所目の溶接箇所への移動中に、ロボット101、ロボット101及びロボット101が、それぞれ4か所目の溶接箇所へ溶接を行う場合を例示している。ただし、ロボット101の粗動時間T4中と非溶接時間T6中においてレーザ発振器103が稼働している時間(T24,2+T24,3+T24,4)は、図37(a)と異なる。図37(b)においては、非溶接時間T6の期間は、第2の時間T2と第3の時間T3、の処理が間断なく実行される。このため、空き時間が発生せず、待機時間T5が発生していない。ただし、軌道データP4-5の払い出しを完了すると信号SBをオフし、動作開始指令SAを受信するまでロボット101を待機させている。レーザ発振器103は高価であるので、レーザ発振器103の稼働率が高くなるよう調整するのが望ましい。
一般化すると式(20)で表せる。ここで、式(20)の演算記号として、集合Aを定義する。集合Aは非溶接時間T6j,iの間に動作するロボット101の番号の集合である。例えば図37(a)及び図37(b)においてAは、2,3,4という数字となる。また、count(A)は、集合要素の個数を数える関数である。図37(a)及び図37(b)の場合、集合Aは2,3,4であるため、要素の数は3となり、count(A)=3となる。ΣT2j,kは、要素の数の分だけ加算する数式であり、図37(a)及び図37(b)では(T24,2+T24,3+T24,4)となる。
Figure 0007271098000022
式(20)において、(T4j,i+T1)は、ロボット101の制御点がj箇所目から(j+1)箇所目の溶接箇所への移動に必要な時間である。式(20)におけるTtempj,iの値が正の場合は、計算値分の待機時間T5が発生する。式(20)におけるTtempj,iの値が負又は0の場合は、待機時間T5が発生しない。つまり、粗動時間T4j,iを削減するか、非溶接時間T6j,i中に行う第2の時間T2j,iの合計時間又は第3の時間T3の合計時間を増加させることで、待機時間T5を削減できる。
待機時間T5を削減するために、各ロボット101が受け持つ溶接箇所を工夫する方法がある。加工対象物Wの溶接箇所の一部を複数のロボット101で溶接できる位置にそれぞれのロボット101を配置する。そして、待機時間T5が少なくなるように、それぞれのロボット101が溶接する溶接箇所を決定する。この方法で待機時間T5を削減するよう、複数のロボット101の溶接箇所を決定する具体例について説明する。
図37(a)に示すように、ロボット101を4か所目の溶接箇所から5か所目の溶接箇所へ動作させているものとする。このとき、ロボット101、ロボット101、及びロボット101が、それぞれ4か所目の溶接箇所へ溶接を行うものとする。この場合、待機時間T5は、[{(T44,1+T1)-{(4×T3)+(T24,2+T24,3+T24,4)}]である。
また、ロボット101を4か所目の溶接箇所から5か所目の溶接箇所へ動作させているものとする。このとき、ロボット101及びロボット101がそれぞれ4か所目の溶接箇所への溶接を行うものとし、ロボット101は溶接を行わないものとする。この場合、待機時間T5は、[{(T44,1+T1)-{(3×T3)+(T24,2+T24,3)}]である。
ロボット101を4か所目の溶接箇所から5か所目の溶接箇所へ動作させている最中に、他の3台のロボット101が溶接する例と、他の2台のロボット101が溶接する例について、待機時間T5を比較する。他の2台のロボット101が溶接する場合の方が、待機時間T5が時間(T3+T24,4)だけ長くなる。すなわち、ロボット101の非溶接時間T6中に、溶接を行う他のロボット101の台数が多いほど、待機時間T5を削減できる。
なお、この例では待機時間T5がいずれも正の場合を示している。待機時間T5が0となると、更にロボットを増やしても待機時間は0のままである。
次に、図30に示す加工対象物Wが直方体形状であり、加工対象物Wの4つの側面と天面に、それぞれ溶接箇所があるものとし、加工対象物Wのまわりに4台のロボット101が配置されているものとする。図38は、第10実施形態においてロボットの台数を4台とした場合を示す模式図である。図38において、加工対象物Wは、側面W,W,W,Wと、天面Wと、を有する。4台のロボット101,101,101,101は、加工対象物Wの上方の位置から下方を見て、対角線上に配置されており、それぞれレーザヘッド102,102,102,102を支持している。ロボット101で支持しているレーザヘッド102は、ロボット101が動作することにより側面W,Wと天面Wそれぞれにある溶接箇所を溶接可能である。ロボット101で支持しているレーザヘッド102は、ロボット101が動作することにより側面W,Wと天面Wそれぞれにある溶接箇所を溶接可能である。ロボット101で支持しているレーザヘッド102は、ロボット101が動作することにより側面W,Wと天面Wそれぞれにある溶接箇所を溶接可能である。ロボット101で支持しているレーザヘッド102は、ロボット101が動作することにより側面W,Wと天面Wそれぞれにある溶接箇所を溶接可能である。側面W上には、51点の溶接箇所があるものとする。側面W上には、50点の溶接箇所があるものとする。側面W上には、51点の溶接箇所があるものとする。側面W上には、47点の溶接箇所があるものとする。天面W上には、4点の溶接箇所があるものとする。
4台のロボット101,101,101,101がそれぞれ溶接する溶接箇所の数に差があるほど、非溶接時間T6中に溶接を行う他のロボット101の台数が少なくなり、待機時間T5が長くなる。そこで、4台のロボット101,101,101,101が溶接する溶接箇所の数の差が最小となるように、加工対象物Wの溶接箇所を分担する。図38の例では、4台のロボット101,101,101,101の動作エリアが互いに重ならないように、側面W,W,W,W及び天面Wの中から、各ロボット101が溶接を担当する面を決める。例えばロボット101は、側面Wを担当し、側面W上の51点の溶接箇所を溶接する。ロボット101は、側面Wを担当し、側面W上の50点の溶接箇所を溶接する。ロボット101は、側面Wを担当し、側面W上の51点の溶接箇所を溶接する。ロボット101は、側面Wと天面Wとを担当し、側面W上の47点と天面W上の4点の合計51点の溶接箇所を溶接する。これにより、4台のロボット101,101,101,101が溶接する溶接箇所数の差が最小となるので、待機時間T5を削減することができる。
このように、加工対象物W上の複数の溶接箇所のうちの一部を、2台以上のロボット101が溶接できるようにそれぞれのロボット101を配置することで、各ロボット101が担当する溶接箇所の数の差を少なくすることができる。これにより、非溶接時間T6中に溶接を行う他のロボット101の台数を多くすることができるので、待機時間T5を削減することができる。
また、上述の例のように、加工対象物Wが直方体形状のような多面体である場合には、ロボット101の作業を側面、天面毎に分担するという簡単な対策で、各ロボット101が干渉するのを容易に防止することができる。
ここで、図38の例では、4台のロボット101の動作エリア同士が重ならないように、各ロボット101が担当する加工対象物Wの面、即ち溶接箇所を決める場合について説明したが、これに限定するものではない。ロボット101同士の動作エリアが重なっても、ロボット101同士が干渉しないように、複数の溶接箇所を複数のロボットで分担してもよい。
図39は、第10実施形態においてロボットの台数を3台とした場合を示す模式図である。図39の加工対象物Wは、図38と同様のものである。3台のロボット101,101,101は、図38と同様の配置である。図39においては、図38に示すロボット101を除いている。上述したように、加工対象物W上の溶接箇所は、側面W上に51点、側面W上に50点、側面W上に51点、側面W上に47点、天面W上に4点あるものとする。ロボット101,101,101同士が干渉せず、かつロボット101,101,101の動作エリアが重なるように各ロボット101,101,101が担当する溶接箇所を決める。
ロボット101は、側面Wの全点である51点と側面Wの17点の合計68点の溶接箇所を担当する。ロボット101は、側面Wの33点と側面Wの35点の合計68点の溶接箇所を担当する。ロボット101は、側面Wの16点と側面Wの全点である47点と天面Wの全点である4点の合計67点の溶接箇所を担当する。即ち、2台のロボット101、101が側面Wを担当し、2台のロボット101、101が側面Wを担当する。
2台のロボット101の干渉を回避するように、同時に同一の側面W,Wを溶接しないように溶接順を決める。例えば、ロボット101は側面Wから溶接を開始し、側面Wが終了したら側面Wを溶接するようにする。ロボット101は側面Wから溶接を開始し、側面W内の担当する33点の溶接箇所の溶接が終了したら側面Wを溶接するようにする。ロボット101は側面Wから溶接を開始し、側面W内の担当する16点の溶接箇所の溶接が終了したら側面Wを溶接し、最後に天面Wを溶接するようにする。ロボット101,101,101それぞれが最初に溶接する側面W,W,W内の担当する溶接箇所の数に差をつけている。即ち、ロボット101は側面Wの51点の溶接箇所の溶接を行い、ロボット101は側面W内の一部である33点の溶接箇所の溶接を行い、ロボット101は側面W内の一部である16点の溶接箇所の溶接を行う。このため、ロボット101が側面W内の一部である33点の溶接箇所を溶接完了して側面Wに移動する前に、ロボット101が側面W内の一部である16点の溶接箇所を溶接完了でき、側面Wに移動できる。また、ロボット101が側面Wの全点である51点の溶接箇所を溶接完了して側面Wに移動する前に、ロボット101が側面W内の一部である33点の溶接箇所を溶接完了でき、側面Wに移動できる。このように、各ロボット101の動作エリアが重なっても、ロボット101の溶接順を考慮することで、ロボット101同士の干渉を回避することができる。
ここで、上述したように、ロボット101の台数Nが多いほど、非溶接時間T6j,i中に第2の時間T2j,iの合計時間、及び第3の時間T3の合計時間を増やすことができ、待機時間T5を削減することができる。N台のロボット101においては、ロボット101の非溶接時間T6j,i中に、最大で残りの(N-1)台のロボット101が溶接を行うことができる。そこで、時間(T4j,i+T1)よりも、(N-1)台分の第2の時間T2j,iとN台分の第3の時間T3との合計時間が長くなるように、台数Nを決めることで、待機時間T5を短縮することができる。
ロボット101の台数Nが増加するほど、レーザ発振器103の稼働率が高まり、加工品の生産効率が向上する。一方、ロボット101の台数Nが少ないほど、装置サイズ、及び装置コストを低減できる。よって、これらを考慮して、ロボットの台数Nを決めればよい。また、レーザ発振器103の稼働率を高めるには、ロボット101が受け持つ溶接箇所の溶接順番を工夫したり、複数のロボットの動作順番を工夫したりすればよい。これらの順番を工夫することで、待機時間T5を短くできれば、レーザ発振器103の稼働率が高まるので、加工品の生産効率が向上する。
なお、同期信号SBAによってレーザ発振のタイミングは管理しているため、TP02,1からTP12,1までの時間が変動しても、溶接ビードの長さのばらつきは変動せず、溶接強度の変動も発生しない。従って安定して溶接を行うことができる。
また、コントローラ121Bは、ロボットコントローラ122から送信される同期信号SBAを受信する度に、第1の時間T1として同じ時間が経過した時点で、レーザ光を発生するようレーザ発振器103を制御する。即ち、第1の時間T1として、各溶接箇所に対して個別の時間としているのではなく、共通の時間としている。したがって、コントローラ121Bは、ロボットコントローラ122がいずれの軌道データPj,iの指令を開始したのかを認識することなく、同期信号SBAを受信する度に、第1の時間T1として同じ時間をカウントすることになり、処理が簡略化される。
また、第1の時間T1が経過した時点でレーザヘッド102が目標速度Vwj,iに達しており、この目標速度Vwj,iに達した等速状態でレーザ光を加工対象物Wに照射する。即ち、レーザヘッド102を、加工対象物Wに対して等速で移動させることにより、レーザ光Lの焦点を加工対象物Wの表面に沿って等速で移動させることができる。よって、加工対象物Wにおいてレーザ光Lの焦点の移動方向に沿って入熱量が均一化され、加工対象物Wにレーザ光Lの焦点の移動方向に沿って均一な溶接ビードを形成することができる。これにより、高精度なレーザシーム溶接を実現することができる。
ここで、ロボットコントローラ122における制御周期は、ロボット101の動作を制御するのに適した値、例えば数ミリ秒に設定されている。本実施形態では、コントローラ121Bは、ロボットコントローラ122の制御周期よりも短い制御周期でレーザ発振器103におけるレーザ発振のオンオフ、及び切替器104の切り替え動作を制御している。即ち、本実施形態では、コントローラ121Bにおいてレーザ発振器103及び切替器104を制御する制御周期は、ロボットコントローラ122においてロボット101を制御する制御周期よりも短い。よって、コントローラ121Bは、ロボットコントローラ122よりも、第1の時間T1、第2の時間T2j,i及び第3の時間T3を正確に管理することができる。即ち、コントローラ121Bは、レーザ発振器103及び切替器104を短い制御周期で制御することができるので、レーザ発振器103を発停するタイミング、及び切替器104の切り替えのタイミングを正確に管理することができる。その結果、溶接ビードの長さのばらつきが低減でき、溶接強度のばらつきが低減される。
また、本実施形態によれば、ロボットコントローラ122が軌道データPj,iの始点を指令するタイミングと、コントローラ121Bにおいて第1の時間T1の計時を開始するタイミングとが同期信号SBAで同期するようにしている。ロボットコントローラ122が軌道データPj,iの始点を指令するタイミングとは、軌道データPの払い出しを開始するタイミングである。即ち、ロボットコントローラ122においてロボット101の動作と同期させた同期信号SBAを発生させ、コントローラ121Bにおいて同期信号SBAと同期した時刻からの経過時間によって、レーザ光の照射のオンオフを管理している。したがって、コントローラ121B及びロボットコントローラ122は、複雑な演算処理等を行うことなく、ロボット101の動作とレーザ発振器103のレーザ発振のオンオフを同期させている。よって、ロボット101の動作とレーザ発振のタイミングのずれを低減することができる。これにより、レーザ光の照射を開始する目標の位置に対する実際の位置の誤差が低減される。また、ロボット101の動作中に複雑な演算処理を行ってレーザ発振を制御する必要がないので、レーザ加工の精度を確保しながら、ロボット101の動作を高速化することができ、加工品の生産効率を向上させることができる。
また、ロボットコントローラ122の制御周期は、コントローラ121Bの制御周期よりも長い。このため、ロボットコントローラ122において動作開始指令SAを認識するタイミングにばらつきが生じる。本実施形態では、コントローラ121Bは、動作開始指令SAを送信したタイミングではなく、同期信号SBAを受信したタイミングで、レーザ発振を行う第1の時間T1の計時を開始する。したがって、ロボット101の動作とレーザ発振器103におけるレーザ発振のタイミングのずれを低減できる。
なお、ロボットコントローラ122が、準備が完了したことを示す不図示の準備完了信号をオンするように構成してもよい。この場合、コントローラ121Bはその準備完了信号のオンを確認してから、動作開始指令SAをオンすればよい。この場合、時刻TP02,1以降の時刻が遅れることになる。
また、動作開始指令SAをオンするタイミングを求める演算処理は複雑になるが、第1の時間T1を一定のカウント値とせず、ロボット101に対応して異なるカウント値としてもよい。例えば、第2の時間T2j,iと第3の時間T3とを加算した値に対して、第1の時間T1の変動分を加算したり減算したりすればよい。この演算は、最後の溶接箇所のレーザ照射タイミングから最初の溶接箇所へと、遡ってタイミングを決定して行くと、求めることができる。コントローラ121Bにこの演算を行わせる場合、コントローラ121Bは、すべての溶接箇所とロボットの順番の情報を取得する必要がある。
また、本実施形態では、ロボット101からロボット101のどのロボットにどの順番で動作開始指令SAを送るかを予め定めておいている。しかし、ロボットコントローラ122が同期信号SBAとともに第2の時間T2j,iをコントローラ121Bに送ることで、準備完了状態となったロボット101に対して動作開始指令SAを送る構成にすることもできる。コントローラ121Bで管理するシーケンスSM1とシーケンスSM2で計時に使用する時間は第1の時間T1、第2の時間T2j,i、第3の時間T3である。そのうち、第1の時間T1と第3の時間T3は固定の時間であるため予めコントローラ121Bに記憶させておくことができる。第2の時間T2j,iは溶接箇所ごとに異なる値となるため、ロボットコントローラ122が送る同期信号SBAとともに、ロボットコントローラ122からコントローラ121Bに送ればよい。送信された第2の時間T2j,iは同期信号SBAで起動されるシーケンスSM1とシーケンスSM2で使われる。この方式を使用すれば、どのロボットにどの順番で動作開始指令SAを送るかを予め定める必要がなくロボット装置110の独立性を高めることができる。
なお、上述の第10実施形態において、ロボット101が直線補間命令に従って動作している途中に、異常が発生する場合がある。ロボットコントローラ122は、コントローラ121Bに対して、ロボット101の状態を示す信号を周期的に送信すればよい。コントローラ121Bは、ロボット101が異常状態であることを示す信号を受信した場合、レーザ光を発振しないようにレーザ発振器103を制御すればよい。
また、上述の第10実施形態において、ロボットコントローラ122が、コントローラ121Bに対してレーザ発振を許可する許可信号を送るようにしてもよい。例えば、ロボットコントローラ122が、直線補間命令によって軌道データPの払い出しを実行中であるときに、許可信号をオンする。コントローラ121Bは、許可信号とレーザ発振指令とをAND演算し、演算結果をレーザ発振器103に送信するようにしてもよい。これにより、ロボットコントローラ122が許可信号をオンしなければ、レーザ光は発振されないようになる。このAND演算はコントローラ121Bが行うが、別の電子回路で処理してもよい。
また、上述の第10実施形態において、ロボット101は、レーザ光が人間に暴露しないように、遮光されたブース内(図示せず)に設置されているのが好ましい。人がブースへ入室するための扉を開くと、レーザ発振器103のレーザ発振が停止するようになっている。また、光ファイバケーブル151がレーザヘッド102及び切替器104と正しく接続されていない場合には、光ファイバケーブル151内の導線が接続されず、レーザ発振器103のレーザ発振が停止するようになっている。また、光ファイバケーブル152がレーザ発振器103及び切替器104と正しく接続されていない場合には、光ファイバケーブル152内の導線が接続されず、レーザ発振器103のレーザ発振が停止するようになっている。また、光ファイバケーブル151,152に一定以上の曲げが加わると内部の導線が切れ、レーザ発振器103のレーザ発振が停止するようになっている。また、セーフティレーザスキャナやセーフティライトカーテンなどで人間を感知して、レーザ発振器103のレーザ発振を停止するようにすることも可能である。また、ロボットコントローラ122やコントローラ121Bがなんらかの原因によって応答しなくなった場合に備えて、外部のハードウェアによって監視してレーザ発振を停止することも可能である。例えば、ロボットコントローラ122やコントローラ121Bから一定周期ごとにオン/オフする信号を出力し、出力された信号が一定時間変化しなければレーザ発振を止めればよい。
また、上述の第10実施形態では、制御装置120Bが、コントローラ121Bとロボットコントローラ122,122,…,122とで構成される場合について説明したが、これに限定するものではない。コントローラ121Bとロボットコントローラ122,122,…,122との機能を併せ持つことが可能であれば、制御装置を1つのコンピュータで実現してもよい。例えば、複数のプロセッサ、又はプロセッサが有する複数のコアにより並列処理が可能であれば、制御装置を1つのコンピュータで実現することは可能である。
また、上述の第10実施形態では、ロボット101,101,…,101が、垂直多関節のロボットの場合について説明したが、これに限定するものではない。ロボットが、例えば水平多関節のロボット、パラレルリンクのロボット、又は直交ロボット等のロボットであってもよい。また、各ロボット101,101,…,101が異なる構成であってもよい。
また、上述の第10実施形態では、レーザ加工装置がレーザ溶接加工を行う場合について説明したが、これに限定するものではなく、例えばレーザ溝あけ加工又はレーザ切断加工を行う場合であってもよい。
[第11実施形態]
次に、第1~第10実施形態のいずれかのレーザ加工装置を用いたレーザ加工方法により製造する画像形成装置の製造方法について説明する。図40は、第10実施形態に係る画像形成装置の斜視図である。第10実施形態では、第1~第10実施形態のいずれかのレーザ加工装置を用いて、画像形成装置800の構成要素の1つである枠体(フレーム)の溶接を行い、画像形成装置800を製造する。
図40に示す画像形成装置800は、例えば、電子写真方式を採用するフルカラープリンタである。画像形成装置800は、オプションの給紙モジュール850の上面(載置面)に載置可能である。画像形成装置800は、2段の給紙カセット801A,801Bを有する。給紙モジュール850は、2段の給紙カセット851A,851Bを有する。各給紙カセットには、サイズや坪量の異なる記録材(用紙、OHPシートなどのシート材)が収納可能である。画像形成装置800の操作部802や、画像形成装置800に接続されたパーソナルコンピュータなどの外部端末から、画像形成する記録材を選択することが可能である。なお、以下の説明では、ユーザが画像形成装置800を操作する側を前側、画像形成装置800の背面側を後側とし、左右については、画像形成装置を前側から見た場合とする。
画像形成装置800内では、記録材が搬送され、記録材に画像が形成される。このため、画像形成装置800の枠体(フレーム)が歪むと画像不良や動作不良が生じる場合がある。したがって、画像形成装置800の枠体が歪むのを抑制することが、画像不良や動作不良などを抑制する上で重要となる。
図41は、第11実施形態における加工対象物である枠体900の一部を示す斜視図である。第11実施形態では、レーザ加工により、枠体900を構成する部材同士を溶接により締結する場合について説明する。
まず、枠体900となる支柱904及びステイ701を用意する。支柱904は、上下方向に平行で互いに直交する第1の側壁904A及び第2の側壁904Bを有する。ステイ701は、その端部が第1の側壁904A及び第2の側壁904Bに当接するように配置される。第1の側壁904Aは、前後方向に平行に配置され、第2の側壁904Bは、左右方向に平行に配置される。このため、ステイ701は、第1の側壁904A及び第2の側壁904Bにより前後方向及び左右方向に位置決めされた状態で上下方向に移動可能に配置される。
ステイ701の上下方向の位置調整を行った後、溶接箇所941,942,943,944を、レーザシーム溶接する。ステイ701と支柱904とをレーザ溶接により固定することで、枠体900を製造する。
このように、画像形成装置800の枠体900には、多くの溶接箇所が存在する。第1から第10実施形態のレーザ加工装置を用いたレーザ加工方法により、効率よく短時間で高精度に溶接を行うことが可能となる。これにより、枠体900が歪むのを抑制することができ、シートに形成される画像の不良や画像形成装置800の動作不良を抑制することができる。
本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されない。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。即ち、上述の実施形態では、コントローラが、汎用コンピュータである場合について説明したが、これに限定するものではない。コントローラが、例えばマイクロコンピュータやデジタルシグナルプロセッサであってもよい。
100…レーザ溶接装置(レーザ加工装置)、101…ロボット、102…レーザヘッド、103…レーザ発振器(光源)、120…制御装置、121…コントローラ(第1のコントローラ)、122…ロボットコントローラ(第2のコントローラ)

Claims (29)

  1. レーザ光を発生する光源と、
    前記光源にて発生されたレーザ光を出射する第1のレーザヘッド及び第2のレーザヘッドを含む複数のレーザヘッドと、
    前記複数のレーザヘッドをそれぞれ移動させるロボット装置と、
    前記複数のレーザヘッドのいずれかに前記光源にて発生されたレーザ光を導くよう光路を切り替える切替器と、
    前記光源におけるレーザ光の発生又は停止を制御し、前記ロボット装置の動作を制御し、前記切替器の動作を制御する制御装置と、を備え、
    前記制御装置は、前記第1のレーザヘッドの加工対象物に対するレーザ光の照射を停止させる前の第1の時点から予め設定された第1の時間が前記制御装置が行う計時において経過した第2の時点で、前記第2のレーザヘッドの加工対象物に対するレーザ光を発生するよう前記光源を制御し、
    前記制御装置は、前記第2のレーザヘッドの加工対象物に対する加速が前記第1の時点または前記第1の時点の後に開始し、前記第2のレーザヘッドの移動速度が前記第2の時点または前記第2の時点の前に第1の目標速度に達するように、前記ロボット装置を動作させることを特徴とするレーザ加工装置。
  2. 前記制御装置は、前記第2の時点から更に予め設定された第2の時間が前記計時において経過した第3の時点で、レーザ光の発生を停止するよう前記光源を制御することを特徴とする請求項1に記載のレーザ加工装置。
  3. 前記制御装置は、前記第1の時点の前の第4の時点から前記第1の時間が前記計時において経過した第5の時点で、レーザ光を発生するよう前記光源を制御し、
    前記制御装置は、前記第1のレーザヘッドの加工対象物に対する加速が前記第4の時点または前記第4の時点の後に開始し、前記第1のレーザヘッドの移動速度が前記第5の時点または前記第5の時点の前に第2の目標速度に達するように、前記ロボット装置を動作させることを特徴とする請求項2に記載のレーザ加工装置。
  4. 前記第1の時点は、前記第4の時点と前記第5の時点との間の時点であることを特徴とする請求項3に記載のレーザ加工装置。
  5. 前記制御装置は、前記第5の時点から予め設定された第3の時間が前記計時において経過した第6の時点で、レーザ光の発生を停止するよう前記光源を制御することを特徴とする請求項3又は4に記載のレーザ加工装置。
  6. 前記制御装置は、前記第6の時点と前記第2の時点との間において、レーザ光が前記第2のレーザヘッドに導かれる状態に前記切替器を制御することを特徴とする請求項5に記載のレーザ加工装置。
  7. 前記第4の時点から前記第1の時点までの時間は、前記第6の時点から前記第2の時点までの時間より短くないことを特徴とする請求項5又は6に記載のレーザ加工装置。
  8. 前記切替器は、光路を切り替え可能に設けられた複数のミラーを有することを特徴とする請求項1乃至7のいずれか1項に記載のレーザ加工装置。
  9. 前記制御装置は、前記第1の時間の経過により前記ロボット装置の指令の位置が進む距離と、前記第1の時間が経過した時点において前記ロボット装置の応答遅れにより発生する距離とを用いて、前記第1の時間の経過によって前記ロボット装置が移動する助走距離を求め、レーザ光の照射を開始する教示位置に対して前記助走距離の分ずれた位置に前記ロボット装置を移動させてから、前記第2のレーザヘッドを加速させる動作を開始させることを特徴とする請求項1乃至8のいずれか1項に記載のレーザ加工装置。
  10. 前記制御装置は、前記第1の時間が経過した時点において前記ロボット装置の応答遅れにより発生する距離を、前記第1の目標速度と所定の定数を用いて計算することを特徴とする請求項9に記載のレーザ加工装置。
  11. 前記制御装置は、前記第1の時間が経過した時点において前記ロボット装置の応答遅れにより発生する距離を、加工箇所ごとに予め求めておくことを特徴とする請求項9又は10に記載のレーザ加工装置。
  12. 前記制御装置は、レーザ光の照射を開始する教示位置に対する前記第1の時間が経過した時点での前記ロボット装置の位置の誤差が閾値以上である場合、前記誤差が前記閾値よりも小さくなるように前記助走距離を設定することを特徴とする請求項9乃至11のいずれか1項に記載のレーザ加工装置。
  13. 前記制御装置は、加工対象物にレーザ加工する本動作の前に試験動作を前記ロボット装置に行わせ、
    前記試験動作時に発生した前記ロボット装置の振動に基づき、前記本動作において前記第2のレーザヘッドを加速させる動作を開始する位置に前記ロボット装置を動作させるときの加速度を、加工箇所ごとに調整しておくことを特徴とする請求項1乃至12のいずれか1項に記載のレーザ加工装置。
  14. 前記制御装置は、前記試験動作として、前記第2のレーザヘッドを加速させる動作を開始する位置に前記ロボット装置を動作させた後、レーザ光の照射を開始する教示位置と、レーザ光の照射を終了する教示位置とを含む所定の区間の軌道データに従って前記ロボット装置を動作させることを特徴とする請求項13に記載のレーザ加工装置。
  15. 前記制御装置は、前記ロボット装置を動作させた時の、前記ロボット装置の関節の角度から求めた制御点に基づいて、前記加速度を調整することを特徴とする請求項14に記載のレーザ加工装置。
  16. 前記制御装置は、前記試験動作として、前記第2のレーザヘッドを加速させる動作を開始させる位置へ前記ロボット装置の指令の位置を移動させた時点から、前記ロボット装置の関節の角度から求めた制御点が前記第2のレーザヘッドを加速させる動作を開始させる位置へ整定するのに要した時間により、前記加速度を調整することを特徴とする請求項13に記載のレーザ加工装置。
  17. 前記制御装置は、前記第1の時点から、前記第2の時間と予め設定された第4の時間との合計時間が前記計時において経過した後に、前記第2のレーザヘッドとは別のレーザヘッドを加速させる動作を前記ロボット装置に開始させることを特徴とする請求項2乃至7のいずれか1項に記載のレーザ加工装置。
  18. 前記第4の時間は、前記切替器において切り替え動作に要する時間であることを特徴とする請求項17に記載のレーザ加工装置。
  19. 前記ロボット装置は、前記第1のレーザヘッドを支持する第1のロボットと、前記第2のレーザヘッドを支持する第2のロボットとを含むN台のロボットを有しており、
    前記第1のレーザヘッドが、レーザ光の照射を終了してから次のレーザ光の照射を開始するための加速を開始する位置まで移動するに要する時間に、前記第1の時間を加算した時間は、
    (前記第1のレーザヘッドがレーザ光の照射を終了してから再びレーザ光の照射を開始するまでに、前記第1のレーザヘッドの他のM台のレーザヘッドが照射を行う時間の合計)+(前記第4の時間×(M+1))よりも短い又は等しいことを特徴とする請求項17又は18に記載のレーザ加工装置。
  20. 前記制御装置は、前記第1のレーザヘッド及び前記第2のレーザヘッドのそれぞれを加速させる動作を前記ロボット装置に開始させる度に、前記第1の時間が前記計時において経過したら、レーザ光を発生するよう前記光源を制御することを特徴とする請求項1乃至19のいずれか1項に記載のレーザ加工装置。
  21. 前記ロボット装置は、前記第1のレーザヘッドを支持する第1のロボットと、前記第2のレーザヘッドを支持する第2のロボットとを有しており、
    前記制御装置は、
    前記光源にレーザ光を発生又は停止させる制御、及び前記切替器に切り替え動作を行わせる制御を実行する第1のコントローラと、
    前記第1のロボットを制御する第1のロボットコントローラと、
    前記第2のロボットを制御する第2のロボットコントローラと、を有していることを特徴とする請求項1乃至20のいずれか1項に記載のレーザ加工装置。
  22. 前記ロボット装置は、前記第1のレーザヘッドを支持する第1のロボットと、前記第2のレーザヘッドを支持する第2のロボットとを有しており、
    前記制御装置は、
    前記光源にレーザ光を発生又は停止させる制御、前記第2のレーザヘッドを加速させる動作を、前記第2のロボットに開始させる開始指令を送信する制御、及び前記切替器に切り替え動作を行わせる制御を実行する第1のコントローラと、
    前記第1のロボットを制御する第1のロボットコントローラと、
    前記第2のロボットを制御する第2のロボットコントローラと、を有しており、
    前記開始指令を受信した時点以降に、前記第2のロボットコントローラは、前記第2のレーザヘッドを加速させる動作を、前記第2のロボットに開始させるとともに、前記第1のコントローラへ所定の信号を送信し、
    前記第1のコントローラは、前記所定の信号を受信した時点を、前記第1の時点とすることを特徴とする請求項1乃至20のいずれか1項に記載のレーザ加工装置。
  23. 前記第1のコントローラの制御周期は、前記第1のロボットコントローラ及び前記第2のロボットコントローラのそれぞれの制御周期よりも短いことを特徴とする請求項21又は22に記載のレーザ加工装置。
  24. 前記第2の時間は、レーザ光の照射を開始する教示位置と、レーザ光の照射を終了する教示位置との距離を、前記第1の目標速度で割り算した値であることを特徴とする請求項2乃至7のいずれか1項に記載のレーザ加工装置。
  25. 前記制御装置は、加工対象物に前記第2のレーザヘッドからレーザ光を照射している間、前記第2のレーザヘッドの移動速度が前記第1の目標速度を維持するように前記ロボット装置を動作させることを特徴とする請求項1乃至24のいずれか1項に記載のレーザ加工装置。
  26. 請求項1乃至25のいずれか1項に記載のレーザ加工装置を用いて、レーザシーム溶接を行うことを特徴とするレーザ加工方法。
  27. 第1の部品と第2の部品とを含む枠体の製造方法であって、請求項1乃至25のいずれか1項に記載のレーザ加工装置を用いて、前記第1の部品と前記第2の部品との溶接を行うことを特徴とする製造方法。
  28. 操作部および枠体を備える装置の製造方法であって、請求項1乃至25のいずれか1項に記載のレーザ加工装置を用いて複数の溶接箇所を溶接することにより、前記枠体を製造することを特徴とする製造方法。
  29. 前記装置は画像形成装置であることを特徴とする請求項28に記載の製造方法。
JP2018134972A 2017-08-25 2018-07-18 レーザ加工装置、レーザ加工方法、枠体の製造方法及び装置の製造方法 Active JP7271098B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/100,641 US11179803B2 (en) 2017-08-25 2018-08-10 Laser processing apparatus, control apparatus, laser processing method, and method of producing image forming apparatus
CN201810972075.4A CN109420845B (zh) 2017-08-25 2018-08-24 激光加工装置、控制装置、激光加工方法和成像装置的制造方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2017162864 2017-08-25
JP2017162865 2017-08-25
JP2017162864 2017-08-25
JP2017162865 2017-08-25

Publications (3)

Publication Number Publication Date
JP2019038034A JP2019038034A (ja) 2019-03-14
JP2019038034A5 JP2019038034A5 (ja) 2021-08-26
JP7271098B2 true JP7271098B2 (ja) 2023-05-11

Family

ID=65726016

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018134972A Active JP7271098B2 (ja) 2017-08-25 2018-07-18 レーザ加工装置、レーザ加工方法、枠体の製造方法及び装置の製造方法

Country Status (1)

Country Link
JP (1) JP7271098B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113941783B (zh) * 2021-11-23 2023-11-21 深圳软动智能控制有限公司 激光轴蛙跳实现方法、装置、激光设备和存储介质
JP2023151738A (ja) * 2022-04-01 2023-10-16 オムロン株式会社 制御装置、制御システムおよび制御方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001340985A (ja) 2000-06-01 2001-12-11 Mitsubishi Electric Corp レーザ加工機
JP2012232370A (ja) 2011-04-28 2012-11-29 Seiko Epson Corp ロボットコントローラー、簡易設置型ロボット、及び簡易設置型ロボットの制御方法
JP2014097540A (ja) 2012-11-13 2014-05-29 Yaskawa Electric Corp ロボットシステム
JP2014217901A (ja) 2013-05-07 2014-11-20 パナソニック株式会社 ロボットシステム
JP2015167974A (ja) 2014-03-07 2015-09-28 パナソニックIpマネジメント株式会社 レーザ加工システム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04100687A (ja) * 1990-08-16 1992-04-02 Toshiba Corp レーザ加工ロボット

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001340985A (ja) 2000-06-01 2001-12-11 Mitsubishi Electric Corp レーザ加工機
JP2012232370A (ja) 2011-04-28 2012-11-29 Seiko Epson Corp ロボットコントローラー、簡易設置型ロボット、及び簡易設置型ロボットの制御方法
JP2014097540A (ja) 2012-11-13 2014-05-29 Yaskawa Electric Corp ロボットシステム
JP2014217901A (ja) 2013-05-07 2014-11-20 パナソニック株式会社 ロボットシステム
JP2015167974A (ja) 2014-03-07 2015-09-28 パナソニックIpマネジメント株式会社 レーザ加工システム

Also Published As

Publication number Publication date
JP2019038034A (ja) 2019-03-14

Similar Documents

Publication Publication Date Title
CN109420845B (zh) 激光加工装置、控制装置、激光加工方法和成像装置的制造方法
JP5118821B2 (ja) ロボットの制御装置
WO2010003289A1 (zh) 一种使机器人高精度跟踪指定路径的设备和方法
JPH08166813A (ja) ウィービング動作を伴うロボットのトラッキング制御方法
JP6467646B2 (ja) ロボット制御方法
JP7271098B2 (ja) レーザ加工装置、レーザ加工方法、枠体の製造方法及び装置の製造方法
CN109014565B (zh) 激光加工装置
CN111026164B (zh) 一种机器人目标跟踪轨迹规划方法
US20220048194A1 (en) Industrial robot apparatus with improved tooling path generation, and method for operating an industrial robot apparatus according to an improved tooling path
JP7122821B2 (ja) ロボットシステム及びロボット制御方法
JP5608074B2 (ja) レーザ加工システム及びその制御方法
US10654132B2 (en) Laser machining system
TW201430511A (zh) 決定共同地追蹤參考軌跡之複聯致動器的軌跡之方法
JP2016078149A (ja) ロボット装置の制御方法及びロボット装置、プログラム及び記録媒体
US9156626B2 (en) Work method and work device
CN110154043B (zh) 基于加工结果进行学习控制的机器人系统及其控制方法
US11400547B2 (en) Laser machine
US20240123606A1 (en) Teaching point generation device that generates teaching points on basis of output of sensor, and teaching point generation method
WO2022176762A1 (ja) 制御装置、ロボットシステム、学習装置、制御方法、およびプログラム
US11378936B2 (en) Control device, mechanical system, and time synchronization method
US11660757B2 (en) Robot control system simultaneously performing workpiece selection and robot task
JP7462827B2 (ja) 制御装置、ロボットシステム、学習装置、軌跡モデル、制御方法、およびプログラム
WO2024018900A1 (ja) 機器の制御装置、制御システム、及び制御方法
JP7360824B2 (ja) ロボット制御装置、及びロボット制御システム
JP2020151824A (ja) 制御装置、ロボット装置、制御方法、物品の製造方法、プログラム、及び記録媒体

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200206

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210716

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210716

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230328

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230426

R151 Written notification of patent or utility model registration

Ref document number: 7271098

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151