(57)【要約】【課題】  減速機以外の他の部材も存在する関節の機械的剛性を精度よく算出することは困難である。【解決手段】  ロボット装置の関節への駆動力を提供するモータと、モータの駆動力を入力し、関節へ駆動力を出力する減速機と、モータの出力角度を検出するモータ側角度検出器と、減速機の出力角度を検出する減速機側角度検出器を有し、関節のモータ側角度検出器と減速機側角度検出器との差分と、当該関節にかかるトルクとの関係に基づく補正情報を格納する記憶手段と、複数の作業の実行時に、記憶手段に格納している補正情報に基づき、各関節への駆動力を補正することを特徴とする。【選択図】  図５
2019217592.tif 000002
【特許請求の範囲】
【請求項１】
ロボット装置の関節への駆動力を提供するモータと、
前記モータの駆動力を入力し、前記関節へ駆動力を出力する減速機と、
前記モータの出力角度を検出するモータ側角度検出器と、
前記減速機の出力角度を検出する減速機側角度検出器を有し、
前記関節の前記モータ側角度検出器と前記減速機側角度検出器との差分と、当該関節にかかるトルクとの関係に基づく補正情報を格納する記憶手段と、
複数の作業を実行する時に、前記記憶手段に格納している前記補正情報に基づき、各関節への駆動力を補正することを特徴とするロボット装置。
【請求項２】
前記補正情報は、ロボット装置の有する複数の関節毎に作られる情報であることを特徴とする請求項１に記載のロボット装置。
【請求項３】
前記補正情報は、前記関節の前記モータ側角度検出器と減速機側角度検出器の差分と、当該関節にかかるトルクとの関係を示す、近似式、あるいはテーブルとして前記記憶手段に格納されることを特徴とする請求項１または２に記載のロボット装置。
【請求項４】
前記作業を実行する前に、前記複数の作業に対して予め登録されている前記ロボットの複数の位置姿勢に前記ロボット装置を動作させた結果に基づき、前記補正情報を生成する生成手段を有することを特徴とする請求項１ないし３のいずれか１項に記載のロボット装置。
【請求項５】
ロボット装置の関節への駆動力を提供するモータと、
前記モータの駆動力を入力し、前記関節へ駆動力を出力する減速機と、
前記モータの出力角度を検出するモータ側角度検出器、
前記減速機の出力角度を検出する減速機側角度検出器を有するロボット装置の制御方法であって、
前記関節の前記モータ側角度検出器と前記減速機側角度検出器との差分と、当該関節にかかるトルクとの関係に基づく補正情報を格納する記憶工程と、
複数の作業を実行する時に、前記記憶手段に格納している前記補正情報に基づき、各関節への駆動力を補正する補正工程を有することを特徴とするロボット装置の制御方法。
【請求項６】
前記補正情報は、ロボット装置の有する複数の関節毎に作られる情報であることを特徴とする請求項５に記載のロボット装置の制御方法。
【請求項７】
前記補正情報は、前記関節の前記モータ側角度検出器と減速機側角度検出器の差分と、当該関節にかかるトルクとの関係を示す、近似式、あるいはテーブルとして前記記憶工程で格納されることを特徴とする請求項５または６に記載のロボット装置の制御方法。
【請求項８】
前記作業を実行する前に、前記複数の作業に対して予め登録されている前記ロボットの複数の位置姿勢に前記ロボット装置を動作させた結果に基づき、前記補正情報を生成する生成工程を有することを特徴とする請求項５ないし７のいずれか１項に記載のロボット装置の制御方法。
【請求項９】
コンピュータが読み込み実行することで、請求項５ないし８のいずれか１項に記載の制御方法を実行するプログラム。
【請求項１０】
請求項９に記載のプログラムが記録された記録媒体。
【請求項１１】
請求項５ないし８のうちいずれか１項に記載の制御方法を用いて、ワークの組み立て作業を行うことを特徴とする物品の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット装置及びその制御方法、プログラム、記録媒体、物品の製造方法に関する。
【背景技術】
【０００２】
従来、工場等において、様々なロボット装置が使用されており、昨今においては、より複雑な動作を行わせるために多関節のロボットを備えたロボット装置が広く普及している。
【０００３】
生産装置として多関節ロボットを用いる場合、作業効率を高めるためには、ロボットを高速に動作させる必要がある。しかし、高速で動作させるほど、停止の際に振動が発生し、組み立て精度に影響を及ぼす。その結果として、振動がおさまるまで待つ必要が生じ、サイクルタイムが長くなる。
【０００４】
振動を起こす要因の一つとして、減速機等の関節部の機械的な剛性が低いことが挙げられる。これに対して、以下のような技術が提案されている。例えば、ロボットの位置、速度および加速度を、運動方程式に代入することにより各関節に加わるトルクを算出する。このトルクを定数あるいは関数あるいは制御装置内のテーブルとして与えられた各関節の機械的ばね剛性で除することによって各関節の機械的剛性に因るねじり角を求める。このねじり角を各関節のたわみを打ち消すように位置指令値として加算することにより機械的な剛性を補う（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開昭６１−２０１３０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の技術では、各関節の機械的ばね剛性に関する補正情報をどのように算出するかが開示されていない。一般的に減速機に関しては、機械剛性に関する計算式が開示されていることもあるが、実際の関節部には減速機以外の他の部材も存在するため、各関節の機械的剛性を精度よく算出することは困難である。
【課題を解決するための手段】
【０００７】
上記の課題を解決するため、本発明のロボット装置は、ロボット装置の関節への駆動力を提供するモータと、モータの駆動力を入力し、関節へ駆動力を出力する減速機と、モータの出力角度を検出するモータ側角度検出器と、減速機の出力角度を検出する減速機側角度検出器を有し、関節のモータ側角度検出器と減速機側角度検出器との差分と、当該関節にかかるトルクとの関係に基づく補正情報を格納する記憶手段と、複数の作業を実行する時に、記憶手段に格納している補正情報に基づき、各関節への駆動力を補正することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、各軸の出力軸エンコーダと、入力軸エンコーダを用いて、機械的剛性に関わる補正情報を作成するため、機械的剛性に因るねじり角に関する補正を高精度に行うことが可能となる。
【０００９】
高精度にねじり角を補正することにより、停止時の振動を抑制することが可能となる。従来のように、振動がおさまるまで待つようなことを減少させ、結果として従来よりもロボットのサイクルタイムが短縮される。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態に係るロボットシステムの斜視図である。
【図２】第１実施形態に係るロボット制御装置を示すブロック図である。
【図３】第１実施形態に係るロボット装置のロボットアームの１つの関節を示す部分断面図である。
【図４】第１実施形態に係るロボットシステムの制御系を示す制御ブロック図である。
【図５】第１実施形態に係る補正情報の算出方法を示すフローチャートである。
【図６】第１実施形態に係る補正情報の近似式を示したイメージ図である。
【図７】第２実施形態に係るロボットシステムの制御系を示す制御ブロック図である。
【図８】第２実施形態に係る補正情報の算出方法を示すフローチャートである。
【図９】第２実施形態に係る補正情報の近似式を示したイメージ図である。
【図１０】第３実施形態に係る補正情報の算出方法を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
【００１２】
［第１実施形態］
図１は、第１実施形態に係るロボットシステムの斜視図である。図１に示すように、ロボットシステム１００は、多関節のロボット２００と、ロボット２００の動作を制御するロボット制御装置３００と、を備えている。また、ロボットシステム１００は、ロボット制御装置３００に教示データを送信する教示装置としてのティーチングペンダント４００を備えている。ティーチングペンダント４００は、操作者が操作するものであり、ロボット２００やロボット制御装置３００の動作を指定するのに用いる。
【００１３】
ロボット２００は、垂直多関節のロボットアーム２５１と、ロボットアーム２５１の先端に取り付けられたエンドエフェクタの一例であるロボットハンド２５２と、を備えている。以下、エンドエフェクタがロボットハンド２５２である場合について説明するが、これに限定するものではなく、例えばドライバなどのツールであってもよい。ロボットアーム２５１の基端は、台座１５０に固定されている。ロボットハンド２５２は、部品やツール等の物体を把持するものである。
【００１４】
ロボット２００、即ちロボットアーム２５１は、複数の関節、例えば６つ関節Ｊ１〜Ｊ６を有している。ロボットアーム２５１は、各関節Ｊ１〜Ｊ６を各関節軸Ａ１〜Ａ６まわりにそれぞれ回転駆動する複数、例えば６つの関節駆動装置２０１〜２０６を有している。ロボットアーム２５１は、複数のリンク２１００〜２１０６が各関節Ｊ１〜Ｊ６で回転可能に連結されている。ロボットアーム２５１は、可動範囲の中であれば、任意の３次元位置で任意の３方向の姿勢に、ロボット２００の手先を向けることができる。
【００１５】
ロボット２００の手先の位置及び姿勢は、ロボットアーム２５１の基端、即ち台座１５０を基準とする座標系Ｔｏで表現される。ロボット２００の手先には、座標系Ｔｅが設定されている。ここで、ロボット２００の手先とは、第１実施形態では、ロボットハンド２５２が物体を把持していない場合には、ロボットハンド２５２のことである。ロボットハンド２５２が物体を把持している場合は、ロボットハンド２５２と把持している物体を含めてロボット２００の手先という。つまり、ロボットハンド２５２が物体を把持している状態であるか物体を把持していない状態であるかにかかわらず、ロボットアーム２５１の先端から先を手先という。
【００１６】
ロボットアーム２５１の内部には、各関節駆動装置２０１〜２０６を制御するサーボ制御部２３０が配置されている。サーボ制御部２３０は、入力を受けた各関節Ｊ１〜Ｊ６に対応する各トルク指令値に基づき、各関節Ｊ１〜Ｊ６のトルクがトルク指令値に追従するように制御する。なお、第１実施形態では、サーボ制御部２３０は、ロボットアーム２５１の内部に配置されているが、ロボットアーム２５１の外部、例えばロボット制御装置３００の筐体内部に配置されていてもよい。
【００１７】
また、ロボット２００のロボットアーム２５１は、各関節Ｊ１〜Ｊ６をそれぞれ制動する複数のブレーキ２３１〜２３６を有する。ブレーキ２３１〜２３６は、例えばディスクブレーキである。各ブレーキ２３１〜２３６を作動させることにより、各関節Ｊ１〜Ｊ６が動かないように各関節Ｊ１〜Ｊ６を固定することができる。
【００１８】
次に、ロボット制御装置３００について説明する。図２は、第１実施形態に係るロボット制御装置３００を示すブロック図である。ロボット制御装置３００は、コンピュータで構成されており、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１を備えている。また、ロボット制御装置３００は、記憶部として、内部記憶装置であるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３及びＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）３０４を備えている。また、ロボット制御装置３００は、ディスクドライブ３０５及びインタフェース３０６〜３１０を備えている。ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３、ＨＤＤ３０４、ディスクドライブ３０５、及びインタフェース３０６〜３１０は、互いに通信可能にバス３１１で接続されている。
【００１９】
ＣＰＵ３０１は、第１実施形態では複数のコア３０１Ａ，３０１Ｂを有しており、各コア３０１Ａ，３０１Ｂで独立して演算が可能である。ＲＯＭ３０２には、基本プログラムが格納されている。ＲＡＭ３０３は、ＣＰＵ３０１の演算処理結果等、各種データを一時的に記憶する記憶装置である。ＨＤＤ３０４は、ＣＰＵ３０１の演算処理結果や外部から取得した各種データ等を記憶する記憶装置であると共に、ＣＰＵ３０１に、後述する演算処理を実行させるためのプログラム３３０を記録するものである。ＣＰＵ３０１は、ＨＤＤ３０４に記録されたプログラム３３０に基づいてロボット制御方法の各ステップを実行する。ディスクドライブ３０５は、ディスク３３１に記録された各種データやプログラム等を読み出すことができる。
【００２０】
ティーチングペンダント４００はインタフェース３０６に接続されている。ＣＰＵ３０１はインタフェース３０６及びバス３１１を介してティーチングペンダント４００からの教示データの入力を受ける。
【００２１】
サーボ制御部２３０は、インタフェース３０９に接続されている。ＣＰＵ３０１は、サーボ制御部２３０、インタフェース３０９及びバス３１１を介して各センサ部２２１〜２２６から信号を取得する。また、ＣＰＵ３０１は、各関節の指令値のデータを所定の時間間隔でバス３１１及びインタフェース３０９を介してサーボ制御部２３０に出力する。
【００２２】
インタフェース３０７には、モニタ３２１が接続されており、モニタ３２１には、ＣＰＵ３０１の制御の下、各種画像が表示される。インタフェース３０８は、書き換え可能な不揮発性メモリや外付けＨＤＤ等の記憶部である外部記憶装置３２２が接続可能に構成されている。
【００２３】
インタフェース３１０には、外部装置３２３が接続されている。ＣＰＵ３０１は、インタフェース３１０及びバス３１１を介して、外部装置３２３とデータの入出力を行う。外部装置３２３は、例えばＬＥＤを明滅する装置やＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）といった装置である。
【００２４】
なお、第１実施形態では、コンピュータ読み取り可能な記録媒体がＨＤＤ３０４であり、ＨＤＤ３０４にプログラム３３０が格納される場合について説明するが、これに限定するものではない。プログラム３３０は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラム３３０を供給するための記録媒体としては、図２に示すＲＯＭ３０２，ディスク３３１、外部記憶装置３２２等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、ＤＶＤ−ＲＯＭやＣＤ−ＲＯＭ等の光ディスク、光磁気ディスク、磁気テープ、不揮発性メモリ等を用いることができる。
【００２５】
以下、関節Ｊ２における関節駆動装置２０２を例に代表とし、他の関節の関節駆動装置については、サイズや性能が異なる場合もあるが、類似した構成のため説明を省略する。
【００２６】
図３は、ロボットアーム２５１の関節Ｊ２を示す部分断面図である。関節駆動装置２０２は、電動モータであるサーボモータ（以下、「モータ」という）１と、モータ１の回転軸２の回転を減速して出力する減速機１１と、を有している。モータ１は、関節毎に設けられており、関節へ駆動力を提供する。
【００２７】
また、関節駆動装置２０２は、モータ１の回転軸２の回転角度（出力角度）を検出するモータ側角度検出器である入力軸エンコーダ１０（図４では入力軸Ｅｎｃと表記）を有している。また、関節駆動装置２０２は、減速機１１の出力軸の回転角度（出力角度）を検出する減速機側角度検出器である出力軸エンコーダ１６（図４では出力軸Ｅｎｃと表記）を有している。
【００２８】
モータ１は、例えばブラシレスＤＣサーボモータやＡＣサーボモータである。モータ１は、回転軸２とロータマグネット３とで構成された回転部４と、モータハウジング５と、回転軸２を回転自在に支持する軸受６，７と、回転部４を回転させるステータコイル８と、を備えている。軸受６，７はモータハウジング５に設けられ、ステータコイル８はモータハウジング５に取り付けられている。また、サーボモータ１はモータカバー９で囲われている。
【００２９】
入力軸エンコーダ１０は、光学式或いは磁気式のロータリエンコーダであり、モータ１の回転軸２の一端側に設けられ、モータ１の回転軸２の回転に伴ってパルス信号を生成し、サーボ制御部２３０に生成したパルス信号を出力する。なお、入力軸エンコーダ１０は、回転軸２に取り付けられているが、減速機１１の入力軸に取り付けてもよい。
【００３０】
出力軸エンコーダ１６は、光学式或いは磁気式のロータリエンコーダであり、減速機１１の出力角度、第１実施形態では、ベース部１０３とリンク２１０１、或いは隣り合う２つのリンク間の相対角度を検出する。関節Ｊ２においては、出力軸エンコーダ１６は、リンク２１０１とリンク２１０２との間の相対角度を検出する。具体的には、出力軸エンコーダ１６は、関節Ｊ２の駆動（リンク２１０１とリンク２１０２との相対移動）に伴ってパルス信号を生成し、サーボ制御部２３０に生成したパルス信号を出力する。
【００３１】
リンク２１０１とリンク２１０２とは、クロスローラベアリング１５を介して回転自在に結合されている。モータ１と入力軸エンコーダ１０との間には、必要に応じて、電源オフ時にロボットアーム２５１の姿勢を保持するためのブレーキユニットを設けてもよい。
【００３２】
減速機１１は、第１実施形態では、小型軽量で減速比の大きい波動歯車減速機である。減速機１１は、モータ１の回転軸２に結合された、入力軸を有するウェブジェネレータ１２と、リンク２１０２に固定された、出力軸を有するサーキュラスプライン１３と、を備えている。なお、サーキュラスプライン１３は、リンク２１０２に直結されているが、リンク２１０２に一体に形成されていてもよい。
【００３３】
また、減速機１１は、ウェブジェネレータ１２とサーキュラスプライン１３との間に配置され、リンク１２１に固定されたフレクスプライン１４を備えている。フレクスプライン１４は、ウェブジェネレータ１２の回転に対して減速比Ｎで減速され、サーキュラスプライン１３に対して相対的に回転する。従って、モータ１の回転軸２の回転数が減速機１１で１／Ｎに減速され、フレクスプライン１４が固定されたリンク２１０１に対してサーキュラスプライン１３が固定されたリンク２１０２を相対的に回転運動させ、関節Ｊ２を屈曲（回転）させる。このときの減速機１１の出力側の回転角度が、実出力角度、即ち関節Ｊ２の角度（関節角度）となる。
【００３４】
図４は、第１実施形態に係るロボットシステム１００の制御系を示す制御ブロック図である。ロボット制御装置３００のＣＰＵ３０１は、プログラム３３０を実行することにより、制御部５１０として機能する。第１実施形態のロボットシステム１００では、６関節であるので、サーボ制御部２３０は、６つのモータ制御部５３１〜５３６を有する。
【００３５】
各関節の入力軸エンコーダ１０は、各モータ１の回転角度に応じた計測値である角度値θＩｎ１〜θＩｎ６を信号としてモータ制御部に出力する。また、減速機の減速比で換算した値ｑＩｎ１〜ｑＩｎ６を制御部にも出力する。各出力軸エンコーダ１６は、角度値ｑＯｕｔ１〜ｑＯｕｔ６を信号としてそれぞれ出力する。
【００３６】
ティーチングペンダント４００は、操作者の操作により、ロボット２００の手先に作用する位置の目標値であるＰｒｅｆを、ロボット制御装置３００に設定するため、外部記憶装置３２２に位置目標値Ｐｒｅｆを記憶させる。位置目標値Ｐｒｅｆは、組立工程に合わせて複数存在する。また、外部記憶装置３２２には、ロボット言語で記述されたロボットプログラム５０６、ロボット２００の３次元のＣＡＤデータ等のロボットモデル５１９及び後述の補正情報５２０が記憶されている。ロボットプログラム５０６は、ロボット２００と外部装置３２３の動作を規定するものである。操作者がテキストエディタや専用のＩＤＥ（Ｉｎｔｅｇｒａｔｅｄ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｅｎｖｉｒｏｎｍｅｎｔ）を用いて組立工程に対応させて作成する。ロボットプログラム５０６は、位置目標値Ｐｒｅｆと関連付けて用いることが可能である。なお、位置目標値Ｐｒｅｆ、ロボットプログラム５０６、ロボットモデル５１９及び補正情報５２０は、外部記憶装置３２２に記憶されるものとしたが、不図示の内部記憶装置に記憶されてもよい。
【００３７】
制御部５１０は、ロボットプログラムに従って、位置制御でロボット２００の動作を制御可能である。位置制御では、ロボット２００の各入力軸エンコーダ１０の角度値θＩｎ１〜θＩｎ６に基づきロボット２００の動作をフィードバック制御する。
【００３８】
制御部５１０は、位置制御において、フィードバック指令値として、各関節の角度指令値ｑｒｅｆ１〜ｑｒｅｆ６を求め、各角度指令値ｑｒｅｆ１〜ｑｒｅｆ６を各モータ制御部５３１〜５３６に出力する。
【００３９】
各関節のたわみ分を考慮する場合は、前述のｑｒｅｆ１〜ｑｒｅｆ６に対して、補正量Δｑ１〜Δｑ６をフィードフォワード制御で加算してモータ制御部５３１〜５３６に出力する。具体的に説明すると、補正量Δｑ１〜Δｑ６は、補正情報５２０から算出される各関節の機械剛性値Ｋ１〜Ｋ６と逆運動学計算によって得られる各関節のトルクτ１〜τ６から、下記の計算により算出する。
Δｑ１…６＝τ１…６／Ｋ１…６
【００４０】
各モータ制御部５３１〜５３６において、入力を受けた指令値が角度指令値ｑｒｅｆ１〜ｑｒｅｆ６の場合について説明する。各モータ制御部５３１〜５３６は、各角度指令値ｑｒｅｆ１〜ｑｒｅｆ６を各関節のモータ１の角度指令値θｒｅｆ１〜θｒｅｆ６に変換する。そして、各モータ制御部５３１〜５３６は、各角度値θ１〜θ６と各角度指令値θｒｅｆ１〜θｒｅｆ６との偏差が小さくなるように、各モータ１に流す各電流Ｃｕｒ１〜Ｃｕｒ６を制御する。なお、各モータ制御部５３１〜５３６は、各角度値θ１〜θ６を各角度値ｑ１〜ｑ６に変換してもよい。この場合、各モータ制御部５３１〜５３６は、各角度値ｑ１〜ｑ６と各角度指令値ｑｒｅｆ１〜ｑｒｅｆ６との偏差が小さくなるように、各モータ１に流す各電流Ｃｕｒ１〜Ｃｕｒ６を制御する。
【００４１】
図５は、前記補正情報５２０を求めるフローチャートである。
【００４２】
まず、操作者が複数の位置目標値Ｐｒｅｆをティーチングペンダント４００を用いて教示する（Ｓ１）。位置目標値Ｐｒｅｆは、外部記憶装置３２２に記憶される。つまり、複数の作業に対してロボットの複数の位置姿勢（教示点）を作業の実行前にあらかじめ登録する。なお、位置目標値Ｐｒｅｆは、ティーチングペンダント４００を使わずに、ロボットプログラム５０６に直接記述してもよい。
【００４３】
記憶した１つめの位置目標値Ｐｒｅｆにロボットを移動させる（Ｓ２）。移動した位置で、各入力軸エンコーダ１０及び各出力軸エンコーダ１６の値を取得し、外部記憶装置３２２に記憶する（Ｓ３）。Ｓ１で記憶した複数の位置目標値Ｐｒｅｆをすべてに移動し、各位置で入力軸エンコーダ１０及び出力軸エンコーダ１６の値を取得したか否か判定する（Ｓ４）。まだすべてを移動していない場合は（Ｓ４：Ｎｏ）、ステップＳ２〜Ｓ４を繰り返す。この際、位置目標値Ｐｒｅｆは次に進める。すべての位置目標値Ｐｒｅｆに移動が完了している場合は（Ｓ４：Ｙｅｓ）、ステップＳ５へ進む。ステップＳ３で取得した複数の各入力軸エンコーダ１０及び各出力軸エンコーダ１６の値から、補正情報５２０を軸数分算出する。
【００４４】
図６は、複数の各入力軸エンコーダ１０及び各出力軸エンコーダ１６の値から、補正情報５２０を算出する際のイメージ図である。入力軸エンコーダ１０及びロボットモデル５１９を用いて逆運動学計算を行い、関節にかかるトルク値を計算する。これを横軸にとる。出力軸エンコーダと入力軸エンコーダ（減速比換算済みのもの）の差分をとりこれを縦軸にとる。この値がねじり角である。取得した複数の位置目標値Ｐｒｅｆだけプロットすることで、関節に印可されたトルク値とねじり角の対応をとった補正情報５２０が取得できる。本実施例の補正情報５２０は、図６の実線であらわされるような近似式であるが、各教示点に対するトルク値とねじり角を示すテーブルや、トルク値に対するねじり角を示すテーブルなどでもよい。
【００４５】
また図６のような、関節のモータ側角度検出器と減速機側角度検出器との差分と、当該関節にかかるトルクとの関係に基づく補正情報は、各関節毎に算出されている。
【００４６】
ロボットにより、実際に物品を製造するためにワークの組み付け等の作業を実行するときには、各モータの角度指令値に対して、補正情報５２０から求められる補正量Δｑ１〜Δｑ６をフィードフォワード制御で加算してモータ制御部５３１〜５３６に出力する。
【００４７】
これにより、関節へ提供する駆動力を補正し、各関節部のたわみを高精度に補正することが可能になる。
【００４８】
各軸の出力軸エンコーダと、入力軸エンコーダを用いて、機械的剛性に関わる補正情報を作成するため、機械的剛性に因るねじり角に関する補正を高精度に行うことが可能となる。
【００４９】
高精度にねじり角を補正することにより、停止時の振動を抑制することが可能となり、従来のように、振動がおさまるまで待つようなことを減少させ、結果として従来よりもロボットのサイクルタイムが短縮される。
【００５０】
また、作業を実際に行う前に、複数の作業に対してロボットに設定されている複数の位置姿勢（教示点）において補正情報を算出するようにしたので、実際の作業環境に適した、より正確な補正情報を、算出することができる。
【００５１】
［第２実施形態］
次に、第２実施形態に係るロボットシステムについて説明する。なお、第２実施形態の全体構成は、第１実施形態と同様であるため説明を省略し、第１実施形態と異なる点を中心に説明する。
【００５２】
図７は、第２実施形態に係るロボットシステム１００の制御系を示す制御ブロック図である。第１実施形態との違いは、各関節に減速機側力検出器である。トルクセンサ１７が存在することである。減速機側にトルクセンサ１７をおくことで、関節にかかる力を高精度に検出することが可能になる。
【００５３】
図８は、第２実施形態に係る前記補正情報５２０を求めるフローチャートである。第１実施形態との違いは、ステップＳ１３において入力軸エンコーダ１０と出力軸エンコーダ１６以外に、トルクセンサ１７の値を取得することである。
【００５４】
図９は、第２実施形態に係る複数の各入力軸エンコーダ１０及び各出力軸エンコーダ１６の値から、補正情報５２０を算出する際のイメージ図である。第１実施形態との違いは、横軸のトルク値をトルクセンサから取得することである。
【００５５】
以上説明したように、第２実施形態に係るロボットシステム１００によれば、補正情報５２０を生成する際に、第１実施形態で算出したトルク値に代えてトルクセンサ値を用いることで、より高精度に補正情報５２０を求めることが可能となる。このため、更に高精度に各関節部のたわみを補正することが可能になる。これにより、ロボット先端位置の振動を、抑制することが可能となり、結果として更にサイクルタイムの短縮がなされる。
【００５６】
［第３実施形態］
次に、第３実施形態に係るロボットシステムについて説明する。なお、第３実施形態の全体構成は、第２実施形態と同様であるため説明を省略し、第２実施形態と異なる点を中心に説明する。
【００５７】
図１０は、第３実施形態に係る前記補正情報５２０を求めるフローチャートである。第２実施形態との違いは、ステップＳ２２において移動しながら入力軸エンコーダ１０と出力軸エンコーダ１６およびトルクセンサ１７の値を取得することである。これにより、１つの教示点に対して教示点付近の位置姿勢の補正情報を取得するので、一度の移動で大量のデータを取得することが可能となる。
【００５８】
以上説明したように、第３実施形態に係るロボットシステム１００によれば、補正情報５２０を生成する際に移動しながら多くのデータを取得することで、より高精度に補正情報５２０を求めることが可能となる。このため、更に高精度に各関節部のたわみを補正することが可能になる。
【００５９】
以上のように、各軸の出力軸エンコーダと、入力軸エンコーダを用いて、機械的剛性に関わる補正情報を作成するため、機械的剛性に因るねじり角に関する補正を高精度に行うことが可能となる。
【００６０】
高精度にねじり角を補正することにより、停止時の振動を抑制することが可能となる。従来のように、振動がおさまるまで待つようなことを減少させ、結果として従来よりもロボットのサイクルタイムが短縮される。
【図１】
2019217592.tif 000003
【図２】
2019217592.tif 000004
【図３】
2019217592.tif 000005
【図４】
2019217592.tif 000006
【図５】
2019217592.tif 000007
【図６】
2019217592.tif 000008
【図７】
2019217592.tif 000009
【図８】
2019217592.tif 000010
【図９】
2019217592.tif 000011
【図１０】
2019217592.tif 000012