F14: Self Driving Undergrad Team
Contents
- 1 Grading Criteria
- 2 Self-Driving Autonomous Car
- 3 Abstract
- 4 Objectives & Introduction
- 5 Schedule
- 6 Parts List & Cost
- 7 Design & Implementation
- 8 Testing
- 9 Technical Challenges
- 10 Conclusion
- 11 References
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.
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 -
- Timothy Martin -
- Albert Chen -
- 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
- Charles Pham -
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 | Completed? Problems Encountered? |
2 | 10/15 | Basic CAN Communication | Completed? Problems Encountered? |
3 | 10/31 | Basic Vehicle Self-Driving Test | Completed? Problems Encountered? |
4 | 10/8 | Task list | Completed? Problems Encountered? |
5 | 10/8 | Task list | Completed? Problems Encountered? |
6 | 10/8 | Task list | Completed? Problems Encountered? |
2 | 10/8 | Task list | Completed? Problems Encountered? |
7 | 10/8 | Task list | Completed? Problems Encountered? |
8 | 10/8 | Task list | Completed? Problems Encountered? |
9 | 10/8 | Task list | Completed? Problems Encountered? |
10 | 10/8 | Task list | Completed? Problems Encountered? |
11 | 10/8 | Task list | Completed? Problems Encountered? |
12 | 10/8 | Task list | Completed? Problems Encountered? |
13 | 10/8 | Task list | Completed? Problems Encountered? |
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? Problems Encountered? |
4 | 10/27 | Mount Sensors and test coverage | Completed? Problems Encountered? |
5 | 11/3 | Send obstacle avoidance decisions to master | Completed? Problems Encountered? |
6 | 11/10 | Implement speed sensitivity | Completed? Problems Encountered? |
2 | 11/17 | Make wiring more robust and label parts | Completed? Problems Encountered? |
7 | 11/24 | Continue testing and tuning as necessary | Completed? Problems Encountered? |
Motor Controller Schedule
Week# | Date | Task | Actual |
---|---|---|---|
1 | 10/12 | Open up servo and motor modules,
find a speed sensor |
Completed? Problems Encountered? |
2 | 10/19 | Interface/test servo+PWM motors | Completed? Problems Encountered? |
3 | 10/26 | Interface/test speed sensor | Completed? Problems Encountered? |
4 | 11/2 | Mount PCB and sensor | Completed? Problems Encountered? |
5 | 11/9 | Interface/test master with motor | Completed? Problems Encountered? |
6 | 11/16 | Test for proper operation | Completed? Problems Encountered? |
2 | 10/8 | Task list | Completed? Problems Encountered? |
7 | 10/8 | Task list | Completed? Problems Encountered? |
8 | 10/8 | Task list | Completed? Problems Encountered? |
9 | 10/8 | Task list | Completed? Problems Encountered? |
10 | 10/8 | Task list | Completed? Problems Encountered? |
11 | 10/8 | Task list | Completed? Problems Encountered? |
12 | 10/8 | Task list | Completed? Problems Encountered? |
13 | 10/8 | Task list | Completed? Problems Encountered? |
I/O Schedule
Week# | Date | Task | Actual |
---|---|---|---|
1 | 10/4 | Create LCD Screen Library | Completed? Problems Encountered? |
2 | 10/4 | Create LCD Screen GUI | Completed? Problems Encountered? |
3 | 10/11 | LCD Library Test | Completed? Problems Encountered? |
4 | 10/11 | Interface LCD with CAN | Completed? Problems Encountered? |
5 | 10/18 | Test LCD with CAN | Completed? Problems Encountered? |
6 | 10/25 | Implement onto Final Product | Completed? Problems Encountered? |
2 | 10/8 | Task list | Completed? Problems Encountered? |
7 | 10/8 | Task list | Completed? Problems Encountered? |
8 | 10/8 | Task list | Completed? Problems Encountered? |
9 | 10/8 | Task list | Completed? Problems Encountered? |
10 | 10/8 | Task list | Completed? Problems Encountered? |
11 | 10/8 | Task list | Completed? Problems Encountered? |
12 | 10/8 | Task list | Completed? Problems Encountered? |
13 | 10/8 | Task list | Completed? Problems Encountered? |
Communication Bridge and Android Schedule
Week# | Date | Task | Actual |
---|---|---|---|
1 | 10/13 | CAN Network Test | Completed? Problems Encountered? |
2 | 10/20 | Interface Bluetooth Module with CAN | Completed? Problems Encountered? |
3 | 10/27 | Mount PCB on car | Completed? Problems Encountered? |
4 | 11/3 | Create basic Android application | Completed? Problems Encountered? |
5 | 11/10 | Send/receive CAN messages via Android application | Completed? Problems Encountered? |
6 | 11/17 | Debug and optimize Android application | Completed? Problems Encountered? |
7 | 11/24 | Continue debugging and optimizing as necessary | Completed? Problems Encountered? |
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 determine location | In progress |
4 | 10/22 | Compass determine heading | In progress |
5 | 10/29 | Self calibration completed | In progress |
6 | 10/8 | Task list | Completed? Problems Encountered? |
2 | 10/8 | Task list | Completed? Problems Encountered? |
7 | 10/8 | Task list | Completed? Problems Encountered? |
8 | 10/8 | Task list | Completed? Problems Encountered? |
9 | 10/8 | Task list | Completed? Problems Encountered? |
10 | 10/8 | Task list | Completed? Problems Encountered? |
11 | 10/8 | Task list | Completed? Problems Encountered? |
12 | 10/8 | Task list | Completed? Problems Encountered? |
13 | 10/8 | Task list | Completed? Problems Encountered? |
Master Controller Schedule
Week# | Date | Task | Actual |
---|---|---|---|
1 | 10/15 | Basic CAN architecture | Completed? Problems Encountered? |
2 | 10/18 | Vehicle Initialization State Process | Completed? Problems Encountered? |
3 | 10/25 | Vehicle Running State Process | Completed? Problems Encountered? |
4 | 10/8 | Task list | Completed? Problems Encountered? |
5 | 10/8 | Task list | Completed? Problems Encountered? |
6 | 10/8 | Task list | Completed? Problems Encountered? |
2 | 10/8 | Task list | Completed? Problems Encountered? |
7 | 10/8 | Task list | Completed? Problems Encountered? |
8 | 10/8 | Task list | Completed? Problems Encountered? |
9 | 10/8 | Task list | Completed? Problems Encountered? |
10 | 10/8 | Task list | Completed? Problems Encountered? |
11 | 10/8 | Task list | Completed? Problems Encountered? |
12 | 10/8 | Task list | Completed? Problems Encountered? |
13 | 10/8 | Task list | Completed? Problems Encountered? |
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.