(57)【要約】【課題】ロボットアームを自動再生させる際に、教示時と比較して環境変動が生じる場合、環境変動分の誤差に対応することができるロバストな軌道を生成するロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路を提供する。【解決手段】ロボットアーム１０２の制御装置であって、誘導情報を適用できる条件を生成し、その条件を満たすように教示動作を誘導することによって、ロバストな軌道を生成するロボットアーム１０２の制御装置。【選択図】図１Ａ
2013111684.tif 000002
【特許請求の範囲】
【請求項１】
操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御装置において、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも１つ以上の動作情報を取得する動作情報取得部と、
前記ロボットアームに外部から加えられた力情報を取得する力情報取得部と、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を取得する作業区間情報取得部と、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも１つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を特定する作業区間特定部と、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を取得する誘導情報取得部と、
前記ロボットアームの制御方法の情報である制御方法情報を取得する制御方法情報取得部と、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御する制御部とを備えるロボットアームの制御装置。
【請求項２】
前記作業区間特定部から取得した作業区間情報と前記誘導情報取得部から取得した誘導情報とを基に、ロボットアーム操作時の作業区間における前記誘導情報に基づいて、前記操作者による前記ロボットアームの移動動作を誘導するように、前記制御方法を、前記制御方法取得部から取得した前記制御方法情報に従い、切り替える制御方法切替部をさらに備えて、
前記制御部は、前記制御方法切替部から取得した前記制御方法に基づいて前記ロボットアームを制御する、請求項１に記載のロボットアームの制御装置。
【請求項３】
前記誘導情報は、前記作業区間毎に前記対象物を前記被対象物に対して、前記操作者による前記ロボットアームの移動動作を誘導するための情報であって、前記制御部は、前記誘導情報により前記ロボットアームが所定の動作を行うように動作させる、請求項１又は２に記載のロボットアームの制御装置。
【請求項４】
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報と前記誘導情報取得部から取得した前記誘導情報とを基に、誘導適用情報を生成する誘導適用情報生成部をさらに備えて、
前記誘導適用情報生成部で生成された前記誘導適用情報を満たすように、前記制御方法切替部から取得した制御方法によって、前記制御部が、前記操作者による前記ロボットアームの移動動作を誘導する、請求項１〜３のいずれか１つに記載のロボットアームの制御装置。
【請求項５】
前記誘導情報取得部において、
第１の誘導情報として、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に近づける区間において、前記対象物の前記嵌め合わせ部と前記被対象物の前記被嵌め合わせ部とを近づけるように、前記操作者による前記ロボットアームの移動動作を誘導する情報と、
第２の誘導情報として、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に接触させながらさらに近づける区間において、前記対象物を前記被対象物に対して所定の角度で近づけるように、前記操作者による前記ロボットアームの移動動作を誘導する情報と、
第３の誘導情報として、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に到達させた区間において、前記対象物の前記嵌め合わせ部と前記被対象物の前記被嵌め合わせ部とのうちのいずれか一方の部材の側面をいずれか他方の部材の角部に接触させるように、前記操作者による前記ロボットアームの移動動作を誘導する情報と、
第４の誘導情報として、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部とを嵌め合わせる区間において、前記対象物の前記嵌め合わせ部と前記被対象物の前記被嵌め合わせ部とを他の区間よりも強く接触させるように、前記操作者による前記ロボットアームの移動動作を誘導する情報とのうちで、少なくとも１つ以上の誘導情報を取得し、
前記誘導適用情報生成部において、
前記誘導情報取得部から取得した前記第１の誘導情報に基づいて、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に近づける区間において、前記対象物の前記嵌め合わせ部と前記被対象物の前記被嵌め合わせ部とが接触する際の反力を前記力情報取得部で第１の閾値を越える大きさで取得する情報と、
前記誘導情報取得部から取得した前記第２の誘導情報に基づいて、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に近づける区間において、前記力情報取得部で取得した反力の方向に対して第２の閾値より小さい角度を維持する情報と、
前記誘導情報取得部から取得した前記第３の誘導情報に基づいて、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に到達させた区間において、嵌め合わせ方向と前記嵌め合わせ方向と直交する方向とに前記力情報取得部で第３の閾値を越える大きさの反力を取得する情報と、
前記誘導情報取得部から取得した前記第４の誘導情報に基づいて、前記対象物の前記嵌め合わせ部と前記被対象物の前記被嵌め合わせ部とが接触する区間において、前記力情報取得部で取得した力の大きさが第４の閾値を越える大きさであるという情報とのうちで少なくとも１つ以上の情報を生成する請求項４に記載のロボットアームの制御装置。
【請求項６】
前記制御方法情報取得部において、
（Ｉ）前記誘導情報に基づく所定の方向に前記ロボットアームを移動させるように前記ロボットアームのゲインを変化させる制御方法情報と、
（ＩＩ）前記誘導情報に基づく所定の方向に前記ロボットアームを移動させるように制御を行う制御方法情報と、
のいずれか１つ以上の前記制御方法情報を取得し、
前記制御方法切替部において、前記誘導適用情報を満たすために、前記操作者による前記ロボットアームの移動動作を誘導するよう前記制御方法情報取得部で取得した前記制御方法情報を切り替えて、前記制御部で前記ロボットアームを制御する請求項５に記載のロボットアームの制御装置。
【請求項７】
前記制御方法情報取得部において、前記（Ｉ）〜（ＩＩ）の制御方法情報に対応して、
（Ｉ）前記操作者による前記ロボットアームの移動動作を誘導する方向の前記ロボットアームのゲインを大きくする制御方法情報と、
（ＩＩ）前記操作者による前記ロボットアームの移動動作を誘導する方向の軸方向は自動制御を行う制御方法情報と、
（ＩＩＩ）前記操作者による前記ロボットアームの移動動作を誘導する方向と逆方向から反力を提示する制御方法情報と、
の前記制御方法情報を取得し、
前記制御方法切替部において、前記誘導適用情報を満たすために、前記操作者による前記ロボットアームの移動動作を所定の方向に誘導するよう前記制御方法情報取得部で取得した前記制御方法情報を切り替えて、前記制御部で前記ロボットアームを制御する請求項６に記載のロボットアームの制御装置。
【請求項８】
前記制御方法情報取得部において、
前記対象物と前記被対象物とが接触する際に、提示する力の大きさを実際の大きさよりも小さく提示する制御方法情報を取得し、
前記制御方法切替部において、前記対象物と前記被対象物とが接触する際に、前記誘導適用情報を満たすために、前記操作者による前記ロボットアームの移動動作を所定の方向に誘導するよう前記制御方法情報取得部で取得した前記制御方法情報を切り替えて、前記制御部で前記ロボットアームを制御する請求項５に記載のロボットアームの制御装置。
【請求項９】
前記制御方法情報取得部において、
前記操作者による前記ロボットアームの移動動作を誘導する方向と逆の方向には前記ロボットアームを移動しにくくなるように制御する制御方法情報を取得し、
前記制御方法切替部において、前記誘導適用情報を満たすために、前記操作者による前記ロボットアームの移動動作を所定の方向と逆の方向に誘導しないよう前記制御方法情報取得部で取得した前記制御方法情報を切り替えて、前記制御部で前記ロボットアームを制御する請求項５に記載のロボットアームの制御装置。
【請求項１０】
前記作業区間特定部において、ロボットアーム操作時の区間が複数の区間であると特定された場合は、
前記誘導情報取得部から複数の誘導情報を取得し、
前記誘導適用情報生成部において、前記誘導情報取得部から取得した複数の誘導情報を基に複数の誘導適用情報を生成し、
前記制御方法切替部において、前記誘導適用情報生成部から取得した複数の誘導適用情報に基づいて、前記操作者による前記ロボットアームの移動動作を誘導するよう前記制御方法情報取得部で取得した前記制御方法情報を切り替えて、前記制御部で前記ロボットアームを制御する請求項５に記載のロボットアームの制御装置。
【請求項１１】
前記ロボットアームと、
前記ロボットアームを制御する請求項１〜１０のいずれか１つに記載の前記ロボットアームの制御装置とを備えるロボット。
【請求項１２】
操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御方法において、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも１つ以上の動作情報を動作情報取得部で取得し、
前記ロボットアームに外部から加えられた力情報を力情報取得部で取得し、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を作業区間情報取得部で取得し、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも１つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を作業区間特定部で特定し、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を誘導情報取得部で取得し、
前記ロボットアームの制御方法の情報である制御方法情報を制御方法情報取得部で取得し、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御部で制御する、ロボットアームの制御方法。
【請求項１３】
操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御プログラムにおいて、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも１つ以上の動作情報を動作情報取得部で取得するステップと、
前記ロボットアームに外部から加えられた力情報を力情報取得部で取得するステップと、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を作業区間情報取得部で取得するステップと、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも１つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を作業区間特定部で特定するステップと、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を誘導情報取得部で取得するステップと、
前記ロボットアームの制御方法の情報である制御方法情報を制御方法情報取得部で取得するステップと、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御部で制御するステップとをコンピュータに実行させるための、ロボットアームの制御プログラム。
【請求項１４】
操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御方法において、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも１つ以上の動作情報を動作情報取得部で取得し、
前記ロボットアームに外部から加えられた力情報を力情報取得部で取得し、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を作業区間情報取得部で取得し、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも１つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を作業区間特定部で特定し、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を誘導情報取得部で取得し、
前記ロボットアームの制御方法の情報である制御方法情報を制御方法情報取得部で取得し、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御部で制御する、ロボットアームの制御用集積電子回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの動作を生成及び教示するためのロボットアームの制御装置および制御方法、ロボットアームの制御装置を有するロボット、ロボットアームの制御プログラム、ロボットアームの制御用集積電子回路に関する。
【背景技術】
【０００２】
近年、製造現場では多品種少量生産のためモデルチェンジが頻繁に起こるため、セル生産が盛んに行われている。ネジ締め作業若しくは部品の嵌合作業、装着作業、フレキシブル基板などの挿入作業、又は、研磨作業などをロボットにより自動化するためには、多種多様な部品又は作業手順に柔軟に対応する必要がある。部品が変わるごとに組み立てる位置又は向きなどが変わり、作業を行う順番も変わるので、それらの変化に対応する必要がある。また、同じ部品であっても個体差による誤差が生じる場合があり、その誤差への対応も重要となる。このような環境変動が生じた場合に対するロバスト性は、ロボットの自動化を行う上で大変重要な問題である。
【０００３】
このような環境変動に対して、画像撮像装置（視覚センサ）などのセンサ類を用い、再生時における教示時との誤差を計測し、計測した誤差分を修正して再生することで、対応している（特許文献１参照）。
【０００４】
また、環境変動に対して、操作者の経験により得られた勘又はコツをロボットに移し、対応する方法が用いられている。パワーアシスト装置では、操作者のコツが必要な作業区間において操作者が作業に介在することによって環境変動に対応している（特許文献２参照）。
【０００５】
一方で、従来、ティーチングペンダント又はプログラミングを用いて、ロボットに作業を教示する方法が用いられている。しかしながら、それらの方法により教示を行うと、ロボットの複数の関節を同時に動かすような、複雑な動きが必要な作業は、教示できないこともあり、操作者のコツを活かすことが難しい。このため、ロボットを触って教示するダイレクトティーチングを用いて、簡単に教示する方法が用いられることがある。ダイレクトティーチングでは、直感的な操作ができること、又は、ロボットが対象物に接触した際に、物理的な反力を作業する操作者が感じることによって、反力に応じた操作ができる（特許文献３参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平９−３２５８０６号公報
【特許文献２】特開２００９−３４７５４号公報
【特許文献３】特開昭５９−１５７７１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１においては、視覚センサなどを用いており、センシング誤差が生じる場合は環境変動に対して対応できない場合がある。また、センサ類を多く用いることによってコストが高くなる。
【０００８】
特許文献２においては、作業区間によって操作者の介在度を変化させるパワーアシスト装置であり、操作者が介在する場合においては環境変動に対応するが、ロボットが自動再生を行う場合における環境変動への対応はできない。
【０００９】
特許文献３においては、再生時に視覚センサなどで環境変動を計測していない。また、操作者のコツをロボットに移すことも行っていない。そのため、再生時に環境変動が生じた場合は、その環境変動に対応することができない。
【００１０】
本発明の目的は、このような課題に鑑みてなされたものであり、再生時において教示時と比較して環境が変動する場合、センシング誤差などが生じても、正確に環境変動に対応し、再生動作を達成することができる、ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、ロボットアームの制御用集積電子回路を提供することにある。
【課題を解決するための手段】
【００１１】
前記の目的を達成するために、本発明は以下のように構成する。
【００１２】
本発明の１つの態様によれば、操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御装置において、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも１つ以上の動作情報を取得する動作情報取得部と、
前記ロボットアームに外部から加えられた力情報を取得する力情報取得部と、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を取得する作業区間情報取得部と、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも１つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を特定する作業区間特定部と、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を取得する誘導情報取得部と、
前記ロボットアームの制御方法の情報である制御方法情報を取得する制御方法情報取得部と、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御する制御部とを備えるロボットアームの制御装置を提供する。
【００１３】
本発明の別の態様によれば、前記ロボットアームと、
前記ロボットアームを制御する前記態様に記載の前記ロボットアームの制御装置とを備えるロボットを提供する。
【００１４】
本発明のさらに別の態様によれば、操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御方法において、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも１つ以上の動作情報を動作情報取得部で取得し、
前記ロボットアームに外部から加えられた力情報を力情報取得部で取得し、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を作業区間情報取得部で取得し、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも１つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を作業区間特定部で特定し、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を誘導情報取得部で取得し、
前記ロボットアームの制御方法の情報である制御方法情報を制御方法情報取得部で取得し、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御部で制御する、ロボットアームの制御方法を提供する。
【００１５】
本発明のさらに別の態様によれば、操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御プログラムにおいて、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも１つ以上の動作情報を動作情報取得部で取得するステップと、
前記ロボットアームに外部から加えられた力情報を力情報取得部で取得するステップと、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を作業区間情報取得部で取得するステップと、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも１つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を作業区間特定部で特定するステップと、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を誘導情報取得部で取得するステップと、
前記ロボットアームの制御方法の情報である制御方法情報を制御方法情報取得部で取得するステップと、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御部で制御するステップとをコンピュータに実行させるための、ロボットアームの制御プログラムを提供する。
【００１６】
本発明のさらに別の態様によれば、操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御方法において、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも１つ以上の動作情報を動作情報取得部で取得し、
前記ロボットアームに外部から加えられた力情報を力情報取得部で取得し、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を作業区間情報取得部で取得し、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも１つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を作業区間特定部で特定し、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を誘導情報取得部で取得し、
前記ロボットアームの制御方法の情報である制御方法情報を制御方法情報取得部で取得し、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御部で制御する、ロボットアームの制御用集積電子回路を提供する。
【発明の効果】
【００１７】
本発明のロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、ロボットアームの制御用集積電子回路によれば、教示時に誘導情報を適用する条件を生成し、その条件を満たすように教示動作を誘導することによって、再生時に環境変動が生じた場合又はセンシング誤差などが生じても、正確に環境変動分の誤差に対応して所望の作業を達成することができる。
【図面の簡単な説明】
【００１８】
【図１Ａ】本発明の第１実施形態のロボットのブロック図。
【図１Ｂ】本発明の第１実施形態のロボットにおける入出力ＩＦのブロック図。
【図２】本発明の第１実施形態のロボットにおける動作情報のデータを示す図。
【図３】本発明の第１実施形態のロボットにおける力情報のデータを示す図。
【図４】本発明の第１実施形態のロボットにおけるペグとペグ穴の説明図。
【図５Ａ】本発明の第１実施形態のロボットにおけるペグをペグ穴に挿入する軌跡を説明する説明図。
【図５Ｂ】本発明の第１実施形態のロボットにおけるペグをペグ穴に挿入する軌跡を説明する説明図。
【図５Ｃ】本発明の第１実施形態のロボットにおけるペグをペグ穴に挿入する軌跡を説明する説明図。
【図５Ｄ】本発明の第１実施形態のロボットにおけるペグをペグ穴に挿入する軌跡を説明する説明図。
【図５Ｅ】本発明の第１実施形態のロボットにおけるペグをペグ穴に挿入する軌跡を説明する説明図。
【図６】本発明の第１実施形態のロボットにおけるペグをペグ穴に挿入する軌跡の作業区間の説明図。
【図７】本発明の第１実施形態のロボットにおける作業区間情報の説明図。
【図８】本発明の第１実施形態のロボットにおける作業区間情報のデータを示す図。
【図９】本発明の第１実施形態のロボットにおける作業区間情報の作業者及び対象作業ごとのデータを示す図。
【図１０】本発明の第１実施形態のロボットにおける誘導情報の説明図。
【図１１Ａ】本発明の第１実施形態のロボットにおける誘導情報の効果の説明図。
【図１１Ｂ】本発明の第１実施形態のロボットにおける誘導情報の効果の説明図。
【図１１Ｃ】本発明の第１実施形態のロボットにおける誘導情報の効果の説明図。
【図１１Ｄ】本発明の第１実施形態のロボットにおける誘導情報の効果の説明図。
【図１１Ｅ】本発明の第１実施形態のロボットにおける誘導情報の効果の説明図。
【図１１Ｆ】本発明の第１実施形態のロボットにおける誘導情報の効果の説明図。
【図１２Ａ】本発明の第１実施形態のロボットにおける誘導適用情報の生成方法の説明図。
【図１２Ｂ】本発明の第１実施形態のロボットにおける誘導適用情報の生成方法の説明図。
【図１２Ｃ】本発明の第１実施形態のロボットにおける誘導適用情報の生成方法の説明図。
【図１２Ｄ】本発明の第１実施形態のロボットにおける誘導適用情報の生成方法の説明図。
【図１３】本発明の第１実施形態のロボットにおける誘導情報、誘導適用情報のデータを示す図。
【図１４】本発明の第１実施形態のロボットにおけるロボットアームの操作方法の説明図。
【図１５】本発明の第１実施形態のロボットにおける制御方法情報のデータを示す図。
【図１６】本発明の第１実施形態のロボットにおけるロボットアーム及び制御装置本体部の一部の説明図。
【図１７Ａ】本発明の第１実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図１７Ｂ】本発明の第１実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図１７Ｃ】本発明の第１実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図１７Ｄ】本発明の第１実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図１７Ｅ】本発明の第１実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図１７Ｆ】本発明の第１実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図１７Ｇ】本発明の第１実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図１７Ｈ】本発明の第１実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図１８】（ａ）〜（ｃ）は、それぞれ、本発明の第１実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作時の挿入方向位置のグラフ、挿入方向力のグラフ、及び、横方向力のグラフ。
【図１９Ａ】本発明の第１実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図１９Ｂ】本発明の第１実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図１９Ｃ】本発明の第１実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図１９Ｄ】本発明の第１実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図１９Ｅ】本発明の第１実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図１９Ｆ】本発明の第１実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図１９Ｇ】本発明の第１実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図１９Ｈ】本発明の第１実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図２０Ａ】本発明の第１実施形態のロボットにおけるロボットアームのペグはめ作業の環境変動状態の説明図。
【図２０Ｂ】本発明の第１実施形態のロボットにおけるロボットアームのペグはめ作業の環境変動状態の説明図。
【図２０Ｃ】本発明の第１実施形態のロボットにおけるロボットアームのペグはめ作業の環境変動状態の説明図。
【図２０Ｄ】本発明の第１実施形態のロボットにおけるロボットアームのペグはめ作業の環境変動状態の説明図。
【図２１】本発明の第１実施形態のロボットにおけるキャップを配管の凸部に挿入する軌跡の作業区間の説明図。
【図２２】本発明の第１実施形態のロボットにおける誘導情報の説明図。
【図２３】本発明の第１実施形態のロボットにおける誘導情報及び誘導適用情報のデータを示す図。
【図２４】本発明の第１実施形態のロボットの制御装置の操作手順におけるフローチャート。
【図２５】本発明の第２実施形態のロボットのブロック図。
【図２６】本発明の第２実施形態のロボットにおける制御方法情報のデータを示す図。
【図２７Ａ】本発明の第２実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図２７Ｂ】本発明の第２実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図２８Ａ】本発明の第２実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図２８Ｂ】本発明の第２実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図２９】本発明の第２実施形態のロボットの制御装置の操作手順におけるフローチャート。
【図３０】本発明の第３実施形態のロボットのブロック図。
【図３１】本発明の第３実施形態のロボットにおける制御方法情報のデータを示す図。
【図３２】本発明の第３実施形態のロボットの制御装置の操作手順におけるフローチャート。
【図３３】本発明の第４実施形態のロボットのブロック図。
【図３４Ａ】本発明の第４実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図３４Ｂ】本発明の第４実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図３４Ｃ】本発明の第４実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図３４Ｄ】本発明の第４実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図３４Ｅ】本発明の第４実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図３４Ｆ】本発明の第４実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図３５】（ａ）〜（ｃ）は、それぞれ、本発明の第４実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作時の挿入方向位置のグラフ、挿入方向力のグラフ、及び、横方向力のグラフ。
【図３６Ａ】本発明の第４実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図３６Ｂ】本発明の第４実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図３６Ｃ】本発明の第４実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図３６Ｄ】本発明の第４実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図３６Ｅ】本発明の第４実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図３６Ｆ】本発明の第４実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図３７】本発明の第４実施形態のロボットの制御装置の操作手順におけるフローチャート。
【発明を実施するための形態】
【００１９】
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する。
【００２０】
以下、図面を参照して本発明における実施形態を詳細に説明する前に、本発明の種々の態様について説明する。
【００２１】
本発明の第１態様によれば、操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御装置において、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも１つ以上の動作情報を取得する動作情報取得部と、
前記ロボットアームに外部から加えられた力情報を取得する力情報取得部と、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を取得する作業区間情報取得部と、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも１つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を特定する作業区間特定部と、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を取得する誘導情報取得部と、
前記ロボットアームの制御方法の情報である制御方法情報を取得する制御方法情報取得部と、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御する制御部とを備えるロボットアームの制御装置を提供する。
【００２２】
本発明の第２態様によれば、前記作業区間特定部から取得した作業区間情報と前記誘導情報取得部から取得した誘導情報とを基に、ロボットアーム操作時の作業区間における前記誘導情報に基づいて、前記操作者による前記ロボットアームの移動動作を誘導するように、前記制御方法を、前記制御方法取得部から取得した前記制御方法情報に従い、切り替える制御方法切替部をさらに備えて、
前記制御部は、前記制御方法切替部から取得した前記制御方法に基づいて前記ロボットアームを制御する、第１の態様に記載のロボットアームの制御装置を提供する。
【００２３】
本発明の第３態様によれば、前記誘導情報は、前記作業区間毎に前記対象物を前記被対象物に対して、前記操作者による前記ロボットアームの移動動作を誘導するための情報であって、前記制御部は、前記誘導情報により前記ロボットアームが所定の動作を行うように動作させる、第１又は２の態様に記載のロボットアームの制御装置を提供する。
【００２４】
本発明の第４態様によれば、前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報と前記誘導情報取得部から取得した前記誘導情報とを基に、誘導適用情報を生成する誘導適用情報生成部をさらに備えて、
前記誘導適用情報生成部で生成された前記誘導適用情報を満たすように、前記制御方法切替部から取得した制御方法によって、前記制御部が、前記操作者による前記ロボットアームの移動動作を誘導する、第１〜３のいずれか１つの態様に記載のロボットアームの制御装置を提供する。
【００２５】
本発明の第５態様によれば、前記誘導情報取得部において、
第１の誘導情報として、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に近づける区間において、前記対象物の前記嵌め合わせ部と前記被対象物の前記被嵌め合わせ部とを近づけるように、前記操作者による前記ロボットアームの移動動作を誘導する情報と、
第２の誘導情報として、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に接触させながらさらに近づける区間において、前記対象物を前記被対象物に対して所定の角度で近づけるように、前記操作者による前記ロボットアームの移動動作を誘導する情報と、
第３の誘導情報として、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に到達させた区間において、前記対象物の前記嵌め合わせ部と前記被対象物の前記被嵌め合わせ部とのうちのいずれか一方の部材の側面をいずれか他方の部材の角部に接触させるように、前記操作者による前記ロボットアームの移動動作を誘導する情報と、
第４の誘導情報として、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部とを嵌め合わせる区間において、前記対象物の前記嵌め合わせ部と前記被対象物の前記被嵌め合わせ部とを他の区間よりも強く接触させるように、前記操作者による前記ロボットアームの移動動作を誘導する情報とのうちで、少なくとも１つ以上の誘導情報を取得し、
前記誘導適用情報生成部において、
前記誘導情報取得部から取得した前記第１の誘導情報に基づいて、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に近づける区間において、前記対象物の前記嵌め合わせ部と前記被対象物の前記被嵌め合わせ部とが接触する際の反力を前記力情報取得部で第１の閾値を越える大きさで取得する情報と、
前記誘導情報取得部から取得した前記第２の誘導情報に基づいて、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に近づける区間において、前記力情報取得部で取得した反力の方向に対して第２の閾値より小さい角度を維持する情報と、
前記誘導情報取得部から取得した前記第３の誘導情報に基づいて、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に到達させた区間において、嵌め合わせ方向と前記嵌め合わせ方向と直交する方向とに前記力情報取得部で第３の閾値を越える大きさの反力を取得する情報と、
前記誘導情報取得部から取得した前記第４の誘導情報に基づいて、前記対象物の前記嵌め合わせ部と前記被対象物の前記被嵌め合わせ部とが接触する区間において、前記力情報取得部で取得した力の大きさが第４の閾値を越える大きさであるという情報とのうちで少なくとも１つ以上の情報を生成する第４の態様に記載のロボットアームの制御装置を提供する。
【００２６】
本発明の第６態様によれば、前記制御方法情報取得部において、
（Ｉ）前記誘導情報に基づく所定の方向に前記ロボットアームを移動させるように前記ロボットアームのゲインを変化させる制御方法情報と、
（ＩＩ）前記誘導情報に基づく所定の方向に前記ロボットアームを移動させるように制御を行う制御方法情報と、
のいずれか１つ以上の前記制御方法情報を取得し、
前記制御方法切替部において、前記誘導適用情報を満たすために、前記操作者による前記ロボットアームの移動動作を誘導するよう前記制御方法情報取得部で取得した前記制御方法情報を切り替えて、前記制御部で前記ロボットアームを制御する第５の態様に記載のロボットアームの制御装置を提供する。
【００２７】
本発明の第７態様によれば、前記制御方法情報取得部において、前記（Ｉ）〜（ＩＩ）の制御方法情報に対応して、
（Ｉ）前記操作者による前記ロボットアームの移動動作を誘導する方向の前記ロボットアームのゲインを大きくする制御方法情報と、
（ＩＩ）前記操作者による前記ロボットアームの移動動作を誘導する方向の軸方向は自動制御を行う制御方法情報と、
（ＩＩＩ）前記操作者による前記ロボットアームの移動動作を誘導する方向と逆方向から反力を提示する制御方法情報と、
の前記制御方法情報を取得し、
前記制御方法切替部において、前記誘導適用情報を満たすために、前記操作者による前記ロボットアームの移動動作を所定の方向に誘導するよう前記制御方法情報取得部で取得した前記制御方法情報を切り替えて、前記制御部で前記ロボットアームを制御する第６の態様に記載のロボットアームの制御装置を提供する。
【００２８】
本発明の第８態様によれば、前記制御方法情報取得部において、
前記対象物と前記被対象物とが接触する際に、提示する力の大きさを実際の大きさよりも小さく提示する制御方法情報を取得し、
前記制御方法切替部において、前記対象物と前記被対象物とが接触する際に、前記誘導適用情報を満たすために、前記操作者による前記ロボットアームの移動動作を所定の方向に誘導するよう前記制御方法情報取得部で取得した前記制御方法情報を切り替えて、前記制御部で前記ロボットアームを制御する第５の態様に記載のロボットアームの制御装置を提供する。
【００２９】
本発明の第９態様によれば、前記制御方法情報取得部において、
前記操作者による前記ロボットアームの移動動作を誘導する方向と逆の方向には前記ロボットアームを移動しにくくなるように制御する制御方法情報を取得し、
前記制御方法切替部において、前記誘導適用情報を満たすために、前記操作者による前記ロボットアームの移動動作を所定の方向と逆の方向に誘導しないよう前記制御方法情報取得部で取得した前記制御方法情報を切り替えて、前記制御部で前記ロボットアームを制御する第５のロボットアームの制御装置を提供する。
【００３０】
本発明の第１０態様によれば、前記作業区間特定部において、ロボットアーム操作時の区間が複数の区間であると特定された場合は、
前記誘導情報取得部から複数の誘導情報を取得し、
前記誘導適用情報生成部において、前記誘導情報取得部から取得した複数の誘導情報を基に複数の誘導適用情報を生成し、
前記制御方法切替部において、前記誘導適用情報生成部から取得した複数の誘導適用情報に基づいて、前記操作者による前記ロボットアームの移動動作を誘導するよう前記制御方法情報取得部で取得した前記制御方法情報を切り替えて、前記制御部で前記ロボットアームを制御する第５の態様に記載のロボットアームの制御装置を提供する。
【００３１】
本発明の第１１態様によれば、前記ロボットアームと、
前記ロボットアームを制御する第１〜１０のいずれか１つの態様に記載の前記ロボットアームの制御装置とを備えるロボットを提供する。
【００３２】
本発明の第１２態様によれば、操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御方法において、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも１つ以上の動作情報を動作情報取得部で取得し、
前記ロボットアームに外部から加えられた力情報を力情報取得部で取得し、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を作業区間情報取得部で取得し、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも１つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を作業区間特定部で特定し、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を誘導情報取得部で取得し、
前記ロボットアームの制御方法の情報である制御方法情報を制御方法情報取得部で取得し、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御部で制御する、ロボットアームの制御方法を提供する。
【００３３】
本発明の第１３態様によれば、  操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御プログラムにおいて、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも１つ以上の動作情報を動作情報取得部で取得するステップと、
前記ロボットアームに外部から加えられた力情報を力情報取得部で取得するステップと、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を作業区間情報取得部で取得するステップと、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも１つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を作業区間特定部で特定するステップと、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を誘導情報取得部で取得するステップと、
前記ロボットアームの制御方法の情報である制御方法情報を制御方法情報取得部で取得するステップと、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御部で制御するステップとをコンピュータに実行させるための、ロボットアームの制御プログラムを提供する。
【００３４】
本発明の第１４態様によれば、操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御方法において、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも１つ以上の動作情報を動作情報取得部で取得し、
前記ロボットアームに外部から加えられた力情報を力情報取得部で取得し、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を作業区間情報取得部で取得し、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも１つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を作業区間特定部で特定し、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を誘導情報取得部で取得し、
前記ロボットアームの制御方法の情報である制御方法情報を制御方法情報取得部で取得し、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御部で制御する、ロボットアームの制御用集積電子回路を提供する。
【００３５】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００３６】
（第１実施形態）
図１Ａは、本発明の第１実施形態における、ロボット１０１のブロック図を示す。ロボット１０１は、ロボットアーム１０２と、ロボットアーム１０２の制御装置１０３とで構成されている。ロボットアーム１０２の詳しい構造については後述する。
【００３７】
＜ロボットアームの制御装置の説明＞
ロボットアーム１０２の制御装置１０３は、制御装置本体部１０４と、周辺装置１０５とで構成されている。
【００３８】
＜制御装置本体部の説明＞
制御装置本体部１０４は、動作情報取得部１０６と、力情報取得部１０７と、作業区間情報取得部の一例としての作業区間情報記憶部１０８と、作業区間特定部１０９と、誘導情報取得部の一例としての誘導情報記憶部１１０と、誘導適用情報生成部１１１と、モード切替部１１２と、制御方法情報取得部の一例としての制御方法情報記憶部１１３と、制御方法切替部１１４と、制御部１１５とを備える。
【００３９】
周辺装置１０５は、入出力ＩＦ（インターフェース）１１６と、モータドライバ１１７とを備える。
【００４０】
動作情報取得部１０６は、動作情報として、入出力ＩＦ１１６からロボットアーム１０２の位置情報及び姿勢情報と、入出力ＩＦ１１６に内蔵されたタイマーからの時間情報とが入力される。また、動作情報取得部１０６は、入出力ＩＦ１１６から取得した位置情報及び姿勢情報を時間情報で微分することによって、速度情報及び角速度情報を取得する。図２は、動作情報取得部１０６で取得する時間情報と、位置情報と、姿勢情報と、速度情報と、角速度情報とを示す。動作情報取得部１０６は、取得したロボットアーム１０２の位置情報と、姿勢情報と、速度情報と、角速度情報と、時間情報とを、作業区間特定部１０９と、誘導適用情報生成部１１１と、制御方法切替部１１４とに出力する。
【００４１】
力情報取得部１０７は、ロボットアーム１０２が動作する際に生じる周辺環境に関する力情報を取得する。具体的には、力情報取得部１０７には、後述するハンド用力センサ１６１６（図１６参照）の測定値の情報が、力情報として、入出力ＩＦ１１６から入力される。また、力情報取得部１０７には、入出力ＩＦ１１６に内蔵されたタイマーからの時間情報が入力される。力情報は、ロボットアーム１０２に取り付けられたハンド用力センサ１６１６の値であり、ロボットアーム１０２が対象物と接触した際に生じる反力の大きさを示す。図３は、力情報取得部１０７で取得する時間情報と、力情報とを示す。力情報取得部１０７は、力情報と、時間情報とを、作業区間特定部１０９と、誘導適用情報生成部１１１と、制御方法切替部１１４とに出力する。
【００４２】
作業区間情報記憶部１０８は、ロボットアーム１０２が行う、対象物の嵌め合わせ部と被対象物の被嵌め合わせ部との嵌め合わせ作業、例えば、挿入作業において、複数に分割された作業区間と、分割されたそれぞれの作業区間に該当する条件（詳細は後述する。）とを表す作業区間情報を記憶する。
【００４３】
ここで、挿入作業の一例として、ペグはめ（圧入）作業を用いて説明する。ペグはめ作業とは、図４に示す対象物の一例であるペグ４０１を、被対象物の一例である物体４００のペグ穴４０２に挿入する作業である。すなわち、ペグ穴４０２を有する物体４００は、保持部材３９９で固定されており、後述するロボットアーム１０２のハンド１６０１に把持したペグ４０１の先端部（嵌め合わせ部の一例）を物体４００のペグ穴（被嵌め合わせ部の一例）４０２に挿入する作業である。具体的な実例での大きさは、図４中のペグ４０１の長さＬが３５．０ｍｍ、幅Ｗが２０．００ｍｍ、ペグ穴４０２の深さＤが２０．０ｍｍ、幅Ｗが２０．０ｍｍである。また、ペグ穴４０２の挿入方向をｙ軸とし、挿入方向と直交する横方向（ペグ穴４０２の上面沿いの方向）をｘ軸とする。
【００４４】
ペグ４０１をペグ穴４０２に挿入する軌跡は、図５Ａ〜図５Ｅに示すように様々な軌跡がある。これらの軌跡において一連の挿入作業を作業区間に区切ることができる。例えば、図５Ａと図５Ｂと図５Ｄについて、代表的に詳細に説明する。
【００４５】
図５Ａの（ａ）では、ペグ４０１をペグ穴４０２の開口に対向する位置まで移動させる。次いで、図５Ａの（ｂ）では、ペグ４０１をペグ穴４０２に概略位置決めしたのち、ペグ４０１をペグ穴４０２に、ペグ４０１の側面（移動方向の前側（図５Ａの右側）の側面）４０１ｂをペグ穴４０２の内周面（移動方向の前側（図５Ａの右側）の内周面）４０２ｄに接触させつつペグ４０１の軸方向沿いに真っ直ぐ移動して挿入を開始する。次いで、図５Ａの（ｃ）では、ペグ４０１の先端の上面４０１ａがペグ穴４０２の底面に当たって挿入作業を完了する。この場合は、一連の挿入作業は（ａ）〜（ｃ）の３個の作業段階で行われ、この挿入作業は例えば３個の作業区間に区切ることができる。
【００４６】
また、図５Ｂの（ａ）では、ペグ４０１をペグ穴４０２の開口の手前に対向する位置まで移動させる。次いで、図５Ｂの（ｂ）では、ペグ４０１の先端のペグ穴４０２に対向する面（ペグ穴対向面）４０１ａをペグ穴４０２の開口の手前側の角部４０２ｃに接触させる。次いで、図５Ｂの（ｃ）では、ペグ４０１のペグ穴対向面４０１ａの一部の角部４０１ｃが、ペグ穴４０２の開口周縁の一部の角部４０２ｃに接触したのち、ペグ穴４０２の角部４０２ｃに対してペグ４０１のペグ穴対向面４０１ａが滑るように移動して、ペグ４０１の先端部がペグ穴４０２内に入り込み、ペグ４０１の側面（移動方向の前側（図５Ｄの右側）の側面）４０１ｂをペグ穴４０２の開口の他方の角部４０２ｂに当てる。次いで、図５Ｂの（ｄ）では、ペグ４０１の側面４０１ｂをペグ穴４０２の内周面（移動方向の前側（図５Ｂの右側）の内周面）４０２ｄに接触させてペグ４０１をペグ穴４０２に対して起こす。次いで、図５Ｂの（ｅ）では、ペグ４０１の側面４０１ｂをペグ穴４０２の内周面４０２ｄに接触させつつ、ペグ４０１の軸方向沿いにペグ４０１をペグ穴４０２に押し込む。次いで、図５Ｂの（ｆ）では、ペグ４０１の側面４０１ｂをペグ穴４０２の内周面４０２ｄに接触させつつ、ペグ４０１の軸方向沿いにペグ４０１をペグ穴４０２にさらに押し込んで、ペグ４０１の先端の上面４０１ａがペグ穴４０２の底面に当たって挿入作業を完了する。この場合は、一連の挿入作業は（ａ）〜（ｆ）の６個の作業段階で行われ、この挿入業は例えば６個又はそれ以下の作業区間に区切ることができる。
【００４７】
また、図５Ｄの（ａ）では、ペグ４０１の先端が移動してペグ穴４０２の上面４０２ａに近づく。次いで、図５Ｄの（ｂ）では、ペグ４０１の先端のペグ穴４０２に対向する面（ペグ穴対向面）４０１ａの一部の角部４０１ｃがペグ穴４０２の周囲の上面４０２ａに接触して上面４０２ａ沿いに移動しながら、ペグ４０１がペグ穴４０２に近づく。次いで、図５Ｄの（ｃ）では、ペグ４０１の先端のペグ穴対向面４０１ａの一部の角部４０１ｃがペグ穴４０２の周囲の上面４０２ａに接触しつつ上面４０２ａ沿いに移動して、ペグ４０１がペグ穴４０２にさらに近づき、ペグ４０１のペグ穴対向面４０１ａの一部の角部４０１ｃが、ペグ穴４０２の開口周縁の一部の角部４０２ｃに接触する。次いで、図５Ｄの（ｄ）では、ペグ穴４０２の角部４０２ｃに対してペグ４０１のペグ穴対向面４０１ａが滑るように移動する。次いで、図５Ｄの（ｅ）では、ペグ穴４０２の角部４０２ｃに対してペグ４０１のペグ穴対向面４０１ａが滑るようにさらに移動して、ペグ４０１の先端部がペグ穴４０２内に入り込み、ペグ４０１の側面（移動方向の前側（図５Ｄの右側）の側面）４０１ｂをペグ穴４０２の開口の他方の角部４０２ｂに当てる。次いで、図５Ｄの（ｆ）では、ペグ４０１の側面４０１ｂをペグ穴４０２の内周面（移動方向の前側（図５Ｄの右側）の内周面）４０２ｄに接触させてペグ４０１をペグ穴４０２に対して起こす。次いで、図５Ｄの（ｇ）では、ペグ４０１の側面４０１ｂをペグ穴４０２の内周面４０２ｄに接触させつつ、ペグ４０１の軸方向沿いにペグ４０１をペグ穴４０２に押し込む。次いで、図５Ｄの（ｈ）では、ペグ４０１の先端の上面４０１ａがペグ穴４０２の底面に当たって挿入作業を完了する。この場合は、一連の挿入作業は（ａ）〜（ｈ）の８個の作業段階で行われ、この挿入業は例えば８個又はそれ以下の作業区間に区切ることができる。
【００４８】
次に、図５Ａ〜図５Ｄの軌跡のうち図５Ｄの軌跡を例に取り、複数（例えば５個）に分割した作業区間について、図６を用いて説明する。図６に示すように、挿入作業は、
第１工程）ペグ４０１の先端が移動してペグ穴４０２の上面４０２ａに近づく区間（図５Ｄの（ａ）及び図６の（ａ）参照）と、
（第２工程）ペグ４０１の先端のペグ穴４０２に対向する面（ペグ穴対向面）４０１ａの一部の角部４０１ｃがペグ穴４０２の周囲の上面４０２ａに接触して上面４０２ａ沿いに移動しながら、ペグ４０１がペグ穴４０２にさらに近づき、ペグ４０１のペグ穴対向面４０１ａの一部の角部４０１ｃが、ペグ穴４０２の開口周縁の一部の角部４０２ｃに接触する区間（図５Ｄの（ｂ）〜（ｃ）及び図６の（ｂ）〜（ｃ）参照）と、
（第３工程）ペグ４０１のペグ穴対向面４０１ａの一部の角部４０１ｃが、ペグ穴４０２の開口周縁の一部の角部４０２ｃに接触したのち、ペグ穴４０２の角部４０２ｃに対してペグ４０１のペグ穴対向面４０１ａが滑るように移動して、ペグ４０１の先端部がペグ穴４０２内に入り込み、ペグ４０１の側面（移動方向の前側（図５Ｄの右側）の側面）４０１ｂをペグ穴４０２の開口の他方の角部４０２ｂに当てる区間（図５Ｄの（ｄ）〜（ｅ）及び図６の（ｄ）〜（ｅ）参照）と、
（第４工程）ペグ４０１の側面４０１ｂをペグ穴４０２の内周面（移動方向の前側（図５Ｄの右側）の内周面）４０２ｄに接触させてペグ４０１をペグ穴４０２に対して起こす区間（図５Ｄの（ｆ）〜（ｇ）及び図６の（ｆ）〜（ｇ）参照）と、
（第５工程）ペグ４０１の側面４０１ｂをペグ穴４０２の内周面４０２ｄに接触させつつ、ペグ４０１の軸方向沿いにペグ４０１をペグ穴４０２に押し込む区間（図５Ｄの（ｈ）及び図６の（ｈ）参照）と
の５個に区切ることができる。図５Ｄの軌跡以外の他の軌跡についても、同様に、５個に限られず任意の複数の作業区間に区切ることができるが、以下の説明では、図５Ｄ及び図６の例を中心に説明する。
【００４９】
また、分割されたそれぞれの区間について、それぞれの作業区間に該当すると特定できる条件がある。ここで、作業区間に該当すると特定できる条件とは、言い換えれば、各工程を分割するための条件ということもできる。
【００５０】
その条件について、図７を用いて順に説明する。
【００５１】
まず、第１工程の条件は、力情報取得部１０７で取得した値がゼロであること（図７の（ａ）参照）。
【００５２】
次いで、第２工程の条件は、力情報取得部１０７で取得した値について、ペグ穴４０２の挿入方向に対して反力を閾値以上の力の大きさで取得すること（図７の（ｂ）及び（ｃ）の矢印を参照）。
【００５３】
第３工程の条件は、動作情報１０６で取得した値について、ペグ穴４０２の挿入方向に対して位置の値が変化すること（図７の（ｄ）及び（ｅ）の矢印を参照）。
【００５４】
第４工程の条件は、力情報取得部１０７で取得した値について、ペグ穴４０２の挿入方向に対して垂直な方向に反力を閾値以上の力の大きさで取得すること（図７の（ｆ）及び（ｇ）の矢印を参照）。
【００５５】
第５工程の条件は、力情報取得部１０７で取得した値について、ペグ穴４０２の挿入方向に対して反力の大きさが小さくなること（図７の（ｈ）参照）。
【００５６】
各工程において、力情報又は位置情報に関する閾値を設定しており、その閾値を用いて条件を満たしているかどうかを特定する。
【００５７】
次に、これらの条件に関する作業区間情報について図８を用いて説明する。
【００５８】
図８は、作業区間情報記憶部１０８に記憶されている作業区間情報の一例を表す。作業区間情報には、作業区間番号と、位置又は姿勢情報と、力又はモーメント情報と、速度又は角速度情報と、力の変位又はモーメントの変位情報とが含まれる。座標系に関しては後述する座標系に従う（図１６参照）。作業区間番号ではそれぞれの区間番号を保持する。その他の情報に関しては、前述した条件を表す情報が含まれている。情報の詳細は、「数字」及び「数字の後ろの記号」によって構成される。数字は、閾値の絶対値を表す。数字の後ろの記号は、閾値の絶対値を上回るのか、下回るのかを示す。上回る場合は＋で表し、下回る場合は−で表す。閾値の絶対値を上回るとは、絶対値が閾値より大きいことを意味する。閾値の絶対値を下回るとは、絶対値が閾値より小さいことを意味する。０のような符号の後ろの記号がない場合は、その情報に関してはどのような値でも構わないことを表す。例えば、１．０＋の場合は、その情報に関して閾値の絶対値（１．０）を上回れば、条件を満たすことができる。よって、力Ｆｙに関して１．０＋の場合は、力Ｆｙの絶対値が１．０Ｎを上回れば、条件を満たすことができる。各値については、予め定められた値を記憶している。値を変更したい場合は、入出力ＩＦ１１６を用いて入力することができる。
【００５９】
作業区間情報について、作業を行う人（操作者）又は対象作業によって閾値などが異なるので、図９に示すような作業者ごとのデータベースを作業区間情報記憶部１０８の内部に保有する。作業者は、作業前に入出力ＩＦ１１６を用いて、作業者と対象作業とを入力することによって、作業区間情報記憶部１０８のデータベースを使用して、使用する作業区間情報を選択する。図９に示すように、自動制御による動作の場合と、操作者による教示動作の場合とは、異なる作業区間情報のデータベースを用いる。また、操作者の作業も、作業者ごとにデータベースが異なっている。
【００６０】
作業区間情報記憶部１０８は、作業区間情報を作業区間特定部１０９に出力する。
【００６１】
作業区間特定部１０９は、動作情報取得部１０６から動作情報と、時間情報とを取得し、力情報取得部１０７から力情報と、時間情報とを取得し、作業区間情報記憶部１０８から作業区間情報を取得する。作業区間特定部１０９は、取得した時間情報と、動作情報と、力情報と、作業区間情報とを用いて、現在（ロボットアーム操作時）の作業区間番号を導出する。導出方法は、以下の通りである。作業区間特定部１０９は、現在（ロボットアーム操作時）の時点における動作情報と力情報とを、作業区間情報の各作業区間の条件を満たすか比較し、各作業区間の条件を満たした場合の作業区間番号を導出する。
【００６２】
作業区間特定部１０９において、作業区間を特定する際に、現在（ロボットアーム操作時）の時点における作業区間が、ある１つの作業区間と特定できない場合がある。このような場合の対処法について説明する。
【００６３】
１つ目のパターンは、現在（ロボットアーム操作時）の時点における作業区間が複数該当する場合である。この場合の対処法については、後述する第４実施形態において説明する。
【００６４】
２つ目のパターンは、現在（ロボットアーム操作時）の時点における作業区間に該当する区間がない場合である。この場合の対処法は、作業区間情報記憶部１０８で記憶する作業区間情報について、それぞれの閾値に対して０．９倍し、閾値を小さくする。このように対処することで、最も近い作業区間に該当することとなる。また、０．９倍しても該当しない場合は、元の閾値に対して０．８倍する。つまり、いずれかの作業区間に該当するまで、元の閾値に対して１から０．１ずつ引いた値を掛けていく。該当するまでの閾値を小さくする回数をｎ（ただし、ｎは１以上の整数。）とすると、新しい閾値は次式で表される。
【００６５】
新しい閾値＝元の閾値×（１−０．１×ｎ）
作業区間特定部１０９は、このようにして作業区間を特定して、導出した現在（ロボットアーム操作時）の作業区間番号情報と、時間情報とを制御方法切替部１１４に出力する。
【００６６】
誘導情報記憶部１１０は、挿入作業における環境変動などの微小な誤差に対応するための、それぞれの作業区間における誘導情報と誘導適用情報とを記憶する。ここで、誘導情報とは、所望の作業を達成するために、操作者によるロボットアーム１０２の移動動作を誘導するための情報を意味する。誘導適用情報とは、誘導情報を適用するための条件の情報である。
【００６７】
ここで、挿入作業における誘導情報について、図１０の第１工程〜第５工程を用いて説明する。
【００６８】
第１の誘導情報は、ペグ４０１をペグ穴４０２に近づける図１０の第２工程において、ペグ４０１の角部（傾斜しているペグ４０１の、ペグ穴４０２の上面４０２ａに対向する面４０１ａにおいて、移動方向の前側（図１０の右側）でかつペグ穴４０２の上面４０２ａに最も接近している角部）４０１ｃがペグ穴４０２の上面４０２ａに常に接触していることである。図１０中の符号Ａは、第１の誘導情報を満たすために、ペグ４０１からペグ穴４０２の上面４０２ａに加える力の方向を示す。
【００６９】
第２の誘導情報は、ペグ４０１をペグ穴４０２にさらに近づける第２工程及び第３工程において、ペグ４０１の対向面４０１ａとペグ穴４０２の上面４０２ａとで形成する角度αが所定の角度を維持しつつ、ペグ４０１をペグ穴４０２に対してさらに近づけることである。図１０中の符号Ｂは、第２の誘導情報を満たすために、ペグ４０１をペグ穴４０２に対して、ペグ穴４０２の角部（移動方向の後側（図１０の左側）のペグ穴４０２の周縁角部）４０２ｃ回りに、反時計方向に回転させる回転方向を示す。
【００７０】
第３の誘導情報は、第３工程及び第４工程において、ペグ４０１の側面（移動方向の前側（図１０の右側）の側面）４０１ｂをペグ穴４０２の角部（移動方向の前側（図１０の右側）のペグ穴４０２の周縁角部）４０２ｂに常に接触させることである。図１０中の符号Ｃは、第３の誘導情報を満たすために、ペグ４０１の側面４０１ｂからペグ穴４０２の角部４０２ｂに加える力の方向を示す。
【００７１】
第４の誘導情報は、ペグ４０１がペグ穴４０２の上面４０２ａ及びペグ穴４０２に接触する工程（第２工程〜第５工程）において、ペグ４０１をペグ穴４０２の上面４０２ａ及びペグ穴４０２に強く接触させることである。
【００７２】
次に、これらの誘導情報の効果について、図１１Ａ〜図１１Ｆを用いて説明する。誘導情報の効果について、教示時のペグ穴４０２の位置に対して、再生時のペグ穴４０２の位置が変動している場合を例に説明する。図１１Ａ〜図１１Ｆにおいて、ペグ穴４０２について、実線は再生時のペグ穴４０２の位置を示しており、破線は教示時のペグ穴４０２の位置を示している。また、符号Ｘ又はＹで示す矢印の方向が、教示時のペグ穴４０２の位置に対する再生時のペグ穴４０２の位置の変動方向を示す。符号Ａ〜Ｄは、それぞれ順に、第１〜第４の誘導情報を満たすために加える力又は回転の方向を示す。第１の誘導情報について、図１１Ａを用いて説明する。図１１Ａ及び図１１Ｂは、破線の教示時のペグ穴４０２の位置と比較して、実線の再生時のペグ穴４０２の位置がＸ軸方向に近づいている場合を示している。このような環境変動があった場合においても、第１の誘導情報を適用することによって、ペグ４０１がペグ穴４０２の上面４０２ａと常に接触しているので、教示時よりも近づいたペグ穴４０２にペグ４０１が入りやすくなる。このとき、もし、第１の誘導情報を適用しない場合では、ペグ４０１がペグ穴４０２の上面４０２ａに常に接触していないため、図１１Ｂに示すように、ペグ４０１がペグ穴４０２に入ることなく、通り過ぎてしまう。図１１Ｃ及び図１１Ｄは、破線の教示時のペグ穴４０２の位置と比較して、実線の再生時のペグ穴４０２の位置が図１１ＣのＸ軸方向に遠ざかっている場合を示している。
【００７３】
このとき、第２及び第３の誘導情報を適用することによって、ペグ４０１の対向面４０１ａとペグ穴４０２の上面４０２ａとで形成する角度αが所定の角度を維持しつつペグ４０１の側面４０１ｂがペグ穴４０２の角部４０２ｂに接触するように近づくので、教示時よりも遠ざかったペグ穴４０２にペグ４０１が入りやすい。第２及び第３の誘導情報を適用しない場合では、ペグ４０１の側面４０１ｂをペグ穴４０２の角部４０２ｂに常に接触させていないため、図１１Ｄに示すように、ペグ４０１の側面４０１ｂがペグ穴４０２の角部４０２ｂに届かず、ペグ４０１がペグ穴４０２に完全に入らないことになる。図１１Ｅは、教示時のペグ穴４０２の位置と比較して、再生時のペグ穴４０２の位置がＹ軸方向に遠ざかっている。第４の誘導情報を適用することによって、ペグ４０１をペグ穴４０２の上面４０２ａ及びペグ穴４０２に強く接触させるので、教示時よりも遠ざかったペグ穴４０２に対してもペグ４０１が奥まで届くようになる。第４の誘導情報を適用しない場合では、ペグ４０１をペグ穴４０２の上面４０２ａ及びペグ穴４０２に強く接触させていないので、図１１Ｆに示すように、ペグ４０１がペグ穴４０２の奥まで届かない。
【００７４】
次に、誘導適用情報について図１２Ａ〜図１２Ｄを用いて説明する。
【００７５】
図１２Ａは、ペグ４０１の角部４０１ｃがペグ穴４０２の上面４０２ａに常に接触していることという第１の誘導情報に対する、力情報取得部１０７で取得した力情報の反力の値が第１の閾値の絶対値を上回るという条件を表す。第１の閾値とは、予め定められた値（例えば、１．０Ｎ）である。
【００７６】
図１２Ｂは、ペグ４０１の対向面４０１ａとペグ穴４０２の上面４０２ａとで形成する角度αを所定の角度に維持するという第２の誘導情報に対する、ロボットアーム１０２の手先の姿勢（角度）が、力情報取得部１０７で取得した力情報の反力の方向に対して、第２Ａの閾値（２つの第２の閾値のうちの一方の下限側の閾値）の絶対値を上回りかつ第２Ｂの閾値（２つの第２の閾値のうちの他方の上限側の閾値）を下回るという条件を表す。また、反力を測定する力センサ１６１６（詳細は後述）が６軸の力センサであるので、力センサ１６１６の値から反力の方向を導出することができる。第２Ａ、第２Ｂの閾値とは、それぞれ、予め定められた値（例えば、０．５ｒａｄ、０．７ｒａｄ）である。
【００７７】
図１２Ｃは、ペグ４０１の側面４０１ｂをペグ穴４０２の角部４０２ｂに常に接触させることという第３の誘導情報に対する、力情報取得部１０７で取得した力情報の挿入方向と垂直な方向との反力の値が、第３の閾値の絶対値を上回るという条件を表す。また、力情報の挿入方向と垂直な方向との反力についても、６軸の力センサ１６１６の値からそれぞれ導出する。第３の閾値とは、予め定められた値（例えば、１．０Ｎ）である。
【００７８】
図１２Ｄは、ペグ４０１をペグ穴４０２の上面４０２ａ及びペグ穴４０２に強く接触することという第４の誘導情報に対する、力情報取得部１０７で取得した力情報の反力の値が、第４の閾値の絶対値を上回るという条件を表す。第４の閾値とは、予め定められた値（例えば、３．０Ｎ）である。
【００７９】
また、前記それぞれの閾値の値を変更したい場合は、入出力ＩＦ１１６を用いて、操作者が誘導情報記憶部１１０に閾値の値を入力して、記憶されている閾値の値を変更することができる。なお、それぞれの閾値は、一例として、誘導適用情報生成部１１１での誘導適用情報を生成するときのように、対象作業について熟練者が行った作業を参照して決定することができる。
【００８０】
誘導情報記憶部１１０で記憶しているこれらの誘導情報及び誘導適用情報について、図１３を用いて説明する。誘導情報として、作業区間番号の情報と、それに対応する誘導情報番号の情報とが含まれる。誘導適用情報には、作業区間番号と、位置又は姿勢情報と、力又はモーメント情報とが含まれる。作業区間番号ではそれぞれの区間番号を保持する。その他の情報に関しては、前述した条件を表す情報が含まれている。情報の詳細は、図８で述べた「数字」及び「数字の後ろの記号」の表記と同様である。各値については、予め定められた値を記憶している。値を変更したい場合又は誘導情報を追加したい場合などは、入出力ＩＦ１１６を用いて誘導情報記憶部１１０に入力することができる。誘導情報記憶部１１０は、誘導情報と誘導適用情報とを制御方法切替部１１４に出力する。
【００８１】
誘導適用情報生成部１１１は、動作情報取得部１０６から動作情報と時間情報とを取得し、力情報取得部１０７から力情報と時間情報とを取得し、誘導適用情報を生成する。生成した誘導適用情報を誘導情報記憶部１１０に出力し、誘導情報記憶部１１０で誘導適用情報を記憶する。
【００８２】
誘導適用情報生成部１１１での誘導適用情報の生成方法について説明する。対象作業について熟練者が行った作業の動作情報及び力情報を用いて、誘導適用情報生成部１１１で誘導適用情報を生成する。閾値についても、熟練者の作業時の値を閾値とする。また、誘導適用情報の閾値などの追加又は修正を行う場合は、入出力ＩＦ１１６を用いて、誘導情報記憶部１１０に対して行うことができる。誘導適用情報生成部１１１は、生成した誘導適用情報を誘導情報記憶部１１０に出力する。
【００８３】
モード切替部１１２は、入出力ＩＦ１１６から入力されるモード情報を、制御方法切替部１１４に出力する。モード情報とは、入出力ＩＦ１１６で入力することができ、「教示モード」又は「再生モード」又は「停止モード」のいずれかの情報が選択されて含まれている。
【００８４】
「教示モード」とは、操作者がロボットアーム１０２を把持してロボットアーム１０２に対して動作を教えるモードであり、操作者の操作によりロボットアーム１０２を動かす。「再生モード」とは、「教示モード」において操作者から教えられた動作をロボットアーム１０２が自動的に再生するモードであり、操作者の操作によらずロボットアーム１０２が自動的に動く。「停止モード」とは、ロボットアーム１０２が動かないモードであり、ロボットアーム１０２は移動を行わず停止している。
【００８５】
モード切替部１１２は、「教示モード」及び「再生モード」の開始時点及び終了時点を制御方法切替部１１４に出力する。これらの開始時点及び終了時点の出力は、操作者の操作による入出力ＩＦ１１６のボタン（例えば、開始ボタン、終了ボタン）の押下により、モード切替部１１２を介して行う。「教示モード」では、操作者の操作によってロボットアーム１０２が移動する。操作者の操作によってロボットアーム１０２が移動しているとき、その開始から終了までのロボットアーム１０２の位置及び姿勢の情報を教示データとする。「再生モード」では、ロボットアーム１０２が、教示データの軌跡を追従するように制御部１１５により自動で移動する。開始から終了までの時間は、ロボットアーム１０２が自動で移動するが、その他の時間ではロボットアーム１０２は停止している。「停止モード」では、現在（ロボットアーム操作時）の位置及び姿勢にロボットアーム１０２が停止し、ロボットアーム１０２は移動しない。
【００８６】
制御方法情報記憶部１１３は、ロボットアーム１０２を制御する方法である制御方法情報を記憶する。この制御方法情報を適用することによって、誘導適用情報を満たすように操作者によるロボットアーム１０２の移動動作を誘導する。誘導方法の詳細については、後述する。制御方法情報として、（Ｉ）ロボットアーム１０２の制御ゲインを変化させる制御方法情報と、（ＩＩ）自動制御を行う制御方法情報とを記憶する。
【００８７】
次に、それぞれの制御方法について説明する。
【００８８】
（Ｉ）ロボットアーム１０２の制御ゲインを変化させる制御方法情報
図１４は、操作者の手１４０１が、ロボットアーム１０２の前腕リンク１６０３に取り付けられた前腕リンク用力センサ１４０２を把持し、操作者の手１４０１がロボットアーム１０２に加えた力の大きさを前腕リンク用力センサ１４０２で計測し、前腕リンク用力センサ１４０２で計測した力の値に応じてロボットアーム１０２の動作を制御部１１５で制御する例である。このとき、ロボットアーム１０２の手先位置及び姿勢ベクトルｒ（＝［ｘ，ｙ，ｚ，φ，θ，ψ］Ｔ）（詳細は、図１６を用いて後述する）と操作者が加えた力、モーメントＦ（＝［Ｆｘ，Ｆｙ，Ｆｚ，Ｍｘ，Ｍｙ，Ｍｚ］Ｔ）の大きさとの関係は、制御ゲインｋを用いて、ｒ＝ｋＦで表される。ただし、制御ゲインｋは、対角行列ｋ＝ｄｉａｇ（ｋ１，ｋ２，ｋ３，ｋ４，ｋ５，ｋ６）で表される。ゲインｋ１，ｋ２，ｋ３，ｋ４，ｋ５，ｋ６は、それぞれ、ロボットアーム１０２の手先座標系１６１３（詳細は、図１６を用いて後述する）のｘ軸，ｙ軸，ｚ軸，φ，θ，ψに対応する。操作者の手１４０１がロボットアーム１０２に加えた力の大きさが大きいほど、ロボットアーム１０２が移動する量が大きくなる。また、ゲインｋの値が大きいほど、ロボットアーム１０２が移動する量が大きくなる。
【００８９】
ここでは、ロボットアーム１０２の位置及び姿勢に関して、操作者によるロボットアーム１０２の移動動作を誘導する方向のみゲインｋを制御部１１５により大きくすることによって、操作者によるロボットアーム１０２の移動動作を誘導する方向のみにロボットアーム１０２を移動しやすくする。例えば、操作者によるロボットアーム１０２の移動動作を＋ｘ軸の方向に誘導する場合は、ゲインｋ１の値を２．０とし、他のゲインの値を、ゲインｋ１の値の半分の１．０とする。このようにゲインを制御部１１５により変化させることによって、操作者が全方向に同じように力を加えた場合においても、他の軸方向と比較して＋ｘ軸方向にロボットアーム１０２が２倍移動することとなる。
【００９０】
（ＩＩ）自動制御を行う制御方法情報
操作者がロボットアーム１０２を把持してロボットアーム１０２を操作する場合においても、操作者によるロボットアーム１０２の移動動作を誘導する方向のみ操作者の入力を受け付けず、制御部１１５によりロボットアーム１０２の動作を自動で制御する。操作者によるロボットアーム１０２の移動動作を誘導する方向は、方向別（軸別）に切り替えることが可能である。例えば、操作者によるロボットアーム１０２の移動動作を＋ｘ軸方向のみに誘導する場合は、＋ｘ軸方向のみ操作者の操作する操作量によらず、自動で＋ｘ軸方向に移動し、他の軸方向は操作者の操作する操作量に応じて移動する。そのようにすることによって、操作者によるロボットアーム１０２の移動動作を誘導する方向に誘導することを実現する。
【００９１】
これらの制御方法情報として制御方法情報記憶部１１３で記憶している情報について、図１５を用いて説明する。制御方法情報には、制御方法情報番号の情報とそれに対応する備考情報とが含まれる。各値については、予め定められた値を記憶している。値を変更したい場合又は制御方法情報を追加したい場合などは、入出力ＩＦ１１６を用いて、制御方法情報記憶部１１３に入力することができる。また、制御方法情報の選択についても、入出力ＩＦ１１６を用いて操作者がモード切替部１１２に入力することができ、少なくとも１つ以上の制御方法情報を選択する。制御方法情報記憶部１１３は、制御方法情報を制御方法切替部１１４に出力する。
【００９２】
制御方法切替部１１４は、動作情報取得部１０６から動作情報と時間情報とを取得し、力情報取得部１０７から力情報と時間情報とを取得し、作業区間特定部１０９から現在（ロボットアーム操作時）の作業区間番号情報と時間情報とを取得し、誘導情報記憶部１１０から誘導情報と誘導適用情報と時間情報とを取得し、モード切替部１１２からモード情報を取得し、制御方法情報記憶部１１３から制御方法情報を取得し、これらの情報を基にロボットアーム１０２の制御方法を切り替える。
【００９３】
制御方法切替部１１４によるロボットアーム１０２の制御方法の切り替え方について説明する。モード切替部１１２から制御方法切替部１１４に入力されたモード情報が「教示モード」の場合、作業区間特定部１０９から入力された現在（制御方法を切り替えるとき）の作業区間番号情報と誘導適用情報生成部１１１とを用いて、現在（制御方法を切り替えるとき）に適用すべき条件を導出し、制御方法情報記憶部１１３から取得した制御方法情報によって、導出した条件を満たすように、操作者によるロボットアーム１０２の移動動作を制御部１１５により誘導する。
【００９４】
その誘導のときに生成した動作情報と力情報とについては、制御方法切替部１１４の内部の記憶部において記憶する。具体的な動作は、後述する動作手順で示す。また、制御方法切替部１１４で生成した動作情報と力情報とは、制御方法切替部１１４から制御部１１５にも出力する。
【００９５】
モード切替部１１２から制御方法切替部１１４に入力されたモード情報が「再生モード」の場合、教示時に制御方法切替部１１４の内部の記憶部に記憶した動作情報と力情報とを制御部１１５に出力する。なお、教示時に誘導適用情報を満たすように、操作者によるロボットアーム１０２の移動動作を誘導するかしないかは、入出力ＩＦ１１６を用いて、操作者が入力して決定することができる。具体的な動作は、後述する動作手順で示す。制御方法切替部１１４は、制御方法切替部１１４で生成した動作情報と時間情報とを制御部１１５に出力する。
【００９６】
制御部１１５は、制御方法切替部１１４から動作情報と力情報と時間情報とが入力され、これらの情報に基づいて、ロボットアーム１０２の動作を制御する。制御部１１５においては、入力された動作情報を、入出力ＩＦ１１６に内蔵されたタイマーを利用して、ある一定時間毎（例えば、１ｍｓ毎）に、入出力ＩＦ１１６に出力して、ロボットアーム１０２の動作を制御する。
【００９７】
＜周辺装置の説明＞
入出力ＩＦ１１６は、制御部１１５から入力された動作情報をモータドライバ１１７に出力する。また、入出力ＩＦ１１６は、力センサ１６１６の測定値と、入出力ＩＦ１１６に内蔵されたタイマーからの時間情報とを力情報取得部１０７に出力する。ロボットアーム１０２の各関節部の後述するエンコーダ１６１５で取得した入力値に基づきロボットアーム１０２の位置情報及び姿勢情報をエンコーダ１６１５の内部の演算部で求め（詳細は後で述べる）、位置情報及び姿勢情報と入出力ＩＦ１１６に内蔵されたタイマーからの時間情報とを、入出力ＩＦ１１６から動作情報取得部１０６に出力する。また、入出力ＩＦ１１６は、図１Ｂに示すように、入力部１１６Ａと出力部１１６Ｂとによって構成される。入力部１１６Ａは、入力ＩＦ（インターフェース）となっており、キーボード又はマウス又はタッチパネル又は音声入力などにより操作者が項目を選択する場合、又は、キーボード又はマウス又はタッチパネル又は音声入力などにより操作者が数字を入力する場合などに用いられる。出力部１１６Ｂは、出力ＩＦ（インターフェース）となっており、取得した情報などを外部に出力する場合又はディスプレイなどに表示する場合などに用いられる。
【００９８】
モータドライバ１１７は、入出力ＩＦ１１６から取得した動作情報を基に、ロボットアーム１０２の動作を制御するために、ロボットアーム１０２の関節部のそれぞれのモータ１６１４（図１６参照）への指令値をロボットアーム１０２に出力する。
【００９９】
＜ロボットアームの説明＞
ロボットアーム１０２において、入出力ＩＦ１１６に内蔵されたタイマーを利用して、ある一定時間毎（例えば、１ｍｓ毎）に、ロボットアーム１０２の位置情報を、ロボットアーム１０２の各関節部のエンコーダ１６１５を用いて、エンコーダ１６１５の内部の演算部で求めて入出力ＩＦ１１６に出力する。また、ロボットアーム１０２の各関節部を駆動する駆動装置の一例としてのモータ１６１４は、モータドライバ１１７からの指令値に従って制御される。
【０１００】
これらの詳細については、以下に、図１６を用いて説明する。ロボットアーム１０２は、一例として、合計６個の軸周りに回転可能として６自由度の多リンクマニピュレータを構成している。
【０１０１】
図１６に示すように、ロボットアーム１０２は、一例として、多関節ロボットアームであって、具体的には、６自由度の多リンクのマニピュレータである。
【０１０２】
ロボットアーム１０２は、ハンド１６０１と、ハンド１６０１が取り付けられている手首部１６０２を先端１６０３ａに有する前腕リンク１６０３と、前腕リンク１６０３の基端１６０３ｂに回転可能に先端１６０４ａが連結される上腕リンク１６０４と、上腕リンク１６０４の基端１６０４ｂが回転可能に連結支持される台部１６０５とを備えている。台部１６０５は、一定位置に固定されているが、図示しないレールに移動可能に連結されていても良い。
【０１０３】
手首部１６０２は、第４関節部１６０９と、第５関節部１６１０と、第６関節部１６１１との３つの互いに直交する回転軸を有しており、前腕リンク１６０３に対するハンド１６０１の相対的な姿勢（向き）を変化させることができる。すなわち、図１６において、第４関節部１６０９は、手首部１６０２に対するハンド１６０１の横軸周りの相対的な姿勢を変化させることができる。第５関節部１６１０は、手首部１６０２に対するハンド１６０１の、第４関節部１６０９の横軸とは直交する縦軸周りの相対的な姿勢を変化させることができる。第６関節部１６１１は、手首部１６０２に対するハンド１６０１の、第４関節部１６０９の横軸及び第５関節部１６１０の縦軸とそれぞれ直交する横軸周りの相対的な姿勢を変化させることができる。前腕リンク１６０３の他端１６０３ｂは、上腕リンク１６０４の先端１６０４ａに対して第３関節部１６０８周りに、すなわち、第４関節部１６０９の横軸と平行な横軸周りに回転可能とする。上腕リンク１６０４の他端は、台部１６０５に対して第２関節部１６０７周りに、すなわち、第４関節部１６０９の横軸と平行な横軸周りに回転可能とする。さらに、台部１６０５の上側可動部１６０５ａは、台部１６０５の下側固定部１６０５ｂに対して第１関節部１６０６周りに、すなわち、第５関節部１６１０の縦軸と平行な縦軸周りに回転可能としている。
【０１０４】
この結果、ロボットアーム１０２は、合計６個の軸周りに回転可能として前記６自由度の多リンクマニピュレータを構成している。
【０１０５】
ロボットアーム１０２の各軸の回転部分を構成する各関節部には、関節部駆動用のモータ１６１４のような回転駆動装置と、モータ１６１４の回転軸の回転位相角（すなわち関節角）を検出して位置情報及び姿勢情報を内部の演算部で算出して出力するエンコーダ１６１５（実際には、ロボットアーム１０２の各関節部の内部に配設されている。）とを備えている。モータ１６１４（実際には、ロボットアーム１０２の各関節部の内部に配設されている。）は、各関節部を構成する一対の部材（例えば、回動側部材と、該回動側部材を支持する支持側部材）のうちの一方の部材に備えられる、モータドライバ１１７により駆動制御される。各関節部の一方の部材に備えられたモータ１６１４の回転軸が、各関節部の他方の部材に連結されて、前記回転軸を正逆回転させることにより、他方の部材を一方の部材に対して各軸周りに回転可能とする。
【０１０６】
また、１６１２は、台部１６０５の下側固定部１６０５ｂに対して相対的な位置関係が固定された絶対座標系であり、１６１３は、ハンド１６０１に対して相対的な位置関係が固定された手先座標系である。絶対座標系１６１２から見た手先座標系１６１３の原点位置Ｏｅ（ｘ，ｙ，ｚ）をロボットアーム１０２の手先位置とするとともに、絶対座標系１６１２から見た手先座標系１６１３の姿勢をロール角とピッチ角とヨー角とで表現した（φ，θ，ψ）をロボットアーム１０２の手先姿勢（姿勢情報）とし、手先位置及び姿勢ベクトルをベクトルｒ＝［ｘ，ｙ，ｚ，φ，θ，ψ］Ｔと定義する。
【０１０７】
よって、一例として、絶対座標系１６１２のｚ軸に対して第１関節部１６０６の縦軸が平行であり、絶対座標系１６１２のｘ軸に対して第２関節部１６０７の横軸が平行に位置可能とするのが好ましい。また、手先座標系１６１３のｘ軸に対して第４関節部１６０９の横軸が平行に位置可能であり、手先座標系１６１３のｙ軸に対して第６関節部１６１１の横軸が平行に位置可能であり、手先座標系１６１３のｚ軸に対して第５関節部１６１０の縦軸が平行に位置可能とするのが好ましい。なお、手先座標系１６１３のｘ軸に対しての回転角をヨー角ψとし、ｙ軸に対しての回転角をピッチ角θとし、ｚ軸に対しての回転角をロール角φとする。
【０１０８】
なお、図１６では、ロボットアーム１０２が動作する際に生じる力情報を取得する力センサ１６１６を備えるように構成している。力センサ１６１６は、ロボットアーム１０２のハンド１６０１が取り付けられている、前腕リンク１６０３の手首部１６０２に取り付けられて、ハンド１６０１に作用する力を検出可能とする。力センサは、６軸の力センサであり、力とモーメントを測定することができる。
【０１０９】
＜動作手順の説明＞
操作者が、ロボットアーム１０２を移動操作して、ロボットアーム１０２の動作を生成する教示モードと、ロボットアーム１０２が動作を制御部１１５で自動的に再生する再生モードの手順を説明する。
【０１１０】
＜教示モードの説明＞
教示モードについて、制御方法情報記憶部１１３において、（Ｉ）ロボットアーム１０２の制御ゲインを変化させる制御方法情報、（ＩＩ）自動制御を行う制御方法情報の２つの制御方法情報が記憶されているので、それぞれについて順に説明する。一例として、操作者は、ペグ４０１をハンド１６０１に把持したロボットアーム１０２を移動させて、治具などに固定されたペグ穴４０２に、前記ペグ４０１を挿入するロボットアーム１０２の動作を教示する。
【０１１１】
（Ｉ）ロボットアーム１０２の制御ゲインを変化させる制御方法情報
図１７Ａ〜図１７Ｈ、及び、図１８の（ａ）〜（ｃ）を用いて説明する。図１７Ａ〜図１７Ｈは、順に、操作者の手１４０１によりロボットアーム１０２に動作を教示する手順を示す。また、図１８の（ａ）〜（ｃ）は教示動作中のペグ４０１のペグ穴４０２への挿入方向の位置（ｍｍ）、挿入方向の力（Ｎ）、挿入方向に直交する横方向の力（Ｎ）をそれぞれ示す。図１８の（ａ）〜（ｃ）に示す図１７Ａ〜図１７Ｈの表記は、それぞれの状態における位置情報又は力情報を示す。ここでは、モード切替部１１２は、「教示モード」を選択している。教示の際に、図１７Ａの時点で、操作者により入出力ＩＦ１１６の開始ボタンが押下され、図１７Ｈの時点で、操作者により入出力ＩＦ１１６の終了ボタンが押下される。
【０１１２】
まず、図１７Ａは、操作者の手１４０１でロボットアーム１０２を把持し、操作者がロボットアーム１０２に対して教示を開始した時点である。この時点では、ロボットアーム１０２のハンド１６０１に把持したペグ４０１は、ペグ穴４０２及びペグ穴４０２の上面４０２ａとは接触していない。図１８の（ｂ）及び図１８の（ｃ）中の図１７Ａと示す（参照符号Ａ）時点より、力が加えられていないことが、力情報取得部１０７を介して作業区間特定部１０９により、わかり、作業区間特定部１０９において、作業区間情報記憶部１０８内の図８の作業区間情報を参照して、「作業区間番号１」であると特定する。誘導情報記憶部１１０内の図１３の誘導情報では、「作業区間番号１」においては、適用する誘導情報が無いので、制御部１１５により制御ゲインを変化させずに、操作者の手１４０１でロボットアーム１０２を把持してロボットアーム１０２を移動させる。
【０１１３】
次いで、図１７Ｂは、ペグ４０１とペグ穴４０２の上面４０２ａとが接触した時点である。図１８の（ｂ）中の図１７Ｂと示す（参照符号Ｂ）時点より、挿入方向の力の大きさが閾値１．０Ｎを上回っていることが、力情報取得部１０７を介して作業区間特定部１０９により確認でき、作業区間特定部１０９において、作業区間情報記憶部１０８内の図８の作業区間情報を参照して、「作業区間番号２」であると特定する。誘導情報記憶部１１０内の図１３の誘導情報では、「作業区間番号２」においては、「誘導情報１」と、「誘導情報２」と、「誘導情報４」とを適用すると記憶している。「誘導情報１」と、「誘導情報２」と、「誘導情報４」とは、誘導適用情報生成部１１１において、図１３で表される誘導適用情報を生成する。「誘導情報１」と、「誘導情報４」とより、誘導適用情報として、挿入方向の力の大きさが３．０Ｎを上回るという条件を満たす必要がある。この条件を満たすために、上述したゲインｋに関して、制御部１１５により、挿入方向のゲインｋ２の値を２．０とし、他のゲインの値を１．０とする。このようにゲインを制御部１１５により変化させることによって、ロボットアーム１０２を挿入方向に移動しやすいように、操作者によるロボットアーム１０２の移動動作を誘導する。「誘導情報２」の誘導情報より、誘導適用情報として、反力の方向に対して０．５ｒａｄを上回りかつ０．７ｒａｄを下回るという条件を満たす必要がある。この条件を満たすために、上述したゲインｋに関して、制御部１１５により、回転方向のゲインｋ４の値を、０．５ｒａｄを下回るときは２．０とし、０．５ｒａｄを上回り０．７ｒａｄを下回るときは１．０とし、０．７ｒａｄを上回るときは２．０とする。また、制御部１１５により、他のゲインの値は１．０とする。このようにゲインを制御部１１５により変化させることによって、ロボットアーム１０２の手先角度が所望の範囲の角度に無いときは、ロボットアーム１０２の手先角度が所望の範囲の角度内に移動するようにロボットアーム１０２の移動動作における回転方向を誘導し、ロボットアーム１０２の手先角度が所望の範囲内の角度にあるときは、ロボットアーム１０２の手先角度が所望の範囲の角度内から移動しないように、ロボットアーム１０２の移動動作の誘導を行わない。
【０１１４】
ここで、誘導情報の適用方法について説明する。複数の誘導情報を適用する場合は、それぞれの誘導情報について同時に適用する。図１７Ｂの場合は、「誘導情報１」と「誘導情報２」と「誘導情報４」とを、制御方法切替部１１４により、同時に適用する。しかしながら、複数の誘導情報を同時に適用できない場合もある。このような場合においては、適用する順について優先順位がある。その優先順位は、誘導情報番号の数字が小さい誘導情報から順に、制御方法切替部１１４により、適用する。ただし、「誘導情報４」については、「誘導情報１」及び「誘導情報３」とセットで適用する場合と、「誘導情報４」のみで適用する場合とで、優先順位が異なる。以上をまとめると、次のような優先順位となる。
【０１１５】
１＋４＞２＞３＋４＞４。
ここで、「＋４」という表記は、それぞれ、「誘導情報１」と「誘導情報４」とをセットで適用していることを示す。図１７Ｂの場合は、「誘導情報１」＋「誘導情報４」を先に適用し、その後に「誘導情報２」を適用する。
【０１１６】
次いで、図１７Ｃは、ペグ４０１をペグ穴４０２の上面４０２ａに沿わせながら、ペグ４０１をペグ穴４０２に近づけている時点である。図１７Ｂと同様に、図１８の（ｂ）中の図１７Ｃと示す（参照符号Ｃ）時点より、挿入方向の力の大きさが閾値１．０Ｎを上回っていることが、力情報取得部１０７を介して作業区間特定部１０９により確認でき、作業区間特定部１０９において、作業区間情報記憶部１０８内の図８の作業区間情報を参照して、「作業区間番号２」であると特定して、図１７Ｂと同様の方法で、操作者によるロボットアーム１０２の移動動作の誘導を行う。
【０１１７】
次いで、図１７Ｄは、ペグ４０１がペグ穴４０２の入り口に到達した時点である。図１８の（ａ）中の図１７Ｄと示す（参照符号Ｄ）時点より、挿入方向の位置が変化していることが、力情報取得部１０７を介して作業区間特定部１０９により、わかる。このとき、挿入方向の位置の変位（速度）が１．０ｍｍ／ｍｓを上回っており、作業区間特定部１０９において、作業区間情報記憶部１０８内の図８の作業区間情報を参照して、「作業区間番号３」であると特定する。誘導情報記憶部１１０内の図１３の誘導情報では、「作業区間番号３」においては、「誘導情報２」と、「誘導情報３」と、「誘導情報４」とを適用すると記憶している。「誘導情報２」と、「誘導情報３」と、「誘導情報４」とは、誘導適用情報生成部１１１において、図１３で表される誘導適用情報を生成する。「誘導情報２」の誘導適用情報に関しては、図１７Ｂで説明した方法でロボットアーム１０２の手先角度を所望の範囲の角度内に移動するようにロボットアーム１０２の移動動作における回転方向を誘導する。
「誘導情報３」と、「誘導情報４」とより、誘導適用情報として、挿入方向と垂直な方向（横方向）の力の大きさが３．０Ｎを上回るという条件を満たす必要がある。この条件を満たすために、上述したゲインｋに関して、制御部１１５により、挿入方向と垂直な方向のゲインｋ３の値を２．０とし、他のゲインの値を１．０とする。このようにゲインを制御部１１５により変化させることによって、ロボットアーム１０２を挿入方向と垂直の方向に移動しやすいように、操作者によるロボットアーム１０２の移動動作を誘導する。
【０１１８】
次いで、図１７Ｅは、ペグ４０１の側面４０１ｂがペグ穴４０２の角部４０２ｂに接触した時点である。図１７Ｄと同様に、図１８の（ａ）中の図１７Ｅと示す（参照符号Ｅ）時点より、挿入方向の位置が変化していることが、力情報取得部１０７を介して作業区間特定部１０９により、わかり、作業区間特定部１０９において、作業区間情報記憶部１０８内の図８の作業区間情報を参照して、「作業区間番号３」と特定する。そして、図１７Ｄと同様の方法で、操作者によるロボットアーム１０２の移動動作の誘導を行う。
【０１１９】
次いで、図１７Ｆは、ペグ４０１の側面４０１ｂをペグ穴４０２の角部４０２ｂに接触させながら、ペグ４０１を起こしている時点である。図１８の（ｃ）中の図１７Ｆと示す（参照符号Ｆ）時点より、横方向の力の大きさが閾値１．０Ｎを上回っていることが、力情報取得部１０７を介して作業区間特定部１０９により確認でき、作業区間特定部１０９において、作業区間情報記憶部１０８内の図８の作業区間情報を参照して、「作業区間番号４」であると特定する。誘導情報記憶部１１０内の図１３の誘導情報では、「作業区間番号４」においては、「誘導情報３」と「誘導情報４」とを適用すると記憶している。「誘導情報３」と「誘導情報４」とは、誘導適用情報生成部１１１において、図１３で表される誘導適用情報を生成する。「誘導情報３」と「誘導情報４」と誘導情報に関しては、図１７Ｄと同様の方法で、操作者によるロボットアーム１０２の移動動作を誘導する。
【０１２０】
次いで、図１７Ｇは、ペグ４０１の側面４０１ｂをペグ穴４０２の角部４０２ｂに接触させながら、ペグ４０１を起こして、ペグ４０１の軸方向とペグ穴４０２の軸方向がほぼ一致した時点である。図１７Ｆと同様に、図１８の（ｃ）中の図１７Ｇと示す（参照符号Ｇ）時点より、横方向の力の大きさが閾値１．０Ｎを上回っていることが、力情報取得部１０７を介して作業区間特定部１０９により確認でき、作業区間特定部１０９において、作業区間情報記憶部１０８内の図８の作業区間情報を参照して、「作業区間番号４」であると特定する。そして、図１７Ｆと同様の方法で、操作者によるロボットアーム１０２の移動動作の誘導を行う。
【０１２１】
次いで、図１７Ｈは、操作者の手１４０１がロボットアーム１０２を把持し、操作者がロボットアーム１０２に対して教示を終了した時点である。この時点では、ペグ４０１をペグ穴４０２に挿入し、ペグ４０１の先端がペグ穴４０２の奥の底面に接触し、教示動作を終了した時点である。図１８の（ｂ）中の図１７Ｈと示す（参照符号Ｈ）時点より、挿入方向の力の大きさが閾値１．０Ｎを下回っていることが、力情報取得部１０７を介して作業区間特定部１０９により確認でき、作業区間特定部１０９において、作業区間情報記憶部１０８内の図８の作業区間情報を参照して、「作業区間番号５」であると特定する。誘導情報記憶部１１０内の図１３の誘導情報では、「作業区間番号５」においては「誘導情報４」を適用すると記憶している。上述した方法で挿入方向に、操作者によるロボットアーム１０２の移動動作を誘導する。
【０１２２】
以上のような手順で、操作者によるロボットアーム１０２の移動動作を誘導するように教示する。
【０１２３】
（ＩＩ）自動制御を行う制御方法情報
（Ｉ）の場合と同様に、図１７Ａ〜図１７Ｈ、及び、図１８の（ａ）〜（ｃ）を用いて説明する。作業区間特定部１０９における作業の特定方法は上述した（Ｉ）の場合と同様である。制御方法切替部１１４による制御方法の切り替え方のみ異なるので、ここでは、図１７Ｂにおける挿入方向と回転方向との誘導を例に、制御方法を説明する。
【０１２４】
図１７Ｂについて説明したように、「誘導情報１」と、「誘導情報４」とより、誘導適用情報として、挿入方向の力の大きさが３．０Ｎを上回るという条件を満たす必要がある。この条件を満たすために、挿入方向（ｙ軸方向）のみ、操作者の操作する操作量によらず自動で＋ｙ軸方向に等速移動するように位置制御する。他の軸方向は、操作者の操作する操作量に応じて移動する。ｙ軸方向に関して位置制御する際に力情報取得部１０７で取得する力の大きさが３．０Ｎを上回ると、上回った時点の力の大きさを目標値とする力制御に、制御方法切替部１１４により切り替える。つまり、制御方法切替部１１４により、３．０Ｎを上回っていない場合は挿入方向に移動するように位置制御し、３．０Ｎを上回っている場合はその力の大きさを維持するように力制御する。
【０１２５】
また、「誘導情報２」の誘導情報より、誘導適用情報として、反力の方向に対して、０．５ｒａｄを上回りかつ０．７ｒａｄを下回るという条件を満たす必要がある。この条件を満たすために、回転方向（φ方向）のみ操作者の操作する操作量によらずφ軸方向に自動で等速移動するように位置制御する。他の軸方向は操作者の操作する操作量に応じて移動する。ロボットアーム１０２の姿勢が反力の方向に対して０．５ｒａｄを下回る場合は、制御方法切替部１１４と制御部１１５とにより、＋φ軸方向に等速移動するように位置制御する。ロボットアーム１０２の姿勢が反力の方向に対して０．７ｒａｄを上回る場合は、制御方法切替部１１４と制御部１１５とにより、−φ軸方向に等速移動するように位置制御する。ロボットアーム１０２の姿勢が反力の方向に対して０．５ｒａｄを上回り、０．７ｒａｄを下回る場合は、制御方法切替部１１４と制御部１１５とにより、その姿勢を維持するように位置制御する。このように自動制御することによって、姿勢が所望の角度の範囲外である場合は、所望の角度の範囲内に移動するように操作者によるロボットアーム１０２の移動動作を誘導し、姿勢が所望の角度の範囲内である場合はその姿勢を維持するように制御部１１５により自動制御する。
【０１２６】
（Ｉ）ロボットアーム１０２の制御ゲインを変化させる制御方法情報と（ＩＩ）自動制御を行う制御方法情報とでは、教示時の操作者の介在度が異なり、（Ｉ）の方法を用いた場合の方が（ＩＩ）の方法を用いた場合と比較して、より操作者が介在することとなる。
【０１２７】
以上のような制御方法で操作者によるロボットアーム１０２の移動動作を誘導するように教示する。
【０１２８】
＜再生モードの説明＞
次に、上述した方法で教示して得られた教示データを再生する手順を示す。ここでは、上述したように誘導情報を適用するために、操作者によるロボットアーム１０２の移動動作を誘導して教示データを生成したので、教示データを単純に再生することで、ペグ穴４０２において環境変動が生じる場合においても、ペグ４０１のペグ穴４０２への挿入作業を成功させることができる。
【０１２９】
図１９Ａ〜図１９Ｈを用いて説明する。図１９Ａ〜図１９Ｈは、順に、教示データを基にロボットアーム１０２を再生する手順を示す。ここでは、モード切替部１１２は、「再生モード」を選択している。再生の際に、図１９Ａの時点で、操作者により入出力ＩＦ１１６の開始ボタンが押下され、図１９Ｈの時点で、操作者により入出力ＩＦ１１６の終了ボタンが押下される。また、図２０Ａ〜図２０Ｄは、教示時と比較した、再生時の環境変動を示す。図２０Ａ〜図２０Ｄにおいて、ペグ穴４０２について、実線は再生時のペグ穴４０２の位置を示しており、破線は教示時のペグ穴４０２の位置を示している。また、符号Ｙ又はＸで示す矢印の方向が、教示時のペグ穴４０２の位置に対する、再生時のペグ穴４０２の位置の変動方向を示す。
【０１３０】
図１９Ａは、ロボットアーム１０２が再生を開始した時点である。この時点では、ロボットアーム１０２のハンド１６０１に把持したペグ４０１は、ペグ穴４０２及びペグ穴４０２の上面４０２ａとは接触していない。
【０１３１】
次いで、図１９Ｂは、ロボットアーム１０２のハンド１６０１に把持したペグ４０１とペグ穴４０２の上面４０２ａとが接触した時点である。教示時に、ペグ４０１の挿入方向に３．０Ｎを上回るように、操作者によるロボットアーム１０２の移動動作が誘導されているので、ペグ穴４０２の上面４０２ａの位置が挿入方向において奥側（図２０Ａの矢印Ｙ方向）に位置するように変動していても（図２０Ａ参照）、ペグ４０１はペグ穴４０２の上面４０２ａに接触することができる。
【０１３２】
次いで、図１９Ｃは、ロボットアーム１０２のハンド１６０１に把持したペグ４０１をペグ穴４０２の上面４０２ａに沿わせながら、ペグ４０１をペグ穴４０２に近づけている時点である。教示時に、挿入方向に３．０Ｎの力を加えて、ペグ４０１をペグ穴４０２の上面４０２ａに常に沿わせているので、ペグ穴４０２の位置が横方向（図２０Ｂの矢印Ｘ方向）に近づくように変動していても（図２０Ｂ参照）、ペグ４０１をペグ穴４０２に挿入することができる。
【０１３３】
次いで、図１９Ｄは、ロボットアーム１０２のハンド１６０１に把持したペグ４０１がペグ穴４０２の入り口に到達した時点である。
【０１３４】
次いで、図１９Ｅは、ロボットアーム１０２のハンド１６０１に把持したペグ４０１の側面４０１ｂがペグ穴４０２の角部４０２ｂに接触した時点である。教示時に、ペグ４０１の対向面４０１ａとペグ穴４０２の上面４０２ａとで形成する角度αが所定の角度を維持しつつ横方向の力の大きさが３．０Ｎを上回るように、操作者によるロボットアーム１０２の移動動作が誘導されているので、ペグ穴４０２の位置が横方向に遠くなるように変動していても（図２０Ｃ参照）、ペグ４０１の側面４０１ｂをペグ穴４０２の角部４０２ｂに接触させることができる。
【０１３５】
次いで、図１９Ｆは、ロボットアーム１０２のハンド１６０１に把持したペグ４０１の側面４０１ｂをペグ穴４０２の角部４０２ｂに接触させながら、ペグ４０１を起こしている時点である。
【０１３６】
次いで、図１９Ｇは、ロボットアーム１０２のハンド１６０１に把持したペグ４０１の側面４０１ｂをペグ穴４０２の角部４０２ｂに接触させながら、ペグ４０１を起こして、ペグ４０１の軸方向とペグ穴４０２の軸方向がほぼ一致した時点である。
【０１３７】
次いで、図１９Ｈは、ロボットアーム１０２が再生を終了した時点である。この時点では、ロボットアーム１０２のハンド１６０１に把持したペグ４０１をペグ穴４０２に挿入し、ペグ４０１の先端がペグ穴４０２の奥の底面に接触し、再生動作を終了した時点である。教示時に挿入方向に３．０Ｎを上回るように、操作者によるロボットアーム１０２の移動動作が誘導されているので、ペグ穴４０２の穴の深さが深くなるように（図２０ＤのＹ方向に）変動していても（図２０Ｄ参照）、ペグ４０１の挿入を完了することができる。
【０１３８】
以上のように、教示データを取得する際に誘導情報を適用するように操作者によるロボットアーム１０２の移動動作を誘導することによって、再生の際に環境変動があった場合においても、挿入作業を完了することができる。
【０１３９】
なお、上述したようにペグ４０１をペグ穴４０２に挿入する作業を対象としたが、図２１に示すようなキャップ（嵌め合わせ部の一例）２１０１を配管の凸部（被嵌め合わせ部の一例）２１０２に挿入する作業（嵌め合わせ作業）などにおいても有効である。
【０１４０】
キャップ２１０１の挿入作業も、ペグはめ作業と同様に、
（第１工程）キャップ２１０１が配管の凸部２１０２の上面２１０２ａに近づく区間と、
（第２工程）キャップ２１０１の角部２１０１ａが配管の凸部２１０２の上面２１０２ａを沿う区間と、
（第３工程）キャップ２１０１の内側側面２１０１ｂを配管の凸部２１０２の側面２１０２ｂに当てる区間と、
（第４工程）キャップ２１０１を配管の凸部２１０２に対して起こす区間と、
（第５工程）キャップ２１０１を配管の凸部２１０２に押し込む区間と、
の５個に区切ることができる。
【０１４１】
キャップ２１０１の挿入作業における誘導情報について、図２２を用いて説明する。誘導情報についても、ペグはめ作業の場合と同様である。
【０１４２】
第１の誘導情報は、図２２の第２工程において、キャップ２１０１の角部２１０１ａが配管の凸部２１０２の上面２１０２ａに接触していることである。図２２中の符号Ａは、第１の誘導情報を満たすために、キャップ２１０１から配管の凸部２１０２に加える力の方向を示す。
【０１４３】
第２の誘導情報は、第２工程及び第３工程において、キャップ２１０１の配管対向面２１０１ｃと配管の凸部２１０２の上面２１０２ａとで形成する角度が所定の角度を維持しつつ、キャップ２１０１を配管の凸部２１０２に対して近づけることである。図２２中の符号Ｂは、第２の誘導情報を満たすために回転させる回転方向を示す。
【０１４４】
第３の誘導情報は、第３工程及び第４工程において、キャップ２１０１の内側側面（移動方向の前側（図２２の右側）の内側側面）２１０１ｂを配管の凸部２１０２の側面（移動方向の前側（図２２の右側）の外側側面）２１０２ｂに接触させることである。図２２中の符号Ｃは、第３の誘導情報を満たすために、キャップ２１０１の内側側面２１０１ｂを配管の凸部２１０２の側面２１０２ｂに加える力の方向を示す。
【０１４５】
第４の誘導情報は、キャップ２１０１が配管の凸部２１０２に接触する工程（第２工程〜第５工程）において、キャップ２１０１を配管の凸部２１０２に強く接触させることである。
【０１４６】
誘導情報記憶部１１０で記憶している誘導情報及び誘導適用情報についても、図２３に示すように、ペグはめ作業の場合と同様である。
【０１４７】
以上のように、第１実施形態では、ペグはめ作業に限らず、挿入作業全般に適用することができる・
【０１４８】
第１実施形態のロボットアーム１０２の制御装置１０３の操作手順を図２４のフローチャートを用いて説明する。
【０１４９】
まず、ステップＳ２１０１では、動作情報取得部１０６において動作情報を取得し、力情報取得部１０７において力情報を取得し、ステップＳ２１０２に進む。
【０１５０】
次いで、ステップＳ２１０２では、モード切替部１１２において、「教示モード」が選択された場合はステップＳ２１０３に進み、「再生モード」が選択された場合はステップＳ２１０７に進む。
【０１５１】
ステップＳ２１０３では、作業区間特定部１０９において、作業区間情報記憶部１０８から取得した作業区間情報を基に、ロボットアーム操作時の作業区間を特定し、ステップＳ２１０４に進む。
【０１５２】
次いで、ステップＳ２１０４では、誘導適用情報生成部１１１において、動作情報取得部１０６から取得した動作情報と時間情報と、力情報取得部１０７から取得した力情報と時間情報とを基に誘導適用情報を生成し、誘導情報記憶部１１０から誘導情報と誘導適用情報とを制御方法切替部１１４に出力し、ステップＳ２１０５に進む。
【０１５３】
次いで、ステップＳ２１０５では、制御方法切替部１１４において、動作情報取得部１０６から取得した動作情報と時間情報と、力情報取得部１０７から取得した力情報と時間情報と、作業区間特定部１０９から取得した現在（ロボットアーム操作時）の作業区間番号情報と時間情報と、誘導情報記憶部１１０から取得した誘導情報と誘導適用情報と時間情報と、モード切替部１１２から取得したモード情報と、制御方法情報記憶部１１３から取得した制御方法情報とに基づき、ロボットアーム操作時の作業区間における誘導適用情報を満たすように、制御方法情報記憶部１１３から取得した制御方法に切り替え、切り替えた制御方法によって、制御部１１５により、操作者によるロボットアーム１０２の移動動作を誘導し、ステップＳ２１０６に進む。
【０１５４】
次いで、ステップＳ２１０６では、制御方法切替部１１４において、教示時に取得した動作情報及び力情報を制御方法切替部１１４の内部の記憶部に記憶する。
【０１５５】
一方、ステップＳ２１０７では、教示時に取得して制御方法切替部１１４の内部の記憶部に記憶された動作情報を制御方法切替部１１４から制御部１１５に出力し、制御部１１５において、前記教示時に取得した動作情報を再生する。
【０１５６】
第１実施形態によれば、教示時において、誘導情報を適用する条件として誘導適用情報を生成し、誘導適用情報を満たすように操作者によるロボットアーム１０２の移動動作（教示動作）を誘導して、軌跡を生成することによって、再生時に環境変動が生じた場合においても又はセンシング誤差などが生じても、単純に再生するだけで、環境変動に正確に対応して所望の作業を達成することができる。
【０１５７】
（第２実施形態）
本発明の第２実施形態では、図１Ａ中のロボットアーム１０２をスレーブロボットとするマスタスレーブロボットの構成を採る。マスタスレーブロボットとは、操作者が操作するマスタロボットと、作業を行うスレーブロボットと、が別のロボットであるシステムである（詳細は後述する）。マスタロボットアーム２５０２を操作者が操作することで、スレーブロボットが同様に動き、作業を行う。また、スレーブロボットが作業時に取得した力情報をマスタロボットアーム２５０２にフィードバックすることによって、マスタロボットアーム２５０２を操作する操作者は作業中の力を感じることができる。
【０１５８】
図２５は、本発明の第２実施形態における、ロボット１０１Ｂのブロック図を示す。本発明の第２実施形態のロボット１０１Ｂにおけるロボットアーム１０２と、周辺装置１０５と、制御装置１０３Ｂの制御装置本体部１０４Ｂのうちの動作情報取得部１０６と、力情報取得部１０７と、作業区間情報記憶部１０８と、作業区間特定部１０９と、誘導情報記憶部１１０と、誘導適用情報生成部１１１と、モード切替部１１２と、制御方法切替部１１４と、制御部１１５とは第１実施形態と同様であるので、共通の参照符号を付して共通部分の説明は省略し、異なる部分についてのみ、以下、詳細に説明する。
【０１５９】
制御方法情報記憶部２５１１は、制御方法情報記憶部１１３に代えて制御装置１０３Ｂに備えられ、第１実施形態における制御方法情報記憶部１１３の機能に加えて、制御方法情報として、（ＩＩＩ）操作者に提示する力の大きさを変化させる制御方法情報と、（ＩＶ）接触時の操作者に提示する力の大きさを変化させる制御方法情報とを追加して記憶している。
【０１６０】
次に、追加した制御方法情報について説明する。
【０１６１】
（ＩＩＩ）操作者に提示する力の大きさを変化させる制御方法情報
操作者がマスタロボットアーム２５０２を操作する際に、スレーブロボットがマスタロボットアーム２５０２に提示する力の大きさを変化させることによって、誘導する方向に、操作者によるマスタロボットアーム２５０２の移動動作を誘導する。ここでは、操作者によるマスタロボットアーム２５０２の移動動作を誘導する方向に力を提示する。例えば、ロボットアーム１０２の移動動作を＋ｘ軸方向のみに誘導する場合は、マスタロボットアーム２５０２において−ｘの方向から＋ｘの方向に働く力を提示することによって、操作者が＋ｘ方向に働く力を感じ、マスタロボットアーム２５０２を＋ｘ方向に移動させるように、操作者によるマスタロボットアーム２５０２の移動動作を誘導する。また、例えば、提示する力の大きさは、本来、提示する力に３．０Ｎの大きさの力を加えて提示する。
【０１６２】
（ＩＶ）接触時の操作者に提示する力の大きさを変化させる制御方法情報
操作者がマスタロボットアーム２５０２を操作する際に、スレーブロボットがマスタロボットに提示する力の大きさを変化させることによって、ペグ４０１とペグ穴４０２とが接触する際に接触する方向に操作者によるマスタロボットアーム２５０２の移動動作を誘導する。ここでは、ペグ４０１とペグ穴４０２とが接触する際に発生する力に関して、その大きさを小さくして操作者の手１４０１に提示する。例えば、ロボットアーム１０２によりペグ４０１をペグ穴４０２の上面４０２ａ及びペグ穴４０２に接触させる際にペグ４０１をペグ穴４０２の上面４０２ａ及びペグ穴４０２に強く接触させるために＋ｘ軸方向に操作者によるマスタロボットアーム２５０２の移動動作を誘導する場合は、マスタロボットアーム２５０２において＋ｘの方向から−ｘの方向に働く反力を、実際に生じた反力より小さく提示することによって、操作者が反力を弱く感じ、マスタロボットアーム２５０２を＋ｘ方向に移動させるように、操作者によるマスタロボットアーム２５０２の移動動作を誘導する。また、例えば、提示する力の大きさは、本来提示する力の１／２の大きさとする。
【０１６３】
このように接触する際に提示する反力を小さくすることによって、第４の誘導情報（強く接触する）に関する誘導適用情報を満たすように、操作者によるマスタロボットアーム２５０２の移動動作を誘導することができる。
【０１６４】
上記の制御方法情報を追加した場合の制御方法情報記憶部２５１１で記憶している情報については図２６に示すように記憶されている。
【０１６５】
制御方法情報記憶部２５１１は、制御方法情報を制御方法切替部１１４に出力する。
【０１６６】
マスタロボット２５０１は、マスタロボットアーム２５０２と、マスタロボットアーム２５０２の制御装置２５０３とで構成されている。
【０１６７】
マスタロボットアーム２５０２の制御装置２５０３は、マスタ制御装置本体部２５０４と、マスタ周辺装置２５０５とで構成されている。マスタ制御装置本体部２５０４は、マスタ動作情報取得部２５０６と、マスタ力情報生成部２５０７と、マスタ制御部２５０８とで構成されている。マスタ周辺装置２５０５は、マスタ入出力ＩＦ２５０９と、マスタモータドライバ２５１０とで構成されている。それぞれの機能について、以下に説明する。
【０１６８】
マスタ動作情報取得部２５０６は、マスタ入出力ＩＦ２５０９からマスタロボットアーム２５０２の位置情報及び姿勢情報と、マスタ入出力ＩＦ２５０９に内蔵されたタイマーからの時間情報とが入力される。また、マスタ動作情報取得部２５０６は、マスタ入出力ＩＦ２５０９から取得した位置情報及び姿勢情報を時間情報で微分することによって、速度情報を取得する。マスタ動作情報取得部２５０６は、取得したマスタロボットアーム２５０２の位置情報と、姿勢情報と、速度情報と、時間情報とを、マスタ制御部２５０８に出力する。
【０１６９】
マスタ力情報生成部２５０７は、制御装置１０３Ｂの制御部１１５から、力情報取得部１０７で取得した力情報と、制御方法情報と、時間情報とが入力される。マスタ力情報生成部２５０７は、制御部１１５から入力された力情報を生成する。生成した力情報と時間情報とをマスタ入出力ＩＦ２５０９に出力して、マスタロボットアーム２５０２に入力する。言い換えれば、制御装置１０３Ｂの力情報取得部１０７で取得した環境情報をマスタロボットアーム２５０２に伝達する。また、制御部１１５から取得した制御方法情報に応じて力情報を生成する。ここでは、制御方法情報を基に、所望の方向に、操作者によるマスタロボットアーム２５０２の移動動作を誘導するような力を提示する。
【０１７０】
マスタ制御部２５０８は、マスタ動作取得部２５０６から位置情報と、姿勢情報と、速度情報と、時間情報とが入力され、制御部１１５から制御方法情報と動作情報と時間情報とが入力される。マスタ制御部２５０８は、入力された情報を基に、動作情報を生成し、マスタ入出力ＩＦ２５０９に内蔵されたタイマーを利用して、ある一定時間毎（例えば、１ｍｓ毎）に、マスタ入出力ＩＦ２５０９に出力する。
【０１７１】
マスタ入出力ＩＦ２５０９は、マスタ制御部２５０８から入力された動作情報をマスタモータドライバ２５１０に出力する。ロボットアーム１０２のエンコーダ１６１５と同様にマスタロボットアーム２５０２に取り付けたエンコーダ１６１５から入力された値からマスタロボットアーム２５０２の位置情報及び姿勢情報をエンコーダ１６１５内部の演算部で求め、マスタ入出力ＩＦ２５０９から、位置情報及び姿勢情報とマスタ入出力ＩＦ２５０９に内蔵されたタイマーからの時間情報とをマスタ動作情報取得部２５０６に出力する。また、マスタ入出力ＩＦ２５０９は、マスタ力情報生成部２５０８から入力された力情報を出力する。
【０１７２】
マスタモータドライバ２５１０は、マスタ入出力ＩＦ２５０９から取得した動作情報を基に、マスタロボットアーム２５０２を制御するために、ロボットアーム１０２のそれぞれのモータ１６１４と同様に取り付けられたマスタロボットアーム２５０２のそれぞれのモータ１６１４への指令値をマスタロボットアーム２５０２に出力する。
【０１７３】
マスタロボットアーム２５０２は、マスタ入出力ＩＦ２５０９に内蔵されたタイマーを利用して、ある一定時間毎（例えば、１ｍｓ毎）に、マスタロボットアーム２５０２の位置情報をマスタロボットアーム２５０２の各エンコーダ１６１５からマスタ入出力ＩＦ２５０９に出力する。また、マスタロボットアーム２５０２は、マスタモータドライバ２５１０からの指令値に従って制御される。マスタロボットアーム２５０２の構成は図１６のロボットアーム１０２に示す構成と同様である。
【０１７４】
＜動作手順の説明＞
次に、操作者がロボットアーム１０２を移動操作して動作を生成する教示モードと、ロボットアーム１０２が動作を再生する再生モードの手順を説明する。
【０１７５】
教示モードでは、第２実施形態の手順は第１実施形態の図１７Ａ〜図１７Ｈ、及び、図１８の（ａ）〜（ｃ）を用いて説明した手順と同様である。再生モードでは、第２実施形態の手順は第１実施形態の図１９Ａ〜図１９Ｈを用いて説明した手順と同様である。ここでは、第１実施形態との差異である、教示モードにおける誘導方法について、（ＩＩＩ）操作者に提示する力の大きさを変化させる制御方法情報と、（ＩＶ）接触時の操作者に提示する力の大きさを変化させる制御方法情報とに関して、それぞれ説明する。
【０１７６】
（ＩＩＩ）操作者に提示する力の大きさを変化させる制御方法情報
図１７Ｂにおける挿入方向と回転方向との誘導を例に、図２７Ａ及び図２７Ｂを用いて制御方法を説明する。図２７Ａは操作者が操作するマスタロボットアーム２５０２を示し、図２７Ｂはペグはめ作業を行うスレーブロボット１０２を示す。図１７Ｂの状態では、ペグ４０１とペグ穴４０２の上面４０２ａとが接触した時点である。
【０１７７】
「誘導情報１」と「誘導情報４」とより、誘導適用情報として、挿入方向の力の大きさが３．０Ｎを上回るという条件を満たす必要がある。この条件を満たすために、マスタロボット２５０１のマスタ力情報生成部２５０７において、挿入方向に関して−ｙの方向から＋ｙの方向に働く力情報（３．０Ｎ）を生成し、マスタ制御部２５０８により、マスタロボットアーム２５０２を把持する操作者の手１４０１に力を提示する。操作者の手１４０１への力の提示方法は、フックの法則（例えば、バネ定数は０．５とする）を用いて力情報を位置情報にマスタ力情報生成部２５０７で変換し、マスタ力情報生成部２５０７で算出した位置情報を指令値としてマスタロボットアーム２５０２にマスタ力情報生成部２５０７からマスタ制御部２５０８及びマスタ周辺装置２５０５などを介して出力し、マスタモータ１６１４を動かすことで、力の伝達を実現する。
【０１７８】
このように力を提示することによって、マスタロボットアーム２５０２を把持する操作者の手１４０１に、挿入方向に働く力が提示され（図２７Ａの参照符号Ａ参照）、操作者によるマスタロボットアーム２５０２の移動動作が挿入方向に誘導される。
【０１７９】
また、「誘導情報２」の誘導情報より、誘導適用情報として、反力の方向に対して０．５ｒａｄを上回りかつ０．７ｒａｄを下回るという条件を満たす必要がある。この条件を満たすために、回転方向（φ軸方向）に関してマスタ力情報生成部２５０７で力情報を生成し、操作者の手１４０１に提示する。ロボットアーム１０２の姿勢が反力の方向に対して０．５ｒａｄを下回る場合は、−φの方向から＋φの方向に働く力情報（０．０３Ｎｍ）を生成し、マスタロボットアーム２５０２を把持する操作者の手１４０１に力を提示する（図２７Ａの参照符号Ｂ参照）。ロボットアーム１０２の姿勢が反力の方向に対して０．７ｒａｄを上回る場合は、＋φの方向から−φの方向に働く力情報（０．０３Ｎｍ）を生成し、マスタロボットアーム２５０２を把持する操作者の手１４０１に力を提示する。ロボットアーム１０２の姿勢が反力の方向に対して０．５ｒａｄを上回り、０．７ｒａｄを下回る場合は、力情報の提示を行わない。このように力情報を提示することによって、ロボットアーム１０２の手先角度が、所望の角度の範囲外である場合は、所望の角度の範囲内に移動するように、操作者によるマスタロボットアーム２５０２の移動動作を誘導する。このように誘導することによって、自動入力と比較して、操作者の介在度が大きくなるので、操作者の判断を教示時に反映させやすくなる。操作者の手１４０１への力の提示方法は、フックの法則（例えば、バネ定数は０．５とする）を用いて力情報を位置情報にマスタ力情報生成部２５０７で変換し、マスタ力情報生成部２５０７で算出した位置情報を指令値としてマスタロボットアーム２５０２にマスタ力情報生成部２５０７からマスタ制御部２５０８及びマスタ周辺装置２５０５などを介して出力し、マスタモータ１６１４を動かすことで、力の伝達を実現する。
【０１８０】
以上のような制御方法で、操作者によるマスタロボットアーム２５０２の移動動作を誘導するように教示する。
【０１８１】
（ＩＶ）接触時の操作者に提示する力の大きさを変化させる制御方法情報
図１７Ｈにおける挿入方向の誘導を例に、図２８Ａ及び図２８Ｂを用いて、制御方法を説明する。
【０１８２】
図２８Ａは操作者が操作するマスタロボットアーム２５０２を示し、図２８Ｂはペグはめ作業を行うスレーブロボット１０２を示す。図１７Ｈの状態では、ペグ４０１の先端がペグ穴４０２の奥の底面に接触する時点である。ペグ４０１の先端とペグ穴４０２の底面とが接触する際に生じる図２８Ｂの参照符号Ｂの力をＦとすると、操作者の手１４０１に提示する力（図２８Ａの参照符号Ａの力）を０．５Ｆとすることによって、接触する際の提示する力の大きさを小さくする。操作者の手１４０１に、実際の力の大きさよりも小さく提示することによって、操作者はさらにペグ４０１をペグ穴４０２内に挿入するため、ペグ４０１とペグ穴４０２とを強く接触させるように、操作者によるマスタロボットアーム２５０２の移動動作を誘導することが可能となる。
【０１８３】
第２実施形態のロボットアーム１０２の制御装置１０３Ｂの操作手順を図２９のフローチャートを用いて説明する。ここでは、図２５に示すマスタスレーブロボットにおいて、スレーブロボット１０２について説明する。
【０１８４】
まず、ステップＳ２１０１では、動作情報取得部１０６において動作情報を取得し、力情報取得部１０７において力情報を取得し、ステップＳ２１０２に進む。
【０１８５】
次いで、ステップＳ２１０２では、モード切替部１１２において、「教示モード」が選択された場合はステップＳ２１０３に進み、「再生モード」が選択された場合はステップＳ２１０７に進む。
【０１８６】
ステップＳ２１０３では、作業区間特定部１０９において、作業区間情報記憶部１０８から取得した作業区間情報を基に、ロボットアーム操作時の作業区間を特定し、ステップＳ２１０４に進む。
【０１８７】
次いで、ステップＳ２１０４では、誘導適用情報生成部１１１において、動作情報取得部１０６から取得した動作情報と時間情報と、力情報取得部１０７から取得した力情報と時間情報とを基に誘導適用情報を生成し、誘導情報記憶部１１０から誘導情報と誘導適用情報とを制御方法切替部１１４に出力し、ステップＳ２９０１に進む。
【０１８８】
次いで、ステップＳ２９０１では、制御方法切替部１１４において、動作情報取得部１０６から取得した動作情報と時間情報と、力情報取得部１０７から取得した力情報と時間情報と、作業区間特定部１０９から取得した現在（ロボットアーム操作時）の作業区間番号情報と時間情報と、誘導情報記憶部１１０から取得した誘導情報と誘導適用情報と時間情報と、モード切替部１１２から取得したモード情報と、制御方法情報記憶部２５１１から取得した制御方法情報とに基づき、ロボットアーム操作時の作業区間における誘導適用情報を満たすように、制御方法情報記憶部２５１１から取得した制御方法に切り替え、切り替えた制御方法によって、マスタ制御部２５０８により、操作者によるマスタロボットアーム２５０２の移動動作を誘導する。ここでは、制御方法記憶部２５１１より（ＩＩＩ）操作者に提示する力の大きさを変化させる制御方法情報と（ＩＶ）接触時の操作者に提示する力の大きさを変化させる制御方法情報との少なくとも１つ以上の情報を用いる。次に、ステップＳ２１０６に進む。
【０１８９】
次いで、ステップＳ２１０６では、制御方法切替部１１４において、教示時に取得した動作情報及び力情報を制御方法切替部１１４の内部の記憶部に記憶する。
【０１９０】
一方、ステップＳ２１０７では、教示時に取得して制御方法切替部１１４の内部の記憶部に記憶された動作情報を制御方法切替部１１４から制御部１１５に出力し、制御部１１５において、前記教示時に取得した動作情報を再生する。
【０１９１】
第２実施形態によれば、マスタスレーブ（遠隔装置）を用いた場合においても、操作者によるマスタロボットアーム２５０２の移動動作を誘導して、誘導情報を適用した軌跡を生成することができる。また、操作者が手で力を感じることができるので、視覚的に見にくい作業を行う場合においても、誘導情報を適用することができる。
【０１９２】
（第３実施形態）
図３０は、本発明の第３実施形態における、ロボット１０１Ｃのブロック図を示す。本発明の第３実施形態のロボット１０１Ｃにおけるロボットアーム１０２と、周辺装置１０５と、制御装置１０３Ｃの制御装置本体部１０４Ｃのうちの動作情報取得部１０６と、力情報取得部１０７と、作業区間情報記憶部１０８と、作業区間特定部１０９と、誘導情報記憶部１１０と、誘導適用情報生成部１１１と、モード切替部１１２と、制御方法切替部１１４と、制御部１１５とは第１実施形態と同様であるので、共通の参照符号を付して共通部分の説明は省略し、異なる部分についてのみ、以下、詳細に説明する。
【０１９３】
制御方法情報記憶部３００１は、制御方法情報記憶部１１３に代えて制御装置１０３Ｃに備えられ、第１実施形態における制御方法情報記憶部１１３の機能に加えて、制御方法情報として、（Ｖ）操作者によるロボットアーム１０２の移動動作を誘導する方向と逆の方向にロボットアーム１０２を移動しにくくする制御方法情報を追加して記憶している。
【０１９４】
次に、追加した制御方法情報について説明する。
【０１９５】
（Ｖ）操作者によるロボットアーム１０２の移動動作を誘導する方向と逆の方向にロボットアーム１０２を移動しにくくする制御方法情報
この制御方法情報は、（Ｉ）ロボットアーム１０２の制御ゲインを変化させる制御方法情報と組み合わせて使用する。
【０１９６】
（Ｉ）ロボットアーム１０２の制御ゲインを変化させる制御方法情報では、ロボットアーム１０２の位置又は姿勢に関して、操作者によるロボットアーム１０２の移動動作を誘導する方向のみゲインｋを大きくすることによって、操作者によるロボットアーム１０２の移動動作を誘導する方向のみにロボットアーム１０２を移動しやすくする。それに加えて、（Ｖ）操作者によるロボットアーム１０２の移動動作を誘導する方向と逆の方向にロボットアーム１０２を移動しにくくする制御方法情報では、ロボットアーム１０２の位置又は姿勢に関して、操作者によるロボットアーム１０２の移動動作を誘導する方向と逆の方向のゲインｋを小さくすることによって、操作者によるロボットアーム１０２の移動動作を誘導する方向と逆の方向にはロボットアーム１０２を移動しにくくする。例えば、（Ｉ）ロボットアーム１０２の制御ゲインを変化させる制御方法情報では、ロボットアーム１０２の移動動作を＋ｘ軸の方向に誘導する場合は、ゲインｋ１の値を２．０とし、他のゲインの値を１．０とする。それに加えて、−ｘ軸の方向に移動させる場合に、ゲインｋ１の値を０．５とし、操作者によるロボットアーム１０２の移動動作を＋ｘ軸の方向に誘導する場合に、ゲインｋ１の値を２．０とする。ロボットアーム１０２を移動させる方向によってゲインｋ１の値を変化させる。具体的には、図１４のロボットアーム１０２の前腕リンク用力センサ１４０２が取り付けられ、操作者の手１４０１が前腕リンク用力センサ１４０２に加える力の方向によって、ゲインｋ１を切り替える。このようにゲインを制御部１１５により変化させることによって、操作者が全方向に同じように力を加えた場合においても、＋ｘ軸方向に他の軸方向と比較してロボットアーム１０２が２倍移動することとなり、−ｘ軸方向に他の軸方向と比較してロボットアーム１０２が０．５倍移動することとなる。
【０１９７】
このようにロボットアーム１０２の移動動作を誘導する方向と逆の方向にロボットアーム１０２を移動しにくくすることによって、操作者によるロボットアーム１０２の移動動作を誘導する方向にロボットアーム１０２を移動することが可能となる。
【０１９８】
上記の制御方法情報を追加した場合の制御方法情報記憶部３００１で記憶している情報については、図３１に示すように記憶されている。
【０１９９】
制御方法情報記憶部３００１は、制御方法情報を制御方法切替部１１４に出力する。
【０２００】
次に、操作者がロボットアーム１０２を移動操作して動作を生成する教示モードと、ロボットアーム１０２が動作を再生する再生モードの手順を説明する。
【０２０１】
教示モードでは、第３実施形態の手順は第１実施形態の図１７Ａ〜図１７Ｈ、及び、図１８の（ａ）〜（ｃ）を用いて説明した手順と同様である。再生モードでは、第２実施形態の手順は第１実施形態の図１９Ａ〜図１９Ｈを用いて説明した手順と同様である。ここでは、第１実施形態との差異である、教示モードにおける誘導方法について、図１７Ｂにおける挿入方向の誘導を例に説明する。
【０２０２】
図１７Ｂにおいて、「誘導情報１」及び「誘導情報４」より、誘導適用情報として、挿入方向の力の大きさが３．０Ｎを上回るという条件を満たす必要がある。この条件を満たすために、制御ゲインｋに関して挿入方向のゲインｋ２の値を制御部１１５により変化させる。ゲインｋ２の値の変化の方法は、前腕リンク用力センサ１４０２の値において、力Ｆｙに関して挿入方向に操作者の力が加わる場合には、ゲインｋ２の値を２．０とし、力Ｆｙに関して挿入方向と逆方向に操作者の力が加わる場合には、ゲインｋ２の値を０．５とするように、ゲインｋ２の値を制御部１１５により変化させる。また、制御部１１５により他のゲインの値を１．０とする。このようにゲインを制御部１１５により変化させることによって、ロボットアーム１０２を挿入方向に移動しやすいように、操作者によるロボットアーム１０２の移動動作を誘導する。
【０２０３】
第３実施形態のロボットアーム１０２の制御装置１０３Ｃの操作手順を図３２のフローチャートを用いて説明する。
【０２０４】
まず、ステップＳ２１０１では、動作情報取得部１０６において動作情報を取得し、力情報取得部１０７において力情報を取得し、ステップＳ２１０２に進む。
【０２０５】
次いで、ステップＳ２１０２では、モード切替部１１２において、「教示モード」が選択された場合はステップＳ２１０３に進み、「再生モード」が選択された場合はステップＳ２１０７に進む。
【０２０６】
ステップＳ２１０３では、作業区間特定部１０９において、作業区間情報記憶部１０８から取得した作業区間情報を基に、ロボットアーム操作時の作業区間を特定し、ステップＳ２１０４に進む。
【０２０７】
次いで、ステップＳ２１０４では、誘導適用情報生成部１１１において、動作情報取得部１０６から取得した動作情報と時間情報と、力情報取得部１０７から取得した力情報と時間情報とを基に誘導適用情報を生成し、誘導情報記憶部１１０から誘導情報と誘導適用情報とを制御方法切替部１１４に出力し、ステップＳ３２０１に進む。
【０２０８】
次いで、ステップＳ３２０１では、制御方法切替部１１４において、動作情報取得部１０６から取得した動作情報と時間情報と、力情報取得部１０７から取得した力情報と時間情報と、作業区間特定部１０９から取得した現在（ロボットアーム操作時）の作業区間番号情報と時間情報と、誘導情報記憶部１１０から取得した誘導情報と誘導適用情報と時間情報と、モード切替部１１２から取得したモード情報と、制御方法情報記憶部３００１から取得した制御方法情報とに基づき、ロボットアーム操作時の作業区間における誘導適用情報を満たすように、制御方法情報記憶部３００１から取得した制御方法に切り替え、切り替えた制御方法によって、制御部１１５により、操作者によるロボットアーム１０２の移動動作を誘導する。ここでは、制御方法記憶部３００１より（Ｉ）ロボットアーム１０２の制御ゲインを変化させる制御方法情報及び（Ｖ）操作者によるロボットアーム１０２の移動動作を誘導する方向と逆の方向にロボットアーム１０２を移動しにくくする制御方法情報を用いる。次に、ステップＳ２１０６に進む。
【０２０９】
次いで、ステップＳ２１０６では、制御方法切替部１１４において、教示時に取得した動作情報及び力情報を制御方法切替部１１４の内部の記憶部に記憶する。
【０２１０】
一方、ステップＳ２１０７では、教示時に取得して制御方法切替部１１４の内部の記憶部に記憶された動作情報を制御方法切替部１１４から制御部１１５に出力し、制御部１１５において、前記教示時に取得した動作情報を再生する。
【０２１１】
第３実施形態によれば、教示時において、誘導適用情報を満たすように操作者によるロボットアーム１０２の移動動作を誘導して、軌跡を生成する際に、操作者によるロボットアーム１０２の移動動作を誘導する方向と逆の方向にはロボットアーム１０２を移動しにくくなるため、正確に誘導することができる。
【０２１２】
（第４実施形態）
図３３は、本発明の第４実施形態における、ロボット１０１Ｄのブロック図を示す。本発明の第４実施形態のロボット１０１Ｄにおけるロボットアーム１０２と、周辺装置１０５と、制御装置１０３Ｄの制御装置本体部１０４Ｄのうちの動作情報取得部１０６と、力情報取得部１０７と、作業区間情報記憶部１０８と、作業区間特定部１０９と、誘導情報記憶部１１０と、誘導適用情報生成部１１１と、モード切替部１１２と、制御方法情報記憶部１１３と、制御部１１５とは第１実施形態と同様であるので、共通の参照符号を付して共通部分の説明は省略し、異なる部分についてのみ、以下、詳細に説明する。
【０２１３】
制御方法切替部３３０１は、制御方法切替部１１４に代えて制御装置１０３Ｄに備えられ、第１実施形態における制御方法切替部１１４の機能に加えて、以下の機能を有する。作業区間特定部１０９において、ロボットアーム操作時の区間が複数の区間であると特定された場合は、複数の区間の誘導適用情報を取得し、それらの誘導適用情報を満たすように制御方法を切り替える。
【０２１４】
＜動作手順の説明＞
操作者がロボットアーム１０２を移動操作して動作を生成する教示モードと、ロボットアーム１０２が動作を再生する再生モードの手順を説明する。
【０２１５】
＜教示モードの説明＞
教示モードについて、図３４Ａ〜図３４Ｆ、及び、図３５の（ａ）〜（ｃ）を用いて説明する。図３４Ａ〜図３４Ｆは、順に、操作者の手１４０１によりロボットアーム１０２に動作を教示する手順を示す。また、図３５の（ａ）〜（ｃ）は、教示動作中のペグ４０１のペグ穴４０２への挿入方向の位置（ｍｍ）、挿入方向の力（Ｎ）、横方向の力（Ｎ）をそれぞれ示す。ここでは、モード切替部１１２は、「教示モード」を選択している。図３５の（ａ）〜（ｃ）に示す図３４Ａ〜図３４Ｆの表記はそれぞれの状態における位置情報又は力情報を示す。教示の際に、図３４Ａの時点で、操作者により入出力ＩＦ１１６の開始ボタンが押下され、図３４Ｆの時点で、操作者により入出力ＩＦ１１６の終了ボタンが押下される。図３４Ａ〜図３４Ｆの図１７Ａ〜図１７Ｈとの違いは、ペグ４０１の対向面４０１ａを、ペグ穴４０２の上面４０２ａに沿わさずに、直接、ペグ穴４０２の角部（ペグ穴４０２の開口の手前側の角部）４０２ｃに当てている点である。
【０２１６】
図３４Ａは、操作者の手１４０１がロボットアーム１０２を把持し、操作者がロボットアーム１０２に対して教示を開始した時点である。この時点では、ロボットアーム１０２のハンド１６０１に把持したペグ４０１は、ペグ穴４０２及びペグ穴４０２の上面４０２ａとは接触していない。図３５の（ｂ）及び図３５の（ｃ）の図３４Ａと示す（参照符号Ａ）時点より、力が加えられていないことが、力情報取得部１０７を介して作業区間特定部１０９により、わかり、作業区間特定部１０９において、作業区間情報記憶部１０８内の図８の作業区間情報を参照して、「作業区間番号１」であると特定する。誘導情報記憶部１１０内の図１３の誘導情報では、「作業区間番号１」においては、適用する誘導情報が無いので、誘導せずに、操作者の手１４０１でロボットアーム１０２を把持してロボットアーム１０２を移動させる。
【０２１７】
次いで、図３４Ｂは、ペグ４０１がペグ穴４０２の入り口に到達した時点である。図３５の（ｂ）の図３４Ｂと示す（参照符号Ｂ）時点より、挿入方向の力の大きさが閾値１．０Ｎを上回っていることと、図３５の（ａ）の図３４Ｂと示す（参照符号Ｂ）時点より、挿入方向の位置が変化していることとが、力情報取得部１０７を介して作業区間特定部１０９により確認できる。その結果、作業区間特定部１０９において、作業区間情報記憶部１０８内の図８の作業区間情報を参照して、「作業区間番号２」と「作業区間番号３」とであると特定する。誘導情報記憶部１１０内の図１３の誘導情報では、「作業区間番号２」においては「誘導情報１」と「誘導情報２」と「誘導情報４」とを適用すると記憶し、「作業区間番号３」においては「誘導情報２」と「誘導情報３」と「誘導情報４」とを適用すると記憶している。よって、この時点では、「誘導情報１」と「誘導情報２」と「誘導情報３」と「誘導情報４」とを適用する。「誘導情報１」と「誘導情報２」と「誘導情報３」と「誘導情報４」とは、誘導適用情報生成部１１１において、図１３で表される誘導適用情報を生成する。第１実施形態で述べた制御方法で、「誘導情報１」と「誘導情報２」と「誘導情報３」と「誘導情報４」との誘導適用情報を満たすように、操作者によるロボットアーム１０２の移動動作の誘導を行う。この時点で複数の区間の誘導適用情報（「作業区間番号２」と「作業区間番号３」との誘導適用情報）を満たすように制御方法を切り替えている点が、第４実施形態の特徴である。
【０２１８】
誘導適用情報の適用方法については、第１実施形態で説明した方法と同様である。誘導情報を適用する場合は、それぞれの誘導情報について、制御方法切替部１１４により、同時に適用する。図３４Ｂの場合は、「誘導情報１」と「誘導情報２」と「誘導情報３」と「誘導情報４」とを、制御方法切替部１１４により、同時に適用する。しかしながら、誘導情報を同時に適用できない場合もある。このような場合においては、適用する順について優先順位がある。その優先順位は、誘導情報番号の数字が小さい誘導情報から順に、制御方法切替部１１４により、適用する。ただし、「誘導情報４」については、「誘導情報１」及び「誘導情報３」とセットで適用する場合と、「誘導情報４」のみで適用する場合とで、優先順位が異なる。以上をまとめると、次のような優先順位となる。
【０２１９】
１＋４＞２＞３＋４＞４。
ここで、「＋４」という表記は、それぞれ、「誘導情報１」と「誘導情報３」とセットで適用していることを示す。図３４Ｂの場合は、「誘導情報１」＋「誘導情報４」を先に適用し、その後に「誘導情報２」を適用し、最後に「誘導情報３」＋「誘導情報４」を適用する。  次いで、図３４Ｃは、ペグ４０１の側面４０１ｂがペグ穴４０２の角部４０２ｂに接触した時点である。図３５の（ａ）の図３４Ｃと示す（参照符号Ｃ）時点より、挿入方向の位置が変化していることとが、力情報取得部１０７を介して作業区間特定部１０９により、確認でき、作業区間特定部１０９において、作業区間情報記憶部１０８内の図８の作業区間情報を参照して、「作業区間番号３」であると特定する。そして、第１実施形態で述べた「作業区間番号３」における、操作者によるロボットアーム１０２の移動動作の誘導を行う。
【０２２０】
次いで、図３４Ｄは、ペグ４０１の側面４０１ｂをペグ穴４０２の角部４０２ｂに接触させながら、ペグ４０１を起こしている時点である。図３５の（ｃ）の図３４Ｄと示す（参照符号Ｄ）時点より、横方向の力の大きさが閾値１．０Ｎを上回っていることが、力情報取得部１０７を介して作業区間特定部１０９により、確認でき、作業区間特定部１０９において、「作業区間番号４」であると特定する。誘導情報記憶部１１０内の図１３の誘導情報では、「作業区間番号４」においては、「誘導情報３」と「誘導情報４」とを適用すると記憶している。「誘導情報３」と「誘導情報４」とは、誘導適用情報生成部１１１において、図１３で表される誘導適用情報を生成する。「誘導情報３」と「誘導情報４」との誘導適用情報に関しては、第１実施形態で述べた方法と同様の方法で、操作者によるロボットアーム１０２の移動動作を誘導する。
【０２２１】
次いで、図３４Ｅは、ペグ４０１の側面４０１ｂをペグ穴４０２の角部４０２ｂに接触させながら、ペグ４０１を起こして、ペグ４０１の軸方向とペグ穴４０２の軸方向がほぼ一致した時点である。図３５の（ｃ）の図３４Ｅと示す（参照符号Ｅ）時点より、横方向の力の大きさが閾値１．０Ｎを上回っていることが力情報取得部１０７を介して作業区間特定部１０９により確認でき、作業区間特定部１０９において、作業区間情報記憶部１０８内の図８の作業区間情報を参照して、「作業区間番号４」であると特定する。そして、第１実施形態で述べた方法と同様の方法で、操作者によるロボットアーム１０２の移動動作を誘導する。
【０２２２】
次いで、図３４Ｆは、操作者の手１４０１がロボットアーム１０２を把持し、操作者がロボットアーム１０２に対して教示を終了した時点である。この時点では、ペグ４０１をペグ穴４０２に挿入し、ペグ４０１の先端がペグ穴４０２の奥の底面に接触し、教示動作を終了した時点である。図３５の（ｂ）Ｂの図３４Ｆと示す（参照符号Ｆ）時点より、挿入方向の力の大きさが閾値１．０Ｎを下回っていることが力情報取得部１０７を介して作業区間特定部１０９により確認でき、作業区間特定部１０９において、作業区間情報記憶部１０８内の図８の作業区間情報を参照して、「作業区間番号５」であると特定する。誘導情報記憶部１１０内の図１３の誘導情報では、「作業区間番号５」においては「誘導情報４」を適用すると記憶している。よって、第１実施形態で述べた方法で挿入方向に、操作者によるロボットアーム１０２の移動動作を誘導する。
【０２２３】
以上のような手順で、操作者によるロボットアーム１０２の移動動作を誘導するように教示する。
【０２２４】
＜再生モードの説明＞
次に、上述した方法で教示して得られた教示データを再生する手順を示す。ここでは、上述したように誘導情報を適用するように、操作者によるロボットアーム１０２の移動動作を誘導して教示データを生成したため、教示データを単純に再生することで、ペグ穴４０２において環境変動が生じる場合においても、ペグ４０１のペグ穴４０２への挿入作業を成功させることができる。
【０２２５】
図３６Ａ〜図３６Ｆを用いて説明する。図３６Ａ〜図３６Ｆは、順に、教示データを基にロボットアーム１０２を再生する手順を示す。ここでは、モード切替部１１２は、「再生モード」を選択している。再生の際に、図３６Ａの時点で、操作者により入出力ＩＦ１１６の開始ボタンが押下され、図３６Ｆの時点で、操作者により入出力ＩＦ１１６の終了ボタンが押下される。
【０２２６】
図３６Ａは、ロボットアーム１０２が再生を開始した時点である。この時点では、ロボットアーム１０２のハンド１６０１に把持したペグ４０１はペグ穴４０２及びペグ穴４０２の上面４０２ａとは接触していない。
【０２２７】
次いで、図３６Ｂは、ロボットアーム１０２のハンド１６０１に把持したペグ４０１がペグ穴４０２の入り口に到達した時点である。教示時に、挿入方向に３．０Ｎを上回るように、操作者によるロボットアーム１０２の移動動作が誘導されているので、ペグ穴４０２の位置が、挿入方向の奥側に位置するように（図２０Ａの矢印Ｙ方向に）変動していても（図２０Ａ参照）、また横方向に近くなるように変動していても（図２０Ｂ参照）、ペグ４０１をペグ穴４０２に挿入することができる。
【０２２８】
次いで、図３６Ｃは、ロボットアーム１０２のハンド１６０１に把持したペグ４０１の側面４０１ｂがペグ穴４０２の角部４０２ｂに接触した時点である。教示時に、ペグ４０１の対向面４０１ａとペグ穴４０２の上面４０２ａとで形成する角度αが所定の角度を維持しつつ横方向の力の大きさが３．０Ｎを上回るように、操作者によるロボットアーム１０２の移動動作が誘導されているので、ペグ穴４０２の位置が横方向に遠くなるように変動していても（図２０Ｃ参照）、ペグ４０１の側面４０１ｂをペグ穴４０２の角部４０２ｂに接触させることができる。
【０２２９】
次いで、図３６Ｄは、ロボットアーム１０２のハンド１６０１に把持したペグ４０１の側面４０１ｂをペグ穴４０２の角部４０２ｂに接触させながら、ペグ４０１を起こしている時点である。
【０２３０】
次いで、図３６Ｅは、ロボットアーム１０２のハンド１６０１に把持したペグ４０１の側面４０１ｂをペグ穴４０２の角部４０２ｂに接触させながら、ペグ４０１を起こして、ペグ４０１の軸方向とペグ穴４０２の軸方向がほぼ一致した時点である。
【０２３１】
次いで、図３６Ｆは、ロボットアーム１０２が再生を終了した時点である。この時点では、ロボットアーム１０２のハンド１６０１に把持したペグ４０１をペグ穴４０２に挿入し、ペグ４０１の先端がペグ穴４０２の奥の底面に接触し、再生動作を終了した時点である。教示時に挿入方向に３．０Ｎを上回るように、操作者によるロボットアーム１０２の移動動作が誘導されているので、ペグ穴４０２の穴の深さが深くなるように（図２０ＤのＹ方向に）変動していても（図２０Ｄ参照）、ペグ４０１の挿入を完了することができる。
【０２３２】
以上のように、教示データを取得する際に誘導情報を適用するように、操作者によるロボットアーム１０２の移動動作を誘導することによって、再生の際に環境変動があった場合においても、作業を完了することができる。
【０２３３】
第４実施形態のロボットアーム１０２の制御装置１０３Ｄの操作手順を図３７のフローチャートを用いて説明する。
【０２３４】
まず、ステップＳ２１０１では、動作情報取得部１０６において動作情報を取得し、力情報取得部１０７において力情報を取得し、ステップＳ２１０２に進む。
【０２３５】
次いで、ステップＳ２１０２では、モード切替部１１２において、「教示モード」が選択された場合はステップＳ３７０１に進み、「再生モード」が選択された場合はステップＳ２１０７に進む。
【０２３６】
ステップＳ３７０１では、作業区間特定部１０９において、作業区間情報記憶部１０８から取得した作業区間情報を基に、ロボットアーム操作時の複数の作業区間を特定し、ステップＳ３７０２に進む。
【０２３７】
次いで、ステップＳ３７０２では、誘導適用情報生成部１１１において、動作情報取得部１０６から取得した動作情報と時間情報と、力情報取得部１０７から取得した力情報と時間情報とを基に複数の作業区間の誘導適用情報を生成し、誘導情報記憶部１１０から複数の作業区間の誘導情報と誘導適用情報とを制御方法切替部３３０１に出力し、ステップＳ３７０３に進む。
【０２３８】
次いで、ステップＳ３７０３では、制御方法切替部３３０１において、動作情報取得部１０６から取得した動作情報と時間情報と、力情報取得部１０７から取得した力情報と時間情報と、作業区間特定部１０９から取得した現在（ロボットアーム操作時）の作業区間番号情報と時間情報と、誘導情報記憶部１１０から取得した誘導情報と誘導適用情報と時間情報と、モード切替部１１２から取得したモード情報と、制御方法情報記憶部１１３から取得した制御方法情報とに基づき、ロボットアーム操作時の複数の作業区間の誘導適用情報を満たすように、制御方法情報記憶部１１３から取得した制御方法に切り替え、切り替えた制御方法によって、制御部１１５により、操作者によるロボットアーム１０２の移動動作を誘導する。次に、ステップＳ２１０６に進む。
【０２３９】
次いで、ステップＳ２１０６では、制御方法切替部３３０１において、教示時に取得した動作情報及び力情報を制御方法切替部３３０１の内部の記憶部に記憶する。
【０２４０】
一方、ステップＳ２１０７では、制御部１１５において、教示時に取得して制御方法切替部３３０１の内部の記憶部に記憶された動作情報を再生する。
【０２４１】
第４実施形態によれば、教示時において、教示時に操作者が様々な挿入方法で挿入した場合においても、複数の作業区間の誘導適用情報を満たすように操作者によるロボットアーム１０２の移動動作を誘導することによって、様々な挿入方法に対応することができる。
【０２４２】
なお、各実施形態において、動作情報取得部１０６と、力情報取得部１０７と、作業区間情報取得部１０８と、作業区間特定部１０９と、誘導情報取得部１１０と、制御方法情報取得部１１３と、制御部１１５と（あるいは、さらに、制御方法切替部１１４又は誘導適用情報生成部１１１）などのそれぞれ、又は、そのうちの任意の一部は、それ自体がソフトウェアで構成することができる。よって、例えば、本願明細書のそれぞれの実施形態の制御動作を構成するステップを有するコンピュータプログラムとして、記憶装置（ハードディスク等）などの記録媒体に読み取り可能に記憶させ、そのコンピュータプログラムをコンピュータの一時記憶装置（半導体メモリ等）に読み込んでＣＰＵを用いて実行することにより、前記した各ステップを実行することができる。
【０２４３】
なお、上記様々な実施形態又は変型例のうちの任意の実施形態又は変型例を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
【産業上の利用可能性】
【０２４４】
本発明にかかるロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、ロボットアームの制御用集積電子回路は、教示時に誘導情報を適用する条件を生成し、その条件を満たすように教示動作を誘導することによって、再生時に環境変動などが生じた場合においても作業を達成することができ、産業用ロボット又は生産設備などにおける可動機構のロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、ロボットアームの制御用集積電子回路として有用である。また、本発明にかかるロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、ロボットアームの制御用集積電子回路は、産業用ロボットに限らず、家庭用ロボットのロボットアーム、ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、ロボットアームの制御用集積電子回路として適用される可能性もある。
【符号の説明】
【０２４５】
１０１、１０１Ｂ、１０１Ｃ、１０１Ｄ  ロボット
１０２  ロボットアーム
１０３、１０３Ｂ、１０３Ｃ、１０３Ｄ  ロボットアームの制御装置
１０４、１０４Ｂ、１０４Ｃ、１０４Ｄ  制御装置
１０５  周辺装置
１０６  動作情報取得部
１０７  力情報取得部
１０８  作業区間情報記憶部
１０９  作業区間特定部
１１０  誘導情報記憶部
１１１  誘導適用情報生成部
１１２  モード切替部
１１３  制御方法情報記憶部
１１４  制御方法切替部
１１５  制御部
１１６  入出力ＩＦ
１１７  モータドライバ
３９９  保持部材
４００  物体
４０１  ペグ
４０１ａ  ペグ穴対向面
４０１ｂ  角部
４０１ｃ  角部
４０２  ペグ穴
４０２ａ  上面
４０２ｂ  側面
４０２ｃ  角部
４０２ｄ  内周面
１４０１  操作者の手
１４０２  前腕リンク用力センサ
１６０１  ハンド
１６０２  手首部
１６０３  前腕リンク
１６０４  上腕リンク
１６０５  台座
１６０６  第１関節部
１６０７  第２関節部
１６０８  第３関節部
１６０９  第４関節部
１６１０  第５関節部
１６１１  第６関節部
１６１２  絶対座標系
１６１３  手先座標系
１６１４  モータ
１６１５  エンコーダ
１６１６  力センサ
２１０１  キャップ
２１０２  配管
２５０１  マスタロボット
２５０２  マスタロボットアーム
２５０３  マスタロボットアームの制御装置
２５０４  マスタ制御装置
２５０５  マスタ周辺装置
２５０６  マスタ動作情報取得部
２５０７  マスタ力情報生成部
２５０８  マスタ制御部
２５０９  マスタ入出力ＩＦ
２５１０  マスタモータドライバ
２５１１  制御方法情報記憶部
３００１  制御方法情報記憶部
３３０１  制御方法切替部
【図１Ａ】
2013111684.tif 000003
【図１Ｂ】
2013111684.tif 000004
【図２】
2013111684.tif 000005
【図３】
2013111684.tif 000006
【図４】
2013111684.tif 000007
【図５Ａ】
2013111684.tif 000008
【図５Ｂ】
2013111684.tif 000009
【図５Ｃ】
2013111684.tif 000010
【図５Ｄ】
2013111684.tif 000011
【図５Ｅ】
2013111684.tif 000012
【図６】
2013111684.tif 000013
【図７】
2013111684.tif 000014
【図８】
2013111684.tif 000015
【図９】
2013111684.tif 000016
【図１０】
2013111684.tif 000017
【図１１Ａ】
2013111684.tif 000018
【図１１Ｂ】
2013111684.tif 000019
【図１１Ｃ】
2013111684.tif 000020
【図１１Ｄ】
2013111684.tif 000021
【図１１Ｅ】
2013111684.tif 000022
【図１１Ｆ】
2013111684.tif 000023
【図１２Ａ】
2013111684.tif 000024
【図１２Ｂ】
2013111684.tif 000025
【図１２Ｃ】
2013111684.tif 000026
【図１２Ｄ】
2013111684.tif 000027
【図１３】
2013111684.tif 000028
【図１４】
2013111684.tif 000029
【図１５】
2013111684.tif 000030
【図１６】
2013111684.tif 000031
【図１７Ａ】
2013111684.tif 000032
【図１７Ｂ】
2013111684.tif 000033
【図１７Ｃ】
2013111684.tif 000034
【図１７Ｄ】
2013111684.tif 000035
【図１７Ｅ】
2013111684.tif 000036
【図１７Ｆ】
2013111684.tif 000037
【図１７Ｇ】
2013111684.tif 000038
【図１７Ｈ】
2013111684.tif 000039
【図１８】
2013111684.tif 000040
【図１９Ａ】
2013111684.tif 000041
【図１９Ｂ】
2013111684.tif 000042
【図１９Ｃ】
2013111684.tif 000043
【図１９Ｄ】
2013111684.tif 000044
【図１９Ｅ】
2013111684.tif 000045
【図１９Ｆ】
2013111684.tif 000046
【図１９Ｇ】
2013111684.tif 000047
【図１９Ｈ】
2013111684.tif 000048
【図２０Ａ】
2013111684.tif 000049
【図２０Ｂ】
2013111684.tif 000050
【図２０Ｃ】
2013111684.tif 000051
【図２０Ｄ】
2013111684.tif 000052
【図２１】
2013111684.tif 000053
【図２２】
2013111684.tif 000054
【図２３】
2013111684.tif 000055
【図２４】
2013111684.tif 000056
【図２５】
2013111684.tif 000057
【図２６】
2013111684.tif 000058
【図２７Ａ】
2013111684.tif 000059
【図２７Ｂ】
2013111684.tif 000060
【図２８Ａ】
2013111684.tif 000061
【図２８Ｂ】
2013111684.tif 000062
【図２９】
2013111684.tif 000063
【図３０】
2013111684.tif 000064
【図３１】
2013111684.tif 000065
【図３２】
2013111684.tif 000066
【図３３】
2013111684.tif 000067
【図３４Ａ】
2013111684.tif 000068
【図３４Ｂ】
2013111684.tif 000069
【図３４Ｃ】
2013111684.tif 000070
【図３４Ｄ】
2013111684.tif 000071
【図３４Ｅ】
2013111684.tif 000072
【図３４Ｆ】
2013111684.tif 000073
【図３５】
2013111684.tif 000074
【図３６Ａ】
2013111684.tif 000075
【図３６Ｂ】
2013111684.tif 000076
【図３６Ｃ】
2013111684.tif 000077
【図３６Ｄ】
2013111684.tif 000078
【図３６Ｅ】
2013111684.tif 000079
【図３６Ｆ】
2013111684.tif 000080
【図３７】
2013111684.tif 000081