Difference between revisions of "S23: CAN CLAN"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Parts List & Cost)
(Schedule)
Line 63: Line 63:
 
|-
 
|-
 
! scope="row"| 1
 
! scope="row"| 1
| 09/15/2017
+
| 03/06/2022
| 09/16/2017
+
| 03/12/2022
 
|
 
|
 
* Read previous projects, gather information and discuss among the group members.
 
* Read previous projects, gather information and discuss among the group members.
* Distribute modules to each team member.
+
* Discuss each team-member's preference and assign controller roles
 +
* Create parts list for the RC car, discuss, and decide on each item
  
| Completed
+
|
 +
*<font color = "green"> Completed
 
|-
 
|-
 
! scope="row"| 2
 
! scope="row"| 2
| 09/17/2017
+
| 03/13/2022
| 10/03/2017
+
| 03/19/2022
 +
|
 +
* Design interface for Bridge and Sensor Controller, with unit tests
 +
* Design interface for Motor Controller, with unit tests
 +
* Design interface for Driver and LCD Controller, with unit tests
 +
* Integrate Bridge/Sensor Controller to CAN bus with DBC, handling messages
 +
* Integrate Motor Controller to CAN bus with DBC, handling messages
 +
* Integrate Driver Controller to CAN bus with DBC, handling messages
 +
* Order all parts from list and save tracking/price info
 +
 
 +
|
 +
*<font color = "green"> Completed
 +
|-
 +
! scope="row"| 3
 +
| 03/20/2022
 +
| 03/26/2022
 +
|
 +
* Connect Sensor, Motor, and Driver controller together on CAN bus and verify messages
 +
* Connect all nodes together on the CAN bus, connect android app, verify messages across all nodes
 +
* Design interface for Geological Controller, with unit tests
 +
* Design basic android app connection and communication
 +
 
 +
|
 +
*<font color = "green"> Completed
 +
|-
 +
! scope="row"| 4
 +
| 03/27/2022
 +
| 04/02/2022
 +
|
 +
* Integrate Geological Controller to CAN bus with DBC, handling messages
 +
* Integrate Android app with Bridge/Sensor controller, sending/receiving messages both ways
 +
* Integrate Motor and Steering with PWM control, figure out the working ranges
 +
* Integrate Bluetooth module to Bridge/Sensor controller, with UART logic
 +
* Connect Android app to Bridge/Sensor controller, send test message
 +
* All parts received
 +
 
 +
|
 +
*<font color = "green"> Completed
 +
|-
 +
! scope="row"| 5
 +
| 04/03/2022
 +
| 04/09/2022
 +
|
 +
* Connect all nodes together on the CAN bus, connect android app, verify messages across all nodes
 +
* Mobile app can send coordinates to Bridge controller
 +
* Start RPM sensor logic implementation and add it to Motor controller
 +
* '''MILESTONE - All individual modules considered "Roughly Working" with hardware interfaced'''
 +
 
 +
|
 +
*<font color = "green"> Completed
 +
|-
 +
! scope="row"| 6
 +
| 04/10/2022
 +
| 04/16/2022
 +
|
 +
* Integrate GPS and Compass peripherals, writing the driver and unit tests
 +
* Have Driver node process GPS position/heading/bearing messages and incorporate in the driver logic
 +
* Complete RPM sensor and integrate with Motor controller for reliable PID control
 +
* Bridge sends to mobile app car status / telemetry data
 +
* Compile additional parts list and order them
 +
* '''MILESTONE - Basic car driving ability with basic obstacle avoidance'''
 +
|
 +
*<font color = "green"> Completed
 +
|-
 +
! scope="row"| 7
 +
| 04/17/2022
 +
| 04/23/2022
 
|
 
|
 +
* Create a on-board battery power supply for all components
 +
* Complete the Compass I2C integration and read values from the peripheral
 +
* Have PWM signals reliably controlling the motor speed, start working "backwards driving mode"
 +
* Interface LED ring on the Driver controller and display heading direction
 +
* '''MILESTONE - Integrated, reliably "heading" towards provided destination bearing, basic obstacle avoidance'''
 +
* First Demo (Apr. 26)
 
|
 
|
 +
*<font color = "green"> Completed
 +
|-
 +
! scope="row"| 8
 +
| 04/24/2022
 +
| 04/30/2022
 +
|
 +
* 3D print sensor housings, mounting for the whole platform
 +
* Design and solder the prototype board with all SJTwo boards
 +
* Add data to display on the LCD screen
 +
* Outdoor testing for longer range trips, and complete necessary enhancements
 +
* '''MILESTONE - Integration part 2, perform obstacle avoidance and destination bearing'''
 +
* Second Demo (May 3)
 +
|
 +
*<font color = "green"> Completed
 +
|-
 +
! scope="row"| 9
 +
| 05/01/2022
 +
| 05/07/2022
 +
|
 +
* Verify that the electrical and mechanical work is complete
 +
* '''MILESTONE - Integration and outdoor testing, adding necessary software changes'''
 +
* Third Demo (May 10)
 +
|
 +
*<font color = "green"> Completed
 +
|-
 +
! scope="row"| 10
 +
| 05/08/2022
 +
| 05/15/2022
 +
|
 +
* enable the Headlights to the car
 +
* '''MILESTONE - Integration testing, deal with uneven terrain, reliable waypoints navigation and obstacle avoidance'''
 +
* Fourth Demo (May 17)
 +
|
 +
*<font color = "green"> Completed
 +
|-
 +
! scope="row"| 11
 +
| 05/05/2022
 +
| 05/24/2022
 +
|
 +
* '''Full System Testing, any needed Hardware and software fixes and optimizing '''
 +
|
 +
*<font color = "green"> Completed
 +
|-
 +
! scope="row"| 11
 +
| 05/25/2022
 +
| 05/25/2022
 +
|
 +
* '''Final Project Demo Day '''
 +
|
 +
*<font color = "green"> Completed
 
|-
 
|-
 
|}
 
|}
Line 81: Line 205:
 
<HR>
 
<HR>
 
<BR/>
 
<BR/>
 +
 
== Parts List & Cost ==
 
== Parts List & Cost ==
 
{| class="wikitable"
 
{| class="wikitable"

Revision as of 02:53, 3 March 2023

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 03/06/2022 03/12/2022
  • Read previous projects, gather information and discuss among the group members.
  • Discuss each team-member's preference and assign controller roles
  • Create parts list for the RC car, discuss, and decide on each item
  • Completed
2 03/13/2022 03/19/2022
  • Design interface for Bridge and Sensor Controller, with unit tests
  • Design interface for Motor Controller, with unit tests
  • Design interface for Driver and LCD Controller, with unit tests
  • Integrate Bridge/Sensor Controller to CAN bus with DBC, handling messages
  • Integrate Motor Controller to CAN bus with DBC, handling messages
  • Integrate Driver Controller to CAN bus with DBC, handling messages
  • Order all parts from list and save tracking/price info
  • Completed
3 03/20/2022 03/26/2022
  • Connect Sensor, Motor, and Driver controller together on CAN bus and verify messages
  • Connect all nodes together on the CAN bus, connect android app, verify messages across all nodes
  • Design interface for Geological Controller, with unit tests
  • Design basic android app connection and communication
  • Completed
4 03/27/2022 04/02/2022
  • Integrate Geological Controller to CAN bus with DBC, handling messages
  • Integrate Android app with Bridge/Sensor controller, sending/receiving messages both ways
  • Integrate Motor and Steering with PWM control, figure out the working ranges
  • Integrate Bluetooth module to Bridge/Sensor controller, with UART logic
  • Connect Android app to Bridge/Sensor controller, send test message
  • All parts received
  • Completed
5 04/03/2022 04/09/2022
  • Connect all nodes together on the CAN bus, connect android app, verify messages across all nodes
  • Mobile app can send coordinates to Bridge controller
  • Start RPM sensor logic implementation and add it to Motor controller
  • MILESTONE - All individual modules considered "Roughly Working" with hardware interfaced
  • Completed
6 04/10/2022 04/16/2022
  • Integrate GPS and Compass peripherals, writing the driver and unit tests
  • Have Driver node process GPS position/heading/bearing messages and incorporate in the driver logic
  • Complete RPM sensor and integrate with Motor controller for reliable PID control
  • Bridge sends to mobile app car status / telemetry data
  • Compile additional parts list and order them
  • MILESTONE - Basic car driving ability with basic obstacle avoidance
  • Completed
7 04/17/2022 04/23/2022
  • Create a on-board battery power supply for all components
  • Complete the Compass I2C integration and read values from the peripheral
  • Have PWM signals reliably controlling the motor speed, start working "backwards driving mode"
  • Interface LED ring on the Driver controller and display heading direction
  • MILESTONE - Integrated, reliably "heading" towards provided destination bearing, basic obstacle avoidance
  • First Demo (Apr. 26)
  • Completed
8 04/24/2022 04/30/2022
  • 3D print sensor housings, mounting for the whole platform
  • Design and solder the prototype board with all SJTwo boards
  • Add data to display on the LCD screen
  • Outdoor testing for longer range trips, and complete necessary enhancements
  • MILESTONE - Integration part 2, perform obstacle avoidance and destination bearing
  • Second Demo (May 3)
  • Completed
9 05/01/2022 05/07/2022
  • Verify that the electrical and mechanical work is complete
  • MILESTONE - Integration and outdoor testing, adding necessary software changes
  • Third Demo (May 10)
  • Completed
10 05/08/2022 05/15/2022
  • enable the Headlights to the car
  • MILESTONE - Integration testing, deal with uneven terrain, reliable waypoints navigation and obstacle avoidance
  • Fourth Demo (May 17)
  • Completed
11 05/05/2022 05/24/2022
  • Full System Testing, any needed Hardware and software fixes and optimizing
  • Completed
11 05/25/2022 05/25/2022
  • Final Project Demo Day
  • Completed


Parts List & Cost

Item# Part Description Vendor Qty Cost
1 Redcat [] 1 $
2 SN65HVD23 CAN Transceivers Waveshare[2] 5 $
3 HRLV-EZ0 Ultrasonic Sensors [] 3 $
4 [] 1 $17.50
5 [] 1 $59.50
6 [] 1 $33.18
7 [] 1 $5.99
9 [] 1 $7.00


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