(57)【要約】【課題】  力制御を用いて組立を行うロボット装置において、想定外の外乱により組立動作を失敗することを低減するロボット装置を提供する。【解決手段】  ロボットアーム１にエンドエフェクタ７０を装着し制御装置９１により、対象物及び所定の工程に基づいて設定された動作範囲内にエンドエフェクタ７０の位置が存在するように、ロボットアーム１を制御することを特徴とするロボット装置。【選択図】  図３
2019018298.tif 000002
【特許請求の範囲】
【請求項１】
ロボットアームにエンドエフェクタを装着し、前記エンドエフェクタによって対象物を保持し、所定の工程にしたがって作業を行うロボット装置であって、
前記エンドエフェクタに作用する力情報を検出する力検出手段と、
前記力検出手段の検出値に基づいて前記ロボットアームを制御する制御手段と、を備え、
前記制御手段は、前記対象物及び前記所定の工程に基づいて設定された動作範囲内に前記エンドエフェクタの位置が存在するように、前記ロボットアームを制御することを特徴とするロボット装置。
【請求項２】
請求項１に記載のロボット装置において、
前記工程が複数あり、複数の前記工程に応じて前記エンドエフェクタの複数の前記動作範囲を記憶している記憶部を有し、
前記制御手段は、複数の前記工程に応じて対応する前記動作範囲の情報を前記記憶部から読み出して前記ロボットアームを制御することを特徴とするロボット装置。
【請求項３】
請求項１または請求項２に記載のロボット装置において、
前記エンドエフェクタの位置情報を検出する位置検出手段を有し、
前記制御手段は、前記位置検出手段からの検出値から前記エンドエフェクタが前記動作範囲から外れたと判定すると、前記動作範囲内に前記エンドエフェクタの位置を補正することを特徴とするロボット装置。
【請求項４】
請求項３に記載のロボット装置において、
前記制御手段は、前記位置検出手段からの検出値から前記エンドエフェクタが前記動作範囲から外れたと判定すると、前記エンドエフェクタの位置を、位置制御を用いて前記動作範囲内に補正することを特徴とするロボット装置。
【請求項５】
請求項１から請求項４のいずれか１項に記載のロボット装置において、
前記制御手段は、前記複数の工程において、所定の工程から別の工程に切り換える際、前記力検出手段の検出値を基に切り換えを行うと共に、前記動作範囲も各工程に合わせて切り換えることを特徴とするロボット装置。
【請求項６】
請求項１から請求項５に記載のロボット装置において、
前記制御手段は、前記複数の工程において、所定の工程から別の工程に切り換える際、前記エンドエフェクタの移動量を基に切り換えを行うと共に、前記動作範囲も各工程に合わせて切り換えることを特徴とするロボット装置。
【請求項７】
ロボットアームにエンドエフェクタを装着し、前記エンドエフェクタによって対象物を保持し、所定の工程にしたがって作業を行うロボット装置の制御方法であって、
前記複数の組立工程に応じて前記エンドエフェクタの動作が制限される動作範囲を記憶手段より読み出す読出工程と、
前記エンドエフェクタが前記動作範囲に位置しているか判定する判定工程と、
前記動作範囲に基づいて、前記力制御を実行している前記ロボットアームを動作させる工程と、を有することを特徴とするロボット装置の制御方法。
【請求項８】
請求項７に記載のロボット装置の制御方法において、
前記判定工程で、前記エンドエフェクタが前記可動な範囲に位置していないと判定すると、前記可動な範囲に前記エンドエフェクタの位置を補正する補正工程を有することを特徴とするロボット装置の制御方法。
【請求項９】
請求項８に記載のロボット装置の制御方法において、
前記補正工程は、位置制御により実行されることを特徴とするロボット装置の制御方法。
【請求項１０】
請求項９に記載のロボット装置の制御方法において、
前記複数の組立工程は、前記接触工程、前記さぐり工程、前記挿入工程を有し、
前記接触工程、前記さぐり工程、前記挿入工程、それぞれに対応した前記読出工程、前記判定工程、前記動作させる工程が実行されることを特徴とするロボット装置の制御方法。
【請求項１１】
請求項７から請求項１０のいずれか１項に記載の制御方法を実行可能な制御プログラム。
【請求項１２】
請求項１１に記載の制御プログラムを記録した、コンピュータで読み取り可能な記録媒体。
【請求項１３】
ロボットアームにエンドエフェクタを装着し、前記エンドエフェクタによって対象物を保持し、所定の工程にしたがって組立を行うロボット装置を用いた組立方法であって、
前記複数の組立工程に応じて前記エンドエフェクタの動作が制限される動作範囲を記憶手段より読み出す読出工程と、
前記エンドエフェクタが前記動作範囲に位置しているか判定する判定工程と、を有し、
前記動作範囲に基づいて、前記力制御を実行している前記ロボットアームを動作させ組立てを行うことを特徴とする組立方法。
【請求項１４】
請求項１３に記載の組立方法において、
前記判定工程で、前記エンドエフェクタが前記可動な範囲に位置していないと判定すると、前記可動な範囲に前記エンドエフェクタの位置を補正する補正工程を有することを特徴とする組立方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンドエフェクタを用いて対象物を保持し、作業を行うロボット装置、ロボット装置の制御方法、およびロボット装置を用いた組立方法に関する。
【背景技術】
【０００２】
近年生産現場での生産自動化において、消費者ニーズの多様化により多種多様な対象物（組立部品）を把持し、複数の工程で別の対象物（被組立部品）に組み立てることができるロボットが必要とされている。そして、組立の際にアームにより、把持された対象物へ作用する力制御の制御値を、複数の工程に応じて変化させることで多種多様な部品の様々な組立工程に対応している（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１２５８５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし特許文献１の方法では、各工程の成功又は失敗を対象物となる組立部品と被組立部品とが接触した際の反力、もしくは組立部品の相対移動量でしか判定していない。ゆえに外乱によりロボットの姿勢が変化してしまい、周辺機器に組立部品が接触してしまっても、その接触を被組立部品に接触と認識してしまい、設定された反力と相対移動量が検知されると工程終了と判断してしまう。そして工程が成功していないにも関わらず次の工程に進んだり、把持した組立部品を離してしまうため組立失敗となる。
【０００５】
本発明は、このような従来技術の問題に鑑みてなされたものであり、力制御を用いた組立において、想定外の外乱が加わって被組立部品以外に接触することで組立失敗となることを低減し、部品の組立作業の生産効率向上を図ることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明に係る請求項１に記載のロボット装置では、ロボットアームにエンドエフェクタを装着し、前記エンドエフェクタによって対象物を保持し、所定の工程にしたがって作業を行うロボット装置であって、前記エンドエフェクタに作用する力情報を検出する力検出手段と、前記力検出手段の検出値に基づいて前記ロボットアームを制御する制御手段と、を備え、前記制御手段は、前記対象物及び前記所定の工程に基づいて設定された動作範囲内に前記エンドエフェクタの位置が存在するように、前記ロボットアームを制御することを特徴とするロボット装置を採用した。
【発明の効果】
【０００７】
本発明によれば、想定外の外乱によりロボットアームの姿勢が変化し、把持した組立部品が被組立部品以外に接触しそうになっても、組立が可能となる動作範囲に把持した組立部品を補正することができる。これにより、被組立部品以外に接触することを低減し、生産効率の向上を図ることが可能になる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態におけるロボットシステムの全体構成図である。
【図２】本発明の実施形態におけるロボットシステムの制御ブロック図である。
【図３】本発明の実施形態における組立工程図である。
【図４】本発明の実施形態における部品の組立工程のフローチャートである。
【図５】本発明の実施形態におけるロボットシステムに力覚センサを設けた際の図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す実施形態はあくまでも一例であり、細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更できる。また、本実施形態で取り上げる数値は参考数値であって本発明を限定するものではない。
【００１０】
（実施形態）
図１は本実施形態におけるロボットシステムの全体構成を示している。図１は、本実施形態のロボットシステム１０００を側面から示している。図１の左下部には、このロボットシステム１０００の制御に用いられる３次元（ＸＹＺ）座標系の座標軸を示してある。図示の通り、これら座標軸のうちＺ軸は図の上方へ、またＸ軸は図の左方向へ向かうよう配置されている。Ｙ軸は紙面奥方向へ向かうよう配置されている。
【００１１】
図１に示すように、ロボットシステム１０００はロボットアーム本体１と、ロボットアーム本体１の先端に装着されるエンドエフェクタ７０と、ロボットアーム本体１を制御する制御装置９１、モータドライバ９３、指令装置９４を含む。指令装置９４は、例えばティーチングペンダントのような教示装置である。制御装置９１はマイクロプロセッサなどから成るＣＰＵなどによって構成されている。制御装置９１には指令装置９４が接続され、制御装置９１からの制御値がモータドライバ９３に渡され、ロボットアーム本体１を制御する。
【００１２】
また、ロボットアーム本体１の各種動作に応じて対応する駆動部を制御するためのプログラムや、それらの制御に必要なデータ等を記憶したＲＯＭ（後述の動作範囲記憶部９６）を有する。さらにロボットシステムを制御する上で必要なデータ、設定値、プログラム等を展開するとともにＣＰＵの作業領域として使用するＲＡＭを備えている。指令装置９４をはじめとする外部機器は汎用入出力インターフェイスＩ／Ｏなどによって接続されている。
【００１３】
なお、指令装置９４には、ロボットアーム本体１の関節の姿勢（位置や角度）、あるいはエンドエフェクタ７０の基準位置などを移動させるための操作キーを含む操作部（不図示）が配置される。指令装置９４の操作部で何らかのロボット操作が行われると、指令装置９４の操作に応じて、制御装置９１はケーブル８０（線材）を介してロボットアーム本体１の動作を制御する。
【００１４】
図１に示したロボットアーム本体１は、複数リンク、例えばシリアルリンク形式で複数の関節（６軸）を介して相互に接続した構成を有する。ロボットアーム本体１のリンク１０、２０、３０、４０、５０、および６０は、回転関節１１、２１、３１、４１、５１、および６１を介して駆動される。駆動源として各々の回転関節には後述するモータ９２（図２）、を有している。
【００１５】
また、各関節１１，２１，３１，４１，５１，６１には回転角度が検出できるようエンコーダ９５（図２）が各々設けられている。
【００１６】
同図より、ロボットアーム本体１のベース１００（基台部）とリンク１０はＺ軸方向の回転軸の周りで回転する回転関節１１で接続されている。回転関節１１は、例えば初期姿勢から約±１８０度の可動範囲を有するものとする。
【００１７】
ロボットアーム本体１のリンク１０とリンク２０は回転関節２１で接続されている。回転関節２１の回転軸は、図示の状態ではＹ軸方向に一致している。この回転関節２１は、例えば初期姿勢から約±８０度の可動範囲を有するものとする。
【００１８】
ロボットアーム本体１のリンク２０とリンク３０は回転関節３１で接続されている。この回転関節３１の回転軸は、図示の状態ではＹ軸方向に一致している。回転関節３１は、例えば初期姿勢から約±７０度の可動範囲を有するものとする。
【００１９】
ロボットアーム本体１のリンク３０とリンク４０とは、回転関節４１で接続されている。この回転関節４１の回転軸は、図示の状態ではＸ軸方向に一致している。回転関節４１は、例えば初期姿勢から約±１８０度の可動範囲を有するものとする。
【００２０】
ロボットアーム本体１のリンク４０とリンク５０は回転関節５１で接続されている。回転関節５１の回転軸はＹ軸方向に一致している。この回転関節５１は、初期姿勢から約±１２０度の可動範囲を有するものとする。
【００２１】
ロボットアーム本体１のリンク５０とリンク６０は回転関節６１で接続されている。回転関節６１の回転軸はＸ軸方向に一致している。この回転関節６１は、初期姿勢から約±２４０度の可動範囲を有するものとする。
【００２２】
以上のように、本実施例では、回転関節１１、４１、６１の回転軸は、各々が結合する２つのリンクの中心軸（１点鎖線）と平行（ないしは同軸）に配置されて、この２つのリンクの回転軸廻りの（相対）角度を変化させることができるよう配置されている。
【００２３】
一方、回転関節２１、３１、および５１の回転軸は、これら各々が結合する２つのリンクの中心軸（同）の交差する（相対）角度を変化させることができるよう配置されている。
【００２４】
また、ロボットアーム本体１の先端に接続されるエンドエフェクタ７０は生産ラインにおいて組み立て作業や移動作業を行うための（電動）ハンドや（空気圧駆動の）エアハンドなどが接続される。
【００２５】
このエンドエフェクタ７０は、リンク６０に対してビス止めなどの（半）固定的な手段（不図示）によって装着されるか、あるいは、ラッチ（ラチェット）止めなどの着脱手段（不図示）によって装着可能であるものとする。特に、エンドエフェクタ７０が着脱可能である場合は、ロボットアーム本体１を制御して、ロボットアーム本体１自身の動作によって供給位置（不図示）に配置されたエンドエフェクタを着脱ないし交換する方式も考えられる。このエンドエフェクタ７０により対象物を保持する。
【００２６】
さらに本実施の形態では、回転関節１１〜６１の駆動をフィードバック制御できるように各関節にそれぞれトルクセンサ９７とエンコーダ９５が各々配置してある。（図２）
図２は本発明の実施形態におけるロボットシステム１０００の制御ブロック図である。制御装置９１が後述の制御プログラムを実行することにより、ロボットアーム本体１の各部が制御される。
【００２７】
なお、エンドエフェクタ７０も図２に示したブロック図と同様なブロック図で制御されている。以下、図１、図２を参照して説明する。
【００２８】
ロボットアーム本体１の各関節１１〜６１を駆動するモータ９２の駆動トルク、即ち、このモータ９２から各リンク１０〜６０に印加される回転駆動力を測定するトルクセンサ９７が設けられる。このトルクセンサ９７は、各関節１１〜６１の内部に配置されたモータ９２あるいはさらに減速機（不図示）から成る駆動系の駆動軸上の所定位置に配置される。
【００２９】
本実施例におけるロボットアームは６軸の多関節ロボットであり、その各関節にはそれぞれモータ、トルクセンサ、エンコーダ等による駆動伝達系が配されており、これらはロボットアームによって実行する作業、移動軌跡によって適宜制御される。ここでは説明の便宜上、モータ９２、トルクセンサ９７、エンコーダ９５によって代表して説明するが、実際の動作においては、ロボットアームの所望の動作を実現すべく各関節の駆動伝達系が適宜制御されるものとする。
【００３０】
同図より、各関節１１〜６１の各駆動力を測定するためのトルクセンサ９７は、上記の通り、回転関節２１を駆動するモータ９２あるいはさらに減速機（不図示）などから成る駆動系の駆動軸上の所定位置に配置される。そして、モータ９２により各関節１１〜６１を駆動してその角度を変化させると、駆動時に加わったトルクの値をトルクセンサ９７が検出する。
【００３１】
このトルクセンサ９７の出力を制御装置９１に返し、各関節１１〜６１の駆動にフィードバックする事で、各関節１１〜６１におけるトルクを制御できる。さらに各トルクセンサ９７の値からエンドエフェクタ７０で発生する力を計算で求める事ができ、組立対象の部品に印加する荷重をフィードバック制御する事が可能である。
【００３２】
なお、トルクセンサ９７の構造や配置位置の詳細は不図示であるが、このような回転関節の回転駆動力を測定するトルクセンサ９７に関しては公知の構造を利用してよい。
【００３３】
また、動作範囲記憶部９６には、後述する制御プログラムの実行中にロボットアーム本体１が動作可能な範囲が各モータ９２の駆動角度で記憶されている。さらに後述する各組立工程の切換のタイミングとなる反力の閾値、または把持した組立部品の移動量の閾値も格納されている。
【００３４】
制御装置９１内のＣＰＵはトルクセンサ９７、エンコーダ９５の検出値と、後述する動作範囲記憶部９６（ＲＯＭ）に記憶されている動作範囲とを比較し、後述する組立工程のフローチャートにおいてロボットアーム本体１が動作範囲内かどうかの判定を行う。上記各トルクセンサが力情報を検出する力検出手段として作用し、各エンコーダが位置情報を検出する位置検出手段として作用する。
【００３５】
図３に本実施形態における組立工程図を、図４に本実施形態における部品の組立工程のフローチャートを示す。以下、図３、図４を用いて組立工程を詳細に説明する。また、図３左下部に制御に用いられる３次元（ＸＹＺ）座標系の座標軸を示してある。
【００３６】
図３（ａ）に組立部品５０１と、被組立部品５０２の初期配置を示す。組立部品５０１と被組立部品５０２は台座６００に配置されており、被組立部品５０２は台座６００に固定されているものとする。また組立部品を把持するエンドエフェクタ７０に基準点Ｐを設定している。
【００３７】
この状態から図４のＳ３０１では、組立開始の指令により、ロボットアーム本体１は位置制御によりエンドエフェクタ７０の基準点Ｐを組立部品５０１の把持位置Ｑ０に移動する。
【００３８】
Ｑ０への移動が完了するとＳ３０２で、組立部品５０１の中心軸Ｃ１とエンドエフェクタ７０の基準点ＰとをＸ，Ｙ座標において一致させた把持位置で組立部品５０１を把持する。そして図３（ｂ）に示すように、被組立部品５０２上方の組立部品同士が接触する直前の組立開始位置Ｑ１に基準点Ｐを移動させる。
【００３９】
Ｓ３０３で図３（ｂ）において、組立開始位置Ｑ１に組立部品５０１を移動させる際、ロボットアーム本体１のエンコーダ９５から、組立開始位置Ｑ１にエンドエフェクタ７０の基準点Ｐが移動したか否かを制御部９１で判定する。ＮｏであればＳ３０２の直前に戻ってＱ１への移動を継続し、ＹｅｓであればＳ３０４へと進む。
【００４０】
Ｓ３０４で、エンドエフェクタ７０が移動可能な動作範囲を定義した動作範囲をＲＯＭから読出す。動作範囲とは、それぞれの組立動作工程の中のさぐり工程や接触工程といった各工程に合わせてロボットアーム本体１の移動し得る許容範囲を表すもので、これを適切な範囲に限定することによって、制御の安定性と、組立時間の短縮を行うことができる。
【００４１】
本実施形態では、Ｓ３０４での動作範囲の設定は、組立部品の設計寸法とロボットシステムの設計寸法から決定する。例えば、図３（ｂ）に示す動作範囲５０３−１では、Ｚ方向は基準点Ｐを基準とした被組立部品５０２の上面Ｓ２と組立部品５０１の底面Ｓ１との間の領域で設定される。さらにＸＹ方向に関しては、組立部品５０１の設計上の中心軸Ｃ１を基準にして決定する。
【００４２】
なお、組立部品５０１はエンドエフェクタ７０の基準点Ｐと組立部品５０１の中心軸Ｃ１とを一致させて把持するため基準点Ｐを基準にＸＹ座標上の動作範囲を設定しても良い。
【００４３】
上記動作範囲は組立部品とロボットシステムの設計寸法から決定したが、実際にロボットシステムで組立ての実験を行い、その結果から動作範囲を設定しても良い。
【００４４】
また、力情報を検出する手段からの検出値の変化から、組立部品が被組立部品に接触したと判断し、その時のロボットアーム本体１の位置を基準に動作範囲を設定しても良い。
【００４５】
上記のエンドエフェクタ７０の動作範囲は、ロボットアーム本体１の各回転関節のモータ９２の駆動量に対応させることによって制御が達成される。またこの動作範囲を達成する駆動量はエンドエフェクタ７０の基準点Ｐを基準にして設定されており、基準点Ｐの周囲に動作範囲５０３−１をオフセットして制御される。これによりエンドエフェクタ７０が、設定した動作範囲内にあるのか否かを判定することができる。
【００４６】
これら動作範囲に対応したモータ９２の駆動量は動作範囲記憶部９６に格納されており、制御装置９１内のＣＰＵが必要に応じて読出す。そして動作範囲を基にロボットアーム本体１のモータ９２の駆動を制御する。
【００４７】
続いてＳ３０５に移行すると、ロボットアーム本体１の制御モードを位置制御から力制御に切り替え、組立部品５０１と被組立部品５０２を接触させる接触工程を開始する。ロボットアーム本体１を力制御により、所定の力制御の指令値の方向を示す矢印６０１−１を入力する。そして組立部品５０１を被組立部品５０２へと接触させる方向に移動しながら組立部品５０１に作用する力を、エンドエフェクタ７０でも同様にかかると仮定してトルクセンサ９７で検出してフィードバックする。
【００４８】
Ｓ３０６では、Ｓ３０５で開始した力制御動作において、エンドエフェクタ７０の基準点ＰがＳ３０４で設定した動作範囲内であるか、ロボットアーム本体１のエンコーダ９５からの検出値から制御部９１で判定する。ＹｅｓであればＳ３０８に進み、ＮｏであればＳ３０７へと進む。
【００４９】
Ｓ３０７は、力制御による接触工程中に外乱等が働き、設定している動作範囲５０３−１の外に基準点Ｐが動いた場合の補正ステップである。すなわち動作範囲の外にエンドエフェクタ７０が移動すると、そのずれ量によっては、組立自体が不能となったり、他の周辺機器に接触してしまい組立失敗の可能性が高くなる。ゆえにエンドエフェクタ７０の位置を組立が確実に行える可能性が高い位置に導く必要がある。
【００５０】
予期せぬ外乱等によって、基準点Ｐが動作範囲外へと大きく逸脱して移動した場合、力指令値に基づいてフィードバック制御を行っている力制御の状態から、目標位置指令値に基づいてフィードバック制御を行う位置制御へと制御モードを切り替える。そして位置制御で、逸脱した基準点Ｐがオフセットされた動作範囲５０３−１内の中央に戻るように制御する。その後、制御モードを再度位置制御から力制御に切り替えて接触工程を継続する。
【００５１】
また上記は位置制御を用いて動作範囲５０３−１内の中央に戻しているが、エンコーダ９５からの検出値に閾値を設け、その閾値よりも動作範囲５０３−１から外れなかった場合は力制御のまま戻しても良い。その場合、所定の力指令値をフィードバック制御の入力として供給し、エンドエフェクタ７０を動作範囲５０３−１に移動させるように補正する。
【００５２】
補正方法の選択は動作範囲５０３−１の外側にさらに力制御で補正する範囲と位置制御で補正する範囲をそれぞれ設定すればよい。これにより制御の切換回数を低減でき、安定した制御を行うことができる。
【００５３】
これにより、組立部品の位置ずれや外乱によって本来は生じない方向に外力が加わり、その外力に反応してエンドエフェクタ（組立部品）の移動位置が本来の目標位置から大きく逸脱することで、組立作業が不能となってしまうトラブルが未然に防止される。
【００５４】
Ｓ３０８では、組立部品５０１と被組立部品５０２が接触したかどうかを判定する。Ｎｏの場合はＳ３０６へと戻り、上記の力制御による制御フローを繰り返す。図３（ｄ）のように組立部品５０１と被組立部品５０２が接触し、予め想定されていた被組立部品からの接触力（反力）Ｆ１がアーム本体１のトルクセンサ９７により検出されれば、Ｓ３０９に進む。
【００５５】
Ｓ３０９では、上記Ｓ３０８での接触力検知をタイミングとして、力制御の動作範囲を５０３−１から５０３−２に切り換える（図３（ｅ））。動作範囲５０３−２は各組立工程におけるさぐり工程を力制御で実行可能な動作範囲を設定している。
【００５６】
なお、動作範囲５０３−２はＳ３０４で述べたように部品とロボットシステムの設計仕様により設定しても良いし、実際のさぐり工程を複数回行い設定しても良い。部品同士をすり合わせる動作なので、動作範囲５０３−２は動作範囲５０３−１に比べてＺ座標上では狭く、ＸＹ座標上でも狭くとる。こうすることで組立を行いたい範囲から出ないようにし中心の位置合わせを確実に行う。
【００５７】
また、動作範囲内にエンドエフェクタ７０があるのか判定するため基準点Ｐを基準に動作範囲５０３−２をエンドエフェクタ７０側にオフセットして制御される。また、その動作範囲にエンドエフェクタ７０の基準点Ｐが存在するよう駆動するためのロボットアーム本体１のモータ９２の駆動量の範囲の情報が動作範囲記憶部９１に格納されている。
【００５８】
そして制御部９１により動作範囲記憶部９６から動作範囲５０３−２内にエンドエフェクタ７０を存在させるためのロボットアーム本体１のモータ９２の駆動量の範囲を呼び出し、ロボットアーム本体１のモータ９２の駆動を制御する。
【００５９】
また、本実施形態では動作範囲の切り換えのタイミングを接触力の検知としたが、これに限らない。Ｓ３０９で動作範囲を切り換える場合、エンドエフェクタ７０の基準点Ｐ（組立部品５０１）の位置が所定の位置になった時に切り換えを行っても良い。所定の位置とは、Ｓ３０３で組立開始位置を設定したように、あらかじめ設定されている位置である。
【００６０】
Ｓ３１０で、図３（ｆ）のように、力制御の指令値の方向を示す矢印６０１−２に基づいてモータ９２を力制御して組立部品５０２を移動し、さぐり工程を開始する。
【００６１】
さぐり工程を成功させるため、組立部品５０１の中心軸Ｃ１を被組立部品５０２の中心軸Ｃ２と一致させるよう方向に力制御指令値をフィードバック制御系に入力する。実際には、組立部品５０１の中心をエンドエフェクタ７０の基準点Ｐにオフセットして力制御を行っている。
【００６２】
Ｓ３１１では、Ｓ３０６と同様に組立部品５０１がＳ３０９で切り換えた動作範囲５０３−２内であるか、ロボットアーム本体１のエンコーダ９５からの検出値から制御部９１で判定する。
【００６３】
Ｎｏであれば、Ｓ３１２に進み、Ｓ３０７と同様に力制御モードから位置制御モードに切換え、あらかじめ設定された動作範囲５０３−２の中央へ戻るように制御する。そしてさぐり工程を再開する。
【００６４】
Ｙｅｓであれば、Ｓ３１３に進む。Ｓ３１３は、さぐり工程が完了したかどうかを判定する。図３（ｇ）のように組立部品５０１と被組立部品５０２のそれぞれＣ１軸とＣ２軸が一致し、組立部品５０１を−Ｚ方向に押し付ける。その際、あらかじめ閾値として設定されたさぐり工程完了の場合の反力Ｆ２（＜Ｆ１）がロボットアーム本体１に設けられたトルクセンサ９７により検出されればＳ３１４に進む。Ｎｏの場合は、組立部品５０１と５０２とが挿入位置になっていないため、Ｓ３１１の直前まで戻り、上記制御フローで示すさぐり工程を繰り返す。
【００６５】
Ｓ３１４では、組立部品５０１と５０２とが挿入可能な位置関係となったことが確認されたため、上記Ｓ３１３での反力検知をタイミングとして、力制御の動作範囲を５０３−２から５０３−３に切り換える（図３（ｈ））。動作範囲５０３−３は各組立工程における挿入工程を力制御で実行可能な動作範囲を設定している。動作範囲はＳ３０４、Ｓ３０９で述べたように部品の設計仕様により設定しても良いし、実際の挿入工程から測定した値により設定しても良い。部品を挿入する動作なので、動作範囲５０３−３は動作範囲５０３−２よりもＸＹ座標上では狭く、Ｚ座標上では広くしている。こうすることで、ＸＹ方向への余計な動きを少なくして、組み立てたい方向に組立部品５０１を案内している。
【００６６】
また、動作範囲内にエンドエフェクタ７０があるのか判定するため基準点Ｐを基準に動作範囲５０３−３をオフセットして制御される。そしてその動作範囲に対応するロボットアーム本体１のモータ９２の駆動量の範囲の情報を動作範囲記憶部９６に格納している。
【００６７】
そして制御部９１より動作範囲記憶部９６から動作範囲５０３−３に対応するロボットアーム本体１のモータ９２の駆動量の範囲の情報を呼び出し、ロボットアーム本体１のモータ９２の駆動を制御する。
【００６８】
また、Ｓ３０９と同様、動作範囲の切り換えのタイミングをトルクセンサ９７からの力としたが、基準点Ｐ（組立部品５０１）の位置を切換のタイミングとして設定してもよい。
【００６９】
Ｓ３１５で、図３（ｉ）のように、力制御目標値を表す指令値（６０１−３）に基づいてモータ９２を力制御し組立部品５０１を挿入方向へ移動する。実際には、組立部品５０１の中心をエンドエフェクタ７０の基準点Ｐにオフセットして力制御を行っている。
【００７０】
Ｓ３１６では、Ｓ３０６と同様に組立部品５０１がＳ３１４で切り換えた動作範囲５０３−３内であるか、ロボットアーム本体１のエンコーダ９５からの検出値から動作範囲記憶部９６の値と比較して制御部９１で判定する。
【００７１】
Ｎｏであれば、Ｓ３１７に進み、Ｓ３０７と同様に力制御モードから位置制御モードに切換え、あらかじめ設定された動作範囲５０３−３’の中央へ基準点Ｐが戻るように制御する。そして挿入工程を再開する。
【００７２】
Ｙｅｓであれば、Ｓ３１８に進む。Ｓ３１８は、組立部品５０１が挿入完了したかどうかを判定する。挿入工程を続けると図３（ｊ）のように組立部品５０１が台座６００に当接し、台座からの反力Ｆ３が生じる。この反力Ｆ３（＞Ｆ１，Ｆ２）を閾値として設定し挿入完了か判定する。反力Ｆ３がアーム本体１に設けられたトルクセンサ９７により検出されればＳ３１９に進む。Ｎｏの場合はＳ３１６に戻り、力制御による挿入工程の制御フローを繰り返す。
【００７３】
なお、挿入完了の判定は台座からの反力を用いたが、ロボットアーム本体１の先端（組立部品）の降下量を判定の基準に用いても良い。Ｎｏの場合はＳ３１５の直前まで戻り、上記フローを繰り返す。
【００７４】
Ｓ３１９で、力制御から位置制御に切り換え、組立部品５０２を離し、挿入工程を完了し、組立を終了する。
【００７５】
以上の制御により、各組立工程によって力制御を実行する範囲を各々設定して制限し、切り換えることができる。その結果、想定外の外乱がロボットアーム本体に働いても、被組立部品以外に接触しないよう組立が成功する範囲に補正を行うことができ、組立の成功の確率を向上させる事が可能になる。
【００７６】
また、組立工程作の段階ごとに再試行するので、最初の動作から再試行させずに済み、組立を効率化することができる。
【００７７】
以上述べた実施形態では力情報を検出する力検出手段としてトルクセンサを使用しているが、力覚センサでも良い。図５は本実施形態のロボットシステム１０００に力覚センサ９０を設けた際の図である。例えば、リンク６０とエンドエフェクタ７０の間に力覚センサ９０を配置する。
【００７８】
力覚センサ９０は並進方向３軸（Ｘ、Ｙ、Ｚ方向）と回転方向３軸（θｘ、θｙ、θｚ）の合計６軸の力を検出する事ができる。この６軸の力を分解計算する事で本実施形態のロボットアーム本体１の６個の回転関節１１〜６１に生じているトルクの値を計算で求め各関節のトルクを制御する事ができる。なお、力覚センサ９０の詳細は不図示であるが、公知の構造を利用して良い。
【００７９】
本実施形態の組立動作の処理手順は具体的には制御装置９１により実行されるものである。従って上述した機能を実現するソフトウェアのプログラムを記録した記録媒体を制御装置９１に供給し、ＣＰＵが記録媒体（動作範囲記憶部９６）に格納されたプログラムを読み出し実行することによって達成されるよう構成することができる。この場合、記録媒体から読み出されたプログラム自体が上述した各実施形態の機能を実現することになり、プログラム自体およびそのプログラムを記録した記録媒体は本発明を構成することになる。
【００８０】
また、各実施形態では、コンピュータで読み取り可能な記録媒体がＲＯＭ或いはＲＡＭであり、ＲＯＭ或いはＲＡＭにプログラムが格納される場合について説明したが、本発明はこのような形態に限定されるものではない。本発明を実施するためのプログラムは、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラムを供給するための記録媒体としては、ＨＤＤ、外部記憶装置、記録ディスク等を用いてもよい。
【産業上の利用可能性】
【００８１】
本発明は産業用ロボットに利用可能である。
【符号の説明】
【００８２】
１  ロボットアーム本体
１０、２０、３０、４０、６０  リンク
１１、２１、３１、４１、５１、６１  回転関節
７０  エンドエフェクタ
８０  ケーブル
９０  力覚センサ
９１  制御装置
９２  モータ
９３  モータドライバ
９４  指令装置
９５  エンコーダ
９６  動作範囲記憶部
９７  トルクセンサ
１００  ベース
５０１  組立て部品
５０２  被組立部品
５０３  動作範囲
６００  台座
６０１  力指令値
【図１】
2019018298.tif 000003
【図２】
2019018298.tif 000004
【図３】
2019018298.tif 000005
【図４】
2019018298.tif 000006
【図５】
2019018298.tif 000007