(57)【要約】      （修正有）【課題】  位置誤差にロバストで様々なサイズのボルトをナットに組付ける人の器用さをロボットに実装するためのボルト組付けタスクスキルを実装するタスクスキルによるボルトの組付け装置を実現する。【解決手段】  ボルト１２の組付け作業をタスクスキルに基き実行する。タスクスキルの動作手順として、動作手順をタスクスキルのモデルである初期条件、タスクスキル動作、終了条件に基づいて作動させる。また、タスクスキル動作にはインピーダンスと力のハイブリッド制御、またはインピーダンス制御を制御装置１１に実装した。【選択図】図１
2006212743.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]とする。
【００２４】
図２は、ナット１３にボルト１２を組付ける作業の概要図である。ナット１３は環境に固定されており、ボルト１２はタスクスキル実行装置１０のハンド４に把持される。Σbはボルト１２に固定されたボルト座標系であり、点０が原点である。Σnはナット１３に固定されたナット座標系であり、点Nが原点である。ロボット２の手先座標系は、ボルト１２のボルト座標系Σbと一致する。
ボルト１２を動かすタスクスキル動作は、タスクスキル動作座標系Σsで記述され、制御点はボルト１２の点Oとするため、ボルト１２に力、モーメントが作用しない場合には、ボルト１２の点Oがボルト１２のインピーダンス中心となる。Σsは、Σbを基準として決定され、原点も点Oと一致する。ここで、ボルト１２が移動すると同時にΣbも移動するため、ある時点でのΣbをΣsと設定し、Σbが引き続き移動したとしてもΣsは設定された時点の位置に固定される。また、一度ΣsがΣbにより設定され、Σsを基準にしてΣbが移動したとしても、移動後のΣbを利用してΣsを新規に再設定できる。
【００２５】
タスクスキル動作に実装されるインピーダンスと力のハイブリッド制御では、個々の制御軸（x、y、z軸、roll、pitch、yaw軸）に対してインピーダンス制御と力制御のどちらかの制御を設定する必要がある。
【００２６】
ボルト組付けタスクスキルの動作手順と個々の軸に対する制御方法は、
（１）  ナット１３への接近、接触動作（全軸インピーダンス制御）
（２）  ナット１３への押付け動作（z軸力制御、その他の軸インピーダンス制御）
（３）  ナット１３への軸合せ動作（z軸力制御、その他の軸インピーダンス制御）
（４）  ナット１３への軸合せ動作が失敗した場合の力解除動作（z軸力制御、その他の軸インピーダンス制御）
（５）  ナット１３への軸合せ動作が失敗した場合の離脱動作（全軸インピーダンス制御）
（６）  ナット１３への軸合せ動作が失敗した場合の回転動作（全軸インピーダンス制御）
（７）  ナット１３への組付け動作（z軸力制御、その他の軸インピーダンス制御）
と記述する。図３にボルト組付けタスクスキルの動作手順のブロック図を示す。
【００２７】
（１）ナット１３への接近、接触動作は、タスクスキルのモデルを使って以下のように記述する。
・初期条件：Σbのz軸とΣnのz軸軸がある程度一致しており、動作開始時ΣbをΣsと設定する。z軸方向でのボルトとナットの距離は 0.1 [m]以内とする。
・タスクスキル動作：全軸インピーダンス制御で、インピーダンス中心をz軸方向に0.01 [m/s] で移動させる。目標位置はボルトとナットの距離よりも大きく設定し、0.1 [m]とする。
・終了条件：z軸方向に-7.5[N] 発生した時点で終了する。この時点でのΣbをΣsと再設定する。
【００２８】
（２）ナット１３への押付け動作は、タスクスキルのモデルを使って以下のように記述する。
・初期条件：z軸方向に-7.5 [N] 発生状態とする。
・タスクスキル動作：z軸力制御、その他の軸インピーダンス制御で、z軸方向に 7.5 [N/s] で-7.5 [N] で押付ける。
・終了条件：4.0 [s]間押付けた時点で終了する。
【００２９】
ボルト１２をナット１３に組付ける場合、ボルト１２のΣbのz軸がナット１３のΣnのz軸に対して一直線上に存在しないと、組付けを実現することはできない。そこで、（３）ナット１３への軸合せ動作では、ボルト１２のΣbのz軸をナット１３のΣnのz軸と一直線上に設定するための、軸合せ動作手順と軸合せ評価基準を設定する。軸合せ動作は、ボルト１２をナット１３に押付けたまま、コンプライアンス中心の姿勢を変化させることである。軸合せが成功した場合には、ボルト１２に大きなモーメントが発生するため、このモーメントに注目しながら、軸合せを実施する必要がある。
【００３０】
図４にボルト１２の面をΣsに関してxy平面で8分割した図を示す。ナット１３への軸合せ動作では、インピーダンス中心を図４に示された AA'（pitch軸周り）、BB’、CC’（roll軸周り）、DD’方向に順次姿勢を変化させ軸合せを実施する。ナット１３への軸合せ動作は、タスクスキルモデルを使って以下のように記述する。
【００３１】
（３−１）図４のAA'（pitch軸周り）方向での軸合せ動作
・初期条件：z軸方向に-7.5 [N] 発生状態とする
・タスクスキル動作：z軸力制御、その他の軸インピーダンス制御とする。
z軸方向の力は -7.5 [N]を維持する。
インピーダンス中心をx軸方向に0.005 [m/s]で0.0 [m] から-0.005 [m]に移動させると同時にpitch軸周り（図４中AA'方向）に0.07 [rad/s] で 0.0 [rad] から-0.3 [rad]に移動させる。
次に、インピーダンス中心をx軸方向に0.005 [m/s]で -0.005 [m] から0.005 [m]に移動させると同時にpitch軸周り（図４中AA'方向）に0.07 [rad/s] で -0.3 [rad] から0.3 [rad]に移動させる。
最後に、インピーダンス中心をx軸方向に0.005 [m/s]で 0.005 [m] から-0.005 [m]に移動させると同時にpitch軸周り（図４中AA'方向）に0.07 [rad/s] で 0.3 [rad] から0.0 [rad]に移動させる。
・終了条件：タスクスキル動作が完了した時点で終了とし（３−２）へ移行する。ただし、0.4 [Nm]以上のモーメントが1.0[s]以上発生した（軸合せの評価基準を満たした）時点でも終了とし、この時点でのΣbをΣsと再設定して（３−２）へ移行する。
【００３２】
（３−２）図４のBB'方向での軸合せ動作
・初期条件：z軸方向に-7.5 [N] 発生状態とする
・タスクスキル動作：z軸力制御、その他の軸インピーダンス制御とする。
z軸方向の力は -7.5 [N]を維持する。
インピーダンス中心をx軸方向に0.0035 [m/s] で 0.0 [m] から-0.0035 [m] 、y軸方向に 0.0035 [m/s] で0.0 [m] から -0.0035 [m] に移動させると同時に図４中BB'方向となる roll軸周りに0.05 [rad/s] で 0.0 [rad] から0.21 [rad]、pitch軸周りに 0.05 [rad/s] で0.0 [rad] から -0.21 [rad]に移動させる。
次に、インピーダンス中心をx軸方向に0.0035 [m/s] で -0.0035 [m] から0.0035 [m] 、y軸方向に 0.0035 [m/s] で-0.0035 [m] から 0.0035 [m] に移動させると同時に図４中BB'方向となる roll軸周りに 0.05 [rad/s] で0.21 [rad] から -0.21 [rad]、pitch軸周りに 0.05 [rad/s] で -0.21 [rad] から0.21 [rad]に移動させる。
最後に、インピーダンス中心をx軸方向に0.0035 [m/s] で 0.0035 [m] から-0.0035 [m] 、y軸方向に 0.0035 [m/s] で0.0035 [m] から -0.0035 [m] に移動させると同時に図４中BB'方向となる roll軸周りに 0.05 [rad/s] で-0.21 [rad] から 0.0 [rad]、pitch軸周りに 0.05 [rad/s] で 0.21 [rad] から0.0 [rad]に移動させる。
・終了条件：タスクスキル動作が完了した時点で終了とし（３−３）へ移行する。ただし、0.4 [Nm]以上のモーメントが1.0[s]以上発生した（軸合せの評価基準を満たした）時点でも終了とし、この時点でのΣbをΣsと再設定して（３−３）へ移行する。
【００３３】
（３−３）図４のCC'（roll軸周り）方向での軸合せ動作
・初期条件：z軸方向に-7.5 [N] 発生状態とする
・タスクスキル動作：z軸力制御、その他の軸インピーダンス制御とする。
z軸方向の力は -7.5 [N]を維持する。
インピーダンス中心を y軸方向に0.005 [m/s]で0.0 [m] から-0.005 [m]に移動させると同時にroll軸周り（図４中CC'方向）に0.07 [rad/s] で 0.0 [rad] から0.3 [rad]に移動させる。
次に、インピーダンス中心をy軸方向に0.005 [m/s]で -0.005 [m] から0.005 [m]に移動させると同時にroll軸周り（図４中CC'方向）に0.07 [rad/s] で 0.3 [rad] から-0.3 [rad]に移動させる。
最後に、インピーダンス中心をy軸方向に0.005 [m/s]で 0.005 [m] から-0.005 [m]に移動させると同時にroll軸周り（図４中CC'方向）に0.07 [rad/s] で -0.3 [rad] から0.0 [rad]に移動させる。
・終了条件：タスクスキル動作が完了した時点で終了とし（３−４）へ移行する。ただし、0.4 [Nm] 以上のモーメントが1.0[s]以上発生した（軸合せの評価基準を満たした）時点でも終了とし、この時点でのΣbをΣsと再設定して（３−４）へ移行する。
【００３４】
（３−４）図４のDD方向'での軸合せ動作
・初期条件：z軸方向に-7.5 [N] 発生状態とする
・タスクスキル動作：z軸力制御、その他の軸インピーダンス制御とする。
z軸方向の力は -7.5 [N]を維持する。
インピーダンス中心をx軸方向に0.0035 [m/s] で 0.0 [m] から0.0035 [m] 、y軸方向に 0.0035 [m/s] で0.0 [m] から -0.0035 [m] に移動させると同時に図４中DD'方向となる roll軸周りに0.05 [rad/s] で 0.0 [rad] から0.21 [rad]、 pitch軸周りに 0.05 [rad/s] で0.0 [rad] から 0.21 [rad]に移動させる。
次に、インピーダンス中心をx軸方向に0.0035 [m/s] で 0.0035 [m] から-0.0035 [m] 、y軸方向に 0.0035 [m/s] で-0.0035 [m] から 0.0035 [m] に移動させると同時に図４中DD'方向となる roll軸周りに 0.05 [rad/s] で0.21 [rad] から -0.21 [rad]、pitch軸周りに 0.05 [rad/s] で 0.21 [rad] から-0.21 [rad]に移動させる。
最後に、インピーダンス中心をx軸方向に0.0035 [m/s] で -0.0035 [m] から0.0035 [m] 、y軸方向に 0.0035 [m/s] で 0.0035[m] から -0.0035 [m] に移動させると同時に図４中DD'方向となる roll軸周りに0.05 [rad/s] で -0.21 [rad] から0.0 [rad]、 pitch軸周りに 0.05 [rad/s] で-0.21 [rad] から 0.0 [rad] に移動させる。
・終了条件：タスクスキル動作が完了した時点で終了とし（３−１）へ移行する。ただし、0.4 [Nm]以上のモーメントが1.0[s]以上発生した（軸合せの評価基準を満たした）時点でも終了とし、この時点でのΣbをΣsと再設定して（３−１）へ移行する。
ここで、ナット１３の軸合せ動作の終了条件は、軸合せの評価基準を4回満たすまで軸合せ動作を繰り返し、4回発生した時点と設定する。
【００３５】
（４）ナット１３への軸合せ動作が失敗した場合の力解除動作は、タスクスキルのモデルを使って以下のように記述できる。
・初期条件：z軸方向に-7.5 [N] 発生状態とする。
・タスクスキル動作：z軸力制御、その他の軸インピーダンス制御とする。z軸方向に 7.5 [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]とする。
【００４６】
図２は、ナット１３にボルト１２を組付ける作業の概要図である。ナット１３は環境に固定されており、ボルト１２はタスクスキル実行装置１０のハンド４に把持される。Σbはボルト１２に固定されたボルト座標系であり、点０が原点である。Σnはナット１３に固定されたナット座標系であり、点Nが原点である。ロボット２の手先座標系は、ボルト１２のボルト座標系Σbと一致する。
ボルト１２を動かすタスクスキル動作は、タスクスキル動作座標系Σsで記述され、制御点はボルト１２の点Oとするため、ボルト１２に力、モーメントが作用しない場合には、ボルト１２の点Oがボルト１２のインピーダンス中心となる。Σsは、Σbを基準として決定され、原点も点Oと一致する。ここで、ボルト１２が移動すると同時にΣbも移動するため、ある時点でのΣbをΣsと設定し、Σbが引き続き移動したとしてもΣsは設定された時点の位置に固定される。また、一度ΣsがΣbにより設定され、Σsを基準にしてΣbが移動したとしても、移動後のΣbを利用してΣsを新規に再設定できる。
【００４７】
ボルト組付けタスクスキルの動作手順と個々の軸に対する制御方法は、
（１）ナット１３への接近、接触動作
（２）ナット１３への押付け動作
（３）ナット１３への軸合せ動作
（４）ナット１３への軸合せ動作が失敗した場合の離脱動作
（５）ナット１３への軸合せ動作が失敗した場合の回転動作
（６）ナット１３への組付け動作
と記述する。図６にボルトの組付けタスクスキルの動作手順のブロック図を示す。
【００４８】
（１）ナット１３への接近、接触動作は、タスクスキルのモデルを使って以下のように記述する。
・初期条件：Σbのz軸とΣnのz軸軸がある程度一致しており、動作開始時ΣbをΣsと設定する。z軸方向でのナットとボルトの距離は 0.1 [m]以内とする。
・タスクスキル動作：インピーダンス中心をz軸方向に0.01 [m/s] で移動させる。目標位置はボルトとナットの距離よりも大きく設定し、0.1 [m]とする。
・終了条件：z軸方向に-7.5[N] 発生した時点で終了する。この時点でのΣbをΣsと再設定する。
【００４９】
（２）ナット１３への押付け動作は、タスクスキルのモデルを使って以下のように記述する。
・初期条件：z軸方向に-7.5 [N] 発生状態とする。
・タスクスキル動作：インピーダンス中心を固定し -7.5 [N] 発生させる。
・終了条件：4.0 [s]間押付けた時点で終了する。
【００５０】
ボルト１２をナット１３に組付ける場合、ボルト１２のΣbのz軸がナット１３のΣnのz軸に対して一直線上に存在しないと、組付けを実現することはできない。そこで、（３）ナット１３への軸合せ動作では、ボルト１２のΣbのz軸をナット１３のΣnのz軸と一直線上に設定するための、軸合せ動作手順と軸合せ評価基準を設定する。軸合せ動作は、ボルト１２をナット１３に押付けたまま、コンプライアンス中心の姿勢を変化させることである。軸合せが成功した場合には、ボルト１２に大きなモーメントが発生するため、このモーメントに注目しながら、軸合せを実施する必要がある。
【００５１】
図４にボルト１２の面をΣsに関してxy平面で8分割した図を示す。ナット１３への軸合せ動作では、インピーダンス中心を図４に示された AA'（pitch軸周り）、BB’、CC’（roll軸周り）、DD’方向に順次姿勢を変化させ軸合せを実施する。ナット１３への軸合せ動作は、タスクスキルモデルを使って以下のように記述する。
【００５２】
（３−１）図４のAA'（pitch軸周り）方向での軸合せ動作
・初期条件：z軸方向に-7.5 [N] 発生状態とする
・タスクスキル動作：インピーダンス中心をx軸方向に0.005 [m/s]で0.0 [m] から-0.005 [m]に移動させると同時にpitch軸周り（図４中AA'方向）に0.07 [rad/s] で 0.0 [rad] から-0.3 [rad]に移動させる。
次に、インピーダンス中心をx軸方向に0.005 [m/s]で -0.005 [m] から0.005 [m]に移動させると同時にpitch軸周り（図４中AA'方向）に0.07 [rad/s] で -0.3 [rad] から0.3 [rad]に移動させる。
最後に、インピーダンス中心をx軸方向に0.005 [m/s]で 0.005 [m] から-0.005 [m]に移動させると同時にpitch軸周り（図４中AA'方向）に0.07 [rad/s] で 0.3 [rad] から0.0 [rad]に移動させる。
・終了条件：タスクスキル動作が完了した時点で終了とし（３−２）へ移行する。ただし、0.4 [Nm]以上のモーメントが1.0[s]以上発生した（軸合せの評価基準を満たした）時点でも終了とし、この時点でのΣbをΣsと再設定して（３−２）へ移行する。
【００５３】
（３−２）図４のBB'方向での軸合せ動作
・初期条件：z軸方向に-7.5 [N] 発生状態とする
・タスクスキル動作： インピーダンス中心をx軸方向に0.0035 [m/s] で 0.0 [m] から-0.0035 [m] 、y軸方向に 0.0035 [m/s] で0.0 [m] から -0.0035 [m] に移動させると同時に図４中BB'方向となる roll軸周りに0.05 [rad/s] で 0.0 [rad] から0.21 [rad]、pitch軸周りに 0.05 [rad/s] で0.0 [rad] から -0.21 [rad]に移動させる。
次に、インピーダンス中心をx軸方向に0.0035 [m/s] で -0.0035 [m] から0.0035 [m] 、y軸方向に 0.0035 [m/s] で-0.0035 [m] から 0.0035 [m] に移動させると同時に図４中BB'方向となる roll軸周りに 0.05 [rad/s] で0.21 [rad] から -0.21 [rad]、pitch軸周りに 0.05 [rad/s] で -0.21 [rad] から0.21 [rad]に移動させる。
最後に、インピーダンス中心をx軸方向に0.0035 [m/s] で 0.0035 [m] から-0.0035 [m] 、y軸方向に 0.0035 [m/s] で0.0035 [m] から -0.0035 [m] に移動させると同時に図４中BB'方向となる roll軸周りに 0.05 [rad/s] で-0.21 [rad] から 0.0 [rad]、pitch軸周りに 0.05 [rad/s] で 0.21 [rad] から0.0 [rad]に移動させる。
・終了条件：タスクスキル動作が完了した時点で終了とし（３−３）へ移行する。ただし、0.4 [Nm]以上のモーメントが1.0[s]以上発生した（軸合せの評価基準を満たした）時点でも終了とし、この時点でのΣbをΣsと再設定して（３−３）へ移行する。
【００５４】
（３−３）図４のCC'（roll軸周り）方向での軸合せ動作
・初期条件：z軸方向に-7.5 [N] 発生状態とする
・タスクスキル動作：インピーダンス中心を y軸方向に0.005 [m/s]で0.0 [m] から-0.005 [m]に移動させると同時にroll軸周り（図４中CC'方向）に0.07 [rad/s] で 0.0 [rad] から0.3 [rad]に移動させる。
次に、インピーダンス中心をy軸方向に0.005 [m/s]で -0.005 [m] から0.005 [m]に移動させると同時にroll軸周り（図４中CC'方向）に0.07 [rad/s] で 0.3 [rad] から-0.3 [rad]に移動させる。
最後に、インピーダンス中心をy軸方向に0.005 [m/s]で 0.005 [m] から-0.005 [m]に移動させると同時にroll軸周り（図４中CC'方向）に0.07 [rad/s] で -0.3 [rad] から0.0 [rad]に移動させる。
・終了条件：タスクスキル動作が完了した時点で終了とし（３−４）へ移行する。ただし、0.4 [Nm]以上のモーメントが1.0[s]以上発生した（軸合せの評価基準を満たした）時点でも終了とし、この時点でのΣbをΣsと再設定して（３−４）へ移行する。
【００５５】
（３−４）図４のDD方向'での軸合せ動作
・初期条件：z軸方向に-7.5 [N] 発生状態とする
・タスクスキル動作：インピーダンス中心をx軸方向に0.0035 [m/s] で 0.0 [m] から0.0035 [m] 、y軸方向に 0.0035 [m/s] で0.0 [m] から -0.0035 [m] に移動させると同時に図４中DD'方向となる roll軸周りに0.05 [rad/s] で 0.0 [rad] から0.21 [rad]、 pitch軸周りに 0.05 [rad/s] で0.0 [rad] から 0.21 [rad]に移動させる。
次に、インピーダンス中心をx軸方向に0.0035 [m/s] で 0.0035 [m] から-0.0035 [m]、y軸方向に 0.0035 [m/s] で-0.0035 [m] から 0.0035 [m] に移動させると同時に図４中DD'方向となる roll軸周りに 0.05 [rad/s] で0.21 [rad] から -0.21 [rad]、pitch軸周りに 0.05 [rad/s] で 0.21 [rad] から-0.21 [rad]に移動させる。
最後に、インピーダンス中心をx軸方向に0.0035 [m/s] で -0.0035 [m] から0.0035 [m] 、y軸方向に 0.0035 [m/s] で0.0035 [m] から -0.0035 [m] に移動させると同時に図４中DD'方向となる roll軸周りに 0.05 [rad/s] で-0.21 [rad] から 0.0 [rad]、pitch軸周りに 0.05 [rad/s] で -0.21 [rad] から0.0 [rad] に移動させる。
・終了条件：タスクスキル動作が完了した時点で終了とし（３−１）へ移行する。ただし、0.4 [Nm]以上のモーメントが1.0[s]以上発生した（軸合せの評価基準を満たした）時点でも終了とし、この時点でのΣbをΣsと再設定して（３−１）へ移行する。
ここで、ナット１３の軸合せ動作の終了条件は、軸合せの評価基準を4回満たすまで軸合せ動作を繰り返し、4回発生した時点と設定する。
【００５６】
（４）ナット１３への軸合せ動作が失敗した場合の離脱動作は、タスクスキルのモデルを使って以下のように記述できる。
・初期条件：z軸方向に0.0[N] 発生状態とする。
・タスクスキル動作：インピーダンス中心をz軸方向に0.005 [m/s] で -0.03 [m]まで移動させる。
・終了条件：タスクスキル動作が完了した時点で終了とする。
【００５７】
（５）ナット１３への軸合せ動作が失敗した場合の回転動作は、タスクスキルのモデルを使って以下のように記述できる。
・初期条件：なし。
・タスクスキル動作：インピーダンス中心をz軸周りに0.1 [rad/s] で 3.14/2 [rad]まで回転させる。
・終了条件：タスクスキル動作が完了した時点で終了とする。
【００５８】
（６）ナット１３への組付け動作は、タスクスキルモデルを使って以下のように記述できる。
・初期条件：z軸方向に-7.5[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分割した図である（実施例１、２）。
【図５】本発明でのタスクスキル動作にインピーダンスと力のハイブリッド制御を使用したボルト組付けタスクスキルを実装したボルト組付け装置による実行結果である（実施例１）。
【図６】本発明でのタスクスキル動作にインピーダンス制御を使用したボルト組付けタスクスキル動作手順である（実施例２）。
【図７】本発明でのタスクスキル動作にインピーダンス制御を使用したボルト組付けタスクスキルを実装したボルト組付け装置による実行結果である（実施例２）。
【符号の説明】
【００６３】
１  タスクスキルによるボルト組付け装置
２  ロボット
３  力センサ
４  ハンド
５  カメラ
６  ロボット制御装置
７  ハンド制御装置
８  力センサ情報取得装置
９  カメラ制御装置
１０  タスクスキル実行装置
１１  タスクスキル実装装置
１２  ボルト
１３  ナット
【図１】
2006212743.tif 000003
【図２】
2006212743.tif 000004
【図３】
2006212743.tif 000005
【図４】
2006212743.tif 000006
【図５】
2006212743.tif 000007
【図６】
2006212743.tif 000008
【図７】
2006212743.tif 000009