Difference between revisions of "S19: Mystery Machine"
Proj user18 (talk | contribs) (→Schedule) |
Proj user18 (talk | contribs) (→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: | + | * <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/ | + | * <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: | + | * <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: | + | * <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: | + | * <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: | + | * <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: | + | * <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: | + | * <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: | + | * <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: | + | * <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: | + | * <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: | + | *<span style="color:orange">In-progress</span> |
− | |||
|- | |- | ||
Line 241: | Line 253: | ||
| | | | ||
* <span style="color:red">04/12/2019</span> | * <span style="color:red">04/12/2019</span> | ||
− | * <span style="color: | + | * <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"> | + | * <span style="color:red"></span> |
− | * <span style="color: | + | * <span style="color:violet"></span> |
− | * <span style="color:blue"> | + | * <span style="color:grey"></span> |
− | * <span style="color:green"> | + | * <span style="color:blue"></span> |
+ | * <span style="color:green"></span> | ||
| | | | ||
− | * <span style="color:red"> | + | * <span style="color:red">Android: Configure the UI elements for live monitoring in the app.</span> |
− | * <span style="color: | + | * <span style="color:violet">GPS Controller: Get the destination and waypoints from the Bridge Controller</span> |
− | * <span style="color:blue">Motor Controller: Implementation of | + | * <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: | + | * <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: | + | *<span style="color:green"></span> |
− | *<span style="color: | + | *<span style="color:green"></span> |
− | *<span style="color: | + | *<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: | + | * <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: | + | | |
+ | * <span style="color:red"></span> | ||
+ | * <span style="color:violet"></span> | ||
+ | * <span style="color:grey"></span> | ||
+ | * <span style="color:blue"></span> | ||
| | | | ||
− | * <span style="color:red"> | + | * <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: | + | * <span style="color:violet">GPS Controller: Calculate Bearing and send navigation instructions to the Master</span> |
− | * <span style="color: | + | * <span style="color:grey">Master Controller: Receive navigation instructions from the GPS Controller and move the car accordingly</span> |
− | * <span style="color: | + | * <span style="color:blue">Motor Controller: Fine tuning of Speed Control and Steering control using PWM duty cycle levels</span> |
| | | | ||
− | * <span style="color: | + | *<span style="color:green"></span> |
− | * <span style="color: | + | *<span style="color:green"></span> |
− | * <span style="color: | + | *<span style="color:green"></span> |
− | * <span style="color:green | + | *<span style="color:green"></span> |
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
Line 285: | Line 303: | ||
| | | | ||
* <span style="color:red">04/26/2019</span> | * <span style="color:red">04/26/2019</span> | ||
− | * <span style="color: | + | * <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:red"> | + | * <span style="color:red"></span> |
− | * <span style="color: | + | * <span style="color:violet"></span> |
− | * <span style="color: | + | * <span style="color:grey"></span> |
− | * <span style="color: | + | * <span style="color:blue"></span> |
| | | | ||
− | * <span style="color:red"> | + | * <span style="color:red">Android: Send coordinates to Car</span> |
− | * <span style="color: | + | * <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: | + | * <span style="color:grey">Master Controller: Create a proper obstacle avoidance algorithm and start the implementation</span> |
− | * <span style="color: | + | * <span style="color:blue">Motor Controller: Optimize control by accelerating / decelerating as instructed by Master Controller </span> |
| | | | ||
− | *<span style="color: | + | *<span style="color:green"></span> |
− | *<span style="color: | + | *<span style="color:green"></span> |
− | *<span style="color: | + | *<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: | + | * <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:red"> | + | * <span style="color:red"></span> |
− | * <span style="color: | + | * <span style="color:violet"></span> |
− | * <span style="color: | + | * <span style="color:grey"></span> |
− | * <span style="color: | + | * <span style="color:blue"></span> |
| | | | ||
− | * <span style="color:red"> | + | * <span style="color:red">Android: Add additional commands to the app (stop, reset, reroute)</span> |
− | * <span style="color: | + | * <span style="color:violet">GPS Controller: Final system testing</span> |
− | * <span style="color: | + | * <span style="color:grey">Master Controller: Final testing of obstacle avoidance and navigation</span> |
− | * <span style="color: | + | * <span style="color:blue">Motor Controller: Final Testing </span> |
| | | | ||
− | *<span style="color: | + | *<span style="color:green"></span> |
− | *<span style="color: | + | *<span style="color:green"></span> |
− | *<span style="color: | + | *<span style="color:green"></span> |
+ | *<span style="color:green"></span> | ||
|- | |- | ||
! scope="row"| 13 | ! scope="row"| 13 | ||
| | | | ||
− | + | <span style="color:black">05/10/2019</span> | |
− | |||
− | |||
− | |||
| | | | ||
− | + | <span style="color:black"></span> | |
− | |||
− | |||
− | |||
| | | | ||
− | + | <span style="color:black">Design and implementation of exterior body</span> | |
− | |||
− | |||
− | |||
| | | | ||
− | + | <span style="color:red"></span> | |
− | |||
− | |||
|- | |- | ||
! scope="row"| 14 | ! scope="row"| 14 | ||
| | | | ||
− | + | <span style="color:black">05/17/2019</span> | |
− | |||
− | |||
− | |||
| | | | ||
− | + | <span style="color:black"></span> | |
− | |||
− | |||
− | |||
| | | | ||
− | + | <span style="color:black">Resolve any issues before Final Demo</span> | |
− | |||
− | |||
− | |||
| | | | ||
− | + | <span style="color:green"></span> | |
− | |||
− | |||
|- | |- | ||
! scope="row"| 15 | ! scope="row"| 15 | ||
| | | | ||
− | + | <span style="color:black">05/22/2019</span> | |
− | |||
− | |||
− | |||
| | | | ||
− | + | <span style="color:black"></span> | |
− | |||
− | |||
− | |||
| | | | ||
− | + | <span style="color:black">FINAL DEMO</span> | |
− | |||
− | |||
− | |||
| | | | ||
− | + | <span style="color:green"></span> | |
− | |||
− | |||
|- | |- | ||
Revision as of 00:13, 10 April 2019
Contents
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>
- Master Controller
- Sensor Controller
- Geo Controller
- Bridge Controller
- Android Application
- Motor and Steering Controller
Schedule
Week# | Start Date | End Date | Task | Status |
---|---|---|---|---|
1 |
|
|
|
|
2 |
|
|
|
|
3 |
|
|
|
|
4 |
|
|
|
|
5 |
|
|
|
|
6 |
|
|
|
|
7 |
|
|
|
|
8 |
|
|
|
|
9 |
|
|
|
|
10 |
|
|
|
|
11 |
|
|
|
|
12 |
|
|
|
|
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>