/carla.hal

Real Self-Driving Car

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

carla.hal

Real Self-Driving Car

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.


Contents

  1. Team Members
  2. Installation
  3. Usage
  4. Real World Testing
  5. Work-Arounds
  6. Final Remarks

Team Members

Name EMail
Daniel Hai dyh.1213@gmail.com
Yu-Cheng Su ycsuphy@gmail.com
Dmitry Yanchenko dyanchenko@gmail.com
Ardavan Shafiee bmbigbang@gmail.com
Alexander Braun alexander.n.braun@gmail.com

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.

Usage

  1. Clone the project repository

     bash 
     git clone https://github.com/alex-n-braun/carla.hal.git
    
  2. Install python dependencies

     bash
     cd carla.hal
     pip install -r requirements.txt
    
  3. Make and run styx

     bash
     cd ros
     catkin_make
     source devel/setup.sh
     roslaunch launch/styx.launch
    
  4. 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

     bash
     unzip traffic_light_bag_files.zip
    
  3. Play the bag file

     bash
     rosbag play -l traffic_light_bag_files/loop_with_traffic_light.bag
    
  4. Launch your project in site mode

     bash
     cd CarND-Capstone/ros
     roslaunch launch/site.launch
    
  5. Confirm that traffic light detection works on real life images

Work-Arounds

if you are experiencing an issue of the car not moving on launch in the current master branch a quick fix is to replace

    sio = socketio.Server()

on server.py with

    eventlet.monkey_patch()
    sio = socketio.Server(async_mode='eventlet')

Final Remarks

Great teamwork! Great fun!