From bd698be74686d67a91f66e2b98ec997990ecc2d4 Mon Sep 17 00:00:00 2001 From: Andreas Rauschert Date: Fri, 9 Apr 2021 17:17:55 +0200 Subject: [PATCH 1/5] Add type property for ego vehicle --- Catalogs/Vehicles/VehicleCatalog.xosc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Catalogs/Vehicles/VehicleCatalog.xosc b/Catalogs/Vehicles/VehicleCatalog.xosc index e0390a1..3539387 100644 --- a/Catalogs/Vehicles/VehicleCatalog.xosc +++ b/Catalogs/Vehicles/VehicleCatalog.xosc @@ -3,8 +3,10 @@ - - + + + + From 54c7bda05c10c828205a411cf982d992378fd4a4 Mon Sep 17 00:00:00 2001 From: Andreas Rauschert Date: Tue, 13 Apr 2021 10:29:51 +0200 Subject: [PATCH 2/5] Extend readme for CARLA, change start position of ego --- README.md | 21 ++++++++++++++++--- ...S_Scenario_4.1_1_FreeDriving_TEMPLATE.xosc | 2 +- ...io_4.1_2_SwervingLeadVehicle_TEMPLATE.xosc | 4 ++-- ...io_4.1_3_SwervingSideVehicle_TEMPLATE.xosc | 6 +++--- ...io_4.2_1_FullyBlockingTarget_TEMPLATE.xosc | 2 +- ....2_2_PartiallyBlockingTarget_TEMPLATE.xosc | 2 +- ...rio_4.2_3_CrossingPedestrian_TEMPLATE.xosc | 2 +- ....2_4_MultipleBlockingTargets_TEMPLATE.xosc | 2 +- ...FollowLeadVehicleComfortable_TEMPLATE.xosc | 4 ++-- ...lowLeadVehicleEmergencyBrake_TEMPLATE.xosc | 4 ++-- ...nario_4.4_1_CutInNoCollision_TEMPLATE.xosc | 4 ++-- ..._2_CutInUnavoidableCollision_TEMPLATE.xosc | 4 ++-- ...io_4.5_1_CutOutFullyBlocking_TEMPLATE.xosc | 4 ++-- ...utOutMultipleBlockingTargets_TEMPLATE.xosc | 4 ++-- ..._4.6_1_ForwardDetectionRange_TEMPLATE.xosc | 2 +- ..._4.6_2_LateralDetectionRange_TEMPLATE.xosc | 6 +++--- 16 files changed, 44 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index e3dc947..6100b1b 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,13 @@ The implementation of the scenarios should as well be conducted using an interna The focus of the scenarios is on securing the planning aspects of an "Automated Lane Keeping System". By extending the scenarios with references to e.g. 3D models or environmental conditions (e.g. light, rain), aspects of sensor and actuator technology could also be simulated and validated. -## Usage +## Running on Windows The execution in the open source tools "esmini", a basic OpenSCENARIO player, and "openPASS", a simulation platform for traffic simulation, is described on Windows: _Note:_ The execution with openPASS expects xsltproc on the system path. Check out the "Notes regarding openPASS" for more information. -1. Clone or download the repository to your local drive. +1. Clone or download this repository to your local drive. 2. a) Download the [latest esmini release](https://github.com/esmini/esmini/releases) (e.g. esmini-bin_win_x64.zip) (tested successfully with [esmini 2.0.3](https://github.com/esmini/esmini/releases/tag/v2.0.3)), or b) Download the [latest openPASS release](https://gitlab.eclipse.org/eclipse/simopenpass/simopenpass) (tested successfully with [openPASS v0.7](https://gitlab.eclipse.org/eclipse/simopenpass/simopenpass/-/tree/openPASS_0.7)) @@ -35,7 +35,6 @@ b) Create an environment variable "OPENPASS", which directs to the installation 4. Execute the script "run_Scenario.bat", located in the "Scenarios" folder of the local repository 5. By changing the parameter values in the parameter declaration section of the OpenSCENARIO files, the concrete scenarios can be varied. - #### Notes regarding esmini: Esmini is an environment simulator with a visualization and does not provide an ALKS. Therefore, for demonstration purposes the vehicle under test is controlled by a so called "default controller", which is provided by esmini. This controller type is defined by the OpenSCENARIO standard as a controller that only maintains the speed and lane offset without taking other traffic participants into account. @@ -57,6 +56,22 @@ Similar to esmini, openPASS does not provide an ALKS. Therefore, for demonstrati Currently openPASS does not support the controller concept of OpenSCENARIO. Instead, entities and their controlling components are defined in the ProfilesCatalog.xml. Sourrounding entities are also controlled by the Algorithm Following Driver Model. Therefore, the velocities of the surrounding entities may differ slightly from the definitions in the scenarios. +## Running on Linux + +The execution in the open source simulator "CARLA" under Ubuntu 20.04 is described here: +1. Clone or download this repository to your local drive. +2. Download CARLA and the compatible scenario-runner for CARLA (tested successfully with [CARLA 0.9.11](https://github.com/carla-simulator/carla/releases/tag/0.9.11) and [scenario_runner-0.9.11](https://github.com/carla-simulator/scenario_runner/releases/tag/v0.9.11) +3. Follow the installation instructions for [CARLA](https://carla.readthedocs.io/en/0.9.11/) and the [scenario_runner](https://github.com/carla-simulator/scenario_runner/blob/master/Docs/getting_scenariorunner.md) (be sure to install all the required tools and libs from requirements.txt (mentioned in "Installation summary" and to set the environment variables (mentioned in "B. Download ScenarioRunner from source")) +4. Once you can run the .xosc scenarios delivered with CARLA, run the ALKS scenarios like this: + a) Start the CARLA simulator: Go to the CARLA installation folder and type "./CarlaUE4.sh" + b) Start the scenario runner: Go to the scenario_runner installation folder and type e.g. "python scenario_runner.py --openscenario /path/to/OSC-ALKS-scenarios/Scenarios/ALKS_Scenario_4.1_1_FreeDriving_TEMPLATE.xosc" + +Execution with esmini or openPASS on Linux hasn't been tested yet. + +#### Notes regarding CARLA + +With CARLA version 0.9.11 the following scenarios are supported: 4.1_1, 4.2_1, 4.2_2, 4.2_4 (4.2 only if the pedestrian is modeled directly in the scenario and not in a catalog or is exchanged by a vehicle). + ## Quality Measures As a first proof-of-concept the scenarios have been integrated and simulated in [openPASS 0.7](https://git.eclipse.org/c/simopenpass/simopenpass.git/tag/?h=openPASS_0.7) at BMW. In addition the open source tool esmini can be used as described above. diff --git a/Scenarios/ALKS_Scenario_4.1_1_FreeDriving_TEMPLATE.xosc b/Scenarios/ALKS_Scenario_4.1_1_FreeDriving_TEMPLATE.xosc index 1282eb3..8aee608 100644 --- a/Scenarios/ALKS_Scenario_4.1_1_FreeDriving_TEMPLATE.xosc +++ b/Scenarios/ALKS_Scenario_4.1_1_FreeDriving_TEMPLATE.xosc @@ -38,7 +38,7 @@ - + diff --git a/Scenarios/ALKS_Scenario_4.1_2_SwervingLeadVehicle_TEMPLATE.xosc b/Scenarios/ALKS_Scenario_4.1_2_SwervingLeadVehicle_TEMPLATE.xosc index 1dd106c..d237633 100644 --- a/Scenarios/ALKS_Scenario_4.1_2_SwervingLeadVehicle_TEMPLATE.xosc +++ b/Scenarios/ALKS_Scenario_4.1_2_SwervingLeadVehicle_TEMPLATE.xosc @@ -47,7 +47,7 @@ - + @@ -66,7 +66,7 @@ - + diff --git a/Scenarios/ALKS_Scenario_4.1_3_SwervingSideVehicle_TEMPLATE.xosc b/Scenarios/ALKS_Scenario_4.1_3_SwervingSideVehicle_TEMPLATE.xosc index ffcfd19..41b670c 100644 --- a/Scenarios/ALKS_Scenario_4.1_3_SwervingSideVehicle_TEMPLATE.xosc +++ b/Scenarios/ALKS_Scenario_4.1_3_SwervingSideVehicle_TEMPLATE.xosc @@ -7,7 +7,7 @@ - + @@ -47,7 +47,7 @@ - + @@ -66,7 +66,7 @@ - + diff --git a/Scenarios/ALKS_Scenario_4.2_1_FullyBlockingTarget_TEMPLATE.xosc b/Scenarios/ALKS_Scenario_4.2_1_FullyBlockingTarget_TEMPLATE.xosc index 5c4bc3f..41ffeab 100644 --- a/Scenarios/ALKS_Scenario_4.2_1_FullyBlockingTarget_TEMPLATE.xosc +++ b/Scenarios/ALKS_Scenario_4.2_1_FullyBlockingTarget_TEMPLATE.xosc @@ -44,7 +44,7 @@ - + diff --git a/Scenarios/ALKS_Scenario_4.2_2_PartiallyBlockingTarget_TEMPLATE.xosc b/Scenarios/ALKS_Scenario_4.2_2_PartiallyBlockingTarget_TEMPLATE.xosc index 4383b35..eb35749 100644 --- a/Scenarios/ALKS_Scenario_4.2_2_PartiallyBlockingTarget_TEMPLATE.xosc +++ b/Scenarios/ALKS_Scenario_4.2_2_PartiallyBlockingTarget_TEMPLATE.xosc @@ -45,7 +45,7 @@ - + diff --git a/Scenarios/ALKS_Scenario_4.2_3_CrossingPedestrian_TEMPLATE.xosc b/Scenarios/ALKS_Scenario_4.2_3_CrossingPedestrian_TEMPLATE.xosc index e0a5d45..7ea92b4 100644 --- a/Scenarios/ALKS_Scenario_4.2_3_CrossingPedestrian_TEMPLATE.xosc +++ b/Scenarios/ALKS_Scenario_4.2_3_CrossingPedestrian_TEMPLATE.xosc @@ -43,7 +43,7 @@ - + diff --git a/Scenarios/ALKS_Scenario_4.2_4_MultipleBlockingTargets_TEMPLATE.xosc b/Scenarios/ALKS_Scenario_4.2_4_MultipleBlockingTargets_TEMPLATE.xosc index ab1211c..9cfb702 100644 --- a/Scenarios/ALKS_Scenario_4.2_4_MultipleBlockingTargets_TEMPLATE.xosc +++ b/Scenarios/ALKS_Scenario_4.2_4_MultipleBlockingTargets_TEMPLATE.xosc @@ -48,7 +48,7 @@ - + diff --git a/Scenarios/ALKS_Scenario_4.3_1_FollowLeadVehicleComfortable_TEMPLATE.xosc b/Scenarios/ALKS_Scenario_4.3_1_FollowLeadVehicleComfortable_TEMPLATE.xosc index 53f33c7..2140fc0 100644 --- a/Scenarios/ALKS_Scenario_4.3_1_FollowLeadVehicleComfortable_TEMPLATE.xosc +++ b/Scenarios/ALKS_Scenario_4.3_1_FollowLeadVehicleComfortable_TEMPLATE.xosc @@ -47,7 +47,7 @@ - + @@ -66,7 +66,7 @@ - + diff --git a/Scenarios/ALKS_Scenario_4.3_2_FollowLeadVehicleEmergencyBrake_TEMPLATE.xosc b/Scenarios/ALKS_Scenario_4.3_2_FollowLeadVehicleEmergencyBrake_TEMPLATE.xosc index 25ad88e..276093b 100644 --- a/Scenarios/ALKS_Scenario_4.3_2_FollowLeadVehicleEmergencyBrake_TEMPLATE.xosc +++ b/Scenarios/ALKS_Scenario_4.3_2_FollowLeadVehicleEmergencyBrake_TEMPLATE.xosc @@ -45,7 +45,7 @@ - + @@ -64,7 +64,7 @@ - + diff --git a/Scenarios/ALKS_Scenario_4.4_1_CutInNoCollision_TEMPLATE.xosc b/Scenarios/ALKS_Scenario_4.4_1_CutInNoCollision_TEMPLATE.xosc index 354e4b2..b58cde9 100644 --- a/Scenarios/ALKS_Scenario_4.4_1_CutInNoCollision_TEMPLATE.xosc +++ b/Scenarios/ALKS_Scenario_4.4_1_CutInNoCollision_TEMPLATE.xosc @@ -48,7 +48,7 @@ - + @@ -67,7 +67,7 @@ - + diff --git a/Scenarios/ALKS_Scenario_4.4_2_CutInUnavoidableCollision_TEMPLATE.xosc b/Scenarios/ALKS_Scenario_4.4_2_CutInUnavoidableCollision_TEMPLATE.xosc index 9a88c6d..b21503b 100644 --- a/Scenarios/ALKS_Scenario_4.4_2_CutInUnavoidableCollision_TEMPLATE.xosc +++ b/Scenarios/ALKS_Scenario_4.4_2_CutInUnavoidableCollision_TEMPLATE.xosc @@ -48,7 +48,7 @@ - + @@ -67,7 +67,7 @@ - + diff --git a/Scenarios/ALKS_Scenario_4.5_1_CutOutFullyBlocking_TEMPLATE.xosc b/Scenarios/ALKS_Scenario_4.5_1_CutOutFullyBlocking_TEMPLATE.xosc index 1c5c327..7b531bb 100644 --- a/Scenarios/ALKS_Scenario_4.5_1_CutOutFullyBlocking_TEMPLATE.xosc +++ b/Scenarios/ALKS_Scenario_4.5_1_CutOutFullyBlocking_TEMPLATE.xosc @@ -50,7 +50,7 @@ - + @@ -80,7 +80,7 @@ - + diff --git a/Scenarios/ALKS_Scenario_4.5_2_CutOutMultipleBlockingTargets_TEMPLATE.xosc b/Scenarios/ALKS_Scenario_4.5_2_CutOutMultipleBlockingTargets_TEMPLATE.xosc index 549f41d..6084a9e 100644 --- a/Scenarios/ALKS_Scenario_4.5_2_CutOutMultipleBlockingTargets_TEMPLATE.xosc +++ b/Scenarios/ALKS_Scenario_4.5_2_CutOutMultipleBlockingTargets_TEMPLATE.xosc @@ -54,7 +54,7 @@ - + @@ -91,7 +91,7 @@ - + diff --git a/Scenarios/ALKS_Scenario_4.6_1_ForwardDetectionRange_TEMPLATE.xosc b/Scenarios/ALKS_Scenario_4.6_1_ForwardDetectionRange_TEMPLATE.xosc index ff2f568..311bc9d 100644 --- a/Scenarios/ALKS_Scenario_4.6_1_ForwardDetectionRange_TEMPLATE.xosc +++ b/Scenarios/ALKS_Scenario_4.6_1_ForwardDetectionRange_TEMPLATE.xosc @@ -45,7 +45,7 @@ - + diff --git a/Scenarios/ALKS_Scenario_4.6_2_LateralDetectionRange_TEMPLATE.xosc b/Scenarios/ALKS_Scenario_4.6_2_LateralDetectionRange_TEMPLATE.xosc index 8a47820..1077b5a 100644 --- a/Scenarios/ALKS_Scenario_4.6_2_LateralDetectionRange_TEMPLATE.xosc +++ b/Scenarios/ALKS_Scenario_4.6_2_LateralDetectionRange_TEMPLATE.xosc @@ -6,7 +6,7 @@ - + @@ -47,7 +47,7 @@ - + @@ -66,7 +66,7 @@ - + From 77fa55242b45c0bafcf19874ef5f4984c5d8c903 Mon Sep 17 00:00:00 2001 From: Andreas Rauschert Date: Tue, 13 Apr 2021 11:43:28 +0200 Subject: [PATCH 3/5] Set absolute init speed for lead vehicle --- ...KS_Scenario_4.3_1_FollowLeadVehicleComfortable_TEMPLATE.xosc | 2 +- ...Scenario_4.3_2_FollowLeadVehicleEmergencyBrake_TEMPLATE.xosc | 2 +- Scenarios/ALKS_Scenario_4.5_1_CutOutFullyBlocking_TEMPLATE.xosc | 2 +- ...S_Scenario_4.5_2_CutOutMultipleBlockingTargets_TEMPLATE.xosc | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Scenarios/ALKS_Scenario_4.3_1_FollowLeadVehicleComfortable_TEMPLATE.xosc b/Scenarios/ALKS_Scenario_4.3_1_FollowLeadVehicleComfortable_TEMPLATE.xosc index 2140fc0..bb7699e 100644 --- a/Scenarios/ALKS_Scenario_4.3_1_FollowLeadVehicleComfortable_TEMPLATE.xosc +++ b/Scenarios/ALKS_Scenario_4.3_1_FollowLeadVehicleComfortable_TEMPLATE.xosc @@ -75,7 +75,7 @@ - + diff --git a/Scenarios/ALKS_Scenario_4.3_2_FollowLeadVehicleEmergencyBrake_TEMPLATE.xosc b/Scenarios/ALKS_Scenario_4.3_2_FollowLeadVehicleEmergencyBrake_TEMPLATE.xosc index 276093b..e97cc59 100644 --- a/Scenarios/ALKS_Scenario_4.3_2_FollowLeadVehicleEmergencyBrake_TEMPLATE.xosc +++ b/Scenarios/ALKS_Scenario_4.3_2_FollowLeadVehicleEmergencyBrake_TEMPLATE.xosc @@ -73,7 +73,7 @@ - + diff --git a/Scenarios/ALKS_Scenario_4.5_1_CutOutFullyBlocking_TEMPLATE.xosc b/Scenarios/ALKS_Scenario_4.5_1_CutOutFullyBlocking_TEMPLATE.xosc index 7b531bb..0185a17 100644 --- a/Scenarios/ALKS_Scenario_4.5_1_CutOutFullyBlocking_TEMPLATE.xosc +++ b/Scenarios/ALKS_Scenario_4.5_1_CutOutFullyBlocking_TEMPLATE.xosc @@ -89,7 +89,7 @@ - + diff --git a/Scenarios/ALKS_Scenario_4.5_2_CutOutMultipleBlockingTargets_TEMPLATE.xosc b/Scenarios/ALKS_Scenario_4.5_2_CutOutMultipleBlockingTargets_TEMPLATE.xosc index 6084a9e..b9af974 100644 --- a/Scenarios/ALKS_Scenario_4.5_2_CutOutMultipleBlockingTargets_TEMPLATE.xosc +++ b/Scenarios/ALKS_Scenario_4.5_2_CutOutMultipleBlockingTargets_TEMPLATE.xosc @@ -100,7 +100,7 @@ - + From 676f23816eb3e4c72a87067c0f283b7f05b8f918 Mon Sep 17 00:00:00 2001 From: Andreas Rauschert <67410515+arauschert@users.noreply.github.com> Date: Wed, 14 Apr 2021 19:22:36 +0200 Subject: [PATCH 4/5] Update README that test was done with esmini 2.7.2 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6100b1b..e190cb5 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ The execution in the open source tools "esmini", a basic OpenSCENARIO player, an _Note:_ The execution with openPASS expects xsltproc on the system path. Check out the "Notes regarding openPASS" for more information. 1. Clone or download this repository to your local drive. -2. a) Download the [latest esmini release](https://github.com/esmini/esmini/releases) (e.g. esmini-bin_win_x64.zip) (tested successfully with [esmini 2.0.3](https://github.com/esmini/esmini/releases/tag/v2.0.3)), +2. a) Download the [latest esmini release](https://github.com/esmini/esmini/releases) (e.g. esmini-bin_win_x64.zip) (tested successfully with [esmini 2.7.2](https://github.com/esmini/esmini/releases/tag/v2.7.2)), or b) Download the [latest openPASS release](https://gitlab.eclipse.org/eclipse/simopenpass/simopenpass) (tested successfully with [openPASS v0.7](https://gitlab.eclipse.org/eclipse/simopenpass/simopenpass/-/tree/openPASS_0.7)) 3. a) Create an environment variable "ESMINI", which directs to the "bin" folder of esmini. E.g. "C:\MyFolder\esmini\bin\", From 6185a87e82106fe2fc6ac0a6d2af7fe9e1c5ce24 Mon Sep 17 00:00:00 2001 From: Andreas Rauschert Date: Mon, 19 Apr 2021 16:00:00 +0200 Subject: [PATCH 5/5] Adjustment to keep openPASS compatibility RelativeLanePosition is the better choice but not yet supported by OpenPASS. But with the update to OpenSCENARIO 1.1 the initial distance of the lead vehicle will be calculated anyway by an expression. So then this will be refactored again. --- .../ALKS_Scenario_4.5_1_CutOutFullyBlocking_TEMPLATE.xosc | 4 ++-- ...Scenario_4.5_2_CutOutMultipleBlockingTargets_TEMPLATE.xosc | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Scenarios/ALKS_Scenario_4.5_1_CutOutFullyBlocking_TEMPLATE.xosc b/Scenarios/ALKS_Scenario_4.5_1_CutOutFullyBlocking_TEMPLATE.xosc index 0185a17..42dcac7 100644 --- a/Scenarios/ALKS_Scenario_4.5_1_CutOutFullyBlocking_TEMPLATE.xosc +++ b/Scenarios/ALKS_Scenario_4.5_1_CutOutFullyBlocking_TEMPLATE.xosc @@ -6,7 +6,7 @@ - + @@ -80,7 +80,7 @@ - + diff --git a/Scenarios/ALKS_Scenario_4.5_2_CutOutMultipleBlockingTargets_TEMPLATE.xosc b/Scenarios/ALKS_Scenario_4.5_2_CutOutMultipleBlockingTargets_TEMPLATE.xosc index b9af974..b723910 100644 --- a/Scenarios/ALKS_Scenario_4.5_2_CutOutMultipleBlockingTargets_TEMPLATE.xosc +++ b/Scenarios/ALKS_Scenario_4.5_2_CutOutMultipleBlockingTargets_TEMPLATE.xosc @@ -6,7 +6,7 @@ - + @@ -91,7 +91,7 @@ - +