Difference between revisions of "S19: Zeus"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Hardware Design)
(Design)
Line 439: Line 439:
 
=== Design ===
 
=== Design ===
  
The bridge controller is responsible for establishing communication between the CAR and an Android Phone. This communication is achieved using Bluetooth technology and HC-05 bluetooth transciever. The
+
The bridge controller is responsible for establishing communication between the CAR and an Android Phone. This communication is achieved using Bluetooth technology and HC-05 bluetooth transceiver. The android app "'''ZeusApp'''" sends Co-ordinates as well as Start/Stop command to the car. Once the bridge ECU receives this data over UART, it transmits it to corresponding controllers using CAN bus. The HC-05 module communicates with SJONE over UART at 9600bps baud rate. The overall architecture of the system is given below:
 +
 
 
[[File:CMPE243_S19_Zeus_AndroidComm.png|thumb|centre|700px|BLE Block Diagram]]
 
[[File:CMPE243_S19_Zeus_AndroidComm.png|thumb|centre|700px|BLE Block Diagram]]
  

Revision as of 20:03, 17 May 2019

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
  • Communication should be established between Zeus and a mobile phone through an APP.

Team Members & Responsibilities

  • Neel Patel
    • Team Lead
    • Master Module
    • Android App
    • BLE Module
  • Himanshu Gunjal
    • Master Module
    • BLE Module
  • Oliver Zhu
    • GIT repository Manager
    • Sensor Module
  • Aman Chandan
    • Material/ Components manager
    • GEO module
  • Karan Daryani
    • Car Layout Designer
    • Motor Module
    • PCB
  • Namdev Prabhugaonkar
    • GEO module
    • PCB
  • Artik Shetty
    • Motor Module
  • Wendy Chao
    • Sensor Module

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
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
  • 03/05/19
  • 03/06/19
  • 03/12/19
  • 03/20/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. (Karan and Artik)
  • 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. (Neel)
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
  • 04/02/19
  • 04/07/19
  • 04/07/19
  • 04/07/19
  • 05/03/19
9 04/09/19
  • Communication with mobile
  • Implement MIA messages
  • BLE: Establish Communication between ECU and Mobile (Neel and Himanshu)
  • 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.
  • ANDROID: Incorporate Google Maps to provide source and destination co-ordinates.(Neel)
  • Implement MIA messages from all ECUs.
  • Completed
  • In-progress
  • In-Progress
  • Completed
  • Completed
  • Completed
  • 05/03/19
  • 04/10/19
  • 05/01/19
  • 04/12/19
10 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.
  • Completed
  • Completed
  • In-Progress
  • In-Progress
  • In-Progress
  • Completed
11 04/23/19
  • Project Progress 2 Due
  • Demo Car Progress 2.
  • All the modules should be able to communicate with each other.
  • The Car should follow GPS directions and avoid obstacles in the way without any user input. Android app should display start and end point coordinates and have successful communication with the ECUs.
12 04/30/19
  • Preliminary Test
  • Fix the encountered issue
  • Assign the bugs to the respective team and resolve them.
  • Assemble all the components and give final touch to the CAR body.
13 05/07/19
  • Equilibrium Testing
  • Testing harmony between all the system modules.
  • Checking the response of each module to other modules for different conditions and test scenarios.
14 05/14/19
  • Final Testing
  • Final Testing and Stress Testing
  • Body cosmetics and working on other scopes to upgrade
15 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.

Sensors Controller

In this project, the sensor we use is LV-MAXSonar-EZ4, which is ultrasonic sensor. There are three sensors put in the front of our RC car and detect the left, middle and right side independently.

Hardware Design

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

Hardware Interface

There are seven pins in this sensor.

Pin Name Function
Pin 1 BW
Pin 2 PW

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.

Android Application and Bridge

Group Members

Design

The bridge controller is responsible for establishing communication between the CAR and an Android Phone. This communication is achieved using Bluetooth technology and HC-05 bluetooth transceiver. The android app "ZeusApp" sends Co-ordinates as well as Start/Stop command to the car. Once the bridge ECU receives this data over UART, it transmits it to corresponding controllers using CAN bus. The HC-05 module communicates with SJONE over UART at 9600bps baud rate. The overall architecture of the system is given below:

BLE Block Diagram
Sl. No Pin on SJOne Board Pin on HC-05 Purpose
1 TXD3 RXD Transmit using UART3(TXD3) to HC-05
2 RXD3 TXD Receive using UART3(RXD3) from HC-05
3 3V3 VCC 3.3V voltage supply
4 GND GND Ground

Software Design

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.