冗長マニピュレータの冗長自由度の決定方法
【課題】冗長マニピュレータ1の手先8をCP制御にて変化させるに際し、アームアングルψの連続性を担保する技術を提供する。
【解決手段】制御装置100は、各ステップにおける手先8の位置及び姿勢状態を取得する状態取得手段20と、各ステップにおける手先8の位置及び姿勢状態に基づいて、各ステップにおけるアームアングルψの実現可能な領域を算出する領域算出手段21と、隣り合うステップ間で領域同士が少なくとも一部重複するように、ステップs0からステップsnに至る間の領域の組み合わせを作成する組み合わせ作成手段22と、領域の組み合わせに基づいて、CP制御の各ステップにおけるアームアングルψを決定する冗長自由度決定手段23と、を備える。
【解決手段】制御装置100は、各ステップにおける手先8の位置及び姿勢状態を取得する状態取得手段20と、各ステップにおける手先8の位置及び姿勢状態に基づいて、各ステップにおけるアームアングルψの実現可能な領域を算出する領域算出手段21と、隣り合うステップ間で領域同士が少なくとも一部重複するように、ステップs0からステップsnに至る間の領域の組み合わせを作成する組み合わせ作成手段22と、領域の組み合わせに基づいて、CP制御の各ステップにおけるアームアングルψを決定する冗長自由度決定手段23と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、CP(Continuous Point)制御される冗長マニピュレータの各ステップにおける冗長自由度の決定方法、決定装置、及び、決定プログラムに関する。
【背景技術】
【0002】
作業に必要な自由度より多くの自由度を有する冗長マニピュレータは、近年、ロボット分野において広く用いられるようになってきている。これは、冗長マニピュレータが有する余分な自由度を有効活用することで、例えば、ロボットの可操作性が向上したり、関節トルクの最適化が図れたり、障害物を回避できたり、所謂特異点を回避できたり、関節限界を回避できたりするからである。
【0003】
非特許文献1は、このような冗長マニピュレータの一例として、7自由度冗長マニピュレータについて言及している。一般に、空間内におけるマニピュレータの手先の位置及び姿勢は、6つのパラメータで表現することができる。従って、7自由度マニピュレータには余分な自由度が1つ存在していることになる。
【0004】
先ずは、この7自由度冗長マニピュレータについて図22を参照しつつ説明する。図22に示すように、7自由度冗長マニピュレータの関節は、すべて回転関節で構成されている。肩部の三関節(第1〜第3関節、θ1〜θ3)の関節軸は一点で交差している。同様に、手首部の三関節(第5〜第7関節、θ5〜θ7)の関節軸も一点で交差している。また、隣り合う一対の関節の軸同士は、互いに直交する。このように肩部の三関節と手首部の三関節は、単純な構造をしているため、夫々仮想的な球面機構を構成しているとみなすことができる。そこで、この種のマニピュレータは、一般に、3R−1R−3R型或いはS−R−S型のマニピュレータとして分類されている。
【0005】
更に、上記の非特許文献1は、冗長自由度を表現するためのパラメータとして、非特許文献2に開示のアームアングルψを採用している。このアームアングルψは、図23に示すようにアーム平面と参照面との成す角度として定義されるものである。アーム平面は、肩部三関節の交点Ps、肘関節位置Pe及び手首部三関節の交点Pwの三点を通る平面である。もし関節の可動範囲に制限がなければ、手先の位置及び姿勢を固定したまま、アームアングルψのみを自由自在に変えることができよう。しかしながら、実在のマニピュレータでは、機構的な制約のため、関節の可動範囲には制限がある。この結果、アームアングルψの実現可能な領域は自ずと限定されることになる。これに対し、非特許文献1は、アームアングルψの実現可能な領域を代数学的に解く手法を提案している。この手法の詳細は、非特許文献1を参照されたい。要するに、非特許文献1によれば、アームアングルψの実現可能な領域は、1つ又は複数の閉じた領域から構成され得るとしている。
【先行技術文献】
【特許文献】
【0006】
【非特許文献1】清水昌幸、他4名、「関節の可動範囲を考慮に入れた7自由度冗長マニヒ゜ュレータの解析的逆運動学解法」、日本ロホ゛ット学会誌、日本ロホ゛ット学会、2007年、第25巻、第4号、p.122-133
【非特許文献2】K.Kreutz-Delgado, M.Long and H. Seraji: "Kinematic Analysis of 7-DOF Manipulators," Int.J.Robotics Research, 1992, vol.11, no.5, pp.469-481.
【発明の概要】
【発明が解決しようとする課題】
【0007】
前述の通り、アームアングルψの実現可能な領域は、1つ又は複数の閉じた領域から構成される。しかし、このようなアームアングルψの実現可能な領域と、CP(Continuous Point)制御と、の間には未解決な問題があった。ここで、CP制御とは、図24に示すように、(1)第1の位置及び姿勢状態("s0"を参照)から第2の位置及び姿勢状態("s6"を参照)に至るまでの、マニピュレータの手先の位置及び姿勢状態を例えば所定の時間間隔毎に細かく設定し、(2)各手先位置毎に、逆運動学を用いて各関節の角度を求め、(3)(2)で求めた各関節の角度をロボットによって再生させる、制御のことである。しかし、冗長マニピュレータは冗長な構成であるがため、上記(2)において各関節の角度が一意に定まらず、冗長分の自由度を何らかの基準に基づいて予め決定する必要がある。以下、図24及び図25を参照しつつ、この問題を詳細に説明する。なお、説明の便宜上、冗長自由度を表すパラメータとしてアームアングルψを継続して使用するが、冗長自由度を表すパラメータとしてアームアングルψを使用しなければならない特段の事情はなく、他のパラメータを代わりに使用してもよいことに留意されたい。
【0008】
図25には、図24で示した各ステップにおけるアームアングルψの実現可能な領域を示している。図25の横軸に並べたs0〜s6は、図24に示すステップs0〜s6に夫々対応している。図25の縦軸は、アームアングルψである。図25において、上付添字と下付添字を有する「ψ」は、アームアングルψの実現可能な領域(範囲)を意味している。「ψ」の上付添字は、その領域が属するステップを識別するための番号を意味する。一方、「ψ」の下付添字は、その領域が属するステップにおける各領域の識別番号である。確認のため繰り返すと、「ψ」はアームアングルを意味するが、上付添字と下付添字を伴った「ψ」はアームアングルψの実現可能な領域を意味している。文章中では、このアームアングルψの実現可能な領域を、便宜上、ψ(上付添字,下付添字)のようにして表記する。
【0009】
さて、従来では、冗長分の自由度を予め決定するための基準に関する知見は一切なかった。従って、ステップ0におけるアームアングルψを予め決定するための基準に関する知見も同様になかった。それでは、本願発明者らはどうやってステップ0におけるアームアングルψを決定していたか。本願発明者らに対するインタビューによれば、以下の通りである。即ち、本願発明者らは、先ず、ステップ0におけるψ(0,1)とψ(0,2)の大小を比較し、図25の場合ではψ(0,1)>ψ(0,2)であることから、この単純な大小関係に基づいてψ(0,1)を選択していたのである。そして、本願発明者らは、このψ(0,1)の中間値をステップ0におけるアームアングルψとして採用していた。また、次のステップ1におけるアームアングルψについて言えば、本願発明者らは、アームアングルψの一応の連続性を考慮してψ(0,1)とψ(1,1)との重複関係を重視することで、ψ(1,1)とψ(1,2)のうちψ(1,1)を選択していた。そして、本願発明者らは、このψ(1,1)の中間値をステップ1におけるアームアングルψとして採用していた。
【0010】
このような場当たり的な基準は、それでも一見すると合理的であるかのようにも見える。しかしながら、この基準によると、ステップ4からステップ5へと移行するときに大きな問題が生じる。というのは、確かに、ψ(0,1)にとっては次のステップ1において自己と重複するアームアングルψの実現可能な領域が存在していた。同様に、ψ(1,1)にとっては次のステップ2において自己と重複するアームアングルψの実現可能な領域が存在していた。しかしながら、ψ(4,1)にとっては次のステップ5において自己と重複するアームアングルψの実現可能な領域が存在していない。従って、仕方なく、アームアングルψの連続性を犠牲にして、唯一存在するψ(5,1)の中から、ステップ5におけるアームアングルψを選択し採用せざるを得なかった。そして、このようにアームアングルψの値が看過できない程に大きく変化する結果、各関節の角速度が有限であることとの兼ね合いもあり、手先が意図した軌道から大きく外れたり、手先が他の物体と干渉したり、といった種々の問題が発生していた。
【0011】
本願発明の目的は、冗長マニピュレータの手先の位置及び姿勢状態を、CP制御にて、第1の位置及び姿勢状態から第2の位置及び姿勢状態へと変化させるに際し、冗長マニピュレータの冗長自由度の連続性を担保する技術を提供することにある。ここで、冗長自由度の連続性とは、「冗長自由度の値の変化がステップ間で緩やかである」ことを意味する。
【課題を解決するための手段】
【0012】
本願発明の第1の観点によれば、冗長マニピュレータの手先の位置及び姿勢状態を、CP(Continuous Point)制御にて、第1の位置及び姿勢状態から第2の位置及び姿勢状態へと変化させるに際し、CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する方法は、以下の通りである。各ステップにおける前記手先の位置及び姿勢状態を取得する。各ステップにおける前記手先の位置及び姿勢状態に基づいて、各ステップにおける前記冗長マニピュレータの冗長自由度の実現可能な領域を算出する。隣り合うステップ間で前記領域同士が少なくとも一部重複するように、前記第1の位置及び姿勢状態から前記第2の位置及び姿勢状態に至る間の前記領域の組み合わせを作成する。前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する。以上の方法によれば、前記冗長マニピュレータの手先の位置及び姿勢状態を、前記CP制御にて、前記第1の位置及び姿勢状態から前記第2の位置及び姿勢状態へと変化させるに際し、前記冗長マニピュレータの冗長自由度の連続性を担保することができる。
【0013】
好ましくは、前記領域の組み合わせが複数作成可能であったときは、最終のステップにおける前記領域が最も大きな組み合わせを採用する。以上の方法によれば、最終のステップにおいて前記領域が最大化される。従って、前記第2の位置及び姿勢状態において、前記手先の位置及び姿勢状態をそのままにしつつ、前記冗長自由度を大きく変化させることが可能となる。このことは、例えば前記第2の位置及び姿勢状態から前記手先の位置及び姿勢状態を更に変化させようとする場合、その変化の最初のステップにおける前記冗長自由度の選択の柔軟性に優れることから、少なくとも以下の3つのメリットが生じる。第1に、前記領域の組み合わせの作成が可能となる確率が高くなる。第2に、前記領域の組み合わせの作成可能な組数が複数となる確率が高くなる。第3に、前記領域の組み合わせの作成可能な組数がより多くなる可能性がある。
【0014】
好ましくは、前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定するに際し、ステップ間における前記冗長自由度の差分の二乗和が最も小さくなるように、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する。以上の方法によれば、前記冗長マニピュレータの動きが滑らかになる。
【0015】
好ましくは、前記冗長マニピュレータは、7自由度である。
【0016】
好ましくは、前記冗長マニピュレータは、S−R−S型である。
【0017】
本願発明の第2の観点によれば、冗長マニピュレータの手先の位置及び姿勢状態を、CP(Continuous Point)制御にて、第1の位置及び姿勢状態から第2の位置及び姿勢状態へと変化させるに際し、CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する装置は、以下の通りである。決定装置は、各ステップにおける前記手先の位置及び姿勢状態を取得する状態取得手段と、各ステップにおける前記手先の位置及び姿勢状態に基づいて、各ステップにおける前記冗長マニピュレータの冗長自由度の実現可能な領域を算出する領域算出手段と、隣り合うステップ間で前記領域同士が少なくとも一部重複するように、前記第1の位置及び姿勢状態から前記第2の位置及び姿勢状態に至る間の前記領域の組み合わせを作成する組み合わせ作成手段と、前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する冗長自由度決定手段と、を備える。以上の構成によれば、前記冗長マニピュレータの手先の位置及び姿勢状態を、前記CP制御にて、前記第1の位置及び姿勢状態から前記第2の位置及び姿勢状態へと変化させるに際し、前記冗長マニピュレータの冗長自由度の連続性を担保することができる。
【0018】
好ましくは、前記組み合わせ作成手段は、前記領域の組み合わせが複数作成可能であったときは、最終のステップにおける前記領域が最も大きな組み合わせを採用する。以上の構成によれば、最終のステップにおいて前記領域が最大化される。従って、前記第2の位置及び姿勢状態において、前記手先の位置及び姿勢状態をそのままにしつつ、前記冗長自由度を大きく変化させることが可能となる。このことは、例えば前記第2の位置及び姿勢状態から前記手先の位置及び姿勢状態を更に変化させようとする場合、その変化の最初のステップにおける前記冗長自由度の選択の柔軟性に優れることから、少なくとも以下の3つのメリットが生じる。第1に、前記領域の組み合わせの作成が可能となる確率が高くなる。第2に、前記領域の組み合わせの作成可能な組数が複数となる確率が高くなる。第3に、前記領域の組み合わせの作成可能な組数がより多くなる可能性がある。
【0019】
好ましくは、前記冗長自由度決定手段は、前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定するに際し、ステップ間における前記冗長自由度の差分の二乗和が最も小さくなるように、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する。以上の構成によれば、前記冗長マニピュレータの動きが滑らかになる。
【0020】
好ましくは、前記冗長マニピュレータは、7自由度である。
【0021】
好ましくは、前記冗長マニピュレータは、S−R−S型である。
【0022】
本願発明の第3の観点によれば、冗長マニピュレータの手先の位置及び姿勢状態を、CP(Continuous Point)制御にて、第1の位置及び姿勢状態から第2の位置及び姿勢状態へと変化させるに際し、CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定するためのプログラムは、コンピュータを、各ステップにおける前記手先の位置及び姿勢状態を取得する状態取得手段と、各ステップにおける前記手先の位置及び姿勢状態に基づいて、各ステップにおける前記冗長マニピュレータの冗長自由度の実現可能な領域を算出する領域算出手段と、隣り合うステップ間で前記領域同士が少なくとも一部重複するように、前記第1の位置及び姿勢状態から前記第2の位置及び姿勢状態に至る間の前記領域の組み合わせを作成する組み合わせ作成手段と、前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する冗長自由度決定手段と、として機能させる。以上のプログラムによれば、前記冗長マニピュレータの手先の位置及び姿勢状態を、前記CP制御にて、前記第1の位置及び姿勢状態から前記第2の位置及び姿勢状態へと変化させるに際し、前記冗長マニピュレータの冗長自由度の連続性を担保することができる。
【0023】
好ましくは、前記組み合わせ作成手段は、前記領域の組み合わせが複数作成可能であったときは、最終のステップにおける前記領域が最も大きな組み合わせを採用する。以上のプログラムによれば、最終のステップにおいて前記領域が最大化される。従って、前記第2の位置及び姿勢状態において、前記手先の位置及び姿勢状態をそのままにしつつ、前記冗長自由度を大きく変化させることが可能となる。このことは、例えば前記第2の位置及び姿勢状態から前記手先の位置及び姿勢状態を更に変化させようとする場合、その変化の最初のステップにおける前記冗長自由度の選択の柔軟性に優れることから、少なくとも以下の3つのメリットが生じる。第1に、前記領域の組み合わせの作成が可能となる確率が高くなる。第2に、前記領域の組み合わせの作成可能な組数が複数となる確率が高くなる。第3に、前記領域の組み合わせの作成可能な組数がより多くなる可能性がある。
【0024】
好ましくは、前記冗長自由度決定手段は、前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定するに際し、ステップ間における前記冗長自由度の差分の二乗和が最も小さくなるように、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する。以上のプログラムによれば、前記冗長マニピュレータの動きが滑らかになる。
【0025】
好ましくは、前記冗長マニピュレータは、7自由度である。
【0026】
好ましくは、前記冗長マニピュレータは、S−R−S型である。
【発明の効果】
【0027】
本願発明によれば、前記冗長マニピュレータの手先の位置及び姿勢状態を、前記CP制御にて、前記第1の位置及び姿勢状態から前記第2の位置及び姿勢状態へと変化させるに際し、前記冗長マニピュレータの冗長自由度の連続性を担保することができる。
【図面の簡単な説明】
【0028】
【図1】図1は、冗長マニピュレータの全体模式図である(第1実施形態)。
【図2】図2は、冗長マニピュレータの機能ブロック図である(第1実施形態)。
【図3】図3は、冗長マニピュレータの制御フローである(第1実施形態)。
【図4】図4は、冗長マニピュレータの制御フローである(第1実施形態)。
【図5】図5は、冗長自由度の実現可能な領域ψの一覧である(第1実施形態)。
【図6】図6は、冗長自由度の実現可能な領域ψの連続性を示すグラフである(第1実施形態)。
【図7】図7は、冗長自由度の実現可能な領域ψの組み合わせを示す図である(第1実施形態)。
【図8】図8は、冗長マニピュレータの全体模式図である(第2実施形態)。
【図9】図9は、冗長自由度の実現可能な領域ψを示す図である(第2実施形態)。
【図10】図10は、冗長自由度の実現可能な領域ψの一覧である(第2実施形態)。
【図11】図11は、冗長自由度の実現可能な領域ψの連続性を示すグラフである(第2実施形態)。
【図12】図12は、冗長自由度の実現可能な領域ψの組み合わせを示す図である(第2実施形態)。
【図13】図13は、各ステップにおいて決定された冗長自由度を示す図である(第2実施形態)。
【図14】図14は、各ステップにおいて決定された冗長自由度を示す図である(第3実施形態)。
【図15】図15は、冗長自由度の実現可能な領域ψを示す図である(第4実施形態)。
【図16】図16は、冗長自由度の実現可能な領域ψの一覧である(第4実施形態)。
【図17】図17は、冗長マニピュレータの制御フローである(第4実施形態)。
【図18】図18は、冗長自由度の実現可能な領域ψの連続性を示すグラフである(第4実施形態)。
【図19】図19は、冗長自由度の実現可能な領域ψの組み合わせを示す図である(第4実施形態)。
【図20】図20は、図19に示す複数の組み合わせから選択された組み合わせを示す図である(第4実施形態)。
【図21】図21は、各ステップにおいて決定された冗長自由度を示す図である(第4実施形態)。
【図22】図22は、冗長マニピュレータの全体模式図である(従来技術)。
【図23】図23は、冗長自由度の一例としてのアームアングルの定義説明図である(従来技術)。
【図24】図24は、冗長マニピュレータの全体模式図である(従来技術)。
【図25】図25は、各ステップにおいて決定された冗長自由度を示す図である(従来技術)。
【発明を実施するための形態】
【0029】
(第1実施形態)
以下、図1〜7を参照しつつ、本願発明の第1実施形態を説明する。以下、明細書中で「ステップ」とあるのは、CP制御の制御フローの多種多様な処理のステップを示す場合と、CP制御によるマニピュレータの動きのステップを示す場合があるので、両者を混同しないように留意されたい。
【0030】
図1に示すように、本実施形態において冗長マニピュレータ1は、体幹部2と、肩関節部3と、上腕部4と、肘関節部5と、前腕部6と、手首関節部7と、手先8と、制御装置100(決定装置)と、を主たる構成として備えている。体幹部2は、例えば地面などに固定されている。地面と肩関節部3は体幹部2によって連結されている。肩関節部3と肘関節部5は上腕部4によって連結されている。肘関節部5と手首関節部7は前腕部6によって連結されている。手先8は手首関節部7に支持されている。
【0031】
肩関節部3は、第1〜第3の関節から構成される球面機構となっている。肘関節部5は、第4の関節から構成されている。手首関節部7は、第5〜第7の関節から構成される球面機構となっている。従って、冗長マニピュレータ1は、所謂S−R−S型マニピュレータに分類される。また、冗長マニピュレータ1は、余分な自由度を1つ有している。以降、冗長自由度を表現するためのパラメータとしては、非特許文献2に開示のアームアングルψを使用するものとする。繰り返すが、冗長自由度を表現するためのパラメータとしては、アームアングルψに限らず、例えば、任意の1自由度の関節角や別の表現のアームアングルでもよい。
【0032】
図2に示すように、冗長マニピュレータ1は、更に、第1関節モータ(肩部)30と、第2関節モータ(肩部)31と、第3関節モータ(肩部)32と、第4関節モータ(肘部)33と、第5関節モータ(手首部)34と、第6関節モータ(手首部)35と、第7関節モータ(手首部)36と、を備えている。第1関節モータ(肩部)30は、肩関節部3を構成する第1関節に搭載され、第1関節を駆動する。同様に、第2関節モータ(肩部)31は、肩関節部3を構成する第2関節に搭載され、第2関節を駆動する。第3関節モータ(肩部)32は、肩関節部3を構成する第3関節に搭載され、第3関節を駆動する。第4関節モータ(肘部)33は、肘関節部5を構成する第4関節に搭載され、第4関節を駆動する。第5関節モータ(手首部)34は、手首関節部7を構成する第5関節に搭載され、第5関節を駆動する。第6関節モータ(手首部)35は、手首関節部7を構成する第6関節に搭載され、第6関節を駆動する。第7関節モータ(手首部)36は、手首関節部7を構成する第7関節に搭載され、第7関節を駆動する。
【0033】
制御装置100は、冗長マニピュレータ1の手先8の位置及び姿勢状態を、CP制御にて、第1の位置及び姿勢状態(ステップs0、図1参照)から第2の位置及び姿勢状態(ステップsn、図1参照)へと変化させるに際し、CP制御の各ステップにおける冗長マニピュレータ1のアームアングルψの決定する。制御装置100は、CPU(Central Processing Unit)10と、RAM(Random Access Memory)11と、ROM(Read Only Memory)12と、を備える。ROM12には、制御プログラム(決定プログラム)が記憶されている。この制御プログラムはCPU10によって読み出され、CPU10上で実行される。これにより、制御プログラムは、CPU10などのハードウェアを、状態取得手段20、領域算出手段21、組み合わせ作成手段22、冗長自由度決定手段23、関節角算出手段24、CP制御手段25、として機能させる。
【0034】
状態取得手段20は、CP制御に必要となる、各ステップにおける手先8の位置及び姿勢状態に関する情報としての状態情報を取得する。状態取得手段20による各状態情報の取得の態様としては、有線又は無線を介した他の制御機器からの受信や、例えばキーボードなどの入力手段を介した操作人員からの入力、ROM12からの読み込みなどが考えられる。各状態情報は、手先8の空間に対する位置を表すX値、Y値、Z値と、手先8の空間に対する姿勢を表すθ1値、θ2値、θ3値と、を有し、これら6つのパラメータから構成される。状態取得手段20は、取得した各ステップ毎の状態情報をRAM11に記憶させる。
【0035】
領域算出手段21は、RAM11から各ステップ毎の状態情報を読み込み、各状態情報に基づいて、各ステップ毎に、冗長マニピュレータ1のアームアングルψの実現可能な領域に関する情報としての領域情報を算出する。領域情報は、すべてのステップにおいて1つのみ存在する場合と、すべてのステップにおいて複数存在する場合と、各ステップにおいて1つ又は複数存在する場合と、がある。領域算出手段21による各領域情報の算出の方法については、非特許文献1を参照されたい。領域算出手段21は、算出した各ステップ毎の領域情報をRAM11に記憶させる。
【0036】
組み合わせ作成手段22は、RAM11から各ステップ毎の領域情報を読み込み、隣り合うステップ間で領域同士が少なくとも一部重複するように、第1の位置及び姿勢状態から第2の位置及び姿勢状態に至る間の領域情報の組み合わせに関する情報としての組み合わせ情報を1つ、作成する。「隣り合うステップ間で領域同士が少なくとも一部重複する」とは、「隣り合うステップ間で領域同士が共通する冗長自由度を包含している」と言い換えることができる。なお、最初のステップ(ステップs0)における領域と、最後のステップ(ステップsn)における領域と、は必ずしも重複している必要はない。組み合わせ作成手段22は、作成した組み合わせ情報をRAM11に記憶させる。
【0037】
冗長自由度決定手段23は、RAM11から組み合わせ情報を読み込み、組み合わせ情報に基づいて、CP制御の各ステップにおける冗長マニピュレータ1のアームアングルψを決定する。冗長自由度決定手段23は、決定した各ステップ毎のアームアングルψをRAM11に記憶させる。
【0038】
関節角算出手段24は、RAM11から各ステップ毎のアームアングルψを読み込み、各ステップ毎に、そのステップにおけるアームアングルψと、そのステップにおける状態情報と、に基づいて逆運動学により、そのステップにおける各関節(第1〜第7関節)の関節角を算出する。関節角算出手段24は、算出した各ステップ毎の各関節の関節角をRAM11に記憶させる。
【0039】
CP制御手段25は、RAM11から各ステップ毎の各関節の関節角を読み込み、これらの関節角によって規定される冗長マニピュレータ1の動きを再生する。詳しくは、CP制御手段25は、各ステップ毎に各関節(第1〜第7関節)の関節角を達成すべく、第1関節モータ(肩部)30、第2関節モータ(肩部)31、第3関節モータ(肩部)32、第4関節モータ(肘部)33、第5関節モータ(手首部)34、第6関節モータ(手首部)35、第7関節モータ(手首部)36を制御する。
【0040】
次に、図3〜図7を参照しつつ、冗長マニピュレータ1の作動を説明する。
【0041】
先ず、有線又は無線を介して他の制御機器から制御装置100へCP制御開始信号が送信され、又は、例えばキーボードなどの入力手段を介して操作人員が制御装置100にCP制御を開始するよう命令する(S300)。
【0042】
すると、状態取得手段20は、CP制御に必要となる、各ステップ毎の状態情報を取得する(S302)。図5〜7において、各ステップ毎の状態情報は、同次変換行列であるTnで示されている。添字のnは、離散化されたCP制御の軌道のステップの総数を表している。状態取得手段20は、取得した各ステップ毎の状態情報TnをRAM11に記憶させる。
【0043】
次に、領域算出手段21は、RAM11から各ステップ毎の状態情報Tnを読み込み、各状態情報Tnに基づいて、各ステップ毎に、アームアングルψの実現可能な領域に関する情報としての領域情報を算出する(S304)。図5〜7において、各ステップ毎の領域情報は、ψ(i,j)で示している。ここで、「i」は上付添字を意味し、「j」は下付添字を意味している。「i」は、その領域が属するステップを識別するための番号を意味する。一方、「j」は、その領域が属するステップにおいて算出された1つ又は複数の閉じた領域を識別するための番号である。また、下付添字で「mn」とあるのは、そのステップにおいて算出された領域情報の個数に相当している。領域算出手段21は、算出した各ステップ毎の領域情報ψ(i,j)をRAM11に記憶させる。
【0044】
次に、制御装置100は、すべてのステップにおいて、上記の領域情報ψ(i,j)の個数が1以上であった場合は、処理をS308に進める。一方で、何れかのステップにおいて、上記の領域情報ψ(i,j)の個数が1以上でなかった場合は、解なしであるから、処理を終了する(S307)。
【0045】
すべてのステップにおいて、上記の領域情報ψ(i,j)の個数が1以上であった場合は、組み合わせ作成手段22は、RAM11から各ステップ毎の領域情報ψ(i,j)を読み込み、隣り合うステップ間で領域同士が少なくとも一部重複するように、第1の位置及び姿勢状態から第2の位置及び姿勢状態に至る間の領域情報ψ(i,j)の組み合わせに関する情報としての組み合わせ情報を1つ、作成する。
【0046】
具体的には、組み合わせ作成手段22は、先ず、図6に示すような連続性グラフを作成する(S400)。詳細には、図5において、隣り合うステップ間で領域情報ψ(i,j)と領域情報ψ(i−1,k)が下記式(1)を満たすならば少なくとも一部重複しているので、領域情報ψ(i,j)と領域情報ψ(i−1,k)は連続しており、領域情報ψ(i,j)と領域情報ψ(i−1,k)は、グラフ理論で言うところのエッジで結合される。例えば、図5において、隣り合うステップs0とステップs1間で領域情報ψ(1,1)と領域情報ψ(0,1)が下記式(1)を満たしているので、領域情報ψ(1,1)と領域情報ψ(0,1)は、図6で太線で示すようにエッジで結合される。図5において、ステップs0には領域情報ψ(i−1,k)がm0個属しており、ステップs1には領域情報ψ(i,j)がm1個属している。従って、ステップs0に属するすべての領域情報ψ(i−1,k)と、ステップs1に属するすべての領域情報ψ(i,j)と、の重複関係を漏れなく判定するには、原則として、m0×m1回、下記式(1)を考慮する必要があることになる。
【0047】
【数1】
【0048】
次に、組み合わせ作成手段22は、ステップs0とステップsnの間における連続的な領域情報ψ(i,j)の組み合わせを図6に示す連続性グラフ内で探索する(S402)。なお、この探索アルゴリズムはグラフ理論の分野で種々の提案がなされ公知となっているので、その説明は割愛する。仮に、この探索の結果、組み合わせ作成手段22が、ステップs0とステップsnの間における連続的な領域情報ψ(i,j)の組み合わせとして、図7に示すように、「ψ(0,1)、ψ(1,1)、ψ(2,1)、ψ(3,1)、・・・、ψ(n−1,1)、ψ(n,1)」から成る組み合わせを特定したとする。このようにステップs0とステップsnの間における連続的な領域情報ψ(i,j)の組み合わせが見つかった場合(S404:YES)は、組み合わせ作成手段22は、「ψ(0,1)、ψ(1,1)、ψ(2,1)、ψ(3,1)、・・・、ψ(n−1,1)、ψ(n,1)」から成る組み合わせ情報を作成する。そして、組み合わせ作成手段22は、作成した組み合わせ情報をRAM11に記憶させ、処理を図3の制御フローへと戻す(S406)。一方、ステップ0とステップnの間における連続的な領域情報ψ(i,j)の組み合わせが見つからなかった場合(S404:NO)は、解なしとして処理を終了する(S408)。
【0049】
次に、冗長自由度決定手段23は、RAM11から組み合わせ情報を読み込み、組み合わせ情報に基づいて、CP制御の各ステップにおける冗長マニピュレータ1のアームアングルψを決定する(S310)。例えば、冗長自由度決定手段23は、各ステップ毎に、アームアングルψとして、組み合わせ情報に属する領域情報ψ(i,j)の上限値、下限値、好ましくは中間値を採用する。冗長自由度決定手段23は、決定した各ステップ毎のアームアングルψをRAM11に記憶させる。
【0050】
次に、関節角算出手段24は、RAM11から各ステップ毎のアームアングルψを読み込み、各ステップ毎に、そのステップにおけるアームアングルψと、そのステップにおける状態情報と、に基づいて逆運動学により、そのステップにおける各関節(第1〜第7関節)の関節角を算出する(S312)。関節角算出手段24は、算出した各ステップ毎の各関節の関節角をRAM11に記憶させる。
【0051】
そして、CP制御手段25は、RAM11から各ステップ毎の各関節の関節角を読み込み、これらの関節角によって規定される冗長マニピュレータ1の動きを再生する(S314)。
【0052】
以上に本願発明の好適な第1実施形態を説明した。第1実施形態は、要するに、以下の特徴を有している。
【0053】
冗長マニピュレータ1の手先8の位置及び姿勢状態を、CP制御にて、ステップs0からステップsnへと変化させるに際し、CP制御の各ステップにおける冗長マニピュレータ1のアームアングルψを決定する制御装置100は、以下の通りである。制御装置100は、各ステップにおける手先8の位置及び姿勢状態を取得する状態取得手段20と、各ステップにおける手先8の位置及び姿勢状態に基づいて、各ステップにおけるアームアングルψの実現可能な領域を算出する領域算出手段21と、隣り合うステップ間で領域同士が少なくとも一部重複するように、ステップs0からステップsnに至る間の領域の組み合わせを作成する組み合わせ作成手段22と、領域の組み合わせに基づいて、CP制御の各ステップにおけるアームアングルψを決定する冗長自由度決定手段23と、を備える。以上の構成によれば、冗長マニピュレータ1の手先8の位置及び姿勢状態を、CP制御にて、ステップs0からステップsnへと変化させるに際し、冗長マニピュレータ1の冗長自由度の連続性を担保することができる。
【0054】
また、副次的な効果として、これにより関節角レベルで起きる非連続性が克服され、機構の性能を最大限活用した手先動作が可能となる。
【0055】
(第2実施形態)
次に、図8〜13を参照しつつ、本願発明の第2実施形態を説明する。ここでは、本実施形態が上記第1実施形態と異なる点を中心に説明し、重複する説明は適宜省略する。また、上記第1実施形態の各構成要素に対応する構成要素には原則として同一の符号を付すこととする。本実施形態では、上記第1実施形態を更に具現化したものである。
【0056】
図8に示すように、本実施形態において、冗長マニピュレータ1のCP制御は、ステップs0からステップs5に至るまでの6つのステップを基礎としている。図9には、状態取得手段20が取得した各状態情報Tnと、領域算出手段21が算出した各領域情報ψ(i,j)と、の関係を示している。図9の横軸に各状態情報Tnを並べている。図9の縦軸はアームアングルψである。なお、アームアングルψの原点は特に明示していないが、アームアングルψの取り得る値は−πからπとなっている。各状態情報Tnと、各領域情報ψ(i,j)と、の関係を図5のように一覧表示したのが図10である。図9に示すように、領域情報ψ(0,1)と領域情報ψ(1,1)との間には共通するアームアングルψが存在する。従って、領域情報ψ(0,1)と領域情報ψ(1,1)は連続的であり、図11に示すようにエッジで結合される。同様に、図9に示すように、領域情報ψ(0,1)と領域情報ψ(1,2)との間には共通するアームアングルψが存在する。従って、領域情報ψ(0,1)と領域情報ψ(1,2)は連続的であり、図11に示すようにエッジで結合される。組み合わせ作成手段22は、この要領で処理を進め、やがて、図11に示すような連続性グラフを完成させる(S400)。
【0057】
次に、組み合わせ作成手段22は、ステップs0とステップs5の間における連続的な領域情報ψ(i,j)の組み合わせを図11に示す連続性グラフ内で探索する(S402)。この探索の結果、組み合わせ作成手段22は、ステップs0とステップs5の間における連続的な領域情報ψ(i,j)の組み合わせとして、図12に示すように、「ψ(0,1)、ψ(1,1)、ψ(2,1)、ψ(3,1)、ψ(4,1)、ψ(5,1)」から成る組み合わせを特定する。組み合わせ作成手段22は、「ψ(0,1)、ψ(1,1)、ψ(2,1)、ψ(3,1)、ψ(4,1)、ψ(5,1)」から構成される組み合わせ情報を作成する。そして、組み合わせ作成手段22は、作成した組み合わせ情報をRAM11に記憶させ、処理を図3の制御フローへと戻す(S406)。
【0058】
次に、冗長自由度決定手段23は、RAM11から組み合わせ情報を読み込み、組み合わせ情報に基づいて、図13に示すように、CP制御の各ステップにおけるアームアングルψを決定する(S310)。各ステップにおける冗長マニピュレータ1の決定されたアームアングルψは、図13において丸印で示している。本実施形態では、図13に示すように、冗長自由度決定手段23は、各ステップ毎に、アームアングルψとして、組み合わせ情報に属する領域情報ψ(i,j)の中間値を採用している。そして、冗長自由度決定手段23は、決定した各ステップ毎のアームアングルψをRAM11に記憶させる。
【0059】
なお、図13において、△ψは「△ψp→p+1」を意味し、「△ψp→p+1」は、ステップpのアームアングルψとステップp+1のアームアングルψとの差分を意味する。
【0060】
(第3実施形態)
次に、図14を参照しつつ、本願発明の第3実施形態を説明する。ここでは、本実施形態が上記第2実施形態と異なる点を中心に説明し、重複する説明は適宜省略する。また、上記第2実施形態の各構成要素に対応する構成要素には原則として同一の符号を付すこととする。
【0061】
上記第2実施形態において、冗長自由度決定手段23は、各ステップ毎に、アームアングルψとして、組み合わせ情報に属する領域情報ψ(i,j)の中間値を採用するとした。これに対し、本実施形態において、冗長自由度決定手段23は、図14に示すように、ステップ間におけるアームアングルψの差分の二乗和が最も小さくなるように、各ステップにおけるアームアングルψを決定する。具体的には、冗長自由度決定手段23は、下記式(2)で定義された変数Qの値が最小となるように、各ステップにおけるアームアングルψを決定する。
【0062】
【数2】
【0063】
以上に本願発明の第2実施形態を説明した。第2実施形態は、要するに、以下の特徴を有している。
【0064】
冗長自由度決定手段23は、組み合わせ情報に基づいて、CP制御の各ステップにおける冗長マニピュレータ1のアームアングルψを決定するに際し、ステップ間におけるアームアングルψの差分の二乗和が最も小さくなるように、CP制御の各ステップにおけるアームアングルψを決定する。以上の構成によれば、冗長マニピュレータ1の動きが滑らかになる。また、省エネや手先8の動き自体が機敏になる、といったメリットもある。
【0065】
(第4実施形態)
次に、図15〜21を参照しつつ、本願発明の第4実施形態を説明する。ここでは、本実施形態が上記第2実施形態と異なる点を中心に説明し、重複する説明は適宜省略する。また、上記第2実施形態の各構成要素に対応する構成要素には原則として同一の符号を付すこととする。
【0066】
図15には、状態取得手段20が取得した各状態情報Tnと、領域算出手段21が算出した各領域情報ψ(i,j)と、の関係を示している。各状態情報Tnと、各領域情報ψ(i,j)と、の関係を図5のように一覧表示したのが図16である。そして、本実施形態において制御装置100は、図4の制御フローに代えて、図17の制御フローを実行する。以下、図17に示す制御フローに沿って、本実施形態における冗長マニピュレータ1の作動を説明する。
【0067】
図15に示すように、領域情報ψ(0,1)と領域情報ψ(1,1)との間には共通するアームアングルψが存在する。従って、領域情報ψ(0,1)と領域情報ψ(1,1)は連続的であり、図18に示すようにエッジで結合される。同様に、図15に示すように、領域情報ψ(0,1)と領域情報ψ(1,2)との間には共通するアームアングルψが存在する。従って、領域情報ψ(0,1)と領域情報ψ(1,2)は連続的であり、図18に示すようにエッジで結合される。組み合わせ作成手段22は、この要領で処理を進め、やがて、図18に示すような連続性グラフを完成させる(S500)。
【0068】
次に、組み合わせ作成手段22は、ステップs0とステップs5の間における連続的な領域情報ψ(i,j)の組み合わせを図18に示す連続性グラフ内で探索する(S502)。この探索の結果、組み合わせ作成手段22は、ステップs0とステップs5の間における連続的な領域情報ψ(i,j)の組み合わせとして、図19に示すように、「ψ(0,1)、ψ(1,1)、ψ(2,1)、ψ(3,1)、ψ(4,1)、ψ(5,1)」から成る組み合わせと、「ψ(0,1)、ψ(1,2)、ψ(2,2)、ψ(3,3)、ψ(4,3)、ψ(5,3)」から成る組み合わせと、を特定する。このようにステップs0とステップs5の間における連続的な領域情報ψ(i,j)の組み合わせが見つかった場合は、制御装置100は、処理をS506へと進める。一方、ステップs0とステップs5の間における連続的な領域情報ψ(i,j)の組み合わせが見つからなかった場合は、制御装置100は、解なしとして処理を終了する(S508)。
【0069】
そして、図19に示すように、ステップs0とステップs5の間における連続的な領域情報ψ(i,j)の組み合わせが複数見つかった場合(S506:YES)は、制御装置100は、処理をS510へと進める。一方、ステップs0とステップs5の間における連続的な領域情報ψ(i,j)の組み合わせが1つだけ見つかった場合(S506:NO)は、制御装置100は、処理を図3の制御フローへと戻す(S512)。
【0070】
上述のようにステップs0とステップs5の間における連続的な領域情報ψ(i,j)の組み合わせが複数見つかった場合(S506:YES)は、組み合わせ作成手段22は、最終のステップ(ステップs5)における領域情報ψ(5,j)が最も大きな組み合わせを選択して採用する(S510)。本実施形態において、「ψ(0,1)、ψ(1,1)、ψ(2,1)、ψ(3,1)、ψ(4,1)、ψ(5,1)」から成る組み合わせの最終のステップ(ステップs5)における領域情報ψ(5,j)は、領域情報ψ(5,1)である。また、「ψ(0,1)、ψ(1,2)、ψ(2,2)、ψ(3,3)、ψ(4,3)、ψ(5,3)」から成る組み合わせの最終のステップ(ステップs5)における領域情報ψ(5,j)は、領域情報ψ(5,3)である。従って、組み合わせ作成手段22は、各連続的な領域情報ψ(i,j)の組み合わせの最終のステップにおける領域情報ψ(5,j)としての領域情報ψ(5,1)と領域情報ψ(5,3)を比較する。本実施形態では、図15に示すように、領域情報ψ(5,3)が領域情報ψ(5,1)よりもアームアングルψに関して広範な範囲を包含しており、もって、領域情報ψ(5,3)は領域情報ψ(5,1)よりも大きいと言うことができる。従って、組み合わせ作成手段22は、図20に示すように、「ψ(0,1)、ψ(1,2)、ψ(2,2)、ψ(3,3)、ψ(4,3)、ψ(5,3)」から成る組み合わせを選択して採用し、「ψ(0,1)、ψ(1,2)、ψ(2,2)、ψ(3,3)、ψ(4,3)、ψ(5,3)」から成る組み合わせ情報を作成する。そして、組み合わせ作成手段22は、作成し、選択した組み合わせ情報をRAM11に記憶させ、処理を図3の制御フローへと戻す(S514)。
【0071】
次に、冗長自由度決定手段23は、図21に示すように、RAM11から組み合わせ情報を読み込み、組み合わせ情報に基づいて、CP制御の各ステップにおける冗長マニピュレータ1のアームアングルψを決定する(S310)。各ステップにおける冗長マニピュレータ1の決定されたアームアングルψは、図21において、丸印で示している。本実施形態では、図21に示すように、冗長自由度決定手段23は、各ステップ毎に、アームアングルψとして、組み合わせ情報に属する領域情報ψ(i,j)の中間値を採用している。そして、冗長自由度決定手段23は、決定した各ステップ毎のアームアングルψをRAM11に記憶させる。
【0072】
以上に本願発明の好適な第4実施形態を説明した。第4実施形態は、要するに、以下の特徴を有している。
【0073】
組み合わせ作成手段22は、領域情報ψ(i,j)の組み合わせが複数作成可能であったときは、最終のステップにおける領域情報ψ(i,j)が最も大きな組み合わせを採用する。以上の構成によれば、最終のステップにおいて領域情報ψ(i,j)が最大化される。従って、ステップs5において、手先8の位置及び姿勢状態をそのままにしつつ、アームアングルψを大きく変化させることが可能となる。このことは、例えばステップs5から更に手先8の位置及び姿勢状態を変化させようとする場合、その変化の最初のステップにおけるアームアングルψの選択の柔軟性に優れることから、少なくとも以下の3つのメリットが生じる。第1に、領域情報ψ(i,j)の組み合わせの作成が可能となる確率が高くなる。第2に、領域情報ψ(i,j)の組み合わせの作成可能な組数が複数となる確率が高くなる。第3に、領域情報ψ(i,j)の組み合わせの作成可能な組数がより多くなる可能性がある。
【0074】
以上に本願発明の好適な第1〜第4実施形態を説明したが、これらの実施形態は適宜に組み合わせることができる。
【符号の説明】
【0075】
1 冗長マニピュレータ
20 状態取得手段
21 領域算出手段
22 組み合わせ作成手段
23 冗長自由度決定手段
24 関節角算出手段
25 CP制御手段
100 制御装置(決定装置)
ψ アームアングル(冗長自由度)
ψ(i,j) 領域情報
Tn 状態情報
【技術分野】
【0001】
本発明は、CP(Continuous Point)制御される冗長マニピュレータの各ステップにおける冗長自由度の決定方法、決定装置、及び、決定プログラムに関する。
【背景技術】
【0002】
作業に必要な自由度より多くの自由度を有する冗長マニピュレータは、近年、ロボット分野において広く用いられるようになってきている。これは、冗長マニピュレータが有する余分な自由度を有効活用することで、例えば、ロボットの可操作性が向上したり、関節トルクの最適化が図れたり、障害物を回避できたり、所謂特異点を回避できたり、関節限界を回避できたりするからである。
【0003】
非特許文献1は、このような冗長マニピュレータの一例として、7自由度冗長マニピュレータについて言及している。一般に、空間内におけるマニピュレータの手先の位置及び姿勢は、6つのパラメータで表現することができる。従って、7自由度マニピュレータには余分な自由度が1つ存在していることになる。
【0004】
先ずは、この7自由度冗長マニピュレータについて図22を参照しつつ説明する。図22に示すように、7自由度冗長マニピュレータの関節は、すべて回転関節で構成されている。肩部の三関節(第1〜第3関節、θ1〜θ3)の関節軸は一点で交差している。同様に、手首部の三関節(第5〜第7関節、θ5〜θ7)の関節軸も一点で交差している。また、隣り合う一対の関節の軸同士は、互いに直交する。このように肩部の三関節と手首部の三関節は、単純な構造をしているため、夫々仮想的な球面機構を構成しているとみなすことができる。そこで、この種のマニピュレータは、一般に、3R−1R−3R型或いはS−R−S型のマニピュレータとして分類されている。
【0005】
更に、上記の非特許文献1は、冗長自由度を表現するためのパラメータとして、非特許文献2に開示のアームアングルψを採用している。このアームアングルψは、図23に示すようにアーム平面と参照面との成す角度として定義されるものである。アーム平面は、肩部三関節の交点Ps、肘関節位置Pe及び手首部三関節の交点Pwの三点を通る平面である。もし関節の可動範囲に制限がなければ、手先の位置及び姿勢を固定したまま、アームアングルψのみを自由自在に変えることができよう。しかしながら、実在のマニピュレータでは、機構的な制約のため、関節の可動範囲には制限がある。この結果、アームアングルψの実現可能な領域は自ずと限定されることになる。これに対し、非特許文献1は、アームアングルψの実現可能な領域を代数学的に解く手法を提案している。この手法の詳細は、非特許文献1を参照されたい。要するに、非特許文献1によれば、アームアングルψの実現可能な領域は、1つ又は複数の閉じた領域から構成され得るとしている。
【先行技術文献】
【特許文献】
【0006】
【非特許文献1】清水昌幸、他4名、「関節の可動範囲を考慮に入れた7自由度冗長マニヒ゜ュレータの解析的逆運動学解法」、日本ロホ゛ット学会誌、日本ロホ゛ット学会、2007年、第25巻、第4号、p.122-133
【非特許文献2】K.Kreutz-Delgado, M.Long and H. Seraji: "Kinematic Analysis of 7-DOF Manipulators," Int.J.Robotics Research, 1992, vol.11, no.5, pp.469-481.
【発明の概要】
【発明が解決しようとする課題】
【0007】
前述の通り、アームアングルψの実現可能な領域は、1つ又は複数の閉じた領域から構成される。しかし、このようなアームアングルψの実現可能な領域と、CP(Continuous Point)制御と、の間には未解決な問題があった。ここで、CP制御とは、図24に示すように、(1)第1の位置及び姿勢状態("s0"を参照)から第2の位置及び姿勢状態("s6"を参照)に至るまでの、マニピュレータの手先の位置及び姿勢状態を例えば所定の時間間隔毎に細かく設定し、(2)各手先位置毎に、逆運動学を用いて各関節の角度を求め、(3)(2)で求めた各関節の角度をロボットによって再生させる、制御のことである。しかし、冗長マニピュレータは冗長な構成であるがため、上記(2)において各関節の角度が一意に定まらず、冗長分の自由度を何らかの基準に基づいて予め決定する必要がある。以下、図24及び図25を参照しつつ、この問題を詳細に説明する。なお、説明の便宜上、冗長自由度を表すパラメータとしてアームアングルψを継続して使用するが、冗長自由度を表すパラメータとしてアームアングルψを使用しなければならない特段の事情はなく、他のパラメータを代わりに使用してもよいことに留意されたい。
【0008】
図25には、図24で示した各ステップにおけるアームアングルψの実現可能な領域を示している。図25の横軸に並べたs0〜s6は、図24に示すステップs0〜s6に夫々対応している。図25の縦軸は、アームアングルψである。図25において、上付添字と下付添字を有する「ψ」は、アームアングルψの実現可能な領域(範囲)を意味している。「ψ」の上付添字は、その領域が属するステップを識別するための番号を意味する。一方、「ψ」の下付添字は、その領域が属するステップにおける各領域の識別番号である。確認のため繰り返すと、「ψ」はアームアングルを意味するが、上付添字と下付添字を伴った「ψ」はアームアングルψの実現可能な領域を意味している。文章中では、このアームアングルψの実現可能な領域を、便宜上、ψ(上付添字,下付添字)のようにして表記する。
【0009】
さて、従来では、冗長分の自由度を予め決定するための基準に関する知見は一切なかった。従って、ステップ0におけるアームアングルψを予め決定するための基準に関する知見も同様になかった。それでは、本願発明者らはどうやってステップ0におけるアームアングルψを決定していたか。本願発明者らに対するインタビューによれば、以下の通りである。即ち、本願発明者らは、先ず、ステップ0におけるψ(0,1)とψ(0,2)の大小を比較し、図25の場合ではψ(0,1)>ψ(0,2)であることから、この単純な大小関係に基づいてψ(0,1)を選択していたのである。そして、本願発明者らは、このψ(0,1)の中間値をステップ0におけるアームアングルψとして採用していた。また、次のステップ1におけるアームアングルψについて言えば、本願発明者らは、アームアングルψの一応の連続性を考慮してψ(0,1)とψ(1,1)との重複関係を重視することで、ψ(1,1)とψ(1,2)のうちψ(1,1)を選択していた。そして、本願発明者らは、このψ(1,1)の中間値をステップ1におけるアームアングルψとして採用していた。
【0010】
このような場当たり的な基準は、それでも一見すると合理的であるかのようにも見える。しかしながら、この基準によると、ステップ4からステップ5へと移行するときに大きな問題が生じる。というのは、確かに、ψ(0,1)にとっては次のステップ1において自己と重複するアームアングルψの実現可能な領域が存在していた。同様に、ψ(1,1)にとっては次のステップ2において自己と重複するアームアングルψの実現可能な領域が存在していた。しかしながら、ψ(4,1)にとっては次のステップ5において自己と重複するアームアングルψの実現可能な領域が存在していない。従って、仕方なく、アームアングルψの連続性を犠牲にして、唯一存在するψ(5,1)の中から、ステップ5におけるアームアングルψを選択し採用せざるを得なかった。そして、このようにアームアングルψの値が看過できない程に大きく変化する結果、各関節の角速度が有限であることとの兼ね合いもあり、手先が意図した軌道から大きく外れたり、手先が他の物体と干渉したり、といった種々の問題が発生していた。
【0011】
本願発明の目的は、冗長マニピュレータの手先の位置及び姿勢状態を、CP制御にて、第1の位置及び姿勢状態から第2の位置及び姿勢状態へと変化させるに際し、冗長マニピュレータの冗長自由度の連続性を担保する技術を提供することにある。ここで、冗長自由度の連続性とは、「冗長自由度の値の変化がステップ間で緩やかである」ことを意味する。
【課題を解決するための手段】
【0012】
本願発明の第1の観点によれば、冗長マニピュレータの手先の位置及び姿勢状態を、CP(Continuous Point)制御にて、第1の位置及び姿勢状態から第2の位置及び姿勢状態へと変化させるに際し、CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する方法は、以下の通りである。各ステップにおける前記手先の位置及び姿勢状態を取得する。各ステップにおける前記手先の位置及び姿勢状態に基づいて、各ステップにおける前記冗長マニピュレータの冗長自由度の実現可能な領域を算出する。隣り合うステップ間で前記領域同士が少なくとも一部重複するように、前記第1の位置及び姿勢状態から前記第2の位置及び姿勢状態に至る間の前記領域の組み合わせを作成する。前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する。以上の方法によれば、前記冗長マニピュレータの手先の位置及び姿勢状態を、前記CP制御にて、前記第1の位置及び姿勢状態から前記第2の位置及び姿勢状態へと変化させるに際し、前記冗長マニピュレータの冗長自由度の連続性を担保することができる。
【0013】
好ましくは、前記領域の組み合わせが複数作成可能であったときは、最終のステップにおける前記領域が最も大きな組み合わせを採用する。以上の方法によれば、最終のステップにおいて前記領域が最大化される。従って、前記第2の位置及び姿勢状態において、前記手先の位置及び姿勢状態をそのままにしつつ、前記冗長自由度を大きく変化させることが可能となる。このことは、例えば前記第2の位置及び姿勢状態から前記手先の位置及び姿勢状態を更に変化させようとする場合、その変化の最初のステップにおける前記冗長自由度の選択の柔軟性に優れることから、少なくとも以下の3つのメリットが生じる。第1に、前記領域の組み合わせの作成が可能となる確率が高くなる。第2に、前記領域の組み合わせの作成可能な組数が複数となる確率が高くなる。第3に、前記領域の組み合わせの作成可能な組数がより多くなる可能性がある。
【0014】
好ましくは、前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定するに際し、ステップ間における前記冗長自由度の差分の二乗和が最も小さくなるように、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する。以上の方法によれば、前記冗長マニピュレータの動きが滑らかになる。
【0015】
好ましくは、前記冗長マニピュレータは、7自由度である。
【0016】
好ましくは、前記冗長マニピュレータは、S−R−S型である。
【0017】
本願発明の第2の観点によれば、冗長マニピュレータの手先の位置及び姿勢状態を、CP(Continuous Point)制御にて、第1の位置及び姿勢状態から第2の位置及び姿勢状態へと変化させるに際し、CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する装置は、以下の通りである。決定装置は、各ステップにおける前記手先の位置及び姿勢状態を取得する状態取得手段と、各ステップにおける前記手先の位置及び姿勢状態に基づいて、各ステップにおける前記冗長マニピュレータの冗長自由度の実現可能な領域を算出する領域算出手段と、隣り合うステップ間で前記領域同士が少なくとも一部重複するように、前記第1の位置及び姿勢状態から前記第2の位置及び姿勢状態に至る間の前記領域の組み合わせを作成する組み合わせ作成手段と、前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する冗長自由度決定手段と、を備える。以上の構成によれば、前記冗長マニピュレータの手先の位置及び姿勢状態を、前記CP制御にて、前記第1の位置及び姿勢状態から前記第2の位置及び姿勢状態へと変化させるに際し、前記冗長マニピュレータの冗長自由度の連続性を担保することができる。
【0018】
好ましくは、前記組み合わせ作成手段は、前記領域の組み合わせが複数作成可能であったときは、最終のステップにおける前記領域が最も大きな組み合わせを採用する。以上の構成によれば、最終のステップにおいて前記領域が最大化される。従って、前記第2の位置及び姿勢状態において、前記手先の位置及び姿勢状態をそのままにしつつ、前記冗長自由度を大きく変化させることが可能となる。このことは、例えば前記第2の位置及び姿勢状態から前記手先の位置及び姿勢状態を更に変化させようとする場合、その変化の最初のステップにおける前記冗長自由度の選択の柔軟性に優れることから、少なくとも以下の3つのメリットが生じる。第1に、前記領域の組み合わせの作成が可能となる確率が高くなる。第2に、前記領域の組み合わせの作成可能な組数が複数となる確率が高くなる。第3に、前記領域の組み合わせの作成可能な組数がより多くなる可能性がある。
【0019】
好ましくは、前記冗長自由度決定手段は、前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定するに際し、ステップ間における前記冗長自由度の差分の二乗和が最も小さくなるように、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する。以上の構成によれば、前記冗長マニピュレータの動きが滑らかになる。
【0020】
好ましくは、前記冗長マニピュレータは、7自由度である。
【0021】
好ましくは、前記冗長マニピュレータは、S−R−S型である。
【0022】
本願発明の第3の観点によれば、冗長マニピュレータの手先の位置及び姿勢状態を、CP(Continuous Point)制御にて、第1の位置及び姿勢状態から第2の位置及び姿勢状態へと変化させるに際し、CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定するためのプログラムは、コンピュータを、各ステップにおける前記手先の位置及び姿勢状態を取得する状態取得手段と、各ステップにおける前記手先の位置及び姿勢状態に基づいて、各ステップにおける前記冗長マニピュレータの冗長自由度の実現可能な領域を算出する領域算出手段と、隣り合うステップ間で前記領域同士が少なくとも一部重複するように、前記第1の位置及び姿勢状態から前記第2の位置及び姿勢状態に至る間の前記領域の組み合わせを作成する組み合わせ作成手段と、前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する冗長自由度決定手段と、として機能させる。以上のプログラムによれば、前記冗長マニピュレータの手先の位置及び姿勢状態を、前記CP制御にて、前記第1の位置及び姿勢状態から前記第2の位置及び姿勢状態へと変化させるに際し、前記冗長マニピュレータの冗長自由度の連続性を担保することができる。
【0023】
好ましくは、前記組み合わせ作成手段は、前記領域の組み合わせが複数作成可能であったときは、最終のステップにおける前記領域が最も大きな組み合わせを採用する。以上のプログラムによれば、最終のステップにおいて前記領域が最大化される。従って、前記第2の位置及び姿勢状態において、前記手先の位置及び姿勢状態をそのままにしつつ、前記冗長自由度を大きく変化させることが可能となる。このことは、例えば前記第2の位置及び姿勢状態から前記手先の位置及び姿勢状態を更に変化させようとする場合、その変化の最初のステップにおける前記冗長自由度の選択の柔軟性に優れることから、少なくとも以下の3つのメリットが生じる。第1に、前記領域の組み合わせの作成が可能となる確率が高くなる。第2に、前記領域の組み合わせの作成可能な組数が複数となる確率が高くなる。第3に、前記領域の組み合わせの作成可能な組数がより多くなる可能性がある。
【0024】
好ましくは、前記冗長自由度決定手段は、前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定するに際し、ステップ間における前記冗長自由度の差分の二乗和が最も小さくなるように、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する。以上のプログラムによれば、前記冗長マニピュレータの動きが滑らかになる。
【0025】
好ましくは、前記冗長マニピュレータは、7自由度である。
【0026】
好ましくは、前記冗長マニピュレータは、S−R−S型である。
【発明の効果】
【0027】
本願発明によれば、前記冗長マニピュレータの手先の位置及び姿勢状態を、前記CP制御にて、前記第1の位置及び姿勢状態から前記第2の位置及び姿勢状態へと変化させるに際し、前記冗長マニピュレータの冗長自由度の連続性を担保することができる。
【図面の簡単な説明】
【0028】
【図1】図1は、冗長マニピュレータの全体模式図である(第1実施形態)。
【図2】図2は、冗長マニピュレータの機能ブロック図である(第1実施形態)。
【図3】図3は、冗長マニピュレータの制御フローである(第1実施形態)。
【図4】図4は、冗長マニピュレータの制御フローである(第1実施形態)。
【図5】図5は、冗長自由度の実現可能な領域ψの一覧である(第1実施形態)。
【図6】図6は、冗長自由度の実現可能な領域ψの連続性を示すグラフである(第1実施形態)。
【図7】図7は、冗長自由度の実現可能な領域ψの組み合わせを示す図である(第1実施形態)。
【図8】図8は、冗長マニピュレータの全体模式図である(第2実施形態)。
【図9】図9は、冗長自由度の実現可能な領域ψを示す図である(第2実施形態)。
【図10】図10は、冗長自由度の実現可能な領域ψの一覧である(第2実施形態)。
【図11】図11は、冗長自由度の実現可能な領域ψの連続性を示すグラフである(第2実施形態)。
【図12】図12は、冗長自由度の実現可能な領域ψの組み合わせを示す図である(第2実施形態)。
【図13】図13は、各ステップにおいて決定された冗長自由度を示す図である(第2実施形態)。
【図14】図14は、各ステップにおいて決定された冗長自由度を示す図である(第3実施形態)。
【図15】図15は、冗長自由度の実現可能な領域ψを示す図である(第4実施形態)。
【図16】図16は、冗長自由度の実現可能な領域ψの一覧である(第4実施形態)。
【図17】図17は、冗長マニピュレータの制御フローである(第4実施形態)。
【図18】図18は、冗長自由度の実現可能な領域ψの連続性を示すグラフである(第4実施形態)。
【図19】図19は、冗長自由度の実現可能な領域ψの組み合わせを示す図である(第4実施形態)。
【図20】図20は、図19に示す複数の組み合わせから選択された組み合わせを示す図である(第4実施形態)。
【図21】図21は、各ステップにおいて決定された冗長自由度を示す図である(第4実施形態)。
【図22】図22は、冗長マニピュレータの全体模式図である(従来技術)。
【図23】図23は、冗長自由度の一例としてのアームアングルの定義説明図である(従来技術)。
【図24】図24は、冗長マニピュレータの全体模式図である(従来技術)。
【図25】図25は、各ステップにおいて決定された冗長自由度を示す図である(従来技術)。
【発明を実施するための形態】
【0029】
(第1実施形態)
以下、図1〜7を参照しつつ、本願発明の第1実施形態を説明する。以下、明細書中で「ステップ」とあるのは、CP制御の制御フローの多種多様な処理のステップを示す場合と、CP制御によるマニピュレータの動きのステップを示す場合があるので、両者を混同しないように留意されたい。
【0030】
図1に示すように、本実施形態において冗長マニピュレータ1は、体幹部2と、肩関節部3と、上腕部4と、肘関節部5と、前腕部6と、手首関節部7と、手先8と、制御装置100(決定装置)と、を主たる構成として備えている。体幹部2は、例えば地面などに固定されている。地面と肩関節部3は体幹部2によって連結されている。肩関節部3と肘関節部5は上腕部4によって連結されている。肘関節部5と手首関節部7は前腕部6によって連結されている。手先8は手首関節部7に支持されている。
【0031】
肩関節部3は、第1〜第3の関節から構成される球面機構となっている。肘関節部5は、第4の関節から構成されている。手首関節部7は、第5〜第7の関節から構成される球面機構となっている。従って、冗長マニピュレータ1は、所謂S−R−S型マニピュレータに分類される。また、冗長マニピュレータ1は、余分な自由度を1つ有している。以降、冗長自由度を表現するためのパラメータとしては、非特許文献2に開示のアームアングルψを使用するものとする。繰り返すが、冗長自由度を表現するためのパラメータとしては、アームアングルψに限らず、例えば、任意の1自由度の関節角や別の表現のアームアングルでもよい。
【0032】
図2に示すように、冗長マニピュレータ1は、更に、第1関節モータ(肩部)30と、第2関節モータ(肩部)31と、第3関節モータ(肩部)32と、第4関節モータ(肘部)33と、第5関節モータ(手首部)34と、第6関節モータ(手首部)35と、第7関節モータ(手首部)36と、を備えている。第1関節モータ(肩部)30は、肩関節部3を構成する第1関節に搭載され、第1関節を駆動する。同様に、第2関節モータ(肩部)31は、肩関節部3を構成する第2関節に搭載され、第2関節を駆動する。第3関節モータ(肩部)32は、肩関節部3を構成する第3関節に搭載され、第3関節を駆動する。第4関節モータ(肘部)33は、肘関節部5を構成する第4関節に搭載され、第4関節を駆動する。第5関節モータ(手首部)34は、手首関節部7を構成する第5関節に搭載され、第5関節を駆動する。第6関節モータ(手首部)35は、手首関節部7を構成する第6関節に搭載され、第6関節を駆動する。第7関節モータ(手首部)36は、手首関節部7を構成する第7関節に搭載され、第7関節を駆動する。
【0033】
制御装置100は、冗長マニピュレータ1の手先8の位置及び姿勢状態を、CP制御にて、第1の位置及び姿勢状態(ステップs0、図1参照)から第2の位置及び姿勢状態(ステップsn、図1参照)へと変化させるに際し、CP制御の各ステップにおける冗長マニピュレータ1のアームアングルψの決定する。制御装置100は、CPU(Central Processing Unit)10と、RAM(Random Access Memory)11と、ROM(Read Only Memory)12と、を備える。ROM12には、制御プログラム(決定プログラム)が記憶されている。この制御プログラムはCPU10によって読み出され、CPU10上で実行される。これにより、制御プログラムは、CPU10などのハードウェアを、状態取得手段20、領域算出手段21、組み合わせ作成手段22、冗長自由度決定手段23、関節角算出手段24、CP制御手段25、として機能させる。
【0034】
状態取得手段20は、CP制御に必要となる、各ステップにおける手先8の位置及び姿勢状態に関する情報としての状態情報を取得する。状態取得手段20による各状態情報の取得の態様としては、有線又は無線を介した他の制御機器からの受信や、例えばキーボードなどの入力手段を介した操作人員からの入力、ROM12からの読み込みなどが考えられる。各状態情報は、手先8の空間に対する位置を表すX値、Y値、Z値と、手先8の空間に対する姿勢を表すθ1値、θ2値、θ3値と、を有し、これら6つのパラメータから構成される。状態取得手段20は、取得した各ステップ毎の状態情報をRAM11に記憶させる。
【0035】
領域算出手段21は、RAM11から各ステップ毎の状態情報を読み込み、各状態情報に基づいて、各ステップ毎に、冗長マニピュレータ1のアームアングルψの実現可能な領域に関する情報としての領域情報を算出する。領域情報は、すべてのステップにおいて1つのみ存在する場合と、すべてのステップにおいて複数存在する場合と、各ステップにおいて1つ又は複数存在する場合と、がある。領域算出手段21による各領域情報の算出の方法については、非特許文献1を参照されたい。領域算出手段21は、算出した各ステップ毎の領域情報をRAM11に記憶させる。
【0036】
組み合わせ作成手段22は、RAM11から各ステップ毎の領域情報を読み込み、隣り合うステップ間で領域同士が少なくとも一部重複するように、第1の位置及び姿勢状態から第2の位置及び姿勢状態に至る間の領域情報の組み合わせに関する情報としての組み合わせ情報を1つ、作成する。「隣り合うステップ間で領域同士が少なくとも一部重複する」とは、「隣り合うステップ間で領域同士が共通する冗長自由度を包含している」と言い換えることができる。なお、最初のステップ(ステップs0)における領域と、最後のステップ(ステップsn)における領域と、は必ずしも重複している必要はない。組み合わせ作成手段22は、作成した組み合わせ情報をRAM11に記憶させる。
【0037】
冗長自由度決定手段23は、RAM11から組み合わせ情報を読み込み、組み合わせ情報に基づいて、CP制御の各ステップにおける冗長マニピュレータ1のアームアングルψを決定する。冗長自由度決定手段23は、決定した各ステップ毎のアームアングルψをRAM11に記憶させる。
【0038】
関節角算出手段24は、RAM11から各ステップ毎のアームアングルψを読み込み、各ステップ毎に、そのステップにおけるアームアングルψと、そのステップにおける状態情報と、に基づいて逆運動学により、そのステップにおける各関節(第1〜第7関節)の関節角を算出する。関節角算出手段24は、算出した各ステップ毎の各関節の関節角をRAM11に記憶させる。
【0039】
CP制御手段25は、RAM11から各ステップ毎の各関節の関節角を読み込み、これらの関節角によって規定される冗長マニピュレータ1の動きを再生する。詳しくは、CP制御手段25は、各ステップ毎に各関節(第1〜第7関節)の関節角を達成すべく、第1関節モータ(肩部)30、第2関節モータ(肩部)31、第3関節モータ(肩部)32、第4関節モータ(肘部)33、第5関節モータ(手首部)34、第6関節モータ(手首部)35、第7関節モータ(手首部)36を制御する。
【0040】
次に、図3〜図7を参照しつつ、冗長マニピュレータ1の作動を説明する。
【0041】
先ず、有線又は無線を介して他の制御機器から制御装置100へCP制御開始信号が送信され、又は、例えばキーボードなどの入力手段を介して操作人員が制御装置100にCP制御を開始するよう命令する(S300)。
【0042】
すると、状態取得手段20は、CP制御に必要となる、各ステップ毎の状態情報を取得する(S302)。図5〜7において、各ステップ毎の状態情報は、同次変換行列であるTnで示されている。添字のnは、離散化されたCP制御の軌道のステップの総数を表している。状態取得手段20は、取得した各ステップ毎の状態情報TnをRAM11に記憶させる。
【0043】
次に、領域算出手段21は、RAM11から各ステップ毎の状態情報Tnを読み込み、各状態情報Tnに基づいて、各ステップ毎に、アームアングルψの実現可能な領域に関する情報としての領域情報を算出する(S304)。図5〜7において、各ステップ毎の領域情報は、ψ(i,j)で示している。ここで、「i」は上付添字を意味し、「j」は下付添字を意味している。「i」は、その領域が属するステップを識別するための番号を意味する。一方、「j」は、その領域が属するステップにおいて算出された1つ又は複数の閉じた領域を識別するための番号である。また、下付添字で「mn」とあるのは、そのステップにおいて算出された領域情報の個数に相当している。領域算出手段21は、算出した各ステップ毎の領域情報ψ(i,j)をRAM11に記憶させる。
【0044】
次に、制御装置100は、すべてのステップにおいて、上記の領域情報ψ(i,j)の個数が1以上であった場合は、処理をS308に進める。一方で、何れかのステップにおいて、上記の領域情報ψ(i,j)の個数が1以上でなかった場合は、解なしであるから、処理を終了する(S307)。
【0045】
すべてのステップにおいて、上記の領域情報ψ(i,j)の個数が1以上であった場合は、組み合わせ作成手段22は、RAM11から各ステップ毎の領域情報ψ(i,j)を読み込み、隣り合うステップ間で領域同士が少なくとも一部重複するように、第1の位置及び姿勢状態から第2の位置及び姿勢状態に至る間の領域情報ψ(i,j)の組み合わせに関する情報としての組み合わせ情報を1つ、作成する。
【0046】
具体的には、組み合わせ作成手段22は、先ず、図6に示すような連続性グラフを作成する(S400)。詳細には、図5において、隣り合うステップ間で領域情報ψ(i,j)と領域情報ψ(i−1,k)が下記式(1)を満たすならば少なくとも一部重複しているので、領域情報ψ(i,j)と領域情報ψ(i−1,k)は連続しており、領域情報ψ(i,j)と領域情報ψ(i−1,k)は、グラフ理論で言うところのエッジで結合される。例えば、図5において、隣り合うステップs0とステップs1間で領域情報ψ(1,1)と領域情報ψ(0,1)が下記式(1)を満たしているので、領域情報ψ(1,1)と領域情報ψ(0,1)は、図6で太線で示すようにエッジで結合される。図5において、ステップs0には領域情報ψ(i−1,k)がm0個属しており、ステップs1には領域情報ψ(i,j)がm1個属している。従って、ステップs0に属するすべての領域情報ψ(i−1,k)と、ステップs1に属するすべての領域情報ψ(i,j)と、の重複関係を漏れなく判定するには、原則として、m0×m1回、下記式(1)を考慮する必要があることになる。
【0047】
【数1】
【0048】
次に、組み合わせ作成手段22は、ステップs0とステップsnの間における連続的な領域情報ψ(i,j)の組み合わせを図6に示す連続性グラフ内で探索する(S402)。なお、この探索アルゴリズムはグラフ理論の分野で種々の提案がなされ公知となっているので、その説明は割愛する。仮に、この探索の結果、組み合わせ作成手段22が、ステップs0とステップsnの間における連続的な領域情報ψ(i,j)の組み合わせとして、図7に示すように、「ψ(0,1)、ψ(1,1)、ψ(2,1)、ψ(3,1)、・・・、ψ(n−1,1)、ψ(n,1)」から成る組み合わせを特定したとする。このようにステップs0とステップsnの間における連続的な領域情報ψ(i,j)の組み合わせが見つかった場合(S404:YES)は、組み合わせ作成手段22は、「ψ(0,1)、ψ(1,1)、ψ(2,1)、ψ(3,1)、・・・、ψ(n−1,1)、ψ(n,1)」から成る組み合わせ情報を作成する。そして、組み合わせ作成手段22は、作成した組み合わせ情報をRAM11に記憶させ、処理を図3の制御フローへと戻す(S406)。一方、ステップ0とステップnの間における連続的な領域情報ψ(i,j)の組み合わせが見つからなかった場合(S404:NO)は、解なしとして処理を終了する(S408)。
【0049】
次に、冗長自由度決定手段23は、RAM11から組み合わせ情報を読み込み、組み合わせ情報に基づいて、CP制御の各ステップにおける冗長マニピュレータ1のアームアングルψを決定する(S310)。例えば、冗長自由度決定手段23は、各ステップ毎に、アームアングルψとして、組み合わせ情報に属する領域情報ψ(i,j)の上限値、下限値、好ましくは中間値を採用する。冗長自由度決定手段23は、決定した各ステップ毎のアームアングルψをRAM11に記憶させる。
【0050】
次に、関節角算出手段24は、RAM11から各ステップ毎のアームアングルψを読み込み、各ステップ毎に、そのステップにおけるアームアングルψと、そのステップにおける状態情報と、に基づいて逆運動学により、そのステップにおける各関節(第1〜第7関節)の関節角を算出する(S312)。関節角算出手段24は、算出した各ステップ毎の各関節の関節角をRAM11に記憶させる。
【0051】
そして、CP制御手段25は、RAM11から各ステップ毎の各関節の関節角を読み込み、これらの関節角によって規定される冗長マニピュレータ1の動きを再生する(S314)。
【0052】
以上に本願発明の好適な第1実施形態を説明した。第1実施形態は、要するに、以下の特徴を有している。
【0053】
冗長マニピュレータ1の手先8の位置及び姿勢状態を、CP制御にて、ステップs0からステップsnへと変化させるに際し、CP制御の各ステップにおける冗長マニピュレータ1のアームアングルψを決定する制御装置100は、以下の通りである。制御装置100は、各ステップにおける手先8の位置及び姿勢状態を取得する状態取得手段20と、各ステップにおける手先8の位置及び姿勢状態に基づいて、各ステップにおけるアームアングルψの実現可能な領域を算出する領域算出手段21と、隣り合うステップ間で領域同士が少なくとも一部重複するように、ステップs0からステップsnに至る間の領域の組み合わせを作成する組み合わせ作成手段22と、領域の組み合わせに基づいて、CP制御の各ステップにおけるアームアングルψを決定する冗長自由度決定手段23と、を備える。以上の構成によれば、冗長マニピュレータ1の手先8の位置及び姿勢状態を、CP制御にて、ステップs0からステップsnへと変化させるに際し、冗長マニピュレータ1の冗長自由度の連続性を担保することができる。
【0054】
また、副次的な効果として、これにより関節角レベルで起きる非連続性が克服され、機構の性能を最大限活用した手先動作が可能となる。
【0055】
(第2実施形態)
次に、図8〜13を参照しつつ、本願発明の第2実施形態を説明する。ここでは、本実施形態が上記第1実施形態と異なる点を中心に説明し、重複する説明は適宜省略する。また、上記第1実施形態の各構成要素に対応する構成要素には原則として同一の符号を付すこととする。本実施形態では、上記第1実施形態を更に具現化したものである。
【0056】
図8に示すように、本実施形態において、冗長マニピュレータ1のCP制御は、ステップs0からステップs5に至るまでの6つのステップを基礎としている。図9には、状態取得手段20が取得した各状態情報Tnと、領域算出手段21が算出した各領域情報ψ(i,j)と、の関係を示している。図9の横軸に各状態情報Tnを並べている。図9の縦軸はアームアングルψである。なお、アームアングルψの原点は特に明示していないが、アームアングルψの取り得る値は−πからπとなっている。各状態情報Tnと、各領域情報ψ(i,j)と、の関係を図5のように一覧表示したのが図10である。図9に示すように、領域情報ψ(0,1)と領域情報ψ(1,1)との間には共通するアームアングルψが存在する。従って、領域情報ψ(0,1)と領域情報ψ(1,1)は連続的であり、図11に示すようにエッジで結合される。同様に、図9に示すように、領域情報ψ(0,1)と領域情報ψ(1,2)との間には共通するアームアングルψが存在する。従って、領域情報ψ(0,1)と領域情報ψ(1,2)は連続的であり、図11に示すようにエッジで結合される。組み合わせ作成手段22は、この要領で処理を進め、やがて、図11に示すような連続性グラフを完成させる(S400)。
【0057】
次に、組み合わせ作成手段22は、ステップs0とステップs5の間における連続的な領域情報ψ(i,j)の組み合わせを図11に示す連続性グラフ内で探索する(S402)。この探索の結果、組み合わせ作成手段22は、ステップs0とステップs5の間における連続的な領域情報ψ(i,j)の組み合わせとして、図12に示すように、「ψ(0,1)、ψ(1,1)、ψ(2,1)、ψ(3,1)、ψ(4,1)、ψ(5,1)」から成る組み合わせを特定する。組み合わせ作成手段22は、「ψ(0,1)、ψ(1,1)、ψ(2,1)、ψ(3,1)、ψ(4,1)、ψ(5,1)」から構成される組み合わせ情報を作成する。そして、組み合わせ作成手段22は、作成した組み合わせ情報をRAM11に記憶させ、処理を図3の制御フローへと戻す(S406)。
【0058】
次に、冗長自由度決定手段23は、RAM11から組み合わせ情報を読み込み、組み合わせ情報に基づいて、図13に示すように、CP制御の各ステップにおけるアームアングルψを決定する(S310)。各ステップにおける冗長マニピュレータ1の決定されたアームアングルψは、図13において丸印で示している。本実施形態では、図13に示すように、冗長自由度決定手段23は、各ステップ毎に、アームアングルψとして、組み合わせ情報に属する領域情報ψ(i,j)の中間値を採用している。そして、冗長自由度決定手段23は、決定した各ステップ毎のアームアングルψをRAM11に記憶させる。
【0059】
なお、図13において、△ψは「△ψp→p+1」を意味し、「△ψp→p+1」は、ステップpのアームアングルψとステップp+1のアームアングルψとの差分を意味する。
【0060】
(第3実施形態)
次に、図14を参照しつつ、本願発明の第3実施形態を説明する。ここでは、本実施形態が上記第2実施形態と異なる点を中心に説明し、重複する説明は適宜省略する。また、上記第2実施形態の各構成要素に対応する構成要素には原則として同一の符号を付すこととする。
【0061】
上記第2実施形態において、冗長自由度決定手段23は、各ステップ毎に、アームアングルψとして、組み合わせ情報に属する領域情報ψ(i,j)の中間値を採用するとした。これに対し、本実施形態において、冗長自由度決定手段23は、図14に示すように、ステップ間におけるアームアングルψの差分の二乗和が最も小さくなるように、各ステップにおけるアームアングルψを決定する。具体的には、冗長自由度決定手段23は、下記式(2)で定義された変数Qの値が最小となるように、各ステップにおけるアームアングルψを決定する。
【0062】
【数2】
【0063】
以上に本願発明の第2実施形態を説明した。第2実施形態は、要するに、以下の特徴を有している。
【0064】
冗長自由度決定手段23は、組み合わせ情報に基づいて、CP制御の各ステップにおける冗長マニピュレータ1のアームアングルψを決定するに際し、ステップ間におけるアームアングルψの差分の二乗和が最も小さくなるように、CP制御の各ステップにおけるアームアングルψを決定する。以上の構成によれば、冗長マニピュレータ1の動きが滑らかになる。また、省エネや手先8の動き自体が機敏になる、といったメリットもある。
【0065】
(第4実施形態)
次に、図15〜21を参照しつつ、本願発明の第4実施形態を説明する。ここでは、本実施形態が上記第2実施形態と異なる点を中心に説明し、重複する説明は適宜省略する。また、上記第2実施形態の各構成要素に対応する構成要素には原則として同一の符号を付すこととする。
【0066】
図15には、状態取得手段20が取得した各状態情報Tnと、領域算出手段21が算出した各領域情報ψ(i,j)と、の関係を示している。各状態情報Tnと、各領域情報ψ(i,j)と、の関係を図5のように一覧表示したのが図16である。そして、本実施形態において制御装置100は、図4の制御フローに代えて、図17の制御フローを実行する。以下、図17に示す制御フローに沿って、本実施形態における冗長マニピュレータ1の作動を説明する。
【0067】
図15に示すように、領域情報ψ(0,1)と領域情報ψ(1,1)との間には共通するアームアングルψが存在する。従って、領域情報ψ(0,1)と領域情報ψ(1,1)は連続的であり、図18に示すようにエッジで結合される。同様に、図15に示すように、領域情報ψ(0,1)と領域情報ψ(1,2)との間には共通するアームアングルψが存在する。従って、領域情報ψ(0,1)と領域情報ψ(1,2)は連続的であり、図18に示すようにエッジで結合される。組み合わせ作成手段22は、この要領で処理を進め、やがて、図18に示すような連続性グラフを完成させる(S500)。
【0068】
次に、組み合わせ作成手段22は、ステップs0とステップs5の間における連続的な領域情報ψ(i,j)の組み合わせを図18に示す連続性グラフ内で探索する(S502)。この探索の結果、組み合わせ作成手段22は、ステップs0とステップs5の間における連続的な領域情報ψ(i,j)の組み合わせとして、図19に示すように、「ψ(0,1)、ψ(1,1)、ψ(2,1)、ψ(3,1)、ψ(4,1)、ψ(5,1)」から成る組み合わせと、「ψ(0,1)、ψ(1,2)、ψ(2,2)、ψ(3,3)、ψ(4,3)、ψ(5,3)」から成る組み合わせと、を特定する。このようにステップs0とステップs5の間における連続的な領域情報ψ(i,j)の組み合わせが見つかった場合は、制御装置100は、処理をS506へと進める。一方、ステップs0とステップs5の間における連続的な領域情報ψ(i,j)の組み合わせが見つからなかった場合は、制御装置100は、解なしとして処理を終了する(S508)。
【0069】
そして、図19に示すように、ステップs0とステップs5の間における連続的な領域情報ψ(i,j)の組み合わせが複数見つかった場合(S506:YES)は、制御装置100は、処理をS510へと進める。一方、ステップs0とステップs5の間における連続的な領域情報ψ(i,j)の組み合わせが1つだけ見つかった場合(S506:NO)は、制御装置100は、処理を図3の制御フローへと戻す(S512)。
【0070】
上述のようにステップs0とステップs5の間における連続的な領域情報ψ(i,j)の組み合わせが複数見つかった場合(S506:YES)は、組み合わせ作成手段22は、最終のステップ(ステップs5)における領域情報ψ(5,j)が最も大きな組み合わせを選択して採用する(S510)。本実施形態において、「ψ(0,1)、ψ(1,1)、ψ(2,1)、ψ(3,1)、ψ(4,1)、ψ(5,1)」から成る組み合わせの最終のステップ(ステップs5)における領域情報ψ(5,j)は、領域情報ψ(5,1)である。また、「ψ(0,1)、ψ(1,2)、ψ(2,2)、ψ(3,3)、ψ(4,3)、ψ(5,3)」から成る組み合わせの最終のステップ(ステップs5)における領域情報ψ(5,j)は、領域情報ψ(5,3)である。従って、組み合わせ作成手段22は、各連続的な領域情報ψ(i,j)の組み合わせの最終のステップにおける領域情報ψ(5,j)としての領域情報ψ(5,1)と領域情報ψ(5,3)を比較する。本実施形態では、図15に示すように、領域情報ψ(5,3)が領域情報ψ(5,1)よりもアームアングルψに関して広範な範囲を包含しており、もって、領域情報ψ(5,3)は領域情報ψ(5,1)よりも大きいと言うことができる。従って、組み合わせ作成手段22は、図20に示すように、「ψ(0,1)、ψ(1,2)、ψ(2,2)、ψ(3,3)、ψ(4,3)、ψ(5,3)」から成る組み合わせを選択して採用し、「ψ(0,1)、ψ(1,2)、ψ(2,2)、ψ(3,3)、ψ(4,3)、ψ(5,3)」から成る組み合わせ情報を作成する。そして、組み合わせ作成手段22は、作成し、選択した組み合わせ情報をRAM11に記憶させ、処理を図3の制御フローへと戻す(S514)。
【0071】
次に、冗長自由度決定手段23は、図21に示すように、RAM11から組み合わせ情報を読み込み、組み合わせ情報に基づいて、CP制御の各ステップにおける冗長マニピュレータ1のアームアングルψを決定する(S310)。各ステップにおける冗長マニピュレータ1の決定されたアームアングルψは、図21において、丸印で示している。本実施形態では、図21に示すように、冗長自由度決定手段23は、各ステップ毎に、アームアングルψとして、組み合わせ情報に属する領域情報ψ(i,j)の中間値を採用している。そして、冗長自由度決定手段23は、決定した各ステップ毎のアームアングルψをRAM11に記憶させる。
【0072】
以上に本願発明の好適な第4実施形態を説明した。第4実施形態は、要するに、以下の特徴を有している。
【0073】
組み合わせ作成手段22は、領域情報ψ(i,j)の組み合わせが複数作成可能であったときは、最終のステップにおける領域情報ψ(i,j)が最も大きな組み合わせを採用する。以上の構成によれば、最終のステップにおいて領域情報ψ(i,j)が最大化される。従って、ステップs5において、手先8の位置及び姿勢状態をそのままにしつつ、アームアングルψを大きく変化させることが可能となる。このことは、例えばステップs5から更に手先8の位置及び姿勢状態を変化させようとする場合、その変化の最初のステップにおけるアームアングルψの選択の柔軟性に優れることから、少なくとも以下の3つのメリットが生じる。第1に、領域情報ψ(i,j)の組み合わせの作成が可能となる確率が高くなる。第2に、領域情報ψ(i,j)の組み合わせの作成可能な組数が複数となる確率が高くなる。第3に、領域情報ψ(i,j)の組み合わせの作成可能な組数がより多くなる可能性がある。
【0074】
以上に本願発明の好適な第1〜第4実施形態を説明したが、これらの実施形態は適宜に組み合わせることができる。
【符号の説明】
【0075】
1 冗長マニピュレータ
20 状態取得手段
21 領域算出手段
22 組み合わせ作成手段
23 冗長自由度決定手段
24 関節角算出手段
25 CP制御手段
100 制御装置(決定装置)
ψ アームアングル(冗長自由度)
ψ(i,j) 領域情報
Tn 状態情報
【特許請求の範囲】
【請求項1】
冗長マニピュレータの手先の位置及び姿勢状態を、CP(Continuous Point)制御にて、第1の位置及び姿勢状態から第2の位置及び姿勢状態へと変化させるに際し、CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する方法であって、
各ステップにおける前記手先の位置及び姿勢状態を取得し、
各ステップにおける前記手先の位置及び姿勢状態に基づいて、各ステップにおける前記冗長マニピュレータの冗長自由度の実現可能な領域を算出し、
隣り合うステップ間で前記領域同士が少なくとも一部重複するように、前記第1の位置及び姿勢状態から前記第2の位置及び姿勢状態に至る間の前記領域の組み合わせを作成し、
前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する、
冗長マニピュレータの冗長自由度の決定方法。
【請求項2】
請求項1に記載の冗長マニピュレータの冗長自由度の決定方法であって、
前記領域の組み合わせが複数作成可能であったときは、最終のステップにおける前記領域が最も大きな組み合わせを採用する、
冗長マニピュレータの冗長自由度の決定方法。
【請求項3】
請求項1又は2に記載の冗長マニピュレータの冗長自由度の決定方法であって、
前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定するに際し、ステップ間における前記冗長自由度の差分の二乗和が最も小さくなるように、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する、
冗長マニピュレータの冗長自由度の決定方法。
【請求項4】
請求項1〜3の何れかに記載の冗長マニピュレータの冗長自由度の決定方法であって、
前記冗長マニピュレータは、7自由度である、
冗長マニピュレータの冗長自由度の決定方法。
【請求項5】
請求項4に記載の冗長マニピュレータの冗長自由度の決定方法であって、
前記冗長マニピュレータは、S−R−S型である、
冗長マニピュレータの冗長自由度の決定方法。
【請求項6】
冗長マニピュレータの手先の位置及び姿勢状態を、CP(Continuous Point)制御にて、第1の位置及び姿勢状態から第2の位置及び姿勢状態へと変化させるに際し、CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する装置であって、
各ステップにおける前記手先の位置及び姿勢状態を取得する状態取得手段と、
各ステップにおける前記手先の位置及び姿勢状態に基づいて、各ステップにおける前記冗長マニピュレータの冗長自由度の実現可能な領域を算出する領域算出手段と、
隣り合うステップ間で前記領域同士が少なくとも一部重複するように、前記第1の位置及び姿勢状態から前記第2の位置及び姿勢状態に至る間の前記領域の組み合わせを作成する組み合わせ作成手段と、
前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する冗長自由度決定手段と、
を備える、
冗長マニピュレータの冗長自由度の決定装置。
【請求項7】
請求項6に記載の冗長マニピュレータの冗長自由度の決定装置であって、
前記組み合わせ作成手段は、前記領域の組み合わせが複数作成可能であったときは、最終のステップにおける前記領域が最も大きな組み合わせを採用する、
冗長マニピュレータの冗長自由度の決定装置。
【請求項8】
請求項6又は7に記載の冗長マニピュレータの冗長自由度の決定装置であって、
前記冗長自由度決定手段は、前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定するに際し、ステップ間における前記冗長自由度の差分の二乗和が最も小さくなるように、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する、
冗長マニピュレータの冗長自由度の決定装置。
【請求項9】
請求項6〜8の何れかに記載の冗長マニピュレータの冗長自由度の決定装置であって、
前記冗長マニピュレータは、7自由度である、
冗長マニピュレータの冗長自由度の決定装置。
【請求項10】
請求項9に記載の冗長マニピュレータの冗長自由度の決定装置であって、
前記冗長マニピュレータは、S−R−S型である、
冗長マニピュレータの冗長自由度の決定装置。
【請求項11】
冗長マニピュレータの手先の位置及び姿勢状態を、CP(Continuous Point)制御にて、第1の位置及び姿勢状態から第2の位置及び姿勢状態へと変化させるに際し、CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定するためのプログラムであって、
コンピュータを、
各ステップにおける前記手先の位置及び姿勢状態を取得する状態取得手段と、
各ステップにおける前記手先の位置及び姿勢状態に基づいて、各ステップにおける前記冗長マニピュレータの冗長自由度の実現可能な領域を算出する領域算出手段と、
隣り合うステップ間で前記領域同士が少なくとも一部重複するように、前記第1の位置及び姿勢状態から前記第2の位置及び姿勢状態に至る間の前記領域の組み合わせを作成する組み合わせ作成手段と、
前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する冗長自由度決定手段と、
として機能させる、
冗長マニピュレータの冗長自由度の決定プログラム。
【請求項12】
請求項11に記載の冗長マニピュレータの冗長自由度の決定プログラムであって、
前記組み合わせ作成手段は、前記領域の組み合わせが複数作成可能であったときは、最終のステップにおける前記領域が最も大きな組み合わせを採用する、
冗長マニピュレータの冗長自由度の決定プログラム。
【請求項13】
請求項11又は12に記載の冗長マニピュレータの冗長自由度の決定プログラムであって、
前記冗長自由度決定手段は、前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定するに際し、ステップ間における前記冗長自由度の差分の二乗和が最も小さくなるように、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する、
冗長マニピュレータの冗長自由度の決定プログラム。
【請求項14】
請求項11〜13の何れかに記載の冗長マニピュレータの冗長自由度の決定プログラムであって、
前記冗長マニピュレータは、7自由度である、
冗長マニピュレータの冗長自由度の決定プログラム。
【請求項15】
請求項14に記載の冗長マニピュレータの冗長自由度の決定プログラムであって、
前記冗長マニピュレータは、S−R−S型である、
冗長マニピュレータの冗長自由度の決定プログラム。
【請求項1】
冗長マニピュレータの手先の位置及び姿勢状態を、CP(Continuous Point)制御にて、第1の位置及び姿勢状態から第2の位置及び姿勢状態へと変化させるに際し、CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する方法であって、
各ステップにおける前記手先の位置及び姿勢状態を取得し、
各ステップにおける前記手先の位置及び姿勢状態に基づいて、各ステップにおける前記冗長マニピュレータの冗長自由度の実現可能な領域を算出し、
隣り合うステップ間で前記領域同士が少なくとも一部重複するように、前記第1の位置及び姿勢状態から前記第2の位置及び姿勢状態に至る間の前記領域の組み合わせを作成し、
前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する、
冗長マニピュレータの冗長自由度の決定方法。
【請求項2】
請求項1に記載の冗長マニピュレータの冗長自由度の決定方法であって、
前記領域の組み合わせが複数作成可能であったときは、最終のステップにおける前記領域が最も大きな組み合わせを採用する、
冗長マニピュレータの冗長自由度の決定方法。
【請求項3】
請求項1又は2に記載の冗長マニピュレータの冗長自由度の決定方法であって、
前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定するに際し、ステップ間における前記冗長自由度の差分の二乗和が最も小さくなるように、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する、
冗長マニピュレータの冗長自由度の決定方法。
【請求項4】
請求項1〜3の何れかに記載の冗長マニピュレータの冗長自由度の決定方法であって、
前記冗長マニピュレータは、7自由度である、
冗長マニピュレータの冗長自由度の決定方法。
【請求項5】
請求項4に記載の冗長マニピュレータの冗長自由度の決定方法であって、
前記冗長マニピュレータは、S−R−S型である、
冗長マニピュレータの冗長自由度の決定方法。
【請求項6】
冗長マニピュレータの手先の位置及び姿勢状態を、CP(Continuous Point)制御にて、第1の位置及び姿勢状態から第2の位置及び姿勢状態へと変化させるに際し、CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する装置であって、
各ステップにおける前記手先の位置及び姿勢状態を取得する状態取得手段と、
各ステップにおける前記手先の位置及び姿勢状態に基づいて、各ステップにおける前記冗長マニピュレータの冗長自由度の実現可能な領域を算出する領域算出手段と、
隣り合うステップ間で前記領域同士が少なくとも一部重複するように、前記第1の位置及び姿勢状態から前記第2の位置及び姿勢状態に至る間の前記領域の組み合わせを作成する組み合わせ作成手段と、
前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する冗長自由度決定手段と、
を備える、
冗長マニピュレータの冗長自由度の決定装置。
【請求項7】
請求項6に記載の冗長マニピュレータの冗長自由度の決定装置であって、
前記組み合わせ作成手段は、前記領域の組み合わせが複数作成可能であったときは、最終のステップにおける前記領域が最も大きな組み合わせを採用する、
冗長マニピュレータの冗長自由度の決定装置。
【請求項8】
請求項6又は7に記載の冗長マニピュレータの冗長自由度の決定装置であって、
前記冗長自由度決定手段は、前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定するに際し、ステップ間における前記冗長自由度の差分の二乗和が最も小さくなるように、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する、
冗長マニピュレータの冗長自由度の決定装置。
【請求項9】
請求項6〜8の何れかに記載の冗長マニピュレータの冗長自由度の決定装置であって、
前記冗長マニピュレータは、7自由度である、
冗長マニピュレータの冗長自由度の決定装置。
【請求項10】
請求項9に記載の冗長マニピュレータの冗長自由度の決定装置であって、
前記冗長マニピュレータは、S−R−S型である、
冗長マニピュレータの冗長自由度の決定装置。
【請求項11】
冗長マニピュレータの手先の位置及び姿勢状態を、CP(Continuous Point)制御にて、第1の位置及び姿勢状態から第2の位置及び姿勢状態へと変化させるに際し、CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定するためのプログラムであって、
コンピュータを、
各ステップにおける前記手先の位置及び姿勢状態を取得する状態取得手段と、
各ステップにおける前記手先の位置及び姿勢状態に基づいて、各ステップにおける前記冗長マニピュレータの冗長自由度の実現可能な領域を算出する領域算出手段と、
隣り合うステップ間で前記領域同士が少なくとも一部重複するように、前記第1の位置及び姿勢状態から前記第2の位置及び姿勢状態に至る間の前記領域の組み合わせを作成する組み合わせ作成手段と、
前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する冗長自由度決定手段と、
として機能させる、
冗長マニピュレータの冗長自由度の決定プログラム。
【請求項12】
請求項11に記載の冗長マニピュレータの冗長自由度の決定プログラムであって、
前記組み合わせ作成手段は、前記領域の組み合わせが複数作成可能であったときは、最終のステップにおける前記領域が最も大きな組み合わせを採用する、
冗長マニピュレータの冗長自由度の決定プログラム。
【請求項13】
請求項11又は12に記載の冗長マニピュレータの冗長自由度の決定プログラムであって、
前記冗長自由度決定手段は、前記領域の組み合わせに基づいて、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定するに際し、ステップ間における前記冗長自由度の差分の二乗和が最も小さくなるように、前記CP制御の各ステップにおける前記冗長マニピュレータの冗長自由度を決定する、
冗長マニピュレータの冗長自由度の決定プログラム。
【請求項14】
請求項11〜13の何れかに記載の冗長マニピュレータの冗長自由度の決定プログラムであって、
前記冗長マニピュレータは、7自由度である、
冗長マニピュレータの冗長自由度の決定プログラム。
【請求項15】
請求項14に記載の冗長マニピュレータの冗長自由度の決定プログラムであって、
前記冗長マニピュレータは、S−R−S型である、
冗長マニピュレータの冗長自由度の決定プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【公開番号】特開2012−40633(P2012−40633A)
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願番号】特願2010−182804(P2010−182804)
【出願日】平成22年8月18日(2010.8.18)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願日】平成22年8月18日(2010.8.18)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
[ Back to top ]