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

AndysDeepAbstractions/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 [email protected] UTC+01:00 (Germany) https://github.com/AndysDeepAbstractions/Early_Birds_CarND-Capstone
2 Arjaan Buijk [email protected] UTC-05:00 (Detroit) https://github.com/ArjaanBuijk/Early_Birds_CarND-Capstone
3 Sachit Vithaldas [email protected] UTC-07:00 (California) https://github.com/sachitv/Early_Birds_CarND-Capstone
4 Zeeshan Anjum [email protected] UTC+03:00 (Bahrain) https://github.com/zeeshananjumjunaidi/Early_Birds_CarND-Capstone
5 Nick Mariano [email protected] 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


Known Issues

Since github has a 100MB file limit the traffic light detection model for some earlier versions has to be downloaded from: https://drive.google.com/open?id=19ehIoc0koBII2urasg3kHf9EOAiI2bbo and needs to be placed in ./Early_Birds_CarND-Capstone/ros/src/tl_detector/light_classification/frozen_models/


Conclusions

  • Udacity Review and Clara test drive upcoming.

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 # for the initial repo
# or 
git clone https://github.com/AndysDeepAbstractions/Early_Birds_CarND-Capstone # for the Early_Birds Project repo
  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 (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