Skip to content

ashsiv/CarND-Capstone

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This project implements the core functionality to autonomously drive a vehicle around a track. It includes traffic light detection (perception), waypoint updates (planning) and dbw 'drive by wire' operations (control). The code is tested against a simulator that mimics functionality on Carla, Udacity's self driving car!

System Architecture

The following system architecture diagram shows the ROS nodes and topics used in the project.

image1

The /current_pose topic provides the vehicle's current position and the /base_waypoints provides a complete list of waypoints the car will be following.

The traffic light detection node takes in data from topics such as /image_color, /current_pose and /base_waypoints and publishes locations to stop for the red traffic lights to the /traffic_waypoint topic.

image2

The waypoint updater node will update the target velocity property of each waypoint based on the traffic light and obstacle detection. This node will subscribe to the /base_waypoints , /current_pose , /obstacle_waypoint , and /traffic_waypoint topics, and publish a list of waypoints ahead of the car with target velocities to the /final_waypoints topic.

image3

Finally we have a drive-by-wire (dbw) system to control. A DBW system has electronic control for throttle, brake, and steering. The dbw_node subscribes to the /current_velocity topic along with the /twist_cmd topic to receive target linear and angular velocities. Additionally, this node will subscribe to /vehicle/dbw_enabled, which indicates if the car is under dbw or driver control. This node will publish throttle, brake, and steering commands to the /vehicle/throttle_cmd, /vehicle/brake_cmd, and /vehicle/steering_cmd topics to control the vehicle at 50 Hz.

image4

Instructions to launch the project

  1. Open the repo
cd /home/workspace cd CarND-Capstone
  1. Install the requirements
pip install -r requirements.txt
  1. Source setup.bash
cd ros
catkin_make 
source devel/setup.sh
  1. Launch the project
roslaunch launch/styx.launch

Results

The test drive video for the code repo shows the simulation vehicle autonomously drive around a track at a set speed of 18.6 mph (30 km/h) slowing down and coming to a complete stop at red lights.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • CMake 40.7%
  • Python 31.7%
  • C++ 26.3%
  • Other 1.3%