Giter Club home page Giter Club logo

sjsu-ad / fusionad Goto Github PK

View Code? Open in Web Editor NEW
39.0 9.0 24.0 110.22 MB

An open source autonomous driving stack by San Jose State University Autonomous Driving Team

License: MIT License

CMake 3.64% C++ 84.55% C 1.31% Python 8.88% Shell 0.19% MATLAB 0.61% Processing 0.43% HTML 0.01% Makefile 0.23% Objective-C 0.15%
autonomous-vehicles robotics ros ros-kinetic autonomous-car autonomous-driving autonomous-systems san-jose san-jose-state-university sjsu

fusionad's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.