JP2009101484A - 倒立走行ロボット及びその制御方法 - Google Patents

倒立走行ロボット及びその制御方法 Download PDF

Info

Publication number
JP2009101484A
JP2009101484A JP2007276804A JP2007276804A JP2009101484A JP 2009101484 A JP2009101484 A JP 2009101484A JP 2007276804 A JP2007276804 A JP 2007276804A JP 2007276804 A JP2007276804 A JP 2007276804A JP 2009101484 A JP2009101484 A JP 2009101484A
Authority
JP
Japan
Prior art keywords
control
wheel
vehicle
inverted
sensor
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.)
Pending
Application number
JP2007276804A
Other languages
English (en)
Inventor
Hideki Kajima
日出輝 梶間
Yoshiyuki Senba
快之 仙波
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 JP2007276804A priority Critical patent/JP2009101484A/ja
Publication of JP2009101484A publication Critical patent/JP2009101484A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】走行中に障害物等に衝突するなどの異常が発生しても速やかにリカバリー動作を実行することができる倒立車輪型移動体を提供すること。
【解決手段】倒立走行ロボット1は、車体11と、車体11に取り付けられた2以上の車輪15と、車輪15を補助する1以上の補助輪16と、倒立を維持するための安定化制御手段と、安定化制御手段が算出した制御量に応じて前記車輪を駆動する駆動手段と、補助輪16と当該補助輪16の地面との接地点との間に少なくとも1軸方向以上の圧力を計測できる1以上の感圧センサ17とを有し、安定化制御手段は、停止中及び走行中の感圧センサ17の値を監視し異常の有無を検知する。
【選択図】図1

Description

本発明は、車輪及び補助輪又はストッパを有する倒立走行ロボット及びその制御方法に関する。
搭乗者や荷物の重心位置が計測できない場合、倒立走行性能は、倒立コントローラが有するロバスト性に依存して決まるため、荷重に応じてゲインスケジューリングしたり、重心位置によって制御を切り替えたりすることが好ましい。ゲインスケジューリングとは対象とするシステムの変動するパラメータの情報を利用して、 その状況に応じて補償器のゲインを変える手法である。
従来の荷重・重心位置の計測方法としては、搭乗者の座面に感圧シートを敷く方法がある。しかしながら、搭乗者の姿勢変化の影響を受けやすく、また、感圧シートが設置されていない部分に荷重がかかった際、計測誤差が大きくなってしまう。全面に感圧シートと敷くことでこの問題は解決可能ではあるがコスト、電力等の無駄が多く、現実的ではないという問題点がある。
また、座面下に6軸センサを取り付ける方法も考えられる。しかし、6軸センサで感知できない部位に荷重が掛った際、計測誤差が大きくなってしまう。また、ロボットをゆすったり、ある軸を駆動してその変化で重心位置を推定する場合、計測するためにロボットを動かさなくてはならず、搭乗者に負担がかかる。
なお、車体上の荷重を計測するセンサを用いた従来技術が特許文献1、2に記載されている。特許文献1は、人が乗る台車と、台車に設けられ、出力により台車の状態を変化させるアクチュエータと、台車の状態を検知するセンサと、センサで検知された状態と目標値とを比較し、その差分を取る手段と、差分が入力され、差分を基にアクチュエータの出力を制御するコントローラとを含む平衡感覚測定訓練機器が開示されている。特許文献2には、荷物運搬ロボットの荷台にベルトコンベアを配置し荷物を姿勢の安定化方向に移動させることにより、合成重心位置が常に設計位置付近にあるように補正動作を行う結果、荷物搭載時の水平バランス崩れを防止することができ、安定した荷物運搬を実現する2輪走行型荷物運搬ロボットが開示されている。
特開2006−247035号公報 特開2006−123854号公報
しかしながら、車体上で荷重を計測するセンサを用いる従来技術においては、2輪での倒立制御を開始する前に、補助輪が接地した状態で荷重や重心バランスを正確に検知することが困難である。倒立走行中において補助輪が接地するような想定外の状態に陥った場合、早急にリカバリー動作を開始する必要があるが、従来の技術では路面から入ってくる外乱と、搭乗者の姿勢変化や荷物の揺れなどの車体上の変化を正確に分離することが困難である。さらにまた、車体上に搭載したセンサでは接地圧を検知することができない。
本発明は、このような問題点を解決するためになされたものであり、走行中に障害物等に衝突するなどの異常が発生しても速やかにリカバリー動作を実行することができる倒立走行ロボット及びその制御方法を提供することを目的とする。
上述した目的を達成するために、本発明に係る倒立走行ロボットは、車体と、前記車体に取り付けられた2以上の車輪と、前記車輪を補助する1以上の補助輪と、倒立を維持するための安定化制御手段と、前記安定化制御手段が算出した制御量に応じて前記車輪を駆動する駆動手段と、前記補助輪と当該補助輪の地面との接地点との間に少なくとも1軸方向以上の圧力を計測できる1以上の感圧センサとを有し、前記安定化制御手段は、停止中及び走行中の前記感圧センサの値を監視し異常の有無を検知するものである。
本発明においては、補助輪と車体間の力(接地圧)を計測することで、通常とは異なる状態を検出し、より安全に立ち上がり動作、立下り動作、停止動作を行うようにすることができる。
また、全荷重を検知するための複数の感圧センサを有するものすることができ、全荷重を検出すれば、全荷重に応じた制御が可能となる。
さらに、前記車体と当該車体の地面との接地点との間に少なくとも1軸以上の感圧センサを有するものとすることができ、車体と地面との間にセンサを設けることで全荷重を検出することができる。
さらにまた、前記安定化制御手段は、前記感圧センサから重心バランスを算出し、当該重心バランスに応じて前記駆動手段を駆動する制御量を調整することができ、重心バランスに応じて駆動手段を制御することができる。
また、前記車体の姿勢を検出する姿勢センサと、前記感圧センサの値から荷重を算出する荷重算出手段と、前記荷重算出手段の算出した加重に応じてゲインを調整するゲイン調整手段とを有し、前記安定化制御手段は、前記姿勢センサの値と、目標姿勢角との偏差に応じて制御量を算出し、前記ゲイン調整手段からのゲインに応じて当該制御量を調整することができる。たとえば、荷重が大きければ、制御ゲインを大きくするなどして、荷重の値を制御に反映することができる。
本発明にかかる倒立走行ロボットの制御方法は、車体と、前記車体に取り付けられた2以上の車輪と、前記車輪を補助する1以上の補助輪と、倒立を維持するための安定化制御手段と、前記安定化制御手段が算出した制御量に応じて前記車輪を駆動する駆動手段と、前記補助輪と当該補助輪の地面との接地点との間に少なくとも1軸方向以上の圧力を計測できる感圧センサとを有する倒立走行ロボットの制御方法であって、停止中及び走行中の前記感圧センサの値から重心バランスを算出する工程と、前記重心バランスの値に基づき走行開始又は走行停止を決定する工程とを有するものとすることができる。
本発明においては、補助輪と車体間の力(接地圧)を計測することで、通常とは異なる状態を検出し、より安全に立ち上がり動作、立下り動作、停止動作を行うようにすることができる。
また、走行中の前記重心バランスの値に応じて通常走行モードと緊急停止モードを切り替える工程を更に有することができる。異常を検出したら、走行を停止するための緊急停止モードに移行することができる。
さらに、姿勢センサからの姿勢角と、目標姿勢角の偏差を求める工程と、前記姿勢角偏差に基づきフィードバック制御を行う制御工程と、前記制御工程にて算出された制御量に基づきモータを駆動する駆動工程とを有し、前記制御工程では、全荷重を検知する感圧センサの値に応じ、前記制御量に乗算する制御ゲインを変更することができる。荷重に応じてフィードバック制御の制御ゲインを調整することができる。
本発明によれば、走行中に障害物等に衝突するなどの異常が発生しても速やかにリカバリー動作を実行することができる倒立車輪型移動体を提供することができる。
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。本実施の形態にかかる倒立車輪型移動体(以下、倒立走行ロボットという。)は、少なくとも1軸方向以上の力を計測できるセンサを、車体と接地点との間に少なくとも1つ取り付けるものである。このことにより、搭乗者に荷物の重心位置を倒立走行の開始前に計測することができる。特に、ロボットを動かすことなく重心バランスや荷重を計測することができるため、搭乗者に負担がかからない。また、補助輪が安全に離地したことを検知することができる。逆に、補助輪が安全に接地したことも検知することができる。さらに、走行中に補助輪部が想定外の力を検知した際は、障害物に衝突するなどの以上が発生したと判断し、すみやかにリカバリー動作を開始することで安全性が向上する。
このため、本実施の形態にかかる倒立走行ロボットは、移動体(ロボット)の状態を逐次計測するための姿勢センサ及び姿勢角速度センサと、倒立を維持するために必要な制御量を状態量から算出する安定化制御コントローラと、コントローラの出力に応じて車輪駆動用モータを駆動する駆動部と、車輪と接地点との間に少なくとも1軸方向以上の圧力を計測することができる1つ以上のセンサとを有する。
図1は、本実施の形態にかかる倒立走行ロボットを示す模式図である。なお、図1は、倒立走行ロボットの2次元モデルを示すが、実際は紙面奥に向かって2輪以上の車輪を有する。倒立走行ロボット201は、車体211と、車体211に取り付けられ、回転することで車体を持ち上げるスイングアーム212とを有する。スイングアーム212はスイングアーム軸213により車体211と結合し、床面に並行な車体211をスライド可能に構成されている。スイングアーム212のスイングアーム軸213とは反対側には駆動輪軸214が設けられている。そして、駆動輪軸214を中心に駆動輪215が回転駆動することで、倒立走行ロボット201を移動する。一の駆動輪215を補助する2つの補助輪(又はストッパ)216が車体211に設けられている。
何も制御していない状態では、図1(a)に示すように、補助輪216などが接地して安定な状態を実現する。安定化制御コントローラ(倒立走行コントローラ)が働いている間は、図1(b)に示すように、駆動輪215だけで倒立した状態を維持することができる。
何らかの走行司令が与えられた際は、倒立安定状態を維持したまま、指令走行パターンに応じて走行する。走行が終了したら、適切なタイミングで図1(a)に示す状態に戻る。そして安定化制御コントローラをオフする。なお、ここでは、補助輪を有するものとして説明しているが、補助輪に限定するものではなく、倒立制御をオフしたときでも安定静止状態を維持できるように、駆動輪の前後の少なくとも一方でロボット全体を支えるストッパなどでもよい。
ここで、本実施の形態にかかる倒立走行ロボットは、補助輪216に感圧センサ217が取り付けられている。さらに、スイングアーム212にも車体の圧力を測定するための感圧センサ217が設けられている。なお、本実施の形態においては、感圧センサを複数設けるものとして説明するが、センサは少なくとも補助輪216と接地との間に1つ以上設けるものとする。複数個取り付ける場合は、駆動輪の車軸を挟んで前後に配置するとよい。感圧センサは少なくとも1つ以上の方向の力を測定できるものであればよいが、6軸力センサであってもよい。
この感圧センサ217により、図2に示すように、前後の補助輪が接した際の荷重F1、F2、F3を計測する。図3に示すように、補助輪の片側の接地点が地面から離れた状態での荷重を計測してもよい。
荷重F1、F2、F3を測定することで、重心位置(重心バランス)を算出することができる。図2に示すように、補助輪216が接地した時点で圧力を計測することで、倒立を開始する前に重心位置を算出することが可能である。なお、本実施の形態のように、補助輪216のみならず、スイングアーム部分にも感圧センサを設けると、車体の全荷重を測定することができ、これにより、後述するように、倒立制御のフィードバックゲインを調整することができる。
また、図1(a)から図1(b)への立ち上がり動作を開始してから正常に補助輪が離地したか否かを検知することができる。逆に図1(b)から図1(a)への立下り動作中に、正常に補助輪が接地したことを検知することができる。立ち上がり又は立ち下がりの異常を検知した場合は、動作を停止するなどただちにリカバリ動作に移行することができる。
さらに、図4(a)に示すように、通常走行中、図4(b)に示すように、補助輪部の感圧センサで予想外の外力(F>F)を検知した際は、障害物に衝突するなどの異常が発生したと判断し、速やかにリカバリー動作を開始することで安全性が向上する。予め、感圧センサの取り付け位置はわかっているため、そのときの車体速度などから何秒後に車軸衝撃が加わるかの予測が可能である。
図5は、本実施の形態にかかる感圧センサの一例を示す図である。図5に示すように、補助輪指示部219にバネ218でつりさげた補助輪216を取り付け、このバネ218の変位を変位計測器217aにて測定する。バネの変位を計測し、バネ定数×変位値より、補助輪216にかかる力を計測することができる。また、メカニカルなバネ(ダンパ)機構を利用することで、力を計測すると同時に接地する際の衝撃を吸収して快適性を向上させることができる。感圧センサとしては、このようなバネと変位計測器の他、MEMSのプレッシャーゲージや、歪みゲージなどを使用することができる。なお、それぞれのセンサのダイナミックレンジは100kg程度、分解能として数kgの精度が必要である。
ところで、補助輪部分のみに感圧センサを取り付けた場合、重心バランス(駆動車輪軸まわりのモーメント)は検知できるが、全荷重値を検知することができない。そこで、駆動輪部分に取り付けた感圧センサで計測してもよいが、シート部分に感圧シートを配置することで全荷重を計測してもよい。または、駆動軸部分において、6軸センサを搭載することで正確な鉛直軸方向の力を計測する。または、スイングアーム軸のトルク値から鉛直方向の力を推測する。
図6は、本実施の形態にかかる倒立走行ロボットの制御システムを示すブロック図である。制御システム300は、倒立走行制御部301、ゲイン調整部302、荷重・重心バランス計算部303、感圧センサ部304、姿勢センサ部305、異常検知部306、モード切替部307、倒立走行制御部308、スイッチ309、緊急停止制御部310、偏差算出部311を有する。
姿勢センサ部305は、ロボットの姿勢角、姿勢角速度を計測し、フィードバック制御するために偏差算出部21にその値を入力する。偏差算出部311は、目標状態と姿勢センサ部305で計測した実際の姿勢角との偏差を求める。倒立走行制御部301は、姿勢角偏差に基づき、2輪で倒立を維持し、与えられた速度で走行するための制御量(角度、角速度、トルク)を計算する。
緊急停止制御部310は、ロボットが異常を検知した際に、後述する異常検知部306の制御によりモード切替部307がモードを切り替えると制御を開始する。目標姿勢角と姿勢センサ部305で計測した実際の姿勢角と偏差から、安全を確保しながら停止するための制御量(角度、角速度、トルク)を計算する。
感圧センサ部304はロボットの補助輪や駆動輪付近に設置したセンサで圧力を計測する。感圧センサの計測値は、異常検知部306にて走行中は常に閾値判定され、異常な値を検出した場合は、すぐにモード切替部307にこれを通知する。
モード切替部307は、異常検知部306の通知に基づき、倒立走行制御か緊急停止制御かをスイッチ309を使用して切り替える。
感圧センサ部304の値は、また荷重・重心バランス計算部303にも入力され、ここで、荷重及び重心バランスが計算される。ゲイン調整部302は、計算された荷重に応じて、倒立走行制御部301が算出する制御量に乗算する制御ゲインを出力する。例えば、全荷重が大きい場合には、ゲインを大きくし、制御量を大きくするなどの制御を行う。また、倒立走行制御部301は、この荷重のほか、重心バランスも加味して制御量を算出することも可能である。
異常検知・モード切替部は、感圧センサで計測した結果から、正常状態か異常状態かを判断し、正常であれば倒立走行制御の計算結果を選択し、異常と判断した場合は緊急停止制御の結果をロボットの制御量として選択する。倒立走行制御部308は、倒立走行制御部301又は緊急停止制御部310からの制御量(角度、角速度、トルク)などがモータ駆動部308aに入力され、その値に応じてモータ308bを制御する。さらに、倒立走行制御部308は、それらの制御量を実現するCPU、各種センサを搭載している。
次に、本実施の形態にかかる倒立走行ロボットの動作について説明する。図7は、本実施の形態にかかる倒立走行ロボットの動作を示すフローチャートである。ここでは、補助輪が接地した状態から立ち上がり動作により2輪倒立状態に遷移した後、走行を開始し、目標地点に到達したら立下り動作によって補助輪が接地した状態に戻って停止する処理と、補助輪部のセンサ値を用いた分岐処理について説明する。
まず、荷重・重心バランスを計測する(ステップS1)次に、予め定められた許容値と、荷重・重心を比較し、許容範囲内であるか否かを確認する(ステップS2)。これにより、安定した倒立が実現可能かチェックする。加重・重心バランスが許容値範囲外であった場合は、倒立困難と判断して動作停止する(ステップS12)。一方、許容範囲内である場合は、倒立制御コントローラがゲイン最適化処理を行う(ステップS3)。
次に、立ち上がり動作を行う(ステップS4)。先ず、補助輪感圧センサが値を計測し、計測値が閾値以下であるかを判定する。これにより、補助輪が正常に離地したか否かをチェックする。次いで、倒立走行制御をONにし(ステップS6)、補助輪感圧センサの計測値が閾値以下であるかをチェックする(ステップS7)。補助輪感圧センサが、走行中に所定の閾値を上回ったら、安全に停止するための緊急停止制御を実行する(ステップS13)。
補助輪感圧センサが閾値以下であれば目的地まで走行する。そして、目的地に到着であるかを判定し(ステップS8)、目的地に到着の場合は、立下り動作を実施する(ステップS9)。そして、補助輪感圧センサの計測値が所定の閾値以上であるか否かを判定する(ステップS10)。これにより、補助輪が正常に着地したか否かを判定する。最後に、倒立走行制御をオフする。
本実施の形態においては、補助輪に感圧センサを取り付けたことから、停止時の重心バランス、走行時の重心バランスを把握することができ、より安全な制御を行うことができる。また、走行時に、感圧センサが所定の値より大きな値となった場合、障害物に衝突したと判断し、ただちに走行を停止することができる。
さらにまた、駆動輪に感圧センサを取り付けるか、シート部分に感圧シートを配置することにより、全荷重を計測することができる。これにより、走行時のフィードバック制御の制御ゲインを変更することができ、搭乗者等の荷重に応じた倒立走行制御を行うことができる。
次に、本実施の形態にかかる倒立走行ロボットの一具体例について説明しておく。本具体例にかかる倒立走行ロボットは、倒立振子制御によって移動する倒立車輪型移動体である。この倒立走行ロボットは、地面に接地した車輪を駆動することによって、所定の位置まで移動する。さらに、ジャイロセンサ等からの出力に応じて車輪を駆動することによって、倒立状態を維持することができる。また、倒立走行ロボットは、倒立状態を維持したまま、操作者が操作する操作量に応じて移動する。
図8及び図9を用いて、本実施の形態の具体例にかかる倒立走行ロボット100の構成について説明する。図8は倒立走行ロボット100の構成を模式的に示す側面図であり、図9は倒立走行ロボット100の構成を模式的に示す正面図である。
図9に示されるように、倒立走行ロボット100は、倒立車輪型の移動体(走行体)であり、右駆動輪18と、左駆動輪20と、右スイングアーム17と、左スイングアーム19と、車体12と、を備えている。車体12は、右駆動輪18、及び左駆動輪20の上方に配置された倒立走行ロボット100の上体部の一部である。ここで、倒立走行ロボット100の進行方向(図9の紙面と垂直方向)を前後方向とし、水平面において前後方向に垂直な方向を左右方向(横方向)とする。よって、図9は、進行方向前側から倒立走行ロボット100を見た図であり、図8は、左側から倒立走行ロボット100を見た図である。
走行時において、右スイングアーム17、及び左スイングアーム19は、車高を調整する。さらに、一方、又は両方のスイングアームを駆動して、車体12の地面に対する左右の傾斜角度を調整する。例えば、水平な地面を走行中に、右駆動輪18のみが段差に乗り上げたり、地面が右上がりの傾斜面に変わったりしたとする。この場合、右駆動輪18が左駆動輪20よりも高くなる。このため、右スイングアーム17の関節を駆動して右駆動輪18を車体12の方向により近づけるようにする。これにより、右駆動輪18が高くなった分を吸収でき、横方向(左右方向)において車体12を水平にすることができる。
右スイングアーム17側端側には右マウント26が固定され、車軸30を介して右駆動輪18を回転可能に支持する。右駆動輪18は、車軸30を介して右輪駆動モータ34の回転軸C1に固定されている。右輪駆動モータ34は、右マウント26内に固定され、車輪用駆動部(アクチュエータ)として機能する。
左スイングアーム19の側端側には左マウント28が固定され、車軸32を介して左駆動輪20を回転可能に支持する。左駆動輪20は、車軸32を介して左輪駆動モータ36の回転軸C2に固定されている。左輪駆動モータ36は、左マウント28内に固定され、車輪用駆動部(アクチュエータ)として機能する。右駆動輪18と左駆動輪20は、地面と接地し、略同軸上で回転する一対の車輪である。右駆動輪18と左駆動輪20が、回転することによって、倒立走行ロボット100が移動する。また、右輪駆動モータ34、及び左輪駆動モータ36が車輪を駆動させる駆動輪モータとなる。右マウント26、及び左マウント28が左右の駆動輪を回転可能に支持する車台となる。
右輪駆動モータ34及び左輪駆動モータ36(以下、モータ34、36と称することもある。)は例えば、サーボモータである。尚、車輪用アクチュエータは、電気的なモータに限らず、空圧、油圧を使用したアクチュエータでもよい。なお、以下の説明において、右駆動輪18と左駆動輪20をまとめて、駆動輪と呼ぶこともある。
また、右マウント26は、右輪エンコーダ52を備えている。右輪エンコーダ52は、右駆動輪18の回転量としての回転角を検出する。左マウント28は、左輪エンコーダ54を備えている。左輪エンコーダ54は、左駆動輪20の回転量としての回転角を検出する。
右スイングアーム17は、右上リンク21と、右スイング軸62と、右スイングアーム駆動モータ60を有している。左スイングアーム19は、左上リンク22と、左スイング軸66と、左スイングアーム駆動モータ64を有している。車体12の下部には、右上リンク21及び左上リンク22が固定されている。右上リンク21には、右スイングアーム駆動モータ60が固定され、右スイング軸62を介して、回転軸C4回りに、右スイングアーム17を駆動する。左スイング軸66には、左スイングアーム駆動モータ64が固定され、左スイング軸66を介して、回転軸C5周りに左スイングアーム19を駆動する。このように、右スイングアーム17には、回転軸C4回りに回転する回転関節が設けられ、左スイングアーム19には、回転軸C5回りに回転する回転関節が設けられている。右スイングアーム17及び左スイングアーム19(以下、スイングアーム17、19と称することもある。)に設けられた関節をスイングアーム関節とする。
車体12には、搭乗席駆動モータ70、ラックアンドピニオン72、ジャイロセンサ48、及び搭乗席74が取り付けられている。また、車体12には、対向して、右上リンク21及び左上リンク22が取り付けられている。
車体12の中央近傍には、ラックアンドピニオン72が設けられている。ラックアンドピニオンのラックは、前後方向に沿って設けられている。ラックアンドピニオン72によって、搭乗席74が支持されている。即ち、搭乗席74は、ラックアンドピニオン72を介して車体12に取り付けられている。搭乗席74は、搭乗者が座ることができる椅子の形状を有する。なお、ラックアンドピニオン72の代わりにボールネジなどを用いてスライドさせてもよい。
車体12の上部には、搭乗席駆動モータ70が固定されている。搭乗席74と搭乗席駆動モータ70は、ラックアンドピニオン72によって連結されている。搭乗席駆動モータ70は、回転軸C3回りに回転する。これにより、ラックアンドピニオン72のピニオンに回転力が加えられる。搭乗席駆動モータ70の回転運動は、ラックアンドピニオン72によって、直線運動に変換される。すなわち、搭乗席駆動モータ70を駆動すると、車体12に対する搭乗席74の位置が前後にスライドする。このとき、搭乗席74と搭乗者又は搭乗物との合成重心位置が、車体12に対して前後に変化する。なお、車体12に対して、搭乗席74と搭乗者又は搭乗物との合成重心位置を変化させる手段としては、スライド機構の他に、回転軸機構、旋回機構などで実現することも可能である。また、搭乗席駆動モータ70の動力をギアやベルトやプーリなどを介して、搭乗席74に伝達してもよい。ここで、搭乗席駆動モータ70によって前後に移動する構成全体を車体部77とする。車体部77には、搭乗席74や操作モジュール46等が含まれる。もちろん、車体12を駆動するアクチュエータを備える場合は、車体部77に車体12も含まれる。また、搭乗席駆動モータ70には、スライド位置を計測するためのエンコーダ(図示せず)が設けられている。
回転軸C3は回転軸C1及びC2と平行であり、回転軸C1及びC2の上方に位置する。回転軸C3と回転軸C1との間に右スイングアーム17が設けられ、回転軸C3と回転軸C2との間に左スイングアーム19が設けられている。右スイングアーム駆動モータ60は、右スイングアーム17を回転軸C4回りに回転させ、左スイングアーム駆動モータ64は、左スイングアーム19を回転軸C5回りに回転させる。通常の走行時には、回転軸C1〜回転軸C5は水平になっている。
さらに、倒立走行ロボット100には、転倒を防止するために、2つの補助輪51が設けられている。補助輪51は、補助輪支持ブロック55に対して回転可能に支持されている。そして、補助輪支持ブロック55は車体12に取り付けられている。ここでは、一方の補助輪51は、駆動輪の前方側に配置され、他方の補助輪51は駆動輪の後方側に配置されている。補助輪51は、従動輪であり、倒立走行ロボット100の移動にしたがって回転する。なお、本実施の形態にかかる倒立走行ロボット100においては、この補助輪51の上部に感圧センサ(不図示)が取り付けられている。補助輪51が接地した時点でそのときの垂直方向の圧力を測定可能となっている。
通常の走行を開始するときには、スイングアーム関節を伸ばすことによって、補助輪51を離地させる。すなわち、車体12が上方に移動するように、スイングアーム関節を移動して、補助輪51を上方に移動させる。停止状態では、スイングアーム関節を縮めることによって、補助輪51を接地させる。すなわち、スイングアーム関節を屈曲させていくことで、車体12が地面に近づき、補助輪51が下方に移動する。このように、補助輪51を上下に移動させることで、補助輪51が接地した接地状態と、離地して二輪で走行する離地状態とを切換えることができる。このように、倒立走行ロボット100は、立ち上がり時にスイングアームを使って、4輪の接地状態から2輪状態の離地状態へと移行していく。
一方の補助輪51の回転軸は、回転軸C1、C2よりも前側上方にあり、他方の補助輪51の回転軸は、回転軸C1,C2よりも後側上方にある。すなわち、補助輪51の一方は、駆動輪の車軸よりも前方に配置され、他方は、駆動輪の車軸よりも後方に配置される。これにより、倒立走行ロボット100が前後に転倒するのを防止することができる。なお、補助輪以外の転倒防止部材によって、転倒を防止してもよい。例えば、前後方向に突出したストッパなどで転倒を防止することができる。
車体12には、バッテリーモジュール44と、センサ58が収納されている。センサ58は、例えば、光学式の障害物検知センサであり、倒立走行ロボット100の前方に障害物を検知すると、検知信号を出力する。また、センサ58は、障害物センサ以外のセンサであってもよい。例えば、センサ58として、加速度センサを用いることも可能である。もちろん、センサ58として、2以上のセンサが用いられていてもよい。センサ58は倒立走行ロボット100の状態に応じて変化する変化量を検出する。バッテリーモジュール44は、センサ58、ジャイロセンサ48、右輪駆動モータ34、左輪駆動モータ36、右スイングアーム駆動モータ60、左スイングアーム駆動モータ64、搭乗席駆動モータ70、及び制御部80等に対して電力を供給する。
車体12上には、ジャイロセンサ48が設けられている。ジャイロセンサ48は、車体12の傾斜角に対する角速度を検出する。ここで、車体12の傾斜角は、倒立走行ロボット100の重心位置が車軸30、32の鉛直上方に伸びる軸からの傾斜度合いであり、例えば倒立走行ロボット100の進行方向前方に車体12が傾斜している場合を「正」とし、倒立走行ロボット100の進行方向後方に車体12が傾斜している場合を「負」として表わす。したがって、車体12が水平になっている状態では、傾斜角度が0°になる。そして、通常の走行時には、傾斜角度の制御目標値が0°なっている。この制御目標値に追従するように、フィードバック制御されている。また、前後方向における傾斜角度を倒立走行ロボット100の姿勢の傾斜角度とする。
また、進行方向の前後方向に加えて、左右方向の傾斜角速度はロール、ピッチ、ヨーの3軸のジャイロセンサ48を用いて測定される。このように、ジャイロセンサ48は、車体12の傾斜角の変化を、車体12の傾斜角速度として測定する。もちろん、ジャイロセンサ48は他の箇所に取り付けられていてもよい。ジャイロセンサ48で測定された傾斜角速度は、倒立走行ロボット100の姿勢の変化に応じて変化する。即ち、傾斜角速度は、車軸の位置に対する車体12の重心位置に応じて変化する変化量である。従って、外乱などによって、姿勢の傾斜角度が急激に変化すると、傾斜角速度の値が大きくなる。
搭乗席74の側面には、操作モジュール46が設けられている。操作モジュール46には、操作レバー(図示せず)及びブレーキレバー(図示せず)が設けられている。操作レバーは、搭乗者が倒立走行ロボット100の走行速度や走行方向を調整するための操作部材である。搭乗者は、操作レバーの操作量を調整することによって倒立走行ロボット100の移動速度を調整することができる。また、搭乗者は、操作レバーの操作方向を調整することによって倒立走行ロボット100の移動方向を指定することができる。倒立走行ロボット100は、操作レバーに加えられた操作に応じて、前進、停止、後退、左折、右折、左旋回、右旋回することができる。搭乗者がブレーキレバーを倒すことによって、倒立走行ロボット100を制動することができる。倒立走行ロボット100の進行方向は、水平面内において、車軸30、32と垂直な方向になる。また、操作モジュール46には、制御モードを切換えるスイッチが設けられている。
さらに、搭乗席74の背もたれ部分には、制御部80が実装されている。制御部80は、搭乗者が操作モジュール46に対して行なった操作に追従して、右輪駆動モータ34及び左輪駆動モータ36を制御し、倒立走行ロボット100の走行(移動)を制御する。制御部80は、操作モジュールでの操作に応じて、右輪駆動モータ34及び左輪駆動モータ36を制御する。これにより、操作モジュール46での操作に応じた加速度、速度指令値で右輪駆動モータ34及び左輪駆動モータ36が駆動する。
制御部80は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、通信用のインターフェースなどを有し、倒立走行ロボット100の各種動作を制御する。そして、この制御部80は、例えばROMに格納された制御プログラムに従って各種の制御を実行する。制御部80は、操作モジュール46での操作に応じて、所望の加速度、及び目標速度になるように、また、倒立走行ロボット100が倒立を維持するように、ロバスト制御、状態フィードバック制御、PID制御などの周知のフィードバック制御により、右輪駆動モータ34及び左輪駆動モータ36を制御する。これにより、倒立走行ロボット100が、操作モジュール46での操作に応じて加減速しながら走行する。
すなわち、操作モジュール46は、搭乗者の操作によって与えられた操作量を取得し、この操作量を操作信号として、制御部80に出力する。そして、制御部80は、操作信号に基づいて、倒立走行ロボット100の目標加速度や、目標速度を算出し、これに追従するように、倒立走行ロボット100をフィードバック制御する。これにより、倒立走行ロボット100を倒立させつつ、移動させることができる。
また、制御部80は、右輪駆動モータ34、左輪駆動モータ36、右スイングアーム駆動モータ60、左スイングアーム駆動モータ64、及び搭乗席駆動モータ70を制御する。ここで、搭乗席駆動モータ70が右輪駆動モータ34及び左輪駆動モータ36と協調して動作するよう、制御部80が制御を行う。すなわち、倒立を安定させるように、駆動輪を回転駆動するとともに搭乗席74をスライド移動させる。これにより、車体12の傾斜角度が小さくなり、倒立を安定させることができる。このようにして、搭乗席駆動モータ70が右スイングアーム駆動モータ60、左スイングアーム駆動モータ64、及び搭乗席駆動モータ70と協調して動作する。
次に、上記の制御を行う制御部80の構成について図10を用いて説明する。図10は、制御部80を含む制御系の構成を示すブロック図である。図10に示すように、制御部80は、スイングアーム制御部81と、駆動輪・スライド協調制御部82とを備えている。また、センサ類83は、倒立走行ロボット100に設けられている各種センサを示すものであり、例えば、ジャイロセンサ48、右輪エンコーダ52、左輪エンコーダ54、センサ58等を含んでいる。そして、制御部80は、倒立制御計算を行い、制御目標値を算出する。そして、制御目標値と現在値との偏差を求める。尚、現在値は、例えば、センサ類83からの出力に基づいて算出することができる。そして、この偏差に所定のフィードバックゲインを乗じて、フィードバック制御を行う。
また、倒立走行ロボット100には、各モータを駆動制御するアンプが設けられている。ここで、右輪駆動モータ34、左輪駆動モータ36、右スイングアーム駆動モータ60、左スイングアーム駆動モータ64、搭乗席駆動モータ70に設けられているアンプをそれぞれ、アンプ34a、アンプ36a、アンプ60a、アンプ64a、アンプ70aとする。各アンプは、制御部80からの制御信号に基づいて動作する。制御部80は、搭乗席駆動モータ70のアンプ70aにスライド位置やスライド力に応じた制御信号を出力する。また、モータ34、36のアンプ34a、36aに車輪トルクに応じた制御信号を出力する。
スイングアーム制御部81は、右スイングアーム駆動モータ60、及び左スイングアーム駆動モータ64を制御する。例えば、スイングアーム制御部81は制御信号を出力して、スイングアームが伸縮するようにスイングアーム関節67を駆動する。これにより、補助輪51が接地している接地状態と、離地している離地状態とを切換えることができる。また、傾斜面を走行するときは、ジャイロセンサ48などの出力に基づいて、制御信号を出力する。これにより、傾斜面の角度が吸収され、車体12が水平になる。スイングアーム制御部81からの制御信号は、アンプ60a、64aを介して、右スイングアーム駆動モータ60、左スイングアーム駆動モータ64に入力され、右スイングアーム駆動モータ60、左スイングアーム駆動モータ64が駆動する。なお、スイングアーム関節の回転角を検出するエンコーダを設けて、フィードバック制御してもよい。すなわち、スイングアーム関節67の関節角度や関節角速度に応じてフィードバック制御することができる。
駆動輪・スライド協調制御部82は、右輪駆動モータ34、左輪駆動モータ36、及び搭乗席駆動モータ70を協調して制御する。すなわち、駆動輪・スライド協調制御部82は、右輪駆動モータ34、左輪駆動モータ36、及び搭乗席駆動モータ70に対する制御目標値を算出する。例えば、姿勢の傾斜角度、姿勢の傾斜角速度、並びに駆動輪の回転速度、及び搭乗席74のスライド速度が制御目標値として算出される。車体12の傾斜角速度は、ジャイロセンサ48で測定される。そして、傾斜角速度を積分することによって、車体12の傾斜角度が求まる。例えば、倒立走行時には、姿勢の目標傾斜角度が0°になるようにフィードバック制御する。また、その場で停止させる場合は、目標傾斜角速度が0になるようにフィードバック制御する。
また、駆動輪78の回転速度は、右輪エンコーダ52、及び左輪エンコーダ54の出力によって、求めることができる。スライド機構68のスライド速度は、搭乗席駆動モータ70に設けられているエンコーダの出力により求めることができる。また、スライド機構68は、搭乗席駆動モータ70の回転トルクにより求めることができる。そして、これらの制御目標値と、現在値との偏差に適切なフィードバックゲインをかけることで、フィードバック制御が行われる。もちろん、駆動輪・スライド協調制御部82による、右輪駆動モータ34、左輪駆動モータ36、及び搭乗席駆動モータ70の協調制御は、上記の制御に限られるものではない。
また、制御部80は、接地状態から離地状態に移行する立ち上がり時において、補助輪51が完全に離地してから、協調制御を開始する。すなわち、スイングアームの関節角度がある角度に駆動するまで、協調制御による倒立を開始しない。したがって、スイングアームの関節角度がある角度まで駆動した後に、駆動輪とスライド機構の動作が開始する。このようにすることで、立ち上がり時における、安全性を向上することができる。すなわち、補助輪51が少しでも接地している段階では、倒立制御を行っても、姿勢の傾斜角度、及び傾斜角速度が変化しないおそれがある。傾斜角度や傾斜角速度が変化しない状態で、これらに基づいてフィードバック制御を行うと制御を安定させることができない。すなわち、駆動輪を駆動しても、傾斜角度や傾斜角速度が全く変化しないため、倒立制御が不安定になり、暴走してしまうことがある。しかしながら、本実施の形態に示すように、スイングアーム関節の角度を検出することで、補助輪の両方が確実に地面から離れていることを確認することができる。すなわち、補助輪51が完全に離地した後に協調動作を開始することで、安全に立ち上がることが可能になる。
このように、制御部80は、車体12の高さを変更する際において、スイングアーム関節が一定の駆動量以上、駆動したか否かを判定している。すなわち、スイングアーム関節の関節角度が一定以上になったか否かを判定している。そして、一定の駆動量以上になった後に、協調制御を開始する。すなわち、ある所定の角度以上、スイングアーム関節を駆動したら、協調制御の計算を開始する。したがって、スイングアーム関節が所定の角度になるまでは、協調制御の計算を行わない。これにより、補助輪51が地面に接触した状態で倒立制御が行われるのを防止することができ、より安定に倒立させることができる。
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
本発明の実施の形態にかかる倒立車輪型移動体(以下、倒立走行ロボットという。)を示す模式図である。 前後の補助輪が接した際の荷重F1、F2、F3を説明する図である。 補助輪の片側の接地点が地面から離れた状態での荷重を説明する図である。 (a)及び(b)は、それぞれ、通常走行中、及び補助輪部の感圧センサで予想外の外力(F>F)を検知した際を示す図である。 本発明の実施の形態にかかる感圧センサの一例を示す図である。 本発明の実施の形態にかかる倒立走行ロボットの制御システムを示すブロック図である。 本発明の実施の形態にかかる倒立走行ロボットの動作を示すフローチャートである。 本発明の実施の形態の具体例にかかる倒立走行ロボットの構成を模式的に示す側面図である。 本発明の実施の形態の具体例にかかる倒立走行ロボットの構成を模式的に示す正面図である。 本発明の実施の形態の具体例にかかる制御部を含む制御系の構成を示すブロック図である。
符号の説明
12 車体、17 右スイングアーム、18 右駆動輪、
19 左スイングアーム、20 左駆動輪、21 偏差算出部、
21 右上リンク、22 左上リンク、26 右マウント、
28 左マウント、30 車軸、32 車軸、
34 右輪駆動モータ、34a、36a、60a、64a、70a アンプ、
36 左輪駆動モータ、44 バッテリーモジュール、46 操作モジュール、
48 ジャイロセンサ、51 補助輪、52 右輪エンコーダ、
54 左輪エンコーダ、55 補助輪支持ブロック、58 センサ、
60 右スイングアーム駆動モータ、62 右スイング軸、
64 左スイングアーム駆動モータ、66 左スイング軸、
67 スイングアーム関節、68 スライド機構、70 搭乗席駆動モータ、
72 ラックアンドピニオン、74 搭乗席、77 車体部、
78 駆動輪、80 制御部、81 スイングアーム制御部、
82 駆動輪・スライド協調制御部、83 センサ類、
100、201 倒立走行ロボット、211 車体、
212 スイングアーム、213 スイングアーム軸、
214 駆動輪軸、215 駆動輪、216 補助輪、
217 感圧センサ、217a 変位計測器、218 バネ、
219 補助輪指示部、300 制御システム、301 倒立走行制御部、
302 ゲイン調整部、303 荷重・重心バランス計算部、
304 感圧センサ部、305 姿勢センサ部、306 異常検知部、
307 モード切替部、308 倒立走行制御部、308a モータ駆動部、
308b モータ、309 スイッチ、310 緊急停止制御部、
311 偏差算出部

Claims (8)

  1. 車体と、
    前記車体に取り付けられた2以上の車輪と、
    前記車輪を補助する1以上の補助輪と、
    倒立を維持するための安定化制御手段と、
    前記安定化制御手段が算出した制御量に応じて前記車輪を駆動する駆動手段と、
    前記補助輪と当該補助輪の地面との接地点との間に少なくとも1軸方向以上の圧力を計測できる1以上の感圧センサとを有し、
    前記安定化制御手段は、停止中及び走行中の前記感圧センサの値を監視し異常の有無を検知する倒立走行ロボット。
  2. 全荷重を検知するための複数の感圧センサを有する
    ことを特徴とする請求項1記載の倒立走行ロボット。
  3. 前記車体と当該車体の地面との接地点との間に少なくとも1軸以上の感圧センサを有する
    ことを特徴とする請求項1記載の倒立走行ロボット。
  4. 前記安定化制御手段は、前記感圧センサから重心バランスを算出し、当該重心バランスに応じて前記駆動手段を駆動する制御量を調整する
    ことを特徴とする請求項1乃至3のいずれか1項記載の倒立走行ロボット。
  5. 前記車体の姿勢を検出する姿勢センサと、
    前記感圧センサの値から荷重を算出する荷重算出手段と、
    前記荷重算出手段の算出した加重に応じてゲインを調整するゲイン調整手段とを有し、
    前記安定化制御手段は、前記姿勢センサの値と、目標姿勢角との偏差に応じて制御量を算出し、前記ゲイン調整手段からのゲインに応じて当該制御量を調整する
    ことを特徴とする請求項2乃至4のいずれか1項記載の倒立走行ロボット。
  6. 車体と、前記車体に取り付けられた2以上の車輪と、前記車輪を補助する1以上の補助輪と、倒立を維持するための安定化制御手段と、前記安定化制御手段が算出した制御量に応じて前記車輪を駆動する駆動手段と、前記補助輪と当該補助輪の地面との接地点との間に少なくとも1軸方向以上の圧力を計測できる感圧センサとを有する倒立走行ロボットの制御方法であって、
    停止中及び走行中の前記感圧センサの値から重心バランスを算出する工程と、
    前記重心バランスの値に基づき走行開始又は走行停止を決定する工程とを有する倒立走行ロボットの制御方法。
  7. 走行中の前記重心バランスの値に応じて通常走行モードと緊急停止モードを切り替える工程を更に有する請求項6記載の倒立走行ロボットの制御方法。
  8. 姿勢センサからの姿勢角と、目標姿勢角の偏差を求める工程と、
    前記姿勢角偏差に基づきフィードバック制御を行う制御工程と、
    前記制御工程にて算出された制御量に基づきモータを駆動する駆動工程とを有し、
    前記制御工程では、全荷重を検知する感圧センサの値に応じ、前記制御量に乗算する制御ゲインを変更する
    ことを特徴とする請求項6又は7記載の倒立走行ロボットの制御方法。
JP2007276804A 2007-10-24 2007-10-24 倒立走行ロボット及びその制御方法 Pending JP2009101484A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007276804A JP2009101484A (ja) 2007-10-24 2007-10-24 倒立走行ロボット及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007276804A JP2009101484A (ja) 2007-10-24 2007-10-24 倒立走行ロボット及びその制御方法

Publications (1)

Publication Number Publication Date
JP2009101484A true JP2009101484A (ja) 2009-05-14

Family

ID=40703794

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007276804A Pending JP2009101484A (ja) 2007-10-24 2007-10-24 倒立走行ロボット及びその制御方法

Country Status (1)

Country Link
JP (1) JP2009101484A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012115988A (ja) * 2012-02-16 2012-06-21 Fuji Soft Inc 学習歩行ロボット装置及びその制御プログラム
WO2014045857A1 (ja) * 2012-09-18 2014-03-27 株式会社村田製作所 移動体
WO2014068759A1 (ja) * 2012-11-02 2014-05-08 株式会社日立製作所 移動装置
KR20160028765A (ko) 2014-09-04 2016-03-14 한화테크윈 주식회사 자동 밸런스의 서스펜션 장치
CN106826849A (zh) * 2017-01-24 2017-06-13 上海钛米机器人科技有限公司 一种防推倒服务机器人及处理方法
CN111409736A (zh) * 2020-03-18 2020-07-14 北京全路通信信号研究设计院集团有限公司 一种中心单驱动的机器人底盘

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012115988A (ja) * 2012-02-16 2012-06-21 Fuji Soft Inc 学習歩行ロボット装置及びその制御プログラム
WO2014045857A1 (ja) * 2012-09-18 2014-03-27 株式会社村田製作所 移動体
JP5716873B2 (ja) * 2012-09-18 2015-05-13 株式会社村田製作所 移動体
US9463836B2 (en) 2012-09-18 2016-10-11 Murata Manufacturing Co., Ltd. Mobile body
WO2014068759A1 (ja) * 2012-11-02 2014-05-08 株式会社日立製作所 移動装置
JP5923620B2 (ja) * 2012-11-02 2016-05-24 株式会社日立製作所 移動装置
KR20160028765A (ko) 2014-09-04 2016-03-14 한화테크윈 주식회사 자동 밸런스의 서스펜션 장치
CN106826849A (zh) * 2017-01-24 2017-06-13 上海钛米机器人科技有限公司 一种防推倒服务机器人及处理方法
CN106826849B (zh) * 2017-01-24 2019-05-07 上海钛米机器人科技有限公司 一种防推倒服务机器人及处理方法
CN111409736A (zh) * 2020-03-18 2020-07-14 北京全路通信信号研究设计院集团有限公司 一种中心单驱动的机器人底盘
CN111409736B (zh) * 2020-03-18 2021-05-14 北京全路通信信号研究设计院集团有限公司 一种中心单驱动的机器人底盘

Similar Documents

Publication Publication Date Title
JP4867823B2 (ja) 倒立車輪型移動体、及びその制御方法
JP4956962B2 (ja) 走行装置及びその制御方法
JP4872276B2 (ja) 走行体
US8011459B2 (en) Inverted wheel type moving body and method of controlling same
JP4605204B2 (ja) 倒立振子型移動体、及びその制御方法
JP4735598B2 (ja) 倒立車輪型移動体、及びその制御方法
EP1980479B1 (en) Vehicle of parallel two-wheeled inversion pendulum type
US8014923B2 (en) Travel device
EP2128011B1 (en) Mobile and control method of mobile
JP4600539B2 (ja) 走行装置、走行装置の制御方法
JPWO2007013282A1 (ja) 倒立二輪走行型ロボット及びその制御方法
JP2009101484A (ja) 倒立走行ロボット及びその制御方法
US20140379198A1 (en) Mobile Object
JP2009101898A (ja) 倒立車輪型移動体、及びその制御方法
JP2009101899A (ja) 倒立車輪型移動体、及びその制御方法
JP5360178B2 (ja) 走行体
JP2008230548A (ja) 倒立振子型移動体、及びその制御方法
JP2011218847A (ja) 移動体
JP2009101897A (ja) 倒立車輪型移動体、及びその制御方法
JP2009101817A (ja) 倒立車輪型移動体及びその制御方法
JP4766159B2 (ja) 倒立振子型移動体、及びその制御方法
JP5092683B2 (ja) 倒立車輪型移動体及びその制御方法
JP2008081019A (ja) 走行車両