S19: Automophiles

From Embedded Systems Learning Academy
Revision as of 01:02, 13 May 2019 by Proj user3 (talk | contribs) (Introduction)

Jump to: navigation, search

Project Title

Automophiles

Abstract

<2-3 sentence abstract>

Introduction

The project was divided into 7 modules:

  • Sensor Controller
  • Motor Controller
  • Master Controller
  • Geographical Controller
  • Bridge Controller
  • Android Application
  • PCB/Hardware Integration

Team Members & Responsibilities

<Team Picture>


Schedule

Week# Date Task Status Completion Date
1 02/12/19
  • Form Teams
  • Completed
  • 02/12/19
2 02/19/19
  • Setup a Slack workspace for the team.
  • Setup private channel on Slack workspace
  • Completed
  • Completed
  • 02/19/19
  • 02/19/19
  • 02/19/19
3 02/26/19
  • Create a Gitlab project
  • Order 3.3V CAN transcievers
  • Create merge requests for every member
  • Invite Preet and TA to Gitlab project
  • Completed
  • Completed
  • Completed
  • Completed
  • 02/26/19
  • 02/26/19
  • 02/26/19
  • 02/26/19
4 03/05/19
  • Research Past Projects.
  • Setup a Bill of Materials.
  • Order an RC car and charger.
  • Assign responsibilities
  • Create Splitwise group
  • Order HC-06 Bluetooth module
  • Demo CAN Communication
  • In-Progress
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
  • 03/11/19
  • 03/11/19
  • 03/11/19
  • 03/11/19
  • 03/11/19
  • 03/11/19
  • 03/11/19
5 03/12/19
  • Finish ordering components for additional modules (GPS/compass, Sensors, etc)
  • Init Android project/begin work & research on UI fragments, Bluetooth, Maps API
  • Make unit-level diagrams of each module
  • Completed
  • Completed
  • Completed
  • 03/18/19
  • 03/18/19
  • 03/18/19
6 03/19/19
  • Interface GPS module to SJOne Board over UART
  • Make high-level block diagram of system
  • Write sample DBC file for communication of each module
  • Establish Communication of every module on CAN bus showing on BUS Master
  • Completed
  • Completed
  • Completed
  • Completed
  • 03/25/19
  • 03/25/19
  • 03/25/19
  • 03/25/19
7 03/26/19
  • Configure ESC for correct speed outcome according to frequency & PWM values.
  • Develop PWM API based on configuration results.
  • Check Laser Sensor response on I2C bus with I2C Master.
  • Completed
  • Completed
  • Completed
  • 04/01/19
  • 04/01/19
  • 04/01/19
8 04/02/19
  • Finalize PCB design/order by end of week
  • Set-up Bluetooth API on Android app/transmit to board
  • Develop Laser sensor driver API to get singleshot response.
  • Interface laser distance sensors and measure sensor values.
  • Completed
  • Completed
  • Completed
  • Completed
  • 04/08/19
  • 04/08/19
  • 04/08/19
  • 04/08/19
9 04/09/19
  • Interface GPS and receive correct GPRMC sentences
  • Hookup Motor Controller with CAN bus and successfully receive messages from Master
  • Hookup Bridge Controller with CAN bus to Master and successfully control RC Car
  • Completed
  • Completed
  • Completed
  • 04/15/19
  • 04/15/19
  • 04/15/19
10 04/16/19
  • Build obstacle avoidance logic in Master logic and do hallway testing
  • Configure Busmaster with converted DBC file and display working sensor values
  • Write module-level unit tests
  • Add MIA management to each module
  • Finalize overall UI of Android app
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
  • 04/22/19
  • 04/22/19
  • 04/22/19
  • 04/22/19
  • 04/22/19
11 04/23/19
  • Mount RPM sensor on DC motor and do ramp testing
  • Streamline and verify obstacle avoidance on uphill and downhill ramp tests
  • Mount compass on RC car and transmit calibrated heading on CAN bus
  • Mount GPS with external antenna on RC car and transmit GPS fix and current coords
  • Completed
  • Completed
  • Completed
  • Completed
  • 04/29/19
  • 04/29/19
  • 04/29/19
  • 04/29/19
12 04/30/19
  • Add dozens of useful debug messages and transmit on CAN
  • Configure Busmaster to display signal graphs of RPM/sensor values
  • Add debug popup menu on Android app to display sensor and GPS values
  • Test and validate obstacle avoidance in outside environments
  • Completed
  • Completed
  • Completed
  • Completed
  • 05/06/19
  • 05/06/19
  • 05/06/19
  • 05/06/19
13 05/07/19
  • Add target heading and distance calculation logic to GPS module
  • Display GPS target heading and distance in Android debug menu
  • Add a physical on/off switch to RC car setup
  • Add start/stop logic to master state machine depending on bridge input
  • Interface and display RPM value/motor cmd on LCD display
  • Receive PCB
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
  • 05/07/19
  • 05/07/19
  • 05/07/19
  • 05/07/19
  • 05/09/19
14 05/14/19
  • Add checkpoint logic to GPS module given predefined routes
  • Replace current setup with PCB interface
  • Perform outside testing on predefined routes
  • In Progress
  • In Progress
  • In Progress
15 05/22/19
  • Final Demo

Parts List & Cost

Item# Part Desciption Vendor Qty Cost
1 RC Car Traxxas 1 $240.00
2 RC Car Charger Wall Adapter Traxxas 1 $25.00
3 CAN Transceiver PCB Board Waveshare 7 $48.03
4 HC-06 Bluetooth Module eBay 1 $10.51
5 PCB Bay Area Circuits 2 $250

Printed Circuit Board

<Picture and information, including links to your PCB>

CAN Communication

<Talk about your message IDs or communication strategy, such as periodic transmission, MIA management etc.>

Hardware Design

<Show your CAN bus hardware design>

DBC File

https://gitlab.com/cmpe-243-group/cmpe-243-self-driving-car/blob/master/243.dbc




Sensor ECU

<Picture and link to Gitlab>

Hardware Design

Software Design

<List the code modules that are being called periodically.>

Technical Challenges

<Bullet or Headings of a module>

Unreliable sonor sensors

<Problem Summary> <Problem Resolution>



Motor ECU

<Picture and link to Gitlab>

Hardware Design

Software Design

<List the code modules that are being called periodically.>

Technical Challenges

<Bullet or Headings of a module>

Unreliable Servo Motors

<Problem Summary> <Problem Resolution>



Geographical Controller

<Picture and link to Gitlab>

Hardware Design

Software Design

<List the code modules that are being called periodically.>

Technical Challenges

<Bullet or Headings of a module>

Unreliable GPS lock

<Problem Summary> <Problem Resolution>



Communication Bridge Controller & LCD

<Picture and link to Gitlab>

Hardware Design

Software Design

<List the code modules that are being called periodically.>

Technical Challenges

<Bullet or Headings of a module>

Insane Bug

<Problem Summary> <Problem Resolution>



Master Module

<Picture and link to Gitlab>

Hardware Design

Software Design

<List the code modules that are being called periodically.>

Technical Challenges

<Bullet or Headings of a module>

Improper Unit Testing

<Problem Summary> <Problem Resolution>



Mobile Application

<Picture and link to Gitlab>

Hardware Design

Software Design

<List the code modules that are being called periodically.>

Technical Challenges

<Bullet or Headings of a module>

Wifi Link Reliability

<Problem Summary> <Problem Resolution>



Conclusion

<Organized summary of the project>

<What did you learn?>

Project Video

Project Source Code

Advise for Future Students

<Bullet points and discussion>

Acknowledgement

References