(57)【要約】【課題】  多関節のロボットの動作精度を確保しつつ、ロボットの作業効率を向上させること。【解決手段】  ロボットの先端を第１位置から第２位置に到達させるために、各入力側エンコーダ１０により検出された検出角度が目標角度となるよう、各サーボモータ１を制御する。次に、各出力側エンコーダ１６により検出された減速機１１の検出角度および出力軸の傾きに基づきロボットの先端の位置を算出する。各入力側エンコーダ１０の検出角度を目標角度にした時点から、算出した第２位置におけるロボットの先端の位置の振れ幅が所定範囲内に収束する時点までの時間を求める。【選択図】  図５
2020062730.tif 000002
【特許請求の範囲】
【請求項１】
多関節ロボットの各関節を駆動する各関節に設けられた関節駆動装置が、減速機、及び前記減速機の回転角度を検出するエンコーダを各々有し、
制御手段により、前記多関節ロボットが第１位置から第２位置に到達する第１動作を実行した後に、前記多関節ロボットを停止時間、停止させてから、第２動作を実行するロボット制御方法であって、
前記停止時間は、
前記多関節ロボットが前記第１動作で前記第２位置に到達した時点から、前記各エンコーダにより検出された前記減速機の回転角度と前記減速機の出力軸の傾きに基づき求められた前記多関節ロボットの先端の位置の振れ幅が所定範囲内に収束する時点までの時間であることを特徴とするロボット制御方法。
【請求項２】
前記エンコーダは、スケールとセンサとを有する光学式のロータリエンコーダであり、
前記出力軸の傾きは、前記スケールと前記センサのギャップの測定値より算出する請求項１に記載のロボット制御方法。
【請求項３】
前記ロータリエンコーダは少なくとも２つのセンサを有し、
前記少なくとも２つのセンサが、前記関節駆動装置の回転軸を中心とした同一円周上に９０°の角度で配置されている請求項２に記載のロボット制御方法。
【請求項４】
前記ロータリエンコーダは少なくとも２つのセンサを有し、
前記少なくとも２つのセンサが、前記関節駆動装置の回転軸を中心とした同一円周上に１８０°の角度で配置されている請求項２に記載のロボット制御方法。
【請求項５】
前記停止時間を記憶手段に記憶させている請求項１乃至４のいずれか１項に記載のロボット制御方法。
【請求項６】
前記制御手段により、前記多関節ロボットの先端の位置の振れ幅が所定範囲内に収束する時点までの時間を推定する請求項１乃至４のいずれか１項に記載のロボット制御方法。
【請求項７】
減速機、及び前記減速機の回転角度を検出するエンコーダを各々有し、多関節ロボットの各関節を駆動する各関節に設けられた関節駆動装置と、
前記多関節ロボットに第１位置から第２位置に向かう第１動作を実行させた後に、前記多関節ロボットを停止時間、停止させてから、第２動作を実行させる制御手段と、
を有する、ロボット装置であって、
前記制御手段は、
前記停止時間を、前記多関節ロボットが前記第１動作で前記第２位置に到達した時点から、エンコーダにより検出された前記減速機の回転角度と前記減速機の出力軸の傾きに基づき求められた前記多関節ロボットの先端の位置の振れ幅が所定範囲内に収束する時点までの時間、とすることを特徴とするロボット装置。
【請求項８】
請求項１乃至６のいずれか１項に記載のロボット制御方法をコンピュータに実行させるためのプログラム。
【請求項９】
請求項８に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１０】
多関節ロボットが第１部品を把持して第１位置から第２位置に向かう第１動作を行った後に、前記多関節ロボットが停止時間、停止してから、第２動作にて前記第１部品を第２部品に組付けて物品を製造する物品の製造方法であって、
前記多関節ロボットは、各関節を駆動する各関節に設けられた関節駆動装置を有し、
前記関節駆動装置は、減速機、及び前記減速機の回転角度を検出するエンコーダを各々有し、
前記停止時間は、
前記多関節ロボットが前記第１動作で前記第２位置に到達した時点から、前記各エンコーダにより検出された前記減速機の回転角度と前記減速機の出力軸の傾きに基づき求められた前記多関節ロボットの先端の位置の振れ幅が所定範囲内に収束する時点までの時間であることを特徴とする物品の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多関節ロボットを制御するロボット制御方法、ロボット装置、プログラム、記録媒体及び物品の製造方法に関する。
【背景技術】
【０００２】
従来、工場等において、様々なロボット装置が使用されており、昨今においては、より複雑な動作を行わせるために多軸多関節のロボットを備えたロボット装置が広く普及している。
【０００３】
生産装置として多関節ロボットを用いる場合、作業効率を高めるためには、ロボットを高速に動作させる必要がある。そのためには、一つの動作が確実に完了したことの検出、すなわち位置決め完了の検出を可能な限り速やかに行う必要がある。
【０００４】
ロボットの位置決め完了の検出としては、例えば、ロボットの先端位置を各関節の出力側に搭載した出力側エンコーダにより各関節の回転角度を検出し、その回転角度に基づきロボットの先端の位置を求める方法が知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−１３１６１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載された方法は各関節の回転角度を検出することは可能だが、各関節軸の傾き（減速機の出力軸の傾き）を検出することができなかった。そのため、旋回動作のような各関節の回転軸と直交する方向に力が加わる動作においては、多関節ロボットの先端位置の振動の収束を正確に検知できず、ロボットの動作を停止する時間に多くのマージンを設ける必要があった。
【課題を解決するための手段】
【０００７】
上記課題を解決するためのロボット制御方法は、多関節ロボットの各関節を駆動する各関節に設けられた関節駆動装置が、減速機、及び前記減速機の回転角度を検出するエンコーダを各々有し、制御手段により、前記多関節ロボットが第１位置から第２位置に到達する第１動作を実行した後に、前記多関節ロボットを停止時間、停止させてから、第２動作を実行するロボット制御方法であって、前記停止時間は、前記多関節ロボットが前記第１動作で前記第２位置に到達した時点から、前記各エンコーダにより検出された前記減速機の回転角度と前記減速機の出力軸の傾きに基づき求められた前記多関節ロボットの先端の位置の振れ幅が所定範囲内に収束する時点までの時間であることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、回転軸と直交する方向に力が加わるような動作の後でも、多関節ロボットの先端の位置の収束を正確に検知することが可能となるため、位置決め検出の時間に多くのマージンを設ける必要が無くなる。そのため、従来よりもロボットの停止時間を短縮できるため、多関節ロボットの作業効率を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係るロボット装置を示す斜視図である。
【図２】第１実施形態に係るロボット装置のロボットアームの１つの関節を示す部分断面図である。
【図３】第１実施形態に係るロボット装置の制御装置の構成を示すブロック図である。
【図４】第１実施形態に係るロボット装置の制御系を示す機能ブロック図である。
【図５】第１実施形態に係るロボット装置におけるロボット制御方法の各工程を示すフローチャートである。
【図６】第１実施形態に係るロボットの先端の振動状態を示すグラフである。
【図７】第１実施形態に係るロボットの関節Ｊ１を示す分解斜視図である。
【図８】第１実施形態に係る出力側エンコーダの構成を示す模式図である。
【図９】第１実施形態に係る出力側エンコーダのＡＰＣの動作説明図である。
【図１０】第１実施形態に係る出力側エンコーダの模式図である。
【図１１】第２実施形態に係るロボットの関節Ｊ２を示す分解斜視図である。
【図１２】第３実施形態に係るロボット装置の制御系を示す機能ブロック図である。
【図１３】第３実施形態に係るロボット装置におけるロボット制御方法の各工程を示すフローチャートである。
【図１４】第３実施形態に係るロボット装置における推定工程を示すフローチャートである。
【図１５】第３実施形態に係るロボット装置における推定工程を説明するための概念図である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
【００１１】
［第１実施形態］
図１は、本発明の第１実施形態に係るロボット装置を示す斜視図である。
【００１２】
ロボット装置５００は、把持した第１部品Ｗ１を第２部品Ｗ２に組付けた組付け物品を製造するロボット１００と、ロボット１００を制御する制御手段としての制御装置２００と、制御装置２００に接続されたティーチングペンダント３００と、を備えている。
【００１３】
ロボット１００は、多関節のロボットであり、垂直多関節型のロボットアーム１０１と、ロボットアーム１０１の先端に接続されたエンドエフェクタであるロボットハンド１０２と、を備えている。
【００１４】
ロボット１００の先端（ロボットハンド１０２又はロボットアーム１０１の先端）には、ツールセンターポイント（ＴＣＰ）が設定されており、教示点がタスク空間で指定される場合、その教示点は、ＴＣＰの位置及び姿勢を示すパラメータで表現される。教示点がコンフィグレーション空間（関節空間）で指定される場合、その教示点は、ロボット１００の各関節の関節角度を示すパラメータで表現される。なお、コンフィグレーション空間で指定された教示点は、順運動学計算により、タスク空間に変換することができ、タスク空間で指定された教示点は、逆運動学計算により、コンフィグレーション空間に変換することができる。
【００１５】
ロボットアーム１０１は、作業台に固定されるベース部（基端リンク）１０３と、変位や力を伝達する複数のリンク１２１〜１２６と、を有している。ベース部１０３及び複数のリンク１２１〜１２６は、複数の関節Ｊ１〜Ｊ６で旋回又は回転可能に互いに連結されている。また、ロボットアーム１０１は、各関節Ｊ１〜Ｊ６に設けられた、関節を駆動する関節駆動装置１１０を備えている。各関節Ｊ１〜Ｊ６に配置された関節駆動装置１１０は、必要なトルクの大きさに合わせて適切な出力のものが用いられる。
【００１６】
ロボットハンド１０２は、部品Ｗ１を把持する複数の把持爪（フィンガ）１０４と、複数の把持爪１０４を駆動する不図示の駆動部と、駆動部の回転角度を検出する不図示のエンコーダと、回転を把持動作に変換する不図示の機構とを有している。この不図示の機構は、カム機構やリンク機構などで必要な把持動作に合わせて設計される。なお、ロボットハンド１０２に用いる駆動部に必要なトルクは、ロボットアーム１０１の関節用と異なるが、基本構成は同じである。また、ロボットハンド１０２は、把持爪１０４等に作用する応力（反力）を検出可能な不図示の力覚センサを有している。
【００１７】
ティーチングペンダント３００は、制御装置２００に接続可能に構成され、制御装置２００に接続された際に、ロボットアーム１０１やロボットハンド１０２を駆動制御する指令を制御装置２００に送信可能に構成されている。
【００１８】
以下、関節Ｊ２における関節駆動装置１１０を例に説明し、他の関節Ｊ１，Ｊ３〜Ｊ６の関節駆動装置１１０については、サイズや性能が異なる場合もあるが、同様の構成であるため、説明を省略する。
【００１９】
図２は、ロボットアーム１０１の関節Ｊ２を示す部分断面図である。関節駆動装置１１０は、電動モータであるサーボモータ（以下、「モータ」という）１と、モータ１の回転軸２の回転を減速して出力する減速機１１と、を有している。
【００２０】
また、関節駆動装置１１０は、モータ１の回転軸２の回転角度（出力角度）を検出する入力側エンコーダ１０を有している。また、関節駆動装置１１０は、減速機１１の出力軸の回転角度（出力角度）を検出する出力側エンコーダ１６を有している。
【００２１】
モータ１は、例えばブラシレスＤＣサーボモータやＡＣサーボモータである。モータ１は、回転軸２とロータマグネット３とで構成された回転部４と、モータハウジング５と、回転軸２を回転自在に支持する軸受６，７と、回転部４を回転させるステータコイル８と、を備えている。軸受６，７はモータハウジング５に設けられ、ステータコイル８はモータハウジング５に取り付けられている。また、サーボモータ１はモータカバー９で囲われている。
【００２２】
入力側エンコーダ１０は、光学式のロータリエンコーダであり、モータ１の回転軸２の一端側に設けられ、モータ１の回転軸２の回転に伴ってパルス信号を生成し、制御装置２００に生成したパルス信号を出力する。なお、入力側エンコーダ１０は、回転軸２に取り付けられているが、減速機１１の入力軸に取り付けてもよい。
【００２３】
出力側エンコーダ１６は、光学式のロータリエンコーダでスケール５２０と２つのセンサユニット５０７で構成されており、スケール５２０とセンサユニット５０７の相対回転を検出が可能である。第１実施形態としては減速機１１の出力角度としてベース部１０３とリンク１２１、或いは隣り合う２つのリンク間の相対角度を検出する。関節Ｊ２においては、出力側エンコーダ１６は、リンク１２１とリンク１２２との間の相対角度を検出する。具体的には、出力側エンコーダ１６は、関節Ｊ２の駆動（リンク１２１とリンク１２２との相対移動）に伴ってパルス信号を生成し、制御装置２００に生成したパルス信号を出力する。
【００２４】
また、出力側エンコーダ１６は、スケール５２０とセンサユニット５０７の距離であるギャップを測定することが可能となっている。この測定原理については後述する。
【００２５】
リンク１２１とリンク１２２とは、クロスローラベアリング１５を介して回転自在に結合されている。モータ１と入力側エンコーダ１０との間には、必要に応じて、電源オフ時にロボットアーム１０１の姿勢を保持するためのブレーキユニットを設けてもよい。
【００２６】
減速機１１は、小型軽量で減速比の大きい波動歯車減速機である。減速機１１は、モータ１の回転軸２に結合された、入力軸を有するウェブジェネレータ１２と、リンク１２２に固定された、出力軸を有するサーキュラスプライン１３と、を備えている。なお、サーキュラスプライン１３は、リンク１２２に直結されているが、リンク１２２に一体に形成されていてもよい。
【００２７】
また、減速機１１は、ウェブジェネレータ１２とサーキュラスプライン１３との間に配置され、リンク１２１に固定されたフレクスプライン１４を備えている。フレクスプライン１４は、ウェブジェネレータ１２の回転に対して減速比Ｎで減速され、サーキュラスプライン１３に対して相対的に回転する。従って、モータ１の回転軸２の回転数が減速機１１で１／Ｎに減速され、フレクスプライン１４が固定されたリンク１２１に対してサーキュラスプライン１３が固定されたリンク１２２を相対的に回転運動させ、関節Ｊ２を屈曲（回転）させる。このときの減速機１１の出力側の回転角度が、実出力角度、即ち関節Ｊ２の角度（関節角度）となる。
【００２８】
図３は、ロボット装置５００の制御装置２００の構成を示すブロック図である。制御装置２００は、制御部（演算部）としてのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１を備えている。また、制御装置２００は、記憶手段として、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０４を備えている。また、制御装置２００は、記録ディスクドライブ２０５、計時手段である計時部（タイマ）２０６及び各種のインタフェース２１１〜２１６を備えている。また、制御装置２００は、インタフェース２１６に接続されたサーボ制御装置２３０を備えている。
【００２９】
ＣＰＵ２０１には、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４、記録ディスクドライブ２０５、タイマ２０６及び各種のインタフェース２１１〜２１６が、バス２２０を介して接続されている。ＲＯＭ２０２には、ＢＩＯＳ等の基本プログラムが格納されている。ＲＡＭ２０３は、ＣＰＵ２０１の演算処理結果等、各種データを一時的に記憶する記憶装置である。
【００３０】
ＨＤＤ２０４は、ＣＰＵ２０１の演算処理結果や外部から取得した各種データ等を記憶する記憶装置であると共に、ＣＰＵ２０１に、後述する各種演算処理を実行させるためのプログラム２４０を記録するものである。ＣＰＵ２０１は、ＨＤＤ２０４に記録（格納）されたプログラム２４０に基づいてロボット制御方法の各工程を実行する。
【００３１】
記録ディスクドライブ２０５は、記録ディスク２４１に記録された各種データやプログラム等を読み出すことができる。タイマ２０６は、ＣＰＵ２０１からの計時開始の指令と計時終了の指令に基づき時間をカウントし、その時間のデータをＣＰＵ２０１に出力する。
【００３２】
インタフェース２１１には、ユーザが操作可能なティーチングペンダント３００が接続されている。ティーチングペンダント３００は、入力された教示点のデータ（コンフィグレーション空間で指定された場合は各関節Ｊ１〜Ｊ６の目標角度）をインタフェース２１１及びバス２２０を介してＣＰＵ２０１に出力する。ＣＰＵ２０１は、ティーチングペンダント３００から入力を受けた教示点のデータをＨＤＤ２０４等の記憶部に設定する。
【００３３】
インタフェース２１２，２１３には、各種画像が表示されるモニタ３１１や書き換え可能な不揮発性メモリや外付けＨＤＤ等の外部記憶装置３１２が接続されている。
【００３４】
インタフェース２１４，２１５には、入力側エンコーダ１０及び出力側エンコーダ１６がそれぞれ接続されている。入力側エンコーダ１０及び出力側エンコーダ１６は、前述したパルス信号をインタフェース２１４，２１５及びバス２２０を介してＣＰＵ２０１に出力する。
【００３５】
インタフェース２１６には、サーボ制御装置２３０が接続されている。ＣＰＵ２０１は、教示点間を繋ぐ軌道を生成して、サーボモータ１の回転軸２の回転角度の制御量を示す駆動指令のデータを所定の時間間隔でバス２２０及びインタフェース２１６を介してサーボ制御装置２３０に出力する。
【００３６】
サーボ制御装置２３０は、ＣＰＵ２０１から入力を受けた駆動指令に基づき、フィードバック制御によるサーボモータ１への電流の出力量を演算し、サーボモータ１へ電流を供給して、ロボットアーム１０１の関節Ｊ１〜Ｊ６の関節角度制御を行う。即ち、ＣＰＵ２０１は、サーボ制御装置２３０を介して、関節Ｊ１〜Ｊ６の角度が目標角度となるように、サーボモータ１による関節Ｊ１〜Ｊ６の駆動を制御する。
【００３７】
ここで、後述する位置決め完了検出プログラムを実行する際に、ＣＰＵ２０１及びＨＤＤ２０４が有する機能について、図４を参照しながら説明する。図４は、本発明の第１実施形態に係るロボット装置５００の制御系を示す機能ブロック図である。ここで、図３に示すＣＰＵ２０１は、プログラム２４０を実行することにより、図４に示す各演算部４０１，４０２，４０４，４０６として機能する。また、記憶手段としてのＨＤＤ２０４は、各記憶部４０３，４０５として機能する。以下、各部について説明する。
【００３８】
実出力角演算部４０１は、出力側エンコーダ１６からパルス信号の入力を受け、出力角度（検出角度）θを演算する。入力側エンコーダ１０により出力側の回転角度を演算する方法と比較して、この出力角度θは減速機１１の撓み分を含んだ値となっており、よりロボットアーム１０１の先端に近い位置情報を得ることが可能となる。
【００３９】
傾き演算部４０６は、出力側エンコーダ１６のスケール５２０とセンサユニット５０７のギャップの測定値より関節軸の傾き（減速機１１の出力軸の傾き）を演算する。関節軸の傾きはクロスローラベアリング１５のガタや撓みによる傾きを含む値となる。
【００４０】
先端位置演算部４０２は、実出力角演算部４０１の値、即ち各関節Ｊ１〜Ｊ６の関節角度である各出力側エンコーダ１６の検出角度と、傾き演算部４０６により算出される関節軸の傾きに基づき、順運動学によりロボット１００の先端（ＴＣＰ）の位置を演算する。
【００４１】
位置決め完了判定値記憶部４０３は、ロボット１００の先端の位置決めが完了したと判定するときに用いる、先端位置の許容範囲（所定の値に収束する範囲、以下、所定範囲内）を決める、位置決め完了判定値を記憶する。この値は、ユーザが事前に位置決め完了判定値記憶部４０３に記憶させておくのがよい。この判定値は、ロボットアーム１０１の動作状況に応じて、直交座標系（世界座標系）における座標ｘ，ｙ，ｚの各軸方向に個別で設定するとよい。つまり、ロボット１００の先端の位置を直交座標系で表したときに、直交座標系の各軸方向で個別に所定範囲を設定すればよい。例えば、高い動作精度を要求される方向のみ判定値を小さく設定すれば、最適な位置決め完了判定時間を得ることが可能となる。この値は、ユーザが事前実験や図面などから導出したものであってもよいし、より簡易的に、使用状況別に数段階の既定の値を用意し、選択して適用するようにしてもよい。
【００４２】
位置決め時間演算部４０４は、先端位置演算部４０２からの値と、位置決め完了判定値記憶部４０３からの値を基にして、ロボット１００の対象動作の位置決め時間（ロボット１００を停止させておく停止時間）を求める。
【００４３】
パラメータ記憶部４０５は、位置決め時間演算部４０４が求めた値を記憶する。記憶した値は、ロボット装置５００を連続運転させる際に、サーボ制御装置２３０を介して当該動作の位置決め完了時間（停止時間）として適用される。
【００４４】
ここで、図１に示すように、ロボット１００の先端（ＴＣＰ）を教示点Ｐ１，Ｐ２，Ｐの順に動作させて部品Ｗ１を部品Ｗ２に組付けて組付物品を製造する場合について説明する。図１において、教示点Ｐ１（第１位置）から教示点Ｐ２（第２位置）に向かう動作を第１動作、教示点Ｐ２から教示点Ｐ３に向かう動作を第２動作とする。制御装置２００は、ロボット１００を第１動作から第２動作に移行させる際に、ロボット１００の振動を収束させる目的で教示点Ｐ２の位置でロボット１００を一旦、ある停止時間だけ停止させる。
【００４５】
つまり、制御装置２００は、第１動作では、各入力側エンコーダ１０により検出された検出角度が、コンフィグレーション空間で指定された教示点Ｐ２（つまり、各関節Ｊ１〜Ｊ６の目標角度）となるようにフィードバック制御する。制御装置２００は、入力側エンコーダ１０の検出結果に基づいてフィードバック制御するので、出力側エンコーダ１６の検出結果に基づいてフィードバック制御する際よりも速く教示点Ｐ２に到達する。しかし、ロボット１００は、第１動作に伴う慣性力の影響を受け、教示点Ｐ２に到達したときにロボット１００が振動する。
【００４６】
振動は、減速機１１の撓みによる各関節の回転方向成分の振動と、クロスローラベアリング１５のガタや撓みやリンク１２１〜１２６の撓みによる各関節の出力軸方向の成分の振動が発生する。この振動は、モータ１の角度（入力側エンコーダ１０による検出角度）では正確に求めることは困難である。ロボット１００の振動が収束していない状態で第２動作、即ち部品Ｗ１を部品Ｗ２に組付けて組付物品を製造する動作を行うと、組み付けが失敗することがある。よって、第１実施形態では、ロボット１００に第１動作を行わせて教示点Ｐ２に到達した時点から予め設定された停止時間だけ停止させた後に、次の第２動作を実行するようにしている。この停止時間のデータは、前述した位置決め時間演算部４０４に記憶させておく。
【００４７】
以下、この停止時間の設定動作について説明する。図５は、制御装置２００が実施するロボット制御方法の各工程を示すフローチャートである。
【００４８】
まず、サーボ制御装置２３０は、ＣＰＵ２０１の指令により検出対象動作を実行する（Ｓ１：フィードバック制御工程）。サーボ制御装置２３０は、ＣＰＵ２０１からの指令に基づき、入力側エンコーダ１０からの位置情報をフィードバックして制御する。詳述すると、サーボ制御装置２３０は、ＣＰＵ２０１の制御の下、各入力側エンコーダ１０により検出された検出角度が、ロボット１００の先端が第１動作の位置決め完了位置に移動する目標角度となるよう、各サーボモータ１をフィードバック制御する。なお、第１動作の位置決め完了位置とは、教示点Ｐ２の位置座標ｘ，ｙ，ｚであり、以下、目標位置ともいう。
【００４９】
次に、各関節の出力軸の回転角度を検出する位置検出モードに切り替える（Ｓ２）。
【００５０】
続いて、実出力角演算部４０１は、ステップＳ１にて各関節Ｊ１〜Ｊ６の入力側エンコーダ１０の検出角度を目標角度にした時点からタイマ２０６による計時を開始させ、各関節Ｊ１〜Ｊ６の出力側エンコーダ１６の検出角度を取り込む。
【００５１】
そして、実出力角演算部４０１は、各時刻における各関節Ｊ１〜Ｊ６の減速機１１の出力軸の回転角度を、エンコーダ１６からのパルス信号に基づき計算する（Ｓ３）。即ち、実出力角演算部４０１は、各出力側エンコーダ１６により検出された検出角度を取得していることになる。
【００５２】
次に、各関節の出力軸の傾きを検出する傾き検出モードに切り替える（Ｓ４）。傾き検出モードに切り替えると、出力側エンコーダ１６は回転角度検出からギャップの測定に切り替わる。
【００５３】
次に、傾き演算部４０６は出力側エンコーダ１６のスケール５２０とセンサユニット５０７のギャップの測定値を取り込み、センサユニット５０７の配置情報から各時刻における各関節Ｊ１〜Ｊ６の軸の傾きを計算する（Ｓ５）。
【００５４】
次に、先端位置演算部４０２は、ステップＳ３で求めた各関節の減速機１１の出力軸の回転角度とステップＳ５で求めた各関節の軸の傾きにより、ロボット１００の先端位置（ＴＣＰの位置）を求める（Ｓ６：先端位置算出工程）。この先端位置は、各関節の回転角度と傾きを順運動学で変換して得られるものである。つまり、先端位置演算部４０２は、各出力側エンコーダ１６により検出された検出角度および傾きに基づきロボット１００の先端の位置を求める。
【００５５】
また、動作完了まで位置検出モード（Ｓ２）と傾き検出モードに（Ｓ４）を高速で交互に切り替えて各時間の先端位置を算出し続けていく（Ｓ７）。
【００５６】
図６は、ロボットの先端の振動状態を示すグラフである。横軸は時間ｔ、縦軸はロボットの先端位置ｘ，ｙ，ｚの３方向の内、１方向における先端位置を示している。ステップＳ６により、図６に示すような減衰振動するロボット先端位置のデータが時刻毎に作成される。このロボット先端位置のデータは、前記減速機の回転角度と前記減速機の出力軸の傾きに基づき求められたものである。
【００５７】
次に、位置決め時間演算部４０４は、記憶部４０３から位置決め完了判定値を読み出す（Ｓ８）。そして、位置決め時間演算部４０４は、この値を、図６に示すように、検出対象動作の到達位置における各座標ｘ，ｙ，ｚの目標位置を中心値として正負に分布させ、位置決め完了幅（所定範囲）を設定する。
【００５８】
次に、位置決め時間演算部４０４は、図６に示すようなロボット１００の先端位置の振動データから、目標位置に対し位置決め完了幅以内（所定範囲内）に収束する時間ｔ１を求める（Ｓ９：計時工程）。図６に示すように、ステップＳ１にて各入力側エンコーダ１０の検出角度を目標角度（教示点Ｐ２）にした時点を時刻Ｔ０とする。また、図６に示すように、ステップＳ３にて算出したロボット１００の先端の位置の位置決め完了位置に対する振れ幅が所定範囲内に収束する時点を時刻Ｔ１とする。位置決め時間演算部４０４は、時刻Ｔ０から時刻Ｔ１までの時間ｔ１を求める。つまり、ステップＳ９では、ステップＳ６で求めた先端位置が、ステップＳ８で読み出し設定した位置決め完了幅内に収束する時間ｔ１を確認する。
【００５９】
次に、位置決め時間演算部４０４は、ステップＳ８にて求めた時間ｔ１を、パラメータ記憶部４０５に送信し格納することで、ロボット１００の停止時間（位置決め完了時間）に設定する（Ｓ１０：設定工程）。
【００６０】
以上のステップＳ１〜Ｓ１０を実行して停止時間を設定した後は、組立物品の製造工程（連続運転）に移行する。つまり、ロボット１００に第１部品Ｗ１を把持させて第１動作を行い、予め設定した停止時間、ロボット１００を停止させた後に、第２動作にて第１部品Ｗ１を第２部品Ｗ２に組付けて組立物品を製造する。
【００６１】
以上のステップＳ１〜Ｓ１０の処理は、実際の連続運転時（組立作業時）に行ってもよいし、連続運転とは別に連続運転に先立って、連続運転時の動作と同様の動作を行う試運転時に行ってもよい。連続運転の場合は、停止時間を設定した後の次のロットの組立時から、設定した停止時間に基づいてロボット１００を制御すればよい。
【００６２】
試運転時の場合、ロボット１００のロボットハンド１０２には、実際の部品Ｗ１または部品Ｗ１に相当する治具を把持させて上記ステップＳ１〜Ｓ１０の処理を行うことで、教示点Ｐ２に動作させた場合におけるロボット１００の停止時間を設定すればよい。そして、連続運転時に設定した停止時間に基づいてロボット１００を制御すればよい。
【００６３】
このように、ロボットアーム１０１をティーチングプレイバック方式で動作させる場合、動作軌道には再現性がある。この性質を利用すると、次回以降の動作における位置決め完了幅内に収束する時間も略同一となる。よってこの時間を検出対象動作における位置決め完了時間と見なすことができる。
【００６４】
次に、ロボット１００の各関節における出力側エンコーダ１６の配置について図７を用いて詳細を説明する。図７は、ロボット１００の関節Ｊ２部分の分解斜視図である。
【００６５】
図７に示すように、ロボット１００のＪ２関節部のリンク１２２側には出力側エンコーダ１６のセンサユニット５０７がＪ２関節の回転軸を中心とした同一円周上に略９０°の角度で２つ配置されている。なお、センサユニット５０７とＪ２関節の回転軸までの距離を予め計測しておけば、必ずしも同一円周上に配置する必要はない。
【００６６】
次に図８を参照して、本実施例における出力側エンコーダ１６の構成について説明する。図８は、出力側エンコーダ１６の概略構成図である。出力側エンコーダ１６は、スケール５２０、２つのセンサユニット５０７（５０７ａ、５０７ｂ）、信号処理装置４０７、および、記憶装置４０８を備えて構成される。スケール５２０は測定対象物である可動部（図７ではベース部１２１）に取り付けられ、センサユニット５０７は固定部（図７ではリンク１２２）に取り付けられる。ただし本実施例はこれに限定されるものではなく、スケール５２０を固定部に取り付け、センサユニット５０７を可動部に取り付けてもよい。
【００６７】
信号処理装置４０７は、センサユニット５０７で得られたエンコーダ信号（検出信号）の内挿処理、記憶装置４０８への信号の書き込み、記憶装置４０８からの信号の読み出し、位置信号の出力などを行う。なお、本実施例では反射型の光学式エンコーダについて説明するが、これに限定されるものではない。本実施例は、透過型のエンコーダにも適用可能である。
【００６８】
センサユニット５０７は、ＬＥＤを有する光源５０１、および、フォトダイオードアレイ５０９を有する受光素子５０３を備える。また、センサユニット５０７は、フォトダイオードアレイ５０９で受光した光の光電変換などの信号処理を行う信号処理回路５０２ａを内蔵した半導体素子５０２（フォトＩＣチップ）を備える。ただし本実施例はこれに限定されるものではなく、このような信号処理回路５０２ａを受光素子５０３に内蔵してもよい。
【００６９】
光源５０１、半導体素子５０２、および受光素子５０３は、プリント基板５０４上に実装され、樹脂５０５を用いて封止されている。また、樹脂５０５の上には透明ガラス基板５０６が取り付けられている。このようにセンサユニット５０７は、これらの部材をパッケージ化して構成された受発光一体型のセンサユニットである。このように、フォトダイオードアレイ５０９は光源５０１と一体的に形成されており、スケール５２０に対して相対的に変位可能である。
【００７０】
スケール５２０は、光源５０１からの光を反射（または透過）し、光源５０１に対して相対的に変位可能に構成されている。本実施の形態では反射型の方式について説明する。スケール５２０には、ガラス基板上にクロム反射膜をパターニングすることによりスケールトラック５０８が形成されている。センサユニット５０７はスケール５２０と対向するように配置されており、センサユニット５０７内の光源５０１から出射した発散光束は、スケール５２０のスケールトラック５０８に照射される。また、スケールトラック５０８から反射した光束は、センサユニット５０７内のフォトダイオードアレイ５０９に向けて反射される。フォトダイオードアレイ５０９上で、スケールトラック５０８からの反射率分布が２倍拡大された像として受光される。フォトダイオードアレイ５０９により受光された光束は電気信号に変換され（光電変換）、エンコーダ信号（検出信号）としてセンサユニット５０７から信号処理装置４０７へ送られる。
【００７１】
ここで、図９を参照して、オートパワーコントロール回路（ＡＰＣ回路）の動作の概略について説明する。５５０はフォトダイオードであり、前述のフォトダイオードアレイ５０９に相当する。５５１は増幅器である。ＲはＩ−Ｖ変換抵抗である。５４０は、ＡＰＣ用の利得Ａを有する差動増幅器である。５５２は、光源１を駆動する駆動回路を構成するＦＥＴ（電界効果トランジスタ）である。ＦＥＴ５５２のゲートに差動増幅器５４０の出力電圧が印加されることにより、光源５０１の駆動電流Ｉ０が制御される。
【００７２】
光源５０１とフォトダイオード５５０（フォトダイオードアレイ５０９）は、図８に示されるように、スケール５２０を介して光学的に結合している。ここで、結合利得（駆動電流Ｉ０に対するフォトダイオード５５０の出力電流Ｉｐｄの比）をＫとし、ＡＰＣ用の差動増幅器５４０の基準電圧をＶｆ３とする。このとき、差動増幅器５４０の利得Ａが十分に大きいとすると、駆動電流Ｉ０は以下の式（１）のように表される。
【００７３】
【数１】
2020062730.tif 000003
【００７４】
駆動電流Ｉ０は、基準電圧Ｖｆ３の増加とともに減少し、結合利得Ｋに反比例する。光源５０１の光量が減少した場合や、ゴミなどでフォトダイオード５５０に入力される光量が減少した場合には、結合利得Ｋが減少するため、駆動電流Ｉ０が増加するように制御される。なお、ＡＰＣ回路は本方式に限られるものではなく、例えば抵抗を追加して基準電圧を設定する等の方法もある。
【００７５】
次に、出力側エンコーダの模式図である図１０を参照して、位置検出モード（Ｓ２）と傾き検出モードに（Ｓ４）について詳細に説明する。
【００７６】
位置検出モード（Ｓ２）のときは、ロータリエンコーダが一般的に使用される方法と同様に、スケール５２０とセンサユニット５０７の相対回転をエンコーダ信号（検出信号）として検出する。それによりＺ軸周りの回転方向である回転角Ｒｚを検出する。
【００７７】
傾き検出モード（Ｓ４）のＪ１〜Ｊ６の軸の傾きを計算（Ｓ５）方法について説明する。まず、位置検出モードで用いたオートパワーコントロール回路（ＡＰＣ回路）をスイッチングにより解除してからフォトダイオード５５０で受光した光量の変化を測定する。このとき、センサユニット５０７とスケール５２０の距離（ギャップ）に応じて受光量は変化する。ここで、ＡＰＣ回路は、自動的に光量調整され、ギャップ方向の距離測定の精度に影響を与えるためスイッチングにより解除している。光量とギャップの関係は予め測定して記憶させておく。
【００７８】
測定された光量から２つのセンサユニット５０７（５０７ａ、５０７ｂ）それぞれのスケール５２０とのギャップ距離Ｌ１およびＬ２と、センサユニット５０７が配置されている同心円の直径の値よりスケールの傾きを幾何学的に計算して軸の傾き（θ）を求める。２つのセンサユニット５０７（５０７ａ、５０７ｂ）は関節の回転軸を中心とした同一円周上に９０°の角度で配置されているため２軸分の傾きを測定することができる。
【００７９】
算出した軸の傾き（θ）と、計算しておいたリンク長さ（Ｌ）とリンクの剛性値（Ｋ）の掛け算によりリンク先の位置（ΔＬ）が計算できる。
【００８０】
なお、光量のみならず、電流値や電圧値、エンコーダ信号の振幅情報からもギャップを測定することが可能であるため、それらを用いても構わない。
【００８１】
以上説明したように、第１実施形態に係るロボット装置５００によれば、ロボット先端位置を、出力側エンコーダ１６の検出角度および傾きに基づいて算出することにより、先端の振動が収束する時間ｔ１を正確に求められるようになっている。
【００８２】
そして、ティーチングプレイバック方式の動作再現性を利用することで、位置決め完了判定までの時間を短縮できる。よって、従来にあるような、減速機入力側の値を基とした方法と比較して、精度が保証される最速の位置決め完了条件を、正確に求めることが可能となる。
【００８３】
つまり、第１動作の始点となる教示点Ｐ１から終点となる教示点Ｐ２にロボット１００を動作させた時、ｔ１に設定した停止時間、ロボット１００を停止させることで、ロボット１００の先端の振動が収束する。よって、次の第２動作の始点となる教示点Ｐ２から第２動作の終点となる教示点Ｐ３へ移動するロボット１００の動作が安定する。したがって、部品Ｗ１を部品Ｗ２に組付ける組付け作業を行う際には、組み付け作業の精度が低下するのを抑制することができる。このように、設定した停止時間に亘ってロボット１００を停止させることでロボット１００の振動が収束するため、ロボット１００の作業精度が向上する。
【００８４】
更に、設定する停止時間にマージンを多めに設ける必要がないので、従来よりも停止時間が短縮され、ロボット１００の作業効率が向上する。
【００８５】
［第２実施形態］
図１１は、本発明の第２実施形態に係るロボット装置のＪ２関節を示す分解斜視図である。なお、第２実施形態のロボット装置の全体構成は、第１実施形態のロボット装置５００と同様であるため説明を省略し、第１実施形態と異なる点を中心に説明する。第２実施形態において、第１実施形態と異なるのは、出力側エンコーダ１６のセンサユニット５０７の配置である。
【００８６】
第２実施形態では、ロボット１００のＪ２関節部のリンク１２２側に出力側エンコーダ１６のセンサユニット５０７がＪ２関節の回転軸を中心として、リンク１２２の軸線上（Ｊ２関節とＪ３関節を結ぶ線）に沿って２つ対向配置されている。換言すると、ロボット１００のＪ２関節部のリンク１２２側には出力側エンコーダ１６のセンサユニット５０７がＪ２の回転軸を中心とした同一円周上に略１８０°の角度で２つ配置されている。
【００８７】
ロボット１００を動作させると図１１の矢印Ｖ方向に力が働く。このとき、Ｊ２軸にはねじり方向Ｔと撓み方向Ｕの力が働く。しかし、リンク１２２は円筒パイプや角型パイプ形状で形成されるため、ねじり方向Ｔの剛性は、撓み方向Ｕの剛性に比べて十分に大きい。そのため変形はリンク１２２の撓み方向Ｕが支配的になる。
【００８８】
よってリンク１２２の軸線上（Ｊ２関節とＪ３関節を結ぶ線）に沿って２つ対向配置することにより先端位置を計算することが可能となる。
【００８９】
また、リンク軸の撓みをあらかじめ計算し外力に対する変位と傾きの関係を記憶しておき比較することにより、センサユニット５０７が一つでも同様の効果が得られる。
【００９０】
［第３実施形態］
第３実施形態のロボット装置の全体構成は、第１実施形態のロボット装置５００と同様であるため説明を省略し、第１実施形態と異なる点を中心に説明する。第３実施形態では、ロボット１００に第１動作を行わせて教示点Ｐ２に到達した時点から、ロボット１００の先端の振動が所定の範囲に収束する時間を推定して、推定した時間、一時停止させた後に、次の第２動作を実行するようにしている。
【００９１】
図１２は、第３実施形態に係るロボット装置５００の制御系を示す機能ブロック図である。第３実施形態に係るロボット装置５００の制御系は、位置決め完了判定値記憶部４０３、位置決め時間演算部４０４、パラメータ記憶部４０５の替わりに、収束判定値記憶部４０９および収束判定部４１０を備えるという点が第１実施形態と異なる。
【００９２】
収束判定値記憶部４０９は、ロボット１００の先端位置における、位置決め完了位置として許容できるずれ量の幅（即ち、振動が収束したと見做せる許容範囲、所定の範囲）を記憶する。
【００９３】
収束判定部４１０は、先端位置演算部４０２および収束判定値記憶部４０９の値に基づき、ロボット１００の先端の収束（位置決め完了）を判定し、次動作へ移行する指令をサーボ制御装置２３０に与える。
【００９４】
図１３は、本発明の第３実施形態に係るロボット装置におけるロボット制御方法（収束時間検出方法）の各工程を示すフローチャートである。第１実施形態におけるロボット制御方法のＳ１〜Ｓ６と、第３実施形態におけるＳ１１〜１６は同じである。
【００９５】
ここで、ステップＳ１７の推定工程について具体的に説明する。図１４は、本発明の第３実施形態に係るロボット制御方法における推定工程を示すフローチャートである。図１５は推定工程を説明するための概念図である。図１５のグラフにおいて、横軸は時間ｔ、縦軸は先端位置ｘ，ｙ，ｚの３軸方向のうち１軸方向（ｘ軸方向）の先端位置ｘを示している。なお、他の軸（ｙ，ｚ軸）についても同様であるので、説明を省略する。
【００９６】
図１５に示すように、ロボット１００の先端位置は、目標位置ｘ０を中心とする所定範囲（２本の破線の間の許容範囲）の内外を往復しながら徐々に減衰して目標位置ｘ０に収束する。よって、第３実施形態では、ロボット１００の振動で収束幅を逸脱しない時間ｔｘを推定する。
【００９７】
具体的に説明すると、まず、ＣＰＵ２０１は、ステップＳ１６にて算出したロボット１００の先端の位置ｘの時間変化によりロボット１００の先端の振動の少なくとも２つ、本実施形態では２つのピーク値ｘ１，ｘ２を算出する（Ｓ１７１）。具体的に説明すると、ＣＰＵ２０１は、所定の時間間隔で各出力側エンコーダ１６から各関節Ｊ１〜Ｊ６の回転角度と軸の傾きを取得して先端位置を求めており、先端位置が各ピーク値ｘ１，ｘ２を過ぎてｘ０に近づいた時点で各ピーク値ｘ１，ｘ２を割り出す。即ち、ＣＰＵ２０１は、時系列で先に割り出した少なくとも２つのピーク値ｘ１，ｘ２を求める。
【００９８】
次に、ＣＰＵ２０１は、ピーク値ｘ１，ｘ２に基づき、収束時間ｔｘを推定する。具体的に説明すると、まず、ＣＰＵ２０１は、ピーク値ｘ２を割り出した後、２つのピーク値ｘ１，ｘ２から対数減衰率を算出する（Ｓ１７２）。対数減衰率は、隣り合う振幅の比の自然対数で表される。図１５のロボットアーム先端位置の波形においては、対数減衰率σは以下の式で表される。
【００９９】
【数２】
2020062730.tif 000004
【０１００】
次いで、ＣＰＵ２０１は、算出した対数減衰率から収束時間ｔｘを算出する（Ｓ１７３）。
【０１０１】
以上のステップＳ１７１〜Ｓ１７３により、収束時間ｔｘが推定される。収束時間ｔｙ，ｔｚについても同様に推定する。なお、推定方法として対数減衰率を求める場合について説明したが、これに限定するものではない。先端位置の複数のサンプリングデータから減衰波形の関数を求めて、収束時間を推定してもよい。また、２つのピーク値から次以降のピーク値及びそのタイミングを推定して、収束時間を推定してもよい。
【０１０２】
このように、第３実施形態では、ＣＰＵ２０１は、ワールド座標系Σにおける各ｘ，ｙ，ｚ軸方向について各々収束時間ｔｘ，ｔｙ，ｔｚを推定する。
【０１０３】
次に、図１３においてステップＳ１７で収束時間ｔｘ，ｔｙ，ｔｚの推定を終えた後、収束判定部４１０は、収束時間ｔｘ，ｔｙ，ｔｚが経過したか否かを判断する（Ｓ１８）。具体的には、収束判定部４１０は、収束時間ｔｘ，ｔｙ，ｔｚのうち、最も長い収束時間（第３実施形態では収束時間ｔｘ）が経過したか否かを判断する。
【０１０４】
収束判定部４１０は、タイマ２０６による計時が収束時間ｔｘを経過していなければ（Ｓ１８：Ｎｏ）、そのままロボット１００の各モータ１の一時停止を続行する。収束判定部４１０は、タイマ２０６による計時が収束時間ｔｘに達したと判断した場合には（Ｓ１８：Ｙｅｓ）、組立物品の製造工程（連続運転）に移行する。つまり、ロボット１００に第１部品Ｗ１を把持させて第１動作を行い、予め設定した停止時間、ロボット１００を停止させた後に、第２動作にて第１部品Ｗ１を第２部品Ｗ２に組付けて組立物品を製造する。
【０１０５】
第３実施形態によれば、少なくともステップＳ１７で推定した収束時間の分、各モータ１の回転動作を一時停止させるので、予め定めた所定時間の分、各モータ１の回転動作を一時停止させるよりも一時停止させておく時間を短縮できる。そして、少なくとも収束時間の分、ロボットの各モータの回転動作を停止させておけば、ロボット１００の先端の振動は許容範囲に収束するので、次の第２動作におけるロボット１００の動作精度を確保することができる。そして、所定時間とする場合に比べて余分な停止時間を削減することができるので、第１動作及び第２動作の一連のロボット１００の動作が短時間となり、ロボット１００による組立部品の組立作業の効率が向上する。
【０１０６】
また、第３実施形態では、ロボット１００の先端の振動のピーク値を少なくとも２つ割り出して収束時間を推定しているので、次以降のピーク値を減衰特性に基づいて容易に求めることができ、推定される収束時間の精度がより向上する。特に、対数減衰率を計算することで、２つのピーク値だけで済み、より迅速に収束時間を求めることができる。
【０１０７】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されるものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されない。
【０１０８】
例えば、上記実施形態においては、多関節ロボット１００が、垂直多関節ロボットである場合について説明したが、水平多関節ロボット（スカラロボット）、パラレルリンクロボットなどであってもよい。
【０１０９】
また、上記実施形態の各処理動作は具体的には制御装置２００のＣＰＵ２０１により実行されるものである。従って、上述した機能を実現するプログラムを記録した記録媒体を制御装置２００に供給し、制御装置２００のコンピュータ（ＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し実行することによって達成されるようにしてもよい。この場合、記録媒体から読み出されたプログラム自体が上述した実施形態の機能を実現することになり、プログラム自体及びそのプログラムを記録した記録媒体は本発明を構成することになる。
【０１１０】
また、上記実施形態では、コンピュータ読み取り可能な記録媒体がＨＤＤ２０４であり、ＨＤＤ２０４にプログラム２４０が格納される場合について説明したが、これに限定するものではない。プログラム２４０は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラムを供給するための記録媒体としては、図３に示すＲＯＭ２０２、外部記憶装置３１２、記録ディスク２４１等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。また、上記実施形態におけるプログラムを、ネットワークを介してダウンロードしてコンピュータにより実行するようにしてもよい。
【０１１１】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施形態の機能が実現されるだけに限定するものではない。そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１１２】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上記実施形態の機能が実現される場合も含まれる。
【符号の説明】
【０１１３】
１１  減速機
１６  出力側エンコーダ（ロータリエンコーダ）
１００  ロボット（多関節ロボット）
１１０  関節駆動装置
２００  制御装置（制御手段）
２０４  ＨＤＤ（記憶手段）
２４０  プログラム
５００  ロボット装置
５０７  センサユニット
５２０  スケール
【図１】
2020062730.tif 000005
【図２】
2020062730.tif 000006
【図３】
2020062730.tif 000007
【図４】
2020062730.tif 000008
【図５】
2020062730.tif 000009
【図６】
2020062730.tif 000010
【図７】
2020062730.tif 000011
【図８】
2020062730.tif 000012
【図９】
2020062730.tif 000013
【図１０】
2020062730.tif 000014
【図１１】
2020062730.tif 000015
【図１２】
2020062730.tif 000016
【図１３】
2020062730.tif 000017
【図１４】
2020062730.tif 000018
【図１５】
2020062730.tif 000019