S19: Zeus

From Embedded Systems Learning Academy
Revision as of 23:29, 2 April 2019 by Proj user17 (talk | contribs) (Schedule)

Jump to: navigation, search

Grading Criteria

  • How well is Software & Hardware Design described?
  • How well can this report be used to reproduce this project?
  • Code Quality
  • Overall Report Quality:
    • Software Block Diagrams
    • Hardware Block Diagrams
      Schematic Quality
    • Quality of technical challenges and solutions adopted.

Project Title

Zeus : The Autonomous Car

Abstract

When over a century ago Karl Benz invented the first car, it came as a miracle to people. Now, Almost every household owns a car. The industry has come from a 20 Horse power producing 2.9 liter Ford Model T (1908) to a massive 1500 Horsepower 5 liter Koenigsegg Regera (2018). And as such, further developments into the driving industry are bound to come. One such major field is the realm of Driverless smart cars. This project focuses on developing a driverless smart car(model) that is capable of going from one place to the destination without any manual input, avoiding obstacles along the way.

Objectives & Introduction

Zeus revolves around several SJone boards that have LPC 1758 at the center......(continue here). Following are the objectives of this project.:

  • Zeus should successfully navigate from a fixed starting point to a fixed destination based on GPS.
  • Obstacles on the way should be avoided.
  • Code should be 100% Unit-Tested

Team Members & Responsibilities

  • Neel Patel
    • Team Lead
    • Wiki Report
  • Himanshu Gunjal
  • Oliver Zhu
    • GIT repository Manager
  • Aman Chandan
    • Material/ Components manager
  • Karan Daryani
  • Namdev Prabhugaonkar
  • Artik Shetty
  • Wendy Chao

Schedule

Week# Date Task Activities Status Completion Date
1 02/12/19
  • Form Teams
  • Form a Group of 8 students
  • Completed
  • 02/12/19
2 02/19/19
  • Setup Slack for the team
  • Setup a Slack workspace for the team. (Neel)
  • EDIT: Preet wants a private channel for Zeus in the CMPE 243 Workspace (Neel)
  • Invite Preet to the private Channel. (Neel)
  • Completed
  • Completed
  • Completed
  • 02/19/19
  • 02/19/19
  • 02/19/19
3 02/26/19
  • Create a Gitlab project for Zeus.
  • Order Can trancievers
  • Setup a Gitlab project (Namdev)
  • Each member should clone this to their local devices and try to create/edit/merge a branch.
  • Invite Preet to GIT (Namdev)
  • Get 3.3V CAN trancievers.(Himanshu)
  • Completed
  • Completed
  • Completed
  • Completed
  • 02/26/19
  • 02/26/19
  • 02/26/19
  • 02/26/19
4 03/05/19
  • Research Past Projects.
  • Setup a way to manage Finances.
  • Demo CAN Communication.
  • Read about past projects on SocialLedge.
  • Find out what components to buy and make a list.
  • Shortlist and Buy an RC car.
  • Order Components
  • Make a splitwise Group and add everyone to manage funds.
  • Demo of CAN communication in Class ( Olliver and Wendy)
  • Completed
  • In-Progress
  • Completed
  • In-Progress
  • Completed
  • Completed
  • 03/05/19
  • 03/12/19
  • 03/20/19
  • 03/05/19
5 03/12/19
  • Setup Busmaster and demonstrate Busmaster.
  • Setup PCAN Dongle with DB9 Connector
  • Download Busmaster from Busmaster
  • Download PCAN drivers from PCAN_Driver
  • Demo of Busmaster in Class (Namdev and Aman)
  • Completed
  • Completed
  • Completed
  • 03/10/19
  • 03/10/19
  • 03/12/19
6 03/19/19
  • Initial DBC File
  • Each control module should be able to send and receive the date based on their messages in the DBC
  • Completed
  • 03/15/19
7 03/26/19
  • CAN communication demo with all the modules.
  • Steer Car.
  • Class Demo to Send and receive messages on CAN bus and display on Busmaster.
  • Testing the servo motor with the in built PWM API to steer the car.
  • Collected Xbee module, Display and Rear Sensor from Preet.
  • Completed
  • Completed
  • completed
  • 03/26/19
  • 03/24/19
  • 03/26/19
8 04/02/19
  • Final Wiki Schedule
  • Get Acrylic board and Wire Wrapping board.
  • Basic Movement of Car
  • Finish Assigning task for the remainder semester.
  • Mount all 5 SJones on the Car.
  • MOTOR: Receive directions from master and move the Car.
  • MASTER: DBC file messages for movement of Car.
  • ANDROID: Basic Android app using AndroidStudio.
  • Completed
  • In-Progress
  • In-Progress
  • In-Progress
  • In-Progress
  • 04/02/19
9 04/09/19
  • Communication with mobile
  • Implement MIA messages
  • BLE: Establish Communication between ECU and Mobile
  • GPS: Parse GPS data for co-ordinates, update DBC with correct message to send the co-ordinates. Indicate GPS lock using LED.
  • MASTER: Turn Car based on GPS data.
  • SENSOR: Send Sensor data to Master.
  • Implement MIA messages from all ECUs.
9 04/16/19
  • Project Progress 1 Due
  • Demo Car Progress.
  • SENSOR: Obstacle avoidance Algorithm. Update DBC message to send obstacle data.
  • MASTER: Decision tree to decide where to go based on GPS and SENSOR data.
  • ANDROID: Display compass on App.
  • GPS: Update DBC message to send compass data to App over bluetooth.
  • MOTOR: Ramp Testing. should be able to take ramps into consideration.
9 04/23/19
  • Project Progress 2 Due
  • Demo Car Progress 2.
  • Autonomous Functionality should be working by now.
9 04/30/19
  • Preliminary Test
  • Fix the encountered issue
9 05/07/19
9 05/14/19
  • Final Testing
  • Final Testing and Stress Testing
  • Body cosmetics and working on other scopes to upgrade
9 05/22/19
  • Final Demo
  • Demo the car and contest with other teams on the demonstration day.

Parts List & Cost

Item# Part Description Vendor Qty Cost $
1 RC Car Sheldon's Hobby Store 1 180.00
2 SJOne board Preet 5 400.00
3 GPS Module 1
4 Lipo Battery (7200 mAh) Amazon 1 37.99
5 DB9 Connector Amazon 1 6.50
6 LIPO Battery Charger Sheldon's Hobby Store 1 39.99
7 Ultrasonic sensor Robotshop 4 99.80
8 PCB
9 CAN Transceiver Amazon 5 49.95
10 LCD Display Obtained From Preet 1 Free
11 Xbee Obtained From Preet 1 Free
12 Adapter for Lipo Charger Amazon 1 15.84

Design & Implementation

The design section can go over your hardware and software design. Organize this section using sub-sections that go over your design and implementation.

Hardware Design

Discuss your hardware design here. Show detailed schematics, and the interface here.

Hardware Interface

In this section, you can describe how your hardware communicates, such as which BUSes used. You can discuss your driver implementation here, such that the Software Design section is isolated to talk about high level workings rather than inner working of your project.

Software Design

Show your software design. For example, if you are designing an MP3 Player, show the tasks that you are using, and what they are doing at a high level. Do not show the details of the code. For example, do not show exact code, but you may show psuedocode and fragments of code. Keep in mind that you are showing DESIGN of your software, not the inner workings of it.

Implementation

This section includes implementation, but again, not the details, just the high level. For example, you can list the steps it takes to communicate over a sensor, or the steps needed to write a page of memory onto SPI Flash. You can include sub-sections for each of your component implementation.

Testing & Technical Challenges

Describe the challenges of your project. What advise would you give yourself or someone else if your project can be started from scratch again? Make a smooth transition to testing section and described what it took to test your project.

Include sub-sections that list out a problem and solution, such as:

<Bug/issue name>

Discuss the issue and resolution.

Conclusion

Conclude your project here. You can recap your testing and problems. You should address the "so what" part here to indicate what you ultimately learnt from this project. How has this project increased your knowledge?

Project Video

Upload a video of your project and post the link here.

Project Source Code

References

Acknowledgement

Any acknowledgement that you may wish to provide can be included here.

References Used

List any references used in project.

Appendix

You can list the references you used.