Difference between revisions of "S19: Mystery Machine"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Schedule)
(Schedule)
Line 119: Line 119:
 
* <span style="color:red">Android Application: Implement MQTT client</span>
 
* <span style="color:red">Android Application: Implement MQTT client</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>
* <span style="color:blue">Motor Controller: Work on the ECS of the RC car and develop algorithm for the Steering Control</span>
+
* <span style="color:blue">Motor Controller: Work on the ESC of the RC car and develop algorithm for the Steering Control</span>
 
|  
 
|  
 
*Completed
 
*Completed
Line 186: Line 186:
 
*<span style="color:blue"></span>
 
*<span style="color:blue"></span>
 
|-
 
|-
 +
 +
! scope="row"| 7
 +
|
 +
* <span style="color:red">03/29/2019</span>
 +
* <span style="color:orange">03/29/2019</span>
 +
* <span style="color:blue">03/29/2019</span>
 +
* <span style="color:green">03/29/2019</span>
 +
|
 +
* <span style="color:red">03/29/2019</span>
 +
* <span style="color:orange">03/29/2019</span>
 +
* <span style="color:blue">03/29/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:orange">PCB layout 1st Iteration</span>
 +
* <span style="color:blue">Motor Controller: Get Motor control complete with left and right control</span>
 +
* <span style="color:green">Sensor Controller: Finished data transmitted to the master ECU</span>
 +
|
 +
*<span style="color:red"></span>
 +
*<span style="color:orange"></span>
 +
*<span style="color:blue"></span>
 +
|-
 +
 +
! scope="row"| 8
 +
|
 +
* <span style="color:red">04/05/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:orange">03/29/2019</span>
 +
* <span style="color:blue">03/29/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:orange">PCB layout 1st Iteration</span>
 +
* <span style="color:blue">Motor Controller: Get Motor control complete with left and right control</span>
 +
* <span style="color:green">Sensor Controller: Finished data transmitted to the master ECU</span>
 +
|
 +
*<span style="color:red"></span>
 +
*<span style="color:orange"></span>
 +
*<span style="color:blue"></span>
 +
|-
 +
 
|}
 
|}
  

Revision as of 07:19, 9 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
  • In-progress
  • Completed
  • Completed
  • Completed
3
  • 03/08/2019
  • 03/08/2019
  • 03/08/2019
  • 03/08/2019
  • 03/10/2019
  • 03/15/2019
  • 03/13/2019
  • 03/15/2019
  • Order the RC car and the required Peripherals
  • Android Application: Implement MQTT client
  • 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
  • In-progress
  • In-progress
  • In-progress
4
  • 03/15/2019
  • 03/15/2019
  • 03/15/2019
  • 03/15/2019
  • 03/15/2019
  • 03/15/2019
  • GPS: Get legible data from GPS
  • Bridge Controller:Connect app to bridge controller via Bluetooth
  • Motor Controller: Control ESC for motor
  • In-progress
  • In-progress
  • In-progress
5
  • 03/08/2019
  • 03/08/2019
  • 03/08/2019
  • 03/22/2019
  • 03/2/2019
  • 03/22/2019
  • GEO: Calculate bearing and distance calculation using IMU and GPS
  • Pin Layouts from all groups
  • Motor Controller: Get Motor control complete with left and right control
6
  • 03/22/2019
  • 03/22/2019
  • 03/22/2019
  • 03/22/2019
  • 03/29/2019
  • 03/29/2019
  • 03/29/2019
  • 03/29/2019
  • Geo: Send and receive coordinates and other parameters between Car and appS
  • PCB layout 1st Iteration
  • Motor Controller: Get Motor control complete with left and right control
  • Sensor Controller: Finished data transmitted to the master ECU
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
  • Geo: Send and receive coordinates and other parameters between Car and appS
  • PCB layout 1st Iteration
  • Motor Controller: Get Motor control complete with left and right control
  • Sensor Controller: Finished data transmitted to the master ECU
8
  • 04/05/2019
  • 04/05/2019
  • 04/05/2019
  • 04/05/2019
  • 03/29/2019
  • 03/29/2019
  • 03/29/2019
  • 03/29/2019
  • Geo: Send and receive coordinates and other parameters between Car and appS
  • PCB layout 1st Iteration
  • Motor Controller: Get Motor control complete with left and right control
  • Sensor Controller: Finished data transmitted to the master ECU

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