Difference between revisions of "S24: Team Gran Turismo"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Schedule)
(Ultrasonic Sensor)
 
(20 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
== Project Title ==
 
== Project Title ==
 
<b>Gran Turismo</b>
 
<b>Gran Turismo</b>
 +
<HR>
  
 
== Abstract ==
 
== Abstract ==
<2-3 sentence abstract>
+
"The Gran Turismo" is an autonomous RC car designed to navigate to a specified destination using GPS coordinates, communicated via a mobile application. The car integrates four microcontrollers (Driver, Sensor/Bridge, Geo, and Motor nodes) which communicate over a Controller Area Network (CAN) bus. It utilizes FreeRTOS to manage periodic tasks for data gathering, processing, and decision-making, ensuring effective obstacle detection and avoidance while maintaining the intended path.
  
 
=== Introduction ===
 
=== Introduction ===
  
The project was divided into N modules:
+
The project was divided into 5 modules:
  
* Sensor ...
+
* Sensor/Bridge node
* Motor..
+
* Motor node
* ...
+
* Geo node
* Android
+
* Driver node
 +
* Android App
  
 
=== Team Members & Responsibilities ===
 
=== Team Members & Responsibilities ===
 
<Team Picture>
 
<Team Picture>
  
Gitlab Project Link - [https://gitlab.com/...]
+
Team Members:  
 
<BR/>
 
<BR/>
  
<Provide ECU names and members responsible>
+
Daniel Zhao Yeung <BR/>
<One member may participate in more than one ECU>
+
Suryanto Phienanda <BR/>
 +
Kaijian Wu <BR/>
 +
Lianshi Gan <BR/>
  
* Sensor
 
** Link to Gitlab user1
 
** Link to Gitlab user2
 
  
* Motor
+
Gitlab Project Link - [https://gitlab.com/lianshi.gan/sjtwo-c-team-gran-turismo C243_GT]
** Link to Gitlab user1
+
<BR/>
** Link to Gitlab user2
 
  
* Geographical
+
{| class="wikitable"
** Link to Gitlab user1
+
|-
** Link to Gitlab user2
+
! scope="col"| Team Members
 +
! scope="col"| Task Responsibility
 +
|-
 +
! scope="row" style="text-align: left;"|
 +
* Daniel Zhao Yeung
 +
|
 +
* Geo Node
 +
|-
 +
! scope="row" style="text-align: left;"|
 +
* [https://www.linkedin.com/in/lianshi-gan-967494116/ Lianshi Gan]
 +
|
 +
* Sensor Node
 +
|-
 +
! scope="row" style="text-align: left;"|
 +
* Suryanto Phienanda
 +
|
 +
* Motor Node
 +
|-
 +
! scope="row" style="text-align: left;"|
 +
* Suryanto Phienanda
 +
|
 +
* Driver Node
 +
|-
 +
! scope="row" style="text-align: left;"|
 +
* Kaijian Wu
 +
|
 +
* Mobile App
 +
|-
  
* 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
 
  
 
<HR>
 
<HR>
 
<BR/>
 
<BR/>
 +
 
== Schedule ==
 
== Schedule ==
  
Line 68: Line 86:
 
* Connect db9 to Busmaster.
 
* Connect db9 to Busmaster.
 
* Assign tasks to each team member.
 
* Assign tasks to each team member.
| <font color = "red">Incomplete
+
| <font color = "green">Completed
  
 
|-
 
|-
Line 77: Line 95:
 
* Finish up RC Car Infrastructure.
 
* Finish up RC Car Infrastructure.
 
* Get all the sensors and parts.
 
* Get all the sensors and parts.
* PLay with sensors and SJ2 boards.
+
* Play with sensors and SJ2 boards.
 
| <font color = "red">Incomplete
 
| <font color = "red">Incomplete
  
Line 88: Line 106:
 
* Integrate sensors with SJ2 boards.
 
* Integrate sensors with SJ2 boards.
 
* Get Data from different modules(GPS, Sensors).
 
* Get Data from different modules(GPS, Sensors).
* starting to check on motor.
+
* Starting to check on motor.
 
| <font color = "red">Incomplete
 
| <font color = "red">Incomplete
  
Line 98: Line 116:
 
* Develop LCD module.
 
* Develop LCD module.
 
* Start working on driver module.
 
* Start working on driver module.
* Work on Bluetooth/WIFI module.
+
* Build libraries for all modules (Bluetooth/WIFI, GPS, Sensor....).
* Work on Geo sensor with Geo controller.
 
* Work on motors with motor module.
 
* Work on ultrasonic sensors with sensor module.
 
 
* Continue work on mobile app.
 
* Continue work on mobile app.
 
| <font color = "red">Incomplete
 
| <font color = "red">Incomplete
Line 113: Line 128:
 
* Build the car with all the modules.  
 
* Build the car with all the modules.  
 
* Create unit/integration tests.
 
* Create unit/integration tests.
 +
* Continue work on mobile app.
 
| <font color = "red">Incomplete
 
| <font color = "red">Incomplete
  
Line 122: Line 138:
 
* Get the speed measuring sensor.
 
* Get the speed measuring sensor.
 
* Motors with PID control.
 
* Motors with PID control.
 +
* Continue work on mobile app.
 
| <font color = "red">Incomplete
 
| <font color = "red">Incomplete
  
Line 222: Line 239:
  
 
=== Hardware Design ===
 
=== Hardware Design ===
 +
 +
 +
==== Ultrasonic Sensor ====
 +
 +
[[File:MFG SEN0388.jpeg]]
 +
 +
Selecting the appropriate distance sensor is crucial for the success of the project. Our team chose the Ultrasonic Sensor URM09 from DFRobots due to its ease of use and cost-effectiveness. The URM09 offers multiple communication protocols, and we opted for the I2C package to simplify the configuration and reading process, allowing us to focus on the overall system integration.
 +
 +
* Ultra-Sonic Sensor URM09 (I2C Protocol)
 +
** '''Supply Voltage:''' 3.3~5.5V DC
 +
** '''Operating Current:''' 20mA
 +
** '''Operating Temperature Range:'''  -10℃~+70℃
 +
** '''Measurement Range:''' 2cm~500cm (can be set)
 +
** '''Resolution:''' 1cm
 +
** '''Accuracy:''' 1%
 +
** '''Frequency:''' 50Hz Max
 +
** '''Dimension:''' 47mm × 22 mm/1.85” × 0.87”
  
 
=== Software Design ===
 
=== Software Design ===
Line 232: Line 266:
 
<HR>
 
<HR>
 
<BR/>
 
<BR/>
 +
 
== Motor ECU ==
 
== Motor ECU ==
 
<Picture and link to Gitlab>
 
<Picture and link to Gitlab>

Latest revision as of 01:02, 14 May 2024

Project Title

Gran Turismo


Abstract

"The Gran Turismo" is an autonomous RC car designed to navigate to a specified destination using GPS coordinates, communicated via a mobile application. The car integrates four microcontrollers (Driver, Sensor/Bridge, Geo, and Motor nodes) which communicate over a Controller Area Network (CAN) bus. It utilizes FreeRTOS to manage periodic tasks for data gathering, processing, and decision-making, ensuring effective obstacle detection and avoidance while maintaining the intended path.

Introduction

The project was divided into 5 modules:

  • Sensor/Bridge node
  • Motor node
  • Geo node
  • Driver node
  • Android App

Team Members & Responsibilities

<Team Picture>

Team Members:

Daniel Zhao Yeung
Suryanto Phienanda
Kaijian Wu
Lianshi Gan


Gitlab Project Link - C243_GT

Team Members Task Responsibility
  • Daniel Zhao Yeung
  • Geo Node
  • Sensor Node
  • Suryanto Phienanda
  • Motor Node
  • Suryanto Phienanda
  • Driver Node
  • Kaijian Wu
  • Mobile App


Schedule

Week# Start Date End Date Task Status
1 03/04/2024 03/10/2024
  • Learn about the Busmaster and dbc.
  • Connect db9 to Busmaster.
  • Assign tasks to each team member.
Completed
2 03/11/2024 03/17/2024
  • Finish up RC Car Infrastructure.
  • Get all the sensors and parts.
  • Play with sensors and SJ2 boards.
Incomplete
3 03/18/2024 03/24/2024
  • Start working on dbc and mobile app.
  • Integrate sensors with SJ2 boards.
  • Get Data from different modules(GPS, Sensors).
  • Starting to check on motor.
Incomplete
4 03/25/2024 03/31/2024
  • Develop LCD module.
  • Start working on driver module.
  • Build libraries for all modules (Bluetooth/WIFI, GPS, Sensor....).
  • Continue work on mobile app.
Incomplete
5 04/01/2024 04/07/2024
  • PROTOTYPE 1
  • Build the car with all the modules.
  • Create unit/integration tests.
  • Continue work on mobile app.
Incomplete
6 04/08/2024 04/14/2024
  • Get the speed measuring sensor.
  • Motors with PID control.
  • Continue work on mobile app.
Incomplete
7 04/15/2024 04/21/2024
  • PROTOTYPE 2
  • Integrate bluetooth module
  • Continue with mobile app
Incomplete
8 04/22/2024 04/28/2024
  • Finalize/Connect mobile app with RC car.
  • Obstacle avoidance.
Incomplete
9 04/29/2024 05/05/2024
  • PROTOTYPE 3
  • Prepare for outdoor tests.
Incomplete
10 05/06/2024 05/12/2024
  • PROTOTYPE 4
  • Perform outdoors tests and recalibrate.
Incomplete
11 05/13/2024 05/19/2024
  • Final Demo
Incomplete


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

Ultrasonic Sensor

MFG SEN0388.jpeg

Selecting the appropriate distance sensor is crucial for the success of the project. Our team chose the Ultrasonic Sensor URM09 from DFRobots due to its ease of use and cost-effectiveness. The URM09 offers multiple communication protocols, and we opted for the I2C package to simplify the configuration and reading process, allowing us to focus on the overall system integration.

  • Ultra-Sonic Sensor URM09 (I2C Protocol)
    • Supply Voltage: 3.3~5.5V DC
    • Operating Current: 20mA
    • Operating Temperature Range: -10℃~+70℃
    • Measurement Range: 2cm~500cm (can be set)
    • Resolution: 1cm
    • Accuracy: 1%
    • Frequency: 50Hz Max
    • Dimension: 47mm × 22 mm/1.85” × 0.87”

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 ===