Modelling connected vehicles using Aimsun API: Cooperative Adaptive Cruise Control
January 2017: Paolo Rinelli and Dimitris Triantafyllos explain a technique for modelling connected vehicles using Aimsun API: Cooperative Adaptive Cruise Control.
January 2020
By Margarida Delgado
Script number 10 in the template list will search through all of the nodes in the model, and then assign a node attribute, called GKNode::hasControlInfo, as being either true or false (or it creates that node attribute if it doesn’t exist).
When you execute Script 10, the main function will be called and a dialog will open with the following options:
If you choose the option ‘One Control Plan’, you’ll need to provide the control plan ID number; if you choose the option ‘All Control Plans in a Master Control Plan’, you’ll need to provide the ID number of the master control plan.
The function getCreateNodeAttribute() checks if the attribute GKNode::hasControlInfo exists. if not, it will create it. The type of values that this attribute accepts will be Boolean (true or false). The external name will be Has Control Info?
The function isNodeInCP( cp, node ) just determines whether a particular node has info for a particular control plan; it returns 0, i.e., false or No, if there is no info; and 1, i.e., true or Yes, if there is info. The function getControlJunction() will return 0 when the node appears in the control plan as Unspecified (i.e. no info).
When looking for all control plans, the function startCalculation(column) will be executed. It iterates all nodes and, for each node, it iterates all control plans. Nodes are all GKNode-type objects and control plans are all CKControlPlan-type objects, so find them with the getCatalog().getObjectsByType(enterType) function.
When looking for one particular control plan, the function startCalculationCP(column, cp) will iterate all nodes of this particular control plan.
When looking for one particular master control plan, the function startCalculationMCP(column, mcp) iterates all nodes and all control plans inside that master control plan, whatever the timetable or zone.
Once the script has finished, you can visualize nodes with no info, creating a view mode:
January 2017: Paolo Rinelli and Dimitris Triantafyllos explain a technique for modelling connected vehicles using Aimsun API: Cooperative Adaptive Cruise Control.
December 2021: The Aimsun Next API is a collection of functions, in Python or C++, that allow users to read information and perform actions during the mesoscopic, microscopic or hybrid mesoscopic-microscopic simulation.
SHARE
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/