Name | Slack | |
---|---|---|
Stefan Cyliax | [email protected] | @stefancyliax |
Paul Michalik | [email protected] | @paul-michalik |
Frank Keidel | [email protected] | @frankk |
Patrick Schalast | [email protected] | @patrickschalast |
The goal of this project was to implement a complete stack that can drive a vehicle down a street and recognize and respect traffic lights. For this the Robot Operating System was used.
Real Parking Lot at Udacity: (Youtube link)
Highway video: (Youtube link)
Test Lot Video: (Youtube link)
- Smoothly follow waypoints in the simulator.
- Respect the target top speed set for the waypoints' twist.twist.linear.x in waypoint_loader.py. Be sure to check that this is working by testing with different values for kph velocity parameter in /ros/src/waypoint_loader/launch/waypoint_loader.launch.
- If your vehicle adheres to the kph target top speed set here, then you have satisfied this requirement.
- Stop at traffic lights when needed.
- Stop and restart PID controllers depending on the state of /vehicle/dbw_enabled.
- Publish throttle, steering, and brake commands at 50hz.
- Launch correctly using the launch files provided in the capstone repo.
Please use one of the two installation options, either native or docker 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
- ROS Kinetic if you have Ubuntu 16.04.
- ROS Indigo if you have Ubuntu 14.04.
-
- Use this option to install the SDK on a workstation that already has ROS installed: One Line SDK Install (binary)
-
Download the Udacity Simulator.
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
Clone the project as described in section "Usage".
git clone https://github.com/stefancyliax/CarND-Capstone.git
On the first usage or when you modify Dockerfile
build the Docker image
cd CarND-Capstone
docker_build.bat
Run the image in a new container with interactive shell terminal: docker_run.bat
. Then proceed as described in section "Usage".
Run the image in a new container and log-in via RDP: docker_run_rdp.bat
. Log in and proceed as described in section "Usage". To log-in into a running container, open a terminal (e.g. via Kitematic or docker attach <container-id>
or docker attach happy-capstone-win
. (Work in progress, not yet supported)
To set up port forwarding, please refer to the instructions from term 2
- 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.
- Unzip the file
unzip traffic_light_bag_file.zip
- Play the bag file
rosbag play -l traffic_light_bag_file/traffic_light_training.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