From Embedded Systems Learning Academy
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
|
Ongoing. Few sensors are yet to be ordered.
|
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
|
Ongoing
|
TBD
|
2
|
10/5/2014
|
10/21/2014
|
Fine tune subscriber code
|
Ongoing
|
TBD
|
3
|
10/5/2014
|
10/21/2014
|
Develop CAN Transceiver Board
|
Ongoing
|
TBD
|
4
|
10/5/2014
|
11/4/2014
|
Implement API co-ordination logic and test with other boards APIs
|
Ongoing
|
TBD
|
5
|
10/28/2014
|
TBD
|
Test hardware and software and fix bugs
|
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
|
Interfacing LCD with SPI interface on SJONE board
|
On Going
|
TBD
|
4
|
10/7/2014
|
10/14/2014
|
CAN interface and subscription tasks
|
On Going
|
TBD
|
5
|
10/15/2014
|
10/21/2014
|
Reading Sensor data and Location Values
|
Scheduled
|
TBD
|
6
|
10/21/2014
|
10/28/2014
|
To interface buttons with motors to start and stop the car
|
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 Table
Controller ID
|
Controller
|
0x050
|
Master Controller
|
0x051
|
Geographical Controller
|
0x052
|
Motor Controller
|
0x053
|
Sensor Controller
|
0x054
|
IO Controller
|
0x055
|
App/Bridge Controller
|
Master Controller MessageID Table
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 )
|
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
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
Message ID
|
Description
|
TBD
|
Subscribe to Sensor Data
|
TBD
|
Publish Sensor Data
|
IO Controller
Message ID
|
Description
|
TBD
|
Subscribe to IO Data
|
TBD
|
Publish IO Data
|
Android and Bridge
Message ID
|
Description
|
0x45A
|
Subscribe Stop command manually in case of emergency (Motor data to Master)
|
0x45B
|
Subscribe GPS longitude (GPS data to Master)
|
0x45C
|
Subscribe GPS latitude (GPS data to Master)
|
0x55A
|
Publish "start" message to send coordinates for navigation (IO data from Master)
|
0x55B
|
Publish reliable sensor value (Sensor data from Master)
|
0x55C
|
Publish current location (GPS data from Master)
|
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/