以下、本発明の一実施形態を、図1〜図10を参照して説明する。なお、以下の説明及び図面においては、同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
[構成]
図1には、一実施形態に係るシステム800の概略的な構成が示されている。図1に示されるように、システム800は、サーバ装置810と、駆動輪を有する複数の移動体MV11,MV12,…ごとに配置された端末装置8201,8202,…と、駆動輪を有する少なくとも1つの移動体MV21,MV22,…ごとに配置された端末装置8301,8302,…とを備えている。ここで、サーバ装置810は、固定的な位置に配置されている。また、端末装置8201,8202,…のそれぞれは、配置された移動体MV11,MV12,…とともに移動するようになっている。また、端末装置8301,8302,…のそれぞれは、配置された移動体MV21,MV22,…とともに移動するようになっている。
また、端末装置8201,8202,…のそれぞれには、移動体MV11,MV12,…のそれぞれに装備された駆動系829が接続されている。また、端末装置8301,8302,…のそれぞれには、移動体MV21,MV22,…のそれぞれに装備された駆動系839が接続されている。
なお、本実施形態では、端末装置8201,8202,…のそれぞれは、同様に構成されているものとする。また、端末装置8301,8302,…のそれぞれについても、同様に構成されているものとする。
そして、端末装置8201,8202,…のそれぞれと、サーバ装置810とは、ネットワーク900を介して、データ通信を行うことができるようになっている。また、端末装置8301,8302,…のそれぞれと、サーバ装置810とは、ネットワーク900を介して、データ通信を行うことができるようになっている。なお、端末装置8201,8202,…のそれぞれと、サーバ装置810との間の情報のやり取りの詳細、及び、端末装置8301,8302,…のそれぞれと、サーバ装置810との間の情報のやり取りの詳細については、後述する。
<サーバ装置810の構成>
上記のサーバ装置810は、サーバ受信部811と、記憶部812と、統計処理部813とを備えている。また、サーバ装置810は、推定部814と、マッピング部815と、サーバ送信部816とを備えている。
上記のサーバ受信部811は、端末装置8201,8202,…のそれぞれから、ネットワーク900を介して、端末装置8201,8202,…のそれぞれが取得した、端末装置が配置された移動体の位置と、端末装置が配置された移動体が有する駆動輪の路面に対する「スリップ率情報」及び「摩擦係数情報」から成る対情報と、端末装置が配置された移動体が有する駆動輪の回転速度とを受信する。また、サーバ受信部811は、これらの移動体の位置、対情報、及び、移動体が有する駆動輪の回転速度を送信した端末装置から、当該端末装置が配置された移動体に関する移動体情報を受信する。そして、サーバ受信部811は、受信結果を統計処理部813へ送る。
ここで、サーバ受信部811が受信する「移動体情報」には、移動体識別情報、駆動輪の配置位置情報等が含まれている。
上記の記憶部812は、不揮発性の記憶領域を有している。この記憶部812には、統計処理部813、推定部814及びマッピング部815がアクセス可能となっている。記憶部812の当該不揮発性の記憶領域には、様々な情報が記憶される。こうした情報には、統計処理を行う際における移動体MV11,MV12,…ごとの重み付け値を記憶した重み付け値情報、サーバ装置810がそれまでに受信し、移動体の位置(より詳しくは、移動体における駆動輪の位置)と対応付けた対情報データ、路面状態ごとの「摩擦係数」と「スリップ率」との関係のテンプレート(後述する図9参照)等が含まれている。
ここで、上記の対情報データでは、位置ごとに、スリップ率情報、摩擦係数情報、受信日時、及び、移動体識別情報の対が関連付けられている。
上記の統計処理部813は、サーバ受信部811から送られた受信結果を受ける。当該受信結果を受けると、統計処理部813は、サーバ装置810がそれまでに受信した対情報と、新たに受信した対情報とを組み合わせた対情報について統計処理を行い、新たに受信した移動体位置(より詳細には、移動体における駆動輪の位置)における路面状態を表す「摩擦係数」と「スリップ率」との関係を導出する。かかる「摩擦係数」と「スリップ率」との関係を導出するに際して、統計処理部813は、記憶部812内の移動体の重み付け値を採用した重み付き最小二乗法を用いた統計処理を行う。そして、統計処理部813は、統計処理により導出された「摩擦係数」と「スリップ率」との関係を、推定部814へ送る。統計処理部813による統計処理の詳細については、後述する。
上記の推定部814は、統計処理部813から送られた導出結果を受ける。当該導出結果を受けると、推定部814は、導出結果である新たに受信した移動体位置における「摩擦係数」と「スリップ率」との関係と、記憶部812内に予め用意された路面状態ごとの「摩擦係数」と「スリップ率」との関係のテンプレート(後述する図9参照)とを比較する。そして、推定部814は、比較結果に基づいて、導出結果と良い一致を示すテンプレートを特定し、新たに受信した移動体位置における路面状態情報を推定する。こうして推定された路面状態情報は、マッピング部815へ送られる。
ここで、本実施形態では、「路面状態情報」には、特定されたテンプレートに対応する路面の滑りやすさの数値化情報(後述する図10(A)〜(C)参照)、特定されたテンプレートの「摩擦係数μ」と「スリップ率λ」との関係等が含まれている。
上記のマッピング部815は、推定部814から送られた推定結果を受ける。そして、マッピング部815は、推定結果である新たに受信した移動体位置における路面状態情報を、地図上にマッピングする。マッピング部815によるマッピング結果は、サーバ送信部816へ送られる。
上記のサーバ送信部816は、マッピング部815から送られたマッピング結果を受ける。そして、サーバ送信部816は、マッピング部815によるマッピング結果を、ネットワーク900を介して、システム800を構成する複数の端末装置8201,8202,…、及び、少なくとも1つの端末装置8301,8302,…へ送信する。
<端末装置8201,8202,…の構成>
上記の端末装置8201,8202,…のそれぞれの構成について、端末装置8201を例示して説明する。端末装置8201は、第1取得部821と、端末送信部822と、端末受信部823と、トラクション処理部824とを備えている。
上記の第1取得部821は、端末装置8201が配置された移動体MV11の位置と、端末装置8201が配置された移動体MV11が有する駆動輪の路面に対するスリップ率情報及び摩擦係数情報から成る対情報と、端末装置8201が配置された移動体MV11が有する駆動輪の回転速度とを取得する。ここで、第1取得部821は、不図示の位置検出センサから、移動体MV11の位置を取得するようになっている。また、第1取得部821は、不図示のスリップ率推定部からスリップ率情報を取得するとともに、不図示の摩擦係数推定部から摩擦係数情報を取得するようになっている。また、第1取得部821は、不図示の回転速度センサから、移動体MV11が有する駆動輪の回転速度を取得するようになっている。
こうして取得された移動体MV11の位置、対情報、及び、移動体MV11が有する駆動輪の回転速度は、端末送信部822へ送られる。また、取得された対情報は、トラクション処理部824へ送られる。
上記の端末送信部822は、第1取得部821から送られた取得結果を受ける。そして、端末送信部822は、第1取得部821による取得結果を、移動体情報とともに、ネットワーク900を介して、サーバ装置810へ送信する。
上記の端末受信部823は、サーバ装置810から、ネットワーク900を介して送られたマッピング結果を受信する。そして、端末受信部823は、当該受信したマッピング結果をトラクション処理部824へ送る。
上記のトラクション処理部824は、端末受信部823から送られたマッピング結果を受ける。また、トラクション処理部824は、第1取得部821から送られた対情報を受ける。そして、トラクション処理部824は、当該マッピング結果及び対情報に基づいて、トラクション処理を行う。本実施形態では、トラクション処理部824は、駆動輪のトラクション制御系を実装する。かかるトラクション制御系、及び、トラクション処理部824の構成については、後述する。
<端末装置8301,8302,…の構成>
上記の端末装置8301,8302,…のそれぞれの構成について、端末装置8301を例示して説明する。端末装置8301は、端末受信部833と、トラクション処理部834とを備えている。
上記の端末受信部833は、サーバ装置810から、ネットワーク900を介して送られたマッピング結果を受信する。そして、端末受信部833は、当該受信したマッピング結果をトラクション処理部834へ送る。
上記のトラクション処理部834は、端末受信部833から送られたマッピング結果を受ける。そして、トラクション処理部834は、当該マッピング結果に基づいて、トラクション処理を行う。トラクション処理部834の構成については、後述する。
<トラクション制御系>
次に、トラクション処理部824が実装するトラクション制御系について、説明する。なお、本実施形態では、駆動輪はモータによって駆動されるようになっている。
図2には、本実施形態で採用するモデル追従制御系700を含むトラクション制御系が、ブロック線図にて示されている。図2に示されるように、モデル追従制御系700は、減算ブロック690と協働して、実車両600のトラクション制御、すなわち、スリップ率低減制御を行うようになっている。
なお、減算ブロック690から送られるトルク命令値Tmに対応した実車両600における駆動輪の回転速度ωの出力までは、実車両のモデルに基づき、トルク伝達ブロック610(伝達関数:Q(s))と駆動輪応答ブロック620(伝達関数:P(s))とが直列接続されたモデルで表現されるものとしている。なお、「s」はラプラス演算子である。
上記のトルク伝達ブロック610は、減算ブロック690から出力されるトルク命令値Tmが、実トルク値Trとして駆動輪に付与されるまでのトルク伝達モデルに基づくブロックである。このトルク伝達ブロック610は、無駄時間ブロック611(伝達関数:e-Ls)と、モータトルク応答ブロック612(伝達関数:1/(τ1・s+1))とが直列接続されたものとして表現されるようになっている。
上記の無駄時間ブロック611は、減算ブロック690からモータへのトルク命令値Tmの伝達に際しての遅延時間、モータが発生した駆動力の駆動輪への伝達に際しての遅延時間等の各種の遅延時間の総和時間Lが、モデル追従制御においては、無駄時間Lとして取り扱うことができることを表現したブロックである。なお、無駄時間Lは、実験により予め実測することができるし、シミュレーションにより予め算出することもできる。
上記のモータトルク応答ブロック612は、トルク命令値Tmが伝達されたモータのトルク応答特性が、1次遅れ(時定数:τ1)モデルで近似できることを表現したブロックである。かかるモータのトルク応答特性を1次遅れモデルで表現するようにしたのは、発明者が研究の結果から得た「モータのトルク応答特性は、1次遅れモデルにより、トラクション制御の際に必要とされる精度で近似することができる」との知見に基づいている。なお、時定数τ1は、実験により予め実測することができるし、シミュレーションにより予め算出することもできる。
以上のように無駄時間ブロック611とモータトルク応答ブロック612との直列接続により表現されるトルク伝達ブロック610の伝達関数Q(s)は、次の(1)式により表される。
Q(s)=e-Ls/(τ1・s+1) …(1)
上記の駆動輪応答ブロック620(伝達関数:P(s))は、トルクの付与に対する実車両の応答として駆動輪の回転速度ωを考えた場合を表現したブロックである。この駆動輪応答ブロック620の伝達関数P(s)については、後述する。
上記の減算ブロック690は、図2においては図示していないトルク指令値生成部から送られたトルク指令値T* m、及び、モデル追従制御系700から送られた補正量Tbを受ける。そして、減算ブロック690は、次の(2)式により、トルク命令値Tmを算出する。こうして算出されたトルク命令値Tmは実車両のモータへ向けて送られるとともに、モデル追従制御系700へ送られる。
Tm=T* m−Tb …(2)
上記のモデル追従制御系700は、減算ブロック690から送られたトルク命令値Tm、及び、駆動輪の回転速度ωを受ける。そして、モデル追従制御系700は、トルク命令値Tm及び回転速度ωに基づいて、補正量Tbを算出する。
かかる機能を有するモデル追従制御系700は、トルク伝達ブロック710(伝達関数:Q(s))と、粘着モデルブロック720(伝達関数:Pn −1(s))と、減算ブロック730とを備えている。また、モデル追従制御系700は、1次遅れブロック740(伝達関数:R(s)=1/(τ・s+1))と、利得乗算ブロック750(利得係数:k)とを備えている。
上記のトルク伝達ブロック710は、減算ブロック690から送られたトルク命令値Tmを受ける。そして、トルク伝達ブロック710は、トルク命令値Tmに基づいて、駆動輪に付与される実トルク値Trを推定する。かかる機能を有するトルク伝達ブロック710は、無駄時間ブロック711(伝達関数:e-Ls)と、モータトルク応答ブロック712(伝達関数:1/(τ1・s+1))とを備えている。
上記の無駄時間ブロック711は、上述した無駄時間ブロック611に対応して設けられたブロックである。この無駄時間ブロック711は、減算ブロック690から送られたトルク命令値Tmを受ける。そして、無駄時間ブロック711は、無駄時間Lに対応する処理をトルク命令値Tmに対して施す。なお、無駄時間Lとしては、上述したように、実測又はシミュレーションにより得られた値を採用する。
上記のモータトルク応答ブロック712は、上述したモータトルク応答ブロック612に対応するブロックである。このモータトルク応答ブロック712は、無駄時間ブロック711から送られた無駄時間処理結果を受ける。そして、モータトルク応答ブロック712は、当該無駄時間処理結果に対して、時定数τ1の1次遅れ処理を施して、駆動輪に付与される実トルク値Trの推定値Te(以下、単に「推定トルク値Te」とも記す)を生成する。なお、時定数τ1としては、上述したように、実測又はシミュレーションにより得られた値を採用する。
以上のように構成されたトルク伝達ブロック710により、トルク命令値Tmから推定トルク値Teが、次の(3)式により算出される。
Te=Q(s)・Tm …(3)
上記の粘着モデルブロック720は、回転速度ωを受ける。そして、粘着モデルブロック720は、駆動輪にスリップが生じない仮想的なモデルである粘着モデルに従って、回転速度ωに対応するトルク値Tnを、次の(4)式により算出する。
Tn=Pn −1(s)・ω …(4)
なお、トルク値Tnは、回転速度ωから粘着モデルを用いて逆算されるため、以下においては、トルク値Tnを、「逆算トルク値Tn」とも記す。
上述したように、スリップ率がゼロよりも大きければ、逆算トルク値Tnは推定トルク値Teよりも大きな値となる。なお、伝達関数Pn −1(s)については、後述する。
上記の減算ブロック730は、トルク伝達ブロック710から送られた推定トルク値Te、及び、粘着モデルブロック720から送られた逆算トルク値Tnを受ける。そして、減算ブロック730は、次の(5)式により差分トルク値Thを算出する。
Th=Tn−Te …(5)
上記の1次遅れブロック740は、減算ブロック730から送られた差分トルク値Thを受ける。そして、1次遅れブロック740は、差分トルク値Thに対して、時定数τの1次遅れ処理を施したトルク値Tfを、次の(6)式により算出する。
Tf=R(s)・Th=Th/(τ・s+1) …(6)
なお、1次遅れ処理がローパスフィルタであるため、以下においては、トルク値Tfを、「フィルタ後トルク値Tf」とも記す。
上記の利得乗算ブロック750は、1次遅れブロック740から送られたフィルタ後トルク値Tfを受ける。そして、利得乗算ブロック750は、次の(7)式により、補正量Tbを算出し、算出された補正量Tbを減算ブロック690へ送る。
Tb=k・Tf …(7)
《伝達関数P(s),Pn −1(s)について》
次に、駆動輪応答ブロック620の伝達関数P(s)、及び、粘着モデルブロック720の伝達関数Pn −1(s)について説明する。
図3には、移動体MVが有する駆動輪WHの一輪モデル(以下、「駆動輪モデル」ともいう)における変数が示されている。図3において、「M」は、移動体の重量であり、「Fd」は駆動輪WHの駆動力であり、「Fdr」は走行抵抗である。また、「Tr」は駆動輪WHに付与される実トルク値であり、「v」は移動体MVの速度(すなわち、駆動輪WHの並進速度)であり、「ω」は駆動輪WHの回転速度である。また、「N」は、駆動輪WHに作用する垂直抗力であり、「r」は駆動輪WHの半径である。
図3に示される駆動輪モデルにおいては、移動体MVの運動方程式は、次の(8)式で与えられる。
M・(dv/dt)=Fd−Fdr …(8)
また、駆動輪WHの運動方程式は、駆動輪WHの慣性モーメントを「Jw」として、次の(9)式で与えられる。
Jw・(dω/dt)=Tr−r・Fd …(9)
駆動力Fdと垂直抗力Nとの関係は、駆動輪WHにとっての路面の摩擦係数をμとして、次の(10)式で表される。
μ=Fd/N …(10)
ここで、垂直抗力Nは、例えば、駆動輪WHにかかる荷重を検出する荷重センサを用意することにより、迅速に、かつ、精度良く取得することができる。また、駆動力Fdは、実トルク値Trと、回転速度ωに基づいて、既知の駆動力オブザーバにより、迅速に、かつ、精度良く取得することができる。このため、トルク指令値に忠実な実トルク値Trを発生させることができる電気自動車の場合には、上述した荷重センサに加えて、例えば、駆動輪WHの回転速度を検出する回転速度センサを用意することにより、摩擦係数μを、迅速に、かつ、精度良く算出することができる。
なお、駆動力オブザーバについては、例えば、特開2010−051160号公報等に記載されている。
また、スリップ率λは、上述した駆動輪モデルにおいては、次の(11)式により表される。
λ=(r・ω−v)/Max(r・ω,v) …(11)
上記の駆動輪モデルにおいて、摩擦係数μと、スリップ率λとは、一般に、駆動時においては図4に示される関係があり、また、制動時には図5に示される関係がある。なお、図4に示される駆動時のスリップ率の増加に伴う摩擦係数μの変化において、摩擦係数μが最大となるスリップ率(一般的に「0.2」程度)以下である状態が、移動体MVが安定して走行できる状態(以下、「安定状態」という)となっている。一方、摩擦係数μが最大となるスリップ率よりも大きな状態が、駆動輪WHの空転やロック現象が発生する状態(以下、「不安定状態」という)となっている。
また、図5に示される制動時のスリップ率の増加に伴う摩擦係数μの変化において、摩擦係数μが最小となるスリップ率(一般的に「−0.2」程度)以上である状態が安定状態となっている。一方、摩擦係数μが最小となるスリップ率よりも小さな状態が不安定状態となっている。
さて、上記の(8)式に半径rを乗じた後に、左辺同士及び右辺同士について(9)式との和をとると、次の(12)式となる。
M・r・(dv/dt)+Jw・(dω/dt)=Tr−r・Fdr …(12)
この(12)式は、(r・ω>v)となる駆動時には、(11)式を考慮すると、次の(13)式のように変形される。
M・r・v・s+Jw・ω・s
=M・r・(1−λ)・r・ω・s+Jw・ω・s
=ω・(Jw+M・r2・(1−λ))・s=Tr−r・Fdr …(13)
したがって、回転速度ωは、次の(14)式のように表される。
ω=(Tr−r・Fdr)/((Jw+M・r2・(1−λ))・s) …(14)
(14)式から判るように、走行抵抗Fdrが小さくなると、回転速度ωが大きくなる。トラクション制御は、走行抵抗Fdrが小さい場合でも回転速度ωが急増することを防止する制御であるため、走行抵抗Fdrをゼロとした場合のモデルを採用する。この結果、実車両モデルの駆動時における実トルク値Trから回転速度ωまでの伝達関数、すなわち、上述した駆動輪応答ブロック620の駆動時の伝達関数P(s)は、次の(15)式の通りとなる。
P(s)=ω/Tr=1/((Jw+M・r2・(1−λ))・s) …(15)
また、上述した粘着モデルは駆動輪WHにスリップが生じないモデルなので、スリップ率λをゼロとするモデルである。このため、粘着モデルブロック720の駆動時における伝達関数Pn −1(s)は、次の(16)式の通りとなる。
Pn −1(s)=Tr/ω=(Jw+M・r2)・s …(16)
なお、制動時も、上述した駆動時と同様にして、上述した駆動輪応答ブロック620の伝達関数P(s)、及び、上述した粘着モデルブロック720の伝達関数Pn −1(s)を導出することができる。以下、駆動時に着目して説明する。
以上より、本実施形態のトラクション制御系におけるトルク指令値Tm *から回転速度ωまでの駆動時の伝達関数G(s)、及び、トルク指令値Tm *から補正量Tbまでの一巡伝達関数GO(s)は、次の(17),(18)式により表される。
《路面状態に適応した利得係数k及び時定数τの決定》
次に、路面状態に適応した利得係数k及び時定数τの決定について説明する。
上述した図4に示されるように、駆動輪WHのスリップ率と、路面に対する駆動輪WHの摩擦係数との関係は、乾燥路面、湿潤路面、凍結路面等の路面状態によって大きく異なる。これは、上述したように、制御系に入力される外乱の変化が大きいということと等価である。
そして、発明者が行ったシミュレーションによれば、乾燥路面、湿潤路面、凍結路面のいずれの路面においても、利得係数kを大きくすると、スリップ率λが低下するという結果が得られている。
ところで、凍結路面では、駆動輪WHの空転を極力抑えたいため、できるだけ利得を高くしてスリップ率λを小さくしたい。しかし、利得を高くするために利得係数kを大きくすると、乾燥路面では摩擦係数μの値に余裕があるにもかかわらず、トルク命令値Tmを低下させてしまうことになる。不必要なトルク命令値Tmの低下は、駆動力を勝手に絞ることになり、ドライバの意図する加速ができないことになる。
例えば、乾燥路面を走行中、加速が必要になった場合、上り坂を走行する場合、高速で走行する場合等は、駆動力が必要となる。そのような場合、車両が持っている駆動能力をできるだけ発揮できるように、駆動力を必要以上に小さくすることは避けたい。つまり、単にスリップ率λを小さくすればよいというわけではなく、必要な駆動力を確保しながら不安定領域にならないようにスリップ率λを制御することが必要である。
このため、凍結路面のように滑りやすい路面の場合には利得係数kを大きくし、乾燥路面のように滑りにくい路面の場合には利得係数kを小さくするという、路面状態に適応して利得係数kを決定できることが望ましい。ところで、上述した図4に示されるように、駆動輪WHのスリップ率と、路面に対する駆動輪WHの摩擦係数との関係は、路面状態に対応する変化態様によって、路面が滑りやすくなる程、スリップ率λに対して摩擦係数μが小さくなるという性質があることが判る。
かかる性質を利用して、スリップ率λが大きいほど、又は、摩擦係数μが小さいほど、利得係数kを大きくする設定にすれば、滑りやすい路面では利得係数kが大きくなり、滑りにくい路面では利得係数kが小さくなる。この結果、滑りやすい路面ではスリップ抑制効果が高まるとともに、滑りにくい路面では不必要なトルク低下を防げる。
そこで、次の(19)式により、利得係数kを算出するようにする。
k=b・(λ/μ) …(19)
この(19)式によれば、利得係数kは、スリップ率λに比例し、摩擦係数に反比例するので、滑りやすい状態ほど大きな値となる。ここで、係数bは、駆動輪WHの慣性モーメントJw、移動体MVの重量M、及び、駆動輪WHの半径rにより、適切な値が定まる。このため、係数bは、事前のシミュレーション及び実験により、適切な値に決定可能である。かかる係数bの決定に際しては、凍結路面での高利得と乾燥路面での低利得のバランスが考慮される。
また、発明者が行ったシミュレーションの結果から、制御帯域と安定性を確保するための利得係数kと時定数τとの関係を、次の(20)式により与えることができるとの知見が得られている。
τ=a・k …(20)
ここで、係数aは、上述した(18)式を参照して判るように、無駄時間L、モータのトルク応答の時定数τ1、慣性モーメントJw、移動体MVの重量M、及び、駆動輪WHの半径rにより、最適な値が定まる。これらの値は、車両の設計仕様により定まっている値であるため、当該設計仕様が既知である場合には、把握することができる。当該設計仕様が未知である場合であっても、実測により推定又は把握が可能である。
また、時定数τを、(20)式を利用して、利得係数kに応じて設定することにすれば、トラクション制御の安定性と制御帯域の維持とを両立できる。すなわち、利得係数kと時定数τとが、走行路面の推定λ値と推定μ値との比(λ/μ)に応じて、適応的に設定されることになる。
以上、駆動時に着目してトラクション制御系の説明を行ったが、制動時においても、駆動時と同様にして、モデル追従制御を採用したトラクション制御を行うことができる。
<トラクション処理部824の構成>
次に、上述したトラクション処理部824の構成について説明する。トラクション処理部824は、図6に示されるように、第2取得部510Aと、トルク命令値算出部520Aと、推定トルク値算出部530と、逆算トルク値算出部540とを備えている。また、トラクション処理部824は、減算部550と、フィルタ部560と、利得乗算部570とを備えている。さらに、トラクション処理部824は、記憶部580と、パラメータ算出部590Aとを備えている。
上記の第2取得部510Aは、端末受信部823から送られたマッピング結果を受ける。このマッピング結果における位置ごとの路面状態情報には、路面の滑りやすさを示す値が含まれている。そして、第2取得部510Aは、マッピング結果をパラメータ算出部590Aへ送る。
また、第2取得部510Aは、不図示のトルク指令値生成部から送られたトルク指令値T* mを取得する。そして、第2取得部510Aは、取得されたトルク指令値T* mをトルク命令値算出部520Aへ送る。
ここで、トルク指令値生成部は、不図示のアクセル開度センサ、ブレーキ量センサ、角速度センサ等によるトルク指令値T* mの生成に利用される検出結果に基づいて、トルク指令値T* mを生成する。こうして生成されたトルク指令値T* mが、トラクション処理部824へ送られる。
また、第2取得部510Aは、不図示の回転速度センサから送られた回転速度ωを取得する。そして、第2取得部510Aは、取得された回転速度ωを逆算トルク値算出部540へ送る。
ここで、回転速度センサは、移動体MVの駆動輪WHの回転速度ωを検出する。こうして検出された回転速度ωが、トラクション処理部824へ送られる。
上記のトルク命令値算出部520Aは、上述した減算ブロック690の機能を実行する。このトルク命令値算出部520Aは、第2取得部510Aから送られたトルク指令値T* m、及び、利得乗算部570から送られた補正量Tbを受ける。そして、トルク命令値算出部520Aは、上述した(2)式を利用して、トルク命令値Tmを算出する。こうして算出されたトルク命令値Tmは、駆動系829へ送られるとともに、推定トルク値算出部530へ送られる。
ここで、駆動系829では、不図示のインバータが、トラクション処理部824から送られた、トルク命令値Tmに従ってモータ駆動信号を生成し、生成されたモータ駆動信号を、不図示のモータへ送る。この結果、モータは、当該モータ駆動信号に基づいてモータ回転運動を行い、駆動輪を回転させる。
上記の推定トルク値算出部530は、上述したトルク伝達ブロック710の機能を実行する。この推定トルク値算出部530は、無駄時間L及びモータのトルク応答の時定数τ1を内部に保持している。
推定トルク値算出部530は、トルク命令値算出部520Aから送られたトルク命令値Tmを受ける。そして、推定トルク値算出部530は、上述した(3)式を利用して、推定トルク値Teを算出する。こうして算出された推定トルク値Teは、減算部550へ送られる。
上記の逆算トルク値算出部540は、上述した粘着モデルブロック720の機能を実行する。この逆算トルク値算出部540は、駆動輪WHの慣性モーメントJw、移動体MVの重量M、及び、駆動輪WHの半径rを保持している。
逆算トルク値算出部540は、第2取得部510Aから送られた回転速度ωを受ける。そして、逆算トルク値算出部540は、上述した(4)式を利用して、逆算トルク値Tnを算出する。こうして算出された逆算トルク値Tnは、減算部550へ送られる。
上記の減算部550は、上述した減算ブロック730の機能を実行する。この減算部550は、推定トルク値算出部530から送られた推定トルク値Te、及び、逆算トルク値算出部540から送られた逆算トルク値Tnを受ける。そして、減算部550は、上述した(5)式を利用して、差分トルク値Thを算出する。こうして算出された差分トルク値Thは、フィルタ部560へ送られる。
上記のフィルタ部560は、上述した1次遅れブロック740の機能を実行する。このフィルタ部560は、減算部550から送られた差分トルク値Th、及び、パラメータ算出部590Aから送られた時定数τを受ける。そして、フィルタ部560は、上述した(6)式を利用して、差分トルク値Thに対して時定数τの1次遅れ処理を施したフィルタ後トルク値Tfを算出する。こうして算出されたフィルタ後トルク値Tfは、利得乗算部570へ送る。
上記の利得乗算部570は、上述した利得乗算ブロック750の機能を実行する。この利得乗算部570は、フィルタ部560から送られたフィルタ後トルク値Tf、及び、パラメータ算出部590Aから送られた利得係数kを受ける。そして、利得乗算部570は、上述した(7)式を利用して、補正量Tbを算出する。こうして算出された補正量Tbは、トルク命令値算出部520Aへ送られる。
上記の記憶部580は、不揮発性の記憶素子を備えて構成されている。この記憶部580には、上述したように、無駄時間L、モータのトルク応答の時定数τ1、慣性モーメントJw、移動体MV1の重量M、及び、駆動輪WHの半径rにより定まり、上述した(20)式の利用に際して必要となる係数aが記憶される。また、記憶部580には、上述したように、無駄時間L、モータのトルク応答の時定数τ1、慣性モーメントJw、移動体MV1の重量M、及び、駆動輪WHの半径rにより定まり、上述した(19)式の利用に際して必要となる係数bが記憶される。
なお、記憶部580には、パラメータ算出部590Aがアクセス可能となっている。
上記のパラメータ算出部590Aは、第2取得部510Aから送られたマッピング結果を受ける。また、パラメータ算出部590Aは、第1取得部821から送られた摩擦係数情報、スリップ率情報、位置情報を受ける。そして、パラメータ算出部590Aは、マッピング結果、位置情報、摩擦係数情報及びスリップ率情報に基づいて確からしい(λ/μ)を推定し、記憶部580に記憶されている係数bを参照し、上述した(19)式を利用して、現在位置における利得係数kを算出する。引き続き、パラメータ算出部590Aは、記憶部580に記憶されている係数aを参照し、上述した(20)式を利用して、現在位置における時定数τを算出する。
こうして算出された利得係数kは、利得乗算部570へ送られる。また、算出された時定数τは、フィルタ部560へ送られる。
<トラクション処理部834の構成>
次に、上述したトラクション処理部834の構成について説明する。トラクション処理部834は、図7に示されるように、第3取得部510Bと、トルク命令値算出部520Bと、上限値算出部590Bとを備えている。
上記の第3取得部510Bは、端末受信部833から送られた位置ごとの路面状態情報を道路地図情報にマッピングしたマッピング結果を受ける。そして、第3取得部510Bは、マッピング結果を、上限値算出部590Bへ送る。
また、第3取得部510Bは、不図示のトルク指令値生成部から送られたトルク指令値T* mを取得する。そして、第3取得部510Bは、取得されたトルク指令値T* mをトルク命令値算出部520Bへ送る。
上記のトルク命令値算出部520Bは、第2取得部510Aから送られたトルク指令値T* m、及び、上限値算出部590Bから送られたトルク上限値を受ける。そして、トルク命令値算出部520Aは、トルク指令値T* mに基づき、トルク上限値を超えないトルク命令値Tmを算出する。こうして算出されたトルク命令値Tmは、駆動系839へ送られる。
ここで、駆動系839では、不図示のインバータが、トラクション処理部834から送られた、トルク命令値Tmに従ってモータ駆動信号を生成し、生成されたモータ駆動信号を、不図示のモータへ送る。この結果、モータは、当該モータ駆動信号に基づいてモータ回転運動を行い、駆動輪を回転させる。
上記の上限値算出部590Bは、第3取得部510Bから送られた、位置ごとの路面状態情報を道路地図情報にマッピングしたマッピング結果を受ける。そして、上限値算出部590Bは、当該マッピング結果に基づいて、トルク上限値を算出する。こうして算出されたトルク上限は、トルク命令値算出部520Bへ送られる。
[動作]
次に、上記のように構成されたシステム800による路面状態推定処理及びトラクション処理の動作について、説明する。
なお、端末装置8201,8202,…のそれぞれにおける第1取得部821によって取得された端末装置が配置された移動体の位置、端末装置が配置された移動体が有する駆動輪の路面に対する「スリップ率情報」及び「摩擦係数情報」から成る対情報、並びに、端末装置が配置された移動体が有する駆動輪の回転速度は、移動体情報とともに、端末装置8201,8202,…のそれぞれにおける端末送信部822から、定期的に、ネットワーク900を介して、サーバ装置810のサーバ受信部811へ送信されているものとする。そして、サーバ装置810では、サーバ受信部811が、当該移動体の位置、対情報、移動体が有する駆動輪の回転速度、並びに、移動体情報を受信すると、受信結果を統計処理部813へ送っているものとする。
<路面状態推定処理>
まず、システム800による路面状態推定処理について説明する。なお、この処理は、サーバ装置810において行われるようになっている。
サーバ装置810の統計処理部813は、サーバ受信部811から送られた受信結果を受けると、まず、受信結果に含まれる移動体が有する駆動輪の回転速度が、所定値以上であるか否かを判定する。ここで、「所定値」は、移動体の発進直後や停止間際ではなく通常走行中と判断できる最小の値であり、実験、シミュレーション、経験等に基づいて、予め定められる。そして、統計処理部813は、当該判定の結果が肯定的である場合に、統計処理を行う。
かかる統計処理に際して、統計処理部813は、まず、新たに受信した移動体識別情報に対応する移動体の重み付け値を、記憶部812内から読み取る。そして、統計処理部813は、重み付け値を新たに受信した対情報に付加した重み付き対情報を生成する。
なお、受信したスリップ率情報及び摩擦係数情報から成る対情報は、移動体位置と対応付けて、受信日時及び移動体識別情報とともに、記憶部812内に格納される。
次いで、統計処理部813は、新たに受信した移動体位置における記憶部812内に格納されている対情報データを読み取る。そして、統計処理部813は、対情報データに含まれる移動体識別情報に対応する移動体の重み付け値を、記憶部812内の重み付け値情報から読み取る。引き続き、統計処理部813は、対情報データに含まれるスリップ率情報及び摩擦係数情報に、重み付け値を付加した重み付き対情報を生成する。そして、統計処理部813は、これらの重み付き対情報に基づいて、統計処理を行う。
かかる統計処理を行うに際して、統計処理部813は、重み付き対情報における「スリップ率」を独立変数、重み付き対情報における「摩擦係数」をスリップ率の従属変数として、重み付け値を採用した重み付き最小二乗法を用いる。そして、統計処理部813は、重み付き最小二乗法でフィッティングした曲線を、新たに受信した移動体位置における路面状態を表す「摩擦係数」と「スリップ率」との関係として、推定部814へ送る。
なお、統計処理部813は、対情報データに含まれる受信日時を参照して、受信時点から時間を経過するほど、当該受信した対情報の重みを小さくして、重み付き最小二乗法を用いた統計処理を行うようになっている。
また、統計処理部813は、新たに受信したスリップ率情報と同時に受信した摩擦係数情報により示される摩擦係数の値と、当該新たに受信したスリップ率情報の値に対応する重み付き最小二乗法により導出されたフィッティング曲線上の摩擦係数の値とのずれ量を算出する。そして、統計処理部813は、当該算出されたずれ量が大きいほど、重み付け値を小さくする更新を行う。また、統計処理部813は、当該算出されたずれ量が小さいほど、重み付け値を大きくする更新を行う。そして、統計処理部813は、更新された重み付け値を、記憶部812内に格納する。
統計処理部813から送られた新たに更新された位置における路面状態を表す「摩擦係数」と「スリップ率」との関係を受けた推定部814は、当該関係と、記憶部812内に予め用意された路面状態ごとの「摩擦係数」と「スリップ率」との関係のテンプレートとを比較する。そして、推定部814は、比較結果に基づいて、新たに更新された位置における「摩擦係数」と「スリップ率」との関係と良い一致を示すテンプレートを特定し、新たに受信した移動体位置における路面状態情報を推定する。引き続き、推定部814は、推定された路面状態情報をマッピング部815へ送る。
ここで、図8(A)には、同一位置において、端末装置8201,8202,…のそれぞれにおける第1取得部821によって取得された「スリップ率情報」及び「摩擦係数情報」から成る対情報のデータを、プロットした様子が示されている。そして、図8(A)に示される曲線は、図8(A)にプロットされた対情報のデータについて、上述した重み付き最小二乗法によりフィッティングした曲線となっている。
また、図8(B)には、図8(A)に示される対情報を取得した位置とは異なる同一位置において、端末装置8201,8202,…のそれぞれにおける第1取得部821によって取得された「スリップ率情報」及び「摩擦係数情報」から成る対情報のデータを、プロットした様子が示されている。そして、図8(B)に示される曲線は、図8(B)にプロットされた対情報のデータについて、重み付き最小二乗法によりフィッティングした曲線となっている。
また、図8(C)には、図8(A),(B)に示される対情報を取得した位置とは異なる同一位置において、端末装置8201,8202,…のそれぞれにおける第1取得部821によって取得された「スリップ率情報」及び「摩擦係数情報」から成る対情報のデータを、プロットした様子が示されている。そして、図8(C)に示される曲線は、図8(C)にプロットされた対情報のデータについて、重み付き最小二乗法によりフィッティングした曲線となっている。
また、図9には、本実施形態において採用する路面状態ごとの「摩擦係数」と「スリップ率」との関係のテンプレート曲線が示されている。ここで、図9における「D」の値は、路面の滑りやすさを示す指標であり、「D」の値が小さくなるに従って、滑りやすい路面となるようになっている。
そして、図10(A)〜(C)のそれぞれには、図8(A)〜(C)のそれぞれに示されるフィッティング曲線と、図9に示されるテンプレート曲線との比較結果の様子が示されている。推定部814は、この比較結果から、図8(A)における対情報を取得した位置では、「D」=0.8の路面状態であると推定し、図8(B)における対情報を取得した位置では、「D」=0.4の路面状態であると推定する。また、推定部814は、当該比較結果から、図8(C)における対情報を取得した位置では、「D」=0.1の路面状態であると推定する。
マッピング部815は、推定部814から送られた路面状態情報を受けると、当該路面状態情報、すなわち、路面の滑りやすさの数値化情報「D」の値を、地図上へマッピングする。かかるマッピング結果は、サーバ送信部816へ送られる。
サーバ送信部816は、最新のマッピング結果を、ネットワーク900を介して、定期的に、複数の端末装置8201,8202,…、及び、少なくとも1つの端末装置8301,8302,…へ送信する。
<端末装置8201,8202,…によるトラクション処理>
次に、システム800における端末装置8201,8202,…によるトラクション処理について説明する。以下では、端末装置8201におけるトラクション処理を例示して説明する。
端末装置8201における端末受信部823は、サーバ装置810のサーバ送信部816から、定期的に、ネットワーク900を介して、最新のマッピング結果を受信する。そして、端末受信部823は、当該受信した最新のマッピング結果を、トラクション処理部824へ送る。
トラクション処理部824は、端末受信部823から送られた最新のマッピング結果に基づいて、トラクション処理を行う。
なお、トラクション処理に際しては、端末受信部823からは、定期的に、マッピング結果がトラクション処理部824へ送られているものとする。また、位置検出センサからは、移動体MV11の現在位置が、逐次、トラクション処理部824へ送られているものとする。また、トルク指令値生成部からは、生成されたトルク指令値T* mが、逐次、トラクション処理部824へ送られているものとする。また、回転速度センサからは、回転速度ωが、逐次、トラクション処理部824へ送られているものとする。
そして、第2取得部510Aは、取得されたトルク指令値T* mを、逐次、トルク命令値算出部520Aへ送っているものとする。また、第2取得部510Aは、取得された回転速度ωを、逐次、逆算トルク値算出部540へ送っているものとする。さらに、第2取得部510Aは、取得されたマッピング結果及び移動体MV11の現在位置を、逐次、パラメータ算出部590Aへ送っているものとする。また、第1取得部821は、摩擦係数μ及びスリップ率λを、逐次、パラメータ算出部590Aへ送っているものとする。
また、記憶部580内には、係数a,bが記憶されているものとする。
こうした動作環境下において、移動体MV11が走行している場合には、パラメータ算出部590Aは、第1取得部821から送られた摩擦係数μ及びスリップ率λ、第2取得部510Aから送られた現在位置付近のマッピング結果、並びに、記憶部580内の係数bに基づいて、上述した(19)式を利用して、利得係数kを算出する。引き続き、パラメータ算出部590Aは、当該利得係数k及び記憶部580内の係数aに基づいて、上述した(20)式を利用して、時定数τを算出する。
かかる利得係数kの算出に際して、本実施形態では、路面の滑りやすさの数値化情報「D」の値(=D1)が、大きく変化しない区間を、移動体MV11が走行しているときは、第1取得部821から送られた摩擦係数μ及びスリップ率λ、並びに、記憶部580内の係数bに基づいて、(19)式を利用して、利得係数kを算出する。
また、マッピング結果から、路面の滑りやすさの数値化情報「D」の値が、例えば、値D1から値D2に大きく変化する位置に、移動体MV11が入る瞬間には、値D2から利得係数kを算出する。例えば、k=1/Dという式を用いると、値D2=0.1のときはk=10となる。その後、移動体MV11が、値D2の区間に入って走行しはじめれば、第1取得部821から送られた摩擦係数μ及びスリップ率λ、並びに、記憶部580内の係数bに基づいて、(19)式を利用して、利得係数kを算出する。この段階的に行う制御方法により、例えば、滑りにくい路面から滑りやすい路面に急に変わる路面において、摩擦係数μ及びスリップ率λが生成されるまでの時間を待つことなく、スリップ抑制度合いが高くなるように利得係数kを設定することが可能となる。
そして、パラメータ算出部590Aは、算出された利得係数kを利得乗算部570へ送るとともに、算出された時定数τをフィルタ部560へ送る。この結果、利得乗算部570において、算出された利得係数kが設定されるとともに、フィルタ部560において、算出された時定数τが設定される。こうした設定が行われると、トルク命令値算出部520A、推定トルク値算出部530、逆算トルク値算出部540、減算部550、フィルタ部560及び利得乗算部570が協働して、トルク指令値T* m及び回転速度ωを入力とする当該設定によるモデル追従制御が実行される。
以後、利得係数k及び時定数τの新たな算出及び新たな設定、並びに、トルク指令値T* m及び回転速度ωを入力とする当該新たな設定によるモデル追従制御が繰り返される。かかる繰り返しにより、トラクション処理が行われる。
<端末装置8301,8302,…によるトラクション処理>
次に、システム800における端末装置8301,8302,…によるトラクション処理について説明する。以下では、端末装置8301によるトラクション処理を例示して説明する。
端末装置8301における端末受信部833は、サーバ装置810のサーバ送信部816から、定期的に、ネットワーク900を介して、最新のマッピング結果を受信する。そして、端末受信部833は、当該受信した最新のマッピング結果を、トラクション処理部834へ送る。
トラクション処理部834は、端末受信部833から送られた最新のマッピング結果に基づいて、トラクション処理を行う。
なお、トラクション処理に際しては、端末受信部833からは、定期的に、位置ごとの路面状態情報を地図上にマッピングしたマッピング結果が、トラクション処理部834へ送られているものとする。また、位置検出センサからは、移動体MV21の現在位置が、逐次、トラクション処理部834へ送られているものとする。また、トルク指令値生成部からは、生成されたトルク指令値T* mが、逐次、トラクション処理部834へ送られているものとする。
そして、第3取得部510Bは、取得されたトルク指令値T* mを、逐次、トルク命令値算出部520Bへ送っているものとする。さらに、第3取得部510Bは、取得されたマッピング結果及び移動体MV11の現在位置を、逐次、上限値算出部590Bへ送っているものとする。
こうした動作環境下において、移動体MV21が走行している場合には、上限値算出部590Bは、第3取得部510Bから送られた現在位置付近のマッピング結果に基づいて、トルク上限値を算出する。
そして、上限値算出部590Bは、算出されたトルク上限値をトルク命令値算出部520Bへ送る。こうしてトルク上限値が送られると、トルク命令値算出部520Bが、トルク上限値を超えないトルク命令値Tmを算出する。こうして算出されたトルク命令値Tmは、駆動系839へ送られる。
以後、トルク上限値の新たな算出及び新たな設定が繰り返される。かかる繰り返しにより、トラクション処理が行われる。
以上説明したように、本実施形態では、駆動輪を有する複数の移動体MV11,MV12,…ごとに配置された端末装置8201,8202,…が、端末装置が配置された移動体の位置と、端末装置が配置された移動体が有する駆動輪の路面に対するスリップ率情報及び摩擦係数情報から成る対情報と、端末装置が配置された移動体が有する駆動輪の回転速度とを取得する。そして、端末装置8201,8202,…のそれぞれは、取得結果を、定期的に、サーバ装置810へ送信する。
サーバ装置810では、統計処理部813が、まず、新たに対情報を送信した移動体の重み付け値を、記憶部812内から読み取り、新たに受信した対情報に、当該重み付け値を付加する。引き続き、統計処理部813は、新たに受信した移動体位置と当該重み付け値を付加した対情報とを対応付けたデータを生成する。
次いで、統計処理部813は、移動体から新たに受信した位置に対し、重み付け値を付加された対情報のデータと記憶部812内に格納されている対情報のデータとを組み合せて、移動体の重み付け値を採用した重み付き最小二乗法を用いた統計処理を行う。そして、統計処理部813は、重み付き最小二乗法によりフィッティングした曲線を、新たに受信した移動体位置における路面状態を表す「摩擦係数」と「スリップ率」との関係として、推定部814へ送る。
引き続き、推定部814が、新たに受信した移動体位置における「摩擦係数」と「スリップ率」との関係と、予め用意された路面状態ごとの「摩擦係数」と「スリップ率」との関係のテンプレートとを比較する。そして、推定部814は、比較結果に基づいて、新たに受信した移動体位置における路面状態情報を推定する。そして、マッピング部815が、当該路面状態情報を、地図上の新たに受信した移動体位置へマッピングする。こうして新たにマッピングされたマッピング結果は、ネットワーク900を介して、複数の端末装置8201,8202,…、及び、端末装置8301,8302,…へ送信される。
そして、複数の端末装置8201,8202,…、及び、端末装置8301,8302,…において、マッピング結果に基づくトラクション処理が行われる。
したがって、本実施形態によれば、複数の移動体が取得した路面状態に関する情報に基づく路面状態の推定に寄与することができ、各移動体における精度の高いトラクション制御に資することができる。
[実施形態の変形]
本発明は、上記の実施形態に限定されるものではなく、様々な変形が可能である。
例えば、上記の実施形態では、サーバ装置からは、マッピング結果が端末装置へ送信されることとしたが、サーバ装置から送信される情報としては、推定部による推定結果に基づく提供情報であってもよい。
また、上記の実施形態では、サーバ装置においてマッピング処理を行うようにしたが、端末装置側が、推定部による推定結果に基づく提供情報を受信し、当該受信結果に基づいて、端末装置側でマッピング処理を行うようにしてもよい。
また、上記の実施形態では、路面状態ごとの摩擦係数とスリップ率との関係のテンプレートとして10個のテンプレート(図9参照)を用意したが、テンプレートの数は10個以外であってもよい。
また、上記の実施形態では、端末装置8201,…がモデル追従制御によるトラクション処理を実施し、端末装置8301,…がトルク上限値を設定するトラクション処理を実施することとしたが、スリップ率及び摩擦係数の少なくとも一方を利用するトラクション処理であれば、他のトラクション処理であってもよいことは、勿論である。
また、路面の滑りやすさを数値化したマッピング結果を、端末装置の表示部に表示させるようにしてもよい。さらに、例えば、マッピング結果に基づいて走行中の路面状態を、音声で運転者に通知すうようにしてもよい。
また、上記の実施形態では、摩擦係数推定部及びスリップ率推定部を、端末装置8201,…の外部に配置するようにした。これに対し、端末装置8201,…が、摩擦係数推定部及びスリップ率推定部を備える構成としてもよい。
また、上記の実施形態では、スリップ率λと摩擦係数μとの比に基づいて、上述した(19)により、利得係数kを算出することにした。これに対し、定数cの値を0以上とし、次の(21)式によって利得係数kを算出してもよい。
k=b・(λ/μ)+c …(21)
この(21)式のように、定数cを加えることにより、適応的に計算される利得係数kに一定量の大きさを持たせることができる。スリップ率λや摩擦係数μがゼロに近いときの利得係数kの変化を和らげることができ、路面状態の変化に過剰に反応することを防ぐ効果がある。かかる定数cの適切な値は、実験、シミュレーションにより、予め定められる。なお、(19)式は、(21)式の定数cが0になった場合である。
また、上記の実施形態では、トラクション処理に際して、スリップ率λと摩擦係数μとの比に基づいて利得係数kを算出することにした。これに対し、次の(22)式により、スリップ率λを参照せずに、利得係数kを算出するようにしてもよい。
k=d/μ …(22)
これは、上述の(18)式においては、利得にスリップ率が影響しているため、既に、スリップ率に適応していると考えることもできるからである。このため、(18)式には現れない摩擦係数μのみを利用する(23)式により利得係数kを算出しても、(18)式における利得が、スリップ率λと摩擦係数μとの双方に適応した値に設定されることになる。この場合には、トラクション制御に際して、リアルタイムでスリップ率を推定する必要が無くなるので、速度vの検出のためのセンサ、及び、当該センサによる検出結果に基づく速度算出資源を省略することができる。なお、係数dは、シミュレーションや実験によって適切な値を決めることができる。
さらに、次の(23)式によって利得係数kを算出してもよい。
k=d/μ+e・λ …(23)
スリップ率λを算出できるものの、算出されたスリップ率λの精度が低い場合は、係数eを小さめにすることで、スリップ率λへの適応度合いを相対的に下げることができる。かかる定数eの適切な値は、実験、シミュレーションにより、予め定められる。なお、(22)式は、(23)式の係数eが0になった場合である。
また、上記の実施形態では、係数bは、スリップ率λ及び摩擦係数μに依存した値とした。これに対し、スリップ率λ及び摩擦係数μに応じて利得係数kを決定するためのテーブルを作成するようにしてもよい。この場合には、スリップ率λ又は摩擦係数μの重み付け等の処理を行って利得係数kを決定したり、図4,5における安定領域と不安定領域とで、路面状態に対する適応度を変化させたりすることを容易に行うことができる。
また、安定性を確保する目的のみであれば、(20)式の代わりに、次の(24)式を満たすように時定数τを設定すればよい。
τ≧a・k …(24)
この(24)式の条件を満たす時定数τであれば、制御帯域は狭くなるものの、ゲイン余裕と位相余裕とが大きくなるため、より安定性は高くなる。したがって、凍結路面でのスリップ状態を想定して、利得係数kの値を求めるために用いている(19)式、(21)式〜(23)式から利得係数kの最大値を推定し、その最大値に係数aを乗じて算出した時定数τを固定値として設定することもできる。走行中に適応的に求められる利得係数kの値が小さい場合、利得係数kの最大値から計算された時定数τが用いられるため、安定性には問題ないが、制御帯域が狭くなる。しかし、利得係数kの値が小さいときは乾燥路面であまりスリップしていない状態のため、スリップ抑制の制御帯域が低くても問題にはならない。すなわち、適応的に生成される利得係数kの最大値を推定して計算した時定数τの値を固定値として設定することも可能である。
以下、本発明のシステムの一実施例を、図11〜図21を主に参照して説明する。なお、以下の説明及び図面においては、同一又は同等の要素については同一の符号を付し、重複する説明を省略する。
[構成]
図11には、一実施例に係るシステム100の概略的な構成が示されている。なお、システム100は、上述した実施形態のシステム800(図1参照)の一態様となっている。
図11に示されるように、システム100は、サーバ装置810としてのサーバ装置200と、端末装置8201,8202,…としての複数の端末装置3001,3002,…と、端末装置8301,8302,…としての少なくとも1つの端末装置4001,4002,…とを備えている。
ここで、サーバ装置200は、例えば、所定の建屋内の固定的な位置に配置されている。また、端末装置3001,3002,…のそれぞれは、駆動輪を有する移動体MV11,MV12,…としての車両CR11,CR12,…ごとに配置されており、配置された車両CR11,CR12,…とともに走行するようになっている。また、端末装置4001,4002,…のそれぞれは、駆動輪を有する移動体MV21,MV22,…としての車両CR21,CR22,…ごとに配置されており、配置された車両CR21,CR22,…とともに走行するようになっている。
なお、本実施例では、端末装置3001,3002,…のそれぞれは、同様に構成されているものとする。また、端末装置4001,4002,…のそれぞれについても、同様に構成されているものとする。
上記のサーバ装置200は、ネットワークNWSを介して、端末装置3001,3002,…のそれぞれ、及び、端末装置4001,4002,…のそれぞれと、通信可能となっている。サーバ装置200が、端末装置3001,3002,…のそれぞれ、及び、端末装置4001,4002,…のそれぞれとの間で授受するデータの内容については、後述する。
上記の端末装置3001,3002,…のそれぞれには、車両CR11,CR12,…のそれぞれに装備されたセンサユニット370及び駆動系390が接続されている。また、端末装置3001,3002,…のそれぞれは、ネットワークNWSを介して、サーバ装置200とデータ通信を行うようになっている。端末装置3001,3002,…のそれぞれが、センサユニット370及び駆動系390との間で授受するデータの内容については、後述する。
上記の端末装置4001,4002,…のそれぞれには、車両CR21,CR22,…のそれぞれに装備されたセンサユニット470及び駆動系490が接続されている。また、端末装置4001,4002,…のそれぞれは、ネットワークNWSを介して、サーバ装置200とデータ通信を行うようになっている。端末装置4001,4002,…のそれぞれが、センサユニット470及び駆動系490との間で授受するデータの内容については、後述する。
<サーバ装置200の構成>
図12には、サーバ装置200の概略的な構成が示されている。図12に示されるように、サーバ装置200は、路面状態推定ユニット210と、記憶部812としての記憶ユニット220と、サーバ受信部811及びサーバ送信部816としての外部通信ユニット230とを備えている。
上記の路面状態推定ユニット210は、演算部としての中央処理装置(CPU)を備えて構成され、サーバ装置200の全体を統括制御する。この路面状態推定ユニット210は、プログラムを実行することにより、上述した実施形態における統計処理部813、推定部814及びマッピング部815としての機能を果たすようになっている。
路面状態推定ユニット210が実行するプログラムは、記憶ユニット220に記憶され、記憶ユニット220からロードされて実行される。このプログラムは、CD−ROM、DVD等の可搬型記録媒体に記録された形態で取得されるようにしてもよいし、インターネットなどのネットワークを介した配信の形態で取得されるようにしてもよい。
なお、路面状態推定ユニット210が実行する処理については、後述する。
上記の記憶ユニット220は、上述したプログラム等の路面状態推定ユニット210が利用する様々な情報データが記憶される。こうした情報データには、統計処理を行う際に利用する重み付け値情報(WTI)、サーバ装置200がそれまでに受信し、位置と対応付けた対情報データ(PAI)、上述した図9に示される路面状態ごとの「摩擦係数」と「スリップ率」との関係のテンプレート(TPI)等が含まれている。この記憶ユニット220には、路面状態推定ユニット210がアクセスできるようになっている。
上記の重み付け値情報(WTI)には、図13に示されるように、車両識別情報IDn(n=1,2,…)ごとの重み付け値WTnが記憶されている。
上記の対情報データ(PAI)には、図14に示されるように、位置PSp(p=1,…)ごとに、スリップ率情報λp,q(q=1,…)、摩擦係数情報μp,q、受信日時TSp,q、及び、車両識別情報IDnの対が、記憶されている。
上記の外部通信ユニット230は、端末装置3001,3002,…のそれぞれから、ネットワークNWSを介して送信された、端末装置が配置された車両の位置、端末装置が配置された車両が有する駆動輪の路面に対する「スリップ率情報」及び「摩擦係数情報」から成る対情報、端末装置が配置された車両が有する駆動輪の回転速度、車両情報等を、端末送信データとして受信する。そして、外部通信ユニット230は、当該端末送信データを路面状態推定ユニット210へ送る。ここで、外部通信ユニット230が受信する「車両情報」には、車両識別情報、駆動輪の配置位置情報等が含まれている。
また、外部通信ユニット230は、路面状態推定ユニット210から送られたマッピング結果等のサーバ送信データを受ける。そして、外部通信ユニット230は、当該サーバ送信データを、ネットワークNWSを介して、複数の端末装置3001,3002,…、及び、少なくとも1つの端末装置4001,4002,…へ送信する。
<端末装置3001,3002,…の構成>
上記の端末装置3001,3002,…のそれぞれの構成について、端末装置3001を例示して説明する。
図15には、端末装置3001の概略的な構成が示されている。図15に示されるように、端末装置3001は、車両CR11内に配置される。なお、車両CR11は、互いに独立に駆動可能な4つの駆動輪である左前側駆動輪WHFL、右前側駆動輪WHFR、左後側駆動輪WHRL及び右後側駆動輪WHRRの4つの駆動輪を備えている。また、車両CR11には、上述したように、センサユニット370及び駆動系390が搭載されている。
上記のセンサユニット370は、回転速度センサ371j(j=FL,FR,RL,RR)、荷重センサ372j、電流センサ373j、加速度センサ374、位置検出センサ375及び各種センサ376を備えている。また、上記の駆動系390は、インバータ391j、モータ392jを備えている。ここで、回転速度センサ371j、荷重センサ372j、電流センサ373j、インバータ391j及びモータ392j、は、駆動輪WHjに対応して設置されている。
上記の回転速度センサ371jのそれぞれは、対応する駆動輪WHjの回転速度ωjを検出する。こうして検出された回転速度ωjは、端末装置3001へ送られる。
上記の荷重センサ372jのそれぞれは、対応する駆動輪WHjにかかる荷重、すなわち、垂直抗力Njを検出する。こうして検出された垂直抗力Njは、端末装置3001へ送られる。
上記の電流センサ373jのそれぞれは、対応する駆動輪WHjの駆動するモータを流れる電流Ijを検出する。こうして検出された電流Ijは、端末装置3001へ送られる。
上記の加速度センサ374は、車両CR11の加速度αを検出する。こうして検出された加速度αは、端末装置3001へ送られる。
上記の位置検出センサ375は、車両CR11の位置を検出する。こうして検出された位置は、端末装置3001へ送られる。
上記の各種センサ376には、アクセル開度センサ、ブレーキ量センサ、角速度センサ等が含まれている。
上記のインバータ391jのそれぞれは、端末装置3001から送られた、トルク命令値Tm,jに対応するトルク発生信号を受ける。そして、インバータ391jのそれぞれは、当該トルク発生信号に従ってモータ駆動信号を生成し、生成されたモータ駆動信号をモータ392jへ送る。
上記のモータ392jのそれぞれは、対応するインバータ391jから送られたモータ駆動信号を受ける。そして、モータ392jのそれぞれは、当該モータ駆動信号に基づいてモータ回転運動を行い、駆動輪WHjを回転させる。
次に、端末装置3001の構成について説明する。図15に示されるように、端末装置3001は、制御ユニット310と、記憶ユニット320と、端末送信部822及び端末受信部823としての無線通信ユニット330とを備えている。そして、制御ユニット310には、センサユニット370及び駆動系390が接続されている。
上記の制御ユニット310は、演算部としての中央処理装置(CPU)、DSP(Digital Signal Processor)を備えて構成される。この制御ユニット310は、プログラムを実行することにより、上述した実施形態における第1取得部821、第2取得部510A、トルク命令値算出部520A、推定トルク値算出部530、逆算トルク値算出部540、減算部550、フィルタ部560、利得乗算部570、パラメータ算出部590A、並びに、摩擦係数推定部及びスリップ率推定部としての機能を果たすようになっている。
また、制御ユニット310は、各種センサ376に含まれるアクセル開度センサ、ブレーキ量センサ、角速度センサ等による検出結果に基づいて、駆動輪WHjごとに対応するトルク指令値T* m,jを生成する。
制御ユニット310が実行するプログラムは、記憶ユニット320に記憶され、記憶ユニット320からロードされて実行される。このプログラムは、CD−ROM、DVD等の可搬型記録媒体に記録された形態で取得されるようにしてもよいし、インターネットなどのネットワークを介した配信の形態で取得されるようにしてもよい。
なお、制御ユニット310が実行する処理については、後述する。
上記の記憶ユニット320は、上述したプログラム等の制御ユニット310が利用する様々な情報データが記憶される。こうした情報データには、駆動輪WHjに対応する無駄時間Lj、駆動輪WHjに対応するモータ391jのトルク応答の時定数τ1,j、駆動輪WHjの慣性モーメントJw,j、駆動輪WHjに対する分配質量Mj、及び、駆動輪WHjの半径rj、並びに、駆動輪WHjに対応する係数aj,bjが含まれている。この記憶ユニット320には、制御ユニット310がアクセスできるようになっている。
上記の無線通信ユニット330は、制御ユニット310から送られた端末送信データを受ける。そして、無線通信ユニット330は、当該端末送信データを、ネットワークNWSを介してサーバ装置200へ送信する。
また、無線通信ユニット330は、サーバ装置200からネットワークNWSを介して送信されたサーバ送信データを受信する。そして、無線通信ユニット330は、当該サーバ送信データを制御ユニット310へ送る。
<端末装置4001,4002,…の構成>
上記の端末装置4001,4002,…のそれぞれの構成について、端末装置4001を例示して説明する。
図16には、端末装置4001の概略的な構成が示されている。図16に示されるように、端末装置4001は、車両CR21内に配置される。なお、車両CR21は、互いに独立に駆動可能な4つの駆動輪である左前側駆動輪WHFL、右前側駆動輪WHFR、左後側駆動輪WHRL及び右後側駆動輪WHRRの4つの駆動輪を備えている。また、車両CR21には、上述したように、センサユニット470及び駆動系490が搭載されている。
上記のセンサユニット470は、位置検出センサ475及び各種センサ476を備えている。また、上記の駆動系490は、インバータ491j、モータ492jを備えている。ここで、インバータ491j及びモータ492j、は、駆動輪WHjに対応して設置されている。
上記の位置検出センサ475は、車両CR21の位置を検出する。こうして検出された位置は、端末装置4001へ送られる。
上記の各種センサ476には、アクセル開度センサ、ブレーキ量センサ、角速度センサ等が含まれている。
上記のインバータ491jのそれぞれは、端末装置4001から送られた、トルク命令値Tm,jに対応するトルク発生信号を受ける。そして、インバータ491jのそれぞれは、当該トルク発生信号に従ってモータ駆動信号を生成し、生成されたモータ駆動信号をモータ492jへ送る。
上記のモータ492jのそれぞれは、対応するインバータ491jから送られたモータ駆動信号を受ける。そして、モータ492jのそれぞれは、当該モータ駆動信号に基づいてモータ回転運動を行い、駆動輪WHjを回転させる。
次に、端末装置4001の構成について説明する。図16に示されるように、端末装置4001は、制御ユニット410と、記憶ユニット420と、端末受信部833としての無線通信ユニット430とを備えている。そして、制御ユニット410には、センサユニット470及び駆動系490が接続されている。
上記の制御ユニット410は、演算部としての中央処理装置(CPU)を備えて構成される。この制御ユニット410は、プログラムを実行することにより、上述した実施形態における第3取得部510B、トルク命令値算出部520B、上限値設定部590Bとしての機能を果たすようになっている。
また、制御ユニット410は、各種センサ476に含まれるアクセル開度センサ、ブレーキ量センサ、角速度センサ等による検出結果に基づいて、駆動輪WHjごとに対応するトルク指令値T* m,jを生成する。
制御ユニット410が実行するプログラムは、記憶ユニット420に記憶され、記憶ユニット420からロードされて実行される。このプログラムは、CD−ROM、DVD等の可搬型記録媒体に記録された形態で取得されるようにしてもよいし、インターネットなどのネットワークを介した配信の形態で取得されるようにしてもよい。
なお、制御ユニット410が実行する処理については、後述する。
上記の記憶ユニット420は、上述したプログラム等の制御ユニット410が利用する様々な情報データが記憶される。
上記の無線通信ユニット430は、サーバ装置200からネットワークNWSを介して送信されたサーバ送信データを受信する。そして、無線通信ユニット430は、当該サーバ送信データを制御ユニット410へ送る。
[動作]
次に、上記のように構成されたシステム100による路面状態推定処理及びトラクション処理の動作について、説明する。
<路面状態推定処理>
まず、サーバ装置200において行われる路面状態推定処理について説明する。
かかる路面状態推定処理に際しては、図17に示されるように、ステップS11において、サーバ装置200の路面状態推定ユニット210が、端末送信データを、端末装置3001,3002,…のいずれかから受信したか否かを判定する。この判定の結果が否定的であった場合(ステップS11:N)には、ステップS11の処理が繰り返される。一方、ステップS11における判定の結果が肯定的であった場合(ステップS11:Y)には、処理はステップS12へ進む。
ステップS12では、路面状態推定ユニット210が、端末送信データに含まれる車両が有する駆動輪の回転速度が所定速度以上か否かを判定する。この判定の結果が否定的であった場合(ステップS12:N)には、処理はステップS11へ戻る。一方、ステップS12における判定の結果が肯定的であった場合(ステップS12:Y)には、処理はステップS13へ進む。このステップS13では、「統計処理」が行われる。この「統計処理」の詳細については、後述する。
引き続き、ステップS14において、路面状態推定ユニット210が、統計処理結果である新たに受信した車両位置における路面状態を表す「摩擦係数」と「スリップ率」との関係と、記憶ユニット220内に予め用意された路面状態ごとの「摩擦係数」と「スリップ率」との関係のテンプレート(上述した図9参照)とを比較する。そして、路面状態推定ユニット210は、統計処理結果と良い一致を示すテンプレートを特定し、新たに受信した車両位置における路面状態情報を推定する。この後、処理はステップS15へ進む。
ステップS15では、路面状態推定ユニット210が、推定された路面状態情報、すなわち、路面の滑りやすさの数値化情報「D」の値を、地図上の新たに受信した車両位置へマッピングする。この後、処理はステップS11へ戻る。
こうして生成されたマッピング結果は、定期的に、端末装置3001,3002,…及び端末装置4001,4002,…へ送信される。
《統計処理》
次に、上述したステップS13における「統計処理」について説明する。
この「統計処理」は、図18に示されるように、まず、ステップS21において、路面状態推定ユニット210が、端末送信データに含まれる車両識別情報に対応する車両の重み付け値を、記憶ユニット220内の重み付け値情報(WTI)から読み取る。引き続き、ステップS22において、路面状態推定ユニット210が、端末送信データに含まれるスリップ率情報及び摩擦係数情報から成る対情報に、読み取った重み付け値を付加した重み付き対情報を生成する。次いで、ステップS23において、路面状態推定ユニット210が、端末送信データに含まれる車両位置と、重み付き対情報とを対応付ける。この後、処理はステップS24へ進む。
なお、受信したスリップ率情報及び摩擦係数情報から成る対情報は、車両位置と対応付けて、受信日時及び車両識別情報とともに、記憶ユニット220内に格納される。
ステップS24では、路面状態推定ユニット210が、新たに受信した車両位置における、当該新たな受信前に記憶ユニット220内に格納されていた対情報データ(PAI)を読み取る。引き続き、路面状態推定ユニット210は、対情報データに含まれる車両識別情報に対応する車両の重み付け値を、記憶ユニット220内の重み付け値情報(WTI)から読み取る。そして、路面状態推定ユニット210は、対情報データに含まれるスリップ率情報及び摩擦係数情報に重み付け値を付加した重み付き対情報を生成する。
引き続き、ステップS25において、路面状態推定ユニット210が、重み付き対情報について、統計処理を行う。かかる統計処理を行うに際して、路面状態推定ユニット210は、重み付き対情報における「スリップ率」を独立変数、重み付き対情報における「摩擦係数」をスリップ率の従属変数として、車両の重み付け値を採用した重み付き最小二乗法を用いる。そして、路面状態推定ユニット210は、かかる最小二乗法でフィッティングした曲線を、新たに受信した車両位置における路面状態を表す摩擦係数とスリップ率との関係として導出する。この後、処理はステップS26へ進む。
なお、本実施例では、路面状態推定ユニット210は、対情報データに含まれる受信日時を参照して、受信時点から時間を経過するほど、当該受信した対情報の重みを小さくして、重み付き最小二乗法を用いた統計処理を行うようになっている。
ステップS26では、路面状態推定ユニット210が、新たに受信したスリップ率情報と同時に受信した摩擦係数情報により示される摩擦係数の値と、当該新たに受信したスリップ率情報の値に対応する重み付き最小二乗法により導出されたフィッティング曲線上の摩擦係数の値とのずれ量を算出する。そして、路面状態推定ユニット210は、当該算出されたずれ量が大きいほど、重み付け値を小さくする更新を行う。また、路面状態推定ユニット210は、当該算出されたずれ量が小さいほど、重み付け値を大きくする更新を行う。そして、路面状態推定ユニット210は、更新された重み付け値を、記憶ユニット220の重み付け値情報(WTI)に格納する。この後、処理は、上述した図17におけるステップS14へ進む。
<端末送信データの送信処理>
次に、端末装置3001,3002,…において行われる端末送信データの送信処理について説明する。以下では、端末装置3001において行われる端末送信データの送信処理を例示して説明する。
かかる端末送信データの送信処理に際しては、図19に示されるように、ステップS41において、制御ユニット310が、車両CR11が走行中であるか否かを判定する。かかる判定は、駆動輪WHjの回転速度ωjの全てが「0」あるいは加速度αの時間積分値が「0」であるといえるか否かを判定することにより行われる。ステップS41における判定の結果が否定的であった場合(ステップS41:N)には、ステップS41の処理が繰り返される。
一方、ステップS41における判定の結果が肯定的であった場合(ステップS41:Y)には、処理はステップS42へ進む。このステップS42では、制御ユニット310が、車両位置、駆動輪の路面に対する「スリップ率情報」及び「摩擦係数情報」、駆動輪の回転速度を取得する。この後、処理はステップS43へ進む。
ステップS43では、制御ユニット310が、取得した車両位置、駆動輪の路面に対する「スリップ率情報」及び「摩擦係数情報」、駆動輪の回転速度、並びに、車両情報を、端末送信データとして、ネットワークNWSを介してサーバ装置200へ送信する。この後、処理はステップS41へ戻る。
<端末装置3001によるトラクション処理>
次に、端末装置3001,3002,…において行われるトラクション処理について説明する。以下では、端末装置3001において行われるトラクション処理を例示して説明する。
かかる端末装置3001によるトラクション処理は、図20に示されるように、まず、ステップS51において、制御ユニット310が、車両CR11が走行中であるか否かを判定する。ステップS51における判定の結果が否定的であった場合(ステップS51:N)には、ステップS51の処理が繰り返される。
一方、ステップS51における判定の結果が肯定的であった場合(ステップS51:Y)には、処理はステップS52へ進む。このステップS52では、制御ユニット310が、サーバ装置200において処理された路面状態情報(路面の滑りやすさの数値化情報「D」)のマッピング結果を、ネットワークNWSを介して取得する。この後、処理はステップS53へ進む。
ステップS53では、制御ユニット310が、モデル追従制御によるトラクション処理を実施する。かかるトラクション処理に際して、制御ユニット310は、推定した摩擦係数μ及びスリップ率λ、サーバ装置200から送られた現在位置付近のマッピング結果、並びに、記憶ユニット320内の係数bjに基づいて、上述した(19)式を利用して、利得係数kを算出する。引き続き、制御ユニット310は、当該利得係数k及び記憶ユニット320内の係数ajに基づいて、上述した(20)式を利用して、時定数τを算出する。
本実施例では、利得係数kの算出に際して、路面の滑りやすさの数値化情報「D」の値(=D1)が、大きく変化しない区間を、車両CR11が走行しているときは、推定した摩擦係数μ及びスリップ率λ、並びに、記憶ユニット320内の係数bに基づいて、(19)式を利用して、利得係数kを算出する。
また、マッピング結果から、路面の滑りやすさの数値化情報「D」の値が、例えば、値D1から値D2に大きく変化する位置に、車両CR11が入る瞬間には、値D2から利得係数kを算出する。例えば、k=1/Dという式を用いると、値D2=0.1のときはk=10となる。その後、車両CR11が、値D2の区間に入って走行しはじめれば、推定した摩擦係数μ及びスリップ率λ、並びに、記憶ユニット320内の係数bに基づいて、(19)式を利用して、利得係数kを算出する。この段階的に行う制御方法により、例えば、滑りにくい路面から滑りやすい路面に急に変わる路面において、摩擦係数μ及びスリップ率λが生成されるまでの時間を待つことなく、スリップ抑制度合いが高くなるように利得係数kを設定することが可能となる。
そして、制御ユニット310は、算出された利得係数kj及び時定数τjを設定することで、上述したモデル追従制御を実行する。この後、処理はステップS51へ戻る。以後、ステップS51〜S53の処理が繰り返されることにより、駆動輪WHjに対するトラクション処理が行われる。
<端末装置4001によるトラクション処理>
次に、端末装置4001,4002,…において行われるトラクション処理について説明する。以下では、端末装置4001において行われるトラクション処理を例示して説明する。
かかる端末装置4001によるトラクション処理は、図21に示されるように、まず、ステップS61において、制御ユニット410が、車両CR21が走行中であるか否かを判定する。ステップS61における判定の結果が否定的であった場合(ステップS61:N)には、ステップS61の処理が繰り返される。
一方、ステップS61における判定の結果が肯定的であった場合(ステップS61:Y)には、処理はステップS62へ進む。このステップS62では、制御ユニット410が、サーバ装置200において処理された路面状態情報のマッピング結果を、ネットワークNWSを介して取得する。この後、処理はステップS63へ進む。ステップS63では、制御ユニット410が、トルク上限値設定によるトラクション処理を実施する。この後、処理はステップS61へ戻る。以後、ステップS61〜S63の処理が繰り返されることにより、駆動輪WHjに対するトラクション処理が行われる。
以上説明したように、本実施例では、駆動輪を有する複数の車両CR11,CR12,…ごとに配置された端末装置3001,3002,…が、端末装置が配置された車両の位置と、端末装置が配置された車両が有する駆動輪の路面に対するスリップ率情報及び摩擦係数情報から成る対情報と、端末装置が配置された車両が有する駆動輪の回転速度とを取得する。そして、端末装置3001,3002,…のそれぞれは、取得結果を、定期的に、サーバ装置200へ送信する。
サーバ装置200では、路面状態推定ユニット210が、まず、新たに対情報を送信した車両の重み付け値を、新たに受信した対情報に付加する。引き続き、路面状態推定ユニット210は、新たに受信した車両位置と当該重み付け値を付加した対情報とを対応付けたデータを生成する。そして、路面状態推定ユニット210は、記憶ユニット220内に格納されている新たに受信した車両位置における対情報のデータと、新たに生成された対情報のデータとを組み合せた対情報のデータについて、車両の重み付け値を採用した重み付き最小二乗法を用いた統計処理を行う。そして、路面状態推定ユニット210は、重み付き最小二乗法によりフィッティングした曲線を、新たに受信した車両位置における路面状態を表す「摩擦係数」と「スリップ率」との関係として、導出する。
引き続き、路面状態推定ユニット210は、当該導出結果と、予め用意された路面状態ごとの「摩擦係数」と「スリップ率」との関係のテンプレートとを比較する。そして、路面状態推定ユニット210は、比較結果に基づいて、新たに受信した車両位置における路面状態情報を推定し、当該路面状態情報を、地図上の新たに受信した車両位置へマッピングする。こうして新たにマッピングされたマッピング結果は、ネットワークNWSを介して、複数の端末装置3001,3002,…、及び、少なくとも1つの端末装置4001,4002,…へ送信される。
そして、複数の端末装置3001,3002,…、及び、少なくとも1つの端末装置4001,4002,…において、マッピング結果に基づくトラクション処理が行われる。
したがって、本実施例によれば、複数の車両が取得した路面状態に関する情報に基づく路面状態の推定に寄与することができ、各車両における精度の高いトラクション制御に資することができる。
[実施例の変形]
本発明は、上記の実施例に限定されるものではなく、様々な変形が可能である。
例えば、上記の実施形例では、サーバ装置からは、マッピング結果が端末装置へ送信されることとした。サーバ装置から送信される情報としては、マッピングを行う前の路面状態情報であってもよい。
また、上記の実施例では、サーバ装置においてマッピング処理を行うようにしたが、端末装置側が、上述した路面状態情報を受信し、当該受信結果に基づいて、端末装置側でマッピング処理を行うようにしてもよい。
また、上記の実施例では、路面状態ごとの摩擦係数とスリップ率との関係のテンプレートとして10個のテンプレート(上述した図9参照)を用意したが、テンプレートの数は、10個以外であってもよい。
また、上記の実施例では、端末装置3001,…がモデル追従制御によるトラクション処理を実施し、端末装置4001,…がトルク上限値を設定するトラクション処理を実施することとしたが、スリップ率及び摩擦係数の少なくとも一方を利用するトラクション処理や、サーバ装置から受信する路面状態情報に基づいたトラクション処理であれば、他のトラクション処理であってもよいことは、勿論である。つまり、スリップ率や摩擦係数を用いずに、サーバ装置から受信する路面の滑りやすさの数値化情報D値からモデル追従制御の利得係数kを生成してトラクション制御を実施してもよい。
また、路面の滑りやすさを数値化したマッピング結果を、端末装置の表示部に表示させるようにしてもよい。さらに、例えば、マッピング結果に基づいて走行中の路面状態を、音声で運転者に通知すうようにしてもよい。
また、路面の滑りやすさを数値化したマッピング結果を参照して、例えば、滑りやすい道路を避ける走行ルートの案内を行うようにしてもよい。
また、上記の実施例では、端末装置3001,…が、摩擦係数推定部及びスリップ率推定部を備える構成とした。これに対し、摩擦係数推定部及びスリップ率推定部を、端末装置3001,…の外部に配置するようにしてもよい。
また、上記の実施例では、移動体が、互いに独立して駆動可能な4個の駆動輪を有する車両CRであるについて、本発明を適用した。これに対し、移動体が1個以上の駆動輪を有する場合には、本発明を適用して、トラクション制御を行うことができる。なお、移動体が複数個の駆動輪を有する場合には、個々の駆動輪を独立して駆動可能であるか否かにかかわらず、本発明を適用して、トラクション制御を行うことができる。
また、上記の実施例では、上述した(19)式を利用して、スリップ率λjと摩擦係数μjとの比に基づいて利得係数kjを算出することにした。これに対し、上述した(21)〜(23)式により、利得係数kjを算出するようにしてもよい。
また、上記の実施例では、係数bjは、スリップ率λj及び摩擦係数μjに依存した値とした。これに対し、スリップ率λj及び摩擦係数μjに応じて利得係数kjを決定するためのテーブルを作成するようにしてもよい。
また、上述した実施形態で述べたように、安定性を確保する目的のみであれば、(24)式を満たすように時定数τjを設定すればよい。
また、詳細な車両位置情報が得られれば、路面状態情報は道路の車線ごとに生成することが可能となる。したがって、例えば、複数車線の道路を走行中に、どちらの車線が走行し易いかを運転手に伝達することも可能となる。また、4輪あるいは左右の2輪それぞれで推定したスリップ率情報と摩擦係数情報が送信されれば、車線の中における左側と右側での路面状態情報を生成することが可能となる。こうした路面状態情報を生成することにより、樹木等の影で部分的に凍結している道路を走行する際に、安全走行に役立たせることができる。