(57)【特許請求の範囲】
【請求項１】
複数の関節を有するロボットアームと、
前記ロボットアームに取り付けられたエンドエフェクタと、
前記ロボットアームの動作を制御する制御部と、を備え、
前記制御部は、前記ロボットアームの暖機運転として、
前記ロボットアームの動作を制御して、前記エンドエフェクタが被押圧体を押圧する押圧位置に、前記エンドエフェクタを移動させる移動処理と、
前記ロボットアームの動作を制御して、前記エンドエフェクタを前記押圧位置に保持した状態で前記エンドエフェクタを前記被押圧体に押し付ける押し付け処理と、
前記押し付け処理の最中に、単位時間当たりの前記ロボットアームの動作量が、予め設定した許容値以下であるか否かを判断する判断処理と、
前記判断処理の結果、前記動作量が前記許容値を超えていれば、前記押し付け処理を継続し、前記動作量が前記許容値以下であれば、前記押し付け処理を終了する押し付け継続終了処理と、を実行することを特徴とするロボット装置。
【請求項２】
前記エンドエフェクタに作用する力を検知する力検知部を更に備え、
前記制御部は、前記押し付け処理として、前記ロボットアームの動作を制御して、前記力検知部により検知された力の値が予め設定された目標範囲内に収まるように前記エンドエフェクタを前記被押圧体に押し付けることを特徴とする請求項１に記載のロボット装置。
【請求項３】
前記力検知部は、前記ロボットアームと前記エンドエフェクタとの間に配置した力覚センサであることを特徴とする請求項２に記載のロボット装置。
【請求項４】
前記動作量は、前記複数の関節のうち２つ以上の関節それぞれの前記単位時間当たりの角度変化量であり、
前記制御部は、
前記判断処理として、それぞれの前記角度変化量が前記許容値以下であるか否かを判断し、
前記押し付け継続終了処理として、前記判断処理の結果、前記２つ以上の関節に対する全ての前記角度変化量のうち１つでも前記許容値を超えていれば、前記押し付け処理を継続し、全ての前記角度変化量が前記許容値以下であれば、前記押し付け処理を終了することを特徴とする請求項１乃至３のいずれか１項に記載のロボット装置。
【請求項５】
前記動作量は、前記複数の関節のうち１つの関節の前記単位時間当たりの角度変化量であり、
前記制御部は、
前記判断処理として、前記角度変化量が前記許容値以下であるか否かを判断し、
前記押し付け継続終了処理として、前記判断処理の結果、前記角度変化量が前記許容値を超えていれば、前記押し付け処理を継続し、前記角度変化量が前記許容値以下であれば、前記押し付け処理を終了することを特徴とする請求項１乃至３のいずれか１項に記載のロボット装置。
【請求項６】
前記ロボットアームは、前記判断処理にて判断対象となる関節に配置され、該関節の角度に応じた信号を検知結果として前記制御部に出力する角度検知部を有し、
前記制御部は、前記角度変化量を求めるに際し、前記角度検知部から検知結果を取得することを特徴とする請求項４又は５に記載のロボット装置。
【請求項７】
前記角度検知部は、前記判断処理にて判断対象となる関節の角度を検知するエンコーダであることを特徴とする請求項６に記載のロボット装置。
【請求項８】
前記ロボットアームは、前記複数の関節それぞれに配置され、該関節を駆動する駆動部を有し、
前記駆動部は、電動モータと、前記電動モータの回転を減速する減速機と、を有し、
前記角度検知部は、前記判断処理にて判断対象となる関節における前記電動モータの回転角度を検知するエンコーダであることを特徴とする請求項６に記載のロボット装置。
【請求項９】
前記制御部は、
前記暖機運転を、互いに異なる複数の前記押圧位置それぞれに対して順次実行することを特徴とする請求項１乃至８のいずれか１項に記載のロボット装置。
【請求項１０】
前記複数の押圧位置には、第１押圧位置と、前記第１押圧位置に対して前記エンドエフェクタの姿勢が変わる第２押圧位置とが含まれていることを特徴とする請求項９に記載のロボット装置。
【請求項１１】
前記エンドエフェクタがロボットハンドであり、
前記制御部は、
前記移動処理において、前記ロボットハンドに治具を把持させ、
前記押し付け処理において、前記治具を介して前記被押圧体に前記ロボットハンドを押し付けることを特徴とする請求項１乃至１０のいずれか１項に記載のロボット装置。
【請求項１２】
前記治具が前記被押圧体に固定されていることを特徴とする請求項１１に記載のロボット装置。
【請求項１３】
ロボットが、複数の関節を有するロボットアームと、前記ロボットアームに取り付けられたエンドエフェクタとを有しており、制御部が、前記ロボットアームの暖機運転を行うに際し、前記ロボットアームの動作を制御するロボット制御方法であって、
前記制御部が、前記ロボットアームの動作を制御して、前記エンドエフェクタが被押圧体を押圧する押圧位置に、前記エンドエフェクタを移動させる移動工程と、
前記制御部が、前記ロボットアームの動作を制御して、前記エンドエフェクタを前記押圧位置に保持した状態で前記エンドエフェクタを前記被押圧体に押し付ける押し付け工程と、
前記制御部が、前記押し付け工程の最中に、単位時間当たりの前記ロボットアームの動作量が、予め設定した許容値以下であるか否かを判断する判断工程と、
前記制御部が、前記判断工程の結果、前記動作量が前記許容値を超えていれば、前記押し付け工程を継続し、前記動作量が前記許容値以下であれば、前記押し付け工程を終了する押し付け継続終了工程と、備えることを特徴とするロボット制御方法。
【請求項１４】
前記ロボットが、前記エンドエフェクタに作用する力を検知する力検知部を有しており、
前記押し付け工程では、前記制御部が、前記ロボットアームの動作を制御して、前記力検知部により検知された力の値が予め設定された目標範囲内に収まるように前記エンドエフェクタを前記被押圧体に押し付けることを特徴とする請求項１３に記載のロボット制御方法。
【請求項１５】
前記力検知部が、前記ロボットアームと前記エンドエフェクタとの間に配置した力覚センサであることを特徴とする請求項１４に記載のロボット制御方法。
【請求項１６】
前記動作量は、前記複数の関節のうち２つ以上の関節それぞれの前記単位時間当たりの角度変化量であり、
前記判断工程として、前記制御部が、それぞれの前記角度変化量が前記許容値以下であるか否かを判断し、
前記押し付け継続終了工程として、前記制御部が、前記判断工程の結果、前記２つ以上の関節に対する全ての前記角度変化量のうち１つでも前記許容値を超えていれば、前記押し付け工程を継続し、全ての前記角度変化量が前記許容値以下であれば、前記押し付け工程を終了することを特徴とする請求項１３乃至１５のいずれか１項に記載のロボット制御方法。
【請求項１７】
前記動作量は、前記複数の関節のうち１つの関節の前記単位時間当たりの角度変化量であり、
前記判断工程として、前記制御部が、前記角度変化量が前記許容値以下であるか否かを判断し、
前記押し付け継続終了工程として、前記制御部が、前記判断工程の結果、前記角度変化量が前記許容値を超えていれば、前記押し付け工程を継続し、前記角度変化量が前記許容値以下であれば、前記押し付け工程を終了することを特徴とする請求項１３乃至１５のいずれか１項に記載のロボット制御方法。
【請求項１８】
前記ロボットアームは、前記判断工程にて判断対象となる関節に配置され、該関節の角度に応じた信号を検知結果として前記制御部に出力する角度検知部を有し、
前記判断工程にて、前記制御部が、前記角度変化量を求めるに際し、前記角度検知部から検知結果を取得することを特徴とする請求項１６又は１７に記載のロボット制御方法。
【請求項１９】
前記角度検知部は、前記判断工程にて判断対象となる関節の角度を検知するエンコーダであることを特徴とする請求項１８に記載のロボット制御方法。
【請求項２０】
前記ロボットアームは、前記複数の関節それぞれに配置され、該関節を駆動する駆動部を有し、
前記駆動部は、電動モータと、前記電動モータの回転を減速する減速機と、を有し、
前記角度検知部は、前記判断工程にて判断対象となる関節における前記電動モータの回転角度を検知するエンコーダであることを特徴とする請求項１８に記載のロボット制御方法。
【請求項２１】
前記制御部が、前記暖機運転を、互いに異なる複数の前記押圧位置それぞれに対して順次実行することを特徴とする請求項１３乃至２０のいずれか１項に記載のロボット制御方法。
【請求項２２】
前記複数の押圧位置には、第１押圧位置と、前記第１押圧位置に対して前記エンドエフェクタの姿勢が変わる第２押圧位置とが含まれていることを特徴とする請求項２１に記載のロボット制御方法。
【請求項２３】
前記エンドエフェクタがロボットハンドであり、
前記移動工程において、前記制御部が、前記ロボットハンドに治具を把持させ、
前記押し付け工程において、前記制御部が、前記治具を介して前記被押圧体に前記ロボットハンドを押し付けることを特徴とする請求項１３乃至２２のいずれか１項に記載のロボット制御方法。
【請求項２４】
前記治具が前記被押圧体に固定されていることを特徴とする請求項２３に記載のロボット制御方法。
【請求項２５】
コンピュータに、請求項１３乃至２４のいずれか１項に記載のロボット制御方法の各工程を実行させるためのプログラム。
【請求項２６】
請求項２５に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２７】
請求項１３乃至２４のいずれか１項に記載のロボット制御方法による前記ロボットアームの暖機運転終了後、前記ロボットアーム及び前記エンドエフェクタを動作させて組立部品を製造する組立部品の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットアームを有するロボット装置、ロボット制御方法、プログラム、記録媒体及び組立部品の製造方法に関する。
【背景技術】
【０００２】
現在、各種工場内作業の自動化のために、生産システムにおいて、ロボットプログラムに従って自動的に作業を行うロボットを有するロボット装置が用いられている。ロボットは、関節を有するロボットアームと、ロボットアームに取り付けられたロボットハンド等のエンドエフェクタとを有している。
【０００３】
近年では、ロボット技術が発達するにつれて自動化の対象となる作業範囲も拡大しており、多品種少量生産に対応した複数の組立作業を一人または少数の作業者で行うセル生産方式を、ロボットで自動化する取り組みが行われている。
【０００４】
ところで、ロボットによる組立動作には高精度の位置決めが要求されるが、ロボットを停止又は休止状態から動作させると、サーボモータや基板等の発熱によるロボットアームの熱変位により動作中にエンドエフェクタの位置ずれが生じ、組立不良が発生する。したがって、ロボットによる組立作業を開始する前に、ロボットアームの熱変位を安定させることを目的とした暖機運転を行うのが一般的である。
【０００５】
しかし、ロボットアームの熱変位が安定する時間は、ロボットアームの個体差やそれまでの動作状況などで異なるため、あらゆる条件を想定して余裕を持たせた所定の暖機時間を設定していた。そのため、多くの場合では必要以上に長時間の暖機運転を行っており、生産効率が低下するといった問題があった。
【０００６】
これに対し、工具の先端位置をカメラ等の測定装置の測定結果に基づき工具先端位置の変位を算出し、算出した変位が許容変位量以内にある時間を監視し、この時間がある範囲時間に達した場合に暖機運転を終了するものが提案されている（特許文献１）。特許文献１は工作機械を対象としており、組立動作等を行うロボット装置を対象としたものではないが、特許文献１の技術を、ロボット装置にも適用することが考えられる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−１１３１３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１の技術をロボット装置に適用した場合、ロボットの先端位置、即ちエンドエフェクタの位置を測定する測定装置が別途必要となる。また、測定装置の測定可能範囲は、ロボットアームの動作範囲をカバーしたものでなければならない。
【０００９】
一般にロボットアームは、架台に固定され、各種組立作業を行うための複雑な動作が行えるように広い動作範囲を確保する必要がある。また、多品種少量生産に対応したセル生産を模したロボット装置の場合には、複数の部品の組立作業を一つの架台上で行うため、ロボットアームの動作範囲内には部品格納用のスペースや部品組立に用いる専用機や治具類が多く配置されている。このような状況で計測装置を架台上に設置することは、ロボットアームの動作範囲を狭めることになり困難である。
【００１０】
本発明は、エンドエフェクタの位置を測定する測定装置をロボットアームのまわりに別途配置する必要がなく、簡単かつコンパクトな構成で、暖機運転の時間短縮を図ることを目的とする。
【課題を解決するための手段】
【００１１】
本発明のロボット装置は、複数の関節を有するロボットアームと、前記ロボットアームに取り付けられたエンドエフェクタと、前記ロボットアームの動作を制御する制御部と、を備え、前記制御部は、前記ロボットアームの暖機運転として、前記ロボットアームの動作を制御して、前記エンドエフェクタが被押圧体を押圧する押圧位置に、前記エンドエフェクタを移動させる移動処理と、前記ロボットアームの動作を制御して、前記エンドエフェクタを前記押圧位置に保持した状態で前記エンドエフェクタを前記被押圧体に押し付ける押し付け処理と、前記押し付け処理の最中に、単位時間当たりの前記ロボットアームの動作量が、予め設定した許容値以下であるか否かを判断する判断処理と、前記判断処理の結果、前記動作量が前記許容値を超えていれば、前記押し付け処理を継続し、前記動作量が前記許容値以下であれば、前記押し付け処理を終了する押し付け継続終了処理と、を実行することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、測定装置をロボットアームのまわりに別途配置する必要がなくなり、簡単かつコンパクトな構成で、ロボットアームの暖機運転を短時間で行うことができる。
【図面の簡単な説明】
【００１３】
【図１】第１実施形態に係るロボット装置の全体構成を示す説明図である。
【図２】第１実施形態に係るロボット装置のロボットを示す模式図である。
【図３】第１実施形態におけるロボットアームの関節を示す部分断面図である。
【図４】第１実施形態に係るロボット装置の制御装置の構成を示すブロック図である。
【図５】第１実施形態に係るロボット制御方法を示すフローチャートである。
【図６】第１実施形態におけるロボットのロボットハンドを押圧位置に移動させた状態を示す模式図である。
【図７】第１実施形態に係るロボットアームの暖機時間に対する各関節の関節角度の変化の一例を示したグラフである。
【図８】第２実施形態に係るロボットのロボットハンドを第１押圧位置に移動させた状態を示す模式図である。
【図９】第２実施形態に係るロボットのロボットハンドを第２押圧位置に移動させた状態を示す模式図である。
【図１０】第３実施形態に係るロボットのロボットハンドを押圧位置に移動させた状態を示す模式図である。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
【００１５】
［第１実施形態］
図１は、本発明の第１実施形態に係るロボット装置の全体構成を示す説明図である。ロボット装置５００は、自動組立装置であるロボットセルである。複数のロボットセルを組み合わせることで、生産システムが構築される。
【００１６】
ロボット装置５００は、枠体５０２、架台５０３、部品供給ボックス５５１、部品排出ボックス５５２及び組立治具５６１，５６２を備えている。また、ロボット装置５００は、複数（第１実施形態では２つ）のロボット１００１，１００２と、ロボット１００１，１００２をそれぞれ制御する制御装置２００と、を備えている。枠体５０２は、直方体状に組み立てられた複数の梁で構成されている。枠体５０２の内側に、架台５０３、部品供給ボックス５５１、部品排出ボックス５５２、組立治具５６１，５６２及びロボット１００１，１００２が配置されている。架台５０３の上面５０３Ａには、部品供給ボックス５５１、部品排出ボックス５５２、組立治具５６１，５６２及びロボット１００１，１００２が配置されている。
【００１７】
図２は、本発明の第１実施形態に係るロボット装置のロボットを示す模式図である。なお、ロボット１００１とロボット１００２は、同様の構成のロボット１００であり、図２では、１つのロボット１００を図示している。
【００１８】
ロボット１００は、垂直多関節のロボットアーム１０１と、エンドエフェクタとしてのロボットハンド１０２と、力検知部である力覚センサ１０３と、を有している。ロボットハンド１０２は、力覚センサ１０３を介してロボットアーム１０１の先端に取り付けられている。即ち、力覚センサ１０３は、ロボットアーム１０１とロボットハンド１０２との間に配置されている。
【００１９】
ロボットアーム１０１は、架台５０３の上面５０３Ａに固定されたベース部（基端リンク）１１０と、変位や力を伝達する複数のリンク１１１〜１１６とが複数の関節Ｊ１〜Ｊ６で屈曲（旋回）又は回転可能に連結されている。第１実施形態では、ロボットアーム１０１は、屈曲する３軸と回転する３軸の６軸の関節Ｊ１〜Ｊ６を有している。ここで、屈曲とは２つのリンクの結合部のある点で折れ曲がること、回転とは２つのリンクの長手方向の回転軸でリンクが相対的に回ることをいい、それぞれを屈曲部（旋回部）、回転部と呼ぶ。第１実施形態では、関節Ｊ１，Ｊ４，Ｊ６が回転部、関節Ｊ２，Ｊ３，Ｊ５が屈曲部（旋回部）である。
【００２０】
ロボットハンド１０２は、複数（例えば３つ）のフィンガー（爪）１２０と、複数のフィンガー１２０を駆動させる駆動装置１２１とを有している。駆動装置１２１が複数のフィンガー１２０を閉動作させることにより、部品を把持することができ、複数のフィンガー１２０を開動作させることにより、部品を把持解放することができる。ロボットハンド１０２は、複数のフィンガー１２０を用いて部品を把持することにより、部品を別の部品に嵌合する嵌合作業を行い、組立部品を製造することができる。
【００２１】
力覚センサ１０３は、互いに直交する３軸（Ｘｆ軸、Ｙｆ軸、Ｚｆ軸）を有し、外力が作用することで各軸方向の荷重Ｆｘ、Ｆｙ、Ｆｚと、各軸まわりのモーメントＭｘ、Ｍｙ、Ｍｚと、を検知可能である。以下、荷重及びモーメントを「力」という。即ち、力覚センサ１０３は、ロボットハンド１０２に作用する力を検知する。ここで、力覚センサ１０３のＺｆ軸が、関節軸Ｊ６の軸方向に一致するように配置されている。また、力覚センサ１０３は、リンク１１０〜１１６の内部を通って配置された配線により、制御装置２００に繋がれている。これにより、力覚センサ１０３は、配線を通じて制御装置２００から電力の供給を受けたり配線を通じて信号を送受信したりすることができる。
【００２２】
制御装置２００は、ロボットハンド１０２で把持した部品を他の部品に嵌め合わせるなど部品間に接触力が作用する組立作業を行う際に、力覚センサ１０３で検知される外力が予め設定された範囲を超えないように各関節Ｊ１〜Ｊ６の動作を制御可能である。これにより、部品の損傷が回避され、スムーズな嵌合作業が可能となる。
【００２３】
部品供給ボックス５５１は、組立前の部品を格納するための箱であり、２台のロボット１００１，１００２のいずれか、もしくは両方の動作範囲内に配置される。部品供給ボックス５５１に格納された部品は、ロボットハンド１０２によって把持され、組立部品として供給される。部品排出ボックス５５２は、組立完了した部品を格納するための箱であり、２台のロボット１００１，１００２のいずれか、もしくは両方の動作範囲内に配置される。
【００２４】
架台５０３の上面５０３Ａに配置された組立治具５６１，５６２は、部品の組立に用いられる。例えば、組立治具５６１は、ビス締めのための電動ドライバーであり、組立治具５６２は、二つの部品の組立において一方の部品を位置決めして固定する治具である。
【００２５】
ロボットアーム１０１は、各関節Ｊ１〜Ｊ６に配置され、各関節Ｊ１〜Ｊ６をそれぞれ駆動する複数（６つ）の駆動装置（駆動部）１３０を有している。
【００２６】
図３は、ロボットアーム１０１の関節Ｊ２を示す部分断面図である。以下、関節Ｊ２を例に代表して説明し、他の関節Ｊ１，Ｊ３〜Ｊ６については、同様の構成であるため、説明を省略する。
【００２７】
駆動装置１３０は、電動モータである回転モータ（以下、「モータ」という）１３１と、モータ１３１の回転軸１３２の回転を減速する減速機１３３と、を有している。関節Ｊ２は、モータ１３１の回転軸１３２（減速機１３３の入力軸）の回転角度を検知するエンコーダ（入力軸エンコーダ）１３５を有する。また、関節Ｊ２は、リンク１１１に対するリンク１１２の角度（減速機１３３の出力軸の回転角度）を検知するエンコーダ（出力軸エンコーダ）１３６を有している。即ち、エンコーダ１３６は、関節Ｊ２の角度（関節角度）を検知する。
【００２８】
モータ１３１は、サーボモータであり、例えばブラシレスＤＣサーボモータやＡＣサーボモータである。
【００２９】
エンコーダ１３５は、アブソリュート型のロータリーエンコーダが望ましく、１回転の絶対角度エンコーダ、絶対角度エンコーダの回転総数のカウンタ、及びカウンタに電力を供給するバックアップ電池を有して構成される。ロボットアーム１０１への電源の供給がオフになっても、このバックアップ電池が有効であれば、ロボットアーム１０１への電源供給のオン／オフに関係なく、カウンタにおいて回転総数が保持される。したがって、ロボットアーム１０１の姿勢が制御可能となる。なお、エンコーダ１３５は、回転軸１３２に取り付けられているが、減速機１３３の入力軸に取り付けてもよい。
【００３０】
エンコーダ１３６は、隣り合う２つのリンク間の相対角度を検知するロータリーエンコーダである。関節Ｊ２においては、エンコーダ１３６は、リンク１１１とリンク１１２との間の相対角度を検知するロータリーエンコーダである。エンコーダ１３６は、リンク１１１にエンコーダスケールを設け、リンク１１２に検知ヘッドを設けた構成、或いは逆の構成となる。また、リンク１１１とリンク１１２とは、クロスローラベアリング１３７を介して回転自在に結合されている。
【００３１】
モータ１３１は、モータカバー１３８で覆われて保護されている。モータ１３１とエンコーダ１３５との間には、不図示のブレーキユニットが設けられている。ブレーキユニットの主な機能は、電源オフ時のロボットアーム１０１の姿勢の保持である。
【００３２】
減速機１３３は、第１実施形態では、小型軽量で減速比の大きい波動歯車減速機である。減速機１３３は、モータ１３１の回転軸１３２に結合された、入力軸であるウェブジェネレータ１４１と、リンク１１２に固定された、出力軸であるサーキュラスプライン１４２と、を備えている。なお、サーキュラスプライン１４２は、リンク１１２に直結されているが、リンク１１２に一体に形成されていてもよい。
【００３３】
また、減速機１３３は、ウェブジェネレータ１４１とサーキュラスプライン１４２との間に配置され、リンク１１１に固定されたフレクスプライン１４３を備えている。フレクスプライン１４３は、ウェブジェネレータ１４１の回転に対して減速比Ｎで減速され、サーキュラスプライン１４２に対して相対的に回転する。従って、モータ１３１の回転軸１３２の回転は、減速機１３３で１／Ｎの減速比で減速されて、フレクスプライン１４３が固定されたリンク１１１に対してサーキュラスプライン１４２が固定されたリンク１１２を相対的に回転運動させ、関節Ｊ２を屈曲させる。
【００３４】
制御装置２００は、指令により６つのモータ１３１のそれぞれを選択的に駆動制御することで、ロボット１００の先端（ロボットハンド１０２）の位置及び姿勢を任意に移動させることができる。
【００３５】
図４は、ロボット装置５００の制御装置２００の構成を示すブロック図である。制御装置２００は、メイン制御装置２３０と、複数（関節の数に対応した数：第１実施形態では６つ）の関節制御装置２４０と、を有する。
【００３６】
メイン制御装置２３０は、コンピュータで構成されており、制御部としてのＣＰＵ（Central  Processing  Unit）２０１を備えている。また、メイン制御装置２３０は、記憶部として、ＲＯＭ（Read  Only  Memory）２０２、ＲＡＭ（Random  Access  Memory）２０３、ＨＤＤ（Hard  Disk  Drive）２０４を備えている。また、メイン制御装置２３０は、記録ディスクドライブ２０５、各種のインタフェース２１１〜２１３及び検知回路２１４を備えている。
【００３７】
ＣＰＵ２０１には、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４、記録ディスクドライブ２０５、インタフェース２１１〜２１３及び検知回路２１４が、バスを介して接続されている。ＲＯＭ２０２には、ＢＩＯＳ等の基本プログラムが格納されている。ＲＡＭ２０３は、ＣＰＵ２０１の演算処理結果等、各種データを一時的に記憶する記憶装置である。
【００３８】
ＨＤＤ２０４は、ＣＰＵ２０１の演算処理結果や外部から取得した各種データ等を記憶する記憶装置であると共に、ＣＰＵ２０１に、後述する演算処理を実行させるためのプログラム２２０を記録するものである。ＣＰＵ２０１は、ＨＤＤ２０４に記録（格納）されたプログラム２２０に基づいてロボット制御方法の各工程を実行する。
【００３９】
記録ディスクドライブ２０５は、記録ディスク２２１に記録された各種データやプログラム等を読み出すことができる。なお、メイン制御装置２３０には、書き換え可能な不揮発性メモリや外付けＨＤＤ等の不図示の外部記憶装置が接続されていてもよい。
【００４０】
教示部であるティーチングペンダント４００は、インタフェース２１１に接続されている。ティーチングペンダント４００は、ユーザの入力操作により、ロボット１００を教示する教示点、即ち各関節Ｊ１〜Ｊ６の目標関節角度（各関節Ｊ１〜Ｊ６のモータ１３１の目標回転角度）を指定するものである。教示点のデータは、インタフェース２１１及びバスを通じてＨＤＤ２０４に出力される。
【００４１】
ＨＤＤ２０４は、ティーチングペンダント４００により指定された教示点のデータを格納することができる。ＣＰＵ２０１は、ＨＤＤ２０４に設定（格納）された教示点のデータを読み出すことができる。
【００４２】
表示部である表示装置（モニタ）５００は、インタフェース２１２に接続されており、ＣＰＵ２０１の制御の下、画像を表示する。
【００４３】
力覚センサ１０３は、検知回路２１４に接続されている。検知回路２１４は、力覚センサ１０３により検知された力の検知値を取得する。検知回路２１４は、力の検知値を示す信号を、ＣＰＵ２０１にて取得可能な信号に変換してＣＰＵ２０１に出力する。
【００４４】
インタフェース２１３には、関節制御装置２４０が接続されている。なお、第１実施形態では、ロボットアーム１０１が６つの関節Ｊ１〜Ｊ６を有しているので、制御装置２００は、６つの関節制御装置２４０を有するが、図４では、関節制御装置２４０を１つだけ図示し、残りの５つは図示を省略している。各関節制御装置２４０は、制御装置２００の筐体内に配置されている。なお、各関節制御装置２４０の配置位置は、筐体内に限定するものではなく、例えばロボットアーム１０１に配置されていてもよい。
【００４５】
ＣＰＵ２０１は、教示点のデータ及びロボットプログラムに基づきロボットアーム１０１の軌道を計算する。ＣＰＵ２０１は、力制御時には力覚センサ１０３の検知結果に基づき軌道データを補正して、モータ１３１の回転軸１３２の回転角度を示す角度指令値の信号を所定時間間隔で各関節制御装置２４０に出力する。これにより、ＣＰＵ２０１は、ロボットアーム１０１の動作を制御する。なお、図示は省略するが、ロボットハンド１０２の駆動装置１２１に対してもハンド制御装置が設けられており、ＣＰＵ２０１は、ハンド制御装置に指令することで、ロボットハンド１０２の動作を制御する。
【００４６】
関節制御装置２４０は、プリント回路板で構成されている。関節制御装置２４０は、ＣＰＵ２５１、記憶部としてのＥＥＰＲＯＭ２５２及びＲＡＭ２５３、インタフェース２６１、検知回路２６２，２６３並びにモータ駆動回路２６５を備えており、これらがバスを介して接続されて構成されている。
【００４７】
ＣＰＵ２５１は、プログラム２７０に従って演算処理を実行する。ＥＥＰＲＯＭ２５２は、プログラム２７０を記憶する記憶装置である。ＲＡＭ２５３は、ＣＰＵ２５１の演算処理結果等、各種データを一時的に記憶する記憶装置である。
【００４８】
メイン制御装置２３０は、複数（６つ）のインタフェース２１３（図４では１つのみ図示）を有している。各インタフェース２１３と各関節制御装置２４０のインタフェース２６１とがケーブル等で接続されており、メイン制御装置２３０と各関節制御装置２４０との間で信号の送受信を行うことができる。
【００４９】
エンコーダ１３５は、検知回路２６２に接続され、エンコーダ１３６は、検知回路２６３に接続されている。エンコーダ１３５，１３６からは、検知した角度検知値を示すパルス信号が出力される。
【００５０】
検知回路２６２，２６３は、エンコーダ１３５，１３６からパルス信号を取得し、ＣＰＵ２５１にて取得可能な信号に変換してＣＰＵ２５１に出力する。ＣＰＵ２５１は、これらエンコーダ１３５，１３６の検知結果をＣＰＵ２０１に出力する。
【００５１】
モータ駆動回路２６５は、例えば半導体スイッチング素子を有するモータドライバであり、入力した電流指令に応じて、パルス幅変調された３相交流のＰＷＭ波形の電圧をモータ１３１に出力することで、モータ１３１に電流を供給する。
【００５２】
各関節制御装置２４０のＣＰＵ２５１は、メイン制御装置２３０のＣＰＵ２０１から入力を受けた角度指令値にモータ１３１の回転角度が近づくようにモータ１３１への電流の出力量（電流指令）を演算し、電流指令をモータ駆動回路２６５に出力する。
【００５３】
モータ駆動回路２６５は、入力を受けた電流指令に対応する電流をモータ１３１に供給する。そして、モータ１３１は、モータ駆動回路２６５から電力供給を受けて駆動トルクを発生し、減速機１３３の入力軸であるウェブジェネレータ１４１にトルクを伝達する。減速機１３３において、出力軸であるサーキュラスプライン１４２は、ウェブジェネレータ１４１の回転に対して１／Ｎの回転数で回転する。これにより、リンク１１２がリンク１１１に対して相対的に回転する。
【００５４】
このように、各関節制御装置２４０は、モータ１３１の回転位置がメイン制御装置２３０から入力を受けた角度指令値に近づくようにモータ１３１に電流を供給して各関節Ｊ１〜Ｊ６の関節角度を制御する。
【００５５】
なお、第１実施形態では、コンピュータ読み取り可能な記録媒体がＨＤＤ２０４であり、ＨＤＤ２０４にプログラム２２０が格納される場合について説明するが、これに限定するものではない。プログラム２２０は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラム２２０を供給するための記録媒体としては、図４に示す記録ディスク２２１、不図示の外部記憶装置等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性メモリ、ＲＯＭ等を用いることができる。
【００５６】
ここで、ロボット１００による組立動作には高精度の位置決めが要求される。ロボットアーム１０１を停止や休止状態から動作させると、組立動作中にモータ１３１（関節制御装置２４０がロボットアーム１０１に配置されている場合は、関節制御装置２４０も含む）等の発熱によってロボット１００に熱変位が生じる。特にリンク１１０〜１１６が熱膨張（熱変形）することによって各関節軸Ｊ１〜Ｊ６の軸間距離が変化するために、ロボットアーム１０１の先端の位置ずれが生じる。したがって、生産工程におけるロボットアーム１０１の動作を開始する前に、熱変位を安定させることを目的とした暖機を行う必要がある。なお、予め教示する教示点は、ロボットアーム１０１の熱変位が安定した状態で行われる。したがって、教示点に基づいて作成されるロボットアーム１０１の軌道データは、ロボットアーム１０１の熱変位が安定した状態におけるロボットアーム１０１の軌道データである。
【００５７】
図５は、本発明の第１実施形態に係るロボット制御方法（ロボットアーム１０１の暖機方法）を示すフローチャートである。ＣＰＵ２０１は、図４に示すプログラム２２０を実行することにより、以下の各ステップを実行する。
【００５８】
ＣＰＵ２０１は、入力を受ける力覚センサ１０３の力の値の目標範囲を設定する（Ｓ１）。この目標範囲は、ＣＰＵ２０１が、ティーチングペンダント４００やキーボード等の外部入力装置からの入力を受けてＨＤＤ２０４等の記憶部に格納（設定）する。目標範囲は、ステップＳ４においてロボットハンド１０２を被押圧体に押圧させる押圧位置に移動させた後、ステップＳ５においてロボットアーム１０１の各関節Ｊ１〜Ｊ６の関節角度を制御するときに、目標となる力覚センサ１０３の検知値の収束範囲である。目標範囲は、力覚センサ１０３から検知される３軸の荷重Ｆｘ、Ｆｙ、Ｆｚおよび各軸まわりのモーメントＭｘ、Ｍｙ、Ｍｚ毎にそれぞれ設定される。例えば目標範囲は、それぞれＦｘ：０±１［Ｎ］、Ｆｙ：０±１［Ｎ］、Ｆｚ：５０±１［Ｎ］、Ｍｘ：０±０．１［Ｎｍ］、Ｍｙ：０±０．１［Ｎｍ］、Ｍｚ：０±０．１［Ｎｍ］に設定される。
【００５９】
続いて、ＣＰＵ２０１は、ロボットアーム１０１の熱変位が安定したことを判定するための基準となる角度変化量の許容値（許容角度変化量）ＤＳと単位時間（範囲時間）ＴＳを設定する（ステップＳ２）。この許容値ＤＳ及び単位時間ＴＳの値は、ＣＰＵ２０１が、ティーチングペンダント４００やキーボード等の外部入力装置からの入力を受けてＨＤＤ２０４等の記憶部に格納（設定）する。
【００６０】
ステップＳ１，Ｓ２において、目標範囲、許容値及び単位時間の設定が終了した後、ロボットアーム１０１の電源が投入され、ロボットアーム１０１のモータ１３１をサーボオンの状態になることで、ＣＰＵ２０１は、暖機運転を開始する（Ｓ３）。つまり、ＣＰＵ２０１は、暖機運転モードに移行する。
【００６１】
次に、ＣＰＵ２０１は、ロボットアーム１０１の動作を制御して、ロボットハンド１０２が被押圧体を押圧する押圧位置に、ロボットハンド１０２を移動させる（Ｓ４：移動処理，移動工程）。第１実施形態では、被押圧体は、架台５０３である。このステップＳ４では、ＣＰＵ２０１は、押圧位置として、架台５０３の上面５０３Ａにロボットハンド１０２のフィンガー１２０の先端１２０Ａ（エンドエフェクタの先端）が当接する位置に、ロボットハンド１０２を移動させる。ここで、架台５０３は、ロボットハンド１０２による押圧力では変形しない剛体で構成されている。
【００６２】
図６は、本発明の第１実施形態におけるロボットのロボットハンドを押圧位置に移動させた状態を示す模式図である。ＣＰＵ２０１は、ステップＳ４において、各関節Ｊ１〜Ｊ６のモータ１３１の駆動を制御することで、図６に示すように、ロボットハンド１０２の先端１２０Ａを架台５０３の上面５０３Ａに当接させるよう、各関節Ｊ１〜Ｊ６の関節角度を制御する。
【００６３】
続いて、ＣＰＵ２０１は、ロボットアーム１０１の動作を制御して、ロボットハンド１０２を押圧位置に保持した状態でロボットハンド１０２を架台５０３に押し付ける（Ｓ５：押し付け処理，押し付け工程）。その際、ＣＰＵ２０１は、ロボットアーム１０１の動作を制御して、力覚センサ１０３により検知された力の値が目標範囲内に収まるようにロボットハンド１０２を架台５０３に押し付ける。詳述するとＣＰＵ２０１は、ロボットハンド１０２の先端１２０Ａが架台５０３の上面に接触した状態を保持したまま、力覚センサ１０３で検知されるＦｘ，Ｆｙ，Ｆｚ，Ｍｘ，Ｍｙ，Ｍｚの値が目標範囲に収まるように各関節Ｊ１〜Ｊ６の関節角度を制御する。つまり、このステップＳ５の力制御により、ロボットアーム１０１が暖機運転していることとなる。したがって、モータ１３１等（関節制御装置２４０がロボットアーム１０１に配置されている場合は関節制御装置２４０も含む。）の発熱によりロボットアーム１０１に熱変位が生じれば、ロボットアーム１０１の各関節Ｊ１〜Ｊ６の関節角度が随時変化する。即ち、ＣＰＵ２０１は、力検知結果を用いて各関節Ｊ１〜Ｊ６に対する角度指令値を求め、各関節制御装置２４０に角度指令値を出力することで、各関節制御装置２４０は、エンコーダ１３５の値が角度指令値に近づくようにモータ１３１を制御する。
【００６４】
各関節Ｊ１〜Ｊ６の関節角度は、ロボットアーム１０１に組み込まれたエンコーダ１３６により所定サンプリング間隔毎又は連続的に検知されている。ＣＰＵ２０１は、エンコーダ１３６により所定サンプリング間隔毎又は連続的に検知された検知結果を、関節制御装置２４０を介して取得する。
【００６５】
第１実施形態では、単位時間ＴＳ当たりのロボットアーム１０１の動作量Ｄが、予め設定した許容値ＤＳ以下であるか否かによって、暖機運転の終了又は継続を判断する。ここで、ロボットアーム１０１の動作量Ｄは、ロボットアーム１０１の関節Ｊ１〜Ｊ６のうち少なくとも１つの関節の角度変化量である。そして、暖機運転による関節の角度変化は、屈曲（旋回）する関節Ｊ２，Ｊ３，Ｊ５は、回転する関節Ｊ１，Ｊ４，Ｊ６よりも大きい。そのため、ロボットアーム１０１の動作量Ｄとして、屈曲（旋回）する関節Ｊ２，Ｊ３，Ｊ５の角度変化量Ｄ２，Ｄ３，Ｄ５について判断するのが好ましい。詳述すると、単位時間ＴＳ（例えば５分）におけるロボットアーム１０１の関節Ｊ２，Ｊ３，Ｊ５それぞれの角度変化量Ｄ２，Ｄ３，Ｄ５が許容値ＤＳ（例えば０．０２［ｄｅｇ］）以下に収まっているか否かによって、暖機運転の終了又は継続を判断する。
【００６６】
第１実施形態では、ロボットアーム１０１の動作量Ｄは、複数の関節Ｊ１〜Ｊ６のうち２つ以上の関節Ｊ２，Ｊ３，Ｊ５それぞれの単位時間ＴＳ当たりの角度変化量Ｄ２，Ｄ３，Ｄ５である。つまり、ロボットアーム１０１の動作量Ｄとして、関節Ｊ２，Ｊ３，Ｊ５の角度変化量Ｄ２，Ｄ３，Ｄ５を求めるので、関節Ｊ２，Ｊ３，Ｊ５のエンコーダ１３６が角度検知部ということになる。つまり、ステップＳ７にて判断対象となる関節Ｊ２，Ｊ３，Ｊ５に配置されたエンコーダ１３６が、角度検知部である。各関節Ｊ２，Ｊ３，Ｊ５のエンコーダ１３６は、関節角度に応じた信号を検知結果としてＣＰＵ２０１に出力する。そして、ＣＰＵ２０１は、角度変化量Ｄ２，Ｄ３，Ｄ５を求めるに際し、各関節Ｊ２，Ｊ３，Ｊ５のエンコーダ１３６から検知結果を取得する。
【００６７】
そして、ＣＰＵ２０１は、暖機運転を開始してから、ステップＳ２で予め設定した範囲時間が経過した後に、直近の単位時間（例えば５分）における各関節Ｊ２，Ｊ３，Ｊ５の最大値と最小値との差分から角度変化量Ｄ２，Ｄ３，Ｄ５を算出する（Ｓ６）。つまり、ステップＳ５の押し付け処理（押し付け工程）の最中に、単位時間当たりのロボットアーム１０１の動作量Ｄを算出する。続いてＣＰＵ２０１は、動作量Ｄ（即ち各角度変化量Ｄ２，Ｄ３，Ｄ５）がステップＳ２で設定した許容値ＤＳ以下であるか否かを判断する（Ｓ７：判断処理，判断工程）。
【００６８】
ＣＰＵ２０１は、ステップＳ７の判断の結果、動作量Ｄが許容値ＤＳを超えていれば（Ｓ７：Ｎｏ）、ステップＳ５の押し付け処理を継続すべく、ステップＳ６の処理に戻る。また、ＣＰＵ２０１は、ステップＳ７の判断の結果、動作量Ｄが許容値ＤＳ以下であれば、ステップＳ５の押し付け処理、即ち暖機運転を終了する（Ｓ８：押し付け継続終了処理）。
【００６９】
ここで、第１実施形態では、動作量Ｄは、関節Ｊ２，Ｊ３，Ｊ５の角度変化量Ｄ２，Ｄ３，Ｄ５である。したがって、ＣＰＵ２０１は、ステップＳ７の判断の結果、関節Ｊ２，Ｊ３，Ｊ５に対する全ての角度変化量Ｄ２，Ｄ３，Ｄ５のうち１つでも許容値ＤＳを超えていれば、ステップＳ６に戻り、押し付け処理を継続する。また、ＣＰＵ２０１は、ステップＳ７の判断の結果、全ての角度変化量Ｄ２，Ｄ３，Ｄ５が許容値以下であれば、押し付け処理、即ち暖機運転を終了する。
【００７０】
ＣＰＵ２０１は、ロボットアーム１０１の暖機運転終了後、ロボットアーム１０１及びロボットハンド１０２を動作させて組立部品を製造する生産工程を実施する（Ｓ９）。即ち、ＣＰＵ２０１は、ロボットアーム１０１の暖機運転終了後、暖機運転モードから組立作業モードに移行し、ロボット１００による組立作業をスタートさせる。
【００７１】
以上、ステップＳ７の判断処理で角度変化量Ｄ２，Ｄ３，Ｄ５の全てが許容値ＤＳに達していない場合には、ロボットアーム１０１の熱変位は安定していないため、暖機運転が継続される。その場合には、一定時間の暖機経過後にステップＳ６へ戻り、再び直近の単位時間内の角度変化量を算出し、許容値と比較する。ステップＳ７の判断処理で角度変化量Ｄ２，Ｄ３，Ｄ５の全てが許容値以下となった場合には、ロボットアーム１０１の熱変位が安定したとみなして、暖機運転を終了する。
【００７２】
図７は、本発明の第１実施形態に係るロボットアーム１０１の暖機時間に対する関節Ｊ２，Ｊ３，Ｊ５の関節角度の変化の一例を示したグラフである。暖機運転を開始してから時間Ｔ１が経過した時点では、角度変化量Ｄ５は許容値ＤＳに達しているが、角度変化量Ｄ２，Ｄ３は許容値ＤＳに達していないので、暖機運転は継続される。また、暖機運転を開始してから時間Ｔ２が経過した時点では、角度変化量Ｄ３，Ｄ５は許容値ＤＳに達しているが、角度変化量Ｄ２は許容値ＤＳに達していないので、暖機運転は継続される。一方、暖機運転を開始してから時間Ｔ３が経過した時点では、全ての角度変化量Ｄ２，Ｄ３，Ｄ５が許容値ＤＳに達しているので、暖機運転を終了し、ロボットアーム１０１及びロボットハンド１０２を動作させて組立部品を製造する生産工程を実施する。
【００７３】
以上、第１実施形態によれば、ロボットハンド１０２の位置及び姿勢は一定とし、ロボットアーム１０１の動作量Ｄ（具体的には角度変化量Ｄ２，Ｄ３，Ｄ５）の収束判定でロボットアーム１０１の暖機運転の継続または終了を判定している。したがって、ロボットハンド１０２の位置を測定する測定装置（例えばカメラ等）をロボットアーム１０１のまわりに別途配置する必要がなくなる。そして、測定装置を別途配置する必要がないので、ロボット装置５００が簡単かつコンパクトな構成となる。更に、ロボットアーム１０１の動作量Ｄの収束判定でロボットアーム１０１の暖機運転の継続又は終了を行っているので、予め定めた所定時間だけ暖機運転を行う場合と比較して、ロボットアーム１０１の暖機運転を短時間で行うことができる。そして、暖機運転後の生産工程に迅速に移行することができるので、このような組立部品の製造方法により、組立部品の生産効率が向上する。また、計測装置の設置や取り外しにかかかる段取り時間も無くなるため、この点でも組立部品の生産効率が向上する。
【００７４】
また、図５のステップＳ１で設定する力覚センサ１０３の力の目標範囲は、任意に設定可能である。たとえば、目標範囲の基準値（中心値）を大きくすることで、暖機運転中の各関節Ｊ１〜Ｊ６に作用する負荷トルクを大きくすることができる。このとき、モータ１３１に流す電流値を大きくして発熱量を大きくすることができるため、熱変位が安定した時のロボットアーム１０１の到達温度を上昇させることができる。したがって、暖機運転中の各関節に作用する負荷トルクが、ロボットアーム１０１の組立動作中の各関節に作用する負荷トルクに近づくように、目標範囲を設定すればよい。これにより、ロボットアーム１０１の暖機運転終了後の到達温度と、実際の組立動作中の到達温度との温度差を小さくすることができ、ロボット１００の先端１２０Ａの位置ずれを小さくすることができる。
【００７５】
［第２実施形態］
次に、本発明の第２実施形態に係るロボット装置によるロボット制御方法について説明する。図８は、本発明の第２実施形態に係るロボットのロボットハンドを第１押圧位置に移動させた状態を示す模式図である。図９は、本発明の第２実施形態に係るロボットのロボットハンドを第２押圧位置に移動させた状態を示す模式図である。なお、第２実施形態のロボット装置の構成は、上記第１実施形態のロボット装置と同様であり、各部構成については、同一符号を付して説明を省略する。
【００７６】
ＣＰＵ２０１（図４）は、図５に示すステップＳ４〜Ｓ８の暖機運転を、ステップＳ９に先立って、互いに異なる複数の押圧位置それぞれに対して順次実行する。複数の押圧位置には、図８に示す第１押圧位置と、第１押圧位置に対してロボットハンド１０２の姿勢（第２実施形態では、位置及び姿勢）が変わる図９に示す第２押圧位置とが含まれている。
【００７７】
即ち、第２実施形態では、ＣＰＵ２０１は、ステップＳ１〜Ｓ３の後、ステップＳ４において図８に示す第１押圧位置にロボットハンド１０２を移動させ、ステップＳ５〜Ｓ８を実行する。その後、ＣＰＵ２０１は、ステップＳ４において図９に示す第２押圧位置にロボットハンド１０２を移動させ、ステップＳ５〜Ｓ８を実行し、ステップＳ９を実行する。
【００７８】
なお、図８では、被押圧体は、架台５０３であり、図９では、被押圧体は、架台５０３に固定した固定部材５９１である。固定部材５９１は、架台５０３の上面５０３Ａに対して垂直な垂直面５９１Ａを有する。固定部材５９１は、ロボットハンド１０２による押圧力では変形しない剛体で構成されている。
【００７９】
つまり、第２実施形態では、ロボットハンド１０２を第１押圧位置に移動させることで、ロボットハンド１０２の先端１２０Ａが架台５０３の上面５０３Ａに接触する。ロボットハンド１０２を第２押圧位置に移動させることで、ロボットハンド１０２の先端１２０Ａが固定部材５９１の垂直面５９１Ａに接触する。
【００８０】
前述したとおり、ロボットアーム１０１の暖機運転を行うと、ロボットアーム１０１のリンク１１０〜１１６が熱膨張することによって、各関節Ｊ１〜Ｊ６の軸間距離が変化する。その結果、ロボット１００の先端１２０Ａの位置が変位しないように各関節Ｊ１〜Ｊ６の関節角度を変位させる。したがって、ロボットアーム１０１は、ロボットハンド１０２を位置決めする押圧位置によって、各関節Ｊ１〜Ｊ６の変位の方向が異なる。
【００８１】
ここでまず、図８に示すロボットアーム１０１の姿勢において暖機運転を行った場合に、各関節Ｊ１〜Ｊ６の関節角度を一定としたときのロボット１００の先端１２０Ａの変位の方向を仮想的に考える。関節Ｊ１の軸中心と架台５０３の上面５０３Ａとが交差する点をＰ、関節Ｊ６の軸中心と架台５０３の上面５０３Ａとが交差する点をＱとする。点Ｐと関節Ｊ２の距離をＡ１、関節Ｊ２と関節Ｊ３の軸間距離をＡ２、関節Ｊ３と関節Ｊ５の軸間距離をＡ３、関節Ｊ５と点Ｑの距離をＡ４とする。距離Ａ１，Ａ２，Ａ３，Ａ４がそれぞれリンク１１０〜１１６の熱膨張により大きくなるときに、Ｘｆ軸とＺｆ軸がなす平面上でロボット１００の先端１２０Ａが変位する方向を考える。距離Ａ１，Ａ２，Ａ３，Ａ４のそれぞれの熱膨張による変位量を、Ｘｆ軸とＺｆ軸に分解して考えれば、Ｘｆ軸方向には、距離Ａ２，Ａ３の変位量のうちＸｆ軸方向に分解した変位量を足し合わせた変位が生じる。一方で、Ｚｆ軸方向には、距離Ａ１および距離Ａ２の変位量がＺｆ軸の正方向に、距離Ａ３および距離Ａ４の変位量がＺｆ軸の負方向に対して、それぞれロボット１００の先端１２０Ａを変位させることになる。そのため、Ｚｆ軸方向の変位の多くが相殺され、ロボット１００の先端１２０Ａの変位量は小さくなる。したがって、力覚センサ１０３の検知値を目標範囲に収めるように各関節角度を制御する場合には、距離Ａ１，Ａ２，Ａ３，Ａ４の熱変位に対して関節角度の変化が小さい。
【００８２】
次に、図９に示すロボットアーム１０１の姿勢において暖機運転を行った場合に、各関節Ｊ１〜Ｊ６の関節角度を一定としたときのロボット１００の先端１２０Ａの変位の方向を仮想的に考える。図９に示す各関節角度の状態では、関節Ｊ２と関節Ｊ３とを結ぶ直線と、Ｚｆ軸との角度のずれ、関節Ｊ３と関節Ｊ５とを結ぶ直線と、Ｚｆ軸との角度のずれ、及び関節Ｊ５と点Ｑとを結ぶ直線と、Ｚｆ軸との角度のずれが、それぞれ小さい。そのために、リンク１１０〜１１６の熱膨張による距離Ａ２，Ａ３，Ａ４の変位量を足し合わせた変位量は、ロボット１００の先端１２０Ａの位置のＺｆ軸方向の変位量にほぼ一致する。したがって、ロボット１００の先端１２０ＡのＺｆ軸方向の変位量は、図８に示したロボット１００の先端１２０Ａの変位量に比較して大きくすることができる。
【００８３】
以上、力覚センサ１０３の検知値を目標範囲に収めるように、各関節角度を制御するため、図８に示すロボットアーム１０１の姿勢よりも図９に示す姿勢の方が距離Ａ１，Ａ２，Ａ３，Ａ４の熱変位に対する関節角度の変化の感度が高くなる。なお、２回目以降の暖機運転は、１回目の暖機運転よりも短時間で済む。
【００８４】
第２実施形態によれば、ロボットハンド１０２の姿勢を異ならせてロボットアーム１０１の暖機運転を複数回行うことで、暖機運転が十分に行われ、ロボット１００による組立作業の信頼性がさらに向上する。
【００８５】
なお、ロボットアーム１０１の姿勢を変更して複数回、暖機運転を実施することは、暖機運転の時間が長くなる。そのため、許容される暖機時間を超えないように、被押圧体に押圧させるときのロボットハンド１０２の姿勢および暖機運転の実施回数を決定する必要がある。
【００８６】
また、ロボットアーム１０１の各関節角度は任意に設定することで可能であり、それにより、熱変位に対するロボット１００の先端１２０Ａの変位の方向を任意に設定することができる。
【００８７】
また、ロボットハンド１０２の姿勢を異ならせる場合について説明したが、同じ架台５０３の上面５０３Ａで姿勢を変えずにロボットハンド１０２を接触させる位置を異ならせて複数回暖機運転を行ってもよい。また、上面５０３Ａが平坦面である場合について説明したが、段差があってもよく、ロボットハンド１０２を安定して接触させることができれば、高さ方向の位置を異ならせて複数回暖機運転を行ってもよい。
【００８８】
また、上面５０３Ａに対して垂直な垂直面５９１Ａにロボットハンド１０２を接触させる場合について説明したが、上面５０３Ａに対して傾斜する傾斜面であってもよく、この場合であっても、ロボットハンド１０２の姿勢を変えて暖機運転を行うことができる。
【００８９】
［第３実施形態］
次に、本発明の第３実施形態に係るロボット装置によるロボット制御方法について説明する。図１０は、本発明の第３実施形態に係るロボットのロボットハンドを押圧位置に移動させた状態を示す模式図である。なお、第３実施形態のロボット装置の構成は、上記第１実施形態のロボット装置と同様であり、各部構成については、同一符号を付して説明を省略する。
【００９０】
第１及び第２実施形態では、ロボットハンド１０２は何も把持していない状態であったが、第３実施形態では、ロボットハンド１０２に治具５６２を把持させる。即ち、図４に示すＣＰＵ２０１は、図５に示すステップＳ４の移動処理において、ロボットハンド１０２に、図１０に示すように治具５６２を把持させる。この治具５６２は、架台５０３に固定されているのが好ましいが、架台５０３との間で滑りが生じにくいものであれば、固定されていなくてもよい。
【００９１】
ロボットハンド１０２が治具５６２を把持した状態で、ＣＰＵ２０１は、図５に示すステップＳ５の押し付け処理において、治具５６２を介して架台５０３にロボットハンド１０２を押し付ける。この押し付け動作は、第１、第２実施形態と同様である。このように、ロボットハンド１０２が治具５６２を把持した状態であっても暖機運転は可能である。
【００９２】
また、治具５６２を架台５０３に固定させている場合には、Ｘｆ，Ｙｆ軸方向、即ち架台５０３の上面５０３Ａに対して水平方向に、ロボットハンド１０２が滑るのが防止され、暖機運転の終了判断の信頼性を更に向上させることができる。
【００９３】
［変形例１］
第１〜第３実施形態では、ロボットアーム１０１の動作量Ｄが、関節Ｊ２，Ｊ３，Ｊ５の角度変化量Ｄ２，Ｄ３，Ｄ５である場合について説明したが、これに限定するものではい。ロボットアーム１０１（図２参照）の複数の関節Ｊ１〜Ｊ６のうち２つ以上の関節の角度変化量であればどれでもよい。特に、全ての関節Ｊ１〜Ｊ６の角度変化量であれば、一部の関節の角度変化量について判定するよりも、暖機運転終了のタイミングの精度が向上する。
【００９４】
［変形例２］
第１〜第３実施形態では、ロボットアーム１０１の動作量Ｄが、２つ以上の関節の角度変化量である場合について説明したが、これに限定するものではない。角度変化量が他の角度変化量よりも収束が遅いものが分かっていれば、その関節の角度変化量のみで判断してもよい。即ち、ロボットアーム１０１（図２参照）の動作量Ｄは、複数の関節Ｊ１〜Ｊ６のうち１つの関節、図７の例では、関節Ｊ２の単位時間当たりの角度変化量Ｄ２であってもよい。図７の例では、関節Ｊ２の角度変化量Ｄ２が許容値ＤＳ以下に収束するのが最も遅い。したがって、このようなことが予め実験等でわかっていれば、他の関節Ｊ１，Ｊ３〜Ｊ６についての角度変化量の判断を省略することができる。この場合、図５のステップＳ６では角度変化量Ｄ２を算出し、ステップＳ７では角度変化量Ｄ２が許容値ＤＳ以下であるか否かを判断すればよい。角度検知部は、関節Ｊ２のエンコーダ１３６（図３参照）である。そして、ステップＳ７の判断の結果、角度変化量Ｄ２が許容値ＤＳを超えていれば、ステップＳ５の押し付け処理を継続し、角度変化量Ｄ２が許容値以下であれば、ステップＳ５の押し付け処理、即ち暖機運転を終了すればよい。この場合、判断対象が１つとなるので、計算が容易となり、ＣＰＵ２０１の負荷が軽減される。
【００９５】
［変形例３］
第１〜第３実施形態（変形例１，２も含む）では、角度検知部が、エンコーダ１３６である場合について説明したが、これに限定するものではない。角度検知部が、ステップＳ７の判断処理にて判断対象となる関節におけるモータ１３１（図３参照）の回転角度を検知するエンコーダ１３５であってもよい。
【００９６】
つまり、エンコーダ１３６は、関節の角度を直接検知するため、精度よく関節の角度を検知することができるが、エンコーダ１３５は、モータ１３１の回転角度を検知するので、減速機１３３の減速比Ｎを用いて関節の角度に換算してもよい。
【００９７】
又は、第１〜第３実施形態では、許容値を関節角度に対応させているので、許容値を第１実施形態の値に対してＮ倍した値として、ステップＳ７では、この許容値とモータ１３１の回転角度（即ちエンコーダ１３５の値）の変化量とを比較すればよい。
【００９８】
［変形例４］
変形例３では、エンコーダ１３５の値を用いる場合について説明したが、エンコーダ１３５の値の代わりに、メイン制御装置２３０（図４参照）のＣＰＵ２０１から関節制御装置２４０のＣＰＵ２５１に指令する角度指令値を用いてもよい。即ち、ＣＰＵ２０１は、ステップＳ５では、力制御による角度指令値を演算して、各関節制御装置２４０のＣＰＵ２５１に出力しているので、この角度指令値を用いてもよい。
【００９９】
［変形例５］
第１〜第３実施形態では、ステップＳ５において、力覚センサ１０３による力検知値、即ち押圧力を目標範囲（略一定値）に収束させる場合について説明したが、これに限るものではない。例えば各関節Ｊ１〜Ｊ６のモータ１３１に対する駆動電流をそれぞれ時間的に一定とし、ロボットアーム１０１の熱変位によりロボットハンド１０２の押圧力が変動してもよい。即ち、ステップＳ５では、ＣＰＵ２０１は、ロボットアーム１０１の動作を制御して、ロボットハンド１０２を押圧位置に保持した状態でロボットハンド１０２を架台５０３に押し付ければよい。この場合、角度指令値よりも、エンコーダ１３５又はエンコーダ１３６の値で角度変化量を求めた方が正確であり、更に、減速機１３３のねじれも考慮すると、エンコーダ１３６の値で角度変化量を求めたほうがより正確である。
【０１００】
なお、本発明は、以上説明した実施形態及び変形例に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されない。
【０１０１】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１０２】
また、第１，第２実施形態では、ロボットアーム１０１が垂直多関節のロボットアームの場合について説明したが、これに限定するものではない。ロボットアーム１０１が、例えば、水平多関節のロボットアーム、パラレルリンクのロボットアーム、直交ロボット等、種々のロボットアームであってもよい。
【０１０３】
また、エンドエフェクタがロボットハンド１０２の場合について説明したがこれに限定するものではない。例えばエンドエフェクタが電動ドライバー等のツールであってもよい。
【０１０４】
また、力検知部が力覚センサ１０３の場合について説明したが、これに限定するものではない。力検知部が、各関節Ｊ１〜Ｊ６に配置した不図示のトルクセンサでもよい。その際、リンクパラメータ及びトルクセンサの値から、ロボットハンド１０２等のエンドエフェクタに作用する力を求めてもよい。また、トルクセンサの代わりに、出力軸のエンコーダ１３６、入力軸のエンコーダ１３５、及び減速機１３３のねじれ剛性により各関節Ｊ１〜Ｊ６のトルク値を求め、各トルク値からロボットハンド１０２等のエンドエフェクタに作用する力を求めてもよい。
【０１０５】
また、被押圧体が、架台５０３（又は固定部材５９１）である場合について説明したが、ロボットアーム１０１に対して相対的に移動しない剛体であればいかなるものであってもよい。
【符号の説明】
【０１０６】
１００…ロボット、１０１…ロボットアーム、１０２…ロボットハンド（エンドエフェクタ）、１０３…力覚センサ（力検知部）、２０１…ＣＰＵ（制御部）、２２０…プログラム、５００…ロボット装置
【図１】
0006521736.tif 000002
【図２】
0006521736.tif 000003
【図３】
0006521736.tif 000004
【図４】
0006521736.tif 000005
【図５】
0006521736.tif 000006
【図６】
0006521736.tif 000007
【図７】
0006521736.tif 000008
【図８】
0006521736.tif 000009
【図９】
0006521736.tif 000010
【図１０】
0006521736.tif 000011