How to Develop Cyber RT inside Docker on Both x86_64 and ARM64

To make life easier, Apollo maintains Cyber Docker images and a number of scripts to help developers build and play with Cyber RT framework.

Cyber Docker images are built upon Ubuntu 18.04, and comes with full support for Cyber RT framework. For those who are interested in Cyber RT only, this would be the ideal point to start with.

Note: Apollo team also maintains ARM64 Cyber Docker images which was tested on Jetson AGX Xavier. The same set of scripts are provided to run both on x86_64 and ARM64 platforms.

In the next section, we will show you how to play with Cyber Docker images.

Build and Test Cyber RT inside Docker

Run the following command to start Cyber Docker container:

bash docker/scripts/cyber_start.sh

Or if you are in China, run:

bash docker/scripts/cyber_start.sh -g cn

A Docker container named apollo_cyber_$USER will be started.

Note: You will lose all your previous changes in the container if you have ran this command before. Unless you would like to start a fresh Docker environment.

To log into the newly started Cyber container:

bash docker/scripts/cyber_into.sh

Note: you can login and logout Cyber container multiple times as you wish, the Docker environment will stay there until the next time you start another Cyber container.

To build Cyber RT only and run unit tests:

./apollo.sh build cyber
./apollo.sh test cyber

Or run with --config=opt for an optimized build/test.

./apollo.sh build --config=opt cyber
./apollo.sh test --config=opt cyber

You should be able to see that all the testcases passed.