OpenCRG
Encyclopedia
OpenCRG is a complete open source project including a tool-suite for the creation, modification and evaluation of road surfaces, and an open file format specification CRG (curved regular grid). Its objective is to standardize a detailed road surface description and it may be used for applications like tire-, vibration- or driving-simulation.

The initial release of OpenCRG was a beta version 0.3 in early 2009, as of September 2010 the current stable release of the OpenCRG C-API and MATLAB
MATLAB
MATLAB is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages,...

 tool suite is version 1.0.2.

Overview

OpenCRG is a standardized efficient 3D road data representation defined in base plane by its direction (heading, yaw angle). It is optionally complemented by hilliness (slope, inclination, grade, pitch angle) and cross slope (super-elevation, banking, cant, camber, roll angle). Compact storage and sufficient accuracy, even for long tracks are the objectives for the open file format specification CRG.

A C-API as well as a MATLAB API are provided for the creation, evaluation or modification of OpenCRG files. Both APIs include basic operations like transforming between intrinsic to global coordinates. The MATLAB tool suite provides powerful modification or creation tools and allows to visualize the 3D road data representation.

OpenCRG was initiated by Daimler and is currently driven by VIRES Simulationstechnologie GmbH, the research group AK 6.1.3 'Tire Models for Vehicle Dynamics, Ride Comfort and Uneven Roads' and the OpenCRG community. The associated website maintained by VIRES GmbH is the main portal for information about OpenCRG including latest news concerning the data format, free and commercial tool-sets, test data etc..

With OpenCRG real road surfaces (e.g. by measurement) have also become available to "classic" simulation applications using a macroscopic description of road networks. The gap between the logical road description and the microscopic description of road surfaces (i.e. OpenCRG) is closed by the open file format OpenDRIVE
OpenDRIVE (specification)
OpenDRIVE is an open format specification to describe a road network's logic. Its objective is to standardize the logical road description in order to facilitate the data exchange between different driving simulators....

. An implementation of OpenCRG into the OpenDRIVE file format specification has already been established in January 2008.

History

The predecessor of OpenCRG is a format called CRG (curved regular grid) which has been used internally for several years by Daimler AG. A entire suite of MATLAB and FORTRAN
Fortran
Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...

 tools had been developed for the handling, evaluation and generation of CRG data.

The early phase of the OpenCRG initiative is funded by a series of German automotive OEMs. Representatives of Audi AG Ingolstadt, BMW AG München, Daimler AG Sindelfingen, Porsche AG Weissach and Volkswagen AG Wolfsburg define the objectives of OpenCRG.

Since 2008 Daimler AG develops and refines OpenCRG in collaboration with VIRES GmbH, a simulation technology company.

Clear-text headers

OpenCRG provides various ASCII/binary file formats with clear-text headers. The header contains road parameters for the reference line and the overall configuration of the longitudinal sections, a data definition to define the data format (ASCII/binary) and the sequence of data which is to be expected in the trailing data block as well as modifier and option parameters. Furthermore, it may contain references to other files (typically containing the actual data) to handle different parameters for the same data set.

Arbitrary scalar data

OpenCRG handles any arbitrary scalar data versus a reference grid. These are typically elevation data or friction coefficients. By this, different applications like tire- or vibration simulations take advantage of the open surface descriptions format OpenCRG.

C-API

OpenCRG provides an open source C-API for data handling and evaluation. Based on predecessor CRG-FORTRAN routines (Daimler AG), the enhanced C-API allows easy integration of OpenCRG functionality into third party applications. The major focus is the fast conversion from inertial to global coordinate space of OpenCRG data.

MATLAB API

OpenCRG provides a wide range open source MATLAB tool suite. Additional functionality to the predecessor CRG-MATLAB routines (Daimler AG) for the modification, creation and visualization of OpenCRG files is provided. The focus of the MATLAB tool suite is mainly the modification and visualization of OpenCRG data.

World geodetic system

Real world OpenCRG data files may be generated by several laser scans along a road.
World geodetic system coordinates (WGS84), as used by GPS and e.g. Google Maps
Google Maps
Google Maps is a web mapping service application and technology provided by Google, free , that powers many map-based services, including the Google Maps website, Google Ride Finder, Google Transit, and maps embedded on third-party websites via the Google Maps API...

 may be attached to OpenCRG header informations. This allows to track and visualize the road description. The MATLAB API provides an interface to visualize the location of OpenCRG roads on Google Maps.

Sample data

Getting started with OpenCRG is facilitated by a growing library of sample data. A set of test and demo OpenCRG files as well as a detailed documentation are included. Simple examples explain the usage of OpenCRG.

Fields of application

  • Tire simulation
  • Vibration simulation
  • Driving simulation
  • Passenger comfort
  • etc.

Version history

Project name Version Release date Status
OpenCRG
(beta)
C-API 0.3beta 2009-02-10
C-API 0.4beta 2009-05-26
C-API 0.6beta 2009-08-20
tools-suite 0.7beta 2009-11-12
OpenCRG tools-suite 0.8 2009-12-17
tools-suite 1.0 2010-04-15
tools-suite 1.0.1 2010-06-04
tools-suite 1.0.2 2010-09-28 Stable
tools-suite 1.0.3 2011-06-30 RC 1

System requirements

OpenCRG has full support for 32-bit
32-bit
The range of integer values that can be stored in 32 bits is 0 through 4,294,967,295. Hence, a processor with 32-bit memory addresses can directly access 4 GB of byte-addressable memory....

 i586 and 64-bit
64-bit
64-bit is a word size that defines certain classes of computer architecture, buses, memory and CPUs, and by extension the software that runs on them. 64-bit CPUs have existed in supercomputers since the 1970s and in RISC-based workstations and servers since the early 1990s...

 x86-64 PC
Personal computer
A personal computer is any general-purpose computer whose size, capabilities, and original sales price make it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator...

 hardware. Big and little endian encoding of a given processor is detected automatically in the C-API. It is constantly tested in the following environments:
  • Linux
    Linux
    Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

     on PC
    Personal computer
    A personal computer is any general-purpose computer whose size, capabilities, and original sales price make it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator...

  • MS Windows
  • Irix
    IRIX
    IRIX is a computer operating system developed by Silicon Graphics, Inc. to run natively on their 32- and 64-bit MIPS architecture workstations and servers. It was based on UNIX System V with BSD extensions. IRIX was the first operating system to include the XFS file system.The last major version...

     on sgi
    Silicon Graphics
    Silicon Graphics, Inc. was a manufacturer of high-performance computing solutions, including computer hardware and software, founded in 1981 by Jim Clark...

     workstations


The OpenCRG MATLAB Tool Suite is provided on any system distribution running MATLAB
MATLAB
MATLAB is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages,...

 (R14) or higher.

See also

  • OpenDRIVE
    OpenDRIVE (specification)
    OpenDRIVE is an open format specification to describe a road network's logic. Its objective is to standardize the logical road description in order to facilitate the data exchange between different driving simulators....

    - the macroscopic brother of OpenCRG

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK