JP5306474B2 - 倒立振子型車両の制御装置 - Google Patents
倒立振子型車両の制御装置 Download PDFInfo
- Publication number
- JP5306474B2 JP5306474B2 JP2011531662A JP2011531662A JP5306474B2 JP 5306474 B2 JP5306474 B2 JP 5306474B2 JP 2011531662 A JP2011531662 A JP 2011531662A JP 2011531662 A JP2011531662 A JP 2011531662A JP 5306474 B2 JP5306474 B2 JP 5306474B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- center
- gravity
- speed
- vehicle
- 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.)
- Active
Links
- 230000033001 locomotion Effects 0.000 claims abstract description 74
- 238000013459 approach Methods 0.000 claims description 10
- 208000013114 circling movement Diseases 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 204
- 238000004364 calculation method Methods 0.000 description 108
- 230000005484 gravity Effects 0.000 description 106
- 238000000034 method Methods 0.000 description 92
- 230000008569 process Effects 0.000 description 87
- 230000001133 acceleration Effects 0.000 description 67
- 230000036544 posture Effects 0.000 description 58
- 230000004044 response Effects 0.000 description 45
- 230000014509 gene expression Effects 0.000 description 29
- 230000008859 change Effects 0.000 description 25
- 230000001141 propulsive effect Effects 0.000 description 25
- 238000012937 correction Methods 0.000 description 24
- 238000005259 measurement Methods 0.000 description 24
- 238000006243 chemical reaction Methods 0.000 description 12
- 230000002238 attenuated effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000002123 temporal effect Effects 0.000 description 9
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 7
- 239000000758 substrate Substances 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000003638 chemical reducing agent Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000001154 acute effect Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005489 elastic deformation Effects 0.000 description 1
- 239000013013 elastic material Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62K—CYCLES; CYCLE FRAMES; CYCLE STEERING DEVICES; RIDER-OPERATED TERMINAL CONTROLS SPECIALLY ADAPTED FOR CYCLES; CYCLE AXLE SUSPENSIONS; CYCLE SIDE-CARS, FORECARS, OR THE LIKE
- B62K1/00—Unicycles
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62J—CYCLE SADDLES OR SEATS; AUXILIARY DEVICES OR ACCESSORIES SPECIALLY ADAPTED TO CYCLES AND NOT OTHERWISE PROVIDED FOR, e.g. ARTICLE CARRIERS OR CYCLE PROTECTORS
- B62J45/00—Electrical equipment arrangements specially adapted for use as accessories on cycles, not otherwise provided for
- B62J45/40—Sensor arrangements; Mounting thereof
- B62J45/41—Sensor arrangements; Mounting thereof characterised by the type of sensor
- B62J45/415—Inclination sensors
- B62J45/4152—Inclination sensors for sensing longitudinal inclination of the cycle
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62K—CYCLES; CYCLE FRAMES; CYCLE STEERING DEVICES; RIDER-OPERATED TERMINAL CONTROLS SPECIALLY ADAPTED FOR CYCLES; CYCLE AXLE SUSPENSIONS; CYCLE SIDE-CARS, FORECARS, OR THE LIKE
- B62K11/00—Motorcycles, engine-assisted cycles or motor scooters with one or two wheels
- B62K11/007—Automatic balancing machines with single main ground engaging wheel or coaxial wheels supporting a rider
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/08—Control of attitude, i.e. control of roll, pitch, or yaw
- G05D1/0891—Control of attitude, i.e. control of roll, pitch, or yaw specially adapted for land vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Motorcycle And Bicycle Frame (AREA)
Description
本発明は、床面上を全方向に移動可能な倒立振子型車両の制御装置に関する。
倒立振子型車両は、床面上を移動する移動動作部と、この移動動作部を駆動するアクチュエータ装置とが組み付けられた基体に、鉛直方向に対して傾動自在な乗員の搭乗部が組み付けられた車両であり、搭乗部の傾斜角度をある目標傾斜角度に保つために(搭乗部が傾倒しないようにするために)、倒立振子の支点を動かすような形態で、移動動作部を移動させる必要がある車両である。
そして、床面上を全方向(2次元的な全方向)に移動可能な移動動作部を備え、また、乗員の搭乗部が、前後方向及び左右方向の2軸周りに傾動可能な倒立振子型車両の制御技術としては、例えば、特許文献1に見られるものが本願出願人により提案されている。
この特許文献1には、乗員の搭乗部が組み付けられた車両の基体が球体状の移動動作部に対して前後方向の軸周りと左右方向の軸周りとの2軸周りに傾動自在に設けられた倒立振子型車両の制御技術が記載されている。この技術では、基体の傾斜角度(=搭乗の傾斜角度)の計測値と目標傾斜角度との偏差を“0”に近づけると共に、アクチュエータ装置としてのモータの速度(ひいては移動動作部の移動速度)の計測値と目標速度との偏差を“0”に近づけるようにモータの駆動トルク(移動動作部の前後方向の移動させるモータの駆動トルクと左右方向に移動させるモータの駆動トルクとの組)が逐次決定される。そして、その決定した駆動トルクに応じて、移動動作部の移動動作がモータを介して制御される。
なお、床面上を全方向に移動可能な移動動作部を備え、倒立振子型車両として機能し得る車両としては、例えば、特許文献2、3に見られるものも本願出願人により提案されている。
ところで、特許文献1に見られる技術では、基体の目標傾斜角度をジョイスティックの操作によって可変的に設定することが可能となっている。しかるに、倒立振子型車両の乗員がジョイスティックの操作によって、基体の目標傾斜角度を車両の走行形態に適した角度にリアルタイムで的確に設定することは一般には、極めて困難である。これは、倒立振子型車両の種々様々な走行形態における目標傾斜角度の設定と該車両の挙動との関係を乗員が正確に認識しておくことは高度の熟練もしくは経験を要すると共に、ジョイスティックの操作形態のばらつきや誤操作も発生し易いからである。
このため、例えば車両を旋回させようとする場合に、その旋回方向と逆側に基体が傾くような目標傾斜角度が設定されたり、あるいは、旋回方向と同じ側に過剰に基体が傾くような目標傾斜角度が設定されたり、あるいは、目標傾斜角度が直進走行時と同じ角度に維持されたままとなるというような状況が発生し易い。このような場合には、車両の旋回半径が大きくなり過ぎたり、小さくなり過ぎたりし易いため、乗員が随時、自身の上体を動かすことで、基体の実際の傾斜角度を調整し、ひいては、車両の挙動を調整しなければならない。従って、特に、車両の旋回を円滑に行なうための車両の操縦操作が複雑なものとなり易いという不都合がある。
本発明はかかる背景に鑑みてなされたものであり、特に倒立振子型車両の旋回走行を複雑な操縦操作を必要とすることなく、容易に円滑に行うことを可能とする制御装置を提供することを目的とする。
本発明の倒立振子型車両の制御装置は、かかる目的を達成するために、床面上を互いに直交する第1の方向及び第2の方向を含む全方向に移動可能な移動動作部と、該移動動作部を駆動するアクチュエータ装置と、該移動動作部及びアクチュエータ装置が組付けられた基体と、前記第1の方向の軸周りと第2の方向の軸周りとの2軸周りで鉛直方向に対して傾動自在に前記基体に組付けられた乗員の搭乗部とを備えた倒立振子型車両の制御装置であって、
前記車両の所定の部位の実際のヨーレートに応じた出力を生成するヨーレート計測手段と、
少なくとも前記ヨーレート計測手段の出力が示すヨーレートの計測値に応じて前記搭乗部の目標傾斜角度を決定する目標傾斜角度決定手段と、
少なくとも前記搭乗部の実際の傾斜角度と前記目標傾斜角度決定手段により決定された目標傾斜角度との偏差である傾斜偏差を“0”に近づけるように前記移動動作部の移動動作を制御する移動動作部制御手段とを備えたことを特徴とする(第1発明)。
前記車両の所定の部位の実際のヨーレートに応じた出力を生成するヨーレート計測手段と、
少なくとも前記ヨーレート計測手段の出力が示すヨーレートの計測値に応じて前記搭乗部の目標傾斜角度を決定する目標傾斜角度決定手段と、
少なくとも前記搭乗部の実際の傾斜角度と前記目標傾斜角度決定手段により決定された目標傾斜角度との偏差である傾斜偏差を“0”に近づけるように前記移動動作部の移動動作を制御する移動動作部制御手段とを備えたことを特徴とする(第1発明)。
なお、本発明において、「床」は、通常的な意味での床(屋内の床など)だけを意味するものではなく、屋外の地面もしくは路面をも含むものとして使用する。
第1発明によれば、前記目標傾斜角度決定手段によって、前記搭乗部の目標傾斜角度は、少なくとも前記ヨーレートの計測値に応じて決定される。このため、車両を旋回走行させる時には、その旋回走行により発生する実際のヨーレートに適した搭乗部の目標傾斜角度を自動的に決定できる。
例えば、車両及び乗員の全体のうち、搭乗部と一体に傾動可能な部分(以下、傾動系部分ということがある)に旋回走行時に作用する遠心力と、該傾動系部分に作用する重力との合力が該傾動系部分の傾動支点(搭乗部の傾動支点)の周りに発生するモーメント(詳しくは、前記遠心力と直交する方向の軸周りのモーメント成分)の大きさに関して、搭乗部の実際の傾斜角度を目標傾斜角度に一致させた場合に、乗員が搭乗部に対する自身の姿勢を意図的に動かしたりすることなく、前記モーメントの大きさが“0”もしくは微小な大きさになるように(少なくとも前記遠心力によって前記傾動支点の周りに発生するモーメントの大きさよりも小さくなるように)、前記目標傾斜角度を決定できる。
そして、前記移動動作部制御手段は、搭乗部の実際の傾斜角度と上記の如く少なくともヨーレートの計測値に応じて決定される目標傾斜角度との偏差を“0”に近づけるように前記移動動作部の移動動作を制御する。
この結果、車両の複雑な操縦操作(乗員が自身の姿勢を意図的に動かしたりする操作)を必要とすることなく、車両の旋回走行を容易に円滑に行なうことが可能となる。
なお、前記ヨーレートの計測値に係わる前記所定の部位は、前記基体や搭乗部等が挙げられる。また、前記傾動系部分は、車両及び乗員の全体であってもよい。
かかる第1発明では、前記ヨーレートの計測値が“0”である場合に前記目標傾斜角度として設定すべき基準角度があらかじめ定められており、前記目標傾斜角度決定手段は、少なくとも、前記目標傾斜角度と前記基準角度との偏差のうちの、車両の所定の代表点の実際の移動方向と同方向の軸周りの成分である特定方向軸周り偏差成分の大きさを、前記ヨーレートの計測値の大きさの増加に伴い、増加させるように前記目標傾斜角度を決定することが好ましい(第2発明)。
かかる第2発明によれば、前記目標傾斜角度決定手段が決定する前記目標傾斜角度は、少なくとも、前記目標傾斜角度と前記基準角度との偏差のうちの前記特定方向軸周り偏差成分の大きさが、前記ヨーレートの計測値の大きさの増加に伴い、増加するように決定される。
ここで、車両の旋回走行時に前記した傾動系部分に作用する遠心力の方向は、前記代表点の実際の移動方向(車両全体の移動方向としての代表的な移動方向)に直交もしくはほぼ直交する方向となる。そして、該遠心力の大きさは、前記ヨーレートの大きさが増加するに伴い大きくなる。また、第2発明の如く前記目標傾斜角度を決定することによって、前記傾動系部分の重心点の、前記基準角度での該重心点の位置からの移動量(詳しくは、前記遠心力と逆向きへの移動量)を、前記ヨーレートの大きさの増加に伴い(ひいては、前記遠心力の大きさの増加に伴い)、増加させることができる。
従って、第2発明によれば、前記傾動系部分に作用する重力によって、該傾動系部分の傾動支点の周りに発生するモーメントのうちの前記遠心力と直交する方向の軸周りのモーメント成分の大きさを、該遠心力によって前記傾動支点の周りに発生するモーメントの大きさが増加するほど、増加させるようにすることができる。この結果、旋回走行時の乗員の姿勢を安定化し、ひいては、車両の挙動変化を抑制できる。
なお、前記基準角度としては、例えば、前記傾動系部分の重心点が前記傾動支点の直上もしくはほぼ直上に位置する状態での前記搭乗部の傾斜角度を採用することが好適である。
また、第2発明では、前記目標傾斜角度と前記基準角度との偏差は、前記特定方向軸周り偏差成分だけから成るものでもよいが、該特定方向軸周り偏差成分以外の偏差成分、すなわち、前記代表点の実際の移動方向と交差する方向の軸周りの偏差成分を含んでいてもよい。
前記第2発明では、さらに、前記代表点の実際の移動速度に応じた出力を生成する代表点速度計測手段を備え、前記目標傾斜角度決定手段は、前記特定方向軸周り偏差成分の大きさを、前記ヨーレートの計測値の大きさの増加に伴い、増加させると共に、前記代表点速度計測手段の出力が示す前記代表点の移動速度の計測値の大きさの増加に伴い、増加させるように前記目標傾斜角度を決定することが好ましい(第3発明)。
すなわち、前記遠心力の大きさは、車両の移動速度にも依存し、基本的には、前記代表点の移動速度の大きさが増加するに伴い、該遠心力の大きさも増加する。そして、第3発明の如く前記目標傾斜角度を決定することによって、前記傾動系部分の重心点の、前記基準角度での該重心点の位置からの移動量(詳しくは、前記遠心力と逆向きへの移動量)を、前記ヨーレートの大きさの増加に伴い、増加させることに加えて、前記代表点の移動速度の大きさの増加に伴い、増加させることができる。
従って、第3発明によれば、前記傾動系部分に作用する重力によって、該傾動系部分の傾動支点の周りに発生するモーメントのうちの前記遠心力と直交する方向の軸周りのモーメント成分の大きさを、該遠心力によって前記傾動支点の周りに発生するモーメントの大きさが増加するほど、増加させるようにすることをより適切に行うことができる。この結果、旋回走行時の乗員の姿勢をより一層、安定化し、ひいては、車両の挙動変化をより一層抑制できる。
かかる第3発明では、前記目標傾斜角度決定手段は、前記特定方向軸周り偏差成分の極性が、前記ヨーレートの計測値により示される該ヨーレートの向きと、前記代表点の移動速度の計測値により示される該移動速度の向きとの組に応じて規定される極性になるように前記目標傾斜角度を決定することが好ましい(第4発明)。
すなわち、車両の旋回走行時に車両(前記傾動系部分を含む)に作用する遠心力の向きは、車両の移動の向きと車両に発生するヨーレートの向きとの組に依存する向きとなる。従って、上記の如く目標傾斜角度を決定することによって、搭乗部及びこれに搭乗した乗員を、車両の移動の向きによらずに、車両の旋回走行を円滑に行う上で適切な向き(前記傾動系部分の重心点が、前記基準角度での該重心点の位置よりも旋回中心により近づくような向き)に傾動させるように、前記目標傾斜角度を決定できる。
なお、この第4発明では、前記目標傾斜角度が、前記基準角度から、前記代表点の移動速度の計測値により示される該移動速度の方向と同方向の軸周りに向き傾動させた角度となるように(換言すれば、前記目標傾斜角度と前記基準角度との偏差が、前記特定方向軸周り偏差成分のみを含むように)、該目標傾斜角度を決定することが好適である。
前記第2発明においては、前記目標傾斜角度決定手段は、前記ヨーレートの計測値の大きさが所定の第1閾値よりも小さい場合には、前記目標傾斜角度として前記基準角度を決定することが好ましい(第5発明)。
同様に、前記第3発明又は第4発明では、前記目標傾斜角度決定手段は、前記ヨーレートの計測値の大きさが所定の第1閾値よりも小さいという条件と、前記代表点の移動速度の計測値の大きさが所定の第2閾値よりも小さいという条件とのうちの少なくともいずれか一方の条件が成立する場合には、前記目標傾斜角度として前記基準角度を決定することが好ましい(第6発明)。
これらの第5発明、第6発明によれば、前記遠心力が十分に微小なものとなり、該遠心力が前記搭乗部及びこれに搭乗した乗員の姿勢に実質的にほとんど影響を及ぼさない状態で、前記目標傾斜角度を前記基準角度に決定することによって、乗員がその姿勢のバランスを採り易くなる。
補足すると、以上説明した本発明では、より具体的な態様として、例えば次のような態様を採用することができる。すなわち、前記搭乗部の実際の傾斜角度に応じて出力を生成する傾斜角度計測手段と、前記代表点速度計測手段とを備える。そして、前記移動動作部制御手段は、少なくとも傾斜角度計測手段の出力が示す搭乗部の傾斜角度の計測値と前記目標傾斜角度との偏差である傾斜偏差と、前記代表点速度計測手段の出力が示す前記代表点の移動速度の計測値と、所定の目標移動速度(例えば“0”)との偏差である速度偏差とを“0”に近づけるように、該傾斜偏差と速度偏差とに応じて、前記移動動作部に付与する駆動力を規定する制御用操作量を決定し、この制御用操作量に応じて前記移動動作部の移動動作を前記アクチュエータ装置を介して制御する。
本発明の第1実施形態を以下に説明する。まず、図1〜図6を参照して、本実施形態における倒立振子型車両の構造を説明する。
図1及び図2に示すように、本実施形態における倒立振子型車両1は、乗員(運転者)の搭乗部3と、床面に接地しながら該床面上を全方向(前後方向及び左右方向を含む2次元的な全方向)に移動可能な移動動作部5と、この移動動作部5を駆動する動力を該移動動作部5に付与するアクチュエータ装置7と、これらの搭乗部3、移動動作部5及びアクチュエータ装置7が組付けられた基体9とを備える。
ここで、本実施形態の説明では、「前後方向」、「左右方向」は、それぞれ、搭乗部3に標準的な姿勢で搭乗した乗員の上体の前後方向、左右方向に一致もしくはほぼ一致する方向を意味する。なお、「標準的な姿勢」は、搭乗部3に関して設計的に想定されている姿勢であり、乗員の上体の体幹軸を概ね上下方向に向け、且つ、上体を捻ったりしていない姿勢である。
この場合、図1においては、「前後方向」、「左右方向」はそれぞれ、紙面に垂直な方向、紙面の左右方向であり、図2においては、「前後方向」、「左右方向」はそれぞれ、紙面の左右方向、紙面に垂直な方向である。また、本実施形態の説明では、参照符号に付する添え字「R」,「L」は、それぞれ車両1の右側、左側に対応するものという意味で使用する。
基体9は、移動動作部5及びアクチュエータ装置7とが組付けられた下部フレーム11と、この下部フレーム11の上端から上方に延設された支柱フレーム13とを備える。
支柱フレーム13の上部には、該支柱フレーム13から前方側に張り出したシートフレーム15が固定されている。そして、このシートフレーム15上に、乗員が着座するシート3が装着されている。本実施形態では、このシート3が乗員の搭乗部となっている。従って、本実施形態における倒立振子型車両1(以降、単に車両1という)は、乗員がシート3に着座した状態で、床面上を移動するものである。
また、シート3の左右には、シート3に着座した乗員が必要に応じて把持するためのグリップ17R,17Lが配置され、これらのグリップ17R,17Lがそれぞれ、支柱フレーム13(又はシートフレーム15)から延設されたブラケット19R,19Lの先端部に固定されている。
下部フレーム11は、左右方向に間隔を存して二股状に対向するように配置された一対のカバー部材21R,21Lを備える。これらのカバー部材21R,21Lの上端部(二股の分岐部分)は、前後方向の軸心を有するヒンジ軸23を介して連結され、カバー部材21R,21Lの一方が他方に対して相対的にヒンジ軸23の周りに揺動可能となっている。この場合、カバー部材21R,21Lは、図示を省略するバネによって、カバー部材21R,21Lの下端部側(二股の先端側)が狭まる方向に付勢されている。
また、カバー部材21R,21Lのそれぞれの外面部には、前記シート3に着座した乗員の右足を載せるステップ25Rと左足を載せるステップ25Lとが各々、右向き、左向きに張り出すように突設されている。
移動動作部5及びアクチュエータ装置7は、下部フレーム11のカバー部材21R,21Lの間に配置されている。これらの移動動作部5及びアクチュエータ装置7の構造を図3〜図6を参照して説明する。
なお、本実施形態で例示する移動動作部5及びアクチュエータ装置7は、例えば前記特許文献2の図1に開示されているものと同じ構造のものである。従って、本実施形態の説明においては、移動動作部5及びアクチュエータ装置7の構成に関して、前記特許文献2に記載された事項については、簡略的な説明に留める。
本実施形態では、移動動作部5は、ゴム状弾性材により円環状に形成された車輪体であり、ほぼ円形の横断面形状を有する。この移動動作部5(以降、車輪体5という)は、その弾性変形によって、図5及び図6の矢印Y1で示す如く、円形の横断面の中心C1(より詳しくは、円形の横断面中心C1を通って、車輪体5の軸心と同心となる円周線)の周りに回転可能となっている。
この車輪体5は、その軸心C2(車輪体5全体の直径方向に直交する軸心C2)を左右方向に向けた状態で、カバー部材21R,21Lの間に配置され、該車輪体5の外周面の下端部にて床面に接地する。
そして、車輪体5は、アクチュエータ装置7による駆動(詳細は後述する)によって、図5の矢印Y2で示す如く車輪体5の軸心C2の周りに回転する動作(床面上を輪転する動作)と、車輪体5の横断面中心C1の周りに回転する動作とを行なうことが可能である。その結果、車輪体5は、それらの回転動作の複合動作によって、床面上を全方向に移動することが可能となっている。
アクチュエータ装置7は、車輪体5と右側のカバー部材21Rとの間に介装される回転部材27R及びフリーローラ29Rと、車輪体5と左側のカバー部材21Lとの間に介装される回転部材27L及びフリーローラ29Lと、回転部材27R及びフリーローラ29Rの上方に配置されたアクチュエータとしての電動モータ31Rと、回転部材27L及びフリーローラ29Lの上方に配置されたアクチュエータとしての電動モータ31Lとを備える。
電動モータ31R,31Lは、それぞれのハウジングがカバー部材21R,21Lに各々取付けられている。なお、図示は省略するが、電動モータ31R,31Lの電源(蓄電器)は、支柱フレーム13等、基体9の適所に搭載されている。
回転部材27Rは、左右方向の軸心を有する支軸33Rを介してカバー部材21Rに回転可能に支持されている。同様に、回転部材27Lは、左右方向の軸心を有する支軸33Lを介してカバー部材21Lに回転可能に支持されている。この場合、回転部材27Rの回転軸心(支軸33Rの軸心)と、回転部材27Lの回転軸心(支軸33Lの軸心)とは同軸心である。
回転部材27R,27Lは、それぞれ電動モータ31R,31Lの出力軸に、減速機としての機能を含む動力伝達機構を介して接続されており、電動モータ31R,31Lからそれぞれ伝達される動力(トルク)によって回転駆動される。各動力伝達機構は、例えばプーリ・ベルト式のものである。すなわち、図3に示す如く、回転部材27Rは、プーリ35Rとベルト37Rとを介して電動モータ31Rの出力軸に接続されている。同様に、回転部材27Lは、プーリ35Lとベルト37Lとを介して電動モータ31Lの出力軸に接続されている。
なお、上記動力伝達機構は、例えば、スプロケットとリンクチェーンとにより構成されるもの、あるいは、複数のギヤにより構成されるものであってもよい。また、例えば、電動モータ31R,31Lを、それぞれの出力軸が各回転部材27R,27Lと同軸心になるように各回転部材27R,27Lに対向させて配置し、電動モータ31R,31Lのそれぞれの出力軸を回転部材27R,27Lに各々、減速機(遊星歯車装置等)を介して連結するようにしてもよい。
各回転部材27R,27Lは、車輪体5側に向かって縮径する円錐台と同様の形状に形成されており、その外周面がテーパ外周面39R,39Lとなっている。
回転部材27Rのテーパ外周面39Rの周囲には、回転部材27Rと同心の円周上に等間隔で並ぶようにして、複数のフリーローラ29Rが配列されている。そして、これらのフリーローラ29Rは、それぞれ、ブラケット41Rを介してにテーパ外周面39Rに取付けられ、該ブラケット41Rに回転自在に支承されている。
同様に、回転部材27Lのテーパ外周面39Lの周囲には、回転部材27Lと同心の円周上に等間隔で並ぶようにして、複数(フリーローラ29Rと同数)のフリーローラ29Lが配列されている。そして、これらのフリーローラ29Lは、それぞれ、ブラケット41Lを介してにテーパ外周面39Lに取付けられ、該ブラケット41Lに回転自在に支承されている。
前記車輪体5は、回転部材27R側のフリーローラ29Rと、回転部材27L側のフリーローラ29Lとの間に挟まれるようにして、回転部材27R,27Lと同軸心に配置されている。
この場合、図1及び図6に示すように、各フリーローラ29R,29Lは、その軸心C3が車輪体5の軸心C2に対して傾斜すると共に、車輪体5の直径方向(車輪体5をその軸心C2の方向で見たときに、該軸心C2と各フリーローラ29R,29Lとを結ぶ径方向)に対して傾斜する姿勢で配置されている。そして、このような姿勢で、各フリーローラ29R,29Lのそれぞれの外周面が車輪体5の内周面に斜め方向に圧接されている。
より一般的に言えば、右側のフリーローラ29Rは、回転部材27Rが軸心C2の周りに回転駆動されたときに、車輪体5との接触面で、軸心C2周りの方向の摩擦力成分(車輪体5の内周の接線方向の摩擦力成分)と、車輪体5の前記横断面中心C1の周り方向の摩擦力成分(円形の横断面の接線方向の摩擦力成分)とを車輪体5に作用させ得るような姿勢で、車輪体5の内周面に圧接されている。左側のフリーローラ29Lについても同様である。
この場合、前記したように、カバー部材21R,21Lは、図示しないバネによって、カバー部材21R,21Lの下端部側(二股の先端側)が狭まる方向に付勢されている。このため、この付勢力によって、右側のフリーローラ29Rと左側のフリーローラ29Lとの間に車輪体5が挟持されると共に、車輪体5に対する各フリーローラ29R,29Lの圧接状態(より詳しくはフリーローラ29R,29Lと車輪体5との間で摩擦力が作用し得る圧接状態)が維持される。
以上説明した構造を有する車両1においては、電動モータ31R,31Lによりそれぞれ、回転部材27R,27Lを同方向に等速度で回転駆動した場合には、車輪体5が回転部材27R,27Lと同方向に軸心C2の周りに回転することとなる。これにより、車輪体5が床面上を前後方向に輪転して、車両1の全体が前後方向に移動することとなる。なお、この場合は、車輪体5は、その横断面中心C1の周りには回転しない。
また、例えば、回転部材27R,27Lを互いに逆方向に同じ大きさの速度で回転駆動した場合には、車輪体5は、その横断面中心C1の周りに回転することとなる。これにより、車輪体5がその軸心C2の方向(すなわち左右方向)に移動し、ひいては、車両1の全体が左右方向に移動することとなる。なお、この場合は、車輪体5は、その軸心C2の周りには回転しない。
さらに、回転部材27R,27Lを、互いに異なる速度(方向を含めた速度)で、同方向又は逆方向に回転駆動した場合には、車輪体5は、その軸心C2の周りに回転すると同時に、その横断面中心C1の周りに回転することとなる。
この時、これらの回転動作の複合動作(合成動作)によって、前後方向及び左右方向に対して傾斜した方向に車輪体5が移動し、ひいては、車両1の全体が車輪体5と同方向に移動することとなる。この場合の車輪体5の移動方向は、回転部材27R,27Lの回転方向を含めた回転速度(回転方向に応じて極性が定義された回転速度ベクトル)の差に依存して変化するものとなる。
以上のように車輪体5の移動動作が行なわれるので、電動モータ31R,31Lのそれぞれの回転速度(回転方向を含む)を制御し、ひいては回転部材27R,27Lの回転速度を制御することによって、車両1の移動速度及び移動方向を制御できることとなる。
なお、シート(搭乗部)3及び基体9は、車輪体5の軸心C2を支点として、左右方向の軸心C2周りに傾動自在となっていると共に、車輪体5の接地面(下端面)を支点として、前後方向の軸周りに該車輪体5と共に傾動自在となっている。
次に、本実施形態の車両1の動作制御のための構成を説明する。なお、以降の説明では、図1及び図2に示すように、前後方向の水平軸をX軸、左右方向の水平軸をY軸、鉛直方向をZ軸とするXYZ座標系を想定し、前後方向、左右方向をそれぞれX軸方向、Y軸方向と言うことがある。
まず、車両1の概略的な動作制御を説明すると、本実施形態では、基本的には、シート3に着座した乗員がその上体を傾けた場合(詳しくは、乗員と車両1とを合わせた全体の重心点の位置(水平面に投影した位置)を動かすように上体を傾けた場合)に、該上体を傾けた側に基体9がシート3と共に傾動する。そして、この時、基体9が傾いた側に車両1が移動するように、車輪体5の移動動作が制御される。例えば、乗員が上体を前傾させ、ひいては、基体9をシート3と共に前傾させると、車両1が前方に移動するように、車輪体5の移動動作が制御される。
すなわち、本実施形態では、乗員が上体を動かし、ひいては、シート3と共に基体9を傾動させるという動作が、車両1に対する1つの基本的な操縦操作(車両1の動作要求)とされ、その操縦操作に応じて車輪体5の移動動作がアクチュエータ装置7を介して制御される。
ここで、本実施形態の車両1は、その全体の接地面としての車輪体5の接地面が、車両1とこれに搭乗する乗員との全体を床面に投影した領域に比して面積が小さい単一の局所領域となり、その単一の局所領域だけに床反力が作用する。このため、基体9が傾倒しないようにするためには、乗員及び車両1の全体の重心点が車輪体5の接地面のほぼ真上に位置するように、車輪体5を動かす必要がある。
そこで、本実施形態では、乗員及び車両1の全体の重心点が、車輪体5の中心点(軸心C2上の中心点)のほぼ真上に位置する状態(より正確には当該重心点が車輪体5の接地面のほぼ真上に位置する状態)での基体9の姿勢を目標姿勢とし(但し、後述する旋回走行時は除く)、基本的には、基体9の実際の姿勢を目標姿勢に収束させるように、車輪体5の移動動作が制御される。
また、車両1を発進させる場合等において、アクチュエータ装置7による推進力とは別に、例えば乗員が必要に応じて自身の足により床を蹴り、それにより車両1の移動速度を増速させる推進力(乗員の足平と床との摩擦力による推進力)を、付加的な外力として車両1に作用させた場合には、それに応じて車両1の移動速度(より正確には、乗員及び車両の全体の重心点の移動速度)が増速するように、車輪体5の移動動作が制御される。なお、当該推進力の付加が停止された状態では、車両1の移動速度が一旦、一定速度に保持された後、減衰して、該車両1が停止するように、車輪体5の移動動作が制御される(車輪体5の制動制御が行なわれる)。
さらに、車両1に乗員が搭乗していない状態では、車両1の単体の重心点が、車輪体5の中心点(軸心C2上の中心点)のほぼ真上に位置する状態(より正確には当該重心点が車輪体5の接地面のほぼ真上に位置する状態)での基体9の姿勢を目標姿勢とし、該基体9の実際の姿勢を目標姿勢に収束させ、ひいては、基体9が傾倒することなく車両1が自立するように、車輪体5の移動動作が制御される。
補足すると、「姿勢」は空間的な向きを意味する。本実施形態では、基体9がシート3と共に傾動することで、基体9やシート3の姿勢が変化する。また、本実施形態では、基体9とシート3とは一体的に傾動するので、基体9の姿勢をその目標姿勢に収束させるということは、シート3の姿勢を該シート3に対応する目標姿勢(基体9の姿勢が基体9の目標姿勢に一致する状態でのシート3の姿勢)に収束させるということと等価である。
また、本実施形態の車両1では、乗員が搭乗した状態において、車両1及び乗員の全体が、シート3と一体的に傾動するので、車両1及び乗員の全体が前記した傾動系部分に相当するものとなる。そして、乗員が搭乗していない状態では、乗員を含まない車両1の全体が前記した傾動系部分に相当するものとなる。
本実施形態では、以上の如き車両1の動作制御を行なうために、図1及び図2に示すように、マイクロコンピュータや電動モータ31R,31Lのドライブ回路ユニットなどを含む電子回路ユニットにより構成された制御ユニット50と、基体9の所定の部位の鉛直方向(重力方向)に対する傾斜角度θb及びその変化速度(=dθb/dt)を計測するための傾斜センサ52と、基体9の所定の部位のヨーレート(ヨー軸周りの角速度)ωzを計測するためのヨーレートセンサ53と、車両1に乗員が搭乗しているか否かを検知するための荷重センサ54と、電動モータ31R,31Lのそれぞれの出力軸の回転角度及び回転角速度を検出するための角度センサとしてのロータリエンコーダ56R,56Lとがそれぞれ、車両1の適所に搭載されている。
この場合、制御ユニット50、傾斜センサ52及びヨーレートセンサ53は、例えば、基体9の支柱フレーム13の内部に収容された状態で該支柱フレーム13に取付けられている。また、荷重センサ54は、シート3に内蔵されている。また、ロータリエンコーダ56R,56Lは、それぞれ、電動モータ31R,31Lと一体に設けられている。なお、ロータリエンコーダ56R,56Lは、それぞれ、回転部材27R,27Lに装着してもよい。
上記傾斜センサ52は、より詳しくは、加速度センサとジャイロセンサ等のレートセンサ(角速度センサ)とから構成され、これらのセンサの検出信号を制御ユニット50に出力する。そして、制御ユニット50が、傾斜センサ52の加速度センサ及びレートセンサの出力を基に、所定の計測演算処理(これは公知の演算処理でよい)を実行することによって、傾斜センサ52を搭載した部位(本実施形態では支柱フレーム13)の、鉛直方向に対する傾斜角度θbの計測値とその変化速度(微分値)である傾斜角速度θbdotの計測値とを算出する。
この場合、計測する傾斜角度θb(以降、基体傾斜角度θbということがある)は、より詳しくは、それぞれ、Y軸周り方向(ピッチ方向)の成分θb_xと、X軸周り方向(ロール方向)の成分θb_yとから成る。同様に、計測する傾斜角速度θbdot(以降、基体傾斜角速度θbdotということがある)も、Y軸周り方向(ピッチ方向)の成分θbdot_x(=dθb_x/dt)と、X軸周り方向(ロール方向)の成分θbdot_y(=dθb_y/dt)とから成る。
補足すると、本実施形態では、基体9の支柱フレーム13と一体にシート3が傾動するので、基体傾斜角度θbは、搭乗部3の傾斜角度としての意味も持つ。
なお、本実施形態の説明では、上記基体傾斜角度θbなど、X軸及びY軸の各方向(又は各軸周り方向)の成分を有する運動状態量等の変数、あるいは、該運動状態量に関連する係数等の変数に関しては、その各成分を区別して表記する場合に、該変数の参照符号に、添え字“_x”又は“_y”を付加する。
この場合において、並進速度等の並進運動に係わる変数については、そのX軸方向の成分に添え字“_x”を付加し、Y軸方向の成分に添え字“_y”を付加する。
一方、角度、回転速度(角速度)、角加速度など、回転運動に係わる変数については、並進運動に係わる変数と添え字を揃えるために、便宜上、Y軸周り方向の成分に添え字“_x”を付加し、X軸周り方向の成分に添え字“_y”を付加する。
さらに、X軸方向の成分(又はY軸周り方向の成分)と、Y軸方向の成分(又はX軸周り方向の成分)との組として変数を表記する場合には、該変数の参照符号に添え字“_xy”を付加する。例えば、上記基体傾斜角度θbを、Y軸周り方向の成分θb_xとX軸周り方向の成分θb_yの組として表現する場合には、「基体傾斜角度θb_xy」というように表記する。
前記ヨーレートセンサ53は、ジャイロセンサ等により構成され、上下方向の軸周りのヨーレート(ヨー角速度)に応じた検出信号を制御ユニット50に出力する。そして、制御ユニット50が、このヨーレートセンサ53の出力が示すヨーレートの値を鉛直方向の軸周りのヨーレートωzの計測値として取得する。なお、ヨーレートセンサ53が、基体9と共に傾動するので、ヨーレートセンサ53の出力が示す計測値を前記傾斜センサ52の出力に基づく基体傾斜角度θb_xyの計測値に応じて補正することで、鉛直方向の軸周りのヨーレートωzの計測値を求めるようにしてもよい。
前記荷重センサ54は、乗員がシート3に着座した場合に該乗員の重量による荷重を受けるようにシート3に内蔵され、その荷重に応じた検出信号を制御ユニット50に出力する。そして、制御ユニット50が、この荷重センサ54の出力により示される荷重の計測値に基づいて、車両1に乗員が搭乗しているか否かを判断する。
なお、荷重センサ54の代わりに、例えば、乗員がシート3に着座したときにONとなるようなスイッチ式のセンサを用いてもよい。
ロータリエンコーダ56Rは、電動モータ31Rの出力軸が所定角度回転する毎にパルス信号を発生し、このパルス信号を制御ユニット50に出力する。そして、制御ユニット50が、そのパルス信号を基に、電動モータ53Rの出力軸の回転角度を計測し、さらにその回転角度の計測値の時間的変化率(微分値)を電動モータ53Rの回転角速度として計測する。電動モータ31L側のロータリエンコーダ56Lについても同様である。
制御ユニット50は、上記の各計測値を用いて所定の演算処理を実行することによって、電動モータ31R,31Lのそれぞれの回転角速度の目標値である速度指令を決定し、その速度指令に従って、電動モータ31R,31Lのそれぞれの回転角速度をフィードバック制御する。
なお、電動モータ31Rの出力軸の回転角速度と、回転部材27Rの回転角速度との間の関係は、該出力軸と回転部材27Rとの間の一定値の減速比に応じた比例関係になるので、本実施形態の説明では、便宜上、電動モータ31Rの回転角速度は、回転部材27Rの回転角速度を意味するものとする。同様に、電動モータ31Lの回転角速度は、回転部材27Lの回転角速度を意味するものとする。
以下に、制御ユニット50の制御処理をさらに詳細に説明する。
制御ユニット50は、所定の制御処理周期で図7のフローチャートに示す処理(メインルーチン処理)を実行する。
まず、STEP1において、制御ユニット50は、傾斜センサ52の出力を取得する。
次いで、STEP2に進んで、制御ユニット50は、取得した傾斜センサ52の出力を基に、基体傾斜角度θbの計測値θb_xy_sと、基体傾斜角速度θbdotの計測値θbdot_xy_sとを算出する。
なお、以降の説明では、上記計測値θb_xy_sなど、変数(状態量)の実際の値の観測値(計測値又は推定値)を参照符号により表記する場合に、該変数の参照符号に、添え字“_s”を付加する。
次いで、制御ユニット50は、STEP3において、荷重センサ54の出力とヨーレートセンサ53の出力とを取得した後、STEP4の判断処理を実行する。この判断処理においては、制御ユニット50は、取得した荷重センサ54の出力が示す荷重計測値があらかじめ設定された所定値よりも大きいか否かによって、車両1に乗員が搭乗しているか否か(シート3に乗員が着座しているか否か)を判断する。
そして、制御ユニット50は、STEP4の判断結果が肯定的である場合には、基体傾斜角度θbの搭乗モード用の目標値θb_xy_objを決定する処理と、車両1の動作制御用の定数パラメータ(各種ゲインの基本値など)の値を設定する処理とを、それぞれSTEP5、6で実行する。
STEP5においては、詳細は後述するが、制御ユニット50は、STEP3で取得したヨーレートωzの計測値ωz_s等に応じて、搭乗モード用の目標値θb_xy_objを可変的に決定する。
ここで、「搭乗モード」は、車両1に乗員が搭乗している場合での車両1の動作モードを意味する。そして、STEP5で決定される搭乗モード用の目標値θb_xy_objは、それを概略的に説明すると、車両1の直進走行時のように、該車両1に遠心力が作用しないか、もしくはほとんど作用しない状況では、あらかじめ定められた基準目標値θb_xy_obj_baseに決定される。該基準目標値θb_xy_obj_baseは、車両1とシート3に着座した乗員との全体の重心点(以降、車両・乗員全体重心点という)が車輪体5の接地面のほぼ真上に位置する状態となる基体9の姿勢において、傾斜センサ52の出力に基づき計測される基体傾斜角度θbの計測値θb_xy_sに一致又はほぼ一致するようにあらかじめ設定された値である。そして、車両1の旋回走行時によって該車両1に遠心力が作用する状況では、搭乗モード用の目標値θb_xy_objは、これに基体傾斜角度θbを一致させた場合に、前記車両・乗員全体重心点が、車輪体5の接地面のほぼ真上の位置(基準目標値θb_xy_obj_baseに対応する位置)から旋回中心により近づくような角度値に決定される。
また、STEP6においては、制御ユニット50は、車両1の動作制御用の定数パラメータの値として、あらかじめ定められた搭乗モード用の値を設定する。なお、定数パラメータは、後述するhx,hy,Ki_a_x,Ki_b_x,Ki_a_y,Ki_b_y(i=1,2,3)等である。
一方、STEP4の判断結果が否定的である場合には、制御ユニット50は、基体傾斜角度θb_xyの目標値θb_xy_objを設定する処理と、車両1の動作制御用の定数パラメータの値を設定する処理とを、STEP7、8で実行する。
STEP7においては、制御ユニット50は、傾斜角度θbの目標値θb_xy_objとして、あらかじめ定められた自立モード用の目標値を設定する。
ここで、「自立モード」は、車両1に乗員が搭乗していない場合での車両1の動作モードを意味する。この自立モード用の目標値θb_xy_objは、車両1単体の重心点(以降、車両単体重心点という)が車輪体5の接地面のほぼ真上に位置する状態となる基体9の姿勢において、傾斜センサ52の出力に基づき計測される基体傾斜角度θbの計測値θb_xy_sに一致又はほぼ一致するようにあらかじめ設定されている。この自立モード用の目標値θb_xy_objは、搭乗モード用の基準目標値θb_xy_obj_baseと一般的には異なる。
また、STEP8においては、制御ユニット50は、車両1の動作制御用の定数パラメータの値として、あらかじめ定められた自立モード用の値を設定する。この自立モード用の定数パラメータの値は、搭乗モード用の定数パラメータの値と異なる。
搭乗モードと自立モードとで、上記定数パラメータの値を異ならせるのは、それぞれのモードで上記重心点の高さや、全体質量等が異なることに起因して、制御入力に対する車両1の動作の応答特性が互いに異なるからである。
以上のSTEP4〜8の処理によって、搭乗モード及び自立モードの各動作モード毎に各別に、基体傾斜角度θb_xyの目標値θb_xy_objと定数パラメータの値とが設定される。
なお、STEP6の処理は、STEP4の判断結果が否定的から肯定的に変化した場合にだけ実行するようにしてもよい。また、STEP7,8の処理は、STEP4の判断結果が肯定的から否定的に変化した場合にだけ実行するようにしてもよい。
補足すると、搭乗モード及び自立モードのいずれにおいても、基体傾斜角速度θbdotのY軸周り方向の成分θbdot_xの目標値とX軸周り方向の成分θbdot_yの目標値とは、いずれも“0”である。このため、基体傾斜角速度θbdot_xyの目標値を設定する処理は不要である。
以上の如くSTEP5,6の処理、又はSTEP7,8の処理を実行した後、制御ユニット50は、次にSTEP9において、車両制御演算処理を実行することによって、電動モータ31R,31Lのそれぞれの速度指令を決定する。この車両制御演算処理の詳細は後述する。
次いで、STEP10に進んで、制御ユニット50は、STEP9で決定した速度指令に応じて電動モータ31R,31Lの動作制御処理を実行する。この動作制御処理では、制御ユニット50は、STEP9で決定した電動モータ31Rの速度指令と、ロータリエンコーダ56Rの出力に基づき計測した電動モータ31Rの回転速度の計測値との偏差に応じて、該偏差を“0”に収束させるように電動モータ31Rの出力トルクの目標値(目標トルク)を決定する。そして、制御ユニット50は、その目標トルクの出力トルクを電動モータ31Rに出力させるように該電動モータ31Rの通電電流を制御する。左側の電動モータ31Lの動作制御についても同様である。
以上が、制御ユニット50が実行する全体的な制御処理である。
次に、上記STEP9の車両制御演算処理の詳細を説明する。
なお、以降の説明においては、前記搭乗モードにおける車両・乗員全体重心点と、前記自立モードにおける車両単体重心点とを総称的に、車両系重心点という。該車両系重心点は、車両1の動作モードが搭乗モードである場合には、車両・乗員全体重心点を意味し、自立モードである場合には、車両単体重心点を意味する。
また、以降の説明では、制御ユニット50が各制御処理周期で決定する値(更新する値)に関し、現在の(最新の)制御処理周期で決定する値を今回値、その1つ前の制御処理周期で決定した値を前回値ということがある。そして、今回値、前回値を特にことわらない値は、今回値を意味する。
また、X軸方向の速度及び加速度に関しては、前方向きを正の向きとし、Y軸方向の速度及び加速度に関しては、左向きを正の向きとする。
本実施形態では、前記車両系重心点の動力学的な挙動(詳しくは、Y軸方向からこれに直交する面(XZ平面)に投影して見た挙動と、X軸方向からこれに直交する面(YZ平面)に投影して見た挙動)が、近似的に、図8に示すような、倒立振子モデルの挙動(倒立振子の動力学的挙動)によって表現されるものとして、STEP9の車両制御演算処理が行なわれる。
なお、図8において、括弧を付していない参照符号は、Y軸方向から見た倒立振子モデルに対応する参照符号であり、括弧付きの参照符号は、X軸方向から見た倒立振子モデルに対応する参照符号である。
この場合、Y軸方向から見た挙動を表現する倒立振子モデルは、車両系重心点に位置する質点60_xと、Y軸方向に平行な回転軸62a_xを有して床面上を輪転自在な仮想的な車輪62_x(以降、仮想車輪62_xという)とを備える。そして、質点60_xが、仮想車輪62_xの回転軸62a_xに直線状のロッド64_xを介して支持され、該回転軸62a_xを支点として該回転軸62a_xの周りに揺動自在とされている。
この倒立振子モデルでは、質点60_xの運動が、Y軸方向から見た車両系重心点の運動に相当する。また、鉛直方向に対するロッド64_xの傾斜角度θbe_xがY軸周り方向での基体傾斜角度計測値θb_x_sと基体傾斜角度目標値θb_x_objとの偏差θbe_x_s(=θb_x_s−θb_x_obj)に一致するものとされる。また、ロッド64_xの傾斜角度θbe_xの変化速度(=dθbe_x/dt)がY軸周り方向の基体傾斜角速度計測値θbdot_x_sに一致するものとされる。また、仮想車輪62_xの移動速度Vw_x(X軸方向の並進移動速度)は、車両1の車輪体5のX軸方向の移動速度に一致するものとされる。
同様に、X軸方向から見た挙動を表現する倒立振子モデル(図8の括弧付きの符号を参照)は、車両系重心点に位置する質点60_yと、X軸方向に平行な回転軸62a_yを有して床面上を輪転自在な仮想的な車輪62_y(以降、仮想車輪62_yという)とを備える。そして、質点60_yが、仮想車輪62_yの回転軸62a_yに直線状のロッド64_yを介して支持され、該回転軸62a_yを支点として該回転軸62a_yの周りに揺動自在とされている。
この倒立振子モデルでは、質点60_yの運動が、X軸方向から見た車両系重心点の運動に相当する。また、鉛直方向に対するロッド64_yの傾斜角度θbe_yがX軸周り方向での基体傾斜角度計測値θb_y_sと基体傾斜角度目標値θb_y_objとの偏差θbe_y_s(=θb_y_s−θb_y_obj)に一致するものとされる。また、ロッド64_yの傾斜角度θbe_yの変化速度(=dθbe_y/dt)がX軸周り方向の基体傾斜角速度計測値θbdot_y_sに一致するものとされる。また、仮想車輪62_yの移動速度Vw_y(Y軸方向の並進移動速度)は、車両1の車輪体5のY軸方向の移動速度に一致するものとされる。
なお、仮想車輪62_x,62_yは、それぞれ、あらかじめ定められた所定値Rw_x,Rw_yの半径を有するものとされる。
また、仮想車輪62_x,62_yのそれぞれの回転角速度ωw_x,ωw_yと、電動モータ31R,31Lのそれぞれの回転角速度ω_R,ω_L(より正確には、回転部材27R,27Lのそれぞれの回転角速度ω_R,ω_L)との間には、次式01a,01bの関係が成立するものとされる。
ωw_x=(ω_R+ω_L)/2 ……式01a
ωw_y=C・(ω_R−ω_L)/2 ……式01b
なお、式01bにおける“C”は、前記フリーローラ29R,29Lと車輪体5との間の機構的な関係や滑りに依存する所定値の係数である。また、ωw_x,ω_R,ω_Lの正の向きは、仮想車輪62_xが前方に向かって輪転する場合の該仮想車輪62_xの回転方向、ωw_yの正の向きは、仮想車輪62_yが左向きに輪転する場合の該仮想車輪62_yの回転方向である。
ここで、図8に示す倒立振子モデルの動力学は、次式03x,03yにより表現される。なお、式03xは、Y軸方向から見た倒立振子モデルの動力学を表現する式、式03yは、X軸方向から見た倒立振子モデルの動力学を表現する式である。
d2θbe_x/dt2=α_x・θbe_x+β_x・ωwdot_x ……式03x
d2θbe_y/dt2=α_y・θbe_y+β_y・ωwdot_y ……式03y
式03xにおけるωwdot_xは仮想車輪62_xの回転角加速度(回転角速度ωw_xの1階微分値)、α_xは、質点60_xの質量や高さh_xに依存する係数、β_xは、仮想車輪62_xのイナーシャ(慣性モーメント)や半径Rw_xに依存する係数である。式03yにおけるωwdot_y、α_y、β_yについても上記と同様である。
これらの式03x,03yから判るように、倒立振子モデルの質点60_x,60_yの運動(ひいては車両系重心点の運動)は、それぞれ、仮想車輪62_xの回転角加速度ωwdot_x、仮想車輪62_yの回転角加速度ωwdot_yに依存して規定される。
そこで、本実施形態では、Y軸方向から見た車両系重心点の運動を制御するための操作量(制御入力)として、仮想車輪62_xの回転角加速度ωwdot_xを用いると共に、X軸方向から見た車両系重心点の運動を制御するための操作量(制御入力)として、仮想車輪62_yの回転角加速度ωwdot_yを用いる。
そして、STEP9の車両制御演算処理を概略的に説明すると、制御ユニット50は、X軸方向で見た質点60_xの運動と、Y軸方向で見た質点60_yの運動とが、車両系重心点の所望の運動に対応する運動となるように、操作量としての上記回転角加速度ωwdot_x,ωwdot_yの指令値(目標値)である仮想車輪回転角加速度指令ωwdot_x_cmd,ωwdot_y_cmdを決定する。さらに、制御ユニット50は、仮想車輪回転角加速度指令ωwdot_x_cmd,ωwdot_y_cmdをそれぞれ積分してなる値を、仮想車輪62_x,62_yのそれぞれの回転角速度ωw_x,ωw_yの指令値(目標値)である仮想車輪回転角速度指令ωw_x_cmd,ωw_y_cmdとして決定する。
そして、制御ユニット50は、仮想車輪回転角速度指令ωw_x_cmdに対応する仮想車輪62_xの移動速度(=Rw_x・ωw_x_cmd)と、仮想車輪回転角速度指令ωw_y_cmdに対応する仮想車輪62_yの移動速度(=Rw_y・ωw_y_cmd)とを、それぞれ、車両1の車輪体5のX軸方向の目標移動速度、Y軸方向の目標移動速度とし、それらの目標移動速度を実現するように、電動モータ31R,31Lのそれぞれの速度指令ω_R_cmd,ω_L_cmdを決定する。
なお、本実施形態では、操作量(制御入力)としての上記仮想車輪回転角加速度指令ωwdot_x_cmd,ωwdot_y_cmdは、それぞれ、後述する式07x,07yに示す如く、3個の操作量成分を加え合わせることによって決定される。
制御ユニット50は、上記の如き、STEP9の車両制御演算処理を実行するための機能として、図9のブロック図で示す機能を備えている。
すなわち、制御ユニット50は、基体傾斜角度計測値θb_xy_sと基体傾斜角度目標値θb_xy_objとの偏差である基体傾斜角度偏差計測値θbe_xy_sを算出する偏差演算部70と、前記車両系重心点の移動速度である重心速度Vb_xyの観測値としての重心速度推定値Vb_xy_sを算出する重心速度算出部72と、乗員等による車両1の操縦操作(車両1に推進力を付加する操作)によって要求されていると推定される上記重心速度Vb_xyの要求値としての要求重心速度V_xy_aimを生成する要求重心速度生成部74と、これらの重心速度推定値Vb_xy_s及び要求重心速度V_xy_aimから、電動モータ31R,31Lの回転角速度の許容範囲に応じた制限を加味して、重心速度Vb_xyの目標値としての制御用目標重心速度Vb_xy_mdfdを決定する重心速度制限部76と、後述する式07x,07yのゲイン係数の値を調整するためのゲイン調整パラメータKr_xyを決定するゲイン調整部78とを備える。
制御ユニット50は、さらに、前記仮想車輪回転角速度指令ωw_xy_cmdを算出する姿勢制御演算部80と、この仮想車輪回転角速度指令ωw_xy_cmdを、右側の電動モータ31Rの速度指令ω_R_cmd(回転角速度の指令値)と左側の電動モータ31Lの速度指令ω_L_cmd(回転角速度の指令値)との組に変換するモータ指令演算部82とを備える。
なお、図9中の参照符号84を付したものは、姿勢制御演算部80が制御処理周期毎に算出する仮想車輪回転角速度指令ωw_xy_cmdを入力する遅延要素を示している。該遅延要素84は、各制御処理周期において、仮想車輪回転角速度指令ωw_xy_cmdの前回値ωw_xy_cmd_pを出力する。
前記STEP9の車両制御演算処理では、これらの上記の各処理部の処理が以下に説明するように実行される。
すなわち、制御ユニット50は、まず、偏差演算部70の処理と重心速度算出部72の処理とを実行する。
偏差演算部70には、前記STEP2で算出された基体傾斜角度計測値θb_xy_s(θb_x_s及びθb_y_s)と、前記STEP5又はSTEP7で設定された目標値θb_xy_obj(θb_x_obj及びθb_y_obj)とが入力される。そして、偏差演算部70は、θb_x_sからθb_x_objを減算することによって、Y軸周り方向の基体傾斜角度偏差計測値θbe_x_s(=θb_x_s−θb_x_obj)を算出すると共に、θb_y_sからθb_y_objを減算することによって、X軸周り方向の基体傾斜角度偏差計測値θbe_y_s(=θb_y_s−θb_y_obj)を算出する。
なお、偏差演算部70の処理は、STEP9の車両制御演算処理の前に行なうようにしてもよい。例えば、前記STEP5又は7の処理の中で、偏差演算部70の処理を実行してもよい。
前記重心速度算出部72には、前記STEP2で算出された基体傾斜角速度計測値θbdot_xy_s(θbdot_x_s及びθbdot_y_s)の今回値が入力されると共に、仮想車輪速度指令ωw_xy_cmdの前回値ωw_xy_cmd_p(ωw_x_cmd_p及びωw_y_cmd_p)が遅延要素84から入力される。そして、重心速度算出部72は、これらの入力値から、前記倒立振子モデルに基づく所定の演算式によって、重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)を算出する。
具体的には、重心速度算出部72は、次式05x,05yにより、Vb_x_s及びVb_y_sをそれぞれ算出する。
Vb_x_s=Rw_x・ωw_x_cmd_p+h_x・θbdot_x_s ……05x
Vb_y_s=Rw_y・ωw_y_cmd_p+h_y・θbdot_y_s ……05y
これらの式05x,05yにおいて、Rw_x,Rw_yは、前記したように、仮想車輪62_x,62_yのそれぞれの半径であり、これらの値は、あらかじめ設定された所定値である。また、h_x,h_yは、それぞれ倒立振子モデルの質点60_x,60_yの高さである。この場合、本実施形態では、車両系重心点の高さは、ほぼ一定に維持されるものとされる。そこで、h_x,h_yの値としては、それぞれ、あらかじめ設定された所定値が用いられる。補足すると、高さh_x,h_yは、前記STEP6又は8において値を設定する定数パラメータに含まれるものである。
上記式05xの右辺の第1項は、仮想車輪62_xの速度指令の前回値ωw_x_cmd_pに対応する該仮想車輪62_xのX軸方向の移動速度であり、この移動速度は、車輪体5のX軸方向の実際の移動速度の現在値に相当するものである。また、式05xの右辺の第2項は、基体9がY軸周り方向にθbdot_x_sの傾斜角速度で傾動することに起因して生じる車両系重心点のX軸方向の移動速度(車輪体5に対する相対的な移動速度)の現在値に相当するものである。これらのことは、式05yについても同様である。
なお、前記ロータリエンコーダ56R,56Lの出力を基に計測される電動モータ31R,31Lのそれぞれの回転角速度の計測値(今回値)の組を、仮想車輪62_x,62_yのそれぞれの回転角速度の組に変換し、それらの回転角速度を、式05x、05yのωw_x_cmd_p、ωw_y_cmd_pの代わりに用いてもよい。ただし、回転角速度の計測値に含まれるノイズの影響を排除する上では、目標値であるωw_x_cmd_p、ωw_y_cmd_pを使用することが有利である。
次に、制御ユニット50は、要求重心速度生成部74の処理とゲイン調整部78の処理とを実行する。この場合、要求重心速度生成部74及びゲイン調整部78には、それぞれ、重心速度算出部72で上記の如く算出された重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)が入力される。
そして、要求重心速度生成部74は、詳細は後述するが、車両1の動作モードが搭乗モードである場合に、入力された重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)を基に、要求重心速度V_xy_aim(V_x_aim,V_y_aim)を決定する。なお、本実施形態では、車両1の動作モードが自立モードである場合には、要求重心速度生成部74は、要求重心速度V_x_aim及びV_y_aimをいずれも“0”とする。
また、ゲイン調整部78は、入力された重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)を基に、前記ゲイン調整パラメータKr_xy(Kr_x及びKr_y)を決定する。
このゲイン調整部78の処理を図10及び図11を参照して以下に説明する。
図10に示すように、ゲイン調整部78は、入力された重心速度推定値Vb_x_s,Vb_y_sをリミット処理部86に入力する。このリミット処理部86では、重心速度推定値Vb_x_s,Vb_y_sに、電動モータ31R,31Lのそれぞれの回転角速度の許容範囲に応じた制限を適宜、加えることによって、出力値Vw_x_lim1,Vw_y_lim1を生成する。出力値Vw_x_lim1は、前記仮想車輪62_xのX軸方向の移動速度Vw_xの制限後の値、出力値Vw_y_lim1は、前記仮想車輪62_yのY軸方向の移動速度Vw_yの制限後の値としての意味を持つ。
このリミット処理部86の処理を、図11を参照してさらに詳細に説明する。なお、図11中の括弧付きの参照符号は、後述する重心速度制限部76のリミット処理部104の処理を示すものであり、リミット処理部86の処理に関する説明では無視してよい。
リミット処理部86は、まず、重心速度推定値Vb_x_s,Vb_y_sをそれぞれ処理部86a_x,86a_yに入力する。処理部86a_xは、Vb_x_sを仮想車輪62_xの半径Rw_xで除算することによって、仮想車輪62_xのX軸方向の移動速度をVb_x_sに一致させたと仮定した場合の該仮想車輪62_xの回転角速度ωw_x_sを算出する。同様に、処理部86a_yは、仮想車輪62_yのY軸方向の移動速度をVb_y_sに一致させたと仮定した場合の該仮想車輪62_yの回転角速度ωw_y_s(=Vb_y_s/Rw_y)を算出する。
次いで、リミット処理部86は、ωw_x_s,ωw_y_sの組を、XY−RL変換部86bにより、電動モータ31Rの回転角速度ω_R_sと電動モータ31Lの回転角速度ω_L_sとの組に変換する。
この変換は、本実施形態では、前記式01a,01bのωw_x,ωw_y,ω_R,ω_Lをそれぞれ、ωw_x_s,ωw_y_s,ω_R_s,ω_L_sに置き換えて得られる連立方程式を、ω_R_s,ω_L_sを未知数として解くことにより行なわれる。
次いで、リミット処理部86は、XY−RL変換部86bの出力値ω_R_s,ω_L_sをそれぞれ、リミッタ86c_R,86c_Lに入力する。このとき、リミッタ86c_Rは、ω_R_sが、あらかじめ設定された所定値の上限値(>0)と下限値(<0)とを有する右モータ用許容範囲内に収まっている場合には、ω_R_sをそのまま出力値ω_R_lim1として出力する。また、リミッタ86c_Rは、ω_R_sが、右モータ用許容範囲から逸脱している場合には、該右モータ用許容範囲の上限値と下限値とのうちのω_R_sに近い方の境界値を出力値ω_R_lim1として出力する。これにより、リミッタ86c_Rの出力値ω_R_lim1は、右モータ用許容範囲内の値に制限される。
同様に、リミッタ86c_Lは、ω_L_sが、あらかじめ設定された所定値の上限値(>0)と下限値(<0)とを有する左モータ用許容範囲内に収まっている場合には、ω_L_sをそのまま出力値ω_L_lim1として出力する。また、リミッタ86c_Lは、ω_L_sが、左モータ用許容範囲から逸脱している場合には、該左モータ用許容範囲の上限値と下限値とのうちのω_L_sに近い方の境界値を出力値ω_L_lim1として出力する。これにより、リミッタ86c_Lの出力値ω_L_lim1は、左モータ用許容範囲内の値に制限される。
上記右モータ用許容範囲は右側の電動モータ31Rの回転角速度(絶対値)が高くなり過ぎないようにし、ひいては、電動モータ31Rが出力可能なトルクの最大値が低下するのを防止するために設定された許容範囲である。このことは、左モータ用許容範囲についても同様である。
次いで、リミット処理部86は、リミッタ86c_R,86c_Lのそれぞれの出力値ω_R_lim1,ω_L_lim1の組を、RL−XY変換部86dにより、仮想車輪62_x,62_yのそれぞれの回転角速度ωw_x_lim1,ωw_y_lim1の組に変換する。
この変換は、前記XY−RL変換部86bの変換処理の逆変換の処理である。この処理は、前記式01a,01bのωw_x,ωw_y,ω_R,ω_Lをそれぞれ、ωw_x_lim1,ωw_y_lim1,ω_R_lim1,ω_L_lim1に置き換えて得られる連立方程式を、ωw_x_lim1,ωw_y_lim1を未知数として解くことにより行なわれる。
次いで、リミット処理部86は、RL−XY変換部86dの出力値ωw_x_lim1,ωw_y_lim1をそれぞれ処理部86e_x,86e_yに入力する。処理部86e_xは、ωw_x_lim1に仮想車輪62_xの半径Rw_xを乗じることによって、ωw_x_lim1を仮想車輪62_xの移動速度Vw_x_lim1に変換する。同様に、処理部86e_yは、ωw_y_lim1を仮想車輪62_yの移動速度Vw_y_lim1(=ωw_y_lim1・Rw_y)に変換する。
以上のリミット処理部86の処理によって、仮想車輪62_xのX軸方向の移動速度Vw_xと、仮想車輪62_yのY軸方向の移動速度Vw_yとをそれぞれ重心速度推定値Vb_x_s,Vb_y_sに一致させたと仮定した場合(換言すれば、車輪体5のX軸方向の移動速度とY軸方向の移動速度とをそれぞれ、Vb_x_s,Vb_y_sに一致させたと仮定した場合)に、それらの移動速度を実現するために必要な電動モータ31R,31Lのそれぞれの回転角速度ω_R_s,ω_L_sが、両方とも、許容範囲内に収まっている場合には、Vb_x_s,Vb_y_sにそれぞれ一致する出力値Vw_x_lim1,Vw_y_lim1の組がリミット処理部86から出力される。
一方、電動モータ31R,31Lのそれぞれの回転角速度ω_R_s,ω_L_sの両方又は一方が許容範囲から逸脱している場合には、その両方又は一方の回転角速度が強制的に許容範囲内に制限された上で、その制限後の電動モータ31R,31Lのそれぞれの回転角速度ω_R_lim1,ω_L_lim1の組に対応する、X軸方向及びY軸方向の移動速度Vw_x_lim1,Vw_y_lim1の組がリミット処理部86から出力される。
従って、リミット処理部86は、その出力値Vw_x_lim1,Vw_y_lim1の組に対応する電動モータ31R,31Lのそれぞれの回転角速度が許容範囲を逸脱しないことを必須の必要条件として、その必要条件下で可能な限り、出力値Vw_x_lim1,Vw_y_lim1をそれぞれVb_x_s,Vb_y_sに一致させるように、出力値Vw_x_lim1,Vw_y_lim1の組を生成する。
図10の説明に戻って、ゲイン調整部78は、次に、演算部88_x,88_yの処理を実行する。演算部88_xには、X軸方向の重心速度推定値Vb_x_sと、リミット処理部86の出力値Vw_x_lim1とが入力される。そして、演算部88_xは、Vw_x_lim1からVb_x_sを減算してなる値Vover_xを算出して出力する。また、演算部88_yには、Y軸方向の重心速度推定値Vb_y_sと、リミット処理部86の出力値Vw_y_lim1とが入力される。そして、演算部88_yは、Vw_y_lim1からVb_y_sを減算してなる値Vover_yを算出して出力する。
この場合、リミット処理部86での出力値Vw_x_lim1,Vw_y_lim1の強制的な制限が行なわれなかった場合には、Vw_x_lim1=Vb_x_s、Vw_y_lim1=Vb_y_sとなるので、演算部88_x,88_yのそれぞれの出力値Vover_x,Vover_yはいずれも“0”となる。
一方、リミット処理部86の出力値Vw_x_lim1,Vw_y_lim1が、入力値Vb_x_s,Vb_y_sに対して強制的な制限を施して生成された場合には、Vw_x_lim1のVb_x_sからの修正量(=Vw_x_lim1−Vb_x_s)と、Vw_y_lim1のVb_y_sからの修正量(=Vw_y_lim1−Vb_y_s)とがそれぞれ、演算部88_x,88_yから出力される。
次いで、ゲイン調整部78は、演算部88_xの出力値Vover_xを処理部90_x,92_xに順番に通すことによって、ゲイン調整パラメータKr_xを決定する。また、ゲイン調整部78は、演算部88_yの出力値Vover_yを処理部90_y,92_yに順番に通すことによって、ゲイン調整パラメータKr_yを決定する。なお、ゲイン調整パラメータKr_x,Kr_yは、いずれも“0”から“1”までの範囲内の値である。
上記処理部90_xは、入力されるVover_xの絶対値を算出して出力する。また、処理部92_xは、その出力値Kr_xが入力値|Vover_x|に対して単調に増加し、且つ、飽和特性を有するようにKr_xを生成する。該飽和特性は、入力値がある程度大きくなると、入力値の増加に対する出力値の変化量が“0”になるか、もしくは、“0”に近づく特性である。
この場合、本実施形態では、処理部92_xは、入力値|Vover_x|があらかじめ設定された所定値以下である場合には、該入力値|Vover_x|に所定値の比例係数を乗じてなる値をKr_xとして出力する。また、処理部92_xは、入力値|Vover_x|が所定値よりも大きい場合には、“1”をKr_xとして出力する。なお、上記比例係数は、|Vover_x|が所定値に一致するときに、|Vover_x|と比例係数との積が“1”になるように設定されている。
また、処理部90_y,92_yの処理は、それぞれ上記した処理部90_x,92_xの処理と同様である。
以上説明したゲイン調整部78の処理によって、リミット処理部86での出力値Vw_x_lim1,Vw_y_lim1の強制的な制限が行なわれなかった場合、すなわち、車輪体5のX軸方向及びY軸方向のそれぞれの移動速度Vw_x,Vw_yを、それぞれ、重心速度推定値Vb_x_s,Vb_y_sに一致させるように電動モータ31R,31Lを動作させても、電動モータ31R,31Lのそれぞれの回転角速度が許容範囲内に収まるような場合には、ゲイン調整パラメータKr_x,Kr_yはいずれも“0”に決定される。
一方、リミット処理部86の出力値Vw_x_lim1,Vw_y_lim1が、入力値Vb_x_s,Vb_y_sに対して強制的な制限を施して生成された場合、すなわち、車輪体5のX軸方向及びY軸方向のそれぞれの移動速度Vw_x,Vw_yを、それぞれ、重心速度推定値Vb_x_s,Vb_y_sに一致させるように電動モータ31R,31Lを動作させると、電動モータ31R,31Lのいずれかの回転角速度が許容範囲を逸脱してしまう場合(いずれかの回転角速度の絶対値が高くなり過ぎる場合)には、前記修正量Vover_x,Vover_yのそれぞれの絶対値に応じて、ゲイン調整パラメータKr_x,Kr_yの値がそれぞれ決定される。この場合、Kr_xは、“1”を上限値して、修正量Vover_xの絶対値が大きいほど、大きな値になるように決定される。このことは、Kr_yについても同様である。
図9の説明に戻って、制御ユニット50は、重心速度算出部72及び要求重心速度生成部74の処理を前記した如く実行した後、次に、重心速度制限部76の処理を実行する。
この重心速度制限部76には、重心速度算出部72で算出された重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)と、要求重心速度生成部74で決定された要求重心速度Vb_xy_aim(Vb_x_aim及びVb_y_aim)とが入力される。そして、重心速度制限部76は、これらの入力値を使用して、図12のブロック図で示す処理を実行することによって、制御用目標重心速度Vb_xy_mdfd(Vb_x_mdfd及びVb_y_mdfd)を決定する。
具体的には、重心速度制限部76は、まず、定常偏差算出部94_x,94_yの処理を実行する。
この場合、定常偏差算出部94_xには、X軸方向の重心速度推定値Vb_x_sが入力されると共に、X軸方向の制御用目標重心速度Vb_x_mdfdの前回値Vb_x_mdfd_pが遅延要素96_xを介して入力される。そして、定常偏差算出部94_xは、まず、入力されるVb_x_sが比例・微分補償要素(PD補償要素)94a_xに入力する。この比例・微分補償要素94a_xは、その伝達関数が1+Kd・Sにより表される補償要素であり、入力されるVb_x_sと、その微分値(時間的変化率)に所定値の係数Kdを乗じてなる値とを加算し、その加算結果の値を出力する。
次いで、定常偏差算出部94_xは、入力されるVb_x_mdfd_pを、比例・微分補償要素94a_xの出力値から減算してなる値を演算部94b_xにより算出した後、この演算部94b_xの出力値を、位相補償機能を有するローパスフィルタ94c_xに入力する。このローパスフィルタ94c_xは、伝達関数が(1+T2・S)/(1+T1・S)により表されるフィルタである。そして、定常偏差算出部94_xは、このローパスフィルタ94c_xの出力値Vb_x_prdを出力する。
また、定常偏差算出部94_yには、Y軸方向の重心速度推定値Vb_y_sが入力されると共に、Y軸方向の制御用目標重心速度Vb_y_mdfdの前回値Vb_y_mdfd_pが遅延要素96_yを介して入力される。
そして、定常偏差算出部94_yは、上記した定常偏差算出部94_xと同様に、比例・微分補償要素94a_y、演算部94b_y及びローパスフィルタ94c_yの処理を順次実行し、ローパスフィルタ94c_yの出力値Vb_y_prdを出力する。
ここで、定常偏差算出部94_xの出力値Vb_x_prdは、Y軸方向から見た車両系重心点の現在の運動状態(換言すればY軸方向から見た倒立振子モデルの質点60_xの運動状態)から推測される、将来のX軸方向の重心速度推定値の収束予測値の制御用目標重心速度Vb_x_mdfdに対する定常偏差としての意味を持つものである。同様に、定常偏差算出部94_y出力値Vb_y_prdは、X軸方向から見た車両系重心点の現在の運動状態(換言すればX軸方向から見た倒立振子モデルの質点60_yの運動状態)から推測される、将来のY軸方向の重心速度推定値の収束予測値の制御用目標重心速度Vb_y_mdfdに対する定常偏差としての意味を持つものである。以降、定常偏差算出部94_x,94_yのそれぞれの出力値Vb_x_prd,Vb_y_prdを重心速度定常偏差予測値という。
重心速度制限部76は、上記の如く定常偏差算出部94_x,94_yの処理を実行した後、定常偏差算出部94_xの出力値Vb_x_prdに要求重心速度Vb_x_aimを加算する処理と、定常偏差算出部94_yの出力値Vb_y_prdに要求重心速度Vb_y_aimを加算する処理とをそれぞれ、演算部98_x,98_yにより実行する。
従って、演算部98_xの出力値Vb_x_tは、X軸方向の重心速度定常偏差予測値Vb_x_prdに、X軸方向の要求重心速度Vb_x_aimを付加した速度となる。同様に、演算部98_yの出力値Vb_y_tは、Y軸方向の重心速度定常偏差予測値Vb_y_prdに、Y軸方向の要求重心速度Vb_y_aimを付加した速度となる。
なお、車両1の動作モードが自立モードである場合等、X軸方向の要求重心速度Vb_x_aimが“0”である場合には、X軸方向の重心速度定常偏差予測値Vb_x_prdがそのまま、演算部98_xの出力値Vb_x_tとなる。同様に、Y軸方向の要求重心速度Vb_y_aimが“0”である場合には、Y軸方向の重心速度定常偏差予測値Vb_y_prdがそのまま、演算部98_yの出力値Vb_y_tとなる。
次いで、重心速度制限部76は、演算部98_x,98_yのそれぞれの出力値Vb_x_t,Vb_y_tを、リミット処理部100に入力する。このリミット処理部100の処理は、前記したゲイン調整部78のリミット処理部86の処理と同じである。この場合、図11に括弧付きに参照符号で示す如く、リミット処理部100の各処理部の入力値及び出力値だけがリミット処理部86と相違する。
具体的には、リミット処理部100では、前記仮想車輪62_x,62_yのそれぞれの移動速度Vw_x,Vw_yを、Vb_x_t,Vb_y_tにそれぞれ一致させたと仮定した場合の各仮想車輪62_x,62_yの回転角速度ωw_x_t,ωw_y_tがそれぞれ処理部86a_x,86a_yにより算出される。そして、この回転角速度ωw_x_t,ωw_y_tの組が、XY−RL変換部86bにより、電動モータ31R,31Lの回転角速度ω_R_t,ω_L_tの組に変換される。
さらに、これらの回転角速度ω_R_t,ω_L_tが、リミッタ86c_R,86c_Lによって、それぞれ、右モータ用許容範囲内の値と左モータ用許容範囲内の値とに制限される。そして、この制限処理後の値ω_R_lim2,ω_L_lim2が、RL−XY変換部86dによって、仮想車輪62_x,62_yの回転角速度ωw_x_lim2,ωw_y_lim2に変換される。
次いで、この各回転角速度ωw_x_lim2,ωw_y_lim2に対応する各仮想車輪62_x,62_yの移動速度Vw_x_lim2,Vw_y_lim2がそれぞれ処理部86e_x,86e_yによって算出され、これらの移動速度Vw_x_lim2,Vw_y_lim2がリミット処理部100から出力される。
以上のリミット処理部100の処理によって、リミット処理部100は、リミット処理部86と同様に、その出力値Vw_x_lim2,Vw_y_lim2の組に対応する電動モータ31R,31Lのそれぞれの回転角速度が許容範囲を逸脱しないことを必須の必要条件として、その必要条件下で可能な限り、出力値Vw_x_lim2,Vw_y_lim2をそれぞれVb_x_t,Vb_y_tに一致させるように、出力値Vw_x_lim2,Vw_y_lim2の組を生成する。
なお、リミット処理部100における右モータ用及び左モータ用の各許容範囲は、リミット処理部86における各許容範囲と同一である必要はなく、互いに異なる許容範囲に設定されていてもよい。
図12の説明に戻って、重心速度制限部76は、次に、演算部102_x,102_yの処理を実行することによって、それぞれ制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdを算出する。この場合、演算部102_xは、リミット処理部100の出力値Vw_x_lim2から、X軸方向の重心速度定常偏差予測値Vb_x_prdを減算してなる値をX軸方向の制御用目標重心速度Vb_x_mdfdとして算出する。同様に、演算部102_yは、リミット処理部100の出力値Vw_y_lim2から、Y軸方向の重心速度定常偏差予測値Vb_y_prdを減算してなる値をY軸方向の制御用目標重心速度Vb_y_mdfdとして算出する。
以上のようにして決定される制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdは、リミット処理部100での出力値Vw_x_lim2,Vw_y_lim2の強制的な制限が行なわれなかった場合、すなわち、車輪体5のX軸方向及びY軸方向のそれぞれの移動速度を、それぞれ、演算部98_xの出力値Vb_x_tと演算部98_yの出力値Vb_y_tとに一致させるように電動モータ31R,31Lを動作させても、電動モータ31R,31Lのそれぞれの回転角速度が許容範囲内に収まるような場合には、要求重心速度Vb_x_aim,Vb_y_aimがそれぞれ、そのまま、制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdとして決定される。
なお、この場合、X軸方向の要求重心速度Vb_x_aimが“0”であれば、X軸方向の制御用目標重心速度Vb_x_mdfdも“0”となり、Y軸方向の要求重心速度Vb_y_aimが“0”であれば、Y軸方向の制御用目標重心速度Vb_y_mdfdも“0”となる。
一方、リミット処理部100の出力値Vw_x_lim2,Vw_y_lim2が、入力値Vb_x_t,Vb_y_tに対して強制的な制限を施して生成された場合、すなわち、車輪体5のX軸方向及びY軸方向のそれぞれの移動速度を、それぞれ、演算部98_xの出力値Vb_x_tと演算部98_yの出力値Vb_y_tとに一致させるように電動モータ31R,31Lを動作させると、電動モータ31R,31Lのいずれかの回転角速度が許容範囲を逸脱してしまう場合(いずれかの回転角速度の絶対値が高くなり過ぎる場合)には、X軸方向については、リミット処理部100の出力値Vw_x_lim2の入力値Vb_x_tからの修正量(=Vw_x_lim2−Vb_x_t)だけ、要求重心速度Vb_x_aimを補正してなる値(当該修正量をVb_x_aimに加算した値)が、X軸方向の制御用目標重心速度Vb_x_mdfdとして決定される。
また、Y軸方向については、リミット処理部100の出力値Vw_y_lim2の入力値Vb_y_tからの修正量(=Vw_y_lim2−Vb_y_t)だけ、要求重心速度Vb_y_aimを補正してなる値(当該修正量をVb_y_aimに加算した値)が、Y軸方向の制御用目標重心速度Vb_y_mdfdとして決定される。
この場合において、例えばX軸方向の速度に関し、要求重心速度Vb_x_aimが“0”でない場合には、制御用目標重心速度Vb_x_mdfdは、要求重心速度Vb_x_aimよりも“0”に近づくか、もしくは、要求重心速度Vb_x_aimと逆向きの速度となる。また、要求重心速度Vb_x_aimが“0”である場合には、制御用目標重心速度Vb_x_mdfdは、定常偏差算出部94_xが出力するX軸方向の重心速度定常偏差予測値Vb_x_prdと逆向きの速度となる。これらのことは、Y軸方向の速度に関しても同様である。
以上が、重心速度制限部76の処理である。
図9の説明に戻って、制御ユニット50は、以上の如く重心速度算出部72、重心速度制限部76、ゲイン調整部78、及び偏差演算部70の処理を実行した後、次に、姿勢制御演算部80の処理を実行する。
この姿勢制御演算部80の処理を、以下に図13を参照して説明する。なお、図13において、括弧を付していない参照符号は、X軸方向に輪転する仮想車輪62_xの回転角速度の目標値である前記仮想車輪回転角速度指令ωw_x_cmdを決定する処理に係わる参照符号であり、括弧付きの参照符合は、Y軸方向に輪転する仮想車輪62_yの回転角速度の目標値である前記仮想車輪回転角速度指令ωw_y_cmdを決定する処理に係わる参照符号である。
姿勢制御演算部80には、偏差演算部70で算出された基体傾斜角度偏差計測値θbe_xy_sと、前記STEP2で算出された基体傾斜角速度計測値θbdot_xy_sと、重心速度算出部72で算出された重心速度推定値Vb_xy_sと、重心速度制限部76で算出された制御用目標重心速度Vb_xy_mdfdと、ゲイン調整部78で算出されたゲイン調整パラメータKr_xyとが入力される。
そして、姿勢制御演算部80は、まず、これらの入力値を用いて、次式07x,07yにより、仮想車輪回転角加速度指令ωwdot_xy_cmdを算出する。
ωwdot_x_cmd=K1_x・θbe_x_s+K2_x・θbdot_x_s
+K3_x・(Vb_x_s−Vb_x_mdfd) ……式07x
ωwdot_y_cmd=K1_y・θbe_y_s+K2_y・θbdot_y_s
+K3_y・(Vb_y_s−Vb_y_mdfd) ……式07y
従って、本実施形態では、Y軸方向から見た倒立振子モデルの質点60_xの運動(ひいては、Y軸方向から見た車両系重心点の運動)を制御するための操作量(制御入力)としての仮想車輪回転角加速度指令ωwdot_x_cmdと、X軸方向から見た倒立振子モデルの質点60_yの運動(ひいては、X軸方向から見た車両系重心点の運動)を制御するための操作量(制御入力)としての仮想車輪回転角加速度指令ωwdot_y_cmdとは、それぞれ、3つの操作量成分(式07x,07yの右辺の3つの項)を加え合わせることによって決定される。
この場合、式07xにおける各操作量成分に係わるゲイン係数K1_x,K2_x,K3_xは、ゲイン調整パラメータKr_xに応じて可変的に設定され、式07yにおける各操作量成分に係わるゲイン係数K1_y,K2_y,K3_yは、ゲイン調整パラメータKr_yに応じて可変的に設定される。以降、式07xにおけるゲイン係数K1_x,K2_x,K3_xのそれぞれを第1ゲイン係数K1_x、第2ゲイン係数K2_x、第3ゲイン係数K3_xということがある。このことは、式07yにおけるゲイン係数K1_y,K2_y,K3_yについても同様とする。
式07xにおける第iゲイン係数Ki_x(i=1,2,3)と、式07yにおける第iゲイン係数Ki_y(i=1,2,3)とは、図13中にただし書きで示した如く、次式09x、09yにより、ゲイン調整パラメータKr_x,Kr_yに応じて決定される。
Ki_x=(1−Kr_x)・Ki_a_x+Kr_x・Ki_b_x ……式09x
Ki_y=(1−Kr_y)・Ki_a_y+Kr_y・Ki_b_y ……式09y
(i=1,2,3)
ここで、式09xにおけるKi_a_x、Ki_b_xは、それぞれ、第iゲイン係数Ki_xの最小側(“0”に近い側)のゲイン係数値、最大側(“0”から離れる側)のゲイン係数値としてあらかじめ設定された定数値である。このことは、式09yにおけるKi_a_y、Ki_b_yについても同様である。
従って、式07xの演算に用いる各第iゲイン係数Ki_x(i=1,2,3)は、それぞれに対応する定数値Ki_a_x、Ki_b_xの重み付き平均値として決定される。そして、この場合、Ki_a_x、Ki_b_xにそれぞれ掛かる重みが、ゲイン調整パラメータKr_xに応じて変化させられる。このため、Kr_x=0である場合には、Ki_x=Ki_a_xとなり、Kr_x=1である場合には、Ki_x=Ki_b_xとなる。そして、Kr_xが“0”から“1”に近づくに伴い、第iゲイン係数Ki_xはKi_a_xからKi_b_x近づいていく。
同様に、式07yの演算に用いる各第iゲイン係数Ki_y(i=1,2,3)は、それぞれに対応する定数値Ki_a_y、Ki_b_yの重み付き平均値として決定される。そして、この場合、Ki_a_y、Ki_b_yにそれぞれ掛かる重みが、ゲイン調整パラメータKr_yに応じて変化させられる。このため、Ki_xの場合と同様に、Kr_yの値が“0”から“1”の間で変化するに伴い、第iゲイン係数Ki_yの値が、Ki_a_yとKi_b_yとの間で変化する。
補足すると、上記定数値Ki_a_x、Ki_b_x及びKi_a_y,Ki_b_y(i=1,2,3)は、前記STEP6又は8において値が設定される定数パラメータに含まれるものである。
姿勢制御演算部80は、上記の如く決定した第1〜第3ゲイン係数K1_x,K2_x,K3_xを用いて前記式07xの演算を行なうことで、X軸方向に輪転する仮想車輪62_xに係わる仮想車輪回転角加速度指令ωwdot_x_cmdを算出する。
さらに詳細には、図13を参照して、姿勢制御演算部80は、基体傾斜角度偏差計測値θbe_x_sに第1ゲイン係数K1_xを乗じてなる操作量成分u1_xと、基体傾斜角速度計測値θbdot_x_sに第2ゲイン係数K2_xを乗じてなる操作量成分u2_xとをそれぞれ、処理部80a,80bで算出する。さらに、姿勢制御演算部80は、重心速度推定値Vb_x_sと制御用目標重心速度Vb_x_mdfdとの偏差(=Vb_x_s−Vb_x_mdfd)を演算部80dで算出し、この偏差に第3ゲイン係数K3_xを乗じてなる操作量成分u3_xを処理部80cで算出する。そして、姿勢制御演算部80は、これらの操作量成分u1_x,u2_x,u3_xを演算部80eにて加え合わせることにより、仮想車輪回転角加速度指令ωwdot_x_cmdを算出する。
同様に、姿勢制御演算部80は、上記の如く決定した第1〜第3ゲイン係数K1_y,K2_y,K3_yを用いて前記式07yの演算を行なうことで、Y軸方向に輪転する仮想車輪62_yに係わる仮想車輪回転角加速度指令ωwdot_y_cmdを算出する。
この場合には、姿勢制御演算部80は、基体傾斜角度偏差計測値θbe_y_sに第1ゲイン係数K1_yを乗じてなる操作量成分u1_yと、基体傾斜角速度計測値θbdot_y_sに第2ゲイン係数K2_yを乗じてなる操作量成分u2_yとをそれぞれ、処理部80a,80bで算出する。さらに、姿勢制御演算部80は、重心速度推定値Vb_y_sと制御用目標重心速度Vb_y_mdfdとの偏差(=Vb_y_s−Vb_y_mdfd)を演算部80dで算出し、この偏差に第3ゲイン係数K3_yを乗じてなる操作量成u3_yを処理部80cで算出する。そして、姿勢制御演算部80は、これらの操作量成分u1_y,u2_y,u3_yを演算部80eにて加え合わせることにより、仮想車輪回転角加速度指令ωwdot_x_cmdを算出する。
ここで、式07xの右辺の第1項(=第1操作量成分u1_x)及び第2項(=第2操作量成分u2_x)は、X軸周り方向での基体傾斜角度偏差計測値θbe_x_sを、フィードバック制御則としてのPD則(比例・微分則)により“0”に収束させる(基体傾斜角度計測値θb_x_sを目標値θb_x_objに収束させる)ためのフィードバック操作量成分としての意味を持つ。
また、式07xの右辺の第3項(=第3操作量成分u3_x)は、重心速度推定値Vb_x_sと制御用目標重心速度Vb_x_mdfdとの偏差をフィードバック制御則としての比例則により“0”に収束させる(Vb_x_sをVb_x_mdfdに収束させる)ためのフィードバック操作量成分としての意味を持つ。
これらのことは、式07yの右辺の第1〜第3項(第1〜第3操作量成分u1_y,u2_y,u3_y)についても同様である。
姿勢制御演算部80は、上記の如く、仮想車輪回転角加速度指令ωwdot_x_cmd,ωwdot_y_cmdを算出した後、次に、これらのωwdot_x_cmd,ωwdot_y_cmdをそれぞれ積分器80fにより積分することによって、前記仮想車輪回転速度指令ωw_x_cmd,ωw_y_cmdを決定する。
以上が姿勢制御演算部80の処理の詳細である。
補足すると、式07xの右辺の第3項を、Vb_x_sに応じた操作量成分(=K3_x・Vb_x_s)と、Vb_x_mdfdに応じた操作量成分(=−K3_x・Vb_x_mdfd)とに分離した式によって、仮想車輪回転角加速度指令ωwdot_x_cmdを算出するようにしてもよい。同様に、式07yの右辺の第3項を、Vb_y_sに応じた操作量成分(=K3_y・Vb_y_s)と、Vb_y_mdfdに応じた操作量成分(=−K3_y・Vb_y_mdfd)とに分離した式によって、仮想車輪回転角加速度指令ωwdot_y_cmdを算出するようにしてもよい。
また、本実施形態では、車両系重心点の挙動を制御するための操作量(制御入力)として、仮想車輪62_x,62_yの回転角加速度指令ωw_x_cmd,ωw_y_cmdを用いるようにしたが、例えば、仮想車輪62_x,62_yの駆動トルク、あるいは、この駆動トルクを各仮想車輪62_x,62_yの半径Rw_x,Rw_yで除算してなる並進力(すなわち仮想車輪62_x,62_yと床面との間の摩擦力)を操作量として用いるようにしてもよい。
図9の説明に戻って、制御ユニット50は、次に、姿勢制御演算部80で上記の如く決定した仮想車輪回転速度指令ωw_x_cmd,ωw_y_cmdをモータ指令演算部82に入力し、該モータ指令演算部82の処理を実行することによって、電動モータ31Rの速度指令ω_R_cmdと電動モータ31Lの速度指令ω_L_cmdとを決定する。このモータ指令演算部82の処理は、前記リミット処理部86(図11参照)のXY−RL変換部86bの処理と同じである。
具体的には、モータ指令演算部82は、前記式01a,01bのωw_x,ωw_y,ω_R,ω_Lをそれぞれ、ωw_x_cmd,ωw_y_cmd,ω_R_cmd,ω_L_cmdに置き換えて得られる連立方程式を、ω_R_cmd,ω_L_cmdを未知数として解くことによって、電動モータ31R,31Lのそれぞれの速度指令ω_R_cmd,ω_L_cmdを決定する。
以上により前記STEP9の車両制御演算処理が完了する。
次に、前記した図7のSTEP5で、搭乗モード用の基体傾斜角度目標値θb_xy_objを決定する処理の詳細を説明する。
本実施形態の車両1では、搭乗モードにおける車両1の走行中に乗員がシート3と共に上体をシート3と共に、適宜、該上体の体幹軸周りに適宜捻ることにより、車両1の進行方向を変化させ、ひいては、該車両1の旋回走行を行なうことが可能である。
そして、本実施形態では、このような旋回走行時に、基体傾斜角度目標値θb_xy_objを前記基準目標値θb_xy_obj_baseからずらした角度に決定し、車両・乗員全体重心点の位置を、θb_xy_obj_baseに対応する位置(車輪体5の接地面のほぼ直上の位置)よりも旋回中心に近づけるように基体9を傾けるようにする。
図14は、STEP5において制御ユニット50が、上記の如く基体傾斜角度目標値θb_xy_objを決定する処理を示すブロック図であり、この処理は、次のように実行される。なお、図14において、括弧を付していない参照符号(変数名)は、X軸周りの基体傾斜角度目標値θb_y_objを決定する処理に係わる参照符号であり、括弧付きの参照符合は、Y軸周りの基体傾斜角度目標値θb_x_objを決定する処理に係わる参照符号である。また、以降の説明では、ヨーレートセンサ53の出力に基づき計測されるヨーレートωzの極性に関しては、車両1を上方から見て、反時計周りの向きのヨーレートωzの極性を正極性、時計周りの向きのヨーレートωzの極性を負極性とする。
以下、X軸周りの基体傾斜角度目標値θb_y_objを決定する処理を代表的に説明すると、制御ユニット50は、ヨーレートセンサ53の出力に基づくヨーレート計測値ωz_s(今回値)と、X軸方向の重心速度推定値Vb_x_s(今回値)とをそれぞれ、不感帯処理部110,112に入力する。なお、重心速度推定値Vb_x_sは、前記重心速度算出部72の処理と同じ処理によって算出した値である。
不感帯処理部110は、入力されたωz_sが、“0”近傍の所定の不感帯域(−ωz1≦ωz_s≦ωz1となる範囲。ただし、ωz1は、正の所定値)に存する場合には、ωz_sの値を強制的に“0”と見なす処理を実行する。具体的には、不感帯処理部110は、入力されたωz_sが不感帯域に存する場合には、“0”を出力する。また、入力されたωz_sが不感帯域から逸脱している場合には、不感帯処理部110は、該不感帯域の上限値及び下限値のうちの、ωz_sに近い方の値をωz_sから差し引いた値(ωz_s>0である場合には、ωz_s−ωz1、ωz_s<0である場合には、ωz_s−(−ωz1))を出力する。
同様に、不感帯処理部112は、入力されたVb_x_sが、“0”近傍の所定の不感帯域(−Vb1≦Vb_x_s≦Vb1となる範囲。ただし、Vb1は、正の所定値)に存する場合には、Vb_x_sの値を強制的に“0”と見なす処理を実行する。具体的には、不感帯処理部112は、入力されたVb_x_sが不感帯域に存する場合には、“0”を出力する。また、入力されたVb_x_sが不感帯域から逸脱している場合には、不感帯処理部112は、該不感帯域の上限値及び下限値のうちの、Vb_x_sに近い方の値をVb_x_sから差し引いた値(Vb_x_s>0である場合には、Vb_x_s−Vb1、Vb_x_s<0である場合には、Vb_x_s−(−Vb1))を出力する。
次いで、制御ユニット50は、遠心加速度算出部114の処理を実行する。この遠心加速度算出部114は、不感帯処理部110,112のそれぞれの出力ωz_sa,Vb_x_saを用いて、車両1に作用する遠心力のうちのY軸方向の成分によって、車両・乗員全体重心点に生じる加速度である遠心加速度(Y軸方向の遠心加速度)を算出する処理を実行する。この場合、ωz_saと、Vb_x_saとの積(=ωz_sa・Vb_x_sa)がY軸方向の遠心加速度として算出される。
次いで、制御ユニット50は、遠心加速度算出部114で算出された遠心加速度(=ωz_sa・Vb_x_sa)を、処理部116において、重力加速度定数gにより除算する。これにより、車両・乗員全体重心点に作用する重力によって基体9の傾動支点の周りに発生するモーメントのうちのX軸周り方向の成分と、車両・乗員全体重心点に作用する遠心力によって基体9の傾動支点の周りに発生するモーメントのうちのX軸周り方向の成分とを合成したモーメントの大きさを極力小さくすることができるような、X軸周りの基体傾斜角度θb_yの補正値(基準目標値θb_y_obj_baseからの補正量)が算出される。
そして、制御ユニット50は、処理部116の出力値に、所定値の係数Kthを乗じてなる値を、X軸周りの基体傾斜角度θb_yの基本補正要求値として処理部118により算出する。該基本補正要求値は、決定しようとするX軸周りの基体傾斜角度目標値θb_y_objと基準目標値θb_y_obj_baseとの偏差(=θb_y_obj−θb_y_obj_base)の基本要求値としての意味を持つものである。
次いで、制御ユニット50は、上記の如く求めたX軸周りの基体傾斜角度θb_yの基本補正要求値(処理部118の出力値)を、一次遅れ特性のフィルタ120に通し、さらに、このフィルタ120の出力値をリミッタ122によって、所定の上限値(>0)と下限値(<0)との間の範囲内の値に制限することによって、X軸周りの基体傾斜角度θb_yの補正目標値Δθb_y_leanを決定する。
上記フィルタ120は、基体傾斜角度θb_yの補正目標値Δθb_y_leanが急激に変化するのを防止するためのものであり、本実施形態では、その伝達関数が、(1+T4・S)/(1+T3・S)(ただし、T3,T4は所定値の時定数)により表される、位相補償機能を有する一次遅れ特性のフィルタである。また、リミッタ122は、補正目標値Δθb_y_leanの大きさが過大になるのを防止するためのものであり、フィルタ120の出力値が、上記上限値と下限値との間の範囲内の値である場合には、該フィルタ120の出力値をそのまま、補正目標値Δθb_y_leanとして出力する。そして、リミッタ122は、フィルタ120の出力値が、上記上限値と下限値との間の範囲を逸脱している場合には、該上限値と下限値とのうちの、フィルタ120の出力値に近い方の値を補正目標値Δθb_y_leanとして出力する。
補足すると、フィルタ120の時定数T3,T4は、状況に応じて適宜変化させてもよい。例えば、遠心加速度算出部114の出力が“0”でない値から“0”に変化した場合には、フィルタ120の応答速度をより速めるように時定数を変化させ、補正目標値Δθb_y_leanが素早く“0”に収束するようにしてもよい。
次いで、制御ユニット50は、上記の如く決定した補正目標値Δθb_y_leanを、演算部124で基準目標値θb_y_obj_baseに加算することによって、X軸周りの基体傾斜角度目標値θb_y_objを決定する。
以上が、X軸周りの基体傾斜角度目標値θb_y_objを決定する処理の詳細である。
Y軸周りの基体傾斜角度目標値θb_x_objも上記と同様に決定される。この場合には、不感帯処理部112には、Y軸方向の重心速度推定値Vb_y_sが入力される。そして、遠心加速度算出部114は、ヨーレート計測値ωz_sを入力した不感帯処理部110の出力値ωz_saと、不感帯処理部112の出力値Vb_y_saとの積の符号を反転させた値(=−ωz_sa・Vb_y_sa)を、X軸方向の遠心加速度として算出する。そして、このX軸方向の遠心加速度の値に、前記処理部116,118の処理によって、1/gと係数Kthとを乗じてなる値が、Y軸周りの基体傾斜角度θb_xの基本補正要求値として算出される。
次いで、このY軸周りの基体傾斜角度θb_xの基本補正要求値を、一次遅れ特性のフィルタ120と、リミッタ122とに通すことによって、Y軸周りの基体傾斜角度θb_xの補正目標値Δθb_x_leanが決定される。さらに、この補正目標値Δθb_x_leanを演算部124で基準目標値θb_x_obj_baseに加算することによって、Y軸周りの基体傾斜角度目標値θb_x_objが決定される。
以上説明したSTEP5の処理によって、ヨーレート計測値ωz_sの大きさと、重心速度推定値Vb_xy_sにより表される車両・乗員全体重心点の速度ベクトルの大きさとのうちの少なくともいずれか一方が、“0”もしくは微小なものとなる状況(不感帯処理部110,112の一方又は両方の出力値が“0”となる状況)、換言すれば、車両1が直進しているか、もしくは、該車両1に作用する遠心力の大きさが微小なものとなる走行状況では、X軸周り及びY軸周りの基体傾斜角度θb_xyの基本補正要求値がいずれも“0”に決定される。この結果、この状況では、基体傾斜角度目標値θb_x_obj,θb_y_obj(搭乗モード用の目標値)は基準目標値θb_xy_obj_baseに決定される。
一方、車両1の旋回走行によって、該車両1にある程度の大きさの遠心力が作用する状況(不感帯処理部110,112の両方の出力値が“0”でない値となる状況)では、基体傾斜角度目標値θb_xy_objは、基体傾斜角度θbを、基準目標値θb_xy_obj_baseから、重心速度推定値Vb_xy_sにより表される速度ベクトルの方向の軸周りに傾動させた角度に決定される。換言すれば、この状況では、車両・乗員全体重心点を、基体9及びシート3の傾動支点の直上の位置から、該車両・乗員全体重心点に作用する遠心力の向き(この向きは、ヨーレートωzの向きと車両・乗員全体重心点の速度ベクトルの向きとに依存し、該速度ベクトルに直交する)と逆向きに変位させるように基体傾斜角度目標値θb_xy_objが決定される。
さらに、この状況では、車両・乗員全体重心点に作用する重力によって基体9及びシート3の傾動支点の周りに発生するモーメントと、車両・乗員全体重心点に作用する遠心力によって基体9及びシート3の傾動支点の周りに発生するモーメントとが相殺し合うように(それらのモーメントの合成モーメントの大きさが小さくなるように)基体傾斜角度目標値θb_xy_objが決定される。
この場合、基体傾斜角度目標値θb_xy_objと、基準目標値θb_xy_obj_baseとの偏差を、車両・乗員全体重心点の速度ベクトルと同方向の軸周りの角度偏差(これは本発明における特定方向軸周り偏差成分に相当する)変換して表現した場合を想定すると、該角度偏差の大きさは、実際のヨーレートωzの大きさが増加するに伴い、増加すると共に、車両・乗員全体重心点の実際の速度ベクトルの大きさが増加するに伴い、増加することとなる。また、該角度偏差の極性、すなわち、基体傾斜角度目標値θb_xy_objの基準目標値θb_xy_obj_baseからの傾動の向き(車両・乗員全体重心点の速度ベクトルと同方向の軸周りでの向き)は、ヨーレート計測値ωz_sにより示される実際の大きさがヨーレートωzの向きと、重心速度推定値Vb_xy_sにより表される車両・乗員全体重心点の速度ベクトルの向きとにより規定されることとなる。
以上説明した如く制御ユニット50が制御演算処理を実行することによって、前記搭乗モード及び自立モードのいずれの動作モードにおいても、基本的には、基体9の姿勢が、前記基体傾斜角度偏差計測値θbe_x_s,θbe_y_sの両方が“0”となる姿勢(以下、この姿勢を基本姿勢という)に保たれるように、操作量(制御入力)としての仮想車輪回転角加速度指令ωwdot_xy_cmdが決定される。より詳しく言えば、基体9の姿勢を前記基本姿勢に保ちつつ、車両系重心点の移動速度の推定値としての重心速度推定値Vb_xy_sを制御用目標重心速度Vb_xy_mdfdに収束させるように、仮想車輪回転角加速度指令ωwdot_xy_cmdが決定される。
なお、前記基本姿勢は、搭乗モードでの車両1の旋回走行時以外の状況(詳しくは、前記不感帯処理部110,112の一方又は両方の出力値が“0”となる状況)、あるいは、自立モードでは、車両系重心点(車両・乗員全体重心点又は車両単体重心点)の位置が、車輪体5の接地面(基体9及びシート3の傾動支点)のほぼ真上に位置するような基体9の姿勢である。また、搭乗モードでの車両1の旋回走行時には(詳しくは、前記不感帯処理部110,112の両方の出力値が“0”でない値となる状況では)、前記基本姿勢は、車両・乗員全体重心点を、基体9及びシート3の傾動支点のほぼ真上の位置から、旋回中心寄りにずらした位置になるような基体9の姿勢である。
また、制御用目標重心速度Vb_xy_mdfdは、通常は(詳しくは搭乗モードで乗員等が車両1の付加的な推進力を付与しない限り)、“0”である。この場合には、基体9の姿勢を前記基本姿勢に保ちつつ、車両系重心点がほぼ静止するように、仮想車輪回転角加速度指令ωwdot_xy_cmdが決定されることとなる。
そして、ωwdot_xy_cmdの各成分を積分してなる仮想車輪回転角速度指令ωw_xy_cmdを変換してなる電動モータ31R,31Lのそれぞれの回転角速度が、電動モータ31R,31Lの速度指令ω_R_cmd,ω_L_cmdとして決定される。さらに、その速度指令ω_R_cmd,ω_L_cmdに従って、各電動モータ31R,31Lの回転速度が制御される。ひいては車輪体5のX軸方向及びY軸方向のそれぞれの移動速度が、ωw_x_cmdに対応する仮想車輪62_xの移動速度と、ωw_y_cmdに対応する仮想車輪62_yの移動速度とに各々一致するように制御される。
このため、例えば、Y軸周り方向で、実際の基体傾斜角度θb_xが目標値θb_x_objから前傾側にずれると、そのずれを解消すべく(θbe_x_sを“0”に収束させるべく)、車輪体5が前方に向かって移動する。同様に、実際のθb_xが目標値θb_x_objから後傾側にずれると、そのずれを解消すべく(θbe_x_sを“0”に収束させるべく)、車輪体5が後方に向かって移動する。
また、例えば、X軸周り方向で、実際の基体傾斜角度θb_yが目標値θb_y_objから右傾側にずれると、そのずれを解消すべく(θbe_y_sを“0”に収束させるべく)、車輪体5が右向きに移動する。同様に、実際のθb_yが目標値θb_y_objから左傾側にずれると、そのずれを解消すべく(θbe_y_sを“0”に収束させるべく)、車輪体5が左向きに移動する。
さらに、実際の基体傾斜角度θb_x,θb_yの両方が、それぞれ目標値θb_x_obj,θb_y_objからずれると、θb_xのずれを解消するための車輪体5の前後方向の移動動作と、θb_yのずれを解消するための車輪体5の左右方向の移動動作とが合成され、車輪体5がX軸方向及びY軸方向の合成方向(X軸方向及びY軸方向の両方向に対して傾斜した方向)に移動することとなる。
このようにして、基体9が前記基本姿勢から傾くと、その傾いた側に向かって、車輪体5が移動することとなる。従って、例えば前記搭乗モードにおいて、乗員が意図的にその上体を傾けると、その傾けた側に、車輪体5が移動することとなる。
なお、制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdが“0”である場合には、基体9の姿勢が基本姿勢に収束すると、車輪体5の移動もほぼ停止する。また、例えば、基体9のY軸周り方向の傾斜角度θb_xを基本姿勢から傾いた一定の角度に維持すると、車輪体5のX軸方向の移動速度は、その角度に対応する一定の移動速度(制御用目標重心速度Vb_x_mdfdと一定の定常偏差を有する移動速度)に収束する。このことは、基体9のX軸周り方向の傾斜角度θb_yを基本姿勢から傾いた一定の角度に維持した場合も同様である。
また、例えば、前記要求重心速度生成部74で生成される要求重心速度Vb_x_aim,Vb_y_aimの両方が“0”となっている状況において、基体9の前記基本姿勢からの傾き量(基体傾斜角度偏差計測値θbe_x_s,θbe_y_s)が比較的大きくなり、それを解消し、もしくはその傾き量を維持するために必要な車輪体5のX軸方向及びY軸方向の一方又は両方の移動速度(これらの移動速度は、それぞれ、図12に示した前記重心速度定常偏差予測値Vb_x_prd、Vb_y_prdに相当する)が、電動モータ31R,31Lの一方又は両方の回転角速度を許容範囲から逸脱させてしまうような、過大な移動速度になるような状況では、該車輪体5の移動速度に対して逆向きとなる速度(詳しくは、Vw_x_lim2−Vb_x_prd及びVw_y_lim2−Vb_y_prd)が制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdとして決定される。そして、制御入力を構成する操作量成分のうちの操作量成分u3_x,u3_yが、この制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdに重心速度推定値Vb_x_s,Vb_y_sをそれぞれ収束させるように決定される。このため、基体9の前記基本姿勢からの傾き量が過大になるのを予防し、ひいては、電動モータ31R,31Lの一方又は両方の回転角速度が高速になり過ぎるのが防止される。
さらに、前記ゲイン調整部78では、重心速度推定値Vb_x_s,Vb_y_sの一方又は両方が大きくなり、ひいては、基体9の前記基本姿勢からの傾きを解消し、もしくはその傾き量を維持するために必要な車輪体5のX軸方向及びY軸方向の一方又は両方の移動速度が、電動モータ31R,31Lの一方又は両方の回転角速度を許容範囲から逸脱させてしまうような、過大な移動速度になる恐れがある状況では、その逸脱が顕著になるほど(詳しくは、図10に示すVover_x,Vover_yの絶対値が大きくなるほど)、前記ゲイン調整パラメータKr_x,Kr_yの一方又は両方が“0”から“1”に近づけられる。
この場合、前記式09xにより算出される各第iゲイン係数Ki_x(i=1,2,3)は、Kr_xが“1”に近づくほど、最小側の定数値Ki_a_xから最大側の定数値Ki_b_xに近づく。このことは、前記式09yにより算出される各第iゲイン係数Ki_y(i=1,2,3)についても同様である。
そして、上記ゲイン係数の絶対値が大きくなることによって、基体9の傾きの変化に対する操作量(仮想車輪回転角加速度指令ωwdot_x_cmd,ωwdot_y_cmd)の感度が高まる。従って、基体9の基本姿勢からの傾き量が大きくなろうとすると、それを素早く解消するように、車輪体5の移動速度が制御されることとなる。従って、基体9が基本姿勢から大きく傾くことが強めに抑制され、ひいては、車輪体5のX軸方向及びY軸方向の一方又は両方の移動速度が、電動モータ31R,31Lの一方又は両方の回転角速度を許容範囲から逸脱させてしまうような、過大な移動速度になるのを防止することができる。
また、搭乗モードにおいて、要求重心速度生成部74が、乗員等の操縦操作による要求に応じて要求重心速度Vb_x_aim,Vb_y_aim(Vb_x_aim,Vb_y_aimの一方又は両方が“0”でない要求重心速度)を生成した場合には、電動モータ31R,31Lの一方又は両方の回転角速度が許容範囲を逸脱するような高速の回転角速度にならない限り(詳しくは図12に示すVw_x_lim2,Vw_y_lim2がVb_x_t,Vb_y_tにそれぞれ一致する限り)、要求重心速度Vb_x_aim,Vb_y_aimがそれぞれ前記制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdとして決定される。このため、要求重心速度Vb_x_aim,Vb_y_aimを実現するように(実際の重心速度が要求重心速度Vb_x_aim,Vb_y_aimに近づくように)、車輪体5の移動速度が制御される。
次に、説明を後回しにした、前記要求重心速度生成部74の処理の詳細を説明する。
要求重心速度生成部74は、本実施形態では、車両1の動作モードが自立モードである場合には、前記したように、要求重心速度Vb_x_aim,Vb_y_aimを“0”とする。
一方、要求重心速度生成部74は、車両1の動作モードが搭乗モードである場合には、本実施形態では、Y軸方向の要求重心速度Vb_y_aimを“0”に保ちつつ、X軸方向の要求重心速度Vb_x_aimを乗員等による車両1の操縦操作(車両1に推進力を付加する操作)に応じて可変的に決定する。
ここで、例えば、車両1の乗員が、車両1の発進時等において、車両1の移動速度(車両系重心点の移動速度)を積極的に増速させようとする場合には、自身の足により床を蹴り、それにより車両1に移動速度を増速させる推進力(乗員の足平と床との摩擦力による推進力)を車両1に付加する。あるいは、例えば、車両1の乗員の要求に応じて、外部の補助者等が、車両1にその移動速度を増速させる推進力を付加する場合もある。なお、この場合、乗員等が増速させようとする車両1の移動速度は、通常、乗員の前後方向の移動速度であるので、その増速のために車両1に付加される推進力は、通常、X軸方向又はこれに近い方向の推進力である。
そこで、本実施形態では、要求重心速度生成部74は、前記重心速度算出部72で算出されるX軸方向の重心速度推定値Vb_x_sの大きさ(絶対値)の時間的変化率に基づいて、車両1の移動速度(詳しくは、車両系重心点の移動速度)をX軸方向で増速させる要求としての加速要求の発生の有無を判断しつつ、それに応じて、X軸方向の要求重心速度Vb_x_aimを逐次決定する。そして、X軸方向の加速要求が解消すると、要求重心速度Vb_x_aimが、ある時間だけ一定に保たれた後、減衰していくように決定される。なお、Y軸方向の要求重心速度Vb_y_aimについては、要求重心速度生成部74は、本実施形態では、加速要求の発生の有無によらずに、定常的に“0”に保持する。
具体的には、要求重心速度生成部74は、図15のフローチャートに示す処理を所定の制御処理周期で逐次実行することによって、X軸方向の要求重心速度Vb_x_aimを決定する。
以下説明すると、要求重心速度生成部74は、まず、STEP21の処理を実行する。この処理では、要求重心速度生成部74は、入力される重心速度推定値Vb_x_sの絶対値|Vb_x_s|の時間的変化率(微分値)DVb_x_sを算出する。以降、DVb_x_sを重心速度絶対値変化率DVb_x_sという。
次いで、STEP22に進んで、要求重心速度Vb_x_aimを算出するための現在の演算処理モードが、どのモードであるかを判断する。
ここで、本実施形態では、要求重心速度生成部74は、要求重心速度Vb_x_aimの基本値(以下、要求重心速度基本値Vb_x_aim1)を決定した上で、この要求重心速度基本値Vb_x_aim1に一次遅れの応答時定数で追従させる(定常的には一致させる)ように要求重心速度Vb_x_aimを決定する。この場合、この要求重心速度基本値Vb_x_aim1の決定の仕方が、上記演算処理モードによって規定されるようになっている。
そして、本実施形態では、該演算処理モードとしては、制動モード、速度追従モード、速度ホールドモードの3種類のモードがある。
制動モードは、車両1の移動速度を減衰させていくか、又は“0”に保持するために、要求重心速度基本値Vb_x_aim1を“0”とするモードである。また、速度追従モードは、要求重心速度基本値Vb_x_aim1を、車両系重心点の実際のX軸方向の移動速度としての重心速度推定値Vb_x_sに追従させるように(ほぼ一致させるように)決定するモードである。また、速度ホールドモードは、要求重心速度基本値Vb_y_aim1を一定に保つように決定するモードである。
なお、各演算処理モードの処理では、要求重心速度基本値Vb_x_aim1を決定することに加えて、該要求重心速度基本値Vb_x_aim1に対する要求重心速度Vb_x_aimの追従の応答速度を規定するフィルタ時定数Ta_xを決定する処理も実行される。また、制御ユニット50の起動時等に該制御ユニット50が初期化された状態での演算処理モード(初期演算処理モード)は、制動モードである。
要求重心速度生成部74は、上記STEP22において、現在の演算処理モードが制動モードである場合と、速度追従モードである場合と、速度ホールドモードである場合とで、それぞれ、次に、STEP23の演算処理、STEP24の演算処理、STEP25の演算処理を実行し、要求重心速度基本値Vb_y_aim1とフィルタ時定数Ta_xとを決定する。
これらの各モードに対応する演算処理は、次のように実行される。
STEP23における制動モードの演算処理は、図16のフローチャートに示す如く実行される。具体的には、要求重心速度生成部74は、まず、前記STEP21で算出した重心速度絶対値変化率DVb_x_sが、あらかじめ設定された正の値の第1閾値DV1_x(>0)よりも大きいか否かをSTEP23−1で判断する。この判断処理は、車両1の移動速度を車両1の前後方向で増速させようとする加速要求が有るか否かを判断する処理である。
この場合、DVb_x_s>DV1_xであるということは、X軸方向での実際の重心速度Vb_xの絶対値|Vb_x|が第1閾値DV1_xよりも大きな時間的変化率で増加している状況を意味する。従って、STEP23−1の判断結果が肯定的になる状況は、乗員あるいは外部の補助者等により前後方向での重心速度Vb_xの大きさを増加させようとする操縦操作(車両1に概略前後方向の推進力を付加する操縦操作)が行なわれている状況である。
STEP23−1の判断結果が否定的となる場合、すなわち、車両1の加速要求(前後方向での車両1の加速要求)が無い場合には、要求重心速度生成部74は、次に、重心速度絶対値変化率DVb_x_sが、あらかじめ設定された負の値の第3閾値DV3_x(<0)よりも小さいか否かをSTEP23−4で判断する。この判断処理は、車両1の乗員が重心速度Vb_xの大きさを積極的に減少させようとする減速要求が発生したか否かを判断するものである。この場合、車両1の乗員が意図的に自身の足を接地させ、自身の足と床との間に車両1の制動方向の摩擦力を発生させたような場合にSTEP23−4の判断結果が肯定的になる。
そして、STEP23−4の判断結果が否定的である場合(減速要求が発生していない場合)には、要求重心速度生成部74は、STEP23−5において、要求重心速度基本値Vb_x_aim1と、フィルタ時定数Ta_xとを決定し、図16の処理を終了する。
上記STEP23−5では、要求重心速度基本値Vb_x_aimとして、“0”が設定される。また、フィルタ時定数Ta_xとして、あらかじめ設定された所定値の第2応答時定数τ2_xが設定される。
また、STEP23−4の判断結果が肯定的である場合(減速要求が発生した場合)には、要求重心速度生成部74は、STEP23−6において、要求重心速度基本値Vb_x_aim1と、フィルタ時定数Ta_xとを決定し、図16の処理を終了する。
上記STEP23−6では、STEP23−5と同様に、要求重心速度基本値Vb_x_aimとして、“0”が設定される。一方、フィルタ時定数Ta_xとして、あらかじめ設定された所定値の第3応答時定数τ3_xが設定される。この第3応答時定数τ3_xは、第2応答時定数τ2_xよりも短い時間の時定数である。
前記STEP23−1の判断結果が肯定的である場合には、要求重心速度生成部74は、STEP23−2において、要求重心速度基本値Vb_x_aim1と、フィルタ時定数Ta_xとを決定する。さらに、要求重心速度生成部74は、STEP23−3において、演算処理モード(次回の制御処理周期での演算処理モード)を制動モードから速度追従モードに変更し、図16の処理を終了する。
上記STEP23−2では、重心速度算出部72から入力されたX軸方向の重心速度推定値Vb_x_sに、あらかじめ設定された所定値の比率γ_xを乗じてなる値が、要求重心速度基本値Vb_x_aim1として決定される。上記比率γ_xは、本実施形態では、“1”よりも若干小さい正の値(例えば0.8)に設定されている。このようなSTEP23−2の処理は、Vb_x_aim1と、Ta_xとの決定の仕方を、次回の制御処理サイクルから開始する速度追従モードに合わせるものである。
なお、上記比率γ_xの値が“1”よりも若干小さいことは必須ではなく、例えば、該比率γ_xの値を“1”あるいはそれよりも若干大きい値に設定してもよい。本実施形態では、乗員が体感的(感覚的)に認識する車両1の移動速度が、実際の移動速度に比べて高速であるかのように認識されるのを防止するために、比率γ_xの値を“1”よりも若干小さい値に設定している。
また、フィルタ時定数Ta_xとして、あらかじめ設定された所定値の第1応答時定数τ1_xが設定される。この第1応答時定数τ1_xは、前記第2応答時定数τ2_xよりも相対的に短い時間の値に設定されている。該第1応答時定数τ1_xは、前記第3応答時定数τ3_xと同じ値であってもよい。
なお、STEP21−1の判断結果が否定的となる場合には、演算処理モードは変更されないので、次回の制御処理周期においても、演算処理モードは、制動モードに維持されることとなる。
以上が、STEP23における制動モードの演算処理である。
次に、STEP24における速度追従モードの演算処理は、図17のフローチャートに示す如く実行される。具体的には、要求重心速度生成部74は、まず、前記STEP23−4と同じ判断処理、すなわち、車両1の減速要求が発生したか否かの判断処理をSTEP24−1で実行する。
この判断結果が肯定的である場合には、要求重心速度生成部74は、次に、STEP24−6において、前記STEP23−6と同じ処理を実行することによって、要求重心速度基本値Vb_x_aim1として“0”を設定すると共に、フィルタ時定数Ta_xとして第3応答時定数τ3_xを設定する。さらに、要求重心速度生成部74は、STEP24−7において、次回の制御処理周期における演算処理モードを制動モードに変更し、図17の処理を終了する。
一方、前記STEP24−1の判断結果が否定的である場合、すなわち、車両1の減速要求が発生していない場合には、要求重心速度生成部74は、次にSTEP24−2において、前記STEP23−2と同じ処理により、要求重心速度基本値Vb_x_aim1とフィルタ時定数Ta_xとを決定する。すなわち、要求重心速度生成部74は、入力された重心速度推定値Vb_x_sに前記比率γ_xを乗じてなる値を要求重心速度基本値Vb_x_aim1として決定する。また、要求重心速度生成部74は、フィルタ時定数Ta_xとして前記第1応答時定数τ1_xを設定する。
次いで、要求重心速度生成部74は、STEP24−3において、前記推定重心速度絶対値変化率DVb_x_s(STEP21で算出した値)が、あらかじめ設定された第2閾値DV2_xよりも小さいか否かを判断する。この第2閾値DV2_xは、本実施形態では、前記第3閾値DV3_xよりも大きい(DV3_xよりも“0”に近い)負の所定値に設定されている。なお、第2閾値DV2_xは、“0”もしくは“0”よりも若干大きい正の値(但し、前記第1閾値DV1_xよりも小さい値)に設定されていてもよい。
このSTEP24−3の判断処理は、速度追従モードから、前記速度ホールドモードへの移行タイミングを判断するものである。そして、要求重心速度生成部74は、STEP24−3の判断結果が否定的である場合には、そのまま図17の処理を終了する。この場合には、演算処理モードは変更されないので、次回の制御処理周期においても、演算処理モードは、速度追従モードに維持されることとなる。
また、STEP24−3の判断結果が肯定的である場合には、要求重心速度生成部74は、車両1の加速要求(前後方向の加速要求)が完了したものとみなして、STEP24−4において、カウントダウンタイマを初期化する。そして、要求重心速度生成部74は、STEP24−5にて演算処理モードを速度追従モードから速度ホールドモードに変更し、図17の処理を終了する。
上記カウントダウンタイマは、次回の制御処理周期から開始する速度ホールドモードの開始後の経過時間を計時するタイマである。そして、STEP24−4では、該タイマの計時値CNT_xに、あらかじめ設定された初期値Tm_xがセットされる。初期値Tm_xは、速度ホールドモードを継続させようとする時間の設定値を意味する。
以上が、STEP24における速度追従モードの演算処理である。
次に、STEP25における速度ホールドモードの演算処理は、図18のフローチャートに示す如く実行される。具体的には、要求重心速度生成部74は、まず、前記STEP23−4と同じ判断処理、すなわち、車両1の減速要求が発生したか否かの判断処理をSTEP25−1で実行する。
この判断結果が肯定的である場合には、要求重心速度生成部74は、次に、STEP25−2において、前記STEP23−6と同じ処理を実行することによって、要求重心速度基本値Vb_x_aim1として“0”を設定すると共に、フィルタ時定数Ta_xとして第3応答時定数τ3_xを設定する。さらに、要求重心速度生成部74は、STEP25−3において、次回の制御処理周期における演算処理モードを速度ホールドモードから制動モードに変更し、図18の処理を終了する。
一方、前記STEP25−1の判断結果が否定的である場合(車両1の減速要求が発生していない場合)には、要求重心速度生成部74は、前記STEP23−1と同じ判断処理、すなわち概略前後方向での車両1の加速要求が有るか否かの判断処理をSTEP25−4で実行する。
そして、STEP25−4の判断結果が肯定的である場合(概略前後方向での車両1の加速要求が再び発生した場合)には、要求重心速度生成部74は、STEP25−5において、前記STEP23−2と同じ処理により、要求重心速度基本値Vb_x_aim1とフィルタ時定数Ta_xとを決定する。すなわち、要求重心速度生成部74は、入力された重心速度推定値Vb_x_sに前記比率γ_xを乗じてなる値を要求重心速度基本値Vb_x_aim1として決定する。また、要求重心速度生成部74は、フィルタ時定数Ta_xとして前記第1応答時定数τ1_xを設定する。
さらに、要求重心速度生成部74は、STEP25−6にて、次回の制御処理周期における演算処理モードを速度ホールドモードから速度追従モードに変更し、図18の処理を終了する。
前記STEP25−4の判断結果が否定的である場合(概略前後方向での加速要求が無い状態が継続している場合)には、要求重心速度生成部74は、STEP25−7において、前記カウントダウンタイマの計時値CNT_xをデクリメントする。すなわち、計時値CNT_xの現在値から所定値ΔT(制御処理周期の時間)を差し引くことによって、計時値CNT_xを更新する。
次いで、要求重心速度生成部74は、カウントダウンタイマの計時値CNT_xが“0”よりも大きいか否か、すなわち、カウントダウンタイマの計時が終了したか否かをSTEP25−8にて判断する。
このSTEP25−8の判断結果が肯定的である場合は、速度ホールドモードが開始してから、カウントダウンタイマの前記初期値Tm_xにより表される時間が未だ経過していない場合である。この場合には、要求重心速度生成部74は、演算処理モードを速度ホールドモードに維持するものとして、要求重心速度基本値Vb_x_aim1とフィルタ時定数Ta_xとをSTEP25−9にて決定し、図18の処理を終了する。
この場合、STEP25−9では、Vb_x_aim1の今回値は、前回値と同じ値に決定される。また、Ta_xとして、第2応答時定数τ2_xよりも短い時間の所定値、例えば前記第1応答時定数τ1_xが設定される。
なお、STEP25−8の判断結果が肯定的である場合には、演算処理モードは変更されないので、次回の制御処理周期においても、演算処理モードは、速度ホールドモードに維持されることとなる。
前記STEP25−8の判断結果が否定的となった場合、すなわち、速度ホールドモードが開始してから、カウントダウンタイマの前記初期値Tm_xにより表される所定時間が経過した場合には、要求重心速度生成部74は、STEP25−10において、前記STEP23−5と同じ処理を実行することによって、要求重心速度基本値Vb_x_aim1として“0”を設定すると共に、フィルタ時定数Ta_xとして第2応答時定数τ2_xを設定する。さらに、要求重心速度生成部74は、STEP25−11において、次回の制御処理周期における演算処理モードを速度ホールドモードから制動モードに変更し、図18の処理を終了する。
以上が、STEP25における速度ホールドモードの演算処理である。
図15の説明に戻って、要求重心速度生成部74は、以上の如くSTEP23〜25のいずれかの演算処理を実行した後、次に、その演算処理により決定した要求重心速度基本値Vb_x_aim1をフィルタに通す処理(フィルタリング処理)をSTEP26にて実行する。
該フィルタは、STEP23〜25のいずれかの演算処理で決定されたフィルタ時定数Ta_xを応答時定数とする一次遅れのフィルタ(ローパスフィルタ)であり、例えば、その伝達関数が1/(1+Ta_x・S)により表されるフィルタである。従って、STEP26で得られるフィルタの出力値は、Ta_xの時定数で要求重心速度基本値Vb_x_aim1に追従していくものとなる。この場合、その追従の応答速度はSTEP23〜25で可変的に決定されるフィルタ時定数Ta_xの値に応じて変化することとなる。より詳しくは、フィルタ時定数Ta_xとして前記第1応答時定数τ1_x又は第3応答時定数τ3_xが設定された場合には、上記追従の応答速度は、速めの速度となる。また、フィルタ時定数Ta_xとして前記第2応答時定数τ2_xが設定された場合には、上記追従の応答速度は、遅めの速度となる。
次いで、STEP27に進んで、要求重心速度生成部74は、上記フィルタの出力値をリミッタに通すことによって、最終的にX軸方向の要求重心速度Vb_x_aimを決定する。この場合、該リミッタは、要求重心速度Vb_x_aimの絶対値が過大になるのを防止するためのものであり、フィルタの出力値があらかじめ設定された所定の上限値(>0)と下限値(<0)との間の範囲に収まる場合には、フィルタの出力値をそのまま要求重心速度Vb_x_aimとして出力する。また、該リミッタは、フィルタの出力値の絶対値が上記上限値と下限値との間の範囲から逸脱している場合には、該上限値と下限値とのうちのフィルタの出力値に近い方の限界値を要求重心速度Vb_x_aimとして出力する。
なお、上記上限値と下限値とは、それらの絶対値が同一でなくてもよく、それらの絶対値が互いに異なっていてもよい。
以上がX軸方向の要求重心速度Vb_x_aimの生成処理の詳細である。
補足すると、例えば、第2応答時定数τ2_xを第1応答時定数τ1_x又は第3応答時定数τ3_xと同じ値もしくはそれと同程度の比較的短い時間の値に設定しておくと共に、演算処理モードが速度ホールドモードから制動モードに切替わった直後において、要求重心速度基本値Vb_x_aim1自体を、所定の変化速度(所定の時間的変化率)で“0”まで徐々に変化させていくようにしてもよい。
以上説明した要求重心速度生成部74の処理によって、X軸方向の要求重心速度Vb_x_aimは、以下のような態様で決定されることとなる。
例えば、車両1の移動速度を乗員の前後方向(X軸方向)で増速するために、乗員が自身の足平で床を蹴ることによって、あるいは、補助者等が車両1を押すことによって、車両1に対して、概略前後方向の推進力(詳しくは、前記STEP23−1の判断結果が肯定的となるような推進力)を付加した場合を想定する。
なお、推進力を付加する前の演算処理モードは、前記制動モードであるとする。また、ここでは、理解の便宜上、図15のSTEP26で得られるフィルタの出力値は、STEP27でのリミッタによる強制的な制限がかからない程度の範囲内に収まるものとする。すなわち、STEP27で逐次決定される要求重心速度Vb_x_aimは、要求重心速度基本値Vb_x_aim1をフィルタに通した値に一致するものとする。同様に、実際の重心速度Vb_x,Vb_yが、前記リミット処理部104での出力値V_x_lim2,V_y_lim2の強制的な制限が行なわれない程度の範囲内に収まるものとする。すなわち、制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdは、それぞれ要求重心速度Vb_x_aim,Vb_y_aimに一致するものとする。このような状況は、車両1の標準的(通常的)な動作状況である。なお、本実施形態では、Vb_y_aim=0であるので、この通常的な状況では、Vb_y_mdfd=0となる。
この場合、車両1に推進力を付加することによって、前記STEP23−1の判断結果が肯定的となると、図16のSTEP23−3の処理によって、演算処理モードが制動モードから速度追従モードに変更されることとなる。
この速度追従モードでは、減速要求が発生しない状況(STEP24−1の判断結果が否定的となる状況)で、加速要求が解消するまでの期間(STEP24−3の判断結果が肯定的になるまでの期間)において、X軸方向の重心速度推定値Vb_x_sの今回値(現在値)に、所定値の比率γ_xを乗じてなる値、すなわち、Vb_x_sよりも若干小さい大きさの速度値が、要求重心速度基本値Vb_x_aim1として逐次決定される。
このため、要求重心速度生成部74が逐次決定する要求重心速度Vb_x_aimは、車両1に付加された推進力によって増速する実際の重心速度Vb_xにほぼ一致する速度値(=γ_x・Vb_x_s)に追従するように、決定されることとなる。
また、この場合、前記フィルタ時定数Ta_xとして、相対的に短い時間の第1応答時定数τ1_xが設定される。このため、Vb_x_aim1に対する要求重心速度Vb_x_aimの追従は、素早い応答性で行なわれる。
そして、このように決定される要求重心速度Vb_x_aimがX軸方向の前記制御用目標重心速度Vb_x_mdfdとして決定される。従って、Vb_x_mdfdは、γ_x・Vb_x_sに一致又はほぼ一致する値となる。また、Y軸方向の要求重心速度Vb_y_aimは“0”に保持されるので、Y軸方向の制御用目標重心速度Vb_y_mdfdは“0”となる。さらに、各仮想車輪回転角加速度指令ωwdot_x_cmd,ωwdot_y_cmdにそれぞれ含まれる第3操作量成分u3_x,u3_yは、制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdに重心速度推定値Vb_x_s,Vb_y_sを各々収束させるように決定される。
この結果、乗員が車両1に付加した推進力による車両系重心点の実際の移動速度の増速(概略前後方向での増速)が該推進力による要求に即して速やかに行なわれるように、車輪体5の移動速度が制御されることとなる。従って、車両1が付加された推進力によって乗員の前後方向で円滑に加速することとなる。
なお、Y軸方向の制御用目標重心速度Vb_y_mdfdは“0”となるので、車両1に付加される推進力がY軸方向の成分を有していても、Y軸方向の車両系重心点の実際の移動速度は、その増速が抑制されることとなる。従って、車両1に付与する推進力の向きがX軸方向に対して多少のずれを生じていても、車両系重心点の移動速度を、乗員の前後方向で適切に加速度することができることとなる。
なお、速度追従モードにおいて、車両1に制動力を付加することによって、図17のSTEP24−1の判断結果が肯定的になると(減速要求が発生すると)、演算処理モードが前記制動モードに変化する。このため、車両1の移動速度が減衰していくこととなる。この場合、減速要求の発生中は、前記フィルタ時定数Ta_xとして、比較的短い時間の第3応答時定数τ3_xが設定されるので、X軸方向の要求重心速度Vb_x_aimが素早く“0”に減衰する。従って、車両1の移動速度も比較的素早く減衰していくこととなる。
次に、速度追従モードにおいて、車両1への推進力の付加が終了し、加速要求が解消すると(図17のSTEP24−3の判断結果が肯定的になると)、図17のSTEP24−5の処理によって、演算処理モードが速度追従モードから速度ホールドモードに変更されることとなる。
この速度ホールドモードでは、加速要求及び減速要求が発生しない状況(図18のSTEP25−1、25−4の判断結果がいずれも否定的となる状況)で、カウントダウンタイマの計時が終了するまで、要求重心速度基本値Vb_x_aim1は、前回値と同じ値に設定される。
従って、速度ホールドモードの開始後、カウントダウンタイマの計時が終了するまでの所定時間(カウントダウンタイマの初期値Tm_xの時間)の期間において、要求重心速度基本値Vb_x_aim1は、速度ホールドモードが開始する直前に決定された値と同じ値で一定に保持されることとなる。
このため、要求重心速度生成部74が逐次決定する要求重心速度Vb_x_aimも、一定値に保たれるように(より正確には、一定値のVb_x_aim1に追従するように)決定されることとなる。
なお、この場合、前記フィルタ時定数Ta_xとして、相対的に短い時間の第1応答時定数τ1_xが設定される。このため、Vb_x_aim1に対する要求重心速度Vb_x_aimの追従は、素早い応答性で行なわれる。従って、基本的には、速度ホールドモードでのVb_x_aimは、Vb_x_aim1に一致するものとなる。
そして、上記の如く決定される要求重心速度Vb_x_aimがX軸方向の前記制御用目標重心速度Vb_x_mdfdとして決定される。また、Y軸方向の要求重心速度Vb_y_aimは“0”に保持されるので、Y軸方向の制御用目標重心速度Vb_y_mdfdは“0”となる。さらに、各仮想車輪回転角加速度指令ωwdot_x_cmd,ωwdot_y_cmdにそれぞれ含まれる第3操作量成分u3_x,u3_yは、制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdに重心速度推定値Vb_x_s,Vb_y_sを各々収束させるように決定される。
この結果、車両1の増速後に、カウントダウンタイマの計時が終了するまでの期間(前記初期値Tm_xにより表される時間の期間)において、乗員の上体の姿勢の頻繁な調整を必要とすることなく、X軸方向での車両系重心点の実際の移動速度Vb_xが加速後の速度で一定に保たれるように該車輪体5の移動速度が制御されることとなる。従って、この状況での車両1の実際の走行状態は、乗員がその上体を積極的に動かすような操縦操作をせずとも、ほぼ一定の速度でX軸方向(乗員の前後方向)に滑走するような状態となる。
なお、速度ホールドモードにおいて、再び車両1に概略前後方向の推進力を付加することによって、図18のSTEP25−4の判断結果が肯定的になると(加速要求が発生すると)、演算処理モードが前記速度追従モードに戻る。このため、車両1が再び概略前後方向で加速することとなる。
また、速度ホールドモードにおいて、車両1に制動力を付加することによって、図18のSTEP25−1の判断結果が肯定的になると(減速要求が発生すると)、演算処理モードが前記制動モードに変化する。このため、車両1の移動速度が減衰していくこととなる。この場合、速度追従モードで減速要求が発生した場合と同様に、減速要求の発生中は、X軸方向での車両系重心点の移動速度が素早く減衰する。
次に、速度ホールドモードにおいて、加速要求及び減速要求が発生しない状況(図18のSTEP25−1、25−4の判断結果がいずれも否定的となる状況)が保たれたまま、前記カウントダウンタイマの計時が終了すると、図18のSTEP25−11の処理によって、演算処理モードが速度ホールドモードから制動モードに変更されることとなる。
この制動モードでは、加速要求及び減速要求が発生しない状況(図16のSTEP23−1,23−4の判断結果がいずれも否定的となる状況)で、要求重心速度基本値Vb_x_aimとして、常に“0”が設定される。このため、要求重心速度生成部74が逐次決定する要求重心速度Vb_x_aimは、“0”に減衰していき、最終的に“0”に保たれるように決定される。そして、この場合、前記フィルタ時定数Ta_xとして、相対的に長い時間の第2応答時定数τ2_xが設定される。このため、要求重心速度Vb_x_aimは、比較的緩やかな減衰速度で、連続的に“0”に減衰していくこととなる。
そして、このように決定される要求重心速度Vb_x_aimがX軸方向の前記制御用目標重心速度Vb_x_mdfdとして決定される。また、Y軸方向の要求重心速度Vb_y_aimは“0”に保持されるので、Y軸方向の制御用目標重心速度Vb_y_mdfdは“0”となる。さらに、各仮想車輪回転角加速度指令ωwdot_x_cmd,ωwdot_y_cmdにそれぞれ含まれる第3操作量成分u3_x,u3_yは、制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdに重心速度推定値Vb_x_s,Vb_y_sを各々収束させるように決定される。
この結果、前記制動モードの前の演算処理モードが速度ホールドモードである場合に、乗員がその上体の動きによる積極的な操縦操作を行なわずとも、X軸方向での車両系重心点の実際の移動速度の大きさが速度ホールドモードでの大きさから連続的に減衰していくように車輪体5の移動速度が制御されることとなる。
以上のように、乗員等が車両1に概略X軸方向の推進力を付加した場合には、まず、車両1のX軸方向の移動速度が増速する。続いて、カウントダウンタイマの前記初期値Tm_xにより表される所定時間だけ、車両1のX軸方向の移動速度がほぼ一定に保たれる。続いて、車両1のX軸方向の移動速度が緩やかに減衰していく。
従って、本実施形態の車両1では、乗員等が車両1に概略X軸方向の推進力を付加した後は、X軸方向(乗員の前後方向)への一定速度での車両1の滑走、それに続く減速という、車両1の一連の移動動作が乗員等による煩雑な操縦操作を必要とすることなく、自動的に行なわれる。このため、車両1の操縦を簡単に行なうことができ、車両1を操縦性に優れたものとすることができる。
ところで、本実施形態の車両1では、以上説明した如く車両1を走行させている時に、乗員がシート3と共に上体をシート3と共に、適宜、該上体の体幹軸周りに適宜捻ることにより、車両1の進行方向を変化させ、ひいては、該車両1の旋回走行を行なうことができる。そして、このような旋回走行時には、前記したように、基体傾斜角度目標値θb_xy_objが基準目標値θb_xy_obj_baseから車両・乗員全体重心点の実際の速度ベクトルの方向の軸周りに傾動させた角度(車両・乗員全体重心点が、基体9及びシート3の傾動支点の直上の位置から遠心力の向きと逆向きに変位するような角度)に決定される。このため、乗員が意図的に上体を傾けずとも、該乗員の姿勢が、シート3と共に、旋回走行に適した姿勢(旋回中心側に傾く姿勢)に自動的に傾くようになる。加えて、本実施形態の車両1は、旋回走行時に車輪体5もシート3及び基体9と共に傾くため、車輪体5自体が旋回し易くなる。その結果、乗員がその上体の動きをこまめに調整したりせずとも、車両1の旋回走行を円滑に行うことができる。
ここで、本実施形態の車両1と本発明との対応関係を補足しておく。
本実施形態では、車両1に搭乗する乗員の前後方向(X軸方向)、左右方向(Y軸方向)が、それぞれ、本発明における第1の方向、第2の方向に相当する。
また、前記ヨーレートセンサ53により本発明におけるヨーレート計測手段が実現される。
また、基体9の傾斜角度θb_x,θb_yが本発明における搭乗部の傾斜角度に相当し、基体傾斜角度目標値θb_xy_objが本発明における目標傾斜角度に相当する。そして、前記基準目標値θb_xy_obj_baseが本発明における基準角度に相当する。また、前記傾斜センサ52と、図7のSTEP2の処理とによって、本発明における傾斜角度計測手段が実現される。また、図7のSTEP5の処理(図14のブロック図の処理)によって、本発明における目標傾斜角度決定手段が実現される。
また、本実施形態では、車両系重心点(より正確には車両・乗員全体重心点)が、本発明における車両の所定の代表点に相当し、重心速度Vb_x,Vb_yが本発明における代表点の移動速度に相当する。そして、前記重心速度算出部72により本発明における代表点速度計測手段が実現される。
また、前記重心速度制限部76、姿勢制御演算部80及びモータ指令演算部82により、本発明における移動動作部制御手段が実現される。
次に、以上説明した実施形態に係わる変形態様に関していくつか説明しておく。
前記実施形態では、車両1の旋回走行時に、基体傾斜角度目標値θb_xy_objを、基準目標値θb_xy_obj_baseから、車両・乗員全体重心点の速度ベクトルと同方向の軸周りに傾動させた角度になるように決定した。ただし、例えば、車両・乗員全体重心点の速度ベクトルの方向が、X軸方向(乗員の前後方向)に比較的近いような場合(詳しくは、該速度ベクトルの方向とX軸方向との間の鋭角側の角度(ヨー軸周りの角度)が所定値よりも小さい場合)には、基体傾斜角度目標値θb_xy_objを、基準目標値θb_xy_obj_baseからX軸周りに傾動させた角度になる(Y軸周りのθb_x_objは、基準目標値θb_x_obj_baseに一致させる)ように決定してもよい。
また、前記実施形態では、車両1の旋回走行時に、基体傾斜角度目標値θb_xy_objを、ヨーレート計測値ωz_sと重心速度推定値Vb_xy_sとの積(より正確には、不感帯処理部110,112の出力値の積)に比例させるように決定したが、例えば、ヨーレート計測値ωz_sだけに応じてθb_xy_objの大きさを変化させるようにしてもよい。
また、前記実施形態では、STEP23−1、25−4において、X軸方向の重心速度推定値Vb_x_sの絶対値の時間的変化率に基づいて、加速要求の発生の有無を判断するようにしたが、重心速度推定値Vb_x_s,Vb_y_sを2成分とする車両系重心点の速度ベクトルの絶対値の時間的変化率に基づいて、加速要求の発生の有無を判断するようにしてもよい。例えば、前記重心速度絶対値変化率DVb_x_sの代わりに、車両系重心点(車両・乗員全体重心点)の速度ベクトルの絶対値の時間的変化率を用いた処理(前記図15〜図18の処理)によって、要求重心速度Vb_xy_aimを決定するようにしてもよい。
また、本実施形態では、前記速度ホールドモードにおいて、X軸方向の重心速度Vb_xを一定に保持するようにしたが、例えば、車両系重心点(車両・乗員全体重心点)の速度ベクトルの絶対値を一定に保持するようにしてもよい。この場合の一例の実施形態(以下、ここでは、第2実施形態という)は、例えば、次のように実現できる。
すなわち、第2実施形態では、要求重心速度生成部74は、図15のSTEP21において、入力される重心速度推定値Vb_x_s,Vb_y_sを用いて、車両系重心点(車両・乗員全体重心点)の速度ベクトルの絶対値の時間的変化率DVb2_x_s(=sqrt(Vb_x_s2 + Vb_y_s2))を推定重心速度絶対値変化率DVb_x_sの代わりに求める。なお、sqrt( )は、平方根関数である。そして、要求重心速度生成部74は、図16〜図18の各判断処理(STEP23−1,23−4,24−1,24−2,25−1,25−4の処理)では、上記の如く算出した車両系重心点(車両・乗員全体重心点)の速度ベクトルの絶対値の時間的変化率DVb2_x_sを用いる。
また、要求重心速度生成部74は、前記STEP23−2,23−5,23−6,24−2,24−6,25−2,25−5,25−9,25−10において、それぞれ、X軸方向の要求重心速度基本値Vb_x_aim1と、フィルタ時定数Ta_xとを前記の通り決定することに加えて、Y軸方向の要求重心速度基本値Vb_y_aim1を、X軸方向の要求重心速度基本値Vb_x_aim1と同じ手法で決定する。具体的には、STEP23−5,23−6,24−6,25−2,25−10では、Vb_y_aim1として“0”を設定し、STEP25−9では、Vb_y_aim1の前回値をそのまま今回値として設定する。また、STEP23−2,24−2,25−5では、Y軸方向の重心速度推定値Vb_y_sに所定値の比率γ_yを乗じてなる値をVb_y_aim1として設定する。なお、比率γ_yは、X軸方向に関する比率γ_xと同一(例えば0.8)でよいが、異なる値に設定しておくことも可能である。
そして、図15のSTEP26では、要求重心速度生成部74は、X軸方向の要求重心速度基本値Vb_x_aim1をフィルタ(一次遅れ特性のローパスフィルタ)に通すことに加えて、Y軸方向の要求重心速度基本値Vb_y_aim1をフィルタ(一次遅れ特性のローパスフィルタ)に通す。この場合、Vb_y_aim1を入力するフィルタの応答時定数は、Vb_x_aim1を通すフィルタの応答時定数(τ1_x又はτ2_x又はτ3_x)と同じでよい。
但し、例えば、STEP23−5又は25−10でVb_y_aim1として“0”を設定した制御処理周期でのSTEP26の処理では、Y軸方向の要求重心速度基本値Vb_y_aim1を通すフィルタの応答時定数を、X軸方向の要求重心速度基本値Vb_x_aim1を通すフィルタの応答時定数よりも短い時間の値に設定してもよい。このようにすると、速度ホールドモードで要求重心速度Vb_x_aim,Vb_y_aimを所定時間、一定に保持した後の制動モードにおいて、Vb_x_aim,Vb_y_aimから成る速度ベクトルの向きをX軸方向(乗員の前後方向)に近づけていく(最終的にX軸方向に合致させる)ようにすることができる。
さらに、図15のSTEP27では、要求重心速度生成部74は、X軸方向に関するフィルタの出力にリミット処理を施して、X軸方向の要求重心速度Vb_x_aimを決定することに加えて、Y軸方向に関するフィルタの出力にもX軸方向と同様にリミット処理を施して、Y軸方向の要求重心速度Vb_y_aimを決定する。
第2実施形態は、以上説明した事項以外は、先に説明した実施形態と同じでよい。この第2実施形態によれば、乗員等が車両1に推進力を付加した後に、X軸方向及びY軸方向の両方向の重心速度Vb_x,Vb_yが一定に保持される滑走と、それに続く減速とを、乗員等による煩雑な操縦操作を必要とすることなく、自動的に行なうことができる。
なお、車両1に付加させる推進力がY軸方向もしくはこれに近い方向である場合に、X軸方向のVb_x_aimを“0”に保持し、Y軸方向Vb_y_aimだけ、第2実施形態の如く演算処理モードに応じて可変的に決定するようにしてもよい。
また、前記実施形態では、車両1に付加的に推進力を加えることに応じて要求重心速度Vb_x_aimを増速させ、続いて、速度ホールドモードの処理により要求重心速度Vb_x_aimを一定に保持した後、制動モードの処理によって、要求重心速度Vb_x_aimを減衰させるようにした。これに代えて、例えば、乗員によるスイッチ操作等に応じて、車両1を加速させるように要求重心速度Vb_x_aimを増速させ、続いて、該スイッチ操作の解除などに応じて、要求重心速度Vb_x_aimを一定に保持した後、減衰させていくようにしてもよい。また、要求重心速度Vb_x_aimを増速したり、あるいは、一定に保持するための条件として、環境条件などを加味してもよい。これらのことは、Y軸方向の要求重心速度Vb_y_aimについても同様である。
また、前記実施形態では、前記自立モードにおいては、要求重心速度Vb_x_aim,Vb_y_aimを常に“0”に設定するようにしたが、乗員が搭乗していない車両1を必要に応じて作業者などが押して移動させるような場合には、搭乗モードの場合と同様の処理を実行することで、要求重心速度Vb_x_aim又はVb_y_aimを変化させるようにしてもよい。
なお、搭乗モードと自立モードとでは、車両系の全体の重量が相違するので、車両1に推進力を付加させた場合の車両1の加速のしやすさ等の車両1の挙動特性が相違する。従って、搭乗モードと自立モードとの両方のモードにおいて、車両1に付加される推進力に応じて要求重心速度Vb_x_aim(又はVb_y_aim)を決定する場合に、前記第1閾値DV1_x、第2応答時定数τ2_x、速度ホールド時間Tm_x、比率γ_x等のパラメータの値を、搭乗モードと自立モードとで異なる値に設定するようにしてもよい。
また、前記実施形態では、図1及び図2に示した構造の車両1を例示したが、本発明における倒立振子型車両1は、本実施形態で例示した車両に限られるものではない。
具体的には、本実施形態の車両1の移動動作部としての車輪体5は一体構造のものであるが、例えば、前記特許文献3の図10に記載されているような構造のものであってもよい。すなわち、剛性を有する円環状の軸体に、複数のローラをその軸心が該軸体の接線方向に向くようにして回転自在に外挿し、これらの複数のローラを軸体に沿って円周方向に配列させることによって、車輪体を構成してもよい。
さらに移動動作部は、例えば、特許文献2の図3に記載されているようなクローラ状の構造のものであってもよい。
あるいは、例えば、前記特許文献2の図5、特許文献3の図7、もしくは特許文献1の図1に記載されているように、移動動作部を球体により構成し、この球体を、アクチュエータ装置(例えば前記車輪体5を有するアクチュエータ装置)によりX軸周り方向及びY軸周り方向に回転駆動するように車両を構成してもよい。
また、前記実施形態では、乗員の搭乗部としてシート3を備えた車両1を例示したが、本発明における倒立振子型車両は、例えば特許文献3の図8に見られるように、乗員が両足を載せるステップと、そのステップ上で起立した乗員が把持する部分とを基体に組付けた構造の車両であってもよい。
このように本発明は、前記特許文献1〜3等に見られる如き、各種の構造の倒立振子型車両に適用することが可能である。
さらには、本発明における倒立振子型車両は、移動動作部を複数(例えば、左右方向に2つ、あるいは、前後方向に2つ、あるいは、3つ以上)備えていてもよい。
また、本発明における倒立振子型車両は、基体が乗員の搭乗部と共に傾動することは必須ではない。例えば、複数の移動動作部を有する場合に、これらの移動動作部を組付ける基体が床面に対して傾動しないようにすると共に、この基体に対して搭乗部を傾動自在に組付けるようにしてもよい。
1…倒立振子型車両、3…シート(搭乗部)、5…車輪体(移動動作部)、7…アクチュエータ装置、9…基体、52…傾斜センサ(傾斜角度計測手段)、53…ヨーレートセンサ(ヨーレート計測手段)、72…重心速度算出部(代表点速度計測手段)、76…重心速度制限部(移動動作部制御手段)、80…姿勢制御演算部(移動動作部制御手段)、82…モータ指令演算部(移動動作部制御手段)、STEP2…傾斜角度計測手段、STEP5…目標傾斜角度決定手段。
Claims (6)
- 床面上を互いに直交する第1の方向及び第2の方向を含む全方向に移動可能な移動動作部と、該移動動作部を駆動するアクチュエータ装置と、該移動動作部及びアクチュエータ装置が組付けられた基体と、前記第1の方向の軸周りと第2の方向の軸周りとの2軸周りで鉛直方向に対して傾動自在に前記基体に組付けられた乗員の搭乗部とを備えた倒立振子型車両の制御装置であって、
前記車両の所定の部位の実際のヨーレートに応じた出力を生成するヨーレート計測手段と、
少なくとも前記ヨーレート計測手段の出力が示すヨーレートの計測値に応じて前記搭乗部の目標傾斜角度を決定する目標傾斜角度決定手段と、
少なくとも前記搭乗部の実際の傾斜角度と前記目標傾斜角度決定手段により決定された目標傾斜角度との偏差である傾斜偏差を“0”に近づけるように前記移動動作部の移動動作を制御する移動動作部制御手段とを備えたことを特徴とする倒立振子型車両の制御装置。 - 請求項1記載の倒立振子型車両の制御装置において、
前記ヨーレートの計測値が“0”である場合に前記目標傾斜角度として設定すべき基準角度があらかじめ定められており、
前記目標傾斜角度決定手段は、少なくとも、前記目標傾斜角度と前記基準角度との偏差のうちの、車両の所定の代表点の実際の移動方向と同方向の軸周りの成分である特定方向軸周り偏差成分の大きさを、前記ヨーレートの計測値の大きさの増加に伴い、増加させるように前記目標傾斜角度を決定することを特徴とする倒立振子型車両の制御装置。 - 請求項2記載の倒立振子型車両の制御装置において、
前記代表点の実際の移動速度に応じた出力を生成する代表点速度計測手段を備え、
前記目標傾斜角度決定手段は、前記特定方向軸周り偏差成分の大きさを、前記ヨーレートの計測値の大きさの増加に伴い、増加させると共に、前記代表点速度計測手段の出力が示す前記代表点の移動速度の計測値の大きさの増加に伴い、増加させるように前記目標傾斜角度を決定することを特徴とする倒立振子型車両の制御装置。 - 請求項3記載の倒立振子型車両の制御装置において、
前記目標傾斜角度決定手段は、前記特定方向軸周り偏差成分の極性が、前記ヨーレートの計測値により示される該ヨーレートの向きと、前記代表点の移動速度の計測値により示される該移動速度の向きとの組に応じて規定される極性になるように前記目標傾斜角度を決定することを特徴とする倒立振子型車両の制御装置。 - 請求項2記載の倒立振子型車両の制御装置において、
前記目標傾斜角度決定手段は、前記ヨーレートの計測値の大きさが所定の第1閾値よりも小さい場合には、前記目標傾斜角度として前記基準角度を決定することを特徴とする倒立振子型車両の制御装置。 - 請求項3記載の倒立振子型車両の制御装置において、
前記目標傾斜角度決定手段は、前記ヨーレートの計測値の大きさが所定の第1閾値よりも小さいという条件と、前記代表点の移動速度の計測値の大きさが所定の第2閾値よりも小さいという条件とのうちの少なくともいずれか一方の条件が成立する場合には、前記目標傾斜角度として前記基準角度を決定することを特徴とする倒立振子型車両の制御装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2009/004768 WO2011033591A1 (ja) | 2009-09-18 | 2009-09-18 | 倒立振子型車両の制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2011033591A1 JPWO2011033591A1 (ja) | 2013-02-07 |
JP5306474B2 true JP5306474B2 (ja) | 2013-10-02 |
Family
ID=43758219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011531662A Active JP5306474B2 (ja) | 2009-09-18 | 2009-09-18 | 倒立振子型車両の制御装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8577516B2 (ja) |
JP (1) | JP5306474B2 (ja) |
DE (1) | DE112009005247T5 (ja) |
WO (1) | WO2011033591A1 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011033575A1 (ja) * | 2009-09-18 | 2011-03-24 | 本田技研工業株式会社 | 倒立振子型移動体 |
JP5724855B2 (ja) * | 2011-12-02 | 2015-05-27 | トヨタ自動車株式会社 | 倒立移動体及び角速度センサの出力値補正方法 |
JP5921950B2 (ja) * | 2012-05-14 | 2016-05-24 | 本田技研工業株式会社 | 倒立振子型車両 |
JP6034593B2 (ja) * | 2012-05-14 | 2016-11-30 | 本田技研工業株式会社 | 倒立振子型車両 |
JP5916520B2 (ja) * | 2012-05-14 | 2016-05-11 | 本田技研工業株式会社 | 倒立振子型車両 |
JP6095436B2 (ja) | 2013-03-27 | 2017-03-15 | 本田技研工業株式会社 | 倒立振子型車両 |
JP6081271B2 (ja) | 2013-03-29 | 2017-02-15 | 本田技研工業株式会社 | 倒立振子型車両 |
JP6081270B2 (ja) | 2013-03-29 | 2017-02-15 | 本田技研工業株式会社 | 倒立振子型車両 |
JP6111119B2 (ja) * | 2013-03-29 | 2017-04-05 | 本田技研工業株式会社 | 倒立振子型車両 |
JP6062785B2 (ja) | 2013-03-29 | 2017-01-18 | 本田技研工業株式会社 | 倒立振子型車両 |
JP6062784B2 (ja) | 2013-03-29 | 2017-01-18 | 本田技研工業株式会社 | 倒立振子型車両 |
JP6099483B2 (ja) | 2013-05-31 | 2017-03-22 | 本田技研工業株式会社 | 倒立振子型車両 |
JP6099485B2 (ja) | 2013-05-31 | 2017-03-22 | 本田技研工業株式会社 | 倒立振子型車両 |
JP6099484B2 (ja) | 2013-05-31 | 2017-03-22 | 本田技研工業株式会社 | 倒立振子型車両 |
JP6821201B2 (ja) * | 2016-06-07 | 2021-01-27 | 国立大学法人東北大学 | 全方向回転駆動機構および移動体 |
CN106843258B (zh) * | 2017-04-13 | 2023-05-23 | 桂林电子科技大学 | 可全方位倾斜的小车跷跷板装置及其平衡控制方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3070015B2 (ja) * | 1990-11-30 | 2000-07-24 | 本田技研工業株式会社 | 不安定車両の走行制御装置 |
JP2004129435A (ja) * | 2002-10-04 | 2004-04-22 | Sony Corp | 搬送装置、制御方法、及び駆動機構 |
JP2005271815A (ja) * | 2004-03-25 | 2005-10-06 | Yamaha Motor Co Ltd | 自律走行型二輪車および自律制御方法 |
JP2006282160A (ja) * | 2005-03-07 | 2006-10-19 | Univ Of Tokyo | 全方向移動ロボット及び該ロボットの全方向移動駆動機構 |
JP2007045331A (ja) * | 2005-08-10 | 2007-02-22 | Sony Corp | 走行装置及びその制御方法 |
WO2008132778A1 (ja) * | 2007-04-20 | 2008-11-06 | Honda Motor Co., Ltd. | 全方向駆動装置及びそれを用いた全方向移動車 |
WO2008132779A1 (ja) * | 2007-04-20 | 2008-11-06 | Honda Motor Co., Ltd. | 全方向駆動装置及びそれを用いた全方向移動車 |
WO2008139740A1 (ja) * | 2007-05-16 | 2008-11-20 | Honda Motor Co., Ltd. | 全方向に移動可能な乗り物 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1529556B1 (en) * | 2003-11-04 | 2013-02-20 | Toyota Jidosha Kabushiki Kaisha | Travelling apparatus and method for controlling thereof |
JP4605204B2 (ja) * | 2007-10-24 | 2011-01-05 | トヨタ自動車株式会社 | 倒立振子型移動体、及びその制御方法 |
-
2009
- 2009-09-18 WO PCT/JP2009/004768 patent/WO2011033591A1/ja active Application Filing
- 2009-09-18 US US13/394,875 patent/US8577516B2/en active Active
- 2009-09-18 DE DE112009005247T patent/DE112009005247T5/de not_active Withdrawn
- 2009-09-18 JP JP2011531662A patent/JP5306474B2/ja active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3070015B2 (ja) * | 1990-11-30 | 2000-07-24 | 本田技研工業株式会社 | 不安定車両の走行制御装置 |
JP2004129435A (ja) * | 2002-10-04 | 2004-04-22 | Sony Corp | 搬送装置、制御方法、及び駆動機構 |
JP2005271815A (ja) * | 2004-03-25 | 2005-10-06 | Yamaha Motor Co Ltd | 自律走行型二輪車および自律制御方法 |
JP2006282160A (ja) * | 2005-03-07 | 2006-10-19 | Univ Of Tokyo | 全方向移動ロボット及び該ロボットの全方向移動駆動機構 |
JP2007045331A (ja) * | 2005-08-10 | 2007-02-22 | Sony Corp | 走行装置及びその制御方法 |
WO2008132778A1 (ja) * | 2007-04-20 | 2008-11-06 | Honda Motor Co., Ltd. | 全方向駆動装置及びそれを用いた全方向移動車 |
WO2008132779A1 (ja) * | 2007-04-20 | 2008-11-06 | Honda Motor Co., Ltd. | 全方向駆動装置及びそれを用いた全方向移動車 |
WO2008139740A1 (ja) * | 2007-05-16 | 2008-11-20 | Honda Motor Co., Ltd. | 全方向に移動可能な乗り物 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2011033591A1 (ja) | 2013-02-07 |
DE112009005247T5 (de) | 2013-01-10 |
US8577516B2 (en) | 2013-11-05 |
US20120173042A1 (en) | 2012-07-05 |
WO2011033591A1 (ja) | 2011-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5306474B2 (ja) | 倒立振子型車両の制御装置 | |
JP5386282B2 (ja) | 歩行補助装置 | |
JP5306473B2 (ja) | 倒立振子型車両の制御装置 | |
JP5504272B2 (ja) | 倒立振子型車両の制御装置 | |
JP5318216B2 (ja) | 倒立振子型車両 | |
JP5355701B2 (ja) | 倒立振子型車両の制御装置 | |
JP5414804B2 (ja) | 倒立振子型車両の制御装置 | |
JP5404800B2 (ja) | 倒立振子型車両 | |
JP5306472B2 (ja) | 倒立振子型車両の制御装置 | |
JP5330200B2 (ja) | 倒立振子型車両の制御装置 | |
JP5414800B2 (ja) | 倒立振子型車両の制御装置 | |
JP5306470B2 (ja) | 全方向移動車両の制御装置 | |
JP5306471B2 (ja) | 倒立振子型車両の制御装置 | |
JP5379235B2 (ja) | 倒立振子型車両の制御装置 | |
JP2011068167A (ja) | 倒立振子型車両の制御装置 | |
JP5303413B2 (ja) | 倒立振子型移動体の制御装置 | |
JP5386283B2 (ja) | 倒立振子型移動体、制御装置、および、制御方法 | |
JP2011093398A (ja) | 全方向移動車両の制御装置 | |
JP5330199B2 (ja) | 倒立振子型車両の制御装置 | |
JP5330198B2 (ja) | 倒立振子型車両の制御装置 | |
JP2011073628A (ja) | 倒立振子型移動体の制御装置 | |
JP5306951B2 (ja) | 倒立振子型車両 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20130528 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130625 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5306474 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |