単純な円状サーキットの上の交通渋滞(OVモデル)  〜JAVA プログラム

(Up)


<原理>


 交通渋滞のモデルとして 杉山先生他が提唱された「OVモデル」(最適速度模型(Optimal Velocity Model)があります。
 このモデルは基本的に下の様な式で表されます。

   
   此処に A:加速度
        α:係数
        U:非線形な単調増加関数 ( tanh )
         D:前の車との車間距離
         V:速度

 この式を直感的に説明すると次のようになります。

1)車の加速度は 「加速成分」と「減速成分」の重ね合わせにより合成される。
2)「加速度成分」は「車間距離」の関数として表される。 その関数はシグモイド関数のように非線形な単調増加関数である。
3)「減速成分」は 速度に比例する。

 下に各成分のイメージを示します。

    


 加速成分と減速成分が一致したところで、車は定速走行状態となります。 この時の速度が 制限速度や車の性能等によって決まるように 係数を修正します。



 本シミュレーションでは上記式に、一工夫加えてみました。

★「加速成分の修正」
  
  加速成分を式を下記のように修正してみました。

       
           ここに D:車間距離、(delay):デフォルトの不応範囲を表す係数、k1:係数、(slope):傾き 、V:速度、k2:係数

  渋滞に巻きこまれた時など、低速走行時には、前方の車との車間距離が少しでも広がると、直ちに車間距離を詰めたくなります。 これを 式の( delay) * (1+V/K1)で表しました。
  また、車間距離が詰まってくると、迅速な応答が必要です。(逆に言えば車間距離を大きく取っている時は、余裕のある操作が行えます) これを 式の (slope)*( 1+ D/k2 )で表しました。

  上記の与える影響を図示すると下の様になります。

        


★「減速成分の修正」

  減速成分を下のように修正してみました。
   

       ここに V:速度、 f1,f2,f3は感覚器等からの入力、 k3:係数、 D:車間距離

  車間距離が小さい時には、以下の感覚入力の影響も大きいとしました。
   f1=車間距離の変化量                ・・・・・ 車間距離が縮まることを認知。
   f2=前方車両の加速度と自分の加速度の差   ・・・・・・ 前方車のストップライト点灯等により、前方車が減速し始めた事を知る。
   f3=前方車両の速度と自分の速度の差      ・・・・・ 車高の高いものは急激に接近して来るように感じることもある。
      (f3は、f1が存在すれば不要かもしれませんが、夜間走行時の錯覚等もあるので要因として入れてあります。)
  


<シミュレーション>


 本シミュレーションでは、、円形の周回サーキット上に、上記のOVモデルの車を、等間隔でならべ、一斉に発進させました。
 シミュレーションの表示の仕方として、円を切り開き、直線として見せています。 即ち、右端へ達した車両は、左端から現れます。

          

 OVモデルの計算は 車の内部の「ドライバー」オブジェクトに任せています。
 これは、将来 モデルを改造して ドライバーの錯覚や思い込み、疲れ等を組み込むのに都合が良いように、車の性能と、運転者の人的要因を分けるためです。
 但し、今回は、車の性能や、人間の特性は組み込んでいません。

                     


 (1)シミュレーション1頁目
 
 アプレットで示したサーキットは1週:1000mとし、そのサーキットに 60台、70台、80台の車を、等間隔に配置し、一斉にスタートしました。
 車の加速度の計算順序としては、前方の車を先に計算するべきですが、此処では敢えて、後方の車から計算を行って、順次前方へ計算を行うようにしました。
 このことが、δT秒の時間差を産み、それが揺らぎとなって、各ドライバーの操作に影響を与えます。 この揺らぎが、時間の経過とともに次第に大きくなってゆき、 遂に、ある場所で渋滞が発生します。
 車の台数が60台の場合には、上記揺らぎを吸収できるだけの車間距離があるため、各車の変動は全体に広がりません。 車の台数が多くなり車間距離が縮まると、揺らぎが吸収できなくなります。 車間距離がもっと短くなると、揺らぎの波及時間も短くなり早くから渋滞が発生します。

 (2)シミュレーション2頁目

 シミュレーション2頁目では サーキットに高低差を付けました。 上り坂では一様に減速し、下り坂では一様に加速します。 車の台数はシミュレーション1頁では渋滞が発生しなかった60台を配置しています。



 シミュレーション例

  しばらく動作させていると、次第に渋滞が発生してくる。
 (動画) 
   


 (動画)
  


 

<参考文献> 

1) 杉山雄規著    交通流の物理(<特集>交通流)              Physics of Traffic Flow(<Special Reviews>Traffic Flow)‎  (2003) ‎
2) 小松輝久著        交通渋滞と粉体の渋滞(<特集>交通流)     Traffic Congestion and Granular Jamming(<Special Reviews>Traffic Flow)‎  (2003) ‎
3)   

キーワード: 交通渋滞、OVモデル、Javaプログラム、シミュレーション


(JAVAプログラム実行へ)                                   (Topへ)

(別な交通渋滞シミュレーション複数の脳内小人(コロポックル)で構成された運転手)

 Javaソースプログラムは、上記(Javaプログラム実行へ)の頁からダウンロードできます(ウイルスチェック済み)。

初版:2013/12/17 |





蛇島伸吾