S22: Testla

From Embedded Systems Learning Academy
Revision as of 00:03, 21 March 2022 by 243 user5 (talk | contribs) (Schedule)

Jump to: navigation, search

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
  • Made prototype for project .dbc file
Completed
6 03/22/2022 03/28/2022
  • Discuss and learn how to use Eagle for PCB fabrication
Incomplete
7 03/29/2022 04/04/2022
  • Parts testing and prototyping
Incomplete
8 04/05/2022 04/11/2022
  • List hardware requirements for the PCB fabrication
  • Start research on web application for interfacing with RC car
  • Finalize GPS and sensor testing
Incomplete
9 04/12/2022 04/18/2022
  • Have a PCB prototype finished
  • Order first PCB prototype
  • Integrate GPS and sensors on the same CAN bus using different nodes
  • Continue web application research
Incomplete
10 04/19/2022 04/25/2022
  • Have a prototype for the web application
  • Test interacting with the RC car wirelessly
  • Test LCD peripheral and output debug messages
Incomplete
11 04/26/2022 05/02/2022
  • Start creating a mount on the RC car to contain all the hardware
  • Test wheel control motor on the RC car
  • Test steering control motor on the RC car
Incomplete
12 05/03/2022 05/09/2022
  • Brainstorm collision logic for RC controller
Incomplete
13 05/10/2022 05/16/2022
  • Test collision logic for RC controller
  • Finalize the logic
Incomplete
14 05/17/2022 05/25/2022
  • Final testing of full project
Incomplete


Schedule

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


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