Difference between revisions of "S21: (RC)^2"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Schedule)
(Schedule)
Line 78: Line 78:
 
* Interface SJ2 board and the ESP8266:Connecting to a local Wireless Access point
 
* Interface SJ2 board and the ESP8266:Connecting to a local Wireless Access point
 
* Try adding the MQTT Client library and publish and subscribe the first message to/from the server
 
* Try adding the MQTT Client library and publish and subscribe the first message to/from the server
* Get distance data from ultrasonic sensor and test its accuracy in real life
+
* Get distance data from ultrasonic sensors
 
* Send ultrasonic sensor data over CAN bus
 
* Send ultrasonic sensor data over CAN bus
* Interface OLED screen and be able to output data on the screen
 
 
* Control RC car motor speed and wheel alignment with SJ2 board
 
* Control RC car motor speed and wheel alignment with SJ2 board
| In-progress
+
| Complete
 
|-
 
|-
 
! scope="row"| 4
 
! scope="row"| 4
Line 88: Line 87:
 
| 03/28/2021
 
| 03/28/2021
 
|
 
|
* Solder GPS & compass modules and interface compass driver for SJ2: Able to get GPS data and test its accuracy
+
* Solder GPS & compass modules  
* Android Application: Integrate Google Maps API and simple UI to set the Destination
 
* Wifi: Establish MQTT broker and integrate MQTT Client Library with Android Application
 
 
* Motor: Control Motor node with Ultrasonic sensor data
 
* Motor: Control Motor node with Ultrasonic sensor data
* Master Driver: Basic rules for driving the car; Define basic software flow
+
* Master Driver: Basic rules for driving the car
 
* Code review before Spring Break
 
* Code review before Spring Break
| To-do
+
| Complete
 
|-
 
|-
 
! scope="row"| 5
 
! scope="row"| 5
Line 100: Line 97:
 
| 04/04/2021
 
| 04/04/2021
 
|
 
|
* Wifi & Android App: Exchange packages between Android application and SJ2 board
 
 
* Geographical: Get compass and GPS data and send over CAN bus
 
* Geographical: Get compass and GPS data and send over CAN bus
* Create circuit board for all necessary hardware
+
* Android Application Prototype
| To-do
+
* Master Driver: Add Rules for heading to destination based on GPS/Compass value
 +
* Set up prototype board for all nodes
 +
* DBC file review for current system
 +
*
 +
| Complete
 
|-
 
|-
 
! scope="row"| 6
 
! scope="row"| 6
Line 109: Line 109:
 
| 04/11/2021
 
| 04/11/2021
 
|
 
|
* Setup GitLab for Android Application
+
* Power requirements for PCB design
* Board design and power requirements for PCB design
+
* Submit pin-outs for all connected peripherals
 
* Integrate ESP-8266 with SJ2 (read from Wi-Fi module)
 
* Integrate ESP-8266 with SJ2 (read from Wi-Fi module)
 
* Integrate Google Maps API into Android Application
 
* Integrate Google Maps API into Android Application
* Create interface to set a destination
+
* Start on PCB Design
 +
* Interface OLED for data display
 +
* Test Run 1: Sensor and Motor Node integration
 
| To-do
 
| To-do
 
|-
 
|-
Line 122: Line 124:
 
* Establish MQTT broker on a cloud
 
* Establish MQTT broker on a cloud
 
* Interface with SJ2 using Android Mobile phone (Send and acknowledge coordinates)
 
* Interface with SJ2 using Android Mobile phone (Send and acknowledge coordinates)
* Integrate display
+
* Finalize Geo node, test for its accuracy
 +
* Define and test for "ideal" running environment for all nodes, focus on Sensor and Geo node
 +
* Acceleration/Velocity calculation with using acceleration sensor
 +
* Send PCB design to a manufacturer
 +
* Test Run 2: Sensor/Motor/Geo car driving
 +
* DBC file finalize
 
| To-do
 
| To-do
 
|-
 
|-
Line 129: Line 136:
 
| 04/25/2021
 
| 04/25/2021
 
|
 
|
* Integration with master controller of RC Car
+
* Feature improvement and bug fixes for Android Application and MQTT protocol
* Feature improvement and bug fixing for Android Application and MQTT protocol
+
* Test and verify PCB board
 +
* Power Delivery for the project
 +
* Master Driver: Add Rule for driving control based on current speed
 +
* Test Run 3: Find any potential bugs and improvement in the ideal running environment
 +
*
 
| To-do
 
| To-do
 
|-
 
|-
Line 137: Line 148:
 
| 05/02/2021
 
| 05/02/2021
 
|
 
|
* Finalize CAN bus communication between all nodes and begin real world testing
+
* Update the DBC for any final changes
* Create PCB design
+
* Test Run 4: Improvement from Test Run 3
 +
* Update Wiki Report
 
| To-do
 
| To-do
 
|-
 
|-

Revision as of 22:08, 6 April 2021

Project Title

<Team Name>



Abstract

<2-3 sentence abstract>

Introduction

The project was divided into N modules:

  • Sensor ...
  • Motor..
  • ...
  • Android

Team Members & Responsibilities

<Team Picture>

Gitlab Project Link - https://gitlab.com/rc-2/sjtwo-c



Schedule

Week# Start Date End Date Task Status
1 03/01/2021 03/07/2021
  • Read previous projects, gather information and discuss among the group members.
  • Distribute modules to each team member.
Completed
2 03/08/2021 03/14/2021
  • Host individual group meetings and review past semester projects for parts to purchase
  • Generate individual meeting notes to set baselines for project team meeting
  • Update to-buy list excel sheet with any parts ordered
  • Set up GitLab for team project
Completed
3 03/15/2021 03/21/2021
  • Setup GitLab for Android Application
  • Design mockups for the Android Application.
  • Interface SJ2 board and the ESP8266:Connecting to a local Wireless Access point
  • Try adding the MQTT Client library and publish and subscribe the first message to/from the server
  • Get distance data from ultrasonic sensors
  • Send ultrasonic sensor data over CAN bus
  • Control RC car motor speed and wheel alignment with SJ2 board
Complete
4 03/22/2021 03/28/2021
  • Solder GPS & compass modules
  • Motor: Control Motor node with Ultrasonic sensor data
  • Master Driver: Basic rules for driving the car
  • Code review before Spring Break
Complete
5 03/29/2021 04/04/2021
  • Geographical: Get compass and GPS data and send over CAN bus
  • Android Application Prototype
  • Master Driver: Add Rules for heading to destination based on GPS/Compass value
  • Set up prototype board for all nodes
  • DBC file review for current system
Complete
6 04/05/2021 04/11/2021
  • Power requirements for PCB design
  • Submit pin-outs for all connected peripherals
  • Integrate ESP-8266 with SJ2 (read from Wi-Fi module)
  • Integrate Google Maps API into Android Application
  • Start on PCB Design
  • Interface OLED for data display
  • Test Run 1: Sensor and Motor Node integration
To-do
7 04/12/2021 04/18/2021
  • Establish MQTT broker on a cloud
  • Interface with SJ2 using Android Mobile phone (Send and acknowledge coordinates)
  • Finalize Geo node, test for its accuracy
  • Define and test for "ideal" running environment for all nodes, focus on Sensor and Geo node
  • Acceleration/Velocity calculation with using acceleration sensor
  • Send PCB design to a manufacturer
  • Test Run 2: Sensor/Motor/Geo car driving
  • DBC file finalize
To-do
8 04/19/2021 04/25/2021
  • Feature improvement and bug fixes for Android Application and MQTT protocol
  • Test and verify PCB board
  • Power Delivery for the project
  • Master Driver: Add Rule for driving control based on current speed
  • Test Run 3: Find any potential bugs and improvement in the ideal running environment
To-do
9 04/26/2021 05/02/2021
  • Update the DBC for any final changes
  • Test Run 4: Improvement from Test Run 3
  • Update Wiki Report
To-do
10 05/03/2021 05/09/2021
  • Verify PCON data and confirm for proper node communication
  • Integrate Bridge and Sensor, Motor, Geological, and Driver nodes
  • Test PCB design
To-do
11 05/10/2021 05/16/2021
  • Evaluate previous real world testing results and identify/debug issues
To-do
12 05/17/2021 05/23/2021
  • Continue real world testing and checking for operational bugs
  • Perform final bug fixes for any/all nodes
To-do
13 05/24/2021 05/26/2021
  • Finalize Wiki Report
  • Finalize code and commit to master branch
  • Complete Final Demo
To-do


Parts List & Cost

Item# Part Desciption Vendor Qty Cost
1 RC Car Traxxas 1 $250.00
2 CAN Transceivers MCP2551-I/P Microchip [1] 8 Free Samples


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

<Gitlab link to your DBC file> <You can optionally use an inline image>




Sensor ECU

<Picture and link to Gitlab>

Hardware Design

Software Design

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

Technical Challenges

< List of problems and their detailed resolutions>



Motor ECU

<Picture and link to Gitlab>

Hardware Design

Software Design

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

Technical Challenges

< List of problems and their detailed resolutions>



Geographical Controller

<Picture and link to Gitlab>

Hardware Design

Software Design

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

Technical Challenges

< List of problems and their detailed resolutions>





Communication Bridge Controller & LCD

<Picture and link to Gitlab>

Hardware Design

Software Design

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

Technical Challenges

< List of problems and their detailed resolutions>



Master Module

<Picture and link to Gitlab>

Hardware Design

Software Design

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

Technical Challenges

< List of problems and their detailed resolutions>



Mobile Application

<Picture and link to Gitlab>

Hardware Design

Software Design

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

Technical Challenges

< List of problems and their detailed resolutions>






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