(57)【要約】【課題】ロボットの較正を容易にする。【解決手段】アームと、アームを駆動する駆動部と、駆動部からの出力をアームに駆動力として伝達する伝達部と、伝達部の駆動部からの出力が入力される入力側の動作位置を検出する入力位置検出部と、伝達部のアームに駆動力を伝達する出力側の動作位置を検出する出力位置検出部と、を有するロボットを制御する制御装置が提供される。この制御装置は、アームの基準位置を設定する基準位置設定部と、入力位置検出部からの出力と、出力位置検出部からの出力と、に基づいて、伝達部の動作位置に応じた伝達部の第１の伝達誤差と、基準位置における伝達部の第２の伝達誤差と、を演算し、第１の伝達誤差と第２の伝達誤差に基づいて、補正量を演算する演算部と、補正量に基づいて補正された操作量に基づいて、駆動部を制御する駆動制御部と、を備える。【選択図】図４
2020179465.tif 000002
【特許請求の範囲】
【請求項１】
アームと、前記アームを駆動する駆動部と、前記駆動部からの出力を前記アームに駆動力として伝達する伝達部と、前記伝達部の前記駆動部からの出力が入力される入力側の動作位置を検出する入力位置検出部と、前記伝達部の前記アームに前記駆動力を伝達する出力側の動作位置を検出する出力位置検出部と、を有するロボットを制御する制御装置であって、
前記アームの基準位置を設定する基準位置設定部と、
前記入力位置検出部からの出力と、前記出力位置検出部からの出力と、に基づいて、前記伝達部の動作位置に応じた前記伝達部の第１の伝達誤差と、前記基準位置における前記伝達部の第２の伝達誤差と、を演算し、前記第１の伝達誤差と前記第２の伝達誤差に基づいて、補正量を演算する演算部と、
前記補正量に基づいて補正された操作量に基づいて、前記駆動部を制御する駆動制御部と、
を備える、制御装置。
【請求項２】
請求項１記載の制御装置であって、
前記基準位置の指定をユーザーから受け付ける受付部を備える、制御装置。
【請求項３】
請求項１または２記載の制御装置であって、
前記ロボットにおいて、前記駆動部が別の駆動部に交換された場合、または、前記伝達部が別の伝達部に交換された場合に、前記駆動部または前記伝達部の交換の前に設定されていた前記補正量を初期化する初期化部を備える、制御装置。
【請求項４】
請求項１から３のいずれか１項に記載の制御装置であって、
前記基準位置設定部は、前記アームの位置を表す情報を取得するセンサーからの信号に基づいて、前記基準位置を設定する、制御装置。
【請求項５】
請求項１から３のいずれか１項に記載の制御装置であって、
情報を記憶する記憶部と、
ユーザーに対する出力を行う出力部と、を備え、
前記演算部は、演算した前記補正量を前記記憶部に格納し、
前記駆動制御部は、前記記憶部に格納された前記補正量に基づいて前記操作量を補正し、
前記演算部は、前記伝達部の前記第１の伝達誤差の最大値が、あらかじめ定められた閾値を超えている場合は、前記第１の伝達誤差と前記第２の伝達誤差に基づいて演算される補正量を、前記記憶部に格納することを、出力部に表示させる、制御装置。
【請求項６】
アームと、前記アームを駆動する駆動部と、前記駆動部からの出力を前記アームに駆動力として伝達する伝達部と、前記伝達部の前記駆動部からの出力が入力される入力側の動作位置を検出する入力位置検出部と、前記伝達部の前記アームに前記駆動力を伝達する出力側の動作位置を検出する出力位置検出部と、を有するロボットを制御する制御方法であって、
前記アームの基準位置を設定する工程と、
前記入力位置検出部からの出力と、前記出力位置検出部からの出力と、に基づいて、前記伝達部の動作位置に応じた前記伝達部の第１の伝達誤差と、前記基準位置における前記伝達部の第２の伝達誤差と、を演算する工程と、
前記第１の伝達誤差、および前記第２の伝達誤差に基づいて、補正量を演算する工程と、
前記補正量に基づいて補正された操作量に基づいて、前記駆動部を制御する工程と、を含む、制御方法。
【請求項７】
請求項６記載の制御方法であって、
前記基準位置の指定をユーザーから受け付ける工程を備える、制御方法。
【請求項８】
請求項６または７記載の制御方法であって、
前記ロボットにおいて、前記駆動部が別の駆動部に交換された場合、または、前記伝達部が別の伝達部に交換された場合に、前記駆動部または前記伝達部の交換の前に設定されていた前記補正量を初期化する工程を備える、制御方法。
【請求項９】
請求項６から８のいずれか１項に記載の制御方法であって、
前記基準位置を設定する工程は、前記アームの位置を表す情報を取得するセンサーからの信号に基づいて、前記基準位置を設定する工程を含む、制御方法。
【請求項１０】
請求項６から８のいずれか１項に記載の制御方法であって、
前記伝達部の前記第１の伝達誤差の最大値が、あらかじめ定められた閾値を超えている場合は、前記第１の伝達誤差と前記第２の伝達誤差に基づいて演算される補正量を記憶部に格納することを出力部に表示させる工程と、
ユーザーが前記格納することを確認する操作を受け付けた場合に、演算した前記補正量を記憶部に格納する工程と、を含み、
前記駆動部を制御する工程は、前記記憶部に格納された前記補正量に基づいて前記操作量を補正する工程を含む、制御方法。
【請求項１１】
請求項１から５のいずれか１項に記載の制御装置と、
前記制御装置に制御される前記ロボットと、を備える、ロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、制御装置、制御方法、およびロボットシステムに関する。
【背景技術】
【０００２】
従来、モーターおよび波動歯車減速機を備えたアクチュエーターが存在する。そのようなアクチュエーターにおいては、モーターによって波動歯車減速機の入力軸が一定速度で回転されていても、アクチュエーターの出力軸の回転速度は、周期的に変動する。
【０００３】
特許文献１の技術においては、アクチュエーターの出力軸のフィードバック制御に用いる速度指令に、波動歯車減速機の角度伝達誤差による位置成分が加えられる。また、フィードバック制御に用いる速度フィードバック値は、モーターの回転軸の検出位置から演算された速度に、波動歯車減速機の角度伝達誤差による速度成分が加えられたものである。アクチュエーターの出力軸の回転について、そのようなフィードバック制御を行うことにより、波動歯車減速機の角度伝達誤差に起因する出力軸の回転位置の変動が抑制される。モーターおよび波動歯車減速機歯は、ロボットの関節においても使用される。
【０００４】
ロボットを使用する場合には、ロボットのアームによって移動されるエンドエフェクターの制御点について、あらかじめ３次元空間内の基準位置において較正が行われる。その基準位置に基づいて、ロボットの制御点は、３次元空間内において移動する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−９０６９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の技術をロボットに適用する際には、制御点が基準位置にあるとき、ロボットの波動歯車減速機の出力軸と入力軸は、角度伝達誤差が０の相対角度の位置にあるとは限らないため、波動歯車減速機の角度伝達誤差を含んだ状態で、基準位置における較正が行われている。その結果、制御点の定常偏差が残る。
【課題を解決するための手段】
【０００７】
本開示の一形態によれば、アームと、前記アームを駆動する駆動部と、前記駆動部からの出力を前記アームに駆動力として伝達する伝達部と、前記伝達部の前記駆動部からの出力が入力される入力側の動作位置を検出する入力位置検出部と、前記伝達部の前記アームに前記駆動力を伝達する出力側の動作位置を検出する出力位置検出部と、を有するロボットを制御する制御装置が提供される。この制御装置は、前記アームの基準位置を設定する基準位置設定部と、前記入力位置検出部からの出力と、前記出力位置検出部からの出力と、に基づいて、前記伝達部の動作位置に応じた前記伝達部の第１の伝達誤差と、前記基準位置における前記伝達部の第２の伝達誤差と、を演算し、前記第１の伝達誤差と前記第２の伝達誤差に基づいて、補正量を演算する演算部と、前記補正量に基づいて補正された操作量に基づいて、前記駆動部を制御する駆動制御部と、を備える。
【図面の簡単な説明】
【０００８】
【図１】本実施形態のロボットシステム１を模式的に示す説明図である。
【図２】ロボット制御装置３００の機能部３８２〜３８８と、ロボット１００が備えるサーボモーター４１０、減速機５１０などの関係を示すブロック図である。
【図３】参考例における補正量の設定処理およびロボットの制御方法を示すフローチャートである。
【図４】第１実施形態における補正量の設定処理およびロボットの制御方法を示すフローチャートである。
【図５】ステップＳ１００の処理後における、アーム要素１１０ｘの目標位置ＡＰｃと、サーボモーター４１０の出力軸４１０ｏの動作位置ＡＰｍの関係を示すグラフである。
【図６】ステップＳ１００の処理後における、アーム要素１１０ｘの目標位置ＡＰｃと、減速機５１０の出力軸５１０ｏの動作位置ＡＰａの関係を示すグラフである。
【図７】ステップＳ５００の処理後における、アーム要素１１０ｘの目標位置ＡＰｃと、サーボモーター４１０の出力軸４１０ｏの動作位置ＡＰｍの関係を示すグラフである。
【図８】ステップＳ５００の処理後における、アーム要素１１０ｘの目標位置ＡＰｃと、アーム要素１１０ｘの動作位置ＡＰａの関係を示すグラフである。
【図９】ステップＳ５００において、補正量ＡＰｍ０２の設定が手動で行われる場合に、補正量ＡＰｍ０２が設定される際のユーザーインターフェイスを示す図である。
【図１０】ステップＳ７００において、ロボット制御装置３００に設定されるパラメーターを示すユーザーインターフェイスを示す図である。
【図１１】ステップＳ７００において周期的なずれが補正された後における、アーム要素１１０ｘの目標位置ＡＰｃと、出力軸４１０ｏの動作位置ＡＰｍの関係を示すグラフである。
【図１２】ステップＳ７００において周期的なずれが補正された後の状態における、アーム要素１１０ｘの目標位置ＡＰｃと、アーム要素１１０ｘの動作位置ＡＰａの関係を示すグラフである。
【図１３】ステップＳ７００の処理後の状態における、アーム要素１１０ｘの目標位置ＡＰｃと、出力軸４１０ｏの動作位置ＡＰｍの関係を示すグラフである。
【図１４】ステップＳ７００の処理後の状態における、アーム要素１１０ｘの目標位置ＡＰｃと、アーム要素１１０ｘの動作位置ＡＰａの関係を示すグラフである。
【図１５】ステップＳ６２０の処理後の状態における、アーム要素１１０ｘの目標位置ＡＰｃと、出力軸４１０ｏの動作位置ＡＰｍの関係を示すグラフである。
【図１６】ステップＳ６２０の処理後の状態における、アーム要素１１０ｘの目標位置ＡＰｃと、アーム要素１１０ｘの動作位置ＡＰａの関係を示すグラフである。
【図１７】第１実施形態の変形例における補正量の設定処理の一部を示すフローチャートである。
【図１８】保存されていた補正量をＲＡＭ３２０から読み出して、今後使用される補正量として設定する際のユーザーインターフェイスＵＩ２０を示す図である。
【図１９】基準位置の設定において出力部３５０としての液晶ディスプレイに表示されるユーザーインターフェイスＵＩ３０を示す図である。
【図２０】複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。
【図２１】複数のプロセッサーによってロボットの制御装置が構成される他の例を示す概念図である。
【発明を実施するための形態】
【０００９】
Ａ．第１実施形態：
Ａ１．ロボットシステムの構成：
図１は、本実施形態のロボットシステム１を模式的に示す説明図である。本実施形態のロボットシステム１は、ロボット１００と、エンドエフェクター２００と、ロボット制御装置３００と、カメラ７００と、を備える。
【００１０】
図１において、技術の理解を容易にするために、ロボット座標系ＲＣを示す。ロボット座標系ＲＣは、水平面上において互いに直交するＸ軸とＹ軸と、鉛直上向きを正方向とするＺ軸とによって規定される３次元の直交座標系である。なお、図１は、技術の理解を容易にするための説明図であり、各構成の形状や寸法を正確に反映するものではない。
【００１１】
ロボット１００は、４個の関節Ｊ１〜Ｊ４を備えたアーム１１０を有する４軸ロボットである。関節Ｊ１，Ｊ２，Ｊ４は、回転されるねじり関節である。関節Ｊ３は、直進される直動関節である。アーム１１０を構成する関節と関節の間の構成要素を、本明細書において「アーム要素」と呼ぶ。図１においては、アーム１１０に含まれる複数のアーム要素のうち、関節Ｊ１と関節Ｊ２の間のアーム要素１１０ａ、関節Ｊ２と関節Ｊ３の間のアーム要素１１０ｂ、およびアーム１１０の先端を構成するアーム要素１１０ｄについて、符号を付して示す。各アーム要素を区別せずに示す場合には、アーム要素１１０ｘと表記する。
【００１２】
ロボット１００は、４個の関節Ｊ１〜Ｊ４をそれぞれサーボモーターで回転または直進させることにより、アーム１１０の先端部に取りつけられたエンドエフェクター２００を、３次元空間中の指定された位置に指定された姿勢で配することができる。なお、３次元空間におけるエンドエフェクター２００の位置を代表する地点を、制御点またはＴＣＰ（Tool Center Point）とも呼ぶ。
【００１３】
ロボット１００は、各関節に、サーボモーター４１０と、減速機５１０と、モーター角度センサー４２０と、出力側センサー５２０と、を備える。図１では、技術の理解を容易にするために、関節Ｊ１についてのみ、模式的にサーボモーター４１０と、減速機５１０と、モーター角度センサー４２０と、出力側センサー５２０と、を示している。
【００１４】
サーボモーター４１０は、アーム１１０を駆動する。より具体的には、サーボモーター４１０は、ロボット制御装置３００から電流を供給されて駆動力を発生させ、その出力軸４１０ｏを回転させる。
【００１５】
モーター角度センサー４２０は、サーボモーター４１０の出力軸４１０ｏの動作位置ＡＰｍを検出する。モーター角度センサー４２０は、ロータリエンコーダーである。モーター角度センサー４２０が検出した出力軸４１０ｏの動作位置ＡＰｍは、ロボット制御装置３００に送信される。後述するように、モーター角度センサー４２０は、減速機５１０の入力側の動作位置を検出している。
【００１６】
減速機５１０は、サーボモーター４１０からの出力をアーム１１０に伝達する。減速機５１０は、入力軸５１０ｉと出力軸５１０ｏを備える。減速機５１０は、入力軸５１０ｉに対する回転入力を、回転入力より回転速度が低い回転出力に変換して、出力軸５１０ｏから出力する。減速機５１０は、具体的には、波動歯車減速機である。
【００１７】
減速機５１０の入力軸５１０ｉは、サーボモーター４１０の出力軸４１０ｏに接続されている。入力軸５１０ｉの動作位置は、サーボモーター４１０の出力軸４１０ｏの動作位置ＡＰｍと等しい。このため、サーボモーター４１０の出力軸４１０ｏの動作位置ＡＰｍを検出することができるモーター角度センサー４２０は、減速機５１０の入力軸５１０ｉの動作位置を検出していることとなる。
【００１８】
サーボモーター４１０の出力軸４１０ｏからの継続的な一定の入力に対して、減速機５１０は、周期的な伝達誤差を発生させる。すなわち、サーボモーター４１０の出力軸４１０ｏからの継続的な一定速度の回転入力に対して、減速機５１０の出力軸５１０ｏの回転速度および動作位置は、周期的なずれを含む。
【００１９】
たとえば、アーム要素１１０ａは、関節Ｊ１の減速機５１０の出力軸５１０ｏに固定されている。その結果、アーム要素１１０ａは、サーボモーター４１０の出力軸４１０ｏの回転によって、減速機５１０を介して、関節Ｊ１において回転される。
【００２０】
出力側センサー５２０は、アーム要素１１０ａ内に配されている。出力側センサー５２０は、減速機５１０の出力軸５１０ｏの動作位置ＡＰａを検出する。すなわち、モーター角度センサー４２０が、減速機５１０の入力側の動作位置ＡＰｍを検出しているのに対して、出力側センサー５２０は、減速機５１０の出力側の動作位置ＡＰａを検出している。出力側センサー５２０は、ロータリエンコーダー、慣性センサー、および加速度センサーのうちのいずれかである。出力側センサー５２０が検出した出力軸５１０ｏの動作位置ＡＰａは、ロボット制御装置３００に送信される。モーター角度センサー４２０と出力側センサー５２０とをまとめて「角度センサー」とも呼ぶ（図２の右部参照）。
出力側センサー５２０として慣性センサーを用いる場合、慣性センサーは、アーム要素１１０ａまたはアーム要素１１０ｂに取り付けられることができる。そのような態様においては、減速機５１０を介してサーボモーター４１０によりアーム１１０を動かすことで、減速機５１０の伝達誤差を補正するための周期的なずれの振幅、位相を検出し、減速機５１０の出力側の動作位置ＡＰａを検出することができる。慣性センサーをアーム要素１１０ｂに取り付ける場合は、アーム要素１１０ｂの駆動を停止させた状態で、アーム要素１１０ａを駆動させることによって、減速機５１０の出力側の動作位置ＡＰａを検出することができる。なお、出力側センサー５２０は、ロボット１００に取り外し可能に取り付けられていてもよい。
【００２１】
なお、本明細書においては、駆動力を伝達する伝達部としての減速機５１０において、入力される駆動力を受ける部材である入力軸５１０ｉの動作位置を、「入力側の動作位置」とも記載する。駆動力を伝達する伝達部において、出力される駆動力を他の構成に伝達する部材である出力軸５１０ｏの動作位置を、「出力側の動作位置」とも記載する。
【００２２】
ロボット制御装置３００は、ロボット１００の動作を制御する制御装置である。ロボット制御装置３００は、ロボット１００に接続されている。ロボット制御装置３００は、プロセッサーであるＣＰＵ（Central Processing Unit）３１０、ＲＡＭ（Random Access Memory）３２０、ＲＯＭ（Read-Only Memory）３３０を備える。ロボット制御装置３００には、ロボット１００を制御するための制御プログラムがインストールされている。ロボット制御装置３００においては、ハードウェア資源としてのＣＰＵ３１０、ＲＡＭ３２０、ＲＯＭ３３０と、制御プログラムとが協働する。具体的には、ＣＰＵ３１０が、ＲＯＭ３３０に記憶されたコンピュータープログラムをＲＡＭ３２０にロードして実行することによって、誤差演算部３１２、基準位置設定部３１４、駆動制御部３１６、受付部３１８などの後述する様々な機能を実現する。
【００２３】
ロボット制御装置３００は、さらに、入力部３４０と、出力部３５０を備える。出力部３５０は、具体的には、液晶ディスプレイである。出力部３５０は、ＣＰＵ３１０に制御されて、ＣＰＵ３１０によって処理された様々な情報をユーザーに対して出力する。入力部３４０は、出力部３５０としての液晶ディスプレイ上に設けられたタッチパネルである。入力部３４０は、ユーザーに操作されて、様々な情報をユーザーから受け取る。
【００２４】
エンドエフェクター２００は、アーム１１０の先端に取りつけられている。エンドエフェクター２００は、ロボット制御装置３００に制御されて、ワークピースＷ０１をつかむことができ、また、つかんでいるワークピースＷ０１を離すことができる。その結果、たとえば、ロボット１００とエンドエフェクター２００とは、ロボット制御装置３００に制御されて、作業対象物であるワークピースＷ０１をつかんで移動させることができる。なお、図１においては、技術の理解を容易にするため、エンドエフェクター２００を単純な円柱で示している。
【００２５】
カメラ７００は、ワークピースＷ０１と、そのワークピースＷ０１の周辺と、アーム１１０と、を含む写真画像を撮像することができる。カメラ７００が生成した画像は、ロボット制御装置３００に送信され、ロボット１００の制御に使用される。カメラ７００は、支柱Ｆ７００に支持されている。
【００２６】
図２は、ロボット制御装置３００のＣＰＵ３１０が実現する機能部３８２〜３８８と、ロボット１００が備えるサーボモーター４１０およびモーター角度センサー４２０、減速機５１０、ならびに出力側センサー５２０と、の関係を示すブロック図である。ロボット制御装置３００のＣＰＵ３１０が実現する機能部である駆動制御部３１６（図１の下段右部参照）は、さらに下位の機能部として、制御信号生成部３８２と、補正部３８４と、位置制御部３８６と、速度制御部３８８と、を備える。
【００２７】
制御信号生成部３８２は、アーム要素１１０ｘが位置すべき目標位置を表す位置制御信号ＰＣ０１を生成し、出力する。補正部３８４は、目標位置に応じて設定される補正量に基づいて、位置制御信号ＰＣ０１を補正して、位置制御信号ＰＣ０２を生成する。補正量については、後に説明する。
【００２８】
位置制御部３８６は、位置制御信号ＰＣ０２に基づいて、ロボット１００のサーボモーター４１０の速度制御信号を生成し、出力する。
【００２９】
速度制御部３８８は、速度制御信号に基づいて、トルク制御信号を生成し、出力する。その後、トルク制御信号に基づいて、サーボモーター４１０に供給する電流量が決定され、決定された電流量の電流がサーボモーター４１０に供給される。
【００３０】
サーボモーター４１０の出力軸４１０ｏの回転は、減速機５１０の入力軸５１０ｉに伝えられる。サーボモーター４１０の出力軸４１０ｏの回転は、減速機５１０において減速され、減速機５１０の出力軸５１０ｏの回転として出力される。
【００３１】
ロボット制御装置３００のＣＰＵ３１０の機能部である補正部３８４によって、位置制御信号ＰＣ０１が補正されることにより（図２の左部参照）、減速機５１０の出力軸５１０ｏの動作位置の目標位置に対する定常偏差、および周期的なずれが減少される。
【００３２】
補正部３８４における補正において使用される位置制御信号ＰＣ０１の補正量は、目標位置に応じて、あらかじめ設定されている。目標位置に応じた補正量は、サーボモーター４１０のハードウェア構成および減速機５１０のハードウェア構成に応じて、設定されている。その結果、サーボモーター４１０のハードウェア構成および減速機５１０のハードウェア構成に起因して生じる減速機５１０の出力軸５１０ｏの動作位置の定常偏差、および周期的なずれが、補正によって減少される。
【００３３】
サーボモーター４１０および減速機５１０が交換された場合には、補正量は再設定される。以下では、サーボモーター４１０および減速機５１０が交換された場合に補正量を設定する処理を、参考例と対比しつつ、説明する。なお、以下の処理は、サーボモーター４１０または減速機５１０の一方のみが交換された場合にも実行される。
【００３４】
Ａ２．補正量の設定：
（１）参考例における補正量の設定：
図３は、参考例における補正量の設定処理およびロボットの制御方法を示すフローチャートである。図３の一部の工程は、ロボット制御装置３００のＣＰＵ３１０によって自動的に実行される。図３の他の一部の工程においては、ロボット制御装置３００のＣＰＵ３１０によって、出力部３５０を介して、ユーザーに対して指示が促され、ユーザーによる指示に従って、ＣＰＵ３１０が処理を実行する。図３に示すステップＳ１００〜Ｓ７００の処理は、各関節Ｊ１〜Ｊ４において実行される。
【００３５】
ステップＳ１００において、ロボット１００が動作可能な状態において、アーム要素１１０ｘの基準位置ＲＰが設定される。基準位置ＲＰは、たとえば、ロボット１００に実行させる動作においてもっとも位置の正確さが要求される姿勢におけるアーム要素１１０ｘの動作位置とすることができる。また、基準位置ＲＰは、所定程度以上の精度であらかじめその位置、すなわち３次元空間内の座標が分かっている動作位置とすることもできる。ユーザーは、ロボット制御装置３００のＣＰＵ３１０によって、出力部３５０を介して処理を促されて、ロボット制御装置３００とともにステップＳ１００の処理を行う。
【００３６】
具体的には、ユーザーは、入力部３４０を介して、基準位置ＲＰの座標を入力する。制御点の座標には、位置の情報と姿勢の情報が含まれる。ロボット制御装置３００のＣＰＵ３１０は、入力部３４０を介して、基準位置ＲＰとしての動作位置の指定をユーザーから受け付ける。このような機能を奏するＣＰＵ３１０の機能部を、受付部３１８として図１に示す。ロボット制御装置３００のＣＰＵ３１０は、指定された位置を、ロボット１００のアーム要素１１０ｘの基準位置ＲＰに設定する。このような機能を奏するＣＰＵ３１０の機能部を、基準位置設定部３１４として図１に示す。
【００３７】
このような構成とすることにより、ユーザーは、基準位置を１箇所に限定されることがなく、ロボット１００に実行させる作業に応じて、適切な基準位置ＲＰを設定することができる。このため、ロボット１００に正確に作業を行わせることができる。
【００３８】
ステップＳ１００においては、アーム要素１１０ｘの目標位置ＡＰｃが基準位置ＲＰであるときの動作位置のずれが０となるように、目標位置ＡＰｃが０であるときのサーボモーター４１０の出力軸４１０ｏの動作位置の補正量ＡＰｍ０１が決定される。
【００３９】
図５は、ステップＳ１００の処理後の状態における、アーム要素１１０ｘの目標位置ＡＰｃと、サーボモーター４１０の出力軸４１０ｏの動作位置ＡＰｍの関係を示すグラフである。サーボモーター４１０の出力軸４１０ｏの動作位置ＡＰｍは、モーター角度センサー４２０によって得られる（図１および図２参照）。
【００４０】
図５において、破線で表される直線状のグラフＧｍ１Ｌは、減速機５１０に起因する周期的なずれを打ち消す補正がされていない位置制御信号によって実現される出力軸４１０ｏの動作位置を表す。アーム要素１１０ｘの目標位置ＡＰｃが０であるときの出力軸４１０ｏの動作位置は、０からＡｐｍ０１だけずらされている（図５の下段左部参照）。アーム要素１１０ｘの目標位置ＡＰｃが０である状態、すなわち、アーム要素１１０ｘを駆動させる関節の原点において行われた較正によって、あらかじめアーム要素１１０ｘの目標位置ＡＰｃが０であるときの補正量Ａｐｍ０１が、設定されている。実線で表される波状のグラフＧｍ１Ｗについては、後に説明する。
【００４１】
図６は、ステップＳ１００の処理後の状態における、アーム要素１１０ｘの目標位置ＡＰｃと、減速機５１０の出力軸５１０ｏの動作位置ＡＰａの関係を示すグラフである。減速機５１０の出力軸５１０ｏの動作位置ＡＰａは、出力側センサー５２０によって得られる（図１および図２参照）。減速機５１０の出力軸５１０ｏの動作位置ＡＰａは、言い替えれば、アーム要素１１０ｘの動作位置である。以下では、アーム要素１１０ｘの動作位置も、「動作位置ＡＰａ」と表記する。
【００４２】
図５の直線状のグラフＧｍ１Ｌが表す動作位置にしたがって、アーム要素１１０ｘの目標位置ＡＰｃに応じてサーボモーター４１０の出力軸４１０ｏが動作されると、減速機５１０に起因する周期的なずれのために、アーム要素１１０ｘの動作位置ＡＰａは、図６において、破線で表される波状のグラフＧａ１Ｗとなる。すなわち、アーム要素１１０ｘの目標位置ＡＰｃに対して、アーム要素１１０ｘの動作位置ＡＰａは、線形とならず、波状に変動する。
【００４３】
このため、サーボモーター４１０の出力軸４１０ｏの動作位置ＡＰｍを指定する位置制御信号は、あらかじめ、グラフＧａ１Ｗの位相と逆の位相で、グラフＧａ１Ｗの振幅に相当する量だけ、補正される（図２の３８４参照）。そのように補正された位置制御信号によるサーボモーター４１０の出力軸４１０ｏの動作位置ＡＰｍが、図５において実線で表される波状のグラフＧｍ１Ｗである。
【００４４】
図５の波状のグラフＧｍ１Ｗが表す動作位置にしたがって、アーム要素１１０ｘの目標位置ＡＰｃに応じてサーボモーター４１０の出力軸４１０ｏが動作されると、アーム要素１１０ｘの動作位置ＡＰａは、図６において、実線で表される直線状のグラフＧａ１Ｌとなる。すなわち、アーム要素１１０ｘの目標位置ＡＰｃに対して、アーム要素１１０ｘの動作位置ＡＰａは、線形となる。
【００４５】
これらのアーム要素１１０ｘの動作位置の原点について行われる較正（図５のＡＰｍ０１参照）、および減速機５１０に起因する周期的なずれを打ち消す補正（図５のＧｍ１Ｗ参照）は、図３の処理に先立って、ロボット１００に作業を行わせるために、あらかじめ設定されている。サーボモーター４１０および減速機５１０が交換される前の状態において、ロボット１００の各関節は、それぞれ上記の補正量で補正された位置制御信号によって制御される（図２の３８４参照）。
【００４６】
図３のステップＳ１００においては、アーム要素１１０ｘの目標位置ＡＰｃの基準位置ＲＰが決定され、目標位置ＡＰｃの基準位置ＲＰ、およびそのときのアーム要素１１０ｘの動作位置ＡＰａｒｐ０１（図６の下段左部参照）のうち少なくとも一方の情報が、ＲＡＭ３２０に記憶される。サーボモーター４１０および減速機５１０が交換される前の状態において、上記補正量が理想的に設定されていれば、アーム要素１１０ｘの動作位置ＡＰａｒｐ０１は、アーム要素１１０ｘの基準位置ＲＰと一致する。
【００４７】
図３のステップＳ２００において、サーボモーター４１０または減速機５１０が交換される（図１の中央部参照）。ユーザーは、ロボット制御装置３００のＣＰＵ３１０によって、出力部３５０を介して、ステップＳ２００の処理の実行を促されて、サーボモーター４１０または減速機５１０の交換を行う。
【００４８】
ステップＳ３００において、モーター角度センサー４２０および出力側センサー５２０のうち、ステップＳ２００で交換されたものが初期化される。この処理は、ステップＳ２００の処理の完了をユーザーから入力されたロボット制御装置３００のＣＰＵ３１０によって、実行される。
【００４９】
ステップＳ４００において、それまでに設定されていた位置制御信号の目標位置に応じた補正量（図５参照）が初期化される。すなわち、位置制御信号の補正量は、目標位置によらず０に設定される。この処理は、ロボット制御装置３００のＣＰＵ３１０によって、自動的に実行される。
【００５０】
すなわち、サーボモーター４１０が別のサーボモーター４１０に交換された場合、または、減速機５１０が別の減速機５１０に交換された場合には（図３のＳ２００参照）、サーボモーター４１０または減速機５１０の交換の前に設定されていた補正量が初期化される（図３のＳ４００参照）。このステップＳ４００の処理を行うＣＰＵ３１０の機能部を、初期化部３１３として図１に示す。
【００５１】
このような構成とすることにより、サーボモーター４１０が別のサーボモーター４１０に交換された場合、または、減速機５１０が別の減速機５１０に交換された場合に、交換の前に設定されていた補正量を使用して位置制御信号が補正されることによって、位置制御信号が補正されない場合に比べて、さらにアーム要素１１０ｘの位置のずれが大きくなる事態を、防止することができる。
【００５２】
図３のステップＳ４５０において、アーム要素１１０ｘを回転させる駆動の原点において、較正が行われる。より具体的には、出力側センサー５２０（図１の中央部参照）が０°を示すときの減速機５１０の出力軸５１０ｏの動作位置が０°に設定され、アームを０°の姿勢に動作させ、そのときのサーボモーター４１０の出力軸４１０ｏの動作位置が０°に設定される。ステップＳ４５０の処理により、ステップＳ５００以下の処理においてアーム要素１１０ｘが動かされた際に、不測の動作位置にアーム要素１１０ｘが移動する事態を防止することができる。ユーザーは、ロボット制御装置３００のＣＰＵ３１０によって、出力部３５０を介して、実行を促されて、ロボット制御装置３００とともにステップＳ４５０の処理を行う。
【００５３】
ステップＳ５００において、さらに較正を行い、基準位置ＲＰにおけるアーム要素１１０ｘの動作位置ＡＰａのずれが０となるように、サーボモーター４１０の出力軸４１０ｏの動作位置の補正量ＡＰｍ０１が決定される。具体的には、ロボット使用者は、アーム要素１１０ｘの動作位置がステップＳ１００でＲＡＭ３２０に記憶された基準位置ＲＰとなるように、ロボットを基準位置ＲＰへ動作させる。そして、そのときのモーターの動作位置から、目標位置ＡＰｃが０であるときのサーボモーター４１０の出力軸４１０ｏの動作位置の補正量ＡＰｍ０２が、決定される。
【００５４】
図７は、ステップＳ５００の処理後の状態における、アーム要素１１０ｘの目標位置ＡＰｃと、サーボモーター４１０の出力軸４１０ｏの動作位置ＡＰｍの関係を示すグラフである。図３のステップＳ５００において、アーム要素１１０ｘの目標位置ＡＰｃが基準位置ＲＰである状態について行われた較正によって、アーム要素１１０ｘの目標位置ＡＰｃが０であるときの補正量Ａｐｍ０２が、設定される（図７の下段左部参照）。
【００５５】
その結果、位置制御信号によって実現されるサーボモーター４１０の出力軸４１０ｏの動作位置は、実線で表される直線状のグラフＧｍ２Ｌとなる。なお、この状態においては、出力軸４１０ｏの動作位置は、減速機５１０に起因する周期的なずれを打ち消すように、補正されていない。
【００５６】
図８は、ステップＳ５００の処理後の状態における、アーム要素１１０ｘの目標位置ＡＰｃと、アーム要素１１０ｘの動作位置ＡＰａの関係を示すグラフである。図７の直線状のグラフＧｍ２Ｌが表す動作位置にしたがって、目標位置ＡＰｃに応じてサーボモーター４１０の出力軸４１０ｏが動作されると、減速機５１０に起因する周期的なずれのために、アーム要素１１０ｘの動作位置ＡＰａは、図８において、実線で表される波状のグラフＧａ２Ｗとなる。すなわち、アーム要素１１０ｘの目標位置ＡＰｃに対して、アーム要素１１０ｘの動作位置ＡＰａは、波状に変動する。しかし、図３のステップＳ５００において行われた較正により、アーム要素１１０ｘの目標位置ＡＰｃが基準位置ＲＰであるときのアーム要素１１０ｘの動作位置ＡＰａは、サーボモーター４１０および減速機５１０が交換される前と同様、ＡＰａｒｐ０１となる。
【００５７】
なお、図８においては、減速機５１０に起因する周期的なずれが存在しない場合のアーム要素１１０ｘの動作位置ＡＰａを、破線のグラフＧａ２Ｌで示す。減速機５１０に起因する周期的なずれによって、基準位置ＲＰにおけるアーム要素１１０ｘの動作位置ＡＰａは、ΔＡＰａｒｐだけプラス側にずれている。
【００５８】
図９は、図３のステップＳ５００において、補正量ＡＰｍ０２の設定が手動で行われる場合に、関節Ｊ１〜Ｊ４について補正量ＡＰｍ０２が設定される際のユーザーインターフェイスを示す図である。図９の表示は、出力部３５０としての液晶ディスプレイ（図１参照）に表示される。図９の例においては、図３のステップＳ５００において、現在の位置が基準位置ＲＰであるとして補正量ＡＰｍ０２を再設定する旨のコマンド「calib」が入力部３４０を介して入力される。もしくは、関節Ｊ１〜Ｊ４について、それぞれ−１３６８３，−１１６５６，１１６４２，−１４１５の補正量ＡＰｍ０２（図７の下段左部参照）を直接、設定するコマンド「hofs」を用いて、補正量ＡＰｍ０２が設定される。なお、補正量ＡＰｍ０２の設定は、ロボット制御装置３００のＣＰＵ３１０によって、自動的に実行されることもできる。
【００５９】
図３のステップＳ５００において、その後、目標位置ＡＰｃが０であるときのサーボモーター４１０の出力軸４１０ｏの動作位置が補正量ＡＰｍ０２となるように、位置制御信号が補正され（図２の３８４参照）、その位置制御信号によってアーム要素１１０ｘが駆動される。この処理は、ロボット制御装置３００のＣＰＵ３１０によって、自動的に実行される。
【００６０】
ステップＳ６００において、アーム要素１１０ｘの目標位置ＡＰｃに応じた伝達誤差が演算される。具体的には、出力側センサー５２０の出力に基づいて、アーム要素１１０ｘの目標位置ＡＰｃに応じた周期的なずれの振幅、位相が演算される。この処理は、ロボット制御装置３００のＣＰＵ３１０によって、自動的に実行される。ステップＳ６００の処理を行うＣＰＵ３１０の機能部を、誤差演算部３１２として図１に示す。
【００６１】
ステップＳ７００において、ステップＳ６００で得られたアーム要素１１０ｘの目標位置ＡＰｃに応じた減速機５１０の伝達誤差に基づいて、その伝達誤差を打ち消すように位置制御信号が補正され、その位置制御信号によってアーム要素１１０ｘが駆動される。
【００６２】
ステップＳ７００においては、減速機５１０に起因する周期的なずれを打ち消すための、目標位置ＡＰｃに応じた補正量が決定される。具体的には、補正量の振幅、位相が演算される。その後ステップＳ５００と同様の処理が行われ、サーボモーター４１０の出力軸４１０ｏの動作位置の補正量ＡＰｍ０３が決定される。それらの補正量の情報は、ＲＡＭ３２０に記憶される。ステップＳ７００の処理は、ロボット制御装置３００のＣＰＵ３１０によって、実行される。
【００６３】
図１０は、ステップＳ７００において、ロボット制御装置３００に設定されるパラメーターを示すユーザーインターフェイスを示す図である。図１０の表示は、出力部３５０としての液晶ディスプレイ（図１参照）に表示される。図１０の例においては、関節Ｊ１について、振幅が２００ｐｕｌｓｅで、位相が２７８°、基準角度が３５°の補正が、位置制御信号に対してなされるように、設定が行われている。なお、「基準角度」は、基準位置ＲＰの角度である。「位相」は、減速機５１０の入力軸５１０ｉの動作位置、すなわち、サーボモーター４１０の出力軸４１０ｏの動作位置ＡＰｍについて、定められる。
【００６４】
図１１は、ステップＳ７００において周期的なずれが補正された後の状態における、アーム要素１１０ｘの目標位置ＡＰｃと、サーボモーター４１０の出力軸４１０ｏの動作位置ＡＰｍの関係を示すグラフである。破線で表される直線状のグラフＧｍ２Ｌは、減速機５１０に起因する周期的なずれを打ち消す補正がされていない位置制御信号によって実現される出力軸４１０ｏの動作位置を表す（図７のＧｍ２Ｌ参照）。実線で表される波状のグラフＧｍ２Ｗは、減速機５１０に起因する周期的なずれを打ち消す補正がなされた位置制御信号によって実現される出力軸４１０ｏの動作位置を表す。周期的なずれの補正によって、基準位置ＲＰにおけるサーボモーター４１０の出力軸４１０ｏの動作位置ＡＰｍは、マイナス方向にずらされている。
【００６５】
図１２は、ステップＳ７００において周期的なずれが補正された後の状態における、アーム要素１１０ｘの目標位置ＡＰｃと、アーム要素１１０ｘの動作位置ＡＰａの関係を示すグラフである。図１１の波状のグラフＧｍ２Ｗが表す動作位置にしたがって、目標位置ＡＰｃに応じてサーボモーター４１０の出力軸４１０ｏが動作されると、アーム要素１１０ｘの動作位置ＡＰａは、図１２において、実線で表される直線状のグラフＧａ２Ｌとなる。
【００６６】
グラフＧａ２Ｌにおいては、周期的なずれを打ち消す補正により、アーム要素１１０ｘの目標位置ＡＰｃが基準位置ＲＰであるときのアーム要素１１０ｘの動作位置ＡＰａは、動作位置ＡＰａｒｐ０１よりもΔＡＰａｒｐだけ０に近い動作位置ＡＰａｒｐ０２になっている（図１２の下段左部および図８の下段左部参照）。すなわち、グラフＧａ２Ｌにおいては、アーム要素１１０ｘの目標位置ＡＰｃが基準位置ＲＰのとき、アーム要素１１０ｘの動作位置ＡＰａは、サーボモーター４１０および減速機５１０が交換される前に設定された動作位置ＡＰａｒｐ０１とはならない。また、グラフＧａ２Ｌにおいては、アーム要素１１０ｘの目標位置ＡＰｃが０のとき、アーム要素１１０ｘの動作位置ＡＰａは０とはならない（図１２の下段左部参照）。
【００６７】
図３のステップＳ７００において、基準位置ＲＰにおけるアーム要素１１０ｘの動作位置ＡＰａのずれが０となるように、サーボモーター４１０の出力軸４１０ｏの動作位置の補正量ＡＰｍ０３が決定される。具体的には、基準位置ＲＰにおけるアーム要素１１０ｘの動作位置がステップＳ１００でＲＡＭ３２０に記憶された基準位置としての動作位置ＡＰａｒｐ０１となるように、目標位置ＡＰｃが０であるときのサーボモーター４１０の出力軸４１０ｏの動作位置の補正量ＡＰｍ０３が決定される。補正量ＡＰｍ０３の情報は、ＲＡＭ３２０に記憶される。
【００６８】
図１３は、ステップＳ７００の処理後の状態における、アーム要素１１０ｘの目標位置ＡＰｃと、サーボモーター４１０の出力軸４１０ｏの動作位置ＡＰｍの関係を示すグラフである。破線で表される波状のグラフＧｍ２Ｗは、基準位置ＲＰにおけるアーム要素１１０ｘの動作位置ＡＰａのずれを打ち消す補正がされていない位置制御信号によって実現される出力軸４１０ｏの動作位置を表す（図１１のＧｍ２Ｗ参照）。実線で表される波状のグラフＧｍ３Ｗは、基準位置ＲＰにおけるアーム要素１１０ｘの動作位置ＡＰａのずれが０となるように補正された位置制御信号によって実現される出力軸４１０ｏの動作位置を表す（図１２のＡＰａｒｐ０１，ＡＰａｒｐ０２参照）。基準位置ＲＰにおける動作位置ＡＰａのずれの補正によって、基準位置ＲＰにおけるサーボモーター４１０の出力軸４１０ｏの動作位置ＡＰｍは、プラス方向にずらされている。
【００６９】
なお、図１３において、太い破線で表される直線状のグラフＧｍ３Ｌは、実線で表される波状のグラフＧｍ３Ｗを元に、減速機５１０に起因する周期的なずれを打ち消す補正がされていないと仮定した場合の位置制御信号によって実現される出力軸４１０ｏの動作位置を表す。
【００７０】
図１４は、ステップＳ７００の処理後の状態における、アーム要素１１０ｘの目標位置ＡＰｃと、アーム要素１１０ｘの動作位置ＡＰａの関係を示すグラフである。図１３の実線で表される波状のグラフＧｍ３Ｗが表す動作位置にしたがって、目標位置ＡＰｃに応じてサーボモーター４１０の出力軸４１０ｏが動作されると、アーム要素１１０ｘの動作位置ＡＰａは、図１４において、実線で表される直線状のグラフＧａ３Ｌとなる。
【００７１】
グラフＧａ３Ｌにおいては、アーム要素１１０ｘの目標位置ＡＰｃが基準位置ＲＰであるときのアーム要素１１０ｘの動作位置ＡＰａは、動作位置ＡＰａｒｐ０１になっている（図１４の下段左部、および図６の下段左部参照）。また、グラフＧａ３Ｌにおいては、アーム要素１１０ｘの目標位置ＡＰｃが０のとき、アーム要素１１０ｘの動作位置ＡＰａは０である（図１４の下段左部参照）。
【００７２】
なお、図１４において、太い破線で表される波状のグラフＧｍ３Ｗは、出力軸４１０ｏの動作が図１３のＧｍ３Ｌにしたがう場合のアーム要素１１０ｘの動作位置ＡＰａを表す。
【００７３】
以上で説明したステップＳ１００〜Ｓ７００の処理は、各関節Ｊ１〜Ｊ４について実行される（図１参照）。その結果、サーボモーター４１０および減速機５１０が交換された後においても、サーボモーター４１０および減速機５１０が交換される前と同様に、アーム要素１１０ｘの目標位置ＡＰｃが基準位置ＲＰであるときのアーム要素１１０ｘの動作位置ＡＰａは、動作位置ＡＰａｒｐ０１となり、かつ、アーム要素１１０ｘの目標位置ＡＰｃに応じた動作位置ＡＰａは、周期的なずれを含まないこととなる。
【００７４】
図３のステップＳ８００において、ステップＳ７００までの処理で設定されＲＡＭ３２０に格納されている目標位置に応じた補正量の情報にしたがって、位置制御信号ＰＣ０１が補正され、アーム要素１１０ｘが駆動される（図２の３８４参照）。ＲＡＭ３２０に格納されている目標位置に応じた補正量の情報は、この参考例において、補正量の振幅、位相および基準角度、ならびに目標位置ＡＰｃが０であるときのサーボモーター４１０の出力軸４１０ｏの動作位置の補正量ＡＰｍ０３である。補正量に基づいて補正された位置制御信号ＰＣ０２を使用して、サーボモーター４１０を制御するロボット制御装置３００のＣＰＵ３１０の機能部は、駆動制御部３１６である（図２の左部参照）。
【００７５】
以上で説明した参考例においては、ステップＳ５００とステップＳ７００において、合計２回、基準位置における較正が行われる（図３参照）。
【００７６】
（２）第１実施形態における補正量の設定：
図４は、第１実施形態における補正量の設定処理およびロボットの制御方法を示すフローチャートである。図４の処理は、図３のステップＳ５００，Ｓ６００，Ｓ７００に代えて、ステップＳ６２０を含む。図４の処理の他の点は、図３の処理と同じである。
【００７７】
ステップＳ６００は、ステップＳ６２２，Ｓ６２４，Ｓ６２６を含む。ステップＳ６００の処理は、ロボット制御装置３００のＣＰＵ３１０によって、自動的に実行される。
【００７８】
ステップＳ６２２において、アーム要素１１０ｘの目標位置ＡＰｃに応じた誤差が演算される。ステップＳ６２２における処理は、図３のステップＳ６００における処理と同じである（図８および図１０参照）。
【００７９】
図４のステップＳ６２４において、基準位置ＲＰにおけるサーボモーター４１０の出力軸４１０ｏの動作位置、および基準位置ＲＰにおける動作位置のずれに基づいて、目標位置ＡＰｃに応じたアーム要素１１０ｘの動作位置ＡＰａの補正量が演算される。
【００８０】
具体的には、まず、ステップＳ６２２で得られた目標位置ＡＰｃに応じた、アーム要素１１０ｘの動作位置ＡＰａのずれの振幅、位相、および基準角度に基づいて、目標位置ＡＰｃに応じたアーム要素１１０ｘの動作位置ＡＰａのずれの振動の中点のずれ量が決定される。「目標位置ＡＰｃに応じたアーム要素１１０ｘの動作位置ＡＰａのずれの振動の中点」の位置は、ステップＳ６２２で得られた振幅、位相、および基準角度で表される目標位置ＡＰｃに応じたずれを元に、振幅を０に置き換えることによって得られる。そして、目標位置ＡＰｃに応じたアーム要素１１０ｘの動作位置ＡＰａのずれの振動の中点のずれ量を解消するための、目標位置ＡＰｃが０であるときの出力軸４１０ｏの動作位置ＡＰｍの補正量ＡＰｍ１２が演算される。
【００８１】
図１５は、ステップＳ６２０の処理後の状態における、アーム要素１１０ｘの目標位置ＡＰｃと、サーボモーター４１０の出力軸４１０ｏの動作位置ＡＰｍの関係を示すグラフである。細い破線で表される直線状のグラフＧｍ３Ｌは、目標位置ＡＰｃに応じた、ずれの振動の中点の本来の位置からのずれ量を打ち消す補正が行われている位置制御信号によって実現される出力軸４１０ｏの動作位置を表す（図１３のＧｍ２Ｌ参照）。なお、グラフＧｍ３Ｌにおいては、周期的なずれを打ち消す補正が行われていない。
【００８２】
図１６は、図４のステップＳ６２０の処理後の状態における、アーム要素１１０ｘの目標位置ＡＰｃと、アーム要素１１０ｘの動作位置ＡＰａの関係を示すグラフである。図１５の直線状のグラフＧｍ３Ｌが表す動作位置にしたがって、目標位置ＡＰｃに応じてサーボモーター４１０の出力軸４１０ｏが動作されると仮定すると、減速機５１０に起因する周期的なずれのために、アーム要素１１０ｘの動作位置ＡＰａは、図１６において、実線で表される波状のグラフＧａ３Ｗとなる。
【００８３】
なお、図１５の直線状のグラフＧｍ３Ｌが表す動作位置にしたがって、目標位置ＡＰｃに応じてサーボモーター４１０の出力軸４１０ｏが動作され、かつ、減速機５１０に起因する周期的なずれが存在しないと仮定した場合の、アーム要素１１０ｘの動作位置ＡＰａを、図１６において、細い破線の直線状のグラフＧａ３Ｌで示す。グラフＧａ３Ｗにおいて、基準位置ＲＰにおけるアーム要素１１０ｘの動作位置ＡＰａは、ずれの振動の中点からプラス側にΔＡＰａｒｐだけずれている。
【００８４】
図３のステップＳ６２４においては、ステップＳ６２２で得られた目標位置ＡＰｃに応じた、アーム要素１１０ｘの動作位置ＡＰａのずれの振幅、位相、および基準角度に基づいて、基準位置ＲＰにおける、ずれの振動の中点からのアーム要素１１０ｘの動作位置ＡＰａのずれ量ΔＡＰａｒｐが計算される（図１６の下段左部参照）。そして、アーム要素１１０ｘの動作位置ＡＰａのずれ量ΔＡＰａｒｐに相当する補正量ΔＡＰｍｒｐが計算される（図１５の下段左部参照）。
【００８５】
図１６のグラフＧａ３Ｗにおいて、基準位置ＲＰにおけるアーム要素１１０ｘの動作位置ＡＰａは、ずれの振動の中点からプラス側にΔＡＰａｒｐだけずれている。このため、減速機５１０に起因する周期的なずれを打ち消す補正を行うと、基準位置ＲＰにおけるアーム要素１１０ｘの動作位置ＡＰａは、マイナス側に移動することになる。そのような移動を生じさせず、基準位置ＲＰにおけるアーム要素１１０ｘの動作位置ＡＰａを動作位置ＡＰａｒｐ０１に保つためには、さらに、サーボモーター４１０の出力軸４１０ｏの動作位置ＡＰｍをプラス側に補正する必要がある。そのような補正を行うための補正量がΔＡＰｍｒｐである（図１５の下段左部参照）。
【００８６】
すなわち、（ＡＰｍ１２＋ΔＡＰｍｒｐ）が、アーム要素１１０ｘの目標位置ＡＰｃが０のとき、目標位置に応じたアーム要素１１０ｘの動作位置ＡＰａのずれの中点が補正されるべきずれ量である（図１５の下段左部参照）。
【００８７】
図４のステップＳ６２４において、アーム要素１１０ｘの目標位置ＡＰｃが０のときのサーボモーター４１０の出力軸４１０ｏの動作位置の補正量（ＡＰｍ１２＋ΔＡＰｍｒｐ）が決定される。
【００８８】
また、図４のステップＳ６２４においては、ステップＳ６２２で得られた振幅、位相、および基準角度に基づいて、減速機５１０に起因する周期的なずれを打ち消すための、補正量の振幅、位相および基準角度が演算される。
【００８９】
すなわち、ステップＳ６２４においては、駆動制御部３１６がサーボモーター４１０を制御するための位置制御信号の補正量であって、位置制御信号の補正によって基準位置ＲＰにおけるアーム要素１１０ｘの動作位置が変わらない補正量が、演算される（図１６の下段左部、および図１５の下段左部参照）。その補正量は、減速機５１０のアーム要素１１０ｘの目標位置ＡＰｃに応じた周期的な伝達誤差、および基準位置ＲＰにおける伝達誤差（図４のＳ６２２参照）に基づいて演算される。このステップＳ６２４の処理を行うＣＰＵ３１０の機能部は、誤差演算部３１２である（図１参照）。
【００９０】
ステップＳ６２６において、ステップＳ６２６で演算された補正量の情報が、ＲＡＭ３２０に記憶される。より具体的には、周期的なずれを打ち消すための補正量の振幅、位相、基準角度、ならびにアーム要素１１０ｘの目標位置ＡＰｃが０のときのサーボモーター４１０の出力軸４１０ｏの動作位置ＡＰｍの補正量ＡＰｍ１２および補正量ΔＡＰｍｒｐが、ＲＡＭ３２０に記憶される。なお、ステップＳ６２６における補正量の情報の格納は、参考例におけるＳ６００の処理の場合と同様、自動で行われることもでき、手動で行われることもできる（図９参照）。
【００９１】
以上で説明したステップＳ６２０の処理は、ロボット制御装置３００のＣＰＵ３１０によって、自動的に実行される。
【００９２】
このような処理を行うことにより、減速機５１０に起因する動作位置の誤差を抑制することによって、アーム要素１１０ｘの動作位置について定常偏差が生じる事態を防止することができる。
【００９３】
第１実施形態におけるアーム１１０の一部であるアーム要素１１０ｘを、広義の「アーム」とも呼ぶ。サーボモーター４１０を、「駆動部」とも呼ぶ。減速機５１０を、「伝達部」とも呼ぶ。モーター角度センサー４２０を、「入力位置検出部」とも呼ぶ。サーボモーター４１０の出力軸４１０ｏの動作位置ＡＰｍを、「伝達部の入力側の動作位置」とも呼ぶ。出力側センサー５２０を、「出力位置検出部」とも呼ぶ。減速機５１０の出力軸５１０ｏの動作位置ＡＰａおよびアーム要素１１０ｘの動作位置ＡＰａを、「伝達部の出力側の動作位置」とも呼ぶ。伝達部の動作位置に応じた伝達誤差を、「第１の伝達誤差」とも呼ぶ。基準位置における伝達誤差を、「第２の伝達誤差」とも呼ぶ。アーム要素１１０ｘの目標位置ＡＰｃを、「伝達部の動作位置」とも呼ぶ。誤差演算部３１２を、「演算部」とも呼ぶ。ＲＡＭ３２０を、「記憶部」とも呼ぶ。位置制御信号ＰＣ０１を、「操作量」とも呼ぶ。減速機５１０の出力軸５１０ｏの動作位置ＡＰａおよびアーム要素１１０ｘの動作位置ＡＰａを、「アームの位置」とも呼ぶ。
【００９４】
Ａ３．第１実施形態の変形例：
（１）第１実施形態の変形例１：
第１実施形態の変形例１においては、図３のステップＳ６２６が、さらに、追加の処理を含む。第１実施形態の変形例１の他の点は、第１実施形態と同じである。
【００９５】
図１７は、第１実施形態の変形例１における補正量の設定処理の一部を示すフローチャートである。図１７の処理は、図４のステップＳ６２２の後、かつ、ステップＳ６２６の前に実行される。図１７の処理は、ロボット制御装置３００のＣＰＵ３１０によって実行される。図１７の処理を行うＣＰＵ３１０の機能部は、誤差演算部３１２である（図１参照）。
【００９６】
ステップＳ６３２において、ステップＳ６２２で得られた周期的な伝達誤差の最大値が閾値Ｔｈａより大きいか否かが判定される。周期的な伝達誤差の最大値が閾値Ｔｈａより大きい場合は、処理は、ステップＳ６３４に進む。周期的な伝達誤差の最大値が閾値Ｔｈａ以下である場合は、処理は、ステップＳ６２４に進む。
【００９７】
ステップＳ６３４において、周期的な第１の伝達誤差と基準位置における伝達誤差に基づいて演算される補正量を、ＲＡＭ３２０に格納することを、出力部３５０に表示させる。より具体的には、出力部３５０としての液晶ディスプレイ（図１参照）に、補正値の設定処理を進めるか否かの確認を促すメッセージが、伝達誤差の最大値とともに表示される。
【００９８】
ステップＳ６３６において、補正値の設定処理を進める旨の指示が、入力部３４０を介してあった場合には、処理は、ステップＳ６２４に進む。補正値の設定処理を進めない旨の指示が、入力部３４０を介してあった場合、またはあらかじめ定められた期間、ロボット制御装置３００に入力がなかった場合は、処理は終了する。
【００９９】
図１７の処理によれば、減速機５１０の伝達誤差の最大値が、あらかじめ定められた閾値Ｔｈａを超えている場合は、基準位置ＲＰにおける伝達誤差に基づいて演算された補正量をＲＡＭ３２０に格納することの確認が、出力部３５０を介してユーザーに促される。このため、モーター角度センサー４２０および出力側センサー５２０に異常があった場合に、異常な測定結果に基づいて補正量が決定され、サーボモーター４１０が制御される事態を防止することができる。
【０１００】
（２）第１実施形態の変形例２：
第１実施形態においては、基準位置ＲＰの設定において、ユーザーが、入力部３４０を介して、基準位置ＲＰの座標を入力する（図４のＳ１００参照）。しかし、基準位置ＲＰの設定は、アーム要素１１０ｘの動作位置を表す情報を取得することができるセンサーからの信号に基づいて、自動的に行われてもよい。たとえば、アーム要素１１０ｘの動作位置を表す情報を取得することができるセンサーとして、カメラ７００を利用することができる（図１参照）。
【０１０１】
ロボット制御装置３００のＣＰＵ３１０の機能部としての基準位置設定部３１４は、カメラ７００から得られる画像データから、アーム要素１１０ｘの動作位置を表す情報を取得して、その情報に基づいて、アーム要素１１０ｘの動作位置が基準位置とすべき位置にあることを確認して、基準位置の情報をＲＡＭ３２０に格納することもできる。
【０１０２】
このような態様とすれば、駆動制御部３１６がサーボモーター４１０を制御するための位置制御信号ＰＣ０１の補正量を設定する際（図２参照）の、ユーザーの負荷を、軽減することができる。
【０１０３】
第１実施形態のカメラ７００を、「センサー」とも呼ぶ。
【０１０４】
Ｂ．第２実施形態：
第１実施形態においては、補正量の演算が行われた後の補正量の設定は、手動で行われることもできる（図４のＳ６２６、図３のＳ６００、および図９参照）。第２実施形態においては、補正量の設定は、さらに、過去に演算され保存されていた補正量を、ＲＡＭ３２０から読み出して、行うこともできる。また、図４のステップＳ４００が実行されるタイミングが、第１実施形態とは異なる。第２実施形態の他の点は、第１実施形態と同じである。
【０１０５】
図１８は、保存されていた補正量をＲＡＭ３２０から読み出して、今後使用される補正量として設定する際のユーザーインターフェイスＵＩ２０を示す図である。図１８の表示は、出力部３５０としての液晶ディスプレイ（図１参照）に表示される。ユーザーは、入力部３４０を介して、ボタンＢ２４を押すことにより、保存されていた補正量をＲＡＭ３２０から読み出すことができる。ＲＡＭ３２０から読み出された各関節Ｊ１〜Ｊ４の補正量の情報は、表Ｔ２２の各欄に表示される。ユーザーは、入力部３４０を介して、ボタンＢ２６を押すことにより、読み出した補正量を、今後使用される補正量として設定することができる。具体的には、読み出した補正量が、ＲＡＭ３２０に保存される。
【０１０６】
第２実施形態においては、ボタンＢ２４が押されて、保存されていた補正量がＲＡＭ３２０から読み出された際に、新たな補正量の保存に先立って、それまでに設定されていた位置制御信号の目標位置に応じた補正量が初期化される。初期化の処理内容は、図３および図４のＳ４００と同じである。すなわち、第２実施形態においては、第１実施形態における図４のＳ４００の処理は、図４のステップＳ６２６において実行される。
【０１０７】
このような構成としても、以前に設定されていた不適切な補正量を使用して位置制御信号が補正されることによって、アーム要素１１０ｘの位置のずれが大きくなる事態を、防止することができる。
【０１０８】
Ｃ．第３実施形態：
第１実施形態においては、基準位置の設定において、ユーザーは、入力部３４０を介して、基準位置ＲＰの座標を入力する（図４のＳ１００参照）。しかし、第３実施形態においては、基準位置の設定において、ユーザーインターフェイスが表示され、ユーザーが実際にアーム１１０の制御点を所望の地点に動かすことにより、基準位置の設定が行われる。第３実施形態の他の点は、第１実施形態と同じである。
【０１０９】
図１９は、基準位置の設定において出力部３５０としての液晶ディスプレイ（図１参照）に表示されるユーザーインターフェイスＵＩ３０を示す図である。ユーザーインターフェイスＵＩ３０を示されたユーザーは、入力部３４０を介して、ボタンＢ３８を押して、図示しない入力機器を介してアーム１１０の制御点を所望の地点に動かす。その後、ユーザーは、ボタンＢ３６を押して、基準位置の設定を確定させる。基準位置の情報は、ＲＡＭ３２０に格納される。
【０１１０】
このような態様とすれば、基準位置の設定をより容易に行うことができる。
【０１１１】
Ｄ．第４実施形態：
（１）図２０は、複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。この例では、ロボット１００およびそのロボット制御装置３００の他に、パーソナルコンピューター４００，４００ｂと、ＬＡＮなどのネットワーク環境を介して提供されるクラウドサービス５００とが描かれている。パーソナルコンピューター４００，４００ｂは、それぞれプロセッサーとメモリーとを含んでいる。また、クラウドサービス５００においてもプロセッサーとメモリーを利用可能である。プロセッサーは、コンピューター実行可能な命令を実行する。これらの複数のプロセッサーの一部または全部を利用して、ロボット制御装置３００を実現することが可能である。また、各種の情報を記憶する記憶部も、これらの複数のメモリーの一部または全部を利用して、実現することが可能である。
【０１１２】
（２）図２１は、複数のプロセッサーによってロボットの制御装置が構成される他の例を示す概念図である。この例では、ロボット１００のロボット制御装置３００が、ロボット１００の中に格納されている点が図２０と異なる。この例においても、複数のプロセッサーの一部または全部を利用して、ロボット制御装置３００を実現することが可能である。また、各種の情報を記憶する記憶部も、複数のメモリーの一部または全部を利用して、実現することが可能である。
【０１１３】
Ｅ．他の実施形態：
Ｅ１．他の形態１：
（１）上記実施形態の説明においては、フィードバック制御については、説明を省略している（図２参照）。しかし、モーター角度センサー４２０や出力側センサー５２０の出力に基づいて、位置と速度の少なくとも一方のフィードバック制御が行われることができる。
【０１１４】
（２）上記実施形態においては、基準位置は、手動でパラメーターを入力されることにより、またはセンサーの出力に基づいて自動で、行われる（図９および図１の７００参照）。しかし、基準位置は、治具を利用して、エンドエフェクター２００や、アーム１１０の先端を治具、またはあらかじめ位置が特定されている構造に押し当てることにより、指定することもできる。
【０１１５】
（３）上記実施形態においては、補正される操作量は、サーボモーター４１０の出力軸４１０ｏの動作位置ＡＰｍであり、より具体的には、位置制御信号ＰＣ０１である（図２の左部参照）。しかし、補正される操作量は、速度を表す速度制御信号であってもよく、加速度を表す加速度制御信号であってもよい（図２の３８６，３８８参照）。また、角度センサー４２０の出力する角度であってもよい。
【０１１６】
（４）上記実施形態においては、伝達部としての減速機５１０の動作位置を表すパラメーターとして、アーム要素１１０ｘの目標位置ＡＰｃを利用している。しかし、減速機５１０の動作位置を表すパラメーターとしては、たとえば、入力軸５１０ｉの動作位置を使用することもできる。
【０１１７】
（５）上記実施形態においては、ステップＳ６２６において、周期的なずれを打ち消すための補正量の振幅、位相、基準角度、ならびにアーム要素１１０ｘの目標位置ＡＰｃが０のときのサーボモーター４１０の出力軸４１０ｏの動作位置ＡＰｍの補正量ＡＰｍ１２および補正量ΔＡＰｍｒｐが、ＲＡＭ３２０に記憶される。しかし、補正量は、アーム要素１１０ｘの目標位置ＡＰｃに応じた値を格納しているテーブルなど、他の形態で記憶されることもできる。
【０１１８】
（６）上記実施形態においては、スカラロボット１００を例に、本開示の技術を説明した。しかし、本開示の技術は、スカラロボット以外に、垂直多関節ロボットや直交ロボット、パラレルリンクロボットなど、他の形態のロボットに適用することもできる。
【０１１９】
Ｅ２．他の形態２：
基準位置の指定をユーザーから受け付ける（図４のＳ１００参照）。しかし、基準位置の指定は、第１実施形態の変形例で説明したように、ユーザーから指示を受けることなく、自動的に設定されてもよい。そのような態様においては、ロボット制御装置３００のＣＰＵ３１０の機能部としての受付部３１８を備えない態様とすることができる。
【０１２０】
Ｅ３．他の形態３：
（１）上記実施形態においては、図４のステップＳ４００において、それまでに設定されていた位置制御信号の目標位置に応じた補正量（図５参照）が、目標位置によらず０に設定される。しかし、補正量の初期化は、補正量を０に設定することに限られず、０以外のデフォルトの値に設定されることにより、実現されてもよい。
【０１２１】
（２）上記実施形態においては、図４のステップＳ４００において、それまでに設定されていた位置制御信号の目標位置に応じた補正量（図５参照）の初期化が、自動的に行われる。しかし、補正量の初期化は、自動的には行われず、ユーザーの指示を受けることにより行われてもよい。また、補正量の初期化が行われない態様とすることもできる。そのような態様においては、較正の際に、ユーザーによって補正量が上書きされる。
【０１２２】
Ｅ４．他の形態４：
上記実施形態の変形例においては、カメラ７００の出力を利用して、基準位置ＲＰの設定が行われる（図１参照）。しかし、基準位置ＲＰの設定を自動的に行う際には、カメラ以外に、赤外線センサーや超音波センサーなど、アームの位置を表す情報を取得することができる他のセンサーを利用することもできる。
【０１２３】
Ｅ５．他の形態５：
上記実施形態の変形例においては、伝達誤差の最大値が閾値Ｔｈａより大きい場合は、出力部３５０としての液晶ディスプレイに、伝達誤差の最大値とともに、補正値の設定処理を進めるか否かの確認を促すメッセージを表示される（図１７のＳ６３４参照）。しかし、伝達部の動作位置に応じた伝達誤差に基づいて演算される補正量を記憶部に格納することの確認が表示されることなく、補正量を記憶部に格納する態様とすることもできる（図４のＳ６２０参照）。
【０１２４】
Ｆ．さらに他の形態：
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【０１２５】
（１）本開示の一形態によれば、アームと、前記アームを駆動する駆動部と、前記駆動部からの出力を前記アームに駆動力として伝達する伝達部と、前記伝達部の前記駆動部からの出力が入力される入力側の動作位置を検出する入力位置検出部と、前記伝達部の前記アームに前記駆動力を伝達する出力側の動作位置を検出する出力位置検出部と、を有するロボットを制御する制御装置が提供される。この制御装置は、前記アームの基準位置を設定する基準位置設定部と、前記入力位置検出部からの出力と、前記出力位置検出部からの出力と、に基づいて、前記伝達部の動作位置に応じた前記伝達部の第１の伝達誤差と、前記基準位置における前記伝達部の第２の伝達誤差と、を演算し、前記第１の伝達誤差と前記第２の伝達誤差に基づいて、補正量を演算する演算部と、前記補正量に基づいて補正された操作量に基づいて、前記駆動部を制御する駆動制御部と、を備える。
このような態様とすれば、減速機に起因する動作位置の誤差を抑制することによって、アームの位置について定常偏差が生じる事態を防止することができる。
【０１２６】
（２）上記形態の制御装置において、前記基準位置の指定をユーザーから受け付ける受付部を備える、態様とすることもできる。
このような態様とすれば、ユーザーは、ロボットに実行させる作業に応じて、適切な基準位置を設定することができる。このため、ロボットに正確に作業を行わせることができる。
【０１２７】
（３）上記形態の制御装置において、前記ロボットにおいて、前記駆動部が別の駆動部に交換された場合、または、前記伝達部が別の伝達部に交換された場合に、前記駆動部または前記伝達部の交換の前に設定されていた前記補正量を初期化する初期化部を備える、態様とすることもできる。
このような態様とすれば、駆動部が別の駆動部に交換された場合、または、伝達部が別の伝達部に交換された場合に、交換の前に設定されていた補正量を使用して操作量が補正されることによって、操作量が補正されない場合に比べて、さらにアームの位置の誤差が大きくなる事態を、防止することができる。
【０１２８】
（４）上記形態の制御装置において、前記基準位置設定部は、前記アームの位置を表す情報を取得するセンサーからの信号に基づいて、前記基準位置を設定する、態様とすることもできる。
このような態様とすれば、駆動制御部が駆動部を制御するための操作量の補正量を設定する際のユーザーの負荷を軽減することができる。
【０１２９】
（５）上記形態の制御装置において、情報を記憶する記憶部と、ユーザーに対する出力を行う出力部と、を備え、前記演算部は、演算した前記補正量を前記記憶部に格納し、前記駆動制御部は、前記記憶部に格納された前記補正量に基づいて前記操作量を補正し、前記演算部は、前記伝達部の前記第１の伝達誤差の最大値が、あらかじめ定められた閾値を超えている場合は、前記第１の伝達誤差と前記第２の伝達誤差に基づいて演算される補正量を、前記記憶部に格納することを、出力部に表示させる、態様とすることもできる。
このような態様とすれば、入力位置検出部および出力位置検出部に異常があった場合に、
異常な測定結果に基づいて補正量が決定され、駆動部が制御される事態を防止することができる。
【０１３０】
（６）本開示の他の形態によれば、アームと、前記アームを駆動する駆動部と、前記駆動部からの出力を前記アームに駆動力として伝達する伝達部と、前記伝達部の前記駆動部からの出力が入力される入力側の動作位置を検出する入力位置検出部と、前記伝達部の前記アームに前記駆動力を伝達する出力側の動作位置を検出する出力位置検出部と、を有するロボットを制御する制御方法が提供される。この制御方法は、前記アームの基準位置を設定する工程と、前記入力位置検出部からの出力と、前記出力位置検出部からの出力と、に基づいて、前記伝達部の動作位置に応じた前記伝達部の第１の伝達誤差と、前記基準位置における前記伝達部の第２の伝達誤差と、を演算する工程と、前記第１の伝達誤差、および前記第２の伝達誤差に基づいて、補正量を演算する工程と、前記補正量に基づいて補正された操作量に基づいて、前記駆動部を制御する工程と、を含む。
このような態様とすれば、減速機に起因する動作位置の誤差を抑制することによって、アームの位置について定常偏差が生じる事態を防止することができる。
【０１３１】
（７）上記形態の制御方法において、前記基準位置の指定をユーザーから受け付ける工程を備える、態様とすることもできる。
このような態様とすれば、ユーザーは、ロボットに実行させる作業に応じて、適切な基準位置を設定することができる。このため、ロボットに正確に作業を行わせることができる。
【０１３２】
（８）上記形態の制御方法において、前記ロボットにおいて、前記駆動部が別の駆動部に交換された場合、または、前記伝達部が別の伝達部に交換された場合に、前記駆動部または前記伝達部の交換の前に設定されていた前記補正量を初期化する工程を備える、態様とすることもできる。
このような態様とすれば、駆動部が別の駆動部に交換された場合、または、伝達部が別の伝達部に交換された場合に、交換の前に設定されていた補正量を使用して操作量が補正されることによって、操作量が補正されない場合に比べて、さらにアームの位置の誤差が大きくなる事態を、防止することができる。
【０１３３】
（９）上記形態の制御方法において、前記基準位置を設定する工程は、前記アームの位置を表す情報を取得するセンサーからの信号に基づいて、前記基準位置を設定する工程を含む、態様とすることもできる。
このような態様とすれば、駆動制御部が駆動部を制御するための操作量の補正量を設定する際のユーザーの負荷を軽減することができる。
【０１３４】
（１０）上記形態の制御方法において、前記伝達部の前記第１の伝達誤差の最大値が、あらかじめ定められた閾値を超えている場合は、前記第１の伝達誤差と前記第２の伝達誤差に基づいて演算される補正量を記憶部に格納することを、出力部に表示させる工程と、ユーザーが前記格納することを確認する操作を受け付けた場合に、演算した前記補正量を記憶部に格納する工程と、を含み、前記駆動部を制御する工程は、前記記憶部に格納された前記補正量に基づいて前記操作量を補正する工程を含む、態様とすることもできる。
このような態様とすれば、入力位置検出部および出力位置検出部に異常があった場合に、
異常な測定結果に基づいて補正量が決定され、駆動部が制御される事態を防止することができる。
【０１３５】
（１１）本開示の他の形態によれば、上記形態の制御装置と、前記制御装置に制御される前記ロボットと、を備える、ロボットシステムが提供される。
【０１３６】
本開示は、制御装置、制御方法およびロボットシステム以外の種々の形態で実現することも可能である。例えば、ロボット、ロボットアーム、ロボットの設定方法、ロボットアームの制御方法やの制御方法、その制御方法を実現するコンピュータープログラム、そのコンピュータープログラムを記録した一時的でない記録媒体等の形態で実現することができる。
【０１３７】
上述した本開示の各形態の有する複数の構成要素はすべてが必須のものではなく、上述の課題の一部又は全部を解決するため、あるいは、本明細書に記載された効果の一部又は全部を達成するために、適宜、前記複数の構成要素の一部の構成要素について、その変更、削除、新たな他の構成要素との差し替え、限定内容の一部削除を行うことが可能である。また、上述の課題の一部又は全部を解決するため、あるいは、本明細書に記載された効果の一部又は全部を達成するために、上述した本開示の一形態に含まれる技術的特徴の一部又は全部を上述した本開示の他の形態に含まれる技術的特徴の一部又は全部と組み合わせて、本開示の独立した一形態とすることも可能である。
【符号の説明】
【０１３８】
１…ロボットシステム、１００…ロボット、１１０…アーム、１１０ａ，１１０ｂ，１１０ｄ…アーム要素、２００…エンドエフェクター、３００…ロボット制御装置、３１０…ＣＰＵ、３１２…誤差演算部、３１３…初期化部、３１４…基準位置設定部、３１６…駆動制御部、３１８…受付部、３２０…ＲＡＭ、３３０…ＲＡＭ、３４０…入力部、３５０…出力部、３８２…制御信号生成部、３８４…補正部、３８６…位置制御部、３８８…速度制御部、４００，４００ｂ…パーソナルコンピューター、４１０…サーボモーター、４１０ｏ…出力軸、４２０…モーター角度センサー、５００…クラウドサービス、５１０…減速機、５１０ｉ…減速機の入力軸、５１０ｏ…減速機の出力軸、５２０…出力側センサー、７００…カメラ、ＡＰａ…出力軸５１０ｏの動作位置かつアーム要素１１０ｘの動作位置、ＡＰａｒｐ０１…基準位置ＲＰにおけるアーム要素１１０ｘの動作位置、ＡＰｃ…アーム要素１１０ｘの目標位置、ＡＰｍ…サーボモーター４１０の出力軸４１０ｏの動作位置、ＡＰｍ０１，ＡＰｍ０２，ＡＰｍ０３，ＡＰｍ１２…アーム要素１１０ｘの目標位置ＡＰｃが０であるときのサーボモーター４１０の出力軸４１０ｏの動作位置の補正量、Ｂ２４，Ｂ２６，Ｂ３６，Ｂ３８…ボタン、Ｆ７００…支柱、Ｇａ１Ｗ，Ｇａ２Ｌ，Ｇａ２Ｗ，Ｇａ３Ｌ，Ｇａ３Ｗ…アーム要素１１０ｘの動作位置ＡＰａを表すグラフ、Ｇｍ１Ｌ，Ｇｍ１Ｗ，Ｇｍ２Ｌ，Ｇｍ２Ｗ，Ｇｍ３Ｌ，Ｇｍ３Ｗ…グラフ、Ｊ１〜Ｊ４…関節、ＰＣ０１…位置制御信号、ＰＣ０２…補正後の位置制御信号、ＲＣ…ロボット座標系、ＲＰ…基準位置、Ｔ２２…表、Ｔｈａ…伝達誤差の最大値の閾値、ＵＩ２０，ＵＩ３０…ユーザーインターフェイス、Ｗ０１…ワークピース、ΔＡＰａｒｐ…基準位置ＲＰにおけるアーム要素１１０ｘの動作位置の周期的なずれ、ΔＡＰｍｒｐ…動作位置ＡＰａのずれ量ΔＡＰａｒｐに相当する補正量
【図１】
2020179465.tif 000003
【図２】
2020179465.tif 000004
【図３】
2020179465.tif 000005
【図４】
2020179465.tif 000006
【図５】
2020179465.tif 000007
【図６】
2020179465.tif 000008
【図７】
2020179465.tif 000009
【図８】
2020179465.tif 000010
【図９】
2020179465.tif 000011
【図１０】
2020179465.tif 000012
【図１１】
2020179465.tif 000013
【図１２】
2020179465.tif 000014
【図１３】
2020179465.tif 000015
【図１４】
2020179465.tif 000016
【図１５】
2020179465.tif 000017
【図１６】
2020179465.tif 000018
【図１７】
2020179465.tif 000019
【図１８】
2020179465.tif 000020
【図１９】
2020179465.tif 000021
【図２０】
2020179465.tif 000022
【図２１】
2020179465.tif 000023