Aimsun Next: vs|plus Interface¶
Architecture¶
Communication between Aimsun Next and vs|plus uses TCP/IP protocols, where Aimsun Next acts as a server and vs|plus as a client. Aimsun Next creates one server for each vs|plus controller and each of them connects with a vs|plus controller emulator. The connection between each server and its client is identified by a communication port number. The request/response messaging framework uses the SOAP standard.
Relationship between Aimsun objects and vs|plus objects¶
To guarantee a correct connection between Aimsun Next and vs|plus, it is necessary to make sure that vs|plus objects have a one-to-one correspondence with Aimsun objects. All these correspondences are defined by:
- vs|plus Controller: Each vs|plus controller must be represented in Aimsun Next as one vs|plus-type controller (AVSPLUSCont).
- vs|plus Intersections: One vs|plus intersection can be represented by one (or more) Aimsun junctions. The AVSPLUSCont must be connected to all Aimsun junctions that form the vs|plus intersection.
- vs|plus Signal Groups: The Aimsun model must contain the same signal group definition as the vs|plus model, with the same turns associated with each signal group.
- vs|plus Detector: Each vs|plus detector should be modeled with a corresponding Aimsun detector. If the detector corresponds to one physical detector then the Aimsun detector must have, at least, Occupancy as a measuring capability. And if this detector represents a detector for Transit then the Aimsun detector must have, at least, Equipped Vehicle as a measuring capability. All transit lines associated with Transit detectors must be modeled in Aimsun Next as Transit lines with 100% of Equipped vehicles in their Vehicle Types.
- Control Plan: A pre-timed or fixed control plan with the definition of all phases with their durations should be implemented for each intersection controlled by vs|plus. It is necessary to set their control type as External. This definition of the control plan will be applied when the vs|plus controller is not active.
Aimsun Next – vs|plus interchange information¶
The interchange of information between Aimsun Next and vs|plus (synchronization tokens, detector measures, stages, etc.) takes place every second as one of VS-PLUS’s requirements. The detection cycle should therefore be set to 1 second. If the simulation step is not 1 second, the data synchronization rules apply.
Defining vs|plus objects in Aimsun Next¶
The definition of the vs|plus objects is done using Aimsun Next and it is based on first defining the vs|plus preferences, then defining one vs|plus type controller in the Aimsun model corresponding to each real vs|plus controller.
The vs|plus preferences allow you to specify where the vs|plus executable file is located so that when the simulation starts Aimsun Next can also start vs|plus automatically.
Note: As with all Aimsun Next objects, their dialogs might or might not include an Attributes tab, depending on whether the object has additional attributes beyond the scope of the standard UI for the dialog.
To set vs|plus preferences:
- Select Edit > Preferences > Adaptive Control Interfaces.
- In the Client Exe (VSPlus...) field, browse to and select the location of the vs|plus EXE file.
- Click OK.
To define a controller:
- Double-click a controller in the 2D view to open its dialog.
- In the Type field, select vs|plus. This will display the appropriate tabs for the controller.
Basics tab¶
The first step is to set the Basics tab parameters:
- Name: The controller object' name.
- External ID: This ID must match (formerly known as Program ID).
- Intersection ID: vs|plus intersection identifier.
- Port: Communication port number for communication between Aimsun Next and vs|plus.
- Type: List of different controller types (keep as vs|plus).
- Enabled: Tick this option to make sure the controller is active in the simulation.
- Basic File: Path of the file containing the basic vs|plus controller information (formerly known as Information File).
- vs|plus File: Path of the file containing the vs|plus parameters (formerly knows as Parameters File).
- Connections: Defines the connections between the controller and those objects it controls. Click New and then click on an object in the 2D view to add an object. All junctions and detectors controlled by the vs|plus controller must be connected and listed here.
Signal Groups tab¶
The second step is to establish how the controller ‘sees’ the different signal groups. Each vs|plus signal group has the following parameters:
- ID: The vs|plus channel or signal group identifier. In one controller these identifiers must be consecutive and defined from 1 to 48. These identifiers determine the order in which Aimsun Next receives the signal state and this order must be the same one that vs|plus has in its configuration.
- Name: The vs|plus signal group name (optional).
- Yellow Time (sec): This parameter is not used.
- Initial: The initial state of the vs|plus signal group at the beginning of the simulation.
Usually, a set of Aimsun signal groups from different junctions is joined into a single vs|plus group, which is then managed by the controller. This means that, when a controller activates one of its signal groups, all the signal groups of all the junctions in the controller's signal group are also activated.
This concept is shown below. Here, signal group ID ! is associated with two signal groups in two junctions, so that when the controller receives the order to activate its signal group 1, signals 1 and 2 are activated in both junctions.
Detectors tab¶
The third step is to establish how the controller ‘sees’ the different detectors in the network.
To add a new vs|plus detector:
- Click on the Detectors tab.
- Click New.
- Set the ID for the detector you are adding.
- Select a detector from the drop-down list of available detectors under the column heading Detectors.
- Repeat steps 2–4 for any additional detectors.
Each vs|plus detector has the following parameters:
- ID: Represents the vs|plus channel (a number between 1 and 120; not necessarily consecutive). This channel sets the order that Aimsun Next follows to send detector measurements.
- Detector ID and Name: The Aimsun detector associated with this vs|plus detector.
- Transit Lines Detected: Defines the Transit Lines associated with one detector. From this type of detector, Aimsun Next sends Transit Vehicle information.
In the figure below, the detector with vs|plus channel 1 is assigned to the Aimsun detector with the ID 1034: d1 and two transit lines.
Pedestrian Walks¶
To allow the Push-Buttons functionality for pedestrians, the Pedestrian Crossings/Crosswalk Areas at the controlled junction should be assigned to a signal group in the Nodes Editor.
These Pedestrian Crossings/Crosswalk Areas will then appear in the Controller Editor > Pedestrian Walks tab > Pedestrian Crossings and Crosswalk Areas and the user can assign each or multiple Pedestrian Crossings/Crosswalk Areas to a Push-Button ID in the vs|plus Controller configuration.
It is also available the option to assign the Push-Button ID to a specific Pedestrian Type. This setting tells whether presence should be sent only when a pedestrian of a specific type is waiting, or any pedestrian of any type.
The screenshots below show how a Pedestrian Crossing/Crosswalk Area with a signal group and two different Push-Button IDs, one for pedestrians with visual impairment (Blind) and one for pedestrian with no visual impairment, would be configured.
OCIT View Configuration tab¶
From Aimsun Next 22, the vs|plus controller complies with OCIT (Open Communication Interfaces for Road Traffic Control Systems) standards. The OCIT View Configuration enables you to select which graphical elements and which protocols to display in the Controller dialog while running the simulation. When a simulation is running, the controller presents an extra tab, named Simulation Control. This tab displays the elements you specify on the OCIT View Configuration tab.
To set the View OCIT Configuration elements:
- Click on the View OCIT Configuration tab > Graphical View subtab.
- For Configurations, select Default Configuration (if you want to add a new configuration, click New).
- From the Category list, select Detector, the corresponding Number (use multi-select if required) and click the green arrow to move your selections to the Selection list.
- Repeat step 3 for Signal Group items.
- (Optional) Click Empty Line to insert a space between variables. This can improve the legibility of outputs.
- Use the Top, Up, Down, Bottom buttons to reorganize items in the Selection list.
- Click on the Protocol View subtab.
- Repeat steps 3–6 for protocol items on this tab. Note that you can insert Empty Column rather than Empty Line on this subtab.
Running a Simulation with a vs|plus Controller¶
To run the simulation:
- Right-click on the replication and select Run Animated Simulation (Auto). The log window will display any relevant messages, warnings, or errors.
- Open the Controller dialog to view the activated Simulation Control tab.
Simulation Control tab¶
The Simulation Control tab provides provides two views of the control actions: a Graphical View showing the state of phases, stages, and detectors, and a Protocol View which displays details of signal actuations.
The Graphical view is automatically displayed in the tab. Zoom in and out with the magnifying glass icons.
To see the Protocol View in a separate, moveable window, click Show. The screenshot below shows both views during a simulation.
To perform testing the user can apply modifications with the option "Simulation Events" manually (on the fly) during the simulation as many times as the user wants via the controller object. Simulation events enable the user to modify the control plan and other flags during the simulation (visible only during simulations and playbacks). The simulation events in question are the following:
- switch to another signal program
- turn on/off central control
- turn on/off traffic actuations
- turn on/off actuated control
- turn on/off transit prioritization
- turn on/off partial intersections
Once the simulation is launched, open the Controller object > Simulation Control Tab. Modify the Requested Signal Program to set a control plan and activate/deactivate the corresponding OCIT flags manually (only during the simulation). The user has also the option to save those changes in an OCIT Detection Pattern by selecting the Add to Current Scenario Pattern option to reproduce exact the same simulation with the modifications performed manually and stored.
For more options on how to use simulation events, see OCIT Detection Patterns.