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.
- Brent Wylie - bwylieaudio@gmail.com
- Ioseph Martinez - martinez.pelayo@gmail.com
- Joseph Thompson - joseph.thompson@nxp.com
- 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
- ROS Kinetic if you have Ubuntu 16.04.
- ROS Indigo if you have Ubuntu 14.04.
- Dataspeed DBW
- Use this option to install the SDK on a workstation that already has ROS installed: One Line SDK Install (binary)
- Download the Udacity Simulator.
- Install Docker
- Build the docker container:
bash docker build . -t capstone
- Run the docker file:
bash docker run -p 4567:4567 -v $PWD:/capstone -v /tmp/log:/root/.ros/ --rm -it capstone
To prevent issues using opencv2 in Windows 10 Subsystem for Linux (bash ubuntu 16.04 in powershell):
- Enable execution stack for opencv:
$> sudo apt install execstack
$> sudo execstack -c /opt/ros/kinetic/lib/libopencv_* # NOT: /usr/local/lib/libopencv_*
- Clone the project repository:
$> git clone https://github.com/udacity/CarND-Capstone.git
- Install python dependencies :
$> cd CarND-Capstone
$> pip install -r requirements.txt
- Make and run styx :
$> cd ros
$> catkin_make
$> source devel/setup.sh
$> roslaunch launch/styx.launch
- Run the simulator
- 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)
- Unzip the file:
$> unzip traffic_light_bag_files.zip
- Play the bag file:
$> rosbag play -l traffic_light_bag_files/loop_with_traffic_light.bag
- Launch your project in site mode:
$> cd CarND-Capstone/ros
$> roslaunch launch/site.launch
- Confirm that traffic light detection works on real life images: