(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-10
(45)【発行日】2024-06-18
(54)【発明の名称】スキャナコントローラ及びスキャナ制御システム
(51)【国際特許分類】
B23K 26/082 20140101AFI20240611BHJP
【FI】
B23K26/082
(21)【出願番号】P 2019226796
(22)【出願日】2019-12-16
【審査請求日】2022-10-21
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ弁理士法人
(72)【発明者】
【氏名】西村 竜太朗
【審査官】岩見 勤
(56)【参考文献】
【文献】特開2019-081185(JP,A)
【文献】特開2018-024011(JP,A)
【文献】特開2012-139711(JP,A)
【文献】特開2007-098416(JP,A)
【文献】米国特許出願公開第2016/0311062(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B23K26/00 - 26/70
(57)【特許請求の範囲】
【請求項1】
ロボットの先端に取り付けられ、スキャナ制御用プログラムに基づいてレーザ光を所定の経路で走査してワークを加工するスキャナを制御するスキャナコントローラであって、
前記スキャナ制御用プログラムには、前記レーザ光の経路のワールド座標系における位置とローカル座標系における位置とが関連付けられた位置指令のブロックが含まれ、
前記スキャナ制御用プログラムを解析し、前記ブロックにより指令されるローカル座標系の位置に基づいた前記スキャナの駆動部の移動指令を作成するプログラム解析部と、
前記移動指令に基づいて、補間周期毎の補間データを作成する補間部と、
前記ロボットのワールド座標系における位置姿勢及び前記ブロックにより指令されるワールド座標系の位置に基づいて前記スキャナの現在のローカル座標系の位置を算出する位置算出部と、
前記位置算出部が算出したローカル座標系の位置と、前記ブロックにより指令されるローカル座標系の位置との距離が、予め定めた所定の閾値以内にある場合にオンザフライ機能による加工を開始すると判定するオンザフライ開始判定部と、
前記オンザフライ開始判定部がオンザフライ機能による加工を開始すると判定した場合、前記補間部が作成した補間データに基づく前記スキャナの駆動部の制御を行うモータ出力部と、
を備えたスキャナコントローラ。
【請求項2】
指定された加工経路に基づくシミュレーションを実行し、ロボット制御用プログラムと、レーザ光の経路のワールド座標系における位置とローカル座標系における位置とが関連付けられた位置指令のブロックを含むスキャナ制御用プログラムとを作成する経路作成装置と、
前記ロボット制御用プログラムに基づいてロボットの動作を制御するロボットコントローラと、
前記ロボットの先端に取り付けられ、前記スキャナ制御用プログラムに基づいてレーザ光を所定の経路で走査してワークを加工するスキャナを制御するスキャナコントローラとを備え、
前記スキャナコントローラは、
前記スキャナ制御用プログラムを解析し、前記ブロックにより指令されるローカル座標系の位置に基づいた前記スキャナの駆動部の移動指令を作成するプログラム解析部と、
前記移動指令に基づいて、補間周期毎の補間データを作成する補間部と、
前記ロボットのワールド座標系における位置姿勢及び前記ブロックにより指令されるワールド座標系の位置に基づいて前記スキャナの現在のローカル座標系の位置を算出する位置算出部と、
前記位置算出部が算出したローカル座標系の位置と、前記ブロックにより指令されるローカル座標系の位置との距離が、予め定めた所定の閾値以内にある場合にオンザフライ機能による加工を開始すると判定するオンザフライ開始判定部と、
前記オンザフライ開始判定部がオンザフライ機能による加工を開始すると判定した場合、前記補間部が作成した補間データに基づく前記スキャナの駆動部の制御を行うモータ出力部とを備える、
スキャナ制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スキャナコントローラ及びスキャナ制御システムに関する。
【背景技術】
【0002】
ワークから離れた位置からレーザビームを照射することにより溶接を行う技術を、リモートレーザ溶接という。リモートレーザ溶接において加工経路を制御する手段の1つにガルバノスキャナがある。ガルバノスキャナ(以下、単にスキャナと称する)は、レーザ用の光学系において1個以上のミラー(例えば、XY方向のレーザ制御を行う場合は2つのミラー)を動作させることにより任意の経路でレーザ光を走査する装置である。このスキャナをロボットの先端、すなわちハンド部分に取り付けたリモートレーザ溶接ロボットシステムが実用化されている(
図7参照)。リモートレーザ溶接ロボットシステムでは、ロボットを動かしながらスキャナを動作させるので、スキャナ単体の場合よりも複雑な加工経路で溶接を行うことができる。このようなロボットを動かしながらスキャナを動作させて行う加工方式はオンザフライ(Onthefly)と呼ばれている。
【0003】
通常、ロボットを制御するロボットコントローラは、ロボットの移動指令のプログラムに基づいて、ロボットのモータを制御する。一方、スキャナを制御するスキャナコントローラは、レーザの照射位置とレーザの出力条件(パワー)が記載されたプログラムに基づいて、スキャナのモータとレーザの出力とを制御する。上記したリモートレーザ溶接ロボットシステムでは、ロボット制御装置は動作中のロボットの位置・姿勢をスキャナコントローラに送信し、スキャナコントローラがロボットの動作を考慮しながら実際の加工経路を作成している(特許文献1等参照)。それぞれのプログラムは経路生成装置により同期されたプログラムが作成される。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記したように、スキャナを制御するコントローラと、スキャナをハンド部分に取り付けたロボットのコントローラとは、別々の装置として実装されている。そして、これらの別々のコントローラの間で、ロボットの位置・姿勢を送受信することで、ロボットの動作とスキャナの動作とを同期させている。しかしながら、スキャナコントローラがロボットの位置・姿勢を常に正確に把握することは難しい。スキャナコントローラとロボットの位置・姿勢の同期性を向上させるためには、スキャナコントローラでプログラムの実行が開始される時に、スキャナ及びロボットのそれぞれが互いに静止している必要がある。
【0006】
そのため、任意の位置でオンザフライを開始することができないという課題があった。オンザフライの機能により、スキャナコントローラはスキャナを制御してワーク上の所望の位置にレーザ光を照射させることができる。しかしながら、スキャナコントローラは、ロボットの現在位置が理想値からどの程度ずれているのかを常に把握することができないため、加工結果にばらつきが生じることがある。また、スキャナのOT(オーバトラベル)につながる場合もある。
そのため、任意の位置からスキャナとロボットとの同期をとることが可能な仕組みが求められている。
【課題を解決するための手段】
【0007】
本発明のスキャナ制御システムが備える経路生成装置は、ロボット及びスキャナの経路を生成する際に、スキャナ動作のシミュレーションを行い、そのシミュレーション結果に基づいて、スキャナ経路のワールド座標とスキャナのローカル座標を同一ブロックに含めたプログラムを作成する。このようなプログラムを受信したスキャナは、該プログラムに含まれるワールド座標値とロボットの位置から計算されるローカル座標値が同一ブロックのローカル座標値に対して一定の範囲内に入ったらオンザフライ機能を用いた加工を開始する。
【0008】
そして、本発明の一態様は、ロボットの先端に取り付けられ、スキャナ制御用プログラムに基づいてレーザ光を所定の経路で走査してワークを加工するスキャナを制御するスキャナコントローラであって、前記スキャナ制御用プログラムには、前記レーザ光の経路のワールド座標系における位置とローカル座標系における位置とが関連付けられた位置指令のブロックが含まれ、前記スキャナ制御用プログラムを解析し、前記ブロックにより指令されるローカル座標系の位置に基づいた前記スキャナの駆動部の移動指令を作成するプログラム解析部と、前記移動指令に基づいて、補間周期毎の補間データを作成する補間部と、前記ロボットのワールド座標系における位置姿勢及び前記ブロックにより指令されるワールド座標系の位置に基づいて前記スキャナの現在のローカル座標系の位置を算出する位置算出部と、前記位置算出部が算出したローカル座標系の位置と、前記ブロックにより指令されるローカル座標系の位置との距離が、予め定めた所定の閾値以内にある場合にオンザフライ機能による加工を開始すると判定するオンザフライ開始判定部と、前記オンザフライ開始判定部がオンザフライ機能による加工を開始すると判定した場合、前記補間部が作成した補間データに基づく前記スキャナの駆動部の制御を行うモータ出力部と、を備えたスキャナコントローラである。
【0009】
本発明の他の態様は、指定された加工経路に基づくシミュレーションを実行し、ロボット制御用プログラムと、レーザ光の経路のワールド座標系における位置とローカル座標系における位置とが関連付けられた位置指令のブロックを含むスキャナ制御用プログラムとを作成する経路作成装置と、前記ロボット制御用プログラムに基づいてロボットの動作を制御するロボットコントローラと、前記ロボットの先端に取り付けられ、前記スキャナ制御用プログラムに基づいてレーザ光を所定の経路で走査してワークを加工するスキャナを制御するスキャナコントローラとを備え、前記スキャナコントローラは、前記スキャナ制御用プログラムを解析し、前記ブロックにより指令されるローカル座標系の位置に基づいた前記スキャナの駆動部の移動指令を作成するプログラム解析部と、前記移動指令に基づいて、補間周期毎の補間データを作成する補間部と、前記ロボットのワールド座標系における位置姿勢及び前記ブロックにより指令されるワールド座標系の位置に基づいて前記スキャナの現在のローカル座標系の位置を算出する位置算出部と、前記位置算出部が算出したローカル座標系の位置と、前記ブロックにより指令されるローカル座標系の位置との距離が、予め定めた所定の閾値以内にある場合にオンザフライ機能による加工を開始すると判定するオンザフライ開始判定部と、前記オンザフライ開始判定部がオンザフライ機能による加工を開始すると判定した場合、前記補間部が作成した補間データに基づく前記スキャナの駆動部の制御を行うモータ出力部とを備える、スキャナ制御システムである。
【発明の効果】
【0010】
本発明の一態様により、スキャナコントローラがロボットの理想位置からのずれ量を把握することで、互いに静止した状態でオンザフライ機能の同期を開始する必要がなくなる。また、ロボットの動作中に複数のプログラムを切り替えてオンザフライ機能を用いた加工を行うことができる。
【図面の簡単な説明】
【0011】
【
図1】一実施形態によるスキャナ制御システムが備える経路作成装置の概略的なハードウェア構成図である。
【
図2】一実施形態によるスキャナ制御システムが備えるスキャナコントローラ及びロボットコントローラの概略的なハードウェア構成図である。
【
図3】一実施形態による経路作成装置の概略的な機能を示すブロック図である。
【
図4】一実施形態によるスキャナコントローラの概略的な機能を示すブロック図である。
【
図5】一実施形態によるロボットコントローラの概略的な機能を示すブロック図である。
【
図6】複数のスキャナ制御用プログラムを用いた加工例を示す図である。
【
図7】従来技術によるオンザフライ加工について説明する図である。
【
図8】オンザフライ開始判定部の動作について説明する図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態を図面と共に説明する。
図1は本発明の一実施形態によるスキャナ制御システムが備える経路作成装置の要部を示す概略的なハードウェア構成図である。本実施形態によるスキャナ制御システム1は、スキャナ4を制御するスキャナコントローラ3、該スキャナ4をハンドの先端に取り付けたロボット6を制御するロボットコントローラ5、及びスキャナコントローラ3とロボットコントローラ5とに移動経路を指令するプログラムを作成する経路作成装置2が、例えば有線乃至無線のネットワーク7を介して接続されて構成される。
【0013】
スキャナ制御システム1が備える経路作成装置2は、例えばネットワーク7介してスキャナコントローラ3及びロボットコントローラ5と接続されたパソコンの上に実装することができる。本実施形態による経路作成装置2が備えるCPU211は、経路作成装置2を全体的に制御するプロセッサである。CPU211は、バス222を介してROM212に格納されたシステム・プログラムを読み出し、該システム・プログラムに従って経路作成装置2全体を制御する。RAM213には一時的な計算データや表示データ、及び外部から入力された各種データ等が一時的に格納される。
【0014】
不揮発性メモリ214は、例えば図示しないバッテリでバックアップされたメモリやSSD(Solid State Drive)等で構成され、経路作成装置2の電源がオフされても記憶状態が保持される。不揮発性メモリ214には、図示しない外部機器から読み込まれたデータ、入力装置271を介して入力されたデータ、インタフェース220を介してスキャナコントローラ3やロボットコントローラ5等から取得されたデータ等が記憶される。不揮発性メモリ214に記憶されたデータは、実行時/利用時にはRAM213に展開されても良い。また、ROM212には、公知の解析プログラムなどの各種システム・プログラムがあらかじめ書き込まれている。
【0015】
インタフェース220は、経路作成装置2のCPU211と有線乃至無線のネットワーク7とを接続するためのインタフェースである。ネットワーク7には、スキャナコントローラ3、ロボットコントローラ5、フォグコンピュータ、クラウドサーバ等が接続され、経路作成装置2との間で相互にデータのやり取りを行っている。
【0016】
表示装置270には、メモリ上に読み込まれた各データ、プログラム等が実行された結果として得られたデータ等がインタフェース217を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置271は、作業者による操作に基づく指令,データ等をインタフェース218を介してCPU211に渡す。
【0017】
図2は本発明の一実施形態によるスキャナ制御システムが備えるスキャナコントローラ及びロボットコントローラの要部を示す概略的なハードウェア構成図である。
本実施形態によるスキャナコントローラ3が備えるCPU311は、スキャナコントローラ3を全体的に制御するプロセッサである。CPU311は、バス322を介してROM312に格納されたシステム・プログラムを読み出し、該システム・プログラムに従ってスキャナコントローラ3全体を制御する。RAM313には一時的な計算データや表示データ、及び外部から入力された各種データ等が一時的に格納される。
【0018】
不揮発性メモリ314は、例えば図示しないバッテリでバックアップされたメモリやSSD(Solid State Drive)等で構成され、スキャナコントローラ3の電源がオフされても記憶状態が保持される。不揮発性メモリ314には、図示しない外部機器から読み込まれたデータ、入力装置371を介して入力されたデータ、インタフェース320を介して経路作成装置2等から取得されたデータ、インタフェース315を介してロボットコントローラ5から取得されたデータ等が記憶される。不揮発性メモリ314に記憶されたデータは、実行時/利用時にはRAM313に展開されても良い。また、ROM312には、公知の解析プログラムなどの各種システム・プログラムがあらかじめ書き込まれている。
【0019】
スキャナコントローラ3は、インタフェース320を介してスキャナ4と接続されている。CPU311は、例えば経路作成装置2から取得されたプログラムを実行し、インタフェース320を介して、スキャナ4が備えるモータを制御する指令や、図示しないレーザ発振器を制御する指令を出力する。また、CPU311は、インタフェース320を介してスキャナ4の動作状態に係るデータを取得する。
【0020】
インタフェース320は、スキャナコントローラ3のCPU311と有線乃至無線のネットワーク7とを接続するためのインタフェースである。ネットワーク7には、経路作成装置2、ロボットコントローラ5、フォグコンピュータ、クラウドサーバ等が接続され、スキャナコントローラ3との間で相互にデータのやり取りを行っている。
【0021】
表示装置370には、メモリ上に読み込まれた各データ、プログラム等が実行された結果として得られたデータ等がインタフェース317を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置371は、作業者による操作に基づく指令,データ等をインタフェース318を介してCPU311に渡す。
【0022】
本実施形態によるロボットコントローラ5が備えるCPU511は、ロボットコントローラ5を全体的に制御するプロセッサである。CPU511は、バス522を介してROM512に格納されたシステム・プログラムを読み出し、該システム・プログラムに従ってロボットコントローラ5全体を制御する。RAM513には一時的な計算データや表示データ、及び外部から入力された各種データ等が一時的に格納される。
【0023】
不揮発性メモリ514は、例えば図示しないバッテリでバックアップされたメモリやSSD(Solid State Drive)等で構成され、ロボットコントローラ5の電源がオフされても記憶状態が保持される。不揮発性メモリ514には、図示しない外部機器から読み込まれたデータ、入力装置571を介して入力されたデータ、インタフェース520を介して経路作成装置2等から取得されたデータ、インタフェース515を介してスキャナコントローラ3から取得されたデータ等が記憶される。不揮発性メモリ514に記憶されたデータは、実行時/利用時にはRAM513に展開されても良い。また、ROM512には、公知の解析プログラムなどの各種システム・プログラムがあらかじめ書き込まれている。
【0024】
ロボットコントローラ5は、インタフェース320を介してロボット6と接続されている。CPU511は、例えば経路作成装置2から取得されたプログラムを実行し、インタフェース520を介して、ロボット6の各軸を駆動するモータを制御する指令を出力する。また、CPU511は、インタフェース520を介してロボット6の動作状態に係るデータを取得する。
【0025】
インタフェース520は、ロボットコントローラ5のCPU511と有線乃至無線のネットワーク7とを接続するためのインタフェースである。ネットワーク7には、経路作成装置2、スキャナコントローラ3、フォグコンピュータ、クラウドサーバ等が接続され、ロボットコントローラ5との間で相互にデータのやり取りを行っている。
【0026】
表示装置570には、メモリ上に読み込まれた各データ、プログラム等が実行された結果として得られたデータ等がインタフェース517を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置571は、作業者による操作に基づく指令,データ等をインタフェース518を介してCPU511に渡す。
【0027】
スキャナコントローラ3とロボットコントローラ5とは、ネットワーク7とは異なる高速な通信線8で接続されていても良い。ロボットコントローラ5は、例えば通信線8を介してロボット6の位置・姿勢に係るデータを高速にスキャナコントローラ3へと送信することができる。
【0028】
図3は、本発明の第1実施形態によるスキャナ制御システム1が備える経路作成装置2の機能を概略的なブロック図として示したものである。本実施形態による経路作成装置2の各機能は、
図1に示した経路作成装置2が備えるCPUがシステム・プログラムを実行し、経路作成装置2の各部の動作を制御することにより実現される。
【0029】
本実施形態の経路作成装置2は、シミュレーション部21、プログラム作成部23、プログラム送信部25を備える。
【0030】
シミュレーション部21は、
図1に示した経路作成装置2が備えるCPU211がROM212から読み出したシステム・プログラムを実行し、主としてCPU211によるRAM213、不揮発性メモリ214を用いた演算処理が行われることで実現される。シミュレーション部21は、例えば入力装置271を介してオペレータにより入力された加工経路に基づいてシミュレーション処理を実行する。シミュレーション部21が行うシミュレーション処理は、ロボットの教示、動作を仮想空間のロボット・ワークで動かし、障害物を回避した指令などを作成するものである。シミュレーション部21は、加工経路により指令されるワールド座標系照射位置と実際にスキャナが動作するローカル座標系の照射位置を紐付ける。シミュレーション部21は、入力された加工経路に基づいて、その加工経路を加工するためのロボット6の位置・姿勢の推移(動作経路)をシミュレーションする。また、シミュレーション部21は、ロボット6の位置・姿勢が推移していく際に、スキャナ4からワーク上の加工経路の位置にレーザを照射するための、スキャナ4の各モータの位置の推移(動作経路)をシミュレーションする。シミュレーション部21によるシミュレーション結果は、プログラム作成部23に出力される。
【0031】
プログラム作成部23は、
図1に示した経路作成装置2が備えるCPU211がROM212から読み出したシステム・プログラムを実行し、主としてCPU211によるRAM213、不揮発性メモリ214を用いた演算処理が行われることで実現される。プログラム作成部23は、シミュレーション部21によるシミュレーション処理の結果に基づいて、ワールド座標系(例えばロボット6の原点を基準位置とした座標系)におけるロボット6の動作経路を算出する。また、プログラム作成部23は、シミュレーション部21によるシミュレーション処理の結果に基づいて、ワールド座標系におけるスキャナ4の動作経路と、スキャナ4のローカル座標系(例えばスキャナ4の原点を基準位置とした座標系)におけるスキャナ4の動作経路を算出する。そして、プログラム作成部23は、算出した各動作経路に基づいて、ロボット6を動作させるロボット制御用プログラムと、スキャナ4を動作させるスキャナ制御用プログラムをそれぞれ作成する。
【0032】
プログラム作成部23が作成する、ロボット制御用プログラムには、ワールド座標系におけるロボット6の動作経路を指令するブロックが含まれる。また、プログラム作成部23が作成する、スキャナ制御用プログラムには、ワールド座標系におけるスキャナの動作経路と、ローカル座標系におけるスキャナの動作経路とが関連付けられて指令するブロックが含まれる。
【0033】
プログラム送信部25は、
図1に示した経路作成装置2が備えるCPU211がROM212から読み出したシステム・プログラムを実行し、主としてCPU211によるRAM213、不揮発性メモリ214を用いた演算処理と、インタフェース220を用いた通信処理とが行われることで実現される。プログラム送信部25は、プログラム作成部23が作成したロボット制御用プログラムをロボットコントローラ5に送信する。また、プログラム送信部25は、プログラム作成部23が作成したスキャナ制御用プログラムをスキャナコントローラ3に送信する。
【0034】
図4は、本発明の第1実施形態によるスキャナ制御システム1が備えるスキャナコントローラ3の機能を概略的なブロック図として示したものである。本実施形態によるスキャナコントローラ3の各機能は、
図2に示したスキャナコントローラ3が備えるCPUがシステム・プログラムを実行し、スキャナコントローラ3の各部の動作を制御することにより実現される。
【0035】
本実施形態のスキャナコントローラ3は、プログラム解析部31、補間部32、位置算出部33、オンザフライ開始判定部34、モータ出力部36を備える。
【0036】
プログラム解析部31は、
図2に示したスキャナコントローラ3が備えるCPU311がROM312から読み出したシステム・プログラムを実行し、主としてCPU311によるRAM313、不揮発性メモリ314を用いた演算処理が行われることで実現される。プログラム解析部31は、経路作成装置2が作成したスキャナ制御用プログラムの各ブロックを解析し、スキャナ4の動作経路を算出する。プログラム解析部31は、スキャナ制御用プログラムにより指令されるローカル座標系におけるスキャナ4の動作経路に基づいて、スキャナ4の駆動部の移動指令(ローカル座標系におけるレーザの照射位置の移動指令)を作成する。
【0037】
補間部32は、
図2に示したスキャナコントローラ3が備えるCPU311がROM312から読み出したシステム・プログラムを実行し、主としてCPU311によるRAM313、不揮発性メモリ314を用いた演算処理が行われることで実現される。補間部32は、プログラム解析部31が作成したスキャナ4の駆動部の移動指令に基づいて、スキャナ4の駆動部を駆動する各モータの補間周期毎の移動量を示す補間データを作成する。
【0038】
位置算出部33は、
図2に示したスキャナコントローラ3が備えるCPU311がROM312から読み出したシステム・プログラムを実行し、主としてCPU311によるRAM313、不揮発性メモリ314を用いた演算処理と、インタフェース315を用いた通信処理とが行われることで実現される。位置算出部33は、ロボットコントローラ5から通信線8を介して送信されるロボット6のワールド座標系における位置・姿勢を受信し、その受信したロボット6の位置・姿勢と、プログラム解析部31が解析したスキャナ制御用プログラムにより指令されるワールド座標系での位置とに基づいて、スキャナ4のローカル座標系における位置を算出する。
【0039】
オンザフライ開始判定部34は、
図2に示したスキャナコントローラ3が備えるCPU311がROM312から読み出したシステム・プログラムを実行し、主としてCPU311によるRAM313、不揮発性メモリ314を用いた演算処理が行われることで実現される。オンザフライ開始判定部34は、
図8に例示されるように、位置算出部33が算出したスキャナ4のローカル座標系における位置と、プログラム解析部31により解析されたローカル座標系における移動指令の開始位置との距離が予め定めた所定の閾値以内になった場合に、オンザフライ機能を用いたワークの加工を開始すると判定する。
【0040】
モータ出力部36は、
図2に示したスキャナコントローラ3が備えるCPU311がROM312から読み出したシステム・プログラムを実行し、主としてCPU311によるRAM313、不揮発性メモリ314を用いた演算処理と、インタフェース320を用いた入出力処理とが行われることで実現される。モータ出力部36は、オンザフライ開始判定部34によりオンザフライ機能を用いたワークの加工開始が判定されると、スキャナ4の駆動部を駆動する各モータに対して補間部32が作成した補間データを出力し、モータの駆動制御を行う。
【0041】
図5は、本発明の第1実施形態によるスキャナ制御システム1が備えるロボットコントローラ5の機能を概略的なブロック図として示したものである。本実施形態によるロボットコントローラ5の各機能は、
図2に示したロボットコントローラ5が備えるCPUがシステム・プログラムを実行し、ロボットコントローラ5の各部の動作を制御することにより実現される。
【0042】
本実施形態のロボットコントローラ5は、プログラム解析部51、補間部52、モータ出力部56を備える。
【0043】
プログラム解析部51は、
図2に示したロボットコントローラ5が備えるCPU511がROM512から読み出したシステム・プログラムを実行し、主としてCPU511によるRAM513、不揮発性メモリ514を用いた演算処理が行われることで実現される。プログラム解析部51は、経路作成装置2が作成したロボット制御用プログラムの各ブロックを解析し、ロボット6の動作経路を算出する。
【0044】
補間部52は、
図2に示したロボットコントローラ5が備えるCPU511がROM512から読み出したシステム・プログラムを実行し、主としてCPU511によるRAM513、不揮発性メモリ514を用いた演算処理が行われることで実現される。補間部52は、プログラム解析部51が作成したロボット6の駆動部の移動指令に基づいて、ロボット6の軸を駆動する各モータの補間周期毎の移動量を示す補間データを作成する。
【0045】
モータ出力部56は、
図2に示したロボットコントローラ5が備えるCPU511がROM512から読み出したシステム・プログラムを実行し、主としてCPU511によるRAM513、不揮発性メモリ514を用いた演算処理と、インタフェース520を用いた入出力処理とが行われることで実現される。モータ出力部56は、ロボット6の軸を駆動する各モータに対して補間部52が作成した補間データを出力し、モータの駆動制御を行う。
【0046】
位置出力部58は、
図2に示したロボットコントローラ5が備えるCPU511がROM512から読み出したシステム・プログラムを実行し、主としてCPU511によるRAM513、不揮発性メモリ514を用いた演算処理と、インタフェース515を用いた入出力処理とが行われることで実現される。位置出力部58は、モータ出力部56によりロボット6の軸を駆動する各モータに対して出力される補間データ(位置指令)、又は各モータからフィードバックされる位置情報に基づいてロボットのワールド座標系における現在の位置・姿勢に係るデータを作成し、作成した位置・姿勢に係るデータをスキャナコントローラ3に対して出力する。
【0047】
上記構成を備えたスキャナ制御システム1では、経路作成装置2で作成されたスキャナ4を動作させるスキャナ制御用プログラムに、スキャナ4のワールド座標系の位置とローカル座標系の位置が関連付けたブロックが含まれている。ロボットコントローラ5が、ロボット制御用プログラムに従ってロボット6の動作を制御する一方で、スキャナコントローラ3は、スキャナ制御用プログラムにより指令される所定の加工開始位置にロボット6の位置・姿勢が近づくまで該プログラムの実行を待機する。そして、加工開始位置にロボット6の位置・姿勢が近づくと、スキャナ制御用プログラムの実行が開始され、ワークの加工が開始される。ロボット6の位置・姿勢に係るデータと、スキャナ制御用プログラムにより指令される座標位置との差異は、スキャナコントローラ3が想定するロボット6の理想位置からのずれ量を示しており、これを把握することで、互いに静止した状態でオンザフライ機能の同期を開始する必要がなくなる。
【0048】
上記構成を備えたスキャナ制御システム1では、ワークの加工位置近辺でのスキャナ4の動作のみをスキャナ制御用プログラムとして作成すれば良い。そのため、
図6に例示されるように、1つのロボット制御用プログラムに対して、ワークの加工位置近辺でのスキャナ4の動作を示す複数のスキャナ制御用プログラムを用意してスキャナコントローラ3に記憶させ、それぞれの加工開始位置にロボット6の位置・姿勢が近づいた時にそれぞれの位置におけるスキャナ制御用プログラムを実行して加工させることができる。このように、1連の加工におけるスキャナ制御用プログラムを加工位置毎に作成できるようになるため、(例えば、一部の加工位置に不具合がある、一部の加工位置の加工形状を変更したいなど)必要に応じて一部のスキャナ制御用プログラムのみを差し替えるといった、柔軟な対応をすることが可能となる。
【0049】
以上、本発明の一実施形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【0050】
1 スキャナ制御システム
2 経路作成装置
3 スキャナコントローラ
4 スキャナ
5 ロボットコントローラ
6 ロボット
7 ネットワーク
8 通信線
21 シミュレーション部
23 プログラム作成部
25 プログラム送信部
31 プログラム解析部
32 補間部
33 位置算出部
34 オンザフライ開始判定部
36 モータ出力部
51 プログラム解析部
52 補間部
56 モータ出力部
58 位置出力部
211 CPU
212 ROM
213 RAM
214 不揮発性メモリ
217,218,220 インタフェース
222 バス
270 表示装置
271 入力装置
311 CPU
312 ROM
313 RAM
314 不揮発性メモリ
315,317,318,320,321 インタフェース
322 バス
370 表示装置
571 入力装置
511 CPU
512 ROM
513 RAM
514 不揮発性メモリ
515,517,518,520,521 インタフェース
522 バス
570 表示装置
571 入力装置