Skip to content

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

Notifications You must be signed in to change notification settings

zeeshananjumjunaidi/Early_Birds_CarND-Capstone

 
 

Repository files navigation


Udacity's Self-Driving Car Engineer Nanodegree Program

Udacity - Self-Driving CarNanoDegree


Team Early Birds: Final Project - Programming a Real Selfdriving Car (Capstone)

The Team Members:

# Member Udacity Account Mail Time Zone Github Contributions
1 Andreas Wienzek andreas.wienzek@gmail.com UTC+01:00 (Germany) https://github.com/AndysDeepAbstractions/Early_Birds_CarND-Capstone
2 Arjaan Buijk arjaan.buijk@gmail.com UTC-05:00 (Detroit) https://github.com/ArjaanBuijk/Early_Birds_CarND-Capstone
3 Sachit Vithaldas macintoshsac@gmail.com UTC-07:00 (California) https://github.com/sachitv/Early_Birds_CarND-Capstone
4 Zeeshan Anjum zeeshananjumjunaidi@gmail.com UTC+03:00 (Bahrain) https://github.com/zeeshananjumjunaidi/Early_Birds_CarND-Capstone
5 Nick Mariano nmar95@gmail.com UTC-06:00 (Dallas) https://github.com/nmar95/Early_Birds_CarND-Capstone

Team Submission Repository: https://github.com/AndysDeepAbstractions/Early_Birds_CarND-Capstone

Slack Communication: https://earlybirds-sdcnd.slack.com/


Overview

This is the project repo for the final project of the Udacity Self-Driving Car Nanodegree: Programming a Real Self-Driving Car. For more information about the project, see the project introduction here.

alt text

Udacity Self-Driving Car Hardware Specs:

  • CAR Lincoln MKZ
  • CPU Intel Core i7-6700K CPU @ 4 GHz x 8
  • MEMORY 31.4 GiB
  • GRAPHICS Nvidia TITAN X
  • OS ROS 64-bit

Simulation

The software was tested with the System Integration Simulator and tested using ROS Bags alt text simulation image

Testing using the System Integration Simulator

alt text rosbag image

Testing using ROS bags that were recorded at the test site

IMAGE ALT TEXT yt

Video showing Simulation Processes


ROS Nodes Description

The following is a system architecture diagram showing the ROS nodes and topics used in the project.

alt text

DBW Node

This package contains the files that are responsible for control of the vehicle. It publishes the throttle, brake, and steering commands. To minimise jerk the PID controller gets resetted when manual driver takes over.

Waypoint Follower

A package containing code from Autoware which publishes target vehicle linear and angular velocities in the form of twist commands.

Waypoint Updater

The purpose of this node is to update the target velocity property of each waypoint based on traffic light and obstacle detection data.

Traffic Light Detection

This node handels traffic light detection and a traffic light classification. It publishes also the locations to stop for red traffic lights.

Further documentation can be found at https://github.com/AndysDeepAbstractions/Early_Birds_CarND-Capstone/blob/80dcb5d297cb728799032509c83b9a58d4e42620/TrafficLight/README.md


Acknowledgments


Conclusions


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

Usage

  1. Clone the project repository
git clone https://github.com/udacity/CarND-Capstone.git
  1. Install python dependencies
cd Early_Birds_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 (a bag demonstraing the correct predictions in autonomous mode can be found here)
  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
  1. Confirm that traffic light detection works on real life images

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 36.1%
  • CMake 28.4%
  • C++ 18.7%
  • Jupyter Notebook 15.9%
  • Shell 0.9%