F14: Team2-Self Driving Car - AUG

From Embedded Systems Learning Academy
Revision as of 01:19, 5 November 2014 by Proj user3 (talk | contribs) (Controller Communication Table)

Jump to: navigation, search

Self Driving Car

Abstract

Objective and Scope

Team Members & Responsibilities

  • Sensor Controller
    • Amey Patil
    • Sujith Durgad
    • Arvind Allawadi
  • Motor Controller and Power
    • Digvijay Patil
    • Rohan Jani
    • Mahesh Chudasama
  • Display
    • Mradula Nayak
    • Karthik Govindaswamy
  • Communication Bridge + Android
    • Siddhata Patil
    • Mohammed Raashid Kheruwala
  • Geographical Controller
    • Yash Parulekar
    • Ajinkya Khasnis
    • Harsh Lavingia
    • Anand Dumbre
  • Master Controller
    • Pradyumna Upadhya
    • Huzefa Siyamwala

Introduction

Schedule

Common Schedule

Sl. No Start Date End Date Task Status Actual Completion Date
1 9/16/2014 10/7/2014 Finish Ordering project hardware parts Completed. TBD
2 10/5/2014 10/21/2014 Fine tune subscriber code Completed 10/28/2014
3 10/7/2014 10/21/2014 Finish Development of CAN Transceiver boards Completed 10/25/2014
4 10/5/2014 11/4/2014 Sub teams finalize and implement dependency code(atleast single API per team) Completed 10/28/2014
5 10/5/2014 10/28/2014 Finish hardware Completed 10/27/2014
6 10/28/2014 12/2/2014 Start integration and testing. Scheduled TBD


Master Team Schedule

Sl. No Start Date End Date Task Status Actual Completion Date
1 9/30/2014 10/21/2014 Fine tune subscriber code and finalize CAN apis required from other boards Completed Completed on 10/21/2014
2 10/5/2014 10/21/2014 Fine tune subscriber code Completed Completed on 10/27/2014
3 10/5/2014 10/21/2014 Develop CAN Transceiver Board Completed Completed by 10/19/2014
4 10/5/2014 11/4/2014 Implement API co-ordination logic and test with other boards APIs Ongoing Master - motor/sensor communication apis has been completed. Integration of these three modules going on
5 10/21/2014 10/28/2014 Test hardware with master code and motor code. 10/26/2014 Master and motor has been integrated.
6 10/21/2014 11/4/2014 Integrate master with motor and sensor. Ongoing Integration is not fully complete. It is going on.
6 10/28/2014 11/11/2014 Integrate master ,motor,sensor with andriod. Scheduled TBD
7 10/28/2014 11/11/2014 Integrate master with display. Scheduled TBD
7 10/4/2014 11/11/2014 Integrate master with compass and gps. Scheduled TBD
7 11/4/2014 11/18/2014 Fix integration bugs and fine tune boards initialization and communication. Scheduled TBD
8 11/11/2014 11/28/2014 Implement car movement logic as per GPR/COMPASS/Sensor data. Scheduled TBD
9 11/28/2014 12/09/2014 Test hardware/software to remove bugs and fine tune algorithm. Scheduled TBD


GEO Team Schedule

Sl. No Start Date End Date Task Status Actual Completion Date
1 9/16/2014 9/23/2014 Decided and then ordered GPS modem
Received Compass module
Completed 9/23/2014
2 9/23/2014 9/30/2014 Acquired GPS modem
Interface Compass with SJOne Board via I2C
Completed 9/30/2014
3 9/30/2014 10/7/2014 Designing GPS driver
Test code to get compass heading information
OnGoing
Completed
TBD
4 10/7/2014 10/21/2014 Integration of GPS with the main board
CAN RX task and subscription handling
In Progress TBD
5 10/21/2014 11/04/2014 Test communication with the Master
Determine final heading using GPS location and compass reading
Scheduled TBD
6 11/04/2014 11/18/2014 Test and debug, Make necessary changes in the driver
Compass Calibration
Scheduled TBD

Motor Team Schedule

Sl. No Start Date End Date Task Status Actual Completion Date
1 9/30/2014 10/7/2014 Understand the SERVO and DC motor controller signals Completed 10/4/2014
2 10/4/2014 10/11/2014 Interface SJSU one board to SERVO and DC motor controller Completed 10/10/2014
3 10/7/2014 10/18/2014 Develop CAN transceiver boards Completed 10/12/2014
4 10/12/2014 10/26/2014 Design and Develop unified power distribution circuit and hardware structure for RC car Ongoing Power unit got burnt, working on new design
5 10/19/2014 11/03/2014 Interface motor SJSU board with master SJSU board for motion tuning Ongoing TBD
6 10/26/2014 11/07/2014 Redesign mechanical structure and fix wiring issue Ongoing TBD
7 10/19/2014 11/07/2014 Work on shaft encoder for motor speed feedback Ongoing TBD
8 11/01/2014 11/11/2014 Work with other teams to establish reliable CAN communication. Scheduled TBD
9 11/07/2014 11/30/2014 Fine tuning of turning curves, jerks, acceleration and deceleration algorithm. Scheduled TBD
10 11/07/2014 11/20/2014 Implement Zigbee communication for long range data logging. Scheduled TBD

I/O Team Schedule

Sl. No Start Date End Date Task Status Actual Completion Date
1 9/16/2014 9/23/2014 Decided and then ordered display module Completed 9/23/2014
2 9/24/2014 10/7/2014 Setting up the GIT Completed 10/14/2014
3 10/7/2014 10/14/2014 Basic display on LCD with UART interface Completed 10/23/2014
4 10/14/2014 10/28/2014 CAN communication between Master and I/O On Going TBD
5 10/28/2014 10/31/2014 CAN communication between I/O and sensor Scheduled TBD
6 10/31/2014 11/4/2014 CAN communication between I/O and GPS,Hardware for headlights and interface with the board Scheduled TBD
7 11/5/2014 11/9/2014 Button for start and stop on I/O Scheduled TBD
8 11/9/2014 11/15/2014 Mount LCD, headlights, board on CAR and Final testing Scheduled TBD

Communication Bridge + Android Team Schedule

Sl. No Start Date End Date Task Status Actual Completion Date
1 9/16/2014 9/23/2014 Design UI of the Android App Completed 9/23/2014
2 9/23/2014 9/30/2014 Interface and pairing the Android App with Bluetooth module Completed 9/30/2014
3 9/30/2014 10/7/2014 Implementation of first stage of Android App (Frame 1: Sending data via Bluetooth to give directions for the car) Completed 10/4/2014
4 10/7/2014 10/14/2014 Implementation of second stage of Android App (Bridge between Android, UART and Master) Completed 10/16/2014
5 10/14/2014 10/28/2014 Implementation of second stage of Android App (Frame 2: collecting reliable sensor data(8 ultrasonic and gps coordinates on .csv file) ) Completed 10/28/2014
6 10/28/2014 11/11/2014 Implementation of third stage of Android App (Frame 3: Navigation using markers and CLL coordinate system) Scheduled TBD
7 11/11/2014 11/18/2014 Testing and improving the UI of to the App Scheduled TBD

Sensor Controller

Sl. No Start Date End Date Task Status Actual Completion Date
1 10/3/2014 10/10/2014 Developing a Test code for sensors Completed 10/14/2014
2 10/10/2014 10/17/2014 Finalizing on the sensors Completed 10/14/2014
3 10/17/2014 10/24/2014 Transfer of sensor data via can bus to master Completed 10/21/2014
4 10/24/2014 10/30/2014 Implementation with multiple sensors Ongoing TBD
5 10/30/2014 11/6/2014 Implementation of Light Sensors and Tilt Sensor Scheduled TBD

Parts List & Cost

Qty Description Manufacturer Part Number Total Cost
6 Ultra Sonic Sensor Arduino HC-SR04 12.58
1 Compass Module Honeywell HMC6352 Provided By Preet
1 GPS Receiver MediaTek LS20031 5Hz (66 Channel) $59.95
1 RC car Traxxas 1/10 $272
1 Bluetooth module SunFounder HC-06 $7.99

Backup Parts & cost

Qty Description Manufacturer Part Number Total Cost

Design & Implementation

Controller Communication Table

Controller ID Table
Controller ID Controller
0x050 Master Controller
0x051 Geographical Controller
0x052 Motor Controller
0x053 Sensor Controller
0x054 IO Controller
0x055 App/Bridge Controller
Common MessageID Table
MessageID Description ResponseID Description
0x110 Get Board Status 0x52A Send Board Status (Response of 0x42A )
0x111 Get Board Time 0x211 Present Board Time (Response of 0x111)
0x213 Board's New Data (Response of 0x315)
Master Controller MessageID Table
SubscribeID Description PublishID Description
0x42A Subscribe to new motor data to be set 0x52A Publish motor data (Response of 0x42A )
0x44A Subscribe to new input/output data 0x54A Publish data to be displayed (Response of 0x44A )
0x45C Subscribe to reliable sensor value (sensor data from sensor through master) 0x55C Publish reliable sensor value (Response of 0x45C)
0x45D Subscribe to current location data (GPS data from Master through GPS) 0x55D Publish current location data (Response of 0x55D)
0x44A Subscribe to display data (api to be used by display to get new display data) 0x54A Publish new display data (Response of 0x54A)
Master Specific MessageID Description ResponseID Description
0x311 SetTime (master specific command)
0x312 Start (master specific command)
0x313 Stop (master specific command)
Geographical Controller MessageID Table
SubscribeID Description PublishID Description
0x40C Subscribe to Compass Data 0x50C Publish Compass Data (Response of 0x40C )
0x40B Subscribe to GPS Data 0x50B Publish GPS Data (Response of 0x40B )
0x40A Subscribe to Geographical Data 0x50A Publish Geographical Data (Response of 0x40A )
Motor Controller MessageID Table
SubscribeID Description PublishID Description
0x40A Subscribe to Motor Data 0x50A Publish Motor Data (Response of 0x40A)
0x40B Subscribe to Motor Speed 0x50B Publish Motor Speed (Response of 0x40B)
0x40C Subscribe to Motor Direction 0x50C Publish Motor Direction (Response of 0x40C)
Sensor Controller MessageID Table
SubscribeID Description PublishID Description
0x40A Subscribe to Sensor Data 0x50A Publish Sensor Data (Response of 0x40A)
0x44A Subscribe to Sensor Data(I/O unit subscribes 0x54A Publish Sensor Data (Sends data to I/O unit)
IO Controller
SubscribeID Description PublishID Description
0x40A Subscribe to IO Data 0x50A Publish IO Data (Response of 0x40A)
Android and Bridge
SubscribeID Description PublishID Description
0x45A Subscribe Start/Stop command(IO data to Master) 0x55A Publish "start" message (response of 0x312)
0x45B Subscribe GPS longitude and latitude (Android GPS data to Master) 0x55B Publish current location (response of 0x45D)

Testing & Technical Challenges

Sl. No Test Case Test Description Result

Challenges and Learning

Future Enhancement

Conclusion

Project Video

Project Source Code

References

Acknowledgement

References Used

  1. Preetpal Kang, Lecture notes of CMPE 243, Computer Engineering, Charles W. Davidson College of Engineering, San Jose State University, Aug-Dec 2014.
  2. en.wikipedia.org/