(57)【特許請求の範囲】
【請求項１】
駆動側アームと従動側アームがアーム軸線に対して傾斜したオフセット回転軸線回りにモータで回転駆動されるオフセット回転関節を少なくとも複数個有する多関節ロボットの制御方法であって、エンドエフェクタが３次元空間内で移動できる可動範囲を３次元的に複数のブロックに区割りして、各ブロックの基準点に移動するのに必要な各関節毎の特定の回転角度の組合せを各ブロック毎に予め規定したデータをブロック領域データとしてデータベース化しておくと共に、前記エンドエフェクタが所定ブロック領域内で行なう作業内容の教示をブロック内作業ポイントデータとしてデータベース化しておき、作業領域のブロックを選択すると該ブロックにエンドエフェクタが位置するための各関節の回転角度が前記ブロック領域データから求められ、各関節ごとに独立してモータ制御を行なうことによって前記エンドエフェクタが前記選択されたブロックに移動し、該ブロックの基準点まで達したら、前記ブロック内作業ポイントデータを呼び出してブロック内の作業内容のための各関節の動作を決定することを特徴とする多関節ロボットの制御方法。
【請求項２】
前記各関節が演算処理装置と関節データベース及び通信インターフェースを有し、ロボット全体の動きを制御する中央コントローラと各関節が独立して接続されていると共に各関節制御装置間も直接データをやり取りできるようにネットワークを構成し、各関節を並列制御できると共に隣接する関節に中央コントローラを介さずに直接情報を送ることができるようにしてなる請求項１に記載の多関節ロボットの制御方法。
【請求項３】
前記オフセット回転関節は、駆動側アーム又は従動側アームの何れか一方のアーム先端にモータで回転駆動される中空回転軸を所定のオフセット角度で傾斜して回転自在に設け、他方のアーム基端に前記中空軸から回転力を伝動されるロータ部材が固定され、前記中空回転軸と前記ロータ部材が高減速比伝動・トルク増加機構となっている構成を備えたものである請求項１又は２に記載の多関節ロボットの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、多関節ロボット、特にオフセット回転関節を有する多関節ロボットの制御方法に関する。
【０００２】
【従来の技術】
従来、関節がリンク軸線と所定角度傾斜した回転軸線を有するオフセット回転関節を有する多関節ロボットは提案されている（例えば、ＰＣＴ国際公開ＷＯ８８／０３８５６号公報）。該オフセット回転関節は、従動側アームがアーム軸線とオフセット回転軸線との交点を頂点として、オフセット角度の円錐回転運動する構造であり、該オフセット回転関節を複数設けることによって、回転運動のみの簡単な機構で、エンドエフェクタを広可動範囲で精密な三次元位置決めができる。そして、軸回転のみであるから、容易に精密な位置決め制御が可能であり、しかも大きなトルクを伝えることができる利点がある。また、オフセット回転関節で多数のアームを連結することによってアーム全体を蛇のような動きをさせることができ、複雑作業経路でエンドエフェクタを動かすことができ、従来の多関節ロボットにない動きをさせることが可能である。
【０００３】
一方、従来のロボットシステムでは、位置、姿勢情報の教示法として、ダイレクトティーチング法、ジョイスティック等によるリモートティーチング法、数値データ入力等によるオフラインティーチング等が知られているが、これらの教示は、ロボットが出発点から目標位置までの軌跡上の点を、直接又は間接的に逐一教示する方法である。そして、教示された作業点間を指示経路通りロボットを動かすために、各関節に配置されたモータの制御量を計算して軌道を生成し、各モータに制御量を指令値として与えている。従って、多関節のロボットで複雑な軌道生成の場合は、教示が困難であると共に、軌道生成の計算が複雑膨大となってコンピュータの負荷が増大し、応答速度が遅くなり、その結果、スムーズな動きができなくなるという問題がある。
【０００４】
特に、前記のようにオフセット回転関節を有する多関節ロボットの場合は、出発点から目標位置までエンドエフェクタを動かすのに、各関節の動きの組合せは無数にあり、軌道生成が複雑であるため、従来のロボットの制御法では応答速度が遅くならざるを得なかった。
【０００５】
【発明が解決しようとする課題】
本発明は、上記実情に鑑み創案されたものであり、上記のような複雑な動きをするエンドエフェクタを有する多関節ロボットであっても、その都度複雑な演算処理を必要とせずに、簡単に目標位置までの軌道生成ができ、複雑な動きであっても応答速度が早くスムーズに作業できることを可能にする多関節ロボットの制御方法を提供することを第２の目的するものである。
【０００６】
【課題を解決するための手段】
上記課題を達成するための本発明の多関節ロボットの制御方法は、駆動側アームと従動側アームがアーム軸線に対して傾斜したオフセット回転軸線回りにモータで回転駆動されるオフセット回転関節を少なくとも複数個有する多関節ロボットの制御方法であって、エンドエフェクタが３次元空間内で移動できる可動範囲を３次元的に複数のブロックに区割りして、各ブロックの基準点に移動するのに必要な各関節毎の特定の回転角度の組合せを各ブロック毎に予め規定したデータをブロック領域データとしてデータベース化しておくと共に、前記エンドエフェクタが所定ブロック領域内で行なう作業内容の教示をブロック内作業ポイントデータとしてデータベース化しておき、作業領域のブロックを選択すると該ブロックにエンドエフェクタが位置するための各関節の回転角度が前記ブロック領域データから求められ、各関節ごとに独立してモータ制御を行なうことによって前記エンドエフェクタが前記選択されたブロックに移動し、該ブロックの基準点まで達したら、前記ブロック内作業ポイントデータを呼び出してブロック内の作業内容のための各関節の動作を決定することを特徴とするものである。従って、各関節の動きをエンドエフェクタの動きに連係して、軌道を決定する複雑な演算を行うことがないので、データ処理量を格別に低減することができ、スピード化を図ることができる。
【０００７】
本発明は、上記のようにブロック領域データと共にブロック領域内での作業ポイントデータもデータベース化して、両者を組み合わせて制御することにより、より高速化が可能であるが、何れか一方のみをデータベース化することも可能である。所定のブロック領域に、エンドエフェクタを移動させるのに、各関節は、前記データベースから与えられるブロック領域データと現在の動作状況とを比較して、前記ブロック領域データを満たすように独立してモータ制御を行うことによって、各関節が独立して並列的に作動する。作業領域広域に渡る場合は、複数のブロックを組み合わせれば良い。
【０００８】
また、多関節ロボットをアームがうねった複雑な動きをさせる場合、コンピュータの負荷を軽減させて高速化に対応できるようにするために、本発明では、各関節に格納された関節制御手段が、ロボットの全体の動きを制御する中央コントローラとそれぞれ独立して接続されていると共に、各関節制御装置間も直接データをやり取りできるようにネットワークを構成し、各関節を並列制御できると共に複雑な動きとの時には隣接する関節に直接関節の角度情報を送ることができるようにした。
【０００９】
前記多関節ロボットとしては、前記多関節ロボットが、駆動側アームと従動側アームがアーム軸線に対して傾斜したオフセット回転軸線回りに回転駆動されるオフセット回転関節を少なくとも複数個有する多関節ロボットであって、駆動側アーム又は従動側アームの何れか一方のアーム先端にモータで回転駆動される中空回転軸を所定のオフセット角度で傾斜して回転自在に設け、他方のアーム基端に前記中空軸から回転力を伝動されるロータ部材が固定され、前記中空回転軸と前記ロータ部材が高減速比伝動・トルク増加機構となっている構成を備えたものが好適である。
【００１０】
【発明の実施の形態】
以下、本発明の実施形態を図面に基づき詳細に説明する。
図１は、本発明が適用される多関節ロボットの一実施形態の概略図を示している。本実施形態の多関節ロボット１は、多数のアーム２がオフセット回転関節で連結され、ロボットアーム自体が蛇のような動きが可能で、３次元空間内でエンドエフェクタ３を６自由度で移動できると共に、その向きも３次元的に自由に動くことができるようになっている。なお、本実施形態の多関節ロボットは、形状識別センサとして関節カメラ４を適宜備えていると共に、必要に応じて台座カメラも設置されている。エンドエフェクタ３を支持している先端アーム５は自在に伸縮及び回転可能に形成されている。また、オフセット回転関節で連結されているアーム間でも、必要に応じてオフセット角を有しない回転関節及び軸方向伸縮関節を適宜設けても良い。
【００１１】
本実施形態の多関節ロボットのオフセット回転関節の主な機構的特徴は次の点にある。
▲１▼関節の駆動伝動機構に貫通孔を有する高減速・トルク増大機構を採用して、トルクの増加とガタのない精密な減速伝動を可能にした。
▲２▼さらに関節部の高減速・トルク増大機構へのモータからの回転力伝動に外歯傘歯車−内歯傘歯車機構又はベルト伝動機構を採用して、より高減速・トルク増大を図ると共にモータをアーム内に同軸的に設けることを可能にして、アーム径の縮小化を図った。
▲３▼モータはエンコーダ、スリップリング、回転速度計と一体化すると共に、モータケースがアームの一部を形成するようにして、各関節のセンサー手段、制御手段をモータと一体にユニット化して、アームへの取付けを簡単にすると共に、小型化を図った。さらに、モータ軸に貫通孔を設けた。
▲４▼スリップリングを関節部の出力軸にも設けることによって、回転方向を考慮しない自在回転制御方式の採用可能して回転制御の容易化を図った。
▲５▼モータ軸をスリップリングより突出させて、組立時に手動でモータ軸を回転できるようにすることによって、組立時の歯合わせ等の調節が容易にできるようにして組立の容易化を図った。
▲６▼各関節及びエンドエフェクタに制御信号及び動力を伝達する信号線や動力線を、アーム及び回転関節の内部を貫通して配置することができ、且つこれらの信号線や動力線が回転関節の伝動機構によって破損されないように工夫した。
【００１２】
以下、上記特徴点を有するオフセット回転関節の具体的構成を図２により説明する。
図２示すオフセット回転関節は、図１に示すように、円筒状の手元アームを駆動側アーム６とし、手先アームを従動側アーム７としている場合であり、従動側アームが駆動側アームのアーム軸線に対し、オフセット角γのオフセット回転関節で連接されている状態を示している。駆動側アーム６のアーム本体６ａの先端は軸線に直角な直角開口部となっており、従動側アームの基端がアーム軸線に対して傾斜角γの傾斜開口部となっており、直角開口部と傾斜開口部にオフセット回転関節組立体が設けられている。
【００１３】
本実施形態におけるオフセット回転関節組立体は、モータユニット８、該モータユニット先端に固定された駆動側アーム先端部６ｂ、該駆動側アーム先端部に固定された関節回転伝動機構部９が一体に組み立てられている。駆動側アーム先端部６ｂは、基端側が直角開口部で先端側が傾斜開口部に形成され、直角開口部にモータ軸先端を軸受けし、傾斜開口部には関節回転伝動機構部９が固定されている。
【００１４】
モータユニット８は、アームと同径を有するモータケース１０を有し、該モータケースの上下端を図示のように駆動側アーム６ａ及び駆動側アーム先端部６ｂと連結固定して一体化することによって、モータケース１０自体が駆動側アームの一部を構成を構成している。モータユニット８は、前記モータケース１０と一体型に形成されたモータ１１、エンコーダ１２、スリップリング１３、及び回転速度計（図示してない）からなり、モータ軸１４がアーム軸線と同一軸線上又は平行線上に位置するように設けられている。
【００１５】
モータ１１は、ＤＣサーボモータ、ＡＣサーボモータ、直接駆動モータ又はパルスモータ等任意の正逆回転小型制御モータが採用できる。モータ軸１４は、貫通孔１５を有する中空軸に形成され、内部を信号線及び動力線が貫通できるようになっている。モータ軸１４の基端部及び先端部はモータケースから突出し、先端部にはモータ軸１４の貫通孔に連通する貫通孔が形成された外傘歯車１７が固定され、駆動側アーム先端部６ｂの基端側に回転自在に軸受されている。また、モータ軸１４の基端部には回転摘み１６が固定され、組立時にオフセット回転関節の角度調節を手動で自由にできるようになっている。
【００１６】
関節回転伝動機構部９は、駆動側であるステータ部と従動側であるロータ部からなり、ステータ部が駆動側アーム先端部６ｂに連結され、ロータ部が従動側アーム７に連結されている。そして、ステータ部とロータ部とで、以下に詳述するように、ハーモニックドライブ機構を構成し、駆動側から従動側に高減速比で回転力を伝えるようになっている。
【００１７】
ステータハウジング２０は、傾斜開口部となっている駆動側アーム先端部６ｂに固定され、中央部に貫通孔２２が形成された円筒軸２１をベアリング２３を介して回転自在に軸受している。該円筒軸２１の先端部はベアリング２６を介してロータハウジング３０にも回転自在に軸受されている。従って、該円筒軸２１は駆動側アーム軸線に対して、オフセット角γだけ傾斜していることになる。円筒軸２１の基端側には、前記モータ軸に取り付けられた外歯傘歯車１７と噛み合う内歯傘歯車２４が固定されている。
【００１８】
また、円筒軸２１の上部には外周面が楕円形状のカムを構成する軸受フランジ３１が形成され、該軸受フランジ外周面と、前記ステータハウジング２０に固定された入力ギア部材３２の上端部内周面との間にベアリング２７が設けられている。入力ギア部材３２は、図２に示すように、下端部が取付フランジ部３３となっている円筒状に形成され、円筒胴部３４は弾性変形可能な金属材で形成され、その上端部外周面には外歯３５が形成されている。
【００１９】
一方、ロータハウジング３０には、内周面に前記外歯３５と噛み合う内歯３６が形成されている出力ギア部材３７が固定され、該出力ギア部材は、リング部材３８及びベアリングを介してステータハウジング２０に回転自在に軸受されていると共に、その上端部はロータハウジングを介して従動側アームに固定されている。出力ギア部材３７の内歯３６は弾性変形する入力ギア部材３２の外歯３５より歯数が多く（例えば２枚）形成されており、円筒軸２１、入力ギア部材３２、出力ギア部材７とで、大減速比で回転力を伝達するハーモニックドライブ機構を構成している。
【００２０】
円筒軸２１の頂部とロータハウジング３０（出力ギア部材３７）との間にもスリップリング４０を設け、回転方向を考慮しない自在回転制御ができるようにした。また、関節回転伝動機構部９には、前記アーム間の関節部に取り付けた際に、回転接触部を介してアーム内部の空間部に外部からガスや水その他の異物が侵入しないように、回転接触部には適宜のシール手段が取り付けられ、ロボットアーム内部の密封を図っている。なお、図中４３は、内歯傘歯車２４を貫通する信号線等を破損しないように保護するために内歯傘歯車２４の貫通孔に嵌合して設けたラッパ状の保護筒である。また、図示していないが、ハーモニックドライブ機構には、入力／出力軸間に回転原点位置検出センサが設けられている。
【００２１】
関節回転伝動機構部９は、以上のように構成され、モータユニット８と駆動側アーム先端部６ｂとを一体に組み立ることによって、オフセット回転関節組立体を構成し、それを各関節毎に予め組み立ておけば、多関節ロボットの組み立てに際して、該オフセット回転関節組立体を介して、駆動側アームと従動側アームを順次連結していけば良いので、組み立てが容易である。また、オフセット回転関節が故障した際は、該オフセット回転関節組立体を取り替えれば良いので、メンテナンスも容易である。なお、アームの組み立てに際して、関節回転伝動機構部９の従動側アームへの連結は、出力ギア部材３７を、直接又は図示のようにロータハウジング３０を介して、従動側アーム７の傾斜開口部固定されている従動側関節板４２に固定することによってできる。
【００２２】
以上のように取り付けることによって、関節回転伝動機構部９の回転軸線が駆動側アーム６のアーム軸線ＬＡに対して、角度γ傾斜することになる。その結果、傾斜角度γがオフセット角度となり、従動側アーム７はオフセット回転軸線ＬＢとアーム軸線ＬＡとの交点を頂点として、オフセット角度γの円錐回転運動することになる。従って、該オフセット回転関節を複数組み合わせることによって、回転運動の組合せのみで、三次元の非常に複雑な動きをさせることができる。
【００２３】
次に、上記のように構成された関節回転伝動機構部９の作動を説明する。
モータ１１が駆動すると、外歯傘歯車１７、内歯傘歯車２４を介して円筒軸２１が所定の回転速度で回転する。その際、内歯傘歯車２４を径大にすることによって直径比に応じて減速することができ、小型のモータで大きなトルクを発生させることができる。しかも傘歯車同士の噛み合いであるからスベリやバックラッシュも殆どなく正確に且つ静かに伝動することができる。円筒軸２１が回転することによって、該円筒軸の外周面に形成されている楕円形状の軸受フランジ３１の長軸部外周面がベアリング２７を介して、入力ギア部材３２の円筒胴部３４をカム作用により押す。それにより、入力ギア部材３２の円筒胴部３４が弾性変形して、外歯３５が出力ギア部材３７の内歯３６と噛み合う。そのため、内歯と外歯の噛み合い位置は円筒軸の回転につれて順次変化し、円筒軸が１回転したとき、出力ギア部材３７は入力ギア部材との歯数差分だけ回転することになる。従って、入力ギアの歯数をＺｉとし、出力ギア部材の歯数をＺｏとすると、減速比は（Ｚｏ−Ｚｉ）／Ｚｏとなり、大きな減速比を得ることができる。
【００２４】
そのため、前記の外歯傘歯車−内歯傘歯車伝動機構に加えさらにハーモニックギア機構により大きな減速比を得ることができ、小さなモータでより大きな回転トルクを得ることができる。このことは、ロボットの関節を小型軽量化を図ることができので、ロボットの関節機構としては非常に有利である。また、外歯傘歯車−内歯傘歯車伝動機構を採用することにより、オフセット角度に関係なく、常にモータをアーム軸線と一致させて取り付けることができるので、関節部のアームの直径を大きくする必要がなく、多関節アーム全体として細径のパイプ状に構成することができ、自重を減少させることができる。
【００２５】
また、前記減速機構は、出力ギア部材の円筒胴部の弾性変形により噛み合うので、同時かみ合い歯数が多く、歯のピッチ誤差の回転精度への影響が平均化されて、高回転精度が得られる。従って、オフセット回転関節機構と相俟ってより高位置決め精度が得られ、非常に精密な動きを要するロボットの関節としても有効である。さらに、歯と歯は転がり接触をせず、且つ周速も低いので、非常に静粛で且つ振動も少ない。従って、静粛で且つ高精度の動きが要求される、例えば介護ロボット等の関節機構として好適である。また、各関節とも同様な関節回転伝動機構部を採用しているので、各回転関節の減速比は、単にギア比を変えるのみで容易に種々の組合せができ、例えば、ベース側に近い関節部は遅くしてエンドエフェクタに近い部分の関節部を早くするように適宜容易に組み合わせることができる。
【００２６】
また、モータはブレーキ付きモータであるので、特別なアクチュエータを設けなくても、回転位置を強く保持することができ、大きな負荷を所定位置に確実に保持し続けることができ安全である。例えば、停電等によりモータの回転が停止すると自動的にブレーキ作動するので、その位置を保持することができ安全であると共に、従来のようにアクチュエータを作動させて制動状態を維持する必要がなくて省エネルギーを図ることができる。また、本実施形態のオフセット回転関節の大きな特徴点として、前記のように関節を含めロボットアームを基部からエンドエフェクタまで中空に貫通することができ、且つ回転摺動面を完全にシールしてあるので、アーム内部の中空部を外部と完全に遮断することができることである。
【００２７】
図３は、本発明のオフセット回転関節の他の実施形態を示す。前記実施形態と同様な部材には、同様な符号を付し、相違点のみ説明する。
本実施形態では、モータ５０から関節回転伝動機構部の伝動機構として、タイミングベルトによるベルト伝動機構を採用してある。即ち、モータの出力軸５１に歯付きプーリ５２を固定し、円筒軸２１の下端に固定したプーリ５３との間にタイミングベルト５４を懸け渡して、回転力を伝動するようになっている。従って、その場合は、プーリ５３をプーリ５２より径大にすることによって直径比に応じて減速することができ、小型のモータで大きなトルクを発生させることができる。しかも、タイミングベルトによる伝動であるからスベリやバックラッシュも殆どなく、正確に且つ静かに伝動することができる。
【００２８】
なお、本実施例では、駆動側アームは先端部まで連続しており、その先端開口部に取り付けられる関節回転伝動機構部のステータハウジング５５に、固定されたモータ取付けハウジング５６にモータ組立体５７が固定されている。従って、モータ軸は関節回転伝動機構部の円筒軸２１の軸線と平行して取り付けてある。本実施形態では、モータ組立体は２個以上（図では２個）のモータを軸連結して同期させて運転させることができるようにしてあり、１個のモータのみでトルクが不足する場合、モータを連結することによって、小型モータのみで大きなトルクを得ることができる。なお、５８は原点位置検出センサーである。
【００２９】
次に、本発明の多関節ロボットの制御方法の実施形態を上記のオフセット回転関節を用いた多関節ロボットについて説明する。図４は本発明の多関節ロボットの制御方法の基本的構成を示すブロック線図である。
本実施形態のロボットシステムは、作業計画系Ａ、マニピュレータ系（アーム、関節、エンドエフェクタ、及びこれらを直接コントロールする制御部を含む駆動作業部を指す）Ｂ、画像認識系Ｃで構成されている。
【００３０】
作業計画系Ａは、各種データベース７０、作業計画手段７１、軌道生成手段７２、又必要に応じてリモート教示用又は手動操作用としてジョイスティック又はキーボード等の手動制御入力機器７３から構成されている。各種データベース７０にはロボットに必要な作業を行わせるための作業計画に必要なあらゆる情報・データを決定して入力しておく。作業計画に必要な情報・データとしては、多関節ロボット本体の形態情報（例えば各関節の機能構成、エンドエフェクタの機能構成等）、多関節ロボット本体の設置情報（多関節ロボット本体と画像認識用カメラと対象物等の固定位置座標、多関節ロボットの動作範囲等）、多関節ロボットの操作方法（手動操作モード、プログラム操作モード、自動操作モード等の決定情報）がある。そして、後述する予めブロック教示されたブロック毎のブロック領域データも格納しておく。また、各種の作業対象物の形状等をデータベース化した対象物形状データベース、組立法、加工法等の各種基本作業内容をデータベース化した各種作業データベースをＲＯＭ化しておくことによって、種々の形状の対象物に種々の作業をデータベースから呼び出して行うことができる。
【００３１】
作業計画手段７１は、多関節ロボットに作業を行わせるための位置、姿勢情報、順序、作業条件情報等を教示するものであり、予め各種データベースにＲＯＭ化されている情報や、画像認識系からの情報、又は外部入力から情報を組み合わせて作業計画を立て、軌道生成部７２に教示する。軌道生成手段７２は、教示された作業内容を実行するための指示経路に沿って多関節ロボットを動かすための、各関節のモータやエンドエフェクタの制御量を計算し、マニピュレータ系Ｃに指令する。本実施形態では、軌道生成手段からの指令として、手先力／トルク指令、手先角度指令、手先位置指令、カメラ視界指令がある。
【００３２】
マニピュレータ系Ｂは，軌道生成手段７２からの手先トルク指令に応じて各関節の関節トルクを決定する関節トルク分配手段７５、手先角や手先位置指令に基づいて各関節の関節角度を計算する関節角度計算手段７６、及び各関節７９に設けられたサーボモータ８０、回転速度計８１、エンコーダ８２等からなる関節単位手段、及びエンドエフェクタ８６に設けられた力／トルクセンサ８７、角度センサ８８、重力センサ８９等から構成されている。各関節には、後述する図６に示す、通信インターフェース、前記関節トルク分配手段７５及び関節角度計算手段７６を兼ね、コマンドの実行と報告を行うＣＰＵ、及び関節データベースも備えている。
【００３３】
関節トルク分配手段７５には、予めデータベースにＲＯＭ化されている各関節のアーム長さ、オフセット角、回転角速度定数、サーボモータの諸定数、減速比、回転速度計の定数、エンコーダの定数、角度及び速度の制御定数等、各関節固有のデータに基づく関節トルクの分配則がＲＯＭ化されており、該分配則に基づき軌道生成部から送られてくるある一定時刻手先力／トルク指令を実現するための、各関節の速度制御量が決定され、各関節に並列に送られる。同様に関節角度計算手段７６では、軌道生成手段からの手先角度指令、手先位置指令を実現するための、各関節の角度が計算され、各関節に角度制御量として各関節に並列に送られる。
【００３４】
各関節では、関節トルク分配手段からの速度制御量に基づき、速度制御手段８５から速度制御信号（電流制御）がサーボアンプ８４を介してサーボモータ８０に送られ、通常は各関節のサーボモータが並列的に同時に回転駆動される。モータの回転速度は、回転速度計８１で検出され、その検出結果は速度制御手段にフィードバックされ、目標値に達するように制御される。また、同様に関節角度計算手段７６から角度制御量に基づき、各関節の角度制御手段からの角度制御信号がサーボアンプ８４に送られ、前記速度制御信号と合わされてサーボモータ８０を駆動する。モータの回転角度は逐次エンコーダ８２によって検出され、角度制御手段８５にフィードバックされ、目標値に達するように制御される。
【００３５】
各関節のサーボモータの回転による各アームの運動が複合されてエンドエフェクタ８６が移動するが、エンドエフェクタ８６の動きはそれに設けられている力／トルクセンサ８７、角度センサ８８、重力センサ８９で検出されて、関節トルク分配手段７５、及び関節角度計算手段７６にフィードバックされ、その動きが目標とするトルク、角度、位置を得るまで以上の制御が繰り返される。手先の位置と角度が所定の値に達したらその作業を終了し、次の作業に移る。そのとき、新たな手先の位置及びその付近の状況を関節カメラ及び台座カメラにより画像検出され、次の作業に備えられる。
【００３６】
画像認識系Ｃは、台座カメラ９０、関節カメラ（図４には図示してない）、軌道生成手段７２の指令をもとにカメラを制御するカメラ角度／ズーム制御等のカメラ制御則発生手段９１、カメラ画像から目標の形状を抽出する目標の形状抽出手段９２、目標物の形状決定手段９３から構成され、多関節ロボットの各関節信号と各ＣＣＤ画像及び形状データベースとの比較（照合）を基に、多関節ロボットの設置座標に対して３次元位置座標を抽出して、目標物の位置決定を行うと共に、形状の大きさを算出する。
【００３７】
次に、以上のようなシステムからなる本実施形態の多関節ロボットの基本的動作手順を図５に示すフローチャートにより説明する。
作業が開始されると、各種データベース７０から多関節アーム、エンドエフェクタ、カメラの初期設定値を呼び出すと共に、多関節アームの構成、エンドエフェクタの構成及びカメラ系の情報を呼出し、多関節アーム、エンドエフェクタ、カメラのそれぞれを初期設定値に設定する。それにより、カメラ視野方向と視野角が初期設定され（ステップ１）、それに基づきカメラが作業対象物のあたりを写し、画像を信号処理して物体の輪郭形状を抽出する（ステップ２）。信号処理の方法としては、２値化あるいは多値化して、物体の輪郭形状を抽出する方法、明るさの同じ程度の隣あった領域を繋げて物体の面を抽出する方法、あるいは、同じ程度の色の隣合った領域を繋げて物体の面を抽出する方法等が採用できる。そして、抽出された形状の中から目標を抽出し（ステップ３）、抽出された物体の輪郭形状及び面形状を、作業対象物の形状を蓄えているデータベースと照合し、作業対象物の位置と姿勢を推定する（ステップ４）。そして、作業対象物以外の物体を障害物して、その位置と姿勢を記憶する。
【００３８】
以上のように、作業対象物及び障害物の位置と姿勢が推定されると該推定信号に基づいて、作業計画手段において作業計画が立案される（ステップ５）。作業計画は、作業対象物の位置と姿勢が与えられると、データベースに格納されている制御法あるいは予め教示されて実行ファイルに格納されている作業内容（組立、加工、溶接、試験等）等のデータに基づいて手先の終点の位置と姿勢を決める。次いで、軌道生成手段７２で手先の始点位置と姿勢から終点位置と終点姿勢までの軌道を計算して制御量を得る（ステップ６）。そのとき、画像情報から得られた障害物を回避するように手先軌道を決め、軌道を生成する。
【００３９】
軌道生成がなされるとオフセット回転関節及びエンドエフェクタに軌道を生成するために必要な指令として、手先位置指令、手先角度指令、手先力／トルク指令がマニピュレータ系の関節角度計算手段７６、関節トルク分配手段７５に与えられる（ステップ７）。それらの指令によって、手先が軌道に沿って動き、画像から得られた障害物を画アームが回避するように各関節角度の時系列値を計算する（ステップ８、９）。それに基づき各関節の関節速度制御及び関節角度制御が行われ（ステップ１０、ステップ１１）、モータの回転が制御されて関節／エンドエフェクタ軌道に沿って移動する。
【００４０】
移動が終了すると、手先の力／トルク検出、手先の重力検出を行いステップ８にフィードバックする（ステップ１３、１４）と共に、手先の角度検出を行いステップ９にフィードバックする（ステップ１５）。そして、手先の位置と角度が所定の値になったかを判断し（ステップ１６）、所定値になったら動作を終了する。所定値になってない場合は、ステップ２に戻り同様な制御を繰り返す。その際、関節／エンドエフェクタは移動しているので、それに伴い関節カメラは移動し、移動による新たな画像がステップ２に与えられる（ステップ１７）。同様に、移動した結果の画像が、台座カメラからもステップ９に与えられる（ステッ１８）。
【００４１】
以上は、本発明における多関節ロボットの基本的な制御方法であるが、本発明の多関節ロボットは、各関節がオフセット回転関節となっており、各関節がオフセット回転するのみで従来の３次元ロボットでは実現が困難であったエンドエフェクタの３次元空間での自由な向きと位置を選択することができる。しかも各アームの動きの組合せが蛇のようにうねった動きをさせることができ、例えばエンドエフェクタが作業対象物に達するまで複雑経路を経なければならない位置（例えば障害物の背後等）にある作業対象物にも作業を行うことが可能である。本発明の多関節ロボットのこの特性を活かして複雑な作業を行うに際して、従来のように、例えば作業点の教示をエンドエフェクタの始点から目標位置までの軌道の教示を行い、その教示された作業点間を多関節ロボットの各関節に配置されたモータの制御量として計算して軌道生成すると、非常に膨大な量の情報を各時刻毎に処理しなければならず、コンピュータの負荷が増大し、応答速度が遅くなる問題点がある。
【００４２】
そこで、本発明では、上記問題点を解消するために、特に、以下のような作業計画系における▲１▼ブロック教示法を採用した新たな作業教示法、及びマニピュレータ系における▲２▼各関節と中央コンピュータとのネットワークを構築した。
【００４３】
▲１▼ブロック教示法
エンドエフェクトの可動範囲（動作領域）を大まかな複数のブロックＢに分け、エンドエフェクタの作業領域が存在するブロックまでの軌道をブロック単位で教示してデータベース化しておくブロック教示方法と、エンドエフェクタが狭い範囲で決められた作業を行う場合にその作業内容を作業単位で教示してデータベース化しておく作業ポイント教示方法との両方法を組み合わせることによって、データ処理時間を飛躍的に短縮することを可能にした。
【００４４】
詳述するとブロック教示方法は、図１に示すように、エンドエフェクタの動作領域を大まかなブロックに区割り（図では、５４ブロック）にして、そのブロックに移動するのに必要な各関節の特定の回転角と回転角速度を予め教示しておきデータベース化しておく。各ブロックへの移動経路は無数にあるが、各関節の動きは回転角度のみで規定されるので、例えばあるブロックの基準点にエンドエフェクタが位置する状態での各オフセット回転関節の回転角度の組合せを規定して置けば、ブロックが指定されるとそのブロックにエンドエフェクタが位置するための各関節の条件が瞬時にデータベースから求めることができる。図示の例では、最低限５４通りのデータベースを用意しておけば、移動する経路を限定しなければ、エンドエフェクタはどのブロックからも目標とするブロックに該データベースを利用して瞬時に作業点が教示され、軌道が生成されることになる。
【００４５】
また、作業領域がブロック境界域にかかる場合は、接するブロックを選択し、そのブロックの各関節の動作に関するデータベースを呼び出して自動制御する。また、予め作業領域が広域に渡る場合は、複数のブロックを組み合わせて作業を行う方法をとる。ブロックの組み合わせは、横組、縦組、縦横組の方法があり、これらをデータベースから呼び出すことになる。
【００４６】
エンドエフェクタが作業領域が存在するブロックの基準位置に達してからのブロック内での移動は、従来と同様な作業点の教示及び作業内容の教示を実行ファイルに格納しておき、それを呼び出して行えば良い。あるいは、関節カメラや台座カメラからの画像情報と最適制御則により作業計画を立案して自動操作するか、又はジョイスティック等により手動操作すれば良い。その場合、特定のブロック内での移動だけであるから、動作する関節は少なくて少ない演算処理で軌道生成でき、コンピュータの負担が少なく、高速化が可能となる。
【００４７】
さらに、ブロック内での作業が上記のように決められた作業（例えば、組立法、加工法、溶接法、試験法等）であれば、ブロック毎の作業内容を教示してデータベース化しておけば、該作業領域のブロックに達したらデータベースから呼び出すことによって、瞬時にブロック内の作業内容のための軌道が生成される。ブロック内の狭い範囲での可動する関節は少ないので、データベース化された作業内容教示データは、特定のブロックに限らず、他のブロックでも複写して使用することが可能であり、従来のロボット制御システムと比較して制御が容易で高速化することができる。さらに、教示内容を関数化することによって、動きを縮小・拡大して適用することができる。
【００４８】
▲２▼各関節のネットワーク化
ネットワークを構築するために、各関節は、図６にブロック線図で示すように、機構系１００の外に、関節データベースＲＯＭ１０１、起動用ＲＯＭ１０２、ＣＰＵ１０３、通信インタフェース１０４を有し、通信機能を備えている。関節データベースＲＯＭには、その関節のアーム長さ、オフセット角、回転各速度定数、サーボモータの定数、回転速度計の諸定数、エンコーダの定数、角度及び速度の制御定数等、各関節固有のデータが格納されている。
【００４９】
そして、本実施形態では各関節信号への信号線として、実質的に全体信号線１０５と個別信号線１０６があり、両者を切替使用できるようになってネットワークを構成しいる。例えば、電源投入時に、通信インターフェースは個別信号線上の上流側からの起動信号によって、自己の関節データベースの内容を全体信号に送り、この関節が何番目にあるか、どのような関節につながっているかを、制御コンピュータ及び全関節に通知することによって、全体の初期設定が容易となる。また、本発明のオフセット回転関節を採用すれば、ロボット軌道を形成するのに各関節の動き（回転）の組合せは無数にあり、一つの関節の動きがエンドエフェクタの動きに直接連動してないので、前記のように各関節をネットワークを形成することによって、１つの関節が故障しても他の関節で補うことができる。
【００５０】
ブロック教示の場合、図７に模式的に示すように、各関節を全体通信線を通して関節トルク分配手段、関節各計算手段に個別につなぐことによって、各関節が直接コマンドの実行と結果の報告を行うことができ、ブロック教示に基づく軌道の実行が可能となる。また、蛇のようなうねった動きをさせる場合は、個別信号線で、隣接する先端側の関節の角度を受け取り、自分の関節角度を隣接する基端側の関節に送る。それにより、全体を制御するコンピュータとの通信がなく、コンピュータの負担が軽くなり、演算速度を高めることができ、複雑な動きをスムーズにさせることができる。
【００５１】
以上は、単一の多関節ロボットで作業を行う場合について説明したが、上記のロボットを複数台設置して、複数のロボットが共働して作業を行わせることも可能である。
【００５２】
【発明の効果】
以上のように本発明の多関節ロボットの制御方法によれば、アームが複雑な動きをする多関節ロボットであっても、作業領域が存在するブロックを指定するだけで、複雑な計算を必要とせずに簡単に目標位置までの軌道生成ができ、且つ応答速度が早くスムーズな動きを可能にする。
【００５３】
また、請求項２の発明によれば、特定作業領域で作業内容をデータベースから呼び出すことによって、瞬時にブロック内の作業内容のための軌道が生成することができる。そして、データベース化された作業内容の教示データは、特定のブロックに限らず、他のブロックでも複写、あるいは動きを縮小・拡大して適用することが可能であり、従来のロボット制御システムと比較して制御が容易で高速化することができる。そして、請求項１１の発明のように、ブロック教示方法と、作業ポイント教示方法との両方法を組み合わせることによって、データ処理時間を飛躍的に短縮することを可能である。
【００５４】
さらに、請求項３の発明によれば、各関節を並列制御できると共に隣接する関節に中央コントローラを介さずに直接情報を送ることができ、ブロック教示データに基づく軌道生成に基づく実行作業の場合に限らず、アームを蛇のようにうねった動きをさせてエンドエフェクタを複雑な経路で移動させる場合も、全体制御コンピュータの負担を少なくして、演算速度を一段と早めることができる。また、初期設定も容易である。
【００５５】
そして、多関節ロボットとして、従動側リンクがリンク軸線とオフセット回転軸線との交点を頂点として、オフセット角度の円錐回転運動するので、該オフセット回転関節を複数設けたものを採用することによって、回転運動のみの簡単な機構で、エンドエフェクタの広可動範囲での精密な三次元位置決めができる。しかも、各関節は、関節内の回転関節伝動機構部が高減速比伝動・トルク増加機構となっているので、小型の駆動モータを採用してより強い回転トルクを伝えることができ、関節を小型軽量に形成することができる。このことは、多連の多関節ロボットにとって非常に有利であり、小型軽量でよりペイロードの高いオフセット回転関節を得ることができ、且つ精密な位置決め制御が可能な高機能な多関節ロボットを得ることができる。
【図面の簡単な説明】
【図１】本発明の多関節ロボットの制御方法における多関節ロボットの作業状態を示す斜視図である。
【図２】本発明の実施形態に係る多関節ロボットのオフセット回転関節部を示す一部破断正面図である。
【図３】本発明の他の実施形態に係る多関節ロボットのオフセット回転関節を示す一部破断正面図である。
【図４】本発明の実施形態に係る多関節ロボット制御方法に基づくブロック線図である。
【図５】その作動を示すフローチャートである。
【図６】本発明の実施形態に係る多関節ロボット制御方法におけるネットワークを構成する関節部のブロック線図である。
【図７】ネットワーク構成概念図である。
【符号の説明】
１  多関節ロボット                  ２  アーム
３  エンドエフェクタ                ４  カメラ
５  先端アーム                      ６  駆動側アーム
７  従動側アーム                    ８  モータユニット
９  関節回転伝動機構部            １０  モータケース
１１、８０  モータ                  １２、８２  エンコーダ
１３  スリップリング                １５  貫通孔
１６  回転つまみ                    １７  （外歯）傘歯車
２０  ステータハウジング            ２１  円筒軸
２２  貫通孔                        ２４  内歯傘歯車
３０  ロータハウジング              ３２  入力ギア部材
３７  出力ギア部材                  ４０  スリップリング
５０  モータ                        ５４  タイミングベルト
５５  ステータハウジング            ５７  モータ組立体
５８  原点位置検出センサ            ７０  データベース
７１  作業計画手段                  ７２  軌道生成手段
７３  手動制御入力機器              ７５  関節分配手段
７６  関節角計算手段                ７９  関節
８１  回転速度計                    ８４  サーボアンプ
１００  機構系                    １０１  関節データベースＲＯＭ
１０３  ＣＰＵ                    １０４  通信インターフェース
【図１】
0003671219.tif 000002
【図２】
0003671219.tif 000003
【図３】
0003671219.tif 000004
【図４】
0003671219.tif 000005
【図５】
0003671219.tif 000006
【図６】
0003671219.tif 000007
【図７】
0003671219.tif 000008