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. 
INTRODUCTION & OBJECTIVES
|  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 
 | 
|  CORE MODULES OF RC CAR 
 | 
|  Android Mobile Application Bridge Controller Geographic Controller Master Controller 
 Motor Controller 
 Sensor Controller 
 Hardware Integration PCB 
 Wiring Harness 
 | 
|  PROJECT MANAGEMENT ADMINISTRATION ROLES  
 | 
|  Team Lead 
 Finance Manager 
 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 
 | 
|  |  Team Lead
 Git Repository Manager 
 Finance Manager 
 |  Master Controller (Lead) 
 Hardware Integration PCB 
 Wiring Harness 
 | 
|  |  |  Testing and Integration (Lead) 
 Master Controller 
 Motor Controller 
 | 
|  |  Wiki Report Manager 
 Gantt Chart Manager 
 Bill of Materials Manager 
 |  Android Mobile Application & Bridge Controller (Lead) Hardware Integration PCB 
 Wiring Harness 
 | 
|  Vignesh Kumar Venkateshwar
 |  Project Presentation Manager 
 |  Motor Controller (Lead) 
 Android Mobile Application & Bridge Controller  
 | 
|  Bharath Vyas Balasubramanyam
 |  |  Geographic Controller (Lead) 
 Motor Controller 
 | 
|  |  |  Sensor Controller (Lead) 
 Geographic Controller
 | 
|  |  |  Sensor Controller 
 Geographic Controller
 | 
SCHEDULE
| TEAM MEETING DATES & DELIVERABLES 
 | 
| Week#
 | Date Assigned
 | Deliverables
 | Status
 | Date Completed
 | 
| 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 
 Complete 
 Complete 
 Complete 
 Complete 
 Complete 
 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 (Samir/Tristan) 
 Sub-teams share research and findings with each other and the team
 Start planning what parts need to be ordered and update BoM 
 Email Preet regarding LCD screen for Bridge Controller Interface with the HC05 Bluetooth module Research frameworks for Android App development Research GPS modules Create a high-level system block diagram and control scheme 
 Develop a high-level plan interfacing with speed controller and servo controller 
 Select a PCB design tool (develop a sample board in KiCAD) 
 Test performance/specs of current Ultrasonic sensors and research others 
 |  Complete 
 Complete 
 Not Started 
 Complete 
 In Progress 
 In Progress 
 In Progress 
 In Progress 
 In Progress 
 In Progress 
 In Progress 
 In Progress 
 In Progress 
 |  | 
| 4 | 3/10/19 |  Each team create a schedule for sub-system development and send to Samir Set up Cygwin on Windows (and configure) Mac machines for auto-formatting Finalize and purchase  LCD screen for Bridge Controller Learn to develop in Android Studio (watch tutorials and begin developing Android App) Purchase Adafruit Ultimate GPS module Selected KiCad as PCB design tool (develop sample PCB to help learn how to use software) 
 Purchase long-range distance sensors and select bump sensors 
 |  |  | 
| 5 | 3/17/19 |  Established Git Repository Structure Completed high-level system block diagram  
 Completed PCB design requirements Selected PCB manufacturer
 |  |  | 
| 6 | 3/24/19 |  Successfully unit tested a JAVA module with JUnit (JAVA unit test framework) Choose Android mobile phone/OS to load app onto Interface with with speed controller and servo controller 
 Finalize high-level system block diagram and control scheme 
 Interface with GPS and compass modules Record how servo and DC motors react to RC Transmitter and Receiver feedback 
 Ordered PCB
 |  |  | 
| 7 | 3/31/19 |  All parts have been ordered Create button to launch mobile application Integrate Google Maps into mobile application LPC 1758 responds to feedback from bump sensor LPC 1758 responds to feedback from Ultrasonic sensors (reports distance of objects in their detection radius) Complete DBC CAN message format Use feedback from GPS and compass to calculate bearing angle LPC 1758 responds to feedback from motor speed sensor (reports RPM of wheels, when a PWM signal is applied) Complete DBC CAN message format
 |  |  | 
| 8 | 4/7/19 |  Successfully get starting and destination coordinates  Complete sensor module code and push final revision to GitLab  Master controller can send/receive CAN messages to/from all other controllers on CANbus Transmit latitude and longitude coordinates as CAN messages to master controller  Angle wheels left/right/straight based on CAN feedback from master controller 
 |  |  | 
| 9 | 4/14/19 |  All modules have been fully assembled Successfully integrate checkpoints into mobile app  Completed implementation of speed control algorithm Transmit heading and bearing angle as CAN messages to master controller  Implement obstacle avoidance algorithm 
 |  |  | 
| 10 | 4/21/19 |   Complete first vehicle test drive  Send starting/destination coordinates to bridge controller   Send starting/destination coordinates as CAN messages from bridge controller to master controller Design a feed back mechanism to adjust speed of DC motor using RPM sensor values for vehicular movement on the slope 
 |  |  | 
| 11 | 4/28/19 |   Achieve full communication between all subsystems on the CANbus Use GPS feedback to govern (motor behavior) car movement 
 |  |  | 
| 12 | 5/5/19 |  RC car has been fully assembled and modules have been integrated  Complete integration of PCB and wiring harness 
 |  |  | 
| 13 | 5/12/19 |   Resolve any remaining bugs or concerns 
 |  |  | 
| 14 | 5/22/19 |  |  |  | 
BILL OF MATERIALS
|  MICRO-CONTROLLERS  
 | 
| PART NAME
 | PART MODEL & SOURCE
 | QUANTITY
 | COST PER UNIT (USD)
 | 
|  |  LPC 1758 (Supplied by Preet Kang)
 |  |  | 
|  RC CAR  
 | 
| PART NAME
 | PART MODEL & SOURCE
 | QUANTITY
 | COST PER UNIT (USD)
 | 
|  |  |  |  | 
|  |  |  |  | 
|  |  |  |  | 
|  ANDROID MOBILE APPLICATION & BRIDGE CONTROLLER  
 | 
|  PART NAME  
 |  PART MODEL  
 |  QUANTITY  
 |  COST PER UNIT (USD)  
 | 
|  Bluetooth Serial Communication Module
 |  |  |  | 
|  GEOGRAPHIC CONTROLLER  
 | 
|  PART NAME  
 |  PART MODEL  
 |  QUANTITY  
 |  COST PER UNIT (USD)  
 | 
|  |  |  |  | 
|  MASTER CONTROLLER  
 | 
|  PART NAME  
 |  PART MODEL  
 |  QUANTITY  
 |  COST PER UNIT (USD)  
 | 
|  |  |  |  | 
|  MOTOR CONTROLLER  
 | 
|  PART NAME  
 |  PART MODEL  
 |  QUANTITY  
 |  COST PER UNIT (USD)  
 | 
|  |  |  |  | 
|  HARDWARE INTEGRATION PCB & WIRING HARNESS  
 | 
|  PART NAME  
 |  PART MODEL  
 |  QUANTITY  
 |  COST PER UNIT (USD)  
 | 
|  |  |  |  | 
|  SENSOR CONTROLLER  
 | 
|  PART NAME  
 |  PART MODEL  
 |  QUANTITY  
 |  COST PER UNIT (USD)  
 | 
|  |  |  |  | 
|  |  |  |  | 
 HARDWARE INTEGRATION PCB 
 Hardware Design 
<Picture and information, including links to your PCB
 WIRING HARNESS 
 Hardware Design 
<Picture and information, including links to your PCB
CAN NETWORK
<Talk about your message IDs or communication strategy, such as periodic transmission, MIA management etc.>
Hardware Design
<Show your CAN bus hardware design>
DBC File
<Gitlab link to your DBC file>
<You can optionally use an inline image>
 ANDROID MOBILE APPLICATION 
<Picture and link to Gitlab>
 Hardware Design 
 Software Design 
<List the code modules that are being called periodically.>
 Technical Challenges 
<Bullet or Headings of a module>
 Bug Tracking 
<Problem Summary>
<Problem Resolution>
 BRIDGE CONTROLLER & LCD MODULE 
<Picture and link to Gitlab>
 Hardware Design 
 Software Design 
<List the code modules that are being called periodically.>
 Technical Challenges 
<Bullet or Headings of a module>
 Bug Tracking 
<Problem Summary>
<Problem Resolution>
 GEOGRAPHIC CONTROLLER 
<Picture and link to Gitlab>
 Hardware Design 
 Software Design 
<List the code modules that are being called periodically.>
 Technical Challenges 
<Bullet or Headings of a module>
 Bug Tracking 
<Problem Summary>
<Problem Resolution>
 MASTER CONTROLLER 
<Picture and link to Gitlab>
 Hardware Design 
 Software Design 
<List the code modules that are being called periodically.>
 Technical Challenges 
<Bullet or Headings of a module>
 Bug Tracking 
<Problem Summary>
<Problem Resolution>
 MOTOR CONTROLLER 
<Picture and link to Gitlab>
 Hardware Design 
 Software Design 
<List the code modules that are being called periodically.>
 Technical Challenges 
<Bullet or Headings of a module>
 Bug Tracking 
<Problem Summary>
<Problem Resolution>
 SENSOR CONTROLLER 
<Picture and link to Gitlab>
 Hardware Design  
 Software Design  
<List the code modules that are being called periodically.>
 Technical Challenges  
<Bullet or Headings of a module>
 Bug Tracking  
<Problem Summary>
<Problem Resolution>
CONCLUSION
<Organized summary of the project>
<What did you learn?>
Project Video
Project Source Code
Advice for Future Students
<Bullet points and discussion>
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.