교통 시뮬레이션

전찬호정현엽

2014년 7월 22일

모델

  • 장소
  • 사이클

시뮬레이션에서 조절할 수 있는 요소들

장소

  • 생성기
  • 소멸기
  • 교차로
  • 도로

생성기

소멸기

교차로

도로

사이클

  • 차선 변경 결정
  • 차선 변경 실행
  • 속도 변경
  • 위치 변경

차선 변경 결정

  • 더 빨리 가고 싶어서 하는 경우

    • 앞차와의 거리
    • 앞차의 속도
    • 트럭의 유무

  • 좌회전 등을 하기 위해 필연적으로 변경해야 하는 경우

    • 도로 끝까지의 거리
    • 해야하는 차선 변경 횟수

차선 안전성 판단


isSafeLaneDecision: function ( i ) {

  if ( this.lane + i < 0 || this.lane + i >= this.location.laneCount ) {

    return false;

  }

  if ( this.location.vehicleAtLocation( this.lane + i, this.localY ) ) {

    return false;

  }

  var vehicleSideBehind = this.location.vehicleBehindLocation( this.lane + i, this.localY );

  if ( !vehicleSideBehind ) {

    return true;

  }

  var s = vehicleSideBehind.speed;

  if ( this.speed === 0 ) return true;

  if ( s > 3 * this.speed ) {

    return false;

  }

  if ( this.gammaSide( i ) <= this.safetyDistance * 0.5 ) {

    return false;

  }

  return true;

}
						

차선 변경 실행

속도 변경

  • 앞차와의 거리
  • 앞차의 속도
  • 제한 속도
  • 옆 차의 깜빡이

위치 변경

위치 변경


updateLocation: function ( deltaTime ) {

  switch ( this.location.type ) {

    case "Road":

      var newLocalY = this.localY + this.speedY * deltaTime;
      var diff = newLocalY + this.length - this.location.length;

      if ( diff < 0 ) {

        this.localY = newLocalY;

      } else {

        this.location.vehiclesCount--;
        this.setLocation( this.locationTo, this.lane, diff );

      }

      break;

    default:

      break;

  }

}
						

시험

시뮬레이션에서 조절할 수 있는 요소들

  • 운전자 특성
    • 대략적인 차선 변경 소요 시간
    • 차선 변경을 하려고 버티는 정도
    • 최소 차간 거리
    • 제한 속도 지키려는 정도
    • 안전 거리 유지하려는 정도
    • 차선 변경을 하려는 경향
    • 트럭에 대해 느끼는 부담감
    • 차선 변경시 기다리는 정도
    • 차선 변경시 기다리는 시간의 하한선
    • 차선 변경시 기다리는 시간의 상한선
    • 운전자의 시야
    • 최대 회전 각도
  • 도로 특성
    • 최대 가속도
    • 제동의 한계
    • 초기 가속도
    • 제한 속도
    • 초기 속도
    • 트럭의 비율
    • 도로의 차선 변경을 못하게 할 초반 길이
    • 도로 길이

모델

이 모델에서 볼 수 있는 현상

  • 차가 차선변경을 하려고 버티느라 뒤의 차들이 정체되는 것
  • 차가 모였다가 흩어졌다가를 반복하는 것
  • 처음 차가 생성될시에 앞차가 속도가 크지 않아 앞이 정체되는 것

보강하고 싶은 점

  • 교차로
  • 곡선 도로

오픈 소스

github.com/justinjuncl/TrafficSimulation