Difference between revisions of "S19: Mystery Machine"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Schedule)
(Schedule)
Line 119: Line 119:
 
|
 
|
 
* Order the RC car and the required Peripherals  
 
* Order the RC car and the required Peripherals  
* <span style="color:red">Android Application: Implement MQTT client</span>
+
* <span style="color:red">Android Application: Create base android project with map and display activities</span>
 
* <span style="color: violet">GPS Controller: Create an algorithm for the navigation system</span>
 
* <span style="color: violet">GPS Controller: Create an algorithm for the navigation system</span>
 
* <span style="color:orange">Bridge Controller: Work on CAN bus and understand the Bus Master concept to be covered in the next lecture</span>
 
* <span style="color:orange">Bridge Controller: Work on CAN bus and understand the Bus Master concept to be covered in the next lecture</span>
Line 133: Line 133:
 
! scope="row"| 4
 
! scope="row"| 4
 
|
 
|
 +
* <span style="color: red">03/15/2019</span>
 
* <span style="color: violet">03/15/2019</span>
 
* <span style="color: violet">03/15/2019</span>
 
* <span style="color:orange">03/15/2019</span>
 
* <span style="color:orange">03/15/2019</span>
 
* <span style="color:blue">03/15/2019</span>
 
* <span style="color:blue">03/15/2019</span>
|  
+
|
 +
* <span style="color: red">03/15/2019</span>
 
* <span style="color: violet">03/15/2019</span>
 
* <span style="color: violet">03/15/2019</span>
 
* <span style="color:orange">03/15/2019</span>
 
* <span style="color:orange">03/15/2019</span>
 
* <span style="color:blue">03/15/2019</span>
 
* <span style="color:blue">03/15/2019</span>
 
|  
 
|  
 +
* <span style="color: red">Android: Get access tokens for Google API to enable maps in the application</span>
 
* <span style="color: violet">GPS Controller: Get raw values from MPU9150 IMU sensor</span>
 
* <span style="color: violet">GPS Controller: Get raw values from MPU9150 IMU sensor</span>
 
* <span style="color:orange">Bridge Controller:Connect app to bridge controller via Bluetooth</span>
 
* <span style="color:orange">Bridge Controller:Connect app to bridge controller via Bluetooth</span>
 
* <span style="color:blue">Motor Controller: Tap into the servo motor controlling the steering</span>
 
* <span style="color:blue">Motor Controller: Tap into the servo motor controlling the steering</span>
|  
+
|
 +
*<span style="color:green">Completed</span>
 
*<span style="color:green">Completed</span>
 
*<span style="color:green">Completed</span>
 
*<span style="color:green">Completed</span>
 
*<span style="color:green">Completed</span>
Line 151: Line 155:
  
 
! scope="row"| 5
 
! scope="row"| 5
|  
+
|
 +
* <span style="color: red">03/08/2019</span>
 
* <span style="color: violet">03/08/2019</span>
 
* <span style="color: violet">03/08/2019</span>
 
* <span style="color:black">03/08/2019</span>
 
* <span style="color:black">03/08/2019</span>
 
* <span style="color:blue">03/08/2019</span>
 
* <span style="color:blue">03/08/2019</span>
|  
+
|
 +
* <span style="color: red">03/22/2019</span>
 
* <span style="color: violet">03/22/2019</span>
 
* <span style="color: violet">03/22/2019</span>
* <span style="color:black">03/2/2019</span>
+
* <span style="color:black">03/22/2019</span>
 
* <span style="color:blue">03/22/2019</span>
 
* <span style="color:blue">03/22/2019</span>
 
|  
 
|  
 +
* <span style="color:red">Android: Embed Google maps onto the Android App and add the project to the git repository</span>
 
* <span style="color:violet">GPS Controller: Implement driver to get filtered values from the IMU</span>
 
* <span style="color:violet">GPS Controller: Implement driver to get filtered values from the IMU</span>
 
* <span style="color:black">Pin Layouts from all groups</span>
 
* <span style="color:black">Pin Layouts from all groups</span>
 
* <span style="color:blue">Motor Controller: Tap into the in-built ESC and overclock</span>
 
* <span style="color:blue">Motor Controller: Tap into the in-built ESC and overclock</span>
|  
+
|
 +
*<span style="color:green">Completed</span>
 
*<span style="color:green">Completed</span>
 
*<span style="color:green">Completed</span>
 
*<span style="color:green">Completed</span>
 
*<span style="color:green">Completed</span>
Line 172: Line 180:
 
|  
 
|  
 
* <span style="color: violet">03/22/2019</span>
 
* <span style="color: violet">03/22/2019</span>
* <span style="color:orange">03/22/2019</span>
+
* <span style="color:black">03/22/2019</span>
 
* <span style="color:blue">03/22/2019</span>
 
* <span style="color:blue">03/22/2019</span>
 
* <span style="color:green">03/22/2019</span>
 
* <span style="color:green">03/22/2019</span>
 
|  
 
|  
 
* <span style="color: violet">03/29/2019</span>
 
* <span style="color: violet">03/29/2019</span>
* <span style="color:orange">03/29/2019</span>
+
* <span style="color:black">03/29/2019</span>
 
* <span style="color:blue">03/24/2019</span>
 
* <span style="color:blue">03/24/2019</span>
 
* <span style="color:green">03/29/2019</span>
 
* <span style="color:green">03/29/2019</span>
 
|  
 
|  
 
* <span style="color: violet">GPS Controller: Send and receive coordinates and other parameters between Car and appS</span>
 
* <span style="color: violet">GPS Controller: Send and receive coordinates and other parameters between Car and appS</span>
* <span style="color:orange">PCB layout 1st Iteration</span>
+
* <span style="color:black">PCB layout 1st Iteration</span>
 
* <span style="color:blue">Motor Controller: Find suitable Motor Driver Module and place an order</span>
 
* <span style="color:blue">Motor Controller: Find suitable Motor Driver Module and place an order</span>
* <span style="color:green">Sensor Controller: Finished data transmitted to the master ECU</span>
+
* <span style="color:green">Sensor Controller: Experiment with the different sensors to check for which type works best for the RC Car</span>
 
|  
 
|  
 
*<span style="color:green">Completed</span>
 
*<span style="color:green">Completed</span>
Line 207: Line 215:
 
* <span style="color:orange">PCB layout 1st Iteration</span>
 
* <span style="color:orange">PCB layout 1st Iteration</span>
 
* <span style="color:blue">Motor Controller: Find optimal Frequency and PWM values to drive Steering and Rear Wheels</span>
 
* <span style="color:blue">Motor Controller: Find optimal Frequency and PWM values to drive Steering and Rear Wheels</span>
* <span style="color:green">Sensor Controller: Finished data transmitted to the master ECU</span>
+
* <span style="color:green">Sensor Controller: Obstacle detection with SJ One board</span>
 
|  
 
|  
 
*<span style="color:green">Completed</span>
 
*<span style="color:green">Completed</span>
Line 217: Line 225:
 
! scope="row"| 8
 
! scope="row"| 8
 
|  
 
|  
 +
* <span style="color: red">04/05/2019</span>
 
* <span style="color: violet">04/05/2019</span>
 
* <span style="color: violet">04/05/2019</span>
* <span style="color:orange">04/05/2019</span>
+
* <span style="color:grey">04/05/2019</span>
 
* <span style="color:blue">04/05/2019</span>
 
* <span style="color:blue">04/05/2019</span>
 
* <span style="color:green">04/05/2019</span>
 
* <span style="color:green">04/05/2019</span>
|  
+
|
 +
* <span style="color: red">04/09/2019</span>
 
* <span style="color: violet">04/09/2019</span>
 
* <span style="color: violet">04/09/2019</span>
* <span style="color:orange"></span>
+
* <span style="color:grey"></span>
 
* <span style="color:blue">04/07/2019</span>
 
* <span style="color:blue">04/07/2019</span>
 
* <span style="color:green"></span>
 
* <span style="color:green"></span>
 
|  
 
|  
 +
* <span style="color:red">Android: Read the current position and get user input for the destination</span>
 
* <span style="color:violet">GPS Controller: Get GPS and COMPASS readings and parse them</span>
 
* <span style="color:violet">GPS Controller: Get GPS and COMPASS readings and parse them</span>
* <span style="color:orange">PCB layout 1st Iteration</span>
+
* <span style="color:grey">Master Controller: Define and acquire DBC messages intended for master</span>
 
* <span style="color:blue">Motor Controller: Implementation of basic maneuvering of the RC car </span>
 
* <span style="color:blue">Motor Controller: Implementation of basic maneuvering of the RC car </span>
* <span style="color:green">Sensor Controller: Finished data transmitted to the master ECU</span>
+
* <span style="color:green">Sensor Controller: Integration with the RC Car and distance calculation</span>
|  
+
|
 +
*<span style="color:orange">In-progress</span>
 +
*<span style="color:orange">In-progress</span>
 
*<span style="color:orange">In-progress</span>
 
*<span style="color:orange">In-progress</span>
 
*<span style="color:green">Completed</span>
 
*<span style="color:green">Completed</span>
*<span style="color:green">Completed</span>
+
*<span style="color:orange">In-progress</span>
*<span style="color:green">Completed</span>
 
 
|-
 
|-
  
Line 241: Line 253:
 
|  
 
|  
 
* <span style="color:red">04/12/2019</span>
 
* <span style="color:red">04/12/2019</span>
* <span style="color:orange">04/12/2019</span>
+
* <span style="color:violet">04/12/2019</span>
 +
* <span style="color:grey">04/12/2019</span>
 
* <span style="color:blue">04/12/2019</span>
 
* <span style="color:blue">04/12/2019</span>
 
* <span style="color:green">04/12/2019</span>
 
* <span style="color:green">04/12/2019</span>
 
|  
 
|  
* <span style="color:red">03/29/2019</span>
+
* <span style="color:red"></span>
* <span style="color:orange">03/29/2019</span>
+
* <span style="color:violet"></span>
* <span style="color:blue">04/07/2019</span>
+
* <span style="color:grey"></span>
* <span style="color:green">03/29/2019</span>
+
* <span style="color:blue"></span>
 +
* <span style="color:green"></span>
 
|  
 
|  
* <span style="color:red">Geo: Send and receive coordinates and other parameters between Car and appS</span>
+
* <span style="color:red">Android: Configure the UI elements for live monitoring in the app.</span>
* <span style="color:orange">PCB layout 1st Iteration</span>
+
* <span style="color:violet">GPS Controller: Get the destination and waypoints from the Bridge Controller</span>
* <span style="color:blue">Motor Controller: Implementation of basic maneuvering of the RC car </span>
+
* <span style="color:grey">Master Controller: Create a simple program to instruct motor ECU to drive and acquire sensor values to send stop instruction to motor ECU</span>
* <span style="color:green">Sensor Controller: Finished data transmitted to the master ECU</span>
+
* <span style="color:blue">Motor Controller: Implementation of RPM Sensor and integration with CAN Bus </span>
 +
* <span style="color:green">Sensor Controller: Final Testing</span>
 
|  
 
|  
*<span style="color:red"></span>
+
*<span style="color:green"></span>
*<span style="color:orange"></span>
+
*<span style="color:green"></span>
*<span style="color:blue"></span>
+
*<span style="color:green"></span>
 +
*<span style="color:green"></span>
 +
*<span style="color:green"></span>
 
|-
 
|-
  
Line 263: Line 280:
 
|  
 
|  
 
* <span style="color:red">04/19/2019</span>
 
* <span style="color:red">04/19/2019</span>
* <span style="color:orange">04/19/2019</span>
+
* <span style="color:violet">04/19/2019</span>
 +
* <span style="color:grey">04/19/2019</span>
 
* <span style="color:blue">04/19/2019</span>
 
* <span style="color:blue">04/19/2019</span>
* <span style="color:green">04/19/2019</span>
+
|
 +
* <span style="color:red"></span>
 +
* <span style="color:violet"></span>
 +
* <span style="color:grey"></span>
 +
* <span style="color:blue"></span>
 
|  
 
|  
* <span style="color:red">03/29/2019</span>
+
* <span style="color:red">Android: Define the message parameters and packing format for communication between car and app and plot the waypoints for the given coordinates</span>
* <span style="color:orange">03/29/2019</span>
+
* <span style="color:violet">GPS Controller: Calculate Bearing and send navigation instructions to the Master</span>
* <span style="color:blue">04/07/2019</span>
+
* <span style="color:grey">Master Controller: Receive navigation instructions from the GPS Controller and move the car accordingly</span>
* <span style="color:green">03/29/2019</span>
+
* <span style="color:blue">Motor Controller: Fine tuning of Speed Control and Steering control using PWM duty cycle levels</span>
 
|  
 
|  
* <span style="color:red">Geo: Send and receive coordinates and other parameters between Car and appS</span>
+
*<span style="color:green"></span>
* <span style="color:orange">PCB layout 1st Iteration</span>
+
*<span style="color:green"></span>
* <span style="color:blue">Motor Controller: Implementation of basic maneuvering of the RC car </span>
+
*<span style="color:green"></span>
* <span style="color:green">Sensor Controller: Finished data transmitted to the master ECU</span>
+
*<span style="color:green"></span>
|
 
*<span style="color:red"></span>
 
*<span style="color:orange"></span>
 
*<span style="color:blue"></span>
 
 
|-
 
|-
  
Line 285: Line 303:
 
|  
 
|  
 
* <span style="color:red">04/26/2019</span>
 
* <span style="color:red">04/26/2019</span>
* <span style="color:orange">04/26/2019</span>
+
* <span style="color:violet">04/26/2019</span>
 +
* <span style="color:grey">04/26/2019</span>
 
* <span style="color:blue">04/26/2019</span>
 
* <span style="color:blue">04/26/2019</span>
* <span style="color:green">04/26/2019</span>
 
 
|  
 
|  
* <span style="color:red">03/29/2019</span>
+
* <span style="color:red"></span>
* <span style="color:orange">03/29/2019</span>
+
* <span style="color:violet"></span>
* <span style="color:blue">04/07/2019</span>
+
* <span style="color:grey"></span>
* <span style="color:green">03/29/2019</span>
+
* <span style="color:blue"></span>
 
|  
 
|  
* <span style="color:red">Geo: Send and receive coordinates and other parameters between Car and appS</span>
+
* <span style="color:red">Android: Send coordinates to Car</span>
* <span style="color:orange">PCB layout 1st Iteration</span>
+
* <span style="color:violet">GPS Controller: Mount on the car and start testing on the field and make final changes accordingly</span>
* <span style="color:blue">Motor Controller: Implementation of basic maneuvering of the RC car </span>
+
* <span style="color:grey">Master Controller: Create a proper obstacle avoidance algorithm and start the implementation</span>
* <span style="color:green">Sensor Controller: Finished data transmitted to the master ECU</span>
+
* <span style="color:blue">Motor Controller: Optimize control by accelerating / decelerating as instructed by Master Controller </span>
 
|  
 
|  
*<span style="color:red"></span>
+
*<span style="color:green"></span>
*<span style="color:orange"></span>
+
*<span style="color:green"></span>
*<span style="color:blue"></span>
+
*<span style="color:green"></span>
 +
*<span style="color:green"></span>
 
|-
 
|-
  
Line 307: Line 326:
 
|  
 
|  
 
* <span style="color:red">05/03/2019</span>
 
* <span style="color:red">05/03/2019</span>
* <span style="color:orange">05/03/2019</span>
+
* <span style="color:violet">05/03/2019</span>
 +
* <span style="color:grey">05/03/2019</span>
 
* <span style="color:blue">05/03/2019</span>
 
* <span style="color:blue">05/03/2019</span>
* <span style="color:green">05/03/2019</span>
 
 
|  
 
|  
* <span style="color:red">03/29/2019</span>
+
* <span style="color:red"></span>
* <span style="color:orange">03/29/2019</span>
+
* <span style="color:violet"></span>
* <span style="color:blue">04/07/2019</span>
+
* <span style="color:grey"></span>
* <span style="color:green">03/29/2019</span>
+
* <span style="color:blue"></span>
 
|  
 
|  
* <span style="color:red">Geo: Send and receive coordinates and other parameters between Car and appS</span>
+
* <span style="color:red">Android: Add additional commands to the app (stop, reset, reroute)</span>
* <span style="color:orange">PCB layout 1st Iteration</span>
+
* <span style="color:violet">GPS Controller: Final system testing</span>
* <span style="color:blue">Motor Controller: Implementation of basic maneuvering of the RC car </span>
+
* <span style="color:grey">Master Controller: Final testing of obstacle avoidance and navigation</span>
* <span style="color:green">Sensor Controller: Finished data transmitted to the master ECU</span>
+
* <span style="color:blue">Motor Controller: Final Testing </span>
 
|  
 
|  
*<span style="color:red"></span>
+
*<span style="color:green"></span>
*<span style="color:orange"></span>
+
*<span style="color:green"></span>
*<span style="color:blue"></span>
+
*<span style="color:green"></span>
 +
*<span style="color:green"></span>
 
|-
 
|-
  
 
! scope="row"| 13
 
! scope="row"| 13
 
|  
 
|  
* <span style="color:red">05/10/2019</span>
+
<span style="color:black">05/10/2019</span>
* <span style="color:orange">05/10/2019</span>
 
* <span style="color:blue">05/10/2019</span>
 
* <span style="color:green">05/10/2019</span>
 
 
|  
 
|  
* <span style="color:red">03/29/2019</span>
+
<span style="color:black"></span>
* <span style="color:orange">03/29/2019</span>
 
* <span style="color:blue">04/07/2019</span>
 
* <span style="color:green">03/29/2019</span>
 
 
|  
 
|  
* <span style="color:red">Geo: Send and receive coordinates and other parameters between Car and appS</span>
+
<span style="color:black">Design and implementation of exterior body</span>
* <span style="color:orange">PCB layout 1st Iteration</span>
 
* <span style="color:blue">Motor Controller: Implementation of basic maneuvering of the RC car </span>
 
* <span style="color:green">Sensor Controller: Finished data transmitted to the master ECU</span>
 
 
|  
 
|  
*<span style="color:red"></span>
+
<span style="color:red"></span>
*<span style="color:orange"></span>
 
*<span style="color:blue"></span>
 
 
|-
 
|-
  
 
! scope="row"| 14
 
! scope="row"| 14
 
|  
 
|  
* <span style="color:red">05/17/2019</span>
+
<span style="color:black">05/17/2019</span>
* <span style="color:orange">04/05/2019</span>
 
* <span style="color:blue">04/05/2019</span>
 
* <span style="color:green">04/05/2019</span>
 
 
|  
 
|  
* <span style="color:red">03/29/2019</span>
+
<span style="color:black"></span>
* <span style="color:orange">03/29/2019</span>
 
* <span style="color:blue">04/07/2019</span>
 
* <span style="color:green">03/29/2019</span>
 
 
|  
 
|  
* <span style="color:red">Geo: Send and receive coordinates and other parameters between Car and appS</span>
+
<span style="color:black">Resolve any issues before Final Demo</span>
* <span style="color:orange">PCB layout 1st Iteration</span>
 
* <span style="color:blue">Motor Controller: Implementation of basic maneuvering of the RC car </span>
 
* <span style="color:green">Sensor Controller: Finished data transmitted to the master ECU</span>
 
 
|  
 
|  
*<span style="color:red"></span>
+
<span style="color:green"></span>
*<span style="color:orange"></span>
 
*<span style="color:blue"></span>
 
 
|-
 
|-
  
 
! scope="row"| 15
 
! scope="row"| 15
 
|  
 
|  
* <span style="color:red">05/22/2019</span>
+
<span style="color:black">05/22/2019</span>
* <span style="color:orange">04/05/2019</span>
 
* <span style="color:blue">04/05/2019</span>
 
* <span style="color:green">04/05/2019</span>
 
 
|  
 
|  
* <span style="color:red">03/29/2019</span>
+
<span style="color:black"></span>
* <span style="color:orange">03/29/2019</span>
 
* <span style="color:blue">04/07/2019</span>
 
* <span style="color:green">03/29/2019</span>
 
 
|  
 
|  
* <span style="color:red">Geo: Send and receive coordinates and other parameters between Car and appS</span>
+
<span style="color:black">FINAL DEMO</span>
* <span style="color:orange">PCB layout 1st Iteration</span>
 
* <span style="color:blue">Motor Controller: Implementation of basic maneuvering of the RC car </span>
 
* <span style="color:green">Sensor Controller: Finished data transmitted to the master ECU</span>
 
 
|  
 
|  
*<span style="color:red"></span>
+
<span style="color:green"></span>
*<span style="color:orange"></span>
 
*<span style="color:blue"></span>
 
 
|-
 
|-
  

Revision as of 00:13, 10 April 2019

Project Title

Mystery Machine

Abstract

<2-3 sentence abstract>

Introduction

The project was divided into 6 modules:

  • Master Controller
  • Sensor Controller
  • Geo Controller
  • Bridge Controller
  • Android Application
  • Motor and Steering Controller

Team Members & Responsibilities

<Team Picture>



Schedule

Week# Start Date End Date Task Status
1
  • 02/22/2019
  • 02/22/2019
  • 02/22/2019
  • 02/22/2019
  • 02/22/2019
  • 03/01/2019
  • Read previous projects, gather information and discuss among the group members.
  • Distribute modules to each team member.
  • Make a list for parts required by each ECU
  • Completed
  • Completed
2
  • 03/01/2019
  • 03/01/2019
  • 03/01/2019
  • 03/01/2019
  • 03/01/2019
  • 03/01/2019
  • 03/08/2019
  • 03/08/2019
  • 03/08/2019
  • 03/08/2019
  • Timeline of modules' completion discussed
  • Android Application: Upload Project to GitLab and Plot Route to destination with dummy location
  • Bridge Controller: Establish UART to CAN bridge on SJOne board
  • Motor Controller: Understand the working of Electronic Speed Controllers and study previous project reports
  • Sensor Controller: Decide and order the sensors required for Obstacle Avoidance
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
3
  • 03/08/2019
  • 03/08/2019
  • 03/08/2019
  • 03/08/2019
  • 03/08/2019
  • 03/10/2019
  • 03/15/2019
  • 03/15/2019
  • 03/13/2019
  • 03/15/2019
  • Order the RC car and the required Peripherals
  • Android Application: Create base android project with map and display activities
  • GPS Controller: Create an algorithm for the navigation system
  • Bridge Controller: Work on CAN bus and understand the Bus Master concept to be covered in the next lecture
  • Motor Controller: Work on the ESC of the RC car and develop algorithm for the Steering Control
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
4
  • 03/15/2019
  • 03/15/2019
  • 03/15/2019
  • 03/15/2019
  • 03/15/2019
  • 03/15/2019
  • 03/15/2019
  • 03/15/2019
  • Android: Get access tokens for Google API to enable maps in the application
  • GPS Controller: Get raw values from MPU9150 IMU sensor
  • Bridge Controller:Connect app to bridge controller via Bluetooth
  • Motor Controller: Tap into the servo motor controlling the steering
  • Completed
  • Completed
  • Completed
  • Completed
5
  • 03/08/2019
  • 03/08/2019
  • 03/08/2019
  • 03/08/2019
  • 03/22/2019
  • 03/22/2019
  • 03/22/2019
  • 03/22/2019
  • Android: Embed Google maps onto the Android App and add the project to the git repository
  • GPS Controller: Implement driver to get filtered values from the IMU
  • Pin Layouts from all groups
  • Motor Controller: Tap into the in-built ESC and overclock
  • Completed
  • Completed
  • Completed
  • Completed
6
  • 03/22/2019
  • 03/22/2019
  • 03/22/2019
  • 03/22/2019
  • 03/29/2019
  • 03/29/2019
  • 03/24/2019
  • 03/29/2019
  • GPS Controller: Send and receive coordinates and other parameters between Car and appS
  • PCB layout 1st Iteration
  • Motor Controller: Find suitable Motor Driver Module and place an order
  • Sensor Controller: Experiment with the different sensors to check for which type works best for the RC Car
  • Completed
  • Completed
  • Completed
  • Completed
7
  • 03/29/2019
  • 03/29/2019
  • 03/29/2019
  • 03/29/2019
  • 03/29/2019
  • 03/29/2019
  • 03/29/2019
  • 03/29/2019
  • GPS Controller: Send and receive coordinates and other parameters between Car and appS
  • PCB layout 1st Iteration
  • Motor Controller: Find optimal Frequency and PWM values to drive Steering and Rear Wheels
  • Sensor Controller: Obstacle detection with SJ One board
  • Completed
  • Completed
  • Completed
  • Completed
8
  • 04/05/2019
  • 04/05/2019
  • 04/05/2019
  • 04/05/2019
  • 04/05/2019
  • 04/09/2019
  • 04/09/2019
  • 04/07/2019
  • Android: Read the current position and get user input for the destination
  • GPS Controller: Get GPS and COMPASS readings and parse them
  • Master Controller: Define and acquire DBC messages intended for master
  • Motor Controller: Implementation of basic maneuvering of the RC car
  • Sensor Controller: Integration with the RC Car and distance calculation
  • In-progress
  • In-progress
  • In-progress
  • Completed
  • In-progress
9
  • 04/12/2019
  • 04/12/2019
  • 04/12/2019
  • 04/12/2019
  • 04/12/2019
  • Android: Configure the UI elements for live monitoring in the app.
  • GPS Controller: Get the destination and waypoints from the Bridge Controller
  • Master Controller: Create a simple program to instruct motor ECU to drive and acquire sensor values to send stop instruction to motor ECU
  • Motor Controller: Implementation of RPM Sensor and integration with CAN Bus
  • Sensor Controller: Final Testing
10
  • 04/19/2019
  • 04/19/2019
  • 04/19/2019
  • 04/19/2019
  • Android: Define the message parameters and packing format for communication between car and app and plot the waypoints for the given coordinates
  • GPS Controller: Calculate Bearing and send navigation instructions to the Master
  • Master Controller: Receive navigation instructions from the GPS Controller and move the car accordingly
  • Motor Controller: Fine tuning of Speed Control and Steering control using PWM duty cycle levels
11
  • 04/26/2019
  • 04/26/2019
  • 04/26/2019
  • 04/26/2019
  • Android: Send coordinates to Car
  • GPS Controller: Mount on the car and start testing on the field and make final changes accordingly
  • Master Controller: Create a proper obstacle avoidance algorithm and start the implementation
  • Motor Controller: Optimize control by accelerating / decelerating as instructed by Master Controller
12
  • 05/03/2019
  • 05/03/2019
  • 05/03/2019
  • 05/03/2019
  • Android: Add additional commands to the app (stop, reset, reroute)
  • GPS Controller: Final system testing
  • Master Controller: Final testing of obstacle avoidance and navigation
  • Motor Controller: Final Testing
13

05/10/2019

Design and implementation of exterior body

14

05/17/2019

Resolve any issues before Final Demo

15

05/22/2019

FINAL DEMO

Parts List & Cost

Item# Part Desciption Vendor Qty Cost
1 RC Car Amazon 1 $90.00
2 CAN Transceivers MCP2551-I/P AliExpress 8 $1.13/piece

Printed Circuit Board

<Picture and information, including links to your PCB>

CAN Communication

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




BO_ 500 SENSOR_CONTROLLER: 18 SENSORS
 SG_ SENSOR_CONTROLLER_Front_IR : 0|16@1+ (1,0) [0|100] "%" MASTER
 SG_ SENSOR_CONTROLLER_Front_left_IR : 16|16@1+ (1,0) [0|100] "%" MASTER
 SG_ SENSOR_CONTROLLER_Front_right_IR : 32|16@1+ (1,0) [0|100] "%" MASTER
 SG_ SENSOR_CONTROLLER_Back_IR : 48|16@1+ (1,0) [0|100] "%" MASTER
 SG_ SENSOR_CONTROLLER_Back_left_IR : 64|16@1+ (1,0) [0|100] "%" MASTER
 SG_ SENSOR_CONTROLLER_Back_right_IR : 80|16@1+ (1,0) [0|100] "%" MASTER
 SG_ SENSOR_CONTROLLER_Front_US : 96|16@1+ (1,0) [0|100] "%" MASTER
 SG_ SENSOR_CONTROLLER_Front_left_US : 112|16@1+ (1,0) [0|100] "%" MASTER
 SG_ SENSOR_CONTROLLER_Front_right_US : 128|16@1+ (1,0) [0|100] "%" MASTER

BO_ 600 MOTOR_CONTROLLER: 1 MOTOR
 SG_ MOTOR_CONTROLLER_MOMENTUM : 0|4@1+ (1,0) [0|15] "" MASTER
 SG_ MOTOR_CONTROLLER_TURN : 4|4@1+ (1,0) [0|15] "" MASTER

BO_ 400 MASTER_CONTROLLER: 3 MASTER
 SG_ MASTER_CONTROLLER_LEFT : 0|8@1+ (1,0) [0|15] "" MOTOR
 SG_ MASTER_CONTROLLER_RIGHT : 8|8@1+ (1,0) [0|15] "" MOTOR
 SG_ MASTER_CONTROLLER_STOP : 16|8@1+ (1,0) [0|15] "" MOTOR
 SG_ MASTER_CONTROLLER_START : 24|8@1+ (1,0) [0|15] "" MOTOR

BO_ 700 STEER_DIRECTION: 1 GEO
 SG_ STEER_DIRECTION_LEFT : 0|8@1+ (1,0) [0|0] "STEER LEFT DEGREES" MASTER
 SG_ STEER_DIRECTION_RIGHT : 8|8@1+ (1,0) [0|0] "STEER RIGHT DEGREES" MASTER
 SG_ STEER_DIRECTION_STRAIGHT : 16|8@1+ (1,0) [0|0] "STRAIGHT" MASTER

BO_ 701 TELEMETRY: 2 GEO
 SG_ CURRENT_GPS_COORDINATES_X : 0|32@1+ (0.000001,0) [0|0] "" MASTER,BRIDGE 
 SG_ CURRENT_GPS_COORDINATES_Y : 32|32@1+ (0.000001,0) [0|0] "" MASTER,BRIDGE 

BO_ 710 DESTINATION_REACHED: 1 GEO
 SG_ DESTINATION_REACHED : 0|8@1+ (1,0) [0|0] "" MASTER,BRIDGE

BO_ 800 APP_CMD: 2 BRIDGE
 SG_ START_COMMAND : 0|8@1+ (1,0) [0|0] "" MASTER 
 SG_ ABORT_COMMAND: 8|16@1+ (1,0) [0|0] "" MASTER 
BO_ 801 APP_GPS: 8 BRIDGE
 SG_ DEST_GPS_COORDINATES_X : 0|32@1+ (0.000001,0) [0|0] "" GEO 
 SG_ DEST_GPS_COORDINATES_Y : 32|32@1+ (0.000001,0) [0|0] "" GEO

Sensor ECU

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

Unreliable sonor sensors

<Problem Summary> <Problem Resolution>



Motor ECU

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

Unreliable Servo Motors

<Problem Summary> <Problem Resolution>



Geographical 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>

Unreliable GPS lock

<Problem Summary> <Problem Resolution>



Communication Bridge Controller & LCD

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

Insane Bug

<Problem Summary> <Problem Resolution>



Master 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>

Improper Unit Testing

<Problem Summary> <Problem Resolution>



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>

Wifi Link Reliability

<Problem Summary> <Problem Resolution>



Conclusion

<Organized summary of the project>

<What did you learn?>

Project Video

Project Source Code

Advise for Future Students

<Bullet points and discussion>

Acknowledgement

References