JP2024009106A - ツールの作業位置のずれ量を取得する装置、及び方法 - Google Patents

ツールの作業位置のずれ量を取得する装置、及び方法 Download PDF

Info

Publication number
JP2024009106A
JP2024009106A JP2023195230A JP2023195230A JP2024009106A JP 2024009106 A JP2024009106 A JP 2024009106A JP 2023195230 A JP2023195230 A JP 2023195230A JP 2023195230 A JP2023195230 A JP 2023195230A JP 2024009106 A JP2024009106 A JP 2024009106A
Authority
JP
Japan
Prior art keywords
tool
camera
target position
work
coordinate system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023195230A
Other languages
English (en)
Inventor
貴史 梶山
Takashi Kajiyama
浩 中川
Hiroshi Nakagawa
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Priority to JP2023195230A priority Critical patent/JP2024009106A/ja
Publication of JP2024009106A publication Critical patent/JP2024009106A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/0095Means or methods for testing manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/04Viewing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31048Project on workpiece, image of finished workpiece, info or a spot
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40613Camera, laser scanner on end effector, hand eye manipulator, local
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45104Lasrobot, welding robot
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45138Laser welding
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)
  • Resistance Welding (AREA)
  • Laser Beam Processing (AREA)

Abstract

Figure 2024009106000001
【課題】ワークの目標位置に対するツールの作業位置のずれを、実際の作業に則してより高精度に取得する技術が求められている。
【解決手段】移動機械14によってツール16を移動させて該ツール16でワークの目標位置に対して作業を行うときの該目標位置に対する該ツール16の作業位置のずれ量を取得する装置50は、ツール16に対して所定の位置関係に配置され、ツール16に作業のための動作を実行させる第1の時点で目標位置を撮像するカメラ17と、カメラ17が撮像した画像データにおける目標位置の位置と、該画像データにおける作業位置の位置を示す情報と、に基づいて、第1の時点での作業位置と目標位置との間のずれ量を取得するずれ量取得部52とを備える。
【選択図】図1

Description

本発明は、ワークの目標位置に対するツールの作業位置のずれ量を取得する装置、及び方法に関する。
従来、ワークの目標位置に対するツールの作業位置のずれを解消すべく、ワークの目標位置をカメラで撮像し、撮像した画像データからロボットの教示点を補正する技術が知られている(例えば、特許文献1)。
特開2009-125839号公報
ワークの目標位置に対するツールの作業位置のずれを、実際の作業に則してより高精度に取得する技術が求められている。
本開示の一態様において、移動機械によってツールを移動させて該ツールでワークの目標位置に対して作業を行うときの該目標位置に対する該ツールの作業位置のずれ量を取得する装置は、ツールに対して所定の位置関係に配置され、ツールに作業のための動作を実行させる第1の時点で目標位置を撮像するカメラと、目標位置の、カメラが撮像した画像データにおける位置と、作業位置の該画像データにおける位置を示す情報と、に基づいて、第1の時点での作業位置と目標位置との間のずれ量を取得するずれ量取得部とを備える。
本開示の他の態様において、移動機械によってツールを移動させて該ツールでワークの目標位置に対して作業を行うときの該目標位置に対する該ツールの作業位置のずれ量を取得する方法は、ツールに対して所定の位置関係に配置されたカメラで、ツールに作業のための動作を実行させる第1の時点で目標位置を撮像し、目標位置の、カメラが撮像した画像データにおける位置と、作業位置の該画像データにおける位置を示す情報と、に基づいて、第1の時点での作業位置と目標位置との間のずれ量を取得する。
本開示によれば、画像データから、ワーク上の目標位置と、該ワークに対してツールが実際に作業すると推定される作業位置との間のずれ量を、オペレータが測定することなく、自動的且つ高精度に求めることができる。
一実施形態に係る機械システムのブロック図である。 図1に示す機械システムの概略図である。 図2に示すツールの拡大図である。 一実施形態に係るワークの概略図である。 図3に示すカメラが撮像する画像データの一例を示す。 ツール及びカメラの位置関係の他の例を示す。 図6に示すカメラが撮像する画像データの一例を示す。 ツール及びカメラの位置関係のさらに他の例を示す。 図8に示すカメラが撮像する画像データの一例を示す。 他の実施形態に係る機械システムのブロック図である。 図10に示すツール、カメラ、及び光照射装置の拡大図である。 図11に示すカメラが撮像する画像データの一例を示す。 図3に示すカメラが撮像する画像データの他の例を示す。 図3に示すカメラが撮像する画像データのさらに他の例を示す。 他の実施形態に係るツールの拡大図である。 さらに他の実施形態に係るツールの拡大図である。 図16に示すツールが部品を穴に嵌合させる作業を行っている状態を示す。 図16に示すツールにカメラを設置した状態を示す。 図18に示すカメラが撮像する画像データの一例を示す。 さらに他の実施形態に係る機械システムのブロック図である。 さらに他の実施形態に係る機械システムのブロック図である。
以下、本開示の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。まず、図1~図3を参照して、一実施形態に係る機械システム10について説明する。機械システム10は、制御装置12、移動機械14、ツール16、及びカメラ17を備える。
制御装置12は、プロセッサ(CPU、GPU等)18、及び記憶部(ROM、RAM等)20を有するコンピュータであって、移動機械14、ツール16、及びカメラ17を制御する。プロセッサ18は、記憶部20とバス19を介して互いに通信可能に接続され、記憶部20と通信しつつ、各種演算を実行する。
図2に示すように、移動機械14は、垂直多関節型ロボットであって、ベース部22、旋回胴24、下腕部26、上腕部28、及び手首部30を有する。ベース部22は、作業セルの床の上に固定される。旋回胴24は、鉛直軸周りに回動可能となるようにベース部22に設けられている。下腕部26は、水平軸周りに回動可能となるように旋回胴24に設けられている。
上腕部28は、下腕部26の先端部に回動可能に設けられている。手首部30は、上腕部28の前端部に回動可能に設けられている。ベース部22、旋回胴24、下腕部26、上腕部28、及び手首部30には、複数のサーボモータ31(図1)がそれぞれ内蔵されている。プロセッサ18は、各サーボモータ31に指令を送り、該サーボモータ31によって移動機械14の各可動要素(すなわち、旋回胴24、下腕部26、上腕部28、手首部30)を駆動する。
ツール16は、手首部30に取り付けられている。本実施形態においては、ツール16は、スポット溶接ガンである。具体的には、図3に示すように、ツール16は、ベース部32、固定アーム34、可動アーム36、サーボモータ38、固定電極44、及び可動電極46を有する。
ベース部32は、手首部30に連結されている。固定アーム34は、その基端40がベース部32に固定されており、その先端42に固定電極44が固定されている。本実施形態においては、固定アーム34は、基端40から先端42まで略L字状に湾曲して延在する。
可動アーム36は、軸線A(いわゆる、ガン軸)に沿って移動可能となるように、ベース部32に設けられている。本実施形態においては、可動アーム36は、直線状に延びる棒状部材であって、その上端部(図示せず)が、運動変換機構48を介して、サーボモータ38の出力シャフト(図示せず)に機械的に接続され、その下端に可動電極46が固定されている。
運動変換機構48は、例えば、ボール螺子機構、又は、タイミングベルト及びプーリーからなる機構を含み、サーボモータ38の出力シャフトの回転運動を、軸線Aに沿った往復運動へ変換する。可動アーム36は、この運動変換機構48を介して、サーボモータ38によって軸線Aに沿って往復動される。
固定電極44及び可動電極46は、軸線A上に整列するように配置されている。サーボモータ38が可動アーム36を移動させるにつれて、可動電極46は、固定電極44に対して接近及び離反するように、軸線Aに沿って移動される。固定電極44及び可動電極46は、プロセッサ18からの指令に応じて通電する。これにより、固定電極44及び可動電極46の間に挟持したワークをスポット溶接することができる。
図2に示すように、移動機械14には、移動機械座標系Cが設定される。移動機械座標系Cは、移動機械14の各可動要素を自動制御するための制御座標系(いわゆる、ロボット座標系)である。本実施形態においては、移動機械座標系Cの原点が、ベース部22の中心に配置され、移動機械座標系Cのz軸が、実空間の鉛直方向に平行であり、旋回胴24が、移動機械座標系Cのz軸周りに回動されるように、移動機械座標系Cが移動機械14に対して設定される。
一方、ツール16には、図3に示すようにツール座標系Cが設定される。このツール座標系Cは、3次元空間内におけるツール16の位置を自動制御するための制御座標系である。なお、本稿において、「位置」とは、位置及び姿勢を意味することがある。本実施形態においては、ツール座標系Cの原点が固定電極44上(例えば、上面の中心)に位置し、ツール座標系Cのz軸が軸線Aと一致する(又は平行となる)ように、ツール座標系Cがツール16に対して設定されている。
プロセッサ18は、ツール16の位置を、ツール座標系Cによって規定される位置に一致させるように、移動機械14の各可動要素を移動機械座標系Cにおいて動作させる。こうして、ツール16は、移動機械14によって移動され、移動機械座標系Cにおける任意の位置に配置される。
カメラ17は、CCD又はCMOS等の撮像センサと、フォーカスレンズ等の光学系とを有し、ツール16に対して所定の位置関係に配置される。本実施形態においては、カメラ17は、図3に示すように、その視線方向Dが軸線A(すなわち、ツール座標系Cのz軸)と一致するように、可動電極46上の位置に配置されている。図3に示す状態においては、可動アーム36は、軸線Aの方向における予め定めた位置(例えば、固定電極44から最も離反した後退位置)に静止して配置されている。
カメラ17は、視線方向Dに沿って物体を撮像し、撮像した画像データを、制御装置12へ供給する。カメラ17に対しては、カメラ座標系Cが設定される。カメラ座標系Cは、カメラ17が撮像する画像データの各画素の座標を規定する座標系であって、カメラ17によって撮像された画像データの各画素は、カメラ座標系Cで座標化される。
次に、図1~図4を参照してツール16が行う作業について説明する。ツール16は、図4に示すワークW上に設定された複数の目標位置B(n=1,2,3,・・・)に対してスポット溶接作業を行う。ワークWは、例えば、自動車の車体用板金である。プロセッサ18は、移動機械14を動作させて、ツール16を、第nの目標位置Bに対するスポット溶接作業を実行するための第nの教示点Cに配置させる。
具体的には、プロセッサ18は、ツール座標系Cを、その原点が第nの教示点Cに配置され、且つ、そのz軸が第nの目標位置Bを通過するように、設定する。そして、プロセッサ18は、ツール16の位置を、設定したツール座標系Cによって規定される位置に一致させるように、移動機械14を動作させる。
こうして、プロセッサ18は、ツール16を第nの教示点Cに配置する。ツール16が第nの教示点Cに配置されたとき、第nの目標位置Bは、可動電極46と固定電極44との間に配置される。なお、第nの教示点Cは、第nの目標位置Bに一致してもよいし、該第nの目標位置Bから所定の方向(例えば、ツール座標系Cのz軸マイナス方向)へ離隔してもよい。
ツール16を第nの教示点Cに配置させるとともに、プロセッサ18は、ツール16のサーボモータ38を駆動して、可動電極46を固定電極44に接近するように移動させ、ワークWの第nの目標位置Bを、可動電極46と固定電極44との間で挟み込む。なお、プロセッサ18は、ツール16を第nの教示点Cに配置させたときに可動電極46を固定電極44に接近させる動作を開始してもよい。
代替的には、プロセッサ18は、ツール16を第nの教示点Cへ移動させているときに可動電極46を固定電極44に接近させる動作を開始してもよい。可動電極46と固定電極44との間でワークWの第nの目標位置Bを挟み込んだとき、プロセッサ18は、可動電極46及び固定電極44を通電させ、該第nの目標位置Bをスポット溶接する。プロセッサ18は、このようなスポット溶接作業を、全ての目標位置Bに対して繰り返し実行する。
プロセッサ18は、このようなスポット溶接作業のための一連の動作を、作業プログラムに従って実行する。この作業プログラムは、ツール16を第nの教示点Cへ位置決めする動作を移動機械14に教示すること等により構築され、記憶部20に予め記憶される。作業プログラムは、第nの教示点Cの位置情報(移動機械座標系Cにおける座標)、ツール16を第nの教示点Cへ位置決めするための位置決め指令、可動電極46及び固定電極44にスポット溶接を実行させるための溶接開始指令等を含む。
ここで、プロセッサ18が作業プログラムに従って可動電極46と固定電極44との間で第nの目標位置Bを挟み込む動作を行ったときに、可動電極46及び固定電極44が実際にワークWと当接する作業位置が、第nの目標位置Bからずれ得る。このようなずれは、例えば、移動機械14によってツール16を移動させるときの加減速等によって該ツール16に生じる微小振動に起因する。
そこで、本実施形態においては、プロセッサ18は、第nの目標位置Bに対するツール16の作業位置のずれ量を取得する。以下、機械システム10においてずれ量を取得する動作について説明する。ずれ量を取得する動作の準備段階として、オペレータは、ワークWの第nの目標位置Bの各々に、マークを付す。
このマークは、例えば、ワークWに設けられた刻印、シール、又は塗装であって、第nの目標位置Bを、カメラ17が撮像する画像に視覚的に写るようにするためのものである。なお、第nの目標位置Bに視認可能な特徴(角部、凹部等)がある場合は、マークを省略することもできる。
ワークWを移動機械14に対して所定位置にセットした後、プロセッサ18は、作業プログラムに従って移動機械14を動作させて、ツール16を第nの教示点Cへ向かって移動させる。そして、プロセッサ18は、第nの目標位置Bに対するスポット溶接作業のための動作をツール16に実行させる時点τで、該第nの目標位置Bをカメラ17に撮像させる。
一例として、カメラ17で撮像する時点τは、ツール16の可動電極46及び固定電極44をワークWと当接させる時点に設定される。可動電極46及び固定電極44がワークWと当接する時点は、予測可能である。具体的には、プロセッサ18は、作業プログラムから溶接開始指令を受け付け、可動電極46を固定電極44へ向かって移動させるための指令をサーボモータ38へ送信する。
プロセッサ18がサーボモータ38へ指令を送信してから、該サーボモータ38が可動電極46を移動させて固定電極44との間でワークWを挟み込むまでの時間τは、サーボモータ38の加減速特性等から予測できる。したがって、可動電極46及び固定電極44がワークWと当接する時点τは、プロセッサ18がサーボモータ38へ指令を送信した時点から時間τだけ経過した時点として、定めることができる。
他の例として、カメラ17で撮像する時点τは、プロセッサ18が作業プログラムから溶接開始指令を受け付けて、可動電極46を移動させるための指令をサーボモータ38へ送信した時点に設定され得る。さらに他の例として、カメラ17で撮像する時点τは、ワークWを挟み込んだ可動電極46及び固定電極44に通電させる時点に設定され得る。該通電させる時点は、例えば、プロセッサ18が、可動電極46及び固定電極44に電圧を供給する電圧源(図示せず)へ電圧供給指令を送信した時点(又は、該時点から予め定めた時間経過後の時点)である。カメラ17で撮像する時点τは、オペレータによって定められる。
なお、本実施形態においては、プロセッサ18は、この時点τにおいて、可動電極46を固定電極44へ向かって実際に移動させない。例えば、プロセッサ18は、可動電極46を移動させるための指令をサーボモータ38へ実際に送信せずに、該指令を送信するタイミングだけを認識するように構成されてもよい。又は、プロセッサ18は、サーボモータ38を実際に動作させない疑似指令を該サーボモータ38に送信してもよい。
時点τでカメラ17が撮像した画像データを画像化した例を図5に示す。図5に示す画像データ60においては、ワークW上の第nの目標位置Bが写っている。なお、図5においては、参考のために、ワークWの裏面側にある固定電極44を点線表示するとともに、ツール座標系Cを図示している。
上述したように、本実施形態においては、カメラ17は、その視線方向Dが軸線Aと一致するように配置されている。この場合、画像データ60の中心に、固定電極44(又はツール座標系Cの原点)が配置される。したがって、画像データ60においては、その中心点(中心の画素)Fが、実際のスポット溶接作業時に可動電極46を固定電極44へ移動させたときに可動電極46及び固定電極44がワークWと当接して挟み込む作業位置であると見做すことができる。
記憶部20は、カメラ座標系Cにおける中心点Fの座標を、画像データ60における作業位置の位置を示す情報として、予め記憶する。画像データ60においては、第nの目標位置Bは、中心点(すなわち、ツール16の作業位置)Fから、カメラ座標系Cのx軸プラス方向へ差x、y軸プラス方向へ差yだけ、ずれている。換言すれば、画像データ60において第nの目標位置Bは作業位置Fから、差E(|E|=(x +y 1/2)だけ、ずれている。なお、これら差x、y、及びEは、ベクトルである。
プロセッサ18は、カメラ17から取得した画像データ60を解析し、第nの目標位置Bを写す1つの画素(例えば、第nの目標位置Bの画像領域の中心の画素)の、カメラ座標系Cにおける座標を取得する。そして、プロセッサ18は、カメラ座標系Cにおける第nの目標位置Bの座標と、予め記憶された作業位置(中心点)Fの座標とを用いて、カメラ座標系Cにおける差x及びy(又はE)を求め、該差x及びy(又はE)と、ツール座標系Cとカメラ座標系Cとの既知の位置関係とを用いて、ツール座標系Cにおける作業位置Fと第nの目標位置Bとの間のずれ量を取得する。
ここで、カメラ17とツール16とが、互いに既知の位置関係に配置されているので、ツール座標系Cとカメラ座標系Cとの位置関係を表す第1の変換行列(例えば同次変換行列)の各パラメータは、ツール座標系Cとカメラ座標系Cとを校正することにより、求めることができる。この校正により、ツール座標系Cの座標と、カメラ座標系Cの座標とは、第1の変換行列を介して、相互に変換できる。
プロセッサ18は、第1の変換行列を用いて、カメラ座標系Cにおける差x及びy、又は差Eを、ツール座標系Cにおけるずれ量x及びy、又はずれ量Eに変換する。これらずれ量x、y、及びEは、ベクトルである。こうして、プロセッサ18は、時点τでのツール座標系Cにおける作業位置Fと第nの目標位置Bとの間のずれ量x及びy(又はE)を取得できる。
以上のように、プロセッサ18は、第nの目標位置Bの画像データ60における位置と、画像データ60に定められる作業位置Fの位置とに基づいて、時点τでの作業位置Fと第nの目標位置Bとの間のずれ量x及びy(又はE)を取得する。したがって、本実施形態においては、プロセッサ18は、ずれ量取得部52として機能する。
このように取得されたずれ量x及びy(又はE)は、ツール16を第nの教示点Cに配置した時点での目標位置Bと作業位置Fとのずれ量ではなく、ツール16にスポット溶接作業のための動作(例えば、サーボモータ38への指令、可動電極46のワークWへの当接、可動電極46及び固定電極44への通電)を実行させる時点τでの目標位置Bと作業位置Fとのずれ量を正確に表すデータとなる。
次いで、プロセッサ18は、取得したずれ量x及びy(又はE)に基づいて、時点τで作業位置Fが第nの目標位置Bに配置されるように、移動機械14の位置を補正する。例えば、図5に示す例の場合、プロセッサ18は、作業プログラムに規定されていた第nの教示点Cを、ツール座標系Cのx軸マイナス方向へずれ量x、ツール座標系Cのy軸プラス方向へずれ量yだけ移動させた位置に、自動で補正する。又は、プロセッサ18は、第nの教示点Cを、ツール座標系Cにおいてずれ量Eだけ移動させた位置に、補正する。
このようにして、プロセッサ18は、作業プログラムに含まれる第nの教示点Cの位置情報を補正し、これにより、作業プログラムを更新する。したがって、プロセッサ18は、移動機械14の位置(第nの教示点C)を補正する位置補正部54(図1)として機能する。
以上のように、本実施形態においては、時点τで第nの目標位置Bを撮像するカメラ17と、ずれ量x、y、Eを取得するずれ量取得部52とによって、第nの目標位置Bに対するツール16の作業位置Fのずれ量x、y、Eを取得している。したがって、カメラ17及びずれ量取得部52は、第nの目標位置Bに対するツール16の作業位置Fのずれ量x、y、Eを取得する装置50(図1)を構成する。
この装置50によれば、画像データ60から、ワークW上の第nの目標位置Bと、該ワークWに対してツール16が実際に作業すると推定される作業位置Fとの間のずれ量x、y、Eを、オペレータが測定することなく、自動的且つ高精度に求めることができる。
また、本実施形態においては、記憶部20は、装置50を構成し、カメラ座標系Cにおける中心点Fの座標を、画像データ60における作業位置Fの位置を示す情報として予め記憶している。この構成によれば、作業位置Fの位置を都度設定したり、検出したりする必要がないので、ずれ量x、y、Eを、比較的簡単なアルゴリズムで迅速に取得できる。
また、本実施形態においては、位置補正部54は、装置50を構成し、取得したずれ量x及びy(又はE)に基づいて移動機械14の位置(第nの教示点C)を補正している。この構成によれば、プロセッサ18が、更新後の作業プログラムに従ってスポット溶接作業の一連の動作を実行したときに、ツール16の作業位置F(可動電極46及び固定電極44の挟持位置)を目標位置Bに、より高精度に配置させることができる。また、オペレータが手動で教示点Cの補正を行う作業を省くことができるので、移動機械14の教示に掛かる作業を軽減できる。
また、本実施形態においては、プロセッサ18は、ずれ量取得部52として機能して、カメラ座標系Cにおける差x及びy(又はE)を求め、該差x及びy(又はE)と、ツール座標系Cとカメラ座標系Cとの既知の位置関係(具体的には、第1の変換行列)とを用いて、ツール座標系Cにおけるずれ量x及びy(又はE)を求めている。この構成によれば、画像データ60から、制御座標系におけるずれ量x及びy(又はE)を、より高精度に求めることができる。
また、本実施形態においては、カメラ17は、その視線方向Dが軸線A(すなわち、ツール座標系のz軸)と一致するように可動電極46上の位置に配置されている。この場合、カメラ17が撮像する画像データ60の中心点Fに、ツール16の作業位置Fが配置されることになる。
この構成によれば、オペレータは、画像データ60を視認したときに、第nの目標位置Bからの作業位置Fのずれの大きさ及び方向を、直感的に把握することができる。また、ツール座標系Cとカメラ座標系Cとを校正するときに、視線方向D(ツール座標系のz軸)のパラメータのみを考慮すればよいので、校正作業を簡易化できる。
なお、カメラ17の設置位置は、図3に示す形態(すなわち、可動電極46の位置)に限定されない。以下、図6を参照して、ツール16に対するカメラ17の設置位置の他の例について説明する。図6に示す形態においては、カメラ17は、取り付け具62を介してベース部32に取り付けられて、ツール16に対して所定の位置関係に配置される。
具体的には、カメラ17は、その視線方向Dが軸線Aと平行であり、視線方向Dが軸線Aから所定の距離だけオフセットされ、且つ、カメラ17の視野に固定電極44が含まれるように、ツール16に対して固定されている。図6に示すカメラ17で、スポット溶接作業のための動作をツール16に実行させる時点τで第nの目標位置Bを撮像した画像データを画像化した例を、図7に示す。
図7に示す画像データ64においては、実際のスポット溶接作業時に可動電極46を固定電極44へ移動させたときに可動電極46及び固定電極44がワークWと当接して挟み込む作業位置F(又は、ツール座標系Cの原点)は、画像データ64の中心(すなわち、視線方向D)からずれることになる。
このときの画像データ64における作業位置Fの位置は、カメラ17(具体的には、視線方向D)とツール16(具体的には、固定電極44、又はツール座標系Cの原点)との位置関係に応じて、定められる。記憶部20は、画像データ64における作業位置Fの位置を示す情報として、カメラ座標系Cにおける作業位置Fの座標を記憶部20に予め記憶する。
プロセッサ18は、カメラ17が撮像した画像データ64を解析し、第nの目標位置Bを写す1つの画素のカメラ座標系Cにおける座標を取得し、該座標と、予め記憶された作業位置Fの座標とを用いて、カメラ座標系Cにおける差x及びy(又はE)を求める。
ここで、図6に示すカメラ17とツール16とは、互いに既知の位置関係に配置されているので、図6中のツール座標系Cとカメラ座標系Cとの位置関係を表す第2の変換行列(例えば同次変換行列)の各パラメータは、ツール座標系Cとカメラ座標系とを校正することにより、求めることができる。この校正により、ツール座標系Cの座標と、カメラ座標系Cの座標とは、第2の変換行列を介して、相互に変換できる。
プロセッサ18は、第2の変換行列を用いて、カメラ座標系Cにおける差x及びy、又は差Eを、ツール座標系Cにおけるずれ量x及びy、又はずれ量Eに変換する。こうして、プロセッサ18は、時点τでの作業位置Fと第nの目標位置Bとの間のずれ量x及びy(又はE)を取得できる。
図8に、ツール16に対するカメラ17の設置位置のさらに他の例を示す。図8に示す形態においては、カメラ17は、ツール16に対して、その視線方向Dが軸線Aに対して所定の角度θで傾斜し、且つ、カメラ17の視野に固定電極44が含まれる位置関係に、固定されている。図8に示すカメラ17で、スポット溶接作業のための動作をツール16に実行させる時点τで第nの目標位置Bをカメラ17で撮像した画像データを画像化した例を、図9に示す。
図9に示す画像データ66における作業位置F(又は、ツール座標系Cの原点)の位置は、カメラ17とツール16との位置関係に応じて定められる。例えば、カメラ17がツール16に対して、その視線方向Dがツール座標系Cの原点を通過する位置関係に配置された場合、画像データ66の中心点Fを作業位置Fと見做すことができる。記憶部20は、画像データ66における作業位置Fの位置を示す情報として、カメラ座標系Cにおける作業位置Fの座標を記憶部20に予め記憶する。
プロセッサ18は、カメラ17が撮像した画像データ66を解析し、第nの目標位置Bを写す1つの画素のカメラ座標系Cにおける座標を取得し、該座標と、予め記憶された作業位置Fの座標とを用いて、カメラ座標系Cにおける差x及びy(又はE)を求める。
図8に示すカメラ17とツール16とは、互いに既知の位置関係に配置されているので、図8中のツール座標系Cとカメラ座標系Cとの位置関係を表す第3の変換行列(例えば同次変換行列)の各パラメータは、ツール座標系Cとカメラ座標系とを校正することにより、求めることができる。この校正により、ツール座標系Cの座標と、カメラ座標系Cの座標とは、第3の変換行列を介して、相互に変換できる。
プロセッサ18は、第3の変換行列を用いて、カメラ座標系Cにおける差x及びy、又は差Eを、ツール座標系Cにおけるずれ量x及びy、又はずれ量Eに変換する。こうして、プロセッサ18は、時点τでの作業位置Fと第nの目標位置Bとの間のずれ量x及びy(又はE)を取得できる。
次に、図10及び図11を参照して、他の実施形態に係る機械システム70について説明する。機械システム70は、上述の機械システム10と、光照射装置72をさらに備える点で相違する。なお、本実施形態におけるカメラ17とツール16との位置関係は、図6に示す形態と同じである。
光照射装置72は、例えばレーザポインタであって、光軸Oに沿って直進する光(例えば、レーザ光)を出力する。光照射装置72は、その光軸Oが軸線A(又は、ツール座標系Cのz軸)と一致するように、可動電極46上の位置に配置されている。図11に示す状態においては、可動アーム36は、軸線Aの方向における予め定めた位置(例えば、固定電極44から最も離反した後退位置)に静止して配置されている。
次に、機械システム70においてずれ量x、y、Eを取得する動作について説明する。プロセッサ18は、上述の実施形態と同様に、作業プログラムに従って移動機械14を動作させて、ツール16を第nの教示点Cへ移動させ、スポット溶接作業のための動作をツール16に実行させる時点τで、マーク等により視認可能とされている第nの目標位置Bを、カメラ17で撮像する。
ここで、本実施形態においては、プロセッサ18は、第nの目標位置Bをカメラ17で撮像する前に、光照射装置72を動作させて、光照射装置72に光を出力させる。時点τでカメラ17が撮像した画像データを画像化した例を図12に示す。図12に示す画像データ84においては、ワークW上の第nの目標位置Bとともに、光照射装置72からワークWの表面に照射された光86が写っている。
光照射装置72は、その光軸Oが軸線A(ツール座標系CTのz軸)と一致するように配置されているので、画像データ84における光86の位置は、実際のスポット溶接作業時に可動電極46及び固定電極44がワークWと当接して挟み込む作業位置Fを示すものと見做すことができる。
プロセッサ18は、画像データ84において光86を写す1つの画素(例えば、光86の画像領域の中心の画素)のカメラ座標系Cにおける座標を取得し、該座標を、画像データ84における作業位置Fの位置を示す情報として記憶部20に記憶する。また、プロセッサ18は、カメラ17が撮像した画像データ84を解析し、第nの目標位置Bを写す1つの画素のカメラ座標系Cにおける座標を取得する。そして、プロセッサ18は、画像データ84に写る光86から求めた作業位置Fの座標と、第nの目標位置Bの座標とを用いて、カメラ座標系Cにおける差x及びy(又はE)を求める。
そして、プロセッサ18は、図11中のツール座標系Cとカメラ座標系Cとの位置関係を表す第2の変換行列を用いて、カメラ座標系Cにおける差x及びy、又は差Eを、ツール座標系Cにおけるずれ量x及びy、又はずれ量Eに変換する。こうして、プロセッサ18は、時点τでの作業位置Fと第nの目標位置Bとの間のずれ量x及びy(又はE)を取得できる。
本実施形態においては、カメラ17、記憶部20、ずれ量取得部52、位置補正部54、及び光照射装置72は、第nの目標位置Bに対するツール16の作業位置Fのずれ量x、y、Eを取得する装置80(図10)を構成する。そして、光照射装置72が、カメラ17が画像データ84を撮像するときに、作業位置Fを示すための光をワークWに照射している。
本実施形態によれば、画像データ84における作業位置Fの位置を示す情報を予め準備する必要がなく、画像データ84に写る光86から、該画像データ84における作業位置Fの位置を示す情報(すなわち、画像データ84において光86を写す画素のカメラ座標系Cにおける座標)を自動で取得できる。
なお、上述の実施形態において、カメラ17は、時点τよりも時間tだけ前の時点τ-t、又は、時点τよりも時間tだけ後の時点τ+tで、第nの目標位置Bをさらに撮像してもよい。換言すれば、カメラ17は、時点τを含む、時系列的に連続する複数の時点τ-t、τ、τ+tで、第nの目標位置Bを周期tで連続的に撮像(すなわち、動画撮影)してもよい。連写の周期tは、カメラ17の光学的仕様等に応じて定められ得る。
以下、図3に示す実施形態においてカメラ17が時点τ-t、τ、及びτ+tで第nの目標位置Bを連続的に撮像した場合について説明する。図13に、時点τ-tで第nの目標位置Bを撮像した画像データを画像化した例を示す。また、図14に、時点τ+tで第nの目標位置Bを撮像した画像データを画像化した例を示す。なお、図13及び図14においては、参考のために、図5に示す画像データ60中の第nの目標位置Bの位置を、白点Gで示している。
図13に示すように、時点τ-tでカメラ17が撮像した画像データ90においては、第nの目標位置Bは、画像データ90の中心点(すなわち、作業位置)Fから、カメラ座標系Cのx軸プラス方向へ差x’、y軸プラス方向へ差y’だけ、ずれている。換言すれば、第nの目標位置Bは作業位置Fから、差E’(|E’|=(x+y1/2)だけ、ずれている。
プロセッサ18は、上述した方法によって、カメラ座標系Cにおける差x’及びy’、又は差E’を求め、第1の変換行列を用いて、カメラ座標系Cにおける差x’及びy’、又は差E’を、ツール座標系Cにおけるずれ量x’及びy’、又はずれ量E’に変換し、時点τ-tでの作業位置Fと第nの目標位置Bとの間のずれ量x’及びy’(又はE’)を取得できる。
一方、図14に示すように、時点τ+tでカメラ17が撮像した画像データ92においては、第nの目標位置Bは、画像データ92の中心点(すなわち、作業位置)Fから、カメラ座標系Cのx軸プラス方向へ差x”、y軸プラス方向へ差y”だけ、ずれている。換言すれば、第nの目標位置Bは作業位置Fから、差E”(|E”|=(x+y1/2)だけ、ずれている。
プロセッサ18は、上述した方法によって、カメラ座標系Cにおける差x”及びy”、又は差E”を求め、第1の変換行列を用いて、カメラ座標系Cにおける差x”及びy”、又は差E”を、ツール座標系Cにおけるずれ量x”及びy”、又はずれ量E”に変換し、時点τ+tでの作業位置Fと第nの目標位置Bとの間のずれ量x”及びy”(又はE”)を取得できる。このように、異なる複数の時点τ-t、τ、τ+tで、ずれ量が異なり得る。本実施形態においては、プロセッサ18は、異なる複数の時点τ-t、τ、τ+tで、ずれ量をそれぞれ取得する。
ここで、作業対象のワークWの実際の寸法(例えば、厚み)には、バラツキが生じる可能性がある。ワークWの寸法にバラツキが生じると、該寸法に応じて、実際のスポット溶接作業時に可動電極46及び固定電極44がワークWと当接して挟み込む時点も変動することになる。
例えば、ワークWの厚みの公称寸法がaであり、寸法公差が±0.1であり、且つ、時点τが、公称寸法aのワークWに対して可動電極46及び固定電極44が当接する時点として設定されたと仮定する。この場合において、実際の寸法がa+0.1である(つまり、公称厚み寸法aよりも厚い)ワークWを可動電極46及び固定電極44で挟持させると、可動電極46及び固定電極44が該ワークWに当接する時点は、時点τよりも前の時点となる。
反対に、実際の厚み寸法がa-0.1である(つまり、公称厚み寸法aよりも薄い)ワークWを可動電極46及び固定電極44で挟持させると、可動電極46及び固定電極44が該ワークWに当接する時点は、時点τよりも後の時点となる。したがって、ワークWの実際の厚み寸法が、公称厚み寸法aよりも薄い又は厚い場合、時点τで第nの目標位置Bを撮像したとしても、このときの画像データ中の第nの目標位置Bは、可動電極46及び固定電極44が該ワークWに当接する時点の位置を示していないことになり得る。
そこで、本実施形態においては、カメラ17は、異なる複数の時点τ-t、τ、τ+tで第nの目標位置Bを連写(動画撮影)し、プロセッサ18は、取得した複数の画像データ60、90、92の各々に関して、ずれ量x及びy(又はE)、x’及びy’(又はE’)、並びに、x”及びy”(又はE”)を取得する。
例えば、時点τ-tが、a+0.1の寸法のワークWに対して可動電極46及び固定電極44が当接する時点に対応し、時点τ+tが、a-0.1の寸法のワークWに対して可動電極46及び固定電極44が当接する時点に対応しているとすると、プロセッサ18は、公称寸法aのワークWに関するずれ量x及びy(又はE)と、公称寸法a±寸法公差の寸法のワークWに関するずれ量x’及びy’(又はE’)、及び、ずれ量x”及びy”(又はE”)とを、それぞれ取得できることになる。
このように、複数の時点τ-t、τ、τ+tで撮像した画像データ60、90、92からずれ量を取得することによって、ワークWの寸法のバラツキに対応したずれ量を取得することができ得る。一例として、プロセッサ18は、以下の表1の画像を生成し、制御装置12に設けられたディスプレイ(図示せず)に表示させてもよい。
オペレータは、表1を参照することにより、第nの目標位置Bに対するツール16の作業位置Fのずれ量を、寸法公差を考慮して統計的に分析することが可能となる。なお、本実施形態においては、一例として、3つの時点τ-t、τ、τ+tでカメラ17が第nの目標位置Bを撮像した場合について述べたが、公称寸法aのワークWに対応する時点τを含む、4以上の時点で第nの目標位置Bを連写してもよい。これにより、ずれ量をより詳細に分析できる。
なお、上述の実施形態においては、ツール16がスポット溶接ガンである場合について述べたが、ツールはスポット溶接ガンに限定されない。以下、図15を参照して、他の実施形態に係るツール96について説明する。ツール96は、光軸Pに沿ってレーザ光を出射し、作業位置FでワークWをレーザ加工するレーザ加工ヘッドである。ツール96は、上述のツール16の代わりに、移動機械14の手首部30に取り付けられる。
プロセッサ18は、ツール96の外部に設けられたレーザ発振器(図示せず)にレーザ発振指令を送り、該レーザ発振器は、光ファイバ等の導光路を通してレーザ光をツール96に供給する。ツール96は、出射口96aからレーザ光を光軸Pに沿って出射し、該レーザ光によってワークWをレーザ加工(レーザ切断、レーザ溶接等)する。ツール96に対して、ツール座標系Cが設定されている。本実施形態においては、ツール座標系Cは、その原点が出射口96aの中心に位置し、ツール座標系Cのz軸が光軸Pと一致する(又は平行となる)ように、ツール96に対して設定されている。
プロセッサ18は、例えば図4に示すワークW上の第nの目標位置B(n=1,2、・・・)の各々に対してレーザ加工作業を行う。具体的には、プロセッサ18は、移動機械14を動作させて、ツール96を、第nの目標位置Bに対するレーザ加工作業を実行するための第nの教示点Cに配置させる。このとき、プロセッサ18は、ツール座標系Cを、その原点が第nの教示点Cに配置され、且つ、そのz軸(すなわち、光軸P)が第nの目標位置Bを通過するように、設定する。
そして、プロセッサ18は、レーザ発振器にレーザ発振指令を送り、ツール96からレーザ光を出射し、該レーザ光によって、ワークWを作業位置Fでレーザ加工する。すなわち、本実施形態における作業位置Fは、ツール96がワークW上にレーザ光を照射する位置(又は、光軸PとワークWの表面との交点)である。
プロセッサ18は、このようなレーザ加工作業を、全ての目標位置Bに対して繰り返し実行する。プロセッサ18は、このようなレーザ加工作業のための一連の動作を、作業プログラムに従って実行する。この作業プログラムは、記憶部20に予め記憶される。作業プログラムは、第nの教示点Cの位置情報、ツール96を第nの教示点Cへ位置決めするための位置決め指令、レーザ発振器へのレーザ発振指令等を含む。
プロセッサ18が作業プログラムに従ってツール96を第nの教示点Cに配置して、該ツール96からレーザ光を出力する動作を行ったときに、該レーザ光が実際にワークW上に照射される作業位置Fが第nの目標位置Bからずれ得る。そこで、装置50は、上述の実施形態と同様に、第nの目標位置Bに対するツール96の作業位置Fのずれ量を取得する。
図15に示すように、装置50のカメラ17は、ツール96に対して所定の位置関係に配置される。具体的には、カメラ17は、その視線方向Dが光軸P(すなわち、ツール座標系Cのz軸)と一致するように、ツール96の出射口96aに配置されている。
ずれ量を取得するとき、プロセッサ18は、作業プログラムに従って移動機械14を動作させて、ツール96を第nの教示点Cへ向かって移動させる。そして、プロセッサ18は、カメラ17に指令を送り、第nの目標位置Bに対するレーザ加工作業のための動作をツール96に実行させる時点τで、該第nの目標位置Bをカメラ17で撮像する。
一例として、本実施形態における時点τは、プロセッサ18がレーザ発振器へレーザ発振指令を送信した時点に設定され得る。他の例として、時点τは、ツール96からレーザ光が実際に出射される時点に設定され得る。プロセッサ18がレーザ発振器へレーザ発振指令を送信した時点から、ツール96がレーザ光を実際に出射するまでの時間τは、レーザ発振器の仕様等から予測可能である。したがって、ツール96からレーザ光が実際に出射される時点τは、レーザ発振器へレーザ発振指令を送信した時点から時間τだけ経過した時点として、定めることができる。
こうして、カメラ17は、時点τで、図5に示すように第nの目標位置Bが写る画像データ60を撮像する。本実施形態においては、カメラ17がツール96に対して、その視線方向Dが光軸Pと一致する位置関係に配置されているので、撮像した画像データ60においては、その中心点(中心の画素)Fが、実際のレーザ加工作業時にレーザ光がワークW上に照射される作業位置Fであると見做すことができる。そして、プロセッサ18は、ずれ量取得部52として機能して、図3の実施形態と同様に、画像データ60からずれ量x及びy(又はE)を取得できる。そして、プロセッサ18は、図3の実施形態と同様に、位置補正部54として機能して、ずれ量x及びy(又はE)に基づいて第nの教示点Cを補正する。
なお、図15に示す実施形態において、カメラ17は、ツール96に対して、その視線方向Dが光軸Pと平行であり、且つ、視線方向Dが光軸Pから所定の距離だけオフセットされる位置関係に配置されてもよい。この場合、プロセッサ18は、図6に示す実施形態と同様の方法を用いて、ずれ量x及びy(又はE)を取得できる。
代替的には、図15に示す実施形態において、カメラ17は、ツール96に対して、その視線方向Dが光軸Pに対して所定の角度θで傾斜する位置関係に配置されてもよい。この場合、プロセッサ18は、図8に示す実施形態と同様の方法を用いて、ずれ量x及びy(又はE)を取得できる。
次に、図16~図18を参照して、さらに他の実施形態に係るツール98について説明する。ツール98は、第nの部品I(n=1、2、3、・・・)を把持し、ワークWに形成された第nの穴Hに嵌合させるロボットハンドである。第nの部品Iは、中心軸線Qを有する棒状(例えば、円柱状)の部材である。また、第nの穴Hは、ワークW上の第nの目標位置Bに形成され、中心軸線Rを有する。例えば、第nの目標位置Bは、ワークWの表面上の第nの穴Hの開口中心として定義され得る。この場合、軸線Rは、第nの目標位置Bを通過する。
ツール98は、上述のツール16の代わりに、移動機械14の手首部30に取りけられる。具体的には、ツール98は、手首部30に連結されたハンドベース100と、該ハンドベース100に開閉可能に設けられた複数の指部102と、該複数の指部102を開閉させる駆動部104とを有する。駆動部104は、例えばエアシリンダ又はモータであって、指部102を開閉させることにより、物体を把持したり、解放したりできる。
ツール98に対して、ツール座標系Cが設定されている。本実施形態においては、ツール座標系Cは、その原点が、指部102の把持位置(又は、複数の指部102の間)に位置し、ツール座標系Cのz軸が、指部102の開閉方向と直交するように、ツール98に対して設定されている。
次に、図16及び図17を参照して、ツール98が行う嵌合作業について、説明する。ワークWは、例えば、治具等により所定の位置に固定されてもよいし、又は、ベルトコンベア等で移動されてもよい。プロセッサ18は、移動機械14を動作させて、所定の保管場所に収容された第nの部品Iをツール98で把持する。このとき、ツール98は、ツール座標系Cのz軸が軸線Qに一致するように、第nの部品Iを把持する。
次いで、プロセッサ18は、移動機械14を動作させて、ツール98を、第nの穴Hに第nの部品Iを嵌合する嵌合作業を実行するための第nの教示点Cに、配置させる。具体的には、プロセッサ18は、ツール座標系Cを、その原点が第nの教示点Cに配置され、且つ、そのz軸(すなわち、軸線Q)が、第nの穴Hの軸線Rに略一致するように、設定する。
そして、プロセッサ18は、ツール98の位置を、設定したツール座標系Cによって規定される位置に一致させるように、移動機械14を動作させる。その結果、ツール98、及び該ツール98が把持する第nの部品Iは、ワークWに対して図16に示すように配置される。次いで、プロセッサ18は、移動機械14に嵌合開始指令を送信する。そうすると、移動機械14は、ツール98を、ツール座標系Cのz軸マイナス方向へ移動させて、ツール98が把持する第nの部品Iを第nの穴Hに嵌合させる。その結果、図17に示すように、ツール98によって第nの部品Iが第nの穴Hに嵌合される。
プロセッサ18は、このような嵌合作業を繰り返し実行し、複数の部品Iを、複数の穴Bにそれぞれ嵌合する。プロセッサ18は、このような嵌合作業のための一連の動作を、作業プログラムに従って実行する。この作業プログラムは、第nの教示点Cの位置情報、ツール98を第nの教示点Cへ位置決めするための位置決め指令、嵌合開始指令等を含む。
ここで、プロセッサ18が作業プログラムに従って第nの部品Iを第nの穴Hに嵌合させる嵌合作業を行ったときに、第nの部品IがワークWと係合する作業位置が、第nの穴H(すなわち、第nの目標位置B)からずれ得る。そこで、本実施形態においては、装置50は、上述の実施形態と同様に、第nの目標位置Bに対するツール98の作業位置のずれ量を取得する。
図18に示すように、装置50のカメラ17は、ツール98に対して所定の位置関係に配置されるように、該ツール98によって把持される(又は、ツール98に固定される)。具体的には、カメラ17は、その視線方向Dが、ツール98によって把持される第nの部品Iの軸線Q(又は、ツール座標系Cのz軸)と一致するように、配置されている。
ずれ量を取得するとき、プロセッサ18は、作業プログラムに従って移動機械14を動作させて、ツール98を第nの教示点Cへ向かって移動させる。そして、プロセッサ18は、カメラ17に指令を送り、第nの目標位置B(第nの穴H)に対する嵌合作業のための動作をツール98に実行させる時点τで、該第nの目標位置Bをカメラ17で撮像する。
一例として、本実施形態における時点τは、プロセッサ18が移動機械14へ嵌合開始指令を送信した時点に設定され得る。他の例として、時点τは、ツール98が把持する第nの部品IがワークWと係合する(又は、第nの部品Iの先端がワークWの表面に到達する)時点に設定され得る。
プロセッサ18が嵌合開始指令を送信した時点から、ツール98が把持する第nの部品IがワークWと係合するまでの時間τは、移動機械14のサーボモータ31の加減速特性等から予測可能である。したがって、ツール98が把持する第nの部品IがワークWと係合する時点τは、嵌合開始指令を送信した時点から時間τだけ経過した時点として、定めることができる。
こうして、カメラ17は、時点τで、第nの目標位置B(第nの穴H)を撮像する。このときにカメラ17が撮像した画像データを画像化した例を、図19に示す。図19に示す画像データ106においては、ワークWに形成された第nの穴Hが写っている。一例として、プロセッサ18は、画像データ106を解析して第nの穴Hの中心点を検出し、検出した該中心点のカメラ座標系Cにおける座標を、第nの目標位置Bのカメラ座標系Cにおける座標として取得する。
また、本実施形態においては、カメラ17がツール98に対して、その視線方向Dが軸線Q(ツール座標系のz軸)と一致する位置関係に配置されているので、撮像した画像データ106の中心点(中心の画素)Fが、実際の嵌合作業時に第nの部品IがワークWと係合する作業位置Fであると見做すことができる。
そして、プロセッサ18は、ずれ量取得部52として機能して、カメラ座標系Cにおける第nの目標位置B及び作業位置Fの座標を用いて差x及びy(又はE)を求め、図3に示す実施形態と同様に、画像データ106からずれ量x及びy(又はE)を取得できる。そして、プロセッサ18は、図3の実施形態と同様に、位置補正部54として機能して、ずれ量x及びy(又はE)に基づいて第nの教示点Cを補正する。
なお、図18に示す実施形態において、カメラ17は、ツール98に対して、その視線方向Dが軸線Q(ツール座標系Cのz軸)と平行であり、且つ、視線方向Dが軸線Qから所定の距離だけオフセットされる位置関係に配置されてもよい。この場合、プロセッサ18は、図6に示す実施形態と同様の方法を用いて、ずれ量x及びy(又はE)を取得できる。
代替的には、図18に示す実施形態において、カメラ17は、ツール98に対して、その視線方向Dが軸線Qに対して所定の角度θで傾斜する位置関係に配置されてもよい。この場合、プロセッサ18は、図8に示す実施形態と同様の方法を用いて、ずれ量x及びy(又はE)を取得できる。
なお、上述の実施形態においては、制御装置12が、移動機械14及びツール16、96又は98を制御している。しかしながら、これに限らず、制御装置12が移動機械14を制御する一方、ツール16、96又は98は、制御装置12とは別の制御装置によって制御されてもよい。このような形態を図20に示す。
図20に示す機械システム110は、制御装置12、移動機械14、ツール16、96、又は98、カメラ17、及び第2の制御装置112を備える。第2の制御装置112は、制御装置12と通信可能に接続されている。第2の制御装置112は、プロセッサ114と、該プロセッサ114とバス116を介して通信可能に接続された記憶部20とを有する。プロセッサ114は、ツール16、96、又は98を制御する。プロセッサ114は、装置50のずれ量取得部52及び位置補正部54として機能する。また、プロセッサ114は、カメラ17に指令を送り、該カメラ17の撮像動作を制御する。
なお、ずれ量取得部52は、制御装置12又は112とは別に設けられてもよい。このような形態を図21に示す。図21に示す機械システム120は、制御装置12、移動機械14、ツール16、96、又は98、及び装置122を備える。装置122は、上述の装置50と同様に、第nの目標位置Bに対するツール16、96、又は98の作業位置のずれ量を取得するものであって、ずれ量取得部52及びカメラ17を備える。カメラ17は、制御装置12に接続され、時点τで第nの目標位置Bを撮像する。ずれ量取得部52は、プロセッサ及び記憶部を有する1つのコンピュータから構成され得る。
なお、上述の実施形態においては、プロセッサ18が、カメラ座標系Cにおける差x及びy、又は差Eを、ツール座標系Cにおけるずれ量x及びy、又はずれ量Eに変換する場合について述べた。しかしながら、これに限らず、プロセッサ18は、カメラ座標系Cにおける差x及びy、又は差Eを、移動機械座標系C(又は、ワールド座標系)に変換してもよい。
例えば、プロセッサ18は、ツール座標系Cにおけるずれ量を求めた後に、ツール座標系Cにおけるずれ量を、移動機械座標系C(又は、ワールド座標系)に変換してもよい。又は、オペレータは、カメラ座標系Cと移動機械座標系C(又は、ワールド座標系)とを予め校正しておき、プロセッサ18は、カメラ座標系Cにおける差x、y、Eを移動機械座標系C(又は、ワールド座標系)に変換することで、移動機械座標系C(又は、ワールド座標系)におけるずれ量を取得してもよい。
また、ツール16、96、又は98に対するツール座標系Cの位置は、上述した実施形態に限定されず、如何なる位置であってもよい。また、図3、図6、又は図8に示す実施形態において、プロセッサ18は、カメラ17で第nの目標位置Bを撮像するときに可動アーム36を移動させてもよい。以上、実施形態を通じて本開示を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。
10,70,110,120 機械システム
12,112 制御装置
14 移動機械
16,96,98 ツール
17 カメラ
18,114 プロセッサ
20 記憶部
50,80,122 装置
52 ずれ量取得部
54 位置補正部

Claims (12)

  1. 移動機械によってツールを移動させて該ツールでワークの目標位置に対して作業を行うときの該目標位置に対する該ツールの作業位置のずれ量を取得する装置であって、
    前記ツールに対して所定の位置関係に配置され、前記ツールに前記作業のための動作を実行させる第1の時点で前記目標位置を撮像するカメラと、
    前記目標位置の、前記カメラが撮像した画像データにおける位置と、前記作業位置の該画像データにおける位置を示す情報と、に基づいて、前記第1の時点での前記作業位置と前記目標位置との間のずれ量を取得するずれ量取得部と、を備える、装置。
  2. 前記情報を予め記憶する記憶部をさらに備える、請求項1に記載の装置。
  3. 前記ツールに設けられ、前記カメラが前記画像データを撮像するときに、前記作業位置を示すための光を前記ワークに照射する光照射装置をさらに備え、
    前記ずれ量取得部は、前記画像データにおける前記光の位置を前記情報として用いて、前記ずれ量を取得する、請求項1に記載の装置。
  4. 前記ツールは、前記作業を行うときに前記ワークと前記作業位置で当接し、
    前記第1の時点は、前記ツールを前記ワークに当接させる時点である、請求項1~3のいずれか1項に記載の装置。
  5. 前記ツールは、固定電極と、該固定電極に対して接近及び離反するように軸線に沿って移動する可動電極と、を有する溶接ガンであって、
    前記カメラは、該カメラの視線方向が前記軸線と平行となるように、配置される、請求項1~4のいずれか1項に記載の装置。
  6. 前記カメラは、前記視線方向が前記軸線と一致するように、前記可動電極の位置に配置される、請求項5に記載の装置。
  7. 前記ツールは、光軸に沿ってレーザ光を出射するレーザ加工ヘッドであって、
    前記カメラは、該カメラの視線方向が前記光軸と一致するように、配置される、請求項1~3のいずれか1項に記載の装置。
  8. 前記ツールは、部品を把持し、該部品を前記目標位置に設けられた穴に嵌合させるロボットハンドであって、
    前記カメラは、該カメラの視線方向が、前記ツールが把持する前記部品の軸線と平行となるように、配置される、請求項1~3のいずれか1項に記載の装置。
  9. 前記ずれ量取得部が取得した前記ずれ量に基づいて、前記第1の時点で前記作業位置が前記目標位置に配置されるように前記移動機械の位置を補正する位置補正部をさらに備える、請求項1~8のいずれか1項に記載の装置。
  10. 前記カメラは、前記第1の時点の前又は後の第2の時点で前記目標位置をさらに撮像し、
    前記ずれ量取得部は、前記目標位置の、前記第2の時点で前記カメラが撮像した第2の画像データにおける位置と、前記作業位置の該第2の画像データにおける位置を示す情報とに基づいて、前記第2の時点での前記ツールと前記目標位置との間の第2のずれ量をさらに取得する、請求項1~9のいずれか1項に記載の装置。
  11. 前記ずれ量取得部は、
    前記画像データの座標を規定するカメラ座標系における前記目標位置の座標と、前記カメラ座標系における前記作業位置の座標と、を用いて、前記カメラ座標系における前記目標位置と前記作業位置との差を求め、
    前記ツール又は前記移動機械に対して設定される制御座標系と前記カメラ座標系との既知の位置関係と前記差とを用いて、前記制御座標系における前記ずれ量を取得する、請求項1~10のいずれか1項に記載の装置。
  12. 移動機械によってツールを移動させて該ツールでワークの目標位置に対して作業を行うときの該目標位置に対する該ツールの作業位置のずれ量を取得する方法であって、
    前記ツールに対して所定の位置関係に配置されたカメラで、前記ツールに前記作業のための動作を実行させる第1の時点で前記目標位置を撮像し、
    前記目標位置の、前記カメラが撮像した画像データにおける位置と、前記作業位置の該画像データにおける位置を示す情報と、に基づいて、前記第1の時点での前記作業位置と前記目標位置との間のずれ量を取得する、方法。
JP2023195230A 2019-06-27 2023-11-16 ツールの作業位置のずれ量を取得する装置、及び方法 Pending JP2024009106A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023195230A JP2024009106A (ja) 2019-06-27 2023-11-16 ツールの作業位置のずれ量を取得する装置、及び方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019120255A JP2021003794A (ja) 2019-06-27 2019-06-27 ツールの作業位置のずれ量を取得する装置、及び方法
JP2023195230A JP2024009106A (ja) 2019-06-27 2023-11-16 ツールの作業位置のずれ量を取得する装置、及び方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019120255A Division JP2021003794A (ja) 2019-06-27 2019-06-27 ツールの作業位置のずれ量を取得する装置、及び方法

Publications (1)

Publication Number Publication Date
JP2024009106A true JP2024009106A (ja) 2024-01-19

Family

ID=73747786

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019120255A Pending JP2021003794A (ja) 2019-06-27 2019-06-27 ツールの作業位置のずれ量を取得する装置、及び方法
JP2023195230A Pending JP2024009106A (ja) 2019-06-27 2023-11-16 ツールの作業位置のずれ量を取得する装置、及び方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2019120255A Pending JP2021003794A (ja) 2019-06-27 2019-06-27 ツールの作業位置のずれ量を取得する装置、及び方法

Country Status (4)

Country Link
US (1) US11964396B2 (ja)
JP (2) JP2021003794A (ja)
CN (1) CN112140104A (ja)
DE (1) DE102020116342A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7290537B2 (ja) * 2019-10-09 2023-06-13 川崎重工業株式会社 補正システム、補正方法、ロボットシステム及び制御装置
CN113175919B (zh) * 2021-05-17 2021-12-14 力野精密工业(深圳)有限公司 一种汽车五金传递模摄影测量装置及方法
JP2022181762A (ja) * 2021-05-27 2022-12-08 株式会社東芝 作業支援装置、作業支援方法、および作業支援プログラム
CN113770497B (zh) * 2021-06-12 2023-02-10 中国第一汽车股份有限公司 一种机器人点焊过程中实际加压位置的检测装置及方法
CN113414482B (zh) * 2021-06-15 2023-05-16 中国第一汽车股份有限公司 一种检测机器人点焊电极位置补偿功能的装置和方法
CN114002243A (zh) * 2021-10-25 2022-02-01 中国科学院高能物理研究所 一种ct成像系统世界坐标系的校准装置及方法
CN114918926B (zh) * 2022-07-22 2022-10-25 杭州柳叶刀机器人有限公司 机械臂视觉配准方法、装置、控制终端及存储介质
DE102022213568B3 (de) 2022-12-13 2024-02-29 Kuka Deutschland Gmbh Kalibrieren einer Steuerung
CN117123520A (zh) * 2023-02-06 2023-11-28 荣耀终端有限公司 实现对目标工件擦胶的方法及擦胶设备

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61279481A (ja) 1985-06-01 1986-12-10 株式会社安川電機 ロボツトの作業開始点検出制御方法
JPH05318280A (ja) * 1992-05-19 1993-12-03 Hitachi Constr Mach Co Ltd 研削ロボットの研削姿勢生成装置
JPH08286701A (ja) * 1995-04-11 1996-11-01 Nissan Motor Co Ltd 複数ロボット制御方法およびシステム
JP4089683B2 (ja) * 2004-11-10 2008-05-28 トヨタ自動車株式会社 内燃機関の排気浄化装置
US20070075048A1 (en) * 2005-09-30 2007-04-05 Nachi-Fujikoshi Corp. Welding teaching point correction system and calibration method
JP2007122705A (ja) * 2005-09-30 2007-05-17 Nachi Fujikoshi Corp 溶接教示位置補正システム及びキャリブレーション方法
JP2007190576A (ja) * 2006-01-17 2007-08-02 Japan Unix Co Ltd レーザー式はんだ付け装置
JP2009125839A (ja) 2007-11-21 2009-06-11 Nachi Fujikoshi Corp 溶接教示位置補正システム
CN102581445B (zh) 2012-02-08 2014-08-13 中国科学院自动化研究所 机器人的视觉实时纠偏系统和纠偏方法
CN105345264B (zh) * 2015-12-03 2017-04-26 华中科技大学 一种针对复杂曲面构件的激光焊接实时在线监控系统
JP6601285B2 (ja) 2016-03-15 2019-11-06 オムロン株式会社 レーザ加工システムおよび加工制御方法
JP2017185517A (ja) * 2016-04-04 2017-10-12 株式会社タマリ工業 レーザ溶接装置
DE112017005958T5 (de) * 2017-03-09 2019-08-29 Mitsubishi Electric Corporation Robotersteuerung und Kalibrierungsverfahren
JP2018176164A (ja) * 2017-04-03 2018-11-15 株式会社タマリ工業 レーザ溶接装置
JP6538751B2 (ja) * 2017-05-18 2019-07-03 ファナック株式会社 プログラミング装置及びロボット制御方法
CN207858011U (zh) * 2018-01-22 2018-09-14 深圳市迈威测控技术有限公司 自动校准送锡的激光焊锡装置
CN113900436B (zh) * 2021-09-07 2023-11-07 杭州申昊科技股份有限公司 巡检控制方法、装置、设备和存储介质
CN115488926A (zh) * 2022-09-19 2022-12-20 中铭谷智能机器人(广东)有限公司 一种机器人重复定位精度测量装置及测量方法

Also Published As

Publication number Publication date
JP2021003794A (ja) 2021-01-14
US11964396B2 (en) 2024-04-23
US20200406464A1 (en) 2020-12-31
DE102020116342A1 (de) 2020-12-31
CN112140104A (zh) 2020-12-29

Similar Documents

Publication Publication Date Title
JP2024009106A (ja) ツールの作業位置のずれ量を取得する装置、及び方法
CN108406091B (zh) 激光加工头及具备拍摄装置的激光加工系统
JP6900290B2 (ja) ロボットシステム
JP6188440B2 (ja) ロボット装置及びロボット制御方法
JP7153085B2 (ja) ロボットキャリブレーションシステム及びロボットキャリブレーション方法
JP4167940B2 (ja) ロボットシステム
JP6869159B2 (ja) ロボットシステム
US20180161985A1 (en) Control device, robot, and robot system
JP2021003794A5 (ja)
TWI667090B (zh) 雷射加工裝置
CN112549052A (zh) 用于调整机器人支承的部件位置的机器人装置的控制装置
JP2007122705A (ja) 溶接教示位置補正システム及びキャリブレーション方法
KR20210117307A (ko) 툴링 경로 생성이 개선된 산업용 로봇 장치, 및 개선된 툴링 경로에 따라 산업용 로봇 장치를 작동시키기 위한 방법
JP2021013983A (ja) 移動機械の移動軌跡のずれを取得する装置、及び方法
JP5509859B2 (ja) ロボット制御装置及び方法
JP2000263273A (ja) Yagレーザ加工機のティーチング方法及びその装置
JP6725344B2 (ja) プレスブレーキ及び角度検出装置
JP2000326082A (ja) レーザ加工機
JPH09222913A (ja) ロボットの教示位置補正装置
JP4280338B2 (ja) Yagレーザ加工機のティーチング方法およびその装置
JP4244705B2 (ja) 回転機構付きレーザ加工ヘッドのキャリブレーション装置およびその方法
JP6343930B2 (ja) ロボットシステム、ロボット制御装置、及びロボット制御方法
US10955237B2 (en) Measurement method and measurement apparatus for capturing the surface topology of a workpiece
JP4469436B2 (ja) Yagレーザ加工機のティーチング方法及びその装置
US20230123629A1 (en) 3d computer-vision system with variable spatial resolution

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231116