(57)【要約】【課題】人の手で行うダイレクトティーチングにおいて、マニピュレータ駆動装置のマニピュレータ先端部の移動を、任意の位置・姿勢・移動軌跡で教示者が意図した通りに教示することができるマニピュレータの制御装置を提供する。【解決手段】マニピュレータ先端となる第一アーム１０１先端の動作領域を入力する入力部１１３を有している。そして、外力検出部１１２で外力（操作力）のベクトルが検出されたとき、次のようにアシスト制御を行う。外力検出部１１２の検出結果と入力部１１３から入力される動作領域とに基づいて、入力された動作領域内を第一アーム１０１先端が移動するように、第一駆動部１６０（第一モータ１０６）と第二駆動部１７０（第二モータ１０９）の駆動を制御して外力を補助する。【選択図】図１
2017074669.tif 000002
【特許請求の範囲】
【請求項１】
２以上の関節部と、各関節部を介して直列に連結され、マニピュレータ先端部に取り付けられる支持対象を支持する複数の支持部と、前記２以上の関節部をそれぞれ回動させる２以上の駆動部と、前記２以上の関節部及び前記複数の支持部の内、少なくともいずれかに外部から加えられる外力のベクトルを検出する外力検出部と、を備えたマニピュレータ駆動装置に用いられ、前記外力検出部の検出結果に基づいて前記２以上の駆動部の駆動を制御するマニピュレータの制御装置において、
前記マニピュレータ先端部の動作領域を入力する入力手段を有し、前記外力検出部で前記外力のベクトルが検出されたとき、前記外力検出部の検出結果と前記入力手段から入力される動作領域とに基づいて、
前記入力された動作領域内を前記マニピュレータ先端部が移動するように、前記２以上の駆動部の駆動を制御することを特徴とするマニピュレータの制御装置。
【請求項２】
請求項１に記載のマニピュレータの制御装置において、
前記マニピュレータ駆動装置は、前記２以上の関節部のそれぞれに連結される支持部又は前記支持対象がなす角度を、前記２以上の関節部毎に検出する２以上の角度検出部を備え、
前記２以上の角度検出部の内、少なくとも一つの検出結果に基づいて、
前記入力された動作領域内を前記マニピュレータ先端部が移動するように、前記２以上の駆動部の駆動を制御して前記外力を補助することを特徴とするマニピュレータの制御装置。
【請求項３】
請求項１又は２に記載のマニピュレータの制御装置において、
前記マニピュレータ先端部の姿勢を保持した状態で、前記入力された動作領域内を前記マニピュレータ先端部が移動するように、前記２以上の駆動部の駆動を制御して前記外力を補助することを特徴とするマニピュレータの制御装置。
【請求項４】
請求項１乃至３のいずれか一に記載のマニピュレータの制御装置において、
前記２以上の関節部のそれぞれに連結される支持部又は前記支持対象がなす角度を、前記２以上の関節部毎に記憶する記憶手段を有し、
前記入力手段は、前記憶手段に記憶した角度を用いて、前記マニピュレータ先端部が移動するときに描く軌道を指定できることを特徴とするマニピュレータの制御装置。
【請求項５】
請求項１乃至３のいずれか一に記載のマニピュレータの制御装置において、
前記２以上の関節部のそれぞれに連結される支持部又は前記支持対象がなす角度を、前記２以上の関節部毎に記憶する記憶手段を有し、
前記入力手段は、前記憶手段に記憶した角度を用いて、前記マニピュレータ先端部が移動する平面を指定できることを特徴とするマニピュレータの制御装置。
【請求項６】
請求項１乃至３のいずれか一に記載のマニピュレータの制御装置において、
前記２以上の関節部のそれぞれに連結される支持部又は前記支持対象がなす角度を、前記２以上の関節部毎に記憶する記憶手段を有し、
前記入力手段は、前記憶手段に記憶した角度を用いて、前記マニピュレータ先端部が回転する位置を指定できることを特徴とするマニピュレータの制御装置。
【請求項７】
請求項１乃至５のいずれか一に記載のマニピュレータの制御装置において、
前記入力手段は、前記マニピュレータ先端部の移動方向を、指定したベクトル方向のみに限定する動作領域指定手段を有することを特徴とするマニピュレータの制御装置。
【請求項８】
請求項１乃至６のいずれか一に記載のマニピュレータの制御装置において、
前記入力手段は、前記マニピュレータ先端部の移動方向を、指定したベクトル方向への移動のみを規制する動作領域指定手段を有することを特徴とするマニピュレータの制御装置。
【請求項９】
請求項７又は８に記載のマニピュレータの制御装置において、
前記入力手段は、前記動作領域指定手段で指定したベクトル方向を点灯により表示するＬＥＤを有していることを特徴とするマニピュレータの制御装置。
【請求項１０】
請求項１乃至９のいずれか一に記載のマニピュレータの制御装置において、
前記入力手段は、動作領域を指定する動作領域指定手段を有し、該動作領域指定手段で指定した動作領域を微調整可能なコントローラも有することを特徴とするマニピュレータの制御装置。
【請求項１１】
請求項１乃至１０のいずれか一に記載のマニピュレータの制御装置において、
前記マニピュレータ先端部の移動速度が所定の速度を超えないように制御することを特徴とするマニピュレータの制御装置。
【請求項１２】
２以上の関節部と、各関節部を介して直列に連結され、マニピュレータ先端部に取り付けられる支持対象を支持する複数の支持部と、前記２以上の関節部をそれぞれ回動させる２以上の駆動部と、前記２以上の関節部及び前記複数の支持部の内、少なくともいずれかに外部から加えられる外力のベクトルを検出する外力検出部と、前記外力検出部の検出結果に基づいて前記２以上の駆動部の駆動を制御する制御部と、を備えたマニピュレータ駆動装置において、
前記制御部として、請求項１乃至１１のいずれか一に記載のマニピュレータの制御装置を備えることを特徴とするマニピュレータ駆動装置。
【請求項１３】
請求項１２に記載のマニピュレータ駆動装置において、
前記マニピュレータ先端部の動作領域を入力する入力手段は、当該マニピュレータ駆動装置本体に設置され、動作領域を指定する動作領域指定手段を有していることを特徴とするマニピュレータ駆動装置。
【請求項１４】
請求項１３に記載のマニピュレータ駆動装置において、
前記入力手段に有した前記動作領域指定手段は、前記マニピュレータ先端部近傍に配置されていることを特徴とするマニピュレータ駆動装置。
【請求項１５】
請求項１３に記載のマニピュレータ駆動装置において、
前記入力手段に有した前記動作領域指定手段は、不動部に配置されていることを特徴とするマニピュレータ駆動装置。
【請求項１６】
請求項１２乃至１５のいずれか一に記載のマニピュレータ駆動装置において、
前記複数の支持部の内、不動部を除く支持部には、物体が接触したことを検出する接触検出部が設けられており、
前記物体が接触したことを検出した接触検出部を設けた接触支持部から前記不動部までの間に２つの関節部がある場合、
前記マニピュレータの制御装置は、
前記２つの関節部をそれぞれ回動させる２つの駆動部の駆動を制御して前記外力を補助する第一動作モードを有していることを特徴とするマニピュレータ駆動装置。
【請求項１７】
請求項１２乃至１５のいずれか一に記載のマニピュレータ駆動装置において、
前記複数の支持部の内、不動部を除く支持部には、物体が接触したことを検出する接触検出部が設けられており、
前記物体が接触したことを検出した接触検出部を設けた接触支持部から前記不動部までの間に２以上の関節部がある場合、
前記マニピュレータの制御装置は、
前記２以上の関節部の内、前記接触支持部が連結された関節部を回動させる駆動部の駆動を制御して前記外力を補助する第二動作モードを有していることを特徴とするマニピュレータ駆動装置。
【請求項１８】
請求項１２乃至１５のいずれか一に記載のマニピュレータ駆動装置において、
前記複数の支持部の内、不動部を除く支持部には、物体が接触したことを検出する接触検出部が設けられており、
前記物体が接触したことを検出した接触検出部を設けた接触支持部から前記不動部までの間に３以上の関節部がある場合、
前記マニピュレータの制御装置は、
前記３以上の関節部の内、前記接触支持部に近い側の３つの関節部をそれぞれ回動させる３つの駆動部の駆動を制御して前記外力を補助する第三動作モードを有していることを特徴とするマニピュレータ駆動装置。
【請求項１９】
請求項１２乃至１５のいずれか一に記載のマニピュレータ駆動装置において、
前記複数の支持部の内、不動部を除く支持部には、物体が接触したことを検出する接触検出部が設けられており、
前記物体が接触したことを検出した接触検出部を設けた接触支持部から前記不動部までの間に３以上の関節部があり、且つ、前記接触支持部に近い側の３つの関節部の回動軸が平行であり、
前記マニピュレータの制御装置は、
前記３以上の関節部の内、前記接触支持部に近い側の２つの関節部をそれぞれ回動させる２つの駆動部の駆動を制御して前記外力を補助する第四動作モードを有していることを特徴とするマニピュレータ駆動装置。
【請求項２０】
マニピュレータ駆動装置を備えたロボットシステムにおいて、
請求項１乃至１１のいずれか一に記載のマニピュレータの制御装置、又は請求項１２乃至１９のいずれか一に記載のマニピュレータ駆動装置の、少なくともいずれかを備えたことを特徴とするロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マニピュレータの制御装置、このマニピュレータの制御装置を備えたマニピュレータ駆動装置、及びこれらの少なくともいずれかを備えたロボットシステムに関するものである。
【背景技術】
【０００２】
製造工場や作業現場、及び家庭内等で作業を行ったり、人の作業等を補助したりするマニピュレータ駆動装置（ロボットシステム）の動作を教示（登録）するマニピュレータの教示方法にはダイレクトティーチングという方法がある。
これは、教示者が、作業ツールなどの支持対象が取り付けられるマニピュレータ先端部となる第一支持部等を持ち、直接力を加え動かすことによって、第一支持部等を任意の位置・姿勢・移動軌跡で移動させるように制御（教示・登録）する技術である。
【０００３】
例えば、特許文献１には、次のようなダイレックトティーチング（パワーアシスト）を行うマニピュレータ（ロボットアーム）の制御装置を備えたマニピュレータ駆動装置（ロボット）が記載されている。
この制御装置は、マニピュレータに加えられる外力を検出する外力検出部で検出した外力と、マニピュレータの関節部の可動状態とに基づいて、外力検出部で検出した外力を、マニピュレータが動作可能な方向成分を抽出可能な変換外力に変換するものである。
このように変換した変換外力を用いることで、マニピュレータの関節部の動作範囲の規制など、関節部の動作状況に応じたマニピュレータの動作領域の制限（動作制限）を、簡潔な制御構造で実現し、制御系の不安定さを低減することができる旨、特許文献１には記載されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、関節部の動作状況に応じたマニピュレータの動作領域の制限を行うだけでは、関節部が動作可能な方向であれば、教示者（ユーザー）が意図していなかった方向に外力を加えてしまった場合であっても、その方向への動作を教示（制御）することになる。
このため、今までのダイレクトティーチングでは、マニピュレータに教示者が外力を加えて教示するときに、マニピュレータの位置・姿勢・移動軌跡を教示者が意図した通りに教示できない場合があるという問題があった。
【課題を解決するための手段】
【０００５】
上述した課題を解決するために、請求項１に記載の発明は、２以上の関節部と、各関節部を介して直列に連結され、マニピュレータ先端部に取り付けられる支持対象を支持する複数の支持部と、前記２以上の関節部をそれぞれ回動させる２以上の駆動部と、前記２以上の関節部及び前記複数の支持部の内、少なくともいずれかに外部から加えられる外力のベクトルを検出する外力検出部と、を備えたマニピュレータ駆動装置に用いられ、前記外力検出部の検出結果に基づいて前記２以上の駆動部の駆動を制御するマニピュレータの制御装置において、前記マニピュレータ先端部の動作領域を入力する入力手段を有し、前記外力検出部で前記外力のベクトルが検出されたとき、前記外力検出部の検出結果と前記入力手段から入力される動作領域とに基づいて、前記入力された動作領域内を前記マニピュレータ先端部が移動するように、前記２以上の駆動部の駆動を制御することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、人の手で行うダイレクトティーチングにおいて、マニピュレータ駆動装置のマニピュレータ先端部の移動を、任意の位置・姿勢・移動軌跡で教示者が意図した通りに教示することができるマニピュレータの制御装置を提供できる。
【図面の簡単な説明】
【０００７】
【図１】実施例１に係るマニピュレータ駆動装置の一構成例であるマニピュレータ装置の概略説明図。
【図２】実施例１に係る第一関節部及び第二関節部を動作させるマニピュレータ装置の駆動制御装置の制御ブロック図。
【図３】実施例１のマニピュレータ装置に用いることができる入力装置の説明図。
【図４】マニピュレータで発生する力について説明図。
【図５】アシスト制御方法１に係るアシスト制御の制御ブロック図。
【図６】アシスト制御方法１に係る外力に対するモータ出力を示した図。
【図７】アシスト制御方法１に係る制御フローを示した図。
【図８】アシスト制御方法２に係るアシスト制御の制御ブロック図。
【図９】アシスト制御方法２に係る制御フローを示した図。
【図１０】アシスト制御方法２の模式図を用いた説明図。
【図１１】操作力目標生成部に係る検出した外力と、操作力の目標値及び操作力指定値との関係の説明図。
【図１２】アシスト制御方法３に係るアシスト制御の制御ブロック図。
【図１３】アシスト制御方法３に係る制御フローを示した図。
【図１４】４自由度のマニピュレータにおいて、動作領域をある１軸に制限した場合の説明図。
【図１５】４自由度のマニピュレータにおいて、動作領域をある平面に制限した場合の説明図。
【図１６】４自由度のマニピュレータにおいて、動作領域をある１軸の回転方向に制限した場合の説明図。
【図１７】実施例２に係るマニピュレータ装置の概要説明図。
【図１８】ツールポイント座標系と、マニピュレータ絶対座標系の説明図。
【図１９】マニピュレータ装置に備える動作領域指定手段の説明図。
【図２０】動作領域（動作方向）を指定するときの一例の説明図。
【図２１】実施例３に係るマニピュレータ装置の概略説明図。
【図２２】実施例３に係る第一関節部、第二関節部、第三関節部及びを動作させるマニピュレータ装置の駆動制御装置の制御ブロック図。
【図２３】マニピュレータ装置に設けることができる接触検出部の例の説明図。
【図２４】接触検出部を用いた、マニピュレータ装置の動作モードの例の説明図。
【図２５】実施例のダイレクトティーチングにおける動作制御シーケンスの一例の説明図。
【発明を実施するための形態】
【０００８】
以下、本発明を適用したロボットアーム等のマニピュレータの制御装置を備えたマニピュレータ駆動装置の一実施形態について、複数の実施例を挙げて説明する。
【０００９】
（実施例１）
まず、本実施形態のマニピュレータの制御装置を備えたマニピュレータ駆動装置の実施例１について、図を用いて説明する。
図１は、本実施例に係るマニピュレータ駆動装置の一構成例であるマニピュレータ装置１００の概略説明図であり、図１（ａ）が平面説明図、図１（ｂ）が主な構成部材の側面説明図である。
【００１０】
マニピュレータ装置１００は、図１（ａ）、（ｂ）に示すように、ロボットアーム等のマニピュレータを備えたマニピュレータ駆動装置の内、基本的な構成の１つである２自由度を持ったものである。但し、本実施例のマニピュレータの制御装置は、マニピュレータ装置１００のような２自由度を持ったマニピュレータ駆動装置に備えられるもの限定されるものではなく、その機能に応じて、２つ以上の関節部と、各関節部を介して直列に連結される複数の支持部を備えたものに適用可能である。
【００１１】
マニピュレータ装置１００は、複数の支持部の内、装置本体の土台１１１ａに固定された不動部である支柱部１１１ｂから最も後段側（先端側）に関節部を介して連結される第一アーム１０１と、前段側に連結される第二アーム１０２は、次のように支持されている。
図１（ｂ）に示すように、第一アーム１０１と第二アーム１０２はそれぞれ、前段側の端部近傍が、第一関節部１３０の第一駆動中心１０３と第二関節部１４０の第二駆動中心１０４に回転可能に支持されている。
【００１２】
第一関節部１３０には、第一駆動部１６０としての、第一モータ１０６と、その第一駆動中心１０３を出力軸心とする第一減速機１０５とが接続されており、第一モータ１０６からの回転駆動力を減速して第一アーム１０１に伝達し、第一アーム１０１を回転駆動する。また、第二アーム１０２とは反対側の第一モータ１０６の側面には、第一モータ１０６の回転量を計測可能なように、第一モータ用エンコーダ１０７が取付けられており、第一減速機１０５と第一モータ１０６は第二アーム１０２に固定されている。
第二関節部１４０には、第二モータ１０９と、その第二駆動中心１０４を出力軸心とする第二減速機１０８とが接続されており、第二モータ１０９からの回転駆動力を減速して第二アーム１０２に伝達し、第二アーム１０２を回転駆動する。また、支柱部１１１ｂと第二モータ１０９の間には、第二モータ１０９の回転量を計測可能なように、第二モータ用エンコーダ１１０が取付けられており、第二駆動中心１０４の一端側は、支柱部１１１ｂ（土台１１１ａ）に固定されている。
【００１３】
また、第一モータ用エンコーダ１０７は、第一減速機１０５の減速比と計測した回転量から、第二アーム１０２に対する第一アーム１０１の回転量を計測する第一アーム用エンコーダ１３１としても機能する。一方、第二モータ用エンコーダ１１０は、第二減速機１０８の減速比と計測した回転量から、支柱部１１１ｂに対する第二アーム１０２の回転量を計測する第二アーム用エンコーダ１４１としても機能する。但し、第一アーム用エンコーダ１３１及び第二アーム用エンコーダ１４１を別体で設け、各関節部に接続される各アームがなす角度を計測し、各関節部の回転量としても良い。
また、第一アーム１０１の先端近傍には、マニピュレータに加えられる外力のベクトルを検知するための外力検出部１１２が取付けられ、第一アーム１０１先端には作業ツールである把持機構が取り付けられている。
そして、詳しくは後述するが、各モータ、各モータ用エンコーダ、外力検出部１１２と、第一アーム１０１のアーム先端（手先）の動作領域を入力する入力手段である入力部１１３とが、マニピュレータの制御装置として機能する制御部２１０に接続されている。
【００１４】
動作の一例としては、外力検出部１１２に外力が加わると、外力検出部１１２が接続された制御部２１０からの信号で第一モータ１０６と第二モータ１０９に動作指令が伝達され、各モータが駆動する。そして、入力部１１３で入力された動作領域内を第一アーム１０１のアーム先端が移動する。ここで、各アームが駆動されるときには各モータ用エンコーダから各モータの回転情報と、各アームの回転情報とが測定可能となっている。
【００１５】
次に、図２を用いてマニピュレータ装置１００の具体的な構成、及び動作について説明する。
図２は、本実施例に係る第一関節部１３０及び第二関節部１４０を動作させるマニピュレータ装置１００の駆動制御装置の制御ブロック図である。
マニピュレータ装置１００は、主に、マニピュレータ本体２００、電源部２９１、ホストコントローラ２８１等からなる。例えば、マニピュレータ動作に画像情報が必要な場合は画像入力装置２７１が接続されることもある。ここで、図２ではマニピュレータ本体２００、ホストコントローラ２８１、電源部２９１等を別体としているが、全てがマニピュレータ本体２００内に実装されたスタンドアロン型の構成としても良い。
【００１６】
制御部２１０には、中央処理装置であるＣＰＵ２１１等が備えられており、マニピュレータ本体２００の動作制御を行う。
ホストコントローラ２８１とＣＰＵ２１１は通信網２８２で接続されており、通信網２８２にて動作モード情報、駆動制御に必要な各種パラメータ、マニピュレータ本体２００の目標移動位置情報などが送られてくる。
また、ＣＰＵ２１１には、各種センサ２２０やスイッチ２２１の信号が入力されており、これらの信号情報をもとに、マニピュレータの稼動領域の入力（設定）、動作開始や緊急停止等の起動や停止が行われる。
【００１７】
マニピュレータ本体２００の各関節は、第一関節部１３０が第一モータ１０６で、第二関節部１４０が第二モータ１０９で駆動される。
第一モータ１０６及び第二モータ１０９の駆動情報は、第一モータ用エンコーダ１０７及び第二モータ用エンコーダ１１０からの信号として第一駆動情報検出部２３４及び第二駆動情報検出部２３６に入力される。これら入力された信号は、それぞれ第一駆動情報検出部２３４及び第二駆動情報検出部２３６で、移動量、移動速度、移動加速度といった回転情報に変換される。これら変換された回転情報と外力検出部１１２で検出されるマニピュレータ本体２００に加わる外力がＣＰＵ２１１（制御部２１０）内の駆動制御部２１４に入力される。
【００１８】
また、入力部１１３から第一アーム１０１のアーム先端の動作領域がＣＰＵ２１１に入力され、第一アーム１０１のアーム先端の動作領域や動作方向が制限される。
駆動制御部２１４は、これらの回転情報、外力、制限された動作方向を元に目標指令値を生成する。そして、生成した目標指令値に沿った駆動となるよう、第一モータドライバ２３３及び第二モータドライバ２３５に制御指令を出し、第一モータ１０６及び第二モータ１０９を駆動する。
また、ＣＰＵ２１１内には記憶部２１５を有しており、この記憶部２１５が、各関節部のそれぞれに連結される支持部がなす角度を、各関節部毎に記憶する記憶手段として機能する。
【００１９】
ここで、制御部２１０では、ダイレクトティーチング開始時間から一定間隔で、開始からの時間、及びマニピュレータの位置、姿勢として、各関節部のそれぞれに連結される支持部がなす角度を、各関節部毎に記憶部２１５に登録（記憶）する。これにより、ユーザーがマニピュレータを動かした場合、現在のマニピュレータ位置姿勢と現在の位置姿勢までの動作軌跡を登録する。
そして、ダイレクトティーチングした動作をマニピュレータに再現させる場合、ダイレクトティーチング後のユーザーの合図（入力部１１３からの指示）で、制御部２１０は記憶部２１５に登録された位置、姿勢に登録された時間間隔にあわせて各関節部を駆動する。
【００２０】
次に、図３を用いて、本実施例のマニピュレータ装置１００に用いることができる入力部１１３の一例である入力装置１１４について説明する。
図３は、本実施例のマニピュレータ装置１００に用いることができる入力装置１１４の説明図である。
入力装置１１４には、操作を行うための表示や操作を受け付けるタッチパネル１１４ａ、入力する値や選択子の番号等を入力するテンキー１１４ｂ、入力や選択を行った後に、その処理を実行（確定）させる実行ボタン１１４ｃが設けられている。また、電源ＯＮボタン１１４ｄや緊急停止ボタン１１４ｅも設けられている。
そして、タッチパネル１１４ａ等で、ダイレクトティーチング開始、終了、再現実行などの操作も行う。
【００２１】
このような入力装置１１４を用いることで、マニピュレータ装置１００を利用する利用者（以下、ユーザーという。）はタッチパネル１１４ａの表示に従って、マニピュレータの操作が可能である。また、タッチパネル１１４ａ、又はテンキー１１４ｂにより動作プロファイルの作成後、実行ボタン１１４ｃを押すことよりマニピュレータの動作を開始することが可能である。また、マニピュレータの動作方向等の制限をタッチパネル１１４ａ、又はテンキー１１４ｂにより行うことができる。
例えば、タッチパネル１１４ａに現在のマニピュレータの位置・姿勢を３Ｄモデルで映し出し、アーム先端（手先）の座標軸のある１軸をテンキーで選択する。選択された入力信号は制御部２１０に入力され、動作指令値生成のとき使用される。
【００２２】
ここで、図４を用いてマニピュレータで発生する力について説明しておく。
図４は、マニピュレータで発生する力について説明図であり、図４（ａ）が２関節マニピュレータのモデルの説明図、図４（ｂ）が図４（ａ）に示したモデルの各部で発生する力の説明図である。
図４（ａ）に示す２関節マニピュレータのモデルでは、Ｘ−Ｙ座標系の原点に第一リンク３０１の一方の端部近傍に第一関節軸（回転軸）３０１が回転可能に固定して設けられ、他方の端部近傍に第二リンク３０２との第二関節軸３０４が設けられている。
【００２３】
このような２関節マニピュレータが、Ｘ−Ｙ平面で動作しているときの運動方程式を考えることで、各関節（回転軸）で発生するトルクを求める。図４（ｂ）中の記号は下記を示しており、本例では２関節であるため、ｉ＝１，２とする。
Ｉｉ  ：  慣性モーメント
Ｌｉ  ：  軸間リンク長
ｍｉ  ：  質量
θｉ  ：  角度
τｉ  ：  回転軸トルク
ｒｉ  ：  回転軸と質量中心との距離
ｇ  ：  重力加速度（ｙ軸負方向）
【００２４】
一般的に、運動方程式は次の式１で与えられる。
【数１】
2017074669.tif 000003
ここで、上記式１に記載のｑは一般化座標を示し、次の式２のように表される。
【数２】
2017074669.tif 000004
また、上記式１の第一項は慣性力、第二項は遠心力及びコリオリ力、第三項は重力項を示す。
ここで、上述した説明は、２関節マニピュレータのモデルについてのものであるが、関節軸が３以上の複数軸であっても、上記式１、及び式２で記述（表す）することができる。
そして、図４に上記運動方程式を当てはめると次の式３のように表すことができ、動作中に各回転軸にかかるトルクを求める（推定する）ことができる。
【数３】
2017074669.tif 000005
実際には、機械構成や減速機構、剛性、粘性摩擦などを考慮することで精度良くトルクを求める（推定する）ことができる。
【００２５】
また、第二リンク３０２の先端（手先）で発生したい力Ｆと各関節に必要なトルクは次の式４の関係がある。
【数４】
2017074669.tif 000006
ここで、Ｊはヤコビ行列を表す。
力を求めるためには、次の式５に示すようにして求めればよい。
【数５】
2017074669.tif 000007
【００２６】
上記２関節マニピュレータの例だと、ヤコビ行列は次の式６のように表すことができる。
【数６】
2017074669.tif 000008
これを式５にあてはめることで、次の式７に示すように発生する力を求めることができる。
【数７】
2017074669.tif 000009
以上、ここでは２関節マニピュレータを例に挙げたが、関節軸はいくつであっても良い。
【００２７】
次に、本実施例のマニピュレータ駆動装置に適用可能なマニピュレータのダイレクトティーチングで行う、パワーアシスト制御（以下、アシスト制御という。）の方法を、複数の例を挙げて説明する。
ここで、マニピュレータのアシスト制御方法の後述する各例では、マニピュレータ装置１００のように外力を検知するための外力検出部１１２等の外力検出部で検出（計測）した外力を用いる方法と、上記運動方程式等を用いて推定した外力を用いる方法を説明する。
【００２８】
（アシスト制御方法１）
まず、マニピュレータのアシスト制御方法１について、図を用いて説明する。
図５は、アシスト制御方法１に係るアシスト制御の制御ブロック図であり、図５（ａ）が外力検出部で検出（計測）した外力を用いる場合を示し、図５（ｂ）が運動方程式等を用いて推定した外力を用いる場合を示している。図６は、アシスト制御方法１に係る外力に対するモータ出力を示した図、図７は、アシスト制御方法１に係る制御フローを示した図である。
【００２９】
アシスト制御方法１では、図５（ａ）及び図５（ｂ）の制御ブロック図に示すように、それぞれ外力（操作力）検出４０６及び外力（操作力）検出４０７での検出結果に応じて、外力と同じ方向に大きな力が加わるようモータ４０４の出力を変更するアシスト制御を行う。
いずれの制御ブロック図でも、マニピュレータ４２０に加えられる外力を検出すると、ＰＩＤ部４０１（駆動制御部２１４）で演算を行い、ドライバ４０２でモータ４０４へ電流を流す。モータへの入力トルクは電流とトルク定数４０３を乗算したものとなる。モータ４０４が駆動されることにより、リンク機構４０５が動作される。
【００３０】
外力は、図５（ａ）のように、軸力覚センサ等のセンサを取り付けて外力（操作力）検出４０６を行う場合と、図５（ｂ）のように、モータ４０４への入力トルクやモータ４０４の位置・速度等から外力（操作力）検出４０７、つまり推定を行う場合とがある。外力を推定する場合は図４を用いて説明した運動方程式等から求めることができ、摩擦粘性や機械剛性を考慮した推定をすることで、より精度を上げた外力検出を行うことができる。
また、このアシスト制御方法１では、図６に示すように外力Ｆ１とモータ出力ｎＦ１とは比例するように制御される。
ここで、より具体的な制御フローは、次のように行われる。
【００３１】
例えば、図７に示した制御フローのように、アシスト制御が開始（スタート）されると、外力（操作力）検出を行い（Ｓ１０１）、外力を検出して操作ありと判断した場合（Ｓ１０２のＹＥＳ）、モータ（トルク）出力値の算出を行う（Ｓ１０３）。一方、外力を検出せず操作無しと判断した場合（Ｓ１０２のＮＯ）、外力（操作力）検出（Ｓ１０１）に戻り、外力を検出して操作ありと判断するまで、繰り返す。
モータ（トルク）出力値の算出を行ったら（Ｓ１０３）、算出した出力値でのモータ駆動を行った（Ｓ１０４）後、再度、外力（操作力）検出を行う（Ｓ１０５）。そして、外力を検出して操作ありと判断した場合（Ｓ１０６のＹＥＳ）、モータ（トルク）出力値の算出に戻る（Ｓ１０３）。一方、外力を検出せず操作無しと判断した場合（Ｓ１０６のＮＯ）、アシスト制御を終了する。
【００３２】
（アシスト制御方法２）
次に、マニピュレータのアシスト制御方法２について、図を用いて説明する。
図８は、アシスト制御方法２に係るアシスト制御の制御ブロック図であり、図８（ａ）が外力検出部で検出（計測）した外力を用いる場合を示し、図８（ｂ）が運動方程式等を用いて推定した外力を用いる場合を示している。図９は、アシスト制御方法２に係る制御フローを示した図である。図１０は、アシスト制御方法２の模式図を用いた説明図であり、図１０（ａ）がマニピュレータ４２０を操作するときの模式図、図１０（ｂ）が目標値を設定してアシスト制御を行う場合と、アシスト制御を行わない場合の操作力の違いを説明した図である。図１１は、操作力目標生成部に係る検出した外力と、操作力の目標値及び操作力指定値との関係の説明図であり、図１１（ａ）が目標値に対して外力が不感帯を持つプロファイル、図１１（ｂ）が目標値に対して外力が不感帯を持たないプロファイルである。
【００３３】
アシスト制御方法２では、図８（ａ）及び図８（ｂ）の制御ブロック図に示すように、
それぞれ操作力目標生成部４０９で操作力の目標値を設定することで、一定の外力で操作を可能とするアシスト制御を行うことに係る点のみアシスト制御方法１と異なる。その他の制御ブロックは、アシスト制御方法１の説明に用いた図５（ａ）及び図５（ｂ）と同様である。
いずれの制御ブロック図でも、マニピュレータ４２０の関節部の位置（関節角）・速度の変化や外力の変化から操作の有無を判断してアシスト制御を開始し、外力と比較を行って操作力が目標値とになるようモータ４０４の出力を変更するアシスト制御を行う。
【００３４】
例えば、図９に示した制御フローのように、アシスト制御が開始（スタート）されると、操作力の目標値の設定を行った（Ｓ２０１）後、マニピュレータ４２０の関節部の位置（関節角）検出（Ｓ２０２）と外力（操作力）検出（Ｓ２０３）とを行う。これらの検出結果から操作があったか否かの判断を行い（Ｓ２０４）、操作ありと判断した場合（Ｓ２０４のＹＥＳ）、設定した操作力の目標値と検出した外力との誤差の検出を行う（Ｓ２０５）。一方、操作無しと判断した場合（Ｓ２０４のＮＯ）、マニピュレータ４２０の関節部の位置（関節角）検出（Ｓ２０２）に戻り、操作ありと判断するまで、繰り返す。
【００３５】
操作力の目標値と検出した外力との誤差を検出したら（Ｓ２０５）、目標値と検出した誤差に基づいて、モータ（トルク）出力値の算出を行い（Ｓ２０６）、算出した出力値でのモータ駆動を行う（Ｓ２０７）。
その後、再度、モータ駆動後のマニピュレータ４２０の関節部の位置（関節角）検出（Ｓ２０８）と外力（操作力）検出（Ｓ２０９）とを行う。そして、これらの検出結果から操作があったか否かの判断を行い（Ｓ２１０）、操作ありと判断した場合（Ｓ２１０のＹＥＳ）、設定した操作力の目標値と検出した外力との誤差を検出に戻る（Ｓ２０５）。一方、操作無しと判断した場合（Ｓ２１０のＮＯ）、アシスト制御を終了する。
【００３６】
上述したように、アシスト制御を行うことで、例えば、次のような効果を奏することができる。
図１０（ａ）に示すようにマニピュレータ４２０を操作するとき、図１０（ｂ）に示すように大きく変動するアシスト無しでの操作力に対して、操作力の目標値を設定して行うアシスト時には、変動が少ない略一定の軽い操作力での操作が可能となる。
ここで、操作力の設定、つまり操作力指令値の設定では、図１１（ａ）及び図１１（ｂ）に示すようなプロファイルを用いることができる。いずれのプロファイルでも、検出した外力（操作力）の値が目標値：Ｆｔに対応する値：Ｆ以上となった以降は、目標値：Ｆｔとなるように操作力指令値を設定する点では共通している。但し、図１１（ａ）に示すプロファイルは、外力の値が目標値：Ｆｔに対応するＦ以上となるまで、外力の変化に比例して操作力指令値を変化させる図１１（ｂ）に示すプロファイルとは異なり、目標値：Ｆｔに対して外力が不感帯を持つようなプロファイルである。
【００３７】
具体的には、目標値：Ｆｔに対応する外力の値であるＦよりも小さな値、例えばＦ１までは操作力指令値を変化させず（操作力指令値＝０）、外力の値がＦ１以上となったら、目標値：Ｆｔとなるように操作力指令値を設定する。
図１１（ａ）に示すようなプロファイルを用いること、つまり、標値：Ｆｔに対して外力が不感帯を持つようなプロファイルを用いることで、図１１（ｂ）に示すプロファイルを用いた場合に生じるおそれのある次のような不具合の発生を抑制できる。
マニピュレータ４２０に外力を加えたときに、マニピュレータ４２０が突然動作してしまったり、発振してしまったりする不具合である。
【００３８】
（アシスト制御方法３）
次に、マニピュレータのアシスト制御方法３について、図を用いて説明する。
図１２は、アシスト制御方法３に係るアシスト制御の制御ブロック図であり、図１２（ａ）が外力検出部で検出（計測）した外力を用いる場合を示し、図１２（ｂ）が運動方程式等を用いて推定した外力を用いる場合を示している。図１３は、アシスト制御方法３に係る制御フローを示した図である。図１４は、４自由度のマニピュレータ５０１において、動作領域をある１軸に制限した場合の説明図、図１５は、４自由度のマニピュレータ５０１において、動作領域をある平面に制限した場合の説明図である。図１６は、４自由度のマニピュレータ５０１において、動作領域をある１軸の回転方向に制限した場合の説明図である。
【００３９】
アシスト制御方法３では、図１２（ａ）及び図１２（ｂ）の制御ブロック図に示すように、それぞれ操作力の目標値の設定に加え、位置制御を基本としたアシスト制御を行うことに係る点のみアシスト制御方法２と異なる。その他の制御ブロックは、アシスト制御方法２の説明に用いた図８（ａ）及び図８（ｂ）と同様である。
いずれの制御ブロック図でも、外力（操作力）を検出すると、外力と目標値との差分を元にして、位置を変更するような位置速度指令プロファイルを生成してモータ４０４を駆動させることで、操作力が一定となるようなアシスト制御を行う。
【００４０】
例えば、図１３に示した制御フローのように、アシスト制御が開始（スタート）されると、マニピュレータ５０１（図１４等参照）の手先の位置／速度指令値設定を行う（Ｓ３０１）。この設定は、入力手段、例えば図１（ａ）に示した入力部１１３から入力された、ユーザーが入力するマニピュレータ５０１の手先の動作領域と手先の移動速度の初期値とに基づいて設定される。この設定の後、操作力の目標値の設定を行い（Ｓ３０２）、マニピュレータ５０１の関節部の位置（関節角）検出（Ｓ３０３）と外力（操作力）検出（Ｓ３０４）とを行う。これらの検出結果から操作があったか否かの判断を行い（Ｓ３０５）、操作ありと判断した場合（Ｓ３０５のＹＥＳ）、設定した操作力の目標値と検出した外力との誤差の検出を行う（Ｓ３０６）。一方、操作無しと判断した場合（Ｓ３０５のＮＯ）、マニピュレータ５０１の関節部の位置（関節角）検出（Ｓ３０３）に戻り、操作ありと判断するまで、繰り返す。
【００４１】
操作力の目標値と検出した外力との誤差を検出したら（Ｓ３０６）、目標値、位置（関節角）検出（Ｓ３０６）の検出結果、及び検出した誤差とに基づいて、手先の位置／速度指令値設定（Ｓ３０１）で設定した位置／速度指令値の変更を行う（Ｓ３０７）。そして、目標値と検出した誤差及び変更した位置／速度指令値に基づいて、モータ（トルク）出力値の算出を行い（Ｓ３０８）、算出した出力値でのモータ駆動を行う（Ｓ３０９）。
その後、再度、モータ駆動後のマニピュレータ５０１の関節部の位置（関節角）検出（Ｓ３１０）と外力（操作力）検出（Ｓ３１１）とを行う。そして、これらの検出結果から操作があったか否かの判断を行い（Ｓ３１２）、操作ありと判断した場合（Ｓ３１２のＹＥＳ）、設定した操作力の目標値と検出した外力との誤差を検出に戻る（Ｓ３０６）。一方、操作無しと判断した場合（Ｓ３１２のＮＯ）、アシスト制御を終了する。
【００４２】
このようにアシスト制御を行うことで、入力部１１３等の入力手段により、マニピュレータ５０１の手先（アーム先端）の動作領域を予め入力して、マニピュレータ５０１に外力（操作力）を加えたときに駆動させるモータ４０４の出力を制御することができる。このように出力を制御することで、マニピュレータ５０１に外力（操作力）を加えたときに、回動させる各関節部の回動角度を制御してマニピュレータ５０１の手先の動作方向や動作軌跡等の動作領域を、入力部１１３等の入力手段により予め入力した動作領域に制限することができる。その結果、例え、ユーザーが意図していなかった方向に外力を加えてしまった場合であっても、その方向へマニピュレータ５０１の手先が動作してしまうことを防ぐことができる。したがって、マニピュレータ５０１に外力を加えたときに、マニピュレータ５０１の手先が、ユーザーの意図していない移動方向に移動したり、ユーザーが意図していな動作軌跡を描いて移動したりしてしまうことを抑制できる。
よって、人の手で行うダイレクトティーチングにおいて、マニピュレータ５０１の手先の移動を、任意の位置・姿勢・移動軌跡でユーザーが意図した通りに教示（登録）することができるマニピュレータの制御装置を提供できる。
【００４３】
次に、アシスト制御方法３を用いて、入力部１１３等の入力手段により入力(制限、設定)可能なマニピュレータ５０１の手先の動作領域と、この動作領域内で検出する外力成分について、複数の具体例を挙げて説明する。
（具体例１）
具体例１のマニピュレータ５０１は、図１４に示すように４軸を有する４自由度のマニピュレータであり、その手先ｚ軸５０６、ｙ軸５０７、ｘ軸５０８の座標をおき、手先座標系５０４を設定している。この手先座標系５０４はユーザーが任意に設定できる。また、マニピュレータ５０１は４軸マニピュレータとしているが、他の複数軸のマニピュレータでも置き換えられる。
【００４４】
具体例１のマニピュレータ５０１は、図１４に示すようにｘ軸５０８を動作領域５０５とおいている。このため、マニピュレータ５０１の手先に加わる外力５０２を手先座標系５０４で分解するとｚ軸外力５０９、ｙ軸外力５１０、ｘ軸外力５１１となり、動作領域内の外力５０３はｘ軸外力５１１となる。
【００４５】
（具体例２）
具体例２のマニピュレータ５０１は、具体例１のマニピュレータと同様な４自由度のマニピュレータであり、図１５に示すように、ｙ−ｚ平面を動作領域５０５とおいている。このため、マニピュレータ５０１の手先に加わる外力５０２を手先座標系５０４で分解するとｚ軸外力５０９、ｙ軸外力５１０、ｘ軸外力５１１となり、動作領域内の外力５０３はｚ軸外力５０９とｙ軸外力５１０の合力になる。
【００４６】
（具体例３）
具体例３のマニピュレータ５０１は、具体例１、２のマニピュレータと同様な４自由度のマニピュレータであり、図１６に示すように、ｘ軸５０８を回転軸として回転する回転方向を動作領域５０５とおいている。そして、マニピュレータ５０１の手先に加わる外力５０２を手先座標系５０４で分解するとｚ軸外力５０９、ｙ軸外力５１０、ｘ軸外力５１１となる。また、回転方向の外力５１２はｘ軸５０８にかかるとする。すると、動作領域内の外力５０３は回転方向の外力５１２になる。
【００４７】
上述した具体例１〜３で検出した動作領域内の外力ベクトルは位置速度指令生成部４１１（制御部）に送られ、各関節部のモータ４０４（駆動部）の指令値生成に用いられる。
ここで、上述した具体例１〜３のマニピュレータ５０１は４軸マニピュレータで表しているが、複数軸のマニピュレータでも置き換えられる。
ただし、３軸マニピュレータまでは図１５まで適応でき、４軸マニピュレータ以降は図１６まで適応可能である。
【００４８】
上述したアシスト制御に係る各制御や各構成を、図１に示したマニピュレータ装置１００に適用すると、例えば、以下に列挙するような構成にできる。
制御部２１０は、第一アーム１０１先端の動作領域を入力する入力部１１３を有している。そして、外力検出部１１２で外力（操作力）のベクトルが検出されたとき、次のようにアシスト制御を行う。外力検出部１１２の検出結果と入力部１１３から入力される動作領域とに基づいて、入力された動作領域内を第一アーム１０１先端が移動するように、第一駆動部１６０（第一モータ１０６）や第二駆動部１７０（第二モータ１０９）の駆動を制御して外力を補助する。
【００４９】
このように制御することで、入力部１１３により、第一アーム１０１先端の動作領域を予め入力して、マニピュレータに外力（操作力）を加えたときに駆動させる第一駆動部１６０（第一モータ１０６）や第二駆動部１７０（第二モータ１０９）の出力を制御できる。このように出力を制御することで、マニピュレータに外力（操作力）を加えたときに、回動させる各関節部の回動角度を制御して第一アーム１０１先端の動作方向や動作軌跡等の動作領域を、入力手段により予め入力した動作領域に制限することができる。その結果、例え、ユーザーが意図していなかった方向に外力を加えてしまった場合であっても、その方向へマニピュレータ先端部が動作してしまうことを防ぐことができる。したがって、マニピュレータに外力を加えたときに、第一アーム１０１先端が、ユーザーの意図していない移動方向に移動したり、ユーザーが意図していな動作軌跡を描いて移動したりしてしまうことを抑制できる。
よって、人の手で行うダイレクトティーチングにおいて、マニピュレータ装置１００の第一アーム１０１先端の移動を、任意の位置・姿勢・移動軌跡で教示者が意図した通りに教示することができるマニピュレータの制御装置としての制御部２１０を提供できる。
【００５０】
また、マニピュレータ装置１００は、第一関節部１３０、及び第二関節部１４０のそれぞれに連結される第一アーム１０１と第二アーム１０２、及び第二アーム１０２と支柱部１１１ｂがなす角度を、各関節部毎に検出する角度検出部を備えている。ここで、角度検出部としては、第一アーム用エンコーダ１３１及び第二アーム用エンコーダ１４１をそれぞれ単独で備えても良いし、第一モータ用エンコーダ１０７及び第二モータ用エンコーダ１１０を、各アーム用エンコーダとして機能させても良い。そして、制御部２１０は、各アーム用エンコーダの内、少なくとも一つの検出結果に基づいて、入力された動作領域内を第一アーム１０１先端が移動するように、第一駆動部１６０と第二駆動部１７０の駆動を制御して前記外力を補助する。
このように外力（操作力）を補助することで、次のような効果を奏することができる。
ユーザーがマニピュレータへ操作力（外力）を加えたときに、各アーム用エンコーダの内、少なくとも一つの検出結果に基づいてアシスト動作することが可能となり、第一アーム１０１先端のアシスト動作の精度を、より高めることができる。
【００５１】
また、制御部２１０は、第一アーム１０１先端の姿勢を保持した状態で、入力された動作領域内を第一アーム１０１先端が移動するように、第一駆動部１６０と第二駆動部１７０の駆動を制御して前記外力を補助する。
このように外力（操作力）を補助することで、例えば、入力された移動方向に沿ってマニピュレータ先端部を平行移動させるようにアシスト動作することが可能となる。
【００５２】
また、制御部２１０は、第一関節部１３０、及び第二関節部１４０のそれぞれに連結される第一アーム１０１と第二アーム１０２、及び第二アーム１０２と支柱部１１１ｂがなす角度を、各関節部毎に記憶する記憶部２１５を有している。そして、入力部１１３（入力装置１１４）は、記憶部２１５に記憶した角度を用いて、第一アーム１０１先端が移動するときに描く軌道を指定できる。
このように指定できることで、マニピュレータ先端部を指定した軌道に沿って移動させるようにアシスト動作することが可能となる。
【００５３】
また、制御部２１０は、第一関節部１３０、及び第二関節部１４０のそれぞれに連結される第一アーム１０１と第二アーム１０２、及び第二アーム１０２と支柱部１１１ｂがなす角度を、各関節部毎に記憶する記憶部２１５を有している。そして、入力部１１３（入力装置１１４）は、記憶部２１５に記憶した角度を用いて、第一アーム１０１先端が移動する平面を指定できる。
このように指定できることで、第一アーム１０１先端を指定した平面に沿って移動させるようにアシスト動作することが可能となる。
【００５４】
また、制御部２１０は、第一関節部１３０、及び第二関節部１４０のそれぞれに連結される第一アーム１０１と第二アーム１０２、及び第二アーム１０２と支柱部１１１ｂがなす角度を、各関節部毎に記憶する記憶部２１５などの記憶手段を有している。そして、入力部１１３（入力装置１１４）は、記憶部２１５に記憶した角度を用いて、第一アーム１０１先端が回転する位置を指定できる。
このように指定できることで、第一アーム１０１先端を指定した位置（回転軸）を中心に回転させるようにアシスト動作することが可能となる。
【００５５】
また、制御部２１０は、第一アーム１０１先端などの前記マニピュレータ先端部の移動速度が所定の速度を超えないように制御する。
このように制御することで、次のような効果を奏することができる。
外力検出部１１２の検出結果だけに基づいて、マニピュレータに加えられる外力を補助するように第一駆動部１６０と第二駆動部１７０の駆動を制御する構成では、ユーザーが意図した移動速度から、かけ離れた移動速度で第一アーム１０１先端が移動するおそれがある。
一方、アシスト制御の制御ブロックに位置速度指令生成部４１１を設ける等して、所定の速度を超えないように制御することで、ユーザーが意図した移動速度から、かけ離れた移動速度で第一アーム１０１先端が移動することを抑制できる。
【００５６】
また、マニピュレータ駆動装置に備える制御部として、上述したいずれかの制御部２１０を備えることで、上述したいずれかの制御部２１０と同様な効果を奏することができるマニピュレータ装置１００を提供できる。
【００５７】
（実施例２）
次に、本実施形態のマニピュレータの制御装置を備えたマニピュレータ駆動装置の実施例２について、図を用いて説明する。
本実施例のマニピュレータ駆動装置（以下、マニピュレータ装置６００）は、上述した実施例１のマニピュレータ駆動装置と、動作領域を入力する入力手段（入力装置）に有した動作領域指定手段の具体例を例示した点が主に異なる。その他の点については、上述した実施例１のマニピュレータ駆動装置と同様な機能や構成を備えることができるため、その説明については、適宜、省略して説明する。
【００５８】
図１７は、本実施例に係るマニピュレータ装置６００の概要説明図、図１８は、ツールポイント座標系６９１と、マニピュレータ絶対座標系６９２の説明図、図１９は、マニピュレータ装置６００に備える動作領域指定手段の説明図である。図２０は、動作領域（動作方向）を指定するときの一例の説明図である。
ここで、本実施例では図１７に示すように４自由度のマニピュレータを備えたマニピュレータ装置６００を例に説明するが、マニピュレータの形態はいかなるものでもよく、広く知られるスカラ型や６軸垂直多関節型であっても良い。
【００５９】
図１７に示すように、本実施例のマニピュレータ装置６００は設置台６２０に設置されている。そして、マニピュレータの根本側には不動部６０５があり、第四関節６０４が配置される。この第四関節６０４と第三関節６０３は、第三支持部６１３によって連結されている。同様に第三関節６０３と第二関節６０２は第二支持部６１２によって連結され、第二関節６０２と第一関節６０１は第一支持部６１１によって連結されている。また、第一関節６０１の先端には作業ツールであるエンドエフェクタ６１０が設けられる。
【００６０】
ここで、第一関節６０１はツールポイントとも呼ばれ、ダイレクトティーチングの際にはユーザー（操作者）６３０はエンドエフェクタ６１０の姿勢と位置を動かしたいためツールポイント（第一関節６０１）近傍を操作することが自然である。
また、マニピュレータ装置６００に対して、ユーザーがダイレクトティーチング（教示・設定）を行うときには、図１８に示すようなツールポイント（第一関節６０１）座標系６９１と、マニピュレータ絶対座標系６９２を考慮する必要がある。ここで、ツールポイント座標系６９１は、第一関節６０１から第四関節６０４が回動するにならって位置と姿勢が変化し、マニピュレータ絶対座標系６９２は不動である。
【００６１】
また、ユーザー（操作者）６３０が意図として、例えばＸｔｐベクトルに沿ってまっすぐにツールポイントを動かしたい場合、従来のダイレクトティーチングでは人間の操作なので厳密に方向を定めたり、まっすぐ動かしたりすることは不可能である。そして、上述した実施例１で説明したようなマニピュレータの制御装置を備えることで、人の手で行うダイレクトティーチングにおいて、マニピュレータ駆動装置の第一支持部の移動を、従来よりも任意の位置・姿勢・移動軌跡で正確に教示することができる。
しかし、入力手段として、ユーザーにより保持する入力装置１１４等を用いる構成では、ユーザーがマニピュレータに操作力としての外力を加えるときに、次のような必要が生じる場合があり、直感的で簡便な教示方法としては不十分となる場合がある。ユーザーが入力装置１１４等から片手あるいは両手を離して持ち替えながら作業したり、マニピュレータ位置や姿勢によらずマニピュレータ座標系を把握・確認しながら操作したりする必要である。
【００６２】
そこで、本実施例のマニピュレータ装置６００では、人の手で行うダイレクトティーチング方法を、より直感的で簡便な教示方法とするため、動作領域を入力する入力手段に動作領域を指定する手段として、次のような動作領域指定手段を有することとした。
図１９に示すように、ツールポイント座標系におけるＸｔｐベクトルに動作領域を指定するためのＸｔｐ動作領域指定ボタン６５１、Ｚｔｐベクトルに動作領域を指定するためのＺｔｐ動作領域指定ボタン６５２を第一関節６０１に有している。
これらを有さない構成では、例えば、ユーザー（操作者）が意図としてＸｔｐベクトルに沿ってまっすぐに動かしたいとき、ユーザーが加えた操作力：Ｆが図２０に示すようにＸｔｐからθｄｅｇずれていた場合、Ｘｔｐからθｄｅｇずれたままアシストされる。
一方、図１９に示すように、Ｘｔｐ動作領域指定ボタン６５１、Ｚｔｐ動作領域指定ボタン６５２を第一関節６０１に有した構成では、ユーザー６３０がＸｔｐ動作領域指定ボタン６５１を押下すると、ＺｔｐおよびＹｔｐ方向にはブレーキ（規制）がかかる。そして、Ｘｔｐ方向のみにアシストがなされ、ユーザー６３０の意図通りにツールポイント（第一関節６０１）を誘導することができる。
【００６３】
また、Ｘｔｐ動作領域指定ボタン６５１はＸｔｐ方向を明示するような向きに配置されており、ユーザーがツールポイント座標系６９１を意識することなく直感的に選択することができる。さらに、Ｘｔｐ動作領域指定ボタン６５１にはＬＥＤが備えられ、押下した状態では青く点灯し、動作領域の指定が明示されるようになっている。
【００６４】
上記説明では、Ｘｔｐ動作領域指定ボタン６５１を押下すると、指定方向のＸｔｐ方向のみ動作可能にする構成を示した。しかし、高さ方向であるＺｔｐ方向を維持したままＸｔｐ−Ｙｔｐ平面を自在に動かしたい場合には、Ｚｔｐ方向を指定してＺｔｐ方向への移動を規制した方が、つまり動作不可にした方が便利な場合もある。このため、Ｚｔｐ動作領域指定ボタン６５２を１度押下すると、ＬＥＤが青く点灯してＺｔｐにのみ動作可能となり、さらにもう一度押下すると、赤く点灯しＺｔｐのみ動作不能とし、さらにもう一度押下すると動作領域指定が解除されるように構成している。
【００６５】
また、上記説明では、ツールポイント座標系６９１における動作領域指定に関する構成例を説明した。しかし、従来のティーチングペンダントと併用する場合やマニピュレータ装置と例えば部品搬送のためのコンベアなどの周辺機器との座標を合わせて教示したい場合、マニピュレータ絶対座標系６９２に関しても操作する必要がある。そこで、図１９に示すように、第三支持部６１３が接続された不動部６０５にマニピュレータ絶対座標系６９２に関してのＸａｂ動作領域指定ボタン６５４、Ｙａｂ動作領域指定ボタン６５５、及びＺａｂ動作領域指定ボタン６５３を設けている。これらによって、マニピュレータ絶対座標系６９２に関して動作領域指定することができる。
【００６６】
以上、本実施例のマニピュレータ装置６００に備えるマニピュレータの制御装置（制御部２１０）では、入力手段は、マニピュレータ先端部となる第一関節６０１の移動方向を、例えば、Ｘｔｐ方向等の指定したベクトル方向のみに限定するＸｔｐ動作領域指定ボタン６５１等を有する。
これにより、次のような効果を奏することができる。
ツールポイント座標系６９１やマニピュレータ絶対座標系６９２のＸ，Ｙ，Ｚ方向のいずれかの方向、例えば、ツールポイント座標系６９１のＸｔｐ（横方向）方向への移動のみに限定し、横方向に移動させたい場合に、直感的な教示が可能となる。
【００６７】
また、本実施例のマニピュレータの制御装置では、入力手段は、マニピュレータ先端部となる第一関節６０１の移動方向を、例えば、Ｚｔｐ方向等の指定したベクトル方向への移動のみを規制するＺｔｐ動作領域指定ボタン６５２等を有する。
これにより、次のような効果を奏することができる。
ツールポイント座標系６９１やマニピュレータ絶対座標系６９２のＸ，Ｙ，Ｚ方向のいずれかの方向、例えば、ツールポイント座標系６９１のＺｔｐ（高さ）方向への移動のみ規制（固定）し、高さを保持して移動させたい場合に、直感的な教示が可能となる。
【００６８】
また、本実施例のマニピュレータの制御装置では、入力手段は、次のようなＬＥＤを有している。Ｘｔｐ動作領域指定ボタン６５１、Ｚｔｐ動作領域指定ボタン６５２、Ｘａｂ動作領域指定ボタン６５４、Ｙａｂ動作領域指定ボタン６５５、及びＺａｂ動作領域指定ボタン６５３等で指定したベクトル方向を点灯により表示するＬＥＤである。
これにより、次のような効果を奏することができる。
上述したような動作領域指定手段で指定したベクトル方向、つまり、どの方向に動かせるか、又はどの方向への移動が規制されているかを、ユーザー（操作者）に伝達できるので、ユーザーの直感的な操作を助けることができる。
【００６９】
また、本実施例のマニピュレータの制御装置では、入力手段は、動作領域を指定するＸｔｐ動作領域指定ボタン６５１、Ｚｔｐ動作領域指定ボタン６５２、Ｘａｂ動作領域指定ボタン６５４、Ｙａｂ動作領域指定ボタン６５５、及びＺａｂ動作領域指定ボタン６５３を有し、該動作領域指定手段で指定した動作領域を微調整可能なコントローラも有することができる。
これにより、次のような効果を奏することができる。
ツールポイント座標系６９１やマニピュレータ絶対座標系６９２のＸ，Ｙ，Ｚ方向のいずれでもない方向、例えば、マニピュレータ絶対座標系６９２のＸａｂ方向に対して３０ｄｅｇの方向に動かしたい場合はコントローラで調整できる。
【００７０】
また、本実施例のマニピュレータ駆動装置では、備えるマニピュレータの制御装置として、上述したいずれかのマニピュレータの制御装置を備えることで、上述したいずれかのマニピュレータの制御装置と同様な効果を奏することができるマニピュレータ装置６００を提供できる。
【００７１】
また、本実施例のマニピュレータ装置６００では、第一関節６０１の動作領域を入力する入力手段は、マニピュレータ装置６００本体に設置されている。そして、動作領域を指定するＸｔｐ動作領域指定ボタン６５１、Ｚｔｐ動作領域指定ボタン６５２、Ｘａｂ動作領域指定ボタン６５４、Ｙａｂ動作領域指定ボタン６５５、Ｚａｂ動作領域指定ボタン６５３等の動作領域指定手段を有している。
【００７２】
これにより、次のような効果を奏することができる。
入力手段として、ユーザーにより保持する入力装置１１４等を用いる構成では、ユーザーがマニピュレータに操作力としての外力を加えるときに、次のような必要が生じ、直感的で簡便な教示方法としては不十分となる場合がある。ユーザーが入力装置１１４等から片手あるいは両手を離して持ち替えながら作業したり、マニピュレータ位置や姿勢によらずマニピュレータ座標系を把握・確認しながら操作したりする必要である。
一方、入力手段に、マニピュレータ装置６００本体に設置され、動作領域を指定する動作領域指定手段を有している構成では、ユーザーが操作力を加える近傍に動作領域指定手段を配置でき、上述したような必要が生じることを抑制することができる。
よって、マニピュレータ装置６００本体から離れることなく誘導方向を任意に切り替えることが可能で、教育や経験を積んだ専門の作業者でなくとも容易、且つ、直感的にダイレクトティーチングを行うことができるマニピュレータ装置６００を提供できる。
【００７３】
また、本実施例のマニピュレータ装置６００では、入力手段に有したＸｔｐ動作領域指定ボタン６５１やＺｔｐ動作領域指定ボタン６５２等の動作領域指定手段は、マニピュレータ先端部近傍となる第一関節６０１に配置されている。
これにより、ユーザーの操作位置の１つとなるツールポイント近傍での動作領域の入力（設定）が可能となるので、より直感的な教示が行える。
【００７４】
また、本実施例のマニピュレータ装置６００では、入力手段に有したＸａｂ動作領域指定ボタン６５４、Ｙａｂ動作領域指定ボタン６５５、及びＺａｂ動作領域指定ボタン６５３等の前記動作領域指定手段は、不動部６０５に配置されている。
これにより、次のような効果を奏することができる。
マニピュレータ装置６００の根本で、マニピュレータ絶対座標系６９２で動作領域を定義できるため、より実践的な教示が行える。
【００７５】
（実施例３）
次に、本実施形態のマニピュレータの制御装置を備えたマニピュレータ駆動装置の実施例３について、図を用いて説明する。
本実施例のマニピュレータ駆動装置（以下、マニピュレータ装置７００）は、上述した実施例１、２のマニピュレータ駆動装置と、次の構成に係る点が主に異なる。ユーザー（操作者）が操作力（外力）を加えた支持部を検出するための接触検出手段を設け、意図した通りに回動させる関節部を設定できる構成を設けたことに係る点である。その他の点については、上述した実施例１のマニピュレータ駆動装置と同様な機能や構成を備えることができるため、その説明については、適宜、省略して説明する。
【００７６】
図２１は、本実施例に係るマニピュレータ装置７００の概略説明図であり、図２１（ａ）が平面説明図、図２１（ｂ）が主な構成部材の側面説明図である。図２２は、本実施例に係る第一関節部１３０、第二関節部１４０、第三関節部１５０及びを動作させるマニピュレータ装置７００の駆動制御装置の制御ブロック図である。図２３は、マニピュレータ装置７００に設けることができる接触検出部の例の説明図であり、図２３（ａ）がタッチセンサを用いた例の説明図、図２３（ｂ）が光学センサを用いた例の説明図である。
【００７７】
図２４は、接触検出部を用いた、マニピュレータ装置７００の動作モードの例の説明図であり、図２４（ａ）が第一動作モードである動作モード１の説明図、図２４（ｂ）が第二動作モードである動作モード２の説明図である。また、図２４（ｃ）が第三動作モードである動作モード３の説明図、図２４（ｄ）が第四動作モードである動作モード４の説明図である。図２５は、本実施例のダイレクトティーチングにおける動作制御シーケンスの一例の説明図である。
ここで、本実施例では図２１等に示すように３自由度のマニピュレータ（３つの関節部を設けたマニピュレータ）を備えたマニピュレータ装置７００を例に説明する。しかし、以下に説明する本実施例の要旨は、このような構成に限定されるものではなく、後述する動作モード１と動作モード２は２自由度以上、動作モード３と動作モード４は３自由度以上のマニピュレータを備えたマニピュレータ駆動装置に適用可能である。
【００７８】
マニピュレータ装置７００は、図２１に示すように、複数の支持部の内、装置本体の土台１１１ａに固定された不動部である支柱部１１１ｂから最も後段側（先端側）に第一関節部１３０を介して連結される第一アーム１０１を有している。この前段側には、第一関節部１３０を介して第一アーム１０１と連結される第二アーム１０２を有しており、更に前段側には、第二関節部１４０を介して第二アーム１０２と連結される第三アーム１２１を有している。そして、第三アーム１２１は、第三関節部１５０を介して支柱部１１１ｂに連結されている。
【００７９】
また、第一アーム１０１、第二アーム１０２、及び第三アーム１２１は、次のように支持されている。図２１（ｂ）に示すように、第一アーム１０１と第二アーム１０２はそれぞれ、前段側の端部近傍が、第一関節部１３０の第一駆動中心１０３と第二関節部１４０の第二駆動中心１０４に回転可能に支持されている。そして、第三アーム１２１も、前段側の端部近傍が、第三関節部１５０の第三駆動中心１２２に回転可能に支持されている。
ここで、第一関節部１３０の第一駆動中心１０３、第二関節部１４０の第二駆動中心１０４、及び第三関節部１５０の第三駆動中心１２２は平行に設けられている。
【００８０】
第一関節部１３０には、第一駆動部１６０としての、第一モータ１０６と、その第一駆動中心１０３を出力軸心とする第一減速機１０５とが接続されており、第一モータ１０６からの回転駆動力を減速して第一アーム１０１に伝達し、第一アーム１０１を回転駆動する。また、第二アーム１０２とは反対側の第一モータ１０６の側面には、第一モータ１０６の回転量を計測可能なように、第一モータ用エンコーダ１０７が取付けられており、第一減速機１０５と第一モータ１０６は第二アーム１０２に固定されている。
第二関節部１４０には、第二駆動部１７０としての、第二モータ１０９と、その第二駆動中心１０４を出力軸心とする第二減速機１０８とが接続されており、第二モータ１０９からの回転駆動力を減速して第二アーム１０２に伝達し、第二アーム１０２を回転駆動する。また、第三アーム１２１とは反対側の第二モータ１０９の側面には、第二モータ１０９の回転量を計測可能なように、第二モータ用エンコーダ１１０が取付けられており、第二減速機１０８と第二モータ１０９は第三アーム１２１に固定されている。
【００８１】
第三関節部１５０には、第三駆動部１８０としての、第三モータ１２４と、その第三駆動中心１２２を出力軸心とする第三減速機１２３とが接続されており、第三モータ１２４からの回転駆動力を減速して第三アーム１２１に伝達し、第三アーム１２１を回転駆動する。また、支柱部１１１ｂと第三モータ１２４の間には、第三モータ１２４の回転量を計測可能なように、第三モータ用エンコーダ１２５が取付けられており、第三駆動中心１２２の一端側は、支柱部１１１ｂ（土台１１１ａ）に固定されている。
【００８２】
第一モータ用エンコーダ１０７は、第一減速機１０５の減速比と計測した回転量から、第二アーム１０２に対する第一アーム１０１の回転量を計測する第一アーム用エンコーダ１３１としても機能する。また、第二モータ用エンコーダ１１０は、第二減速機１０８の減速比と計測した回転量から、第三アーム１２１に対する第二アーム１０２の回転量を計測する第二アーム用エンコーダ１４１としても機能する。そして、第三モータ用エンコーダ１２５は、第三減速機１２３の減速比と計測した回転量から、支柱部１１１ｂに対する第三アーム１２１の回転量を計測する第三アーム用エンコーダ１５１としても機能する。但し、第一アーム用エンコーダ１３１、第二アーム用エンコーダ１４１、及び第三アーム用エンコーダ１５１を別体で設け、各関節部に接続される各アームがなす角度を計測し、各関節部の回転量としても良い。
【００８３】
第一アーム１０１には、第一アーム１０１を介して第一駆動中心１０３に加わる外力のベクトルを検知するための第一外力検出部１３２と、ユーザーの手等の物体が第一アーム１０１に接触したことを検出するための第一接触検出部１３３が取付けられている。そして、第一アーム１０１先端には作業ツールである把持機構が取り付けられている。一方、第二アーム１０２には、第二アーム１０２を介して第二駆動中心１０４に加わる外力のベクトルを検知するための第二外力検出部１４２と、ユーザーの手等の物体が第二アーム１０２に接触したことを検出するための第二接触検出部１４３が取付けられている。また、第三アーム１２１には、第三アーム１２１を介して第三駆動中心１２２に加わる外力のベクトルを検知するための第二外力検出部１４２と、ユーザーの手等の物体が第三アーム１２１に接触したことを検出するための第三接触検出部１５３が取付けられている。
【００８４】
また、詳しくは後述するが、マニピュレータの制御装置として機能する制御部２１０ａには、次のようなものが接続されている。各モータ、各モータ用エンコーダ、各外力検出部、各接触検出部、及びアーム先端の動作領域や各関節部をそれぞれ回動させる各駆動部の駆動を制御して外力を補助する（アシスト制御の）動作モードを入力する入力部１１３が接続されている。
動作の一例としては、第二外力検出部１４２と第三外力検出部１５２に外力が加わり、第二接触検出部１４３でユーザーの手等の物体の接触を検出すると、制御部２１０からの信号で第二モータ１０９に動作指令が伝達され、第二モータ１０９が駆動する。ここで、入力部１１３から入力された動作モードに応じて、第一モータ１０６、第二モータ１０９、第三モータ１２４の内、第二モータ１０９が駆動されることとなる。また、いずれかのアームが駆動されるときには各モータ用エンコーダから各モータの回転情報と、各アームの回転情報とが測定可能となっている。
【００８５】
次に、第一関節部１３０、第二関節部１４０、第三関節部１５０及びを動作させるマニピュレータ装置７００の駆動制御装置の制御ブロック図である、図２２を用いてマニピュレータ装置１００の具体的な構成、及び動作について説明する。
マニピュレータ装置７００は、図２を用いて説明した実施例１のマニピュレータ装置と同様に、主に、マニピュレータ本体２００ａ、電源部２９１、ホストコントローラ２８１等からなる。例えば、マニピュレータ動作に画像情報が必要な場合は画像入力装置２７１が接続されることもある。ここで、図２２ではマニピュレータ本体２００ａ、ホストコントローラ２８１、電源部２９１等を別体としているが、全てがマニピュレータ本体２００ａ内に実装されたスタンドアロン型の構成としても良い。
【００８６】
制御部２１０ａには、中央処理装置であるＣＰＵ２１１等が備えられており、マニピュレータ本体２００ａの動作制御を行う。
ホストコントローラ２８１とＣＰＵ２１１は通信網２８２で接続されており、通信網２８２にて動作モード情報、駆動制御に必要な各種パラメータ、マニピュレータ本体２００ａの目標移動位置情報などが送られてくる。
また、ＣＰＵ２１１には、各種センサ２２０やスイッチ２２１の信号が入力されており、これらの信号情報をもとに、マニピュレータの稼動領域の入力（設定）、動作開始や緊急停止等の起動や停止が行われる。
【００８７】
マニピュレータ本体２００ａの各関節は、第一関節部１３０が第一モータ１０６で、第二関節部１４０が第二モータ１０９で、第三関節部１５０が第三モータ１２４で、駆動される。
第一モータ１０６、第二モータ１０９、及び第三モータ１２４の駆動情報は、第一モータ用エンコーダ１０７、第二モータ用エンコーダ１１０、及び第三モータ用エンコーダ１２５からの信号として第一駆動情報検出部２３４、第二駆動情報検出部２３６、及び第三駆動情報検出部２３８に入力される。これら入力された信号は、それぞれ第一駆動情報検出部２３４、第二駆動情報検出部２３６、及び第三駆動情報検出部２３８で、移動量、移動速度、移動加速度といった回転情報に変換される。これら変換された回転情報と外力検出部１１２で検出されるマニピュレータ本体２００ａに加わる外力がＣＰＵ２１１（制御部２１０ａ）内の駆動制御部２１４に入力される。
【００８８】
また、入力部１１３から第一アーム１０１のアーム先端の動作領域がＣＰＵ２１１に入力され、第一アーム１０１のアーム先端の動作領域や動作方向が制限される。
そして、これに加え、本実施例では、入力部１１３から動作モードが入力されたり、変更されたりして、各関節部をそれぞれ回動させる各駆動モータの駆動を制御して外力を補助する。
駆動制御部２１４は、これらの回転情報、外力、制限された動作方向、及び動作モードを元に目標指令値を生成する。そして、生成した目標指令値に沿った駆動となるよう、第一モータドライバ２３３、第二モータドライバ２３５、及び第三モータドライバ２３７に制御指令を出し、第一モータ１０６、第二モータ１０９、及び第三モータ１２４を駆動する。
また、ＣＰＵ２１１内には記憶部２１５を有しており、この記憶部２１５が、各関節部のそれぞれに連結される支持部がなす角度を、各関節部毎に記憶する記憶手段として機能する。
【００８９】
ここで、制御部２１０ａでは、ダイレクトティーチング開始時間から一定間隔で、開始からの時間、及びマニピュレータの位置、姿勢として、各関節部のそれぞれに連結される支持部がなす角度を、各関節部毎に記憶部２１５に登録（記憶）する。これにより、ユーザーがマニピュレータを動かした場合、現在のマニピュレータ位置姿勢と現在の位置姿勢までの動作軌跡を登録する。
そして、ダイレクトティーチングした動作をマニピュレータに再現させる場合、ダイレクトティーチング後のユーザーの合図（入力部１１３からの指示）で、制御部２１０ａは記憶部２１５に登録された位置、姿勢に登録された時間間隔にあわせて各関節部を駆動する。
また、第一アーム１０１のアーム先端の動作領域や動作方向、及び動作モードの入力や変更は、図３を用いて説明した実施例１と同様な入力装置１１４のタッチパネル１１４ａやテンキー１１４ｂにより行うことができる。例えば、タッチパネル１１４ａに動作モードの種類を表示し、タッチパネル１１４ａまたはテンキー１１４ｂより動作モードを選択する。そして、選択された入力信号は制御部２１０ａに入力され、動作指令値生成のとき使用される。
【００９０】
次に、図２３（ａ）、図２３（ｂ）を用いて、本実施例のマニピュレータ装置７００に設けることができる各接触検出部の例を説明する。
物体であるユーザーの手がいずれかのアームに触れたことを検出する各接触検出部にタッチセンサを用いた例について、図２３（ａ）を説明する。
図２３（ａ）に示すように、第一アーム１０１の側面には、第一接触検出部１３３としての第一タッチセンサ１３４を設けている。そして、第二アーム１０２の側面には、第二接触検出部１４３としての第二タッチセンサ１４４を設け、第三アーム１２１の側面には、第三接触検出部１５３としての第三タッチセンサ１５４を設けている。
これらのタッチセンサは、上述したＣＰＵ２１１（制御部２００ａ）の駆動制御部２１４に接続されており、ＣＰＵ２１１内部では閾値が設定されており、その閾値を超えると接触と判断する。
【００９１】
物体であるユーザーの手がいずれかのアームに触れたことを検出する各接触検出部に光学センサを用いた例について、図２３（ｂ）を説明する。
図２３（ｂ）に示すように、第一アーム１０１の上部前段側（第一関節部１３０）には、第一接触検出部１３３としての第一光学センサ１３５を設けている。そして、第二アーム１０２の上部前段側（第二関節部１４０）には、第二接触検出部１４３としての第二光学センサ１４５を設け、第三アーム１２１の上部前段側（第三関節部１５０）には、第三接触検出部１５３としての第三光学センサ１５５を設けている。
これらの三光学センサは、上述したＣＰＵ２１１（制御部２００ａ）の駆動制御部２１４に接続されており、ＣＰＵ２１１内部では閾値が設定されており、その閾値を超えると接触と判断する。
【００９２】
次に、本実施例のマニピュレータ装置７００における各接触検出部を用いた動作モードの例について、図２４を用いて説明する。
本実施例のマニピュレータ装置７００は、以下に説明する動作モード１から動作モード４の、４つの動作モードを有する。そして、入力装置１１４を用いて設定（入力・選択・変更）した動作モードのアシスト制御は、回転情報、外力、制限された動作方向、及び動作モードを元に目標指令値を生成し、実施例１で説明したアシスト制御方法１から３のいずれかと同様な方法で行う。
【００９３】
ここで、複数の関節部を介して直列に連結された複数の支持部を備えたマニピュレータ装置７００では、意図している関節部が回動しなかったり、意図していない関節部が回動したりすることがある。このように意図した関節部を回動できないと、各関節部の回動角が意図したものから乖離してしまい、各関節部の回動を補正する必要が生じ、教示するのに要する時間が長くなるおそれがある。
そこで、本実施例のマニピュレータ装置７００では、以下のような複数の動作モードを備えることとした。
【００９４】
（動作モード１）
動作モード１（第一動作モード）では、例えば、図２４（ａ）に示すように、ユーザーが手で第二アーム１０２に第一操作力Ｆ７１を下方に加えたときに、第二関節部１４０の第二駆動部１７０と第三関節部１５０の第三駆動部１８０を駆動するアシスト制御を行う。
ここで、上述したようにマニピュレータ装置７００には、複数の支持部の内、支柱部１１１ｂを除く支持部である第一アーム１０１、第二アーム１０２、及び第三アーム１２１には、物体が接触したことを検出する接触検出部がそれぞれ設けられている。そして、物体が接触したことを検出した第二接触検出部１４３を設けた接触支持部である第二アーム１０２から支柱部１１１ｂまでの間に第二関節部１４０と第三関節部１５０の２つの関節部がある。
このような場合、動作モード１では、制御部２１０ａは上記２つの関節部をそれぞれ回動させる第二駆動部１７０と第三駆動部１８０の駆動を制御して、第一操作力Ｆ７１を補助する。
【００９５】
このような動作モード１を有することで、マニピュレータ装置７００は、次のような効果を奏することができる。
接触支持部である第二アーム１０２と支柱部１１１ｂとの間の、２つの関節部だけを回動させたいと考えた場合、動作モード１に設定し、第二アーム１０２に第一操作力Ｆ７１を加えることができる。このようにして第一操作力Ｆ７１を加えることで、意図している関節部が回動しなかったり、意図していない関節部が回動したりして、各関節部の回動角が意図したものから乖離することを抑制できる。
したがって、各関節部の回動角を補正するのに要する時間を低減して、マニピュレータ駆動装置７００の教示を行うときに要する時間を短縮することが可能となる。
【００９６】
（動作モード２）
動作モード２（第二動作モード）では、例えば、図２４（ｂ）に示すように、ユーザーが手で第二アーム１０２に第二操作力Ｆ７２を下方に加えたときに、第二関節部１４０の第二駆動部１７０を駆動するアシスト制御を行う。
ここで、上述したようにマニピュレータ装置７００には、複数の支持部の内、支柱部１１１ｂを除く支持部である第一アーム１０１、第二アーム１０２、及び第三アーム１２１には、物体が接触したことを検出する接触検出部がそれぞれ設けられている。そして、物体が接触したことを検出した第二接触検出部１４３を設けた接触支持部である第二アーム１０２から支柱部１１１ｂまでの間に第二関節部１４０と第三関節部１５０の２つ（２以上）の関節部がある。
このような場合、動作モード２では、制御部２１０ａは上記２つ（２以上）の関節部の内、接触支持部である第二アーム１０２が連結された第二関節部１４０を回動させる第二駆動部１７０の駆動を制御して、第二操作力Ｆ７２を補助する。
【００９７】
このような動作モード２を有することで、マニピュレータ装置７００は、次のような効果を奏することができる。
接触支持部である第二アーム１０２が連結される支柱部１１１ｂ側の１つの関節部だけを回動させたいと考えた場合、動作モード２に設定し、第二アーム１０２に第二操作力Ｆ７２を加えることができる。このようにして第二操作力Ｆ７２を加えることで、意図している関節部が回動しなかったり、意図していない関節部が回動したりして、各関節部の回動角が意図したものから乖離することを抑制できる。
したがって、各関節部の回動角を補正するのに要する時間を低減して、マニピュレータ駆動装置７００の教示を行うときに要する時間を短縮することが可能となる。
【００９８】
（動作モード３）
動作モード３（第三動作モード）では、例えば、図２４（ｃ）に示すように、ユーザーが手で第一アーム１０１に第三操作力Ｆ７３を下方に加えたときに、次のようなアシスト制御を行う。第一関節部１３０の第一駆動部１６０、第二関節部１４０の第二駆動部１７０、及び第三関節部１５０の第三駆動部１８０を駆動するアシスト制御を行う。
ここで、上述したようにマニピュレータ装置７００には、複数の支持部の内、支柱部１１１ｂを除く支持部である第一アーム１０１、第二アーム１０２、及び第三アーム１２１には、物体が接触したことを検出する接触検出部がそれぞれ設けられている。そして、物体が接触したことを検出した第一接触検出部１３３を設けた接触支持部である第一アーム１０１から支柱部１１１ｂまでの間に第一関節部１３０、第二関節部１４０、及び第三関節部１５０の３つ（３以上）の関節部がある。
このような場合、動作モード３では、制御部２１０ａは上記３つ（３以上の関節部の内、接触支持部である第一アーム１０１に近い側の３つ）の関節部をそれぞれ回動させる第一駆動部１６０、第二駆動部１７０、及び第三駆動部１８０の駆動を制御して、第一操作力Ｆ７１を補助する。
【００９９】
このような動作モード３を有することで、マニピュレータ装置７００は、次のような効果を奏することができる。
接触支持部である第一アーム１０１と支柱部１１１ｂとの間の、（第一アーム１０１に近い側の）３つの関節部だけを回動させたいと考えた場合、動作モード３に設定し、第一アーム１０１に第三操作力Ｆ７３を加えることができる。このようにして第三操作力Ｆ７３を加えることで、意図している関節部が回動しなかったり、意図していない関節部が回動したりして、各関節部の回動角が意図したものから乖離することを抑制できる。
したがって、各関節部の回動角を補正するのに要する時間を低減して、マニピュレータ駆動装置７００の教示を行うときに要する時間を短縮することが可能となる。
【０１００】
（動作モード４）
動作モード４（第四動作モード）では、例えば、図２４（ｄ）に示すように、ユーザーが手で第一アーム１０１に第四操作力Ｆ７４を下方に加えたときに、第一関節部１３０の第一駆動部１６０と第二関節部１４０の第二駆動部１７０を駆動するアシスト制御を行う。
ここで、上述したようにマニピュレータ装置７００には、複数の支持部の内、支柱部１１１ｂを除く支持部である第一アーム１０１、第二アーム１０２、及び第三アーム１２１には、物体が接触したことを検出する接触検出部がそれぞれ設けられている。そして、物体が接触したことを検出した第一接触検出部１３３を設けた接触支持部である第一アーム１０１から支柱部１１１ｂまでの間に第一関節部１３０、第二関節部１４０、及び第三関節部１５０の３つ（３以上）の関節部がある。また、（接触支持部である第一アーム１０１に近い側の）３つの関節部の回動軸が平行に設けられている。
このような場合、動作モード４では、制御部２１０ａは上記３つ（３以上）の関節部の内、接触支持部である第一アーム１０１に近い側の２つの関節部をそれぞれ回動させる第一駆動部１６０と第二駆動部１７０の駆動を制御して、第一操作力Ｆ７１を補助する。
【０１０１】
このような動作モード４を有することで、マニピュレータ装置７００は、次のような効果を奏することができる。
接触支持部である第一アーム１０１と支柱部１１１ｂとの間の、第一アーム１０１に近い側の回動軸が平行な２つの関節部だけを回動させたいと考えた場合、動作モード４に設定し、第一アーム１０１に第四操作力Ｆ７４を加えることができる。このようにして第四操作力Ｆ７４を加えることで、意図している関節部が回動しなかったり、意図していない関節部が回動したりして、各関節部の回動角が意図したものから乖離することを抑制できる。
したがって、各関節部の回動角を補正するのに要する時間を低減して、マニピュレータ駆動装置７００の教示を行うときに要する時間を短縮することが可能となる。
【０１０２】
次に、本実施例のマニピュレータ装置７００におけるアシスト制御の動作制御シーケンスの一例について、図２５を用いて説明する。
図２５に示すように、ダイレクトティーチング（アシスト制御）を開始すると、まず、外力（操作力）検出を行い、いずれかの外力検出部で外力を検出したか否かの判断を行う（Ｓ４０１）。この判断で、いずれかの外力検出部で外力を検出したと判断した場合には（Ｓ４０１のＹＥＳ）、いずれの接触検出部で接触を検出したかを特定（検出）する接触位置検出を行う（Ｓ４０２）。一方、いずれの外力検出部でも外力を検出していないと判断した場合には（Ｓ４０１のＮＯ）、外力検出に戻り、いずれかの外力検出部で外力を検出するまで外力検出を繰り返す。また、接触位置検出で、いずれの接触検出部で接触を検出したか判断できない場合も（Ｓ４０２のＮＯ）、外力検出に戻り、いずれかの外力検出部で外力を検出し、いずれの接触検出部で接触を検出したか判断できるまで外力検出と接触位置検出を繰り返す。
【０１０３】
接触位置検出で、いずれの接触検出部で接触を検出したかを特定できたら（Ｓ４０２のＹＥＳ）、設定（選択）されている動作モードの判定を行う（Ｓ４０３〜Ｓ４０６）。そして、判定した動作モードと、接触位置検出で特定した接触位置とに基づいた駆動部を駆動するアシスト制御を行い（Ｓ４０７〜Ｓ４１０）、マニピュレータの動作を記憶（登録）して（Ｓ４１１）終了する。但し、動作モード４であるか否かの判で（Ｓ４０６）、動作モード４でないと判断した場合（Ｓ４０６のＮＯ）、マニピュレータの動作を記憶することなく終了する。
【０１０４】
より具体的には、以下のようにアシスト制御を行う。
動作モードが動作モード１であるか否かの判断を行い（Ｓ４０３）、動作モード１であると判断した場合（Ｓ４０３のＹＥＳ）、例えば、第二接触検出部１４３での接触を特定したら第二駆動部１７０と第三駆動部１８０を駆動してアシスト制御を行う（Ｓ４０７）。そして、マニピュレータの動作を記憶（登録）して（Ｓ４１１）終了する。
一方、動作モードが動作モード１であるか否かの判断で、動作モード１ではないと判断した場合（Ｓ４０３のＮＯ）、動作モード２であるか否かの判断に移行する（Ｓ４０４）。
【０１０５】
動作モード２であるか否かの判断で、動作モード２であると判断した場合（Ｓ４０４のＹＥＳ）、例えば、第二接触検出部１４３での接触を特定したら第二駆動部１７０を駆動してアシスト制御を行う（Ｓ４０８）。ここで、第一接触検出部１３３での接触を特定したら第一駆動部１６０を、第三接触検出部１５３での接触を特定したら第三駆動部１８０を駆動してアシスト制御を行う。そして、マニピュレータの動作を記憶（登録）して（Ｓ４１１）終了する。
一方、動作モードが動作モード２であるか否かの判断で、動作モード２ではないと判断した場合（Ｓ４０４のＮＯ）、動作モード３であるか否かの判断に移行する（Ｓ４０５）。
【０１０６】
動作モード３であるか否かの判断で、動作モード３であると判断した場合（Ｓ４０５のＹＥＳ）、第一接触検出部１３３での接触を特定したら第一駆動部１６０、第二駆動部１７０、及び第三駆動部１８０を駆動してアシスト制御を行う（Ｓ４０９）。そして、マニピュレータの動作を記憶（登録）して（Ｓ４１１）終了する。
一方、動作モードが動作モード３であるか否かの判断で、動作モード３ではないと判断した場合（Ｓ４０５のＮＯ）、動作モード４であるか否かの判断に移行する（Ｓ４０６）。
動作モード４であるか否かの判断で、動作モード４であると判断した場合（Ｓ４０６のＹＥＳ）、第一接触検出部１３３での接触を特定したら第一駆動部１６０と第二駆動部１７０を駆動してアシスト制御を行う（Ｓ４１０）。ここで、動作モード４であるか否かの判断では、駆動する隣り合った駆動部の回動軸が平行であることも条件となっている。そして、マニピュレータの動作を記憶することなく終了する。
【０１０７】
上述したアシスト制御の動作制御シーケンスの一例の特徴は、いずれかの外力検出部で外力を検出しても、接触位置検出ができなければアシスト制御を行わない点にある。
このように構成し、動作モードを選択して操作力（外力）を接触支持部に加えることで、意図している関節部が回動しなかったり、意図していない関節部が回動したりして、各関節部の回動角が意図したものから乖離することを確実に抑制できる。
したがって、各関節部の回動角を補正するのに要する時間を低減して、マニピュレータ駆動装置７００の教示を行うときに要する時間を短縮することが可能となる。
【０１０８】
以上、本実施形態について、図面を参照しながら説明してきたが、具体的な構成は、上述した本実施形態のマニピュレータの制御装置を備えた構成に限られるものではなく、要旨を逸脱しない範囲の設計の変更等を行っても良い。
例えば、マニピュレータ駆動装置を備えたロボットシステムにおいて、上述したいずれかのマニピュレータの制御装置、又はいずれかマニピュレータ駆動装置の、少なくともいずれかを備えたロボットシステムにも適用可能である。このようにマニピュレータ駆動装置を備えたロボットシステムを構成することで、上述したいずれかのマニピュレータの制御装置、又はいずれかマニピュレータ駆動装置と同様な効果を奏することができるロボットシステムを提供できる。
【０１０９】
以上に説明したものは一例であり、次の態様毎に特有の効果を奏する。
（態様Ａ）
第一関節部１３０や第二関節部１４０などの２以上の関節部と、各関節部を介して直列に連結され、第一アーム１０１先端などのマニピュレータ先端部に取り付けられる把持機構などの支持対象を支持する第一アーム１０１、第二アーム１０２、及び支柱部１１１ｂなどの複数の支持部と、前記２以上の関節部をそれぞれ回動させる第一駆動部１６０や第二駆動部１７０などの２以上の駆動部と、前記２以上の関節部及び前記複数の支持部の内、第一アーム１０１の先端部などの少なくともいずれかに外部から加えられる外力のベクトルを検出する外力検出部１１２などの外力検出部と、を備えたマニピュレータ装置１００などのマニピュレータ駆動装置に用いられ、前記外力検出部の検出結果に基づいて前記２以上の駆動部の駆動を制御する制御部２１０などのマニピュレータの制御装置において、前記マニピュレータ先端部の動作領域を入力する入力部１１３（入力装置１１４）などの入力手段を有し、前記外力検出部で前記外力のベクトルが検出されたとき、前記外力検出部の検出結果と前記入力手段から入力される動作領域とに基づいて、前記入力された動作領域内を前記マニピュレータ先端部が移動するように、前記２以上の駆動部の駆動を制御することを特徴とする。
【０１１０】
これによれば、本実施形態で説明したように、入力手段により、マニピュレータ先端部の動作領域を予め入力して、マニピュレータに外力（操作力）を加えたときに駆動させる各駆動部の出力を制御できる。このように出力を制御することで、マニピュレータに外力（操作力）を加えたときに、回動させる各関節部の回動角度を制御してマニピュレータ先端部の動作方向や動作軌跡等の動作領域を、入力手段により予め入力した動作領域に制限することができる。その結果、例え、ユーザーが意図していなかった方向に外力を加えてしまった場合であっても、その方向へマニピュレータ先端部が動作してしまうことを防ぐことができる。したがって、マニピュレータに外力を加えたときに、マニピュレータ先端部が、ユーザーの意図していない移動方向に移動したり、ユーザーが意図していな動作軌跡を描いて移動したりしてしまうことを抑制できる。
よって、人の手で行うダイレクトティーチングにおいて、マニピュレータ駆動装置のマニピュレータ先端部の移動を、任意の位置・姿勢・移動軌跡で教示者が意図した通りに教示することができるマニピュレータの制御装置を提供できる。
【０１１１】
（態様Ｂ）
（態様Ａ）において、マニピュレータ装置１００などの前記マニピュレータ駆動装置は、第一関節部１３０や第二関節部１４０などの前記２以上の関節部のそれぞれに連結される第一アーム１０１と第二アーム１０２や第二アーム１０２と支柱部１１１ｂなどの支持部又は前記支持対象がなす角度を、前記２以上の関節部毎に検出する第一アーム用エンコーダ１３１や第二アーム用エンコーダ１４１などの２以上の角度検出部を備え、前記２以上の角度検出部の内、少なくとも一つの検出結果に基づいて、前記入力された動作領域内を第一アーム１０１先端などの前記マニピュレータ先端部が移動するように、第一駆動部１６０や第二駆動部１７０などの前記２以上の駆動部の駆動を制御して前記外力を補助することを特徴とする。
【０１１２】
これによれば、本実施形態で説明したように、次のような効果を奏することができる。
ユーザーがマニピュレータへ操作力（外力）を加えたときに、２以上の角度検出部の内、少なくとも一つの検出結果に基づいてアシスト動作することが可能となり、マニピュレータ先端部のアシスト動作の精度を、より高めることができる。
【０１１３】
（態様Ｃ）
（態様Ａ）又は（態様Ｂ）において、マニピュレータ装置１００などの前記マニピュレータ駆動装置は、第一アーム１０１などの前記マニピュレータ先端部の姿勢を保持した状態で、前記入力された動作領域内を前記マニピュレータ先端部が移動するように、前記２以上の駆動部の駆動を制御して前記外力を補助することを特徴とする。
これによれば、本実施形態で説明したように、例えば、入力された移動方向に沿ってマニピュレータ先端部を平行移動させるようにアシスト動作することが可能となる。
【０１１４】
（態様Ｄ）
（態様Ａ）乃至（態様Ｃ）のいずれかにおいて、第一関節部１３０や第二関節部１４０などの前記２以上の関節部のそれぞれに連結される第一アーム１０１と第二アーム１０２や第二アーム１０２と支柱部１１１ｂなどの支持部又は前記支持対象がなす角度を、前記２以上の関節部毎に記憶する記憶部２１５などの記憶手段を有し、入力部１１３（入力装置１１４）などの前記入力手段は、前記憶手段に記憶した角度を用いて、第一アーム１０１先端などの前記マニピュレータ先端部が移動するときに描く軌道を指定できることを特徴とする。
これによれば、本実施形態で説明したように、マニピュレータ先端部を指定した軌道に沿って移動させるようにアシスト動作することが可能となる。
【０１１５】
（態様Ｅ）
（態様Ａ）乃至（態様Ｃ）のいずれかにおいて、第一関節部１３０や第二関節部１４０などの前記２以上の関節部のそれぞれに連結される第一アーム１０１と第二アーム１０２や第二アーム１０２と支柱部１１１ｂなどの支持部又は前記支持対象がなす角度を、前記２以上の関節部毎に記憶する記憶部２１５などの記憶手段を有し、入力部１１３（入力装置１１４）などの前記入力手段は、前記憶手段に記憶した角度を用いて、第一アーム１０１先端などの前記マニピュレータ先端部が移動する平面を指定できることを特徴とする。
これによれば、本実施形態で説明したように、マニピュレータ先端部を指定した平面に沿って移動させるようにアシスト動作することが可能となる。
【０１１６】
（態様Ｆ）
（態様Ａ）乃至（態様Ｃ）のいずれかにおいて、第一関節部１３０や第二関節部１４０などの前記２以上の関節部のそれぞれに連結される第一アーム１０１と第二アーム１０２や第二アーム１０２と支柱部１１１ｂなどの支持部又は前記支持対象がなす角度を、前記２以上の関節部毎に記憶する記憶部２１５などの記憶手段を有し、入力部１１３（入力装置１１４）などの前記入力手段は、前記憶手段に記憶した角度を用いて、第一アーム１０１先端などの前記マニピュレータ先端部が回転する位置を指定できることを特徴とする。
これによれば、本実施形態で説明したように、マニピュレータ先端部を指定した位置（回転軸）を中心に回転させるようにアシスト動作することが可能となる。
【０１１７】
（態様Ｇ）
（態様Ａ）乃至（態様Ｅ）のいずれかにおいて、前記入力手段は、第一関節６０１などの前記マニピュレータ先端部の移動方向を、Ｘｔｐ方向などの指定したベクトル方向のみに限定するＸｔｐ動作領域指定ボタン６５１などの動作領域指定手段を有することを特徴とする。
これによれば、本実施形態で説明したように、次のような効果を奏することができる。
ツールポイント座標系６９１やマニピュレータ絶対座標系６９２のＸ，Ｙ，Ｚ方向のいずれかの方向、例えば、ツールポイント座標系６９１のＸｔｐ（横方向）方向への移動のみに限定し、横方向に移動させたい場合に、直感的な教示が可能となる。
【０１１８】
（態様Ｈ）
（態様Ａ）乃至（態様Ｆ）のいずれかにおいて、前記入力手段は、第一関節６０１などの前記マニピュレータ先端部の移動方向を、Ｚｔｐ方向などの指定したベクトル方向への移動のみを規制するＺｔｐ動作領域指定ボタン６５２などの動作領域指定手段を有することを特徴とする。
【０１１９】
これによれば、本実施形態で説明したように、次のような効果を奏することができる。
ツールポイント座標系６９１やマニピュレータ絶対座標系６９２のＸ，Ｙ，Ｚ方向のいずれかの方向、例えば、ツールポイント座標系６９１のＺｔｐ（高さ）方向への移動のみ規制（固定）し、高さを保持して移動させたい場合に、直感的な教示が可能となる。
【０１２０】
（態様Ｉ）
（態様Ｇ）又は（態様Ｈ）において、前記入力手段は、Ｘｔｐ動作領域指定ボタン６５１、Ｚｔｐ動作領域指定ボタン６５２、Ｘａｂ動作領域指定ボタン６５４、Ｙａｂ動作領域指定ボタン６５５、及びＺａｂ動作領域指定ボタン６５３などの前記動作領域指定手段で指定したベクトル方向を点灯により表示するＬＥＤを有していることを特徴とする。
【０１２１】
これによれば、本実施形態で説明したように、次のような効果を奏することができる。
動作領域指定手段で指定したベクトル方向、つまり、どの方向に動かせるか、又はどの方向への移動が規制されているかを、ユーザー（操作者）に伝達できるので、ユーザーの直感的な操作を助けることができる。
【０１２２】
（態様Ｊ）
（態様Ａ）乃至（態様Ｉ）のいずれかにおいて、前記入力手段は、動作領域を指定するＸｔｐ動作領域指定ボタン６５１、Ｚｔｐ動作領域指定ボタン６５２、Ｘａｂ動作領域指定ボタン６５４、Ｙａｂ動作領域指定ボタン６５５、及びＺａｂ動作領域指定ボタン６５３などの動作領域指定手段を有し、該動作領域指定手段で指定した動作領域を微調整可能なコントローラも有することを特徴とする。
【０１２３】
これによれば、本実施形態で説明したように、次のような効果を奏することができる。
ツールポイント座標系６９１やマニピュレータ絶対座標系６９２のＸ，Ｙ，Ｚ方向のいずれでもない方向、例えば、マニピュレータ絶対座標系６９２のＸａｂ方向に対して３０ｄｅｇの方向に動かしたい場合はコントローラで調整できる。
【０１２４】
（態様Ｋ）
（態様Ａ）乃至（態様Ｊ）のいずれかにおいて、第一アーム１０１先端などの前記マニピュレータ先端部の移動速度が所定の速度を超えないように制御することを特徴とする。
これによれば、本実施形態で説明したように、次のような効果を奏することができる。
外力検出部１１２などの外力検出部の検出結果だけに基づいて、マニピュレータに加えられる外力を補助するように２以上の駆動部の駆動を制御する構成では、ユーザーが意図した移動速度から、かけ離れた移動速度でマニピュレータ先端部が移動するおそれがある。
一方、アシスト制御の制御ブロックに位置速度指令生成部４１１を設けるなどして、所定の速度を超えないように制御することで、ユーザーが意図した移動速度から、かけ離れた移動速度で第一支持部の先端部が移動することを抑制できる。
【０１２５】
（態様Ｌ）
第一関節部１３０や第二関節部１４０などの２以上の関節部と、各関節部を介して直列に連結され、第一アーム１０１先端などのマニピュレータ先端部に取り付けられる把持機構などの支持対象を支持する第一アーム１０１、第二アーム１０２、及び支柱部１１１ｂなどの複数の支持部と、前記２以上の関節部をそれぞれ回動させる第一駆動部１６０や第二駆動部１７０などの２以上の駆動部と、前記２以上の関節部及び前記複数の支持部の内、第一アーム１０１の先端部などの少なくともいずれかに外部から加えられる外力のベクトルを検出する外力検出部１１２などの外力検出部と、前記外力検出部の検出結果に基づいて前記２以上の駆動部の駆動を制御する制御部２１０などの制御部と、を備えたマニピュレータ装置６００などのマニピュレータ駆動装置において、前記制御部として、請求項１乃至１１のいずれか一に記載のマニピュレータの制御装置を備えることを特徴とする。
【０１２６】
これによれば、本実施形態で説明したように、（態様Ａ）乃至（態様Ｋ）のいずれかのマニピュレータの制御装置と同様な効果を奏することができるマニピュレータ駆動装置を提供できる。
【０１２７】
（態様Ｍ）
（態様Ｌ）において、第一関節６０１などのマニピュレータ先端部の動作領域を入力する入力手段は、当該マニピュレータ駆動装置本体に設置され、動作領域を指定するＸｔｐ動作領域指定ボタン６５１、Ｚｔｐ動作領域指定ボタン６５２、Ｘａｂ動作領域指定ボタン６５４、Ｙａｂ動作領域指定ボタン６５５、Ｚａｂ動作領域指定ボタン６５３などの動作領域指定手段を有していることを特徴とする。
【０１２８】
これによれば、本実施形態で説明したように、次のような効果を奏することができる。
入力手段として、ユーザーにより保持する入力装置１１４などを用いる構成では、ユーザーがマニピュレータに操作力としての外力を加えるときに、次のような必要が生じ、直感的で簡便な教示方法としては不十分となる場合がある。ユーザーが入力装置１１４などから片手あるいは両手を離して持ち替えながら作業したり、マニピュレータ位置や姿勢によらずマニピュレータ座標系を把握・確認しながら操作したりする必要である。
一方、入力手段に、マニピュレータ駆動装置本体に設置され、動作領域を指定する動作領域指定手段を有している構成では、ユーザーが操作力を加える近傍に動作領域指定手段を配置でき、上述したような必要が生じることを抑制することができる。
よって、マニピュレータ駆動装置本体から離れることなく誘導方向を任意に切り替えることが可能で、教育や経験を積んだ専門の作業者でなくとも容易、且つ、直感的にダイレクトティーチングを行うことができるマニピュレータ駆動装置を提供できる。
【０１２９】
（態様Ｎ）
（態様Ｍ）において、前記入力手段に有したＸｔｐ動作領域指定ボタン６５１やＺｔｐ動作領域指定ボタン６５２などの前記動作領域指定手段は、第一関節６０１などの前記マニピュレータ先端部近傍に配置されていることを特徴とする。
これによれば、本実施形態で説明したように、ユーザーの操作位置の１つとなるツールポイント近傍での動作領域の入力（設定）が可能となるので、より直感的な教示が行える。
【０１３０】
（態様Ｏ）
（態様Ｍ）において、入力部１１３（入力装置１１４）などの前記入力手段に有したＸａｂ動作領域指定ボタン６５４、Ｙａｂ動作領域指定ボタン６５５、及びＺａｂ動作領域指定ボタン６５３などの前記動作領域指定手段は、不動部６０５などの不動部に配置されていることを特徴とする。
これによれば、本実施形態で説明したように、次のような効果を奏することができる。
マニピュレータ装置６００などのマニピュレータ駆動装置の根本で、マニピュレータ絶対座標系６９２などのマニピュレータ駆動装置の絶対座標で動作領域を定義できるため、より実践的な教示が行える。
【０１３１】
（態様Ｐ）
（態様Ｌ）乃至（態様Ｏ）のいずれかにおいて、前記複数の支持部の内、支柱部１１１ｂなどの不動部を除く第一アーム１０１、第二アーム１０２、及び第三アーム１２１などの支持部には、ユーザーの手などの物体が接触したことを検出する第一接触検出部１３３、第二接触検出部１４３、及び第三接触検出部１５３などの接触検出部が設けられており、前記物体が接触したことを検出した第二接触検出部１４３などの接触検出部を設けた第二アーム１０２などの接触支持部から前記不動部までの間に第二関節部１４０と第三関節部１５０などの２つの関節部がある場合、制御部２１０ａなどの前記マニピュレータの制御装置は、前記２つの関節部をそれぞれ回動させる第二駆動部１７０と第三駆動部１８０などの２つの駆動部の駆動を制御して第一操作力Ｆ７１などの前記外力を補助する動作モード１などの第一動作モードを有していることを特徴とする。
【０１３２】
これによれば、本実施形態で説明したように、次のような効果を奏することができる。
接触支持部と不動部との間の、接触支持部に近い側の２つの関節部だけを回動させたいと考えた場合、第一動作モードに設定し、接触支持部に外力を加えることができる。このようにして外力を加えることで、意図している関節部が回動しなかったり、意図していない関節部が回動したりして、各関節部の回動角が意図したものから乖離することを抑制できる。
したがって、各関節部の回動角を補正するのに要する時間を低減して、マニピュレータ駆動装置の教示を行うときに要する時間を短縮することが可能となる。
【０１３３】
（態様Ｑ）
（態様Ｌ）乃至（態様Ｏ）のいずれかにおいて、前記複数の支持部の内、支柱部１１１ｂなどの不動部を除く第一アーム１０１、第二アーム１０２、及び第三アーム１２１などの支持部には、ユーザーの手などの物体が接触したことを検出する第一接触検出部１３３、第二接触検出部１４３、及び第三接触検出部１５３などの接触検出部が設けられており、前記物体が接触したことを検出した第二接触検出部１４３などの接触検出部を設けた第二アーム１０２などの接触支持部から前記不動部までの間に第二関節部１４０と第三関節部１５０などの２以上の関節部がある場合、制御部２１０ａなどの前記マニピュレータの制御装置は、前記２以上の関節部の内、前記接触支持部が連結された第二関節部１４０などの関節部を回動させる第二駆動部１７０などの駆動部の駆動を制御して第二操作力Ｆ７２などの前記外力を補助する動作モード２などの第二動作モードを有していることを特徴とする。
【０１３４】
これによれば、本実施形態で説明したように、次のような効果を奏することができる。
接触支持部が連結される不動部側の１つの関節部だけを回動させたいと考えた場合、第二動作モードに設定し、接触支持部に外力を加えることができる。このようにして外力を加えることで、意図している関節部が回動しなかったり、意図していない関節部が回動したりして、各関節部の回動角が意図したものから乖離することを抑制できる。
したがって、各関節部の回動角を補正するのに要する時間を低減して、マニピュレータ駆動装置の教示を行うときに要する時間を短縮することが可能となる。
【０１３５】
（態様Ｒ）
（態様Ｌ）乃至（態様Ｏ）のいずれかにおいて、前記複数の支持部の内、支柱部１１１ｂなどの不動部を除く第一アーム１０１、第二アーム１０２、及び第三アーム１２１などの支持部には、ユーザーの手などの物体が接触したことを検出する第一接触検出部１３３、第二接触検出部１４３、及び第三接触検出部１５３などの接触検出部が設けられており、前記物体が接触したことを検出した第一接触検出部１３３などの接触検出部を設けた第一アーム１０１などの接触支持部から前記不動部までの間に第一関節部１３０、第二関節部１４０、及び第三関節部１５０などの３以上の関節部がある場合、制御部２１０ａなどの前記マニピュレータの制御装置は、前記３以上の関節部の内、前記接触支持部に近い側の第一関節部１３０、第二関節部１４０、及び第三関節部１５０などの３つの関節部をそれぞれ回動させる第一駆動部１６０、第二駆動部１７０、及び第三駆動部１８０などの３つの駆動部の駆動を制御して第三操作力Ｆ７３などの前記外力を補助する動作モード３などの第三動作モードを有していることを特徴とする。
【０１３６】
これによれば、本実施形態で説明したように、次のような効果を奏することができる。
接触支持部と不動部との間の、接触支持部に近い側の３つの関節部だけを回動させたいと考えた場合、第三動作モードに設定し、接触支持部に外力を加えることができる。このようにして外力を加えることで、意図している関節部が回動しなかったり、意図していない関節部が回動したりして、各関節部の回動角が意図したものから乖離することを抑制できる。
したがって、各関節部の回動角を補正するのに要する時間を低減して、マニピュレータ駆動装置の教示を行うときに要する時間を短縮することが可能となる。
【０１３７】
（態様Ｓ）
（態様Ｌ）乃至（態様Ｏ）のいずれかにおいて、前記複数の支持部の内、支柱部１１１ｂなどの不動部を除く第一アーム１０１、第二アーム１０２、及び第三アーム１２１などの支持部には、ユーザーの手などの物体が接触したことを検出する第一接触検出部１３３、第二接触検出部１４３、及び第三接触検出部１５３などの接触検出部が設けられており、前記物体が接触したことを検出した第一接触検出部１３３などの接触検出部を設けた第一アーム１０１などの接触支持部から前記不動部までの間に第一関節部１３０、第二関節部１４０、及び第三関節部１５０などの３以上の関節部があり、且つ、前記接触支持部に近い側の第一関節部１３０と第二関節部１４０などの３つの関節部の第一駆動中心１０３、第二駆動中心１０４、及び第三駆動中心１２２などの回動軸が平行であり、制御部２１０ａなどの前記マニピュレータの制御装置は、前記３以上の関節部の内、前記接触支持部に近い側の第一関節部１３０と第二関節部１４０などの２つの関節部をそれぞれ回動させる第一駆動部１６０と第二駆動部１７０などの２つの駆動部の駆動を制御して第四操作力Ｆ７４などの前記外力を補助する動作モード４などの第四動作モードを有していることを特徴とする。
【０１３８】
これによれば、本実施形態で説明したように、次のような効果を奏することができる。
接触支持部と不動部との間の、接触支持部に近い側の回動軸が平行な２つの関節部だけを回動させたいと考えた場合、第四動作モードに設定し、接触支持部に外力を加えることができる。このようにして外力を加えることで、意図している関節部が回動しなかったり、意図していない関節部が回動したりして、各関節部の回動角が意図したものから乖離することを抑制できる。
したがって、各関節部の回動角を補正するのに要する時間を低減して、マニピュレータ駆動装置の教示を行うときに要する時間を短縮することが可能となる。
【０１３９】
（態様Ｔ）
マニピュレータ装置１００やマニピュレータ装置６００などのマニピュレータ駆動装置を備えたロボットシステムにおいて、（態様Ａ）乃至（態様Ｋ）のいずれかの制御部２１０などのマニピュレータの制御装置、又は（態様Ｌ）乃至（態様Ｓ）のいずれかのマニピュレータ装置６００などのマニピュレータ駆動装置の、少なくともいずれかを備えたことを特徴とする。
これによれば、本実施形態で説明したように、次のような効果を奏することができる。
（態様Ａ）乃至（態様Ｋ）のいずれかのマニピュレータの制御装置、又は（態様Ｌ）乃至（態様Ｓ）のいずれかのマニピュレータ駆動装置の、少なくともいずれかと同様な効果を奏することができるロボットシステムを提供できる。
【符号の説明】
【０１４０】
１００    マニピュレータ装置（実施例１）
１０１    第一アーム
１０２    第二アーム
１０３    第一駆動中心
１０４    第二駆動中心
１０５    第一減速機
１０６    第一モータ
１０７    第一モータ用エンコーダ
１０８    第二減速機
１０９    第二モータ
１１０    第二モータ用エンコーダ
１１１ａ  土台
１１１ｂ  支柱部
１１２    外力検出部
１１３    入力部
１１４    入力装置
１２１    第三アーム
１２２    第三駆動中心
１２３    第三減速機
１２４    第三モータ
１２５    第三モータ用エンコーダ
１３０    第一関節部
１３１    第一アーム用エンコーダ
１３２    第一外力検出部
１３３    第一接触検出部
１３４    第一タッチセンサ
１３５    第一光学センサ
１４０    第二関節部
１４１    第二アーム用エンコーダ
１４２    第二外力検出部
１４３    第二接触検出部
１４４    第二タッチセンサ
１４５    第二光学センサ
１５０    第三関節部
１５１    第三アーム用エンコーダ
１５２    第三外力検出部
１５３    第三接触検出部
１５４    第三タッチセンサ
１５５    第三光学センサ
１６０    第一駆動部
１７０    第二駆動部
１８０    第三駆動部
２００    マニピュレータ本体
２００ａ  マニピュレータ本体（実施例３）
２１０    制御部
２１０ａ  制御部（実施例３）
２１４    駆動制御部
２１５    記憶部
２３３    第一モータドライバ
２３４    第一駆動情報検出部
２３５    第二モータドライバ
２３６    第二駆動情報検出部
２３７    第三モータドライバ
２３８    第三駆動情報検出部
４０９    操作力目標生成部
４１１    位置速度指令生成部
５０４    手先座標系
５０５    動作領域
６００    マニピュレータ装置（実施例２）
６０１    第一関節
６０２    第二関節
６０３    第三関節
６０４    第四関節
６０５    不動部
６１０    エンドエフェクタ
６１１    第一支持部
６１２    第二支持部
６１３    第三支持部
６２０    設置台
６３０    ユーザー（操作者）
６５１    Ｘｔｐ動作領域指定ボタン
６５２    Ｚｔｐ動作領域指定ボタン
６５３    Ｚａｂ動作領域指定ボタン
６５４    Ｘａｂ動作領域指定ボタン
６５５    Ｙａｂ動作領域指定ボタン
６９１    ツールポイント座標系
６９２    マニピュレータ絶対座標系
７００    マニピュレータ装置（実施例３）
【先行技術文献】
【特許文献】
【０１４１】
【特許文献１】特許４８９６２７６号広報
【図１】
2017074669.tif 000010
【図２】
2017074669.tif 000011
【図３】
2017074669.tif 000012
【図４】
2017074669.tif 000013
【図５】
2017074669.tif 000014
【図６】
2017074669.tif 000015
【図７】
2017074669.tif 000016
【図８】
2017074669.tif 000017
【図９】
2017074669.tif 000018
【図１０】
2017074669.tif 000019
【図１１】
2017074669.tif 000020
【図１２】
2017074669.tif 000021
【図１３】
2017074669.tif 000022
【図１４】
2017074669.tif 000023
【図１５】
2017074669.tif 000024
【図１６】
2017074669.tif 000025
【図１７】
2017074669.tif 000026
【図１８】
2017074669.tif 000027
【図１９】
2017074669.tif 000028
【図２０】
2017074669.tif 000029
【図２１】
2017074669.tif 000030
【図２２】
2017074669.tif 000031
【図２３】
2017074669.tif 000032
【図２４】
2017074669.tif 000033
【図２５】
2017074669.tif 000034