An Extension for Autonomous Vehicle Controllers in Aimsun Next

Published on April  23, 2024

Mónica Domínguez

 Scientific Researcher 

Autonomous vehicle controllers in Aimsun Next transport simulations serve to demonstrate the impact of Connected and Cooperative Autonomous Mobility (CCAM) on efficient and sustainable transport networks. This blog reviews the extension for the autonomous vehicle controller developed for Aimsun Next within the EU-funded FRONTIER EU Project research project by Aimsun and Technical University of Crete teams including, Josep Perarnau, Vasileios Markantonakis, Jordi Casas, Ioannis Papamichail.

In many respects, today’s vehicles are already connected devices via GPS and navigation technologies. However, in the very near future they will also interact directly with each other and with the road infrastructure and traffic operators. This interaction is the domain of Cooperative Intelligent Transport Systems (C-ITS), which will allow road users and traffic managers to share information and use it to coordinate their actions.

C-ITS is at the core of research and development actions in the H2020 EU-funded FRONTIER project. In this article I’m going to review the extension for autonomous vehicle controller developed for Aimsun Next within FRONTIER. Autonomous vehicle controllers in Aimsun Next have served as a simulation exercise to demonstrate the impact of CCAM in efficiency and sustainability of the transport network. This work has been carried out in collaboration with the Technical University of Crete (TUC) under Task 4.5, “Transport simulation framework development for future mobility and network traffic management”.

As the expert reader may already know, Aimsun Next is an extensible simulation framework to which new functionalities can be added. Conceptually, Aimsun Next is divided into two main parts: the kernel (including an extensible database to hold any kind of information, a representation of this database in memory and a collection of classes and functions (called methods in C++); and the user interface (UI) (including 2D and 3D views, editors, etc.). Aimsun Next has four different means of extending both the kernel and the UI, each with a different purpose. In the context of controllers in FRONTIER, the Application Programming Interface (API) has been used. Via the Aimsun API, operations that run during microscopic simulation can be programmed by changing control timings or vehicle parameters.

The extension for autonomous vehicle controllers of FRONTIER has been implemented by Aimsun as an internal API plugin. This plugin has an additional Aimsun component that installs Aimsun’s API together with the Dynamic Link Library (DLL), which implements three different controllers developed by TUC, namely: an adaptive cruise controller (ACC), a variable speed limit controller (VSL) and a lane change controller (LCC). Hence, the additional installer developed for FRONTIER has two DLLs: an Aimsun extension and the controllers’ implementation.

In the Dynamic Scenario defined in Aimsun Next, a tab folder has been added with all available extensions for each scenario. To activate it, the Frontier Extension should be ticked and then, after double-clicking over it, the user can select which controllers are to be used (see Figure 1)

Figure 1: Activating AV Controllers via Aimsun Extension UI for FRONTIER

 Controllers consider connected vehicles to apply the controller rules or controller executions and can also communicate decisions to manually driven vehicles via VMS. In Aimsun Next, connected vehicles are modelled using the percentage of equipped vehicles that can be set in Vehicle’s editor (see Figure 2).

Figure 2 Collision scatter plot – leader deceleration on the y axis, vehicle speed on the x axis

Each controller can be configured to be applied or to control a set of areas that have been specifically created for the FRONTIER implementation. In our extended version of Aimsun Next, an area is configured using the Group object. Each group object is a Grouping Category where the Objects’ Type should be set to Polygon (see Figure 3).

Figure 3: Setting polygons via the Aimsun extended UI

Each Group or area can handle a set of polygons and each Area has different controller parameters that are specific for each controller type (see Figure 4 and Figure 5), namely ACC, VSL, LCC.

Figure 4: Setting group areas via the Aimsun extended UI
Figure 5: Setting controller parameters per Area via the Aimsun extended UI

 Moreover, each polygon can have dedicated controller parameters too (see Figure 6).

Figure 6: Setting controller parameters per Polygon via the Aimsun extended UI

The LCC controller is lane-based, which means that each lane in the polygon may have different input parameters. To handle such a feature, the parameters for LCC controllers are separated by semicolons, so that each number in the list refers to each lane.

Experiments carried out within FRONTIER in the Attiki Odos corridor of Athens proved that any penetration rate of CAVs above 20% will positively impact the efficiency in the network in all parameters measured with a global reduction in total delay for Attiki Odos ranging between 42% and 82% –the higher the penetration rate the higher the positive impact. Consequently, the cooperative element in C-ITS –enabled by digital connectivity between vehicles and between vehicles and transport infrastructure– is expected to significantly improve road safety, air quality and comfort of driving, by helping the driver to take the right decisions and adapt to the traffic situation. The FRONTIER project, which lasted from May 2021 to April 2024, has served as a benchmark to investigate cooperative technologies in next generation network and traffic management for future mobility.

Aimsun
  • Tu as une question ? Prends contact avec nous.

    Nous sommes là pour t'aider !

SHARE

Cite Aimsun Next

Aimsun Next 24

Aimsun (2024). Aimsun Next 24 User’s Manual, Aimsun Next Version 24.0.0, Barcelona, Spain. Accessed on: April. 16, 2024. [Online].

Available: https://docs.aimsun.com/next/24.0.0/

Aimsun Next 24

@manual {AimsunManual,
title = {Aimsun Next 24 User’s Manual},
author = {Aimsun},
edition = {Aimsun Next 24.0.0},
address = {Barcelona, Spain},
year = {2024. [Online]},
month = {Accessed on: Month, Day, Year},
url = {https://docs.aimsun.com/next/24.0.0},
}​​​​​​​​​​​​​​​

Aimsun Next 24

TY – COMP
T1 – Aimsun Next 24 User’s Manual
A1 – Aimsun
ET – Aimsun Next Version 24.0.0
Y1 – 2024
Y2 – Accessed on: Month, Day, Year
CY – Barcelona, Spain
PB – Aimsun
UR – [In software]. Available:
https://docs.aimsun.com/next/24.0.0/