jiankang1991 / CarND-Capstone-T3-New

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Capstone Project - Introduction

The System Integration project is the final project of the Udacity Self-Driving Car Engineer Nanodegree. In this project We have built ROS nodes to implement traffic light detection, PID control, and waypoint following. Initially this software system will be tested on a simulator, later, this will be deployed on Carla to autonomously drive it around a test track.

For more information about the project, see the project introduction [here](https://classroom.udacity.com/nanodegrees/nd013/parts/6047fe34-d93c-4f 50-8336-b70ef10cb4b2/modules/e1a23b06-329a-4684-a717-ad476f0d8dff/lessons/462c933d-9f24-42d3-8bdc-a08a5fc866e4/concepts/5ab4b122-83e6-436d-850f-9f4d26627fd9).

System Architecture Diagram

Arch_Diag

Team Intro

Team Name: CDriving

Team Members

System Installation

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
  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

  1. Download training bag that was recorded on the Udacity self-driving car.
  2. Unzip the file
unzip traffic_light_bag_file.zip
  1. Play the bag file
rosbag play -l traffic_light_bag_file/traffic_light_training.bag
  1. Launch your project in site mode
cd CarND-Capstone/ros
roslaunch launch/site.launch
  1. Confirm that traffic light detection works on real life images

Traffic light detection based on SSD-MobileNetV2

The traffic light detection subsystem is based on a trained SSD-MobileNetV2 CNN model. The implementation details are under the link.

About

License:MIT License


Languages

Language:Python 94.5%Language:Jupyter Notebook 3.5%Language:CMake 0.7%Language:Shell 0.6%Language:C++ 0.5%Language:Dockerfile 0.2%