Difference between revisions of "F14: Team2-Self Driving Car - AUG"
From Embedded Systems Learning Academy
Proj user17 (talk | contribs) (→Controller Communication Table) |
Proj user17 (talk | contribs) (→Controller Communication Table) |
||
Line 785: | Line 785: | ||
| Subscribe GPS longitude and latitude (Android GPS data to Master) | | Subscribe GPS longitude and latitude (Android GPS data to Master) | ||
| 0x55B | | 0x55B | ||
− | | Publish current location (response of | + | | Publish current location (response of 0x45D) |
|} | |} | ||
Revision as of 23:38, 28 October 2014
Contents
- 1 Self Driving Car
- 2 Abstract
- 3 Objective and Scope
- 4 Team Members & Responsibilities
- 5 Introduction
- 6 Schedule
- 7 Parts List & Cost
- 8 Backup Parts & cost
- 9 Design & Implementation
- 10 Testing & Technical Challenges
- 11 Challenges and Learning
- 12 Future Enhancement
- 13 Conclusion
- 14 Project Video
- 15 Project Source Code
- 16 References
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 | Ongoing | TBD |
3 | 10/7/2014 | 10/21/2014 | Finish Development of CAN Transceiver boards | Ongoing | TBD |
4 | 10/5/2014 | 11/4/2014 | Sub teams finalize and implement dependency code(atleast single API per team) | Ongoing | TBD |
5 | 10/5/2014 | 10/28/2014 | Finish hardware | Ongoing | TBD |
6 | 10/28/2014 | TBD | Start testing and finish it | 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 | 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 | Scheduled | TBD |
5 | 10/19/2014 | TBD | Interface motor SJSU board with master SJSU board for motion tuning | 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, gps coordinates, speed ) ) | Ongoing | TBD |
6 | 10/28/2014 | 11/18/2014 | Implementation of third stage of Android App (Frame 3: Navigation using markers and CLL coordinate system) | Scheduled | TBD |
7 | 11/18/2014 | 11/25/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 | Controller |
---|---|
0x050 | Master Controller |
0x051 | Geographical Controller |
0x052 | Motor Controller |
0x053 | Sensor Controller |
0x054 | IO Controller |
0x055 | App/Bridge Controller |
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 0x313) |
SubscribeID | Description | PublishID | Description |
---|---|---|---|
0x42A | Subscribe to new motor data to be set | 0x52A | Publish motor data (Response of 0x42A ) |
0x42B | Subscribe to new motor speed to be set | 0x52B | Publish motor data (Response of 0x42B ) |
0x42C | Subscribe to new motor direction to be set | 0x52C | Publish motor direction (Response of 0x42C ) |
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) |
0x310 | Reset (master specific command) | ||
0x311 | SetTime (master specific command) | ||
0x312 | Start (master specific command) | ||
0x313 | Get Board Data (master specific command) |
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 ) |
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) |
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) |
SubscribeID | Description | PublishID | Description |
---|---|---|---|
0x40A | Subscribe to IO Data | 0x50A | Publish IO Data (Response of 0x40A) |
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
- Preetpal Kang, Lecture notes of CMPE 243, Computer Engineering, Charles W. Davidson College of Engineering, San Jose State University, Aug-Dec 2014.
- en.wikipedia.org/