JP2021186929A - 多軸ロボットの制御方法 - Google Patents
多軸ロボットの制御方法 Download PDFInfo
- Publication number
- JP2021186929A JP2021186929A JP2020094110A JP2020094110A JP2021186929A JP 2021186929 A JP2021186929 A JP 2021186929A JP 2020094110 A JP2020094110 A JP 2020094110A JP 2020094110 A JP2020094110 A JP 2020094110A JP 2021186929 A JP2021186929 A JP 2021186929A
- Authority
- JP
- Japan
- Prior art keywords
- axis
- robot
- jig
- work
- articulated robot
- 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
Links
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
【課題】多軸ロボットおよび/または冶具が変更された場合にも、動作プログラム通りの所定作業を、リティーチなしで多軸ロボットに実行させる。【解決手段】6軸多関節ロボット10を、所定作業を実行可能な状態にする制御方法である。6軸多関節ロボット10に所定姿勢をとらせ、各軸周りに±30°回転させた際のロボットフランジ13の位置を1軸ずつ測定する工程と、6軸多関節ロボット10の固有値を算出する工程と、冶具30に設定された基準点P1,P2,P3を測定する工程と、6軸多関節ロボット10と冶具30との、推定上の相対的な位置・姿勢関係を表す行列と、設計上の相対的な位置・姿勢関係を表す行列の逆行列との積に基づき補正量を算出する工程と、補正量に基づき動作プログラムを修正する工程と、修正後の動作プログラムを6軸多関節ロボット10にインストールする工程と、を含む。【選択図】図12
Description
本発明は、多軸ロボットの制御方法に関し、特に、多軸ロボットおよび/または冶具が変更された場合にも、冶具上のワークに対する所定作業を、所謂リティーチなしで多軸ロボットに実行させることが可能な多軸ロボットの制御方法に関するものである。
従来から、複数のリンクを軸関節で結合し、最終端に取り付けられたエンドエフェクタ(ハンドやツール)を用いて作業を行う多軸ロボットが知られている。このような多軸ロボットのエンドエフェクタを交換した場合には、交換の前後でエンドエフェクタの位置・姿勢に不可避的に誤差が生じるため、エンドエフェクタ交換後にロボットに作業位置を教示し直すリティーチを行うことが多いが、かかるリティーチには膨大な時間を要する。
そこで、例えば特許文献1には、ロボットの手首部に設けられた3箇所の位置基準体の位置に基づいて、手首部の交換前の位置・姿勢および交換後の位置・姿勢の偏差を求め、求めた偏差に基づいて、交換後の手首部を交換前の状態に補正するようにしたロボット制御装置が開示されている。
ところで、従来は、自動車等の生産工場では、例えば単一または少数の作業をそれぞれ担当する多軸ロボットをベルトコンベアの流れ方向に多数配置し、これら多数の多軸ロボットで工程を完成させる、少品種多量生産に適したライン生産方式が主流であった。
もっとも、最近では、消費者ニーズの多様化に応えるべく、多数の作業を担当する一乃至少数の多軸ロボットを、ワークが載置・固定される冶具の周りに配置し、これら一乃至少数の多軸ロボットで工程を完成させる、多品種少量生産に適したセル生産方式が多用されてきている。
かかるセル生産方式では、減産時等には、複数のセルで実行されている異なるロボット作業を1つのセルで集約して実行させる一方、増産時等には、1つのセルで実行されているロボット作業と同じロボット作業を複数のセルで併行して実行させるといった変更が頻繁に行われる。そのため、セル生産方式では、或るセルの多軸ロボットにインストールされている動作プログラムを異なるセルの多軸ロボットにインストールする作業や、セルを構成する多軸ロボットや冶具の移設や新設が頻繁に行われることになる。
にもかかわらず、セル間での動作プログラムの受け渡しや、セルの移設や新設等が行われた場合には、多軸ロボットを動作プログラム通りの所定作業を実行可能な状態にするための準備作業に膨大な時間が費やされているのが現実である。
例えば、多軸ロボットAおよび冶具Aで構成されるセルAで作業Aを行う一方、多軸ロボットBおよび冶具Bで構成されるセルBで作業Bを行っていると仮定する。この場合に、減産のためにセルAを廃止して、作業AもセルBで行わせようとすると、多軸ロボットAにインストールされている作業Aに対応する動作プログラムを多軸ロボットBにインストールする必要がある。
しかしながら、多軸ロボットAと多軸ロボットBとの間には、機体やギヤ等に製造上の寸法誤差が不可避的に存在し、また、設計通りに設置したつもりでも、多軸ロボットAと冶具Aとの距離・姿勢と、多軸ロボットBと冶具Bとの距離・姿勢との間にも不可避的に差異が存在する。それ故、作業Aに対応する動作プログラムを多軸ロボットBにインストールして作業Aを実行させようとしても、多軸ロボットBのロボットTCP(Robot Tool Center Point)と、冶具Bに載置・固定されるワークの作業点(作業対象箇所)とが微妙にずれるという事態が生じることになる。なお、このような問題は、増産時に、セルAと全く同じ構成のセルBを新設しようとする場合や、セルAを移設する場合等にも同様に生じ得る問題である。
このような問題に対し、例えば上記特許文献1に記載の技術で対処しようとしても、特許文献1のものは、多軸ロボット自体の製造上の寸法誤差や、多軸ロボットと冶具との関係には対応していないし、多軸ロボットの設置位置を補正することも容易ではない。
また、最も簡単な対処法として、例えば、多軸ロボットの実際の3次元位置と冶具の実際の3次元位置とを測定し、測定値と設計値の差だけ、多軸ロボットの制御量を補正することが考えられる。しかしながら、このような手法では、多軸ロボット自体の製造上の寸法誤差や、多軸ロボットおよび冶具の姿勢(3次元的な傾き)が加味されていないため、ロボットTCPと冶具上のワークの作業点とのズレは解消されない。
このため、現状は、多軸ロボットに動作プログラムをインストールした後、作業者がペンダントボックスを用いて、多軸ロボットに対し、前後左右上下の移動量を少しずつ入力して、多軸ロボットのアーム先端部に取り付けられたツールを実際に動かし、ロボットTCPと冶具上のワークの作業点とが一致したら、その作業点を多軸ロボットに記憶させるというリティーチを行うことが不可欠となっている。それ故、例えば動作プログラムに作業点が数千点存在すれば、このような煩雑なリティーチを数千点について逐一行わなければならず、このことが、準備作業に膨大な時間を要する原因となっている。
本発明はかかる点に鑑みてなされたものであり、その目的とするところは、多軸ロボットの制御方法において、多軸ロボットおよび/または冶具が変更された場合にも、動作プログラム通りの所定作業を、リティーチなしで多軸ロボットに実行させる技術を提供することにある。
前記目的を達成するため、本発明に係る多軸ロボットの制御方法では、必要最小限の測定数で、多軸ロボットの固有値および多軸ロボットと冶具との位置関係・姿勢関係を算出するとともに、これら位置関係・姿勢関係の推定値および設計値に基づいて、多軸ロボットへのインストール前に動作プログラムを補正するようにしている。
具体的には、本発明は、アーム先端部に取り付けられるエンドエフェクタを用いてワークに対して作業を行う多軸ロボット、および、当該ワークが載置される冶具の少なくとも一方が変更される場合に、当該多軸ロボットを、所定作業を実行可能な状態にする多軸ロボットの制御方法を対象としている。
この多軸ロボットの制御方法では、自身を基準とした対象物の3次元位置を測定可能な測定機と、上記所定作業に対応する動作プログラムと、を用意する。
そして、この多軸ロボットの制御方法は、上記多軸ロボットに所定姿勢をとらせた状態で、1軸につき3方向を向くように、各軸周りに指定角度だけ回転させた際の上記アーム先端部の位置を、上記測定機を用いて1軸ずつ測定する第1測定工程と、上記第1測定工程における測定結果に基づいて上記多軸ロボットの固有値を算出する第1算出工程と、上記冶具に設定された同一直線上にない3つの基準点を、上記測定機を用いて測定する第2測定工程と、上記第1および第2測定工程における測定結果並びに上記固有値に基づいて算出された、上記多軸ロボットと上記冶具との推定上の相対的な位置関係および姿勢関係を表す行列、および、上記多軸ロボットと上記冶具との設計上の位置関係および姿勢関係を表す行列の、一方と他方の逆行列との積に基づいて補正量を算出する第2算出工程と、上記補正量に基づき上記動作プログラムを修正する修正工程と、修正後の上記動作プログラムを上記多軸ロボットにインストールするインストール工程と、を含むことを特徴とするものである。
なお、本発明において「多軸ロボットおよび冶具の少なくとも一方が変更される場合」には、例えば、多軸ロボットおよび/または冶具の位置の変更や、多軸ロボットおよび/または冶具の新設等といった物理的な変更がなされる場合の他、既設の多軸ロボットに新たな動作プログラムをインストールする等といった制御上の変更がなされる場合も含まれる。
また、本発明において「多軸ロボットの固有値」とは、各多軸ロボットにおける機体の実寸法やギヤの実寸法(指定角度に対する実回転角度)等を意味する。
さらに、本発明において「多軸ロボット」には、多軸ロボット本体のみならず、アーム先端部に取り付けられるエンドエフェクタ(例えばハンドやツール)も含まれる。
この構成では、第1測定工程において、多軸ロボットに所定姿勢をとらせた状態で、例えば第1軸につき3方向を向くように、第1軸周りに指定角度だけ回転させた際のアーム先端部の位置を測定することから、第1軸における指定角度に対する実回転角度(ギヤの実寸法)が取得されるとともに、空間上の3点が取得される。これにより、これら3点を通る空間上の円が必ず決まることから、この円の中心を通る法線、すなわち、設置後の多軸ロボットにおける第1軸の位置・傾きを取得することができる。
同様の測定を1軸ずつ行うことで、多軸ロボットの全ての軸の位置・傾きおよびギヤの実寸法を取得することができ、これらにより、第1算出工程において、多軸ロボットの固有値を算出することができる。また、かかる固有値と、測定されたアーム先端部の位置と、に基づいて、多軸ロボットの相対的な(測定機の座標系から見た)位置・姿勢を行列で表すことが可能となる。
同様に、第2測定工程において、冶具に設定された同一直線上にない3つの基準点を測定することで、冶具の相対的な(測定機の座標系から見た)位置・姿勢を行列で表すことが可能となる。
このように、本発明では、ペンダントボックスを用いた煩雑なリティーチとは異なり、簡単な位置測定を、(軸の数)×(3点)+(冶具上の3点)だけ行えばよいので、作業者の行う作業を大幅に減らすことができる。例えば、6軸ロボットの場合には、21点(6×3+3)だけを測定すればよいので、数千点をリティーチする場合に比して、作業者が携わる作業時間を数百分の一以下に短縮することができる。
ここで、測定機の座標系から見た多軸ロボットの位置・姿勢を行列で表せるとともに、測定機の座標系から見た冶具の位置・姿勢を行列で表せることから、当然に、冶具の座標系から見た多軸ロボットの位置・姿勢を行列で表すことが可能となる。つまり、測定結果および固有値に基づいて算出された、多軸ロボットと冶具との推定上の相対的な位置関係および姿勢関係を行列(仮に「行列A」ともいう。)で表すことが可能となる。一方、多軸ロボットと冶具との設計上の位置関係および姿勢関係を表す行列(仮に「行列B」ともいう。)は、測定(実測)を経ずとも、計算上容易に算出することができる。
そうして、第2算出工程では、測定結果および固有値に基づく推定上の行列A、および、設計上の行列Bの、一方と他方の逆行列との積に基づいて補正量を算出する。例えば、或る行列とその行列の逆行列との積は単位行列Iになるところ、推定上の行列Aと設計上の行列Bとが完全に一致していれば、A・B-1やA-1・Bは単位行列Iになるはずである。もっとも、実際には、多軸ロボットの固有値や多軸ロボットおよび冶具の設置誤差が不可避的に存在するため、推定上の行列Aと設計上の行列Bとは完全には一致せず、A・B-1やA-1・Bから、単位行列Iではない行列Eが導かれる。そうして、この行列Eこそが推定値と設計値との誤差(補正量)を表すことになる。
後は、補正量に基づき動作プログラムを修正し、修正後の動作プログラムを多軸ロボットにインストールするだけで、冶具に設置・固定されるワークに対する、修正後の動作プログラム通りの所定作業を、リティーチなしで多軸ロボットに実行させることができる。なお、測定後の計算には数分要するが、それを加味しても、本発明によれば、リティーチを行う場合に比して、作業時間を大幅に短縮することができる。
このように、リティーチに工数を掛ける必要がないことから、例えばセル生産方式において、減産時の寄せ止めや増産時の寄せ止めをスムーズに行うことができ、これにより、生産量の変動に対する適応力をより一層高めることができる。
また、本発明において、測定機は、飽く迄、多軸ロボットと冶具とを関係づける中間媒体に過ぎないことから、測定機は固定される(絶対的な座標を持つ)必要はなく、どの位置に設置してもよい。つまり、本発明では、移動可能な測定機を必要なときにのみ、多軸ロボットおよび冶具の近傍に移動させればよいので、生産工場等におけるレイアウトの自由度を高めることができるとともに、測定機の設置に要する時間等を省略することができる。
以上説明したように、本発明に係るロボット制御システムによれば、多軸ロボットおよび/または冶具が変更された場合にも、動作プログラム通りの所定作業を、リティーチなしで多軸ロボットに実行させることができる。
以下、本発明を実施するための形態を図面に基づいて説明する。
(実施形態1)
図1は、本実施形態に係る多軸ロボットの制御方法の概略を模式的に示す図である。本実施形態の多軸ロボットの制御方法は、冶具30と共にセルC(図4参照)を構成する6軸多関節ロボット(多軸ロボット)10の制御を行うものである。より詳しくは、この制御方法は、ロボットフランジ(アーム先端部)13に取り付けられるツール(エンドエフェクタ)20を用いてワーク40に対して作業を行う6軸多関節ロボット10、および、ワーク40が載置される冶具30の少なくとも一方が変更される場合に、6軸多関節ロボット10をリティーチなしで、所定作業を実行可能な状態にするものである。
図1は、本実施形態に係る多軸ロボットの制御方法の概略を模式的に示す図である。本実施形態の多軸ロボットの制御方法は、冶具30と共にセルC(図4参照)を構成する6軸多関節ロボット(多軸ロボット)10の制御を行うものである。より詳しくは、この制御方法は、ロボットフランジ(アーム先端部)13に取り付けられるツール(エンドエフェクタ)20を用いてワーク40に対して作業を行う6軸多関節ロボット10、および、ワーク40が載置される冶具30の少なくとも一方が変更される場合に、6軸多関節ロボット10をリティーチなしで、所定作業を実行可能な状態にするものである。
具体的には、本実施形態の制御方法では、図1に示すように、レーザートラッカー(測定機)50を用いて、6軸多関節ロボット10を測定することで、6軸多関節ロボット10の固有値(機体の実寸法やギヤの実寸法等)、および、6軸多関節ロボット10の位置および姿勢を算出する。これに加えて、レーザートラッカー50を用いて、冶具30を測定することで、6軸多関節ロボット10と冶具30との相対的な位置関係および姿勢関係を算出する。
そうして、本実施形態の制御方法は、これらの算出結果に基づいて、6軸多関節ロボット10にインストールされる動作プログラムを補正(修正)することによって、動作プログラム通りの所定作業を、リティーチなしで6軸多関節ロボット10に実行させることを可能とするものである。以下、このような6軸多関節ロボット10の制御方法について詳細に説明する。
なお、「6軸多関節ロボット10および冶具30の少なくとも一方が変更される場合」には、例えば、6軸多関節ロボット10および/または冶具30の位置の変更や、6軸多関節ロボット10および/または冶具30の新設等といった物理的な変更がなされる場合の他、既設の6軸多関節ロボット10に新たな動作プログラムをインストールする等といった制御上の変更がなされる場合も含まれる。
また、図1では、ロボットフランジ13に取り付けられるツール20として、抵抗溶接機を示すとともに、冶具30に載置されるワーク40として、車体パネルを示しているが、これらは飽く迄例示であり、ツール20およびワーク40は特に限定されない。
−制御システム−
図2は、制御システムを模式的に示す図である。この制御システムは、図2に示すように、制御装置1を中心とする制御側と、ロボット側とで構成されている。制御装置1は、パーソナルコンピュータ(PC:Personnel Computer)3と、ディスプレイ5と、インターフェースカード7と、レーザートラッカー50と、を備えている。一方、ロボット側は、6軸多関節ロボット10および冶具30の他、コントローラ11と、リフレクタ装置51と、レトロリフレクタ53と、を備えている。
図2は、制御システムを模式的に示す図である。この制御システムは、図2に示すように、制御装置1を中心とする制御側と、ロボット側とで構成されている。制御装置1は、パーソナルコンピュータ(PC:Personnel Computer)3と、ディスプレイ5と、インターフェースカード7と、レーザートラッカー50と、を備えている。一方、ロボット側は、6軸多関節ロボット10および冶具30の他、コントローラ11と、リフレクタ装置51と、レトロリフレクタ53と、を備えている。
パーソナルコンピュータ3は、処理部3aと、記憶部3bと、を有している。処理部3aは、CPU(Central Processing Unit)等で構成されており、記憶部3bに記憶された各種プログラム等に基づいて演算処理を実行する。記憶部3bは、各種プログラムや各種プログラムを実行する際に参照されるマップなどが記憶されているROM(Read Only Memory)や、処理部3aによる演算結果などを一時的に記憶するメモリであるRAM(Random Access Memory)等で構成されている。パーソナルコンピュータ3は、インターフェースカード7を介して、6軸多関節ロボット10のコントローラ11と無線通信を行うことが可能となっている。
ディスプレイ5は、パーソナルコンピュータ3と接続されており、指令を与えた際の6軸多関節ロボット10の動きや、6軸多関節ロボット10と冶具30との位置関係等を表す、CAD(Computer Aided Design)等で作成されたヴァーチャルな画像を表示するように構成されている。
レーザートラッカー50は、リフレクタ装置51のリフレクタ(図示せず)やレトロリフレクタ53(以下、「リフレクタ等」ともいう。)に対してレーザー光を照射し、リフレクタ等で反射したレーザー光を受光するとともに、照射から受光までの時間を計測することで、レーザートラッカー50自身からリフレクタ等までの距離を測定することが可能に構成されている。また、レーザートラッカー50は、図1に示すように、鉛直軸周りおよび水平軸周りに回動自在に構成されていて、照射するレーザー光の方向を2軸のモータで制御してリフレクタ等に追従させるとともに、モータに取り付けた2軸のエンコーダを用いて、リフレクタ等の方向を測定することが可能になっている。なお、レーザートラッカー50にはカメラが内蔵されており、カメラの視野の範囲内であれば、移動するリフレクタ等を自動で追尾して、リフレクタ等に対してレーザー光を自動で照射することが可能になっている。
このように、リフレクタ等までの距離およびリフレクタ等の方向を測定することで、レーザートラッカー50は、リフレクタ装置51が取り付けられた測定対象物や、レトロリフレクタ53が設置された測定対象物の、当該レーザートラッカー50を基準とした3次元位置を取得可能になっている。このレーザートラッカー50は、LAN通信回線を介して、パーソナルコンピュータ3と接続されており、レーザートラッカー50による測定結果がパーソナルコンピュータ3に入力されるようになっている。
なお、本実施形態では、後述するように、レーザートラッカー50は固定される必要がなく、どの位置に設置してもよいので、例えば図3に示すように、レーザートラッカー50を初めとする制御装置1一式を、キャスター9aが付いた移動可能な台車9に組み込むようにしてもよい。
コントローラ11は、CPUやROMやRAM等を有しており、6軸多関節ロボット10と電気的に接続されていて、インストールされた動作プログラム通りの動作を6軸多関節ロボット10に実行させることが可能に構成されている。また、コントローラ11は、上述の如く、インターフェースカード7を介してパーソナルコンピュータ3と無線で繋がっていることから、パーソナルコンピュータ3からの指示通りの動作を6軸多関節ロボット10に実行させることが可能になっている。さらに、コントローラ11は、作業者が操作可能なペンダントボックス(図示せず)を介して、作業者の指示通りの動作を6軸多関節ロボット10に実行させることが可能になっている。
リフレクタ装置51は、リフレクタと、リフレクタが取り付けられるハウジングと、を有している。リフレクタ装置51は、6軸多関節ロボット10のロボットフランジ13に取り付けられており、これにより、レーザートラッカー50を基準としたロボットフランジ13の3次元位置を取得することが可能になっている。
レトロリフレクタ53は、それぞれ直交する3枚の鏡を使用した反射鏡を用いることで、入射したレーザー光をその入射角に関わらず入射方向に反射させるように構成されている。レトロリフレクタ53は、作業者の手作業により、冶具30上の基準点P1,P2,P3(図12参照)に設置され、これにより、レーザートラッカー50を基準とした基準点P1,P2,P3の3次元位置を取得することが可能になっている。
−セル−
本実施形態に係る多軸ロボットの制御方法を理解し易くするために、制御方法の説明に先立ち、本実施形態の制御方法が適用されるセルの説明を行う。
本実施形態に係る多軸ロボットの制御方法を理解し易くするために、制御方法の説明に先立ち、本実施形態の制御方法が適用されるセルの説明を行う。
図4は、セルCの一例を模式的に示す斜視図である。図4に示すセルCは、多数の作業を担当する2台の6軸多関節ロボット10と、作業対象であるワーク40を載置(固定)する冶具30と、これらを囲むコ字状の安全柵41と、で構成されている。このようなセルCを一単位として工程を完成させるセル生産方式は、多品種少量生産に適しているとともに、生産量の変動に対する適応力が高いことでも知られている。
図5は、寄せ止めの一例を模式的に説明する図である。例えば、図5(a)に示すように、セルC1において6軸多関節ロボット10Aに作業Aを行わせている一方、セルC2において6軸多関節ロボット10Bに作業Bを行わせていると仮定する。この場合に、減産時の寄せ止めとして、セルC2を廃止して、6軸多関節ロボット10Aに作業Aおよび作業Bを行わせれば、生産量を減少させつつ6軸多関節ロボット10Bを他の作業等で有効に活用することが可能になる。
これとは逆に、図5(b)に示すように、セルC1において6軸多関節ロボット10Aに作業Aおよび作業Bを行わせていると仮定する。この場合に、増産時の寄せ止めとして、セルC2を新設して、セルC1において6軸多関節ロボット10Aに作業Aを行わせる一方、セルC2において6軸多関節ロボット10Bに作業Bを行わせれば、生産量を増大させることができる。
このように、少数の6軸多関節ロボット10を冶具30の周りに配置するセル生産方式では、多数の6軸多関節ロボット10をベルトコンベアの流れ方向に配置するライン生産方式とは異なり、大規模な改造を要することなく減産や増産に対応できることから、生産効率を向上させることができる。
もっとも、セル生産方式では、或るセルCの6軸多関節ロボット10にインストールされている動作プログラムを異なるセルCの6軸多関節ロボット10にインストールする作業や、セルCを構成する6軸多関節ロボット10や冶具30の移設や新設が頻繁に行われることになる。図5(a)の例であれば、6軸多関節ロボット10Bにインストールされている作業Bに対応する動作プログラムを6軸多関節ロボット10Aにインストールする必要がある。また、図5(b)の例であれば、セルC2を新設するとともに、6軸多関節ロボット10Aにインストールされている作業Bに対応する動作プログラムを、新設されたセルC2の6軸多関節ロボット10Bにインストールする必要がある。
にもかかわらず、セルC間での動作プログラムの受け渡しや、セルCの移設や新設等が行われた場合には、6軸多関節ロボット10を、動作プログラム通りの所定作業を実行可能な状態にするための準備作業に膨大な時間が費やされているのが現実である。
図6は、多軸ロボットおよび冶具に変更が生じた場合の問題点を模式的に説明する図である。例えば、動作プログラム上は、6軸多関節ロボット10と冶具30との距離がLであり、6軸多関節ロボット10の関節を軸周りにθだけ回転させれば、6軸多関節ロボット10のロボットフランジ13に取り付けられたツール20のロボットTCP(図6のRTCP)と、冶具30に載置(固定)されたワーク40の作業点(図6のWP)とが一致するような設計がなされていると仮定する。
この場合に、6軸多関節ロボット10および冶具30が新設された後、上記動作プログラムを6軸多関節ロボット10にインストールし、かかる動作プログラムに従って、6軸多関節ロボット10の関節が軸周りにθだけ回転すれば、ロボットTCPとワーク40の作業点WPとが一致する筈である。もっとも、たとえ設計通りに設置したつもりでも、6軸多関節ロボット10と冶具30との、実際の距離・姿勢と設計上の距離・姿勢との間には不可避的に差異(図6のΔL)が存する。それ故、上記動作プログラムを6軸多関節ロボット10にインストールして作業を実行させようとしても、図6(a)に示すように、ロボットTCPと冶具30上のワーク40の作業点WPとが微妙にずれるという事態が生じることになる。
ここで、最も簡単な対処法として、例えば、6軸多関節ロボット10の実際の3次元位置と冶具30の実際の3次元位置とを測定し、測定値L+ΔLと設計値Lとの差だけ、6軸多関節ロボット10の制御量θを補正する(例えばθ−Δθとする)ことが考えられる。しかしながら、このような手法では、6軸多関節ロボット10に存する機体やギヤ等における製造上の寸法誤差(以下、これらを「ロボット固有値」ともいう)が考慮されていない上、6軸多関節ロボット10および冶具30の姿勢(三次元的な傾き)が加味されていないため、制御量θを補正したとしても、図6(b)に示すように、ロボットTCPとワーク40の作業点WPとが一致しないのが通常である。
このため、現状は、6軸多関節ロボット10に動作プログラムをインストールした後、作業者がペンダントボックスを用いて、6軸多関節ロボット10に対し、前後左右上下の移動量を少しずつ入力して、ツール20を実際に動かし、ロボットTCPと冶具30上のワーク40の作業点WPとが一致したら、その作業点WPを6軸多関節ロボット10に記憶させるというリティーチを行うことが不可欠となっている。それ故、例えば動作プログラムに作業点WPが数千点存在すれば、このような煩雑なリティーチを数千点について逐一行わなければならず、このことが、準備作業に膨大な時間を要する原因となっている。
−制御方法−
そこで、本実施形態では、必要最小限の測定数で6軸多関節ロボット10の固有値および6軸多関節ロボット10と冶具30との位置関係・姿勢関係を算出するとともに、これら位置関係・姿勢関係の推定値および設計値に基づいて、6軸多関節ロボット10へのインストール前に動作プログラムを補正するようにしている。
そこで、本実施形態では、必要最小限の測定数で6軸多関節ロボット10の固有値および6軸多関節ロボット10と冶具30との位置関係・姿勢関係を算出するとともに、これら位置関係・姿勢関係の推定値および設計値に基づいて、6軸多関節ロボット10へのインストール前に動作プログラムを補正するようにしている。
具体的には、本実施形態の多軸ロボットの制御方法は、
(1)6軸多関節ロボット10に所定姿勢をとらせた状態で、1軸につき3方向を向くように、各軸周りに指定角度だけ回転させた際のロボットフランジ13の位置を、レーザートラッカー50を用いて1軸ずつ測定する第1測定工程と、
(2)第1測定工程における測定結果に基づいて6軸多関節ロボット10の固有値を算出する第1算出工程と、
(3)冶具30に設定された同一直線上にない3つの基準点P1,P2,P3を、レーザートラッカー50を用いて測定する第2測定工程と、
(4)(1)および(3)の測定結果および(2)の固有値に基づいて算出された、6軸多関節ロボット10と冶具30との推定上の相対的な位置関係および姿勢関係を表す行列と、6軸多関節ロボット10と冶具30との設計上の位置関係および姿勢関係を表す行列の逆行列との積に基づき、補正量を算出する第2算出工程と、
(5)補正量に基づき動作プログラムを修正する修正工程と、
(6)修正後の動作プログラムを6軸多関節ロボット10にインストールするインストール工程と、を含んでいる。
(1)6軸多関節ロボット10に所定姿勢をとらせた状態で、1軸につき3方向を向くように、各軸周りに指定角度だけ回転させた際のロボットフランジ13の位置を、レーザートラッカー50を用いて1軸ずつ測定する第1測定工程と、
(2)第1測定工程における測定結果に基づいて6軸多関節ロボット10の固有値を算出する第1算出工程と、
(3)冶具30に設定された同一直線上にない3つの基準点P1,P2,P3を、レーザートラッカー50を用いて測定する第2測定工程と、
(4)(1)および(3)の測定結果および(2)の固有値に基づいて算出された、6軸多関節ロボット10と冶具30との推定上の相対的な位置関係および姿勢関係を表す行列と、6軸多関節ロボット10と冶具30との設計上の位置関係および姿勢関係を表す行列の逆行列との積に基づき、補正量を算出する第2算出工程と、
(5)補正量に基づき動作プログラムを修正する修正工程と、
(6)修正後の動作プログラムを6軸多関節ロボット10にインストールするインストール工程と、を含んでいる。
これらのうち(1)〜(5)の工程は、アプリケーションソフトとして具現化されていて、制御装置1のパーソナルコンピュータ3にインストールされている。
なお、6軸多関節ロボット10を移設・新設等しない場合にも、第1測定工程は必須であり、また、冶具30を移設・新設等しない場合にも、第2測定工程は必須である。つまり、本実施形態の多軸ロボットの制御方法では、6軸多関節ロボット10および冶具30の少なくとも一方が変更されれば、第1および第2測定工程を必ず行うことになる。
以下では、6軸多関節ロボット10および冶具30を新設して、6軸多関節ロボット10に新たな所定作業を実行させる場合を例として、本実施形態の多軸ロボットの制御方法を説明する。
先ず、図3に示すような台車9に組み込まれた制御装置1を用意する。また、新たな所定作業に対応する、オフライン(ヴァーチャル上)で作成した動作プログラムを制御装置1のパーソナルコンピュータ3の記憶部3bに格納(記憶)しておく。そうして、セルCの領域内に新設された6軸多関節ロボット10および冶具30まで台車9を移動する。
(1)第1測定工程
第1測定工程では、先ず、パーソナルコンピュータ3からの指令により、図7に示すように、6軸多関節ロボット10に所定姿勢(お辞儀をしたような姿勢)をとらせる。この状態で、1軸につき3方向を向くように、各軸周りに±30°(指定角度)だけ回転するよう指令を与え、図7の白抜き矢印で示すように、その際のロボットフランジ13に取り付けられたリフレクタ装置51におけるリフレクタの位置(以下、単に「リフレクタ装置51の位置」ともいう。)を、レーザートラッカー50を用いて第1軸AR1〜第6軸AR6まで1軸ずつ測定する。
第1測定工程では、先ず、パーソナルコンピュータ3からの指令により、図7に示すように、6軸多関節ロボット10に所定姿勢(お辞儀をしたような姿勢)をとらせる。この状態で、1軸につき3方向を向くように、各軸周りに±30°(指定角度)だけ回転するよう指令を与え、図7の白抜き矢印で示すように、その際のロボットフランジ13に取り付けられたリフレクタ装置51におけるリフレクタの位置(以下、単に「リフレクタ装置51の位置」ともいう。)を、レーザートラッカー50を用いて第1軸AR1〜第6軸AR6まで1軸ずつ測定する。
例えば、6軸多関節ロボット10にお辞儀をしたような姿勢をとらせた状態(以下、「初期状態」ともいう。)で、レーザートラッカー50によりリフレクタ装置51の位置を測定する(第1の方向)。なお、このとき測定された空間上の位置(点)を仮にAR1(1)とする。
次に、初期状態から第1軸AR1周りに6軸多関節ロボット10を+30°だけ回転させるよう、パーソナルコンピュータ3からコントローラ11に指令を与え、レーザートラッカー50によりリフレクタ装置51の位置を測定した後(第2の方向)、6軸多関節ロボット10を−30°回転させて、初期状態に戻す。なお、このとき測定された空間上の位置(点)を仮にAR1(2)とする。
さらに、初期状態から第1軸AR1周りに6軸多関節ロボット10を−30°だけ回転させるよう、パーソナルコンピュータ3からコントローラ11に指令を与え、レーザートラッカー50によりリフレクタ装置51の位置を測定した後(第3の方向)、6軸多関節ロボット10を+30°回転させて、初期状態に戻す。なお、このとき測定された空間上の位置(点)を仮にAR1(3)とする。
以上の測定結果は、レーザートラッカー50からパーソナルコンピュータ3へ出力され、パーソナルコンピュータ3の記憶部3bには、図8(a)に示すように、3つの点のAR1(1)、AR1(2)およびAR1(3)の空間座標が記憶される。このように、第1軸AR1周りに指定角度だけ回転させた際のロボットフランジ13に取り付けられたリフレクタ装置51の位置を測定することから、第1軸AR1における指定角度に対する実回転角度(ギヤの実寸法)が取得される。
同様の測定を、第2軸AR2〜第6軸AR6まで順次1軸ずつ行うことで、各軸につき3つの点(3つの空間座標)とギヤの実寸法が取得される。
(2)第1算出工程
図8(a)に示すように、3点AR1(1),AR1(2),AR1(3)が与えられれば、これら3点AR1(1),AR1(2),AR1(3)を通る円が数学上必ず決まるので、第1算出工程では、パーソナルコンピュータ3の処理部3aが、図8(b)に示すように、3点AR1(1),AR1(2),AR1(3)を通る仮想円VC1を算出する。このように、仮想円VC1が決まれば、この仮想円VC1の中心を通る法線も決まるが、この法線が正に第1軸AR1の位置や傾きを表すことになる。
図8(a)に示すように、3点AR1(1),AR1(2),AR1(3)が与えられれば、これら3点AR1(1),AR1(2),AR1(3)を通る円が数学上必ず決まるので、第1算出工程では、パーソナルコンピュータ3の処理部3aが、図8(b)に示すように、3点AR1(1),AR1(2),AR1(3)を通る仮想円VC1を算出する。このように、仮想円VC1が決まれば、この仮想円VC1の中心を通る法線も決まるが、この法線が正に第1軸AR1の位置や傾きを表すことになる。
以上の処理を第2軸AR2についても行えば、図8(c)に示すように、仮想円VC2およびその法線が算出される。かかる法線は正に第2軸AR2の位置や傾きを表すことから、第1軸AR1と第2軸AR2との位置関係および姿勢関係を取得することができる。
同様の処理を第3軸AR3、第4軸AR4、第5軸AR5および第6軸AR6についても行うことで、図8(d)に示すように、仮想円VC3,VC4,VC5,VC6が決まり、第1軸AR1〜第6軸AR6の位置関係および姿勢関係がすべて明らかとなり、これにより、6軸多関節ロボット10の固有値(機体の実寸法やギヤの実寸法)、および、レーザートラッカー50を基準とした6軸多関節ロボット10の相対的な位置および姿勢を算出することが可能となる。
なお、以上の説明から分かるように、6軸多関節ロボット10に3方向を向かせさえすれば、仮想円VC1〜VC6が必ず決まるので、第1測定工程における、各軸周りの回転角度は30°に限らず、何°でも(例えば10°や50°でも)よい。また、本実施形態では、6軸多関節ロボット10を初期状態に戻すための効率を考慮して、第1測定工程における各軸周りの回転角度を±30°としたが、これに限らず、例えば各軸周りに+120°、+240°、+360°の順で回転させて、6軸多関節ロボット10を初期状態に戻すようにしてもよい。
(3)第2測定工程
第2測定工程では、例えば作業者が手に持ったレトロリフレクタ53を、冶具30に設定された同一直線上にない3つの基準点P1,P2,P3に順番に置いていき、その都度レーザートラッカー50を用いてレトロリフレクタ53の位置を測定する。この測定結果は、レーザートラッカー50からパーソナルコンピュータ3へ出力され、パーソナルコンピュータ3の記憶部3bに3つの基準点P1,P2,P3の空間座標が記憶される。これにより、3つの基準点P1,P2,P3の座標に基づき、レーザートラッカー50を基準とした冶具30の相対的な位置および姿勢を算出することが可能となる。
第2測定工程では、例えば作業者が手に持ったレトロリフレクタ53を、冶具30に設定された同一直線上にない3つの基準点P1,P2,P3に順番に置いていき、その都度レーザートラッカー50を用いてレトロリフレクタ53の位置を測定する。この測定結果は、レーザートラッカー50からパーソナルコンピュータ3へ出力され、パーソナルコンピュータ3の記憶部3bに3つの基準点P1,P2,P3の空間座標が記憶される。これにより、3つの基準点P1,P2,P3の座標に基づき、レーザートラッカー50を基準とした冶具30の相対的な位置および姿勢を算出することが可能となる。
なお、第1測定工程におけるレーザートラッカー50の位置と、第2測定工程におけるレーザートラッカー50の位置とは同じであること、換言すると、第1測定工程開始から第2測定工程終了まで、レーザートラッカー50を移動させないことが必須となる。
(4)第2算出工程
ところで、本実施形態の制御方法に係る構成要素は、図9に示すように、各々座標系を持っている。具体的には、6軸多関節ロボット10は座標系ΣRを持ち、ロボットフランジ13は座標系ΣFを持ち、リフレクタ装置51は座標系ΣReを持ち、ツール20は座標系ΣTを持ち、冶具30は座標系ΣJを持ち、レーザートラッカー50は座標系ΣLを持っている。このため、これらの相対的な関係を求めるには、座標変換を行う必要がある。なお、ワーク40は、後述するように、ワーク40自体に設定された車両番線を基準として冶具30に位置決めされるため、独自の座標系を持っていない。
ところで、本実施形態の制御方法に係る構成要素は、図9に示すように、各々座標系を持っている。具体的には、6軸多関節ロボット10は座標系ΣRを持ち、ロボットフランジ13は座標系ΣFを持ち、リフレクタ装置51は座標系ΣReを持ち、ツール20は座標系ΣTを持ち、冶具30は座標系ΣJを持ち、レーザートラッカー50は座標系ΣLを持っている。このため、これらの相対的な関係を求めるには、座標変換を行う必要がある。なお、ワーク40は、後述するように、ワーク40自体に設定された車両番線を基準として冶具30に位置決めされるため、独自の座標系を持っていない。
図10は、ロボット工学における変換行列の算出手法の一例を模式的に説明する図である。図10(a)に示すような座標系Σiから座標系Σi+1に至る変換行列について説明する。なお、各座標系におけるY軸は、直交するX軸とZ軸とが決まれば、自動的に決まるので、ここでは図示省略する。
先ず、図10(b)に示すように、座標系ΣiのZi軸と座標系Σi+1のZi+1軸との共通垂線をXi軸とする。そうして、座標系Σi+1のZi+1軸およびXi+1軸を、共通垂線の長さaだけ、Xi方向に平行移動する(図10(b)と図10(c)とを対照)。この変換は、下記の式(1)の行列で表される。
次いで、座標系Σi+1のZi+1軸およびXi+1軸を、Zi軸とZi+1軸との成す角γだけ、Xi軸周りに回転させる(図10(c)と図10(d)とを対照)。この変換は、下記の式(2)の行列で表される。
次いで、Xi+1軸を、Zi方向に長さcだけ平行移動する(図10(d)と図10(e)とを対照)。この変換は、下記の式(3)の行列で表される。
最後に、図10(e)に示すXi軸とXi+1軸との成す角αだけ、Xi+1軸をZi軸周りに回転させると、座標系Σiと座標系Σi+1とが一致することになる。この変換は、下記の式(4)の行列で表される。
それ故、式(1)〜式(4)の行列を順に掛け合せれば、下記の式(5)に示すような、座標系Σiから座標系Σi+1に至る行列iTi+1を、換言すると、座標系Σiから座標系Σi+1までの位置・姿勢を表す行列iTi+1を得ることができる。
図11は、6軸多関節ロボット10と冶具30との相対的な位置関係および姿勢関係の取得手法の概略を模式的に説明する図である。先ず、図11の実線矢印Aで示す、レーザートラッカー50からロボットフランジ13までの位置・姿勢(行列LTF)は、実測で求めることができる(第1測定工程)。
また、図11の破線矢印Bで示す、ロボット設置位置ROからロボットフランジ13までの位置・姿勢(行列RTF)は、6軸多関節ロボット10の固有値が分かれば、上記式(5)を求めたのと同じ考え方により求めることができる。ここで、行列RTFを算出すれば、その逆行列RTF -1(=FTR)を算出することができる。すると、下記の式(6)により、図11の破線矢印Cで示す、レーザートラッカー50からロボット設置位置ROまでの位置・姿勢(行列LTR)を、実測に基づく計算によって推定することができる。
LTF・RTF -1=LTF・FTR=LTR・・・・式(6)
一方、図11の実線矢印Dで示す、レーザートラッカー50から冶具30までの位置・姿勢(行列LTJ)も、実測で求めることができる(第2測定工程)。ここで、上記の式(6)により行列LTRが求まれば、その逆行列LTR -1(=RTL)を算出することができる。すると、下記の式(7)により、図11の破線矢印Eで示す、ロボット設置位置ROから冶具30までの位置・姿勢(行列RTJ)を、実測に基づく計算によって推定することができる。
一方、図11の実線矢印Dで示す、レーザートラッカー50から冶具30までの位置・姿勢(行列LTJ)も、実測で求めることができる(第2測定工程)。ここで、上記の式(6)により行列LTRが求まれば、その逆行列LTR -1(=RTL)を算出することができる。すると、下記の式(7)により、図11の破線矢印Eで示す、ロボット設置位置ROから冶具30までの位置・姿勢(行列RTJ)を、実測に基づく計算によって推定することができる。
LTR -1・LTJ=RTL・LTJ=RTJ・・・・式(7)
以上のような考え方を前提に、第2算出工程では、第1および第2測定工程の測定結果並びに6軸多関節ロボット10の固有値に基づいて算出された、6軸多関節ロボット10と冶具30との推定上の相対的な位置関係および姿勢関係を表す行列と、6軸多関節ロボット10と冶具30との設計上の位置関係および姿勢関係を表す行列の逆行列との積に基づき、補正量を算出する。
以上のような考え方を前提に、第2算出工程では、第1および第2測定工程の測定結果並びに6軸多関節ロボット10の固有値に基づいて算出された、6軸多関節ロボット10と冶具30との推定上の相対的な位置関係および姿勢関係を表す行列と、6軸多関節ロボット10と冶具30との設計上の位置関係および姿勢関係を表す行列の逆行列との積に基づき、補正量を算出する。
図12は、多軸ロボットと冶具との相対的な位置関係および姿勢関係の取得手法を模式的に説明する図である。先ず、第1測定工程により、図12の(A)で示すように、レーザートラッカー50からロボットフランジ13に取り付けられたリフレクタ装置51までの位置・姿勢(行列LTRe)は、実測で求められる。また、ロボットフランジ13からリフレクタ装置51までの位置・姿勢(行列FTRe)は、計算で求められる。さらに、6軸多関節ロボット10の固有値は第1算出工程で算出されているので、ロボット設置位置ROからロボットフランジ13までの位置・姿勢(行列RTF)は、計算で求められる。
よって、下記の式(8)により、レーザートラッカー50からロボット設置位置ROまでの位置・姿勢(行列LTR)が、第1および第2測定工程の測定結果並びに6軸多関節ロボット10の固有値に基づいて計算により推定される。
LTR=LTRe・FTRe -1・RTF -1・・・・式(8)
もっとも、実際に作業が行われるのは、ツール20のロボットTCP(図12のRTCP)なので、パーソナルコンピュータ3の処理部3aは、式(8)から更に下記の式(9)を用いて、レーザートラッカー50からロボットTCPまでの位置・姿勢(行列LTT)を推定する。なお、式(9)における行列FTTは、計算により求まる、ロボットフランジ13からツール20のロボットTCPまでの位置・姿勢を表す行列である。
もっとも、実際に作業が行われるのは、ツール20のロボットTCP(図12のRTCP)なので、パーソナルコンピュータ3の処理部3aは、式(8)から更に下記の式(9)を用いて、レーザートラッカー50からロボットTCPまでの位置・姿勢(行列LTT)を推定する。なお、式(9)における行列FTTは、計算により求まる、ロボットフランジ13からツール20のロボットTCPまでの位置・姿勢を表す行列である。
LTT=LTR・RTF・FTT・・・・式(9)
また、図12の(B)で示すように、レーザートラッカー50から冶具30までの位置・姿勢(行列LTJ)は、第2測定工程において冶具30上の基準点P1,P2,P3を測定することで、下記の式(10)により求められる。なお、Gram(P1,P2,P3)はP1,P2,P3を成分に持つグラム行列を表す。
また、図12の(B)で示すように、レーザートラッカー50から冶具30までの位置・姿勢(行列LTJ)は、第2測定工程において冶具30上の基準点P1,P2,P3を測定することで、下記の式(10)により求められる。なお、Gram(P1,P2,P3)はP1,P2,P3を成分に持つグラム行列を表す。
LTJ=Gram(P1,P2,P3)・・・・式(10)
ここで、実際に作業の対象となるのは、冶具30そのものではなく、冶具30に載置されたワーク40なので、行列LTJは、より正確には、レーザートラッカー50から、冶具30に載置されたワーク40に設定されている車両番線までの位置・姿勢に対応している。なお、ワーク40は、車両番線を基準として冶具30に位置決めされることから、冶具30上の基準点P1,P2,P3を測定することで、レーザートラッカー50から車両番線までの位置・姿勢(行列LTJ)は、計算で容易に算出することができる。
ここで、実際に作業の対象となるのは、冶具30そのものではなく、冶具30に載置されたワーク40なので、行列LTJは、より正確には、レーザートラッカー50から、冶具30に載置されたワーク40に設定されている車両番線までの位置・姿勢に対応している。なお、ワーク40は、車両番線を基準として冶具30に位置決めされることから、冶具30上の基準点P1,P2,P3を測定することで、レーザートラッカー50から車両番線までの位置・姿勢(行列LTJ)は、計算で容易に算出することができる。
よって、式(9)と式(10)とから、下記の式(11)により、図12の(C)で示すような、6軸多関節ロボット10(より正確には、ツール20のロボットTCP)と冶具30(より正確には、冶具30上のワーク40の車両番線)との推定上の相対的な位置関係および姿勢関係を表す行列TTJ *が得られる。
TTJ *=LTT -1・LTJ・・・・式(11)
一方、測定結果や6軸多関節ロボット10の固有値とは無関係に、パーソナルコンピュータ3の記憶部3bに格納された動作プログラム乃至それに関連付けられたCAD等から、6軸多関節ロボット10(より正確には、ツール20のロボットTCP)と冶具30(より正確には、冶具30上のワーク40の車両番線)との設計上の位置関係および姿勢関係を表す行列TTJを取得することができる。
一方、測定結果や6軸多関節ロボット10の固有値とは無関係に、パーソナルコンピュータ3の記憶部3bに格納された動作プログラム乃至それに関連付けられたCAD等から、6軸多関節ロボット10(より正確には、ツール20のロボットTCP)と冶具30(より正確には、冶具30上のワーク40の車両番線)との設計上の位置関係および姿勢関係を表す行列TTJを取得することができる。
ここで、或る行列とその行列の逆行列との積は単位行列Iになることから、推定上の行列TTJ *と設計上の行列TTJとが完全に一致していれば、TTJ -1・TTJ *は単位行列Iになるはずである。もっとも、実際には、6軸多関節ロボット10の固有値や6軸多関節ロボット10および冶具30の設置誤差が不可避的に存するため、推定上の行列TTJ *と設計上の行列TTJとは完全には一致せず、下記の式(12)で示すように、TTJ -1・TTJ *から単位行列Iではない行列ΔTTJ *が導かれる。
TTJ -1・TTJ *=ΔTTJ *・・・・式(12)
そうして、この行列ΔTTJ *こそが、推定値と設計値との誤差(補正量)を表していることになる。
そうして、この行列ΔTTJ *こそが、推定値と設計値との誤差(補正量)を表していることになる。
(5)修正工程
修正工程では、第2算出工程で算出した行列ΔTTJ *(補正量)に基づき動作プログラムを修正する。具体的には、行列ΔTTJ *をXYZ座標に変換した後、かかるXYZ座標を6軸多関節ロボット10の各軸の回転角度に変換して、パーソナルコンピュータ3の記憶部3bに格納された動作プログラムをオフラインで修正する。
修正工程では、第2算出工程で算出した行列ΔTTJ *(補正量)に基づき動作プログラムを修正する。具体的には、行列ΔTTJ *をXYZ座標に変換した後、かかるXYZ座標を6軸多関節ロボット10の各軸の回転角度に変換して、パーソナルコンピュータ3の記憶部3bに格納された動作プログラムをオフラインで修正する。
なお、補正後の指令は、各軸の回転角度(数字の羅列)で表されるため、作業者がその正誤を判断することは困難である。そこで、ディスプレイ5を用いて、CAD等で作成されたヴァーチャルな画像上で、補正後の或る指令に対するツール20のロボットTCPと冶具30との位置関係を確認した後、同じ指令をコントローラ11に送信し、6軸多関節ロボット10が実際に同じ動作を行うか否かを確認するようにしてもよい。
(6)インストール工程
インストール工程では、修正工程で修正された動作プログラムを6軸多関節ロボット10にインストールする。これにより、6軸多関節ロボット10は、動作プログラムに対応した所定作業を、リティーチなしで冶具30上のワーク40に対して実行することが可能な状態となる。
インストール工程では、修正工程で修正された動作プログラムを6軸多関節ロボット10にインストールする。これにより、6軸多関節ロボット10は、動作プログラムに対応した所定作業を、リティーチなしで冶具30上のワーク40に対して実行することが可能な状態となる。
−作用・効果−
以上説明したように、本実施形態の多軸ロボットの制御方法によれば、オフラインで動作プログラムを作成すれば、冶具30に載置・固定されるワーク40に対して、かかる動作プログラム通りの所定作業を、リティーチなしで6軸多関節ロボット10に実行させることが可能となる。なお、測定後の計算には数分要するが、それを加味しても、リティーチを行う場合に比して、作業時間を大幅に短縮することができる。
以上説明したように、本実施形態の多軸ロボットの制御方法によれば、オフラインで動作プログラムを作成すれば、冶具30に載置・固定されるワーク40に対して、かかる動作プログラム通りの所定作業を、リティーチなしで6軸多関節ロボット10に実行させることが可能となる。なお、測定後の計算には数分要するが、それを加味しても、リティーチを行う場合に比して、作業時間を大幅に短縮することができる。
このように、リティーチに工数を掛ける必要がないことから、減産時の寄せ止めや増産時の寄せ止めをスムーズに行うことができ、これにより、生産量の変動に対する適応力をより一層高めることができる。
また、レーザートラッカー50は、飽く迄、6軸多関節ロボット10と冶具30とを関係づける中間媒体に過ぎないことから、レーザートラッカー50は固定される(絶対的な座標を持つ)必要はなく、どの位置に設置してもよい。つまり、移動可能なレーザートラッカー50を必要なときにのみ、6軸多関節ロボット10および冶具30の近傍に移動させればよいので、生産工場等におけるレイアウトの自由度を高めることができるとともに、レーザートラッカー50の設置に要する時間等を省略することができる。
(実施形態2)
上記実施形態1では、新たな所定作業に対応する動作プログラムを、新設された6軸多関節ロボット10にインストールする場合について説明したが、本実施形態では、セルCを移設する場合や、セルCをコピーする場合について説明する。なお、以下では、同じ6軸多関節ロボット10を移設前は「6軸多関節ロボット10BF」と称し、移設後は「6軸多関節ロボット10AF」と称する。ロボットフランジ13BF,13AF、ツール20BF,20AF、リフレクタ装置51BF,51AFについても同様である。もっとも、冶具30については、図を見易くするため、移設前(セルC1)も移設後(セルC2)も同じ符号30で表す。
上記実施形態1では、新たな所定作業に対応する動作プログラムを、新設された6軸多関節ロボット10にインストールする場合について説明したが、本実施形態では、セルCを移設する場合や、セルCをコピーする場合について説明する。なお、以下では、同じ6軸多関節ロボット10を移設前は「6軸多関節ロボット10BF」と称し、移設後は「6軸多関節ロボット10AF」と称する。ロボットフランジ13BF,13AF、ツール20BF,20AF、リフレクタ装置51BF,51AFについても同様である。もっとも、冶具30については、図を見易くするため、移設前(セルC1)も移設後(セルC2)も同じ符号30で表す。
図13は、本実施形態に係る多軸ロボットの制御方法を模式的に説明する図である。前提として、6軸多関節ロボット10BFは、所定作業に対応する動作プログラムが過去にインストールされ且つリティーチが済んだ状態で、所定作業を行っていると仮定する。
この場合には、先ず、6軸多関節ロボット10BFにインストールされている動作プログラムBFおよびリティーチ情報をコピーし、パーソナルコンピュータ3の記憶部3bに格納する。本実施形態では、これら動作プログラムおよびリティーチ情報が、本発明でいうところの、制御開始前に用意される「所定作業に対応する動作プログラム」に相当する。
次に、セルC1を移設する前に、図13の(A)で示すように、レーザートラッカー50からロボットフランジ13BFに取り付けられたリフレクタ装置51BFまでの位置・姿勢(行列LTRe)を実測で求めとともに、図13の(B)で示すように、レーザートラッカー50から冶具30までの位置・姿勢(行列LTJ)を実測で求める。そうして、上記の式(11)と同様の考え方により、図13の(C)で示すような、6軸多関節ロボット10BF(ツール20BFのロボットTCP)と冶具30との推定上の相対的な位置関係および姿勢関係を表す行列JTT *を取得する。本実施形態では、この行列JTT *が、本発明でいうところの、「多軸ロボットと冶具との設計上の位置関係および姿勢関係を表す行列」に相当する。つまり、セルC1をコピーする場合には、移設前のセルC1における行列JTT *が、移設後のセルC2における、6軸多関節ロボット10AFと冶具30との「設計上」の位置関係および姿勢関係を表す行列JTTに相当する。
次に、セルC2に移設した後、レーザートラッカー50からロボットフランジ13AFに取り付けられたリフレクタ装置51AFまでの位置・姿勢(行列LTRe)を実測で求めとともに、レーザートラッカー50から冶具30までの位置・姿勢(行列LTJ)を実測で求める。そうして、上記の式(11)と同様の考え方により、6軸多関節ロボット10AF(ツール20AFのロボットTCP)と冶具30との推定上の相対的な位置関係および姿勢関係を表す行列JTT *を取得する。
そうして、上記の式(12)を用いて、行列ΔJTT *を算出し、かかる行列ΔJTT *に基づいてリティーチ情報を修正することで、移設後のセルC2固有の動作プログラムをオフラインで作成する。この移設後のセルC2固有の動作プログラムを6軸多関節ロボット10AFにインストールすれば、6軸多関節ロボット10AFは、移設前の6軸多関節ロボット10BFが実行していたのと全く同じ所定作業を、リティーチなしで冶具30上のワーク40に対して実行することが可能な状態となる。
−作用・効果−
以上説明したように、本実施形態の多軸ロボットの制御方法によれば、動作プログラムのみならずリティーチ情報を受け渡す場合にも、譲渡側で実行されていた所定作業を、リティーチなしで6軸多関節ロボット10に実行させることが可能となることから、減産時の寄せ止めや増産時の寄せ止めをスムーズに行うことができ、これにより、生産量の変動に対する適応力をより一層高めることができる。
以上説明したように、本実施形態の多軸ロボットの制御方法によれば、動作プログラムのみならずリティーチ情報を受け渡す場合にも、譲渡側で実行されていた所定作業を、リティーチなしで6軸多関節ロボット10に実行させることが可能となることから、減産時の寄せ止めや増産時の寄せ止めをスムーズに行うことができ、これにより、生産量の変動に対する適応力をより一層高めることができる。
(その他の実施形態)
本発明は、実施形態に限定されず、その精神又は主要な特徴から逸脱することなく他の色々な形で実施することができる。
本発明は、実施形態に限定されず、その精神又は主要な特徴から逸脱することなく他の色々な形で実施することができる。
上記実施形態では、1軸につき3方向を向くように、各軸周りに回転させた際のロボットフランジ13の位置を測定するとともに、冶具30に設定された同一直線上にない3つの基準点P1,P2,P3を測定するようにしたが、これに限らず、1軸につき4方向以上を向くように回転させた際のロボットフランジ13の位置を測定したり、冶具30に設定された同一直線上にない4以上の基準点を測定したりするようにしてもよい。もっとも、測定数を増やしても、6軸多関節ロボット10の固有値の精度や、6軸多関節ロボット10および冶具30の位置・姿勢の推定精度が向上する訳ではないので、3を超える測定数は技術的には無意味であることから、1軸につき3点(または冶具30の3つの基準点)を測定することと、1軸につき4点以上(または冶具30の4つの基準点)を測定することとは、実質的に同じである。
また、上記実施形態1では6軸多関節ロボット10および冶具30を新設する場合に、また、上記実施形態2ではセルCを移設する場合に本発明を適用したが、これに限らず、例えば、6軸多関節ロボット10の位置のみを変更する場合や、冶具30の位置のみを変更する場合や、既設の6軸多関節ロボット10に新たな動作プログラムをインストールする場合に本発明を適用してもよい。
さらに、上記各実施形態では、(1)第1測定工程→(2)第1算出工程→(3)第2測定工程の順で実施したが、これに限らず、(1)第1測定工程→(3)第2測定工程→(2)第1算出工程の順で実施してもよいし、(3)第2測定工程→(1)第1測定工程→(2)第1算出工程の順で実施してもよい。
このように、上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
本発明によると、多軸ロボットおよび/または冶具が変更された場合にも、動作プログラム通りの所定作業を、リティーチなしで多軸ロボットに実行させることができるので、ロボット制御方法に適用して極めて有益である。
10 6軸多関節ロボット
13 ロボットフランジ(アーム先端部)
20 ツール
30 冶具
40 ワーク
50 レーザートラッカー(測定機)
P1,P2,P3 基準点
13 ロボットフランジ(アーム先端部)
20 ツール
30 冶具
40 ワーク
50 レーザートラッカー(測定機)
P1,P2,P3 基準点
Claims (1)
- アーム先端部に取り付けられるエンドエフェクタを用いてワークに対して作業を行う多軸ロボット、および、当該ワークが載置される冶具の少なくとも一方が変更される場合に、当該多軸ロボットを、所定作業を実行可能な状態にする多軸ロボットの制御方法であって、
自身を基準とした対象物の3次元位置を測定可能な測定機と、上記所定作業に対応する動作プログラムと、を用意し、
上記多軸ロボットに所定姿勢をとらせた状態で、1軸につき3方向を向くように、各軸周りに指定角度だけ回転させた際の上記アーム先端部の位置を、上記測定機を用いて1軸ずつ測定する第1測定工程と、
上記第1測定工程における測定結果に基づいて上記多軸ロボットの固有値を算出する第1算出工程と、
上記冶具に設定された同一直線上にない3つの基準点を、上記測定機を用いて測定する第2測定工程と、
上記第1および第2測定工程における測定結果並びに上記固有値に基づいて算出された、上記多軸ロボットと上記冶具との推定上の相対的な位置関係および姿勢関係を表す行列、および、上記多軸ロボットと上記冶具との設計上の位置関係および姿勢関係を表す行列の、一方と他方の逆行列との積に基づいて補正量を算出する第2算出工程と、
上記補正量に基づき上記動作プログラムを修正する修正工程と、
修正後の上記動作プログラムを上記多軸ロボットにインストールするインストール工程と、を含むことを特徴とするロボット制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020094110A JP2021186929A (ja) | 2020-05-29 | 2020-05-29 | 多軸ロボットの制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020094110A JP2021186929A (ja) | 2020-05-29 | 2020-05-29 | 多軸ロボットの制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021186929A true JP2021186929A (ja) | 2021-12-13 |
Family
ID=78847937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020094110A Pending JP2021186929A (ja) | 2020-05-29 | 2020-05-29 | 多軸ロボットの制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021186929A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023189086A1 (ja) * | 2022-03-31 | 2023-10-05 | パナソニックIpマネジメント株式会社 | オフライン教示装置およびオフライン教示方法 |
-
2020
- 2020-05-29 JP JP2020094110A patent/JP2021186929A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023189086A1 (ja) * | 2022-03-31 | 2023-10-05 | パナソニックIpマネジメント株式会社 | オフライン教示装置およびオフライン教示方法 |
JP7365624B1 (ja) | 2022-03-31 | 2023-10-20 | パナソニックIpマネジメント株式会社 | オフライン教示装置およびオフライン教示方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107995885B (zh) | 一种坐标系标定方法 、系统及装置 | |
EP1936458B1 (en) | Device, method, program and recording medium for robot offline programming | |
CN108748159B (zh) | 一种机械臂工具坐标系自标定方法 | |
KR101126808B1 (ko) | 다축 제어 기계의 오차 평가 방법 및 장치 | |
KR101797122B1 (ko) | 이동형 3차원 좌표 측정기(cmm)의 에러 측정 및 보상 방법 | |
KR101498835B1 (ko) | 7축 다관절 로봇의 제어방법, 제어 프로그램 및 로봇 제어장치 | |
Abderrahim et al. | Accuracy and calibration issues of industrial manipulators | |
JP6418483B2 (ja) | 加工軌道生成装置と方法 | |
Qiao et al. | A novel calibration method for multi-robots system utilizing calibration model without nominal kinematic parameters | |
JP2004094399A (ja) | 多関節マニピュレータの制御方法及びその制御プログラム、並びにその制御システム | |
Olarra et al. | Experimental evaluation of a special purpose miniature machine tool with parallel kinematics architecture: Free leg hexapod | |
Xiao et al. | A new fixed axis-invariant based calibration approach to improve absolute positioning accuracy of manipulators | |
EP1886771B1 (en) | Rotation center point calculating method, rotation axis calculating method, program creating method, operation method, and robot apparatus | |
JP2021059012A (ja) | 情報処理装置、情報処理方法及びロボットシステム | |
Santolaria et al. | Self-alignment of on-board measurement sensors for robot kinematic calibration | |
Bhatt et al. | Optimizing part placement for improving accuracy of robot-based additive manufacturing | |
KR100644174B1 (ko) | 로봇 용접의 보정방법 | |
EP4037877B1 (en) | A method for determining placement of parallel-kinematic machine joints, and a parallelkinematic machine with high stiffness | |
JP2019089201A (ja) | 教示データ作成装置、教示データ作成装置の制御方法及びロボットシステム | |
Dehghani et al. | Vision-based calibration of a Hexa parallel robot | |
JP6390832B2 (ja) | 加工軌道生成装置と方法 | |
US10022868B2 (en) | Inverse kinematic solution for multi-joint link mechanism, and teaching-data creating device using the inverse kinematic solution | |
JP2021186929A (ja) | 多軸ロボットの制御方法 | |
Çakır et al. | Path planning for industrial robot milling applications | |
JP5513146B2 (ja) | ロボットシミュレータ |