Difference between revisions of "S23: CAN CLAN"

From Embedded Systems Learning Academy
Jump to: navigation, search
Line 131: Line 131:
 
|
 
|
  
* Finalise the DBC file for project
+
* Finalize the DBC file for project
 
* Create a detailed schedule for remaining tasks, dividing work into four milestones
 
* Create a detailed schedule for remaining tasks, dividing work into four milestones
 
* Start RPM sensor logic implementation and add it to Motor controller
 
* Start RPM sensor logic implementation and add it to Motor controller
 
* Integrate Bluetooth module to Bridge/Sensor controller, with UART logic
 
* Integrate Bluetooth module to Bridge/Sensor controller, with UART logic
 +
* Work on integrating the MaxBotix ultrasonic sensor with the sensor module
 
* Work on Stage-1 mounting of all components on the RC car with temporary fixing
 
* Work on Stage-1 mounting of all components on the RC car with temporary fixing
 
* Fix problem with BDC-DBF conversion on BusMaster and show graphs on it
 
* Fix problem with BDC-DBF conversion on BusMaster and show graphs on it
Line 145: Line 146:
 
| 04/18/2022
 
| 04/18/2022
 
|
 
|
* Integrate Android app with Bridge/Sensor controller, sending/receiving messages both ways
+
* Complete basic working Mobile App which connects to the bridge controller, sends a test message and receives sensor values
* Mobile app can send coordinates to Bridge controller
 
* Connect Android app to Bridge/Sensor controller, send test message
 
 
* Work on calibrating compass sensor to get accurate bearing readings
 
* Work on calibrating compass sensor to get accurate bearing readings
 
* Create a on-board battery power supply for all components
 
* Create a on-board battery power supply for all components
 
* Work on Stage-2 mounting of all components on the RC car with soldering of parts and wires
 
* Work on Stage-2 mounting of all components on the RC car with soldering of parts and wires
* Complete the Compass I2C integration and read values from the peripheral
+
* Complete the Compass calibration and read accurate readings from it
* Have PWM signals reliably controlling the motor speed, start working "backwards driving mode"
+
* Have PWM signals reliably controlling the motor speed  
* Interface LED ring on the Driver controller and display heading direction
+
* Start working on reliable navigation with obstacle avoidance
 
* '''MILESTONE - Integrated, reliably "heading" towards provided destination bearing, basic obstacle avoidance'''
 
* '''MILESTONE - Integrated, reliably "heading" towards provided destination bearing, basic obstacle avoidance'''
 
|
 
|

Revision as of 01:31, 10 April 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/01/2023 03/07/2023
  • 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/08/2023 03/14/2023
  • Order all parts from list and save tracking/price info
  • Completed
3 03/15/2023 03/21/2023
  • 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
  • All parts received


  • Completed
4 03/22/2023 03/28/2023
  • Design interface for GEO Controller, with unit tests
  • Integrate Geological Controller to CAN bus with DBC, handling messages
  • Integrate Ultrasonic sensor with SJ2 to verify distance from obstacle is sensed
  • Integrate Motor and Steering with PWM control, figure out the working ranges
  • Integrate GPS sensor with SJ2, get GPGGA strings over UART, parse current coordinates
  • Completed
5 03/29/2023 04/04/2023
  • Integrate Compass sensor with SJ2 board over I2C and get bearing values
  • Connect all nodes together on the CAN bus, verify messages across all nodes
  • Code the Haversine formula into GEO controller to get distance and heading based on current and destination coordinates
  • Write driver logic based on distance and heading from GEO and obstacle details from sensor nodes
  • Integrate GPS and Compass peripherals, writing the driver and unit tests
  • MILESTONE - All individual modules considered "Roughly Working" with hardware interfaced
  • Completed
6 04/05/2023 04/11/2023
  • Finalize the DBC file for project
  • Create a detailed schedule for remaining tasks, dividing work into four milestones
  • Start RPM sensor logic implementation and add it to Motor controller
  • Integrate Bluetooth module to Bridge/Sensor controller, with UART logic
  • Work on integrating the MaxBotix ultrasonic sensor with the sensor module
  • Work on Stage-1 mounting of all components on the RC car with temporary fixing
  • Fix problem with BDC-DBF conversion on BusMaster and show graphs on it
  • MILESTONE - Basic car driving ability with basic obstacle avoidance
  • Incomplete
7 04/12/2022 04/18/2022
  • Complete basic working Mobile App which connects to the bridge controller, sends a test message and receives sensor values
  • Work on calibrating compass sensor to get accurate bearing readings
  • Create a on-board battery power supply for all components
  • Work on Stage-2 mounting of all components on the RC car with soldering of parts and wires
  • Complete the Compass calibration and read accurate readings from it
  • Have PWM signals reliably controlling the motor speed
  • Start working on reliable navigation with obstacle avoidance
  • MILESTONE - Integrated, reliably "heading" towards provided destination bearing, basic obstacle avoidance
  • Incomplete
8 04/19/2023 04/25/2023
  • Work on Stage-3 permanent fixing of all components on the RC car
  • 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
  • Incomplete
9 04/26/2023 05/02/2023
  • Verify that the electrical and mechanical work is complete
  • MILESTONE - Integration and outdoor testing, adding necessary software changes
  • Incomplete
10 05/03/2023 05/09/2023
  • enable the Headlights to the car
  • MILESTONE - Integration testing, deal with uneven terrain, reliable waypoints navigation and obstacle avoidance
  • Incomplete
11 05/10/2023 05/16/2023
  • Full System Testing, any needed Hardware and software fixes and optimizing
  • Incomplete
11 05/24/2023 05/24/2023
  • Final Project Demo Day
  • Incomplete


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