Home

Awesome

Building Self-Driving Car Architecture with Robot Operating System

ISsoft Insights 2019 - Workshop by AlexeySas and OlegKarasik

This workshop goal is to introduce attendee to Robot Operating System (ROS) design and create simple self-driving car architecture.

By completing workshop you will:

Prerequisites

We have used Windows Virtual Machines (Standard_NV6) in Azure to host workshop environment. While it is possible to execute workshop on your local machine here we are listing everything required to run it as we did.

Here is high-level overview of setup on Windows:

The “green” components are what would be installed on Windows and “blue” are what would be installed on Ubuntu

Software & Features

Install the following software:

Enable the following features:

Downloads

Download the following releases:

Clone

Clone the following repositories:

Preparing Ubuntu 18.04

To run the workshop we need to install Ubuntu 18.04 on WSL. Despite traditional way of installing Ubuntu through Windows Store we would install it manually. These steps are extracted from official Microsoft documentation and adapter to workshop directory structure.

  1. Create Directory: New-Item -Path C:\Workshop -ItemType Directory
  2. Download Ubuntu: Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1804 -OutFile 'C:\Workshop\Ubuntu.appx' -UseBasicParsing
  3. Rename Download: Rename-Item 'C:\Workshop\Ubuntu.appx' 'C:\Workshop\Ubuntu.zip'
  4. Extract Archive: Expand-Archive 'C:\Workshop\Ubuntu.zip' 'C:\Workshop\ubuntu'

Preparing Directory structure

Here is the mapping of the above downloads to expected directory structure:

C:\Workshop
  - carla
    - PythonAPI <-- move files and directories from `downloads/CARLA_0.9.3.tar.gz/PythonAPI`
  - carla-client
    - PythonAPI <-- move files and directories from `downloads/CARLA_0.9.3.zip/PythonAPI`
    - manual_control.py <-- move `clone/install/carla-client/manual_control.py`
  - carla-ros-bridge
    - catkin_ws
      - src <-- move files and directories from `downloads/ros-bridge-0.9.3.zip`
	  - config <-- overwrite with `settings.yaml` from `clone/install/carla-ros-bridge/config`
  - carla-server <-- move files and directories from `downloads/CARLA_0.9.3.zip`
  - project <-- move files and directories from `clone/src`
  - ubuntu <-- move files and directories from extracted Ubuntu

When preparations of directory tree is done please execute: clone/install/install.ps1 script. This script will install Ubuntu to WSL and initialize it with all required software.

The scripts automatically does:

NOTE: Installation could take around 1-2 hours

Executing Workshop

To run the workshop you will need a presentation and guide. Both of these can be found in documentation directory.

Asknowlegements

We use ROS, CARLA Simulator as engine and CARLA ROS bridge to connect ROS to CARLA.

Authors

This project is owned by Coherent Solutions.

License

This project is licensed under the MIT License - see the LICENSE.md for details.