(57)【要約】【課題】ロボットの特異点近傍における異常動作を防止し、制御装置の演算の負荷を低減することが可能な多関節型ロボット装置を提供する。【解決手段】多関節型ロボット装置１００は、７個の関節軸Ａ1〜Ａ7を介してそれぞれ互いに連結された複数のアーム体１２〜１８と、７個の関節軸Ａ1〜Ａ7をそれぞれ動作させる７個の関節軸用モータ２１〜２７とを有するロボット本体１０を備えている。ロボット本体１０の７個の関節軸用モータ２１〜２７に、制御装置３０が接続されている。制御装置３０は、ロボット本体１０が特異点近傍以外の位置をとるときは、７個の関節軸用モータ２１〜２７のうち特定の６個の関節軸用モータ２１〜２２、２４〜２７のみを駆動させ、ロボット本体１０が特異点近傍の位置をとるときは、７個の関節軸用モータ２１〜２７全てを駆動させてロボット本体１０の異常動作を回避する。【選択図】図２
2010110878.tif 000002
【特許請求の範囲】
【請求項１】
多関節型ロボット装置において、
互いに異なるｎ個の関節軸を介してそれぞれ互いに連結されたｎ個のアーム体と、ｎ個の関節軸を中心として各アーム体を動作させるｎ個の関節軸用モータとを有するロボット本体と、
ロボット本体のｎ個の関節軸用モータに接続され、各関節軸用モータを制御する制御装置とを備え、
制御装置は、ロボット本体が特異点近傍以外の位置をとる場合、ｎ個の関節軸用モータのうち特定のｎ−１個の関節軸用モータのみを駆動させ、ロボット本体が特異点近傍の位置をとる場合、ｎ個の関節軸用モータ全てを駆動させてロボット本体の異常動作を回避することを特徴とする多関節型ロボット装置。
【請求項２】
制御装置は、前記特定のｎ−１個の関節軸における角度位置を、ロボット本体の先端に位置するアーム体の位置に変換する際に用いられるヤコビ行列Ｊの行列式ｄｅｔ（Ｊ）を計算し、
制御装置は、この行列式ｄｅｔ（Ｊ）の絶対値が所定の基準値Ｊaを下回った場合に、ロボット本体が特異点近傍の位置をとると判断することを特徴とする請求項１記載の多関節型ロボット装置。
【請求項３】
制御装置は、ロボット本体の動作を開始する前に、予めヤコビ行列Ｊの行列式ｄｅｔ（Ｊ）を計算しておくことを特徴とする請求項１または２記載の多関節型ロボット装置。
【請求項４】
制御装置は、ロボット本体の動作を開始した後、ヤコビ行列Ｊの行列式ｄｅｔ（Ｊ）を計算しながら、各関節軸用モータを制御することを特徴とする請求項１または２記載の多関節型ロボット装置。
【請求項５】
ヤコビ行列Ｊはｎ行×ｎ列の行列からなり、制御装置は、ロボット本体が特異点近傍以外の位置をとる場合には、ヤコビ行列Ｊの特定の成分を定数として演算を行い、ロボット本体を制御することを特徴とする請求項２乃至４のいずれか一項記載の多関節型ロボット装置。
【請求項６】
互いに異なるｎ個の関節軸を介してそれぞれ互いに連結されたｎ個のアーム体と、ｎ個の関節軸を中心として各アーム体を動作させるｎ個の関節軸用モータとを有するロボット本体と、ロボット本体のｎ個の関節軸用モータに接続され、各関節軸用モータを制御する制御装置とを有する多関節型ロボット装置の制御方法において、
制御装置によりロボット本体が特異点近傍にあるか否かを判断する工程と、
ロボット本体が特異点近傍以外の位置をとる場合、制御装置によりｎ個の関節軸用モータのうち特定のｎ−１個の関節軸用モータのみを駆動させる工程と、
ロボット本体が特異点近傍の位置をとる場合、ｎ個の関節軸用モータ全てを駆動させてロボット本体の異常動作を回避する工程とを備えたことを特徴とする多関節型ロボット装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多関節型ロボット装置に係り、とりわけアーム制御の際、特異点近傍における異常動作を抑制することが可能な多関節型ロボット装置およびその制御方法に関する。
【背景技術】
【０００２】
一般に、多関節型ロボットのアームに直線補間動作を行わせる場合、ロボットのアームの自由度が縮退する特定の位置（特異点）が生じる。そしてロボットのアームが特異点に一致した場合、ロボットのアームを特定の方向に動かすことができなくなってしまう。
【０００３】
また、このような特異点の近傍にロボットのアームが移動してきた場合には、ロボットの可操作度が減少する。このため、特異点近傍でロボットを動かそうとする場合、特定の関節軸を中心にアームを過大な速度で回転させる必要が生じる。このため、特異点近傍では、ロボットに補間動作をさせることが不可能になったり、ロボット先端の動作速度が遅くなるなどの問題が生じる。
【０００４】
例えば、６個の関節軸に加えて１個の冗長軸を有し、この冗長軸の冗長性を利用することにより特異点を回避する７軸の多関節型ロボットが存在する。しかしながら、このような冗長軸を有する多関節型ロボットにおいては、軸数が多いため、ロボットの制御装置は常に複雑な演算を行わなければならず、制御装置の演算負荷が増大する。また場合によっては、冗長軸を設けたことにより特異点が増加し、結果的に特別な処理を行う必要が生じてしまう。
【特許文献１】特開平６−１４３１７２号公報
【特許文献２】特開２００１−５４８８９号公報
【非特許文献１】吉川恒夫著、「ロボット制御基礎論」、株式会社コロナ社、P57−P58
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明はこのような点を考慮してなされたものであり、ロボットの特異点近傍における異常動作を防止するとともに、制御装置の演算負荷を抑制することが可能な多関節型ロボット装置およびその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、多関節型ロボット装置において、互いに異なるｎ個の関節軸を介してそれぞれ互いに連結されたｎ個のアーム体と、ｎ個の関節軸を中心として各アーム体を動作させるｎ個の関節軸用モータとを有するロボット本体と、ロボット本体のｎ個の関節軸用モータに接続され、各関節軸用モータを制御する制御装置とを備え、制御装置は、ロボット本体が特異点近傍以外の位置をとる場合、ｎ個の関節軸用モータのうち特定のｎ−１個の関節軸用モータのみを駆動させ、ロボット本体が特異点近傍の位置をとる場合、ｎ個の関節軸用モータ全てを駆動させてロボット本体の異常動作を回避することを特徴とする多関節型ロボット装置である。
【０００７】
本発明は、制御装置は、前記特定のｎ−１個の関節軸における角度位置を、ロボット本体の先端に位置するアーム体の位置に変換する際に用いられるヤコビ行列Ｊの行列式ｄｅｔ（Ｊ）を計算し、制御装置は、この行列式ｄｅｔ（Ｊ）の絶対値が所定の基準値Ｊaを下回った場合に、ロボット本体が特異点近傍の位置をとると判断することを特徴とする多関節型ロボット装置である。
【０００８】
本発明は、制御装置は、ロボット本体の動作を開始する前に、予めヤコビ行列Ｊの行列式ｄｅｔ（Ｊ）を計算しておくことを特徴とする多関節型ロボット装置である。
【０００９】
本発明は、制御装置は、ロボット本体の動作を開始した後、ヤコビ行列Ｊの行列式ｄｅｔ（Ｊ）を計算しながら、各関節軸用モータを制御することを特徴とする多関節型ロボット装置である。
【００１０】
本発明は、ヤコビ行列Ｊはｎ行×ｎ列の行列からなり、制御装置は、ロボット本体が特異点近傍以外の位置をとる場合には、ヤコビ行列Ｊの特定の成分を定数として演算を行い、ロボット本体を制御することを特徴とする多関節型ロボット装置である。
【００１１】
本発明は、互いに異なるｎ個の関節軸を介してそれぞれ互いに連結されたｎ個のアーム体と、ｎ個の関節軸を中心として各アーム体を動作させるｎ個の関節軸用モータとを有するロボット本体と、ロボット本体のｎ個の関節軸用モータに接続され、各関節軸用モータを制御する制御装置とを有する多関節型ロボット装置の制御方法において、制御装置によりロボット本体が特異点近傍にあるか否かを判断する工程と、ロボット本体が特異点近傍以外の位置をとる場合、制御装置によりｎ個の関節軸用モータのうち特定のｎ−１個の関節軸用モータのみを駆動させる工程と、ロボット本体が特異点近傍の位置をとる場合、ｎ個の関節軸用モータ全てを駆動させてロボット本体の異常動作を回避する工程とを備えたことを特徴とする多関節型ロボット装置の制御方法である。
【発明の効果】
【００１２】
本発明によれば、制御装置は、ロボット本体が特異点近傍以外の位置をとる場合、ｎ個の関節軸用モータのうち特定のｎ−１個の関節軸用モータのみを駆動させ、ロボット本体が特異点近傍の位置をとる場合、ｎ個の関節軸用モータ全てを駆動させてロボット本体の異常動作を回避する。したがって、ロボットの特異点近傍における異常動作を防止することができるとともに、制御装置の演算負荷を低減することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の一実施の形態について、図１乃至図５を参照して説明する。
ここで、図１は、本実施の形態による多関節型ロボット装置を示す全体斜視図であり、図２は、本実施の形態による多関節型ロボット装置の制御装置と関節軸用モータとを示す図である。図３は、２自由度のロボットのアームが特異点近傍を通過する状態を示す図であり、図４は、直線補間された軌道を示す図であり、図５は、本実施の形態による多関節型ロボット装置の制御方法を示すフロー図である。
【００１４】
まず、図１および図２により、本実施の形態による多関節型ロボット装置の全体構成について説明する。ここでは、多関節型ロボット装置として、７個の関節軸（冗長関節軸を含む）を有する７軸多関節ロボット（７自由度）を例に挙げて説明する。
【００１５】
図１に示すように、多関節型ロボット装置１００は、ロボット本体１０と、ロボット本体１０に接続されるとともに、ロボット本体１０を制御する制御装置３０とを備えている。
【００１６】
このうちロボット本体１０は、床面に固定された基台１１と、基端側（基台１１）から先端側（先端アーム１８）に向かって順次設けられ、互いに異なる７個の関節軸Ａ1〜Ａ7を介してそれぞれ互いに連結された７個のアーム体（第１アーム体１２、第２アーム体１３、第３アーム体１４、第４アーム体１５、第５アーム体１６、第６アーム体１７、および先端アーム１８）とを有している。
【００１７】
このうち第１アーム体１２は、鉛直方向に延びる第１関節軸Ａ1を中心に基台１１に対して回動可能となっている。また第１アーム体１２と第２アーム体１３との間に、第１関節軸Ａ1に垂直な第２関節軸Ａ2が介在され、第２アーム体１３は、第２関節軸Ａ2を中心に回動可能となっている。また第２アーム体１３と第３アーム体１４との間に、第２関節軸Ａ2に垂直な第３関節軸Ａ3が介在され、第３アーム体１４は、第３関節軸Ａ3を中心に回動可能となっている。
【００１８】
また第３アーム体１４と第４アーム体１５との間に、第３関節軸Ａ3に垂直な第４関節軸Ａ4が介在され、第４アーム体１５は、第４関節軸Ａ4を中心に回動可能となっている。さらに第４アーム体１５と第５アーム体１６との間に、第４関節軸Ａ4に垂直な第５関節軸Ａ5が介在され、第５アーム体１６は、第５関節軸Ａ5を中心に回動可能となっている。
【００１９】
さらに第５アーム体１６と第６アーム体１７との間に、第５関節軸Ａ5に垂直な第６関節軸Ａ6が介在され、第６アーム体１７は、第６関節軸Ａ6を中心に回動可能となっている。さらにまた、先端アーム１８は、第６関節軸Ａ6に垂直な第７関節軸Ａ7を中心として第６アーム体１７に対して回動可能となっている。
【００２０】
図２に示すように、各関節軸Ａ1〜Ａ7には、第１アーム体１２〜第６アーム体１７、および先端アーム１８を各関節軸Ａ1〜Ａ7を中心に回動させるための関節軸用モータ２１〜２７が各々設けられている。
【００２１】
すなわち、第１アーム体１２を第１関節軸Ａ1周りに回動させる第１関節軸モータ２１と、第２アーム体１３を第２関節軸Ａ2周りに回動させる第２関節軸モータ２２と、第３アーム体１４を第３関節軸Ａ3周りに回動させる第３関節軸モータ２３と、第４アーム体１５を第４関節軸Ａ4周りに回動させる第４関節軸モータ２４と、第５アーム体１６を第５関節軸Ａ5周りに回動させる第５関節軸モータ２５と、第６アーム体１７を第６関節軸Ａ6周りに回動させる第６関節軸モータ２６と、先端アーム１８を第７関節軸Ａ7周りに回動させる第７関節軸モータ２７とが設けられている。
【００２２】
本実施の形態において、ロボット本体１０を補間動作（例えば直線補間動作、円弧補間動作等）させる際、７つの関節軸Ａ1〜Ａ7のうち、第３関節軸Ａ3を冗長関節軸として設定する。すなわち本実施の形態において、冗長関節軸である第３関節軸Ａ3は、ロボット本体１０が特異点近傍にきたときにのみ使用する回動軸となっており、それ以外の場合は拘束状態としている。他方、第３関節軸Ａ3を除く他の６つの関節軸Ａ1〜Ａ2、Ａ4〜Ａ7は、通常の回動軸であり、ロボット本体１０が特異点近傍にあるか否かに関わらず使用する。
【００２３】
一方、図２に示すように、制御装置３０は、サーボ制御部３１（モータアンプ）に接続され、このサーボ制御部３１は、関節軸用モータ２１〜２７に接続されている。すなわち制御装置３０は、サーボ制御部３１および各関節軸用モータ２１〜２７を介して各関節軸Ａ1〜Ａ7の動作を制御可能となっている。
【００２４】
また制御装置３０は、ロボット本体１０の動作データが入力される入力部３２と、入力部３２に入力された動作データに基づいて、ロボット本体１０の先端アーム１８が通過する軌道を生成する軌道生成部３３とを有している。軌道分配部３４は、軌道生成部３３によって生成された軌道に基づいて演算を行い、各関節軸用モータ２１〜２７毎の動作として分配するものである。
【００２５】
他方、ヤコビ行列式計算部３５は、関節軸Ａ1〜Ａ7のうち、冗長関節軸（本実施の形態では第３関節軸Ａ3）を除く６つの関節軸Ａ1〜Ａ2、Ａ4〜Ａ7の角度位置（ロボット座標系）を、ロボット本体１０の先端アーム１８の位置（ワールド座標系、ベース座標系等）に変換する際に用いられるヤコビ行列Ｊの行列式ｄｅｔ（Ｊ）を計算するものである。
【００２６】
なお、制御装置３０の軌道生成部３３、軌道分配部３４、およびヤコビ行列式計算部３５は、ＣＰＵおよび／またはメモリから構成されている。
【００２７】
次に、図３により、一般的なロボットが直線補間動作を行う場合において、特異点近傍を通過する際の作用について説明する。図３において、便宜上、２本のアームおよび２つの関節軸を有するロボット（２自由度）を例にとって説明する。
【００２８】
図３において、２自由度を有するロボット４０は、第１関節軸Ｂ1を中心に回動自在な基端側アーム４１と、第２関節軸Ｂ2を介して基端側アーム４１に回動自在に連結された先端側アーム４２とを有している。なお、基端側アーム４１の長さは先端側アーム４２の長さより長くなっている。
【００２９】
図３において、ロボット４０の先端部４３が、点Ａの位置からスタートして、点Ｂ、点Ｃを順次介して、点Ｄの位置まで直線補間された軌道上を等速で移動することを想定する。この場合、基端側アーム４１および先端側アーム４２は、点Ａ−点Ｃ間については問題なく移動することができる。しかしながら、点Ｃ、点Ｄの近傍に特異点が存在しているため、点Ｃ−点Ｄ間を移動する際、基端側アーム４１は第１関節軸Ｂ1を中心に図３の反時計方向に急激に速く回転する必要が生じる。
【００３０】
図３において、ロボット４０の特異点は、第１関節軸Ｂ1を中心とし、基端側アーム４１の長さから先端側アーム４２の長さを引いた距離を半径とする円上に生じる。仮に先端側アーム４２の長さが基端側アーム４１の長さよりある程度長ければ、特異点は点Ｂ、点Ａの近傍に生じ、その代わりに点Ｃ、点Ｄの近傍に特異点が生じない。
【００３１】
すなわち先端側アーム４２にもう一つの自由度（この場合は長さを変えるという自由度、関節で角度を変えても良い）を与えれば、特異点をスムーズに通過させることが可能となる。
【００３２】
図３は２自由度の特別な場合を示しているが、６自由度のロボットについても同様に、追加の１自由度を与えれば（計７自由度）、特異点近傍を滑らかに通過させることが可能である。
【００３３】
次に、図１および図２に示す多関節型ロボット装置１００のロボット本体１０（７自由度）が補間動作を行う際の作用（制御方法）について、図４および図５を用いて説明する。
【００３４】
まず、制御装置３０の入力部３２に、ロボット本体１０を動作させるための動作データ（プログラム）が入力される（図５のステップＳ１）。
【００３５】
次に軌道生成部３３は、入力部３２に入力された動作データに基づいて、ロボット本体１０の先端アーム１８が通過する軌道を生成する（図５のステップＳ２）。
【００３６】
例えば図４に示すように、入力部３２に入力された動作データが、先端アーム１８が２点Ｘ0、Ｘnを直線的に通過するように設定されたデータである場合を想定する。この場合、軌道生成部３３は、以下のように補間された軌道を生成する。
【００３７】
すなわち図４に示すように、軌道生成部３３は、まず２点Ｘ0、Ｘnを結ぶ線分を求め、この線分Ｘ0−Ｘn上に位置する多数の点Ｘ1、Ｘ2、Ｘ3、Ｘ4、・・・を設定する。次いで、点Ｘ0、Ｘ1、Ｘ2、Ｘ3、Ｘ4、・・・を順次通過する微小軌跡Δｌ0、Δｌ1、Δｌ2、Δｌ3、・・・をそれぞれ求める。すなわち、これらの微小軌跡Δｌ0、Δｌ1、Δｌ2、Δｌ3、・・・は、実際に先端アーム１８が通過する軌跡に相当する。なお各微小軌跡Δｌ0、Δｌ1、Δｌ2、Δｌ3、・・・は、厳密には２点Ｘ0、Ｘnを結ぶ線分（の一部）に一致せず、各微小軌跡Δｌ0、Δｌ1、Δｌ2、Δｌ3、・・・の始点と終点（点Ｘ1、Ｘ2、Ｘ3、Ｘ4・・・）のみが線分Ｘ0−Ｘn上に位置している。
【００３８】
次にヤコビ行列式計算部３５は、関節軸Ａ1〜Ａ7のうち、冗長関節軸（本実施の形態では第３関節軸Ａ3）を除く６つの関節軸Ａ1〜Ａ2、Ａ4〜Ａ7の角度位置（ロボット座標系θ1〜θ2、θ4〜θ7）を、ロボット本体１０の先端アーム１８の位置（ワールド座標系Ｘ、Ｙ、Ｚ）に変換する際に用いられるヤコビ行列Ｊvの行列式ｄｅｔ（Ｊv）を計算する（図５のステップＳ３）。なお、上述した例（図４）では、ヤコビ行列式計算部３５は、各微小軌跡Δｌ0、Δｌ1、Δｌ2、Δｌ3、・・・毎に行列式ｄｅｔ（Ｊv）を算出する。
【００３９】
この際、ヤコビ行列式計算部３５は、ヤコビ行列Ｊvの行列式ｄｅｔ（Ｊv）の絶対値を所定の基準値Ｊaと比較する（図５のステップＳ４）。
【００４０】
ここで、制御装置３０は、ヤコビ行列Ｊvの行列式ｄｅｔ（Ｊv）の絶対値が所定の基準値Ｊaを下回った場合（｜ｄｅｔ（Ｊv）｜＜Ｊa）、ロボット本体１０が特異点近傍にあると判断する。この場合、制御装置３０は、７個の関節軸用モータ（関節軸用モータ２１〜２７）全てを駆動させることにより特異点を回避する。すなわち後述するように、行列式ｄｅｔ（Ｊv）が０から離れるようにその絶対値を増加させる。
【００４１】
他方、はじめからヤコビ行列Ｊの行列式ｄｅｔ（Ｊv）の絶対値が所定の基準値Ｊa以上である場合（｜ｄｅｔ（Ｊv）｜≧Ｊa）には、制御装置３０は、ロボット本体１０が特異点近傍にないと判断する。この場合、制御装置３０は、７個の関節軸用モータのうち、冗長関節軸（第３関節軸Ａ3）に対応する第３関節軸モータ２３を拘束状態にするとともに、他の６個の関節軸用モータ２１〜２２、２４〜２７を駆動させる。
【００４２】
続いて、軌道分配部３４は、軌道生成部３３が生成した補間軌道に基づいて演算を行い、各関節軸用モータ２１〜２７毎の動作角度を算出する。すなわちヤコビ行列Ｊvを用いて、ロボット本体１０の先端アーム１８の位置（ワールド座標系Ｘ、Ｙ、Ｚ）を、各関節軸Ａ1〜Ａ7の角度位置（ロボット座標系θ1〜θ7）へと逆変換する。なお上述した例（図４）の場合、各微小軌跡Δｌ0、Δｌ1、Δｌ2、Δｌ3、・・・毎に各関節軸用モータ２１〜２７毎の動作角度を算出する。
【００４３】
この場合、ヤコビ行列Ｊは７行×７列の行列からなっている。そして制御装置３０の軌道分配部３４は、ロボット本体１０が特異点近傍以外の位置をとる場合には、ヤコビ行列Ｊの特定の成分を定数として固定した状態で演算を行い、ロボット本体１０を制御する。
【００４４】
ここで、ロボット本体１０が特異点近傍の位置をとると制御装置３０が判断した場合、軌道分配部３４は、７個の関節軸用モータ２１〜２７全ての動作角度を算出する（図５のステップＳ５）。この場合、軌道分配部３４は、ヤコビ行列Ｊvの行列式ｄｅｔ（Ｊv）が０から離れていくように、各関節軸用モータ２１〜２７の動作角度を調節（行列正則化）する。
【００４５】
その後、制御装置３０は、行列式ｄｅｔ（Ｊv）の絶対値が所定の基準値Ｊa以上となった場合（｜ｄｅｔ（Ｊv）｜≧Ｊa）（図５のステップＳ４）、ロボット本体１０が特異点近傍から離れたと判断し、ロボット本体１０の制御を通常状態に戻す。すなわち冗長関節軸（第３関節軸Ａ3）に対応する第３関節軸モータ２３を拘束状態にするとともに、他の６個の関節軸用モータ２１〜２２、２４〜２７を駆動させる（図５のステップＳ６）。
【００４６】
他方、ロボット本体１０の位置が特異点近傍にないと制御装置３０が判断した場合、軌道分配部３４は、第３関節軸モータ２３を除く他の関節軸用モータ２１〜２２、２４〜２７の動作角度をそれぞれ算出する（図５のステップＳ６）。
【００４７】
このようにして、ロボット本体１０が特異点近傍の位置をとる場合、軌道分配部３４によって算出された動作角度に基づき、７個の各関節軸用モータ２１〜２７を駆動させる。他方、ロボット本体１０が特異点近傍の位置をとらない場合、軌道分配部３４によって算出された動作角度に基づき、６個の関節軸用モータ２１〜２２、２４〜２７を駆動させる。これによりロボット本体１０の第１アーム体１２〜第６アーム体１７、および先端アーム１８の異常動作を回避することができ、プログラムされた補間軌道に従って滑らかに正確に動作する。
【００４８】
このように本実施の形態によれば、制御装置３０は、ロボット本体１０の特異点近傍以外の位置では、７個の関節軸用モータ２１〜２７のうち第３関節軸モータ２３を除く６個の関節軸用モータ２１〜２２、２４〜２７のみを駆動させる。他方、ロボット本体１０の特異点近傍の位置では、７個の関節軸用モータ２１〜２７全てを駆動させてこの特異点を回避する。したがって、ロボット本体１０の特異点近傍における異常動作を防止することができる。
【００４９】
また本実施の形態によれば、ロボット本体１０の特異点近傍の位置でのみ、７個の関節軸用モータ２１〜２７全てを駆動させ、それ以外の場合は６個の関節軸用モータ２１〜２２、２４〜２７のみを駆動させる。したがって、常に７個の関節軸用モータ２１〜２７全てを駆動させることがないため、一時的にしか制御装置３０に対して演算負荷をかけることがない。
【００５０】
なお本実施の形態において、第３関節軸Ａ3を冗長関節軸として設定しているが、これに代えて、他の関節軸Ａ1〜Ａ2、Ａ4〜Ａ7のいずれかを冗長関節軸として設定しても良い。
【００５１】
また本実施の形態において、ロボット本体１０の動作を開始する前に、制御装置３０がのヤコビ行列式計算部３５が予め行列式ｄｅｔ（Ｊv）を計算しておき、軌道分配部３４が予め各関節軸用モータ２１〜２７毎の動作角度の計算（ヤコビ行列Ｊvの正則化）を行っておいても良い。
【００５２】
あるいは、ヤコビ行列式計算部３５による行列式ｄｅｔ（Ｊv）の計算や、軌道分配部３４による各関節軸用モータ２１〜２７毎の動作角度の計算（ヤコビ行列Ｊvの正則化）は、ロボット本体１０が動作を開始した後、軌道分配部３４による６個の関節軸用モータ２１〜２２、２４〜２７の逆行列計算と（サイクルタイム時間差で）並行して行っても良い。この場合、図４の例では、ロボット本体１０が微小軌跡Δｌ0を移動している間に制御装置３０が微小軌跡Δｌ1に関する計算を行い、ロボット本体１０が微小軌跡Δｌ1を移動している間に制御装置３０が微小軌跡Δｌ2に関する計算を行うということを順次繰り返す。すなわち、制御装置３０は、ロボット本体１０が次に行う動作内容をサイクルタイム時間差で決定しながら、各関節軸用モータ２１〜２７を制御するようになっていても良い。
【図面の簡単な説明】
【００５３】
【図１】本発明の一実施の形態による多関節型ロボット装置を示す全体斜視図。
【図２】本発明の一実施の形態による多関節型ロボット装置の制御装置と関節軸用モータを示す図。
【図３】２自由度のロボットのアームが特異点近傍を通過する状態を示す図。
【図４】直線補間された軌道を示す図。
【図５】本発明の一実施の形態による多関節型ロボット装置の制御方法を示すフロー図。
【符号の説明】
【００５４】
１０    ロボット本体
１１    基台
１２    第１アーム体
１３    第２アーム体
１４    第３アーム体
１５    第４アーム体
１６    第５アーム体
１７    第６アーム体
１８    先端アーム
２１〜２７  関節軸用モータ
３０    制御装置
３１    サーボ制御部
３２    入力部
３３    軌道生成部
３４    軌道分配部
３５    ヤコビ行列式計算部
１００  多関節型ロボット装置
Ａ1〜Ａ7  関節軸
【図１】
2010110878.tif 000003
【図２】
2010110878.tif 000004
【図３】
2010110878.tif 000005
【図４】
2010110878.tif 000006
【図５】
2010110878.tif 000007