S19: Mystery Machine
Contents
Abstract
This project demonstrates the learning involved in Embedded Systems class to design a self-driving car capable of navigating through terrain and avoiding obstacles to reach a destination. The car receives destination GPS coordinates from a custom Android Application and relays back statistics and progress in reaching the target.
Introduction
The objective of this project was to create an autonomous self-driving car which was able to reach the target destination while avoiding obstacles through the terrain. In order to accomplish this, five SJ One boards were used that handled separate functionality of the car:
- Master Controller
- Sensor Controller
- Geo Controller
- Bridge Controller
- Android Application
- Motor and Steering Controller
Team Members & Responsibilities
<Team Picture>
Gitlab Project Link
- Master Controller
- Neeraj Dhavale [Point of Contact]
- Sudarshan Aithal
- Chithambaram Singaravelu Poonkodi
- Tarun Chawla
- Sensor Controller
- Adithya Baskaran [Point of Contact]
- Sudarshan Aithal
- Geo Controller
- Neeraj Dhavale [Point of Contact]
- Sai Kiran
- Bridge Controller
- Sanket Patil [Point of Contact]
- Sai Kiran
- Android Application
- Chithambaram Singaravelu Poonkodi [Point of Contact]
- Neeraj Dhavale
- Motor and Steering Controller
- Tarun Chawla [Point of Contact]
- Rachit Mathur
- Unit Testing
- Chithambaram Singaravelu Poonkodi [Point of Contact]
- Hardware
- Sanket Patil [Point of Contact]
- Adithya Baskaran
- Documentation
- Rachit Mathur [Point of Contact]
- Sai Kiran
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.
System Nodes: SENSOR, MOTOR, GEO CONTROLLER, BRIDGE, MASTER
SNo. | Message ID | Message from Source Node | Receiver Nodes |
---|---|---|---|
Master Controller Message | |||
1 | 400 | Direction(Left, Right) and STOP or START) | Motor |
Sensor Controller Message | |||
2 | 500 | Packs center, left, right and back Ultrasonic sensor values in to CAN Frame | Master |
Motor Controller Message | |||
3 | 600 | Packs momentum and turn in to CAN Frame | Master |
Geo Controller Message | |||
4 | 700 | Sends Steer direction(Left, Right, Straight) | Master |
5 | 701 | Sends GPS Co-ordinates(x,y) | Master, Bridge |
6 | 710 | sends the destination reached status | Master, Bridge |
Bridge Controller Message | |||
7 | 800 | System start/stop command | Master |
8 | 801 | GPS Co-ordinates | Geo |
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_US : 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 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>