説明

超冗長自由度ロボットの動作制御方法

【課題】 アーム部および胴体部に複数の関節が設けられた超冗長自由度ロボットが作業を行う際の転倒を防止することができる超冗長自由度ロボットの動作制御方法を提供する。
【解決手段】 ロボット2は、自由度4の胴体部21と、自由度7のアーム部22,23を備えた超冗長自由度を有している。ロボット2の動作を決定するにあたり、まず、複数の胴体動作パターンを設定し、各胴体動作パターンに対して、胴体部21が起立状態を維持しうる胴体部21の関節の最大可動角を求める。この胴体動作パターンに対するアーム部22,23の作業可能領域を求め、作業可能領域と作業対象物体の位置情報に基づいて、ロボット2の動作を決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多数の関節を備える起立した胴体部と、胴体部に取り付けられ、多数の関節を備えるアーム部とを備え、超冗長自由度を有する超冗長自由度ロボットの動作を制御する超冗長自由度ロボットの動作制御方法に関する。
【背景技術】
【0002】
自由度7以上を有する冗長自由度を有するロボットにおいて、その手先の位置を位置決めするための関節角度の個数は無限になる。このような冗長自由度を有するロボットの姿勢制御を行うものとして、特開平5−233042号公報(特許文献1)に開示された冗長自由度ロボットの姿勢制御方式がある。この姿勢制御方式は、作業対象領域および障害物の各データを取得してニューラルネットワークに入力し、このニューラルネットワークによって冗長自由度のロボット肘角を求めている。そして、作業対象物のデータおよび肘角度のデータに基づいて、冗長自由度ロボットの姿勢を一意的に決定して制御を行うというものである。
【特許文献1】特開平5−233042号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
上記特許文献1に記載された姿勢制御方式においては、ロボットがある作業を行うために、ロボット逆運動学方程式によって、アーム先端の位置と姿勢との情報により、アームと胴体の関節角を求めることが必要となる。冗長自由度を有するロボットに対して、ロボット逆運動学方程式を解くためには、事前にその拘束条件を確定して冗長自由度を制約しなければならない。
【0004】
ここで、冗長自由度ロボットにおいては、ニューラルネットワークによって逆運動学方程式の拘束条件のひとつであるロボットの肘角度のみを指定している。このため、たとえば胴体にも多数の関節を有する超冗長自由度のロボット、たとえば人間型のロボットについては、姿勢制御を行うことができず、たとえば肘角度を指定したとしても、胴体部の関節角度によっては、ロボットが転倒してしまう恐れがあるという問題があった。
【0005】
そこで、本発明の課題は、アーム部および胴体部に複数の関節が設けられた超冗長自由度ロボットが作業を行う際の転倒を防止することができる超冗長自由度ロボットの動作制御方法を提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決した本発明に係る超冗長自由度ロボットの動作制御方法は、多数の関節を備える起立した胴体部と、胴体部に取り付けられ、多数の関節を備えるアーム部とを備え、超冗長自由度を有する超冗長自由度ロボットの作業対象物体に対する動作を制御する超冗長自由度ロボットの制御方法であって、胴体部における複数の関節回転動作パターンを設定し、各関節回転動作パターンに対して、胴体部が起立状態を維持しうる胴体部の関節の最大可動角を求め、関節回動動作パターンに対する胴体部の関節の最大可動角に対するアーム部の作業可能領域を求め、関節回動動作パターンとアーム部の作業可能領域との関係、および作業対象物体の位置情報に基づいて、胴体部の動作を決定することを特徴とするものである。
【0007】
本発明に係る超冗長自由度ロボットの動作制御方法では、アーム部および胴体部に多数の関節が設けられた超冗長ロボットを動作制御するにあたり、まず胴体部の最大可動角を求め、この最大可動角に対して、アーム部の作業可能領域を求めている。このため、胴体部での最大可動角を求めることにより、ロボットが転倒しない範囲でアーム部の関節角度を求めることができるようになる。この条件下でアーム部の関節角度を求めるようにしているので、ロボットを転倒させることなく、アーム部における複数の関節の関節角度を求めることができる。
【0008】
ここで、超冗長自由度ロボットは、周囲の作業対象物体を視認可能な視覚センサを有し、作業対象物体に位置情報を、視覚センサによって取得する態様とすることができる。
【0009】
視覚センサによって作業対象物体の位置情報を取得することにより、作業対象物体をより確実に把握することができる。
【発明の効果】
【0010】
本発明に係る超冗長自由度ロボットの動作制御方法によれば、アーム部および胴体部に複数の関節が設けられた超冗長自由度ロボットが作業を行う際の転倒を効果的に防止することができる。
【発明を実施するための最良の形態】
【0011】
以下、図面を参照して本発明の実施形態について説明する。図1は、本実施形態に係る動作制御装置のブロック構成図である。
【0012】
図1に示すように、本実施形態に係る動作制御装置1は、胴体動作パターン検討部11、胴体関節角度算出部12、作業領域算出部13、ロボット動作戦略決定部14、およびロボット動作パターン出力部15を備えている。また、動作制御装置1には、ロボット2および視覚センサ3が接続されている。視覚センサ3は、ロボット2の周囲を撮像し、作業対象物体の位置情報を検出する。視覚センサ3は、検出した作業対象物体の位置情報を動作制御装置1におけるロボット動作戦略決定部14に出力している。
【0013】
図2に示すように、ロボット2は、胴体部21、右アーム部22、左アーム部23、頭部24、および台車25を備えている。胴体部21には、第一胴体関節21A〜第四胴体関節21Dまでの4つの関節が設けられており、胴体部21は起立した状態とされている。胴体部21には、これらの4つの関節が設けられており、自由度4とされている。
【0014】
図3に示すように、第一胴体関節21A、第二胴体関節21B、および第四胴体関節21Dは、Pitch方向(水平軸Y軸周り方向)に回動可能とされ、第三胴体関節21Cは、Yaw方向(鉛直軸Z軸周り方向)に回動可能とされている。また、各胴体関節21A〜21Dの回動可能方向(可動方向)および回動可能範囲(稼動範囲)を表1に示す。なお、表1においては、第一胴体関節21AをT♯1、第二胴体関節21BをT♯2、第三胴体関節21CをT♯3、第四胴体関節21DをT♯4とそれぞれ示している。
【0015】
【表1】

また、右アーム部22および左アーム部23は、それぞれ第一アーム関節22A,23A〜第七アーム関節22G〜23Gまでの7つの関節が設けられている。右アーム部22および左アーム部23は、それぞれその基端部が胴体部21に取り付けられており、右アーム部22および左アーム部23の先端部には、それぞれハンド22H,23Hが取り付けられている。右アーム部22および左アーム部23は、それぞれ7つの関節を有するので、それぞれ自由度7の冗長自由度とされている。
【0016】
かくして、ロボット2は、アーム部22,23の冗長自由度に加えて、胴体部21の複数自由度を有することから、超冗長自由度ロボットとされている。
【0017】
さらに、頭部24は、胴体部21の上端に固定された状態で取り付けられており、その自由度は0である。また、胴体部21は、台車25に搭載されている。台車25は、本体部25Aを有しており、本体部25Aに4つの車輪25Bが取り付けられている。
【0018】
動作制御装置1における胴体動作パターン検討部11には、図示しないロボット諸元記憶手段からロボット2の諸元が出力される。ここでの諸元には、ロボット2の自由度や表1に示す胴体部21における各胴体関節21A〜21Dの可動方向および可動範囲などが含まれる。胴体動作パターン検討部11では、これらの諸元に基づいて、胴体動作パターンを検討する。また、胴体動作パターン検討部11では、胴体動作パターンの検討結果を胴体関節角度算出部12に出力する。
【0019】
胴体関節角度算出部12では、胴体動作パターン検討部11から出力された胴体部21の動作パターンのそれぞれについて、それぞれの胴体関節21A〜21Dの最大関節角度を算出する。胴体関節角度算出部12では、算出した最大関節角度を作業領域算出部13に出力する。
【0020】
作業領域算出部13では、胴体関節角度算出部12から出力された最大関節角度に基づいて、アーム部22,23における作業が可能となる作業領域を動作パターンごとに算出する。作業領域算出部13は、算出した各動作パターンの作業領域をロボット動作戦略決定部14に出力する。
【0021】
ロボット動作戦略決定部14では、作業領域算出部13から出力された作業領域および視覚センサ3から出力される作業対象物体の位置情報に基づいて、ロボットの動作パターン戦略を決定する。ロボット動作戦略決定部14は、決定した動作パターン戦略をロボット動作パターン出力部15に出力する。
【0022】
ロボット動作パターン出力部15は、ロボット動作戦略決定部14から出力された動作戦略に従って、ロボット2を駆動させる。そのため、ロボット動作パターン出力部15はロボット2に接続され、ロボット2における胴体部21およびアーム部22,23を駆動制御する。
【0023】
以上の構成を有する本実施形態に係る動作制御装置1による制御手順について、図1を参照しながら説明する。
【0024】
動作パターン制御を開始する際には、まず、胴体動作パターン検討部11において、胴体動作パターンを検討する。本実施形態に係るロボット2では、胴体部21には、4つの胴体関節21A〜21Dが設けられており、このうち、ピッチ方向に回動可能となっている関節は、第一胴体関節21A,第二胴体関節21B、および第四胴体関節21Dの3つの関節である。したがって、これらの3つの関節をどのように屈折させるかについて検討する。
【0025】
これらの関節をどのように屈折されるかを考える基準として、ロボット2が転倒しないことが条件となる。ロボット2が転倒しないようにするためには、ZMP(Zero Moment Point)が安定領域にあることを条件とすることができる。第一胴体関節21Aと第二胴体関節21Bの稼動範囲を考慮し、胴体動作パターンとしては、図4(a)〜(f)に示す6つのパターンが考えられる。
【0026】
図4(a)に示す第一動作パターンでは、第一胴体関節21A、第二胴体関節21B、および第四胴体関節21Dのいずれもが屈曲していない。また、図4(b),(c)に示す第二,第三動作パターンでは、1つの関節のみが屈曲しており、図4(b)に示す第二動作パターンでは、第二胴体関節21Bのみが、図4(c)に示す第三動作パターンでは、第四胴体関節21Dのみが屈曲している。さらに、図4(d),(e)に示す第四,第五動作パターンでは2つの関節が屈曲しており、図4(d)に示す第四動作パターンでは第一胴体関節21Aおよび第二胴体関節21Bが屈曲し、図4(e)に示す第五動作パターンでは、第二胴体関節21Bおよび第四胴体関節21Dが屈曲している。そして、図4(f)に示す第六動作パターンでは、第一胴体関節21A、第二胴体関節21B、および第四胴体関節21Dのすべての関節が屈曲している。このように、胴体動作パターンとしては6つの動作パターンが考えられる。これらの動作パターンでは、ロボット2の肩の部分が水平になるように、アーム部22,23の第一アーム関節22A,23Aの関節角度を調整している。
【0027】
胴体動作パターン検討部11は、このようにして検討した結果得られた6つのパターンを胴体関節角度算出部12に出力する。胴体関節角度算出部12では、これら6つのパターンのそれぞれについて、胴体関節角度を算出する。ここでの胴体関節角度としては、ロボット2が起立状態を維持しつつ、各関節角度が最も大きくなる関節角度(最大可動角、以下、「最大関節角度」という)を求め、この最大関節角度以内の角度を胴体関節角度として求める。
【0028】
いま、図5に示すように、ロボット2の安定領域SAは、台車25における4つの車輪25Bの接地点が形成する支持多角形(四角形)である。ロボット2のZMPの位置がこの安定領域内に存在していれば、ロボット2は、転倒することなく、運動、作業を行うことができる。逆に、ロボット2のZMPの位置が安定領域から外れている場合には、ロボット2は不安定となり、理論上は転倒してしまう。
【0029】
ここで、ピッチ方向に回動可能な第一胴体関節21A、第二胴体関節21B、および第四胴体関節21Dの最大関節角度を次の要領で求める。ここでは、図4(b)に示す第二アーム部21Bのみが屈曲する第二動作パターンについての最大関節角度の求め方について説明する。ロボット2における両アーム部22,23の第一アーム関節22A,23Aについては、両アーム部22,23が常に水平となるように回転させ、その他の両アーム部22,23におけるその他の関節角は0とする。このときの両アーム部22,23の姿勢は、ロボット2が転倒に対して不安定となる最悪姿勢となる。また、ロボット2の両手は、最大設計重量の物体を所持しているとする。この状態で、ロボット2を第二胴体関節21B周りに回転させ、ZMPの位置を計算する。この場合、慣性座標系におけるx軸方向、y軸方向のZMPの位置xzmp、yzmpは、下記(1)式および(2)式によって表される。
【0030】
【数1】

ここで、[gx、gy、gz]:重力加速度
mi:i番目のリンクの質量
[xi、yi、zi]:i番目のリンクの質心位置
上記(1)式および(2)式に第二胴体関節21Bの関節角度を変えて代入した計算結果を図6に示す。ここで、ロボット2を第二胴体関節21B周りに回転させるとき、x軸方向においてZMPは変化するがy軸方向には変化しない。このため、図6にはx軸方向においてもZMPの位置xzmpのみを示す。図6に示される第二胴体関節21Bの関節角度θ2とZMPの位置xzmpとの関係、およびロボット2の安定領域の定義により、図3(b)に示す第二動作パターンにおけるロボット2が転倒に対して不安定となる第二胴体関節21Bの最大可動角を決定することができる。具体的には、たとえばx軸方向における安定領域を−120.0mm≦xzmp≦120.0mmに設定する場合、第二胴体関節21Bの最大可動角度(最大関節角度)は14度となる。第二胴体関節21Bの関節角度が14度以内となっているときには、両アーム部22,23が任意の姿勢を保持しても、ロボット2は転倒することなく、安定している。
【0031】
このようにして、第二パターンにおける第二胴体関節21Bの最大関節角度を算出することができるが、他のパターンについても、同様の手法によって胴体関節角度(最大関節角度)を算出することができる。胴体関節角度算出部12は、こうして求めた胴体関節角度を作業領域算出部13に出力する。
【0032】
作業領域算出部13では、胴体関節角度算出部12から出力される胴体関節角度を用いて、両アーム部22,23における作業可能領域(最大作業領域)を求める。胴体動作パターン検討部11で検討された各動作パターンにおいて、胴体関節角度が最大関節角度を取るときのロボット2の肩の位置を決定することができる。ロボット2の前方を作業領域とし、しかもアーム部22,23の各関節の可動範囲を考慮しない場合、各動作パターンにおいての両手先の作業可能領域は、右アーム部22については下記(3)式、左アーム部23については(4)式によって推定することができる。ただし、ロボット2が両手で作業する場合、その作業領域は、左右手先の作業可能範囲の集合である。
【0033】
(x−x0i+(y+y0i+(z−z0i≦r ・・・(3)
(x−x0i+(y−y0i+(z−z0i≦r ・・・(4)
上記(3)式(4)式において、
x≧x0i
(x0i,±y0i,z0i):各動作パターンにおける胴体関節が最大関節角度をとるときにおける左右の肩の位置
r:アームの長さ
ロボット2における左右手先の作業可能領域の一例(y=±y0iのxz平面)を図7に示す。図中のxendは、x軸方向における手先位置、zendはz軸方向における手先位置である。図7における各曲線は、各動作パターンにおいての手先作業領域の境界線である。このようにして、作業領域算出部13において、両手先の作業領域を算出することができる。作業領域算出部13は、算出した作業領域をロボット動作戦略決定部14に出力する。
【0034】
ロボット動作戦略決定部14では、各動作パターンにおける作業領域の関係、および視覚センサ3によって取得される作業対象物体の位置情報に基づいて、ロボット2の動作戦略を決定する。ただし、動作戦略を決定する際には、ロボット2の動作をできるだけ容易かつ単純に実現することが望まれる。このため、動作する胴体関節の数をできるだけ少なくすることと、アルゴリズムをできるだけ単純化することを考慮する。
【0035】
図7に示す例では、第二動作パターンにおける手先作業領域と第五動作パターンにおける手先作業領域とがほぼ重なっている。また、第六動作パターンの手先作業領域は、第四動作パターンの手先作業領域に含まれている。さらに、第二動作パターンでは1つの関節が動作するのに対して、第五動作パターンでは2つの関節が動作し、第四動作パターンでは2つの関節が動作するのに対して、第六動作パターンでは3つの関節が動作する。したがって、動作する関節の数およびアルゴリズムの単純化の観点から、第五動作パターンおよび第六動作パターンについては、考慮しないこととする。
【0036】
以上の考慮点のもとで、ロボット動作戦略決定部14におけるロボット動作戦略の決定手順について説明する。図8は、ロボット動作戦略の決定手順を示すフローチャートである。
【0037】
図8に示すように、まず、視覚センサ3から出力される作業対象物体の位置情報(x座標、y座標、およびz座標)を取得する(S1)。次に、作業対象物体の位置情報を第一動作パターンの手先作業領域を表す不等式に代入する(S2)。ここでの不等式は、図7における第一動作パターンに対応する曲線(a)の下側の領域を表す式である。そして、不等式が成立するか否かを判断する(S3)。
【0038】
その結果、不等式が成立すると判断した場合には、第一動作パターンによって作業を行うと決定し(S4)、処理を終了する。一方、不等式が成立しないと判断した場合には、作業対象物体の位置情報を第二動作パターンの手先作業領域を表す不等式に代入する(S5)。ここでの不等式は、図7における第二動作パターンに対応する曲線(b)の下側の領域を表す式である。そして、不等式が成立するか否かを判断する(S6)。
【0039】
その結果、不等式が成立すると判断した場合には、第二動作パターンによって作業を行うと決定し(S7)、処理を終了する。一方、不等式が成立しないと判断した場合には、作業対象物体の位置情報を第三動作パターンの手先作業領域を表す不等式に代入する(S8)。ここでの不等式は、図7における第三動作パターンに対応する曲線(c)の下側の領域を表す式である。そして、不等式が成立するか否かを判断する(S9)。
【0040】
その結果、不等式が成立すると判断した場合には、第三動作パターンによって作業を行うと決定し(S10)、処理を終了する。一方、不等式が成立しないと判断した場合には、作業対象物体の位置情報を第四動作パターンの手先作業領域を表す不等式に代入する(S11)。ここでの不等式は、図7における第四動作パターンに対応する曲線(d)の下側の領域を表す式である。そして、不等式が成立するか否かを判断する(S12)。
【0041】
その結果、不等式が成立すると判断した場合には、第四動作パターンによって作業を行うと決定し(S13)、処理を終了する。一方、不等式が成立しないと判断した場合には、現在のロボット2の位置での作業は不可能であると判断し、台車を移動する(S14)。その後、ステップS1に戻って、再びロボットの動作戦略を検討して決定する。
【0042】
こうして、ロボット動作戦略決定部14においてロボット動作戦略を決定したら、決定したロボット戦略をロボット動作パターン出力部15に出力する。ロボット動作パターン出力部15では、決定されたロボット動作戦略に基づいて、ロボット2の動作制御を行う。
【0043】
このように、本実施形態に係るロボットの動作制御では、複数の自由度を有する胴体部21が起立しうる条件での胴体動作パターンおよび胴体部21における各胴体関節の最大可動角を求め、冗長自由度を有するアーム部22,23の作業可能領域を求めている。この作業可能領域内でアーム部22,23の動作戦略を決定するので、超冗長自由度を有するロボット2が転倒することなく、作業を行うことができるようになる。
【0044】
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されるものではない。たとえば、アーム部22,23としては、冗長自由度を有するものとして7のつのアーム関節を設けているが、8以上の関節を設けることができる。また、胴体部21については、4つの胴体関節を設けているが、5以上の関節を設けることができ、もちろん、胴体部が冗長自由度となる7以上の胴体関節を設けることもできる。さらに、上記実施形態では、アルゴリズムを単純化させる目的で、第五動作パターンおよび第六動作パターンを考慮せずに動作戦略を決定しているが、すべての動作パターンを考慮して動作戦略を決定することもできる。また、上記実施形態では、胴体部21の動作パターンとして第六動作パターンまで設定しているが、すべてのパターンである8つの動作パターンを設定することもできる。
【図面の簡単な説明】
【0045】
【図1】本発明に係る動作制御装置のブロック構成図である。
【図2】動作制御装置で制御されるロボットの模式図である。
【図3】胴体関節の回動方向を説明するための模式的斜視図である。
【図4】胴体部の動作パターンを説明するための模式図であり、(a)は第一動作パターン、(b)は第二動作パターン、(c)は第三動作パターン、(d)は第四動作パターン、(e)は第五動作パターン、(f)は第六動作パターンをそれぞれ示す。
【図5】安定領域を説明するための台車の模式的平面図である。
【図6】第二胴体関節の関節角度とx方向のZMPの位置xzmpの関係を示すグラフである。
【図7】ロボットにおける手先の作業可能領域の一例を示すグラフである。
【図8】ロボット動作戦略の決定手順を示すフローチャートである。
【符号の説明】
【0046】
1…動作制御装置、2…ロボット、3…視覚センサ、11…胴体動作パターン検討部、12…胴体関節角度算出部、13…作業領域算出部、14…ロボット動作戦略決定部、15…ロボット動作パターン出力部、21…胴体部、21A…第一胴体関節、21B…第二胴体関節、21C…第三胴体関節、21D…第四胴体関節、22…右アーム部、23…左アーム部、24…頭部、25…台車、SA…安定領域。

【特許請求の範囲】
【請求項1】
多数の関節を備える起立した胴体部と、前記胴体部に取り付けられ、多数の関節を備えるアーム部とを備え、超冗長自由度を有する超冗長自由度ロボットの作業対象物体に対する動作を制御する超冗長自由度ロボットの制御方法であって、
前記胴体部における複数の胴体動作パターンを設定し、前記各胴体動作パターンに対して、前記胴体部が起立状態を維持しうる前記胴体部の関節の最大可動角を求め、
前記胴体動作パターンに対する前記胴体部の関節の最大可動角に対する前記アーム部の作業可能領域を求め、
前記胴体動作パターンと前記アーム部の作業可能領域との関係、および前記作業対象物体の位置情報に基づいて、前記超冗長自由度ロボットの動作を決定することを特徴とする超冗長自由度ロボットの動作制御方法。
【請求項2】
前記超冗長自由度ロボットは、周囲の作業対象物体を視認可能な視覚センサを有し、
前記作業対象物体に位置情報を、前記視覚センサによって取得する請求項1に記載の超冗長自由度ロボットの動作制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2006−159359(P2006−159359A)
【公開日】平成18年6月22日(2006.6.22)
【国際特許分類】
【出願番号】特願2004−355838(P2004−355838)
【出願日】平成16年12月8日(2004.12.8)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】