Vosegus Sakura

  1. Home
  2. Vosegus Labs
  3. ごく単純な交通信号機制御シミュレーターの設計

ごく単純な交通信号機制御シミュレーターの設計

Vosegus Labs

交通信号機制御シミュレーターとは

交通量に応じて、信号の変わるタイミングを制御することで、交通渋滞を軽減することを目的としたシミュレーター。

評価

評価は、基準となる車がX地点からX地点に戻るまでにかかる時間で行う。

このページの上部へ

オブジェクトタイプ

信号機

  1. 車の移動を制限するオブジェクト
  2. 赤、黄色、青の三色
  3. 各色の点灯時間は各信号機毎にセット可能
  4. 場所はデフォルトでセットされており、後から追加は不可能

道路

  1. 車が走る範囲を制限するオブジェクト
  2. 最大2車線
  3. 左側通行
  4. 交差点では右左折フラグを持っており、そのフラグがランダムでセットされている
    右左折フラグが1の時
    斜線をまたがずに曲がる
    右左折フラグが2の時
    斜線をまたいで曲がる
    右左折フラグが3の時
    進行方向によって斜線をまたがずに曲がるか斜線をまたいで曲がる
    それ以外の時
    直進

道路バリエーション([]はインスタンス生成時の引数とオブジェクトタイプの識別子)

  1. 道路上を移動するオブジェクト
  2. 信号機のある地点では、その色によって進行・停止する
  3. 信号機が青であればそのまま進む
  4. 黄色の場合はランダムで進行・停止する
  5. 赤色の場合は止まる
  6. 信号機の色の影響範囲は常に一定
  7. 信号機の前には停止地点がある
  8. 前方に車が無く、信号機が赤の場合は、停止地点で停止
  9. 信号機のフラグを受け取って進行方向によって、停止、進行続行を決定。
    信号機が赤
    y[x]+ = 停止
    y[x]- = 進行
    信号機が黄色
    y[x]+ = 進行 or 停止(ランダム)
    y[x]- = 進行 or 停止(ランダム)
    信号機が青
    y[x]+ = 進行
    y[x]- = 停止
  10. 前方の車が停止している際は、前方の車と一定の距離を保って停止
  11. 右折、左折する際は減速(右折、左折する時間は右左折毎に一定)
  12. 交差点では道路の右左折フラグを感知し、その値に応じて曲がる
  13. 前方に車がある場合は、前方の車と一定の距離を保った速度で移動
  14. 前方に対向車があった際の右左折は、対向車の右左折到達地点までの時間が、右左折にかかる時間よりも大きい場合にのみ開始
  15. 右左折にかかる時間よりも小さい場合は一時停止

このページの上部へ

クラスの設計

信号機クラス

プロパティ
setTimer[0]:Number 赤信号の時間を設定
setTimer[1]:Number 黄色信号の時間を設定
setTimer[2]:Number 青信号の時間を設定

道路クラス

プロパティ
breaksFlg:String [1 = 斜線をまたがずに曲がる]
[2 = 斜線をまたいで曲がる]
[3 = 進行方向によって斜線をまたがずに曲がるか斜線をまたいで曲がる]
[それ以外の時 = 直進]

車クラス

プロパティ
currenttLine:Boolean 現在の車線位置 [0 = 左車線] [1 = 右車線]
dire:Number 進行方向を設定 [0 = 上] [1 = 右] [2 = 下] [3 = 左]
defaultLine:Boolean 車線位置のデフォルト位置 [0 = 左車線] [1 = 右車線]
breaks:Boolean 右左折を設定
movement:Boolean 進行・停止を設定
hitCar:Boolean 前方の車を検出

このページの上部へ