JP4625910B2 - 移動ロボットの関節制御装置 - Google Patents
移動ロボットの関節制御装置 Download PDFInfo
- Publication number
- JP4625910B2 JP4625910B2 JP2000284080A JP2000284080A JP4625910B2 JP 4625910 B2 JP4625910 B2 JP 4625910B2 JP 2000284080 A JP2000284080 A JP 2000284080A JP 2000284080 A JP2000284080 A JP 2000284080A JP 4625910 B2 JP4625910 B2 JP 4625910B2
- Authority
- JP
- Japan
- Prior art keywords
- joint
- angle
- motor
- value
- energy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Manipulator (AREA)
Description
【発明の属する技術分野】
本発明は、移動ロボットの関節を制御する制御装置において、特にロボットが静止状態に保っているとき、関節が消費するエネルギーの量を節約できるように制御する移動ロボットの関節制御装置に関する。
【0002】
【従来の技術】
関節脚式の移動ロボットは、静止している間でも自分の体重を支えるのに少なからずエネルギーを消費するという動物に似た特徴を持っている。この移動ロボットは、車輪式の移動ロボットが静止している間はエネルギーを消費しないのに比べて、上記特徴は大きな欠点であり、段階や段差があっても移動できる脚式の利点はあるものの、その実用化を阻む原因の一つになっている。
【0003】
工学的な立場では、静止状態のロボットは外部にしている仕事は零なので、これらのエネルギーは本来消費する必要がないものであり、何らかの改善が求められていた。
【0004】
ところで、歩行ロボットの関節構成としては、例えば特許公報第2592340号公報に開示されているような関節構造がある。この脚式歩行ロボットの関節には、電動モータとその出力を減速増力可能な減速機が組合わされて使われている。
【0005】
また、この特許公報に開示されている構成では、ロボットが起立しているときに関節の起立位置が物理的に不安定な点になっているために、自分の体重を支えるべく脚関節のモータに電流を流し続ける所謂サーボロックをかけておく必要がある。
【0006】
また、公知のサーボロックは、指令値(又は目標値)である目標関節角度に対して現在の関節角度が一致していれば、モータに供給する電流値は0になるが、上述したように起立姿勢時の関節角度は元々が不安定なため、両者が一致することはあり得ず、両者の差分に決められた比例定数を乗じた量の電流値が増幅器からモータに供給され、これが消費エネルギーの元になっていた。
【0007】
一方、移動ロボットのエネルギー消費状況を調べてみると、移動そのものに使うエネルギーと、立ち止まっている間に使うエネルギーの2つがあることが分かる。ロボットを移動させる目的の多くが移動した先で何らかの作業をさせることにあり、その作業を遂行している間の姿勢は起立姿勢とする場合が多いことから、歩行中のエネルギーを削減すると共に、起立静止時のエネルギーを削減することは非常に重要な課題である。
【0008】
また、現在の知能の技術水準では、移動中と言えどもしばしば立ち止まって、自分がいる現在地を確認するのに長時間を要することから、作業遂行の全時間の占める起立姿勢の時間は相当に長いものとなる。従って、静止起立時のエネルギーの節約が大切である理由がそこにある。
【0009】
さらに、ロボットには脚関節以外にも上体に多くの関節があり、例えば本発明者等が先に開示した特開平8−197467号公報には関節の配置構成が概念的に示されている。因みに、この公開公報の図1には肘の関節がb(i)の記号で示されている。
【0010】
更にまた、腕にも重力がかかるので、エネルギーを節約する立場から言えば腕を真っ直ぐ下ろした姿勢で保持されることが理想であるが、腕の表面全体に感触を持つ人間とは違い、現在のロボットのセンサは貧弱であり、歩行中に腕が同じ環境下にある他の物体と干渉することを避けるため、通常腕は肘で曲げられた状態で保持され、歩行を行なっている。
【0011】
このような目的で腕を曲げた状態に保つにも、極めて多くのエネルギーを消費している。
【0012】
また、技術の進歩により腕を下向きに下ろした状態で歩行することが可能になったとしても、従来技術では加減速に伴う加速度Gに対応してその姿勢を維持するのにサーボロックを行なうことから、エネルギー消費が基本的に必要である。
【0013】
さらに、電気エネルギーが必要なサーボロックをせずに脚関節を所望の位置に固定する技術も他の先行技術の中に見ることができる。例えば脚関節を駆動するのにモータの出力を直動型のネジを介して関節に伝えて駆動する方法である。この方法は、ロボットの体重による外力ではネジがセルフロック状態になって変位を許さず、結局ロボットはエネルギーの供給を受けることなく静止姿勢を保つことができる。
【0014】
しかし、ネジをモータの減速機に使う方法は、ネジの伝達効率が極めて悪く、肝心の歩行時に消費するエネルギーが増大するという欠点があり、一連の作業行為を遂行すると言う視点から見ると省エネには向かない。
【0015】
更にまた、他の先行技術の中に、関節にブレーキをかけてロックする技術がある。産業用ロボットでは、電源が切れたときにロボットの落下により人身事故になることを防止する目的で、関節構造と並列に電磁クラッチを設けている。通常は電流を流して電磁クラッチを切っておき、停電などで電源が故障したときには電磁クラッチがバネの力で関節をロックする、と言う概念である。
【0016】
この概念が歩行ロボットの省エネ対策として使えないことは、正常時に無駄な電流を流して置かなければならないことや、電磁クラッチそのものが非常に重たいこと等を想起すれば自明のことである。
【0017】
従って、従来提案されたどの技術も、消費エネルギーの削減と言ったテーマには不向きであり、その制御方法についても搭載エネルギーを節約すると言う視点が欠落していた。
【0018】
【発明が解決しようとする課題】
従来の関節制御技術は、目標関節角度と現在の関節角度の差分を計算し、その差分に一定の比例定数を乗じて操作量とし、その比例定数を最大の負荷が加わる場合にも良好な追従性を保証するように大きめに設定するようにしていた。
【0019】
従って、関節駆動のモータが消費するエネルギーの量はこの操作量によって決まり、同時にそれは関節に加わる外部からの負荷モーメントに応じたモータトルクを生ずるための電流値に等しい筈である。
【0020】
ここで、関節の静止時を考えると、この比例定数を大きく設定すると、目標関節角度と現在の関節角度との差分が小さくなり、また逆に小さく設定すると当該差分は大きくなって、結果的には消費するエネルギー(モータへ供給する電流値)は変わらないことになる。つまり、比例定数を変えても消費エネルギーは理論的に変わらないことになっている。
【0021】
この理由は、あくまで摩擦の影響がない理想的な関節を想定したものであるが、現実の関節には無視できない摩擦がある。しかもこの摩擦は比較的少ないと言われているハーモニック減速機でも相当に大きな摩擦量を示している。
【0022】
更に、関節には減速機だけでなく、シール材による摩擦や軸受による摩擦もあるので、関節全体としては相当に大きな摩擦を持っている。
【0023】
次に無視できない摩擦があるときの消費エネルギーを考察して見る。
【0024】
上記制御系に従って関節はモータによって目標値に近付くべく駆動されるが、実際の関節角度が目標値に近付くにつれて、上記操作量も減少し、結果的にモータへ供給される電流値も減少し、モータトルクは低下する。
【0025】
すると、低下したモータトルクでは関節の摩擦に対抗できず、静止姿勢では目標値と現在値との間には摩擦に応じた差分が制御偏差として残る。この制御偏差は摩擦が大きいほど大きくなる。この偏差を小さくするには、上記の比例定数を更に大きな量として、モータトルクを増大しなければならない。このように摩擦力は消費エネルギーを増大させる要因にもなっていた。
【0026】
一方、見方を変えて摩擦の大きい関節が静止している状態から考えて見る。摩擦が大きければ、重量が関節を座屈させようとして働く外部の負荷モーメント(これはほぼ一定値である)の一部が摩擦力で拮抗しているので、モータが負担するモーメント(換言すればモータトルク)はその分少なくしても、関節が座屈することなく静止状態を維持できる。
【0027】
つまり、静止姿勢でいるときには、厄介物であった摩擦は省エネのための貴重な保持トルクになり得る。摩擦が大きい関節ほど、静止のときには少ないエネルギーで姿勢を維持できると言うことになる。前述のネジを減速機に利用した関節では、この摩擦力が非常に大きいので、静止時に使うエネルギーが0となる。
【0028】
従って、もし稼働時間に占める静止時間が大きい用途のロボットならば、関節の構造は摩擦が多少あっても、総合的には省エネ向きの構成となり得る場合がある。
【0029】
本発明は、移動ロボットの関節に内在する摩擦力を利用して静止姿勢を維持する力の一部とし、それに見合ってモータへの供給電流値を低下させることにより、簡単且つ安価にして省エネを図ることができる移動ロボットの関節制御装置を提供することを目的とする。
【0030】
【課題を解決するための手段】
本発明は上記の目的を達成するため、次のような手段により移動ロボットの関節制御を行うものである。
【0031】
(1)第1のリンク、第2のリンク、及びこれら2つのリンクを相対回転運動可能に結合する関節とからなる構成を少なくとも1つ備えた移動ロボットにおいて、
前記関節に設けられて前記2つのリンクを特定の相対回転角度となる方向に付勢する付勢手段と、
前記関節の角度の目標値と現在値との差分を検知する差分検知手段と、
この差分検知手段の出力に関連したエネルギーが供給されて前記関節に前記相対回転運動を促すトルクを発生するモータと、
前記関節が実質的に前記特定の相対回転角度に位置しており、かつ静止状態にあることを検知する静止状態検知手段と、
この静止状態検知手段の出力に関連付けて前記エネルギーの量を減らす調節手段と、
を備えたもの。
【0032】
上記(1)のような移動ロボットの関節制御装置によれば、付勢手段の付勢力と摩擦力とを関節角度の維持力の一部に当てることができるので、関節の消費エネルギーを合理的に且つ大幅に削減し、もって所定の搭載エネルギーで従来よりも長時間の作業遂行能力をロボットに与えることができる。
また、上記(1)のような移動ロボットの関節制御装置によれば、関節に存する摩擦力を利用して静止姿勢を維持する力の一部とすることで、これに見合う分だけモータへの供給電流値を低下させることが可能となり、省エネを図ることができる。
【0043】
【発明の実施の形態】
以下本発明の実施の形態を図面を参照して説明する。
【0044】
図1は本発明を適用する移動ロボットとして2足歩行ロボットの概略構成を示す骨格図である。
【0045】
図1において、この2足歩行ロボットは左右それぞれの脚に6個の関節軸を備えている。これら6個の関節軸は、図示上方から順に、脚部回転用の関節軸10、股部のピッチ方向の関節軸12、同ロール方向の関節軸14、膝部のピッチ方向の関節軸16、足首部のピッチ方向の関節軸18、同ロール方向の関節軸20からなり、その下部には6軸力センサ22を介して足部24が備えられている。
【0046】
ここで、右脚と左脚とは鏡像の関係にあり、対称形状であることから、各々の符合に付されているR,Lは右、左を意味している。
【0047】
また、最上部には人体の骨盤に相当する腰板リンク26が用意されている。この腰板リンク26には関節の制御に必要な図示しない電源やアンプ及び歩行空間に対するロボットの傾斜を検知して電気信号として出力する傾斜計28などが搭載されている。
【0048】
股関節は図示するように3つの関節軸10,12,14から構成されており、足関節と膝関節との結合には大腿リンク30が使用されている。また、足関節も図示するように2つの関節軸18,20から構成されており、足関節と膝関節との結合にはスネリンク32が使用されている。
【0049】
足関節と足部24との間には、床反力Fの垂直方向成分Fz、横方向成分Fy及び床反力によって生ずるモーメントNの垂直方向成分Nz、進行方向成分Nx、横方向成分Nyを各々独立に分離して検出できる6軸力センサ22が設けられる。
【0050】
この6軸力センサも公知であり、これを足部と足関節との間に装着することも公知であるから、ここではその説明を省略する。
【0051】
図2(a)には、本発明の説明に最も適した膝関節の側面を概念図として示したものである。膝関節が起立姿勢をとるとき、大腿リンク230とスネリンク232とは概ね図示のように一直線となる位置を占めている。二つのリンクは適切な軸受によって互いに回転可能に結合されており、図示しないモータによって回転駆動されるものとする。
【0052】
また、このときのロボット全体の重心をCGとすれば、重心は一般に回転軸216の真上に位置することはなく、膝関節の回転中心216よりも進行方向前方Lだけ離れた位置にある。従って、重力は絶えずスネリンク232に対して大腿リンク230を図示のモーメントMの方向に回転させようと働いている。その負荷モーメントの大きさは、
M=mg×L
で与えられる。ロボットの静止状態を考えれば、慣性力はないから、関節にかかる負荷はこのモーメントだけである。
【0053】
関節の摩擦力が無視できるほどに小さければ、モータはこのモーメントMに対抗して図示位置を維持するトルクを発生することで、ロボットは起立姿勢を保つ。
【0054】
また、図2(b)には肘関節が前腕を前に出した状態の様子を概念図として示すものである。この姿勢では前腕の質量m´がその重心に重力として働き、重心から肘関節までの距離をL´とおけば、重力によるモーメントM´が前腕を反時計方向に回そうとして働き、そのモーメントM´の大きさは、
M´=m´g×L´
で示される。肘関節のモータに必要なトルクは、摩擦力がなければこのモーメントに対抗する大きさである。
【0055】
以上のことから、所定の姿勢角度を維持するのに必要なモータのトルクがどれだけ必要なのかが明らかである。モータのトルクと流す電流値との間には比例関係があり、このときの比例定数をトルク定数と呼ぶ。
【0056】
このトルクをモータが負担するには、減速機の速度比が大きく関与する。速度比が大きければモータのトルクはそれだけ小さくて済むが、速度比は運動条件を考慮して決めるので、静止時の条件だけで決めるわけではない。本発明は速度比とは関係なく省エネを図る点に特徴がある。
【0057】
次に従来の技術では上記の必要トルク以上のトルク発生をモータに強いている理由を述べる。
【0058】
関節には必ず摩擦力が発生していて減速機の内部摩擦力がその大部分を占めている。関節角度を所望の角度にしたいとき、公知の制御技術では次のようにモータ供給電流値を決めている。
【0059】
図3は従来及び本発明の実施の形態と共通な関節制御システムを示す構成図である。
【0060】
関節角度の目標値の創生には従来種々の方法が提案されているが、ここでは説明を簡潔にするため、予め歩行に適した関節角度を時系列データとして計算し、メモリに蓄えておく方法について説明する。
【0061】
脚関節に関して言えば、図1に示す構造では左右6関節づつ合計12の関節があることから、j番目の関節に関する量にはjの添字を付けて区別することにする。また、コンピュータは決められたサイクル毎に起動して所定のプログラムをこなし、その結果をモータの増幅器に出力するので、時刻tのときの量にはtという添字を付けて他のサイクルとは区別することにする。
【0062】
また、関節角度と角速度のうち、目標として与える指令値にはDの添字を付け、現在値にはRの添字を付けてある。そして、関節角度をθ、角度を時間で微分した角速度をωとする。また、モータへ供給する電流をiとし、その結果モータが出力するトルクをτとする。
【0063】
図3において、メモリ装置310には歩行に必要な目標関節角度の時系列データが格納されているものとする。コンピュータ(CPU)312は、メモリ装置310からこの時系列データを取込んで、時刻tのときの12個の目標関節角度データDθjを読取るものとする。
【0064】
ここでは、時刻tのときの説明なので、添字tを省略してある。
【0065】
また、同時に実際の12個の関節角度Rθjを関節駆動用のモータ314と同軸に結合されている角度計316から、出力信号として受取る。両者の差分を計算して、その差分に比例定数Kを乗じた量を増幅器318に角速度指令値Dωjとして出力する。すなわち、
Dωj=K×(Dθj−Rθj)
同図で、増幅器318は速度型の増幅器であり、コンピュータの出力である目標角速度Dωjが入力されると同時に角度計316で求められた実際の角速度Rωjが入力されると、両者の間に存在する差分に比例した電流値ijをモータ314に与える。このときの比例定数をAとすると、
ij=A×(Dωj−Rωj)
で表される。
【0066】
モータ314は上記の電流値ijが供給されると、回転トルクτjを発生してそのときの負荷に応じた角速度Rωjで回転し、このモータ314に結合されたリンク320を回わす。従って、リンク320は目標関節角度Dθjに追従して回転することになる。
【0067】
また、コンピュータ312に操作に必要な信号を入力する入力装置322及びコンピュータ(CPU)312からシステムの現状を把握するための情報を取込んで表示する表示装置324が設けられている。
【0068】
さらに、必要に応じて外界センサ326により検出された外界情報をコンピュータ(CPU)312に取込んでロボットの行動を自律的に変えられるようにしてもよい。この場合、外界センサとしては前述の傾斜計や6軸力センサなどがある。
【0069】
図4は図3の制御系の一例を示すブロック図である。
【0070】
ここで、制御ブロック図の記述方法は、情報量をラプラス変換した後の量で表示するのが決まりなので、ここでもその決まりに従って表してある。即ち、ラプラス変換前の量を小文字で表示し、またラプラス変換後の量を大文字で表示している。例えば関節角度がθならば、ラプラス変換後はΘとして表示している。
【0071】
コンピュータ(CPU)は目標関節角度DΘjと現在の関節角度RΘjとの差分を計算して、その差分に比例定数Kを乗じた量を改めて関節の角度指令値DΩjとして出力する。
【0072】
また、増幅器318はこの角速度指令値DΩjが実現するように現在の角速度RΩjを参照して両者の差分(DΩj−RΩj)に比例定数Aを乗じた電流Ijをモータ314に入力する。
【0073】
すると、このモータ314はモータのトルク定数を掛けたモータトルクを発生して回転し、モータの出力軸は負荷の慣性モーメントや粘性抵抗などで決まる角速度RΩjで回転し、目標角度DΩjに追従する運動を始める。
【0074】
ここで、本当に目標角速度が達成されているかどうかを調べ、もし不足していればさらに電流値を高めるべく、モータの出力軸の回転速度RΩjは増幅器318にフィードバックされて、確実性を増す。
【0075】
モータの回転軸の角速度はエンコーダでパルス数に変換されていることから、このパルス数をカウンターで数えることで、関節角度RΘjに変換され、この関節角度RΘjに変換され、この関節角度RΘjもフィードバックされてコンピューに戻される。
【0076】
この制御系には摩擦力が考慮されていないので、実際の関節制御では摩擦力を考慮した電流値を供給する必要がある。目標角度DΘjが変化して追従運動が起きるとき、現実の角度RΘjがある程度目標角度DΘjに近付くと、目標角速度DΩjも小さくなり、従って実際の角速度RΩjとの差分も縮まるようになる。
【0077】
これにより、モータ電流値も小さくなるので、その電流値で発生するモータトルクも小さくなり、やがて摩擦力の方が大きくなる。従って、制御偏差(DΘj−RΘj)を残したまま、関節角度は静止し、目標関節角度と実際の関節角度とは一致しない。
【0078】
この制御偏差を少なくするには、比例ゲインKまたは増幅器の増幅度Aを大きく設定し、僅かな偏差でも大きなモータトルクを発生して(消費エネルギーを増加させて)偏差を少なくするしかない。このようにすれば、追従性は向上するものの、それでも偏差を零にすることはできない。
【0079】
ここで、摩擦力による偏差が生じて静止しているときのエネルギー消費の内訳を説明すると、前記重力による負荷モーメントに対抗するモータトルクと、この摩擦力に抗して偏差を解消する方向に出力するトルクの二つに分かれる。つまり、静止しているときでも、重力モーメントに対抗する電流値以外に、この摩擦力を克服するための電流値が余計に必要となる。
【0080】
そこで、考え方を変えて、静止姿勢のときには目標角度と実際の角度との間に偏差の存在を是認し、モータトルクを減少させていくと、摩擦力は絶えず運動の方向とは逆向きに作用する性質があるため、今度は摩擦力の方向が逆向きに変わって、負荷モーメントに対抗する方向に働き出す。
【0081】
本発明では、摩擦力を克服するために電流値を増大させてきた従来の考え方を改め、静止姿勢をとるときには逆に摩擦力を利用して省エネ化を図ろうとするものである。
【0082】
以下本発明の実施の形態を図5に示す可変定数Kの特性を決定する特性図に基いて説明する。
【0083】
図4において、コンピュータ(CPU)は目標関節角度DΘjと現在の関節角度Rθjとの差分を計算し、その差分に定数Kを乗じた量を求めて関節角速度指令値DΩjとして増幅器に出力する。
【0084】
ここで、従来の制御系では定数Kを一定の定数としていたが、本発明ではこれを次のような規則で変更可能な可変定数とするもので、増幅器以降の制御系は従来と同様である。
【0085】
可変定数Kを次の式で定義する。
【0086】
K=αk 但し、kは定数
ここで、αの特性を示すと図5の通りである。図5において、横軸に関節が静止したときからの時間tを、また縦軸にはαをプロットしている。
【0087】
この特性は、関節角度指令値が変動しているときは、αを1とする。関節が静止してから微小な時間t1まではαも変化させない。この時間t1は例えば0.5秒などと設定する。
【0088】
以上図5の特性から明かなように、Kの値は時刻t1までは一定値kを示すが、その後は徐々に低下して行き、時刻t2以降はα0kと言う低い値に固定するすることが分かる。
【0089】
次に本発明による移動ロボットの関節制御装置の作用を説明する。
【0090】
図6は本発明に基く制御アルゴリズムの第1の例を示すものである。
【0091】
コンピュータは所定の時間ごとに起動され、図6に示されたプロセスを処理するものとする。ここでは、所定の時間2ミリ秒として説明する。
【0092】
また、図示しないが、コンピュータを最初に立ち上げるときに初期化を行い、その初期化の段階で制御に必要な各種のパラメータを設定できるものとする。パラメータとしては、α=1,α0,Flag−ES=0,Flag−WT=0,Ct=0,k=k等がある。
【0093】
STEP-111でタイマーの割込みが行われると、コンピュータはSTEP-112でメモリから関節データを読込み、これらを関節角度の目標値と定める。例えば脚部について言えば、12個の関節目標値が決まる。次に関節角度計の示す現在の角度をSTEP-113で読取り、STEP-114に進む。STEP-114では計画上の角速度の計算を次の式に基いて行う。
【0094】
δθjp=Dθjt−Dθj(t−1)
ここで、δθjpはメモリに収納されている関節角度のうち、一回前の時刻の角度から今回の角度をどれだけ増やすべきかを表す量である。コンピュータの起動時間が2ミリ秒と定めていることから、この量は関節角速度と見なし得る。初回の場合にはDθj(t−1)=Dθjtとして扱う。
【0095】
STEP-115では、この計画角速度δθjpが0かどうかを判定する。つまり、計画上で関節が静止している状態なのかどうかの判別を行っている。初回の場合、δθjpは0である。
【0096】
STEP-115での判定結果がNoのときはSTEP-116に進んで、Flag-ESのビットを0とし、更にSTEP-117に進んでFlag-Wtのビットも0にしておく。STEP-118に進み、αの値を1と決め、STEP-150に進む。
【0097】
STEP-115の判定結果がYesのときは、STEP-120に進み、Flag-ESが1か否かを判定する。初回はFlag-ESが0なのでNoに進み、STEP-121で今度はFlag-Wtが1か否かを判定する。
【0098】
初回はやはりFlag-Wt=0なのでNoに進み、STEP-122でこのビットを1に変更する。これから時間t1のカウントを開始するため、STEP-123でカウンターの設定値Ctを250に設定する。2ミリ秒ごとに起動されるためにCtの250は0.5秒に相当する。その後はSTEP-118に進み、αの値を1に決める。
【0099】
次の回からはFlag-Wtのビットは1になっている筈なので、STEP-121の判定結果はYesになってSTEP-124に進み、ここでカウンターの値を1だけ減じてSTEP-126に進む。
【0100】
STEP-126では1だけ減じた結果カウンターの値が0になったか否かを判定する。最初の内はカウンターの値は0にはならないため、Noであり、STEP-118でαを1とする。しかし、250回カウンター値の減少が続いたときは(0.5秒経過したときは)、STEP-126の結果が0になるので、STEP-127に進み、Flag-ESのビットを1にしてαの減少モードに入る。
【0101】
次の回からは、先のSTEP-120での結果がYesになる筈なのでSTEP-130に進み、ここで実際の角速度δθjRの算出を次式により行う。
【0102】
δθjR=Rθjt−Rθj(t−1)
この量が角速度になるのは、すでにδθjpの項で説明したのと同じ理由である。
【0103】
次にSTEP-131ではδθjRが0、即ち現実に関節は動いていないか否かを判定する。その判定結果がYesならばSTEP-132に進み、前回のαの値α(t−1)から微小量δαだけ減じた量αtを算出する。なお、初回のときはα(t−1)=1である。
【0104】
次にSTEP-133に進み、δαだけ減じた結果αtが最小値α0を割り込んでいないかどうかを判定する。初回はあり得ないからNoに進みSTEP-134に進んでこのαtをもってαと定義し、STEP-150に進む。
【0105】
しかし、何回かこの処理を繰返すとαの値もΔαづつ減少していくので、何時かはSTEP-133の判定結果がYesになるときがくる。その時はSTEP-134に進み、α0をもってαと定義する。
【0106】
また、先のSTEP-131の判定結果がNoのときは計画上の角速度が0であるにも関わらず現実の角速度が生じているので、モータトルクを低下し過ぎているわけで、このときはSTEP-140に進んでαtを緊急避難的に増大する。この例ではΔαの4倍の量を前回のαに加えてαtとしている。
【0107】
STEP-150ではαに基いてKを算出し、STEP-151に進み、角速度指令値を算出する。STEP-152ではその角速度指令値を増幅器に出力し、次のSTEP-153に進む。
【0108】
STEP-153では添字tをt+1に書換えてこのプロセスを終え、STEP-154で元に戻してタイマーの割込みを待つ。
【0109】
このようなアルゴリズムに基いて移動ロボットの関節制御を行うことにより、次のような作用効果を得ることができる。
【0110】
同じ姿勢を継続していれば、可変定数Kが小さくなるので、従来よりも当該関節での消費エネルギーを節約できる。脚部について言えば、起立姿勢の関節角度は元々負荷モーメントが小さくなる角度であるから、摩擦力でも負荷モーメントの相当な部分を担えることになる。
【0111】
可変定数Kの低下は、静止状態が所定の時間続かなければ始まらないようにしている。このことは極めて短い時間関節が所定の角度に止どまるようなことがあっても、それは無視してKを低下させないことになる。
【0112】
何か急にロボットを停止させたいときに、急停止をかけると急停止直後はロボットの姿勢が安定していないので、モータへの供給電流値を低下させることは良くないが、この短時間の猶予であればその問題を解消できる。
【0113】
さらに、また運動中に短時間だけある角度を保持するようなことがあっても、モータへの供給電流値は低下しないので、引き続き追従性の高い運動を継続することができる。
【0114】
本発明のハード構成は基本的に従来のシステムと異ならないため、製作コストを上昇させることなく、経済的に有利であるなどの優れた利点がある。
【0115】
図5及び図6は本発明の実施の形態の一例に過ぎず、本発明の要旨を逸脱しない範囲で種々の応用が可能である。例えば図5ではαの特性を直線的に変化させているが、これに限定されるものではなく、曲線的に変化させても良いことは言うまでもない。また、図5の時間t1を設けることも必要条件ではなく、この時間帯を省いても何ら発明の本質を損なうものではない。さらに、図6のSTEP-131ではδθjRが0か否かを判別するようにしたが、角度の目標値と実角度との差分が縮まる方向ならδθjRは0でなくても良い。
【0116】
図7は本発明に基く制御アルゴリズムの第2の例を示すもので、図6と同一処理部分には同一符合を付してその説明を省略し、ここでは特徴のある処理部についてのみ述べる。
【0117】
図7において、第1の例ではSTEP-140でαtを緊急避難的に増大させているが、その後現実の関節角速度が静止したとしても、次のサイクルタイムが来れば同じようにαを低減するルーチンに入り、やがて現実の角速度は有意の量として観測され、再度緊急避難的にαを増大させなければならない。
【0118】
つまり、このαの値の近辺では何度も同じようなことが起こり、ロボットの関節が静止したり、動いたりのハンチング現象を繰返す。
【0119】
第2の例では、この欠点を除去するため、STEP-140とSTEP-134との間に図示点線で囲んで示すSTEP-210を設け、このSTEP-210によりαの最小値α0の値をこのときのαtとする処理を行うものである。これ以外はすべて第1の例と同じである。
【0120】
このような処理を行うことにより、次回からはαを低減するルーチンに入ったとしても、STEP-132を経てSTEP-133に進んだとき、Yesに進むようになり、αは新しいα0に固定され、上記の欠点である現象が避けられる。
【0121】
図8は本発明が適用される移動ロボットの関節として、付勢手段が付加された膝関節の構成を模式的に示す側面図である。
【0122】
この膝関節に付加された付勢手段は、2つのリンクが所定の角度をとるようにするためのもので、この付勢手段については本出願人が先に出願した特許(特願平2000−220936号)と同じなので、ここではその要点だけを簡潔に述べる。
【0123】
いま、リンク830を大腿リンク、リンク832をスネリンクとする。スネリンクの一部には凹所834が存し、この凹所834に図示の起立姿勢の一でバネ836で押圧されるボール838が設けられている。このバネとボールは大腿リンク側に設けられ、適切なガイドにより図示横方向に移動できないようにその動きを規制するものである。
【0124】
この状態から例えばスネリンクが反時計方向に回転を始めるとボールはバネの力に抗して上方に持上げられ、スネリンクを図示位置に戻そうとするトルクを発生することになる。
【0125】
即ち、図示位置を起立時の目標角度に設定すれば、その角度を保持するモータのトルクはバネで生じたトルクの分だけ小さなトルクで済むことになる。従って、モータの消費するエネルギーを小さく設定することが可能となる。
【0126】
ここで注目すべきことは、前述した第1及び第2の例の関節制御と同じく関節には摩擦力が存在し、この摩擦力と前記バネによる付勢力とが関節角度を目標関節角度の近辺に保持していることである。敢えて近辺にと述べたのは、摩擦力のために目標関節角度と実際の関節角度との間には前述のように制御偏差があって一致しないためである。
【0127】
さらに注目すべきことは、前記目標関節角度の近辺から、関節角度が上記偏差を増やす方向に動いた場合、モータへの供給電流値も制御系から増えるし、付勢力もバネが押し縮められて増えることから、再び重力によるモーメントと保持力とが釣り合い、安定することである。
【0128】
この事実はモータへの供給電流値が低下し、関節が重力に耐えきれなくなって動き始めても、付勢力が増える分、モータへの供給電流値をそれほど増やす必要がないことを示し、また動きが少なければ、放置しておいてもロボットが倒れることはない。従って、前述の付勢手段を備えた関節では、更に一層のモータ電流値の低減を行うことができることになる。
【0129】
図9はかかる移動ロボットの関節を制御するための本発明に基く制御アルゴリズムの第3の例を示すもので、図6と同一処理部分には同一符合を付してその説明を省略し、ここでは特徴のある処理部についてのみ述べる。
【0130】
図9において、STEP-130で現実の角速度を計算し、STEP-131ではその速度が静止しているか否かを判定するが、その判定結果がNoであればSTEP-305に進み、関節角度の目標値に対する現在の角度の差分が微小な角度Δθを超えているか否かを判定する。もし超えていなければNoに進み、STEP-132で引き続きαの値を微小量Δαだけ減少させる。
【0131】
STEP-305での判定結果がYesであれば、αの値が下げ過ぎなので、前述した第1の例及び第2の例と同様にSTEP-140で緊急避難的にαを増大する。このときはSTEP-310で第2の例と同じく、αの下限値(最小値)α0をこの時αtに書換えて、今後はこの新しいα0以下にならないようにする。
【0132】
このようなアルゴリズムによる関節の制御において、付勢手段の付勢力は関節角度の目標値が静止角度である場合、その目標値に追従制御が行われているときは、関節の摩擦力に対抗して目標値と現在値とが一致する方向に作用する。従って、上記の制御偏差は一層小さくなり、静止姿勢における関節角度は目標関節角度により近付くことになる。
【0133】
その結果、偏差に比例した電流値をモータに供給するシステムの特性から、モータの消費するエネルギーが削減されることになる。ここまでは付勢手段の効果である。
【0134】
しかし、静止した後では、この付勢力は関節の摩擦力に加担して、関節角度を現在の静止姿勢の角度に保持すべく作用する。外部からの負荷モーメントが何らかの理由で増加し、現在の関節角度が維持できなくなり、関節が多少動いたとする。
【0135】
システムはこの増加した偏差に比例した電流値をモータに送り、偏差が縮小されるように制御する。また付勢手段も付勢力を増やすので、偏差が止めどもなく拡大することはない。
【0136】
次に外部からの負荷モーメントが増加することなく、一定の場合を考える。αの値を小さくするとモータへの供給電流値が小さくなり、摩擦力と付勢力とモータトルクとの3つの量の和が負荷モーメントより小さくなると、関節角度が微小量増大し、その結果モータへの供給電流値が増えると共に、付勢力も増大するので、偏差の拡大が阻止され、偏差がある程度増加した時点で釣り合うことになる。このときロボットは決められた静止姿勢がほんの僅か崩れるが、実害はない。
【0137】
また、制御が決められている静止角度(例えば起立時の膝関節角度)と、付勢手段が機械的に決めている起立位置とが、完全に一致することはあり得ず、角度にして数秒〜数十秒程度の食い違いがおきることが考えられる。
【0138】
従来ではこのような場合、制御システムがこの食い違いを制御偏差として捉え、偏差量に見合った電流値を流し続けることになるが、第3の例ではこのような起立時の食い違いに対して電流値を下げるようにしているので、モータへ流す電流値が合理的に低減され、エネルギーの浪費を抑制できる。
【0139】
なお、本発明は上記し且つ図面に示す実施の形態に限定されるものではなく、例えばファジー理論を用いても前述と同様に移動ロボットの関節制御を行うことができる等、その要旨を変更しない範囲で種々変形して実施できることは言うまでもない。
【0140】
【発明の効果】
以上述べたように本発明によれば、移動ロボットの関節に内在する摩擦力を利用して静止姿勢を維持する力の一部とし、それに見合ってモータへの供給電流値を低下させるようにしたので、簡単且つ安価にして省エネを図ることができる移動ロボットの関節制御装置を提供できる。
【図面の簡単な説明】
【図1】移動ロボットとして2足歩行ロボットを示す概略構成図。
【図2】(a)は同移動ロボットの膝関節の側面を示す概念図、(b)は肘関節が前腕を前に出した状態の様子を示す概念図。
【図3】本発明による移動ロボットの膝関節制御装置の実施の形態を示すシステム構成図。
【図4】同実施の形態を示す制御ブロック図。
【図5】図4に示す比例ゲインとして可変定数Kの特性を決定する特性図。
【図6】同実施の形態において、膝関節を制御するCPUの処理内容の第1の例を示す制御アルゴリズム。
【図7】同実施の形態において、膝関節を制御するCPUの処理内容の第2の例を示す制御アルゴリズム。
【図8】移動ロボットの膝関節として付勢手段が付加された膝関節の構成を模式的に示す側面図。
【図9】同実施の形態において、図8の膝関節を制御するCPUの処理内容の第3の例を示すアルゴリズム。
【符号の説明】
310…メモリ
312…CPU
314…モータ
316…角度計
318…増幅器
320…リンク
324…表示装置
322…入力装置
Claims (1)
- 第1のリンク、第2のリンク、及びこれら2つのリンクを相対回転運動可能に結合する関節とからなる構成を少なくとも1つ備えた移動ロボットにおいて、
前記関節に設けられて前記2つのリンクを特定の相対回転角度となる方向に付勢する付勢手段と、
前記関節の角度の目標値と現在値との差分を検知する差分検知手段と、
この差分検知手段の出力に関連したエネルギーが供給されて前記関節に前記相対回転運動を促すトルクを発生するモータと、
前記関節が実質的に前記特定の相対回転角度に位置しており、かつ静止状態にあることを検知する静止状態検知手段と、
この静止状態検知手段の出力に関連付けて前記エネルギーの量を減らす調節手段と、
を備えたことを特徴とする移動ロボットの関節制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000284080A JP4625910B2 (ja) | 2000-09-19 | 2000-09-19 | 移動ロボットの関節制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000284080A JP4625910B2 (ja) | 2000-09-19 | 2000-09-19 | 移動ロボットの関節制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002096283A JP2002096283A (ja) | 2002-04-02 |
JP4625910B2 true JP4625910B2 (ja) | 2011-02-02 |
Family
ID=18768357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000284080A Expired - Fee Related JP4625910B2 (ja) | 2000-09-19 | 2000-09-19 | 移動ロボットの関節制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4625910B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7217247B2 (en) * | 2002-09-23 | 2007-05-15 | Honda Giken Kogyo Kabushiki Kaisha | Gravity compensation method in a human assist system and a human assist system with gravity compensation control |
JP5618290B2 (ja) * | 2010-07-14 | 2014-11-05 | トヨタ自動車株式会社 | ロボット装置 |
JP5978027B2 (ja) * | 2012-06-28 | 2016-08-24 | 本田技研工業株式会社 | 移動ロボットの制御装置 |
EP2952299A1 (en) * | 2014-06-05 | 2015-12-09 | Aldebaran Robotics | Standby mode of a humanoid robot |
US9283949B2 (en) * | 2014-07-22 | 2016-03-15 | Google Inc. | Hybrid hydraulic and electrically actuated mobile robot |
JP6402318B2 (ja) * | 2016-07-26 | 2018-10-10 | Groove X株式会社 | 多関節ロボット |
-
2000
- 2000-09-19 JP JP2000284080A patent/JP4625910B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002096283A (ja) | 2002-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mitobe et al. | Control of walking robots based on manipulation of the zero moment point | |
US6243623B1 (en) | Leg type mobile robot control apparatus | |
US7112938B2 (en) | Attitude control device of mobile robot | |
US6505096B2 (en) | Posture control system of legged mobile robot | |
US6289265B1 (en) | Controller for legged mobile robot | |
JP2520019B2 (ja) | 脚式移動ロボットの駆動制御装置 | |
US6696809B2 (en) | Robot, servo circuit, actuator, robot control method, and actuator driving method | |
US7400939B2 (en) | Robot device, motion control device for robot device and motion control method | |
Hyon et al. | Symmetric walking control: Invariance and global stability | |
JPH10277969A (ja) | 脚式移動ロボットの制御装置 | |
US6220104B1 (en) | Joint torque detection system | |
US6992456B2 (en) | Biped walking mobile system, its walk controller, and walk control method therefor | |
JPH10230485A (ja) | 脚式移動ロボットの姿勢制御装置 | |
KR20110017500A (ko) | 다리식 이동 로봇의 제어장치 및 그 제어방법 | |
JP4625910B2 (ja) | 移動ロボットの関節制御装置 | |
JP3429048B2 (ja) | 脚式移動ロボットの歩行制御装置 | |
Liu et al. | Design and control of a miniature bipedal robot with proprioceptive actuation for dynamic behaviors | |
JP2819323B2 (ja) | 脚式歩行ロボットの関節制御装置 | |
JP3055737B2 (ja) | 脚式移動ロボットの歩行制御装置 | |
Yong et al. | Implementation and dynamic gait planning of a quadruped bionic robot | |
JP3168066B2 (ja) | リンク式移動ロボットの制御装置 | |
Vukobratović et al. | Contribution to the integrated control of biped locomotion mechanisms | |
JP3176705B2 (ja) | アクチュエータの駆動方法 | |
JPH07205070A (ja) | 脚式移動ロボットの歩行制御装置 | |
JP3183558B2 (ja) | リンク式移動ロボットの制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070809 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100706 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100903 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100921 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101012 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131119 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |