InterchangeSE (Fall 2017 – present)

Overview

The goal of InterchangeSE project is to design, develop, and demonstrate a federated multi-modal simulation environment, as a new means of studying interactions among several stakeholders representing different decision perspectives in a partially connected-automated multi-modal transportation system. InterchangeSE will allow complex simulated scenarios involving live and virtual participants to be initialized and run. Its features include multi-player interactions, representation of different decision perspectives and dynamically changing scenarios, different levels of immersion, and interactions with real-world performance monitoring. InterchangeSE will be developed based on existing virtual reality/augmented reality technologies and a software architecture with connectivity and communications between independent hardware and road traffic simulator software components such as PTV VISSIM and CARLA.

Features

  • Multiplayer Interaction
    • InterchangeSE supports multiple simultaneous participants in the same simulated environment.
    • Users operate virtual agents in the role of a driver, pedestrian, cyclist or traffic management center operator.
    • Additionally, the InterchangeSE platform supports different devices ranging from desktop computers to standalone augmented reality headsets.
  • Real-world simulation
    • Through traffic simulation, unsafe situations can be predicted far in advance of any real-world road diversions or signal changes.
    • Signal control allows traffic management controllers to reduce backups and traffic volume.

Pre-work

Before any software is developed, an extensive survey of off-the-shelf commercial and open source road traffic simulators were made. Viable simulator(s) were then determined for use within the InterchangeSE project. Table 1 shows a list of systems evaluated for use within the project.

Table 1. List of systems evaluated for use within InterchangeSE

Road-traffic Simulators Visualization Engines Network processing/Middleware
VISSIM Unity3D VISSIM COM Server
SUMO Unreal Engine Custom built game engine server
MATSim OpenSceneGraph/C++
AIMSUN
Paramics
Road Traffic Simulator
CARLA

Road-traffic simulators

Each surveyed traffic simulator was evaluated for certain criteria such as:

  • Supported operating system (Windows, Linux, MacOS) and architecture (32- or 64-bit)
  • Supported network communication protocol (TCP/IP, UDP, DIS, etc)
  • Data processing and logging capabilities
  • Multi-threaded support
  • Software SDK and API availabilities
  • Commercial or open-source availabilities and their specific licensing agreements
  • Authorability and programming capabilities
  • Compatibility with existing visualization interfaces such as game engines

Visualization engines

Three different platforms were evaluated for use as the framework to build visualization clients: 1) Unity3D, 2) Unreal, and 3) a custom environment developed using OpenScenegraph and C++. Since all environments allow unlimited distribution and access to an extensive API, the same criteria used for the traffic simulators was not needed. Unity3D and Unreal have an advantage in that they are commercially supported platforms. Considering the scalability and longevity of the project, this was a desirable feature. Between the two, many similarities exist. Both support parallel / multithread execution as well as advanced networking options, rendering capabilities, object import, and visual effects (i.e. shading, bump mapping, etc.). The final recommendation was to use Unity3D due to the platform independent nature. Unity3D is very easy to build code once and deploy to clustered graphics system, workstations, HMDs and smartphones. This is a critical aspect of InterchangeSE.

Network processing/Middleware

To facilitate data transfer between components of the system architecture, it was determined that a client server architecture was necessary. Aside from the visual engine (Unity3D) a mechanism to facilitate data around the system was needed. Two options were evaluated: 1) VISSIM COM server and 2) Custom game engine based server. The VISSIM COM server, while robust, doesn’t allow for much customization. This raised concerns as to the speed data can be sent to and from it. Latencies created by this server will cause unintended consequences to the various components of InterchangeSE, especially visual clients such as driving and bicycle simulators. A custom built game engine server on the otherhand, when matched with its visualization front-end counterpart, would be desirable because of interoperability. For example, UNET or Photon Server for Unity has deep integration capabilities within the Unity game engine. Hence, this was chosen over VISSIM COM server.

Development

Figure 1 below shows the proposed InterchangeSE architecture. Implemented in a client-server architecture, physical driving clients such as bike stations, car driving stations, pedestrians, and construction workers communicate their position, orientation, and other operating parameters to the server (represented as a blue circle). The server then relays this information to a network connected traffic simulator such as PTV VISSIM and CARLA. A pre-determined traffic scenario (e.g., a traffic intersection, highway, etc) is shared by both the traffic simulator and the physical driving clients. The traffic simulator uses the scenario to generate and compute traffic. The physical clients use it purely for visualization purpose, and then respond (drive, pedal, walk, turn, etc) to the traffic they see on their display systems. The information provided by the physical driving clients are processed by the traffic simulator as just another vehicle in its traffic scenario. The computed traffic by the simulator is broadcasted back to the physical driving clients via the server in real-time. Hence, the server acts as a middleman for two-way communications between the physical driving clients and the traffic simulators.

The server will be programmed to accept a host of network data protocols for use by Federal Highway systems. A default TCP/IP, UDP network protocol will be implemented, but will be built modular to support future protocol implementations such as DIS, HLA, TENA.

Figure 1. InterchangeSE Architecture

 

Various components of the architecture are currently in development. The software that displays the traffic scenarios on physical client stations are being programmed using Unity game engine. A lightweight server is also being implemented in Unity, although the mechanism for network connectivity is still being finalized at this time.

Ideally, data transmit rates between the driving simulators and the clients will hover at about 60 Hz for a near real-time interaction. But the traffic density (e.g., about 1,000 vehicles in a realistic traffic scenario) could cause data transmission bottlenecks making the physical stations not receive most up to date traffic information in real-time. Interpolation methods will be developed to address such situations.