Difference between revisions of "S20: Nimble"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Team Deliverables Schedule)
(Team Deliverables Schedule)
Line 186: Line 186:
 
*<font color="FUCHSIA">'''Complete final prototype of the obstacle avoidance feature.'''</font>
 
*<font color="FUCHSIA">'''Complete final prototype of the obstacle avoidance feature.'''</font>
 
*<font color="orange">'''Calibrate Compass Module. Develop code for Compass module communication over CAN.'''</font>
 
*<font color="orange">'''Calibrate Compass Module. Develop code for Compass module communication over CAN.'''</font>
*<font color="green">'''16 April 2019 DEMO: Motors driven by wheel feedback and sensors, Basic obstacle avoidance.'''</font>
+
*<font color="green">'''Test Run the Motors driven by wheel feedback and sensors, Basic obstacle avoidance.'''</font>
 
*<font color="red">'''4/16/2020 -> Update the wiki schedule. '''</font>  
 
*<font color="red">'''4/16/2020 -> Update the wiki schedule. '''</font>  
 
||
 
||
Line 215: Line 215:
 
*<font color="brown">'''Send car location to app and check points received to Geo module.'''</font>
 
*<font color="brown">'''Send car location to app and check points received to Geo module.'''</font>
 
*<font color="maroon">'''Verify the stringent requirement of Start-up Sync, Periodic heart-beat messages.'''</font>
 
*<font color="maroon">'''Verify the stringent requirement of Start-up Sync, Periodic heart-beat messages.'''</font>
*<font color="#808080">'''Update Wiki Schedule with Test Reports.'''</font>
+
*<font color="red">'''4/23/2020 -> Update the wiki schedule and the git repo. '''</font>  
||   <br>   <br>   <br>   <br>   <br>   <br>   <br>   <br> <br>   <br>   <br>   <br> <br> <br>   <br>
+
||
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 
|-
 
|-
 
| '''8''' || '''24 April 2020'''|| '''30 April 2020'''||  
 
| '''8''' || '''24 April 2020'''|| '''30 April 2020'''||  
Line 232: Line 247:
 
*<font color="#808080">'''Update Wiki with new details and information.'''</font>
 
*<font color="#808080">'''Update Wiki with new details and information.'''</font>
 
*<font color="orange">'''DEMO: GPS driving'''</font>
 
*<font color="orange">'''DEMO: GPS driving'''</font>
||   <br>   <br>   <br>   <br>   <br>   <br>   <br>   <br>   <br> <br> <br>   <br>   <br>
+
||
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 
|-
 
|-
 
| '''9''' || '''1 May 2020'''|| '''7 May 2020'''||  
 
| '''9''' || '''1 May 2020'''|| '''7 May 2020'''||  
Line 243: Line 271:
 
*<font color="black">'''Establish complete connection on PCB'''</font>
 
*<font color="black">'''Establish complete connection on PCB'''</font>
 
*<font color="#808080">'''Update wiki with details.'''</font>
 
*<font color="#808080">'''Update wiki with details.'''</font>
|| <br>   <br>   <br>   <br>   <br> <br>   <br>
+
||
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 
|-
 
|-
 
| '''10''' || '''8 May 2020'''|| '''21 May 2020'''||  
 
| '''10''' || '''8 May 2020'''|| '''21 May 2020'''||  
Line 251: Line 287:
 
*<font color="black">'''Create the semester long project activity video and upload to YouTube.'''</font>
 
*<font color="black">'''Create the semester long project activity video and upload to YouTube.'''</font>
 
*<font color="#808080">'''Update and finalize wiki.'''</font>
 
*<font color="#808080">'''Update and finalize wiki.'''</font>
|| <br> <br>   <br>   <br> <br>
+
||
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 
|-
 
|-
 
| '''11''' || '''22 May 2020'''||  ||  
 
| '''11''' || '''22 May 2020'''||  ||  
 
*<font color="red">'''DEMO: Final Project '''</font>
 
*<font color="red">'''DEMO: Final Project '''</font>
 
*<font color="red">'''SUBMISSION: Final Project Wiki'''</font>
 
*<font color="red">'''SUBMISSION: Final Project Wiki'''</font>
|| <br> <br>
+
||
 +
*<font color="red">''' Not Started Yet '''</font>
 +
*<font color="red">''' Not Started Yet '''</font>
 
|}
 
|}
  

Revision as of 20:48, 31 March 2020

Project Title

<Nimble>



Abstract

<2-3 sentence abstract>

Introduction

The project was divided into N modules:

  • Sensor ...
  • Motor..
  • ...
  • Android

Team Members & Responsibilities

<Team Picture>

  • [ Yuming Cheng]
    • GPS Module
    • Master Module
    • Motor Module
  • [ Ellis Makwana]
    • Sensor Module
    • Master Module
  • [ Naeem Mannan]
    • Master Module
    • Mobile Application
    • LCD display
  • [ Francesco Vescio]
    • Sensor Module
    • Master Module
  • [ Lawrence Wan]
    • Master Module
    • GPS Module
    • Motor Controller


  • Sensor
    • Link to Gitlab user1
    • Link to Gitlab user2
  • Motor
    • Link to Gitlab user1
    • Link to Gitlab user2
  • Geographical
    • Link to Gitlab user1
    • Link to Gitlab user2
  • Communication Bridge Controller & LCD
    • Link to Gitlab user1
    • Link to Gitlab user2
  • Android Application
    • Link to Gitlab user1
    • Link to Gitlab user2
  • Testing Team
    • Link to Gitlab user1
    • Link to Gitlab user2


Team Deliverables Schedule

WEEK

START DATE

END DATE

TASK DETAILS

STATUS

1 Feb 2020 4 March 2020
  • Create and establish GitLab repository
  • Establish slack channel and invite Preet
  • Look through previous years projects and study it
  • Distribute major roles among team members
  • Complete
  • Complete
  • Complete
  • Complete
2 05 March 2020 12 March 2020
  • Create a Bill of Materials.
  • Select and order an RC car.
  • Make Repo on Gitlab for all modules - Follow Naming Convention.
  • Making the Wiki schedule.
  • Complete
  • Complete
  • Complete
  • Complete
3 13 March 2020 19 March 2020
  • Select Part Number for Sensors (Tanmay, Ellis )
  • Designing and deciding PCB tool(Lawrence )
  • Finalizing GPS module by doing some research (Yuming )
  • Finalize and order LCD (Francesco )
  • Finalize Motor and Order it (Lawrence , Yuming )
  • Environmental setup of mobile app (Naeem )
  • 3/17/2020 -> Project Lab - RC Car Infrastructure
  • Complete
  • Complete
  • Complete
  • In Progress
  • In Progress
  • In Progress
  • Complete
4 20 March 2020 26 March 2020
  • Understand DBC and implement the DBC file compatible with all the controllers. (Updating the DBC files from all nodes)
  • Finish purchasing the Sensor (Tanmay)
  • Establish communication across all the CAN controllers over CAN bus based on the DBC file.
  • Verify the power-up interactions and configurations between Master and the other controllers.
  • Establish a connection over Bluetooth and mobile app.(Naeem)
  • 3/24/2020 -> Project Lab - GPS & Compass Node
  • 3/24/2020 -> Anonymous Reviews
  • In Progress
  • Complete
  • In Progress
  • In Progress
  • Complete
  • Complete
  • Complete
5 27 March 2019 09 April 2019
  • 3/24/2020 -> Finish deciding the Pins that will be used in each nodes.
  • 3/30/2020 -> Completed the rough draft of block digram and Flow chart for each node logics.
  • Establish a communication between Bluetooth devices.(Naeem)
  • Interfacing of ultrasonic sensors to the SJTwo board and check for basic functionality. (Tanmay, Ellis)
  • Interface of Servo & DC motor to the SJTwo board and check for basic functionality. (Yuming)
  • Interface Compass module with SJTwo board using I2C serial bus. (Lawrence)
  • Interface GPS module with SJTwo board. (Lawrence)
  • Interface bluetooth module with SJtwo board using serial Communication. (Naeem)
  • Configure bluetooth module name as Nimble using Communication Mode. (Naeem)
  • Add a TextView for displaying the Bluetooth connection status in mobile App.(Naeem)
  • Explore UI designing of LCD. (Francesco)
  • 4/01/2020 -> Updated Overall DBC file.
  • 4/01/2020 -> Update the wiki schedule.
  • 4/04/2020 -> Completed the Circuit designs for the PCB.
  • 4/04/2020 -> Finalized the components for PCB.
  • Complete
  • In Progress
  • In Progress
  • In Progress
  • In Progress
  • In Progress
  • In Progress
  • In Progress
  • In Progress
  • In Progress
  • In Progress
  • Complete
  • Complete
  • In Progress
  • In Progress
6 10 April 2020 16 April 2020
  • Implement basic obstacle avoidance algorithm based on sensor data and test the same.
  • Continue testing motor driver via commands from CAN bus.
  • Build in speed steps to reverse motor for reverse to work correctly.
  • Mount all the sensors and test for any dead band and modify their positions for maximum coverage.
  • Integrate the fusion of LIDAR and Ultrasound sensor to get overall feedback from all the directions.
  • Develop algorithm to avoid obstacles and plan the car's further navigation path.
  • Complete final prototype of the obstacle avoidance feature.
  • Calibrate Compass Module. Develop code for Compass module communication over CAN.
  • Test Run the Motors driven by wheel feedback and sensors, Basic obstacle avoidance.
  • 4/16/2020 -> Update the wiki schedule.
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
7 17 April 2020 23 April 2020
  • Configure GPS device baud rate and interface it with SJOne board using UART.
  • Send and receive current location, destination and checkpoint coordinates to and from App and Geo module via BRIDGE.
  • Calibrate sensors readings and work on filtering algorithm with Master & Sensor
  • Begin work on LCD to show vehicle live status(speed, fuel-status, obstacles, distance to destination etc.) in a GUI.
  • Finish implementing speed control on motor (to make sure requested speed is met based on RPM read).
  • Work on Car reversing using Motor Controllers.
  • Integrate all modules with the Master to test the data flow.
  • Validation & Verification of obstacle avoidance, steering logic with rear sensor inputs and reversing.
  • Start incorporating GEO Controller information to Master module Steering logic.
  • Decide, implement and test data exchange between Geo Controller and BRIDGE.
  • Calculate and send simple bearing angle and destination status on CAN to figure out initial challenges.
  • Add a Google Map for setting the car's destination.
  • Send car location to app and check points received to Geo module.
  • Verify the stringent requirement of Start-up Sync, Periodic heart-beat messages.
  • 4/23/2020 -> Update the wiki schedule and the git repo.
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
8 24 April 2020 30 April 2020
  • Testing & Validation of the LCD UI and display run time vehicle status and looking forward for feedback from team if any.
  • Improve & Validate Navigation logic with multiple checkpoints, bearing angle and destination information.
  • Identify and mitigate GPS locking, Location Accuracy and Number of Satellite-In-View coming.
  • Validate Accuracy of Compass Calibration with iPhone Compass.
  • Determine and add DBC Changes and finalized.
  • Implement the steering logic with bearing angle and status provided by GEO-Module.
  • Consistently Communicate current car location to App, get check points from App and relay them to Geo module.
  • Send additional vehicle status information from can bus to the App for display.
  • Send the request to Google for getting the checkpoints(use the Google Maps Directions API).
  • Field test and check for obvious issues in obstacle avoidance, navigation, maintaining speed (up/down hill).
  • Provide feed backs to each team on identified short comings.
  • Update Wiki with new details and information.
  • DEMO: GPS driving
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
9 1 May 2020 7 May 2020
  • FIELD TESTING - CRITICAL WEEK
  • Implement turning indicators, break lights and head light.
  • Check for Corner cases for steering logic under various conditions and locations.
  • Analyse field test results for GPS and CMPS and work on it if required.
  • Test the accuracy of check-points from the Blue-tooth controller, location data from the Geo-controller sensor and Navigation Algorithm.
  • Check overall robustness of the complete system.
  • Establish complete connection on PCB
  • Update wiki with details.
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
10 8 May 2020 21 May 2020
  • All hands on testing and final bug fixes.
  • Check for tuning or calibration of modules if required.
  • Complete end-to-end testing for various scenarios and conditions.
  • Create the semester long project activity video and upload to YouTube.
  • Update and finalize wiki.
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
  • Not Started Yet
11 22 May 2020
  • DEMO: Final Project
  • SUBMISSION: Final Project Wiki
  • Not Started Yet
  • Not Started Yet

Parts List & Cost

Item# Part Desciption Vendor Qty Cost
1 RC Car Traxxas - Amazon [1] 1 $168.84
2 CAN Transceivers MCP2551-I/P Robotshop [2] 6 $ 6.00 per unit including shipping fee
3 GPS Amazon [] 1 $ .00 per unit including shipping fee
4 Compass Amazon [] 1 $ .00 per unit including shipping fee
5 Ultrasonic sensors(LV-MaxSonar-EZ0) SparkFun [] 1 $ 29.95
6 Ultrasonic sensors (LV-MaxSonar-EZ1) SparkFun [] 2 $ 51.90
7 IR sensors (GP2Y0A21YK) SparkFun [] 1 $ 34.23 including shipping fee and tax


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>




Sensor ECU

<Picture and link to Gitlab>

Hardware Design

Software Design

<List the code modules that are being called periodically.>

Technical Challenges

< List of problems and their detailed resolutions>



Motor ECU

<Picture and link to Gitlab>

Hardware Design

Software Design

<List the code modules that are being called periodically.>

Technical Challenges

< List of problems and their detailed resolutions>



Geographical Controller

<Picture and link to Gitlab>

Hardware Design

Software Design

<List the code modules that are being called periodically.>

Technical Challenges

< List of problems and their detailed resolutions>





Communication Bridge Controller & LCD

<Picture and link to Gitlab>

Hardware Design

Software Design

<List the code modules that are being called periodically.>

Technical Challenges

< List of problems and their detailed resolutions>



Master Module

<Picture and link to Gitlab>

Hardware Design

Software Design

<List the code modules that are being called periodically.>

Technical Challenges

< List of problems and their detailed resolutions>



Mobile Application

<Picture and link to Gitlab>

Hardware Design

Software Design

<List the code modules that are being called periodically.>

Technical Challenges

< List of problems and their detailed resolutions>






Conclusion

<Organized summary of the project>

<What did you learn?>

Project Video

Project Source Code

Gitlab Project Link - [3]

Advise for Future Students

<Bullet points and discussion>

Acknowledgement

References