Giter Club home page Giter Club logo

trace-analyzer's Introduction

OpenXC Vehicle Trace Analysis Tools

  • Version: 0.1

This visualization is running at http://openxcplatform.com/trace-analyzer/

Running the Visualization

If you have Python 2:

trace-analyzer/$ python -m SimpleHTTPServer

and if you have Python 3:

trace-analyzer/$ python -m http.server

Uploading Traces to S3

Gzip the trace locally:

$ gzip -9 trace.js
$ cp trace.js trace.js.bak
$ mv trace.js.gz trace.js

Using the s3cmd tool:

$ s3cmd put trace.js s3://openxcplatform.com/traces/ -P \
    --add-header "Content-Encoding: gzip"

Or, if you have the trace directory locally:

$ s3cmd sync traces s3://openxcplatform.com/traces/ -P \
    --add-header "Content-Encoding: gzip"

License

Copyright (c) 2012-2013 Ford Motor Company

Licensed under the BSD license.

trace-analyzer's People

Contributors

abhitrivedi avatar apham2 avatar peplin avatar sudo-a13 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

trace-analyzer's Issues

User can upload custom trace files for analysis.

Feature to allow users to upload their own trace file for visualization. Validation for the upload file are:

  • must be text file
  • must not be a very large file (say 1MB?)
  • contains valid JSON data

Errors when trace file is missing GPS

Try loading the "aggressive driving" trace, which doesn't have GPS and you get JavaScript errors:

Unable to add map path (TypeError: Cannot read property 'lat' of undefined) map.js:164
Uncaught TypeError: Cannot read property 'latitude' of undefined fuel.js:11

Create full vehicle dynamics version of trace file in memory

The format of the trace files now is more of a raw, per-sensor dynamics log. It's compact, but it's hard to use when trying to come to any conclusions about the state of the vehicle.

What if instead, we had a list of data points where each point had a value for every sensors we support, e.g.:

{"name": "my-trace",
"records": [
    {"timestamp": 12345.1,
        "location": {"latitude": 42.2, "longitude", -82.1},
        "vehicle_speed": 19.2,
        "transmission_gear_position": "first",
        ...
    },
    ...
]}

A new record would be generated if any of the sensors values changed, and the other values would be carried over from the previous record. It's not an especially efficient data structure, but analysis will be much simpler and faster with this format.

Implement draft of architecture

  • All javascript
  • List of file URLs
  • Select file from dropdown, load async (include loading dialog)
  • Parse line by line to find data
  • Highlight route in map in left column (possible add trace in realtime while
    streaming download)
  • Add some data below with d3 or other charting lib - highcharts again?
  • White background, clean style with hairline black borders
  • Host on GH pages, host traces on S3

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.