System Integration on Carla

This is the project repo for the final project of the Udacity Self-Driving Car Nanodegree: Programming a Real Self-Driving Car.

Team Fast Tortoise

Project Team Members

Name Udacity Account Email Address
Srikanth Narayanan ( Team Lead) srikanth.n.narayanan@gmail.com
Steven De Gryze sdegryze@gmail.com
Anthony Allison anthony.w.allison@gmail.com

Architecture

Vehicle Architecture

For more information about the project, see the project introduction here.

## Note to Tester

There are two convolutional neural network models trained to perform traffic light detection.

  • sim model which is for simulator traffic light detection
    • Download the simulation model graph file from here and move it to model folder name sim in the traffic light node “CarND-Capstone/ros/src/tl_detector/light_classification/model/sim_model”
  • real model which is used in real world traffic light detection
    • Download the real world model graph from here and move it to the model folder name real in the traffic light node “CarND-Capstone/ros/src/tl_detector/light_classification/model/real_model”

Other Info

Please use one of the two installation options, either native or docker installation.

Native Installation

  • Be sure that your workstation is running Ubuntu 16.04 Xenial Xerus or Ubuntu 14.04 Trusty Tahir. Ubuntu downloads can be found here.
  • If using a Virtual Machine to install Ubuntu, use the following configuration as minimum:
    • 2 CPU
    • 2 GB system memory
    • 25 GB of free hard drive space

    The Udacity provided virtual machine has ROS and Dataspeed DBW already installed, so you can skip the next two steps if you are using this.

  • Follow these instructions to install ROS
  • Dataspeed DBW
  • Download the Udacity Simulator.

Docker Installation

Install Docker

Build the docker container

docker build . -t capstone

Run the docker file

docker run -p 4567:4567 -v $PWD:/capstone -v /tmp/log:/root/.ros/ --rm -it capstone

Port Forwarding

To set up port forwarding, please refer to the instructions from term 2

Usage

  1. Clone the project repository
    git clone https://github.com/udacity/CarND-Capstone.git
    
  2. Install python dependencies
    cd CarND-Capstone
    pip install -r requirements.txt
    
  3. Make and run styx
    cd ros
    catkin_make
    source devel/setup.sh
    roslaunch launch/styx.launch
    
  4. Run the simulator

Real world testing

  1. Download training bag that was recorded on the Udacity self-driving car (a bag demonstrating the correct predictions in autonomous mode can be found here)
  2. Unzip the file
    unzip traffic_light_bag_files.zip
    
  3. Play the bag file
    rosbag play -l traffic_light_bag_files/loop_with_traffic_light.bag
    
  4. Launch your project in site mode
    cd CarND-Capstone/ros
    roslaunch launch/site.launch
    
  5. Confirm that traffic light detection works on real life images