GithubHelp home page GithubHelp logo

osadp / carma Goto Github PK

View Code? Open in Web Editor NEW
1.0 4.0 0.0 5.97 MB

CARMA

License: Other

C 32.96% C++ 0.08% MATLAB 0.51% Makefile 0.08% Python 22.39% Java 15.04% CSS 1.00% HTML 0.30% JavaScript 27.63% Shell 0.02%

carma's Introduction

Open Source Overview
============================
Connected Vehicle Research Platform (CVRP)
Version 1.1

Description
-----------
The CVRP (aka CARMA) software provides an API to each of the TFHRC's CARMA vehicles (modified 2013 Cadillac SRX).
Researchers can build project-specific control code on top of this API to study, for example, advanced
ACC and driver assist systems. The software in this repository comprises four components that execute on two processors.
The primary processor is a MicroAutobox II running dSpace, that houses:
  * CARMA platform Real-time
  * Project-specific control code (not part of this repository)
The secondary processor is a generic Ubuntu Linux PC that houses:
  * Data communication and extended driver interface
  * Log processor

The primary functions of these components are as follows.

CARMA real-time:  this code parses input data from the CANbus and secondary processor and places the
individual data elements into the data interface block, which can be read by the project-specific
application (e.g. the PATH CACC code). It also reads project-specific outputs from the data interface
block and packages them into properly formed messages and forwards them to the CANbus or secondary
processor, as necessary.

Data communication and extended driver interface:  is a web application that provides an extended
driver interface (beyond the stock vehicle dashboard interface). This DVI is a web page that can be
transmitted over wifi to a tablet mounted on the dashboard to provide experimental data feedback and
get commands from the driver. It also communicates with the non-CANbus devices on the vehicle: 
two-way messaging with the DSRC on-board unit to pass BSMs; TORC controller to receive vehicle speed
and to pass speed commands; and TORC Pinpoint location device to receive current vehicle position. 
Data from these devices is then reformatted as necessary and passed to the CARMA real-time component
via Ethernet messages.  Data from the CARMA real-time component (e.g. speed commands and BSMs) are
passed to these devices as appropriate.  As it exists in this repository, this component includes
project-specific code (DVI presentation and data exchange with the MAB), so some packages will have to
be modified for future projects.

Log processor:  is a Python program running on the vehicle’s secondary processor responsible for formatting logs from the CACC control software on the MAB. The CACC control software sends various control parameters to the Log Processor every timestep via a UDP socket. The Log Processor parses this binary-formatted message into a human-readable CSV format more suited for post-processing and analysis. These files are stored in a subfolder of the Log Processer program’s working directory and are stored in files with timestamped names.


Installation instructions
-------------------------
Microautobox:  this is a complicated build & install process.  It is described in the document "CACC Software Installation Instructions.docx" in the MAB/docs directory.

Secondary processor:  the data communication app runs on Java 1.7, which needs to be installed first.
All of its functionality and resources are packaged in a single jar file, which needs to be installed
in a directory named /opt/<project name>.  It will also need a directory named /opt/<project name>/logs.

log processor:  this is described in the same doc as the Microautobox installation.



License information
-------------------
See accompanying LICENSE file.


System Requirements
-------------------------
Microautobox: dSpace Microautobox II computer

Secondary processor:  
Minimum memory:  2 GB
Processing power:  Intel Core I3 @ 1.6 GHz or equivalent
Connectivity:  ethernet
Operating systems supported:  Ubuntu 14.04


Documentation
-------------
The user guide for the research platform is included with the software distribution.


Web sites
---------
This software is distributed through the USDOT's JPO Open Source Application Development Portal (OSADP) under the CACC-CARMA project.
http://itsforge.net/

carma's People

Contributors

tonyscousin avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  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.