Coder Social home page Coder Social logo

armando170a / carmaplatform Goto Github PK

View Code? Open in Web Editor NEW

This project forked from usdot-fhwa-stol/carma-platform

0.0 1.0 0.0 32.33 MB

The newest inception of CARMA is now live on Github and open for collaborating. The CARMAPlatform is created on a robot operating system (ROS) and utilizes open source software (OSS) that enables cooperative automated driving plug-ins.

Dockerfile 0.04% CMake 1.11% C++ 15.60% Java 27.54% JavaScript 2.11% MATLAB 0.13% Shell 0.47% Python 0.51% C 51.97% HTML 0.30% PHP 0.02% CSS 0.21%

carmaplatform's Introduction

CARMA

CARMA Arch

Cooperative Automated Research Mobility Applications (CARMA), CARMA is a reusable, extensible platform for controlling SAE level 1 connected, automated vehicles (CAVs). It provides a rich, generic API for third party plugins that implement vehicle guidance algorithms. It is written in Java and C++ and runs in a Robot Operating System (ROS) environment. It offers a rich application programming interface (API) for third party authors to develop guidance plugins that can plan vehicle trajectories under certain conditions. The platform can be reused on a variety of properly equipped vehicles.

What Is CARMA

CARMA Arch

Managing automated vehicle motion involves three aspects. The first is navigation, also know as localization, which is the act of determining where the vehicle currently is with respect to the earth and with respect to the desired path of travel (its planned route). The second is guidance, also know as path planning, which includes the processes of determining how the vehicle is to move from its current location to its destination. The destination and route will be handed to the guidance algorithms, and they then determine how the vehicle’s motion needs to be adjusted at any time in order to follow the route. The third aspect of automated vehicle motion is control, which covers the actuation of the vehicle’s physical devices to induce changes in motion (for land vehicles these are typically causing the wheels to rotate faster or slower and turning the steering wheel). Therefore, the navigation solution becomes an input to the guidance function, and the guidance solution becomes an input to the control function. As the vehicle moves, obviously its location changes so that the navigation function constantly needs to update its solution and the cycle iterates as quickly as necessary to produce a smooth and accurate vehicle motion. The rate of iteration is largely determined by the expected speed of the vehicle.

CARMA provides the navigation and guidance functions for its host vehicle, as well as some of the control functions. It depends on low level controller hardware to provide the rest of the control function. The current version of CARMA is limited to longitudinal (speed) control, so a human operator needs to control the steering wheel. The next major update to CARMA will include lateral (steering) control as well, for full SAE level 2 autonomy.

Documentation

CARMA Demo

System Specifications

The platform's performance requirements are specified to conform the following performance requirements. Performance requirements shall only be applicable to the platform being developed, including Android tablets and GUIs; computers, software, positioning units, and processors that are not part of the OEM vehicle. The functional requirements are specified to confirm the following functional requirements. Functional requirements shall be applicable to the platform being developed, including the vehicle's control, MAP and SPAT messages, etc. CAV Platform Requirements

Release Notes

The current version release of the CARMA software platform. CARMA Release Notes

Architecture Guide

The documentation describes the architecture of a single CARMA vehicle. There may be several of these vehicles operating in concert, communicating with each other via DSRC or cellular means. They can also communicate with roadside infrastructure using DSRC or cellular. The communication among software components within a single vehicle, however, is mostly done via the Robot Operating System (ROS) framework. There are no ROS communications between neighboring vehicles. CARMA Architecture Guide

Detailed Design Documents

Please see the Detail Design document page for detailed design specification for CARMA and other additional information. Detail Design Page

Developers Guide

This guide describes the overall approach to develop a plug-in. Developers Guide

Users Guide

The User Guide describes the complete functionality specific to the Cadillac SRX. Some vehicle IPs/power procedures may change when using other vehicles. CARMA User Guide

Administrator Guide

This guide describes the vehicle and developer PC configuration, build, deployment and testing steps necessary to install and run the CARMA platform. Administrator Guide

Contribution

Welcome to the CARMA contributing guide. Please read this guide to learn about our development process, how to propose pull requests and improvements, and how to build and test your changes to this project. CARMA Contributing Guide

License

By contributing to the Federal Highway Administration (FHWA) Connected Automated Research Mobility Applications (CARMA), you agree that your contributions will be licensed under its Apache License 2.0 license. CARMA License

Contact

Please click on the CARMA logo below to vist the Federal Highway Adminstration(FHWA) CARMA website.

CARMA Image

carmaplatform's People

Contributors

kjrush avatar qswawrq avatar tonyscousin avatar maefromm avatar darrelld05 avatar watters-torc avatar aphelyon avatar imp314 avatar mrzeekster avatar jenctyler avatar zeekster28 avatar adkissonj avatar

Watchers

armando cisneros orozco avatar

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.