説明

ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、ロボットアームの制御用集積電子回路

【課題】ロボットアームを自動再生させる際に、教示時と比較して環境変動が生じる場合、環境変動分の誤差に対応することができるロバストな軌道を生成するロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路を提供する。
【解決手段】ロボットアーム102の制御装置であって、誘導情報を適用できる条件を生成し、その条件を満たすように教示動作を誘導することによって、ロバストな軌道を生成するロボットアーム102の制御装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットの動作を生成及び教示するためのロボットアームの制御装置および制御方法、ロボットアームの制御装置を有するロボット、ロボットアームの制御プログラム、ロボットアームの制御用集積電子回路に関する。
【背景技術】
【0002】
近年、製造現場では多品種少量生産のためモデルチェンジが頻繁に起こるため、セル生産が盛んに行われている。ネジ締め作業若しくは部品の嵌合作業、装着作業、フレキシブル基板などの挿入作業、又は、研磨作業などをロボットにより自動化するためには、多種多様な部品又は作業手順に柔軟に対応する必要がある。部品が変わるごとに組み立てる位置又は向きなどが変わり、作業を行う順番も変わるので、それらの変化に対応する必要がある。また、同じ部品であっても個体差による誤差が生じる場合があり、その誤差への対応も重要となる。このような環境変動が生じた場合に対するロバスト性は、ロボットの自動化を行う上で大変重要な問題である。
【0003】
このような環境変動に対して、画像撮像装置(視覚センサ)などのセンサ類を用い、再生時における教示時との誤差を計測し、計測した誤差分を修正して再生することで、対応している(特許文献1参照)。
【0004】
また、環境変動に対して、操作者の経験により得られた勘又はコツをロボットに移し、対応する方法が用いられている。パワーアシスト装置では、操作者のコツが必要な作業区間において操作者が作業に介在することによって環境変動に対応している(特許文献2参照)。
【0005】
一方で、従来、ティーチングペンダント又はプログラミングを用いて、ロボットに作業を教示する方法が用いられている。しかしながら、それらの方法により教示を行うと、ロボットの複数の関節を同時に動かすような、複雑な動きが必要な作業は、教示できないこともあり、操作者のコツを活かすことが難しい。このため、ロボットを触って教示するダイレクトティーチングを用いて、簡単に教示する方法が用いられることがある。ダイレクトティーチングでは、直感的な操作ができること、又は、ロボットが対象物に接触した際に、物理的な反力を作業する操作者が感じることによって、反力に応じた操作ができる(特許文献3参照)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平9−325806号公報
【特許文献2】特開2009−34754号公報
【特許文献3】特開昭59−157715号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1においては、視覚センサなどを用いており、センシング誤差が生じる場合は環境変動に対して対応できない場合がある。また、センサ類を多く用いることによってコストが高くなる。
【0008】
特許文献2においては、作業区間によって操作者の介在度を変化させるパワーアシスト装置であり、操作者が介在する場合においては環境変動に対応するが、ロボットが自動再生を行う場合における環境変動への対応はできない。
【0009】
特許文献3においては、再生時に視覚センサなどで環境変動を計測していない。また、操作者のコツをロボットに移すことも行っていない。そのため、再生時に環境変動が生じた場合は、その環境変動に対応することができない。
【0010】
本発明の目的は、このような課題に鑑みてなされたものであり、再生時において教示時と比較して環境が変動する場合、センシング誤差などが生じても、正確に環境変動に対応し、再生動作を達成することができる、ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、ロボットアームの制御用集積電子回路を提供することにある。
【課題を解決するための手段】
【0011】
前記の目的を達成するために、本発明は以下のように構成する。
【0012】
本発明の1つの態様によれば、操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御装置において、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも1つ以上の動作情報を取得する動作情報取得部と、
前記ロボットアームに外部から加えられた力情報を取得する力情報取得部と、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を取得する作業区間情報取得部と、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも1つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を特定する作業区間特定部と、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を取得する誘導情報取得部と、
前記ロボットアームの制御方法の情報である制御方法情報を取得する制御方法情報取得部と、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御する制御部とを備えるロボットアームの制御装置を提供する。
【0013】
本発明の別の態様によれば、前記ロボットアームと、
前記ロボットアームを制御する前記態様に記載の前記ロボットアームの制御装置とを備えるロボットを提供する。
【0014】
本発明のさらに別の態様によれば、操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御方法において、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも1つ以上の動作情報を動作情報取得部で取得し、
前記ロボットアームに外部から加えられた力情報を力情報取得部で取得し、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を作業区間情報取得部で取得し、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも1つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を作業区間特定部で特定し、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を誘導情報取得部で取得し、
前記ロボットアームの制御方法の情報である制御方法情報を制御方法情報取得部で取得し、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御部で制御する、ロボットアームの制御方法を提供する。
【0015】
本発明のさらに別の態様によれば、操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御プログラムにおいて、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも1つ以上の動作情報を動作情報取得部で取得するステップと、
前記ロボットアームに外部から加えられた力情報を力情報取得部で取得するステップと、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を作業区間情報取得部で取得するステップと、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも1つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を作業区間特定部で特定するステップと、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を誘導情報取得部で取得するステップと、
前記ロボットアームの制御方法の情報である制御方法情報を制御方法情報取得部で取得するステップと、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御部で制御するステップとをコンピュータに実行させるための、ロボットアームの制御プログラムを提供する。
【0016】
本発明のさらに別の態様によれば、操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御方法において、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも1つ以上の動作情報を動作情報取得部で取得し、
前記ロボットアームに外部から加えられた力情報を力情報取得部で取得し、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を作業区間情報取得部で取得し、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも1つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を作業区間特定部で特定し、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を誘導情報取得部で取得し、
前記ロボットアームの制御方法の情報である制御方法情報を制御方法情報取得部で取得し、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御部で制御する、ロボットアームの制御用集積電子回路を提供する。
【発明の効果】
【0017】
本発明のロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、ロボットアームの制御用集積電子回路によれば、教示時に誘導情報を適用する条件を生成し、その条件を満たすように教示動作を誘導することによって、再生時に環境変動が生じた場合又はセンシング誤差などが生じても、正確に環境変動分の誤差に対応して所望の作業を達成することができる。
【図面の簡単な説明】
【0018】
【図1A】本発明の第1実施形態のロボットのブロック図。
【図1B】本発明の第1実施形態のロボットにおける入出力IFのブロック図。
【図2】本発明の第1実施形態のロボットにおける動作情報のデータを示す図。
【図3】本発明の第1実施形態のロボットにおける力情報のデータを示す図。
【図4】本発明の第1実施形態のロボットにおけるペグとペグ穴の説明図。
【図5A】本発明の第1実施形態のロボットにおけるペグをペグ穴に挿入する軌跡を説明する説明図。
【図5B】本発明の第1実施形態のロボットにおけるペグをペグ穴に挿入する軌跡を説明する説明図。
【図5C】本発明の第1実施形態のロボットにおけるペグをペグ穴に挿入する軌跡を説明する説明図。
【図5D】本発明の第1実施形態のロボットにおけるペグをペグ穴に挿入する軌跡を説明する説明図。
【図5E】本発明の第1実施形態のロボットにおけるペグをペグ穴に挿入する軌跡を説明する説明図。
【図6】本発明の第1実施形態のロボットにおけるペグをペグ穴に挿入する軌跡の作業区間の説明図。
【図7】本発明の第1実施形態のロボットにおける作業区間情報の説明図。
【図8】本発明の第1実施形態のロボットにおける作業区間情報のデータを示す図。
【図9】本発明の第1実施形態のロボットにおける作業区間情報の作業者及び対象作業ごとのデータを示す図。
【図10】本発明の第1実施形態のロボットにおける誘導情報の説明図。
【図11A】本発明の第1実施形態のロボットにおける誘導情報の効果の説明図。
【図11B】本発明の第1実施形態のロボットにおける誘導情報の効果の説明図。
【図11C】本発明の第1実施形態のロボットにおける誘導情報の効果の説明図。
【図11D】本発明の第1実施形態のロボットにおける誘導情報の効果の説明図。
【図11E】本発明の第1実施形態のロボットにおける誘導情報の効果の説明図。
【図11F】本発明の第1実施形態のロボットにおける誘導情報の効果の説明図。
【図12A】本発明の第1実施形態のロボットにおける誘導適用情報の生成方法の説明図。
【図12B】本発明の第1実施形態のロボットにおける誘導適用情報の生成方法の説明図。
【図12C】本発明の第1実施形態のロボットにおける誘導適用情報の生成方法の説明図。
【図12D】本発明の第1実施形態のロボットにおける誘導適用情報の生成方法の説明図。
【図13】本発明の第1実施形態のロボットにおける誘導情報、誘導適用情報のデータを示す図。
【図14】本発明の第1実施形態のロボットにおけるロボットアームの操作方法の説明図。
【図15】本発明の第1実施形態のロボットにおける制御方法情報のデータを示す図。
【図16】本発明の第1実施形態のロボットにおけるロボットアーム及び制御装置本体部の一部の説明図。
【図17A】本発明の第1実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図17B】本発明の第1実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図17C】本発明の第1実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図17D】本発明の第1実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図17E】本発明の第1実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図17F】本発明の第1実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図17G】本発明の第1実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図17H】本発明の第1実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図18】(a)〜(c)は、それぞれ、本発明の第1実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作時の挿入方向位置のグラフ、挿入方向力のグラフ、及び、横方向力のグラフ。
【図19A】本発明の第1実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図19B】本発明の第1実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図19C】本発明の第1実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図19D】本発明の第1実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図19E】本発明の第1実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図19F】本発明の第1実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図19G】本発明の第1実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図19H】本発明の第1実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図20A】本発明の第1実施形態のロボットにおけるロボットアームのペグはめ作業の環境変動状態の説明図。
【図20B】本発明の第1実施形態のロボットにおけるロボットアームのペグはめ作業の環境変動状態の説明図。
【図20C】本発明の第1実施形態のロボットにおけるロボットアームのペグはめ作業の環境変動状態の説明図。
【図20D】本発明の第1実施形態のロボットにおけるロボットアームのペグはめ作業の環境変動状態の説明図。
【図21】本発明の第1実施形態のロボットにおけるキャップを配管の凸部に挿入する軌跡の作業区間の説明図。
【図22】本発明の第1実施形態のロボットにおける誘導情報の説明図。
【図23】本発明の第1実施形態のロボットにおける誘導情報及び誘導適用情報のデータを示す図。
【図24】本発明の第1実施形態のロボットの制御装置の操作手順におけるフローチャート。
【図25】本発明の第2実施形態のロボットのブロック図。
【図26】本発明の第2実施形態のロボットにおける制御方法情報のデータを示す図。
【図27A】本発明の第2実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図27B】本発明の第2実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図28A】本発明の第2実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図28B】本発明の第2実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図29】本発明の第2実施形態のロボットの制御装置の操作手順におけるフローチャート。
【図30】本発明の第3実施形態のロボットのブロック図。
【図31】本発明の第3実施形態のロボットにおける制御方法情報のデータを示す図。
【図32】本発明の第3実施形態のロボットの制御装置の操作手順におけるフローチャート。
【図33】本発明の第4実施形態のロボットのブロック図。
【図34A】本発明の第4実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図34B】本発明の第4実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図34C】本発明の第4実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図34D】本発明の第4実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図34E】本発明の第4実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図34F】本発明の第4実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作の説明図。
【図35】(a)〜(c)は、それぞれ、本発明の第4実施形態のロボットにおけるロボットアームのペグはめ作業の教示動作時の挿入方向位置のグラフ、挿入方向力のグラフ、及び、横方向力のグラフ。
【図36A】本発明の第4実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図36B】本発明の第4実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図36C】本発明の第4実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図36D】本発明の第4実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図36E】本発明の第4実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図36F】本発明の第4実施形態のロボットにおけるロボットアームのペグはめ作業の再生動作の説明図。
【図37】本発明の第4実施形態のロボットの制御装置の操作手順におけるフローチャート。
【発明を実施するための形態】
【0019】
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する。
【0020】
以下、図面を参照して本発明における実施形態を詳細に説明する前に、本発明の種々の態様について説明する。
【0021】
本発明の第1態様によれば、操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御装置において、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも1つ以上の動作情報を取得する動作情報取得部と、
前記ロボットアームに外部から加えられた力情報を取得する力情報取得部と、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を取得する作業区間情報取得部と、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも1つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を特定する作業区間特定部と、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を取得する誘導情報取得部と、
前記ロボットアームの制御方法の情報である制御方法情報を取得する制御方法情報取得部と、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御する制御部とを備えるロボットアームの制御装置を提供する。
【0022】
本発明の第2態様によれば、前記作業区間特定部から取得した作業区間情報と前記誘導情報取得部から取得した誘導情報とを基に、ロボットアーム操作時の作業区間における前記誘導情報に基づいて、前記操作者による前記ロボットアームの移動動作を誘導するように、前記制御方法を、前記制御方法取得部から取得した前記制御方法情報に従い、切り替える制御方法切替部をさらに備えて、
前記制御部は、前記制御方法切替部から取得した前記制御方法に基づいて前記ロボットアームを制御する、第1の態様に記載のロボットアームの制御装置を提供する。
【0023】
本発明の第3態様によれば、前記誘導情報は、前記作業区間毎に前記対象物を前記被対象物に対して、前記操作者による前記ロボットアームの移動動作を誘導するための情報であって、前記制御部は、前記誘導情報により前記ロボットアームが所定の動作を行うように動作させる、第1又は2の態様に記載のロボットアームの制御装置を提供する。
【0024】
本発明の第4態様によれば、前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報と前記誘導情報取得部から取得した前記誘導情報とを基に、誘導適用情報を生成する誘導適用情報生成部をさらに備えて、
前記誘導適用情報生成部で生成された前記誘導適用情報を満たすように、前記制御方法切替部から取得した制御方法によって、前記制御部が、前記操作者による前記ロボットアームの移動動作を誘導する、第1〜3のいずれか1つの態様に記載のロボットアームの制御装置を提供する。
【0025】
本発明の第5態様によれば、前記誘導情報取得部において、
第1の誘導情報として、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に近づける区間において、前記対象物の前記嵌め合わせ部と前記被対象物の前記被嵌め合わせ部とを近づけるように、前記操作者による前記ロボットアームの移動動作を誘導する情報と、
第2の誘導情報として、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に接触させながらさらに近づける区間において、前記対象物を前記被対象物に対して所定の角度で近づけるように、前記操作者による前記ロボットアームの移動動作を誘導する情報と、
第3の誘導情報として、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に到達させた区間において、前記対象物の前記嵌め合わせ部と前記被対象物の前記被嵌め合わせ部とのうちのいずれか一方の部材の側面をいずれか他方の部材の角部に接触させるように、前記操作者による前記ロボットアームの移動動作を誘導する情報と、
第4の誘導情報として、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部とを嵌め合わせる区間において、前記対象物の前記嵌め合わせ部と前記被対象物の前記被嵌め合わせ部とを他の区間よりも強く接触させるように、前記操作者による前記ロボットアームの移動動作を誘導する情報とのうちで、少なくとも1つ以上の誘導情報を取得し、
前記誘導適用情報生成部において、
前記誘導情報取得部から取得した前記第1の誘導情報に基づいて、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に近づける区間において、前記対象物の前記嵌め合わせ部と前記被対象物の前記被嵌め合わせ部とが接触する際の反力を前記力情報取得部で第1の閾値を越える大きさで取得する情報と、
前記誘導情報取得部から取得した前記第2の誘導情報に基づいて、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に近づける区間において、前記力情報取得部で取得した反力の方向に対して第2の閾値より小さい角度を維持する情報と、
前記誘導情報取得部から取得した前記第3の誘導情報に基づいて、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に到達させた区間において、嵌め合わせ方向と前記嵌め合わせ方向と直交する方向とに前記力情報取得部で第3の閾値を越える大きさの反力を取得する情報と、
前記誘導情報取得部から取得した前記第4の誘導情報に基づいて、前記対象物の前記嵌め合わせ部と前記被対象物の前記被嵌め合わせ部とが接触する区間において、前記力情報取得部で取得した力の大きさが第4の閾値を越える大きさであるという情報とのうちで少なくとも1つ以上の情報を生成する第4の態様に記載のロボットアームの制御装置を提供する。
【0026】
本発明の第6態様によれば、前記制御方法情報取得部において、
(I)前記誘導情報に基づく所定の方向に前記ロボットアームを移動させるように前記ロボットアームのゲインを変化させる制御方法情報と、
(II)前記誘導情報に基づく所定の方向に前記ロボットアームを移動させるように制御を行う制御方法情報と、
のいずれか1つ以上の前記制御方法情報を取得し、
前記制御方法切替部において、前記誘導適用情報を満たすために、前記操作者による前記ロボットアームの移動動作を誘導するよう前記制御方法情報取得部で取得した前記制御方法情報を切り替えて、前記制御部で前記ロボットアームを制御する第5の態様に記載のロボットアームの制御装置を提供する。
【0027】
本発明の第7態様によれば、前記制御方法情報取得部において、前記(I)〜(II)の制御方法情報に対応して、
(I)前記操作者による前記ロボットアームの移動動作を誘導する方向の前記ロボットアームのゲインを大きくする制御方法情報と、
(II)前記操作者による前記ロボットアームの移動動作を誘導する方向の軸方向は自動制御を行う制御方法情報と、
(III)前記操作者による前記ロボットアームの移動動作を誘導する方向と逆方向から反力を提示する制御方法情報と、
の前記制御方法情報を取得し、
前記制御方法切替部において、前記誘導適用情報を満たすために、前記操作者による前記ロボットアームの移動動作を所定の方向に誘導するよう前記制御方法情報取得部で取得した前記制御方法情報を切り替えて、前記制御部で前記ロボットアームを制御する第6の態様に記載のロボットアームの制御装置を提供する。
【0028】
本発明の第8態様によれば、前記制御方法情報取得部において、
前記対象物と前記被対象物とが接触する際に、提示する力の大きさを実際の大きさよりも小さく提示する制御方法情報を取得し、
前記制御方法切替部において、前記対象物と前記被対象物とが接触する際に、前記誘導適用情報を満たすために、前記操作者による前記ロボットアームの移動動作を所定の方向に誘導するよう前記制御方法情報取得部で取得した前記制御方法情報を切り替えて、前記制御部で前記ロボットアームを制御する第5の態様に記載のロボットアームの制御装置を提供する。
【0029】
本発明の第9態様によれば、前記制御方法情報取得部において、
前記操作者による前記ロボットアームの移動動作を誘導する方向と逆の方向には前記ロボットアームを移動しにくくなるように制御する制御方法情報を取得し、
前記制御方法切替部において、前記誘導適用情報を満たすために、前記操作者による前記ロボットアームの移動動作を所定の方向と逆の方向に誘導しないよう前記制御方法情報取得部で取得した前記制御方法情報を切り替えて、前記制御部で前記ロボットアームを制御する第5のロボットアームの制御装置を提供する。
【0030】
本発明の第10態様によれば、前記作業区間特定部において、ロボットアーム操作時の区間が複数の区間であると特定された場合は、
前記誘導情報取得部から複数の誘導情報を取得し、
前記誘導適用情報生成部において、前記誘導情報取得部から取得した複数の誘導情報を基に複数の誘導適用情報を生成し、
前記制御方法切替部において、前記誘導適用情報生成部から取得した複数の誘導適用情報に基づいて、前記操作者による前記ロボットアームの移動動作を誘導するよう前記制御方法情報取得部で取得した前記制御方法情報を切り替えて、前記制御部で前記ロボットアームを制御する第5の態様に記載のロボットアームの制御装置を提供する。
【0031】
本発明の第11態様によれば、前記ロボットアームと、
前記ロボットアームを制御する第1〜10のいずれか1つの態様に記載の前記ロボットアームの制御装置とを備えるロボットを提供する。
【0032】
本発明の第12態様によれば、操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御方法において、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも1つ以上の動作情報を動作情報取得部で取得し、
前記ロボットアームに外部から加えられた力情報を力情報取得部で取得し、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を作業区間情報取得部で取得し、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも1つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を作業区間特定部で特定し、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を誘導情報取得部で取得し、
前記ロボットアームの制御方法の情報である制御方法情報を制御方法情報取得部で取得し、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御部で制御する、ロボットアームの制御方法を提供する。
【0033】
本発明の第13態様によれば、 操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御プログラムにおいて、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも1つ以上の動作情報を動作情報取得部で取得するステップと、
前記ロボットアームに外部から加えられた力情報を力情報取得部で取得するステップと、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を作業区間情報取得部で取得するステップと、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも1つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を作業区間特定部で特定するステップと、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を誘導情報取得部で取得するステップと、
前記ロボットアームの制御方法の情報である制御方法情報を制御方法情報取得部で取得するステップと、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御部で制御するステップとをコンピュータに実行させるための、ロボットアームの制御プログラムを提供する。
【0034】
本発明の第14態様によれば、操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御方法において、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも1つ以上の動作情報を動作情報取得部で取得し、
前記ロボットアームに外部から加えられた力情報を力情報取得部で取得し、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を作業区間情報取得部で取得し、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも1つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を作業区間特定部で特定し、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を誘導情報取得部で取得し、
前記ロボットアームの制御方法の情報である制御方法情報を制御方法情報取得部で取得し、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御部で制御する、ロボットアームの制御用集積電子回路を提供する。
【0035】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【0036】
(第1実施形態)
図1Aは、本発明の第1実施形態における、ロボット101のブロック図を示す。ロボット101は、ロボットアーム102と、ロボットアーム102の制御装置103とで構成されている。ロボットアーム102の詳しい構造については後述する。
【0037】
<ロボットアームの制御装置の説明>
ロボットアーム102の制御装置103は、制御装置本体部104と、周辺装置105とで構成されている。
【0038】
<制御装置本体部の説明>
制御装置本体部104は、動作情報取得部106と、力情報取得部107と、作業区間情報取得部の一例としての作業区間情報記憶部108と、作業区間特定部109と、誘導情報取得部の一例としての誘導情報記憶部110と、誘導適用情報生成部111と、モード切替部112と、制御方法情報取得部の一例としての制御方法情報記憶部113と、制御方法切替部114と、制御部115とを備える。
【0039】
周辺装置105は、入出力IF(インターフェース)116と、モータドライバ117とを備える。
【0040】
動作情報取得部106は、動作情報として、入出力IF116からロボットアーム102の位置情報及び姿勢情報と、入出力IF116に内蔵されたタイマーからの時間情報とが入力される。また、動作情報取得部106は、入出力IF116から取得した位置情報及び姿勢情報を時間情報で微分することによって、速度情報及び角速度情報を取得する。図2は、動作情報取得部106で取得する時間情報と、位置情報と、姿勢情報と、速度情報と、角速度情報とを示す。動作情報取得部106は、取得したロボットアーム102の位置情報と、姿勢情報と、速度情報と、角速度情報と、時間情報とを、作業区間特定部109と、誘導適用情報生成部111と、制御方法切替部114とに出力する。
【0041】
力情報取得部107は、ロボットアーム102が動作する際に生じる周辺環境に関する力情報を取得する。具体的には、力情報取得部107には、後述するハンド用力センサ1616(図16参照)の測定値の情報が、力情報として、入出力IF116から入力される。また、力情報取得部107には、入出力IF116に内蔵されたタイマーからの時間情報が入力される。力情報は、ロボットアーム102に取り付けられたハンド用力センサ1616の値であり、ロボットアーム102が対象物と接触した際に生じる反力の大きさを示す。図3は、力情報取得部107で取得する時間情報と、力情報とを示す。力情報取得部107は、力情報と、時間情報とを、作業区間特定部109と、誘導適用情報生成部111と、制御方法切替部114とに出力する。
【0042】
作業区間情報記憶部108は、ロボットアーム102が行う、対象物の嵌め合わせ部と被対象物の被嵌め合わせ部との嵌め合わせ作業、例えば、挿入作業において、複数に分割された作業区間と、分割されたそれぞれの作業区間に該当する条件(詳細は後述する。)とを表す作業区間情報を記憶する。
【0043】
ここで、挿入作業の一例として、ペグはめ(圧入)作業を用いて説明する。ペグはめ作業とは、図4に示す対象物の一例であるペグ401を、被対象物の一例である物体400のペグ穴402に挿入する作業である。すなわち、ペグ穴402を有する物体400は、保持部材399で固定されており、後述するロボットアーム102のハンド1601に把持したペグ401の先端部(嵌め合わせ部の一例)を物体400のペグ穴(被嵌め合わせ部の一例)402に挿入する作業である。具体的な実例での大きさは、図4中のペグ401の長さLが35.0mm、幅Wが20.00mm、ペグ穴402の深さDが20.0mm、幅Wが20.0mmである。また、ペグ穴402の挿入方向をy軸とし、挿入方向と直交する横方向(ペグ穴402の上面沿いの方向)をx軸とする。
【0044】
ペグ401をペグ穴402に挿入する軌跡は、図5A〜図5Eに示すように様々な軌跡がある。これらの軌跡において一連の挿入作業を作業区間に区切ることができる。例えば、図5Aと図5Bと図5Dについて、代表的に詳細に説明する。
【0045】
図5Aの(a)では、ペグ401をペグ穴402の開口に対向する位置まで移動させる。次いで、図5Aの(b)では、ペグ401をペグ穴402に概略位置決めしたのち、ペグ401をペグ穴402に、ペグ401の側面(移動方向の前側(図5Aの右側)の側面)401bをペグ穴402の内周面(移動方向の前側(図5Aの右側)の内周面)402dに接触させつつペグ401の軸方向沿いに真っ直ぐ移動して挿入を開始する。次いで、図5Aの(c)では、ペグ401の先端の上面401aがペグ穴402の底面に当たって挿入作業を完了する。この場合は、一連の挿入作業は(a)〜(c)の3個の作業段階で行われ、この挿入作業は例えば3個の作業区間に区切ることができる。
【0046】
また、図5Bの(a)では、ペグ401をペグ穴402の開口の手前に対向する位置まで移動させる。次いで、図5Bの(b)では、ペグ401の先端のペグ穴402に対向する面(ペグ穴対向面)401aをペグ穴402の開口の手前側の角部402cに接触させる。次いで、図5Bの(c)では、ペグ401のペグ穴対向面401aの一部の角部401cが、ペグ穴402の開口周縁の一部の角部402cに接触したのち、ペグ穴402の角部402cに対してペグ401のペグ穴対向面401aが滑るように移動して、ペグ401の先端部がペグ穴402内に入り込み、ペグ401の側面(移動方向の前側(図5Dの右側)の側面)401bをペグ穴402の開口の他方の角部402bに当てる。次いで、図5Bの(d)では、ペグ401の側面401bをペグ穴402の内周面(移動方向の前側(図5Bの右側)の内周面)402dに接触させてペグ401をペグ穴402に対して起こす。次いで、図5Bの(e)では、ペグ401の側面401bをペグ穴402の内周面402dに接触させつつ、ペグ401の軸方向沿いにペグ401をペグ穴402に押し込む。次いで、図5Bの(f)では、ペグ401の側面401bをペグ穴402の内周面402dに接触させつつ、ペグ401の軸方向沿いにペグ401をペグ穴402にさらに押し込んで、ペグ401の先端の上面401aがペグ穴402の底面に当たって挿入作業を完了する。この場合は、一連の挿入作業は(a)〜(f)の6個の作業段階で行われ、この挿入業は例えば6個又はそれ以下の作業区間に区切ることができる。
【0047】
また、図5Dの(a)では、ペグ401の先端が移動してペグ穴402の上面402aに近づく。次いで、図5Dの(b)では、ペグ401の先端のペグ穴402に対向する面(ペグ穴対向面)401aの一部の角部401cがペグ穴402の周囲の上面402aに接触して上面402a沿いに移動しながら、ペグ401がペグ穴402に近づく。次いで、図5Dの(c)では、ペグ401の先端のペグ穴対向面401aの一部の角部401cがペグ穴402の周囲の上面402aに接触しつつ上面402a沿いに移動して、ペグ401がペグ穴402にさらに近づき、ペグ401のペグ穴対向面401aの一部の角部401cが、ペグ穴402の開口周縁の一部の角部402cに接触する。次いで、図5Dの(d)では、ペグ穴402の角部402cに対してペグ401のペグ穴対向面401aが滑るように移動する。次いで、図5Dの(e)では、ペグ穴402の角部402cに対してペグ401のペグ穴対向面401aが滑るようにさらに移動して、ペグ401の先端部がペグ穴402内に入り込み、ペグ401の側面(移動方向の前側(図5Dの右側)の側面)401bをペグ穴402の開口の他方の角部402bに当てる。次いで、図5Dの(f)では、ペグ401の側面401bをペグ穴402の内周面(移動方向の前側(図5Dの右側)の内周面)402dに接触させてペグ401をペグ穴402に対して起こす。次いで、図5Dの(g)では、ペグ401の側面401bをペグ穴402の内周面402dに接触させつつ、ペグ401の軸方向沿いにペグ401をペグ穴402に押し込む。次いで、図5Dの(h)では、ペグ401の先端の上面401aがペグ穴402の底面に当たって挿入作業を完了する。この場合は、一連の挿入作業は(a)〜(h)の8個の作業段階で行われ、この挿入業は例えば8個又はそれ以下の作業区間に区切ることができる。
【0048】
次に、図5A〜図5Dの軌跡のうち図5Dの軌跡を例に取り、複数(例えば5個)に分割した作業区間について、図6を用いて説明する。図6に示すように、挿入作業は、
第1工程)ペグ401の先端が移動してペグ穴402の上面402aに近づく区間(図5Dの(a)及び図6の(a)参照)と、
(第2工程)ペグ401の先端のペグ穴402に対向する面(ペグ穴対向面)401aの一部の角部401cがペグ穴402の周囲の上面402aに接触して上面402a沿いに移動しながら、ペグ401がペグ穴402にさらに近づき、ペグ401のペグ穴対向面401aの一部の角部401cが、ペグ穴402の開口周縁の一部の角部402cに接触する区間(図5Dの(b)〜(c)及び図6の(b)〜(c)参照)と、
(第3工程)ペグ401のペグ穴対向面401aの一部の角部401cが、ペグ穴402の開口周縁の一部の角部402cに接触したのち、ペグ穴402の角部402cに対してペグ401のペグ穴対向面401aが滑るように移動して、ペグ401の先端部がペグ穴402内に入り込み、ペグ401の側面(移動方向の前側(図5Dの右側)の側面)401bをペグ穴402の開口の他方の角部402bに当てる区間(図5Dの(d)〜(e)及び図6の(d)〜(e)参照)と、
(第4工程)ペグ401の側面401bをペグ穴402の内周面(移動方向の前側(図5Dの右側)の内周面)402dに接触させてペグ401をペグ穴402に対して起こす区間(図5Dの(f)〜(g)及び図6の(f)〜(g)参照)と、
(第5工程)ペグ401の側面401bをペグ穴402の内周面402dに接触させつつ、ペグ401の軸方向沿いにペグ401をペグ穴402に押し込む区間(図5Dの(h)及び図6の(h)参照)と
の5個に区切ることができる。図5Dの軌跡以外の他の軌跡についても、同様に、5個に限られず任意の複数の作業区間に区切ることができるが、以下の説明では、図5D及び図6の例を中心に説明する。
【0049】
また、分割されたそれぞれの区間について、それぞれの作業区間に該当すると特定できる条件がある。ここで、作業区間に該当すると特定できる条件とは、言い換えれば、各工程を分割するための条件ということもできる。
【0050】
その条件について、図7を用いて順に説明する。
【0051】
まず、第1工程の条件は、力情報取得部107で取得した値がゼロであること(図7の(a)参照)。
【0052】
次いで、第2工程の条件は、力情報取得部107で取得した値について、ペグ穴402の挿入方向に対して反力を閾値以上の力の大きさで取得すること(図7の(b)及び(c)の矢印を参照)。
【0053】
第3工程の条件は、動作情報106で取得した値について、ペグ穴402の挿入方向に対して位置の値が変化すること(図7の(d)及び(e)の矢印を参照)。
【0054】
第4工程の条件は、力情報取得部107で取得した値について、ペグ穴402の挿入方向に対して垂直な方向に反力を閾値以上の力の大きさで取得すること(図7の(f)及び(g)の矢印を参照)。
【0055】
第5工程の条件は、力情報取得部107で取得した値について、ペグ穴402の挿入方向に対して反力の大きさが小さくなること(図7の(h)参照)。
【0056】
各工程において、力情報又は位置情報に関する閾値を設定しており、その閾値を用いて条件を満たしているかどうかを特定する。
【0057】
次に、これらの条件に関する作業区間情報について図8を用いて説明する。
【0058】
図8は、作業区間情報記憶部108に記憶されている作業区間情報の一例を表す。作業区間情報には、作業区間番号と、位置又は姿勢情報と、力又はモーメント情報と、速度又は角速度情報と、力の変位又はモーメントの変位情報とが含まれる。座標系に関しては後述する座標系に従う(図16参照)。作業区間番号ではそれぞれの区間番号を保持する。その他の情報に関しては、前述した条件を表す情報が含まれている。情報の詳細は、「数字」及び「数字の後ろの記号」によって構成される。数字は、閾値の絶対値を表す。数字の後ろの記号は、閾値の絶対値を上回るのか、下回るのかを示す。上回る場合は+で表し、下回る場合は−で表す。閾値の絶対値を上回るとは、絶対値が閾値より大きいことを意味する。閾値の絶対値を下回るとは、絶対値が閾値より小さいことを意味する。0のような符号の後ろの記号がない場合は、その情報に関してはどのような値でも構わないことを表す。例えば、1.0+の場合は、その情報に関して閾値の絶対値(1.0)を上回れば、条件を満たすことができる。よって、力Fに関して1.0+の場合は、力Fの絶対値が1.0Nを上回れば、条件を満たすことができる。各値については、予め定められた値を記憶している。値を変更したい場合は、入出力IF116を用いて入力することができる。
【0059】
作業区間情報について、作業を行う人(操作者)又は対象作業によって閾値などが異なるので、図9に示すような作業者ごとのデータベースを作業区間情報記憶部108の内部に保有する。作業者は、作業前に入出力IF116を用いて、作業者と対象作業とを入力することによって、作業区間情報記憶部108のデータベースを使用して、使用する作業区間情報を選択する。図9に示すように、自動制御による動作の場合と、操作者による教示動作の場合とは、異なる作業区間情報のデータベースを用いる。また、操作者の作業も、作業者ごとにデータベースが異なっている。
【0060】
作業区間情報記憶部108は、作業区間情報を作業区間特定部109に出力する。
【0061】
作業区間特定部109は、動作情報取得部106から動作情報と、時間情報とを取得し、力情報取得部107から力情報と、時間情報とを取得し、作業区間情報記憶部108から作業区間情報を取得する。作業区間特定部109は、取得した時間情報と、動作情報と、力情報と、作業区間情報とを用いて、現在(ロボットアーム操作時)の作業区間番号を導出する。導出方法は、以下の通りである。作業区間特定部109は、現在(ロボットアーム操作時)の時点における動作情報と力情報とを、作業区間情報の各作業区間の条件を満たすか比較し、各作業区間の条件を満たした場合の作業区間番号を導出する。
【0062】
作業区間特定部109において、作業区間を特定する際に、現在(ロボットアーム操作時)の時点における作業区間が、ある1つの作業区間と特定できない場合がある。このような場合の対処法について説明する。
【0063】
1つ目のパターンは、現在(ロボットアーム操作時)の時点における作業区間が複数該当する場合である。この場合の対処法については、後述する第4実施形態において説明する。
【0064】
2つ目のパターンは、現在(ロボットアーム操作時)の時点における作業区間に該当する区間がない場合である。この場合の対処法は、作業区間情報記憶部108で記憶する作業区間情報について、それぞれの閾値に対して0.9倍し、閾値を小さくする。このように対処することで、最も近い作業区間に該当することとなる。また、0.9倍しても該当しない場合は、元の閾値に対して0.8倍する。つまり、いずれかの作業区間に該当するまで、元の閾値に対して1から0.1ずつ引いた値を掛けていく。該当するまでの閾値を小さくする回数をn(ただし、nは1以上の整数。)とすると、新しい閾値は次式で表される。
【0065】
新しい閾値=元の閾値×(1−0.1×n)
作業区間特定部109は、このようにして作業区間を特定して、導出した現在(ロボットアーム操作時)の作業区間番号情報と、時間情報とを制御方法切替部114に出力する。
【0066】
誘導情報記憶部110は、挿入作業における環境変動などの微小な誤差に対応するための、それぞれの作業区間における誘導情報と誘導適用情報とを記憶する。ここで、誘導情報とは、所望の作業を達成するために、操作者によるロボットアーム102の移動動作を誘導するための情報を意味する。誘導適用情報とは、誘導情報を適用するための条件の情報である。
【0067】
ここで、挿入作業における誘導情報について、図10の第1工程〜第5工程を用いて説明する。
【0068】
第1の誘導情報は、ペグ401をペグ穴402に近づける図10の第2工程において、ペグ401の角部(傾斜しているペグ401の、ペグ穴402の上面402aに対向する面401aにおいて、移動方向の前側(図10の右側)でかつペグ穴402の上面402aに最も接近している角部)401cがペグ穴402の上面402aに常に接触していることである。図10中の符号Aは、第1の誘導情報を満たすために、ペグ401からペグ穴402の上面402aに加える力の方向を示す。
【0069】
第2の誘導情報は、ペグ401をペグ穴402にさらに近づける第2工程及び第3工程において、ペグ401の対向面401aとペグ穴402の上面402aとで形成する角度αが所定の角度を維持しつつ、ペグ401をペグ穴402に対してさらに近づけることである。図10中の符号Bは、第2の誘導情報を満たすために、ペグ401をペグ穴402に対して、ペグ穴402の角部(移動方向の後側(図10の左側)のペグ穴402の周縁角部)402c回りに、反時計方向に回転させる回転方向を示す。
【0070】
第3の誘導情報は、第3工程及び第4工程において、ペグ401の側面(移動方向の前側(図10の右側)の側面)401bをペグ穴402の角部(移動方向の前側(図10の右側)のペグ穴402の周縁角部)402bに常に接触させることである。図10中の符号Cは、第3の誘導情報を満たすために、ペグ401の側面401bからペグ穴402の角部402bに加える力の方向を示す。
【0071】
第4の誘導情報は、ペグ401がペグ穴402の上面402a及びペグ穴402に接触する工程(第2工程〜第5工程)において、ペグ401をペグ穴402の上面402a及びペグ穴402に強く接触させることである。
【0072】
次に、これらの誘導情報の効果について、図11A〜図11Fを用いて説明する。誘導情報の効果について、教示時のペグ穴402の位置に対して、再生時のペグ穴402の位置が変動している場合を例に説明する。図11A〜図11Fにおいて、ペグ穴402について、実線は再生時のペグ穴402の位置を示しており、破線は教示時のペグ穴402の位置を示している。また、符号X又はYで示す矢印の方向が、教示時のペグ穴402の位置に対する再生時のペグ穴402の位置の変動方向を示す。符号A〜Dは、それぞれ順に、第1〜第4の誘導情報を満たすために加える力又は回転の方向を示す。第1の誘導情報について、図11Aを用いて説明する。図11A及び図11Bは、破線の教示時のペグ穴402の位置と比較して、実線の再生時のペグ穴402の位置がX軸方向に近づいている場合を示している。このような環境変動があった場合においても、第1の誘導情報を適用することによって、ペグ401がペグ穴402の上面402aと常に接触しているので、教示時よりも近づいたペグ穴402にペグ401が入りやすくなる。このとき、もし、第1の誘導情報を適用しない場合では、ペグ401がペグ穴402の上面402aに常に接触していないため、図11Bに示すように、ペグ401がペグ穴402に入ることなく、通り過ぎてしまう。図11C及び図11Dは、破線の教示時のペグ穴402の位置と比較して、実線の再生時のペグ穴402の位置が図11CのX軸方向に遠ざかっている場合を示している。
【0073】
このとき、第2及び第3の誘導情報を適用することによって、ペグ401の対向面401aとペグ穴402の上面402aとで形成する角度αが所定の角度を維持しつつペグ401の側面401bがペグ穴402の角部402bに接触するように近づくので、教示時よりも遠ざかったペグ穴402にペグ401が入りやすい。第2及び第3の誘導情報を適用しない場合では、ペグ401の側面401bをペグ穴402の角部402bに常に接触させていないため、図11Dに示すように、ペグ401の側面401bがペグ穴402の角部402bに届かず、ペグ401がペグ穴402に完全に入らないことになる。図11Eは、教示時のペグ穴402の位置と比較して、再生時のペグ穴402の位置がY軸方向に遠ざかっている。第4の誘導情報を適用することによって、ペグ401をペグ穴402の上面402a及びペグ穴402に強く接触させるので、教示時よりも遠ざかったペグ穴402に対してもペグ401が奥まで届くようになる。第4の誘導情報を適用しない場合では、ペグ401をペグ穴402の上面402a及びペグ穴402に強く接触させていないので、図11Fに示すように、ペグ401がペグ穴402の奥まで届かない。
【0074】
次に、誘導適用情報について図12A〜図12Dを用いて説明する。
【0075】
図12Aは、ペグ401の角部401cがペグ穴402の上面402aに常に接触していることという第1の誘導情報に対する、力情報取得部107で取得した力情報の反力の値が第1の閾値の絶対値を上回るという条件を表す。第1の閾値とは、予め定められた値(例えば、1.0N)である。
【0076】
図12Bは、ペグ401の対向面401aとペグ穴402の上面402aとで形成する角度αを所定の角度に維持するという第2の誘導情報に対する、ロボットアーム102の手先の姿勢(角度)が、力情報取得部107で取得した力情報の反力の方向に対して、第2Aの閾値(2つの第2の閾値のうちの一方の下限側の閾値)の絶対値を上回りかつ第2Bの閾値(2つの第2の閾値のうちの他方の上限側の閾値)を下回るという条件を表す。また、反力を測定する力センサ1616(詳細は後述)が6軸の力センサであるので、力センサ1616の値から反力の方向を導出することができる。第2A、第2Bの閾値とは、それぞれ、予め定められた値(例えば、0.5rad、0.7rad)である。
【0077】
図12Cは、ペグ401の側面401bをペグ穴402の角部402bに常に接触させることという第3の誘導情報に対する、力情報取得部107で取得した力情報の挿入方向と垂直な方向との反力の値が、第3の閾値の絶対値を上回るという条件を表す。また、力情報の挿入方向と垂直な方向との反力についても、6軸の力センサ1616の値からそれぞれ導出する。第3の閾値とは、予め定められた値(例えば、1.0N)である。
【0078】
図12Dは、ペグ401をペグ穴402の上面402a及びペグ穴402に強く接触することという第4の誘導情報に対する、力情報取得部107で取得した力情報の反力の値が、第4の閾値の絶対値を上回るという条件を表す。第4の閾値とは、予め定められた値(例えば、3.0N)である。
【0079】
また、前記それぞれの閾値の値を変更したい場合は、入出力IF116を用いて、操作者が誘導情報記憶部110に閾値の値を入力して、記憶されている閾値の値を変更することができる。なお、それぞれの閾値は、一例として、誘導適用情報生成部111での誘導適用情報を生成するときのように、対象作業について熟練者が行った作業を参照して決定することができる。
【0080】
誘導情報記憶部110で記憶しているこれらの誘導情報及び誘導適用情報について、図13を用いて説明する。誘導情報として、作業区間番号の情報と、それに対応する誘導情報番号の情報とが含まれる。誘導適用情報には、作業区間番号と、位置又は姿勢情報と、力又はモーメント情報とが含まれる。作業区間番号ではそれぞれの区間番号を保持する。その他の情報に関しては、前述した条件を表す情報が含まれている。情報の詳細は、図8で述べた「数字」及び「数字の後ろの記号」の表記と同様である。各値については、予め定められた値を記憶している。値を変更したい場合又は誘導情報を追加したい場合などは、入出力IF116を用いて誘導情報記憶部110に入力することができる。誘導情報記憶部110は、誘導情報と誘導適用情報とを制御方法切替部114に出力する。
【0081】
誘導適用情報生成部111は、動作情報取得部106から動作情報と時間情報とを取得し、力情報取得部107から力情報と時間情報とを取得し、誘導適用情報を生成する。生成した誘導適用情報を誘導情報記憶部110に出力し、誘導情報記憶部110で誘導適用情報を記憶する。
【0082】
誘導適用情報生成部111での誘導適用情報の生成方法について説明する。対象作業について熟練者が行った作業の動作情報及び力情報を用いて、誘導適用情報生成部111で誘導適用情報を生成する。閾値についても、熟練者の作業時の値を閾値とする。また、誘導適用情報の閾値などの追加又は修正を行う場合は、入出力IF116を用いて、誘導情報記憶部110に対して行うことができる。誘導適用情報生成部111は、生成した誘導適用情報を誘導情報記憶部110に出力する。
【0083】
モード切替部112は、入出力IF116から入力されるモード情報を、制御方法切替部114に出力する。モード情報とは、入出力IF116で入力することができ、「教示モード」又は「再生モード」又は「停止モード」のいずれかの情報が選択されて含まれている。
【0084】
「教示モード」とは、操作者がロボットアーム102を把持してロボットアーム102に対して動作を教えるモードであり、操作者の操作によりロボットアーム102を動かす。「再生モード」とは、「教示モード」において操作者から教えられた動作をロボットアーム102が自動的に再生するモードであり、操作者の操作によらずロボットアーム102が自動的に動く。「停止モード」とは、ロボットアーム102が動かないモードであり、ロボットアーム102は移動を行わず停止している。
【0085】
モード切替部112は、「教示モード」及び「再生モード」の開始時点及び終了時点を制御方法切替部114に出力する。これらの開始時点及び終了時点の出力は、操作者の操作による入出力IF116のボタン(例えば、開始ボタン、終了ボタン)の押下により、モード切替部112を介して行う。「教示モード」では、操作者の操作によってロボットアーム102が移動する。操作者の操作によってロボットアーム102が移動しているとき、その開始から終了までのロボットアーム102の位置及び姿勢の情報を教示データとする。「再生モード」では、ロボットアーム102が、教示データの軌跡を追従するように制御部115により自動で移動する。開始から終了までの時間は、ロボットアーム102が自動で移動するが、その他の時間ではロボットアーム102は停止している。「停止モード」では、現在(ロボットアーム操作時)の位置及び姿勢にロボットアーム102が停止し、ロボットアーム102は移動しない。
【0086】
制御方法情報記憶部113は、ロボットアーム102を制御する方法である制御方法情報を記憶する。この制御方法情報を適用することによって、誘導適用情報を満たすように操作者によるロボットアーム102の移動動作を誘導する。誘導方法の詳細については、後述する。制御方法情報として、(I)ロボットアーム102の制御ゲインを変化させる制御方法情報と、(II)自動制御を行う制御方法情報とを記憶する。
【0087】
次に、それぞれの制御方法について説明する。
【0088】
(I)ロボットアーム102の制御ゲインを変化させる制御方法情報
図14は、操作者の手1401が、ロボットアーム102の前腕リンク1603に取り付けられた前腕リンク用力センサ1402を把持し、操作者の手1401がロボットアーム102に加えた力の大きさを前腕リンク用力センサ1402で計測し、前腕リンク用力センサ1402で計測した力の値に応じてロボットアーム102の動作を制御部115で制御する例である。このとき、ロボットアーム102の手先位置及び姿勢ベクトルr(=[x,y,z,φ,θ,ψ])(詳細は、図16を用いて後述する)と操作者が加えた力、モーメントF(=[F,F,F,M,M,M)の大きさとの関係は、制御ゲインkを用いて、r=kFで表される。ただし、制御ゲインkは、対角行列k=diag(k,k,k,k,k,k)で表される。ゲインk,k,k,k,k,kは、それぞれ、ロボットアーム102の手先座標系1613(詳細は、図16を用いて後述する)のx軸,y軸,z軸,φ,θ,ψに対応する。操作者の手1401がロボットアーム102に加えた力の大きさが大きいほど、ロボットアーム102が移動する量が大きくなる。また、ゲインkの値が大きいほど、ロボットアーム102が移動する量が大きくなる。
【0089】
ここでは、ロボットアーム102の位置及び姿勢に関して、操作者によるロボットアーム102の移動動作を誘導する方向のみゲインkを制御部115により大きくすることによって、操作者によるロボットアーム102の移動動作を誘導する方向のみにロボットアーム102を移動しやすくする。例えば、操作者によるロボットアーム102の移動動作を+x軸の方向に誘導する場合は、ゲインkの値を2.0とし、他のゲインの値を、ゲインkの値の半分の1.0とする。このようにゲインを制御部115により変化させることによって、操作者が全方向に同じように力を加えた場合においても、他の軸方向と比較して+x軸方向にロボットアーム102が2倍移動することとなる。
【0090】
(II)自動制御を行う制御方法情報
操作者がロボットアーム102を把持してロボットアーム102を操作する場合においても、操作者によるロボットアーム102の移動動作を誘導する方向のみ操作者の入力を受け付けず、制御部115によりロボットアーム102の動作を自動で制御する。操作者によるロボットアーム102の移動動作を誘導する方向は、方向別(軸別)に切り替えることが可能である。例えば、操作者によるロボットアーム102の移動動作を+x軸方向のみに誘導する場合は、+x軸方向のみ操作者の操作する操作量によらず、自動で+x軸方向に移動し、他の軸方向は操作者の操作する操作量に応じて移動する。そのようにすることによって、操作者によるロボットアーム102の移動動作を誘導する方向に誘導することを実現する。
【0091】
これらの制御方法情報として制御方法情報記憶部113で記憶している情報について、図15を用いて説明する。制御方法情報には、制御方法情報番号の情報とそれに対応する備考情報とが含まれる。各値については、予め定められた値を記憶している。値を変更したい場合又は制御方法情報を追加したい場合などは、入出力IF116を用いて、制御方法情報記憶部113に入力することができる。また、制御方法情報の選択についても、入出力IF116を用いて操作者がモード切替部112に入力することができ、少なくとも1つ以上の制御方法情報を選択する。制御方法情報記憶部113は、制御方法情報を制御方法切替部114に出力する。
【0092】
制御方法切替部114は、動作情報取得部106から動作情報と時間情報とを取得し、力情報取得部107から力情報と時間情報とを取得し、作業区間特定部109から現在(ロボットアーム操作時)の作業区間番号情報と時間情報とを取得し、誘導情報記憶部110から誘導情報と誘導適用情報と時間情報とを取得し、モード切替部112からモード情報を取得し、制御方法情報記憶部113から制御方法情報を取得し、これらの情報を基にロボットアーム102の制御方法を切り替える。
【0093】
制御方法切替部114によるロボットアーム102の制御方法の切り替え方について説明する。モード切替部112から制御方法切替部114に入力されたモード情報が「教示モード」の場合、作業区間特定部109から入力された現在(制御方法を切り替えるとき)の作業区間番号情報と誘導適用情報生成部111とを用いて、現在(制御方法を切り替えるとき)に適用すべき条件を導出し、制御方法情報記憶部113から取得した制御方法情報によって、導出した条件を満たすように、操作者によるロボットアーム102の移動動作を制御部115により誘導する。
【0094】
その誘導のときに生成した動作情報と力情報とについては、制御方法切替部114の内部の記憶部において記憶する。具体的な動作は、後述する動作手順で示す。また、制御方法切替部114で生成した動作情報と力情報とは、制御方法切替部114から制御部115にも出力する。
【0095】
モード切替部112から制御方法切替部114に入力されたモード情報が「再生モード」の場合、教示時に制御方法切替部114の内部の記憶部に記憶した動作情報と力情報とを制御部115に出力する。なお、教示時に誘導適用情報を満たすように、操作者によるロボットアーム102の移動動作を誘導するかしないかは、入出力IF116を用いて、操作者が入力して決定することができる。具体的な動作は、後述する動作手順で示す。制御方法切替部114は、制御方法切替部114で生成した動作情報と時間情報とを制御部115に出力する。
【0096】
制御部115は、制御方法切替部114から動作情報と力情報と時間情報とが入力され、これらの情報に基づいて、ロボットアーム102の動作を制御する。制御部115においては、入力された動作情報を、入出力IF116に内蔵されたタイマーを利用して、ある一定時間毎(例えば、1ms毎)に、入出力IF116に出力して、ロボットアーム102の動作を制御する。
【0097】
<周辺装置の説明>
入出力IF116は、制御部115から入力された動作情報をモータドライバ117に出力する。また、入出力IF116は、力センサ1616の測定値と、入出力IF116に内蔵されたタイマーからの時間情報とを力情報取得部107に出力する。ロボットアーム102の各関節部の後述するエンコーダ1615で取得した入力値に基づきロボットアーム102の位置情報及び姿勢情報をエンコーダ1615の内部の演算部で求め(詳細は後で述べる)、位置情報及び姿勢情報と入出力IF116に内蔵されたタイマーからの時間情報とを、入出力IF116から動作情報取得部106に出力する。また、入出力IF116は、図1Bに示すように、入力部116Aと出力部116Bとによって構成される。入力部116Aは、入力IF(インターフェース)となっており、キーボード又はマウス又はタッチパネル又は音声入力などにより操作者が項目を選択する場合、又は、キーボード又はマウス又はタッチパネル又は音声入力などにより操作者が数字を入力する場合などに用いられる。出力部116Bは、出力IF(インターフェース)となっており、取得した情報などを外部に出力する場合又はディスプレイなどに表示する場合などに用いられる。
【0098】
モータドライバ117は、入出力IF116から取得した動作情報を基に、ロボットアーム102の動作を制御するために、ロボットアーム102の関節部のそれぞれのモータ1614(図16参照)への指令値をロボットアーム102に出力する。
【0099】
<ロボットアームの説明>
ロボットアーム102において、入出力IF116に内蔵されたタイマーを利用して、ある一定時間毎(例えば、1ms毎)に、ロボットアーム102の位置情報を、ロボットアーム102の各関節部のエンコーダ1615を用いて、エンコーダ1615の内部の演算部で求めて入出力IF116に出力する。また、ロボットアーム102の各関節部を駆動する駆動装置の一例としてのモータ1614は、モータドライバ117からの指令値に従って制御される。
【0100】
これらの詳細については、以下に、図16を用いて説明する。ロボットアーム102は、一例として、合計6個の軸周りに回転可能として6自由度の多リンクマニピュレータを構成している。
【0101】
図16に示すように、ロボットアーム102は、一例として、多関節ロボットアームであって、具体的には、6自由度の多リンクのマニピュレータである。
【0102】
ロボットアーム102は、ハンド1601と、ハンド1601が取り付けられている手首部1602を先端1603aに有する前腕リンク1603と、前腕リンク1603の基端1603bに回転可能に先端1604aが連結される上腕リンク1604と、上腕リンク1604の基端1604bが回転可能に連結支持される台部1605とを備えている。台部1605は、一定位置に固定されているが、図示しないレールに移動可能に連結されていても良い。
【0103】
手首部1602は、第4関節部1609と、第5関節部1610と、第6関節部1611との3つの互いに直交する回転軸を有しており、前腕リンク1603に対するハンド1601の相対的な姿勢(向き)を変化させることができる。すなわち、図16において、第4関節部1609は、手首部1602に対するハンド1601の横軸周りの相対的な姿勢を変化させることができる。第5関節部1610は、手首部1602に対するハンド1601の、第4関節部1609の横軸とは直交する縦軸周りの相対的な姿勢を変化させることができる。第6関節部1611は、手首部1602に対するハンド1601の、第4関節部1609の横軸及び第5関節部1610の縦軸とそれぞれ直交する横軸周りの相対的な姿勢を変化させることができる。前腕リンク1603の他端1603bは、上腕リンク1604の先端1604aに対して第3関節部1608周りに、すなわち、第4関節部1609の横軸と平行な横軸周りに回転可能とする。上腕リンク1604の他端は、台部1605に対して第2関節部1607周りに、すなわち、第4関節部1609の横軸と平行な横軸周りに回転可能とする。さらに、台部1605の上側可動部1605aは、台部1605の下側固定部1605bに対して第1関節部1606周りに、すなわち、第5関節部1610の縦軸と平行な縦軸周りに回転可能としている。
【0104】
この結果、ロボットアーム102は、合計6個の軸周りに回転可能として前記6自由度の多リンクマニピュレータを構成している。
【0105】
ロボットアーム102の各軸の回転部分を構成する各関節部には、関節部駆動用のモータ1614のような回転駆動装置と、モータ1614の回転軸の回転位相角(すなわち関節角)を検出して位置情報及び姿勢情報を内部の演算部で算出して出力するエンコーダ1615(実際には、ロボットアーム102の各関節部の内部に配設されている。)とを備えている。モータ1614(実際には、ロボットアーム102の各関節部の内部に配設されている。)は、各関節部を構成する一対の部材(例えば、回動側部材と、該回動側部材を支持する支持側部材)のうちの一方の部材に備えられる、モータドライバ117により駆動制御される。各関節部の一方の部材に備えられたモータ1614の回転軸が、各関節部の他方の部材に連結されて、前記回転軸を正逆回転させることにより、他方の部材を一方の部材に対して各軸周りに回転可能とする。
【0106】
また、1612は、台部1605の下側固定部1605bに対して相対的な位置関係が固定された絶対座標系であり、1613は、ハンド1601に対して相対的な位置関係が固定された手先座標系である。絶対座標系1612から見た手先座標系1613の原点位置O(x,y,z)をロボットアーム102の手先位置とするとともに、絶対座標系1612から見た手先座標系1613の姿勢をロール角とピッチ角とヨー角とで表現した(φ,θ,ψ)をロボットアーム102の手先姿勢(姿勢情報)とし、手先位置及び姿勢ベクトルをベクトルr=[x,y,z,φ,θ,ψ]と定義する。
【0107】
よって、一例として、絶対座標系1612のz軸に対して第1関節部1606の縦軸が平行であり、絶対座標系1612のx軸に対して第2関節部1607の横軸が平行に位置可能とするのが好ましい。また、手先座標系1613のx軸に対して第4関節部1609の横軸が平行に位置可能であり、手先座標系1613のy軸に対して第6関節部1611の横軸が平行に位置可能であり、手先座標系1613のz軸に対して第5関節部1610の縦軸が平行に位置可能とするのが好ましい。なお、手先座標系1613のx軸に対しての回転角をヨー角ψとし、y軸に対しての回転角をピッチ角θとし、z軸に対しての回転角をロール角φとする。
【0108】
なお、図16では、ロボットアーム102が動作する際に生じる力情報を取得する力センサ1616を備えるように構成している。力センサ1616は、ロボットアーム102のハンド1601が取り付けられている、前腕リンク1603の手首部1602に取り付けられて、ハンド1601に作用する力を検出可能とする。力センサは、6軸の力センサであり、力とモーメントを測定することができる。
【0109】
<動作手順の説明>
操作者が、ロボットアーム102を移動操作して、ロボットアーム102の動作を生成する教示モードと、ロボットアーム102が動作を制御部115で自動的に再生する再生モードの手順を説明する。
【0110】
<教示モードの説明>
教示モードについて、制御方法情報記憶部113において、(I)ロボットアーム102の制御ゲインを変化させる制御方法情報、(II)自動制御を行う制御方法情報の2つの制御方法情報が記憶されているので、それぞれについて順に説明する。一例として、操作者は、ペグ401をハンド1601に把持したロボットアーム102を移動させて、治具などに固定されたペグ穴402に、前記ペグ401を挿入するロボットアーム102の動作を教示する。
【0111】
(I)ロボットアーム102の制御ゲインを変化させる制御方法情報
図17A〜図17H、及び、図18の(a)〜(c)を用いて説明する。図17A〜図17Hは、順に、操作者の手1401によりロボットアーム102に動作を教示する手順を示す。また、図18の(a)〜(c)は教示動作中のペグ401のペグ穴402への挿入方向の位置(mm)、挿入方向の力(N)、挿入方向に直交する横方向の力(N)をそれぞれ示す。図18の(a)〜(c)に示す図17A〜図17Hの表記は、それぞれの状態における位置情報又は力情報を示す。ここでは、モード切替部112は、「教示モード」を選択している。教示の際に、図17Aの時点で、操作者により入出力IF116の開始ボタンが押下され、図17Hの時点で、操作者により入出力IF116の終了ボタンが押下される。
【0112】
まず、図17Aは、操作者の手1401でロボットアーム102を把持し、操作者がロボットアーム102に対して教示を開始した時点である。この時点では、ロボットアーム102のハンド1601に把持したペグ401は、ペグ穴402及びペグ穴402の上面402aとは接触していない。図18の(b)及び図18の(c)中の図17Aと示す(参照符号A)時点より、力が加えられていないことが、力情報取得部107を介して作業区間特定部109により、わかり、作業区間特定部109において、作業区間情報記憶部108内の図8の作業区間情報を参照して、「作業区間番号1」であると特定する。誘導情報記憶部110内の図13の誘導情報では、「作業区間番号1」においては、適用する誘導情報が無いので、制御部115により制御ゲインを変化させずに、操作者の手1401でロボットアーム102を把持してロボットアーム102を移動させる。
【0113】
次いで、図17Bは、ペグ401とペグ穴402の上面402aとが接触した時点である。図18の(b)中の図17Bと示す(参照符号B)時点より、挿入方向の力の大きさが閾値1.0Nを上回っていることが、力情報取得部107を介して作業区間特定部109により確認でき、作業区間特定部109において、作業区間情報記憶部108内の図8の作業区間情報を参照して、「作業区間番号2」であると特定する。誘導情報記憶部110内の図13の誘導情報では、「作業区間番号2」においては、「誘導情報1」と、「誘導情報2」と、「誘導情報4」とを適用すると記憶している。「誘導情報1」と、「誘導情報2」と、「誘導情報4」とは、誘導適用情報生成部111において、図13で表される誘導適用情報を生成する。「誘導情報1」と、「誘導情報4」とより、誘導適用情報として、挿入方向の力の大きさが3.0Nを上回るという条件を満たす必要がある。この条件を満たすために、上述したゲインkに関して、制御部115により、挿入方向のゲインkの値を2.0とし、他のゲインの値を1.0とする。このようにゲインを制御部115により変化させることによって、ロボットアーム102を挿入方向に移動しやすいように、操作者によるロボットアーム102の移動動作を誘導する。「誘導情報2」の誘導情報より、誘導適用情報として、反力の方向に対して0.5radを上回りかつ0.7radを下回るという条件を満たす必要がある。この条件を満たすために、上述したゲインkに関して、制御部115により、回転方向のゲインkの値を、0.5radを下回るときは2.0とし、0.5radを上回り0.7radを下回るときは1.0とし、0.7radを上回るときは2.0とする。また、制御部115により、他のゲインの値は1.0とする。このようにゲインを制御部115により変化させることによって、ロボットアーム102の手先角度が所望の範囲の角度に無いときは、ロボットアーム102の手先角度が所望の範囲の角度内に移動するようにロボットアーム102の移動動作における回転方向を誘導し、ロボットアーム102の手先角度が所望の範囲内の角度にあるときは、ロボットアーム102の手先角度が所望の範囲の角度内から移動しないように、ロボットアーム102の移動動作の誘導を行わない。
【0114】
ここで、誘導情報の適用方法について説明する。複数の誘導情報を適用する場合は、それぞれの誘導情報について同時に適用する。図17Bの場合は、「誘導情報1」と「誘導情報2」と「誘導情報4」とを、制御方法切替部114により、同時に適用する。しかしながら、複数の誘導情報を同時に適用できない場合もある。このような場合においては、適用する順について優先順位がある。その優先順位は、誘導情報番号の数字が小さい誘導情報から順に、制御方法切替部114により、適用する。ただし、「誘導情報4」については、「誘導情報1」及び「誘導情報3」とセットで適用する場合と、「誘導情報4」のみで適用する場合とで、優先順位が異なる。以上をまとめると、次のような優先順位となる。
【0115】
1+4>2>3+4>4。
ここで、「+4」という表記は、それぞれ、「誘導情報1」と「誘導情報4」とをセットで適用していることを示す。図17Bの場合は、「誘導情報1」+「誘導情報4」を先に適用し、その後に「誘導情報2」を適用する。
【0116】
次いで、図17Cは、ペグ401をペグ穴402の上面402aに沿わせながら、ペグ401をペグ穴402に近づけている時点である。図17Bと同様に、図18の(b)中の図17Cと示す(参照符号C)時点より、挿入方向の力の大きさが閾値1.0Nを上回っていることが、力情報取得部107を介して作業区間特定部109により確認でき、作業区間特定部109において、作業区間情報記憶部108内の図8の作業区間情報を参照して、「作業区間番号2」であると特定して、図17Bと同様の方法で、操作者によるロボットアーム102の移動動作の誘導を行う。
【0117】
次いで、図17Dは、ペグ401がペグ穴402の入り口に到達した時点である。図18の(a)中の図17Dと示す(参照符号D)時点より、挿入方向の位置が変化していることが、力情報取得部107を介して作業区間特定部109により、わかる。このとき、挿入方向の位置の変位(速度)が1.0mm/msを上回っており、作業区間特定部109において、作業区間情報記憶部108内の図8の作業区間情報を参照して、「作業区間番号3」であると特定する。誘導情報記憶部110内の図13の誘導情報では、「作業区間番号3」においては、「誘導情報2」と、「誘導情報3」と、「誘導情報4」とを適用すると記憶している。「誘導情報2」と、「誘導情報3」と、「誘導情報4」とは、誘導適用情報生成部111において、図13で表される誘導適用情報を生成する。「誘導情報2」の誘導適用情報に関しては、図17Bで説明した方法でロボットアーム102の手先角度を所望の範囲の角度内に移動するようにロボットアーム102の移動動作における回転方向を誘導する。
「誘導情報3」と、「誘導情報4」とより、誘導適用情報として、挿入方向と垂直な方向(横方向)の力の大きさが3.0Nを上回るという条件を満たす必要がある。この条件を満たすために、上述したゲインkに関して、制御部115により、挿入方向と垂直な方向のゲインkの値を2.0とし、他のゲインの値を1.0とする。このようにゲインを制御部115により変化させることによって、ロボットアーム102を挿入方向と垂直の方向に移動しやすいように、操作者によるロボットアーム102の移動動作を誘導する。
【0118】
次いで、図17Eは、ペグ401の側面401bがペグ穴402の角部402bに接触した時点である。図17Dと同様に、図18の(a)中の図17Eと示す(参照符号E)時点より、挿入方向の位置が変化していることが、力情報取得部107を介して作業区間特定部109により、わかり、作業区間特定部109において、作業区間情報記憶部108内の図8の作業区間情報を参照して、「作業区間番号3」と特定する。そして、図17Dと同様の方法で、操作者によるロボットアーム102の移動動作の誘導を行う。
【0119】
次いで、図17Fは、ペグ401の側面401bをペグ穴402の角部402bに接触させながら、ペグ401を起こしている時点である。図18の(c)中の図17Fと示す(参照符号F)時点より、横方向の力の大きさが閾値1.0Nを上回っていることが、力情報取得部107を介して作業区間特定部109により確認でき、作業区間特定部109において、作業区間情報記憶部108内の図8の作業区間情報を参照して、「作業区間番号4」であると特定する。誘導情報記憶部110内の図13の誘導情報では、「作業区間番号4」においては、「誘導情報3」と「誘導情報4」とを適用すると記憶している。「誘導情報3」と「誘導情報4」とは、誘導適用情報生成部111において、図13で表される誘導適用情報を生成する。「誘導情報3」と「誘導情報4」と誘導情報に関しては、図17Dと同様の方法で、操作者によるロボットアーム102の移動動作を誘導する。
【0120】
次いで、図17Gは、ペグ401の側面401bをペグ穴402の角部402bに接触させながら、ペグ401を起こして、ペグ401の軸方向とペグ穴402の軸方向がほぼ一致した時点である。図17Fと同様に、図18の(c)中の図17Gと示す(参照符号G)時点より、横方向の力の大きさが閾値1.0Nを上回っていることが、力情報取得部107を介して作業区間特定部109により確認でき、作業区間特定部109において、作業区間情報記憶部108内の図8の作業区間情報を参照して、「作業区間番号4」であると特定する。そして、図17Fと同様の方法で、操作者によるロボットアーム102の移動動作の誘導を行う。
【0121】
次いで、図17Hは、操作者の手1401がロボットアーム102を把持し、操作者がロボットアーム102に対して教示を終了した時点である。この時点では、ペグ401をペグ穴402に挿入し、ペグ401の先端がペグ穴402の奥の底面に接触し、教示動作を終了した時点である。図18の(b)中の図17Hと示す(参照符号H)時点より、挿入方向の力の大きさが閾値1.0Nを下回っていることが、力情報取得部107を介して作業区間特定部109により確認でき、作業区間特定部109において、作業区間情報記憶部108内の図8の作業区間情報を参照して、「作業区間番号5」であると特定する。誘導情報記憶部110内の図13の誘導情報では、「作業区間番号5」においては「誘導情報4」を適用すると記憶している。上述した方法で挿入方向に、操作者によるロボットアーム102の移動動作を誘導する。
【0122】
以上のような手順で、操作者によるロボットアーム102の移動動作を誘導するように教示する。
【0123】
(II)自動制御を行う制御方法情報
(I)の場合と同様に、図17A〜図17H、及び、図18の(a)〜(c)を用いて説明する。作業区間特定部109における作業の特定方法は上述した(I)の場合と同様である。制御方法切替部114による制御方法の切り替え方のみ異なるので、ここでは、図17Bにおける挿入方向と回転方向との誘導を例に、制御方法を説明する。
【0124】
図17Bについて説明したように、「誘導情報1」と、「誘導情報4」とより、誘導適用情報として、挿入方向の力の大きさが3.0Nを上回るという条件を満たす必要がある。この条件を満たすために、挿入方向(y軸方向)のみ、操作者の操作する操作量によらず自動で+y軸方向に等速移動するように位置制御する。他の軸方向は、操作者の操作する操作量に応じて移動する。y軸方向に関して位置制御する際に力情報取得部107で取得する力の大きさが3.0Nを上回ると、上回った時点の力の大きさを目標値とする力制御に、制御方法切替部114により切り替える。つまり、制御方法切替部114により、3.0Nを上回っていない場合は挿入方向に移動するように位置制御し、3.0Nを上回っている場合はその力の大きさを維持するように力制御する。
【0125】
また、「誘導情報2」の誘導情報より、誘導適用情報として、反力の方向に対して、0.5radを上回りかつ0.7radを下回るという条件を満たす必要がある。この条件を満たすために、回転方向(φ方向)のみ操作者の操作する操作量によらずφ軸方向に自動で等速移動するように位置制御する。他の軸方向は操作者の操作する操作量に応じて移動する。ロボットアーム102の姿勢が反力の方向に対して0.5radを下回る場合は、制御方法切替部114と制御部115とにより、+φ軸方向に等速移動するように位置制御する。ロボットアーム102の姿勢が反力の方向に対して0.7radを上回る場合は、制御方法切替部114と制御部115とにより、−φ軸方向に等速移動するように位置制御する。ロボットアーム102の姿勢が反力の方向に対して0.5radを上回り、0.7radを下回る場合は、制御方法切替部114と制御部115とにより、その姿勢を維持するように位置制御する。このように自動制御することによって、姿勢が所望の角度の範囲外である場合は、所望の角度の範囲内に移動するように操作者によるロボットアーム102の移動動作を誘導し、姿勢が所望の角度の範囲内である場合はその姿勢を維持するように制御部115により自動制御する。
【0126】
(I)ロボットアーム102の制御ゲインを変化させる制御方法情報と(II)自動制御を行う制御方法情報とでは、教示時の操作者の介在度が異なり、(I)の方法を用いた場合の方が(II)の方法を用いた場合と比較して、より操作者が介在することとなる。
【0127】
以上のような制御方法で操作者によるロボットアーム102の移動動作を誘導するように教示する。
【0128】
<再生モードの説明>
次に、上述した方法で教示して得られた教示データを再生する手順を示す。ここでは、上述したように誘導情報を適用するために、操作者によるロボットアーム102の移動動作を誘導して教示データを生成したので、教示データを単純に再生することで、ペグ穴402において環境変動が生じる場合においても、ペグ401のペグ穴402への挿入作業を成功させることができる。
【0129】
図19A〜図19Hを用いて説明する。図19A〜図19Hは、順に、教示データを基にロボットアーム102を再生する手順を示す。ここでは、モード切替部112は、「再生モード」を選択している。再生の際に、図19Aの時点で、操作者により入出力IF116の開始ボタンが押下され、図19Hの時点で、操作者により入出力IF116の終了ボタンが押下される。また、図20A〜図20Dは、教示時と比較した、再生時の環境変動を示す。図20A〜図20Dにおいて、ペグ穴402について、実線は再生時のペグ穴402の位置を示しており、破線は教示時のペグ穴402の位置を示している。また、符号Y又はXで示す矢印の方向が、教示時のペグ穴402の位置に対する、再生時のペグ穴402の位置の変動方向を示す。
【0130】
図19Aは、ロボットアーム102が再生を開始した時点である。この時点では、ロボットアーム102のハンド1601に把持したペグ401は、ペグ穴402及びペグ穴402の上面402aとは接触していない。
【0131】
次いで、図19Bは、ロボットアーム102のハンド1601に把持したペグ401とペグ穴402の上面402aとが接触した時点である。教示時に、ペグ401の挿入方向に3.0Nを上回るように、操作者によるロボットアーム102の移動動作が誘導されているので、ペグ穴402の上面402aの位置が挿入方向において奥側(図20Aの矢印Y方向)に位置するように変動していても(図20A参照)、ペグ401はペグ穴402の上面402aに接触することができる。
【0132】
次いで、図19Cは、ロボットアーム102のハンド1601に把持したペグ401をペグ穴402の上面402aに沿わせながら、ペグ401をペグ穴402に近づけている時点である。教示時に、挿入方向に3.0Nの力を加えて、ペグ401をペグ穴402の上面402aに常に沿わせているので、ペグ穴402の位置が横方向(図20Bの矢印X方向)に近づくように変動していても(図20B参照)、ペグ401をペグ穴402に挿入することができる。
【0133】
次いで、図19Dは、ロボットアーム102のハンド1601に把持したペグ401がペグ穴402の入り口に到達した時点である。
【0134】
次いで、図19Eは、ロボットアーム102のハンド1601に把持したペグ401の側面401bがペグ穴402の角部402bに接触した時点である。教示時に、ペグ401の対向面401aとペグ穴402の上面402aとで形成する角度αが所定の角度を維持しつつ横方向の力の大きさが3.0Nを上回るように、操作者によるロボットアーム102の移動動作が誘導されているので、ペグ穴402の位置が横方向に遠くなるように変動していても(図20C参照)、ペグ401の側面401bをペグ穴402の角部402bに接触させることができる。
【0135】
次いで、図19Fは、ロボットアーム102のハンド1601に把持したペグ401の側面401bをペグ穴402の角部402bに接触させながら、ペグ401を起こしている時点である。
【0136】
次いで、図19Gは、ロボットアーム102のハンド1601に把持したペグ401の側面401bをペグ穴402の角部402bに接触させながら、ペグ401を起こして、ペグ401の軸方向とペグ穴402の軸方向がほぼ一致した時点である。
【0137】
次いで、図19Hは、ロボットアーム102が再生を終了した時点である。この時点では、ロボットアーム102のハンド1601に把持したペグ401をペグ穴402に挿入し、ペグ401の先端がペグ穴402の奥の底面に接触し、再生動作を終了した時点である。教示時に挿入方向に3.0Nを上回るように、操作者によるロボットアーム102の移動動作が誘導されているので、ペグ穴402の穴の深さが深くなるように(図20DのY方向に)変動していても(図20D参照)、ペグ401の挿入を完了することができる。
【0138】
以上のように、教示データを取得する際に誘導情報を適用するように操作者によるロボットアーム102の移動動作を誘導することによって、再生の際に環境変動があった場合においても、挿入作業を完了することができる。
【0139】
なお、上述したようにペグ401をペグ穴402に挿入する作業を対象としたが、図21に示すようなキャップ(嵌め合わせ部の一例)2101を配管の凸部(被嵌め合わせ部の一例)2102に挿入する作業(嵌め合わせ作業)などにおいても有効である。
【0140】
キャップ2101の挿入作業も、ペグはめ作業と同様に、
(第1工程)キャップ2101が配管の凸部2102の上面2102aに近づく区間と、
(第2工程)キャップ2101の角部2101aが配管の凸部2102の上面2102aを沿う区間と、
(第3工程)キャップ2101の内側側面2101bを配管の凸部2102の側面2102bに当てる区間と、
(第4工程)キャップ2101を配管の凸部2102に対して起こす区間と、
(第5工程)キャップ2101を配管の凸部2102に押し込む区間と、
の5個に区切ることができる。
【0141】
キャップ2101の挿入作業における誘導情報について、図22を用いて説明する。誘導情報についても、ペグはめ作業の場合と同様である。
【0142】
第1の誘導情報は、図22の第2工程において、キャップ2101の角部2101aが配管の凸部2102の上面2102aに接触していることである。図22中の符号Aは、第1の誘導情報を満たすために、キャップ2101から配管の凸部2102に加える力の方向を示す。
【0143】
第2の誘導情報は、第2工程及び第3工程において、キャップ2101の配管対向面2101cと配管の凸部2102の上面2102aとで形成する角度が所定の角度を維持しつつ、キャップ2101を配管の凸部2102に対して近づけることである。図22中の符号Bは、第2の誘導情報を満たすために回転させる回転方向を示す。
【0144】
第3の誘導情報は、第3工程及び第4工程において、キャップ2101の内側側面(移動方向の前側(図22の右側)の内側側面)2101bを配管の凸部2102の側面(移動方向の前側(図22の右側)の外側側面)2102bに接触させることである。図22中の符号Cは、第3の誘導情報を満たすために、キャップ2101の内側側面2101bを配管の凸部2102の側面2102bに加える力の方向を示す。
【0145】
第4の誘導情報は、キャップ2101が配管の凸部2102に接触する工程(第2工程〜第5工程)において、キャップ2101を配管の凸部2102に強く接触させることである。
【0146】
誘導情報記憶部110で記憶している誘導情報及び誘導適用情報についても、図23に示すように、ペグはめ作業の場合と同様である。
【0147】
以上のように、第1実施形態では、ペグはめ作業に限らず、挿入作業全般に適用することができる・
【0148】
第1実施形態のロボットアーム102の制御装置103の操作手順を図24のフローチャートを用いて説明する。
【0149】
まず、ステップS2101では、動作情報取得部106において動作情報を取得し、力情報取得部107において力情報を取得し、ステップS2102に進む。
【0150】
次いで、ステップS2102では、モード切替部112において、「教示モード」が選択された場合はステップS2103に進み、「再生モード」が選択された場合はステップS2107に進む。
【0151】
ステップS2103では、作業区間特定部109において、作業区間情報記憶部108から取得した作業区間情報を基に、ロボットアーム操作時の作業区間を特定し、ステップS2104に進む。
【0152】
次いで、ステップS2104では、誘導適用情報生成部111において、動作情報取得部106から取得した動作情報と時間情報と、力情報取得部107から取得した力情報と時間情報とを基に誘導適用情報を生成し、誘導情報記憶部110から誘導情報と誘導適用情報とを制御方法切替部114に出力し、ステップS2105に進む。
【0153】
次いで、ステップS2105では、制御方法切替部114において、動作情報取得部106から取得した動作情報と時間情報と、力情報取得部107から取得した力情報と時間情報と、作業区間特定部109から取得した現在(ロボットアーム操作時)の作業区間番号情報と時間情報と、誘導情報記憶部110から取得した誘導情報と誘導適用情報と時間情報と、モード切替部112から取得したモード情報と、制御方法情報記憶部113から取得した制御方法情報とに基づき、ロボットアーム操作時の作業区間における誘導適用情報を満たすように、制御方法情報記憶部113から取得した制御方法に切り替え、切り替えた制御方法によって、制御部115により、操作者によるロボットアーム102の移動動作を誘導し、ステップS2106に進む。
【0154】
次いで、ステップS2106では、制御方法切替部114において、教示時に取得した動作情報及び力情報を制御方法切替部114の内部の記憶部に記憶する。
【0155】
一方、ステップS2107では、教示時に取得して制御方法切替部114の内部の記憶部に記憶された動作情報を制御方法切替部114から制御部115に出力し、制御部115において、前記教示時に取得した動作情報を再生する。
【0156】
第1実施形態によれば、教示時において、誘導情報を適用する条件として誘導適用情報を生成し、誘導適用情報を満たすように操作者によるロボットアーム102の移動動作(教示動作)を誘導して、軌跡を生成することによって、再生時に環境変動が生じた場合においても又はセンシング誤差などが生じても、単純に再生するだけで、環境変動に正確に対応して所望の作業を達成することができる。
【0157】
(第2実施形態)
本発明の第2実施形態では、図1A中のロボットアーム102をスレーブロボットとするマスタスレーブロボットの構成を採る。マスタスレーブロボットとは、操作者が操作するマスタロボットと、作業を行うスレーブロボットと、が別のロボットであるシステムである(詳細は後述する)。マスタロボットアーム2502を操作者が操作することで、スレーブロボットが同様に動き、作業を行う。また、スレーブロボットが作業時に取得した力情報をマスタロボットアーム2502にフィードバックすることによって、マスタロボットアーム2502を操作する操作者は作業中の力を感じることができる。
【0158】
図25は、本発明の第2実施形態における、ロボット101Bのブロック図を示す。本発明の第2実施形態のロボット101Bにおけるロボットアーム102と、周辺装置105と、制御装置103Bの制御装置本体部104Bのうちの動作情報取得部106と、力情報取得部107と、作業区間情報記憶部108と、作業区間特定部109と、誘導情報記憶部110と、誘導適用情報生成部111と、モード切替部112と、制御方法切替部114と、制御部115とは第1実施形態と同様であるので、共通の参照符号を付して共通部分の説明は省略し、異なる部分についてのみ、以下、詳細に説明する。
【0159】
制御方法情報記憶部2511は、制御方法情報記憶部113に代えて制御装置103Bに備えられ、第1実施形態における制御方法情報記憶部113の機能に加えて、制御方法情報として、(III)操作者に提示する力の大きさを変化させる制御方法情報と、(IV)接触時の操作者に提示する力の大きさを変化させる制御方法情報とを追加して記憶している。
【0160】
次に、追加した制御方法情報について説明する。
【0161】
(III)操作者に提示する力の大きさを変化させる制御方法情報
操作者がマスタロボットアーム2502を操作する際に、スレーブロボットがマスタロボットアーム2502に提示する力の大きさを変化させることによって、誘導する方向に、操作者によるマスタロボットアーム2502の移動動作を誘導する。ここでは、操作者によるマスタロボットアーム2502の移動動作を誘導する方向に力を提示する。例えば、ロボットアーム102の移動動作を+x軸方向のみに誘導する場合は、マスタロボットアーム2502において−xの方向から+xの方向に働く力を提示することによって、操作者が+x方向に働く力を感じ、マスタロボットアーム2502を+x方向に移動させるように、操作者によるマスタロボットアーム2502の移動動作を誘導する。また、例えば、提示する力の大きさは、本来、提示する力に3.0Nの大きさの力を加えて提示する。
【0162】
(IV)接触時の操作者に提示する力の大きさを変化させる制御方法情報
操作者がマスタロボットアーム2502を操作する際に、スレーブロボットがマスタロボットに提示する力の大きさを変化させることによって、ペグ401とペグ穴402とが接触する際に接触する方向に操作者によるマスタロボットアーム2502の移動動作を誘導する。ここでは、ペグ401とペグ穴402とが接触する際に発生する力に関して、その大きさを小さくして操作者の手1401に提示する。例えば、ロボットアーム102によりペグ401をペグ穴402の上面402a及びペグ穴402に接触させる際にペグ401をペグ穴402の上面402a及びペグ穴402に強く接触させるために+x軸方向に操作者によるマスタロボットアーム2502の移動動作を誘導する場合は、マスタロボットアーム2502において+xの方向から−xの方向に働く反力を、実際に生じた反力より小さく提示することによって、操作者が反力を弱く感じ、マスタロボットアーム2502を+x方向に移動させるように、操作者によるマスタロボットアーム2502の移動動作を誘導する。また、例えば、提示する力の大きさは、本来提示する力の1/2の大きさとする。
【0163】
このように接触する際に提示する反力を小さくすることによって、第4の誘導情報(強く接触する)に関する誘導適用情報を満たすように、操作者によるマスタロボットアーム2502の移動動作を誘導することができる。
【0164】
上記の制御方法情報を追加した場合の制御方法情報記憶部2511で記憶している情報については図26に示すように記憶されている。
【0165】
制御方法情報記憶部2511は、制御方法情報を制御方法切替部114に出力する。
【0166】
マスタロボット2501は、マスタロボットアーム2502と、マスタロボットアーム2502の制御装置2503とで構成されている。
【0167】
マスタロボットアーム2502の制御装置2503は、マスタ制御装置本体部2504と、マスタ周辺装置2505とで構成されている。マスタ制御装置本体部2504は、マスタ動作情報取得部2506と、マスタ力情報生成部2507と、マスタ制御部2508とで構成されている。マスタ周辺装置2505は、マスタ入出力IF2509と、マスタモータドライバ2510とで構成されている。それぞれの機能について、以下に説明する。
【0168】
マスタ動作情報取得部2506は、マスタ入出力IF2509からマスタロボットアーム2502の位置情報及び姿勢情報と、マスタ入出力IF2509に内蔵されたタイマーからの時間情報とが入力される。また、マスタ動作情報取得部2506は、マスタ入出力IF2509から取得した位置情報及び姿勢情報を時間情報で微分することによって、速度情報を取得する。マスタ動作情報取得部2506は、取得したマスタロボットアーム2502の位置情報と、姿勢情報と、速度情報と、時間情報とを、マスタ制御部2508に出力する。
【0169】
マスタ力情報生成部2507は、制御装置103Bの制御部115から、力情報取得部107で取得した力情報と、制御方法情報と、時間情報とが入力される。マスタ力情報生成部2507は、制御部115から入力された力情報を生成する。生成した力情報と時間情報とをマスタ入出力IF2509に出力して、マスタロボットアーム2502に入力する。言い換えれば、制御装置103Bの力情報取得部107で取得した環境情報をマスタロボットアーム2502に伝達する。また、制御部115から取得した制御方法情報に応じて力情報を生成する。ここでは、制御方法情報を基に、所望の方向に、操作者によるマスタロボットアーム2502の移動動作を誘導するような力を提示する。
【0170】
マスタ制御部2508は、マスタ動作取得部2506から位置情報と、姿勢情報と、速度情報と、時間情報とが入力され、制御部115から制御方法情報と動作情報と時間情報とが入力される。マスタ制御部2508は、入力された情報を基に、動作情報を生成し、マスタ入出力IF2509に内蔵されたタイマーを利用して、ある一定時間毎(例えば、1ms毎)に、マスタ入出力IF2509に出力する。
【0171】
マスタ入出力IF2509は、マスタ制御部2508から入力された動作情報をマスタモータドライバ2510に出力する。ロボットアーム102のエンコーダ1615と同様にマスタロボットアーム2502に取り付けたエンコーダ1615から入力された値からマスタロボットアーム2502の位置情報及び姿勢情報をエンコーダ1615内部の演算部で求め、マスタ入出力IF2509から、位置情報及び姿勢情報とマスタ入出力IF2509に内蔵されたタイマーからの時間情報とをマスタ動作情報取得部2506に出力する。また、マスタ入出力IF2509は、マスタ力情報生成部2508から入力された力情報を出力する。
【0172】
マスタモータドライバ2510は、マスタ入出力IF2509から取得した動作情報を基に、マスタロボットアーム2502を制御するために、ロボットアーム102のそれぞれのモータ1614と同様に取り付けられたマスタロボットアーム2502のそれぞれのモータ1614への指令値をマスタロボットアーム2502に出力する。
【0173】
マスタロボットアーム2502は、マスタ入出力IF2509に内蔵されたタイマーを利用して、ある一定時間毎(例えば、1ms毎)に、マスタロボットアーム2502の位置情報をマスタロボットアーム2502の各エンコーダ1615からマスタ入出力IF2509に出力する。また、マスタロボットアーム2502は、マスタモータドライバ2510からの指令値に従って制御される。マスタロボットアーム2502の構成は図16のロボットアーム102に示す構成と同様である。
【0174】
<動作手順の説明>
次に、操作者がロボットアーム102を移動操作して動作を生成する教示モードと、ロボットアーム102が動作を再生する再生モードの手順を説明する。
【0175】
教示モードでは、第2実施形態の手順は第1実施形態の図17A〜図17H、及び、図18の(a)〜(c)を用いて説明した手順と同様である。再生モードでは、第2実施形態の手順は第1実施形態の図19A〜図19Hを用いて説明した手順と同様である。ここでは、第1実施形態との差異である、教示モードにおける誘導方法について、(III)操作者に提示する力の大きさを変化させる制御方法情報と、(IV)接触時の操作者に提示する力の大きさを変化させる制御方法情報とに関して、それぞれ説明する。
【0176】
(III)操作者に提示する力の大きさを変化させる制御方法情報
図17Bにおける挿入方向と回転方向との誘導を例に、図27A及び図27Bを用いて制御方法を説明する。図27Aは操作者が操作するマスタロボットアーム2502を示し、図27Bはペグはめ作業を行うスレーブロボット102を示す。図17Bの状態では、ペグ401とペグ穴402の上面402aとが接触した時点である。
【0177】
「誘導情報1」と「誘導情報4」とより、誘導適用情報として、挿入方向の力の大きさが3.0Nを上回るという条件を満たす必要がある。この条件を満たすために、マスタロボット2501のマスタ力情報生成部2507において、挿入方向に関して−yの方向から+yの方向に働く力情報(3.0N)を生成し、マスタ制御部2508により、マスタロボットアーム2502を把持する操作者の手1401に力を提示する。操作者の手1401への力の提示方法は、フックの法則(例えば、バネ定数は0.5とする)を用いて力情報を位置情報にマスタ力情報生成部2507で変換し、マスタ力情報生成部2507で算出した位置情報を指令値としてマスタロボットアーム2502にマスタ力情報生成部2507からマスタ制御部2508及びマスタ周辺装置2505などを介して出力し、マスタモータ1614を動かすことで、力の伝達を実現する。
【0178】
このように力を提示することによって、マスタロボットアーム2502を把持する操作者の手1401に、挿入方向に働く力が提示され(図27Aの参照符号A参照)、操作者によるマスタロボットアーム2502の移動動作が挿入方向に誘導される。
【0179】
また、「誘導情報2」の誘導情報より、誘導適用情報として、反力の方向に対して0.5radを上回りかつ0.7radを下回るという条件を満たす必要がある。この条件を満たすために、回転方向(φ軸方向)に関してマスタ力情報生成部2507で力情報を生成し、操作者の手1401に提示する。ロボットアーム102の姿勢が反力の方向に対して0.5radを下回る場合は、−φの方向から+φの方向に働く力情報(0.03Nm)を生成し、マスタロボットアーム2502を把持する操作者の手1401に力を提示する(図27Aの参照符号B参照)。ロボットアーム102の姿勢が反力の方向に対して0.7radを上回る場合は、+φの方向から−φの方向に働く力情報(0.03Nm)を生成し、マスタロボットアーム2502を把持する操作者の手1401に力を提示する。ロボットアーム102の姿勢が反力の方向に対して0.5radを上回り、0.7radを下回る場合は、力情報の提示を行わない。このように力情報を提示することによって、ロボットアーム102の手先角度が、所望の角度の範囲外である場合は、所望の角度の範囲内に移動するように、操作者によるマスタロボットアーム2502の移動動作を誘導する。このように誘導することによって、自動入力と比較して、操作者の介在度が大きくなるので、操作者の判断を教示時に反映させやすくなる。操作者の手1401への力の提示方法は、フックの法則(例えば、バネ定数は0.5とする)を用いて力情報を位置情報にマスタ力情報生成部2507で変換し、マスタ力情報生成部2507で算出した位置情報を指令値としてマスタロボットアーム2502にマスタ力情報生成部2507からマスタ制御部2508及びマスタ周辺装置2505などを介して出力し、マスタモータ1614を動かすことで、力の伝達を実現する。
【0180】
以上のような制御方法で、操作者によるマスタロボットアーム2502の移動動作を誘導するように教示する。
【0181】
(IV)接触時の操作者に提示する力の大きさを変化させる制御方法情報
図17Hにおける挿入方向の誘導を例に、図28A及び図28Bを用いて、制御方法を説明する。
【0182】
図28Aは操作者が操作するマスタロボットアーム2502を示し、図28Bはペグはめ作業を行うスレーブロボット102を示す。図17Hの状態では、ペグ401の先端がペグ穴402の奥の底面に接触する時点である。ペグ401の先端とペグ穴402の底面とが接触する際に生じる図28Bの参照符号Bの力をFとすると、操作者の手1401に提示する力(図28Aの参照符号Aの力)を0.5Fとすることによって、接触する際の提示する力の大きさを小さくする。操作者の手1401に、実際の力の大きさよりも小さく提示することによって、操作者はさらにペグ401をペグ穴402内に挿入するため、ペグ401とペグ穴402とを強く接触させるように、操作者によるマスタロボットアーム2502の移動動作を誘導することが可能となる。
【0183】
第2実施形態のロボットアーム102の制御装置103Bの操作手順を図29のフローチャートを用いて説明する。ここでは、図25に示すマスタスレーブロボットにおいて、スレーブロボット102について説明する。
【0184】
まず、ステップS2101では、動作情報取得部106において動作情報を取得し、力情報取得部107において力情報を取得し、ステップS2102に進む。
【0185】
次いで、ステップS2102では、モード切替部112において、「教示モード」が選択された場合はステップS2103に進み、「再生モード」が選択された場合はステップS2107に進む。
【0186】
ステップS2103では、作業区間特定部109において、作業区間情報記憶部108から取得した作業区間情報を基に、ロボットアーム操作時の作業区間を特定し、ステップS2104に進む。
【0187】
次いで、ステップS2104では、誘導適用情報生成部111において、動作情報取得部106から取得した動作情報と時間情報と、力情報取得部107から取得した力情報と時間情報とを基に誘導適用情報を生成し、誘導情報記憶部110から誘導情報と誘導適用情報とを制御方法切替部114に出力し、ステップS2901に進む。
【0188】
次いで、ステップS2901では、制御方法切替部114において、動作情報取得部106から取得した動作情報と時間情報と、力情報取得部107から取得した力情報と時間情報と、作業区間特定部109から取得した現在(ロボットアーム操作時)の作業区間番号情報と時間情報と、誘導情報記憶部110から取得した誘導情報と誘導適用情報と時間情報と、モード切替部112から取得したモード情報と、制御方法情報記憶部2511から取得した制御方法情報とに基づき、ロボットアーム操作時の作業区間における誘導適用情報を満たすように、制御方法情報記憶部2511から取得した制御方法に切り替え、切り替えた制御方法によって、マスタ制御部2508により、操作者によるマスタロボットアーム2502の移動動作を誘導する。ここでは、制御方法記憶部2511より(III)操作者に提示する力の大きさを変化させる制御方法情報と(IV)接触時の操作者に提示する力の大きさを変化させる制御方法情報との少なくとも1つ以上の情報を用いる。次に、ステップS2106に進む。
【0189】
次いで、ステップS2106では、制御方法切替部114において、教示時に取得した動作情報及び力情報を制御方法切替部114の内部の記憶部に記憶する。
【0190】
一方、ステップS2107では、教示時に取得して制御方法切替部114の内部の記憶部に記憶された動作情報を制御方法切替部114から制御部115に出力し、制御部115において、前記教示時に取得した動作情報を再生する。
【0191】
第2実施形態によれば、マスタスレーブ(遠隔装置)を用いた場合においても、操作者によるマスタロボットアーム2502の移動動作を誘導して、誘導情報を適用した軌跡を生成することができる。また、操作者が手で力を感じることができるので、視覚的に見にくい作業を行う場合においても、誘導情報を適用することができる。
【0192】
(第3実施形態)
図30は、本発明の第3実施形態における、ロボット101Cのブロック図を示す。本発明の第3実施形態のロボット101Cにおけるロボットアーム102と、周辺装置105と、制御装置103Cの制御装置本体部104Cのうちの動作情報取得部106と、力情報取得部107と、作業区間情報記憶部108と、作業区間特定部109と、誘導情報記憶部110と、誘導適用情報生成部111と、モード切替部112と、制御方法切替部114と、制御部115とは第1実施形態と同様であるので、共通の参照符号を付して共通部分の説明は省略し、異なる部分についてのみ、以下、詳細に説明する。
【0193】
制御方法情報記憶部3001は、制御方法情報記憶部113に代えて制御装置103Cに備えられ、第1実施形態における制御方法情報記憶部113の機能に加えて、制御方法情報として、(V)操作者によるロボットアーム102の移動動作を誘導する方向と逆の方向にロボットアーム102を移動しにくくする制御方法情報を追加して記憶している。
【0194】
次に、追加した制御方法情報について説明する。
【0195】
(V)操作者によるロボットアーム102の移動動作を誘導する方向と逆の方向にロボットアーム102を移動しにくくする制御方法情報
この制御方法情報は、(I)ロボットアーム102の制御ゲインを変化させる制御方法情報と組み合わせて使用する。
【0196】
(I)ロボットアーム102の制御ゲインを変化させる制御方法情報では、ロボットアーム102の位置又は姿勢に関して、操作者によるロボットアーム102の移動動作を誘導する方向のみゲインkを大きくすることによって、操作者によるロボットアーム102の移動動作を誘導する方向のみにロボットアーム102を移動しやすくする。それに加えて、(V)操作者によるロボットアーム102の移動動作を誘導する方向と逆の方向にロボットアーム102を移動しにくくする制御方法情報では、ロボットアーム102の位置又は姿勢に関して、操作者によるロボットアーム102の移動動作を誘導する方向と逆の方向のゲインkを小さくすることによって、操作者によるロボットアーム102の移動動作を誘導する方向と逆の方向にはロボットアーム102を移動しにくくする。例えば、(I)ロボットアーム102の制御ゲインを変化させる制御方法情報では、ロボットアーム102の移動動作を+x軸の方向に誘導する場合は、ゲインkの値を2.0とし、他のゲインの値を1.0とする。それに加えて、−x軸の方向に移動させる場合に、ゲインkの値を0.5とし、操作者によるロボットアーム102の移動動作を+x軸の方向に誘導する場合に、ゲインkの値を2.0とする。ロボットアーム102を移動させる方向によってゲインkの値を変化させる。具体的には、図14のロボットアーム102の前腕リンク用力センサ1402が取り付けられ、操作者の手1401が前腕リンク用力センサ1402に加える力の方向によって、ゲインkを切り替える。このようにゲインを制御部115により変化させることによって、操作者が全方向に同じように力を加えた場合においても、+x軸方向に他の軸方向と比較してロボットアーム102が2倍移動することとなり、−x軸方向に他の軸方向と比較してロボットアーム102が0.5倍移動することとなる。
【0197】
このようにロボットアーム102の移動動作を誘導する方向と逆の方向にロボットアーム102を移動しにくくすることによって、操作者によるロボットアーム102の移動動作を誘導する方向にロボットアーム102を移動することが可能となる。
【0198】
上記の制御方法情報を追加した場合の制御方法情報記憶部3001で記憶している情報については、図31に示すように記憶されている。
【0199】
制御方法情報記憶部3001は、制御方法情報を制御方法切替部114に出力する。
【0200】
次に、操作者がロボットアーム102を移動操作して動作を生成する教示モードと、ロボットアーム102が動作を再生する再生モードの手順を説明する。
【0201】
教示モードでは、第3実施形態の手順は第1実施形態の図17A〜図17H、及び、図18の(a)〜(c)を用いて説明した手順と同様である。再生モードでは、第2実施形態の手順は第1実施形態の図19A〜図19Hを用いて説明した手順と同様である。ここでは、第1実施形態との差異である、教示モードにおける誘導方法について、図17Bにおける挿入方向の誘導を例に説明する。
【0202】
図17Bにおいて、「誘導情報1」及び「誘導情報4」より、誘導適用情報として、挿入方向の力の大きさが3.0Nを上回るという条件を満たす必要がある。この条件を満たすために、制御ゲインkに関して挿入方向のゲインkの値を制御部115により変化させる。ゲインkの値の変化の方法は、前腕リンク用力センサ1402の値において、力Fに関して挿入方向に操作者の力が加わる場合には、ゲインkの値を2.0とし、力Fに関して挿入方向と逆方向に操作者の力が加わる場合には、ゲインkの値を0.5とするように、ゲインkの値を制御部115により変化させる。また、制御部115により他のゲインの値を1.0とする。このようにゲインを制御部115により変化させることによって、ロボットアーム102を挿入方向に移動しやすいように、操作者によるロボットアーム102の移動動作を誘導する。
【0203】
第3実施形態のロボットアーム102の制御装置103Cの操作手順を図32のフローチャートを用いて説明する。
【0204】
まず、ステップS2101では、動作情報取得部106において動作情報を取得し、力情報取得部107において力情報を取得し、ステップS2102に進む。
【0205】
次いで、ステップS2102では、モード切替部112において、「教示モード」が選択された場合はステップS2103に進み、「再生モード」が選択された場合はステップS2107に進む。
【0206】
ステップS2103では、作業区間特定部109において、作業区間情報記憶部108から取得した作業区間情報を基に、ロボットアーム操作時の作業区間を特定し、ステップS2104に進む。
【0207】
次いで、ステップS2104では、誘導適用情報生成部111において、動作情報取得部106から取得した動作情報と時間情報と、力情報取得部107から取得した力情報と時間情報とを基に誘導適用情報を生成し、誘導情報記憶部110から誘導情報と誘導適用情報とを制御方法切替部114に出力し、ステップS3201に進む。
【0208】
次いで、ステップS3201では、制御方法切替部114において、動作情報取得部106から取得した動作情報と時間情報と、力情報取得部107から取得した力情報と時間情報と、作業区間特定部109から取得した現在(ロボットアーム操作時)の作業区間番号情報と時間情報と、誘導情報記憶部110から取得した誘導情報と誘導適用情報と時間情報と、モード切替部112から取得したモード情報と、制御方法情報記憶部3001から取得した制御方法情報とに基づき、ロボットアーム操作時の作業区間における誘導適用情報を満たすように、制御方法情報記憶部3001から取得した制御方法に切り替え、切り替えた制御方法によって、制御部115により、操作者によるロボットアーム102の移動動作を誘導する。ここでは、制御方法記憶部3001より(I)ロボットアーム102の制御ゲインを変化させる制御方法情報及び(V)操作者によるロボットアーム102の移動動作を誘導する方向と逆の方向にロボットアーム102を移動しにくくする制御方法情報を用いる。次に、ステップS2106に進む。
【0209】
次いで、ステップS2106では、制御方法切替部114において、教示時に取得した動作情報及び力情報を制御方法切替部114の内部の記憶部に記憶する。
【0210】
一方、ステップS2107では、教示時に取得して制御方法切替部114の内部の記憶部に記憶された動作情報を制御方法切替部114から制御部115に出力し、制御部115において、前記教示時に取得した動作情報を再生する。
【0211】
第3実施形態によれば、教示時において、誘導適用情報を満たすように操作者によるロボットアーム102の移動動作を誘導して、軌跡を生成する際に、操作者によるロボットアーム102の移動動作を誘導する方向と逆の方向にはロボットアーム102を移動しにくくなるため、正確に誘導することができる。
【0212】
(第4実施形態)
図33は、本発明の第4実施形態における、ロボット101Dのブロック図を示す。本発明の第4実施形態のロボット101Dにおけるロボットアーム102と、周辺装置105と、制御装置103Dの制御装置本体部104Dのうちの動作情報取得部106と、力情報取得部107と、作業区間情報記憶部108と、作業区間特定部109と、誘導情報記憶部110と、誘導適用情報生成部111と、モード切替部112と、制御方法情報記憶部113と、制御部115とは第1実施形態と同様であるので、共通の参照符号を付して共通部分の説明は省略し、異なる部分についてのみ、以下、詳細に説明する。
【0213】
制御方法切替部3301は、制御方法切替部114に代えて制御装置103Dに備えられ、第1実施形態における制御方法切替部114の機能に加えて、以下の機能を有する。作業区間特定部109において、ロボットアーム操作時の区間が複数の区間であると特定された場合は、複数の区間の誘導適用情報を取得し、それらの誘導適用情報を満たすように制御方法を切り替える。
【0214】
<動作手順の説明>
操作者がロボットアーム102を移動操作して動作を生成する教示モードと、ロボットアーム102が動作を再生する再生モードの手順を説明する。
【0215】
<教示モードの説明>
教示モードについて、図34A〜図34F、及び、図35の(a)〜(c)を用いて説明する。図34A〜図34Fは、順に、操作者の手1401によりロボットアーム102に動作を教示する手順を示す。また、図35の(a)〜(c)は、教示動作中のペグ401のペグ穴402への挿入方向の位置(mm)、挿入方向の力(N)、横方向の力(N)をそれぞれ示す。ここでは、モード切替部112は、「教示モード」を選択している。図35の(a)〜(c)に示す図34A〜図34Fの表記はそれぞれの状態における位置情報又は力情報を示す。教示の際に、図34Aの時点で、操作者により入出力IF116の開始ボタンが押下され、図34Fの時点で、操作者により入出力IF116の終了ボタンが押下される。図34A〜図34Fの図17A〜図17Hとの違いは、ペグ401の対向面401aを、ペグ穴402の上面402aに沿わさずに、直接、ペグ穴402の角部(ペグ穴402の開口の手前側の角部)402cに当てている点である。
【0216】
図34Aは、操作者の手1401がロボットアーム102を把持し、操作者がロボットアーム102に対して教示を開始した時点である。この時点では、ロボットアーム102のハンド1601に把持したペグ401は、ペグ穴402及びペグ穴402の上面402aとは接触していない。図35の(b)及び図35の(c)の図34Aと示す(参照符号A)時点より、力が加えられていないことが、力情報取得部107を介して作業区間特定部109により、わかり、作業区間特定部109において、作業区間情報記憶部108内の図8の作業区間情報を参照して、「作業区間番号1」であると特定する。誘導情報記憶部110内の図13の誘導情報では、「作業区間番号1」においては、適用する誘導情報が無いので、誘導せずに、操作者の手1401でロボットアーム102を把持してロボットアーム102を移動させる。
【0217】
次いで、図34Bは、ペグ401がペグ穴402の入り口に到達した時点である。図35の(b)の図34Bと示す(参照符号B)時点より、挿入方向の力の大きさが閾値1.0Nを上回っていることと、図35の(a)の図34Bと示す(参照符号B)時点より、挿入方向の位置が変化していることとが、力情報取得部107を介して作業区間特定部109により確認できる。その結果、作業区間特定部109において、作業区間情報記憶部108内の図8の作業区間情報を参照して、「作業区間番号2」と「作業区間番号3」とであると特定する。誘導情報記憶部110内の図13の誘導情報では、「作業区間番号2」においては「誘導情報1」と「誘導情報2」と「誘導情報4」とを適用すると記憶し、「作業区間番号3」においては「誘導情報2」と「誘導情報3」と「誘導情報4」とを適用すると記憶している。よって、この時点では、「誘導情報1」と「誘導情報2」と「誘導情報3」と「誘導情報4」とを適用する。「誘導情報1」と「誘導情報2」と「誘導情報3」と「誘導情報4」とは、誘導適用情報生成部111において、図13で表される誘導適用情報を生成する。第1実施形態で述べた制御方法で、「誘導情報1」と「誘導情報2」と「誘導情報3」と「誘導情報4」との誘導適用情報を満たすように、操作者によるロボットアーム102の移動動作の誘導を行う。この時点で複数の区間の誘導適用情報(「作業区間番号2」と「作業区間番号3」との誘導適用情報)を満たすように制御方法を切り替えている点が、第4実施形態の特徴である。
【0218】
誘導適用情報の適用方法については、第1実施形態で説明した方法と同様である。誘導情報を適用する場合は、それぞれの誘導情報について、制御方法切替部114により、同時に適用する。図34Bの場合は、「誘導情報1」と「誘導情報2」と「誘導情報3」と「誘導情報4」とを、制御方法切替部114により、同時に適用する。しかしながら、誘導情報を同時に適用できない場合もある。このような場合においては、適用する順について優先順位がある。その優先順位は、誘導情報番号の数字が小さい誘導情報から順に、制御方法切替部114により、適用する。ただし、「誘導情報4」については、「誘導情報1」及び「誘導情報3」とセットで適用する場合と、「誘導情報4」のみで適用する場合とで、優先順位が異なる。以上をまとめると、次のような優先順位となる。
【0219】
1+4>2>3+4>4。
ここで、「+4」という表記は、それぞれ、「誘導情報1」と「誘導情報3」とセットで適用していることを示す。図34Bの場合は、「誘導情報1」+「誘導情報4」を先に適用し、その後に「誘導情報2」を適用し、最後に「誘導情報3」+「誘導情報4」を適用する。 次いで、図34Cは、ペグ401の側面401bがペグ穴402の角部402bに接触した時点である。図35の(a)の図34Cと示す(参照符号C)時点より、挿入方向の位置が変化していることとが、力情報取得部107を介して作業区間特定部109により、確認でき、作業区間特定部109において、作業区間情報記憶部108内の図8の作業区間情報を参照して、「作業区間番号3」であると特定する。そして、第1実施形態で述べた「作業区間番号3」における、操作者によるロボットアーム102の移動動作の誘導を行う。
【0220】
次いで、図34Dは、ペグ401の側面401bをペグ穴402の角部402bに接触させながら、ペグ401を起こしている時点である。図35の(c)の図34Dと示す(参照符号D)時点より、横方向の力の大きさが閾値1.0Nを上回っていることが、力情報取得部107を介して作業区間特定部109により、確認でき、作業区間特定部109において、「作業区間番号4」であると特定する。誘導情報記憶部110内の図13の誘導情報では、「作業区間番号4」においては、「誘導情報3」と「誘導情報4」とを適用すると記憶している。「誘導情報3」と「誘導情報4」とは、誘導適用情報生成部111において、図13で表される誘導適用情報を生成する。「誘導情報3」と「誘導情報4」との誘導適用情報に関しては、第1実施形態で述べた方法と同様の方法で、操作者によるロボットアーム102の移動動作を誘導する。
【0221】
次いで、図34Eは、ペグ401の側面401bをペグ穴402の角部402bに接触させながら、ペグ401を起こして、ペグ401の軸方向とペグ穴402の軸方向がほぼ一致した時点である。図35の(c)の図34Eと示す(参照符号E)時点より、横方向の力の大きさが閾値1.0Nを上回っていることが力情報取得部107を介して作業区間特定部109により確認でき、作業区間特定部109において、作業区間情報記憶部108内の図8の作業区間情報を参照して、「作業区間番号4」であると特定する。そして、第1実施形態で述べた方法と同様の方法で、操作者によるロボットアーム102の移動動作を誘導する。
【0222】
次いで、図34Fは、操作者の手1401がロボットアーム102を把持し、操作者がロボットアーム102に対して教示を終了した時点である。この時点では、ペグ401をペグ穴402に挿入し、ペグ401の先端がペグ穴402の奥の底面に接触し、教示動作を終了した時点である。図35の(b)Bの図34Fと示す(参照符号F)時点より、挿入方向の力の大きさが閾値1.0Nを下回っていることが力情報取得部107を介して作業区間特定部109により確認でき、作業区間特定部109において、作業区間情報記憶部108内の図8の作業区間情報を参照して、「作業区間番号5」であると特定する。誘導情報記憶部110内の図13の誘導情報では、「作業区間番号5」においては「誘導情報4」を適用すると記憶している。よって、第1実施形態で述べた方法で挿入方向に、操作者によるロボットアーム102の移動動作を誘導する。
【0223】
以上のような手順で、操作者によるロボットアーム102の移動動作を誘導するように教示する。
【0224】
<再生モードの説明>
次に、上述した方法で教示して得られた教示データを再生する手順を示す。ここでは、上述したように誘導情報を適用するように、操作者によるロボットアーム102の移動動作を誘導して教示データを生成したため、教示データを単純に再生することで、ペグ穴402において環境変動が生じる場合においても、ペグ401のペグ穴402への挿入作業を成功させることができる。
【0225】
図36A〜図36Fを用いて説明する。図36A〜図36Fは、順に、教示データを基にロボットアーム102を再生する手順を示す。ここでは、モード切替部112は、「再生モード」を選択している。再生の際に、図36Aの時点で、操作者により入出力IF116の開始ボタンが押下され、図36Fの時点で、操作者により入出力IF116の終了ボタンが押下される。
【0226】
図36Aは、ロボットアーム102が再生を開始した時点である。この時点では、ロボットアーム102のハンド1601に把持したペグ401はペグ穴402及びペグ穴402の上面402aとは接触していない。
【0227】
次いで、図36Bは、ロボットアーム102のハンド1601に把持したペグ401がペグ穴402の入り口に到達した時点である。教示時に、挿入方向に3.0Nを上回るように、操作者によるロボットアーム102の移動動作が誘導されているので、ペグ穴402の位置が、挿入方向の奥側に位置するように(図20Aの矢印Y方向に)変動していても(図20A参照)、また横方向に近くなるように変動していても(図20B参照)、ペグ401をペグ穴402に挿入することができる。
【0228】
次いで、図36Cは、ロボットアーム102のハンド1601に把持したペグ401の側面401bがペグ穴402の角部402bに接触した時点である。教示時に、ペグ401の対向面401aとペグ穴402の上面402aとで形成する角度αが所定の角度を維持しつつ横方向の力の大きさが3.0Nを上回るように、操作者によるロボットアーム102の移動動作が誘導されているので、ペグ穴402の位置が横方向に遠くなるように変動していても(図20C参照)、ペグ401の側面401bをペグ穴402の角部402bに接触させることができる。
【0229】
次いで、図36Dは、ロボットアーム102のハンド1601に把持したペグ401の側面401bをペグ穴402の角部402bに接触させながら、ペグ401を起こしている時点である。
【0230】
次いで、図36Eは、ロボットアーム102のハンド1601に把持したペグ401の側面401bをペグ穴402の角部402bに接触させながら、ペグ401を起こして、ペグ401の軸方向とペグ穴402の軸方向がほぼ一致した時点である。
【0231】
次いで、図36Fは、ロボットアーム102が再生を終了した時点である。この時点では、ロボットアーム102のハンド1601に把持したペグ401をペグ穴402に挿入し、ペグ401の先端がペグ穴402の奥の底面に接触し、再生動作を終了した時点である。教示時に挿入方向に3.0Nを上回るように、操作者によるロボットアーム102の移動動作が誘導されているので、ペグ穴402の穴の深さが深くなるように(図20DのY方向に)変動していても(図20D参照)、ペグ401の挿入を完了することができる。
【0232】
以上のように、教示データを取得する際に誘導情報を適用するように、操作者によるロボットアーム102の移動動作を誘導することによって、再生の際に環境変動があった場合においても、作業を完了することができる。
【0233】
第4実施形態のロボットアーム102の制御装置103Dの操作手順を図37のフローチャートを用いて説明する。
【0234】
まず、ステップS2101では、動作情報取得部106において動作情報を取得し、力情報取得部107において力情報を取得し、ステップS2102に進む。
【0235】
次いで、ステップS2102では、モード切替部112において、「教示モード」が選択された場合はステップS3701に進み、「再生モード」が選択された場合はステップS2107に進む。
【0236】
ステップS3701では、作業区間特定部109において、作業区間情報記憶部108から取得した作業区間情報を基に、ロボットアーム操作時の複数の作業区間を特定し、ステップS3702に進む。
【0237】
次いで、ステップS3702では、誘導適用情報生成部111において、動作情報取得部106から取得した動作情報と時間情報と、力情報取得部107から取得した力情報と時間情報とを基に複数の作業区間の誘導適用情報を生成し、誘導情報記憶部110から複数の作業区間の誘導情報と誘導適用情報とを制御方法切替部3301に出力し、ステップS3703に進む。
【0238】
次いで、ステップS3703では、制御方法切替部3301において、動作情報取得部106から取得した動作情報と時間情報と、力情報取得部107から取得した力情報と時間情報と、作業区間特定部109から取得した現在(ロボットアーム操作時)の作業区間番号情報と時間情報と、誘導情報記憶部110から取得した誘導情報と誘導適用情報と時間情報と、モード切替部112から取得したモード情報と、制御方法情報記憶部113から取得した制御方法情報とに基づき、ロボットアーム操作時の複数の作業区間の誘導適用情報を満たすように、制御方法情報記憶部113から取得した制御方法に切り替え、切り替えた制御方法によって、制御部115により、操作者によるロボットアーム102の移動動作を誘導する。次に、ステップS2106に進む。
【0239】
次いで、ステップS2106では、制御方法切替部3301において、教示時に取得した動作情報及び力情報を制御方法切替部3301の内部の記憶部に記憶する。
【0240】
一方、ステップS2107では、制御部115において、教示時に取得して制御方法切替部3301の内部の記憶部に記憶された動作情報を再生する。
【0241】
第4実施形態によれば、教示時において、教示時に操作者が様々な挿入方法で挿入した場合においても、複数の作業区間の誘導適用情報を満たすように操作者によるロボットアーム102の移動動作を誘導することによって、様々な挿入方法に対応することができる。
【0242】
なお、各実施形態において、動作情報取得部106と、力情報取得部107と、作業区間情報取得部108と、作業区間特定部109と、誘導情報取得部110と、制御方法情報取得部113と、制御部115と(あるいは、さらに、制御方法切替部114又は誘導適用情報生成部111)などのそれぞれ、又は、そのうちの任意の一部は、それ自体がソフトウェアで構成することができる。よって、例えば、本願明細書のそれぞれの実施形態の制御動作を構成するステップを有するコンピュータプログラムとして、記憶装置(ハードディスク等)などの記録媒体に読み取り可能に記憶させ、そのコンピュータプログラムをコンピュータの一時記憶装置(半導体メモリ等)に読み込んでCPUを用いて実行することにより、前記した各ステップを実行することができる。
【0243】
なお、上記様々な実施形態又は変型例のうちの任意の実施形態又は変型例を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
【産業上の利用可能性】
【0244】
本発明にかかるロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、ロボットアームの制御用集積電子回路は、教示時に誘導情報を適用する条件を生成し、その条件を満たすように教示動作を誘導することによって、再生時に環境変動などが生じた場合においても作業を達成することができ、産業用ロボット又は生産設備などにおける可動機構のロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、ロボットアームの制御用集積電子回路として有用である。また、本発明にかかるロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、ロボットアームの制御用集積電子回路は、産業用ロボットに限らず、家庭用ロボットのロボットアーム、ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、ロボットアームの制御用集積電子回路として適用される可能性もある。
【符号の説明】
【0245】
101、101B、101C、101D ロボット
102 ロボットアーム
103、103B、103C、103D ロボットアームの制御装置
104、104B、104C、104D 制御装置
105 周辺装置
106 動作情報取得部
107 力情報取得部
108 作業区間情報記憶部
109 作業区間特定部
110 誘導情報記憶部
111 誘導適用情報生成部
112 モード切替部
113 制御方法情報記憶部
114 制御方法切替部
115 制御部
116 入出力IF
117 モータドライバ
399 保持部材
400 物体
401 ペグ
401a ペグ穴対向面
401b 角部
401c 角部
402 ペグ穴
402a 上面
402b 側面
402c 角部
402d 内周面
1401 操作者の手
1402 前腕リンク用力センサ
1601 ハンド
1602 手首部
1603 前腕リンク
1604 上腕リンク
1605 台座
1606 第1関節部
1607 第2関節部
1608 第3関節部
1609 第4関節部
1610 第5関節部
1611 第6関節部
1612 絶対座標系
1613 手先座標系
1614 モータ
1615 エンコーダ
1616 力センサ
2101 キャップ
2102 配管
2501 マスタロボット
2502 マスタロボットアーム
2503 マスタロボットアームの制御装置
2504 マスタ制御装置
2505 マスタ周辺装置
2506 マスタ動作情報取得部
2507 マスタ力情報生成部
2508 マスタ制御部
2509 マスタ入出力IF
2510 マスタモータドライバ
2511 制御方法情報記憶部
3001 制御方法情報記憶部
3301 制御方法切替部

【特許請求の範囲】
【請求項1】
操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御装置において、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも1つ以上の動作情報を取得する動作情報取得部と、
前記ロボットアームに外部から加えられた力情報を取得する力情報取得部と、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を取得する作業区間情報取得部と、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも1つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を特定する作業区間特定部と、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を取得する誘導情報取得部と、
前記ロボットアームの制御方法の情報である制御方法情報を取得する制御方法情報取得部と、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御する制御部とを備えるロボットアームの制御装置。
【請求項2】
前記作業区間特定部から取得した作業区間情報と前記誘導情報取得部から取得した誘導情報とを基に、ロボットアーム操作時の作業区間における前記誘導情報に基づいて、前記操作者による前記ロボットアームの移動動作を誘導するように、前記制御方法を、前記制御方法取得部から取得した前記制御方法情報に従い、切り替える制御方法切替部をさらに備えて、
前記制御部は、前記制御方法切替部から取得した前記制御方法に基づいて前記ロボットアームを制御する、請求項1に記載のロボットアームの制御装置。
【請求項3】
前記誘導情報は、前記作業区間毎に前記対象物を前記被対象物に対して、前記操作者による前記ロボットアームの移動動作を誘導するための情報であって、前記制御部は、前記誘導情報により前記ロボットアームが所定の動作を行うように動作させる、請求項1又は2に記載のロボットアームの制御装置。
【請求項4】
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報と前記誘導情報取得部から取得した前記誘導情報とを基に、誘導適用情報を生成する誘導適用情報生成部をさらに備えて、
前記誘導適用情報生成部で生成された前記誘導適用情報を満たすように、前記制御方法切替部から取得した制御方法によって、前記制御部が、前記操作者による前記ロボットアームの移動動作を誘導する、請求項1〜3のいずれか1つに記載のロボットアームの制御装置。
【請求項5】
前記誘導情報取得部において、
第1の誘導情報として、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に近づける区間において、前記対象物の前記嵌め合わせ部と前記被対象物の前記被嵌め合わせ部とを近づけるように、前記操作者による前記ロボットアームの移動動作を誘導する情報と、
第2の誘導情報として、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に接触させながらさらに近づける区間において、前記対象物を前記被対象物に対して所定の角度で近づけるように、前記操作者による前記ロボットアームの移動動作を誘導する情報と、
第3の誘導情報として、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に到達させた区間において、前記対象物の前記嵌め合わせ部と前記被対象物の前記被嵌め合わせ部とのうちのいずれか一方の部材の側面をいずれか他方の部材の角部に接触させるように、前記操作者による前記ロボットアームの移動動作を誘導する情報と、
第4の誘導情報として、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部とを嵌め合わせる区間において、前記対象物の前記嵌め合わせ部と前記被対象物の前記被嵌め合わせ部とを他の区間よりも強く接触させるように、前記操作者による前記ロボットアームの移動動作を誘導する情報とのうちで、少なくとも1つ以上の誘導情報を取得し、
前記誘導適用情報生成部において、
前記誘導情報取得部から取得した前記第1の誘導情報に基づいて、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に近づける区間において、前記対象物の前記嵌め合わせ部と前記被対象物の前記被嵌め合わせ部とが接触する際の反力を前記力情報取得部で第1の閾値を越える大きさで取得する情報と、
前記誘導情報取得部から取得した前記第2の誘導情報に基づいて、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に近づける区間において、前記力情報取得部で取得した反力の方向に対して第2の閾値より小さい角度を維持する情報と、
前記誘導情報取得部から取得した前記第3の誘導情報に基づいて、前記対象物の前記嵌め合わせ部を前記被対象物の前記被嵌め合わせ部に到達させた区間において、嵌め合わせ方向と前記嵌め合わせ方向と直交する方向とに前記力情報取得部で第3の閾値を越える大きさの反力を取得する情報と、
前記誘導情報取得部から取得した前記第4の誘導情報に基づいて、前記対象物の前記嵌め合わせ部と前記被対象物の前記被嵌め合わせ部とが接触する区間において、前記力情報取得部で取得した力の大きさが第4の閾値を越える大きさであるという情報とのうちで少なくとも1つ以上の情報を生成する請求項4に記載のロボットアームの制御装置。
【請求項6】
前記制御方法情報取得部において、
(I)前記誘導情報に基づく所定の方向に前記ロボットアームを移動させるように前記ロボットアームのゲインを変化させる制御方法情報と、
(II)前記誘導情報に基づく所定の方向に前記ロボットアームを移動させるように制御を行う制御方法情報と、
のいずれか1つ以上の前記制御方法情報を取得し、
前記制御方法切替部において、前記誘導適用情報を満たすために、前記操作者による前記ロボットアームの移動動作を誘導するよう前記制御方法情報取得部で取得した前記制御方法情報を切り替えて、前記制御部で前記ロボットアームを制御する請求項5に記載のロボットアームの制御装置。
【請求項7】
前記制御方法情報取得部において、前記(I)〜(II)の制御方法情報に対応して、
(I)前記操作者による前記ロボットアームの移動動作を誘導する方向の前記ロボットアームのゲインを大きくする制御方法情報と、
(II)前記操作者による前記ロボットアームの移動動作を誘導する方向の軸方向は自動制御を行う制御方法情報と、
(III)前記操作者による前記ロボットアームの移動動作を誘導する方向と逆方向から反力を提示する制御方法情報と、
の前記制御方法情報を取得し、
前記制御方法切替部において、前記誘導適用情報を満たすために、前記操作者による前記ロボットアームの移動動作を所定の方向に誘導するよう前記制御方法情報取得部で取得した前記制御方法情報を切り替えて、前記制御部で前記ロボットアームを制御する請求項6に記載のロボットアームの制御装置。
【請求項8】
前記制御方法情報取得部において、
前記対象物と前記被対象物とが接触する際に、提示する力の大きさを実際の大きさよりも小さく提示する制御方法情報を取得し、
前記制御方法切替部において、前記対象物と前記被対象物とが接触する際に、前記誘導適用情報を満たすために、前記操作者による前記ロボットアームの移動動作を所定の方向に誘導するよう前記制御方法情報取得部で取得した前記制御方法情報を切り替えて、前記制御部で前記ロボットアームを制御する請求項5に記載のロボットアームの制御装置。
【請求項9】
前記制御方法情報取得部において、
前記操作者による前記ロボットアームの移動動作を誘導する方向と逆の方向には前記ロボットアームを移動しにくくなるように制御する制御方法情報を取得し、
前記制御方法切替部において、前記誘導適用情報を満たすために、前記操作者による前記ロボットアームの移動動作を所定の方向と逆の方向に誘導しないよう前記制御方法情報取得部で取得した前記制御方法情報を切り替えて、前記制御部で前記ロボットアームを制御する請求項5に記載のロボットアームの制御装置。
【請求項10】
前記作業区間特定部において、ロボットアーム操作時の区間が複数の区間であると特定された場合は、
前記誘導情報取得部から複数の誘導情報を取得し、
前記誘導適用情報生成部において、前記誘導情報取得部から取得した複数の誘導情報を基に複数の誘導適用情報を生成し、
前記制御方法切替部において、前記誘導適用情報生成部から取得した複数の誘導適用情報に基づいて、前記操作者による前記ロボットアームの移動動作を誘導するよう前記制御方法情報取得部で取得した前記制御方法情報を切り替えて、前記制御部で前記ロボットアームを制御する請求項5に記載のロボットアームの制御装置。
【請求項11】
前記ロボットアームと、
前記ロボットアームを制御する請求項1〜10のいずれか1つに記載の前記ロボットアームの制御装置とを備えるロボット。
【請求項12】
操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御方法において、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも1つ以上の動作情報を動作情報取得部で取得し、
前記ロボットアームに外部から加えられた力情報を力情報取得部で取得し、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を作業区間情報取得部で取得し、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも1つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を作業区間特定部で特定し、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を誘導情報取得部で取得し、
前記ロボットアームの制御方法の情報である制御方法情報を制御方法情報取得部で取得し、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御部で制御する、ロボットアームの制御方法。
【請求項13】
操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御プログラムにおいて、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも1つ以上の動作情報を動作情報取得部で取得するステップと、
前記ロボットアームに外部から加えられた力情報を力情報取得部で取得するステップと、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を作業区間情報取得部で取得するステップと、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも1つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を作業区間特定部で特定するステップと、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を誘導情報取得部で取得するステップと、
前記ロボットアームの制御方法の情報である制御方法情報を制御方法情報取得部で取得するステップと、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御部で制御するステップとをコンピュータに実行させるための、ロボットアームの制御プログラム。
【請求項14】
操作者によるロボットアームの移動動作を誘導しつつ、対象物を保持し被対象物に対して前記対象物を接触させながら前記対象物と前記被対象物との嵌め合わせ作業を行う、ロボットアームの制御方法において、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも1つ以上の動作情報を動作情報取得部で取得し、
前記ロボットアームに外部から加えられた力情報を力情報取得部で取得し、
前記嵌め合わせ作業に関して複数の作業区間の作業区間情報を作業区間情報取得部で取得し、
前記動作情報取得部から取得した前記動作情報と前記力情報取得部から取得した前記力情報との少なくとも1つ以上の情報と、前記作業区間情報取得部から取得した前記作業区間情報とを基に、ロボットアーム操作時の作業区間を作業区間特定部で特定し、
前記作業区間のそれぞれにおける、前記動作情報と前記力情報とに関する誘導情報を誘導情報取得部で取得し、
前記ロボットアームの制御方法の情報である制御方法情報を制御方法情報取得部で取得し、
前記作業区間特定部から取得したロボットアーム操作時の作業区間情報と、前記誘導情報取得部から取得した誘導情報と、前記制御方法情報取得部で取得した制御方法情報とを基に、前記ロボットアームを制御部で制御する、ロボットアームの制御用集積電子回路。

【図1A】
image rotate

【図1B】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図5C】
image rotate

【図5D】
image rotate

【図5E】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11A】
image rotate

【図11B】
image rotate

【図11C】
image rotate

【図11D】
image rotate

【図11E】
image rotate

【図11F】
image rotate

【図12A】
image rotate

【図12B】
image rotate

【図12C】
image rotate

【図12D】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17A】
image rotate

【図17B】
image rotate

【図17C】
image rotate

【図17D】
image rotate

【図17E】
image rotate

【図17F】
image rotate

【図17G】
image rotate

【図17H】
image rotate

【図18】
image rotate

【図19A】
image rotate

【図19B】
image rotate

【図19C】
image rotate

【図19D】
image rotate

【図19E】
image rotate

【図19F】
image rotate

【図19G】
image rotate

【図19H】
image rotate

【図20A】
image rotate

【図20B】
image rotate

【図20C】
image rotate

【図20D】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27A】
image rotate

【図27B】
image rotate

【図28A】
image rotate

【図28B】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34A】
image rotate

【図34B】
image rotate

【図34C】
image rotate

【図34D】
image rotate

【図34E】
image rotate

【図34F】
image rotate

【図35】
image rotate

【図36A】
image rotate

【図36B】
image rotate

【図36C】
image rotate

【図36D】
image rotate

【図36E】
image rotate

【図36F】
image rotate

【図37】
image rotate


【公開番号】特開2013−111684(P2013−111684A)
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願番号】特願2011−259019(P2011−259019)
【出願日】平成23年11月28日(2011.11.28)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】