(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-27
(45)【発行日】2023-12-05
(54)【発明の名称】移動体の姿勢推定装置
(51)【国際特許分類】
G05D 1/08 20060101AFI20231128BHJP
B25J 5/00 20060101ALI20231128BHJP
G05B 11/36 20060101ALI20231128BHJP
【FI】
G05D1/08 Z
B25J5/00 Z
G05B11/36 G
(21)【出願番号】P 2019200621
(22)【出願日】2019-11-05
【審査請求日】2021-11-26
(73)【特許権者】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】110000800
【氏名又は名称】デロイトトーマツ弁理士法人
(72)【発明者】
【氏名】黒須 智博
【審査官】影山 直洋
(56)【参考文献】
【文献】特許第4181113(JP,B2)
【文献】特開2007-183138(JP,A)
【文献】特開平09-318382(JP,A)
【文献】特開2011-059020(JP,A)
【文献】特開平06-174487(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/08
B25J 5/00
G05B 11/36
(57)【特許請求の範囲】
【請求項1】
移動体の所定の部位の姿勢を推定する装置であって、
前記所定の部位に搭載された角速度センサの出力から該所定の部位の角速度の推定値を生成する角速度推定部と、
前記所定の部位に搭載された加速度センサの出力から該加速度センサの搭載位置での並進加速度の推定値であって、重力加速度成分を含む推定値を生成する並進加速度推定部と、
前記所定の部位の運動に起因して前記加速度センサの搭載位置で発生する運動加速度の推定値を、前記所定の部位の運動に関する目標値を用いずに、該運動加速度と相関性を有する前記移動体の運動状態量の観測値から生成する運動加速度推定部と、
前記角速度の推定値と前記並進加速度の推定値と前記運動加速度の推定値とから前記所定の部位の姿勢の推定値を生成する姿勢推定部とを備えており、
前記運動加速度推定部は、前記加速度センサの搭載位置で発生する並進運動加速度及び向心加速度を含む運動加速度の推定値を生成するように構成され、
前記姿勢推定部は、前記並進加速度の推定値と前記運動加速度の推定値との差に基づいて、前記所定の部位の基準姿勢を推定する基準姿勢推定部と、生成済の前記所定の部位の最新の姿勢の推定値と前記基準姿勢の推定値との差を該姿勢の推定値の誤差として推定する誤差推定部と、該誤差の推定値に応じて、所定の周期で該誤差をゼロに近づけるようにフィードバック制御則によりフィードバック操作量を生成するフィードバック制御部と、該フィードバック操作量により前記角速度の推定値を補正してなる入力を積分することにより前記所定の部位の姿勢の推定値を生成する積分処理部とを備え、
前記運動状態量の観測値は、前記加速度センサにより検出される並進加速度以外の運動状態量であって、前記所定の周期で前記移動体の運動に応じて観測される運動状態量の観測値であることを特徴とする移動体の姿勢推定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動体の所定の部位の姿勢を推定する装置に関する。
【背景技術】
【0002】
従来、この種の技術としては、加速度センサ及び角速読センサを含む慣性センサを用いた慣性航法の手法が一般に知られている。
【0003】
また、例えば移動ロボットでは、特許文献1に見られるように、慣性航法の手法に移動ロボットの目標歩容を組み込んだ手法により移動ロボットの上体の姿勢を推定する手法が提案されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
人や荷物を搭乗させる移動体や、公共施設等で人を誘導案内する移動体は、様々な障害物を避けつつ、フレキシブルに移動を行う必要がある。このため、このような移動体は、運動状態の変化が生じやすいと共に、事前に目標運動を設定しておくことが難しい。
【0006】
そして、従来の慣性航法の手法では、移動体の運動状態の変化に応じて姿勢の推定対象の部位の運動加速度が変動すると、該部位の姿勢を安定して精度よく推定することが困難である。また、目標運動を事前に設定しておくことが難しい移動体では、前記特許文献1に見られる技術を適用することができない。
【0007】
本発明はかかる背景に鑑みてなされたものであり、運動状態の変化が生じやすい移動体であっても、その所定の部位の姿勢を安定に精度よく推定することを可能とする姿勢推定装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の移動体の姿勢推定装置は、上記の目的を達成するために、移動体の所定の部位の姿勢を推定する装置であって、
前記所定の部位に搭載された角速度センサの出力から該所定の部位の角速度の推定値を生成する角速度推定部と、
前記所定の部位に搭載された加速度センサの出力から該加速度センサの搭載位置での並進加速度の推定値であって、重力加速度成分を含む推定値を生成する並進加速度推定部と、
前記所定の部位の運動に起因して前記加速度センサの搭載位置で発生する運動加速度の推定値を、前記所定の部位の運動に関する目標値を用いずに、該運動加速度と相関性を有する前記移動体の運動状態量の観測値から生成する運動加速度推定部と、
前記角速度の推定値と前記並進加速度の推定値と前記運動加速度の推定値とから前記所定の部位の姿勢の推定値を生成する姿勢推定部とを備えており、
前記運動加速度推定部は、前記加速度センサの搭載位置で発生する並進運動加速度及び向心加速度を含む運動加速度の推定値を生成するように構成され、
前記姿勢推定部は、前記並進加速度の推定値と前記運動加速度の推定値との差に基づいて、前記所定の部位の基準姿勢を推定する基準姿勢推定部と、生成済の前記所定の部位の最新の姿勢の推定値と前記基準姿勢の推定値との差を該姿勢の推定値の誤差として推定す
る誤差推定部と、該誤差の推定値に応じて、所定の周期で該誤差をゼロに近づけるようにフィードバック制御則によりフィードバック操作量を生成するフィードバック制御部と、該フィードバック操作量により前記角速度の推定値を補正してなる入力を積分することにより前記所定の部位の姿勢の推定値を生成する積分処理部とを備え、
前記運動状態量の観測値は、前記加速度センサにより検出される並進加速度以外の運動状態量であって、前記所定の周期で前記移動体の運動に応じて観測される運動状態量の観測値であることを特徴とする。
【0009】
かかる本発明によれば、前記加速度センサの出力に基づく並進加速度の推定値には、重力加速度の成分に加えて、移動体の運動に起因する運動加速度の成分が含まれるものの、該運動加速度は、移動体の運動状態量(加速度センサにより検出される並進加速度以外の運動状態量)の観測値から前記運動加速度推定部により推定される。また、該運動加速度は、前記所定の部位の運動に関する目標値を用いずに生成される。
【0010】
なお、運動状態量の「観測値」は、適宜のセンサによる該運動状態量の検出値、又は該運動状態量と一定の相関関係を有する他の1つ以上の状態量の検出値から、該相関関係に基づいて推定してなる推定値を意味する。
【0011】
そして、前記並進加速度の推定値と前記運動加速度の推定値との差は、主に重力加速度に依存したものとなる。このため、当該差に基づいて、前記所定の部位の基準姿勢を推定することで、前記並進加速度の推定値に含まれる重力加速度の方向が正しい方向(鉛直方向)になるように基準姿勢の推定値を決定できる。従って、生成済の前記所定の部位の最新の姿勢の推定値と前記基準姿勢の推定値との差を該姿勢の推定値の誤差として推定することで、信頼性の高い当該誤差を推定することが可能となる。さらに、この誤差をゼロに近づけるようにフィードバック制御則により生成したフィードバック操作量により、前記角速度センサの出力に基づく前記角速度推定値を補正してなる入力を積分することで、上記誤差がゼロに近づくように、移動体の所定の部位の姿勢が推定されることになる。
【0012】
この結果、本発明によれば、運動状態の変化が生じやすい移動体であっても、その所定の部位の姿勢を安定に精度よく推定することを可能となる。
【0014】
更に、前記並進運動加速度と、前記向心加速度とが前記運動加速度として推定されるので、移動体の運動状態によらずに、移動体の所定の部位の姿勢の推定値の精度を高めることができる。
【図面の簡単な説明】
【0015】
【
図1】本発明の第1実施形態における移動体の模式的構成を示す図。
【
図2】移動体に備えた演算処理装置の機能を示すブロック図。
【
図3】本発明の第2実施形態における移動体の模式的構成を示す図。
【発明を実施するための形態】
【0016】
[第1実施形態]
本発明の第1実施形態を
図1及び
図2を参照して説明する。
図1を参照して本実施形態における移動体1Aは、例えば倒立振子型の移動体である。詳細な図示は省略するが、この移動体1Aは、床面上をアクチュエータ(図示せず)の駆動力により回転しながら移動する車輪状又は球体状の移動動作部2と、該移動動作部2に傾動可能に支持された基体3とを備え、倒立振子の如く、基体3の重心G1のバランスを保つように移動動作部2の移動制御が行われる移動体である。なお、重心G1は、基体3に人、荷物等の物体が搭載される場合には、該物体を含めた重心である。
【0017】
このような移動体1Aは公知のものでよい。例えば、特開2015-093651号公報等に見られるように車輪状の移動動作部を備える構造のものを、移動体1Aとして採用し得る。また、例えば、特開平4-201793号公報等に見られるように球体状の移動動作部を備える構造のものを移動体1Aとして採用することもできる。さらに、例えば本願出願人が、特開2019-166863号公報にて提案した構造のもの(球体状の移動動作部を、これに接触させた複数のローラを介して駆動する構造の移動体)を、移動体1Aとして採用することもできる。
【0018】
移動体1Aの基体3には、3軸の(3次元の)加速度を検出可能な加速度センサ6と3軸の(3次元の)角速度を検出可能な角速度センサ7とを含む慣性センサ8と、様々な演算処理を行い得る演算処理装置10とが搭載されている。
【0019】
演算処理装置10は、例えば、マイクロコンピュータもしくはプロセッサ、メモリ(RAM、ROM等)、インターフェース回路等を含む電子回路ユニットにより構成され、慣性センサ8の検出出力を含めて、移動体1Aに備えられた様々なセンサの検出出力が入力される。
【0020】
そして、演算処理装置10は、実装されたハードウェア構成及びプログラム(ソフトウェア)により実現される機能として、本実施形態では、姿勢推定装置としての機能を含み、この機能により、移動体1Aの所定の部位としての基体3の実際の姿勢を逐次推定することが可能である。ここで、基体3の「姿勢」はより詳しくは、水平もしくはほぼ水平な軸周りの方向での基体3の傾斜姿勢(傾き)を意味する。該傾斜姿勢は、例えば、オイラー角により表現される。以降、基体3の姿勢を表すオイラー角を姿勢角という。
【0021】
次に、
図2を参照して演算処理装置10が実行する基体3の姿勢の推定処理を具体的に説明する。ここで、該推定処理に関して補足すると、本実施形態では、
図1に示すように、Z軸が上下方向(鉛直方向又はほぼ鉛直な方向)の軸、これに直交するX軸及びY軸のうちのX軸が移動体1Aの前後方向(
図1では紙面の横方向)の軸、Y軸が移動体1Aの左右方向(
図1では紙面に垂直な方向)の軸として移動体1Aの移動環境に設定(定義)された3軸直交座標系が、基体3の姿勢等の運動状態量を表現する座標系(以降、基準座標系という)として用いられる。この場合、基準座標系のX軸周りの方向、Y軸周りの方向、Z軸周りの方向がそれぞれ、移動体1Aのロール方向、ピッチ方向、ヨー方向に相当する。
【0022】
以降、X軸、Y軸、Z軸は、特にことわらない限り、基準座標系の座標軸を意味する。また、以降の説明では、角速度、加速度等の任意の状態量のX軸方向(又はX軸周り方向)の成分、Y軸方向(又はY軸周り方向)の成分、Z軸方向(又はZ軸周り方向)の成分を表す場合に、該状態量の参照符号に添え字「_x」、「_y」、「_z」を付する。例えば状態量QのX軸方向(又はX軸周り方向)の成分をQ_xと表記する。さらに、任意の状態量Qの特定の2つの座標成分の組、例えばX軸方向の成分及びY軸方向の成分の組(又はX軸周り方向の成分及びY軸周り方向の成分の組)を表す場合には、当該座標成分の組をQ_x,yというように表記する。また、以降の説明では、任意の状態量Qの推定値を単に、状態量推定値Qというように表記する場合がある。
【0023】
図2を参照して、演算処理装置10は、基体3の姿勢の推定処理のための機能として、基準座標系で見た基体3の角速度を推定する角速度推定部11、基体3の加速度センサ6の搭載位置(以降、単にセンサ位置という)での並進加速度(基準座標系で見た並進加速度)を推定する並進加速度推定部12と、移動体1Aの運動に起因して基体3のセンサ位置で発生する加速度である運動加速度(基準座標系で見た運動加速度)を推定する運動加速度推定部13と、上記角速度、並進加速度及び運動加速度のそれぞれの推定値を用いて基体3の姿勢を表す姿勢角を推定する姿勢推定部14とを備えており、これらの各機能部の処理を所定の演算処理周期で逐次実行する。なお、姿勢推定部14が推定する姿勢角は、X軸周り方向(ロール方向)の姿勢角と、Y軸周り方向(ピッチ方向)の姿勢角との組である。
【0024】
角速度推定部11には、角速度センサ7の検出出力が入力される。そして、角速度推定部11は、入力された検出出力により示される角速度検出値(角速度センサ7に対して設定されたセンサ座標系で見た角速度の検出値)を、姿勢推定部14により既に生成された基体3の姿勢角推定値θb_x,yの最新値(前回の演算処理周期での推定値。以降、前回姿勢角推定値θb_p_x,yという)を用いて座標変換することで、基準座標系で見た基体3の角速度推定値ωb(ωb_x,ωb_y,ωb_zの組)を生成して出力する。
【0025】
並進加速度推定部12には、加速度センサ6の検出出力が入力される。そして、並進加速度推定部12は、入力された検出出力により示される並進加速度検出値(加速度センサ6に対して設定されたセンサ座標系で見た並進加速度の検出値)を、姿勢推定部14により既に生成された基体3の前記前回姿勢角推定値θb_p_x,yを用いて座標変換することで、基準座標系で見た基体3のセンサ位置での並進加速度推定値Ab(Ab_x,Ab_y,Ab_zの組)を生成して出力する。なお、加速度センサ6が検出する並進加速度には、重力加速度の成分が含まれるので、上記並進加速度推定値Abにも重力加速度の成分が含まれる。
【0026】
運動加速度推定部13には、基体3の運動加速度に関連する(相関性を有する)移動体1Aの運動状態量の観測値(検出値又は推定値)が入力される。この運動状態量の観測値には、加速度センサ6が検出する並進加速度の検出値や、並進加速度推定部12が生成した並進加速度推定値Abは含まれない。
【0027】
ここで、本実施形態では、運動加速度推定部13が推定する運動加速度は、詳しくは、移動体1Aの運動によって基体3のセンサ位置で発生する水平方向(X軸方向及びY軸方向)の並進運動加速度と、移動体1Aの旋回運動によって基体3に発生する水平方向(X軸方向及びY軸方向)の向心加速度との2種類の運動加速度である。
【0028】
そして、これらの並進運動加速度及び向心加速度を推定するために、運動加速度推定部13には、角速度推定部11で生成された角速度推定値ωb(ωb_x,ωb_y,ωb_zの組)と、移動体1Aの車輪状又は球体状の移動動作部2のロール方向(X軸周り方向)及びピッチ方向(Y軸周り方向)の回転角速度推定値ωw_x,yとが入力される。
【0029】
この場合、移動動作部2の回転角速度は、移動体1Aが、例えば特開2015-093651号公報等に見られる如き車輪状の移動動作部を有する移動体である場合、車輪状の移動動作部2を駆動する各モータ(図示せず)の出力軸の回転角速度の観測値から推定することができる。この場合、各モータの出力軸の回転角速度は、例えばロータリーエンコーダ、レゾルバ等を用いて検出し得る。
【0030】
また、移動体1Aが、例えば特開平4-201793号公報等に見られる如き球体状の移動動作部を有する移動体(又は特開2019-166863号公報に見られる構造の移動体)である場合、球体状の移動動作部2を駆動する各モータ(図示せず)の出力軸の回転角速度の観測値と、基体3の姿勢角の観測値とから移動動作部2の回転角速度推定値ωw_x,yを推定することができる。この場合、各モータの出力軸の回転角速度は、例えばロータリーエンコーダ、レゾルバ等を用いて検出し得る。また、基体3の姿勢角の観測値としては、姿勢推定部14により求められた前回姿勢角推定値θb_p_x,yを用いることができる。
【0031】
本実施形態では、上記のように、基体3の角速度推定値ωbと、車輪状又は球体状の移動動作部2の回転角速度推定値ωw_x,yとが運動状態量の観測値として運動加速度推定部13に入力される。
【0032】
運動加速度推定部13は、運動加速度のうちの向心加速度を推定するために、入力された運動状態量のうち、基体3のロール方向及びピッチ方向の角速度推定値ωb_x,yと、移動動作部2の回転角速度推定値ωw_x,yとから次式(1a),(1b)に示す運動学モデルの演算により、基体3の重心G1の並進速度推定値Vbg_x,yを算出する。なお、本明細書では、「*」は乗算を意味する算術記号である。
【0033】
Vbg_x=r1*(ωw_y+ωb_y)+h1*ωb_y ……(1a)
Vbg_y=-r1*(ωw_x+ωb_x)-h1*ωb_x ……(1b)
【0034】
ここで、
図1を参照して、式(1a),(1b)におけるr1は、移動動作部2の回転半径、h1は、移動動作部2の回転軸線上に位置する基体3の傾動支点C1から重心G1までの距離であり、これらの値は、あらかじめ定められた設定値である。なお、移動動作部2が、特開2015-093651号公報等に見られる如く車輪状の移動動作部である場合、上記r1,h1のそれぞれの値は、式(1a)と式(1b)とで互いに異なる値に設定され得る。
【0035】
そして、式(1a),(1b)の右辺の第1項は、移動動作部2の回転と、基体3の傾動とに起因して発生する移動動作部2の並進速度(X軸方向及びY軸方向のそれぞれの並進速度)を意味し、式(1a),(1b)の右辺の第2項は、移動動作部2に対する基体3の相対的な傾動に起因して、移動動作部2に対して相対的に発生する重心G1の並進速度(X軸方向及びY軸方向のそれぞれの並進速度)を意味する。
【0036】
運動加速度推定部13は、上記の如く求めた基体3の重心G1の並進速度推定値Vbg_x,yと、入力された運動状態量のうちの基体3のヨー方向の角速度推定値ωb_zとから、向心加速度推定値Abmr_x,yを求める。具体的は、並進速度推定値Vbg_x,y及び角速度推定値ωb_zから次式(2a),(2b)により向心加速度推定値Abmr_x,yが算出される。
【0037】
Abmr_x=-ωb_z*Vbg_y ……(2a)
Abmr_y=ωb_z*Vbg_x ……(2b)
なお、向心加速度推定値Abmr_x,yは、基体3の全体に発生する向心加速度推定値であるので、基体3のセンサ位置での向心加速度の推定値としての意味も持つ。
【0038】
また、運動加速度推定部13は、運動加速度のうち並進運動加速度を推定するために、入力された運動状態量のうち、基体3の角速度推定値ωb(ωb_x,ωb_y,ωb_zの組)と、移動動作部2の回転角速度推定値ωw_x,yとから次式(3a),(3b)により示される運動学モデルの演算により、基体3のセンサ位置での並進運動加速度推定値Abmt _x,yを算出する。なお、本明細書では、「×」はベクトル積演算(外積演算)を意味する算術記号である。
【0039】
Abmt_x=r1*(ωw_dot_y+ωb_dot_y)+(↑ωb_dot×↑p1)_x ……(3a)
Abmt_y=-r1*(ωw_dot_x+ωb_dot_x)+(↑ωb_dot×↑p1)_y ……(3b)
【0040】
ここで、式(3a),(3b)におけるr1は、前記式(1a),(1b)に示したものと同じであり、ωw_dot_x、ωw_dot_yはそれぞれ回転角速度推定値ωw_x、ωw_yの1階微分値(時間的変化率)である。また、↑ωb_dotは、角速度推定値ωbのベクトル↑ωb(ωb_x,ωb_y,ωb_zを3つの成分とするベクトル)の1階微分値(時間的変化率)、↑p1は、基体3の傾動支点C1に対するセンサ位置(加速度センサ6の搭載位置)の位置ベクトル(
図1を参照)である。そして、(↑ωb_dot×↑p1)_xは、ベクトル積(↑ωb_dot×↑p1)のX軸方向成分、(↑ωb_dot×↑p1)_yは、ベクトル積(↑ωb_dot×↑p1)のY軸方向成分である。
【0041】
本実施形態では、運動加速度推定部13は、以上の如く、向心加速度推定値Abmr_x,yと、並進運動加速度推定値Abmt _x,yとを、移動体1Aの運動に起因して、基体3のセンサ位置で発生する運動加速度として求める。
【0042】
次に、姿勢推定部14には、上記角速度推定部11で求められた角速度推定値ωbのうちのロール方向及びピッチ方向の角速度推定値ωb_x,yと、並進加速度推定部12で求められた並進加速度推定値Ab(Ab_x,Ab_y,Ab_zの組)と、運動加速度推定部13で求められた向心加速度推定値Abmr_x,y及び並進運動加速度推定値Abmt_x,yとが入力される。そして、姿勢推定部14は、これらの入力値から以下に説明する如く、基体3の姿勢角推定値θb_x,yを求める。
【0043】
姿勢推定部14は、まず、入力された並進加速度推定値Abと、運動加速度推定部13で求められた向心加速度推定値Abmr_x,y及び並進運動加速度推定値Abmt _x,yとから、基体3の基準姿勢角を推定する処理を基準姿勢角推定部14aにより実行する。該基準姿勢角推定部14aは、本発明における基準姿勢推定部に相当する。
【0044】
ここで、前記並進加速度推定部12で、並進加速度推定値Abを求めるために使用した前回姿勢角推定値θb_p_x,yに誤差があると、求めた並進加速度推定値Abに含まれる重力加速度の成分の方向と、基準座標系のZ軸方向との間にずれが生じる。
【0045】
そこで、基準姿勢角推定部14aでは、今回の(現在の)演算処理周期で姿勢推定部14が新たに求める姿勢角推定値θb_xy(以降、今回姿勢角推定値θb_x,yという)を、上記ずれを抑制すべく補正するための基準とする基体3の姿勢角を基準姿勢角推定値θbb_x,yとして求める。
【0046】
具体的には、基準姿勢角推定部14aは、次式(4a),(4b)で示す如く、入力された並進加速度推定値AbうちのX軸方向及びY軸方向の並進加速度推定値Ab_x,yから、向心加速度推定値Abmr_x,y及び並進運動加速度推定値Abmt _x,yのそれぞれを差し引くことにより、基準座標系で見た、重力加速度ベクトルのX軸方向成分g_x及びY軸方向成分g_yを求める。
【0047】
g_x=Ab_x-Abmr_x-Abmt _x ……(4a)
g_y=Ab_y-Abmr_y-Abmt _y ……(4b)
【0048】
これらの式(4a),(4b)により求められるg_x,g_yは、それぞれ、基準座標系で見た重力加速度ベクトルのX軸方向の成分、Y軸方向の成分に相当するものとなる。そして、基準姿勢角推定値θbb_x,yは、近似的に次式(5a),(5b)により推定され得る。
【0049】
θbb_ x=-g_y/gc ……(5a)
θbb_y=g_x/gc ……(5b)
【0050】
ここで、θbb_ xは、ロール方向(X軸周り方向)の基準姿勢角、θbb_ yは、ピッチ方向(Y軸周り方向)の基準姿勢角、gcは、重力加速度定数である。上記式(5a),(5b)により、基準座標系で見た重力加速度ベクトルに基づく、基体3の姿勢角推定値としての基準姿勢角推定値θbb_x,yが求められる。これにより前記並進加速度推定値Abに含まれる重力加速度ベクトルの方向が正しい方向(鉛直方向)になるように基準姿勢角推定値をθbb_x,yを決定できる。
【0051】
姿勢推定部14は、次に、演算部14bで基体3の前回姿勢角推定値θb_x,θb_ yのそれぞれから、上記の如く求めた基準姿勢角推定値θbb_x,θbb_yのそれぞれを減算することにより、前回姿勢角推定値θb_p_xyの誤差(以降、姿勢角誤差という)の推定値としての姿勢角誤差推定値θb_err_x,yを算出する。該演算部14bは、本発明における誤差推定部に相当する。そして、この姿勢角誤差推定値θb_err_x,yを、フィードバック制御部14cに入力し、該フィードバック制御部14cにより、姿勢角誤差推定値θb_err_x,θb_err_yのそれぞれをフィードバック制御則によりゼロに近づけるように、基体3の角速度推定値ωb_x,ωb_xのそれぞれの補正用のフィードバック操作量δω_x,δω_yを求める。
【0052】
フィードバック制御部14cでは、フィードバック制御則として、例えば、PI則(比例・積分則)を使用し得る。この場合には、フィードバック操作量δω_x,δω_yは、次式(6a),(6b)により算出される。
【0053】
δω_x=k1_x*θb_err_x+k2_x*∫θb_err_x dt ……(6a)
δω_y=k1_y*θb_err_y+k2_y*∫θb_err_y dt ……(6b)
【0054】
これらの式(6a),(6b)におけるk1_x,k2_x,k1_y,k2_yは所定値のゲインである。上記式(6a),(6b)により、基体3の角速度推定値ωb_x,ωb_xのオフセットや、移動体1Aの基体3に設定されるローカル座標系と座標軸の向きの誤差等に起因して生じる姿勢角誤差を低減し得るように、フィードバック操作量δω_x,δω_yが算出される。補足すると、フィードバック制御部14cで使用するフィードバック制御則は、PI則に限らず、例えばPID則(比例・微分・積分則)等を使用してもよい。
【0055】
姿勢推定部14は、次に、演算部14dにおいて、角速度推定部11により求められた基体3の角速度推定値ωb_x,ωb_xのそれぞれから、フィードバック制御部14cで求めたフィードバック操作量δω_x,δω_yのそれぞれを減算することにより、角速度推定値ωb_x,ωb_xのそれぞれを補正する。そして、この補正後の角速度推定値を積分器14eにより積分することにより、基体3の今回姿勢角推定値θb_x,yを求める。なお、積分器14eは、本発明における積分処理部に相当する。
【0056】
本実施形態では、演算処理装置10は、以上説明した如く、基体3の姿勢指定処理を所定の演算処理周期で逐次実行する。かかる本実施形態によれば、加速度センサ6の検出出出力に基づく並進加速度推定値Abから、移動体1Aの実際の運動状態量から推定した基体3の向心加速度推定値Abmr_x,yと、基体3のセンサ位置での並進運動加速度推定値Abmt_x,yを差し引くことにより、移動体1Aの様々な運動状態において、信頼性の高い重力加速度ベクトル(基準座標系で見た重力加速度ベクトル)を求めることができる。ひいてはこの重力加速度ベクトルの方向と基準座標系のZ軸方向とのずれ量を示すものとしての、重力加速度ベクトルのX軸方向成分g_x及びY軸方向成分g_yから、信頼性の高い基準姿勢角推定値θbb_x,yを求めることができる。
【0057】
そして、この基準姿勢角推定値θbb_x,yと前回姿勢角指定値θb_p_x,yとの偏差として求められる姿勢角誤差推定値θb_err_x,yをゼロに収束させるようにフィードバック制御則により求めたフィードバック操作量δω_x,δω_yにより、角速度センサ7の検出出力に基づく角速度推定値ωb_x,yを補正した上で、その補正後の角速度推定値を積分することによって基体3の姿勢角推定値θb_x,yが算出される。これにより、移動体1Aの様々な運動状態において、継続的に信頼性の高い姿勢角推定値θb_x,yを求めることができる。
【0058】
[第2実施形態]
次に、
図3を参照して本発明の第2実施形態を説明する。なお、本実施形態では、第1実施形態と同一の事項については詳細な説明を省略する。本実施形態では、移動体1Bの構成が第1実施形態の移動体1Aと相違しており、複数の車輪22と、これらの車輪22に図示しないサスペンション機構を介して支持された基体(車体)23とを備える。車輪22は、例えば、前後に一輪ずつ配置された前輪22f及び後輪22rと、これらの前輪22f及び後輪22rの間の中間位置(移動体1Bの前後方向での中間位置)で左右方向(
図3では紙面に垂直な方向)に間隔を存して配置された2つの中間車輪22mとを備える。そして、例えば、前輪22f及び後輪22rが従動輪、中間車輪22mが駆動輪である。なお、各車輪22は、通常の自動車の車輪と同様のものでもよいが、例えば、特開2015-093651号公報等に見られるように車輪状の移動動作部と同様の構造のものであってもよい。
【0059】
そして、基体23が、中間車輪22mの回転軸上の点C2を支点として、ロール方向及びピッチ方向に傾動し得るように、基体23と複数の車輪22との間のサスペンション機構が構成されている。
【0060】
また、基体23に第1実形態とものと同様に構成された慣性センサ8(加速度センサ6及び角速度センサ7を含む)と、演算処理装置10とが搭載されている。演算処理装置10は、第1実施形態のものと同様に、姿勢推定装置としての機能を含み、この機能により、移動体1Bの所定の部位としての基体23の実際の姿勢を逐次推定することが可能である。
【0061】
次に、本実施形態の演算処理装置10が実行する基体23の姿勢の推定処理を具体的に説明する。なお、本実施形態の演算処理装置10の処理では、第1実施形態と同様に設定される3軸直交座標系(
図3に示す)が、基体3の姿勢等の運動状態量を表現する基準座標系として用いられる。
【0062】
本実施形態の演算処理装置10の処理は、第1実施形態と同様に、
図2に示した角速度推定部11、並進加速度推定部12、運動加速度推定部13及び姿勢推定部14を備える。この場合、本実施形態では、運動加速度推定部13の一部の処理だけが相違し、その他の処理は、第1実施形態と同じである。そこで、以下に運動加速度推定部13の処理を、第1実施形態と相違する事項を中心に説明する。
【0063】
本実施形態では、運動加速度推定部13には、角速度推定部11で生成された角速度推定値ωb(ωb_x,ωb_y,ωb_zの組)と、移動体1Bの車輪22のうちの例えば中間車輪22mの回転角速度推定値ωw_x,yとが、移動体1Bの運動状態量の観測値として入力される。該回転角速度推定値ωw_x,yは、例えば中間車輪22mの回転を検出可能なロータリエンコーダ、レゾルバ等の検出出力から推定され得る。
【0064】
なお、中間車輪22mがピッチ方向にだけ回転し得る車輪である場合には、ロール方向の回転角速度推定値ωw_xはゼロでよい。
【0065】
運動加速度推定部13は、運動加速度のうちの向心加速度を推定するために、入力された運動状態量のうち、基体23のロール方向及びピッチ方向の角速度推定値ωb_x,yと、中間車輪22mの回転角速度推定値ωw_x,yとから次式(11a),(11b)に示す運動学モデルの演算により、基体23の重心G2の並進速度推定値Vbg_x,yを算出する。なお、式(11a),(11b)では、2つの中間車輪22mの回転角速度推定値ωw_x,yの平均値をωw_x,yの値として用いてもよい。
【0066】
Vbg_x=r2*ωw_y+h2*ωb_y ……(11a)
Vbg_y=-r2*ωw_x-h2*ωb_x ……(11b)
【0067】
ここで、
図2を参照して、式(11a),(11b)におけるr2は、中間車輪22mの回転半径、h2は、基体23の傾動支点C2から重心G2までの距離であり、これらの値は、あらかじめ定められた設定値である。なお、中間車輪22mが、特開2015-093651号公報等に見られる如く車輪状の移動動作部である場合、上記r2,h2のそれぞれの値は、式(11a)と式(11b)とで互いに異なる値に設定され得る。
【0068】
そして、式(11a),(11b)の右辺の第1項は、中間車輪22mの中心の並進速度(X軸方向及びY軸方向のそれぞれの並進速度)を意味し、式(11a),(11b)の右辺の第2項は、中間車輪22mに対する基体23の相対的な傾動に起因して、中間車輪22mに対して相対的に発生する重心G2の並進速度(X軸方向及びY軸方向のそれぞれの並進速度)を意味する。
【0069】
運動加速度推定部13は、上記の如く求めた基体3の重心G1の並進速度推定値Vbg_x,yと、入力された運動状態量のうちの基体3のヨー方向の角速度推定値ωb_zとから、第1実施形態と同様に、前記式(2a),(2b)により向心加速度推定値Abmr_x,yを算出する。
【0070】
また、運動加速度推定部13は、運動加速度のうち並進運動加速度を推定するために、入力された運動状態量のうち、基体23の角速度推定値ωb(ωb_x,ωb_y,ωb_zの組)と、中間車輪22mの回転角速度推定値ωw_x,yとから次式(23a),(23b)により示される運動学モデルの演算により、基体23のセンサ位置での並進運動加速度推定値Abmt _x,yを算出する。
【0071】
Abmt_x=r2*ωw_dot_y+(↑ωb_dot×↑p2)_x ……(23a)
Abmt_y=-r2*ωw_dot_x+(↑ωb_dot×↑p2)_y ……(23b)
【0072】
ここで、式(23a),(23b)におけるr2は、前記式(21a),(21b)に示したものと同じであり、ωw_dot_x、ωw_dot_yはそれぞれ回転角速度推定値ωw_x、ωw_yの1階微分値(時間的変化率)である。また、↑ωb_dotは、角速度推定値ωbのベクトル↑ωb(ωb_x,ωb_y,ωb_zを3つの成分とするベクトル)の1階微分値(時間的変化率)、↑p2は、基体23の傾動支点C2に対するセンサ位置(加速度センサ6の搭載位置)の位置ベクトル(
図3を参照)である。そして、(↑ωb_dot×↑p2)_xは、ベクトル積(↑ωb_dot×↑p2)のX軸方向成分、(↑ωb_dot×↑p2)_yは、ベクトル積(↑ωb_dot×↑p2)のY軸方向成分である。
【0073】
本実施形態では、運動加速度推定部13は、以上の如く、向心加速度推定値Abmr_x,yと、並進運動加速度推定値Abmt _x,yとを、移動体1Bの運動に起因して、基体23のセンサ位置で発生する運動加速度として求める。以上説明した事項以外の演算処理装置10の処理は、第1実施形態と同じである。かかる本実施形態では、第1実施形態と同様の効果を奏することができる。
【0074】
なお、本実施形態では、中間車輪22mを備える移動体1Bについて説明したが、中間者車輪22mを備えない移動体、例えば、前輪及び後輪をそれぞれ2ずつ備える4輪の移動体、あるいは、前輪及び後輪の一方を1つ、他方を2つ備える3輪の移動体であってもよい。
【符号の説明】
【0075】
1A,1B…移動体、3,23…基体(所定の部位)、6…加速度センサ、7…角速度センサ、10…演算処理装置(姿勢推定装置)11…角速度推定部、12…並進加速度推定部、13…運動加速度推定部、14…姿勢推定部、14a…基準姿勢角推定部(基準姿勢推定部)、14b…演算部(誤差推定部)、14c…フィードバック制御部、14e…積分器(積分処理部)。