(57)【要約】【課題】伝達部において発生する位置の誤差を考慮して、正確に可動部の制御を行う。【解決手段】制御装置３００は、駆動力を発生させる駆動部４１０によって伝達部５１０を介して駆動される可動部１１０ａを備えるロボット１００を制御する。制御装置３００は、伝達部５１０の入力側の動作位置を検出する入力位置検出部４２０からの入力検出値Ｐｍと、伝達部５１０の出力側の動作位置を検出する出力位置検出部５２０からの出力検出値Ｐｒｏと、を用いて、可動部１１０ａを速度制御する制御部３０９を備える。【選択図】図６
2018202589.tif 000002
【特許請求の範囲】
【請求項１】
駆動力を発生させる駆動部によって伝達部を介して駆動される可動部を備えるロボットを制御する制御装置であって、
前記伝達部の入力側の動作位置を検出する入力位置検出部からの入力検出値と、前記伝達部の出力側の動作位置を検出する出力位置検出部からの出力検出値と、を用いて、前記可動部を速度制御する制御部を備える、制御装置。
【請求項２】
請求項１記載の制御装置であって、
前記出力位置検出部による前記出力側の動作位置の検出の周期は、前記入力位置検出部による前記入力側の動作位置の検出の周期よりも長く、
前記制御部は、前記入力検出値を遅延させることによって得られる遅延入力検出値と、前記出力検出値との差を用いて、前記可動部を速度制御する、制御装置。
【請求項３】
請求項２記載の制御装置であって、
前記制御部は、
前記遅延入力検出値と前記出力検出値との差を入力とするローパスフィルターを備え、
前記ローパスフィルターの出力を用いて、前記可動部を速度制御する、制御装置。
【請求項４】
請求項１から３のいずれか１項に記載の制御装置であって、
前記出力位置検出部は、前記可動部を撮像することができる撮像部を備え、前記撮像された画像に基づいて、前記伝達部の出力側の動作位置を検出する、制御装置。
【請求項５】
請求項１から３のいずれか１項に記載の制御装置であって、
前記出力位置検出部は、出力として回転運動を伝える前記伝達部の出力軸の角度位置を検出する、制御装置。
【請求項６】
請求項１から５のいずれか１項に記載の制御装置であって、
前記可動部に、外部から加えられる力を検出することができる力検出部が設けられており、
前記制御部は、前記力検出部の出力を用いて、前記可動部を速度制御する、制御装置。
【請求項７】
請求項１から６のいずれか１項に記載の制御装置であって、
前記伝達部は、減速機を含む、制御装置。
【請求項８】
請求項１から６のいずれか１項に記載の制御装置によって制御されるロボット。
【請求項９】
請求項１から６のいずれか１項に記載の制御装置と、
前記制御装置によって制御される前記ロボットと、
を備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットにおいて動作の精度を高める技術に関する。
【背景技術】
【０００２】
従来、ロボットの技術分野において、減速機として、波動歯車減速機が使用されている。波動歯車減速機は、原理的に、角度伝達誤差を含む。特許文献１の技術は、あらかじめ同定しておいた波動歯車減速機の角度伝達誤差の特性に基づいて、その特性の逆位相の位置指令を波動歯車減速機に与えることにより、波動歯車減速機の角度伝達誤差による振動を抑制する。
【０００３】
また、特許文献２の技術においては、アームの先端にジャイロセンサーを設け、ジャイロセンサーによって検出した角度と、モーターの回転角度との差に基づいて、ジャイロセンサーの感度を補正する。その結果、アームの捩れに起因するジャイロセンサーの感度誤差を低減している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２６４４４８号公報（特許第４０５２４９０号）
【特許文献２】特開２０１３−１４６８２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の方法においては、波動歯車減速機の角度伝達誤差による振動を抑制するためには、あらかじめ波動歯車減速機の角度伝達誤差の特性を計測する必要がある。しかし、角度伝達誤差の特性は、波動歯車減速機の固体ごとに異なるため、大量生産される波動歯車減速機に上記の方法を適用するためには、多大な負荷を要する。
【０００６】
特許文献２の技術においては、角度伝達誤差の要因の一つである減速機のたわみ（位置の誤差）がアームの位置に与える影響については、考慮されていない。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【０００８】
（１）本開示の一形態によれば、駆動力を発生させる駆動部によって伝達部を介して駆動される可動部を備えるロボットを制御する制御装置が提供される。この制御装置は：前記伝達部の入力側の動作位置を検出する入力位置検出部からの入力検出値と、前記伝達部の出力側の動作位置を検出する出力位置検出部からの出力検出値と、を用いて、前記可動部を速度制御する制御部を備える。
このような態様とすることにより、入力検出値と出力検出値とに基づいて、伝達部において発生する位置の誤差を考慮して、正確に可動部を速度制御することができる。その結果、出力検出値を用いて速度制御しない態様に比べて、高い速度域までより正確に可動部の位置を制御することができる。また、事前に個別の伝達部の誤差を測定する必要がない。
【０００９】
（２）上記形態の制御装置であって、前記出力位置検出部による前記出力側の動作位置の検出の周期は、前記入力位置検出部による前記入力側の動作位置の検出の周期よりも長く、前記制御部は、前記入力検出値を遅延させることによって得られる遅延入力検出値と、前記出力検出値との差を用いて、前記可動部を速度制御する、態様とすることができる。このような態様とすることにより、出力位置検出部による検出の周期と、入力位置検出部による検出の周期とにずれがある場合にも、伝達部において発生する位置の誤差をより適切に計算して、可動部を安定的に速度制御することができる。
【００１０】
（３）上記形態の制御装置であって、前記制御部は、前記遅延入力検出値と前記出力検出値との差を入力とするローパスフィルターを備え、前記ローパスフィルターの出力を用いて、前記可動部を速度制御する、態様とすることができる。伝達部の特性は、バネ成分を含む場合がある。そのような伝達部の遅延入力検出値と出力検出値との差をそのまま利用して速度制御を行うと、発振が生じてしまう可能性がある。しかし、上記のような態様とし、遅延入力検出値と出力検出値との差における高周波成分をローパスフィルターによって除去することにより、可動部を安定的に速度制御することができる。
【００１１】
（４）上記形態の制御装置であって、前記出力位置検出部は、前記可動部を撮像することができる撮像部を備え、前記撮像された画像に基づいて、前記伝達部の出力側の動作位置を検出する、態様とすることができる。このような態様とすることにより、ロボットの制御においてさまざまな用途に使用できる撮像部を有効に活用して、伝達部の出力側の動作位置を得ることができる。
【００１２】
（５）上記形態の制御装置であって、前記出力位置検出部は、出力として回転運動を伝える前記伝達部の出力軸の角度位置を検出する、態様とすることができる。このような態様とすれば、出力軸によって駆動される構成の位置を検出する態様に比べて、より正確に伝達部の特性を反映した出力側の動作位置を検出することができる。
【００１３】
（６）上記形態の制御装置であって、前記可動部に、外部から加えられる力を検出することができる力検出部が設けられており、前記制御部は、前記力検出部の出力を用いて、前記可動部を速度制御する、態様とすることができる。このような態様とすれば、力検出部が検出した力に基づいて得られる可動部のたわみの情報も考慮して、より高精度に可動部を速度制御することができる。
【００１４】
（７）上記形態の制御装置であって、前記伝達部は、減速機を含む、態様とすることができる。減速機は、減速機に特有の出力位置の誤差を含む場合がある。上記のような態様とすることにより、伝達部に特有の出力位置の誤差を低減するように、可動部を速度制御することができる。
【００１５】
（８）本開示の他の形態によれば、上記形態のいずれかの制御装置によって制御されるロボットが提供される。
【００１６】
（９）本開示の他の形態によれば、上記形態のいずれかの制御装置と；前記制御装置によって制御される前記ロボットと；を備えるロボットシステムが提供される。
【００１７】
上述した本開示の各形態の有する複数の構成要素はすべてが必須のものではなく、上述の課題の一部又は全部を解決するため、あるいは、本明細書に記載された効果の一部又は全部を達成するために、適宜、前記複数の構成要素の一部の構成要素について、その変更、削除、新たな他の構成要素との差し替え、限定内容の一部削除を行うことが可能である。また、上述の課題の一部又は全部を解決するため、あるいは、本明細書に記載された効果の一部又は全部を達成するために、上述した本開示の一形態に含まれる技術的特徴の一部又は全部を上述した本開示の他の形態に含まれる技術的特徴の一部又は全部と組み合わせて、本開示の独立した一形態とすることも可能である。
【図面の簡単な説明】
【００１８】
【図１】本実施形態のロボットシステム１を模式的に示す説明図である。
【図２】比較例１の制御部３０９ｃａの構成要素と、ロボット１００が備えるサーボモーター４１０、モーター角度センサー４２０、および減速機５１０と、の関係を示すブロック図である。
【図３】サーボモーター４１０と減速機５１０の制御モデルを示すブロック図である。
【図４】比較例２の制御部３０９ｃｂの構成要素と、ロボット１００が備えるサーボモーター４１０、モーター角度センサー４２０、減速機５１０、および出力側角度センサー５２０と、の関係を示すブロック図である。
【図５】比較例３の制御部３０９ｃｃの構成要素と、ロボット１００が備えるサーボモーター４１０、モーター角度センサー４２０、減速機５１０、および出力側角度センサー５２０と、の関係を示すブロック図である。
【図６】第１実施形態の制御部３０９の構成要素と、ロボット１００が備えるサーボモーター４１０、モーター角度センサー４２０、減速機５１０、および出力側角度センサー５２０と、の関係を示すブロック図である。
【図７】本実施形態、比較例１、および比較例３の制御部３０９，３０９ｃａ，３０９ｃｃによる制御を行った場合の、減速機５１０の出力軸５１０ｏの位置偏差を表すグラフである。
【図８】本実施形態の制御部３０９において、遅延ブロック４２４の機能を停止させた場合と、遅延ブロック４２４を機能させた場合の、減速機５１０の出力軸５１０ｏの位置偏差を表すグラフである。
【図９】第２実施形態の制御部３０９ｂの構成要素と、ロボット１００が備えるサーボモーター４１０、モーター角度センサー４２０、減速機５１０、出力側角度センサー５２０、および力覚センサー１９０と、の関係を示すブロック図である。
【図１０】本実施形態の制御部３０９ｂにおけるアーム１１０のたわみによる加速度変化を表す速度フィードバックｆｖａと、減速機５１０における入力と出力の間のねじれ量を表す速度フィードバックｆｖｒと、の効果を示すグラフである。
【発明を実施するための形態】
【００１９】
Ａ．第１実施形態：
Ａ１．ロボットシステムの構成：
図１は、本実施形態のロボットシステム１を模式的に示す説明図である。本実施形態のロボットシステム１は、ロボット１００と、エンドエフェクター２００と、制御装置３００と、カメラ４００と、を備える。
【００２０】
ロボット１００は、４個の関節Ｊ１〜Ｊ４を備えたアーム１１０を有する４軸ロボットである。関節Ｊ１，Ｊ２，Ｊ４は、ねじり関節である。関節Ｊ３は、直動関節である。アーム１１０を構成する関節と関節の間の構成要素を、本明細書において「アーム要素」と呼ぶ。図１においては、アーム１１０に含まれる複数のアーム要素のうち、関節Ｊ１と関節Ｊ２の間のアーム要素１１０ａ、関節Ｊ２と関節Ｊ３の間のアーム要素１１０ｂ、およびアーム１１０の先端を構成するアーム要素１１０ｄについて、符号を付して示す。
【００２１】
ロボット１００は、４個の関節Ｊ１〜Ｊ４をそれぞれサーボモーターで回転または直進させることにより、アーム１１０の先端部に取りつけられたエンドエフェクター２００を、３次元空間中の指定された位置に指定された姿勢で配することができる。なお、３次元空間におけるエンドエフェクター２００の位置を代表する地点を、ＴＣＰ（Tool Center Point）とも呼ぶ。
【００２２】
ロボット１００は、各関節に、サーボモーター４１０と、減速機５１０と、モーター角度センサー４２０と、出力側角度センサー５２０と、を備える。図１では、技術の理解を容易にするために、関節Ｊ１についてのみ、模式的にサーボモーター４１０と、減速機５１０と、モーター角度センサー４２０と、出力側角度センサー５２０と、を示している。
【００２３】
サーボモーター４１０は、制御装置３００から電流を供給されて駆動力を発生させる。より具体的には、サーボモーター４１０は、制御装置３００から電流を供給されて、その出力軸４１０ｏを回転させる。
【００２４】
モーター角度センサー４２０は、サーボモーター４１０の出力軸４１０ｏの角度位置Ｐｍを検出する。モーター角度センサー４２０は、ロータリエンコーダーである。モーター角度センサー４２０が検出した出力軸４１０ｏの角度位置Ｐｍは、制御装置３００に送信される。
【００２５】
減速機５１０は、入力軸５１０ｉと出力軸５１０ｏを備える。減速機５１０は、入力軸５１０ｉに対する回転入力を、回転入力より回転速度が低い回転出力に変換して、出力軸５１０ｏから出力する。減速機５１０は、具体的には、波動歯車減速機である。
【００２６】
減速機５１０の入力軸５１０ｉは、サーボモーター４１０の出力軸４１０ｏに接続されている。入力軸５１０ｉの角度位置は、サーボモーター４１０の出力軸４１０ｏの角度位置Ｐｍと等しい。このため、サーボモーター４１０の出力軸４１０ｏの角度位置Ｐｍを検出することができるモーター角度センサー４２０は、減速機５１０の入力軸５１０ｉの角度位置を検出していることとなる。
【００２７】
サーボモーター４１０の出力軸４１０ｏからの継続的な一定の入力に対して、減速機５１０は、周期的な伝達誤差を発生させる。すなわち、サーボモーター４１０の出力軸４１０ｏからの継続的な一定速度の回転入力に対して、減速機５１０の出力軸５１０ｏの回転速度および角度位置は、周期的なずれを含む。
【００２８】
アーム要素１１０ａは、関節Ｊ１の減速機５１０の出力軸５１０ｏに固定されている。その結果、アーム要素１１０ａは、サーボモーター４１０の出力軸４１０ｏの回転によって、減速機５１０を介して、関節Ｊ１において回転される。
【００２９】
出力側角度センサー５２０は、アーム要素１１０ａ内に配されている。出力側角度センサー５２０は、減速機５１０の出力軸５１０ｏの角度位置Ｐｒｏを検出する。すなわち、モーター角度センサー４２０が、減速機５１０の入力側の動作位置Ｐｍを検出しているのに対して、出力側角度センサー５２０は、減速機５１０の出力側の動作位置Ｐｒｏを検出している。
【００３０】
なお、本明細書においては、駆動力を伝達する伝達部（本実施形態において減速機５１０）において、入力される駆動力を受ける部材（本実施形態において入力軸５１０ｉ）の動作位置を、「入力側の動作位置」と記載する。駆動力を伝達する伝達部において、出力される駆動力を他の構成に伝達する部材（本実施形態において出力軸５１０ｏ）の動作位置を、「出力側の動作位置」と記載する。
【００３１】
出力側角度センサー５２０は、具体的には、カメラを利用する撮像式のロータリーエンコーダーである。出力側角度センサー５２０は、絶対的な角度位置を検出することができるエンコーダーである。具体的には、出力側角度センサー５２０においては、対象物の回転に応じて回転されるディスクのそれぞれの角度位置に互いに異なる符号が記録されている。出力側角度センサー５２０においては、それらの符号がカメラによって読み取られ、画像処理によって認識されることにより、絶対的な角度位置が検出される。このため、出力側角度センサー５２０の出力は、実際の出力軸５１０ｏの角度位置に対して時間遅れを含む。
【００３２】
出力側角度センサー５２０による出力側の動作位置の検出の周期は、モーター角度センサー４２０による入力側の動作位置の検出の周期よりも長い。なお、モーター角度センサー４２０の出力は、減速機５１０の入力軸５１０ｉの角度位置に対して、出力側角度センサー５２０の出力ほどの時間遅れを含まない。出力側角度センサー５２０が検出した出力軸５１０ｏの角度位置Ｐｒｏは、制御装置３００に送信される。
【００３３】
減速機５１０の出力軸５１０ｏの角度位置Ｐｒｏを検出するロータリーエンコーダーを設けることにより、減速機５１０の出力によって駆動されるより下流の構成（たとえば、アーム要素１１０ａのうち関節Ｊ１よりも先端側の位置）の動作位置を測定する態様に比べて、減速機５１０の出力位置を正確に検出することができる。
【００３４】
ロボット１００は、アーム１１０の先端に力覚センサー１９０を備えている。エンドエフェクター２００は、力覚センサー１９０を介して、ロボット１００のアーム１１０に取りつけられている。力覚センサー１９０は、外部、すなわち、力覚センサー１９０以外の構成から加えられる、Ｘ軸、Ｙ軸、Ｚ軸の３軸方向の力と、Ｘ軸、Ｙ軸、Ｚ軸まわりのトルクを測定することができる。このため、力覚センサー１９０は、エンドエフェクター２００に作用するＸ軸、Ｙ軸、Ｚ軸の３軸方向の力と、Ｘ軸、Ｙ軸、Ｚ軸まわりのトルクを測定することができる。力覚センサー１９０の出力は、制御装置３００に送信され、ロボット１００の制御に使用される。
【００３５】
制御装置３００は、ロボット１００を制御する制御装置である。制御装置３００は、ロボット１００に接続されている。制御装置３００は、ＲＡＭ３０１，ＲＯＭ３０２，ＣＰＵ３０３を備えるコンピューターを含む。ＣＰＵ３０３は、ＲＯＭ３０２に記憶されたコンピュータープログラムをＲＡＭ３０１にロードして実行することによって、後述する様々な機能を実現する。ロボット１００を制御する制御装置３００のＣＰＵ３０３の機能部を、「制御部３０９」として図１に示す。
【００３６】
エンドエフェクター２００は、アーム１１０の先端に取りつけられている。エンドエフェクター２００は、制御装置３００に制御されて、ワークピースＷ０１をつかむことができ、また、つかんでいるワークピースＷ０１を離すことができる。その結果、たとえば、ロボット１００とエンドエフェクター２００とは、制御装置３００に制御されて、作業対象物であるワークピースＷ０１をつかんで移動させることができる。なお、図１においては、技術の理解を容易にするため、エンドエフェクター２００を単純な円柱で示している。
【００３７】
カメラ４００は、ワークピースＷ０１と、そのワークピースＷ０１の周辺と、アーム１１０と、を含む写真画像を撮像することができる。カメラ４００が生成した画像は、制御装置３００に送信され、ロボット１００の制御に使用される。カメラ４００は、支柱Ｆ４００に支持されている。
【００３８】
Ａ２ロボットの制御：
以下で、本実施形態の制御装置３００の制御部３０９（図１の右下参照）と、比較例１〜３の制御装置３００の制御部３０９ｃａ〜３０９ｃｃと、について説明する。技術の理解を容易にするため、まず、比較例１〜３の制御装置３００の制御部３０９ｃａ〜３０９ｃｃを説明し、その後、本実施形態の制御装置３００の制御部３０９について、説明する。なお、比較例１〜３の制御部３０９ｃａ〜３０９ｃｃが制御するロボットは、図１に示したロボット１００である。比較例１〜３における制御部３０９ｃａ〜３０９ｃｃ以外の制御装置３００の構成は、本実施形態の制御装置３００と同じである。
【００３９】
以下では、制御部３０９または制御部３０９ｃａ〜３０９ｃｃによって行われる一つの関節Ｊ１（図１参照）の制御について、説明する。しかし、本実施形態の制御部３０９、ならびに比較例１〜３の制御部３０９ｃａ〜３０９ｃｃは、実際には、ロボット１００の各関節Ｊ１〜Ｊ４を制御することができる。
【００４０】
図２は、比較例１の制御部３０９ｃａの構成要素と、ロボット１００が備えるサーボモーター４１０、モーター角度センサー４２０、および減速機５１０と、の関係を示すブロック図である。なお、ここでは、技術の理解を容易にするため、力覚センサー１９０およびカメラ４００の出力に応じた制御については、説明を省略する。これらの制御については、後に言及する。
【００４１】
比較例１の制御部３０９ｃａは、制御信号生成部３１０と、位置制御部３２０と、速度制御部３３０と、を備える。
【００４２】
制御信号生成部３１０は、アーム１１０が位置すべき目標位置を表す位置制御信号を生成し、位置制御部３２０に出力する。
【００４３】
位置制御部３２０は、制御信号生成部３１０から位置制御信号を受信する。位置制御部３２０は、位置フィードバックとして、ロボット１００のモーター角度センサー４２０から、サーボモーター４１０の角度位置Ｐｍを受信する。位置制御部３２０は、それらの情報に基づいて、ロボット１００のサーボモーター４１０の速度制御信号を生成し、速度制御部３３０に出力する。
【００４４】
速度制御部３３０は、位置制御部３２０から速度制御信号を受信する。また、速度制御部３３０は、速度フィードバックとして、モーター角度センサー４２０から出力されたサーボモーター４１０の角度位置Ｐｍを微分して得られる信号、すなわち回転速度の信号を受信する。図２において、角度位置の微分を表すブロックを「Ｓ」を付したブロック４２２で示す。速度制御部３３０は、位置制御部３２０からの速度制御信号と、サーボモーター４１０の回転速度と、に基づいて、トルク制御信号を生成し、出力する。その後、トルク制御信号に基づいて、サーボモーター４１０に供給する電流の大きさが決定され、決定された大きさの電流がサーボモーター４１０に供給される。
【００４５】
サーボモーター４１０は、電流を供給されて、駆動力を減速機５１０に出力する。減速機５１０は、サーボモーター４１０から受け取った駆動力の回転速度を減速させる。そして、減速機５１０は、減速させた駆動力により、出力軸５１０ｏを中心にアーム要素１１０ａを回転運動させる（図１参照）。
【００４６】
比較例１においては、サーボモーター４１０の角度位置Ｐｍが、モーター角度センサー４２０から位置制御部３２０に、フィードバックされる。また、サーボモーター４１０の角速度が、モーター角度センサー４２０から、速度制御部３３０に、フィードバックされる。このため、比較例１は、それらのフィードバックがない態様に比べて、アーム要素１１０ａの位置を正確に制御することができる。
【００４７】
比較例１においては、制御対象であるアーム要素１１０ａの角度位置、すなわち減速機５１０の出力軸５１０ｏの角度位置自体は、位置フィードバックに使用されない。比較例１において行われる制御は、「セミクローズド制御」と呼ばれる。
【００４８】
図３は、サーボモーター４１０と減速機５１０の制御モデルを示すブロック図である。図３において、各符号は以下の内容を表す。
Ｊｍ：モーターイナーシャ
Ｄｍ：モーター粘性係数
Ｎ：減速機の減速比
Ｋ：減速機のバネ定数
Ｊｇ：減速機イナーシャ
Ｄｇ：減速機粘性係数
θATE：角度伝達誤差
Ｖｍ：モーターの回転速度
Ｖｒｏ：減速機５１０の出力軸５１０ｏの回転速度
【００４９】
図３のような制御モデルで表される減速機５１０は、周期的な角度伝達誤差θATEを発生させる。角度伝達誤差θATEは、以下の式（１）で近似することができる。
θATE＝−Ａ×ｓｉｎ（２×θｍ＋Δθ）  ・・・  （１）
Ａ：振幅
θｍ：入力軸の角度位置（サーボモーター４１０の角度位置）
Δθ：位相ずれ
【００５０】
式（１）において、入力軸の角度位置θｍが２倍されているのは、以下の理由による。すなわち、波動歯車減速機においては、その原理上、入力軸が半回転する間に角度伝達誤差θATEは、１周期分の変化を生じる。すなわち、入力軸が１回転する間に角度伝達誤差θATEは、２周期分の変化を生じる。このため、式（１）において、入力軸の角度位置θｍが２倍されている。
【００５１】
比較例１の制御部３０９ｃａは、前述のように、減速機５１０の出力のフィードバックは受けていない。このため、減速機５１０において生じる角度伝達誤差θATEによるアーム要素１１０ａの振動や位置ずれは解消することができない。
【００５２】
図４は、比較例２の制御部３０９ｃｂの構成要素と、ロボット１００が備えるサーボモーター４１０、モーター角度センサー４２０、減速機５１０、および出力側角度センサー５２０と、の関係を示すブロック図である。比較例２の制御部３０９ｃｂは、ロボット１００の出力側角度センサー５２０からの減速機５１０の出力軸５１０ｏの角度位置Ｐｒｏを入力とするローパスフィルター５２２を備える。ローパスフィルター５２２は、入力のうち、減速機５１０の共振周波数よりも低い周波数成分のみを、出力する。
【００５３】
比較例２の制御部３０９ｃｂにおいては、位置制御部３２０は、位置フィードバックとして、ローパスフィルター５２２から、減速機５１０の出力軸５１０ｏの角度位置Ｐｒｏのうちの低周波成分で構成される角度位置を受信する。位置制御部３２０は、減速機５１０の出力軸５１０ｏの角度位置Ｐｒｏのうちの低周波成分で構成される角度位置と、制御信号生成部３１０から位置制御信号と、に基づいて、ロボット１００のサーボモーター４１０の速度制御信号を生成する。一方、モーター角度センサー４２０の出力であるサーボモーター４１０の角度位置Ｐｍまたはその微分値は、速度制御部３３０にはフィードバックされない。
【００５４】
比較例２の制御部３０９ｃｂの他の点は、比較例１の制御部３０９ｃａと同じである。
【００５５】
比較例２においては、減速機５１０の出力軸５１０ｏの角度位置Ｐｒｏが、出力側角度センサー５２０から、位置制御部３２０にフィードバックされる。このため、比較例２は、減速機５１０の角度伝達誤差θATE（図３参照）によるアーム要素１１０ａの振動や位置ずれを低減する制御を行うことができる。このため、比較例２は、比較例１に比べて、アーム要素１１０ａの位置をより正確に制御することができる。よって、比較例２の制御部３０９ｃｂによれば、あらかじめ定められた移動経路にしたがって前記ロボットを動作させる制御である連続経路制御（ＣＰ制御）においても、設定された移動経路上を正確にエンドエフェクタに移動させることができる。
【００５６】
また、比較例２においては、減速機５１０の出力軸５１０ｏの角度位置Ｐｒｏが、ローパスフィルター５２２を介して、位置制御部３２０にフィードバックされる。すなわち、ローパスフィルター５２２の出力を用いて、アーム要素１１０ａが速度制御される。このため、バネ成分Ｋを含む減速機５１０（図３参照）の出力軸５１０ｏの角度位置Ｐｒｏを位置制御部３２０にフィードバックさせても、発振を起こすことなく、安定したアーム要素１１０ａの速度制御および位置制御を行うことができる。
【００５７】
比較例２においては、制御対象である減速機５１０の出力軸５１０ｏの角度位置Ｐｒｏが、位置フィードバックに使用される。比較例２において行われる制御は、「フルクローズド制御」と呼ばれる。
【００５８】
図５は、比較例３の制御部３０９ｃｃの構成要素と、ロボット１００が備えるサーボモーター４１０、モーター角度センサー４２０、減速機５１０、および出力側角度センサー５２０と、の関係を示すブロック図である。比較例３の制御部３０９ｃｃは、サーボモーター４１０の角度位置Ｐｍに対する減速機５１０の出力軸５１０ｏの角度位置Ｐｒｏの差を入力とするローパスフィルター５２３を備える。ローパスフィルター５２３は、入力のうち、減速機５１０の共振周波数よりも低い周波数成分のみを、出力する。ローパスフィルター５２３の構成は、ローパスフィルター５２２と同じである。ローパスフィルター５２３の出力（すなわち、サーボモーター４１０の角度位置Ｐｍに対する減速機５１０の出力軸５１０ｏの角度位置Ｐｒｏの差のうちの低周波成分で構成される角度）Ｔｒは、おおまかには、減速機５１０における入力と出力の間のねじれ量（位置の誤差）を表す。
【００５９】
比較例３の制御部３０９ｃｃにおいては、位置制御部３２０は、位置フィードバックとして、ローパスフィルター５２２からの出力Ｔｒ（すなわち、減速機５１０におけるねじれ量）と、サーボモーター４１０の角度位置Ｐｍと、が加算された信号を受信する。位置制御部３２０は、その信号と、制御信号生成部３１０から位置制御信号と、に基づいて、ロボット１００のサーボモーター４１０の速度制御信号を生成する。
【００６０】
比較例３の制御部３０９ｃｃの他の点は、比較例２の制御部３０９ｃｂと同じである。
【００６１】
比較例３においては、減速機５１０の出力側ではなく入力側の角度位置であるサーボモーター４１０の角度位置Ｐｍが、モーター角度センサー４２０から、位置制御部３２０にフィードバックされる（図５および図４参照）。このため、比較例３は、比較例２よりも高い速度域まで、アーム要素１１０ａの振動や位置ずれを低減することができる。すなわち、比較例３は、比較例２よりも帯域が広く、高い速度域まで安定した制御を行うことができる。
【００６２】
また、比較例３においては、サーボモーター４１０の角度位置Ｐｍに対する減速機５１０の出力軸５１０ｏの角度位置Ｐｒｏの差のうちの低周波成分で構成される角度Ｔｒ（減速機５１０におけるねじれ量）が、位置制御部３２０にフィードバックされる。このため、比較例３は、減速機５１０の角度伝達誤差θATEによるアーム要素１１０ａの振動や位置ずれを低減する制御を行うことができる。すなわち、比較例３は、比較例１に比べて、アーム要素１１０ａの位置をより正確に制御することができる。
【００６３】
比較例３においては、制御対象である減速機５１０の出力軸５１０ｏの角度位置Ｐｒｏが、位置フィードバックに使用される。そして、減速機５１０の入力軸５１０ｉの角度位置Ｐｍが、速度フィードバックに使用される。比較例３において行われる制御は、「ハイブリッド制御」と呼ばれる。
【００６４】
図６は、第１実施形態の制御部３０９の構成要素と、ロボット１００が備えるサーボモーター４１０、モーター角度センサー４２０、減速機５１０、および出力側角度センサー５２０と、の関係を示すブロック図である。本実施形態の制御部３０９は、サーボモーター４１０の角度位置Ｐｍに対する減速機５１０の出力軸５１０ｏの角度位置Ｐｒｏの遅延量Ａを検出する遅延検出ブロック５２１を備える。本実施形態の制御部３０９は、遅延検出ブロック５２１によって検出された遅延量Ａに基づく遅延量Ａａだけ、サーボモーター４１０の角度位置Ｐｍを遅延させて遅延角度位置Ｐｍｄを生成する遅延ブロック４２４を備える。その結果、遅延ブロック４２４によって、サーボモーター４１０の角度位置Ｐｍの検出タイミングと、減速機５１０の出力軸５１０ｏの角度位置Ｐｒｏの検出タイミングと、のずれが低減または解消される。
【００６５】
本実施形態の制御部３０９の構成要素は、さらに、遅延されたサーボモーター４１０の遅延角度位置Ｐｍｄに対する減速機５１０の出力軸５１０ｏの角度位置Ｐｒｏの差を入力とするローパスフィルター５２４を備える。ローパスフィルター５２４は、入力のうち、減速機５１０の共振周波数よりも低い周波数成分のみを、出力する。ローパスフィルター５２４の構成は、ローパスフィルター５２２，５２３と同じである。ローパスフィルター５２４の出力（すなわち、検出タイミングが一致するように調整されたサーボモーター４１０の遅延角度位置Ｐｍｄに対する減速機５１０の出力軸５１０ｏの角度位置Ｐｒｏの差のうち、低周波成分で構成される角度）Ｔｒｄは、減速機５１０におけるねじれ量を表す。
【００６６】
本実施形態の制御部３０９においては、位置制御部３２０は、位置フィードバックとして、ローパスフィルター５２４からの出力Ｔｒｄ（すなわち、減速機５１０におけるねじれ量）と、サーボモーター４１０の角度位置Ｐｍと、が加算された信号を受信する。位置制御部３２０は、その信号と、制御信号生成部３１０からの位置制御信号と、に基づいて、ロボット１００のサーボモーター４１０の速度制御信号を生成する。
【００６７】
また、本実施形態の制御部３０９においては、速度制御部３３０は、速度フィードバックとして、ローパスフィルター５２４からの出力Ｔｒｄ（すなわち、減速機５１０におけるねじれ量）と、サーボモーター４１０の角度位置Ｐｍと、が加算された信号を微分して得られる信号を受信する。図６において、この微分を表すブロックを「Ｓ」を付したブロック４２３で示す。速度制御部３３０は、その信号と、位置制御部３２０からの速度制御信号と、に基づいて、ロボット１００のサーボモーター４１０のトルク制御信号を生成する。
【００６８】
本実施形態の制御部３０９の他の点は、比較例３の制御部３０９ｃｃと同じである。
【００６９】
本実施形態においては、サーボモーター４１０の遅延角度位置Ｐｍｄと減速機５１０の出力軸５１０ｏの角度位置Ｐｒｏとの差（減速機５１０において発生する位置の誤差）が、速度制御部３３０にフィードバックされる。このため、本実施形態は、減速機５１０において発生する位置の誤差を速度制御部３３０にフィードバックしない比較例３よりも、減速機５１０の角度伝達誤差θATEによるアーム要素１１０ａの振動や位置ずれを低減する制御を、高い速度域まで、適切に行うことができる。すなわち、本実施形態は、比較例３よりも帯域が広く、高い速度域まで安定した制御を行うことができる。
【００７０】
また、本実施形態においては、検出タイミングが調整されたサーボモーター４１０の遅延角度位置Ｐｍｄと減速機５１０の出力軸５１０ｏの角度位置Ｐｒｏとの差が、速度制御部３３０へのフィードバックに使用される。すなわち、制御部３０９は、入力軸５１０ｉの角度位置Ｐｍを遅延させることによって得られる遅延角度位置Ｐｍｄと、減速機５１０の出力軸５１０ｏの角度位置Ｐｒｏとの差を用いて、アーム要素１１０ａを速度制御する（図６の３３０参照）。このため、本実施形態は、出力側角度センサー５２０による検出の周期と、モーター角度センサー４２０による検出の周期とにずれがある場合にも、減速機５１０において発生する位置の誤差を適切に計算して、比較例３よりも速い速度域まで、適切にアーム要素１１０ａの振動や位置ずれを低減することができる。すなわち、本実施形態は、比較例３よりも帯域が広い。
【００７１】
さらに、本実施形態においては、減速機５１０の入力軸５１０ｉの角度位置Ｐｍの位置制御部３２０および速度制御部３３０へのフィードバックについては、遅延ブロック４２４による遅延を生じさせていない（図６参照）。このため、高い速度域までアーム要素１１０ａの振動や位置ずれを低減することができる。
【００７２】
図７は、本実施形態、比較例１、および比較例３の制御部３０９，３０９ｃａ，３０９ｃｃによる制御を行った場合の、減速機５１０の出力軸５１０ｏの位置偏差を表すグラフである。グラフＧａが、比較例１の制御部３０９ｃａ（図２参照）を採用した場合の出力軸５１０ｏの位置偏差を表す。グラフＧｃが、比較例３の制御部３０９ｃｃ（図５参照）を採用した場合の出力軸５１０ｏの位置偏差を表す。グラフＧ０が、本実施形態の制御部３０９（図６参照）を採用した場合の出力軸５１０ｏの位置偏差を表す。なお、図２，図５および図６を使用して説明した本実施形態、比較例１、および比較例３の制御部３０９，３０９ｃａ，３０９ｃｃによる制御の相違点以外の条件は、すべて統一して、位置偏差の測定を行った。
【００７３】
図７より、比較例１の制御部３０９ｃａ、比較例３の制御部３０９ｃｃ、および本実施形態の制御部３０９のいずれの場合についても位置偏差の周期は略同一である。しかし、位置偏差の大きさは、本実施形態の制御部３０９が最も小さく、比較例３の制御部３０９ｃｃが次に小さく、比較例１の制御部３０９ｃａが最も大きいことが分かる。
【００７４】
図８は、本実施形態の制御部３０９において、遅延ブロック４２４（図６参照）の機能を停止させた場合と、遅延ブロック４２４を機能させた場合の、減速機５１０の出力軸５１０ｏの位置偏差を表すグラフである。グラフＧｐ１が、遅延ブロック４２４の機能を停止させた場合の出力軸５１０ｏの位置偏差を表す。グラフＧｐ０が、遅延ブロック４２４を機能させた場合の出力軸５１０ｏの位置偏差を表す。ただし、図８の縦軸のスケールは、図７の縦軸のスケールとは異なっている。
【００７５】
図８から分かるように、遅延ブロック４２４の機能を停止させた場合に比べて、遅延ブロック４２４を機能させた場合の方が、振幅が小さくなり、制御が安定していることが分かる。
【００７６】
以上のように、本実施形態の制御装置３００は、減速機５１０の入力軸５１０ｉの動作位置を検出するモーター角度センサー４２０からの入力検出値Ｐｍと、減速機５１０の出力軸５１０ｏの動作位置を検出する出力側角度センサー５２０からの出力検出値Ｐｒｏと、を用いて、減速機５１０を速度制御する制御部３０９を備える（図６のＰｍ，Ｐｒｏ，３３０参照）。このため、入力検出値Ｐｍと出力検出値Ｐｒｏとに基づいて、減速機５１０において発生する位置の誤差を考慮して、正確に減速機５１０を速度制御することができる。その結果、出力検出値Ｐｒｏを用いて速度制御しない比較例１〜３（図２、図４、および図５参照）に比べて、高い速度域まで、正確にアーム要素１１０ａの位置を制御することができる。よって、本実施形態の制御装置３００によれば、連続経路制御（ＣＰ制御）においても、移動経路上を正確にエンドエフェクタに移動させることができる。また、事前に各ロボットの減速機５１０の誤差を個別に測定することなく、正確にアーム要素１１０ａの位置を制御することができる。
【００７７】
なお、本明細書においては、「Ｘを用いて、Ｏを速度制御する」という場合には、Ｘ（たとえば、図６のＰｒｏ参照）を直接使用してＯを速度制御する態様のほか、Ｘに対して所定の処理を行って得られた情報（たとえば、図６の「Ｐｍ＋Ｔｒｄ」および４２３参照）を使用してＯを速度制御する場合も含まれる。
【００７８】
本実施形態におけるサーボモーター４１０は、「駆動部」とも呼ばれる。減速機５１０は、「伝達部」とも呼ばれる。アーム要素１１０ａは、「可動部」とも呼ばれる。モーター角度センサー４２０は、「入力位置検出部」とも呼ばれる。サーボモーター４１０の出力軸４１０ｏの角度位置Ｐｍは、「入力検出値」とも呼ばれる。出力側角度センサー５２０は、「出力位置検出部」とも呼ばれる。減速機５１０の出力軸５１０ｏの角度位置Ｐｒｏは、「出力検出値」とも呼ばれる。遅延角度位置Ｐｍｄは、「遅延入力検出値」とも呼ばれる。カメラ４００は、「撮像部」とも呼ばれる。
【００７９】
Ｂ．第２実施形態：
図９は、第２実施形態の制御部３０９ｂの構成要素と、ロボット１００が備えるサーボモーター４１０、モーター角度センサー４２０、減速機５１０、出力側角度センサー５２０、アーム１１０、および力覚センサー１９０と、の関係を示すブロック図である。第２実施形態の制御部３０９ｂは、第１実施形態の制御部３０９が備える遅延検出ブロック５２１および遅延ブロック４２４を備えない（図６参照）。また、第２実施形態においては、減速機５１０の出力軸５１０ｏの角度位置Ｐｒｏと減速機５１０の入力軸５１０ｉの角度位置Ｐｍとの差が位置制御に使用されない（図９において、該当するフィードバック部分を破線の矢印で示す）。
【００８０】
第２実施形態においては、力覚センサー１９０（図１参照）の出力が速度制御に使用される。力覚センサー１９０が検出したエンドエフェクター２００に作用するＸ軸、Ｙ軸、Ｚ軸まわりのトルクと、エンドエフェクター２００およびワークピースＷ０１の質量と、から、関節Ｊ１周りの角加速度Ａｒｔが得られる。第２実施形態の制御部３０９ｂは、減速機５１０の入力軸５１０ｉの角度位置Ｐｍを２階微分して得られる値に対する、アーム１１０の先端の角加速度Ａｒｔの差を、入力値とするハイパスフィルター１１２を備える。図９において、角度位置の２階微分を表すブロックを「Ｓ２」を付したブロック４２６で示す。減速機５１０の入力軸５１０ｉの角度位置Ｐｍを２回微分して得られる値と、アーム１１０の先端の角加速度Ａｒｔと、の差は、アーム１１０のたわみによる加速度の変化（ねじれ加速度）を表す。ハイパスフィルター１１２は、入力のうち、所定の共振周波数よりも高い周波数成分のみを、出力する。
【００８１】
速度制御部３３０は、速度フィードバックｆｖａとして、ハイパスフィルター１１２からの出力を積分して得られる値を、さらにゲインＫｖ倍して得られる値を、受信する。図９において、角度位置の積分を表すブロックを「１／Ｓ」を付したブロック１１４で示す。Ｋｖ倍の処理を表すブロックを「Ｋｖ」を付したブロック１１６で示す。
【００８２】
ハイパスフィルター１１２を介して速度フィードバックｆｖａを行うことにより、積分（図９の積分ブロック１１４参照）によるオフセットずれを除去して、速度フィードバックを行うことができる。また、ゲインＫｖ倍して得られる値を速度フィードバックｆｖａとすることにより、アーム１１０のねじれに起因する振動を抑制するための補正量を適切な値に調整することができる。
【００８３】
また、速度制御部３３０は、速度フィードバックｆｖｒとして、ローパスフィルター５２４からの出力Ｔｒｄ（すなわち、減速機５１０におけるねじれ量）と、サーボモーター４１０の角度位置Ｐｍと、が加算された信号を微分して得られる信号を受信する。ハイパスフィルター１１２経由で得られる速度フィードバックｆｖａが、アーム１１０のたわみによる加速度変化（ねじれ加速度）を表すのに対して、ローパスフィルター５２４経由で得られる速度フィードバックｆｖｒは、前述のように、減速機５１０における入力と出力の間のねじれ量を表す。
【００８４】
本実施形態の制御部３０９ｂの他の点は、第１実施形態の制御部３０９と同じである。
【００８５】
本実施形態においては、速度制御部３３０において、アーム１１０のたわみによる加速度変化（ねじれ加速度）を表す速度フィードバックｆｖａと、減速機５１０における入力と出力の間のねじれ量を表す速度フィードバックｆｖｒと、に基づいて速度制御が行われる。このため、アーム１１０のたわみと減速機５１０のねじれの両方を考慮して、高精度にアーム要素１１０ａを速度制御することができる。
【００８６】
図１０は、本実施形態の制御部３０９ｂにおけるアーム１１０のたわみによる加速度変化（ねじれ加速度）を表す速度フィードバックｆｖａと、減速機５１０における入力と出力の間のねじれ量を表す速度フィードバックｆｖｒと、の効果を示すグラフである。グラフＧ２０が本実施形態の制御部３０９ｂ（図９参照）による制御を行った場合の出力軸５１０ｏの位置偏差を表す。
【００８７】
図１０において、グラフＧ２１が、本実施形態の制御部３０９ｂにおいて、アーム１１０のたわみによる加速度変化を表す速度フィードバックｆｖａ（図９参照）を行わず、減速機５１０における入力と出力の間のねじれ量を表す速度フィードバックｆｖｒを行う、制御を行った場合の出力軸５１０ｏの位置偏差を表す。グラフＧ２２が、比較例１（図２参照）において、さらに、アーム１１０のたわみによる加速度変化を表す速度フィードバックｆｖａ（図９参照）を行う制御を行った場合の出力軸５１０ｏの位置偏差を表す。グラフＧ２３が、比較例１（図２参照）の制御を行った場合の出力軸５１０ｏの位置偏差を表す。
【００８８】
図１０より、本実施形態の制御部３０９ｂによる制御を行った場合の出力軸５１０ｏの位置偏差（グラフＧ２０）が最も小さいことがわかる。本実施形態の制御部３０９ｂにおいて速度フィードバックｆｖａを行わない制御を行った場合の位置偏差（グラフＧ２１）が、次に小さいことが分かる。比較例１（図２参照）において速度フィードバックｆｖａ（図９参照）を行う制御を行った場合の位置偏差（グラフＧ２２）が、３番目に小さいことが分かる。そして、比較例１（図２参照）の制御を行った場合の位置偏差（グラフＧ２３）が、最も大きいことがわかる。
【００８９】
すなわち、図１０のグラフＧ２０とグラフＧ２１の比較、およびグラフＧ２２とグラフＧ２３の比較より、アーム１１０のたわみによる加速度変化を表す速度フィードバックｆｖａ（図９参照）を行うことの有効性がわかる。また、図１０のグラフＧ２１とグラフＧ２３の比較より、減速機５１０における入力と出力の間のねじれ量を表す速度フィードバックｆｖｒ（図９参照）を行うことの有効性がわかる。
【００９０】
本実施形態における力覚センサー１９０は、「力検出部」とも呼ばれる。なお、前述のように、本明細書においては、「Ｘを用いて、Ｏを速度制御する」という場合には、Ｘ（たとえば、図９のＡｒｔ参照）を直接使用してＯを速度制御する態様のほか、Ｘに対して所定の処理を行って得られた情報（たとえば、図９のｆｖａ参照）を使用してＯを速度制御する場合も含まれる。
【００９１】
Ｃ．他の実施形態：
Ｃ１．他の実施形態１：
（１）上記実施形態においては、駆動部は、サーボモーター４１０である。しかし、駆動部は、サーボモーター以外の態様とすることもできる。駆動部は、たとえば、出力が回転運動であるモーターとすることができる。また、駆動部は、出力が直線運動であるリニアモーターやシリンダーであってもよい。
【００９２】
（２）上記実施形態においては、出力位置検出部は、出力側角度センサー５２０としての撮像式のロータリーエンコーダーである。しかし、伝達部の出力側の動作位置を検出する出力位置検出部としては、他の構成を採用することもできる。可動部が回転される場合には、出力位置検出部としては、光学式のロータリーエンコーダー、レゾルバ、ポテンショメーターを採用することができる。また、可動部が直線的に動かされる場合には、出力位置検出部としては、ポテンショメーターやリニアエンコーダーを採用することができる。それらのセンサーは、絶対的な位置が検出できるものであってもよいし、絶対的な位置を検出することはできず、相対的な位置が検出できるものであってもよい。
【００９３】
（３）上記実施形態においては、入力検出値は、モーター角度センサー４２０としての光学式のロータリーエンコーダーである。しかし、伝達部の入力側の動作位置を検出する入力位置検出部としては、他の構成を採用することもできる。駆動部が回転力を出力する場合には、入力位置検出部としては、レゾルバやポテンショメーターを採用することができる。また、駆動部が直線的な動きを伴う駆動力を出力する場合には、入力位置検出部としては、ポテンショメーターやリニアエンコーダーを採用することができる。それらのセンサーは、絶対的な位置が検出できるものであってもよいし、絶対的な位置を検出することはできず、相対的な位置が検出できるものであってもよい。
【００９４】
（４）上記第１実施形態においては、サーボモーター４１０の出力軸４１０ｏに減速機５１０の入力軸５１０ｉが接続されており、サーボモーター４１０の出力軸４１０ｏの角度位置と、減速機５１０の入力軸５１０ｉの角度位置とは等しい（図１の４１０ｏ，５１０ｉ参照）。しかし、駆動力を発生させる駆動部と伝達部の間には、他の歯車機構や、ベルトとプーリーなど、回転速度を変化させる機構が設けられていてもよい。そのような機構の減速比Ｎｐとし、駆動部の出力軸の角度位置をθoとすると、減速機の入力軸の角度位置θは、θ＝Ｎｐ×θoで得られる。
【００９５】
（５）上記第１実施形態においては、第１入力位置検出部としてのモーター角度センサー４２０は、第１駆動部としてのサーボモーター４１０の出力軸４１０ｏの角度位置を検出する（図１参照）。しかし、伝達部の入力側の動作位置を検出する第１入力位置検出部は、伝達部の入力を測定してもよい。
【００９６】
（６）上記第２実施形態においては、出力側角度センサー５２０の出力検出値Ｐｒｏは、位置制御に使用されない。しかし、伝達部の出力側の動作位置を検出する出力位置検出部からの出力検出値は、位置制御に使用されることもできる（図９において３２０に入力される破線の矢印参照）。
【００９７】
（７）上記第１実施形態においては、制御装置３００は、ロボット１００とは別個の構成として設けられている（図１参照）。しかし、制御装置は、ロボットと一体の形態で設けられることもできる。また、制御装置は、ロボットとは別に設けられ、有線または無線でロボットと接続される態様とすることもできる。
【００９８】
また、上記実施形態において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。たとえば、上記実施形態においては、制御部３０９としてのＣＰＵがコンピュータープログラムを読み出して実行することにより、様々な機能を実現する。しかし、制御部が実現する機能の一部または全部はハードウェア回路により実現されてもよい。制御部は、何らかの処理を実現するプロセッサーとして構成されることができる。
【００９９】
Ｃ２．他の実施形態２：
（１）上記第２実施形態においては、制御部３０９ｂは、第１実施形態の制御部３０９が備える遅延検出ブロック５２１および遅延ブロック４２４を備えない（図６および図９参照）。しかし、第２実施形態において、入力検出値を遅延させることによって得られる遅延入力検出値と、出力検出値との差を用いて、可動部を速度制御する態様とすることもできる。
【０１００】
（２）また、第１の実施形態において、遅延検出ブロック５２１および遅延ブロック４２４を備えない態様とすることもできる（図６参照）。出力位置検出部による出力側の動作位置の検出の周期と、入力位置検出部による入力側の動作位置の検出の周期が、実質的に等しい場合には、入力検出値を遅延させることなく、入力検出値と出力検出値との差を用いて、前記可動部を速度制御することができる。
【０１０１】
Ｃ３．他の実施形態３：
上記実施形態においては、制御部３０９は、入力のうち、減速機５１０の共振周波数よりも低い周波数成分のみを、出力するローパスフィルター５２４を備える。しかし、ローパスフィルターが通過させる周波数領域は、他の周波数領域とすることもできる。たとえば、ローパスフィルターは、入力のうち、伝達部の共振周波数の一部を含む部分を出力する態様とすることもできる。また、制御部は、ローパスフィルターを介さずに、必要に応じて遅延された入力検出値と、出力検出値と、の差を用いて、可動部を速度制御してもよい。
【０１０２】
Ｃ４．他の実施形態４：
上記実施形態においては、出力位置検出部は、出力側角度センサー５２０としての光学式のロータリーエンコーダーである。しかし、伝達部の出力側の動作位置を検出する出力位置検出部としては、出力側角度センサー５２０以外の様々なセンサーを使用することができる。たとえば、出力位置検出部としては、Ｘ，Ｙ，Ｚ軸方向の加速度と角速度を検出することができるＩＭＵ（Inertial Measurement Unit）を採用することができる。また、出力位置検出部としては、伝達部の出力側の動作位置を検出することができるレーザー変位計や、カメラ４００（図１参照）等を採用することができる。測定時に測定対象に取りつけられるセンサーは、あらかじめ装置に組み込まれているセンサーであってもよいし、測定のために装置に取りつけられるセンサーであってもよい。
【０１０３】
たとえば、出力位置検出部が、可動部を撮像することができるデジタルカメラなどの撮像部（図１の４００参照）を備える場合には、撮像された画像に基づいて、伝達部の出力側の動作位置Ｐｒｏを検出することができる。そのような態様とすることにより、ロボットの制御において、追従制御などさまざまな用途に使用できる撮像部を有効に活用して、伝達部の出力側の動作位置を得ることができる。
【０１０４】
Ｃ５．他の実施形態５：
上記第１実施形態においては、出力側角度センサー５２０は、伝達部としての減速機５１０の出力軸５１０ｏの角度位置を検出する。しかし、伝達部の出力側の動作位置を検出する出力位置検出部は、伝達部の出力を測定してもよいし、伝達部の出力によって駆動される下流の構成の動作位置を測定してもよい。伝達部の出力によって駆動される下流の構成の動作位置を測定する構成としては、たとえば、伝達部の出力によって駆動される下流の構成に設けられ、所定の方向の加速度を検出することができる慣性センサーがある。
【０１０５】
Ｃ６．他の実施形態６：
上記第２実施形態においては、力検出部として、エンドエフェクター２００に作用する互いに直交するＸ軸、Ｙ軸、Ｚ軸の３軸方向の力と、Ｘ軸、Ｙ軸、Ｚ軸まわりのトルクを測定することができる力覚センサーが使用される（図１および図９の１９０参照）。しかし、力検出部として、１軸方向の力と、その軸まわりのトルクを測定することができる力覚センサーや、互いに直交するＸ軸およびＹ軸の２軸方向の力と、Ｘ軸およびＹ軸まわりのトルクを測定することができる力覚センサーを使用することもできる。また、力検出部を使用せずに、可動部の速度制御を行う態様とすることもできる。
【０１０６】
なお、本明細書において、「ＸにＯが設けられている」とは、Ｘ内にＯが設けられている場合や、ＸにＯが直接取りつけられている場合だけでなく、Ｘ（たとえば図１のアーム要素１１０ａ）に直接または関節に取りつけられている他の部材（たとえば図１のアーム要素１１０ｄ）にＯ（たとえば図１の力覚センサー１９０）が取りつけられている場合を含む。
【０１０７】
Ｃ７．他の実施形態７：
上記実施形態においては、駆動力を伝達する伝達部は、減速機５１０である。しかし、伝達誤差を低減させる対象である伝達部は、回転入力をより回転速度が高い回転出力に変換する構成であってもよいし、回転入力と回転出力がほぼ一致する構成であってもよい。
【０１０８】
伝達部は、より具体的には、ベルトおよびプーリー、歯車機構、または継ぎ手とすることができる。ベルトおよびプーリー、ならびに歯車機構は、回転入力をより回転速度が高い回転出力に変換する構成であってもよいし、回転入力をより回転速度が低い回転出力に変換する構成であってもよいし、回転入力と回転出力がほぼ一致する構成であってもよい。
【０１０９】
Ｃ８．他の実施形態８：
（１）上記第２実施形態においては、本開示を４軸ロボットを例として説明した（図１参照）。しかし、本開示は、６軸ロボットや他の数の関節を備えるロボットに適用することもできる。ただし、本開示は、関節に駆動力を伝達する伝達部を備える装置に適用することが好ましい。
【０１１０】
（２）上記実施形態においては、ロボットを例に本開示を説明した。しかし、本明細書で開示した技術は、ロボットに限らず、プリンター、プロジェクターど、駆動力を伝達する伝達部を介して制御が行われて物理的な状態が変化する様々な機械に適用することができる。たとえば、本明細書で開示した技術をプリンターの印刷ヘッドの動作や印刷媒体の搬送動作に適用することにより、ヘッドと印刷媒体との相対位置の精度を高めることができる。
【０１１１】
Ｃ９．他の実施形態９：
本開示は、上述の実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態中の技術的特徴は、上述の課題の一部又は全部を解決するために、あるいは、上述の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【符号の説明】
【０１１２】
１…ロボットシステム；１００…ロボット；１１０…アーム；１１０ａ，１１０ｂ，１１０ｄ…アーム要素；１１２…ハイパスフィルター；１１４…積分ブロック；１１６…ゲインブロック；１９０…力覚センサー；２００…エンドエフェクター；３００…制御装置；３０１…ＲＡＭ；３０２…ＲＯＭ；３０３…ＣＰＵ；３０９，３０９ｂ…制御部；３０９ｃａ，３０９ｃｂ，３０９ｃｃ…制御部；３１０…制御信号生成部；３２０…位置制御部；３３０…速度制御部；４００…カメラ；４１０…サーボモーター；４１０ｏ…出力軸；４２０…モーター角度センサー；４２２，４２３…微分ブロック；４２４…遅延ブロック；４２６…微分ブロック；５１０…減速機；５１０ｉ…減速機の入力軸；５１０ｏ…減速機の出力軸；５２０…出力側角度センサー；５２１…遅延検出ブロック；５２２〜５２４…ローパスフィルター；Ａ…遅延量；Ａａ…遅延量；Ａｒｔ…アームの先端の角加速度；Ｆ４００…支柱；Ｇ０…制御部３０９を採用した場合の位置偏差のグラフ；Ｇ２０…制御部３０９ｂによる制御を行った場合の位置偏差のグラフ；Ｇ２１…制御部３０９ｂにおいて、速度フィードバックｆｖａを行わず、速度フィードバックｆｖｒを行う制御を行った場合の位置偏差のグラフ；Ｇ２２…比較例１において、さらに、速度フィードバックｆｖａを行う制御を行った場合の位置偏差グラフ；Ｇ２３…比較例１の制御を行った場合の位置偏差のグラフ；Ｇａ…制御部３０９ｃａを採用した場合の出力軸５１０ｏの位置偏差のグラフ；Ｇｃ…制御部３０９ｃｃを採用した場合の出力軸５１０ｏの位置偏差のグラフ；Ｇｐ０…遅延ブロック４２４を機能させた場合の出力軸５１０ｏの位置偏差のグラフ；Ｇｐ１…遅延ブロック４２４の機能を停止させた場合の出力軸５１０ｏの位置偏差のグラフ；Ｊ１〜Ｊ４…関節；Ｋ…ばね定数；Ｎ…減速機の減速比；Ｐｍ…減速機５１０は、入力軸５１０ｉと出力軸の角度位置（入力検出値）；Ｐｍｄ…遅延角度位置；Ｐｒｏ…減速機５１０の出力軸５１０ｏの角度位置（出力検出値）；Ｔｒ…減速機５１０における入力と出力の間のねじれ量；Ｔｒｄ…減速機５１０における入力と出力の間のねじれ量；Ｖｍ…モーターの回転速度；Ｖｒｏ…減速機５１０の出力軸５１０ｏの回転速度；Ｗ０１…ワークピース；ｆｖａ…速度フィードバック；ｆｖｒ…速度フィードバック；θATE…角度伝達誤差。
【図１】
2018202589.tif 000003
【図２】
2018202589.tif 000004
【図３】
2018202589.tif 000005
【図４】
2018202589.tif 000006
【図５】
2018202589.tif 000007
【図６】
2018202589.tif 000008
【図７】
2018202589.tif 000009
【図８】
2018202589.tif 000010
【図９】
2018202589.tif 000011
【図１０】
2018202589.tif 000012