Difference between revisions of "S22: Testla"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Schedule)
(Schedule)
Line 185: Line 185:
 
|-
 
|-
  
|}
 
 
<HR>
 
<BR/>
 
 
== Schedule ==
 
 
{| class="wikitable"
 
|-
 
|+ Legend
 
|-
 
! Description !! Color
 
|-
 
| Administrative || Black
 
|-
 
| Sensor || <span style="color:cyan">Cyan</span>
 
|-
 
| Bluetooth & App || <span style="color:blue">Blue</span>
 
|-
 
| GEO || <span style="color:red">Red</span>
 
|-
 
| Motor || <span style="color:magenta">Magenta</span>
 
|-
 
| Main || <span style="color:orange">Orange</span>
 
|}
 
 
{| class="wikitable"
 
|-
 
! scope="col"| Week#
 
! scope="col"| Start Date
 
! scope="col"| End Date
 
! scope="col"| Task
 
! scope="col"| Status
 
|-
 
! scope="row"| 1
 
|
 
  <div style="text-align:center">02/15/2021</div>
 
|
 
  <div style="text-align:center">02/21/2021</div>
 
|
 
* Read previous projects to understand what is expected and have some meaningful knowledge by first meeting. Assign roles.
 
|
 
* <span style="color:green">Completed</span>
 
|-
 
! scope="row"| 2
 
|
 
  <div style="text-align:center">02/22/2021</div>
 
|
 
  <div style="text-align:center">02/28/2021</div>
 
|
 
*Acquire parts: Canbus modules, GPS module, Ultrasonic module, Bluetooth module, Car frame, and LCD display
 
*Conduct meeting: Discuss GitLab layout and expectation of each assigned role
 
|
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
|-
 
! scope="row"| 3
 
|
 
  <div style="text-align:center">03/01/2021</div>
 
|
 
  <div style="text-align:center">03/07/2021</div>
 
|
 
*Purchased RC car and batteries.
 
*<span style="color:cyan">Research and finalize which ultrasonic sensor the project will use.</span>
 
*<span style="color:blue">Purchased Bluetooth connector</span>
 
*<span style="color:red">Research math needed to determine distance between navigation points. Decide on distance algorithm</span>
 
*<span style="color:red">Research multiple navigation point algorithm(Djikstra's) to determine shortest path.</span>
 
*<span style="color:magenta">Create branch for motor controller driver.  Create draft template API for motor controller.</span>
 
*<span style="color:orange">Using previous projects, determine what works needs to be completed for main board. Bring findings to weekly meeting</span>
 
|
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
 
|-
 
! scope="row"| 4
 
|
 
  <div style="text-align:center">03/08/2021</div>
 
|
 
  <div style="text-align:center">03/14/2021</div>
 
|
 
*<span style="color:blue">Research connection with Bluetooth from board to application. Decide between bluetooth connection or wifi connection by this day</span>
 
*<span style="color:red">Work on implementation of multiple navigation point algorithm to determine shortest path </span>
 
*<span style="color:magenta">Plan motor controller API and create basic software flow of API</span>
 
|
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
|-
 
! scope="row"| 5
 
|
 
  <div style="text-align:center">03/15/2021</div>
 
|
 
  <div style="text-align:center">03/21/2021</div>
 
|
 
*<span style="color:black">Begin laying out hardware requirements for PCB on excel document. Include voltage and pinout requirements in excel document</span>
 
*<span style="color:blue">Finish research on application building with android studio. Install android studio and necessary dependencies</span>
 
*<span style="color:blue">Implement a simple application with a button and text</span>
 
*<span style="color:magenta">Start researching on Wheel encoder according to the requirement</span>
 
*<span style="color:red">Unit Test Direction Distance Calculation Module. Manual calculation of data should match module output</span>
 
*<span style="color:red">Begin coding and digesting adafruit Compass data. Print Compass data.</span>
 
|
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
|-
 
! scope="row"| 6
 
|
 
  <div style="text-align:center">03/22/2021</div>
 
|
 
  <div style="text-align:center">03/28/2021</div>
 
|
 
*<span style="color:cyan">Acquire sensor and interface sensors to SJ2 Board and receive raw data</span>
 
*<span style="color:blue">Implement basic communication between board and app</span>
 
*<span style="color:red">Update Wiki with proper software diagrams for GPS and Compass data flow</span>
 
*<span style="color:orange">Begin Mapping out pins used on all board</span>
 
*<span style="color:orange">Complete a block diagram and a control scheme</span>
 
<ol>
 
<li style="color:orange">Top Level Driver Logic diagram</li>
 
<li style="color:orange">Periodic Callback Functions Diagram</li>
 
</ol>
 
*<span style="color:orange">Create a basic Obstacle avoidance algorithm for Driver</span>
 
*<span style="color:magenta">Probe RC car to determine expected behavior of signals and install RPM sensor</span>
 
*<span style="color:magenta">Write motor controller modules and tests</span>
 
|
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
|-
 
! scope="row"| 7
 
|
 
  <div style="text-align:center">03/29/2021</div>
 
|
 
  <div style="text-align:center">04/04/2021</div>
 
|
 
*<span style="color:black">Discuss and construct DBC file</span>
 
*<span style="color:cyan">Create sensor API to parse raw data and convert into inches</span>
 
*<span style="color:blue">Integrate google map features into app</span>
 
*<span style="color:magenta">Integration testing of motor controller logic</span>
 
*<span style="color:orange">Create a Checkpoint Navigation algorithm for Driver</span>
 
|
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
|-
 
! scope="row"| 8
 
|
 
  <div style="text-align:center">04/05/2021</div>
 
|
 
  <div style="text-align:center">04/11/2021</div>
 
|
 
*<span style="color:black">Finish implementation of canbus between controllers and begin real world testing</span>
 
*<span style="color:cyan">3D print sensor mounts, sensor guards, and draft sensor offset timing to deter sensor cross talk</span>
 
*<span style="color:magenta">Finish integrating wheel encoder and display speed on SJTwo Telemetry</span>
 
*<span style="color:orange">Establish Communication between the LCD display and Master Board over I2C</span>
 
|
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
|-
 
! scope="row"| 9
 
|
 
  <div style="text-align:center">04/12/2021</div>
 
|
 
  <div style="text-align:center">04/18/2021</div>
 
|
 
*<span style="color:black">Integrate Driver, Geo, Bridge sensor, and Motor nodes. Successful communication between all boards.</span>
 
*<span style="color:blue">Implement Kill button on app for emergency stop</span>
 
*<span style="color:cyan">Analyze noise in sensor values and design a filter to mitigate the noise</span>
 
*<span style="color:magenta">Complete "Self Test" for motor test(DC motor moves forward and backwards and servo moves right - left)</span>
 
*<span style="color:magenta">Start working on PID control algorithm. Design bare skeleton for workflow</span>
 
*<span style="color:orange">Create an algorithm to account for speed when the car is on an incline</span>
 
|
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
 
|-
 
! scope="row"| 10
 
|
 
  <div style="text-align:center">04/19/2021</div>
 
|
 
  <div style="text-align:center">05/25/2021</div>
 
|
 
*<span style="color:black">Begin to analysis real world tests from previous weeks implementation and perform fixes for issues faced</span>
 
*<span style="color:black">Ensure Canbus nodes are communicating correctly by verifying PCON data. Verify that timing for data is correct</span>
 
*<span style="color:black">Added CAN debug messages</span>
 
*<span style="color:black">Start working on the PCB, order the PCB and also purchase the required components </span>
 
*<span style="color:cyan">Integration testing with obstacle avoidance.</span>
 
<ol>
 
<li style="color:cyan">Analyze possible blind spots and make adjustments to sensor placements. </li>
 
<li style="color:cyan">Analyze sensor response time and data while rc car is moving and make adjustments if needed.</li>
 
</ol>
 
*<span style="color:orange">Display relevant Motor and Checkpoint Information to the LCD.</span>
 
*<span style="color:magenta">Tuned and tested PID on RC Car (More refinement needed)</span>
 
|
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
*<span style="color:green">Completed</span>
 
*<span style="color:green">Completed</span>
 
*<span style="color:green">Completed</span>
 
*<span style="color:green">Completed</span>
 
*<span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
*<span style="color:green">Completed</span>
 
|-
 
! scope="row"| 11
 
|
 
  <div style="text-align:center">04/26/2021</div>
 
|
 
  <div style="text-align:center">05/02/2021</div>
 
|
 
*<span style="color:black">Perform more real world tests and isolate bugs. Update issues for bugs find during real world test</span>
 
*<span style="color:black">Perform final bug fixes, as listed under issues, for all Canbus nodes. </span>
 
*<span style="color:black">Integrate all the parts on the PCB. </span>
 
|
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:Green">Completed</span>
 
|-
 
! scope="row"| 12
 
|
 
  <div style="text-align:center">05/03/2021</div>
 
|
 
  <div style="text-align:center">05/09/2021</div>
 
|
 
*<span style="color:black">Update Wiki Report to reflect all changes and include final testing video</span>
 
*<span style="color:black">Perform final code changes and commit to master branch</span>
 
*<span style="color:black">Received manufactured PCB, installed, and integration tested</span>
 
*<span style="color:magenta">Refactored motor controller code and wrote much needed unit tests</span>
 
*<span style="color:magenta">Finished tuning PID and tested RC Car driving on slope</span>
 
|
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
|-
 
! scope="row"| 13
 
|
 
  <div style="text-align:center">05/10/2021</div>
 
|
 
  <div style="text-align:center">05/16/2021</div>
 
|
 
*<span style="color:black">Update Wiki schedule and begin draft for individual controller documentation</span>
 
|
 
* <span style="color:green">Completed</span>
 
|-
 
! scope="row"| 14
 
|
 
  <div style="text-align:center">05/17/2021</div>
 
|
 
  <div style="text-align:center">05/23/2021</div>
 
|
 
*<span style="color:black">Update Wiki individual controller and general documentation</span>
 
*<span style="color:orange">Last minute bug fixes/refining</span>
 
*<span style="color:orange">Waypoint algorithm integration and test</span>
 
*<span style="color:magenta">Last minute bug fixes/refining & code cleanup</span>
 
|
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
|-
 
! scope="row"| 15
 
|
 
  <div style="text-align:center">05/24/2021</div>
 
|
 
  <div style="text-align:center">05/30/2021</div>
 
|
 
*<span style="color:black">Demo Project</span>
 
*<span style="color:black">Finalize Wiki Documentation</span>
 
|
 
* <span style="color:green">Completed</span>
 
* <span style="color:green">Completed</span>
 
|-
 
 
|}
 
|}
  

Revision as of 01:12, 6 April 2022

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 - [1]

<Provide ECU names and members responsible> <One member may participate in more than one ECU>

  • Sensor
    • Link to Gitlab user1
    • Link to Gitlab user2
  • Motor
    • Link to Gitlab user1
    • Link to Gitlab user2
  • Geographical
    • Link to Gitlab user1
    • Link to Gitlab user2
  • Communication Bridge Controller & LCD
    • Link to Gitlab user1
    • Link to Gitlab user2
  • Android Application
    • Link to Gitlab user1
    • Link to Gitlab user2
  • Testing Team
    • Link to Gitlab user1
    • Link to Gitlab user2


Schedule

Week# Start Date End Date Task Status
1 02/15/2022 02/21/2022
  • Read previous projects, gather information and discuss among the group members.
Completed
2 02/22/2022 02/28/2022
  • Distribute modules to each team member.
Completed
3 03/01/2022 03/07/2022
  • Purchased the RC Car
  • Purchase sensors
Completed
4 03/08/2022 03/14/2022
  • Learning to use CAN BUSMASTER
Completed
5 03/15/2022 03/21/2022
  • DBC file discussed and implemented
Completed
6 03/22/2022 03/28/2022
  • Discuss modules needed for PCB, any feature requests
Incomplete
7 03/29/2022 04/04/2022
  • tbd
Incomplete
8 04/05/2022 04/11/2022
  • tbd
Incomplete
9 04/12/2022 04/18/2022
  • tbd
Incomplete
10 04/19/2022 04/25/2022
  • tbd
Incomplete
11 04/26/2022 05/02/2022
  • tbd
Incomplete
12 05/03/2022 05/09/2022
  • tbd
Incomplete
13 05/10/2022 05/16/2022
  • tbd
Incomplete
14 05/17/2022 05/25/2022
  • Final working car
Incomplete


Parts List & Cost

Item# Part Desciption Vendor Qty Cost
1 Unassembled RC Car Traxxas [2] 1 $279.99
2 CAN Transceivers Amazon [3] 1 $8.99


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> [4] <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