/SDCND_Capstone_TEC

Team East Coast's implementation of the System Integration capstone project in the Udacity Self-Driving Car Nanodegree Program.

Primary LanguagePython

Banner Logo

This repository contains the results of Team East Coast's capstone project for the Udacity Self-Driving Car Engineer Nanodegree Program. The project utilizes Ubuntu Linux 14.04 with Robot Operating System (ROS) Indigo and/or Ubuntu Linux 16.04 with ROS Kinetic, the Udacity System Integration Simulator, and code written in C++ and Python to provide a System Integration solution to the self-driving car problem. The code developed will be tested on Udacity's real-world test vehicle (a Lincoln MKZ that the company has named "Carla") during the month of October. More information on the results of those tests will be made available in the Updates section of this README.

For now, check out our latest Udacity simulator results on YouTube:

YouTube

Team Members

Name Location LinkedIn
Neil Hiddink
(Team Lead)
Dearborn, MI linkedin.com/in/neilhiddink Neil
Anthony Sarkis Mountain View, CA linkedin.com/in/anthonysarkis Anthony
Cahya Ong Sydney, Australia linkedin.com/in/cahyaong Cahya
Xianan Huang Ann Arbor, MI linkedin.com/in/xianan-huang Xianan
Yasen Hu Warren, MI linkedin.com/in/yasenhu Yasen

Updates

COMING SOON - STAY TUNED!


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.

Usage

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

Real-World Testing

Be sure to follow these steps prior to running the traffic light detection model:

  • cd \ros\src\tl_detector\light_classification
  • mkdir graphs
  • download and unzip model weights (Simulator)
  • download and unzip model weights (Real)
  • download label_map.pbtxt
  • in \ros\src\tl_detector\light_classification change the flag in line 21, self.simulation to "False" for real world testing. Default model will work in both, but real trained one will work better.
  1. Download training bag that was recorded on the Udacity self-driving car

  2. Unzip the file

unzip traffic_light_bag_files.zip
  1. Play the bag file
rosbag play -l traffic_light_bag_files/loop_with_traffic_light.bag
  1. Launch your project in site mode
cd CarND-Capstone/ros
roslaunch launch/site.launch