Difference between revisions of "F14: Team3-Self Driving Car"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Team Members & Responsibilities)
(Controller Communication Table)
 
(120 intermediate revisions by 2 users not shown)
Line 18: Line 18:
  
 
=== Team Members & Responsibilities ===
 
=== Team Members & Responsibilities ===
*  Team 1: Deepak Yadav & Vinod Pangul  
+
*  Sensor Controller
*Sensor Controller
+
**  Team 1: Deepak Yadav & Vinod Pangul  
*  Team 2: Naghma Anwar & Shiva Moballegh
+
Motor Controller
*Motor Controller
+
**  Team 2: Naghma Anwar & Shiva Moballegh
*  Team 3: Shreeram Gopalakrishnan & Sreeharsha Paturu Gangadhara
+
I/O Unit
*I/O Unit
+
**  Team 3: Shreeram Gopalakrishnan & Sreeharsha Paturu Gangadhara
*  Team 4: Johnny Yam, Kevin Beadle & Chia Pin Tseng
+
Communication Bridge & Android
*Communication Bridge & Android
+
**  Team 4: Johnny Yam, Kevin Beadle & Chia Pin Tseng
*  Team 5: Bhushan Gopala Reddy, Ryan Marlin & Rishikesh Nagare
+
Geographical Controller
*Geographical Controller
+
**  Team 5: Bhushan Gopala Reddy, Ryan Marlin & Rishikesh Nagare
*  Team 6: Shashank Tupkar, Bhargava Leepeng Chandra & Preeti Benake
+
Master Controller
**  Master Controller
+
**  Team 6: Shashank Tupkar, Bhargava Leepeng Chandra & Preeti Benake
  
 
== Schedule ==
 
== Schedule ==
Line 54: Line 54:
 
|  
 
|  
 
| Order Other parts(Sensor/LCD/Motor Controller...)
 
| Order Other parts(Sensor/LCD/Motor Controller...)
| Ongoing
+
| Completed
 
|
 
|
 
|-
 
|-
 
! scope="row"| 3
 
! scope="row"| 3
| 10/06/2014
+
| 9/30/2014
| 11/15/2014
+
| 11/25/2014
| Sensor Team task  
+
| Master Controller Team task  
 
| Ongoing
 
| Ongoing
 
|
 
|
 
|-
 
|-
 
! scope="row"| 4
 
! scope="row"| 4
|  
+
| 10/06/2014
|  
+
| 11/15/2014
| Motor Controller Team task  
+
| Sensor Team task  
| Ongoing
+
|Completed
 
|
 
|
 
|-
 
|-
Line 74: Line 74:
 
|  
 
|  
 
|  
 
|  
| I/O Team task  
+
| Motor Controller Team task  
 
| Ongoing
 
| Ongoing
 
|
 
|
Line 81: Line 81:
 
|  
 
|  
 
|  
 
|  
| Communication Bridge + Android Team task  
+
| Geographical Controller Team task  
 
| Ongoing
 
| Ongoing
 
|
 
|
Line 88: Line 88:
 
|  
 
|  
 
|  
 
|  
| Geographical Controller Team task  
+
| I/O Team task  
 
| Ongoing
 
| Ongoing
 
|
 
|
Line 95: Line 95:
 
|  
 
|  
 
|  
 
|  
| Master Controller Team task  
+
| Communication Bridge + Android Team task  
 
| Ongoing
 
| Ongoing
 
|
 
|
Line 121: Line 121:
 
|}
 
|}
  
== Sensor Team Schedule==
+
 
 +
 
 +
'''Master Controller Team Schedule'''
 +
 
 +
{| class="wikitable"
 +
|-
 +
! scope="col"| Week No.
 +
! scope="col"| Start Date
 +
! scope="col"| Planned End Date
 +
! scope="col"| Task
 +
! scope="col"| Status
 +
! scope="col"| Actual End Date
 +
|-
 +
! scope="row"| 1
 +
| 9/30/2014
 +
| 10/7/2014
 +
|
 +
* Implement Basic CAN Hardware to communicate between 2 Controllers
 +
|
 +
* Completed
 +
: We are able to send a message from Tx over CAN and perform a specific operation at the Rx.
 +
| 10/7/2014
 +
|-
 +
! scope="row"| 2
 +
| 10/7/2014
 +
| 10/14/2014
 +
|
 +
* Design CAN Acceptance Filter among different Controllers
 +
* Define and Implement CAN Frame structure for proper communication
 +
  establishment
 +
|
 +
* Completed
 +
: Only messages with in range of acceptance filter are received, Decided on CAN frame structure using 11-bit frame.
 +
| 10/11/2014
 +
|-
 +
! scope="row"| 3
 +
| 10/14/2014
 +
| 10/21/2014
 +
|
 +
* Develop Inter-Controller Communication over CAN
 +
* Test point-to-point and Broadcast message transmission
 +
* Implement a Counter to count and display number of messages
 +
|
 +
* Completed
 +
: CAN Communication among multiple boards achieved, Point-to-Point & Broadcast modes are working, Able to display the count on 7-Seg Display on SJOne board.
 +
| 10/19/2014
 +
|-
 +
! scope="row"| 4
 +
| 10/21/2014
 +
| 10/28/2014
 +
|
 +
* Layout blueprint for Controller and Module positioning
 +
* Assemble the RC Car with all the controllers and Modules
 +
* Define the Message List by working with other teams
 +
* Start working on CAN Periodic message structure
 +
|
 +
* Completed
 +
: RC car design and module assembly is completed. Need some fine tuning for connections. Message list is generated and periodic message implementation started.
 +
| 10/28/2014
 +
|-
 +
! scope="row"| 5
 +
| 10/28/2014
 +
| 11/04/2014
 +
|
 +
* Complete CAN Periodic message structure to transmit Broadcast
 +
  messages over CAN and establish controlled communication among
 +
  different controllers
 +
* Implement Start condition detection and Fetch boot status from
 +
  all controllers and display the status of each controller
 +
|
 +
* Completed
 +
: Periodic Message Setup done. Able to receive boot status. Need to work on display of status.
 +
| 11/03/2014
 +
|-
 +
! scope="row"| 6
 +
| 11/04/2014
 +
| 11/11/2014
 +
|
 +
* Design 'Kill Switch' in co-ordination with Motor Controller team
 +
  and Bridge Controller team
 +
* Develop a 'CAN Bus Crash' detection and reset CAN Bus methodology
 +
* Design Automatic Head Light turn ON/OFF functionality by
 +
  working with Sensors Controller team
 +
|
 +
* Completed
 +
: Kill Switch implemented through Bridge controller. Head Lights implemented. LCD display of Status achieved.
 +
| 11/11/2014
 +
|-
 +
! scope="row"| 7
 +
| 11/11/2014
 +
| 11/18/2014
 +
|
 +
* Implement File Log saving to SD Card at periodic intervals
 +
* Work on Restoring to last known Status if the system crashes while running
 +
* Develop Detection technique if controllers are reaching 'Error State'
 +
|
 +
* Completed
 +
: File Log implemented. Error State is partially implemented. Obstacle detection achieved. Needed refinement in Direction control logic. Need to implement reverse logic.
 +
| 11/18/2014
 +
|-
 +
! scope="row"| 8
 +
| 11/18/2014
 +
| 11/25/2014
 +
|
 +
* Project Integration and testing Basic Self_Drive Capability of the Car
 +
* Check the Functionality and behavior of all controllers in all the known
 +
  contexts
 +
* Perform modifications (if any) to eliminate any bugs to make the car work
 +
  seamlessly
 +
* Final Integration of car and testing there after
 +
 
 +
|
 +
* Completed
 +
: Integration Started. Faced difficulty in synchronization.
 +
| 11/26/2014
 +
|-
 +
! scope="row"| 9
 +
| 11/25/2014
 +
| 12/02/2014
 +
|
 +
* Final Integration and testing Self_Drive Capability of the Car 
 +
|
 +
* Ongoing
 +
| --/--/----
 +
|}
 +
 
 +
 
 +
'''Sensor Team Schedule'''
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 135: Line 262:
 
| 10/18/2014
 
| 10/18/2014
 
| Order Ultra Sonic Sensors
 
| Order Ultra Sonic Sensors
| Got one sensor, 3 more to order
+
| Completed [Got two sensors (front and back), 2 more (front right & left) to order ->Completed.]
|
+
| 10/19/2014
 
|-
 
|-
 
! scope="row"| 2
 
! scope="row"| 2
Line 149: Line 276:
 
| 10/16/2104
 
| 10/16/2104
 
| Sensor code development
 
| Sensor code development
| Ongoing
+
| Completed (Implementing filter (HW/SW) to get more accurate data ->(Done). Add logic to get the rest of the three sensor(front right/left and back data)->(Done) (Note: Delayed due to the implementation of CAN structure and calibration of IR sensor)
|  
+
| 10/21/2014
 
|-
 
|-
 
! scope="row"| 4
 
! scope="row"| 4
| 10/17/2014
+
| 10/22/2014
| 10/18/2014
+
| 10/25/2014
 
| Sensor software testing
 
| Sensor software testing
 
| Ongoing
 
| Ongoing
Line 160: Line 287:
 
|-
 
|-
 
! scope="row"| 5
 
! scope="row"| 5
| 10/19/2014
+
| 10/25/2014
| 10/24/2014
+
| 10/28/2014
 
| Sensor real time testing
 
| Sensor real time testing
|  
+
| Ongoing
 
|
 
|
 
|-
 
|-
 
! scope="row"| 6
 
! scope="row"| 6
 
| 10/13/2014
 
| 10/13/2014
| 10/18/2014
+
| 10/15/2014
 
| Light sensor code Development
 
| Light sensor code Development
| Ongoing
+
| Completed
|
+
| 10/14/2014
 
|-
 
|-
 
! scope="row"| 7
 
! scope="row"| 7
 
| 10/13/2014
 
| 10/13/2014
| 10/18/2014
+
| 10/15/2014
 
| Accelerometer sensor code Development to detect tilt
 
| Accelerometer sensor code Development to detect tilt
| Ongoing
+
| Completed
|
+
| 10/14/2014
 
|-
 
|-
 
! scope="row"| 8
 
! scope="row"| 8
| 10/19/2014
+
| 10/15/2014
| 10/20/2014
+
| 10/15/2014
 
| Light Sensor and Accelerometer Testing
 
| Light Sensor and Accelerometer Testing
|
+
| Completed
|
+
| 10/15/2014
 
|-
 
|-
 
! scope="row"| 9
 
! scope="row"| 9
| 10/25/2014
+
| 10/29/2014
 
| 10/31/2014
 
| 10/31/2014
 
| Battery status controller circuit Design
 
| Battery status controller circuit Design
|
+
| Ongoing
 
|
 
|
 
|-
 
|-
Line 203: Line 330:
 
! scope="row"| 11
 
! scope="row"| 11
 
| 11/03/2014
 
| 11/03/2014
 +
| 11/04/2014
 +
| Common Communication SW code implementation and testing
 +
|
 +
|
 +
|-
 +
! scope="row"| 11
 +
| 11/04/2014
 
| 11/09/2014
 
| 11/09/2014
 
| Complete Hardware testing-1
 
| Complete Hardware testing-1
Line 216: Line 350:
 
|}
 
|}
  
== Geographical Team Schedule==
+
 
 +
'''Motor Controller Team Schedule'''
 +
 
 +
{| class="wikitable"
 +
|-
 +
! scope="col"| Week No.
 +
! scope="col"| Start Date
 +
! scope="col"| Planned End Date
 +
! scope="col"| Task
 +
! scope="col"| Status
 +
! scope="col"| Actual End Date
 +
|-
 +
! scope="row"| 1
 +
| 9/30/2014
 +
| 10/7/2014
 +
|
 +
* Study SJOne board's motor controller concepts and PWM
 +
|
 +
* Completed
 +
: Very simple code. Just two lines. Set the frequency. Set the duty cycle.
 +
| 10/7/2014
 +
|-
 +
! scope="row"| 2
 +
| 10/7/2014
 +
| 10/14/2014
 +
|
 +
* Open up RC Car's motor and servo connections
 +
* Study the Electronic Speed Control's functions
 +
|
 +
* Completed
 +
: Motor and Servo operate on the same frequency
 +
: ESC needs calibration each time it is switched on. Need to find a solution for this.
 +
| 10/11/2014
 +
|-
 +
! scope="row"| 3
 +
| 10/14/2014
 +
| 10/21/2014
 +
|
 +
* Define the duty cycles for proper motor and servo signals
 +
|
 +
* Completed
 +
: Using trial and run, figured out the duty cycle for constant speed and turns
 +
| 10/19/2014
 +
|-
 +
! scope="row"| 4
 +
| 10/21/2014
 +
| 10/28/2014
 +
|
 +
* Add CAN frame structure to the motor functions
 +
* Test for communication between motors and sensors for prototype demo
 +
* Define the Message List by working with other teams
 +
|
 +
* Ongoing
 +
| --/--/----
 +
|-
 +
! scope="row"| 5
 +
| 10/28/2014
 +
| 11/04/2014
 +
|
 +
* Start working on CAN Periodic message structure
 +
* Start looking for speed sensors
 +
|
 +
* Scheduled
 +
| --/--/----
 +
|-
 +
! scope="row"| 6
 +
| 11/04/2014
 +
| 11/11/2014
 +
|
 +
* Attach speed sensors to the motor
 +
* Test CAN communication between motor controller and other controllers
 +
|
 +
* Scheduled
 +
| --/--/----
 +
|-
 +
! scope="row"| 7
 +
| 11/11/2014
 +
| 11/18/2014
 +
|
 +
* Work on speed sensors. Figure out the way to send sensor data to master controller.
 +
* Test for proper and accurate CAN communication
 +
|
 +
* Scheduled
 +
| --/--/----
 +
|-
 +
! scope="row"| 8
 +
| 11/18/2014
 +
| 11/25/2014
 +
|
 +
* Project Integration and testing basic self drive capability of the car
 +
* Check the functionality and behavior of the motor controller in all the known
 +
  contexts
 +
* Perform modifications (if any) to eliminate any bugs to make the motor work
 +
  seamlessly
 +
* Final Integration of car and testing there after
 +
 
 +
|
 +
* Scheduled
 +
| --/--/----
 +
 
 +
|}
 +
 
 +
 
 +
'''Geographical Team Schedule'''
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 231: Line 468:
 
| 10/13/2014
 
| 10/13/2014
 
| Research and Order GPS module
 
| Research and Order GPS module
| Received LCD Display
+
| Received GPS module
 
| 10/7/2014
 
| 10/7/2014
 
|-
 
|-
Line 238: Line 475:
 
| 10/18/2014
 
| 10/18/2014
 
| Interface GPS module with LPC1758
 
| Interface GPS module with LPC1758
| Ongoing
+
| Finished
|
+
| 10/17/14
 
|-
 
|-
 
! scope="row"| 3
 
! scope="row"| 3
 +
| 10/14/2014
 +
| 10/18/2014
 +
| Receive Compass module from Preet
 +
| Received
 +
| 10/9/2014
 +
|-
 +
! scope="row"| 4
 
| 10/18/2014
 
| 10/18/2014
| 10/25/2014
+
| 11/4/2014
 
| Parse GPS data and setup constructs to send appropriate data
 
| Parse GPS data and setup constructs to send appropriate data
|  
+
| Ongoing
|
+
| |
 
|-
 
|-
! scope="row"| 4
+
! scope="row"| 5
 
| 10/14/2014
 
| 10/14/2014
 
| 10/18/2014
 
| 10/18/2014
| Receive Compass module from Preet and interface
+
| Interface the Compass Module
| Ongoing
+
| Finished
|
+
| 10/16/2014
 
|-
 
|-
! scope="row"| 5
+
! scope="row"| 6
 
| 10/25/2014
 
| 10/25/2014
| 11/9/2014
+
| 11/4/2014
| Testing and Mapping of GPS coordinates
+
| Calibration of Compass
 +
| Code completed. Need to test using the car
 +
| --/--/----
 +
|-
 +
! scope="row"| 7
 +
| 11/4/2014
 +
| 11/11/2014
 +
| Integrate GPS and Compass data
 +
| Ongoing
 
|  
 
|  
|
 
 
|-
 
|-
! scope="row"| 6
+
! scope="row"| 8
| 11/9/2014
+
| 10/25/2014
| 11/18/2014
+
| 11/09/2014
| Integrating and finish testing
+
| Testing and mapping of GPS co-ordinates
|  
+
| Ongoing
 
|
 
|
 
|-
 
|-
! scope="row"| 7
+
! scope="row"| 9
 
| 11/18/2014
 
| 11/18/2014
 
| 11/25/2014
 
| 11/25/2014
| Testing
+
| Final integration and testing
 +
|
 
|  
 
|  
|
 
 
|}
 
|}
  
== IO Team Schedule==
+
'''IO Team Schedule'''
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 299: Line 550:
 
| 10/21/2014
 
| 10/21/2014
 
| Interfacing LCD Display with LPC1758
 
| Interfacing LCD Display with LPC1758
|  
+
| Completed
|
+
| 10/21/2014
 
|-
 
|-
 
! scope="row"| 3
 
! scope="row"| 3
 +
| 10/21/2014
 
| 10/28/2014
 
| 10/28/2014
| 11/04/2014
+
| Implementing CAN structure with LCD tasks.
| Set-Up dedicated buttons for Start, Stop etc...
+
| Completed
|  
+
| 11/30/2014
|
 
 
|-
 
|-
 
! scope="row"| 4
 
! scope="row"| 4
| 10/21/2014
 
 
| 10/28/2014
 
| 10/28/2014
| Communication with other controllers
+
| 11/04/2014
|  
+
| Subscribe data from motor, sensor and GPS controller,display it on LCD.
 +
| Ongoing
 
|
 
|
 
|-
 
|-
Line 319: Line 570:
 
| 11/04/2014
 
| 11/04/2014
 
| 11/11/2014
 
| 11/11/2014
| Testing
+
| Setup hardware and write code for START, STOP and Headlight buttons.
|  
+
| TBD
 
|
 
|
 
|-
 
|-
Line 326: Line 577:
 
| 11/11/2014
 
| 11/11/2014
 
| 11/18/2014
 
| 11/18/2014
| Testing
+
| Testing and mounting hardware on car.
|  
+
| TBD
 
|
 
|
 
|-
 
|-
Line 333: Line 584:
 
| 11/18/2014
 
| 11/18/2014
 
| 11/25/2014
 
| 11/25/2014
| Testing
+
| Final Testing
|  
+
| TBD
 
|
 
|
 
|}
 
|}
  
== Motor Team Schedule==
+
 
 +
'''Communication Bridge & Android Team Schedule'''
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! scope="col"| Week No.
+
! scope="col"| Sl.No
 
! scope="col"| Start Date
 
! scope="col"| Start Date
 
! scope="col"| Planned End Date
 
! scope="col"| Planned End Date
Line 351: Line 603:
 
! scope="row"| 1
 
! scope="row"| 1
 
| 9/30/2014
 
| 9/30/2014
| 10/7/2014
+
| 9/30/2014
| Study about the R/C Car's motor specifications
+
| Obtain Bluetooth Module (already had one)
 
| Done
 
| Done
| 10/7/2014
+
| 9/30/2014
 
|-
 
|-
 
! scope="row"| 2
 
! scope="row"| 2
 +
| 9/30/2014
 +
| 10/14/2014
 +
| Develop Basic Android App with Bluetooth Sensor Communication
 +
| Done
 
| 10/7/2014
 
| 10/7/2014
 +
|-
 +
! scope="row"| 3
 +
| 10/11/2014
 
| 10/14/2014
 
| 10/14/2014
| Study motor controller concepts. Do the PWM interface
+
| Interface Bluetooth Module with SJSU Dev Board
| In progress
+
| Done
| TBD
+
| 10/11/2014
 
|-
 
|-
! scope="row"| 3
+
! scope="row"| 4
 +
| 10/12/2014
 +
| 10/19/2014
 +
| Be able to send bi-directional arbitrary messages between Android App and Dev Board via Bluetooth
 +
| Done
 
| 10/14/2014
 
| 10/14/2014
| 10/21/2014
 
| Set up communication with other controllers
 
| Scheduled
 
| TBD
 
 
|-
 
|-
 
! scope="row"| 5
 
! scope="row"| 5
| 10/21/2014
+
| 10/14/2014
| 10/28/2014
+
| 11/21/2014
| TBD
+
| Subscribe to all CAN messages and dump all of them via Bluetooth to Android App or web interface
| TBD
+
| Done
| TBD
+
| 11/24/2014
 
|-
 
|-
 
! scope="row"| 6
 
! scope="row"| 6
| 10/28/2014
+
| 10/14/2014
| 11/4/2014
+
| 11/21/2014
| TBD
+
| Ajax & Websocket server remote structure
| TBD
+
| Done
| TBD
+
| 11/01/2014
 
|-
 
|-
 
! scope="row"| 7
 
! scope="row"| 7
| 11/4/2014
+
| 10/14/2014
| 11/11/2014
+
| 11/21/2014
| TBD
+
| Be able to input GPS coordinates through either (or both) Android App and web interface and send through Bluetooth then CAN bus
| TBD
+
| Done
| TBD
+
| 11/24/2014
 
|-
 
|-
 
! scope="row"| 8
 
! scope="row"| 8
| 11/11/2014
+
| 10/21/2014
| 11/18/2014
+
| 11/24/2014
| TBD
+
| Android App and webpage GUI enhancements (Google Maps, Google Drive)
| TBD
+
| Done
 +
| 11/24/2014
 +
|-
 +
! scope="row"| 9
 +
| 10/21/2014
 +
| 11/30/2014
 +
| Data visualization (status, compass, speed, location,....)
 +
| On going
 
| TBD
 
| TBD
 
|}
 
|}
Line 414: Line 680:
 
| Traxxas 37076 Rustler VXL
 
| Traxxas 37076 Rustler VXL
 
| 1
 
| 1
| $$$.$$
+
| $380.57
 
|-
 
|-
 
! scope="row"| 2
 
! scope="row"| 2
| Sonar sensor
+
| CAN Transceiver
| maxbotix (Free-given by Preet)
+
| Anchor & HSC
| LV-MaxSonar-EZ1 MB1010
+
|
 +
| 15
 +
| $75.00
 +
|-
 +
! scope="row"| 3
 +
| Assembly Components
 +
| Amazon & Anchor
 +
| PCBs, Mechnical & Electical Components
 +
| NA
 +
| $90.13
 +
|-
 +
! scope="row"| 4
 +
| Power Supply
 +
| Pololu
 +
| 6V Battery, 5V Regulator
 
| 1
 
| 1
| Free
+
| $34.85
 
|-
 
|-
! scope="row"| 3
+
! scope="row"| 5
 
| LCD Display
 
| LCD Display
 
| New Haven
 
| New Haven
Line 429: Line 709:
 
| 1
 
| 1
 
| $$$.$$
 
| $$$.$$
 +
|-
 +
! scope="row"| 6
 +
| Sonar sensor
 +
| Maxbotix
 +
| LV-MaxSonar-EZ1 MB1010
 +
| 2
 +
| $66.55
 +
|-
 +
! scope="row"| 7
 +
| Sonar sensor
 +
| Given by Preet
 +
| LV-MaxSonar-EZ1 MB1010
 +
| 1
 +
| Free
 +
|-
 +
! scope="row"| 8
 +
| IR sensor
 +
| Given by Preet
 +
| Sharp-GP2Y0A21YK
 +
| 1
 +
| Free
 +
|-
 +
! scope="row"| 9
 +
| Compass Module
 +
| Given by Preet
 +
| HoneyWell: HMC 6352
 +
| 1
 +
| Free
 
|-
 
|-
 
! scope="row"|  
 
! scope="row"|  
Line 440: Line 748:
  
 
== Design & Implementation ==
 
== Design & Implementation ==
 +
=== Controller Communication Table ===
 +
 +
{| class="wikitable"
 +
|+ Controllers
 +
|-
 +
| Controller ID
 +
| Controller Type
 +
|-
 +
| 0x01
 +
| Master Controller
 +
|-
 +
| 0x02
 +
| Motor Controller
 +
|-
 +
| 0x03
 +
| Sensor Controller
 +
|-
 +
| 0x04
 +
| Geographical Controller
 +
|-
 +
| 0x05
 +
| IO Controller
 +
|-
 +
| 0x06
 +
| Bridge Controller
 +
|}
 +
 +
{| class="wikitable"
 +
|+ Common Communication Table
 +
|-
 +
| Message Number
 +
| Purpose / Data layout
 +
|-
 +
| 0x101
 +
| Get version and boot info
 +
|-
 +
| 0x102
 +
| Get general info
 +
|-
 +
| 0x103
 +
| Synchronize (set) time:
 +
byte [0-3] : System time
 +
|-
 +
| 0x201
 +
|
 +
byte [0-3] : Version Info
 +
byte [4-7] : boot timestamp
 +
|-
 +
| 0x202
 +
|
 +
byte [0-3] : Current time
 +
byte [4]  : CPU usage %
 +
|}
 +
 +
{| class="wikitable"
 +
|+ Subscription Rate Info
 +
|-
 +
| Byte 0
 +
| Effect
 +
|-
 +
| 0
 +
| Off
 +
|-
 +
| 1
 +
| 1Hz
 +
|-
 +
| 5
 +
| 5Hz
 +
|-
 +
| 10
 +
| 10Hz
 +
|-
 +
| 20
 +
| 20Hz
 +
|-
 +
| 50
 +
| 50Hz
 +
|-
 +
| Any other value
 +
| Invalid date rate
 +
|}
 +
 +
 +
{| class="wikitable"
 +
|+ Master Controller Communication Table
 +
|-
 +
| Message Number
 +
| Purpose
 +
| Data Byte Pattern
 +
|-
 +
| 0x101
 +
| Request each Controller Boot Status
 +
|
 +
Byte[0]: Request command for Boot Info.
 +
|
 +
|-
 +
| 0x102
 +
| Request each Controller version info.
 +
|
 +
Byte[0]: Request command for Version Info.
 +
|
 +
|-
 +
| 0x103
 +
| Request GPS Controller for Satellite Time
 +
|
 +
Byte[0]: Request command for Time
 +
|
 +
|-
 +
| 0x104
 +
| Set Time on each Controller received from Satellite
 +
|
 +
Byte[0-3]: Time in HH:MM:SS
 +
|
 +
|-
 +
| 0x201
 +
| Receives Boot status from each Controller
 +
|
 +
Byte[0]: Boot Status Info.
 +
|
 +
|-
 +
| 0x202
 +
| Receives Version info. from each Controller
 +
|
 +
Byte[0-3]: Controller Version Info.
 +
|
 +
|-
 +
| 0x203
 +
| Receives the Time from GPS Controller
 +
|
 +
Byte[0-3]: Time in HH:MM:SS
 +
|
 +
|-
 +
| 0x301
 +
| Request destination co-ordinates from Communication_Bridge
 +
|
 +
Byte[0-7]: Displays "Waiting for Destination Location Input"
 +
|
 +
|-
 +
| 0x302
 +
| Set the destination GPS co-ordinates to GPS_Controller
 +
|
 +
Byte[0-3]: Latitude Co-ordinate
 +
Byte[4-7]: Longitude Co-ordinate
 +
|
 +
|-
 +
| 0x500
 +
| Display Boot Status on LCD
 +
|
 +
Byte[0]: Boot Status Response
 +
|
 +
|-
 +
| 0x501
 +
| Display Version Info. on LCD
 +
|
 +
Byte[0]: Version Info.
 +
|
 +
|-
 +
| 0x502
 +
| Display Controller Time on LCD
 +
|
 +
Byte[0-2]: Time in HH:MM:SS
 +
|
 +
|-
 +
| 0x503
 +
| Direction n Speed Control
 +
|
 +
Byte[0]: START/STOP/RIGHT/LEFT command
 +
|
 +
|-
 +
| 0x504
 +
| Display Motor speed on LCD
 +
|
 +
Byte[0]: Speed Value
 +
|
 +
|-
 +
| 0x505
 +
| Display Dist. to Destination and Heading Direction on LCD
 +
|
 +
Byte[0]: Distance to Destination
 +
Byte[1]: Heading Direction
 +
|
 +
|-
 +
|0x506
 +
|Display Sensor Values on LCD
 +
|
 +
Byte [0]: Front sensor value in inches
 +
Byte [1]: Front Left sensor value in inches
 +
Byte [2]: Front Right sensor value in inches
 +
Byte [3]: Back sensor value in inches
 +
|
 +
|-
 +
|0x507
 +
|Display Battery Status & Light Sensor Value on LCD
 +
|
 +
Byte[0]: Battery Status Value
 +
Byte[1]: Light Sensor Value
 +
|
 +
|-
 +
|}
 +
 +
{| class="wikitable"
 +
|+ Motor Controller Communication Table
 +
|-
 +
| Message Number
 +
| Purpose
 +
| Data layout
 +
|-
 +
| 0x508
 +
| Speed Sensor Data
 +
|
 +
byte [0] : Speed sensor value in rpm
 +
|-
 +
| 0x509
 +
| Vehicle Direction/Movement Data
 +
|
 +
byte [0] : Movement Control
 +
      0x1 : Forward
 +
      0x2 : Reverse
 +
      0x3 : Stop
 +
byte [1] : Steering Control
 +
      0x1 : Left
 +
      0x2 : Right
 +
      0x3 : Straight
 +
|-
 +
|}
 +
 +
{| class="wikitable"
 +
|+ Sensor Controller Communication Table
 +
|-
 +
| Message Number
 +
| Purpose
 +
| Data layout
 +
|-
 +
| 0x510
 +
| Front/Back Range Sensor Data
 +
|
 +
byte [0] : Front sensor value in inches
 +
byte [1] : Front Left sensor value in inches
 +
byte [2] : Front Right sensor value in inches
 +
byte [3] : Back sensor value in inches
 +
|-
 +
| 0x511
 +
| Light, Accelerometer and Battery Sensor Data
 +
|
 +
byte [0] : Light sensor value
 +
byte [1] : X axis Value
 +
byte [2] : Y axis Value
 +
byte [3] : Z axis Value
 +
byte [4] : Battery status value
 +
|-
 +
|}
 +
 +
{| class="wikitable"
 +
|+ GPS Controller Communication Table
 +
|-
 +
| Message Number
 +
| Purpose
 +
| Data layout
 +
|-
 +
| 0x518
 +
| Set GPS Location
 +
 +
  byte [0 - 3] : Latitude - Float
 +
  byte [3 - 7] : Longitude - Float
 +
|-
 +
|}
 +
 +
{| class="wikitable"
 +
|+ IO Communication Table
 +
|-
 +
| Message Number
 +
| Purpose
 +
| Data layout
 +
|-
 +
| 0x520
 +
| Subscribe to Sensor data
 +
| bytes [0-5] : Sensor Value in Inches
 +
|-
 +
| 0x521
 +
| Subscribe to Motor data
 +
| bytes [0-2] : Vehicle Direction
 +
|-
 +
| 0x522
 +
| Subscribe to Compass Data
 +
| bytes [0] : Compass Data in degrees
 +
|-
 +
| 0x523
 +
| Subscribe to Battery Status
 +
| bytes [0] : Battery Status Value
 +
|-
 +
|}
 +
 +
{| class="wikitable"
 +
|+ Communication Bridge Communication Table
 +
|-
 +
| Message Number
 +
| Purpose
 +
| Data layout
 +
|-
 +
| 0x528
 +
| Set Car Speed (Kill Switch) - temporary allow for other non-zero value for demo
 +
| byte[0] - speed value
 +
|-
 +
| 0x529
 +
| Destination GPS location
 +
|
 +
bytes [0-3] : latitude (float)
 +
bytes [4-7] : longitude (float)
 +
|-
 +
| 0x52A
 +
| Turn to degree
 +
|
 +
bytes [0-3] : degree(float)
 +
|-
 +
| 0x52B
 +
| Way points longitude
 +
|
 +
bytes [0-1] :total waypoints count
 +
bytes [2-3] :waypoint index
 +
bytes [4-7] : longitude(float)
 +
|-
 +
| 0x52C
 +
| Way points latitude
 +
|
 +
bytes [0-1] :total waypoints count
 +
bytes [2-3] :waypoint index
 +
bytes [4-7] : latitude(float)
 +
|-
 +
| 0x52D
 +
| remote status (ie. Android connection status)
 +
|
 +
bytes [0]=>
 +
0:disconnected(passive send)
 +
1:on disconnect(active)
 +
2:connected(passive)
 +
3:on connect(active)
 +
0xFF:error(active/passive)
 +
|-
 +
|}
  
 
=== Hardware Design ===
 
=== Hardware Design ===
Line 462: Line 1,109:
  
 
=== References Used ===
 
=== References Used ===
 +
http://www.socialledge.com/sjsu/index.php?title=Self-driving_Car
 +
 +
http://www.nxp.com/documents/user_manual/UM10360.pdf
 +
 +
http://www.socialledge.com/sjsu/images/d/de/2012SJOneBoardSchematic.pdf
 +
 
http://www.maxbotix.com/documents/MB1010_Datasheet.pdf
 
http://www.maxbotix.com/documents/MB1010_Datasheet.pdf
 +
 +
http://www.sharpsma.com/webfm_send/1208
 +
 +
https://www.sparkfun.com/datasheets/Components/HMC6352.pdf
  
 
=== Appendix ===
 
=== Appendix ===

Latest revision as of 12:35, 2 December 2014

Grading Criteria

  • How well is Software & Hardware Design described?
  • How well can this report be used to reproduce this project?
  • Code Quality
  • Overall Report Quality:
    • Software Block Diagrams
    • Hardware Block Diagrams
      Schematic Quality
    • Quality of technical challenges and solutions adopted.

Self Driving Car

Abstract

Objectives & Introduction

Team Members & Responsibilities

  • Sensor Controller
    • Team 1: Deepak Yadav & Vinod Pangul
  • Motor Controller
    • Team 2: Naghma Anwar & Shiva Moballegh
  • I/O Unit
    • Team 3: Shreeram Gopalakrishnan & Sreeharsha Paturu Gangadhara
  • Communication Bridge & Android
    • Team 4: Johnny Yam, Kevin Beadle & Chia Pin Tseng
  • Geographical Controller
    • Team 5: Bhushan Gopala Reddy, Ryan Marlin & Rishikesh Nagare
  • Master Controller
    • Team 6: Shashank Tupkar, Bhargava Leepeng Chandra & Preeti Benake

Schedule

Team Schedule

Sl.No Start Date End Date Task Status Actual Completion Date
1 Order RC Car Completed on time
2 Order Other parts(Sensor/LCD/Motor Controller...) Completed
3 9/30/2014 11/25/2014 Master Controller Team task Ongoing
4 10/06/2014 11/15/2014 Sensor Team task Completed
5 Motor Controller Team task Ongoing
6 Geographical Controller Team task Ongoing
7 I/O Team task Ongoing
8 Communication Bridge + Android Team task Ongoing
9 Complete project integration  ???
10 Testing-1  ???
11 Testing-2  ???


Master Controller Team Schedule

Week No. Start Date Planned End Date Task Status Actual End Date
1 9/30/2014 10/7/2014
* Implement Basic CAN Hardware to communicate between 2 Controllers
  • Completed
We are able to send a message from Tx over CAN and perform a specific operation at the Rx.
10/7/2014
2 10/7/2014 10/14/2014
* Design CAN Acceptance Filter among different Controllers
* Define and Implement CAN Frame structure for proper communication
  establishment
  • Completed
Only messages with in range of acceptance filter are received, Decided on CAN frame structure using 11-bit frame.
10/11/2014
3 10/14/2014 10/21/2014
* Develop Inter-Controller Communication over CAN
* Test point-to-point and Broadcast message transmission
* Implement a Counter to count and display number of messages 
  • Completed
CAN Communication among multiple boards achieved, Point-to-Point & Broadcast modes are working, Able to display the count on 7-Seg Display on SJOne board.
10/19/2014
4 10/21/2014 10/28/2014
* Layout blueprint for Controller and Module positioning 
* Assemble the RC Car with all the controllers and Modules
* Define the Message List by working with other teams
* Start working on CAN Periodic message structure
  • Completed
RC car design and module assembly is completed. Need some fine tuning for connections. Message list is generated and periodic message implementation started.
10/28/2014
5 10/28/2014 11/04/2014
* Complete CAN Periodic message structure to transmit Broadcast
  messages over CAN and establish controlled communication among
  different controllers 
* Implement Start condition detection and Fetch boot status from
  all controllers and display the status of each controller
  • Completed
Periodic Message Setup done. Able to receive boot status. Need to work on display of status.
11/03/2014
6 11/04/2014 11/11/2014
* Design 'Kill Switch' in co-ordination with Motor Controller team
  and Bridge Controller team
* Develop a 'CAN Bus Crash' detection and reset CAN Bus methodology
* Design Automatic Head Light turn ON/OFF functionality by
  working with Sensors Controller team
  • Completed
Kill Switch implemented through Bridge controller. Head Lights implemented. LCD display of Status achieved.
11/11/2014
7 11/11/2014 11/18/2014
* Implement File Log saving to SD Card at periodic intervals
* Work on Restoring to last known Status if the system crashes while running
* Develop Detection technique if controllers are reaching 'Error State' 
  • Completed
File Log implemented. Error State is partially implemented. Obstacle detection achieved. Needed refinement in Direction control logic. Need to implement reverse logic.
11/18/2014
8 11/18/2014 11/25/2014
* Project Integration and testing Basic Self_Drive Capability of the Car
* Check the Functionality and behavior of all controllers in all the known 
  contexts
* Perform modifications (if any) to eliminate any bugs to make the car work
  seamlessly
* Final Integration of car and testing there after
  
  • Completed
Integration Started. Faced difficulty in synchronization.
11/26/2014
9 11/25/2014 12/02/2014
* Final Integration and testing Self_Drive Capability of the Car   
  • Ongoing
--/--/----


Sensor Team Schedule

Sl.No Start Date End Date Task Status Actual Completion Date
1 10/6/2014 10/18/2014 Order Ultra Sonic Sensors Completed [Got two sensors (front and back), 2 more (front right & left) to order ->Completed.] 10/19/2014
2 10/9/2014 10/9/2014 Sensor Data Sheet review with the team Completed 10/9/2014
3 10/9/2014 10/16/2104 Sensor code development Completed (Implementing filter (HW/SW) to get more accurate data ->(Done). Add logic to get the rest of the three sensor(front right/left and back data)->(Done) (Note: Delayed due to the implementation of CAN structure and calibration of IR sensor) 10/21/2014
4 10/22/2014 10/25/2014 Sensor software testing Ongoing
5 10/25/2014 10/28/2014 Sensor real time testing Ongoing
6 10/13/2014 10/15/2014 Light sensor code Development Completed 10/14/2014
7 10/13/2014 10/15/2014 Accelerometer sensor code Development to detect tilt Completed 10/14/2014
8 10/15/2014 10/15/2014 Light Sensor and Accelerometer Testing Completed 10/15/2014
9 10/29/2014 10/31/2014 Battery status controller circuit Design Ongoing
10 11/01/2014 11/02/2014 Battery status-circuit Testing
11 11/03/2014 11/04/2014 Common Communication SW code implementation and testing
11 11/04/2014 11/09/2014 Complete Hardware testing-1
12 11/10/2014 11/15/2014 Complete Hardware testing-2


Motor Controller Team Schedule

Week No. Start Date Planned End Date Task Status Actual End Date
1 9/30/2014 10/7/2014
* Study SJOne board's motor controller concepts and PWM
  • Completed
Very simple code. Just two lines. Set the frequency. Set the duty cycle.
10/7/2014
2 10/7/2014 10/14/2014
* Open up RC Car's motor and servo connections 
* Study the Electronic Speed Control's functions
  • Completed
Motor and Servo operate on the same frequency
ESC needs calibration each time it is switched on. Need to find a solution for this.
10/11/2014
3 10/14/2014 10/21/2014
* Define the duty cycles for proper motor and servo signals 
  • Completed
Using trial and run, figured out the duty cycle for constant speed and turns
10/19/2014
4 10/21/2014 10/28/2014
* Add CAN frame structure to the motor functions 
* Test for communication between motors and sensors for prototype demo 
* Define the Message List by working with other teams
  • Ongoing
--/--/----
5 10/28/2014 11/04/2014
* Start working on CAN Periodic message structure
* Start looking for speed sensors
  • Scheduled
--/--/----
6 11/04/2014 11/11/2014
* Attach speed sensors to the motor
* Test CAN communication between motor controller and other controllers
  • Scheduled
--/--/----
7 11/11/2014 11/18/2014
* Work on speed sensors. Figure out the way to send sensor data to master controller. 
* Test for proper and accurate CAN communication 
  • Scheduled
--/--/----
8 11/18/2014 11/25/2014
* Project Integration and testing basic self drive capability of the car
* Check the functionality and behavior of the motor controller in all the known 
  contexts
* Perform modifications (if any) to eliminate any bugs to make the motor work
  seamlessly
* Final Integration of car and testing there after
  
  • Scheduled
--/--/----


Geographical Team Schedule

Sl.No Start Date End Date Task Status Actual Completion Date
1 10/4/2014 10/13/2014 Research and Order GPS module Received GPS module 10/7/2014
2 10/7/2014 10/18/2014 Interface GPS module with LPC1758 Finished 10/17/14
3 10/14/2014 10/18/2014 Receive Compass module from Preet Received 10/9/2014
4 10/18/2014 11/4/2014 Parse GPS data and setup constructs to send appropriate data Ongoing
5 10/14/2014 10/18/2014 Interface the Compass Module Finished 10/16/2014
6 10/25/2014 11/4/2014 Calibration of Compass Code completed. Need to test using the car --/--/----
7 11/4/2014 11/11/2014 Integrate GPS and Compass data Ongoing
8 10/25/2014 11/09/2014 Testing and mapping of GPS co-ordinates Ongoing
9 11/18/2014 11/25/2014 Final integration and testing

IO Team Schedule

Sl.No Start Date End Date Task Status Actual Completion Date
1 10/7/2014 10/13/2014 Research and Order LCD Display Ordered LCD Display 10/13/2014
2 10/14/2014 10/21/2014 Interfacing LCD Display with LPC1758 Completed 10/21/2014
3 10/21/2014 10/28/2014 Implementing CAN structure with LCD tasks. Completed 11/30/2014
4 10/28/2014 11/04/2014 Subscribe data from motor, sensor and GPS controller,display it on LCD. Ongoing
5 11/04/2014 11/11/2014 Setup hardware and write code for START, STOP and Headlight buttons. TBD
6 11/11/2014 11/18/2014 Testing and mounting hardware on car. TBD
7 11/18/2014 11/25/2014 Final Testing TBD


Communication Bridge & Android Team Schedule

Sl.No Start Date Planned End Date Task Status Actual End Date
1 9/30/2014 9/30/2014 Obtain Bluetooth Module (already had one) Done 9/30/2014
2 9/30/2014 10/14/2014 Develop Basic Android App with Bluetooth Sensor Communication Done 10/7/2014
3 10/11/2014 10/14/2014 Interface Bluetooth Module with SJSU Dev Board Done 10/11/2014
4 10/12/2014 10/19/2014 Be able to send bi-directional arbitrary messages between Android App and Dev Board via Bluetooth Done 10/14/2014
5 10/14/2014 11/21/2014 Subscribe to all CAN messages and dump all of them via Bluetooth to Android App or web interface Done 11/24/2014
6 10/14/2014 11/21/2014 Ajax & Websocket server remote structure Done 11/01/2014
7 10/14/2014 11/21/2014 Be able to input GPS coordinates through either (or both) Android App and web interface and send through Bluetooth then CAN bus Done 11/24/2014
8 10/21/2014 11/24/2014 Android App and webpage GUI enhancements (Google Maps, Google Drive) Done 11/24/2014
9 10/21/2014 11/30/2014 Data visualization (status, compass, speed, location,....) On going TBD

Parts List & Cost

Item# Part Desciption Vendor Part Number Qty Cost
1 RC Car Amazon.com Traxxas 37076 Rustler VXL 1 $380.57
2 CAN Transceiver Anchor & HSC 15 $75.00
3 Assembly Components Amazon & Anchor PCBs, Mechnical & Electical Components NA $90.13
4 Power Supply Pololu 6V Battery, 5V Regulator 1 $34.85
5 LCD Display New Haven NHD-0216B3Z-FL-GBW-V3-ND 1 $$$.$$
6 Sonar sensor Maxbotix LV-MaxSonar-EZ1 MB1010 2 $66.55
7 Sonar sensor Given by Preet LV-MaxSonar-EZ1 MB1010 1 Free
8 IR sensor Given by Preet Sharp-GP2Y0A21YK 1 Free
9 Compass Module Given by Preet HoneyWell: HMC 6352 1 Free
Total Cost $$$.$$

Design & Implementation

Controller Communication Table

Controllers
Controller ID Controller Type
0x01 Master Controller
0x02 Motor Controller
0x03 Sensor Controller
0x04 Geographical Controller
0x05 IO Controller
0x06 Bridge Controller
Common Communication Table
Message Number Purpose / Data layout
0x101 Get version and boot info
0x102 Get general info
0x103 Synchronize (set) time:
byte [0-3] : System time
0x201
byte [0-3] : Version Info
byte [4-7] : boot timestamp
0x202
byte [0-3] : Current time
byte [4]   : CPU usage %
Subscription Rate Info
Byte 0 Effect
0 Off
1 1Hz
5 5Hz
10 10Hz
20 20Hz
50 50Hz
Any other value Invalid date rate


Master Controller Communication Table
Message Number Purpose Data Byte Pattern
0x101 Request each Controller Boot Status
Byte[0]: Request command for Boot Info.
0x102 Request each Controller version info.
Byte[0]: Request command for Version Info.
0x103 Request GPS Controller for Satellite Time
Byte[0]: Request command for Time
0x104 Set Time on each Controller received from Satellite
Byte[0-3]: Time in HH:MM:SS
0x201 Receives Boot status from each Controller
Byte[0]: Boot Status Info.
0x202 Receives Version info. from each Controller
Byte[0-3]: Controller Version Info.
0x203 Receives the Time from GPS Controller
Byte[0-3]: Time in HH:MM:SS
0x301 Request destination co-ordinates from Communication_Bridge
Byte[0-7]: Displays "Waiting for Destination Location Input"
0x302 Set the destination GPS co-ordinates to GPS_Controller
Byte[0-3]: Latitude Co-ordinate
Byte[4-7]: Longitude Co-ordinate
0x500 Display Boot Status on LCD
Byte[0]: Boot Status Response
0x501 Display Version Info. on LCD
Byte[0]: Version Info.
0x502 Display Controller Time on LCD
Byte[0-2]: Time in HH:MM:SS
0x503 Direction n Speed Control
Byte[0]: START/STOP/RIGHT/LEFT command
0x504 Display Motor speed on LCD
Byte[0]: Speed Value
0x505 Display Dist. to Destination and Heading Direction on LCD
Byte[0]: Distance to Destination
Byte[1]: Heading Direction
0x506 Display Sensor Values on LCD
Byte [0]: Front sensor value in inches
Byte [1]: Front Left sensor value in inches
Byte [2]: Front Right sensor value in inches
Byte [3]: Back sensor value in inches
0x507 Display Battery Status & Light Sensor Value on LCD
Byte[0]: Battery Status Value
Byte[1]: Light Sensor Value
Motor Controller Communication Table
Message Number Purpose Data layout
0x508 Speed Sensor Data
byte [0] : Speed sensor value in rpm
0x509 Vehicle Direction/Movement Data
byte [0] : Movement Control
     0x1 : Forward
     0x2 : Reverse
     0x3 : Stop
byte [1] : Steering Control
     0x1 : Left
     0x2 : Right
     0x3 : Straight
Sensor Controller Communication Table
Message Number Purpose Data layout
0x510 Front/Back Range Sensor Data
byte [0] : Front sensor value in inches
byte [1] : Front Left sensor value in inches
byte [2] : Front Right sensor value in inches
byte [3] : Back sensor value in inches
0x511 Light, Accelerometer and Battery Sensor Data
byte [0] : Light sensor value
byte [1] : X axis Value
byte [2] : Y axis Value
byte [3] : Z axis Value 
byte [4] : Battery status value
GPS Controller Communication Table
Message Number Purpose Data layout
0x518 Set GPS Location
 byte [0 - 3] : Latitude - Float
 byte [3 - 7] : Longitude - Float
IO Communication Table
Message Number Purpose Data layout
0x520 Subscribe to Sensor data bytes [0-5] : Sensor Value in Inches
0x521 Subscribe to Motor data bytes [0-2] : Vehicle Direction
0x522 Subscribe to Compass Data bytes [0] : Compass Data in degrees
0x523 Subscribe to Battery Status bytes [0] : Battery Status Value
Communication Bridge Communication Table
Message Number Purpose Data layout
0x528 Set Car Speed (Kill Switch) - temporary allow for other non-zero value for demo byte[0] - speed value
0x529 Destination GPS location

bytes [0-3] : latitude (float) bytes [4-7] : longitude (float)

0x52A Turn to degree

bytes [0-3] : degree(float)

0x52B Way points longitude
bytes [0-1] :total waypoints count
bytes [2-3] :waypoint index
bytes [4-7] : longitude(float)
0x52C Way points latitude
bytes [0-1] :total waypoints count
bytes [2-3] :waypoint index
bytes [4-7] : latitude(float)
0x52D remote status (ie. Android connection status)
bytes [0]=>
0:disconnected(passive send)
1:on disconnect(active)
2:connected(passive)
3:on connect(active)
0xFF:error(active/passive)

Hardware Design

Hardware Interface

Software Design

Implementation

Testing & Technical Challenges

Conclusion

Project Video

Project Source Code

References

Acknowledgement

References Used

http://www.socialledge.com/sjsu/index.php?title=Self-driving_Car

http://www.nxp.com/documents/user_manual/UM10360.pdf

http://www.socialledge.com/sjsu/images/d/de/2012SJOneBoardSchematic.pdf

http://www.maxbotix.com/documents/MB1010_Datasheet.pdf

http://www.sharpsma.com/webfm_send/1208

https://www.sparkfun.com/datasheets/Components/HMC6352.pdf

Appendix