S19: Tech Savy

From Embedded Systems Learning Academy
Revision as of 00:04, 5 April 2019 by Proj user22 (talk | contribs) (Team Deliverables Schedule)

Jump to: navigation, search


LOGO


Tech SAvy RC Car

Tech_Savy Side Open view
File:CMPE243 Tech Savy Car.jpg
Tech_Savy front view
Tech_Savy Top Open view

Abstract

In this project our main aim to build a Self-Navigating Car named Tech Savy, that navigates from a source location to a selected destination by avoiding obstacles in its path using sensors and motors.

Main Building Blocks of Tech Savy

Introduction & Objectives

The key features support by the system are

1. A Google-map based Android application is developed which finds out the shortest distance path between current location and destination and connects to the self-driving RC car via Bluetooth to send the GPS Coordinates.

2. The car will be integrated with the GPS, Compass, Bluetooth, multiple sensors such as Ultrasonic sensors and RPM sensors to fulfill the purpose of navigation, obstacle detection, and avoidance

3. LIDAR used for obstacle recognition and avoidance.

4. Motor drives the car by Route Calculation and Maneuvering to the selected destination and Self- Adjusting the speed of the car on Ramp.

5. LEDs and LED Display are used for debugging and to get all relevant information about the status of the car, in real time and LCD Display is used to give more detailed information related to the car.

The system is built on FreeRTOS running on LPC1758 SJOne controller and Android application. The main building blocks of Tech Savy are the five controllers communicating through High Speed CAN network designed to handle dedicated tasks. The controllers integrate various sensors that are used for navigation of the car.

CAR Objectives

     1. Master Controller - Handles the Route Manuevering,Path Planning and Obstacle Avoidance 
     2. Sensor Controller - Detects the surrounding objects
     3. Geo Controller - Provides current location in the form of coordinates and navigate car using CMPS11
     4. Motor Controller - controls the movement of the Car.
     5. Bridge controller - Interfaces the system using Bluetooth to an Android application. 

Team Objectives

     1. Learn each and every module as much as possible, in order to develop an industrial product.
     2. Achieve 100% code coverage, during unit testing. 
     3. Document and track all the bugs encountered during development, unit testing, and field testing.
System Architecture

Team Members & Technical Responsibilities

File:Team Pic.jpeg
TEAM TECH SAVY


Administrative Responsibilities

Administrative Roles
  • Team Lead
Aakash Chitroda
  • Finance Manager
Halak Vyas
  • Git Repository Manager
Vatsal Makani
  • Wiki Report Manager
Vidushi Jain
  • Bill of Materials Manager
Jay Parsana

Team Deliverables Schedule

Show a simple table or figures that show you're scheduled as planned before you started working on the project. Then in another table column, write down the actual schedule so that readers can see the planned vs. actual goals. The point of the schedule is for readers to assess how to pace themselves if they are doing a similar project.

WEEK

START DATE

END DATE

TASK DETAILS

STATUS

1 26 Feb 2019 4 March 2019
  • Create and establish GitLab repository
  • Establish slack channel and invite Preet
  • Look through previous years projects and study it
  • Distribute major roles among team members
Completed
Completed
Completed
Completed
2 05 March 2019 12 March 2019
  • Create a Bill of Materials.
  • Select and order an RC car.
  • Make Repo on Gitlab for all modules - Follow Naming Convention.
Completed
Completed
Completed
3 13 March 2019 19 March 2019
  • Select Part Number for Sensors (Halak, Akash)
  • Designing and deciding PCB tool(Prashant, Vatsal)
  • Finalizing GPS module by doing some research (Vidushi)
  • Finalize and order LCD (Akash, Vidushi)
  • Finalize Motor and Order it (Vatsal)
  • Environmental setup of Android (Saumil)
Completed
Completed
Completed
Completed
Completed
Completed
4 20 March 2019 26 March 2019
  • Understand DBC and implement the DBC file compatible with all the controllers.
  • Finish motor controller API. Test motor driving in different situations, begin to listen to CAN for controls.
  • Establish communication across all the CAN controllers over CAN bus based on the DBC file.
  • Verify the power-up interactions and configurations between Master and the other controllers.
  • 03/26/2019 DBC File
  • 03/26/2019 DEMO: CAN communication between controllers
Completed
Completed
Completed
Completed
Completed
Completed
5 27 March 2019 08 April 2019
  • Check and Resolve power issue for RC Car.
  • Finalize high-level system block diagram and control scheme.
  • Circuit Simulation in Proteus Tool
  • PCB Layout Design in Diptrace Tool
  • Finalize Components placement on PCB
  • Establish a connection over Bluetooth and Android app.
  • Establish a communication between Bluetooth devices.
  • Interfacing of ultrasonic sensors to the SJOne board and check for basic functionality.
  • Configure GPS device baud rate and interface it with SJOne board using UART.
  • Chalk out the Message IDs based on the priority of the messages and the data to be sent across nodes.
  • Interface of Servo & DC motor to the SJOne board and check for basic functionality.
  • Interface Compass module with SJOne board using I2C serial bus.
  • Interface bluetooth HC-05 module with SJOne board using serial Communication.
  • Configure bluetooth HC-05 module name as Tech Savy using HC-05 Communication Mode.
  • Explore UI designing of LCD.
In Progress
6
7
8

BILL OF MATERIALS (GENERAL PARTS)

PART NAME

PART MODEL & SOURCE

QUANTITY

COST PER UNIT (USD)

  • Micro-Controller Eval-Boards
  • LPC 1758 (Purchased from Preet Kang)
  • 5
  • 80.00
  • RC Car
  • 1
  • 205.99
  • Lithium-Ion Battery
  • 1
  • 74.95
  • Lithium-Ion Battery 2
  • 1
  • 69.95
  • RC Car Battery Charger
  • 1
  • 49.95
  • Bluetooth Breakout Board
  • 1
  • 8.49
  • RC Car Display
  • 1
  • 79.00
  • Ultrasonic Sensors
  • 2
  • 30.00
  • RP-LIDAR Sensor
  • 1
  • 99.00
  • GNSS Taoglas GPS Antenna
  • 1
  • FREE
  • CAN Transreceivers
  • 10
  • FREE
  • Compass
  • 2
  • 30.00
  • RPM Sensor
  • 1
  • 10.00
  • GPS Breakout Board
  • 1
  • 43.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

<Bullet or Headings of a module>

Unreliable sonor sensors

<Problem Summary> <Problem Resolution>



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>




Mobile Application

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

Wifi Link Reliability

<Problem Summary> <Problem Resolution>



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 the 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 the exact code, but you may show pseudocode and fragments of code. Keep in mind that you are showing the DESIGN of your software, not the inner workings of it.


TechSavy High Level Software Architecture

Testing & Technical Challenges

Describe the challenges of your project. What advise would you give yourself or someone else if your project can is started from scratch again? Make a smooth transition to the 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

<Organized summary of the project>

<What did you learn?>

Project Video

Project Source Code


Advise for Future Students

<Bullet points and discussion>

Acknowledgement

References

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.

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.