인턴하면서 새로 다루게 된 OpenSCENARIO에 대해 정리해보겠습니다!
해당 튜토리얼 참고하여 작성했습니다.
https://www.asam.net/index.php?eID=dumpFile&t=f&f=4092&token=d3b6a55e911b22179e3c0895fe2caae8f5492467
8. Examples
→ 우측통행 기준
8.1 Cut-in (끼어들기)
Ego 차량이 2차선 직선 고속도로의 가장 오른쪽 차선에서 차량 뒤에서 주행하는 교통 상황을 설명합니다 . 동시에 왼쪽 차선에서 더 빠른 차량이 Ego 차량을 추월합니다. 추월한 후에는 더 빠른 차량이 Ego 차량의 차선으로 끼어듭니다.
초기화 단계에서는 환경 조건이 설정됩니다. Ego 차량은 가장 오른쪽 차선에서 인스턴스화되어 100km/h로 주행합니다. 같은 속도, 같은 차선으로 주행하는 차량이 Ego 차량 보다 84m 앞서 인스턴스화됩니다 . 110km/h로 주행하는 두 번째 자동차는 왼쪽 차선에 있는 Ego 차량 뒤 100m 지점에서 인스턴스화됩니다.
시뮬레이션 실행 시 두 번째 차량이 Ego 차량을 20m 통과한 후 지정된 궤적을 사용하여 Ego 차량의 차선으로 들어갑니다.
8.2 Slow preceding vehicle
Ego 차량이 2차선 곡선 고속도로의 동일한 차선에서 느린 차량에 접근하는 교통 상황을 설명합니다.
초기화 단계에서는 환경 조건이 설정됩니다. 선행 차량은 가장 오른쪽 차선에서 인스턴스화됩니다. 시속 80km의 일정한 속도로 주행하고 있습니다. Ego 차량은 같은 차선에 있지만 200m 뒤에 있는 이 차량을 기준으로 인스턴스화되어 100km/h로 주행합니다.
- SlowPrecedingVehicleDeterministicParameterSet.xosc: Ego의 속도에서 가능한 모든 값은 A1의 속도에서 가능한 모든 값과 결합됩니다.
- SlowPrecedingVehicleStochasticParameterSet.xosc: 각 시뮬레이션 실행에 대해 매개변수는 서로 독립적으로 변경됩니다. 가중치는 주어진 매개변수에 대해 값이 나타나는 빈도를 정의합니다.
8.3 End of traffic jam
능선을 가로지르는 직선 2차선 고속도로에서 나란히 운전하는 두 대의 저속 차량에 Ego 차량이 접근하는 교통 상황을 설명합니다 .
환경 조건은 초기화 단계에서 설정됩니다. Ego 차량은 도로 의 가장 오른쪽 차선에서 100km/h의 일정한 속도로 인스턴스화됩니다. Ego 차량 보다 200m 앞선 가장 오른쪽 차선과 왼쪽 인접 차선에 80km/h의 속도로 두 대의 차량이 인스턴스화됩니다.
시뮬레이션 런타임에서 차량 A1은 100m의 거리를 이동하고 차량 A2는 200m의 거리를 이동한 후 목표 속도 70km/h에 도달할 때까지 선형적으로 5m/s^2 감속합니다.
8.4 End of traffic jam, neighboring lane occupied
이 고속도로의 가장 오른쪽과 가장 왼쪽 차선은 정지해 있는 차량들로 인해 막혀 있습니다. 세 번째 차량은 가장 오른쪽 차선에 있는 정지 차량과의 충돌을 방지하기 위해 가장 오른쪽 차선으로 차선 변경을 수행합니다. 동시에, 완전히 정지할 때까지 감속합니다.
초기화 단계에서는 환경 조건이 설정됩니다. Ego 차량은 도로 의 가장 오른쪽 차선에서 80km/h의 일정한 속도로 인스턴스화됩니다. Ego 차량 보다 300m 앞서 동일한 차선에서 70km/h의 속도로 차량이 인스턴스화됩니다. Ego 차량 보다 1000m 앞서 세 번째 차량이 다른 두 차량과 동일한 차선에 인스턴스화됩니다. 이 차량은 정지 상태입니다(속도 0km/h). 네 번째 차량은 Ego 차량 보다 왼쪽으로 2차선, 1000m 앞에 위치해 있습니다 .
시뮬레이션 실행 시 70km/h의 속도로 Ego 차량 앞에서 주행하는 차량은 같은 차선에 정지해 있는 차량에 55m 접근하자마자 왼쪽으로 차선 변경을 수행합니다. 차선 변경과 병행하여 완전히 정지할 때까지 속도를 10m/s 2 만큼 선형적으로 감소시킵니다.
8.5 Double lane changer → LaneChangeAction
Ego 차량이 3차선 고속도로의 가장 오른쪽 차선에서 다른 차량 뒤에서 같은 속도로 간격을 두고 주행하는 교통 상황을 설명합니다 . 더 빠른 차량이 중앙 차선에서 뒤에서 *Ego 차량 에 접근합니다. 이 차량은 Ego 차량을 통과한 후 가장 오른쪽 차선의 틈으로 차선을 변경*합니다 . 앞서 주행하는 차량 과의 충돌을 피하기 위해 즉시 중앙차선으로 다시 변경합니다.
초기화 단계에서는 Ego 차량이 130km/h의 속도로 가장 오른쪽 차선에서 초기화됩니다. 두 번째 차량은 170km/h의 속도로 주행하는 가장 중앙 차선에서 Ego 차량 뒤 13m에서 초기화됩니다 . 세 번째 차량은 시속 130km로 주행하는 가장 오른쪽 차선에서 Ego 차량 보다 70m 앞서 초기화됩니다 .
시뮬레이션 실행 시 가장 중앙 차선의 고속 차량이 Ego 차량을 5m 통과하면 가장 오른쪽 차선으로 정현파 차선 변경을 수행합니다. 이 작업이 완료되면 차량은 또 다른 정현파 차선 변경을 사용하여 즉시 중앙 차선으로 다시 변경됩니다.
8.6 Fast overtake with re-initialization → Act&Action
ego 차량이 3차선 고속도로의 오른쪽 차선에서 속도를 줄이는 트럭에 접근하는 교통 상황을 설명합니다. 트럭이 이 작업을 수행하면 추월 차량이 중앙 차선에서 초기화됩니다.
초기화 단계에서 Ego 차량은 가장 오른쪽 차선에서 130km/h의 속도로 초기화됩니다. 90km/h의 속도로 주행하는 트럭은 같은 차선에서 120m 전방에서 초기화됩니다. 추월차량은 임의의 위치와 방향으로 초기화됩니다.
시뮬레이션 런타임에서 Ego 차량이 트럭에 60m 접근하면 후자는 속도를 60km/h로 선형적으로 줄입니다. 이 조치는 추월 차량이 트럭 200m 뒤에서 200km/h의 속도로 중앙 차선으로 재배치되도록 합니다. 이 작업은 2초 지연됩니다.
8.7 Overtaking → LaneChangeAction
3차선 고속도로의 가장 오른쪽 차선에서 주행하는 더 빠른 차량이 Ego 차량 에 접근하는 교통 상황을 설명합니다 .
초기화 단계에서는 Ego 차량이 130km/h의 속도로 주행하는 가장 오른쪽 차선에서 초기화됩니다. 다른 차량은 같은 차선에서 150km/h의 속도로 주행하는 Ego 차량 보다 79m 뒤에서 초기화됩니다 .
시뮬레이션 실행 시 더 빠른 차량이 Ego 차량 에 30m 접근하면 왼쪽으로 사인파형 차선 변경을 수행합니다. 차량이 Ego 차량 보다 5m 전방에 진입하자마자 다시 가장 오른쪽 차선으로 차선을 변경합니다.
8.8 Traffic jam
Ego 차량이 3차선 고속도로에서 다른 차량 6대의 교통 정체에 접근하는 교통 상황을 설명합니다 .
초기화 단계에서 Ego 차량은 가장 왼쪽 차선에서 130km/h의 속도로 초기화됩니다. 교통 정체를 일으키는 차량은 0km/h의 속도로 Ego 차량 보다 145m 전방에서 초기화됩니다. 한 쌍의 차량이 고속도로의 3개 차선을 모두 차단합니다. 각 쌍은 해당하는 두 차량 사이에 8m의 세로 간격이 있습니다.
8.9 Synchronized arrival at intersection → SynchronizeAction
Ego 차량과 다른 차량이 충돌 경로에 있는 교차로에서 중요한 상황을 재현합니다. Ego 차량은 10m/s의 초기 속도로 인스턴스화되고 교차로(남쪽에서 북쪽)를 직선으로 안내하는 경로가 할당됩니다. 두 번째 차량은 속도가 없고 동일한 교차로(서쪽에서 동쪽)를 직선으로 안내하는 경로로 인스턴스화됩니다.
차량 간 거리가 70m 미만이 되는 순간, SynchronizeAction이 작동된다. 이 단계에서 횡단 차량은 동기화 위치에 도달하기 위해 속도를 조절하는 동시에 Ego 차량이 동기화 위치에 도달합니다. 또한 횡단 차량은 최종 속도 7m/s로 동기화 위치에 도달하도록 제한됩니다.
차량이 동기화 위치에 도달하면 작업이 완료되고 차량 A1은 7m/s의 속도로 교차로를 통과하는 기본 동작 주행을 재개합니다.
8.10 Close Vehicle Crossing
→TrajectoryCatalog, TrajectoryPosition FollowTrajectoryActions with initialDistanceOffset.
Ego 차량이 수직으로 교차하는 두 대의 차량과 일치하는 교차로에 접근하는 중요한 교통 상황을 설명합니다 .
초기화 단계에서 Ego 차량은 교차로 서쪽 110m 지점에서 시속 23km의 속도로 생성됩니다. 다른 차량은 약 18초에 교차로를 가로지르는 궤적에서 교차로 북쪽 255m 지점에 생성됩니다.
시뮬레이션 런타임에서 non-ego차량은 ego 차량 과 일치하면서 교차로를 가로지르는 동일한 궤적을 따릅니다 .
c.f) Terms and definitions
- Ego Vehicle: 시나리오의 초점이 되는 차량, 즉 테스트 중인 차량을 의미합니다.
- 자율주행 시스템에서, Ego 차량은 테스트 중인 시스템에 의해 제어되는 차량입니다.
- 인간 운전자 실험에서, Ego 차량은 인간 운전자가 운전하는 차량입니다.
- 시나리오에는 0개, 1개 또는 여러 개의 _Ego Vehicle_이 있을 수 있습니다.
- Parameterization: 사용자 요구나 확률론적 선택에 따라 이후 단계에서 구체적인 값으로 대체될 수 있는 기호인 매개변수를 사용합니다.
- World: 시나리오의 공간적 범위에 포함되어 시나리오 설명의 일부를 구성할 수 있는 모든 것.
'임베디드 > Intern' 카테고리의 다른 글
ASAM OpenSCENARIO: User Guide | 7. Tutorial: How to create a scenario (0) | 2024.03.11 |
---|---|
ASAM OpenSCENARIO: User Guide | 6. Reuse mechanisms (0) | 2024.03.11 |
ASAM OpenSCENARIO: User Guide | 5. Scenario at runtime (1) | 2024.03.08 |
ASAM OpenSCENARIO: User Guide | 4. Components of a scenario (0) | 2024.03.08 |
ASAM OpenSCENARIO: User Guide | 3. General Concepts (6) | 2024.03.08 |