436. Emergency Steering Assist (ESA) introduction
Emergency Steering Assist (ESA), sometimes also called Evasive Steering Assist, helps when the driver makes a jittery or extreme steering maneuver when avoiding an obstacle, for example. This function assists the driver in the evasive steering maneuver and stabilizes the vehicle afterwards. ESA should not be confused with Autonomous Emergency Steering (AES), which automatically tries to perform an avoidance steering in cases where Autonomous Emergency Braking (AEB) is insufficient to avoid an imminent collision.
ESA Directory Structure
The Emergency Steering Assist (ESA) library components are located in $FTX_PACKAGES/adas/ESA as shown in Figure 1.
| Directory/File | Description |
|---|---|
| cpp | A directory containing C++ functions required for integrating user-defined C++ functions with Foretify. |
| csv | A directory containing CSV files for executing ESA tests with Frun. |
| examples | Example test files for running a single test with Foretify. |
| osc | A directory containing the OSC2 source files for each scenario. |
| templates | A directory containing the templates used to generate tests to be executed with Frun. |
| utils | A directory containing files required for integrating user-defined C++ functions with Foretify. |
To run a single test with Foretify:
-
Invoke Foretify with a test file from the examples directory.
For example:
In this example, the configured simulator is CARLA.$ foretify --load $FTX/packages/adas/ESA/test_suites/example_test_cases/stationary_objects/t_esa_ego_with_stationary_objects_on_path.osc \ --load $FTX/packages/adas/ESA/scenarios/common/esa_config/esa_config.osc \ --load $FTX/packages/adas/ESA/scenarios/common/esa_config/esa_sumo_config.osc --run -
Enter quit at the Foretify> prompt after the run completes.
To run a set of tests with Frun:
-
Invoke Frun in batch mode with all the CSV files required for the set of tests that you chose.
For example:
2. Review the regression results in the default work directory:frun --csv $FTX/packages/adas/ESA/test_suites/test_suite_definitions/stationary_objects/esa_ego_with_stationary_objects_on_path_main.csv \ --csv $FTX/packages/adas/ESA/test_suites/test_suite_definitions/stationary_objects/esa_ego_with_stationary_objects_on_path.csv \ --csv $FTX_PACKAGES/common/csv/map_config.csv --csv $FTX_PACKAGES/adas/ESA/test_suites/test_suite_definitions/user_esa_config.csv --csv $FTX_PACKAGES/common/csv/sim_manually_driven_dynamic_config.csv --batch~/foretify/sessions/<timestamp>/<timestamp>/
To run all the ESA tests at once:
```bash
frun --file $FTX/packages/adas/ESA/test_suites/test_suite_definitions/all_esa.txt
```
The all_esa.txt file runs the following scenarios along side with on curve road and traffic varients:
- esa_ego_with_stationary_objects_on_path.csv
- esa_ego_with_lead_vehicle.csv
- esa_ego_with_lead_vehicle_and_slow.csv
- esa_ego_with_lead_vehicle_and_stop.csv
- esa_ego_drive_with_plain_object_along_path.csv
- esa_ego_with_oncoming_object.csv
- esa_ego_drive_with_plain_object_crossing_path.csv
