Difference between revisions of "S19: Run D.B.C"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Parts List & Cost)
(Parts List & Cost)
Line 266: Line 266:
  
 
{| class="wikitable"  
 
{| class="wikitable"  
! colspan="5" | {{ huge | RC CAR BoM }}
+
! colspan="5" | {{ Huge | RC CAR BoM }}
 
|-
 
|-
 
! scope="col" style="text-align: center;" |
 
! scope="col" style="text-align: center;" |

Revision as of 03:46, 3 March 2019

caption

Abstract

The RUN-D.B.C project, involves the design and construction of an autonomously navigating RC car. Development of the R.C car's subsystem modules will be divided amongst and performed by seven team members. Each team member will lead or significantly contribute to the development of at least one subsystem.

Objectives & Introduction

RC Car Objectives

  • Successfully detect and avoid obstacles
  • Autonomously navigate to a fixed destination, from a fixed starting location; based on feedback from a GPS
  • Integrate communication between the RC car's master controller and an Android device, using Bluetooth
  • Integrate system hardware communication using a PCB


Team Objectives

  • Strive to learn as much as possible, in order to develop a professional product
  • Establish and enforce professional software design standards
  • Establish and enforce professional hardware design standards
  • Achieve 100% code coverage, during unit testing
  • Carefully document and track all bugs encountered and patched, during development
  • Clearly communicate the development of all modules of the RC car


The core modules of the autonomous RC car include:

  • Android App
  • Bridge Controller
  • Geographic Controller
  • Master Controller
  • Motor Controller
  • Hardware Integration PCB
  • Sensor Controller
  • Wiring Harness


We also elected a team member to lead the testing and integration stages of development.

  • Testing and Integration


In order to facilitate team and project management, we elected a Team Lead and established the following administrative roles:

  • Git Repository Manager
  • Wiki Report Manager
  • Gantt Chart Manager
  • Bill of Materials Manager
  • Project Presentation Manager


Team Members & Responsibilities

Team Members

Administrative Roles

Technical Roles

  • Tristan French
  • Team Lead
  • Git Repository Manager
  • Master Controller (Lead)
  • Hardware Integration PCB
  • Wiring Harness
  • Ryan Zelek
  • Testing and Integration (Lead)
  • Master Controller
  • Motor Controller
  • Samir Mohammed
  • Wiki Report Manager
  • Gantt Chart Manager
  • Bill of Materials Manager
  • Bridge Controller and Android App (Lead)
  • Hardware Integration PCB
  • Wiring Harness
  • Vignesh Kumar Venkateshwar
  • Project Presentation Manager
  • Motor Controller (Lead)
  • Bridge Controller and Android App
  • Bharath Vyas Balasubramanyam
  • Geographic Controller (Lead)
  • Motor Controller
  • Nuoya Xie
  • Sensor Controller (Co-Lead)
  • Geographic Controller
  • Kelvin Cheong
  • Sensor Controller (Co-Lead)
  • Geographic Controller


Schedule

Week# Date Deliverables Status
1 2/16/19
  • Share team contact information
  • Create Git Repository (Tristan)
  • Set up Slack
  • Invite Preet to Slack
  • Establish Code Guidelines and Standards
  • Complete
  • Complete
  • Complete
  • Complete
  • Complete
2 2/24/19
  • (1/2 team) Share research of past projects
  • Establish ownership of Administrative and Technical Project Modules
  • Establish weekly team meeting time
  • Establish Team Slack usage Guidelines and Standards
  • Received CAN Transceivers
  • Create a Gantt chart to track project progress (Samir)
  • Create Git directory structure (Tristan)
  • Create a Bill of Materials (Samir)
  • Select and order an RC car (Bharath)
  • Push a file to Git Repository
  • Conduct research of project modules (based on ownership/sub-team)
  • Invite Preet to Gitlab
  • Complete
  • Complete
  • Complete
  • Complete
  • Complete
  • In Progress
  • In Progress
  • Complete
  • Complete
  • Complete
  • In Progress
  • Complete
3 3/3/19
  • (2/2 team) Share research of past projects
  • Explore using Splitwise for managing project finances
  • Explore using Taiga.io for project management
  • Sub-teams share research and findings with each other and the team
  • Start planning what parts need to be ordered and update BoM
  • Not Started
  • Not Started
  • Not Started
  • Not Started
  • Not Started
4 3/10/19
5 3/17/19
6 3/24/19
7 3/31/19
8 4/7/19
9 4/14/19
10 4/21/19
11 4/28/19
12 5/5/19
13 5/12/19


Parts List & Cost

Template:Huge

PART NAME

PART MODEL

QUANTITY

COST PER UNIT (USD)

  • RC Car
  • 1
  • $205.99
  • Lithium-Ion Battery
  • 1
  • $74.95
  • Battery Charger
  • 1
  • $47.95


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 your hardware design here. Show detailed schematics, and the interface here.

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.

Software Design

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.

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.

Testing & Technical Challenges

Describe the challenges of your project. What advise would you give yourself or someone else if your project can be started from scratch again? Make a smooth transition to testing section and described what it took to test your project.

Include sub-sections that list out a problem and solution, such as:

<Bug/issue name>

Discuss the issue and resolution.

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.

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.