ECE434 Project - Vehicle Telemetry

From eLinux.org
Revision as of 08:11, 21 February 2023 by Sqz (talk | contribs)
Jump to: navigation, search

thumb‎ Embedded Linux Class by Mark A. Yoder


Team members: Jason Su Harris Wu

Grading Template

I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!

Add Extras

09 Executive Summary
09 Packaging
09 Installation Instructions 
09 User Instructions
09 Highlights
09 Theory of Operation
09 Work Breakdown
09 Future Work/Conclusions
09 Hackster.io
09 Demo/Poster
00 Not Late

Score:  90/100

Executive Summary

Use extended Kalman filter to integrate GPS and IMU data to achieve a decimeter level accuracy for the position and velocity of a vehicle. Combine with data logged from the CAN bus to build a server as a platform for implementing some apps, such as lap time, accel/brake time for analysis purpose. .

Progress:

We have made a Kalman filter on MATLAB, and have it running on BeagleBone using simulated data.

We have made the GPS sensor working on the BeagleBone, and read from it at a desire interval.

We have made a server using Flask to hold webpage for dynamic visualizing data on wsl.

We have designed and ordered a PCB for BeagleBone with GPS, IMU and CAN transceivers.

We have OBDII working, and is able to log engine RPM of my car.

End with a two sentence conclusion.

The sentence count is approximate and only to give an idea of the expected length.

Packaging

A beaglebone cape with IMU, GPS and CAN transceiver.

Installation Instructions

1. Install gpsd:

  sudo apt-get install gpsd

2. Config CAN:

  sudo config-pin p9.24 can // CAN1 RX
  sudo config-pin p9.26 can // CAN1 TX

3. Start gpsd:

  sudo service gpsd start

4. Check the status gpsd:

  cgps  //It may take a couple of minutes for the GPS to capture enough satellites depending on the weather and area. 

5. Start CAN link:

  sudo ip link set can1 up type can bitrate 500000  // Usually CAN bus data rate on cars are 500kbit/s, but it may change depends on vehicle model. 
  sudo ifconfig can1 up
  reference link: https://www.thomas-wedemeyer.de/de/electronic/arm/beaglebone/canbus-python/

Give step by step instructions on how to install your project.

  • Include your github path as a link like this to the read-only git site: https://github.com/MarkAYoder/gitLearn.
  • Be sure your README.md is includes an up-to-date and clear description of your project so that someone who comes across you git repository can quickly learn what you did and how they can reproduce it.
  • Include a Makefile for your code if using C.
  • Include any additional packages installed via apt. Include install.sh and setup.sh files.
  • Include kernel mods.
  • If there is extra hardware needed, include links to where it can be obtained.

User Instructions

1. Run make to compile

2. Run setup.sh to run the program

3. Go to http://192.168.7.2:8081/ to see the real time visualized data

Once everything is installed, how do you use the program? Give details here, so if you have a long user manual, link to it here.

Consider making it autostart for full credit.

Highlights

Here is where you brag about what your project can do.

Include a YouTube demo the audio description.

Theory of Operation

Give a high level overview of the structure of your software. Are you using GStreamer? Show a diagram of the pipeline. Are you running multiple tasks? Show what they do and how they interact.

Work Breakdown

List the major tasks in your project and who did what.

Also list here what doesn't work yet and when you think it will be finished and who is finishing it.

Future Work

Suggest addition things that could be done with this project.

Conclusions

Give some concluding thoughts about the project. Suggest some future additions that could make it even more interesting.




thumb‎ Embedded Linux Class by Mark A. Yoder