JP5092683B2 - 倒立車輪型移動体及びその制御方法 - Google Patents

倒立車輪型移動体及びその制御方法 Download PDF

Info

Publication number
JP5092683B2
JP5092683B2 JP2007274125A JP2007274125A JP5092683B2 JP 5092683 B2 JP5092683 B2 JP 5092683B2 JP 2007274125 A JP2007274125 A JP 2007274125A JP 2007274125 A JP2007274125 A JP 2007274125A JP 5092683 B2 JP5092683 B2 JP 5092683B2
Authority
JP
Japan
Prior art keywords
gain
wheel
inverted
sensor
distance
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
Application number
JP2007274125A
Other languages
English (en)
Other versions
JP2009101788A (ja
Inventor
日出輝 梶間
快之 仙波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2007274125A priority Critical patent/JP5092683B2/ja
Publication of JP2009101788A publication Critical patent/JP2009101788A/ja
Application granted granted Critical
Publication of JP5092683B2 publication Critical patent/JP5092683B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Motorcycle And Bicycle Frame (AREA)

Description

本発明は、2以上の車輪と車輪を補助する2以上の補助輪又はストッパとを有する倒立車輪型移動体及びその制御方法に関する。
図8は、従来の倒立二輪型ロボットの制御部を示す図である。図8に示すように、従来の倒立走行ロボット100は、倒立走行コントローラ101、駆動部102、モータ103、各種センサ104、及び減算器105を有する。倒立走行コントローラ101は、外部より与えられた目標状態になるよう制御量を調整する。駆動部102は、倒立走行コントローラ101からのトルクや速度の値に応じてモータ103を駆動する。ロボットの体幹部又は脚部に取り付けられた各種センサ104からのセンサ値(実状態:X,X,X,・・・,X)は減算器105にて目標状態(X ,X ,X ,・・・,X )と比較減算され、得られた偏差が倒立走行コントローラ101に入力される。目標状態としては、目標となる倒立姿勢角及び角速度、車輪回転角度及び角速度などがある。
この倒立走行ロボット100においては、目標状態として倒立姿勢や走行パターンが与えられると、倒立走行コントローラ101は、センサ104で計測した実状態との偏差からたとえば車輪駆動トルクや回転速度などの制御量を算出する。算出された制御量に応じて駆動部102がモータ103を駆動して倒立走行ロボット100を動かすことで、倒立状態を維持したままでの走行を実現する。倒立コントローラ101は制御理論に基づき設計されてもよいし、PID制御などのフィードバック制御系で構成することも可能である。
図9は、従来の倒立二輪型ロボットの構成を示す図である。倒立二輪型ロボット101は、車体111と、車体111に取り付けられ、回転することで車体を持ち上げるスイングアーム112とを有する。スイングアーム112はスイングアーム軸113により車体111と結合し、床面に並行な車体111をスライド可能に構成されている。スイングアーム112のスイングアーム軸113とは反対側には駆動輪軸114が設けられている。そして、駆動軸114を中心に駆動輪115が回転駆動することで、倒立二輪型ロボット101を移動する。一の駆動輪115を補助する2つの補助輪116が車体111に設けられている。
特開2006−205839号公報
上述の倒立走行ロボット100は、図1(b)のように、両補助輪16が地面から離隔している状態にあることを前提に設計されている。したがって、図9に示すように、倒立走行ロボット100の補助輪116や車体の一部が路面に接触した場合には、床反力の影響で正常に機能しない。このような状態では倒立走行コントローラ101で計算される制御量が適切な値でない、すなわち、補助輪116から伝わる床反力を想定していない。このように、倒立走行ロボット100は、平地走行中のモデルに基づいて制御量を計算し、常にその制御量に基づいて車輪を駆動している。このため、補助輪116や車体の一部が地面に接地すると制御量が不適切な値となってしまい、設計者が思いもしなかった挙動を示し、暴走することになる。
本発明は、このような問題点を解決するためになされたものであり、補助輪や車体の一部が路面に接地した場合でも安定に姿勢を制御することができる倒立車輪型移動体及びその制御方法を提供することを目的とする。
上述した目的を達成するために、本発明に係る倒立車輪型移動体は、2以上の車輪と、前記車輪を補助する2以上の補助輪と、倒立を維持するための倒立走行制御手段と、前記倒立走行制御手段が算出した制御量を増減するゲイン増減手段と、前記ゲイン増減手段によりゲインが増減された制御量に基づき駆動する駆動手段と、移動体に設けられたセンサと、前記センサの検出結果に基づき前記ゲイン増減手段のゲインを調整するゲイン調整手段とを有し、前記倒立走行制御手段は、前記センサのセンサ値と目標値との偏差に応じて前記制御量を算出し、前記ゲイン調整手段は、前記センサの検出結果に基づき前記補助輪と路面との間の距離を算出し、当該距離に応じて前記ゲインを調整するものである。
本発明においては、センサ値と目標値との偏差に応じて駆動制御する倒立車輪型移動体において、補助輪と路面との距離を求め、この距離に応じて倒立走行制御手段が算出する制御量に乗ずるゲインの値を調整する。このことにより、補助輪と路面の距離に応じて、制御量を可変とすることができ、補助輪が地面に近づくとゲインを小さくするなどできる。
また、前記センサは前記補助輪又は車体に設けられた距離センサとすることができる。距離センサを使用すれば、補助輪と路面との距離を直接検出することができる。
さらに、前記ゲイン調整手段は、前記センサの検出結果に基づき前記補助輪の最下点と前記車輪の最下点又は路面との距離を算出することができる。これにより、距離センサを使用せずに路面間距離を求めることができる。
さらにまた、前記補助輪に替えてストッパを有するものとすることができる。補助輪に限らず、ストッパ等であっても同様に制御可能である。
本発明にかかる倒立車輪型移動体の制御方法は、2以上の車輪と、前記車輪を補助する2以上の補助輪とを有する倒立車輪型移動体の制御方法であって、移動体に設けられたセンサのセンサ値に基づき駆動部を制御する制御量を算出する倒立走行制御工程と、前記センサの検出結果に基づき前記補助輪と路面との間の距離を算出し、当該距離に応じてゲインを調整するゲイン調整工程と、前記ゲイン調整工程にて調整されたゲインにより、前記制御量を増減するゲイン増減工程とを有する。
本発明によれば、補助輪や車体の一部が路面に接地した場合でも安定に姿勢を制御することができる倒立車輪型移動体及びその制御方法を提供することができる。
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、倒立走行型する二輪型のロボットに適用したものである。
図1(a)は、本実施の形態にかかる倒立走行ロボット1を示す図である。倒立走行ロボット1は、車体11と、車体11に取り付けられ、回転することで車体を持ち上げるスイングアーム12とを有する。スイングアーム12はスイングアーム軸13により車体11と結合し、床面に並行な車体11をスライド可能に構成されている。スイングアーム12のスイングアーム軸13とは反対側には駆動輪軸14が設けられている。そして、駆動輪軸14を中心に駆動輪15が回転駆動することで、倒立走行ロボット1を移動する。一の駆動輪15を補助する2つの補助輪(又はストッパ)16が車体11に設けられている。
図2は、本実施の形態にかかる倒立走行ロボットの制御システムを示す図である。倒立走行ロボット1は、倒立走行コントローラ(安定化制御コントローラ)21、ゲイン22、駆動部23、各種センサ25、観測点高さ算出部26、及び減算器27を有する。
倒立走行コントローラ21は、倒立を維持するためのコントローラで、外部より与えられた目標状態(X ,X ,X ,・・・,X )と、車体に設けられているセンサ25の検出結果との偏差に応じて制御量を調整する。ゲイン22は、倒立走行コントローラ21が出力した制御量1のゲイン調整するゲイン増減手段であり、制御量2として駆動部23に出力する。駆動部23は、ゲイン22からの制御量2をトルクに変換し、ロボット1の車輪駆動用モータ24を駆動する。ロボット1の車体部に設けられた姿勢角センサや姿勢角速度センサなどのセンサ25からのセンサ値(実状態:X,X,X,・・・,X)は減算器27にて目標状態(X ,X ,X ,・・・,X )と比較減算され、得られた偏差が倒立走行コントローラ21に入力される。目標状態としては、目標となる倒立姿勢角及び角速度、車輪回転角度及び角速度などがある。
目標状態として倒立姿勢や走行パターンが与えられると、倒立走行コントローラ21は、センサ25で計測した実状態との偏差から、たとえば車輪駆動トルクや回転速度などの適切な制御量を算出する。算出された制御量に応じて駆動部23がモータ24を駆動し、ロボット1を動かすることで、倒立状態を維持したままでの走行を実現する。倒立コントローラは制御理論に基づいて設計されてもよいし、PIDなどのフィードバック制御系で構成してもよい。車体姿勢や車輪回転速度の目標状態が与えあられ、センサ25で計測した実状態と目標状態との偏差から倒立走行コントローラが制御量1を算出する方法は、上述した従来のロボットと同様である。
ここで、本実施の形態にかかる倒立走行ロボット1には、観測点高さ算出部26が設けられている。観測点高さ算出部26は、各種センサ25の検出結果に基づき補助輪と路面との間の距離を算出し、当該距離に応じてゲイン22のゲインを調整するゲイン調整手段である。補助輪16の最下点から路面までの路面間距離を逐次計算し、その距離に応じて倒立走行コントローラ21の制御量にかけるゲインを逐次変更するためのゲイン22に制御信号を出力する。
補助輪16又は車体11と、路面との路面間距離は、距離センサを用いて直接計測してもよいし、後述するように、その瞬間の姿勢から既知の路面との距離を推定してもよい。また、複数の点と路面との距離を検知した場合は、それらの平均値を用いてもよいし、路面に最も近い点から得られる最小値に基づきゲインを調整するなどして処理を簡略化してもよい。
例えば、補助輪や車体との路面間距離が予め設計した閾値を下回ったら倒立走行コントローラの制御量を低減し、逆に閾値よりも路面間距離が大きくなったら倒立コントローラの制御量を元に戻すといった制御方法が考えられる。一具体例としては、補助輪16や車体11から得られる路面間距離の最小値が閾値以下になったら倒立走行コントローラの制御量をゼロにし、閾値以上になったら倒立走行コントローラの制御量を低減しない、などすることができる。
また、距離センサ以外で路面間距離を求める例としては、センサレスで算出する方法もある。たとえば、駆動輪15以外の観測点、たとえば補助輪16や転倒防止ストッパ(不図示)、車体11の一部と、少なくとも1つ以上の観測点とを予め設定し、ロボット1の姿勢から座標値を逐次計算し、その座標値と既知の路面形状から観測点高さを調整することも可能である。
図1に戻って、倒立走行ロボット1は、何も制御していない状態では、図1(a)に示すように、補助輪16又は転倒防止ストッパなどが接地して安定な状態を維持する。倒立走行コントローラ21が働いている間は、図1(b)に示すように、駆動輪だけで倒立した状態を維持する。車体11に設けられたセンサから車体姿勢角が得られ、駆動輪15に設けられたセンサなどから車輪回転角が得られ、これらのセンサ値に基づき倒立走行コントローラ21が駆動部23を制御する。すなわち、何らかの走行指令値が与えられた際は、倒立安定状態を維持したまま司令走行パターンに応じて走行する。走行が終了したら、適切なタイミングで図1(a)に示す状態に戻り、倒立走行コントローラ21をオフする。なお、ここでは、補助輪16を設けた例について説明したが、補助輪に限定するものではなく、倒立制御を行わないときでも安定に静止状態を維持できるように設けられているストッパ等あっても同様である。
次に、観測点高さ算出部26のゲイン22の制御方法について具体的に説明する。図3は、観測点高さに応じたゲイン変更の一例を示す図である。K_max,K_minは、予め設計するゲインの上下の閾値であり、S1、S2、S3、S4は、予め与えておく高さに対する閾値である。なお、本例では、高さはその代表値を示す。これらの設計パラメータから補助輪高さ(代表値)に応じてゲインを調整する。たとえば、K_max,K_minの値はそれぞれ1、0の一定値とすればよい。本例においては、S1<S2<S3<S4の関係を満たすS1〜S4の閾値が設定されている。
ゲインの調整の仕方としては、例えば次に示す2通りが挙げられる。図3では、S1〜S3がK_minで一定であり、S3〜S4では、K_minからK_maxまでゲインが単調増加し、S4以上ではK_maxで一定となっている。逆に観測点高さが小さくなる場合は、S4〜S2まではK_maxで一定であり、S2〜S1ではK_maxからK_minにゲインが単調減少し、S1以下ではK_minで一定となっている。第1の方法としては、このグラフ通り、ゲインが閾値S1から大きくなる場合とゲインが閾値S4から小さくなる場合とで、ゲインの調整の仕方を異ならせる方法がある。たとえば、ゲイン高さsがs=S1からS3<s<S4の間まで大きくなった後に、s=S2になった場合、S3<s<S4〜s=S2までは図3に示すグラフに従ってゲインをK_min一定とすることができる。
別の方法としては、観測点高さがs=S1からS3<s<S4まで大きくなった後、観測点高さsがs=S1まで減少していく場合に、図3の破線に示すように、その際のゲインを維持したままS1<s<S2まで一定とし、S1<s<S2の間からs=S1に減少する場合は再びグラフを辿って単調減少するように制御することができる。
次に、特別なセンサを用いることなく、観測点高さ制御する方法の具体例について説明する。上述したように、距離センサなどと特別なセンサを補助輪部や車体の一部に接地する必要はない。倒立走行コントローラが適切な制御量を算出する際に必要とする車体姿勢角やロボットの姿勢(角間接角度)に基づいて既知路面情報を元に観測点高さを推定することも可能である。例えば、図1のような倒立走行ロボットの場合、角リンク長や車輪半径などを予め計測しておき、これらの値とロボットの各軸の回転角度や車体の姿勢角などから、接地点(駆動輪の最下点)と観測点(最下点)の高さの差を以下の式に基づいて逐次算出することができる。ここでは、平地を仮定して説明するが、例えば傾斜角がわかっている坂などでも同様の計算が可能である。逐次算出した1以上の補助輪高さと図3に示すグラフとから、観測点高さ算出部26からの制御のもと、ゲイン22は制御量2を算出する。
図4は、補助輪高さZPR,ZQRを算出するための各種パラメータを示す図である。図4において、図中O点を原点とするXZ座標系での点P、Q、Rの座標をそれぞれ下記のようになる。
Figure 0005092683
ここで、ηは、Z軸と車体17の垂直方向とのなす角、θは、車体17とスイングアーム12とのなす角、Lはスイングアームの長さ、Rsは補助輪16の半径、Rwは車輪15の半径を示す。原点Oは、スイングアーム軸13とし、垂直方向をx軸、水平方向をx軸としている。また、dは、スイングアーム軸13と車体17の右端部までの長さ、dは、スイングアーム軸と車体17の左端部までの長さ、dは、右補助輪16と車体17との距離、dは、左補助輪16と車体17との距離を示す。
補助輪半径Rsと駆動輪半径Rwを考慮すると、補助輪高さZPR,ZQRは下記のようになる。
PR=(z−R)−(z−R
=((d−Lcosθ)・sinη−(d−Lsinθ)・cosη)−(R−R
QR=(z−R)−(z−R
=((d−Lcosθ)・sinη−(d−Lsinθ)・cosη)−(R−R
このように、ZPR,ZQRを逐次計算し、例えば、ZPR,ZQRの小さい方を代表値として選び、図3に示すゲイン特性図に基づき、閾値S1〜S4と比較してゲインを更新すればよい。
各種センサ値と目標値との偏差に応じて駆動部23を制御する制御量を倒立走行コントローラ21が算出するが、この倒立走行コントローラ21は、補助輪が路面に接地していない場合を想定して制御量を算出する。よって、補助輪が路面に接地した場合などにはこの制御量を調整する必要がある。そこで、本実施の形態においては、補助輪と路面との距離を測定又は算出しておき、この距離に応じてこの制御量のゲインを増減させる。このように、たとえば路面間距離が零の場合にはゲインも零にすることで、倒立走行ロボットの補助輪が接地した場合に得られる床反力から間違った制御量を算出することを防止することができる。
次に、本実施の形態にかかる倒立走行ロボットの一具体例について説明しておく。本具体例にかかる倒立走行ロボットは、倒立振子制御によって移動する倒立車輪型移動体である。この倒立走行ロボットは、地面に接地した車輪を駆動することによって、所定の位置まで移動する。さらに、ジャイロセンサ等からの出力に応じて車輪を駆動することによって、倒立状態を維持することができる。また、倒立走行ロボットは、倒立状態を維持したまま、操作者が操作する操作量に応じて移動する。
図5及び図6を用いて、本実施の形態の具体例にかかる倒立走行ロボット200の構成について説明する。図5は倒立走行ロボット200の構成を模式的に示す側面図であり、図6は倒立走行ロボット200の構成を模式的に示す正面図である。
図6に示されるように、倒立走行ロボット200は、倒立車輪型の移動体(走行体)であり、右駆動輪218と、左駆動輪220と、右スイングアーム217と、左スイングアーム219と、車体212と、を備えている。車体212は、右駆動輪218、及び左駆動輪220の上方に配置された倒立走行ロボット200の上体部の一部である。ここで、倒立走行ロボット200の進行方向(図6の紙面と垂直方向)を前後方向とし、水平面において前後方向に垂直な方向を左右方向(横方向)とする。よって、図6は、進行方向前側から倒立走行ロボット200を見た図であり、図5は、左側から倒立走行ロボット200を見た図である。
走行時において、右スイングアーム217、及び左スイングアーム219は、車高を調整する。さらに、一方、又は両方のスイングアームを駆動して、車体212の地面に対する左右の傾斜角度を調整する。例えば、水平な地面を走行中に、右駆動輪218のみが段差に乗り上げたり、地面が右上がりの傾斜面に変わったりしたとする。この場合、右駆動輪218が左駆動輪220よりも高くなる。このため、右スイングアーム217の関節を駆動して右駆動輪218を車体212の方向により近づけるようにする。これにより、右駆動輪218が高くなった分を吸収でき、横方向(左右方向)において車体212を水平にすることができる。
右スイングアーム217側端側には右マウント226が固定され、車軸230を介して右駆動輪218を回転可能に支持する。右駆動輪218は、車軸230を介して右輪駆動モータ234の回転軸C1に固定されている。右輪駆動モータ234は、右マウント226内に固定され、車輪用駆動部(アクチュエータ)として機能する。
左スイングアーム219の側端側には左マウント228が固定され、車軸232を介して左駆動輪220を回転可能に支持する。左駆動輪220は、車軸232を介して左輪駆動モータ236の回転軸C2に固定されている。左輪駆動モータ236は、左マウント228内に固定され、車輪用駆動部(アクチュエータ)として機能する。右駆動輪218と左駆動輪220は、地面と接地し、略同軸上で回転する一対の車輪である。右駆動輪218と左駆動輪220が、回転することによって、倒立走行ロボット200が移動する。また、右輪駆動モータ234、及び左輪駆動モータ236が車輪を駆動させる駆動輪モータとなる。右マウント226、及び左マウント228が左右の駆動輪を回転可能に支持する車台となる。
右輪駆動モータ234及び左輪駆動モータ236(以下、モータ234、236と称することもある。)は例えば、サーボモータである。尚、車輪用アクチュエータは、電気的なモータに限らず、空圧、油圧を使用したアクチュエータでもよい。なお、以下の説明において、右駆動輪218と左駆動輪220をまとめて、駆動輪と呼ぶこともある。
また、右マウント226は、右輪エンコーダ252を備えている。右輪エンコーダ252は、右駆動輪218の回転量としての回転角を検出する。左マウント228は、左輪エンコーダ254を備えている。左輪エンコーダ254は、左駆動輪220の回転量としての回転角を検出する。
右スイングアーム217は、右上リンク221と、右スイング軸262と、右スイングアーム駆動モータ260を有している。左スイングアーム219は、左上リンク222と、左スイング軸266と、左スイングアーム駆動モータ264を有している。車体212の下部には、右上リンク221及び左上リンク222が固定されている。右上リンク221には、右スイングアーム駆動モータ260が固定され、右スイング軸262を介して、回転軸C4回りに、右スイングアーム217を駆動する。左スイング軸266には、左スイングアーム駆動モータ264が固定され、左スイング軸266を介して、回転軸C5周りに左スイングアーム219を駆動する。このように、右スイングアーム217には、回転軸C4回りに回転する回転関節が設けられ、左スイングアーム219には、回転軸C5回りに回転する回転関節が設けられている。右スイングアーム217及び左スイングアーム19(以下、スイングアーム217、219と称することもある。)に設けられた関節をスイングアーム関節とする。
車体12には、搭乗席駆動モータ270、ラックアンドピニオン272、ジャイロセンサ248、及び搭乗席274が取り付けられている。また、車体212には、対向して、右上リンク221及び左上リンク222が取り付けられている。
車体212の中央近傍には、ラックアンドピニオン272が設けられている。ラックアンドピニオンのラックは、前後方向に沿って設けられている。ラックアンドピニオン272によって、搭乗席274が支持されている。即ち、搭乗席274は、ラックアンドピニオン272を介して車体212に取り付けられている。搭乗席274は、搭乗者が座ることができる椅子の形状を有する。なお、ラックアンドピニオン272の代わりにボールネジなどを用いてスライドさせてもよい。
車体212の上部には、搭乗席駆動モータ270が固定されている。搭乗席274と搭乗席駆動モータ270は、ラックアンドピニオン272によって連結されている。搭乗席駆動モータ270は、回転軸C3回りに回転する。これにより、ラックアンドピニオン272のピニオンに回転力が加えられる。搭乗席駆動モータ270の回転運動は、ラックアンドピニオン272によって、直線運動に変換される。すなわち、搭乗席駆動モータ270を駆動すると、車体212に対する搭乗席274の位置が前後にスライドする。このとき、搭乗席274と搭乗者又は搭乗物との合成重心位置が、車体212に対して前後に変化する。なお、車体212に対して、搭乗席274と搭乗者又は搭乗物との合成重心位置を変化させる手段としては、スライド機構の他に、回転軸機構、旋回機構などで実現することも可能である。また、搭乗席駆動モータ270の動力をギアやベルトやプーリなどを介して、搭乗席274に伝達してもよい。ここで、搭乗席駆動モータ270によって前後に移動する構成全体を車体部277とする。車体部277には、搭乗席274や操作モジュール246等が含まれる。もちろん、車体212を駆動するアクチュエータを備える場合は、車体部277に車体212も含まれる。また、搭乗席駆動モータ270には、スライド位置を計測するためのエンコーダ(図示せず)が設けられている。
回転軸C3は回転軸C1及びC2と平行であり、回転軸C1及びC2の上方に位置する。回転軸C3と回転軸C1との間に右スイングアーム217が設けられ、回転軸C3と回転軸C2との間に左スイングアーム219が設けられている。右スイングアーム駆動モータ260は、右スイングアーム217を回転軸C4回りに回転させ、左スイングアーム駆動モータ264は、左スイングアーム219を回転軸C5回りに回転させる。通常の走行時には、回転軸C1〜回転軸C5は水平になっている。
さらに、倒立走行ロボット200には、転倒を防止するために、2つの補助輪251が設けられている。補助輪251は、補助輪支持ブロック255に対して回転可能に支持されている。そして、補助輪支持ブロック255は車体212に取り付けられている。ここでは、一方の補助輪251は、駆動輪の前方側に配置され、他方の補助輪251は駆動輪の後方側に配置されている。補助輪251は、従動輪であり、倒立走行ロボット200の移動にしたがって回転する。なお、本実施の形態にかかる倒立走行ロボット200においては、この補助輪251の上部に感圧センサ(不図示)が取り付けられている。補助輪251が接地した時点でそのときの垂直方向の圧力を測定可能となっている。
通常の走行を開始するときには、スイングアーム関節を伸ばすことによって、補助輪251を離地させる。すなわち、車体212が上方に移動するように、スイングアーム関節を移動して、補助輪251を上方に移動させる。停止状態では、スイングアーム関節を縮めることによって、補助輪251を接地させる。すなわち、スイングアーム関節を屈曲させていくことで、車体212が地面に近づき、補助輪251が下方に移動する。このように、補助輪251を上下に移動させることで、補助輪251が接地した接地状態と、離地して二輪で走行する離地状態とを切換えることができる。このように、倒立走行ロボット200は、立ち上がり時にスイングアームを使って、4輪の接地状態から2輪状態の離地状態へと移行していく。
一方の補助輪251の回転軸は、回転軸C1、C2よりも前側上方にあり、他方の補助輪251の回転軸は、回転軸C1,C2よりも後側上方にある。すなわち、補助輪251の一方は、駆動輪の車軸よりも前方に配置され、他方は、駆動輪の車軸よりも後方に配置される。これにより、倒立走行ロボット200が前後に転倒するのを防止することができる。なお、補助輪以外の転倒防止部材によって、転倒を防止してもよい。例えば、前後方向に突出したストッパなどで転倒を防止することができる。
車体212には、バッテリーモジュール244と、センサ258が収納されている。センサ258は、例えば、光学式の障害物検知センサであり、倒立走行ロボット200の前方に障害物を検知すると、検知信号を出力する。また、センサ258は、障害物センサ以外のセンサであってもよい。例えば、センサ258として、加速度センサを用いることも可能である。もちろん、センサ258として、2以上のセンサが用いられていてもよい。センサ258は倒立走行ロボット200の状態に応じて変化する変化量を検出する。バッテリーモジュール244は、センサ258、ジャイロセンサ248、右輪駆動モータ234、左輪駆動モータ236、右スイングアーム駆動モータ260、左スイングアーム駆動モータ264、搭乗席駆動モータ270、及び制御部280等に対して電力を供給する。
車体212上には、ジャイロセンサ248が設けられている。ジャイロセンサ248は、車体212の傾斜角に対する角速度を検出する。ここで、車体212の傾斜角は、倒立走行ロボット200の重心位置が車軸230、232の鉛直上方に伸びる軸からの傾斜度合いであり、例えば倒立走行ロボット200の進行方向前方に車体212が傾斜している場合を「正」とし、倒立走行ロボット200の進行方向後方に車体212が傾斜している場合を「負」として表わす。したがって、車体212が水平になっている状態では、傾斜角度が0°になる。そして、通常の走行時には、傾斜角度の制御目標値が0°なっている。この制御目標値に追従するように、フィードバック制御されている。また、前後方向における傾斜角度を倒立走行ロボット200の姿勢の傾斜角度とする。
また、進行方向の前後方向に加えて、左右方向の傾斜角速度はロール、ピッチ、ヨーの3軸のジャイロセンサ248を用いて測定される。このように、ジャイロセンサ248は、車体212の傾斜角の変化を、車体212の傾斜角速度として測定する。もちろん、ジャイロセンサ248は他の箇所に取り付けられていてもよい。ジャイロセンサ248で測定された傾斜角速度は、倒立走行ロボット200の姿勢の変化に応じて変化する。即ち、傾斜角速度は、車軸の位置に対する車体212の重心位置に応じて変化する変化量である。従って、外乱などによって、姿勢の傾斜角度が急激に変化すると、傾斜角速度の値が大きくなる。
搭乗席74の側面には、操作モジュール246が設けられている。操作モジュール246には、操作レバー(図示せず)及びブレーキレバー(図示せず)が設けられている。操作レバーは、搭乗者が倒立走行ロボット200の走行速度や走行方向を調整するための操作部材である。搭乗者は、操作レバーの操作量を調整することによって倒立走行ロボット100の移動速度を調整することができる。また、搭乗者は、操作レバーの操作方向を調整することによって倒立走行ロボット200の移動方向を指定することができる。倒立走行ロボット200は、操作レバーに加えられた操作に応じて、前進、停止、後退、左折、右折、左旋回、右旋回することができる。搭乗者がブレーキレバーを倒すことによって、倒立走行ロボット200を制動することができる。倒立走行ロボット200の進行方向は、水平面内において、車軸230、232と垂直な方向になる。また、操作モジュール246には、制御モードを切換えるスイッチが設けられている。
さらに、搭乗席274の背もたれ部分には、制御部280が実装されている。制御部280は、搭乗者が操作モジュール246に対して行なった操作に追従して、右輪駆動モータ234及び左輪駆動モータ236を制御し、倒立走行ロボット200の走行(移動)を制御する。制御部280は、操作モジュールでの操作に応じて、右輪駆動モータ234及び左輪駆動モータ236を制御する。これにより、操作モジュール246での操作に応じた加速度、速度指令値で右輪駆動モータ234及び左輪駆動モータ236が駆動する。
制御部280は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、通信用のインターフェースなどを有し、倒立走行ロボット200の各種動作を制御する。そして、この制御部280は、例えばROMに格納された制御プログラムに従って各種の制御を実行する。制御部280は、操作モジュール246での操作に応じて、所望の加速度、及び目標速度になるように、また、倒立走行ロボット200が倒立を維持するように、ロバスト制御、状態フィードバック制御、PID制御などの周知のフィードバック制御により、右輪駆動モータ234及び左輪駆動モータ236を制御する。これにより、倒立走行ロボット200が、操作モジュール246での操作に応じて加減速しながら走行する。
すなわち、操作モジュール246は、搭乗者の操作によって与えられた操作量を取得し、この操作量を操作信号として、制御部280に出力する。そして、制御部280は、操作信号に基づいて、倒立走行ロボット200の目標加速度や、目標速度を算出し、これに追従するように、倒立走行ロボット200をフィードバック制御する。これにより、倒立走行ロボット200を倒立させつつ、移動させることができる。
また、制御部280は、右輪駆動モータ234、左輪駆動モータ236、右スイングアーム駆動モータ260、左スイングアーム駆動モータ264、及び搭乗席駆動モータ270を制御する。ここで、搭乗席駆動モータ270が右輪駆動モータ234及び左輪駆動モータ236と協調して動作するよう、制御部280が制御を行う。すなわち、倒立を安定させるように、駆動輪を回転駆動するとともに搭乗席274をスライド移動させる。これにより、車体212の傾斜角度が小さくなり、倒立を安定させることができる。このようにして、搭乗席駆動モータ270が右スイングアーム駆動モータ260、左スイングアーム駆動モータ264、及び搭乗席駆動モータ270と協調して動作する。
次に、上記の制御を行う制御部280の構成について図7を用いて説明する。図7は、制御部280を含む制御系の構成を示すブロック図である。図7に示すように、制御部280は、スイングアーム制御部281と、駆動輪・スライド協調制御部282とを備えている。また、センサ類283は、倒立走行ロボット200に設けられている各種センサを示すものであり、例えば、ジャイロセン2サ48、右輪エンコーダ252、左輪エンコーダ254、センサ258等を含んでいる。そして、制御部280は、倒立制御計算を行い、制御目標値を算出する。そして、制御目標値と現在値との偏差を求める。尚、現在値は、例えば、センサ類283からの出力に基づいて算出することができる。そして、この偏差に所定のフィードバックゲインを乗じて、フィードバック制御を行う。
また、倒立走行ロボット200には、各モータを駆動制御するアンプが設けられている。ここで、右輪駆動モータ234、左輪駆動モータ236、右スイングアーム駆動モータ260、左スイングアーム駆動モータ264、搭乗席駆動モータ270に設けられているアンプをそれぞれ、アンプ234a、アンプ236a、アンプ260a、アンプ264a、アンプ270aとする。各アンプは、制御部280からの制御信号に基づいて動作する。制御部280は、搭乗席駆動モータ270のアンプ270aにスライド位置やスライド力に応じた制御信号を出力する。また、モータ234、236のアンプ234a、236aに車輪トルクに応じた制御信号を出力する。
スイングアーム制御部281は、右スイングアーム駆動モータ260、及び左スイングアーム駆動モータ264を制御する。例えば、スイングアーム制御部281は制御信号を出力して、スイングアームが伸縮するようにスイングアーム関節267を駆動する。これにより、補助輪251が接地している接地状態と、離地している離地状態とを切換えることができる。また、傾斜面を走行するときは、ジャイロセンサ248などの出力に基づいて、制御信号を出力する。これにより、傾斜面の角度が吸収され、車体212が水平になる。スイングアーム制御部281からの制御信号は、アンプ260a、264aを介して、右スイングアーム駆動モータ260、左スイングアーム駆動モータ264に入力され、右スイングアーム駆動モータ260、左スイングアーム駆動モータ264が駆動する。なお、スイングアーム関節の回転角を検出するエンコーダを設けて、フィードバック制御してもよい。すなわち、スイングアーム関節267の関節角度や関節角速度に応じてフィードバック制御することができる。
駆動輪・スライド協調制御部282は、右輪駆動モータ234、左輪駆動モータ236、及び搭乗席駆動モータ270を協調して制御する。すなわち、駆動輪・スライド協調制御部282は、右輪駆動モータ234、左輪駆動モータ236、及び搭乗席駆動モータ270に対する制御目標値を算出する。例えば、姿勢の傾斜角度、姿勢の傾斜角速度、並びに駆動輪の回転速度、及び搭乗席274のスライド速度が制御目標値として算出される。車体212の傾斜角速度は、ジャイロセンサ248で測定される。そして、傾斜角速度を積分することによって、車体212の傾斜角度が求まる。例えば、倒立走行時には、姿勢の目標傾斜角度が0°になるようにフィードバック制御する。また、その場で停止させる場合は、目標傾斜角速度が0になるようにフィードバック制御する。
また、駆動輪278の回転速度は、右輪エンコーダ252、及び左輪エンコーダ254の出力によって、求めることができる。スライド機構268のスライド速度は、搭乗席駆動モータ270に設けられているエンコーダの出力により求めることができる。また、スライド機構268は、搭乗席駆動モータ270の回転トルクにより求めることができる。そして、これらの制御目標値と、現在値との偏差に適切なフィードバックゲインをかけることで、フィードバック制御が行われる。もちろん、駆動輪・スライド協調制御部82による、右輪駆動モータ234、左輪駆動モータ236、及び搭乗席駆動モータ270の協調制御は、上記の制御に限られるものではない。
また、制御部280は、接地状態から離地状態に移行する立ち上がり時において、補助輪51が完全に離地してから、協調制御を開始する。すなわち、スイングアームの関節角度がある角度に駆動するまで、協調制御による倒立を開始しない。したがって、スイングアームの関節角度がある角度まで駆動した後に、駆動輪とスライド機構の動作が開始する。このようにすることで、立ち上がり時における、安全性を向上することができる。すなわち、補助輪251が少しでも接地している段階では、倒立制御を行っても、姿勢の傾斜角度、及び傾斜角速度が変化しないおそれがある。傾斜角度や傾斜角速度が変化しない状態で、これらに基づいてフィードバック制御を行うと制御を安定させることができない。すなわち、駆動輪を駆動しても、傾斜角度や傾斜角速度が全く変化しないため、倒立制御が不安定になり、暴走してしまうことがある。しかしながら、本実施の形態に示すように、スイングアーム関節の角度を検出することで、補助輪の両方が確実に地面から離れていることを確認することができる。すなわち、補助輪251が完全に離地した後に協調動作を開始することで、安全に立ち上がることが可能になる。
このように、制御部280は、車体212の高さを変更する際において、スイングアーム関節が一定の駆動量以上、駆動したか否かを判定している。すなわち、スイングアーム関節の関節角度が一定以上になったか否かを判定している。そして、一定の駆動量以上になった後に、協調制御を開始する。すなわち、ある所定の角度以上、スイングアーム関節を駆動したら、協調制御の計算を開始する。したがって、スイングアーム関節が所定の角度になるまでは、協調制御の計算を行わない。これにより、補助輪251が地面に接触した状態で倒立制御が行われるのを防止することができ、より安定に倒立させることができる。
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
本発明の実施の形態にかかる倒立走行ロボット1を示す図である。 本発明の実施の形態にかかる倒立走行ロボットの制御システムを示す図である。 観測点高さに応じたゲイン変更の一例を示す図である。 補助輪高さZPR,ZQRを算出するための各種パラメータを示す図である。 本発明の実施の形態の具体例にかかる倒立走行ロボットの構成を模式的に示す側面図である。 本発明の実施の形態の具体例にかかる倒立走行ロボットの構成を模式的に示す正面図である。 本発明の実施の形態の具体例にかかる制御部を含む制御系の構成を示すブロック図である。 従来の倒立二輪型ロボットの制御部を示す図である。 従来の倒立二輪型ロボットの構成を示す図である。
符号の説明
1、200 倒立走行ロボット、11 車体、12 スイングアーム、
13 スイングアーム軸、14 駆動輪軸、15 駆動輪、
16 補助輪、21 倒立走行コントローラ、22 ゲイン、
23 駆動部、24 センサ、26 算出部、27 減算器、
212 車体、217 右スイングアーム、218 右駆動輪、
219 左スイングアーム、220 左駆動輪、221 右上リンク、
222 左上リンク、226 右マウント、228 左マウント、
230,232 車軸、234 右輪駆動モータ、
234a、236a、260a、264a、270a アンプ、
236 左輪駆動モータ、244 バッテリーモジュール、
246 操作モジュール、248 ジャイロセンサ、251 補助輪、
252 右輪エンコーダ、254 左輪エンコーダ、255 補助輪支持ブロック、
258 センサ、260 右スイングアーム駆動モータ、
262 右スイング軸、264 左スイングアーム駆動モータ、
266 左スイング軸、267 スイングアーム関節、268 スライド機構、
270 搭乗席駆動モータ、272 ラックアンドピニオン、274 搭乗席、
277 車体部、278 駆動輪、280 制御部、281 スイングアーム制御部、
282 駆動輪・スライド協調制御部、283 センサ類

Claims (8)

  1. 2以上の車輪と、
    前記車輪を補助する2以上の補助輪と、
    倒立を維持するための倒立走行制御手段と、
    前記倒立走行制御手段が算出した制御量を増減するゲイン増減手段と、
    前記ゲイン増減手段によりゲインが増減された制御量に基づき駆動する駆動手段と、
    移動体に設けられたセンサと、
    前記センサの検出結果に基づき前記補助輪と路面との間の距離を逐次算出し、当該距離に応じて前記ゲインを逐次調整するゲイン調整手段とを有し、
    前記倒立走行制御手段は、前記センサのセンサ値と目標値との偏差に応じて前記制御量を算出し、
    前記ゲイン調整手段は、予め設計するゲインの上下の閾値をそれぞれK_max,K_minとし、予め与えておく前記補助輪と路面との間の距離に対する閾値であって、S1<S2<S3<S4の関係を満たす4つの閾値をそれぞれS1、S2、S3、S4として、前記補助輪と路面との間の距離が大きくなる場合は、前記S1〜前記S3ではゲインを前記K_minで一定に調整し、前記S3〜前記S4では、前記K_minから前記K_maxまでゲインを単調増加させ、前記S4以上ではゲインを前記K_maxで一定となるように調整し、前記補助輪と路面との間の距離が小さくなる場合は、前記S4〜前記S2まではゲインを前記K_maxで一定に調整し、前記S2〜前記S1では、前記K_maxから前記K_minまでゲインを単調減少させ、前記S1以下ではゲインを前記K_minで一定となるように調整する
    倒立車輪型移動体。
  2. 前記センサは前記補助輪又は車体に設けられた距離センサである
    ことを特徴とする請求項1記載の倒立車輪型移動体。
  3. 前記ゲイン調整手段は、前記センサの検出結果に基づき前記補助輪の最下点と前記車輪の最下点又は路面との距離を算出する
    ことを特徴とする請求項1記載の倒立車輪型移動体。
  4. 前記補助輪に替えてストッパを有する
    ことを特徴とする請求項1乃至3のいずれか1項記載の倒立車輪型移動体。
  5. 2以上の車輪と、前記車輪を補助する2以上の補助輪とを有する倒立車輪型移動体の制御方法であって、
    移動体に設けられたセンサのセンサ値に基づき駆動部を制御する制御量を算出する倒立走行制御工程と、
    前記センサの検出結果に基づき前記補助輪と路面との間の距離を逐次算出し、当該距離に応じてゲインを逐次調整するゲイン調整工程と、
    前記ゲイン調整工程にて調整されたゲインにより、前記制御量を増減するゲイン増減工程とを有し、
    前記ゲイン調整工程では、予め設計するゲインの上下の閾値をそれぞれK_max,K_minとし、予め与えておく前記補助輪と路面との間の距離に対する閾値であって、S1<S2<S3<S4の関係を満たす4つの閾値をそれぞれS1、S2、S3、S4として、前記補助輪と路面との間の距離が大きくなる場合は、前記S1〜前記S3ではゲインを前記K_minで一定に調整し、前記S3〜前記S4では、前記K_minから前記K_maxまでゲインを単調増加させ、前記S4以上ではゲインを前記K_maxで一定となるように調整し、前記補助輪と路面との間の距離が小さくなる場合は、前記S4〜前記S2まではゲインを前記K_maxで一定に調整し、前記S2〜前記S1では、前記K_maxから前記K_minまでゲインを単調減少させ、前記S1以下ではゲインを前記K_minで一定となるように調整する倒立車輪型移動体の制御方法。
  6. 前記センサは前記補助輪又は車体に設けられた距離センサである
    ことを特徴とする請求項5記載の倒立車輪型移動体の制御方法。
  7. 前記ゲイン調整工程では、前記センサの検出結果に基づき前記補助輪の最下点と前記車輪の最下点又は路面との距離を算出する
    ことを特徴とする請求項5記載の倒立車輪型移動体の制御方法。
  8. 前記補助輪に替えてストッパを有する
    ことを特徴とする請求項5乃至7のいずれか1項記載の倒立車輪型移動体の制御方法。
JP2007274125A 2007-10-22 2007-10-22 倒立車輪型移動体及びその制御方法 Expired - Fee Related JP5092683B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007274125A JP5092683B2 (ja) 2007-10-22 2007-10-22 倒立車輪型移動体及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007274125A JP5092683B2 (ja) 2007-10-22 2007-10-22 倒立車輪型移動体及びその制御方法

Publications (2)

Publication Number Publication Date
JP2009101788A JP2009101788A (ja) 2009-05-14
JP5092683B2 true JP5092683B2 (ja) 2012-12-05

Family

ID=40704031

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007274125A Expired - Fee Related JP5092683B2 (ja) 2007-10-22 2007-10-22 倒立車輪型移動体及びその制御方法

Country Status (1)

Country Link
JP (1) JP5092683B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7307706B2 (ja) 2020-06-24 2023-07-12 本田技研工業株式会社 移動体

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004074814A (ja) * 2002-08-09 2004-03-11 Matsushita Electric Works Ltd 人用移動機器
JP2004243845A (ja) * 2003-02-13 2004-09-02 Toyota Motor Corp 移動車
JP4089512B2 (ja) * 2003-05-22 2008-05-28 トヨタ自動車株式会社 倒立振子型台車ロボット
JP4886201B2 (ja) * 2005-03-14 2012-02-29 株式会社日立製作所 移動ロボット
JP2007237750A (ja) * 2006-03-03 2007-09-20 Toyota Motor Corp 倒立振子型移動体

Also Published As

Publication number Publication date
JP2009101788A (ja) 2009-05-14

Similar Documents

Publication Publication Date Title
KR101158372B1 (ko) 도립 차륜형 이동체 및 그 제어 방법
JP4605204B2 (ja) 倒立振子型移動体、及びその制御方法
US8170781B2 (en) Inverted wheel type moving body and method of controlling the same
US8011459B2 (en) Inverted wheel type moving body and method of controlling same
EP1980479B1 (en) Vehicle of parallel two-wheeled inversion pendulum type
JP4872276B2 (ja) 走行体
CN102341298B (zh) 倒立二轮装置及其控制方法以及控制程序
JP4798181B2 (ja) 移動体、走行装置、移動体の制御方法
JP4766031B2 (ja) 倒立型移動体および倒立型移動体の制御方法
JPWO2007013282A1 (ja) 倒立二輪走行型ロボット及びその制御方法
JP2009101484A (ja) 倒立走行ロボット及びその制御方法
JP2009101898A (ja) 倒立車輪型移動体、及びその制御方法
JP2008263676A (ja) 自走車とその制御装置及び制御方法
JP2009101899A (ja) 倒立車輪型移動体、及びその制御方法
JP2009101897A (ja) 倒立車輪型移動体、及びその制御方法
JP2008230548A (ja) 倒立振子型移動体、及びその制御方法
JP5092683B2 (ja) 倒立車輪型移動体及びその制御方法
WO2010035324A1 (ja) 自走車とその制御装置及び制御方法
JP2009101817A (ja) 倒立車輪型移動体及びその制御方法
JP2007237996A (ja) 倒立振子型移動体
JP2006334729A (ja) 倒立振り子型台車ロボットとその制御方法
US9367066B2 (en) Inverted pendulum type vehicle
JP4766159B2 (ja) 倒立振子型移動体、及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100723

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120213

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: 20120821

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: 20120903

R151 Written notification of patent or utility model registration

Ref document number: 5092683

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150928

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees