(57)【要約】【課題】位置誤差にロバストで様々なサイズのナットをボルトに組付ける人の器用さをロボットに実装するためのナット組付けタスクスキルを実装するタスクスキルによるナットの組付け装置を実現する。【解決手段】ナット１２の組付け作業をタスクスキルに基づいて記述するために、タスクスキルの動作手順を示し、ここの動作手順をタスクスキルのモデルである初期条件、タスクスキル動作、終了条件に基づいて記述した。また、タスクスキル動作にはインピーダンスと力のハイブリッド制御、またはインピーダンス制御を実装した。【選択図】図１
2006212742.tif 000002
【特許請求の範囲】
【請求項１】
ロボットと、力センサと、ハンドと、カメラと、ロボットを制御する制御装置と、力センサ情報を取得する装置と、ハンドを制御する制御装置と、カメラを制御する制御装置と、インピーダンスと力のハイブリッド制御を利用したタスクスキルを実装するタスクスキル実装装置と、を有するタスクスキルによるナット組付け装置。
【請求項２】
ロボットと、力センサと、ハンドと、カメラと、ロボットを制御する制御装置と、力センサ情報を取得する装置と、ハンドを制御する制御装置と、カメラを制御する制御装置と、インピーダンス制御を利用したタスクスキルを実装するタスクスキル実装装置と、を有するタスクスキルによるナット組付け装置。
【請求項３】
前記タスクスキルによるナット組付け装置のロボットは多関節方式であり、ロボットを駆動するモータの電流を利用して力センサの代わりに利用することができることを特徴とする請求項１又は請求項２記載のタスクスキルによるナット組付け装置。
【請求項４】
前記ナット組付けは、環境に固定されたボルトに対して、ナットを組付ける作業であり、ナットの全サイズに対応し、ナットの中心軸とボルトの中心軸に位置と姿勢の誤差があっても、前記ナット組付けを実現することを特徴とする請求項１又は請求項２記載のタスクスキルによるナット組付け装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は器用な作業のひとつであるボルトにナットを組付ける作業を実現するタスクスキルを実装したナット組付け装置に関するものである。
【背景技術】
【０００２】
自動車などの生産現場では、製品の組立てに多くのナットを利用している。コストの削減と工期の短縮を実現するために、ナットの組付けには、ナットの組付け機能を有する生産ロボットが多く使用されている。
【０００３】
しかし、生産ロボットは予め決められた軌道を位置制御で動作しているため、組付け先となるボルトを極めて正確に配置しなければならないという欠点があった。 
【０００４】
組立て作業において、この欠点は大きな障害である。具体的には、ボルトの位置に誤差があると、組付けが失敗するだけでなく、最悪の場合ナットやボルトを含む部品を破壊してしまうという問題があった。
【０００５】
この改善策として、精度の良いカメラシステムや特殊な冶具によりボルトの位置誤差を減らす手法が採用されているが、非常に費用と手間がかかるだけでなく、完全に位置誤差を無くすこともできない。さらに、組立て現場の環境が変化するとカメラの再設定が必要となり、ナットのサイズが変わると新しい冶具が必要となる。また、力制御ロボットによりボルトの位置誤差を吸収する手法があるが、ロボット、力センサ、ハンド以外に特別な機構を有する部品を使用する必要があった（特許文献１、２参照）。
【特許文献１】特開昭５７−１６７０号公報
【特許文献２】特開平２００２−３３１４２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
解決しようとする問題点は、ボルトの位置誤差にロバストな特性とナットのサイズに対するロバストな特性を有するナット組付けタスクスキルの具体的な記述と、ナット組付けタスクスキルを実装したナット組付け装置の確立である。
【課題を解決するための手段】
【０００７】
本発明は前記課題を解決するために、以下の手段を採用する。
【０００８】
タスクスキルによるナット組付け装置は、ロボットと、力センサと、ハンドと、カメラと、ロボットを制御する制御装置と、力センサ情報を取得する装置と、ハンドを制御する制御装置と、カメラを制御する制御装置と、インピーダンスと力のハイブリッド制御を利用したタスクスキルを実装するタスクスキル実装装置と、を有する。
【０００９】
タスクスキルによるナット組付け装置は、ロボットと、力センサと、ハンドと、カメラと、ロボットを制御する制御装置と、力センサ情報を取得する装置と、ハンドを制御する制御装置と、カメラを制御する制御装置と、インピーダンス制御を利用したタスクスキルを実装するタスクスキル実装装置と、を有する。
【００１０】
前記タスクスキルによるナット組付け装置のロボットは多関節方式であり、ロボットを駆動するモータの電流を利用して力センサの代わりに利用することができることを特徴とするタスクスキルによるナット組付け装置。
【００１１】
前記ナット組付けは、環境に固定されたボルトに対して、ナットを組付ける作業であり、ナットの全サイズに対応し、ナットの中心軸とボルトの中心軸に位置と姿勢の誤差があっても、前記ナット組付けを実現することを特徴とするタスクスキルによるナット組付け装置。
【発明の効果】
【００１２】
本発明に係るタスクスキルによるナット組付け装置によれば、組付け先のボルトの位置を位置誤差無しに正確に設置する必要が無くなり、精度の良いカメラシステムや特殊な冶具が不必要となり、コスト削減に貢献するだけでなく、組付けの失敗が無くなりナットやボルトを含む部品を破壊することも無くなり、安全にしかも位置誤差にロバストにナットの組付け作業が実行できるという利点がある。
【発明を実施するための最良の形態】
【００１３】
本発明は前記課題を解決するために、前記タスクスキルを利用する。前記タスクスキルは、ロボットがある基本動作を実行できるだけでなく、上位言語のレベルから再利用可能なモジュールであり、該タスクスキルのモデルは、初期条件、タスクスキル動作、終了条件からなる一連の状態遷移を実現するものであることを特徴とする。ナットの組付けタスクスキルでは、タスクスキル動作に、インピーダンスと力のハイブリッド制御、またはインピーダンス制御が実装される。
【００１４】
タスクスキル動作にインピーダンスと力のハイブリッド制御を実装することにより、自由空間での軌道追従性を確保し、対象物や環境との位置誤差に対しても過大な力が発生することを防ぎ、位置と姿勢のそれぞれ軸に対して操作者の意図に合わせてインピーダンス制御と力制御を適用できることを最も主な特徴とする。
【００１５】
タスクスキル動作にインピーダンス制御を実装することにより、自由空間での軌道追従性を確保し、対象物や環境との位置誤差に対しても過大な力が発生することを防ぐことを最も主な特徴とする。さらに、タスクスキル動作にインピーダンスと力のハイブリッド制御を実装する場合、ひとつの軸においてインピーダンス制御から力制御あるいは力制御からインピーダンス制御に切り替えるときの制御の安定化問題が生じるが、タスクスキル動作にインピーダンス制御を実装すると制御の切り替え問題がなくなることを最も主な特徴とする。
【００１６】
本発明に係るタスクスキルによるナット組付け装置を実施するための最良の形態を、タスクスキル動作にインピーダンスと力のハイブリッド制御を利用した実施例１に基づいて、図面を参照して、以下説明する。
【００１７】
本発明に係るタスクスキルによるナット組付け装置を実施するための最良の形態を、タスクスキル動作にインピーダンス制御を利用した実施例２に基づいて、図面を参照して、以下説明する。なお、図面は、図３、５は実施例１を説明する図であり、図６、７は実施例２を説明する図であるが、それ以外の図は共通であり同じ図面で説明する。
【実施例１】
【００１８】
図１は、本発明に関わるタスクスキル動作にインピーダンスと力のハイブリッド制御を利用したタスクスキルによるナット組付け装置１の全体構成図である。タスクスキル実行け装置１０は、ロボット２（本実施例１ではロボットアーム）、力センサ３、ハンド４、カメラ５、ロボット制御装置６、ハンド制御装置７、力センサ情報取得装置８、カメラ制御装置９を有する。 
【００１９】
ロボット２は、多関節方式であり、ロボット制御装置６により位置制御で動作する。さらに、ロボット２を駆動するモータの電流を利用して力センサ３の代わりに利用することもできる。ハンド４の手先位置は、ロボット２の関節に設置されている関節角度計測装置（例、ポテンショメータ）により計算できることは周知技術である。
【００２０】
ハンド４は、多指ハンドであり、ハンド制御装置７により指先が位置制御で動作する。
【００２１】
タスクスキル実行装置１０は、ロボット制御装置６に送信するロボット２の目標手先位置指令値とハンド制御装置７に送信するハンド４の目標指位置指令値をタスクスキル実装装置１１から受信し、ロボット制御装置６で計算されるロボット２の現在手先位置情報と力センサ情報取得装置８で取得する力センサ３の情報とハンド制御装置７で計算されるハンド４の現在指位置情報とカメラ制御装置９で取得するカメラ５の映像をタスクスキル実装装置１１へ送信する。
【００２２】
タスクスキル実装装置１１は、ナット組付けタスクスキルが実装される。タスクスキルは、初期条件、タスクスキル動作、終了条件からなる一連の状態遷移を実現し、初期条件および終了条件はロボット２の位置、力センサ３の値、ハンド４の位置、カメラ５の映像情報で記述され、タスクスキル動作はインピーダンスと力のハイブリッド制御で記述される。
【００２３】
タスクスキル動作が記述されるインピーダンスと力のハイブリッド制御において、インピーダンス制御での慣性ゲインをすべて 0.5 [kg]、ダンピングゲインを並進軸 200.0 [Ns/m]、 回転軸10.0 [Nm/(rad/s)]、剛性ゲインを並進軸500.0 [N/m]、 回転軸5.0 [Nm/rad]とし、力制御でのゲインを並進軸 0.0005 [m/N]、回転軸 0.05 [rad/Nm]とする。
【００２４】
図２は、ボルト１３にナット１２を組付ける作業の概要図である。ボルト１３は環境に固定されており、ナット１２はタスクスキル実行装置１０のハンド４に把持される。Σnはナット１２に固定されたナット座標系であり、点０が原点である。Σbはボルト１３に固定されたボルト座標系であり、点Bが原点である。ロボット２の手先座標系は、ナット１２のナット座標系Σnと一致する。
ナット１２を動かすタスクスキル動作は、タスクスキル動作座標系Σsで記述され、制御点はナット１２の点Oとするため、ナット１２に力、モーメントが作用しない場合には、ナット１２の点Oがナット１２のインピーダンス中心となる。Σsは、Σnを基準として決定され、原点も点Oと一致する。ここで、ナット１２が移動すると同時にΣnも移動するため、ある時点でのΣnをΣsと設定し、Σnが引き続き移動したとしてもΣsは設定された時点の位置に固定される。また、一度ΣsがΣnにより設定され、Σsを基準にしてΣnが移動したとしても、移動後のΣnを利用してΣsを新規に再設定できる。
【００２５】
タスクスキル動作に実装されるインピーダンスと力のハイブリッド制御では、個々の制御軸（x、y、z軸、roll、pitch、yaw軸）に対してインピーダンス制御と力制御のどちらかの制御を設定する必要がある。
【００２６】
ナット組付けタスクスキルの動作手順と個々の軸に対する制御方法は、
（１）  ボルト１３への接近、接触動作（全軸インピーダンス制御）
（２）  ボルト１３への押付け動作（z軸力制御、その他の軸インピーダンス制御）
（３）  ボルト１３への軸合せ動作（z軸力制御、その他の軸インピーダンス制御）
（４）  ボルト１３への軸合せ動作が失敗した場合の力解除動作（z軸力制御、その他の軸インピーダン制御）
（５）  ボルト１３への軸合せ動作が失敗した場合の離脱動作（全軸インピーダンス制御）
（６）  ボルト１３への軸合せ動作が失敗した場合の回転動作（全軸インピーダンス制御）
（７）  ボルト１３への組付け動作（z軸力制御、その他の軸インピーダンス制御）
と記述する。図３にナット組付けタスクスキルの動作手順のブロック図を示す。
【００２７】
（１）ボルト１３への接近、接触動作は、タスクスキルのモデルを使って以下のように記述する。
・初期条件：Σnのz軸とΣbのz軸軸がある程度一致しており、動作開始時ΣnをΣsと設定する。z軸方向でのボルトとナットの距離は 0.1 [m]以内とする。
・タスクスキル動作：全軸インピーダンス制御で、インピーダンス中心をz軸方向に0.004 [m/s] で移動させる。目標位置はナットとボルトの距離よりも大きく設定し、0.1 [m]とする。
・終了条件：z軸方向に-6.0[N] 発生した時点で終了する。この時点でのΣnをΣsと再設定する。
【００２８】
（２）ボルト１３への押付け動作は、タスクスキルのモデルを使って以下のように記述する。
・初期条件：z軸方向に-6.0 [N] 発生状態とする。
・タスクスキル動作：z軸力制御、その他の軸インピーダンス制御で、z軸方向に 6.0 [N/s] で-6.0 [N] で押付ける。
・終了条件：7.0 [s]間押付けた時点で終了する。
【００２９】
ナット１２をボルト１３に組付ける場合、ナット１２のΣnのz軸がボルト１３のΣbのz軸に対して一直線上に存在しないと、組付けを実現することはできない。そこで、（３）ボルト１３への軸合せ動作では、ナット１２のΣnのz軸をボルト１３のΣbのz軸と一直線上に設定するための、軸合せ動作手順と軸合せ評価基準を設定する。軸合せ動作は、ナット１２をボルト１３に押付けたまま、コンプライアンス中心の姿勢を変化させることである。軸合せが成功した場合には、ナット１２に大きなモーメントが発生するため、このモーメントに注目しながら、軸合せを実施する必要がある。
【００３０】
図４にナット１２の面をΣsに関してxy平面で8分割した図を示す。ボルト１３への軸合せ動作では、インピーダンス中心を図４に示された AA'（pitch軸周り）、BB’、CC’（roll軸周り）、DD’方向に順次姿勢を変化させ軸合せを実施する。ボルト１３への軸合せ動作は、タスクスキルモデルを使って以下のように記述する。
【００３１】
（３−１）図４のAA'（pitch軸周り）方向での軸合せ動作
・初期条件：z軸方向に-6.0 [N] 発生状態とする
・タスクスキル動作：z軸力制御、その他の軸インピーダンス制御とする。
z軸方向の力は-6.0 [N]を維持する。
インピーダンス中心をx軸方向に0.004 [m/s]で0.0 [m] から0.004 [m]に移動させると同時にpitch軸周り（AA'方向）に0.04 [rad/s] で 0.0 [rad] から-0.3 [rad]に移動させる。
次に、インピーダンス中心をx軸方向に0.004 [m/s]で 0.004 [m] から-0.004 [m]に移動させると同時にpitch軸周り（AA'方向）に0.04 [rad/s] で -0.3 [rad] から0.3 [rad]に移動させる。
最後に、インピーダンス中心をx軸方向に0.004 [m/s]で -0.004 [m] から0.004 [m]に移動させると同時にpitch軸周り（AA'方向）に0.04 [rad/s] で 0.3 [rad] から0.0 [rad]に移動させる。
・終了条件：タスクスキル動作が完了した時点で終了とし（３−２）へ移行する。ただし、0.3 [Nm]以上のモーメントが1.0[s]以上発生した（軸合せの評価基準を満たした）時点でも終了とし、この時点でのΣnをΣsと再設定して（３−２）へ移行する。
【００３２】
（３−２）図４のBB'方向での軸合せ動作
・初期条件：z軸方向に-6.0 [N] 発生状態とする
・タスクスキル動作：z軸力制御、その他の軸インピーダンス制御とする。
z軸方向の力は -6.0 [N]を維持する。
インピーダンス中心をx軸方向に0.0028 [m/s] で 0.0 [m] から0.0028 [m] 、y軸方向に 0.0028 [m/s] で0.0 [m] から 0.0028 [m] に移動させると同時に図３中BB'方向となる roll軸周りに0.028 [rad/s] で 0.0 [rad] から0.21 [rad]、pitch軸周りに 0.028 [rad/s] で0.0 [rad] から -0.21 [rad]に移動させる。
次に、インピーダンス中心をx軸方向に0.0028 [m/s] で 0.0028 [m] から-0.0028 [m] 、y軸方向に 0.0028 [m/s] で0.0028 [m] から -0.0028 [m] に移動させると同時に図３中BB'方向となる roll軸周りに 0.028 [rad/s] で0.21 [rad] から -0.21 [rad]、pitch軸周りに 0.028 [rad/s] で -0.21 [rad] から0.21 [rad]に移動させる。
最後に、インピーダンス中心をx軸方向に0.0028 [m/s] で -0.0028 [m] から0.0028 [m] 、y軸方向に 0.0028 [m/s] で-0.0028 [m] から 0.0028 [m] に移動させると同時に図３中BB'方向となる roll軸周りに 0.028 [rad/s] で-0.21 [rad] から 0.0 [rad]、pitch軸周りに 0.028 [rad/s] で 0.21 [rad] から0.0 [rad]に移動させる。
・終了条件：タスクスキル動作が完了した時点で終了とし（３−３）へ移行する。ただし、0.3 [Nm]以上のモーメントが1.0[s]以上発生した（軸合せの評価基準を満たした）時点でも終了とし、この時点でのΣnをΣsと再設定して（３−３）へ移行する。
【００３３】
（３−３）図４のCC'（roll軸周り）方向での軸合せ動作
・初期条件：z軸方向に-6.0 [N] 発生状態とする
・タスクスキル動作：z軸力制御、その他の軸インピーダンス制御とする。
z軸方向の力は -6.0 [N]を維持する。
インピーダンス中心を y軸方向に0.004 [m/s]で0.0 [m] から0.004 [m]に移動させると同時にroll軸周り（CC'方向）に0.04 [rad/s] で 0.0 [rad] から0.3 [rad]に移動させる。
次に、インピーダンス中心をy軸方向に0.004 [m/s]で 0.004 [m] から-0.004 [m]に移動させると同時にroll軸周り（CC'方向）に0.04 [rad/s] で 0.3 [rad] から-0.3 [rad]に移動させる。
最後に、インピーダンス中心をy軸方向に0.004 [m/s]で -0.004 [m] から0.004 [m]に移動させると同時にroll軸周り（CC'方向）に0.04 [rad/s] で -0.3 [rad] から0.0 [rad]に移動させる。
・終了条件：タスクスキル動作が完了した時点で終了とし（３−４）へ移行する。ただし、0.3 [Nm]以上のモーメントが1.0[s]以上発生した（軸合せの評価基準を満たした）時点でも終了とし、この時点でのΣnをΣsと再設定して（３−４）へ移行する。
【００３４】
（３−４）図４のDD方向'での軸合せ動作
・初期条件：z軸方向に-6.0 [N] 発生状態とする
・タスクスキル動作：z軸力制御、その他の軸インピーダンス制御とする。
z軸方向の力は -6.0 [N]を維持する。
インピーダンス中心をx軸方向に0.0028 [m/s] で 0.0 [m] から-0.0028 [m] 、y軸方向に 0.0028 [m/s] で0.0 [m] から 0.0028 [m] に移動させると同時に図３中DD'方向となる roll軸周りに0.028 [rad/s] で 0.0 [rad] から0.21 [rad]、 pitch軸周りに 0.028 [rad/s] で0.0 [rad] から 0.21 [rad]に移動させる。
次に、インピーダンス中心をx軸方向に0.0028 [m/s] で -0.0028 [m] から0.0028 [m] 、y軸方向に 0.0028 [m/s] で0.0028 [m] から -0.0028 [m] に移動させると同時に図３中DD'方向となる roll軸周りに 0.028 [rad/s] で0.21 [rad] から -0.21 [rad]、pitch軸周りに 0.028 [rad/s] で 0.21 [rad] から-0.21 [rad]に移動させる。
最後に、インピーダンス中心をx軸方向に0.0028 [m/s] で 0.0028 [m] から-0.0028 [m] 、y軸方向に 0.0028 [m/s] で-0.0028 [m] から 0.0028 [m] に移動させると同時に図３中DD'方向となる roll軸周りに 0.028 [rad/s] で-0.21 [rad] から 0.0 [rad]、pitch軸周りに 0.028 [rad/s] で -0.21 [rad] から0.0 [rad] に移動させる。
・終了条件：タスクスキル動作が完了した時点で終了とし（３−１）へ移行する。ただし、0.3 [Nm]以上のモーメントが1.0[s]以上発生した（軸合せの評価基準を満たした）時点でも終了とし、この時点でのΣnをΣsと再設定して（３−１）へ移行する。
ここで、ボルト１３の軸合せ動作の終了条件は、軸合せの評価基準を4回満たすまで軸合せ動作を繰り返し、4回発生した時点と設定する。
【００３５】
（４）ボルト１３への軸合せ動作が失敗した場合の力解除動作は、タスクスキルのモデルを使って以下のように記述できる。
・初期条件：z軸方向に-6.0 [N] 発生状態とする。
・タスクスキル動作：z軸力制御、その他の軸インピーダンス制御とする。z軸方向に 6.0 [N/s] で0.0 [N]で押し付ける。 
・終了条件：タスクスキル動作が完了した時点で終了とする。
【００３６】
（５）ボルト１３への軸合せ動作が失敗した場合の離脱動作は、タスクスキルのモデルを使って以下のように記述できる。
・初期条件：z軸方向に0.0[N] 発生状態とする。
・タスクスキル動作：全軸インピーダンス制御とする。インピーダンス中心をz軸方向に0.003 [m/s] で -0.015 [m]まで移動させる。
・終了条件：タスクスキル動作が完了した時点で終了とする。
【００３７】
（６）ボルト１３への軸合せ動作が失敗した場合の回転動作は、タスクスキルのモデルを使って以下のように記述できる。
・初期条件：なし。
・タスクスキル動作：全軸インピーダンス制御とする。インピーダンス中心をz軸周りに0.1 [rad/s] で 3.14/2 [rad]まで回転させる。
・終了条件：タスクスキル動作が完了した時点で終了とする。
【００３８】
（７）ボルト１３への組付け動作は、タスクスキルモデルを使って以下のように記述できる。
・初期条件：z軸方向に-6.0[N] 発生状態とする。
・作業スキル動作：z軸力制御、その他の軸インピーダンス制御で、z軸方向の力は -6.0 [N]を維持したまま、インピーダンス中心をz軸回りに 0.1 [rad/s] で3.14 [rad]回転させる。
・終了条件：タスクスキル動作が完了した時点で終了とする。
【００３９】
図５にナット組付けタスクスキルを実装したナット組付け装置によるナット組付け作業の実行結果を示す。使用したナット１２はM20である。図５（a）はナット１２の点Oに作用する力、図５（b）はナット１２の点Oに作用するモーメント、図５（c）はナット１２の点Oの位置、図５（d）はナット１２の点Oの姿勢、図５（e）はインピーダンス中心の位置、図５（f）はインピーダンス中心の姿勢である。動作手順は図３の（１）、（２）、（３）、（４）、（５）、（６）、（１）、（２）、（３）、（７）となっている。位置誤差は、並進で5 [mm]、姿勢で10 [deg] 設定した。位置誤差がある状況でナット組付け作業は問題なく実行されている。また、M8、M10、M12、M14、M16、M18、M20、M22、M24、M26、M28、M30においても、問題なくナット組付け作業が実行できた。
【実施例２】
【００４０】
図１は、本発明に関わるタスクスキル動作にインピーダンス制御を利用したタスクスキルによるナット組付け装置１の全体構成図である。タスクスキル実行け装置１０は、ロボット２（本実施例２ではロボットアーム）、力センサ３、ハンド４、カメラ５、ロボット制御装置６、ハンド制御装置７、力センサ情報取得装置８、カメラ制御装置９を有する。
【００４１】
ロボット２は、多関節方式であり、ロボット制御装置６により位置制御で動作する。さらに、ロボット２を駆動するモータの電流を利用して力センサ３の代わりに利用することもできる。ハンド４の手先位置は、ロボット２の関節に設置されている関節角度計測装置（例、ポテンショメータ）により計算できることは周知技術である。
【００４２】
ハンド４は、多指ハンドであり、ハンド制御装置７により指先が位置制御で動作する。
【００４３】
タスクスキル実行装置１０は、ロボット制御装置６に送信するロボット２の目標手先位置指令値とハンド制御装置７に送信するハンド４の目標指位置指令値をタスクスキル実装装置１１から受信し、ロボット制御装置６で計算されるロボット２の現在手先位置情報と力センサ情報取得装置８で取得する力センサ３の情報とハンド制御装置７で計算されるハンド４の現在指位置情報とカメラ制御装置９で取得するカメラ５の映像をタスクスキル実装装置１１へ送信する。
【００４４】
タスクスキル実装装置１１は、ナットの組付けタスクスキルが実装される。タスクスキルは、初期条件、タスクスキル動作、終了条件からなる一連の状態遷移を実現し、初期条件および終了条件はロボット２の位置、力センサ３の値、ハンド４の位置、カメラ５の映像情報で記述され、タスクスキル動作はインピーダンス制御で記述される。
【００４５】
タスクスキル動作が記述されるインピーダンス制御において、インピーダンス制御での慣性ゲインをすべて 0.5 [kg]、ダンピングゲインを並進軸 200.0 [Ns/m]、 回転軸10.0 [Nm/(rad/s)]、剛性ゲインを並進軸500.0 [N/m]、 回転軸5.0 [Nm/rad]とする。
【００４６】
図２は、ボルト１３にナット１２を組付ける作業の概要図である。ボルト１３は環境に固定されており、ナット１２はタスクスキル実行装置１０のハンド４に把持される。Σnはナット１２に固定されたナット座標系であり、点０が原点である。Σbはボルト１３に固定されたボルト座標系であり、点Bが原点である。ロボット２の手先座標系は、ナット１２のナット座標系Σnと一致する。
ナット１２を動かすタスクスキル動作は、タスクスキル動作座標系Σsで記述され、制御点はナット１２の点Oとするため、ナット１２に力、モーメントが作用しない場合には、ナット１２の点Oがナット１２のインピーダンス中心となる。Σsは、Σnを基準として決定され、原点も点Oと一致する。ここで、ナット１２が移動すると同時にΣnも移動するため、ある時点でのΣnをΣsと設定し、Σnが引き続き移動したとしてもΣsは設定された時点の位置に固定される。また、一度ΣsがΣnにより設定され、Σsを基準にしてΣnが移動したとしても、移動後のΣnを利用してΣsを新規に再設定できる。
【００４７】
ナット組付けタスクスキルの動作手順と個々の軸に対する制御方法は、
（１）ボルト１３への接近、接触動作
（２）ボルト１３への押付け動作
（３）ボルト１３への軸合せ動作
（４）ボルト１３への軸合せ動作が失敗した場合の離脱動作
（５）ボルト１３への軸合せ動作が失敗した場合の回転動作
（６）ボルト１３への組付け動作
と記述する。図６にナットの組付けタスクスキルの動作手順のブロック図を示す。
【００４８】
（１）ボルト１３への接近、接触動作は、タスクスキルのモデルを使って以下のように記述する。
・初期条件：Σnのz軸とΣbのz軸軸がある程度一致しており、動作開始時ΣnをΣsと設定する。z軸方向でのボルトとナットの距離は 0.1 [m]以内とする。
・タスクスキル動作：インピーダンス中心をz軸方向に0.004 [m/s] で移動させる。目標位置はナットとボルトの距離よりも大きく設定し、0.1 [m]とする。
・終了条件：z軸方向に-6.0[N] 発生した時点で終了する。この時点でのΣnをΣsと再設定する。
【００４９】
（２）ボルト１３への押付け動作は、タスクスキルのモデルを使って以下のように記述する。
・初期条件：z軸方向に-6.0 [N] 発生状態とする。
・タスクスキル動作：インピーダンス中心を固定し -6.0 [N] 発生させる。
・終了条件：7.0 [s]間押付けた時点で終了する。
【００５０】
ナット１２をボルト１３に組付ける場合、ナット１２のΣnのz軸がボルト１３のΣbのz軸に対して一直線上に存在しないと、組付けを実現することはできない。そこで、（３）ボルト１３への軸合せ動作では、ナット１２のΣnのz軸をボルト１３のΣbのz軸と一直線上に設定するための、軸合せ動作手順と軸合せ評価基準を設定する。軸合せ動作は、ナット１２をボルト１３に押付けたまま、コンプライアンス中心の姿勢を変化させることである。軸合せが成功した場合には、ナット２１に大きなモーメントが発生するため、このモーメントに注目しながら、軸合せを実施する必要がある。
【００５１】
図４にナット１２の面をΣsに関してxy平面で8分割した図を示す。ボルト１３への軸合せ動作では、インピーダンス中心を図４に示された AA'（pitch軸周り）、BB’、CC’（roll軸周り）、DD’方向に順次姿勢を変化させ軸合せを実施する。ボルト１３への軸合せ動作は、タスクスキルモデルを使って以下のように記述する。
【００５２】
（３−１）図４のAA'（pitch軸周り）方向での軸合せ動作
・初期条件：z軸方向に-6.0 [N] 発生状態とする
・タスクスキル動作：インピーダンス中心をx軸方向に0.004 [m/s]で0.0 [m] から0.004 [m]に移動させると同時にpitch軸周り（AA'方向）に0.04 [rad/s] で 0.0 [rad] から-0.3 [rad]に移動させる。
次に、インピーダンス中心をx軸方向に0.004 [m/s]で 0.004 [m] から-0.004 [m]に移動させると同時にpitch軸周り（AA'方向）に0.04 [rad/s] で -0.3 [rad] から0.3 [rad]に移動させる。
最後に、インピーダンス中心をx軸方向に0.004 [m/s]で -0.004 [m] から0.004 [m]に移動させると同時にpitch軸周り（AA'方向）に0.04 [rad/s] で 0.3 [rad] から0.0 [rad]に移動させる。
・終了条件：タスクスキル動作が完了した時点で終了とし（３−２）へ移行する。ただし、0.3 [Nm]以上のモーメントが1.0[s]以上発生した（軸合せの評価基準を満たした）時点でも終了とし、この時点でのΣnをΣsと再設定して（３−２）へ移行する。
【００５３】
（３−２）図４のBB'方向での軸合せ動作
・初期条件：z軸方向に-6.0 [N] 発生状態とする
・タスクスキル動作： インピーダンス中心をx軸方向に0.0028 [m/s] で 0.0 [m] から0.0028 [m] 、y軸方向に 0.0028 [m/s] で0.0 [m] から 0.0028 [m] に移動させると同時に図７中BB'方向となる roll軸周りに0.028 [rad/s] で 0.0 [rad] から0.21 [rad]、pitch軸周りに 0.028 [rad/s] で0.0 [rad] から -0.21 [rad]に移動させる。
次に、インピーダンス中心をx軸方向に0.0028 [m/s] で 0.0028 [m] から-0.0028 [m] 、y軸方向に 0.0028 [m/s] で0.0028 [m] から -0.0028 [m] に移動させると同時に図３中BB'方向となる roll軸周りに 0.028 [rad/s] で0.21 [rad] から -0.21 [rad]、pitch軸周りに 0.028 [rad/s] で -0.21 [rad] から0.21 [rad]に移動させる。
最後に、インピーダンス中心をx軸方向に0.0028 [m/s] で -0.0028 [m] から0.0028 [m] 、y軸方向に 0.0028 [m/s] で-0.0028 [m] から 0.0028 [m] に移動させると同時に図３中BB'方向となる roll軸周りに 0.028 [rad/s] で-0.21 [rad] から 0.0 [rad]、pitch軸周りに 0.028 [rad/s] で 0.21 [rad] から0.0 [rad]に移動させる。
・終了条件：タスクスキル動作が完了した時点で終了とし（３−３）へ移行する。ただし、0.3 [Nm]以上のモーメントが1.0[s]以上発生した（軸合せの評価基準を満たした）時点でも終了とし、この時点でのΣnをΣsと再設定して（３−３）へ移行する。
【００５４】
（３−３）図４のCC'（roll軸周り）方向での軸合せ動作
・初期条件：z軸方向に-6.0 [N] 発生状態とする
・タスクスキル動作：インピーダンス中心を y軸方向に0.004 [m/s]で0.0 [m] から0.004 [m]に移動させると同時にroll軸周り（CC'方向）に0.04 [rad/s] で 0.0 [rad] から0.3 [rad]に移動させる。
次に、インピーダンス中心をy軸方向に0.004 [m/s]で 0.004 [m] から-0.004 [m]に移動させると同時にroll軸周り（CC'方向）に0.04 [rad/s] で 0.3 [rad] から-0.3 [rad]に移動させる。
最後に、インピーダンス中心をy軸方向に0.004 [m/s]で -0.004 [m] から0.004 [m]に移動させると同時にroll軸周り（CC'方向）に0.04 [rad/s] で -0.3 [rad] から0.0 [rad]に移動させる。
・終了条件：タスクスキル動作が完了した時点で終了とし（３−４）へ移行する。ただし、0.3 [Nm]以上のモーメントが1.0[s]以上発生した（軸合せの評価基準を満たした）時点でも終了とし、この時点でのΣnをΣsと再設定して（３−４）へ移行する。
【００５５】
（３−４）図４のDD方向'での軸合せ動作
・初期条件：z軸方向に-6.0 [N] 発生状態とする
・タスクスキル動作：インピーダンス中心をx軸方向に0.0028 [m/s] で 0.0 [m] から -0.0028[m] 、y軸方向に 0.0028 [m/s] で0.0 [m] から 0.0028 [m] に移動させると同時に図３中DD'方向となる roll軸周りに0.028 [rad/s] で 0.0 [rad] から0.21 [rad]、 pitch軸周りに 0.028 [rad/s] で0.0 [rad] から 0.21 [rad]に移動させる。
次に、インピーダンス中心をx軸方向に0.0028 [m/s] で -0.0028 [m] から0.0028 [m] 、y軸方向に 0.0028 [m/s] で0.0028 [m] から -0.0028 [m] に移動させると同時に図３中DD'方向となる roll軸周りに 0.028 [rad/s] で0.21 [rad] から -0.21 [rad]、pitch軸周りに 0.028 [rad/s] で 0.21 [rad] から-0.21 [rad]に移動させる。
最後に、インピーダンス中心をx軸方向に0.0028 [m/s] で 0.0028 [m] から-0.0028 [m] 、y軸方向に 0.0028 [m/s] で-0.0028 [m] から 0.0028 [m] に移動させると同時に図３中DD'方向となる roll軸周りに 0.028 [rad/s] で-0.21 [rad] から 0.0 [rad]、pitch軸周りに 0.028 [rad/s] で -0.21 [rad] から0.0 [rad] に移動させる。
・終了条件：タスクスキル動作が完了した時点で終了とし（３−１）へ移行する。ただし、0.3 [Nm]以上のモーメントが1.0[s]以上発生した（軸合せの評価基準を満たした）時点でも終了とし、この時点でのΣnをΣsと再設定して（３−１）へ移行する。
ここで、ボルト１３の軸合せ動作の終了条件は、軸合せの評価基準を4回満たすまで軸合せ動作を繰り返し、4回発生した時点と設定する。
【００５６】
（４）ボルト１３への軸合せ動作が失敗した場合の離脱動作は、タスクスキルのモデルを使って以下のように記述できる。
・初期条件：z軸方向に0.0[N] 発生状態とする。
・タスクスキル動作：インピーダンス中心をz軸方向に0.003 [m/s] で -0.03 [m]まで移動させる。
・終了条件：タスクスキル動作が完了した時点で終了とする。
【００５７】
（５）ボルト１３への軸合せ動作が失敗した場合の回転動作は、タスクスキルのモデルを使って以下のように記述できる。
・初期条件：なし。
・タスクスキル動作：インピーダンス中心をz軸周りに0.1 [rad/s] で 3.14/2 [rad]まで回転させる。
・終了条件：タスクスキル動作が完了した時点で終了とする。
【００５８】
（６）ボルト１３への組付け動作は、タスクスキルモデルを使って以下のように記述できる。
・初期条件：z軸方向に-6.0[N] 発生状態とする。
・作業スキル動作：インピーダンス中心をz軸回りに0.1 [rad/s] で 3.14 [rad]回転させる。
・終了条件：タスクスキル動作が完了した時点で終了とする。
【００５９】
図７にナット組付けタスクスキルを実装したナット組付け装置によるナット組付け作業の実行結果を示す。使用したナットはM20である。図７（a）はナット１２の点Oに作用する力、図７（b）はナット１２の点Oに作用するモーメント、図７（c）はナット１２の点Oの位置、図７（d）はナット１２の点Oの姿勢、図７（e）はインピーダンス中心の位置、図７（f）はインピーダンス中心の姿勢である。動作手順は図６の（１）、（２）、（３）、（６）となっている。位置誤差は、並進で5 [mm]、姿勢で10 [deg] 設定した。位置誤差がある状況でナット組付け作業は問題なく実行されている。また、M8、M10、M12、M14、M16、M18、M20、M22、M24、M26、M28、M30においても、問題なくナット組付け作業が実行できた。
【００６０】
以上、本発明に関わるナット組付けタスクスキルによるナット組付け装置を実施するための最良の形態を実施例１、実施例２に基づいて説明した。既に本発明を利用し、実施例で示したタスクスキルによるナット組付け作業を実行した。このタスクスキルによるナット組付け装置は、異なるサイズのナット１２や位置・姿勢誤差を含んだ様々な環境下でナット組付け作業をすべて実現することができ、実際に使用できることが確認された。
【産業上の利用可能性】
【００６１】
これまでボルト１３とナット１２間に位置誤差があると、組付け作業が遂行できなかったが、本発明では前記のように位置誤差があっても問題なくナット組付け作業を実現することができる。したがって、生産ロボットが使用されている生産現場だけでなく様々な環境で、ナット組付け作業を実現することができる。
【図面の簡単な説明】
【００６２】
【図１】本発明であるタスクスキルによるナット組付け装置の全体構成図である（実施例１、２）。
【図２】本発明でのボルトとナットの概要図である（実施例１、２）。
【図３】本発明でのタスクスキル動作にインピーダンスと力のハイブリッド制御を使用したナット組付けタスクスキル動作手順である（実施例１）。
【図４】ナットの面をロボットが動作するタスクスキル座標系のxy平面で8分割した図である（実施例１、２）。
【図５】本発明でのタスクスキル動作にインピーダンスと力のハイブリッド制御を使用したナット組付けタスクスキルを実装したナット組付け装置による実行結果である（実施例１）。
【図６】本発明でのタスクスキル動作にインピーダンス制御を使用したナット組付けタスクスキル動作手順である（実施例２）。
【図７】本発明でのタスクスキル動作にインピーダンス制御を使用したナット組付けタスクスキルを実装したナット組付け装置による実行結果である（実施例２）。
【符号の説明】
【００６３】
１   タスクスキルによるナット組付け装置
２   ロボット
３   力センサ
４   ハンド
５   カメラ
６   ロボット制御装置
７   ハンド制御装置
８   力センサ情報取得装置
９   カメラ制御装置
１０   タスクスキル実行装置
１１   タスクスキル実装装置
１２   ナット
１３   ボルト
【図１】
2006212742.tif 000003
【図２】
2006212742.tif 000004
【図３】
2006212742.tif 000005
【図４】
2006212742.tif 000006
【図５】
2006212742.tif 000007
【図６】
2006212742.tif 000008
【図７】
2006212742.tif 000009