Difference between revisions of "S19: Lightfury"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Team Members & Responsibilities)
(Schedule)
Line 129: Line 129:
 
* Android: Design the basic template of the Application  
 
* Android: Design the basic template of the Application  
 
* BLE: Thorough understanding of the module
 
* BLE: Thorough understanding of the module
| Planned
+
| <font color = green><B>Completed </B></font>
  
 
| 03/26/2019
 
| 03/26/2019
Line 136: Line 136:
 
| 03/26/2019
 
| 03/26/2019
 
|
 
|
* Sensor: Successful interfaced ultrasonic/Lidar with LPC to get raw data
+
* Sensor: Successful interfaced ultrasonic with LPC to get raw data
* GPS: Successful interfaced ultrasonic/Lidar with LPC to get raw data
+
* GPS & Compass: Acquire data from GPS and Compass
* Compass & LCD: Successful interfacing between Compass and Lidar 
 
 
* Motor: Basic motor controlled vehicle orientation
 
* Motor: Basic motor controlled vehicle orientation
 
* Android: Interfacing with other modules
 
* Android: Interfacing with other modules
* BLE: Successful interfaced BLE module with LPC to get raw data
 
 
* Unit-testing for each module
 
* Unit-testing for each module
| Planned
+
| <font color = green><B>Completed </B></font>
  
 
| 04/02/2019
 
| 04/02/2019
Line 152: Line 150:
 
|
 
|
 
*----SPRING BREAK-----
 
*----SPRING BREAK-----
| Completed
+
| <font color = green><B>Completed </B></font>
  
 
| 04/09/2019
 
| 04/09/2019
Line 161: Line 159:
 
|
 
|
 
* Sensor: Parsed the raw data to achieve useful data
 
* Sensor: Parsed the raw data to achieve useful data
* GPS: Parsing of raw data to get meaningful values
+
* GPS & Compass: Parsing of raw data to get meaningful values
* Compass & LCD: Integrating GPS co-ordinates with the compass to display on LCD
+
* Motor: Take motor feedback through encoder and speed control on ramp
* Motor: Speed control and angle control precision testing 
+
* Android: Basic Android app
* Android: Adding each module functionality and status indicators
+
* BLE: Bridge to receive Driver Heartbeat
* BLE:
+
| <font color = green><B>Completed </B></font>
| Planned
 
  
 
| 04/16/2019
 
| 04/16/2019
Line 175: Line 172:
 
| 04/16/2019
 
| 04/16/2019
 
|
 
|
* Sensor: Parsed the raw data to achieve useful data
+
* Sensor: Design mounts and stabilize sensor input
* GPS: Parsing of raw data to get meaningful values
+
* GPS & Compass: Acquire GPS coordinate after GPS lock, Compass calliberation
* Compass & LCD: Integrating GPS co-ordinates with the compass to display on LCD
 
 
* Motor: Speed control and angle control precision testing   
 
* Motor: Speed control and angle control precision testing   
* Android: End-to-end testing with other modules
+
* Android: Develop User Interface for data display 
* BLE:
+
* BLE: Interfacing bridge to Android app
 
* PCB designing
 
* PCB designing
| Planned
+
| <font color = green><B>Completed </B></font>
  
 
| 04/23/2019
 
| 04/23/2019
Line 190: Line 186:
 
| 04/23/2019
 
| 04/23/2019
 
|
 
|
* Sensor: Integrate with other modules
+
* Sensor: Analysis for jitters in sensor value
* GPS: Integrate with other modules
+
* GPS & Compass: Range and bearing calculation
* Compass & LCD: Integrate with other modules
+
* Motor: Implemented LCD to display motor parameters
* Motor: Integrate with other modules
+
* Android: Adding UI for destination coordinates
* Android: Integrate with other modules
+
* BLE: Send checkpoints to GeoSensors
* BLE:
+
* Master: Testing Sensor Obstacle Distance Limits
* Master: Interfacing all modules together and integration testing
 
 
* PCB Designing
 
* PCB Designing
| Planned
+
| <font color = green><B>Completed </B></font>
  
 
| 04/30/2019
 
| 04/30/2019
Line 206: Line 201:
 
| 04/23/2019
 
| 04/23/2019
 
|
 
|
* Integration testing
+
* Integration testing with obstacle avoidance
 
* Order designed PCB  
 
* Order designed PCB  
| Planned
+
| <font color = green><B>Completed </B></font>
  
 
| 04/30/2019
 
| 04/30/2019
Line 216: Line 211:
 
| 04/30/2019
 
| 04/30/2019
 
|
 
|
* Outdoor testing and fixing issues if any
+
* Outdoor testing and GPS navigation
| Planned
+
| <font color = green><B>Completed </B></font>
  
 
| 05/07/2019
 
| 05/07/2019

Revision as of 06:32, 7 May 2019

Project Title

LightFury

Abstract

LightFury is an autonomous electric car project that aims to bring different embedded system paradigms together and consolidate them with industry level sophistication and robustness. This project will feature an RC car which will employ different sensors and motors to navigate the track without human assistance. Every sensor/motor combined with a dedicated functionality is managed and processed by a controller. Such different controllers will communicate with the master node using the CAN bus protocol. The autonomous car navigation is a result of all electronic module functioning harmoniously to reach the destination location.

Introduction

The project is divided into 7 modules:

  • Master Controller
  • Motor Controller
  • Sensor Controller
  • GPS Controller
  • Android application and Bluetooth Connectivity
  • Hardware (PCB designing)
  • Testing

Team Members & Responsibilities

<Team Picture>

Project Link: Gitlab Link


Schedule

Week# Start Date Task Status Completion Date
1 02/12/2019
  • Form Teams and decide group name. Also look up past projects and learn about the autonomous car design.
Completed 02/12/2019
2 02/19/2019
  • Setup Gitlab
  • Order CAN Transceivers. Study CAN communication.
  • Commit and raise merge request by each member to get hold over Gitlab basics
Completed 02/19/2019
3 02/26/2019
  • Setup Gitlab master branch for Project Light Fury. Create and merge branches for development tracking.
Completed 02/26/2019
4 03/05/2019
  • Read previous projects, gather information and discuss among the group members.
  • Distribute modules to each team member.
  • Divide the applications in different module for independent development.
  • Identify the baseline application.
Completed 03/09/2019
5 03/12/2019
  • Identify components required for the project
  • Allocated budget for the project
  • Order Components
Completed 03/19/2019
5 03/19/2019
  • Sensor: Perused the datasheet to get started with development
  • GPS: Went through the datasheet and circuitry details for GPS module(no.)
  • Compass & LCD: Read the respective datasheets and manuals
  • Motor: Getting hold of the specification and the user manuals
  • Android: Design the basic template of the Application
  • BLE: Thorough understanding of the module
Completed 03/26/2019
6 03/26/2019
  • Sensor: Successful interfaced ultrasonic with LPC to get raw data
  • GPS & Compass: Acquire data from GPS and Compass
  • Motor: Basic motor controlled vehicle orientation
  • Android: Interfacing with other modules
  • Unit-testing for each module
Completed 04/02/2019
7 04/02/2019
  • ----SPRING BREAK-----
Completed 04/09/2019
8 04/09/2019
  • Sensor: Parsed the raw data to achieve useful data
  • GPS & Compass: Parsing of raw data to get meaningful values
  • Motor: Take motor feedback through encoder and speed control on ramp
  • Android: Basic Android app
  • BLE: Bridge to receive Driver Heartbeat
Completed 04/16/2019
9 04/16/2019
  • Sensor: Design mounts and stabilize sensor input
  • GPS & Compass: Acquire GPS coordinate after GPS lock, Compass calliberation
  • Motor: Speed control and angle control precision testing
  • Android: Develop User Interface for data display
  • BLE: Interfacing bridge to Android app
  • PCB designing
Completed 04/23/2019
10 04/23/2019
  • Sensor: Analysis for jitters in sensor value
  • GPS & Compass: Range and bearing calculation
  • Motor: Implemented LCD to display motor parameters
  • Android: Adding UI for destination coordinates
  • BLE: Send checkpoints to GeoSensors
  • Master: Testing Sensor Obstacle Distance Limits
  • PCB Designing
Completed 04/30/2019
10 04/23/2019
  • Integration testing with obstacle avoidance
  • Order designed PCB
Completed 04/30/2019
11 04/30/2019
  • Outdoor testing and GPS navigation
Completed 05/07/2019
12 05/07/2019
  • Outdoor testing
Planned 05/14/2019
12 05/14/2019
  • ----FINAL PREP----
Planned 05/22/2019
12 05/22/2019
  • ----DEMO DAY----
Planned 05/22/2019

Parts List & Cost

Item# Part Desciption Vendor Qty Cost
1 RC Car Traxxas 1 From Prof. KaiKai Liu
2 CAN Transceivers MCP2551-I/P Microchip 15 Free Samples
3 Semtec GPS Microchip 1 Free Samples
4 Tilt Compensated Magnetic Compass Amazon 1 $29
5 LIPO Batteries + Charger 1 with car package
6 7" LCD 1
7 RPM 6520 Traxxas Amazon 1 $11.67
8 UltraSonic Sensor Maxbotix 4 $150
9 PCB PCBWay 1 $40.00 (estimated)

Printed Circuit Board

<Picture and information, including links to your PCB> Planned a single PCB to place and route CAN transceivers and eliminate dangling wires.

CAN Communication

With the help of CAN transceivers, each sensor module sends data in DBC format to the controller. The data from ultrasonic sensor helps in obstacle detection. The GPS and Compass Module helps with navigation. The LCD gives live information of component status and values. Finally there is motors and control unit for navigating the car as per the controller commands.

Hardware Design

<Show your CAN bus hardware design>

DBC File

Git Link to DBC file




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

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