<center><a href="https://cpm.embedded.rwth-aachen.de/" target="_blank" rel="noopener noreferrer">CPM Lab</a></center>






<center><a href="https://github.com/embedded-software-laboratory/cpm_lab" target="_blank" rel="noopener noreferrer">GitHub</a></center>






<center><a href="https://cpm-remote.embedded.rwth-aachen.de" target="_blank" rel="noopener noreferrer">Remote Access</a></center>




<center><a href="https://cpm.embedded.rwth-aachen.de/publications/" target="_blank" rel="noopener noreferrer">Publications</a></center>





This documentation provides technical information in detail of the Cyber-Physical Mobility (CPM) Lab at the Chair of Embedded Software at RWTH Aachen University.  In our Lab it is possible to test and evaluate strategies for connected and automated vehicles. 

In this documentation we show you how to setup your environment for simulation only as well as for a experiments. We provide tutorials to get you started with the CPM Lab. You can read more to get a deeper look into special topics.

As you can see in the picture the Lab consists of the Main PC which provides the access to the infrastructure. It processes information from the Indoor Positioning System (IPS) and information from our user interface called the Lab Control Center (LCC). You can upload your program in the LCC which will send the commands to the vehicles Data Distribution Service (DDS) of the RTI Connext which works similar to a cloud system by providing all information to all members of the service. All vehicles and NUCs participate in the DDS as well. The NUCs process the commands and execute your program. In each NUC a local DDS provides the information with the middleware. Once all data is evaluated it is shared with the central DDS and sent to the vehicle.

Software architecture

The software for each vehicle is distributed between three major components:

Two supporting software components run on a separate "Master PC":

All software components use our CPM library (cpm-lib). The CPM-lib provides functions to communicate with the vehicle and the IPS system. You can find functions for localization and vehicle states.