(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-26
(45)【発行日】2024-02-05
(54)【発明の名称】ロボットシステム、物品の製造方法、制御方法、制御プログラム、および記録媒体
(51)【国際特許分類】
B25J 9/22 20060101AFI20240129BHJP
G05B 19/423 20060101ALI20240129BHJP
【FI】
B25J9/22 Z
G05B19/423
(21)【出願番号】P 2018127463
(22)【出願日】2018-07-04
【審査請求日】2021-07-01
(31)【優先権主張番号】P 2017141250
(32)【優先日】2017-07-20
(33)【優先権主張国・地域又は機関】JP
【前置審査】
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003133
【氏名又は名称】弁理士法人近島国際特許事務所
(72)【発明者】
【氏名】▲高▼橋 正和
【審査官】松浦 陽
(56)【参考文献】
【文献】特開平08-141961(JP,A)
【文献】特開平03-123907(JP,A)
【文献】特開2008-110406(JP,A)
【文献】特開2009-142905(JP,A)
【文献】特開2017-019068(JP,A)
【文献】特開2017-071018(JP,A)
【文献】特開2013-111684(JP,A)
【文献】特開昭64-045586(JP,A)
【文献】特開2015-199174(JP,A)
【文献】特開2015-157352(JP,A)
【文献】国際公開第2009/107358(WO,A1)
【文献】国際公開第2011/021375(WO,A1)
【文献】国際公開第2014/037999(WO,A1)
【文献】特開平11-039020(JP,A)
【文献】特開平11-231925(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00-21/02
G05B 19/42-19/427
(57)【特許請求の範囲】
【請求項1】
ロボットと、
制御部と、
前記ロボット
の所定部位をユーザが操作する場合の操作力に関する情報を検出する操作力検出部と、
対象物から前記所定部位が受けた反力に関する情報を検出する反力検出部と、を備え、
前記制御部が、
前記反力と前記操作力とに基づき、
前記ロボットをインピーダンス制御する際のパラメータを制御することで前記ユーザが前記所定部位を
操作する際の抵抗力を制御し、
前記パラメータには、前記操作力を検出していない状態の前記ロボットの姿勢を維持するための抵抗力を発生させるための基準値が設定されており、
前記ユーザが前記
ロボットを操作し
前記反力を検出していない場合、
前記ユーザが前記所定部位を操作する方向に対する抵抗力が前記基準値に基づく抵抗力よりも小さくなるように、前記操作力に基づき、前記パラメータを前記基準値から変更して前記ロボットを制御し、
前記ユーザが前記所定部位を操作し前記反力を検出した場合、前記ユーザが前記所定部位を操作する方向に対する抵抗力が前記基準値に基づく抵抗力よりも大きくなるように、前記操作力と前記反力とに基づき、前記パラメータを前記基準値から変更して前記ロボットを制御する、
ことを特徴とするロボットシステム。
【請求項2】
前記制御部が、
前記反力の方向と前記操作力の方向とに基づき、前記抵抗力の方向を制御する、
ことを特徴とする請求項
1に記載のロボットシステム。
【請求項3】
前記制御部が、
前記ロボットの姿勢情報と、前記所定部位の位置
姿勢情報と、前記操作力検出部の検出結果と、に基づき前記操作力を取得する、
ことを特徴とする請求項1
または2に記載のロボットシステム。
【請求項4】
前記制御部が、
前記所定部位の位置
姿勢情報と、前記反力検出部の検出結果と、に基づき、前記反力を取得する、
ことを特徴とする請求項1から
3のいずれか1項に記載のロボットシステム。
【請求項5】
前記制御部が、
前記ロボットの形状または寸法の情報が格納されたロボットメカモデル登録部と、前記所定部位の形状または寸法の情報が格納されたエンドエフェクタ情報登録
部と、を備えている、
ことを特徴とする請求項1から
4のいずれか1項に記載のロボットシステム。
【請求項6】
前記制御部が、
前記所定部位にワークが保持され、前記ワークが前記対象物に接触した状態で前記ユーザが前記
所定部位を操作した場合、前記ワークと前記対象物とにより発生する前記反力と同じ方向に前記抵抗力を制御することで、前記ワークと、前記対象物との摩擦力を前記ユーザに感じ取らせる、
ことを特徴とする請求項1から
5のいずれか1項に記載のロボットシステム。
【請求項7】
前記制御部が、
前記反力の変化と連動するように前記抵抗力の変化を制御する、
ことを特徴とする請求項1から
6のいずれか1項に記載のロボットシステム。
【請求項8】
前記反力検出部は、前記ロボット
を特定姿勢にして、または前記ロボットに実行させる動作ごとに、ゼロ点校正が行われる、
ことを特徴とする請求項1から
7のいずれか1項に記載のロボットシステム。
【請求項9】
前記基準値は
、前記ロボットが自重で動き出さないようにする値である、
ことを特徴とする請求項1から
8のいずれか1項に記載のロボットシステム。
【請求項10】
前記パラメータは、前記ロボットの
インピーダンス制御で用いられる仮想粘性係数と仮想弾性係数のいずれかもしくは両方である、
ことを特徴とする請求項
1から
9のいずれか1項に記載のロボットシステム。
【請求項11】
前記制御部は、前記パラメータを制御する際、予め記憶したパラメータテーブルから所定パラメータを選択する、
ことを特徴とする請求項
1から1
0のいずれか1項に記載のロボットシステム。
【請求項12】
前記制御部は、前記ロボットを動作させるための動作プログラムを取得する、
ことを特徴とする請求項
1から1
1のいずれか1項に記載のロボットシステム。
【請求項13】
前記制御部は、前記ユーザが前記所定部位を
操作している際の前記反力に基づいて前記対象物に印加すべき力の大きさと方向とを含めた前記動作プログラムを取得する、
ことを特徴とする請求項1
2に記載のロボットシステム。
【請求項14】
前記制御部は、前記ユーザが前記所定部位を
操作している際に取得されるデータにフィルタをかけて前記動作プログラムを取得する、
ことを特徴とする請求項1
2または1
3に記載のロボットシステム。
【請求項15】
前記制御部は、前記動作プログラムを実行する際、前記ロボットを動作させている際の前記反力の変化に基づいて前記パラメータを制御する、
ことを特徴とする請求項1
2から1
4のいずれか1項に記載のロボットシステム。
【請求項16】
前記制御部は、前記動作プログラムを実行する際、前記ロボットを動作させている際の前記反力に基づいて動作モードを切り換える、
ことを特徴とする請求項1
2から1
5のいずれか1項に記載のロボットシステム。
【請求項17】
前記制御部は、前記動作プログラムを実行する際、前記ロボットを動作させている際の前記反力に基づいて、前記所定部位あるいは前記所定部位が保持するワークが前記対象物と接触したことを検出し、前記動作モードを切り換える、
ことを特徴とする請求項1
6に記載のロボットシステム。
【請求項18】
前記制御部は、前記動作モードとして、位置制御モードおよび/または力制御モードを実行する、
ことを特徴とする請求項1
6または
17に記載のロボットシステム。
【請求項19】
前記動作プログラムは、前記ユーザが前記所定部位を操作することで変化した前記ロボットの位置または姿勢を含む、
ことを特徴とする請求項1
2から
18のいずれか1項に記載のロボットシステム。
【請求項20】
前記抵抗力は、前記ユーザが前記所定部位を直接触って
操作する際の抵抗力である、
ことを特徴とする請求項1から
19のいずれか1項に記載のロボットシステム。
【請求項21】
前記制御部は、
前記反力を検出していない場合に前記ユーザが前記所定部位を前記操作力の方向に操作した場合、前記操作力の方向に前記所定部位を移動させ易くする、
ことを特徴とする請求項1から2
0のいずれか1項に記載のロボットシステム。
【請求項22】
前記制御部は、
前記反力を検出している場合に前記ユーザが前記所定部位
を操作した場合、前記操作力の方向に前記所定部位を移動させ辛くする、
ことを特徴とする請求項1から2
1のいずれか1項に記載のロボットシステム。
【請求項23】
前記ロボットは、複数の軸を有するロボットアームであり、
前記ロボットには、前記操作力を受けとめる操作部が設けられており、
前記ロボットアームには、前記所定部位としてエンドエフェクタが設けられている、
ことを特徴とする請求項1から2
2のいずれか1項に記載のロボットシステム。
【請求項24】
前記操作力検出部は、前記軸に設けられたトルクセンサまたは前記操作部に設けられたトルクセンサを有し、
前記反力検出部は、前記エンドエフェクタに設けられた力覚センサまたは前記対象物を載置する載置台に設けられた力覚センサを有する、
ことを特徴とする請求項2
3に記載のロボットシステム。
【請求項25】
前記操作部は、前記ロボットアームと前記エンドエフェクタに設けられた前記力覚センサとの間に設けられている、
ことを特徴とする請求項2
4に記載のロボットシステム。
【請求項26】
請求項1から
11のいずれか1項に記載のロボットシステムを用いて
、前記ユーザが前記ロボットが把持するワークを前記対象物に接触させることで物品の製造を行う
動作を前記ロボットに教示し、
前記制御部が、前記ユーザの教示に基づき、物品の製造を行うために前記ロボットを制御するための動作プログラムを取得し、前記動作プログラムに基づき前記ロボットを制御することで物品の製造を行う、
ことを特徴とする物品の製造方法。
【請求項27】
ロボットと、
制御部と、
前記ロボット
の所定部位をユーザが操作する際の操作力に関する情報を検出する操作力検出部と、
対象物から前
記所定部位が受けた反力に関する情報を検出する反力検出部と、を備えたロボットシステムの制御方法であって、
前記制御部が、
前記反力と前記操作力とに基づき、
前記ロボットをインピーダンス制御する際のパラメータを制御することで前記ユーザが前記所定部位を
操作する際の抵抗力を制御し、
前記パラメータには、前記操作力を検出していない状態の前記ロボットの姿勢を維持するための抵抗力を発生させるための基準値が設定されており、
前記ユーザが前記
ロボットを操作し
前記反力を検出していない場合、
前記ユーザが前記所定部位を操作する方向に対する抵抗力が前記基準値に基づく抵抗力よりも小さくなるように、前記操作力に基づき、前記パラメータを前記基準値から変更して前記ロボットを制御し、
前記ユーザが前記所定部位を操作し前記反力を検出した場合、前記ユーザが前記所定部位を操作する方向に対する抵抗力が前記基準値に基づく抵抗力よりも大きくなるように、前記操作力と前記反力とに基づき、前記パラメータを前記基準値から変更して前記ロボットを制御する、
ことを特徴とする制御方法。
【請求項28】
請求項
27に記載の制御方法を
前記制御部として機能するコンピュータに実行させるための制御プログラム。
【請求項29】
請求項
28に記載の制御プログラムを格納した、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、作業用ロボット及びそれに作業動作を教示する方法に関する。特に、ロボットに教示者が直接力を加えて作業軌道を教示することができる作業用ロボットに関する。
【背景技術】
【0002】
従来、ロボットに動作を教示する際には、ティーチングペンダントのようなリモコン端末を用いて、エンドエフェクタの先端部などを所定位置へ移動させる操作を行い、目視等で位置を確認しつつ、教示位置を記憶させていた。その際には、教示位置間の移動速度、加速度などを個別に調整する必要があった。ティーチングペンダントを用いた教示方法では、座標を数値で入力するか、あるいはJOG動作の繰り返しでロボットを移動させており、作業が煩雑で操作性が高いとは言えず、教示を効率的に行うことができなかった。
教示における操作性を改善する方法のひとつとして、例えば特許文献1には、教示者が手で直接ロボットに力を加えて操作しながら教示する技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載された装置では、教示者が軌道を教示する目的でロボット本体の手先効果器に対して力を加えた場合に、センサでその力を検出し、この力の方向に手先効果器を移動させるように制御する。その際には、センサに加えられた操作力の方向および操作方向設定スイッチで選択された操作方向によって決められる方向にのみ手先効果器を移動させるように制御する。
かかる装置によれば、教示者が自らの手でロボットを操作できる点で、ティーチングペンダントのようなリモコンを使う場合に比べて直感的に教示作業を行える利便性がある。
【0005】
しかしながら、特許文献1に記載された制御方法では、加えられた操作力に応じてその方向にロボットが自動的に動いてしまうため、例えばロボットが作業対象物に接触したとしても、教示者は接触したことを感覚的に感じとることが困難である。このため、教示者がロボットを作業対象物に接触させながら微妙な位置制御を行おうとしても、ロボットが作業対象物に対して過剰な力を加えたりして、意図に沿った教示を行えない可能性があった。
例えば、フレキシブルケーブルをロボットに把持させてコネクタに挿入する作業を教示する場合に、フレキシブルケーブルの先端がコネクタと接触したか否か、コネクタと摺動しているか否か、等を教示者が手先の感覚で知覚できないことがあった。このため、教示者が適切な操作力を加えることができず、フレキシブルケーブルが意図と異なる形に変形してうまく挿入できず、ロボットに精密な作業を教示することができない場合があった。
【課題を解決するための手段】
【0006】
本発明の第一の態様は、ロボットと、制御部と、前記ロボットの所定部位をユーザが操作する場合の操作力に関する情報を検出する操作力検出部と、対象物から前記所定部位が受けた反力に関する情報を検出する反力検出部と、を備え、前記制御部が、前記反力と前記操作力とに基づき、前記ロボットをインピーダンス制御する際のパラメータを制御することで前記ユーザが前記所定部位を操作する際の抵抗力を制御し、前記パラメータには、前記操作力を検出していない状態の前記ロボットの姿勢を維持するための抵抗力を発生させるための基準値が設定されており、前記ユーザが前記ロボットを操作し前記反力を検出していない場合、前記ユーザが前記所定部位を操作する方向に対する抵抗力が前記基準値に基づく抵抗力よりも小さくなるように、前記操作力に基づき、前記パラメータを前記基準値から変更して前記ロボットを制御し、前記ユーザが前記所定部位を操作し前記反力を検出した場合、前記ユーザが前記所定部位を操作する方向に対する抵抗力が前記基準値に基づく抵抗力よりも大きくなるように、前記操作力と前記反力とに基づき、前記パラメータを前記基準値から変更して前記ロボットを制御する、ことを特徴とするロボットシステムである。
【0007】
本発明の第二の態様は、ロボットと、制御部と、前記ロボットの所定部位をユーザが操作する際の操作力に関する情報を検出する操作力検出部と、対象物から前記所定部位が受けた反力に関する情報を検出する反力検出部と、を備えたロボットシステムの制御方法であって、前記制御部が、前記反力と前記操作力とに基づき、前記ロボットをインピーダンス制御する際のパラメータを制御することで前記ユーザが前記所定部位を操作する際の抵抗力を制御し、前記パラメータには、前記操作力を検出していない状態の前記ロボットの姿勢を維持するための抵抗力を発生させるための基準値が設定されており、前記ユーザが前記ロボットを操作し前記反力を検出していない場合、前記ユーザが前記所定部位を操作する方向に対する抵抗力が前記基準値に基づく抵抗力よりも小さくなるように、前記操作力に基づき、前記パラメータを前記基準値から変更して前記ロボットを制御し、前記ユーザが前記所定部位を操作し前記反力を検出した場合、前記ユーザが前記所定部位を操作する方向に対する抵抗力が前記基準値に基づく抵抗力よりも大きくなるように、前記操作力と前記反力とに基づき、前記パラメータを前記基準値から変更して前記ロボットを制御する、ことを特徴とする制御方法である。
【発明の効果】
【0008】
教示時に、教示者がハンドにかかる反力を感知しやすいように制御部がインピーダンス制御系パラメータを制御するため、教示者は教示作業中にハンドと作業対象物の接触や摺動等を感覚によって容易に知覚することができる。そのため、微妙な力加減の制御が要求されるような教示作業を効率的に行うことができ、作業時にロボットが発揮すべき力の大きさと方向を規定した作業プログラムを効率的に生成することができる。また、作業時にインピーダンス制御系パラメータを切替えることができるような作業アルゴリズムを有する制御プログラムを生成することができる。
【0009】
作業時には、ハンドにかかる反力あるいは作業対象物に対してハンドが印加した力を計測しながらインピーダンス制御系パラメータを切替える作業アルゴリズムにより、作業対象物に位置ずれが生じたとしてもロボットは的確に作業を実行することができる。
【図面の簡単な説明】
【0010】
【
図1】第一の実施形態の作業用ロボットの構成を簡易的に示す図。
【
図3】第一の実施形態の教示時のフローチャート図。
【
図4】インピーダンス制御系のパラメータテーブルの例を示す図。
【
図6】ハンドが受ける反力の状態を段階別に示す図。
【
図7】教示により生成された作業用の制御プログラムの内容を示す図。
【
図8】実施形態の作業時における効果を説明するための図。
【
図9】第二の実施形態の作業用ロボットの構成を簡易的に示す図。
【
図10】第三の実施形態の作業用ロボットの構成を簡易的に示す図。
【発明を実施するための形態】
【0011】
[第一の実施形態]
以下、図面を参照して、本発明の第一の実施形態である作業用ロボットの構成、教示方法、作業動作について順に説明する。
図1は、本実施形態の作業用ロボットの構成を表す図である。
図1に示す作業用ロボットは、ロボットアーム11と、ロボットアームの先端に搭載されたハンド12と、ロボットアーム11とハンド12の間に取り付けられたハンドリング部13と、作業用ロボット全体の制御部としてロボットコントローラ14を備える。
【0012】
ロボットアーム11は、複数の軸を有する多関節ロボットアームであり、各関節軸にトルクセンサを内蔵するとともに、不図示のモータとエンコーダを搭載している。本実施形態では6軸のアームを用いるが、これとは構成が異なるアームであっても差し支えない。
【0013】
ロボットアーム11の各関節軸に搭載されているエンコーダは、各関節の角度情報を検出することができ、計測結果をロボットコントローラ14に所定の周期で通信できる。ロボットコントローラ14は、エンコーダで検出した結果に基づき、ロボットアーム11の姿勢を算出することができる。
【0014】
ロボットアーム11の各軸に搭載されているトルクセンサは、ロボットアーム11にかかる力を検出することができる。すなわち、各トルクセンサは各関節軸にかかるトルクを計測することができ、計測結果をロボットコントローラ14に所定の周期で通信できる。
【0015】
また、ハンド12は6軸力覚センサを内蔵しており、ハンド12が作業対象物に接触した際にかかる反力を検出することができる。力覚センサはX軸、Y軸、Z軸の各軸の力と、各軸周りのモーメントを計測することができ、計測した力をロボットコントローラ14に所定の周期で通信できる。ロボットコントローラ14は、算出したロボットアームの姿勢と力覚センサの計測結果に基づき、ハンドにかかる作業対象物からの反力の方向や大きさを算出することができる。
したがって、ロボットコントローラと6軸力覚センサは、反力検出手段あるいは反力検出部を構成していると言える。尚、作業対象物にハンドが印加した力と作業対象物からの反力は、互いに作用反作用の関係があり、大きさは等しく方向は逆である。したがって、ロボットコントローラ14は算出したロボットアームの姿勢と力覚センサの計測結果に基づき、作業対象物にハンドが印加した力を算出することもできる。
【0016】
ロボットコントローラ14は、算出したロボットアームの姿勢とトルクセンサが検出したトルク、および6軸力覚センサが検出した反力に基づき、教示者によりハンドリング部13に印加された操作力の方向や大きさを算出することができる。具体的には、トルクセンサが検出したトルク検出結果から6軸力覚センサが検出した反力を減算することにより、ハンドリング部13に印加された操作力の方向や大きさを算出できる。
したがって、ロボットコントローラ、トルクセンサ、6軸力覚センサは、操作力検出手段あるいは操作力検出部を構成していると言える。
本実施形態では、ロボットアーム11の各軸に搭載されているトルクセンサと、ハンド12の6軸力覚センサは、ハンドリング部13を間に挟むように配置されている。かかる配置を採用したことにより、ハンドリング部に印加された外力(操作力)と、作業対象物からの反力の検出精度を高めることができる。
【0017】
ロボットコントローラ14は、CPU,RAM,ROM,I/Oポート等を内蔵するコンピュータであり、ロボットアーム内のモータ、センサ、エンコーダ等と信号の授受を行うとともに、外部のネットワークやコンピュータとも接続可能である。
ロボットコントローラ14は、ロボットアーム11の各関節軸のモータへの駆動指令を生成し、フィードバック制御による各関節軸の位置制御を行うことができる。その際に、ロボットコントローラ14は、トルクセンサおよび力覚センサの計測結果から求めた操作力および反力に基づいて、モータへの駆動指令を変化させる力フィードバック制御を行うことができる。すなわち、単純な位置制御とは異なり、力のフィードバックが加わった制御であり、ハンド12の物理的な応答を、教示作業を行う上で望ましい状態に設定するものである。
【0018】
本実施形態では、ロボットコントローラ14は、ロボットアーム11の姿勢と、教示者によりハンドリング部13に印加された操作力に応じて、各関節軸のモータを駆動する際のインピーダンス制御系のパラメータを調整することができる。例えば、
図5の左端のP0に示すように、ハンド12が把持する把持ワーク51が組立対象ワーク52と接触しないで離間している時には、6軸力覚センサが検出する反力はゼロだが、この場合には、教示者が印加する操作力の方向に移動しやすくする。すなわち、ロボットコントローラ14は、ハンドリング部13に教示者が印加した操作力の方向にロボットアームを動かし易い状態になるようにインピーダンス制御系のパラメータを調整する。具体的には、移動させるために駆動する関節軸の制御パラメータの仮想粘性係数と仮想弾性係数のいずれかもしくは両方を調整する。その際には、各関節軸の移動量の割合や大きさに応じて、関節毎にインピーダンス制御系のパラメータの調整量を変えてもよい。
ここで、仮想粘性係数、仮想弾性係数とは、力制御を行う場合に、それぞれロボットの先端に粘性要素、弾性要素が接続されたのと同様な効果を生じさせる制御パラメータである。仮想粘性係数[N/(mm/s)]、[Nm/(deg/s)]は、一定速度を出すのに必要な力を示すパラメータなので、ハンド12を移動させ易い状態にするには仮想粘性係数を小さく設定する。
【0019】
また、本実施形態では、作業軌道を教示する際に、力覚センサで計測した作業対象物からの反力に基づいて、各関節軸のインピーダンス制御系のパラメータを調整することができる。例えば、
図5のP1に示すように、ハンド12が把持する把持ワーク51が組立対象ワーク52と接触している時には、6軸力覚センサは把持ワーク51を介して組立対象ワーク52から受ける反力を検出する。反力を検出した場合には、ロボットコントローラ14は、教示者が印加する操作力の方向にハンド12を移動させにくいように制御する。具体的には、ハンドリング部13に教示者が印加した操作力の方向にハンド12を移動させるために駆動するロボットアームの関節軸の制御パラメータの仮想粘性係数、仮想弾性係数を変更して、移動させにくい状態になるように調整する。その際には、各関節軸の移動量の割合や大きさに応じて、関節毎にインピーダンス制御系のパラメータの調整量を変えてもよい。
仮想粘性係数[N/(mm/s)]、[Nm/(deg/s)]は、一定速度を出すのに必要な力を示すパラメータなので、移動させにくい状態、すなわち教示者が操作力を印加した際に抵抗力を感じるようにするには、仮想粘性係数を大きく設定する。
上記のように、ハンド12の移動方向、すなわち教示者が印加した操作力の方向に対してハンド12の移動における抵抗が小さくなるようにパラメータを調整した状態を、ハンド12を移動させやすい状態とする。逆にハンド12の移動方向、すなわち教示者が印加した操作力の方向に対してハンド12の移動における抵抗が大きくなるようにパラメータを調整した状態を、ハンド12を移動させにくい状態とする。
【0020】
本実施形態のインピーダンス制御系のパラメータの調整方法は、以下のように言うこともできる。
ロボットハンドあるいはロボットハンドが把持しているワークが作業対象物と接触していない場合には、ロボットハンドの力覚センサにより反力は検出されない。反力が検出されていない時は、ロボットコントローラ14は、教示者が印加する操作力の方向にロボットハンドを移動させやすいように、検出された操作力に基づいてインピーダンス制御系のパラメータを調整する。
ロボットハンドあるいはロボットハンドが把持しているワークが作業対象物と接触している場合には、作業対象物に対してロボットハンドが印加した力に対する反作用、すなわち作業対象物からの反力がロボットハンドの力覚センサにより検出される。反力が検出されたら、ロボットコントローラ14は、教示者が操作力の方向に移動させにくく感じるよう、インピーダンス制御系のパラメータを調整する。尚、力覚センサが反力を検出している場合に、反力だけでなく操作力をも参照してインピーダンス制御系のパラメータを調整してもよい。
【0021】
また、インピーダンス制御系の仮想粘性係数と仮想弾性係数を単純に増減させるだけでは、必ずしも教示者が作業対象物との接触や摺動を感じ易くなるとは限らない。例えば、仮想弾性係数[mm/N]、[deg/Nm]を大きくし過ぎると組立対象から受ける反力がバネ成分に吸収され、操作部に力が伝わらない場合がある。算出した反力の大きさに応じてパラメータを変更すべき場合もあるので、反力の大きさに応じたインピーダンス制御系のパラメータテーブルを予め準備しておくことが望ましい。
【0022】
図2は、ロボットコントローラ14が備える機能ブロックを簡易的に示す機能ブロック図である。
21は第一のセンサとして操作力を検出するためのトルクセンサであり、22は第二のセンサとして反力を検出するための力覚センサであり、23はロボットの各軸に設けられたエンコーダである。
【0023】
24は、I/Oポートとメモリ等から構成されるデータ取得/記憶部である。トルクセンサ21で計測した力と、力覚センサ22で計測した力と、ロボットの各軸のエンコーダ23で計測した情報を取り込んで記憶する。
25はロボットメカモデル登録部であり、ロボットアームの形状や寸法をはじめとする諸情報が記憶されている。
【0024】
26はロボット姿勢算出部であり、データ取得/記憶部24に記憶されたエンコーダの計測結果と、ロボットメカモデル登録部25の情報に基づき、ロボットアームの位置姿勢を算出する。
27はエンドエフェクタ情報登録部であり、ハンドの形状や寸法をはじめとする諸情報が記憶されている。
【0025】
28は手先座標算出部であり、ロボット姿勢算出部26で算出された姿勢情報と、エンドエフェクタ情報登録部27の情報に基づき、ハンドの位置姿勢を算出する。
29は操作力算出部であり、トルクセンサ21の計測値と、ロボット姿勢算出部26で算出された姿勢情報と、手先座標算出部28で算出されたハンドの位置姿勢情報に基づき、ハンドリング部13に加えられた操作力(外力)を算出する。
【0026】
30は反力算出部であり、力覚センサ22の計測値と、ハンドの位置姿勢情報に基づき、作業対象物からハンドが受けた反力(外力)を算出する。尚、求めた反力の向きを逆転させれば、作業対象物に対してロボットハンドが印加した力を算出することもできる。
31は、インピーダンス制御系パラメータ設定部で、教示時には、操作力の算出結果と反力の算出結果に基づき、ハンドリング部13を使って教示するのに好適な状態にインピーダンス制御系の仮想粘性係数および/または仮想弾性係数を設定する。また、作業時には、インピーダンス制御系パラメータ設定切替部34からの切替信号に基づき、インピーダンス制御系の仮想粘性係数および/または仮想弾性係数を適宜切替える。
【0027】
32は、ロボット動作計画生成部で、教示時におけるトルクセンサ21、力覚センサ22の計測値や、インピーダンス制御系パラメータ設定部31のパラメータ設定値を参照して、教示された作業動作を実行するための作業プログラムを生成して記憶する。作業プログラムの生成については後述する。
【0028】
33は、ロボット動作指令部であり、インピーダンス制御系パラメータ設定部31で設定された制御パラメータに従って、ロボットアームの各関節軸の駆動系(モータ)に伝達すべき指令を生成する。
34は、インピーダンス制御系パラメータ設定切替部であり、作業時に、トルクセンサ21や力覚センサ22の計測値等に基づいてパラメータの設定を切替えたり、力制御と位置制御を切替えたりする。
【0029】
以上説明したロボットコントローラ14の各ブロックの機能は、内蔵するCPU、各機能のプログラムを格納したメモリ、データを一時的に記憶するためのRAM、データを送受信するI/Oポート等のハードウエア資源を利用して達成される。
また、35は、ロボット駆動系であり、ロボット動作指令部33から出される指示に従って、ロボットアームの各関節軸のモータ等を駆動する。
【0030】
次に、
図3は本実施形態における教示時の制御フローを示すフローチャート図である。教示動作が開始されると、まず工程S1で、インピーダンス制御系のパラメータの基準値を設定する。具体的には、ロボットコントローラ14のメモリに予め記憶されたインピーダンス制御系のパラメータの初期値を読み込む。インピーダンス制御系のパラメータの基準値は、ロボットの自重を考慮し、自重でロボットが動き出さないように設定しておく。
【0031】
次に、工程S2で、第一のセンサであるトルクセンサ21が教示者による操作力を検出していないかを確認する。操作力を検出していない場合は、パラメータは基準値を維持する。
トルクセンサ21が操作力を検出すると、工程S3において、操作力がかかっている方向にハンド12を移動させ易くするようにインピーダンス制御系のパラメータを自動設定する。
【0032】
次に、工程S4において、第二のセンサである力覚センサ22が、作業対象物からの反力を検出していないか確認する。力覚センサ22で作業対象物からの反力を検出すると、工程S5において、作業対象物からの反力の方向に教示者が抵抗力を感じ、操作力の方向にハンド12を移動させにくくなるようにパラメータを自動設定する。
【0033】
工程S6において、プログラム停止指令を取得したかを判断するが、停止命令を取得するまで、トルクセンサ21と力覚センサ22の検出した力をもとにインピーダンス制御系のパラメータの更新を行い、教示作業を続ける。
【0034】
図4に、インピーダンス制御系のパラメータテーブルを例示する。作業対象物からの反力の大きさに応じて、仮想粘性係数と仮想弾性係数が設定されている。パラメータテーブルは、ハンドが把持するワークや組立対象ワークなど作業対象物毎に設定して適宜選択してもよいし、一律に同じテーブルを用いてもよい。
【0035】
次に、
図5を参照して、教示者が作業動作を教示している例について説明する。
図5は、教示の一連の動作をP0からP4の各段階に分けて示したもので、図中の左から右に向かって時間が流れている。教示者は、ハンドリング部を手で操作してハンド12を移動させ、ハンド12が把持している把持ワーク51を組立対象ワーク52の凹部に嵌合させる作業を教示する。把持ワーク51は作業対象物の一部であり、組立対象ワーク52は、作業対象物の他の一部である。
【0036】
まず、状態P0は、把持ワーク51を把持したハンド12が組立対象ワーク52の上方に配置され、教示者がハンドリング部を持っている状態である。教示者は、ハンドリング部13に-Z方向の操作力を加えてハンドを鉛直方向下方に移動させ、組立対象ワーク52に向けてアプローチする。
状態P1は、把持ワーク51と組立対象ワーク52が接触した状態である。教示者は、把持ワーク51が組立対象ワーク52の上面に接触すると、接触を維持させたまま+X方向に移動させ、組立対象ワーク52の凹部に向けてアプローチする。すなわち、教示者は-Z方向に軽い操作力をかけつつ、+X方向に移動させるための操作力を加える。
【0037】
次に、状態P2は、嵌合動作に移行する前段階として、把持ワーク51が組立対象ワーク52の凹部の角に達したか否かを教示者が探っている状態である。後に
図6を参照して説明するように、本実施形態のインピーダンス制御によれば、反力が変化すると教示者にとっての移動させやすさが変化するため、教示者は把持ワーク51が凹部の角に到達したのを容易に認識することができる。そこで、凹部の角に到達したら、教示者はハンドリング部に加える操作力を変更して、ハンド12の姿勢を修正する。
状態P3は、把持ワーク51が組立対象ワーク52の溝部(凹部)に嵌合可能な状態に、ハンド12の姿勢が修正された状態である。
状態P4は、ハンドリング部に-Z方向に操作力を掛けて-Z方向にハンド12を移動させ、組立対象ワーク52に把持ワーク51を勘合させた状態である。
【0038】
上記の教示動作におけるハンドが受ける反力とインピーダンス制御系の動作について、
図6を参照して説明する。
【0039】
図6左側に示すように、P0からP1に向けて移動している途中経路においては、ハンド12が把持する把持ワーク51は組立対象ワーク52にまだ接触していないため、ハンド12の6軸力覚センサが反力を検出することはない。この状態においては、ロボットコントローラ14のインピーダンス制御系パラメータ設定部31は、ハンドリング部13に印加された操作力の方向にハンド12が動き易い状態になるようにインピーダンス制御系のパラメータを調整する。
【0040】
ハンドがP1に到達すると、把持ワーク51が組立対象ワーク52と接触し、+Z方向に反力が発生するが、この反力は把持ワーク51を介してハンド12に伝達される。ハンド12の6軸力覚センサがこの反力を検出すると、インピーダンス制御系パラメータ設定部31は、ハンドリング部13に印加された操作力の方向にハンド12を移動させにくい状態になるようにインピーダンス制御系のパラメータを調整する。教示者は、操作力を加えてハンドを移動させようとしても、反力と同じ方向の抵抗力を感じることになる。これにより、教示者は、把持ワーク51が組立対象ワーク52と接触したことを手先感覚で感じ取ることができ、次の教示動作に移ることができる。教示者が把持ワーク51の接触を感知できないと、この例で言えば下向き(-Z方向)の操作力をかけ続けてしまうため、把持ワーク51と組立対象ワーク52の間に過度の力が印加され、いずれかもしくは双方が破損する可能性がある。また、把持ワーク51がフレキシブルな部材ならば、破損は生じないとしても、変形が生じて以後の作業(例えば挿入作業)が困難になる可能性がある。
しかし、本実施形態によれば、教示者は、組立対象物からのZ方向の反力を容易に感じ取ることが可能になる。したがって、教示者は、組立対象ワークに把持ワークが接触した後に、力をより微細にコントロールして教示作業を遂行することが可能になる。
【0041】
次に、P1からP2に向けて移動させて嵌合部の位置を探る動作中は、教示者はハンドリング部13を操作して、把持ワーク51を組立対象ワーク52に-Z方向に押し当てながら、+X方向に移動させる。-X方向および+Z方向に反力が発生し、この反力は把持ワーク51を介してハンド12に伝達され、ハンド12の6軸力覚センサにより検出される。反力が検出されると、インピーダンス制御系パラメータ設定部31は、ハンドリング部13に印加された操作力の方向にハンド12を移動させにくい状態になるようにインピーダンス制御系のパラメータを調整する。教示者は、操作力を加えてハンドを移動させようとしても、反力と同じ方向の抵抗力を感じることになる。これにより、教示者は、把持ワーク51を組立対象ワーク52に押し付けながら摺動させている際の摩擦力を、手先感覚で抵抗力として感じ取ることができ、嵌合部の位置を探る動作を思い通りに行うことができる。
【0042】
そして、
図6右側に示すように、P2に到達すると、把持ワーク51が組立対象ワーク52の凹部の角において、反力が一旦は急激に小さくなるように変化する。本実施形態のインピーダンス制御によれば、教示者は反力の変化を抵抗力の変化として手で高感度に感じ取ることが可能なので、凹部の角に達したことを容易に感知できる。組立対象ワークが角部に到達したことを感知できるので、教示者はハンドをオーバーランさせることなく姿勢を変更して、凹部への挿入動作に移行することができる。
【0043】
図7は、教示した嵌合組立の作業動作を行うために、ロボット動作計画生成部32が作成した作業用制御プログラムの内容を説明するための図である。
図中、グラフZは、ハンドの手先部のZ座標の変化を示しており、例えば状態P0から状態P1までは鉛直方向に下降し、状態P1から状態P2まではZ方向の座標変化がないことを示している。
【0044】
また、グラフXは、ハンドの手先部のX座標の変化を示しており、例えば状態P0から状態P1まではX方向の座標変化はなく、状態P1から状態P2まではX方向に移動していることを示している。
【0045】
また、グラフのFzは、第二のセンサである力覚センサ22で検知されるZ方向の反力を示しており、例えば状態P1において把持ワーク51が組立対象ワーク52に接触すると、瞬間的に大きな反力が検出されることがわかる。そして、状態P1から状態P2にかけては、インピーダンス制御によりZ方向の反力は、ほぼ一定であることがわかる。
また、グラフのFxは、第二のセンサである力覚センサ22で検知されるX方向の反力を示しており、例えば状態P1から状態P2にかけては、組立対象ワーク52から-X方向にほぼ一定の反力を受けていることがわかる。
【0046】
まず、教示段階においては、教示者はP0からP1の区間ではハンドを-Z方向にのみ移動させる操作を行う。組立対象ワークに接触するまでは反力としてFx、Fzの力は発生せず、Z方向の位置のみ変化する。組立対象ワークに接触すると+Fzの力が発生し、人が接触を検知してロボットを止めるまで+Fzの力が増加する。P1からP2の区間では-Z方向に人が一定の力を加えながら、+X方向に移動を行う。組立対象ワークの凹部の角に達するまでは、-Z方向に押し付けている力に対する反力(+Fz)と、-X方向に摩擦による反力(-Fx)が発生する。人が組立対象ワークの凹部の角への到達を感知してX方向の移動を止めるまで、+X方向の位置が変化する。P2からP3の区間ではロボットの姿勢を教示者が変化させている。P3は、組立対象の溝の壁面に把持ワークを接触させた状態である。P3からP4の区間では、教示者は組立対象ワークの凹部の壁面に倣わせながら把持ワークを-Z方向に移動させ、把持ワークを組立対象ワークに嵌合させる。
【0047】
本実施形態では、ロボットコントローラは、教示段階におけるP0からP4までのロボットの位置、姿勢と前記トルクセンサと力覚センサの力プロファイル情報を記憶し、ロボット動作計画生成部32が作業用動作プログラムを生成する。
すなわち、ロボットの姿勢や位置(軌道)のみを教示するのではなく、作業の各工程でロボットが作業対象物から受ける反力、言い換えれば作業対象物に印加すべき力の大きさと方向を含めて教示を行う。
【0048】
ロボット動作計画生成部32が生成した作業用動作プログラムにおいては、インピーダンス制御系パラメータ設定切替部34が、第二のセンサである力覚センサ22の検知情報に基づきインピーダンス制御のパラメータを切替える。
以下、
図7を参照して作業用動作プログラムを実行する作業段階について具体的に説明する。尚、作業用動作プログラムは、教示時にロボットコントローラ14内のメモリに記憶させてもよいし、一旦外部の記憶装置に記憶させ、ネットワークあるいはコンピュータ読み取り可能な記憶媒体を介してロボットコントローラ14にロードしてもよい。
【0049】
P0からP1までの区間では、力覚センサ22により検出される反力は0である。この区間では、ロボット動作指令部33は、ハンドのX座標が一定値で、Z座標が1次関数(比例)で表される動作をするように、ロボット駆動系35に対して位置制御モードの駆動信号を送る。
【0050】
その後、力覚センサ22で反力であるFzの急激な変化が検出されたら、ロボットコントローラは状態P1に到達したと判断し、インピーダンス制御系パラメータ設定切替部34がインピーダンス制御のパラメータを切替える。切替えは、反力であるFzの変化率(微分値)が所定の閾値を上回ったことを条件にしてもよいし、反力であるFzの数値自体が所定の閾値を超えたことを条件にしてもよい。
【0051】
P1からP2までの区間では、X座標は一次関数(比例)で表され、Z座標は一定値になるよう制御する。この区間全体に渡って反力がほぼ一定のため、ロボット動作指令部33は、ロボットの先端に掛る力が一定になるように、ロボット駆動系35に対して力制御モードの駆動信号を送る。すなわち、位置制御モードから力制御モードに動作モードを切り替える。
【0052】
その後、力覚センサ22で反力であるFxの急激な変化が検出されたら、ロボットコントローラは状態P2に到達したと判断し、インピーダンス制御系パラメータ設定切替部34がインピーダンス制御のパラメータを切替える。切替えは、反力であるFzの変化率(微分値)が所定の閾値を上回ったことを条件にしてもよいし、反力であるFzの数値自体が所定の閾値を超えたことを条件にしてもよい。
P2からP3までの区間では、ハンドの姿勢変更を行うが、X座標、Z座標どちらも1次関数的には変化しておらず、反力であるFx、Fzは一定ではない。区間全体で力が一定値でないため、ロボット動作指令部33は、教示時の姿勢変更の動作軌跡をそのまま再現するように、ロボット駆動系35に対して位置制御モードの駆動信号を送る。
【0053】
姿勢変更が完了したP3からP4までの区間では、X座標は一定値、Z座標は比例しており、どちらも1次関数で表される。区間全体に渡って反力がほぼ一定のため、ロボット動作指令部33は、ロボットの先端に掛る力が同じになるように、ロボット駆動系35に対して力制御モードの駆動信号を送る。
【0054】
その後、力覚センサ22で反力であるFzの急激な変化が検出されたら、ロボットコントローラは状態P4に到達したと判断し、ロボット駆動系35に対して駆動を終了するよう信号を送る。終了は、反力であるFzの変化率(微分値)が所定の閾値を上回ったことを条件にしてもよいし、反力であるFzの数値自体が所定の閾値を超えたことを条件にしてもよい。
【0055】
本実施形態によれば、ハンドにかかる反力を計測しながらインピーダンス制御系パラメータを切替えることで、作業対象物に位置ずれが生じても教示した動作を的確に実行することができる。
【0056】
図8(a)~
図8(d)は、これを説明するための簡易図で、
図8(a)は教示時の把持ワークと組立対象ワークの位置関係を示している。
図8(b)~
図8(d)は、作業時に組立対象ワークが、点線で示した教示時の位置から、実線で示した位置にずれてセットされた場合を示している。
【0057】
作業時にハンドを位置座標のみで制御した場合には、組立対象ワークが教示時とずれて置かれていた場合に、状態P2すなわち凹部の角への到達を正しく検知できないため、その後のハンドの姿勢変更や-Z方向への嵌合動作を正しく行うことができない。嵌合作業を行えないばかりではなく、場合によっては、ワークやロボット自身を破損させる可能性もある。
【0058】
しかし、本実施形態によれば、組立対象ワークの凹部の角に到達したことを、力覚センサ22で感度よく検出できるようにインピーダンス制御系のパラメータが教示されている。
図8(b)において、力覚センサ22による反力の計測値に基づいて凹部の角を検出するまで、一定方向に力をかけ続ける制御を行うことで、組立対象ワークがずれていたとしても、適切に作業動作を進めることができる。また、
図8(c)においては、把持ワークと組立対象ワークの相対位置が教示時と同じになっているため、姿勢変更の動作軌跡をそのまま再現するだけでよい。そして、
図8(d)においては、反力であるFzの急激な変化が検出されたら、状態P4に到達したと判断することができる。判断は、反力であるFzの変化率(微分値)が所定の閾値を上回ったことを条件にしてもよいし、反力であるFzの数値自体が所定の閾値を超えたことを条件にしてもよい。
【0059】
以上説明したように、本実施形態によれば、教示者がハンドと作業対象物の接触状態を感知しやすいインピーダンス制御を行って作業プログラムを生成するため、位置姿勢および印加すべき力を効率的に教示することができる。そして、教示時に計測した反力に基づいて、作業時のインピーダンス制御系パラメータを切替える作業アルゴリズムを生成することができる。
【0060】
尚、以上の説明では、理解を容易にするため単純化して説明したが、実際に教示者が手による操作で教示する場合には、直線上を誤差なく移動させるのは難しく、一定の力を与え続けることも困難である。そのため、実際に作業動作の制御プログラムを生成するにあたっては、教示時に振動的になってしまっているデータにフィルタをかけ、教示者の本来の意図ではない動きや力を分離して除外することが好ましい。
【0061】
また、力覚センサは、姿勢に応じて自重影響を受け検出値が変化する場合もあるので、特定姿勢で必ずゼロ点校正を行うか、動作毎にゼロ点校正を行い、検出する反力に姿勢による影響が残らないようにするのが望ましい。
【0062】
[第二の実施形態]
図9は、本発明の第二の実施形態の構成を簡易的に示した図である。
図9において、ロボット装置は、ロボットアーム91と、アーム先端に搭載されたハンド92と、ハンド92とロボットアーム91の間に取付けられた力覚センサ内蔵型のハンドリング部93と、ロボットコントローラ94を備える。第一の実施形態と共通する部分については、説明を省略する。
【0063】
第一の実施形態では、教示者によりハンドリング部に加えられた操作力を各関節のトルクセンサの計測値および6軸力覚センサが検出した反力に基づき検出したが、本実施形態においては、ハンドリング部93に内蔵された力覚センサで計測する点が異なる。
本実施形態においては、ロボットコントローラとハンドリング部93に内蔵された力覚センサは、操作力検出手段あるいは操作力検出部を構成していると言える。
【0064】
第一の実施形態では、操作力の方向と大きさを算出するための処理がある程度複雑になったが、本実施形態によれば操作力の検出をより簡単に行うことができる。
ハンドリング部93に内蔵されている力覚センサは、ロボットアーム91にかかる操作力を計測し、計測結果をロボットコントローラ94に所定の周期で通信できる。
【0065】
本実施形態では、ハンドリング部93に内蔵された力覚センサで人の操作力を検出し、ハンド92に内蔵された力覚センサで組立対象からの反力を検出することで、第一の実施形態と同様の効果を奏することができる。尚、人の操作力を検出する際に、組立対象からの反力の影響をなるべく小さくするために、ハンドリング部93に内蔵する力覚センサは、ハンドリング部内のなるべくハンド92から遠い位置に配置するのが望ましい。
【0066】
第一の実施形態と同様に、教示段階において、教示者がハンドにかかる反力を感知しやすいインピーダンス制御を行って作業プログラムを生成するため、位置精度が高い軌道を効率的に教示することができる。そして、教示時に計測した反力に基づいて、作業時のインピーダンス制御系パラメータを切替える作業アルゴリズムを生成することができる。
【0067】
作業時には、ハンドにかかる反力を計測しながらインピーダンス制御系パラメータを切替えることで、作業対象物に位置ずれが生じても教示した動作を的確に実行することができる。
【0068】
[第三の実施形態]
図10は、本発明の第三の実施形態の構成を簡易的に示した図である。
図10において、ロボット装置は、ロボットアーム101と、ロボット先端に搭載されたハンド102と、ロボットアーム101とハンド102の間に取り付けられたハンドリング部103から成る。また、ロボットの駆動指令を生成するロボットコントローラ104と、組立ベース107から成る。ロボットアーム101は、多関節ロボットであり、各関節軸にトルクセンサを内蔵しており、各関節軸に不図示のモータとエンコーダを搭載している。ハンド102で把持した把持ワーク105を、組立対象ワーク106に嵌合する作業を例示している。第一の実施形態と共通する部分については、説明を省略する。
【0069】
第一の実施形態では、第二のセンサとしてハンドが備えた力覚センサを用いて作業対象物からの反力を計測した。本実施形態においては、第二のセンサとして組立対象ワーク106が載置された組立ベース107に内蔵された力覚センサを用いて、作業対象物に対してハンドが印加した力を計測する点が異なる。すなわち、組立対象ワーク106は、第二のセンサとしての力覚センサが内蔵された組立ベース107にセットされており、内蔵された力覚センサで、作業対象物に対してロボットハンドが印加した力を計測する。作業対象物にハンドが印加した力と作業対象物からハンドが受ける反力は、互いに作用反作用の関係があり、大きさは等しく方向は逆である。
したがって、組立ベース107に内蔵された力覚センサの計測結果に基づき、ロボットコントローラはハンドにかかる反力を算出することができる。
本実施形態においては、ロボットコントローラと組立ベースに内蔵された力覚センサは、反力検出手段あるいは反力検出部を構成していると言える。
【0070】
本実施形態では、組立ベース107に内蔵された力覚センサで組立対象ワークに対してハンドが印加した力を検出し、ロボットコントローラがハンドにかかる反力を算出する。また、ロボットアーム101に内蔵したトルクセンサの計測結果とロボットコントローラが算出した反力の差分に基づいて、ハンドリング部103にかかる教示者の操作力を検出する。本実施形態においても、第一の実施形態と同様の効果を奏することができる。
【0071】
すなわち、教示段階において、教示者がハンドと作業対象物の接触状態を感知しやすいインピーダンス制御を行って作業プログラムを生成するため、位置姿勢および印加すべき力を効率的に教示することができる。そして、教示時に算出した反力に基づいて、作業時のインピーダンス制御系パラメータを切替える作業アルゴリズムを生成することができる。
【0072】
作業時には、作業対象物に対してハンドが印加した力を計測しながらハンドにかかる反力を算出し、インピーダンス制御系パラメータを切替えることで、作業対象物に位置ずれが生じても教示した動作を的確に実行することができる。
【0073】
[他の実施形態]
本発明の実施形態は、上述した第一~第三の実施形態に限られるものではなく、適宜変更したり、組み合わせたりすることが可能で、本発明の技術的思想内で多くの変形が可能である。
例えば、作業用ロボットは六軸制御のアームを備えたロボットに限られるわけではなく、またロボットが行う作業も部品の嵌合作業には限られない。いろいろなタイプの作業用ロボットを用いた物品の製造作業に、広く適用することが可能である。
アームの先端に取り付けられるハンドは、上述の実施形態には限られず、各種のマニピュレータ等であってもよい。
ハンドリング部は、教示者が手を使ってハンドあるいはロボットアームに操作力を加えやすい機構であれば、形状や設置位置は上記実施形態の例に限られるものではなく、視認性がよい位置に把持しやすいグリップ等を設けるのが好適である。
また、すべての作業工程の教示を教示者の手による直接操作で行わなければならないわけではなく、一部の工程の教示をティーチングペンダント等のリモコン機器や、シミュレータを用いて行ってもよい。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0074】
11・・・ロボットアーム/12・・・ハンド/13・・・ハンドリング部/14・・・ロボットコントローラ/21・・・トルクセンサ/22・・・力覚センサ/23・・・エンコーダ/24・・・データ取得/記憶部/25・・・ロボットメカモデル登録部/26・・・ロボット姿勢算出部/27・・・エンドエフェクタ情報登録部/28・・・手先座標算出部/29・・・操作力算出部/30・・・反力算出部/31・・・インピーダンス制御系パラメータ設定部/32・・・ロボット動作計画生成部/33・・・ロボット動作指令部/34・・・インピーダンス制御系パラメータ設定切替部/35・・・ロボット駆動系/51・・・把持ワーク/52・・・組立対象ワーク/93・・・力覚センサ内蔵型のハンドリング部/107・・・力覚センサ内蔵型の組立ベース