Difference between revisions of "S19: Hot Wheels"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Team Members & Responsibilities)
(Schedule)
Line 221: Line 221:
 
|
 
|
 
*
 
*
|}
 
 
Legend: <font color="blue"> Motor & I/O Controller </font>,<font color="clouds"> Master Controller </font>,<font color="green"> Communication Bridge Controller</font>,<font color="CARROT"> Geographical Controller,</font><font color="orange"> Sensor Controller </font>, <font color="black"> Team Goal </font>, <font color="grey"> Team PCB</font>, , <font color="purple"> Team Android</font>
 
 
{| class="wikitable"
 
|-
 
! scope="col"| Week#
 
! scope="col"| Start Date
 
! scope="col"| End Date
 
! scope="col"| Task
 
! scope="col"| Actual Completion Date / Notes
 
! scope="col"| Status
 
|-
 
! scope="row"| 1
 
| 10/02/2019
 
| 07/03/2019
 
|
 
*<font color="black">Research previous projects wiki page, gather useful information. </font>
 
*<font color="black"> Discuss about roles and study data sheet of the required parts and list down minimum two parts for each required function.</font>
 
*<font color="black"> Setup Git and slack accounts and verify that access is provided to all the team mates.</font>
 
|10/15/2017
 
|Done
 
|
 
|-
 
! scope="row" | 2
 
| 10/16/2017
 
| 10/22/2017
 
|
 
*<font color="black"> Design Hardware layout for the project, schematic shall identify all the modules, ports and the pins interfaced.
 
*<font color="grey"> Design sensor and motor board's schematic in eagle PCB.
 
*<font color="black">Design data flow diagram for all the software exchanges between the modules and the master.
 
*<font color="black">Complete DBC file based upon the design data flow diagram and share the file via GIT repo.
 
*<font color="CARROT">Study about GPS and Compass calibration .
 
*<font color="blue"> Interface motor and drive using Preet's PWM driver API. Find different levels of speed and direction.</font>
 
*<font color="orange"> Interface one sonic sensor to the sensor controller. Receive data and calculate distance. Write send, receive and MIA functions to be able to perform basic CAN communication.</font>
 
*<font color="purple"> Study Android application software and approaches from previous projects and document the required features being provided by the application.
 
*<font color="black"> Order finalized Components.</font>
 
|10/22/2017
 
|Done on time except
 
*PCB design was changed to only one PCB that will gather all controllers and have Can Bus on it.
 
|
 
 
|-
 
! scope="row" | 3
 
| 10/23/2017
 
| 10/29/2017
 
|
 
*<font color="black"> Start interfacing received components to respective Nodes and do a superficial testing of components. </font>
 
*<font color="grey">Design GPS/Compass, Bluetooth and master board's schematic in eagle PCB. </font>
 
*<font color="CARROT"> Identify and document best approach to calibrate Compass. </font>
 
*<font color="blue"> Experiment on duty cycle suitable for direction and speed of the motors</font>
 
*<font color="blue"> Communicate with Master and set speed and directions.</font>
 
*<font color="blue"> Interface RPM sensor and calculate speed in KPH</font>
 
*<font color="orange"> Interface all three front sonic sensor to the sensor controller. Apply filtering to get reliable data and send data to Master Controller.
 
*<font color="purple">Document Android approaches and decide on how to design the app and fix the protocol to exchange data with Bluetooth module.
 
|10/29/2017
 
|Done on time except
 
*Filtering was not applied at this time
 
|
 
 
|-
 
! scope="row" | 4
 
| 10/30/2017
 
| 11/05/2017
 
|
 
*<font color="blue"> Interface RPM sensor and measure Speed.Maintain the speed based on feedback for uphill and downhill</font>
 
*<font color="blue"> Improve the trajectory of the car using algorithm based on speed and directions</font>
 
*<font color="orange"> Stress test front sensors in different environment conditions indoor, outdoor and compare data. Also change different angles for sensors and find best angles for most reliable data and maximum coverage. </font>
 
*<font color="CARROT">Start development of software modules for GPS and Compass modules and document the efforts and ways to test the algorithm.</font>
 
*<font color="clouds">Test can bus communication by mounting master, sensor and motor modules and transmitting master related commands.</font>
 
*<font color="black">Mount the parts on off shelf PCB for Demo 1 and verify the wiring connections and verify that CAR is ready for the demo, </font>
 
| 11/03/2017
 
| Done on time
 
|
 
 
|-
 
! scope="row" | 5
 
| 11/06/2017
 
| 11/12/2017
 
|
 
*<font color="orange"> Finish Bearing Angle Calculation. </font>
 
*<font color="clouds"> Control the Car's speed on detection of obstacle.</font>
 
*<font color="orange">  Interface back sensor, receive, filter and send data. All sensors should be working properly by now and master should be getting stable values even while car is on the move.</font>
 
*<font color="CARROT">Finish development of algorithm for Compass & GPS calibration and verify that the direction obtained from the modules with that of any off shelf smartphone's Compass.</font>
 
*<font color="black"> Car should now move without hitting "any" obstacle when powered on. Car should be able to take a reverse if required.
 
</font>
 
| 11/12/2017
 
|Done.
 
*Back sensor was not yet interfaced. Filtering applied for front sensors.
 
|
 
 
|-
 
! scope="row" | 6
 
| 11/13/2017
 
| 11/19/2017
 
|
 
*<font color="clouds"> Interface the LCD with micro controller and do basic display of text</font>
 
*<font color="orange"> Prepare design and possibly try to finish 3D printing or figure out some other hardware solution for sensor mount for final car design. </font>
 
*<font color="grey"> Share Gerber files with the PCB fabrication house and order 2 PCB.
 
*<font color="purple">Design basic Android application UI, which can verify that the communication with BT module was successful or not </font>
 
*<font color="black"> Fetch current longitude and latitude values from GPS modules via BT app and send all the checkpoints to the destination via BT app and BT module to master and verify the link between GPS/Compass, master and BT module and Application is working as expected.</font>
 
|11/18/2017
 
|Done except,
 
*PCB design not finished yet.
 
*Back sensor interfaced.
 
|
 
 
|-
 
! scope="row" | 7
 
| 11/20/2017
 
| 11/25/2017
 
|
 
*<font color="clouds"> Display speedometer, longitude and direction values</font>
 
*<font color="orange"> Mount sensors on new/final hardware solution, position them properly and test again received data while car is in move. </font>
 
*<font color="black"> If the link between Geo, BT, master and Motor module is working, perform outdoor system testing. </font>
 
|11/25/2017
 
|Done.
 
*PCB design finished and main PCB board ordered
 
*Still waiting for sensor mounts 3D printing to be finished.
 
|
 
 
|-
 
! scope="row" | 8
 
| 11/26/2017
 
| 12/01/2017
 
|
 
*<font color="blue"> Connect battery output to ADC channel and read back the battery parameters. </font>
 
*<font color="orange"> Interface Head lights and turn them ON based on light sensor value. </font>
 
*<font color="purple">Implement automatic bluetooth connection between APP and bluetooth module</font>
 
*<font color="grey">Sensor breakout PCB design and ordered </font>
 
|12/01/2017
 
|Done.
 
*Decided not to interface head lights, to prolong the battery.
 
|
 
 
|-
 
! scope="row" | 9
 
| 12/03/2017
 
| 12/08/2017
 
|
 
*<font color="cloud"> Display the battery parameters on LCD. </font>
 
*<font color="black">Perform round 1 of system testing. </font>
 
*<font color="black">Start documenting project report by collaborating artifacts produced during project development. </font>
 
*<font color="black">Fix the bugs in system testing. </font>
 
|12/08/2017
 
|Done.
 
*Discovered the bugs with respect to bearing angle calculation, GPS configuration and Motor Speed.
 
* Modified the bearing angle calculation algorithm to use haversine formula instead of vector projection method. Configured GPS to use GNGGA.
 
|
 
 
|-
 
! scope="row" | 10
 
| 12/10/2017
 
| 12/12/2017
 
|
 
*<font color="black"> Perform round 2 of system testing.</font>
 
*<font color="black"> Start documenting project report by collaborating artifacts produced during project development.</font>
 
*<font color="black"> Fix the bugs in system testing.</font>
 
|12/12/2017
 
|Done.
 
* Created a rough draft report of all the modules. Applied averaging on GPS values.
 
|
 
 
|-
 
! scope="row" | 11
 
| 12/13/2017
 
| 12/16/2017
 
|
 
*<font color="black"> Perform round 3 of system testing.</font>
 
*<font color="black"> Work on unfinished project report documentation.</font>
 
*<font color="black"> Fix the bugs in system testing.</font>
 
| 12/16/2017
 
| Done
 
* Improved GPS stability by enabling differential correction for GPS.
 
|
 
 
|-
 
! scope="row" | 12
 
| 12/17/2017
 
| 12/19/2017
 
|
 
*<font color="black"> Perform round 4 of system testing.</font>
 
*<font color="black"> Fix the bugs in system testing.</font>
 
*<font color="black"> Record a video to demonstrate project working and features.</font>
 
*<font color="black"> Complete Documentation of wiki page. </font>
 
| 12/19/2017
 
| Done.
 
* Car is ready for the demo. Video editing is in progress.
 
|
 
 
|-
 
! scope="row" | 13
 
| 12/20/2017
 
|
 
|
 
*<font color="black"> Ready for Demo.</font>
 
| 12/20/2017
 
| Done.
 
*Car successfully navigated to it's destination
 
 
 
|}
 
|}
  

Revision as of 21:51, 12 March 2019

Project Title

<Team Name>

Abstract

In the HOT WHEELS project, we plan to design and construct an autonomously navigating, electric R.C car which uses CAN bus for internal communication and an android app for selecting car destination. Development of the R.C car's subsystem modules will be divided amongst the eight team members.

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>

  • Master Control
    • Kailash Chakravarty
    • Harmeen Joshi
  • Sensor
    • Rishabh Sheth
  • Motor
    • Kriti Hedau
    • Tahir Rawn
  • Geographical
    • Harmeen Joshi
    • Nandini Shankar
  • Communication Bridge Controller & Android Application
    • Swanand Sapre
    • Aquib Mulani
  • Code Review & Commit Approvers
    • Rishabh Sheth
    • Nandini Shankar



Schedule

Week# Date Task Status Completion Date
1 02/12/19
  • Form Teams
  • Completed
  • 02/12/19
2 02/17/19
  • Setup a Slack workspace for the team.
  • Setup private channel on Slack workspace
  • Completed
  • Completed
  • 02/17/19
  • 02/17/19
3 02/26/19
  • Create a Gitlab project and add all team members as well as Preet
  • Order CAN transcievers
  • All team members get familiar with the Gitlab environment and make their initial commit.
  • Completed
  • Completed
  • Completed
  • 02/26/19
  • 02/26/19
  • 02/26/19
4 03/05/19
  • Research previous projects wiki page and gather useful information.
  • Discuss about roles and study data sheet of the required parts and list down minimum two parts for each required function.
  • Demo CAN Communication
  • Completed
  • Completed
  • Completed
  • 03/07/19
  • 03/07/19
  • 03/07/19
5 03/12/19
  • Finish ordering components for addtl modules (GPS/compass, LCD, Sensors,etc)
  • Init Android project/begin work & research on UI fragments, Bluetooth, Maps API
  • Start working with PWM API to interface with RC Car
  • Make high-level block diagram of system
  • Pick PCB design platform and begin work on PCB design/schematic
  • In-Progress
  • In-Progress
  • Not Started
  • Not Started
  • Not Started
6 03/19/19
  • Finalize PCB design/order by end of week
  • Set-up Bluetooth API on Android app/transmit to board
  • Interface GPS module to SJOne Board over UART
7 03/26/19
8 04/02/19
9 04/09/19
10 04/16/19
11 04/23/19
12 04/30/19
13 05/07/19
14 05/14/19
15 05/22/19
  • Final Demo

Parts List & Cost

Item# Part Desciption Vendor Qty Cost
1 RC Car Traxxas 1 $250.00
2 CAN Transceivers MCP2551-I/P Microchip [2] 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>

Motor ECU

<Picture and link to Gitlab>

Hardware Design

Software Design

<List the code modules that are being called periodically.>

Technical Challenges

<Bullet or Headings of a module>

Unreliable Servo Motors

<Problem Summary> <Problem Resolution>



Geographical Controller

<Picture and link to Gitlab>

Hardware Design

Software Design

<List the code modules that are being called periodically.>

Technical Challenges

<Bullet or Headings of a module>

Unreliable GPS lock

<Problem Summary> <Problem Resolution>



Communication Bridge Controller & LCD

<Picture and link to Gitlab>

Hardware Design

Software Design

<List the code modules that are being called periodically.>

Technical Challenges

<Bullet or Headings of a module>

Insane Bug

<Problem Summary> <Problem Resolution>



Master Module

<Picture and link to Gitlab>

Hardware Design

Software Design

<List the code modules that are being called periodically.>

Technical Challenges

<Bullet or Headings of a module>

Improper Unit Testing

<Problem Summary> <Problem Resolution>



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