dumebi / CarND-Capstone

Capstone project for the self driving car nanodegree

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

System Architecture

The following is a system architecture diagram showing the ROS nodes and topics used in the project.

alt text

Traffic Light Detection

For this exercise, i used the test example in the Detection walkthrough tutorial.

Waypoint Updater

The purpose of waypoint updater is to update the target velocity property of each waypoint based on traffic light and obstacle detection data. The target veloicty at normal situdation is given from waypoint_loader node. If the red light is detected, we genetated stopping trajectory considering vehicle's deceleration limits.

Waypoint Follower

The longitudinal target velocity was set in waypoint_updater node. This node determine the target yawrate to keep the lane by using pure-pursuit algorithm.

DBW(Drive-By-Wire) Node

This node finally calculates throttle, brake and steering angle to follow longitudinal and lateral trajectory simultaneously. We used PID controller to calculate throttle and brake based on the difference between the current velocity and the target velocity. We also use PID controller based on cross-track error (cte) to calculate appropriate steering command.

Individual submission

Jude Dike - dikejude49@gmail.com

About

Capstone project for the self driving car nanodegree

License:MIT License


Languages

Language:CMake 40.4%Language:Python 32.2%Language:C++ 26.1%Language:Dockerfile 1.0%Language:Shell 0.3%