Difference between revisions of "S23: X Æ A-13"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Schedule)
(Schedule)
Line 94: Line 94:
 
| <font color = "green">03/17/2023
 
| <font color = "green">03/17/2023
 
|
 
|
 +
* <font color = "green">Create a fork for our project repository.
 
* <font color = "green">Create a git flow process. Establish a process for merging into the master code repository.
 
* <font color = "green">Create a git flow process. Establish a process for merging into the master code repository.
 
* <font color = "green">Finalize the sensors and other hardware we need for the project.
 
* <font color = "green">Finalize the sensors and other hardware we need for the project.

Revision as of 04:10, 11 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

Task# Start Date End Date Task Status Point of Contact
1 02/13/2023 02/18/2023
  • Read previous years' projects, gather information, and discuss among the team members.
  • Create a private git fork for the RC car repository.
  • Decide and conclude a recurring team meeting schedule
Completed Team
2 02/19/2023 02/22/2023
  • Order CAN transceiver modules
Completed Iftiza
03/03/2023 03/10/2023
  • Research several RC Car for the target application
  • Purchase RC Car
Completed Sharan, Prabhat, Tushara
03/11/2023 03/17/2023
  • Create a fork for our project repository.
  • Create a git flow process. Establish a process for merging into the master code repository.
  • Finalize the sensors and other hardware we need for the project.
  • Finalize the best available hardware based on the data collected.
  • To validate communication between CAN nodes via BUSMASTER.
Completed Team
03/18/2023 03/21/2023

Work on the RC Car Infrastructure Task [2]

  • Interface ultrasonic sensors for sensor node
  • Set up the driver node and build the ecosystem for receiving/transmitting CAN messages
  • Develop a base obstacle avoidance logic
  • Set up the motor node and create a fake indication for left/right turn and forward/backward movement to the motor
Completed
  • Team
  • Iftiza
  • Prabhat, Sharan
  • Sharan
  • Ninaad, Sharan
03/22/2023 04/04/2023

Work on the Geo Controller Task [3]

  • Integrate and test the GPS parsing algorithm
  • Validate cross-communication on CAN bus across nodes
  • Hack the PWM signals from the remote to RF receiver
  • Generate the PWM sequence from SJTwo to make the servo and motor move left/right/forward/backward
  • Replace the fake motor actions with actual motor movements which are received from Driver node
  • Try decoding the RF data packets from the remote to RF receiver

Ongoing

  • Team
  • Iftiza
  • Team
  • Sharan, Prabhat
  • Sharan, Prabhat
  • Ninaad
  • Tushara
04/05/2023 04/11/2023

Work towards the Prototype 1 Task - Week 1 of 2

  • Develop navigation algorithm
  • Upgrade obstacle avoidance algorithm
  • Integrate compass module
  • Integrate RPM sensor
  • Integrate LCD module
  • Integrate ESP8266 module
  • Integrate three other ultrasonic sensors
  • Basic mobile app
  • Simple hardware setup {Power supply, robust CAN wiring, layout, wiring}

Ongoing

  • Team
  • Iftiza, Ninaad
  • Sharan
  • Sharan
  • Prabhat
  • Anyone
  • Ninaad
  • Prabhat
  • Tushara
  • Iftiza
04/03/2023 04/10/2023
  • Create a custom DBC file
  • Design the modularity of each nodes
TBD
04/03/2023 04/10/2023
  • Decision on the app development platform
  • Decide on Flutter vs Android Studio
  • Learn the fundamentals of Android app development
TBD
04/11/2023 04/18/2023
  • Decide WiFi or Bluetooth for primary connectivity
  • Establish a base code platform for the communication module
  • Develop the car data display page for the mobile application.
TBD
04/11/2023 04/18/2023
  • Design of compass module
  • Practical validation of the GPS lab parser
  • Engage in compass calibration and integrate data with other CAN modules.
TBD
04/11/2023 04/18/2023
  • Decoding the ESC logic of the car
  • Formulating the motor logic
  • Design and test the HMI and LCD module
TBD
04/19/2023 04/26/2023
  • Integration testing with obstacle avoidance algorithm
  • Start examining the results of practical trials conducted in the past week's execution and make necessary adjustments to address encountered problems.
  • Verify the accuracy of the Direction Distance Calculation Module through unit testing, ensuring that the module output matches the manual calculation of data.
  • Design and build the PCB for the present prototype
TBD


Parts List & Cost

Item# Part Desciption Vendor Qty Cost
1 RC Car Maverick Quantum MT [4] 1 $180.00
2 RC Car Battery Lithium Polymer Two-Cell 1 $20.0
3 CAN Transceiver Modules SN65HVD230 4 $43.56
4 SJTwo Microcontroller Development Board SJSU 5 $250
5 Ultrasonic Sensors 4 $48.69
6 GPS Module Adafruit PA1616S [5] 1 $32
7 Compass Module - CMPS12 RobotShop [6] 1 $39.77
8 LCD Module - LCD1602 I2C Amazon [7] 2 $12.02


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

Hacking the RF Module

In order to make the RC car autonomous, we had to get rid of the remote control that the car is equipped with. Our car - Maverick Quantum MT does not have its PWM sequence open-sourced. So, we had to get our hands dirty in detecting the PWM signals sent by the RC receiver to the ESC module. Using an oscilloscope, we could identify the duty cycle and frequency corresponding to the servo and motor actions.

TODO: Insert picture of the oscilloscope with signals. Add the duty cycles for various speeds and degrees of servo movement.

Control Unit Direction Frequency (Hz) Duty Cycle (%)
Servo Motor Right Max 61.02 5.9
Left Max 61.02 12.62
Motor Forward Max Speed 61.02 12.65
Idling (Zero) Speed 61.02 9.27
Reverse Max Speed 61.02 5.66

The duty cycle for crawling the car at the slowest speed = 9.47%.

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