JP2021013985A - ロボットシステム、ロボットシステムを用いた物品の製造方法、ロボットシステムの制御方法、ロボット装置の校正方法、入力装置、制御プログラムおよび記録媒体 - Google Patents
ロボットシステム、ロボットシステムを用いた物品の製造方法、ロボットシステムの制御方法、ロボット装置の校正方法、入力装置、制御プログラムおよび記録媒体 Download PDFInfo
- Publication number
- JP2021013985A JP2021013985A JP2019129586A JP2019129586A JP2021013985A JP 2021013985 A JP2021013985 A JP 2021013985A JP 2019129586 A JP2019129586 A JP 2019129586A JP 2019129586 A JP2019129586 A JP 2019129586A JP 2021013985 A JP2021013985 A JP 2021013985A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- robot system
- measuring
- measurement
- measuring device
- 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
Landscapes
- Manipulator (AREA)
Abstract
【課題】 ロボット装置の所定の一部の位置を外部の測定装置により測定して、ロボット装置のリンクパラメータを取得する際、取得するリンクパラメータの精度を向上することができるロボットシステムを提供する。【解決手段】 関節を有するロボット装置と、ロボット装置の所定の一部を測定し、位置に関する情報を出力する測定装置と、を備えたロボットシステムにおいて、一部には、測定装置により位置を測定するための、複数の測定ターゲットが備えられており、測定ターゲットにより、一部の所定の方向における傾きを測定する、ことを特徴とするロボットシステムを採用した。【選択図】 図3
Description
本発明は、ロボットシステムに関する。
近年、小型で複雑な構造をした電子機器等の製品の組立てに対し、ロボット装置を用いた組立て自動化の要求が高まっている。これらの製品の組立てにおいては、組み立てる製品の構造上、ロボット装置に対し精密な動作制御が求められる。このため、上記のような組立てに使用されるロボット装置は、ロボット装置を構成している各リンクのパラメータを精密に校正している。各リンクのパラメータとは各リンクの長さや、ねじれ角などのロボット装置における機構的な特性値のことであり、リンクパラメータとも呼称される。リンクパラメータは、ロボット装置の動作を制御する上で必要となる値であり、リンクパラメータを精密に校正することで、ロボット装置の動作制御の精度を向上させることができる。
特許文献1には、リンクパラメータを校正するために、3台のレーザー位計でロボットアームの先端の位置を測定するようなロボットアームの測定装置が開示されている。レーザー変位計のような3次元測定装置などで測定したロボットアームの手先位置の測定結果と、ロボットアームの関節角およびリンクパラメータから演算される手先位置の演算結果を比較することで、リンクパラメータの校正が実行される。そしてリンクパラメータを校正することでロボットアームの手先の位置精度の向上を図る。
しかしながら、特許文献1が開示している技術では、ロボットアームの先端位置を測定する際に、ロボットアームの手先が傾いている場合を想定していない。そのためロボットアームの手先の3次元的な位置を測定することはできているが、3次元的な姿勢を測定することはできていない。そのため組立てで要求される精度によって、校正したリンクパラメータの精度が足りず、校正したリンクパラメータが使用できないため、再校正が必要となる場合がある。
以上の課題を鑑み、本発明では、ロボット装置の所定の一部の位置を外部の測定装置により測定して、ロボット装置のリンクパラメータを取得する際、取得するリンクパラメータの精度を向上することができるロボットシステムを提供する。
上記課題を解決するために本発明においては、関節を有するロボット装置と、前記ロボット装置の所定の一部を測定し、前記位置に関する情報を出力する測定装置と、を備えたロボットシステムにおいて、前記一部には、前記測定装置により前記位置を測定するための、複数の測定ターゲットが備えられており、前記測定ターゲットにより、前記一部の所定の方向における傾きを測定する、ことを特徴とするロボットシステムを採用した。
本発明によれば、精度の高いリンクパラメータを取得することができる。
以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す構成はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
(第1の実施形態)
図1は、本実施形態におけるロボットシステム100を、XYZ座標系のある方向から見た平面図である。なお以下の図面において、図中の矢印X、Y、Zはロボットシステム100全体の座標系を示す。一般に、ロボット装置を用いたロボットシステムでは、XYZ3次元座標系は、設置環境全体のワールド座標系の他に、制御の都合などによって、ロボットハンド、指部、関節などに関して適宜ローカル座標系を用いる場合がある。本実施形態ではロボット装置100全体の座標系であるワールド座標系をXYZ、ローカル座標系をxyzで表すものとする。
図1は、本実施形態におけるロボットシステム100を、XYZ座標系のある方向から見た平面図である。なお以下の図面において、図中の矢印X、Y、Zはロボットシステム100全体の座標系を示す。一般に、ロボット装置を用いたロボットシステムでは、XYZ3次元座標系は、設置環境全体のワールド座標系の他に、制御の都合などによって、ロボットハンド、指部、関節などに関して適宜ローカル座標系を用いる場合がある。本実施形態ではロボット装置100全体の座標系であるワールド座標系をXYZ、ローカル座標系をxyzで表すものとする。
図1に示すように、ロボットシステム100は、多関節のロボットアーム本体200、測定治具300、ロボットアーム本体200の動作を制御するロボットアーム制御装置400を備えている。また、測定装置600と、後述する測定装置600に配置される測定ターゲットの配置条件を変更する測定条件設定装置700とを簡略化して表している。
さらに、ロボットアーム制御装置400に教示データを送信する教示装置としての外部入力装置500を備えている。外部入力装置500の一例としてティーチングペンダントが挙げられ、作業者がロボットアーム本体200の位置を指定するのに用いる。測定条件設定装置700は、コンピュータのユーザインタフェースを例に取り説明する。
本実施形態では、エンドエフェクタとしてロボットアーム本体200の先端部に設けられるものが、測定治具300である場合について説明するが、これに限定するものではなく、適宜ロボットハンド、ロボットツール等に取り換えてよい。
ロボットアーム本体200の基端となるリンク201は、基台210に設けられている。測定治具300は、測定装置600と共に用いることで、ロボットアーム本体200の手先の位置および姿勢を測定するものである。
ここで、ロボットアーム本体200の手先とは、本実施形態では、測定治具300のことである。エンドエフェクタとして取り付けられている測定治具を手先と呼称する。
測定治具300はリンク206に接続され、リンク206が回転することで、測定治具300も回転させることができる。
ロボットアーム本体200は、複数の関節、例えば6つ関節(6軸)を有している。ロボットアーム本体200は、各関節J1〜J6を各回転軸まわりにそれぞれ回転駆動させる複数(6つ)のモータ211〜216(図4)を有している。
ロボットアーム本体200は、複数のリンク201〜206が各関節J1〜J6で回転可能に連結されている。ここで、ロボットアーム本体200の基端側から先端側に向かって、リンク201〜206が順に直列に連結されている。
ロボットアーム本体200は、可動範囲の中であれば、任意の3次元位置で任意の3方向の姿勢に、ロボットアーム本体200のエンドエフェクタ(測定治具300)を向けることができる。
そしてエンドエフェクタとしてロボットハンドを装着させることで、ロボットアーム本体200によりロボットハンドを任意の位置に動作させ、所望の作業を行わせることができる。所望の作業とは例えば、対象物同士を組み付け物品の製造を行う等の作業である。
図2は、ロボットアーム200の関節J2を示す部分断面図である。以下、関節J2を例に代表して説明し、他の関節J1、J3〜J6については、同様の構成であるため、説明を省略する。
図2より関節J2には、電動モータである回転モータ(以下、「モータ」という)212と、モータ212の回転軸232の回転を減速する減速機233と、を有している。また、モータ212の回転軸232(減速機233の入力軸)の回転角度を検出する角度検出部であるエンコーダ222を有する。モータ212は、サーボモータであり、例えばブラシレスDCサーボモータやACサーボモータがあげられる。本実施形態におけるエンコーダ222はアブソリュート型のロータリーエンコーダであり、1回転の絶対角度エンコーダ、絶対角度エンコーダの回転総数のカウンタ、及びカウンタに電力を供給するバックアップ電池を有して構成される。
これによりロボットアーム本体200への電源の供給がなくても、このバックアップ電池が有効であれば、ロボットアーム本体200への電源供給に関係なく、カウンタにおいて回転総数が保持される。これによりエンコーダ222の検出結果に基づき、ロボットアーム本体200の姿勢が制御可能となり、測定治具300の位置の動作の制御が可能となる。なお、エンコーダ222は、モータ212に取り付けられているが、減速機233の入力軸に直接取り付けてもよい。
また、リンク201とリンク202とは、軸受237を介して回転自在に結合されている。本実施形態における軸受237はクロスローラーベアリングを用いている。
モータ212は、カバー238で覆われて保護されている。モータ212とエンコーダ222との間には、不図示のブレーキユニットが設けられている。ブレーキユニットの主な機能は、電源オフ時のロボットアーム本体200の姿勢の保持である。
本実施形態における減速機233は、小型かつ軽量で減速比の大きい波動歯車減速機を用いている。減速機233は、回転軸232に結合されたウェブジェネレータ241と、リンク202に固定されたサーキュラスプライン242を備えている。さらにウェブジェネレータ241とサーキュラスプライン242との間に配置され、リンク211に固定されたフレクスプライン243を備えている。なお、サーキュラスプライン242は、リンク202に直結されているが、リンク202に一体に形成されていてもよい。
フレクスプライン243は、ウェブジェネレータ241の回転に対して減速比Nで減速され、サーキュラスプライン242に対して相対的に回転する。従って、モータ212の回転軸232の回転は、減速機233で1/Nの減速比で減速され、フレクスプライン243が固定されたリンク201に対して、サーキュラスプライン242が固定されたリンク202を相対的に回転運動させ、関節J2を動作させる。つまり本実施形態ではサーキュラスプライン242を出力軸として使用している。なお、関節の形態によってはフレックススプライン243を出力軸として使用しても良い。
次に図3を用いて、測定治具300および測定装置600について説明する。図3(a)は測定治具300の詳細図、図3(b)は測定装置600を用いてロボットアーム本体200の手先の位置および姿勢を測定している際の図である。図3(c)は測定治具300の測定ターゲット302、302の配置を変更した際の図である。図3に示した座標系は、ロボットシステム100全体の座標系XYZである。
図3(a)より、ロボットアーム本体200の所定の一部である手先に測定治具300が設けられている。測定治具300は、ブロック301、測定ターゲット302、303で構成されている。ブロック301は、測定ターゲット302、303を、図3(a)中のA、B、C、Dで示した4箇所に選択的に配置できる構造となっている。図3(a)では、測定ターゲット302をAの位置に、測定ターゲット303をBの位置に配置している。
図3(b)より、本実施形態において測定装置600は複数設けられている。また本実施形態では測定装置600としてレーザートラッカー602、603を使用している。上述の2箇所の測定ターゲット302、303の、レーザートラッカー602、603に対する位置は、ロボットアーム200の状態に応じて変わる。これらの可変な位置を2台のレーザートラッカー602、603で測定ターゲット302、302にレーザーを照射し、追従することでロボットアーム本体200の手先の位置および姿勢を測定する。そして測定した位置および姿勢を所定の値に変換し、制御装置400に出力する。
図3(a)に戻り、本実施形態では測定装置600としてレーザートラッカーを使用しているため、測定ターゲット302、303としてはキャッツアイ反射鏡を用いている。ロボットアーム本体200の手先の姿勢の方向である、長手方向ベクトルHはAおよびBの2点間を結ぶベクトルとして定義される。
Bの位置に配置された測定ターゲット303の位置をレーザートラッカー603によって測定することで、ロボットアーム本体200の手先の位置が測定できる。さらに、Aの位置に配置された測定ターゲット302の測定結果との差分を求めることによって、長手方向ベクトルHが測定できる。これによりロボットアーム本体200の手先の位置および姿勢が測定できる。なお、位置Bはロボットアーム本体200の制御の基礎となるTCP(ツールセンターポイント)に近い位置としている。そのため、本実施形態では、位置Bに配置された測定ターゲット303により、ロボットアーム本体200の手先の位置を測定している。
また、図3(c)より測定条件設定装置700を用いて、測定ターゲット302、303の配置条件を変更することができる。図3(c)では、測定ターゲット302はDの位置に、測定ターゲット303はCの位置に配置されている。これにより短手方向ベクトルPも測定することができる。
図4は、本実施形態におけるロボットシステム100の構成を示すブロック図である。ロボットアーム制御装置400は、コンピュータで構成されており、制御部(処理部)としてのCPU(Central Processing Unit)401を備えている。
また制御装置400は、記憶部として、ROM(Read Only Memory)402、RAM(Random Access Memory)403、HDD(Hard Disk Drive)404を備えている。また、制御装置400は、記録ディスクドライブ405、各種のインタフェース406〜409、411〜413を備えている。
CPU401には、ROM402、RAM403、HDD404、記録ディスクドライブ405、各種のインタフェース406〜409、411〜413が、バス410を介して接続されている。ROM402には、BIOS等の基本プログラムが格納されている。RAM403は、CPU401の演算処理結果等、各種データを一時的に記憶する記憶装置である。
HDD404は、CPU401の演算処理結果や外部から取得した各種データ等を記憶する記憶装置であると共に、CPU401に、演算処理を実行させるためのプログラム430を記録するものである。CPU401は、HDD404に記録(格納)されたプログラム430に基づいてロボット制御方法の各工程を実行する。
記録ディスクドライブ405は、記録ディスク431に記録された各種データやプログラム等を読み出すことができる。
外部入力装置500はインタフェース406に接続されている。CPU401はインタフェース406及びバス410を介して外部入力装置500からの教示データの入力を受ける。
アーム用モータドライバ230は、インタフェース409に接続されている。CPU401は、アーム用モータドライバ230、インタフェース409及びバス410を介して各センサ221〜226から検出結果を取得する。また、CPU401は、各関節の指令値のデータを所定時間間隔でバス410及びインタフェース409を介してアーム用モータドライバ230に出力する。
測定装置600は、インタフェース411に接続され、バス410を介してCPU401と通信可能に設けられている。CPU401は、バス410及びインタフェース411を介して測定装置600からの測定結果を取得する。また、CPU401は、ロボットハンド本体300の各指部の指令値のデータを所定時間間隔でバス410及びインタフェース411を介してハンド用モータドライバ301に出力する。
測定条件設定装置700はインタフェース412に接続されている。CPU401はインタフェース412及びバス410を介して測定条件設定装置700からのデータの入力を受ける。
同様に測定治具300も、インタフェース413に接続され、バス410を介してCPU401と通信可能に設けられている。CPU401は、測定条件設定装置700から取得したデータを測定治具300に出力する。これにより、測定治具300に設けられた測定ターゲット302、303の配置条件を変更する。また、測定条件設定装置700は、バス410およびCPU401を介し、測定装置600のレーザーの照射方向を変更することもできる。
インタフェース407には、モニタ421が接続されており、モニタ421には、CPU401の制御の下、各種画像が表示される。インタフェース408は、書き換え可能な不揮発性メモリや外付けHDD等の記憶部である外部記憶装置422が接続可能に構成されている。
なお本実施形態では、コンピュータ読み取り可能な記録媒体がHDD404であり、HDD404にプログラム430が格納される場合について説明するが、これに限定するものではない。プログラム430は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。
例えば、プログラム430を供給するための記録媒体としては、ROM402、記録ディスク431、外部記憶装置422等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性メモリ、ROM等を用いることができる。
また後述するが、CPU401はその内部にリンクパラメータの校正演算を実行するための演算手段を含んでいる。演算手段は、測定ターゲットの配置に応じて、校正が可能なリンクパラメータを選択して校正演算を実行する。以下、本実施形態におけるリンクパラメータについて詳しく説明する。
図5は本実施形態におけるロボットアーム本体200の各部に設定されたローカル座標系を示す。ワールド座標系Σ0はリンク210に設定され、互いに直交するX軸、Y軸、Z軸を有する。
座標系Σ1〜Σ6はそれぞれリンク201〜206に設定されている。設定位置は関節J1〜J6である。関節J1〜J6の動作はそれぞれ座標系Σ1〜Σ6のz軸回りの回転で示される。関節J1の回転動作は、座標系Σ1がそのZ軸回りに回転して座標系Σ0との相対的な姿勢が変わることで示される。
また、関節J2の屈曲動作は、座標系Σ2がそのz軸回りに回転して座標系Σ1との相対的な姿勢が変わることで示される。リンクパラメータとは機構的な意味でいうとリンク201〜206の長さやねじれ角のことであるが、運動学的には隣接関係にある座標系の間の相対的な位置と姿勢のことである。位置を表すパラメータはx、y、z方向の並進距離の3成分である。姿勢を表すパラメータもα、β、γの3成分がある。よって、1つのリンクのリンクパラメータは6成分で構成される。リンク201〜206は6つあるので、ロボットアーム本体200はリンクパラメータとして36成分が存在する。
図6は本実施形態におけるロボットアーム本体200の標準姿勢を示す。座標系Σ0から座標系Σ3がz軸およびZ軸方向の一直線上にあり、かつ、座標系Σ3から座標系Σ6がx軸方向の一直線上にあるような姿勢である。ロボットアーム本体200が標準姿勢であるとき、関節J1〜J6の関節の角度は原点にあるとする。すでに説明したように、関節J2のエンコーダ222はアブソリュート型のロータリーエンコーダであり、その他の関節も同様である。
図6に示すような標準姿勢にある場合、エンコーダ222の出力をROM402に原点として記憶しておき、以後、図7に示すようにエンコーダ222の検出値から、ROM202に記憶した原点の値を減算することで、関節J2の関節角が導出される。関節J1、J3〜J6についても同様である。
ロボットアーム本体200のリンクパラメータの校正はロボットアーム本体200の手先の位置および姿勢の測定結果を用いて実行される。図8はロボットアーム本体200の手先の位置および姿勢の測定を詳細に説明する図面である。図8(a)は、ロボットアーム本体200が標準姿勢をとっている際にレーザートラッカー602を用いてロボットアーム本体200の手先の位置および姿勢を測定している図である。図8(b)は、ロボットアーム本体200が標準姿勢よりも手先の位置および姿勢がZ軸の+方向に傾いている(上向き)状態である。図8(a)、図8(b)ではレーザートラッカー602しか示されていないが、紙面奥側にレーザートラッカー603が存在しているものとする。上記のようにリンクパラメータの校正には、ロボットアーム本体200における複数の異なる姿勢状態が必要となる。図8(a)および図8(b)におけるロボットアーム本体200の姿勢を、それぞれ姿勢1と姿勢2と呼称する。
また、図8(c)に示すように測定装置600として撮像装置800を使用しても良い。この場合、撮像装置800で視認可能な測定治具300を別途、ロボットアーム本体200の手先に装着すればよい。
次にCPU401の演算手段が実行するリンクパラメータを求める際の演算のアルゴリズムについて詳細に説明する。演算対象であるリンクパラメータをn個の成分からなる列ベクトルqとする。6つのリンク201〜206を有するロボットアーム本体200ではn=36である。ロボットアーム200の先端の位置と姿勢を示す列ベクトルをpとする
3次元空間での位置は3成分で示される。同じく3次元空間での姿勢も3成分で示される。ただし、組付動作にあまり影響しないベクトルHを軸とした回転方向の成分は今回無視する。よって、pは5個の成分を有する。pとqの関係は、順運動学により定義される関数fを用いて(1)式のように示される。
p=f(q) (1)
3次元空間での位置は3成分で示される。同じく3次元空間での姿勢も3成分で示される。ただし、組付動作にあまり影響しないベクトルHを軸とした回転方向の成分は今回無視する。よって、pは5個の成分を有する。pとqの関係は、順運動学により定義される関数fを用いて(1)式のように示される。
p=f(q) (1)
リンクパラメータにはロボットアーム本体200の機構設計に基づく校正前の初期値が定義されている。ロボットアーム本体200の関節J1〜J6の関節角と、リンクパラメータの初期値により、ロボットアーム本体200の手先の位置および姿勢の演算結果が導出される。
ここで、演算結果と言っているのは、ロボットアーム本体200の手先の位置および姿勢を直接測定するのでなく、関節角およびリンクパラメータから演算で求めていることを意味する。
測定装置600などで測定した、ロボットアーム本体200の手先の位置と姿勢の測定結果が規範となる値であるとして、測定結果と演算結果との偏差をΔpとする。また、リンクパラメータに含まれる誤差をΔqとして、両者の関係は、偏微分演算子∂を用いて次式のように示される。
Δp=(∂f/∂q)・Δq (2)
(2)式において、(∂f/∂q)は5×nの成分を有する行列である。
Δp=(∂f/∂q)・Δq (2)
(2)式において、(∂f/∂q)は5×nの成分を有する行列である。
次に、ロボットアーム本体200における姿勢をm通りの状態にしたうえで、それぞれ測定結果と演算結果を求める。mの5倍の数である5mがnよりも大きくなるように、mは設定される。Δpのm個の集まりを、5mの成分を有するベクトルΔPとする。ΔPとΔqとは次式の関係にある。
ΔP=A・Δq (3)
(3)式において、Aは5m×nの成分を有する行列である。
ΔP=A・Δq (3)
(3)式において、Aは5m×nの成分を有する行列である。
ここで、次式のように、Aのランク(階数とも呼ぶ)をrnとする。
rank A=rn≦n (4)
rank A=rn≦n (4)
また、次式のように、Aをn個の列ベクトルで表記する。
A=[A1 A2・・・An] (5)
A=[A1 A2・・・An] (5)
さらに、次式のように、Δqをn個の成分で表記する。(6)式において上付き記号Tはベクトルの転置である。
Δq=[Δq1 Δq2・・・Δqn]T (6)
Δq=[Δq1 Δq2・・・Δqn]T (6)
Aのランクがrnのままとなるように、Aからn−rn個の列ベクトルを削除した行列をArnとする。削除した列ベクトルと同じインデックスである成分をΔqから削除して、これをΔqrnとする。求めたいリンクパラメータの校正値はΔqrnである。
Δqrnは次式のように計算できる。(7)式においてArn#はArnの擬似逆行列である。
Δqrn=Arn#・ΔP (7)
Δqrn=Arn#・ΔP (7)
演算手段は以上に説明したアルゴリズムを実行することでロボットアーム本体200のリンクパラメータの校正を行う。全部でn個のリンクパラメータのなかでrn個が校正される。
さらに、未校正なn−rn個のリンクパラメータを校正する場合の手順を説明する。図3(c)に示すように、測定ターゲット303、302をそれぞれブロック301のCとDの位置に配置する。ブロック301の選択配置A、B、C、Dは、図3(a)の場合に選択したAとBのペアと、図3(c)で選択したCとDのペアを選択した場合に、長手方向ベクトルHと短手方向ベクトルPが直交するように設定されることが好ましい。そして、測定ターゲット302、303を位置C、Dに配置した状態で、レーザードップラー602、603で追従させ、ロボットアーム本体200の手先の位置と姿勢を測定する。リンクパラメータを求めるアルゴリズムは上述した(1)式から(7)式に準じて以下のようにする。
未校正なリンクパラメータをn−rn個の成分からなる列ベクトルq´とする。ロボットアーム本体200の手先の位置については、位置誤差を低減するようにリンクパラメータが校正されている。姿勢を示す列ベクトルをp´とする。3次元空間での姿勢は3成分で示されるので、p´は3個の成分を持つ。p´とq´の関係は、順運動学により定義される関数f´を用いて次式のように示される。
p´=f´(q´) (8)
p´=f´(q´) (8)
未校正なリンクパラメータには、ロボットアーム本体200の機構設計に基づく校正前の初期値が定義されている。
ロボットアーム本体200の手先の姿勢を測定装置600で測定した測定結果と、ロボットアーム本体200の関節J1〜J6の関節角とリンクパラメータから演算された姿勢の演算結果とを比較し、これらの偏差をΔp´とする。未校正なリンクパラメータに含まれる誤差をΔq´として、両者の関係は、偏微分演算子∂を用いて次式のように示される。
Δp´=(∂f´/∂q´)・Δq´ (9)
(9)式において、(∂f´/∂q´)は3×(n―rn)の成分を有する行列である。
Δp´=(∂f´/∂q´)・Δq´ (9)
(9)式において、(∂f´/∂q´)は3×(n―rn)の成分を有する行列である。
次に、ロボットアーム本体200における姿勢をm´通りの状態にしたうえで、ロボットアーム本体200の手先の位置および姿勢の測定結果と演算結果を求める。m´の3倍の数である3m´が(n―rn)よりも大きくなるように、m´は設定される。Δp´のm´個の集まりを、3m´の成分を有するベクトルΔP´とする。ΔP´とΔq´とは次式の関係にある。
ΔP´=A´・Δq´ (10)
ΔP´=A´・Δq´ (10)
求めたいリンクパラメータの校正値はΔq´である。Δq´は次式のように計算できる。次式においてA´#はA´の擬似逆行列である。
Δq´=A´#・ΔP´ (11)
Δq´=A´#・ΔP´ (11)
以上により未校正なn−rn個のリンクパラメータが校正される。
以上、本実施形態によれば、ロボットアーム本体200の手先の位置および姿勢を測定するための測定ターゲットの配置条件が可変できるようにしている。これにより、ロボットアーム本体200の手先の姿勢も加味したリンクパラメータの校正を行うことができ、精度の高いリンクパラメータを取得することができる。また、測定ターゲットの配置条件を変更できるので、長手方向や短手方向など、ロボットアーム本体200の手先の姿勢を規定する各方向においてそれぞれ測定することができる。これにより、レーザードップラー2台で、本実施形態のような6軸のロボットアームにおけるリンクパラメータ36成分を求めることができる。
また本実施形態では、測定ターゲットをABに配置した場合と、CDに配置した場合の両方でロボットアーム本体200の手先の位置および姿勢を測定し、リンクパラメータの校正を行っている。しかしながら、ロボットアーム本体200の動作によっては、すべての方向においてロボットアーム本体200の手先の位置および姿勢を測定する必要はない。そのような場合、測定条件設定装置700にロボットアーム本体200の動作工程のデータを記憶させる共に、校正のための測定ターゲットの配置条件を対応して紐づけておく。そして、測定ターゲットの配置を自動で行う指令が測定条件設定装置700より制御装置400に入力されると、ロボットアーム本体200の動作工程に応じて、測定ターゲットの配置条件を自動で設定する。これにより容易に測定ターゲットの配置条件を設定することができる。もちろん、作業者により測定条件設定装置700を操作して、適宜手動で測定ターゲットの配置条件を設定してもかまわない。
さらに、測定ターゲットの配置条件を変更できるようにすることで、2つの測定ターゲットのみで、種々の方向の傾きを測定することができ、測定ターゲットの設置数を減らしコストの増大を抑えることができる。しかしながら、測定ターゲットの個数に上限が無ければ、測定ターゲットを複数設け、通常時は測定治具に埋め込まれるようにしておく。そして、所定の方向の傾きを測定する際に、所定の2つの測定ターゲットが測定治具から飛び出すように設けてもよい。
(第2の実施形態)
上述した第1の実施形態では、ロボットアーム本体200の手先の姿勢を加味したリンプパラメータの取得について説明した。しかしながら、リンクパラメータの精度に影響を及ぼす要因はロボットアーム本体200の手先の姿勢だけではない。
上述した第1の実施形態では、ロボットアーム本体200の手先の姿勢を加味したリンプパラメータの取得について説明した。しかしながら、リンクパラメータの精度に影響を及ぼす要因はロボットアーム本体200の手先の姿勢だけではない。
上述した第1の実施形態では、ロボットアームの制御のために、関節角度を測定するためのセンサが内蔵されており、角度検出の基準とするために原点を設定している。そしてリンクパラメータを求めるために、ロボットアーム本体200の手先の位置および姿勢を測定する際、その原点にズレが発生していた場合は考慮せずに測定を行っている。
この場合、経年的なロボットアームの使用により、作業者が気づかぬ内に原点がずれ、原点がズレたままリンクパラメータの校正を実行した場合、リンクパラメータに影響を及ぼしてしまう。原点がずれたまま、3次元測定装置などで測定したロボットアームの手先位置の測定結果と、ロボットアームの関節角およびリンクパラメータから演算され手先位置の演算結果との差が大きくなる。特にリンクパラメータを線形近似により取得する際には、上記の測定結果と演算結果との差が大きいと、リンクパラメータの演算誤差も大きくなり、得られたリンクパラメータがもはや有効に機能せず再校正が必要となる場合がある。本実施形態では、上記で述べたように作業者が気づかぬ内に原点がズレた場合でも、精度の高いリンクパラメータを取得することができる形態につき説明する。
以下では、第1の実施形態とは異なるハードウェアや制御系の構成の部分について図示し説明する。また、第1の実施形態と同様の部分については上記と同様の構成ならびに作用が可能であるものとし、その詳細な説明は省略するものとする。
図9は本実施形態におけるロボットシステム100を簡略化して示した図である。測定装置600としては、図8で示したレーザートラッカーやビジョンカメラでもよく、また、タッチプローブを利用した接触式の3次元測定装置であってもよい。
図9より、本実施形態のCPU401には各機能ブロックを備えている。手先位置演算手段451は、関節角度およびリンクパラメータから順運動学を用いてロボットアーム本体200の手先の位置を演算するブロックである。また、校正値演算手段452は第1の実施形態で述べたアルゴリズムによりリンクパラメータの校正値を演算するブロックである。ロボットアーム本体200の手先の測定結果と演算結果を利用して上述したリンクパラメータの校正値Δqを演算する。そしてΔqをもとに原点補正値Δθを導出する。第1の実施形態では説明を割愛したが、手先位置演算手段451および校正値演算手段452は第1の実施形態におけるCPU401にも備えられている。
第1の実施形態と異なる点は、原点補正値演算手段453と、原点更新手段354を備えている点である。以下図10を用い、関節J2で原点ズレが発生した際について説明する。
図10(a)は、関節J2の原点がΔθ2だけずれて、標準姿勢からリンク202がΔθ2だけ回転した状態を示す。つまりΔθ2はズレ量となる。第1の実施形態で述べたアルゴリズムによりリンクパラメータの校正を実行することで、Δθ2を演算することが出来る。さらに図10(b)は図10(a)と全く同様な姿勢であるが、リンクパラメータの校正により、リンク長が機構設計に基づく初期値L2と校正した値であるΔL2との複数の値を持たせることができる。
直接Δθ2を演算した場合、Δθ2がただちに関節J2の原点ズレを補正するための原点補正値となる。原点補正値を用いて原点を更新することで、正しい標準姿勢を得ることができる。第1の実施形態の図7において、関節の原点はROM402に記憶されていることを説明した。ROM402に記憶された関節J2の原点の値をθ2orgとすると、原点の更新は次式のように実行される。
θ2org←θ2org+Δθ2 (12)
なお、(12)式において、記号[←]は更新前の記憶値を用いて演算を行ったのち、演算後の値を用いて記憶値を更新することを意味する。原点を更新する際は、不図示のブレーキユニットで関節J2を固定して行うことが望ましい。
θ2org←θ2org+Δθ2 (12)
なお、(12)式において、記号[←]は更新前の記憶値を用いて演算を行ったのち、演算後の値を用いて記憶値を更新することを意味する。原点を更新する際は、不図示のブレーキユニットで関節J2を固定して行うことが望ましい。
また、ΔL2を演算した場合、原点補正値Δθ2を次式のように演算しても良い。
Δθ2=atan(ΔL2/L2) (13)
(13)式のΔθ2を用いても原点の更新が実行できる。上記では関節J2の原点ズレを例にとり説明したが、関節J1、J3〜J6についても同様である。
Δθ2=atan(ΔL2/L2) (13)
(13)式のΔθ2を用いても原点の更新が実行できる。上記では関節J2の原点ズレを例にとり説明したが、関節J1、J3〜J6についても同様である。
図9に戻り、校正値演算手段452は先に図10で関節J2を事例として説明したように、Δθ2またはΔL2を演算する。
そして原点補正値演算手段453は、Δθ2を直接原点補正値として演算するか、ΔL2を用いてΔθ2を算出し、原点補正値を算出する。
そして原点更新手段354はΔθ2を用いてROM402に記憶された原点の値θ2orgを更新する。関節J2の場合は(12)式が実行されるが、関節J1、J3〜J6でも作用は同様である。このように、リンクパラメータの校正を行うことで、ロボットアーム本体200の経年的な使用により、作業者が気づかぬ内に原点ずれが発生した場合でも、関節の原点を正しく設定し直すことが出来る。
さらに、リンクパラメータの校正と上述した原点の設定を繰り返し実行することで、より高精度なリンクパラメータの値を得ることができる。図11はリンクパラメータの校正と原点の設定を繰り返し実行する場合のフローチャートである。
図11より、まずS101で、リンクパラメータの校正を実行して校正値を導出する。S101の詳細は、第1の実施形態で述べた、リンクパラメータ校正のアルゴリズムと同様である。
次にS102で、S101で求めた校正値から原点補正値を演算する。原点補正値は上述した原点補正値演算手段453の説明と同様である。
そしてS103では、S101で演算した校正値、またはS103およびS103演算した原点補正値を、予め定められたそれぞれの閾値と比較する。どちらか1方でも閾値以上である場合は、S103:YesよりS104に移る。
S104では、何らかの要因によりロボットアーム本体200の関節の原点がズレているとし、S102で演算した原点補正値を用いて各関節の原点を更新する。そして再度S101に戻り、再設定した原点の値に基づいてロボットアーム本体200をより正確な標準姿勢の状態にし、リンクパラメータ校正を実行する。関節の原点が更新されているため、ロボットアーム本体200の手先の位置および姿勢の演算結果も、更新された関節角から演算される。測定装置600によるロボットアーム本体200の手先の位置および測定結果も再度取得する。
そしてS103より、校正値および原点補正値の両者が閾値より小いさければ、十分なリンクパラメータの校正が実行されたとして、リンクパラメータ校正を終了する。なお、本実施形態では、S103の判定において校正値および原点補正値の両方を用いたが、求められる精度によってはどちらか一方でもかまわない。
以上本実施形態によれが、ロボットアーム本体200の体200の経年的な使用により、作業者が気づかぬ内に原点ずれが発生した場合でも、関節の原点を正しく設定し直すことができ、リンクパラメータの精度の向上を図ることができる。
また、ロボットアーム本体200の関節に突き当てピンの挿入孔などの機構的な原点設定手段を設けずとも、自動で関節の原点の設定ができる。よって、ロボットアーム本体200のコストを下げるともに、作業者にとって利便性の高いロボットアームを提供することができる。
上述した種々の実施形態の処理手順は具体的には制御装置400により実行されるものとして説明した。しかし、上述した機能を実行可能なソフトウェアの制御プログラムおよびそのプログラムを記録した記録媒体を外部入力装置500または測定条件設定装置700に搭載させて実施しても良い。
従って上述した機能を実行可能なソフトウェアの制御プログラムおよびそのプログラムを記録した記録媒体、通信装置は本発明を構成することになる。
また、上記実施形態では、コンピュータで読み取り可能な記録媒体がROM或いはRAMであり、ROM或いはRAMに制御プログラムが格納される場合について説明したが、本発明はこのような形態に限定されるものではない。
本発明を実施するための制御プログラムは、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、制御プログラムを供給するための記録媒体としては、HDD、外部記憶装置、記録ディスク等を用いてもよい。
(その他の実施形態)
また上述した種々の実施形態では、ロボットアーム本体200が複数の関節を有する多関節ロボットアームを用いた場合を説明したが、関節の数はこれに限定されるものではない。ロボット装置の形式として、垂直多軸構成を示したが、パラレルリンク型など異なる形式の関節においても上記と同等の構成を実施することができる。
また上述した種々の実施形態では、ロボットアーム本体200が複数の関節を有する多関節ロボットアームを用いた場合を説明したが、関節の数はこれに限定されるものではない。ロボット装置の形式として、垂直多軸構成を示したが、パラレルリンク型など異なる形式の関節においても上記と同等の構成を実施することができる。
また上述した種々の実施形態は、制御装置に設けられる記憶装置の情報に基づき、伸縮、屈伸、上下移動、左右移動もしくは旋回の動作またはこれらの複合動作を自動的に行うことができる機械に適用可能である。
なお本発明は、上述した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されない。
100 ロボットシステム
200 ロボットアーム本体
201〜206 リンク
210 基台
211〜216 モータ
222 エンコーダ
232 回転軸
233 減速機
237 軸受
238 カバー
241 ウェブジェネレータ
242 サーキュラスプライン
243 フレックススプライン
300 測定治具
301 ブロック
302、303 測定ターゲット
400 制御装置
451 手先位置演算手段
452 校正値演算手段
453 原点補正値演算手段
454 原点更新手段
500 外部入力装置
600 測定装置
700 測定条件設定装置
800 撮像装置
200 ロボットアーム本体
201〜206 リンク
210 基台
211〜216 モータ
222 エンコーダ
232 回転軸
233 減速機
237 軸受
238 カバー
241 ウェブジェネレータ
242 サーキュラスプライン
243 フレックススプライン
300 測定治具
301 ブロック
302、303 測定ターゲット
400 制御装置
451 手先位置演算手段
452 校正値演算手段
453 原点補正値演算手段
454 原点更新手段
500 外部入力装置
600 測定装置
700 測定条件設定装置
800 撮像装置
Claims (19)
- 関節を有するロボット装置と、前記ロボット装置の所定の一部を測定し、前記位置に関する情報を出力する測定装置と、を備えたロボットシステムにおいて、
前記一部には、前記測定装置により前記位置を測定するための、複数の測定ターゲットが備えられており、
前記測定ターゲットにより、前記一部の所定の方向における傾きを測定する、
ことを特徴とするロボットシステム。 - 請求項1に記載のロボットシステムにおいて、
前記測定ターゲットの少なくとも1つは、配置条件を変更することができ、
前記測定ターゲットの配置条件を所定の条件に設定することで、前記一部の所定の方向における傾きを測定する、
ことを特徴とするロボットシステム。 - 請求項2に記載のロボットシステムにおいて、
前記ロボットシステムに情報を入力する入力装置を備えており、
前記入力装置は、
前記測定ターゲットの配置条件を設定する設定手段を備えている、
ことを特徴とするロボットシステム。 - 請求項3に記載のロボットシステムにおいて、
前記入力装置は、
前記ロボット装置の動作に対応した前記測定ターゲットの配置条件の情報が格納されている、
ことを特徴とするロボットシステム。 - 請求項4に記載のロボットシステムにおいて、
前記入力装置は、
所定の操作を受け付けると、格納されている前記測定ターゲットの配置条件の情報に基づき、前記測定ターゲットの配置条件を変更する、
ことを特徴とするロボットシステム。 - 請求項1から5のいずれか1項に記載のロボットシステムにおいて、
前記ロボットシステムを制御する制御装置を備え、
前記制御装置は、
前記測定装置の測定結果に基づき、前記ロボット装置のパラメータを演算する、
ことを特徴とするロボットシステム。 - 請求項1から6のいずれか1項に記載のロボットシステムにおいて、
前記測定装置は、第1の測定装置と第2の測定装置とを備えており、
前記測定ターゲットは、第1の測定ターゲットと第2の測定ターゲットとを備えており、
前記第1の測定装置は前記第1の測定ターゲットの位置を測定し、前記第2の測定装置は前記第2の測定ターゲットの位置を測定する、
ことを特徴とするロボットシステム。 - 請求項1から7のいずれか1項に記載のロボットシステムにおいて、
前記ロボットシステムを制御する制御装置を備え、
前記制御装置は、
前記測定装置の測定結果に基づき、前記関節の原点の更新を行う、
ことを特徴とするロボットシステム。 - 請求項8に記載のロボットシステムにおいて、
前記制御装置は、
前記測定装置の測定結果に基づき、前記ロボット装置のパラメータを演算し、
前記パラメータの内、所定の成分が所定の閾値以上の場合、前記ロボット装置に設けられた関節の原点を更新する、
ことを特徴とするロボットシステム。 - 請求項8または9に記載のロボットシステムにおいて、
前記制御装置は、
前記測定装置の測定結果に基づき前記関節の原点のズレ量を演算し、当該ズレ量に基づき前記関節の原点を更新する、
ことを特徴とするロボットシステム。 - 請求項8から10のいずれか1項に記載のロボットシステムにおいて、
前記制御装置は、
前記関節の原点の更新を行った後、再度、前記測定装置により前記一部の位置を測定し、前記ロボット装置のパラメータを演算する、
ことを特徴とするロボットシステム。 - 請求項1から11のいずれか1項に記載のロボットシステムを用いて物品の製造を行うことを特徴とする物品の製造方法。
- 関節を有するロボット装置と、前記ロボット装置の所定の一部の位置を測定し、前記位置に関する情報を出力する測定装置と、を備えたロボットシステムの制御方法において、
前記一部には、前記測定装置により前記位置を測定するための、複数の測定ターゲットが備えられており、
前記ロボットシステムを制御する制御装置が、
前記測定ターゲットにより、前記一部の所定の方向における傾きを測定する、
ことを特徴とする制御方法。 - 請求項13に記載の制御方法において、
前記測定ターゲットの少なくとも1つは、配置条件を変更することができ、
前記制御装置が、
前記測定ターゲットの配置条件を所定の条件に設定することで、前記一部の所定の方向における傾きを測定する、
ことを特徴とする制御方法。 - 関節を有するロボット装置を、前記ロボット装置の所定の一部の位置を測定し、前記位置に関する情報を出力する測定装置を用いて校正する校正方法において、
前記一部には、前記測定装置により前記位置を測定するための、複数の測定ターゲットが備えられており、
前記ロボット装置を制御する制御装置が、
前記測定ターゲットにより、前記一部の所定の方向における傾きを測定し、
前記測定装置の測定結果に基づき、前記ロボット装置のパラメータを演算し、前記ロボット装置を校正する、
ことを特徴とする校正方法。 - 請求項15に記載の校正方法において、
前記測定ターゲットの少なくとも1つは、配置条件を変更することができ、
前記制御装置が、
前記測定ターゲットの配置条件を所定の条件に設定することで、前記一部の所定の方向における傾きを測定する、
ことを特徴とする校正方法。 - 関節を有するロボット装置と、前記ロボット装置の所定の一部の位置を測定し、前記位置に関する情報を出力する測定装置と、を備えたロボットシステムに指令値を入力する入力装置であって、
前記ロボットシステムは、
前記一部には、前記測定装置により前記位置を測定するための、複数の測定ターゲットが備えられており、
前記測定ターゲットの少なくとも1つは、配置条件を変更することができ、
前記測定ターゲットの配置条件を所定の条件に設定することで、前記一部の所定の方向における傾きを測定でき、
前記入力装置は、
前記測定ターゲットの配置条件を設定する設定手段を備えている、
ことを特徴とする入力装置。 - 請求項13に記載の制御方法、または請求項15に記載の校正方法を実行可能な制御プログラム。
- 請求項18に記載の制御プログラムを記録した、コンピュータで読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019129586A JP2021013985A (ja) | 2019-07-11 | 2019-07-11 | ロボットシステム、ロボットシステムを用いた物品の製造方法、ロボットシステムの制御方法、ロボット装置の校正方法、入力装置、制御プログラムおよび記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019129586A JP2021013985A (ja) | 2019-07-11 | 2019-07-11 | ロボットシステム、ロボットシステムを用いた物品の製造方法、ロボットシステムの制御方法、ロボット装置の校正方法、入力装置、制御プログラムおよび記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021013985A true JP2021013985A (ja) | 2021-02-12 |
Family
ID=74531219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019129586A Pending JP2021013985A (ja) | 2019-07-11 | 2019-07-11 | ロボットシステム、ロボットシステムを用いた物品の製造方法、ロボットシステムの制御方法、ロボット装置の校正方法、入力装置、制御プログラムおよび記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021013985A (ja) |
-
2019
- 2019-07-11 JP JP2019129586A patent/JP2021013985A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4362977A (en) | Method and apparatus for calibrating a robot to compensate for inaccuracy of the robot | |
JP4735795B2 (ja) | 冗長マニピュレータの制御方法 | |
JP4960038B2 (ja) | パラレルメカニズム機械の制御方法及び制御装置 | |
JP4112538B2 (ja) | ロボットの運動学的キャリブレーション装置及びその方法 | |
JP6182143B2 (ja) | ロボットの較正およびプログラミング | |
CN103302663B (zh) | 用于具有冗余度的机器人的校准方法和校准系统 | |
JPH07186073A (ja) | 工業用ロボットの較正方法および工業用ロボット装置 | |
US20080201015A1 (en) | System for Calibration of an Industrial Robot and a Method Thereof | |
KR102529477B1 (ko) | 캘리브레이션 장치 및 캘리브레이션 방법 | |
JP2016168651A (ja) | ロボット制御方法、ロボット装置、プログラム及び記録媒体 | |
JP3349652B2 (ja) | オフラインティーチング方法 | |
JP5786550B2 (ja) | 6軸ロボットの軸間オフセット検出方法 | |
CN110871456A (zh) | 机器人 | |
JP2002096232A (ja) | 工作機械の制御方法 | |
JP2000055664A (ja) | 姿勢を計測する機能を持つ多関節型ロボット・システム、ターン・テーブルを校正基準に用いてジャイロの計測精度を検証する方法及びシステム、及び、n軸で構成されるターン・テーブルのキャリブレーションを行う装置及び方法 | |
JP2021013985A (ja) | ロボットシステム、ロボットシステムを用いた物品の製造方法、ロボットシステムの制御方法、ロボット装置の校正方法、入力装置、制御プログラムおよび記録媒体 | |
KR100499090B1 (ko) | 로봇의 캘리브레이션 장치 및 그 방법 | |
CN114536320A (zh) | 信息处理装置和方法、机器人系统、测量系统、利用机器人系统制造物品的方法和记录介质 | |
CN115062482A (zh) | 一种考虑旋转关节定位误差的串联机器人运动学建模方法 | |
JP5667437B2 (ja) | ロボットの外部軸の計測方法、ロボットの教示データ作成方法、およびロボットのコントローラ | |
JP2520324B2 (ja) | ロボット定数の自動補正方法 | |
JP2000094370A (ja) | ロボットの作業表面の傾き測定方法およびその測定装置 | |
JP6221528B2 (ja) | ロボットの手先軸原点位置較正方法、ロボットの制御装置 | |
JP7295302B2 (ja) | ロボットを制御するための機構誤差パラメータを較正するロボットの制御装置および教示操作盤 | |
Ji et al. | A new pose measuring and kinematics calibrating method for manipulators |