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

From Embedded Systems Learning Academy
Jump to: navigation, search
(Schedule)
(Schedule)
Line 252: Line 252:
 
| 16-Sep-2014
 
| 16-Sep-2014
 
| 23-Sep-2014
 
| 23-Sep-2014
| Test bluetooth module using computer serial port and android phone(simple bluetooth terminal app downloaded from google play).  Test the real life range and stability of the bluetooth module.  Modify the bluetooth chat example to work with the bluetooth module.     
+
| Test bluetooth module using computer serial port and an android app(simple bluetooth terminal app downloaded from google play).  Test the real life range and stability of the bluetooth module (HC-06).  Modify the bluetooth chat example to work with the bluetooth module.     
 
| Done
 
| Done
 
| 20-Sep-2014
 
| 20-Sep-2014
Line 261: Line 261:
 
| Draw UI design layout for a basic android application that can view map as well as send GPS data through bluetooth by clicking on the map. Study google maps API and make a simple app that will post a short toast that shows the GPS location after a long press event.  
 
| Draw UI design layout for a basic android application that can view map as well as send GPS data through bluetooth by clicking on the map. Study google maps API and make a simple app that will post a short toast that shows the GPS location after a long press event.  
 
| Done
 
| Done
| 25-Oct-2014
+
| 19-Oct-2014
 
|-
 
|-
 
! scope="row"| 3
 
! scope="row"| 3

Revision as of 21:38, 26 October 2014

Self Driving Car

Fig 2. Build in Progress

Abstract

Objective and Scope

Team Members & Responsibilities

  1. Sensor Controller (2 Members) - [Bailey Wu, Rishabh Sareen]
  2. Motor Controller (2 Members) - [Abraham Ruiz, Sree Harsha, Arpit Amin]
  3. I/O Unit (2 Members) - [Yoni Klein, Tejeswar]
  4. Communication Bridge + Android (3 Members) - [Shaw Ken Chang, Arnold Bajet Jr., Thomas Pantels]
  5. Geographical Controller (3 Members) - [Himanshu Saini, Divya Kamath, Sree Harsha]
  6. Master Controller (3 Members) - [Akash Ayare, Sree Harsha, Karthik Vadiraja]

Introduction

Schedule

Geographical Controller

Sl. No Start Date End Date Task Status Actual Completion Date
1 1-Oct-2014 14-Oct-2014 Order Components and Make a schedule Completed 14-Oct-2014
2 8-Oct-2014 14-Oct-2014 Decide commands that Geographical Controller will support Completed 14-Oct-2014
3 7-Oct-2014 14-Oct-2014 Complete CAN RX task and subscription handling. Verify communication with other controllers Completed 21-Oct-2014
4 14-Oct-2014 24-Oct-2014 Interface GPS module and Compass and develop drivers if needed GPS - In Progress
5 24-Oct-2014 30-Oct-2014 Design and develop algorithm to calculate heading and bearing from GPS coordinates In Progress
6 24-Oct-2014 5-Nov-2014 Work on calibration of compass
7 1-Nov-2014 10-Nov-2014 Test with the central and Bluetooth controller
8 10-Nov-2014 25-Nov-2014 Begin testing with fully assembled car


Sensor Controller

Sl. No Start Date End Date Task Status Actual Completion Date
1 10/3/2014 10/10/2014 Order ultrasonic sensor parts and develop simple test code for the sensors Done 10/10/2014
2 10/10/2014 10/17/2014 Wire the ultrasonic sensors, develop and implement the sensors using analog to digital converter Done 10/17/2014
3 10/17/2014 10/24/2014 Collaborate with the other sub teams to finish the CAN bus communication and allow the self driving car to drive autonomously Scheduled
4 10/24/2014 11/1/2014 Develop, implement and test the ultrasonic sensors using the pulse width modulation and universal asynchronous receiver/transmitter Scheduled
5 11/2/2014 11/9/2014 Develop, implement and test the front and back infrared sensors using analog to digital converter Scheduled
6 11/10/2014 11/17/2014 Develop, implement and test the current/voltage sensor for the battery packs of the self driving car using I2C Scheduled
7 11/18/2014 11/25/2014 Collaborate with the other sub teams to make sure that the sensors are in working condition Scheduled
8 11/26/2014 12/5/2014 Collaborate with the other sub teams to debug any problems that may encountered Scheduled
9 12/6/2014 12/13/2014 Prepare for Demo Scheduled


IO Controller

Sl. No Start Date End Date Task Status Actual Completion Date
1 10/7/2014 10/14/2014 Research and order LCD appropriate for this project Finished 10/11/2014
2 10/7/2014 10/17/2014 Implement CAN RX/Subscription task Finished 10/13/2014
3 10/7/2014 10/17/2014 Finalize Task Architecture In Progress
4 10/18/2014 10/21/2014 Interface and test LCD Finished 10/20/2014
5 10/21/2014 10/28/2014 Implement special button features
6 10/21/2014 10/28/2014 Implement auto scrolling feature
7 10/28/2014 11/4/2014 Design LCD UI with buttons


Communication Bridge + Android

Sl. No Start Date End Date Task Status Actual Completion Date
1 16-Sep-2014 23-Sep-2014 Test bluetooth module using computer serial port and an android app(simple bluetooth terminal app downloaded from google play). Test the real life range and stability of the bluetooth module (HC-06). Modify the bluetooth chat example to work with the bluetooth module. Done 20-Sep-2014
2 11-Oct-2014 12-Oct-2014 Draw UI design layout for a basic android application that can view map as well as send GPS data through bluetooth by clicking on the map. Study google maps API and make a simple app that will post a short toast that shows the GPS location after a long press event. Done 19-Oct-2014
3 28-Sep-2014 19-Oct-2014 Integrate Google Maps and Bluetooth component together in Android app. After a long press on the map, the user should be prompted to start the car and set the location as the places the user selected. Add manual set location edit text boxes to set manual location without pressing on the map. Add a button for stoping and a button for starting the car. In Progress (was able to work as separate app but having issue combinging them.)
4 7-Oct-2014 19-Oct-2014 Interface bluetooth module with SJSUOne board and able to verify that the connection is stable and that transaction via the bluetooth is accurate. This is done by adding a test button where if you press the button it send a command to the board. After receiving the command, the board should respond with a response (LED light and/or text response to the android phone) Done 19-Oct-2014
5 11-Oct-2014 19-Oct-2014 CAN infrastructure implmentation: Use the teams common CAN infrasturcture code and modify it specifically for our controller. First created In Progress (created the CAN communication table and discussed with other controller teams about how our data should be transmitted and received. Added the common CAN infrastructure code and still in the process of modifying and testing the CAN code.)
6 20-Oct-2014 1-Nov-2014 Test and add car information reading as well as other functions of Android app
7 2-Nov-2014 4-Nov-2014 Iterate UI design
8 5-Nov-2014 16-Nov-2014 Implement 2nd UI design


Motor Controller

Sl. No Start Date End Date Task Status Actual Completion Date
1 10/1/2014 10/8/2014 PWM1 and PWM2 interface with the car servo and motor. Write a test code to operate the servo and motor from the terminal command. Finish 10/11/2014
2 10/9/2014 10/18/2014 Design and code CAN receive task for subscription. Check for basic CAN message commands for throttle and steer control. In Progress
3 10/19/2014 10/28/2014 Design the CAN message table for motor control and servo control In Progress
4 10/29/2014 11/07/2014 Design acceleration Vs steer control function for smooth run. Check for other factors involved. Planned
5 11/08/2014 11/14/2014 Research on RPM sensor. Interface the RPM sensor to calculate the Speed. Test the RPM sensor by running the car at different speed Planned
6 11/15/2014 11/21/2014 Fine tune motor control code and integrate with all the controllers for proper working. Planned
7 11/22/2014 11/28/2014 Test and check if more features can be added to improve performance. Planned
8 11/29/2014 12/05/2014 Final Testing and Debugging before the Demo day Planned

Central Controller

Sl. No Start Date End Date Task Status Actual Completion Date
1 16-Sep-2014 23-Sep-2014 Develop API for CAN bus communication. Done 23-Sep-2014
2 11-Oct-2014 15-Oct-2014 Develop communication table for all controllers. In Progress
3 15-Oct-2014 20-Oct-2014 Broadcast message and target message setup. In Progress
4 21-Oct-2014 28-Oct-2014 Co-ordinate all controllers and take major decisions. Planned
5 28-Oct-2014 11-Nov-2014 Complete Building and fine-tuning of RC car. Planned
6 21-Oct-2014 11-Nov-2014 Develop coordination mechanism to ensure controllers are initialized and ready In Progress
7 21-Oct-2014 28-Oct-2014 Develop kill switch In Progress
8 14-Oct-2014 21-Oct-2014 Build external power distribution circuit Done 21-Oct-2014
9 28-Oct-2014 04-Nov-2014 Coordination algorithm between steering and throttle for smooth turns Planned
10 04-Nov-2014 11-Nov-2014 Collision avoidance and cliff detection algorithms Planned
11 04-Nov-2014 11-Nov-2014 Intermediate unit and functional tests Planned
12 21-Oct-2014 4-Nov-2014 Initialize all boards with GPS-time Planned
13 11-Nov-2014 25-Nov-2014 Functional tests and algorithm adjustments Planned
14 25-Nov-2014 02-Dec-2014 Fine tuning and stretch goals (headlights, parallel parking, etc.) Planned
15 02-Dec-2014 09-Dec-2014 Prepare for demo Planned

Parts List & Cost

Qty Description Manufacturer Part Number Total Cost

Backup Parts & cost

Qty Description Manufacturer Part Number Total Cost

Design & Implementation

Controller Communication Table

Controller ID Table
Controller ID Controller
0x01 Master Controller
0x02 Geographical Controller
0x03 Motor Controller
0x04 Sensor Controller
0x05 IO Controller
0x06 Communication (Bluetooth Bridge/Android App) Controller
Communication (Bluetooth Bridge/Android App) Controller Communication Table
Sl. No Message Number Purpose Data layout
1 0x401 Broadcast Start command
2 0x402 Broadcast Stop command
3 0x403 Broadcast GPS destination set by Android byte [0-3] : (float), Longitude byte [4-7] : (float) Latitude

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/