Skip to content

AElkenawy/SDCars-Capstone-ROS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

112 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

System Integration Capstone Project

Project goal

Integration of Autonomous vehicle subsystems of perception, localization, planning and control into one system using ROS (Robot Operating System) middleware. The vehicle should be able to drive around the test track using waypoints navigation while obeying traffic rules (and avoiding obstacles).

Project overview

The aim of drive-by-wire (dbw) system configuration is to generate acceleration, braking and steering commands based on sensor measurement. The core elements of the autonomous vehicle system are perception, localization, planning and control subsystems.

System Subsystems

The system architecture is based on open-source software for self-driving vehicles of Autoware. ROS nodes and topics used to implement core functionality of the autonomous vehicle system of waypoint following, traffic light detection and control are illustrated as

ROS topics and nodes

Nodes of interest in this project are:

  1. Waypoint Updater Node (Planning subsystem) ./ros/src/waypoint_updater/waypoint_updater.py

Wayppoint Updater Node

  1. DBW/drive-by-wire Node (Control subsystem) ./ros/src/twist_controller/dbw_node.py

DBW Node

  1. Traffic Light Detection Node (Perception subsystem) ./ros/src/tl_detector/tl_detector.py. Traffic Light Classifier is a SSD (Single Shot MultiBox Detector) CNN model. ./ros/src/tl_detector/light_classification/tl_classifier.py

Traffic Light Detection Node

Basic Build Instructions

Please use one of the two installation options, either native or docker installation.

Native 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
  • Follow these instructions to install ROS
  • Download the Udacity Simulator.

Docker Installation

Install Docker

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

Port Forwarding

To set up port forwarding, please refer to the "uWebSocketIO Starter Guide" found in the classroom (see Extended Kalman Filter Project lesson).

Usage

  1. Clone the project repository
git clone https://github.com/AElkenawy/SDCars-Capstone-ROS.git
  1. Install python dependencies
cd CarND-Capstone
pip install -r requirements.txt
  1. Make and run styx
cd ros
catkin_make
source devel/setup.sh
roslaunch launch/styx.launch
  1. Run the simulator

About

ROS System integration of Autonomous vehicle for waypoints navigation while obeying traffic rules.

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors