/SDC-System-Integration

Capstone Self Driving Car for Udacity Self Driving Car

Primary LanguageMakefile

Programming a Real Self-Driving Car

Capstone Project

  • Project Submission Due : 23/Oct/2017
  • Term 3 End : 6/Nov/2017

RoboFolks Team

  1. Perception

  2. Planning

  3. Control


RoboFolks Documentation

Project Introduction: presentation

  1. High level architecture from course lesson high level architecture

  2. ROS Master running ros master running

  3. Simulator running simulator running

  4. Upcoming traffic lights upcoming traffic lights

  5. Red traffic light perceived red traffic light detected

  6. New target trajectory planned new target trajectory

  7. New commands for car actuators new actuator commands

  8. See API for more details on above diagrams

    7.1 OPTIONAL : How to generate and view Sphinx API

cd <cloned_folder>/ros/src/doc
vim conf.py
vim index.rst
make clean
make html
cd _build/html/
python -m SimpleHTTPServer
cp -r * <cloned_folder>/docs/
  1. Github

Submission Checklist and Requirements

    • Smoothly follow waypoints in the simulator.
    • Stop at traffic lights when needed.
    • Stop and restart PID controllers depending on the state of /vehicle/dbw_enabled.
    • Speed Limit: Be sure to respect the speed limit set by the velocity param (km/h) in waypoint_loader

Simulator Results


Test Drive Results

  • TODO

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.

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 CarND-Capstone
pip install -r requirements.txt
  1. Make and run styx
cd ros
rm -rf build
rm -rf devel
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