Skip to content

SJSU-AD/FusionAD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SJSUxSJSU_AD

Welcome to FusionAD

FusionAD is an autonomous driving software stack developed by the SJSU Autonomous Driving Team at San Jose State University (SJSU), San Jose, CA.

Our challenge is to create a fully functional autonomous driving vehicle within the 1 Year timeline of a Mechanical Engineering Senior Project at SJSU.

See KPIX Bay Area's coverage on SJSU autonomous driving on Youtube

FusionAD's Software Architecture

FusionAD Architecture

This repository mainly capture the software application layer within FusionAD's architecture.

Application Modules

Currently, all the modules are under work in progress and they are located under FusionAD/src/modules
Current capabilities of the software modules:

  • Perception
    • Integration done with Yolo V3 image detector
  • Localization
    • EKF through robot_localization package
    • Dead reckoning vehicle kinematic model
    • Initial Calibration routine
    • Transforms between sensors and tracking frames
  • Planning
    • "Virtual rail" planner - Basic route planner
  • Control
    • High-level motion controller
    • Low-level actuator controller
    • Tele-op interface
    • CAN Bus interface
  • Simulation
    • OSV Sim
      • A full fledge vehicle simulator on the Gazebo Simulation Platform
    • Control SIL
      • A Real-time, Software In the Loop testing environment for high-level controller vaidation.

Operating Systems and Requirements

  • FusionAD is developed on ROS KINETICS and UBUNTU 16.04 LTS. We do not support other version of ROS or Ubuntu at the moment.

Hardware

Sensor Stack

One of the goals at SJSU Autonomous Driving is to make autonomy development more accessible and cheaper.
Therefore, our sensor stack consisted of mainly low-cost and easily attainable sensors.

Computation

Current computation architecture mimics a distributed system for distributing tasks and loads between the two resource-heavy modules, perception and map-based localization.

  • Main Computer
    • Spec: i7-7700HQ + GTX 1050 + 16 Gb Ram
    • Handles most localization + planning + control computations
  • 2x Nvidia Jetson TX2
    • Dedicated to perform image detection computations

How to build FusionAD:

  1. Run: sudo ext_package_build.sh at the root directory to ensure all the prerequisites of the external ROS packages used in this stack are met and installed
  2. Run: catkin_make at the root directory

Development

Branches

  • master
    • Most stable branch
    • FusionAD do not recommend performing development from this branch
  • develop
    • Contains tested features
    • FusionAD recommends performing development on this branch
  • test_deployment
    • Contains features that are pending to be tested on the vehicle
    • FusionAD do not recommend performing development from this branch
  • slave_tx2
    • Contains software for the Jetson TX2 modules
    • Not Open for main FusionAD development except for software related to the TX2 board
  • release_branches
    • Sealed branch for storing past releases
    • Not Open for development

Maintainers

The Core FusionAD team

SeniorProjectTeam

FusionAD also appreciate the help of other passionate SJSU students!
We would like to acknowledge the following FusionADers:

  • John Phung
    • FusionAD Program and Community Manager
  • Nelson Wong
    • SJSU Autonomous Driving Perception and Localization Engineer
  • Francisco Ibrarra
    • SJSU Autonomous Driving Perception Engineer