Difference between revisions of "F14: Self Driving Undergrad Team"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Schedule)
Line 129: Line 129:
 
| 10/27
 
| 10/27
 
| Mount Sensors and test coverage
 
| Mount Sensors and test coverage
 +
| Completed. Still need to mount with actual brackets.
 +
|-
 +
! scope="row"| 5
 +
| 10/31
 +
| Mount Sensors with 3d printed brackets
 +
| In progress
 +
|-
 +
! scope="row"| 6
 +
| 11/1
 +
| Implement diagnostic LED patterns
 
| In progress
 
| In progress
 
|-
 
|-
! scope="row"| 5
+
! scope="row"| 7
 
| 11/3
 
| 11/3
 
| Send obstacle avoidance decisions to master
 
| Send obstacle avoidance decisions to master
 
| In progress
 
| In progress
 
|-
 
|-
! scope="row"| 6
+
! scope="row"| 8
 +
| 11/4
 +
| Add RJ11 cabling to all sensors
 +
| In progress
 +
|-
 +
! scope="row"| 9
 
| 11/10
 
| 11/10
 
| Implement speed sensitivity
 
| Implement speed sensitivity
 
| In progress
 
| In progress
 
|-
 
|-
! scope="row"| 7
+
! scope="row"| 10
 +
| 11/13
 +
| Test sensors during outdoor runs
 +
| In progress
 +
|-
 +
! scope="row"| 11
 
| 11/17
 
| 11/17
| Make wiring more robust and label parts
+
| Check wiring and label parts
 
| In progress
 
| In progress
 
|-
 
|-
! scope="row"| 8
+
! scope="row"| 12
 
| 11/24
 
| 11/24
 
| Continue testing and tuning as necessary
 
| Continue testing and tuning as necessary

Revision as of 05:05, 28 October 2014

Contents

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 Autonomous Car

Abstract

The objective of the project is to create a self-driving autonomous car in a 15 person team. The car utilizes several components and sensors in order to get from Point A to Point B. Implementation of the car involves multiple SJONE processor boards using FreeRTOS to communicate with each other via CAN bus.

Objectives & Introduction

Show list of your objectives. This section includes the high level details of your project. You can write about the various sensors or peripherals you used to get your project completed.

CmpE243 F14 TUndergrad HighLevelDiagram.jpg

Team Members & Responsibilities

  • Sensor Controller Team
    • Sanjay Maharaj -
    • Wei-chieh "Andy" Lo -
  • Motor Controller Team -
    • Nikko Esplana -
    • Chi Lam -
  • I/O Unit Team
    • Devin Villarosa -
    • George Sebastian -
  • Communication Bridge + Android Team
    • Robert Julius -
    • Tim Martin -
    • Joseph Bourne -
  • Geographical Controller Team
    • Carlos Fernandez-Martinez
      • Compass calibration/integration
    • Zach Baumgartner
      • GPS testing/integration
    • Albert Chen
      • CAN communication
  • Master Controller Team
    • Charles Pham -
      • Overall Vehicle Logic
      • CAN Tx/Rx Messages Architecture
    • Joshua Ambion -
      • Module Liaison Logic
      • CAN Tx/Rx Messages Architecture
      • Documentation
    • Michael Schneider -
      • Module Specific Logic
      • CAN Tx/Rx Messages Architecture

Schedule

Show a simple table or figures that show your scheduled as planned before you started working on the project. Then in another table column, write down the actual schedule so that readers can see the planned vs. actual goals. The point of the schedule is for readers to assess how to pace themselves if they are doing a similar project.


Final Product Schedule

Week# Date Task Actual
1 10/12 CAN Network Benchtest Complete
2 10/15 Basic CAN Communication Complete
3 10/31 Basic Vehicle Self-Driving Test In progress
4 11/7 Secure devices to R/C car In progress
5 11/14 P2P testing and improved obstacle avoidance In progress
6 11/31 Buffer time for previous tasks and increased vehicle speed In progress

Sensor Controller Schedule

Week# Date Task Actual
1 10/13 Sensor Input Distance Calibration Incomplete: Sonar is mostly calibrated, IR still needs work. Need sensor value "filtering" logic.
2 10/17 Off car CAN network test (full team) Completed. Able to send raw sensor value to master.
3 10/20 Interface Sensors with CAN Completed. Updates to the formatting of data being sent is ongoing.
4 10/27 Mount Sensors and test coverage Completed. Still need to mount with actual brackets.
5 10/31 Mount Sensors with 3d printed brackets In progress
6 11/1 Implement diagnostic LED patterns In progress
7 11/3 Send obstacle avoidance decisions to master In progress
8 11/4 Add RJ11 cabling to all sensors In progress
9 11/10 Implement speed sensitivity In progress
10 11/13 Test sensors during outdoor runs In progress
11 11/17 Check wiring and label parts In progress
12 11/24 Continue testing and tuning as necessary In progress

Motor Controller Schedule

Week# Date Task Actual
1 10/12 Open up servo and motor modules,

find a speed sensor

In progress
2 10/19 Interface/test PWM bus to steering servo and DC motor In progress
3 10/26 Interface/test speed sensor In progress
4 11/2 Mount PCB and sensor In progress
5 11/9 Interface/test master with motor In progress
6 11/16 Test for proper operation In progress
7 11/23 Continue testing until proper operation In progress

I/O Schedule

Week# Date Task Actual
1 10/4 Create LCD Screen Library 10/4
2 10/4 Create LCD Screen GUI 10/4
3 10/11 LCD Library Test 10/11
4 10/11 Interface LCD with CAN Incomplete
5 10/18 Test LCD with CAN Incomplete
6 10/25 Implement onto Final Product Incomplete

Communication Bridge and Android Schedule

Week# Date Task Actual
1 10/13 CAN Network Test Complete
2 10/20 Interface Bluetooth Module with CAN In progress
3 10/27 Mount PCB on car In progress
4 11/3 Create basic Android application In progress
5 11/10 Send/receive CAN Messages via Android Application In progress
6 11/17 Debug and Optimize Android Application In progress
7 11/24 Continue Debugging and Optimizing as Necessary In progress

Geographical Controller Schedule

Week# Date Task Actual
1 10/8 Interface with GPS/Compass Completed no issues encountered
2 10/15 Finish core API In progress
3 10/22 GPS get fix and receive raw data In progress
4 10/22 Compass determine heading In progress
5 10/29 Self calibration completed In progress
6 10/29 GPS parse raw data to extract needed data In progress
7 10/29 Compass use heading from GPS to improve accuracy In progress
8 11/5 Improve GPS satellite procurement (antennae?) In progress
9 11/12 Improve boot up time of GPS module via warm start In progress
10 11/12 Fine tune compass calibration technique for accuracy In progress
10 12/3 Buffer time for completion of previous tasks In progress


Master Controller Schedule

Week# Date Task Actual
1 10/15 Basic CAN architecture Complete
2 10/18 Vehicle Initialization State Process In progress
3 10/25 Vehicle Running State Process In progress
4 11/01 All CAN message definitions complete In progress
5 11/05 All CAN message receive processing complete In progress
6 11/14 All basic vehicle functionality state machines implemented and verified In progress
7 11/30 Any additional advanced functionality implemented and verified In progress

Parts List & Cost

Give a simple list of the cost of your project broken down by components. Do not write long stories here.

Design & Implementation

The design section can go over your hardware and software design. Organize this section using sub-sections that go over your design and implementation.

Hardware Design

    Discuss System Level Hardware Design
    *INCLUDE BLOCK DIAGRAM and PIN CONNECTIONS

Sensor Controller Team Hardware Design

    Discuss your hardware design of Sensor Controller
    *INCLUDE BLOCK DIAGRAM and PIN CONNECTIONS

Motor Controller Team Hardware Design

    Discuss your hardware design of Motor Controller
    *INCLUDE BLOCK DIAGRAM and PIN CONNECTIONS

I/O Team Hardware Design

    Discuss your hardware design of I/O
    *INCLUDE BLOCK DIAGRAM and PIN CONNECTIONS

Communication Bridge + Android Hardware Design

    Discuss your hardware design of Communication Bridge and Android
    *INCLUDE BLOCK DIAGRAM and PIN CONNECTIONS

Geographical Controller Team Hardware Design

    Discuss your hardware design of Geographical Controller
    *INCLUDE BLOCK DIAGRAM and PIN CONNECTIONS
    

Master Controller Team Hardware Design

    Discuss your hardware design of Master Controller
    *INCLUDE BLOCK DIAGRAM and PIN CONNECTIONS

Hardware Interface

In this section, you can describe how your hardware communicates, such as which BUSes used. You can discuss your driver implementation here, such that the Software Design section is isolated to talk about high level workings rather than inner working of your project.

SYSTEM LEVEL HARDWARE INTERFACE INTERFACE GOES HERE


Sensor Controller Team Hardware Interface

    Describe how your hardware communicates. WHAT BUSes were used
    *SHOW HOW FRAMES ARE SENT

Motor Controller Team Hardware Interface

    Discuss your hardware design of Motor Controller
    *SHOW HOW FRAMES ARE SENT

I/O Team Hardware Interface

    Discuss your hardware design of I/O
    *SHOW HOW FRAMES ARE SENT

Communication Bridge + Android Hardware Interface

    Discuss your hardware design of Communication Bridge and Android
    *SHOW HOW FRAMES ARE SENT

123

Geographical Controller Team Hardware Interface

    Discuss your hardware design of Geographical Controller
    *SHOW HOW FRAMES ARE SENT
    

Master Controller Team Hardware Interface

    Discuss your hardware design of Master Controller
    *SHOW HOW FRAMES ARE SENT

Hardware Interface

Show your software design. For example, if you are designing an MP3 Player, show the tasks that you are using, and what they are doing at a high level. Do not show the details of the code. For example, do not show exact code, but you may show psuedocode and fragments of code. Keep in mind that you are showing DESIGN of your software, not the inner workings of it.

SYSTEM LEVEL SOFTWARE DESIGN GOES HERE

Sensor Controller Team Hardware Interface

    Describe how your hardware communicates. WHAT BUSes were used
    *SHOW SOFTWARE FLOWCHART DIAGRAM

Motor Controller Team Hardware Interface

    Discuss your hardware design of Motor Controller
    *SHOW SOFTWARE FLOWCHART DIAGRAM

I/O Team Hardware Interface

    Discuss your hardware design of I/O
    *SHOW SOFTWARE FLOWCHART DIAGRAM

Communication Bridge + Android Hardware Interface

    Discuss your hardware design of Communication Bridge and Android
    *SHOW SOFTWARE FLOWCHART DIAGRAM

Geographical Controller Team Hardware Interface

    Discuss your hardware design of Geographical Controller
    *SHOW SOFTWARE FLOWCHART DIAGRAM
    

Master Controller Team Hardware Interface

    Discuss your hardware design of Master Controller
    *SHOW SOFTWARE FLOWCHART DIAGRAM

Software Implementation

This section includes implementation, but again, not the details, just the high level. For example, you can list the steps it takes to communicate over a sensor, or the steps needed to write a page of memory onto SPI Flash. You can include sub-sections for each of your component implementation.

SYSTEM LEVEL SOFTWARE IMPLEMENTATION GOES HERE

Sensor Controller Team Hardware Interface

    Describe steps to communicate hardware
    

Motor Controller Team Hardware Interface

    Describe steps to communicate hardware

I/O Team Hardware Interface

    Describe steps to communicate hardware

Communication Bridge + Android Hardware Interface

    Describe steps to communicate hardware

Geographical Controller Team Hardware Interface

    Describe steps to communicate hardware
    

Master Controller Team Hardware Interface

    Describe steps to communicate hardware

Testing


Sensor Controller Testing

Sensor Controller Testing #1

Describe how you tested the Sensors


Motor Controller Testing

Motor Controller Testing #1

Describe how you tested the motors


I/O Testing

I/O Testing #1

Describe how you tested the I/O Device


Communication Bridge + Android Testing

Communication Bridge + Android Testing #1

Describe how you tested the Communication Bridge + Android


Geographical Controller

Geographical Controller

Describe how you tested the Geographical Controller


Master Controller

Master Controller Testing #1

Describe how you tested the Master Controller


Technical Challenges

Sensor Controller Team Issues

MY ISSUE #1 TITLE

PROBLEM:

RESOLUTION:

FUTURE RECOMMENDATIONS:

MY ISSUE #2 TITLE

PROBLEM:

RESOLUTION:

FUTURE RECOMMENDATIONS:

Motor Controller Team Issues

Motor Controller Issue #1

PROBLEM:

RESOLUTION:

FUTURE RECOMMENDATIONS:

Motor Controller Issue #2

PROBLEM:

RESOLUTION:

FUTURE RECOMMENDATIONS:

I/O Team Issues

I/O Team Issue #1

PROBLEM:

RESOLUTION:

FUTURE RECOMMENDATIONS:

I/O Team Issue #2

PROBLEM:

RESOLUTION:

FUTURE RECOMMENDATIONS:

Communication Bridge + Android Team Issues

Communication Bridge + Android Issue #1

PROBLEM:

RESOLUTION:

FUTURE RECOMMENDATIONS:

Communication Bridge + Android #2

PROBLEM:

RESOLUTION:

FUTURE RECOMMENDATIONS:

Geographical Controller Issues

Geographical Controller #1

PROBLEM:

RESOLUTION:

FUTURE RECOMMENDATIONS:


Geographical Controller #2

PROBLEM:

RESOLUTION:

FUTURE RECOMMENDATIONS:

Master Controller Team Issues

Master Controller Issue #1

PROBLEM:

RESOLUTION:

FUTURE RECOMMENDATIONS:


Master Controller#2

PROBLEM:

RESOLUTION:

FUTURE RECOMMENDATIONS:

Conclusion

Conclude your project here. You can recap your testing and problems. You should address the "so what" part here to indicate what you ultimately learnt from this project. How has this project increased your knowledge?

Project Video

Upload a video of your project and post the link here.

Project Source Code

References

Acknowledgement

Any acknowledgement that you may wish to provide can be included here.

References Used

List any references used in project.

Appendix

You can list the references you used.