AutoC2X is cooperative awareness driving software, extension for Autoware and OpenC2X. AutoC2X-OC is fork project from OpenC2X.
Autoware is open-source autonomous driving software. OpenC2X is open-source cooperative ITS software, able to communicate with other vehicles following ITS-G5. AutoC2X is an extension for Autoware and OpenC2X. Using this software, you can get other vehicle information run by Autoware.
AutoC2X-OC collaborate with AutoC2X-AW at laptop. So you should install and run AutoC2X-AW in laptop.
Open a terminal and run the command:
$ sudo apt-get install libzmq3-dev libboost-all-dev protobuf-compiler libprotobuf-dev libgps-dev gpsd gpsd-clients libnl-3-200 libnl-3-dev libnl-genl-3-200 libnl-genl-3-dev sqlite3 libsqlite3-dev tmux asn1c build-essential cmake doxygen
$ echo "deb https://dl.bintray.com/fynnh/debian xenial main" | sudo tee -a /etc/apt/sources.list
$ sudo apt-get update
$ sudo apt-get install openc2x
In the terminal, navigate to asn1 folder in common:
$ cd /path_to_openc2x/OpenC2X/common/asn1/
$ ./generate.sh
In the terminal, navigate to your project folder and configure the project:
$ cd path_to_openc2x/OpenC2X/
$ mkdir build
$ cd build
$ cmake ..
$ make all
- The configuration of the modules can be changed in 'OpenC2X//config/'
- Make sure to change the interface name and the stationId in 'common/config/config.xml' as per your setup.
- For setting up OpenC2X kernel, go through 'kernel-patches/README.txt'
In AutoC2X, each vehicle is supposed to equip one laptop and one router. Autoware and AutoC2X-AW is running in laptop. AutoC2X-OC is running in router.
You should allocate IPv4 address to laptops and routers. Below image is example.
You should start AutoC2X below order.
- Start AutoC2X-AW at receiver laptop
- Start AutoC2X-OC at receiver router <- # sh ./runOpenC2X.sh r <laptop's ip address>
- Start AutoC2X-OC at sender router <- # sh ./runOpenC2X.sh s <laptop's ip address>
- Start AutoC2X-AW at sender laptop
If you have followed the above steps, then you are ready to run OpenC2X. In the terminal, navigate to scripts:
$ cd path_to_openc2x/OpenC2X/scripts/
# sh ./runOpenC2X.sh [r|s] <laptop's ip address>
For the GUI, open 'webSite/index.html' in your browser. You can also trigger denms from there. You can stop your experiment by running stopOpenC2X.sh in another terminal.