Difference between revisions of "F14: Team4-Self Driving Car - AUG"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Controller Communication Table)
(Controller Communication Table)
Line 551: Line 551:
 
== Design & Implementation ==
 
== Design & Implementation ==
  
=== Controller Communication Table ===
+
=== Controller ID Table ===
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 576: Line 576:
 
| 111
 
| 111
 
| I/O Controller
 
| I/O Controller
 +
|}
 +
 +
'''Controller Communication Table'''
 +
 +
{| class="wikitable"
 +
|-
 +
|-
 +
! colspan="4"| Incoming Messages
 +
! colspan="1"|
 +
! colspan="4"| Outgoing Messages
 +
|-
 +
|-
 +
! scope="col"| Sl. No
 +
! scope="col"| Message ID
 +
! scope="col"| Message Description
 +
! scope="col"| Message Data
 +
! scope="col"|
 +
! scope="col"| Message ID
 +
! scope="col"| Message Description
 +
! scope="col"| Message Data
 +
|-
 +
|-
 +
! colspan="8"| Master
 +
|-
 +
|-
 +
|1
 +
|0x090
 +
|Heartbeat Response / Acknowledgement
 +
|N/A
 +
|
 +
|N/A
 +
|N/A
 +
|N/A
 +
|-
 +
|-
 +
|2
 +
|0x116
 +
|Power On/Off Command
 +
|On/Off byte
 +
|
 +
|N/A
 +
|N/A
 +
|N/A
 +
|-
 +
|-
 +
|3
 +
|0x117
 +
|Power On/Off Command
 +
|On/Off Byte
 +
|
 +
|N/A
 +
|N/A
 +
|N/A
 +
|-
 +
|-
 +
|4
 +
|0x213
 +
|Front/Read Sensor Data
 +
|Sensor Data
 +
|
 +
|N/A
 +
|N/A
 +
|N/A
 +
|-
 +
|-
 +
|5
 +
|0x294
 +
|Current Location & Direction of Car
 +
|Location Co-ordinates, Orientation, Direction for Motor
 +
|
 +
|N/A
 +
|N/A
 +
|N/A
 +
|-
 +
|-
 +
|6
 +
|0x316
 +
|Next Checkpoint
 +
|Co-ordinates of Next Location
 +
|
 +
|N/A
 +
|N/A
 +
|N/A
 +
|-
 +
|-
 +
|7
 +
|0x3D3
 +
|Other Sensor Data
 +
|Light & Tilt Sensor Data
 +
|
 +
|N/A
 +
|N/A
 +
|N/A
 +
|-
 +
|-
 +
|8
 +
|0x411
 +
|Encoder Data
 +
|Speed Sensor Data
 +
|
 +
|N/A
 +
|N/A
 +
|N/A
 +
|-
 +
|-
 +
|9
 +
|N/A
 +
|N/A
 +
|N/A
 +
|
 +
|0x14A
 +
|Motor Speed & Direction
 +
|Motor Speed and Angle
 +
|-
 +
|-
 +
|10
 +
|N/A
 +
|N/A
 +
|N/A
 +
|
 +
|0x372
 +
|Current Location of Car from GPS
 +
|Location
 +
|-
 +
|-
 +
|11
 +
|N/A
 +
|N/A
 +
|N/A
 +
|
 +
|0x3B2
 +
|Sensor Value and Status
 +
|Sensor Readings
 +
|-
 +
|-
 +
|12
 +
|N/A
 +
|N/A
 +
|N/A
 +
|
 +
|0x3BA
 +
|Sensor Value and Status
 +
|Sensor Readings
 +
|-
 +
|-
 +
! colspan="8"|
 +
|-
 +
|-
 +
! colspan="8"| Motor
 +
|-
 +
|-
 +
|13
 +
|0x14A
 +
|Motor Speed & Direction
 +
|Motor Speed & Angle
 +
|
 +
|N/A
 +
|N/A
 +
|N/A
 +
|-
 +
|-
 +
|14
 +
|0x44A
 +
|Subscription Message from Master
 +
|N/A
 +
|
 +
|0x411
 +
|Speed Sensor Data
 +
|Speed Sensor Data
 +
|-
 +
|-
 +
|15
 +
|0x44B
 +
|Subscription Message from I/O
 +
|N/A
 +
|
 +
|0x419
 +
|Motor Speed & Direction
 +
|Motor Speed and Angle
 +
|-
 +
|-
 +
|16
 +
|0x44E
 +
|Subscription Message from Android
 +
|N/A
 +
|
 +
|0x431
 +
|Motor Speed & Direction
 +
|Motor Speed and Angle
 +
|-
 +
|-
 +
! colspan="8"|
 +
|-
 +
|-
 +
! colspan="8"| Sensor
 +
|-
 +
|-
 +
|17
 +
|0x19A
 +
|Subscription Message from Master for Front Sensor
 +
|N/A
 +
|
 +
|0x213
 +
|Sensor Data
 +
|Front Sensor Data
 +
|-
 +
|-
 +
|18
 +
|0x1DA
 +
|Subscription Message from Master for Rear Sensor
 +
|N/A
 +
|
 +
|0x213
 +
|Sensor Data
 +
|Rear Sensor Data
 +
|-
 +
|-
 +
! colspan="8"|
 +
|-
 +
|-
 +
! colspan="8"| GEO
 +
|-
 +
|-
 +
|-
 +
|-
 +
|19
 +
|0x322
 +
|Message to send Next Checkpoint
 +
|N/A
 +
|
 +
|0x316
 +
|Next Checkpoint
 +
|Co-ordinates of Next Checkpoint
 +
|-
 +
|-
 +
|20
 +
|0x462
 +
|Subscription Message from Master
 +
|N/A
 +
|
 +
|0x294
 +
|Current Location & Direction
 +
|Co-ordinates, Orientation & Direction
 +
|-
 +
|-
 +
! colspan="8"|
 +
|-
 +
|-
 +
! colspan="8"| Communication Bridge + Android
 +
|-
 +
|-
 +
|-
 +
|-
 +
|21
 +
|0x2F2
 +
|Message to send intermediate checkpoints
 +
|N/A
 +
|
 +
|0x316
 +
|Next Checkpoint
 +
|Co-ordinates of Next Checkpoint
 +
|-
 +
|-
 +
|22
 +
|0x372
 +
|Current Location of car from GPS
 +
|Co-ordinates of Current Location
 +
|
 +
|N/A
 +
|N/A
 +
|N/A
 +
|-
 +
|-
 +
|23
 +
|0x3B2
 +
|Sensor Value & Status
 +
|Sensor Reading & Status of each Module
 +
|
 +
|N/A
 +
|N/A
 +
|N/A
 +
|-
 +
|-
 +
! colspan="8"|
 +
|-
 +
|-
 +
! colspan="8"| I/O
 +
|-
 +
|-
 +
|-
 +
|-
 +
|24
 +
|0x3BA
 +
|Sensor Value & Status
 +
|Sensor Reading & Status of each Module
 +
|
 +
|N/A
 +
|N/A
 +
|N/A
 +
|-
 +
|-
 
|}
 
|}
  

Revision as of 23:35, 21 October 2014

Self Driving Car

Abstract

Objective and Scope

Team Members & Responsibilities

  • Sensor Controller:
    • Chinmay Vaidya
    • Manuj Shinkar
  • Motor Controller:
    • Viral Agrawal
    • Mitesh Sanghvi
  • I/O Unit:
    • Tej Kogekar
    • Mayur Salve
  • Communication Bridge + Android:
    • Jayanth Nallapothula
    • Manish Mandalik
    • Kwun Fung Ng (Daniel)
  • Geographical Controller:
    • Ishan Bhavsar
    • Tanuj Chirimar
    • Sushant Potdar
  • Master Controller:
    • Dhaval Parikh
    • Harita Dhiren Parekh
    • Rutwik Kulkarni

Introduction

Schedule

Sensor Team Schedule

Sl. No Start Date End Date Task Status Actual Completion Date
1 09/14/2014 09/20/2014 Understanding the logic of sensors to be used Completed 09/20/2014
2 09/21/2014 10/04/2014 Writing the codes for the different types of sensors Completed 10/04/2014
3 10/05/2014 10/11/2014 Testing the different sensors for accuracy and placing the order for the one we have selected. Completed 10/11/2014
4 10/12/2014 10/25/2014 Build CAN transceiver and send data to the Master Board Ongoing YTD
5 10/26/2014 11/01/2014 Place all the sensors on car and test for obstacle avoidance Scheduled YTD
6 11/02/2014 11/14/2014 Work on light and tilt sensors Scheduled YTD
7 11/15/2014 12/09/2014 Final testing and debugging Scheduled YTD

Motor Team Schedule

Sl. No Start Date End Date Task Status Actual Completion Date
1 09/14/2014 09/20/2014 Understand the logic of Motor Controller present in the RC Car Completed 09/20/2014
2 09/21/2014 09/27/2014 Replace on-board controller with SJSU One board Completed 09/22/2014
3 09/28/2014 10/04/2014 Drive the DC motor with SJSU One board at different Duty Cycles Completed 09/30/2014
4 10/05/2014 10/11/2014 Test the Servo and DC motor together for moving forward and taking turns Completed 10/09/2014
5 10/12/2014 10/18/2014 Build CAN Transceiver and move the car as per the CAN message received Completed 10/13/2014
6 10/19/2014 10/25/2014 Make arrangement for CAN subscription task Scheduled YTD
7 10/26/2014 11/01/2014 Interface encoder and calculate the actual speed at which car is running Scheduled YTD
8 11/02/2014 11/08/2014 Make compensation algorithm and make car to move at desired speed Scheduled YTD
9 11/09/2014 12/09/2014 Final testing and debugging Scheduled YTD

I/O Team Schedule

Sl. No Start Date End Date Task Status Actual Completion Date
1 09/14/2014 09/20/2014 Search and order GLCD module with touch screen, LEDs for headlights Completed 09/20/2014
2 09/21/2014 10/04/2014 Study of GLCD data frame formats and design GUI Completed 10/03/2014
3 10/05/2014 10/11/2014 Development of GLCD functions including touchscreen handler Completed 10/11/2014
4 10/12/2014 10/25/2014 Setup CAN subscription tasks for communication with Master controller In Progress 10/22/2014
5 10/26/2014 11/01/2014 Develop hardware and code for automatic headlight control, battery health indication Scheduled YTD
6 11/02/2014 11/14/2014 Build hardware for switches and write interrupt handlers for the same Scheduled YTD
7 11/15/2014 12/09/2014 Mount GLCD, headlights, switches on car and final testing Scheduled YTD

Communication Bridge + Android Team Schedule

Sl. No Start Date End Date Task Status Actual Completion Date
1 09/14/2014 09/20/2014 Google maps API research Completed 09/20/2014
2 09/21/2014 10/04/2014 Mock locations on Google maps and simulate co-ordinates w/o gps Completed 10/04/2014
3 10/05/2014 10/11/2014 Two way Bluetooth communication and setup RTOS tasks Completed 10/11/2014
4 10/12/2014 10/25/2014 Raw GUI for app and setup CAN tasks for communication with GPS, sensor etc. In Progress 10/25/2014
5 10/26/2014 11/01/2014 Establish reliable communication and setup all fanout and subscription tasks Scheduled YTD
6 11/02/2014 11/14/2014 Improve GUI and add additional features Scheduled YTD
7 11/15/2014 12/09/2014 Final testing and verification Scheduled YTD

GEO Team Schedule

Sl. No Start Date End Date Task Status Actual Completion Date
1 09/7/2014 09/14/2014 Market research for GPS and Compass Modules Completed 09/14/2014
2 09/14/2014 09/21/2014 Place order / receive the modules Completed 09/20/2014
3 09/21/2014 09/28/2014 nterface GPS with SJ -One board via UART Completed 09/26/2014
4 09/28/2014 10/05/2014 Interface Compass with SJ-One Board via I2C Completed 10/03/2014
5 10/05/2014 10/12/2014 Parsing the GPS data stream Completed 10/11/2014
6 10/12/2014 10/19/2014 Calibration and testing of compass Completed 10/13/2014
7 10/12/2014 10/19/2014 Decide CAN message ID’s and message formats In-Progress TBD
8 10/19/2014 10/26/2014 Combining UART and GPS parsing. Create task for GPS Scheduled TBD
9 10/19/2014 10/26/2014 Combining compass calibration and i2c interface. Create task for Compass Scheduled TBD
10 10/26/2014 11/02/2014 Final CAN subscription and Implementation of CAN communication with other modules Scheduled TBD
11 11/02/2014 12/09/2014 Testing and debugging on car Scheduled TBD

Master Team Schedule

Sl. No Start Date End Date Task Status Actual Completion Date
1 09/7/2014 09/13/2014 Understanding CAN Bus and API's Completed 09/13/2014
2 09/14/2014 09/20/2014 Deciding System Flow In-Progress TBD
3 09/21/2014 09/27/2014 Deciding MSG id's for all devices In-Progress TBD
4 09/28/2014 10/11/2014 Testing Subscription between 2 devices Completed 10/4/2014
5 09/28/2014 10/11/2014 Making CAN bus hardware to interface all SJOne boards Completed 10/11/2014
6 09/28/2014 10/11/2014 Testing subscription and time sync between all devices Completed 10/11/2014
7 10/12/2014 10/18/2014 Reading sensor data from boards at the subscription rate On-going TBD
8 10/19/2014 11/1/2014 Algorithm for obstacle avoidance Scheduled TBD
9 11/2/2014 11/15/2014 Algorithm for GPS based navigation Scheduled TBD
10 11/16/2014 11/22/2014 Initial testing and tweaking of the car Scheduled TBD
11 11/23/2014 12/9/2014 Final Testing! Showdown time! Scheduled TBD

Parts List & Cost

Qty Description Manufacturer Part Number Total Cost
1 RC Car - - $$$
10 CAN transceivers - - Free
1 GPS module - - $$
1 Magnetometer Module - - $
1 Ultrasonic Sensor - - $$
1 Misc Components - - $
Total Cost INCREASING!!

Backup Parts & cost

Qty Description Manufacturer Part Number Total Cost

Design & Implementation

Controller ID Table

Controllers
Controller ID Controller Type
001 Motor Controller
010 Master Controller
011 Sensor Controller
100 GEO Controller
110 Communication Bridge + Android Controller
111 I/O Controller

Controller Communication Table

Incoming Messages Outgoing Messages
Sl. No Message ID Message Description Message Data Message ID Message Description Message Data
Master
1 0x090 Heartbeat Response / Acknowledgement N/A N/A N/A N/A
2 0x116 Power On/Off Command On/Off byte N/A N/A N/A
3 0x117 Power On/Off Command On/Off Byte N/A N/A N/A
4 0x213 Front/Read Sensor Data Sensor Data N/A N/A N/A
5 0x294 Current Location & Direction of Car Location Co-ordinates, Orientation, Direction for Motor N/A N/A N/A
6 0x316 Next Checkpoint Co-ordinates of Next Location N/A N/A N/A
7 0x3D3 Other Sensor Data Light & Tilt Sensor Data N/A N/A N/A
8 0x411 Encoder Data Speed Sensor Data N/A N/A N/A
9 N/A N/A N/A 0x14A Motor Speed & Direction Motor Speed and Angle
10 N/A N/A N/A 0x372 Current Location of Car from GPS Location
11 N/A N/A N/A 0x3B2 Sensor Value and Status Sensor Readings
12 N/A N/A N/A 0x3BA Sensor Value and Status Sensor Readings
Motor
13 0x14A Motor Speed & Direction Motor Speed & Angle N/A N/A N/A
14 0x44A Subscription Message from Master N/A 0x411 Speed Sensor Data Speed Sensor Data
15 0x44B Subscription Message from I/O N/A 0x419 Motor Speed & Direction Motor Speed and Angle
16 0x44E Subscription Message from Android N/A 0x431 Motor Speed & Direction Motor Speed and Angle
Sensor
17 0x19A Subscription Message from Master for Front Sensor N/A 0x213 Sensor Data Front Sensor Data
18 0x1DA Subscription Message from Master for Rear Sensor N/A 0x213 Sensor Data Rear Sensor Data
GEO
19 0x322 Message to send Next Checkpoint N/A 0x316 Next Checkpoint Co-ordinates of Next Checkpoint
20 0x462 Subscription Message from Master N/A 0x294 Current Location & Direction Co-ordinates, Orientation & Direction
Communication Bridge + Android
21 0x2F2 Message to send intermediate checkpoints N/A 0x316 Next Checkpoint Co-ordinates of Next Checkpoint
22 0x372 Current Location of car from GPS Co-ordinates of Current Location N/A N/A N/A
23 0x3B2 Sensor Value & Status Sensor Reading & Status of each Module N/A N/A N/A
I/O
24 0x3BA Sensor Value & Status Sensor Reading & Status of each Module N/A N/A N/A

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/