(57)【特許請求の範囲】
【請求項１】
ワークを外部センサにより検出し、当該検出されたワークに対して冗長軸を含めた７軸以上の関節を有するロボットアームを、障害物に干渉することなく動作させる冗長ロボットの教示方法において、
前記ロボットアームの動作領域を複数の領域に分割し、前記分割された領域ごとに、前記ロボットアームの前記冗長軸が最適位置・姿勢となる前記ロボットアームの基準位置および基準姿勢を予め教示する段階と、
前記外部センサにより検出された前記ワークの位置および姿勢に基づいて、前記ワークに向かう前記ロボットアームの先端部の位置および姿勢を算出する段階と、
前記ロボットアームの先端部が前記複数の領域の中からどの領域に属するかを判断する段階と、
前記ロボットアームの先端部が属する領域における、前記冗長軸が最適位置・姿勢となる前記基準位置および基準姿勢に前記ロボットアームを動作させる段階と、
前記ロボットアームを、前記冗長軸が最適位置・姿勢となる前記基準位置および基準姿勢に動作させた後、前記冗長軸を保持したまま、前記ロボットアームの残りの軸を前記ワークに対して動作させる段階と、
を含み、
前記最適位置・姿勢とは、前記冗長軸を保持したまま、前記ロボットアームの残りの軸を動作させたときに、前記ロボットアームが前記障害物に干渉することなく前記ワークを把持できる前記冗長軸の位置・姿勢であることを特徴とする冗長ロボットの教示方法。
【請求項２】
前記ロボットアームの基準位置および基準姿勢を予め教示する段階において、
前記ロボットアームの動作領域は、三次元的に複数の領域に分割されることを特徴とする請求項１に記載の冗長ロボットの教示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長ロボットの教示方法に関する。
【背景技術】
【０００２】
冗長ロボットは、７軸以上の関節を有するロボットであって、たとえば、人間の腕と同じように７軸の関節を有する場合、１つの冗長軸を含むため、手先の位置・姿勢を固定しても、肘の位置・姿勢に関して自由度が存在する。冗長ロボットは、この肘の位置・姿勢に関する自由度を利用して、障害物を回避しながらロボット先端部を移動させて作業をおこなうことができる。
【０００３】
部品箱から部品（以下、「ワーク」と称する）を取り出す作業をロボットで自動化する場合、通常、位置・姿勢が未知のワークを外部センサにより検出し、検出されたワークの位置・姿勢を計算して、ロボットアームの先端部を前記ワークに到達させて動作させる。この作業において、冗長ロボットを利用することにより、部品箱とロボットアームとの干渉を避けながら、計算されたワークの位置・姿勢にロボットアームの先端部を到達させてワークを取り出し得る。しかしながら、ワークの位置・姿勢、すなわち、ロボットアームの先端部の位置・姿勢が決められたとしても、肘部に残る冗長度、自由度が存在するために、各軸の回転角度が一意に決まらないという問題がある。
【０００４】
現在、市販されている一般的な冗長ロボットは、指定されたロボットアームの先端部の位置・姿勢から、その位置・姿勢を実現する各軸の回転角度を求めるために、まず、肘部の角度をある値で固定することで、冗長性を排除してから、各軸の回転角を計算するという方法がとられている。すなわち、一般的な冗長ロボットは、視覚センサなどの外部センサからの情報に応じて、ロボットアームの先端部の位置・姿勢を指定する機能は有するものの、ワークの位置・姿勢および障害物に応じて肘部の回転角を指定する機能を有していないため、冗長軸を活用した障害物回避機能を上手く活用できていない。
【０００５】
そこで、特許文献１に記載されたロボットの教示方法は、ロボットの動作軌跡上に存在する障害物の面の方向を利用して障害物を回避する肘部（冗長軸）の位置・姿勢を決定している。
【特許文献１】特開平９−３１４４８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のロボットの教示方法では、ワークに向かうロボットアームの動作軌跡上にある障害物に関する詳細な情報を予め得ておくことが必要であり、実用的ではないという問題があった。すなわち、ロボットアームがワークに向かう際に、障害物の詳細な情報に基づいてロボットアームの冗長軸を含めた各軸の位置・姿勢を計算する必要があるため、その計算時間および工数がかかり、また、障害物の詳細な情報そのものを得るためにも多大な工数を要してしまっていた。
【０００７】
さらに、冗長ロボットが部品箱の中にあるバラバラに積まれたワークを把持するような場合においては、ワークの位置・姿勢がランダムであり、ワークごとに部品箱（障害物）を回避する冗長軸の位置・姿勢も一様ではない。したがって、冗長ロボットの教示方法においては、ケースバイケースで最適な冗長軸の位置・姿勢を指定する必要がある。
【０００８】
以上より、本発明は、上記問題点を解決し、ワークの位置・姿勢および障害物に応じて、冗長軸を有効に活用した冗長ロボットの教示方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の上記目的は、下記の手段によって達成される。
【００１０】
本発明の冗長ロボットの教示方法は、ロボットアームの動作領域を複数の領域に分割し、前記分割された領域ごとに、前記ロボットアームの冗長軸が最適位置・姿勢となる前記ロボットアームの基準位置および基準姿勢を予め教示する段階と、外部センサにより検出されたワークの位置および姿勢に基づいて、前記ワークに向かう前記ロボットアームの先端部の位置および姿勢を算出する段階と、前記ロボットアームの先端部が前記複数の領域の中からどの領域に属するかを判断する段階と、前記ロボットアームの先端部が属する領域における、前記冗長軸が最適位置・姿勢となる前記基準位置および基準姿勢に前記ロボットアームを動作させる段階と、前記ロボットアームを、前記冗長軸が最適位置・姿勢となる前記基準位置および基準姿勢に動作させた後、前記冗長軸を保持したまま、前記ロボットアームの残りの軸を前記ワークに対して動作させる段階と、を含み、前記最適位置・姿勢とは、前記冗長軸を保持したまま、前記ロボットアームの残りの軸を動作させたときに、前記ロボットアームが前記障害物に干渉することなく前記ワークを把持できる前記冗長軸の位置・姿勢であることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ワークの位置・姿勢および障害物に応じて、ロボットアームにおける冗長軸の最適な位置・姿勢を指定することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明に係る冗長ロボットの教示方法について、図面を参照しながら詳細に本発明の実施形態を説明する。なお、本発明の実施形態では、冗長ロボットとして、冗長軸を含めた７軸の関節を有するロボットアームを動作させるロボットを例にとって説明する。
【００１３】
ここで、まず、７軸の関節を有するロボットアームを動作させる冗長ロボットの動作原理について説明する。図１は、本発明の一実施形態による冗長ロボットを示す概略図である。
【００１４】
本実施形態の冗長ロボット（以下、「ロボット」と称する）１０は、７軸の関節を有するロボットアーム１を有し、ロボットアーム１の先端部に、たとえば、部品箱２０の中から対象物（以下、「ワーク」と称する）３０を取り出すためのロボットハンド２を有する。また、ロボット１０は、ロボット１０を教示する手段として、内部に組み込まれた処理回路（図示せず）を有する。処理回路は、たとえば、種々の演算および制御を行うためのプロセッサ、データを一時的に格納するとともに画像処理時のワーキングエリアとして機能するＲＡＭ、プログラムを格納するＲＯＭ，および周辺回路から構成されている。
【００１５】
ロボットアーム１は、７軸の関節を有し、各関節は、たとえば、肩関節Ｓ、肘関節Ｅ、手首関節Ｗに分けることができる。すなわち、ロボットアーム１の各関節は、回転関節であるＳ１軸１１、旋回関節であるＳ２軸１２、回転関節であるＳ３軸１３、旋回関節であるＥ１軸１４、回転関節であるＥ２軸１５、旋回関節であるＷ１軸１６、および回転関節であるＷ２軸１７からなる。本実施形態のロボットアーム１では、図２に示すように、肘関節であるＥ１軸１４を冗長軸として、手先の位置・姿勢および肩の位置・姿勢を固定した状態で冗長軸のエルボー角θを変化させることであらゆる姿勢をとることができる。
【００１６】
上述したような７軸の関節を有するロボットアーム１を動作させるロボット１０の教示方法は、以下のように処理を行う。
【００１７】
図３は、本実施形態のロボット１０の教示方法の処理内容の一例を示すフローチャートである。なお、本実施形態では、ロボット１０が部品箱２０の中からワーク３０を把持して取り出す作業を例にとって説明する。また、以下の処理は、ロボット１０に組み込まれた処理回路がその役割を担うものとする。
【００１８】
まず、本実施形態におけるロボット１０の教示方法は、ロボットアーム１の動作領域を複数の領域に分割し、前記分割された領域ごとにロボットアーム１の基準位置・姿勢を予め教示する（ステップＳ１００）。たとえば、図４に示すように、ロボットアーム１の動作領域である部品箱２０の中を行列状に９分割し、それぞれ分割された領域ごとに基準点Ｐ１〜Ｐ９を抽出する。そして、抽出された基準点Ｐ１〜Ｐ９において、ロボットアーム１が部品箱２０と干渉しないようなロボットアーム１の基準位置・姿勢をそれぞれ予め設定しておく。また、ロボットアーム１の基準位置・姿勢において、冗長軸である肘関節Ｅ１軸１４は、領域内の最適値とする。肘関節Ｅ１軸１４の領域内の最適値とは、たとえば、ロボットアーム１が各領域において、冗長軸を保持したまま他の軸を動作させて、領域内のワークの位置・姿勢にかかわらず、部品箱と干渉せずにワーク３０を把持できる冗長軸の位置・姿勢である。なお、ロボットアーム１の動作領域の分割は、図４に示す分割数または形態に限られず、部品箱、ワーク、またはロボットアームの形状や大きさによって、分割数の増減または領域の大きさを適宜変えることができる。
【００１９】
次いで、外部（視覚）センサ（図示せず）からワーク３０の位置・姿勢を検出する（ステップＳ１１０）。外部センサは、たとえば、ＣＣＤカメラなどの撮像装置であって、撮像した得られた画像データを処理回路に送信する。
【００２０】
次いで、検出されたワーク３０の位置・姿勢に基づいて、ワーク３０に対するロボットアーム１の先端部の位置・姿勢を算出する（ステップＳ１２０）。外部センサにより撮像して得られた画像からワーク３０の位置姿勢を算出する方法は、従来の画像検出方法と同様であるので、詳細な説明は省略する。そして、算出したワーク３０の位置・姿勢から、そのワーク３０を把持するためのロボットアーム１の先端部、すなわち、ロボットハンド２の位置・姿勢を算出する。
【００２１】
次いで、算出されたロボットアーム１の先端部の位置・姿勢が複数の領域の中からどの領域に属するかを判断する（ステップＳ１３０）。どの領域に属するかの算出方法は、たとえば、ロボットアーム１の動作領域をＸＹ座標系で表現して、ロボットアーム１の先端部の位置・姿勢、すなわち、ロボットハンド２の代表点を抽出し、その代表点の座標によってどの領域に属するかを判断する。ロボットハンド２の代表点Ａは、たとえば、図５に示すような位置にある場合、基準点Ｐ２を有する領域に属すると判断される。なお、ロボットハンド２の代表点Ａは、たとえば、ロボットハンド２の中心にすることができ、また、場合によって適宜変更できる。
【００２２】
次いで、属する領域における基準点の基準位置・姿勢に各軸を動作させ、ロボットアーム１を移動させる（ステップＳ１４０）。すなわち、初期状態のロボットアーム１の位置が基準点Ｐ１にあるとすれば、まず、ロボットアーム１を基準点Ｐ１から基準点Ｐ２に移動するために、予め教示されている基準点Ｐ２における基準位置・姿勢になるようにロボットアーム１を動作させる。
【００２３】
次いで、ロボットアーム１を基準点Ｐ２における基準位置・姿勢に動作させた後、基準点Ｐ２から目標であるワーク３０に移動させるために、冗長軸Ｅ１軸１４の回転角（エルボー角）を保持したまま、残りの軸の位置・姿勢を算出する（ステップＳ１５０）。
【００２４】
次いで、ロボットハンド２を目標であるワーク３０を把持するために移動させる（ステップＳ１６０）。すなわち、ロボットハンド２を基準点Ｐ２からステップＳ１５０で算出されたロボットハンド２の中心点Ａに移動させる。ロボットアーム１を基準点Ｐ２に動作させ、冗長軸Ｅ１軸１４の位置姿勢を保持することで、障害物である部品箱２０との干渉を回避しつつ、ロボットハンド２を目的のワーク３０に対して移動させることができる。すなわち、図６に示すように、たとえば、冗長軸を部品箱２０と干渉を回避するように設定しないと、図６の破線で示すようにロボットアーム１と部品箱２０とが干渉してしまう。しかしながら、本実施形態のように、図６の実線で示すように予めロボットアーム１と部品箱２０とが干渉しない冗長軸を教示しておくことで、ロボットアーム１と部品箱２０との干渉を回避することができる。なお、図６（ａ）は、部品箱を上から見た図であって、図６（ｂ），（ｃ）は、図６（ａ）の部品箱をそれぞれ側面から見た図である。
【００２５】
次いで、ワークを把持させる（ステップＳ１７０）。
【００２６】
上記処理において、ステップＳ１００の処理は、ロボットアームの動作領域を複数の領域に分割し、前記分割された領域ごとに前記ロボットアームの基準位置および基準姿勢を予め教示する処理に対応する。また、ステップＳ１１０〜Ｓ１２０の処理は、外部センサにより検出された前記ワークの位置および姿勢に基づいて、前記ワークに向かう前記ロボットアームの先端位置および姿勢を算出する処理に対応する。ステップＳ１３０の処理は、ロボットアームの先端位置および姿勢が前記複数の領域の中からどの領域に属するかを判断する処理に対応する。ステップＳ１４０の処理は、ロボットアームの先端位置および姿勢が属する領域における前記基準位置および基準姿勢に前記ロボットアームを動作させる処理に対応する。ステップＳ１５０〜Ｓ１６０の処理は、ロボットアームを前記基準位置および基準姿勢に動作させた後、前記冗長軸を保持したまま、前記ロボットアームの残りの軸を前記ワークに対して動作させる処理に対応する。
【００２７】
以上のように、本実施形態の冗長ロボットの教示方法によれば、ロボットアームの動作領域を複数の領域に分割し、前記分割された領域ごとに前記ロボットアームの基準位置および基準姿勢を予め教示する。したがって、ワークの位置姿勢および障害物に応じて、ロボットアームにおける冗長軸の最適な位置姿勢を指定することができる。ここで、参考として、従来の冗長ロボットの教示方法の処理内容を図７のフローチャートに示す。従来の冗長ロボットの教示方法は、図８に示すように、検出されたワークの位置・姿勢に基づいて、初期状態の基準点Ｐ１から目標とするワークに対してロボットアームの先端部の位置・姿勢に直接動作させるものであった。したがって、従来の教示方法によれば、ワークごとに最適な冗長軸を指定しなければならず、本発明では、ワークおよび障害粒に応じて領域ごとに最適な冗長軸を指定することで、障害物との干渉の回避を可能とした。
【００２８】
また、本実施形態の冗長ロボットの教示方法によれば、ワークがどの領域に属するかを判断して、その属する領域の基準位置・姿勢にロボットアームを移動させることで、従来技術のように複雑な計算・工数を要せずに、容易に障害物との干渉を回避することができる。
【００２９】
さらに、本実施形態の冗長ロボットの教示方法によれば、ロボットアームを基準位置および基準姿勢に動作させた後、冗長軸を保持したまま、ロボットアームの残りの軸をワークに対して動作させる。したがって、冗長軸が最適値に保持されることで、障害物との干渉を確実に回避しつつ、ロボットアームをワークに対して動作させることができる。
【００３０】
以上のように本発明の好適な実施形態について説明したが、本発明は、以上の実施形態に限定されるべきものではなく、特許請求の範囲に表現された思想および範囲を逸脱することなく、種々の変形、追加、および省略が当業者によって可能である。
【００３１】
たとえば、本発明は、７軸の関節を有する冗長ロボットに限られず、たとえば、冗長軸を２軸有した８軸の関節を有する冗長ロボット、または、８軸以上の関節を有する冗長ロボットにも適用できることはもちろんである。
【００３２】
また、本発明は、ロボットアームの先端部によってワークを把持する場合に限られず、たとえば、ワークが磁気性を有し、ロボットアームの先端部に磁石を取り付けた場合は、ロボットアームを領域ごとの基準位置および基準姿勢に動作させるだけでワークを吸着して取り出すこともできる。
【００３３】
さらに、本発明は、ロボットアームの動作領域を二次元的、すなわち、平面的に複数の領域に分割される場合を説明したが、これに限られない。すなわち、ロボットアームの動作領域を、平面上のみならず深さ方向を含めて三次元的に複数の領域分割し、分割された領域ごとにロボットアームの基準位置および基準姿勢を予め教示してもよい。三次元的に複数の領域に分割することで、ロボットアーム２は、障害物との干渉をより確実に回避することができる。
【００３４】
さらに、上記の説明では、各処理をロボット１内に組み込まれた処理回路で実行する場合を説明したが、本発明はこの場合に限られず、たとえば、各処理をロボット１とは別途用意されたＰＣで行い、ＰＣとロボット１とが通信インターフェースを介して相互に情報を通信する形態とすることもできる。
【図面の簡単な説明】
【００３５】
【図１】本発明の一実施形態による冗長ロボットを示す概略図である。
【図２】本発明の一実施形態による冗長ロボットの冗長性とエルボー角を示す概略図である。
【図３】本実施形態のロボットの教示方法の処理内容の一例を示すフローチャートである。
【図４】本実施形態のロボットの動作領域の領域分割と代表点を示す図である。
【図５】本実施形態のロボットの動作手順を示す図である。
【図６】本実施形態の冗長軸を活用して障害物と干渉回避の様子を示す概略図である。
【図７】従来のロボットの教示方法の処理内容の一例を示すフローチャートである。
【図８】従来のロボットの動作手順を示す図である。
【符号の説明】
【００３６】
１  ロボットアーム、
２  ロボットハンド、
１０  冗長ロボット、
２０  部品箱、
３０  ワーク。
【図１】
0005223407.tif 000002
【図２】
0005223407.tif 000003
【図３】
0005223407.tif 000004
【図４】
0005223407.tif 000005
【図５】
0005223407.tif 000006
【図６】
0005223407.tif 000007
【図７】
0005223407.tif 000008
【図８】
0005223407.tif 000009