S20: Bucephalus

From Embedded Systems Learning Academy
Revision as of 19:20, 19 March 2020 by Proj user2 (talk | contribs) (Team Members & Responsibilities)

Jump to: navigation, search

Project Title

<Team Name>



Abstract

<2-3 sentence abstract>

Introduction

The project was divided into N modules:

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

Team Members & Responsibilities

<Team Picture>

Bucephalous GitLab - [1]


Schedule

Week# Start Date End Date Task Status
1 02/16/2020 02/22/2020
  • Setup a team Google Docs folder
  • Brainstorm RC car design options
  • Research past semester RC car projects for ideas and parts needed
  • Put together a rough draft parts list
  • Setup a team GitLab repository
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
2 02/23/2020 02/29/2020
  • Decide on and order chassis
  • Discuss possible GPS modules
  • Discuss schedule for meeting dates and work days (Tuesdays are for code review and syncing, Saturdays are work days)
  • Discuss bluetooth communication approach (1 phone on car, 1 phone in controller's hands)
  • Discuss vehicle's driving checkpoints (checkpoints calculated after point B is specified)
  • Discuss wiring on RC car (1 battery to power motors and 1 power bank for everything else)
  • Discuss GitLab workflow (mirror our repo with Preet's, 3 approvals to merge to "working master" branch, resolve conflicts on "working master" branch, then can merge to master branch)
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
3 03/01/2020 03/07/2020
  • Decide on sensors (4 ultrasonic sensors: 3 in front, 1 in back)
  • Decide on a GPS module (Adafruit ADA746)
  • Research GPS antennas
  • Decide on CAN transceivers (SN65HVD230 IC's)
  • Request 15 CAN transceiver samples from ti.com
  • Discuss tasks of all 4 board nodes (geographical, driver, motors, bridge controller/sensors)
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
4 03/08/2020 03/14/2020
  • Assemble car chassis and plan general layout
  • Delegate tasks for each 2 person teams
  • Create branches for all nodes and add motor and sensor messages to DBC file
  • Discuss and research possible GPS antennas
  • Design block diagrams for motor node, bridge controller/sensor node, and full car
  • Solve GitLab branches vs folders issue (1 branch per node, or 1 folder per node)
  • Order 4 + 1 extra ultrasonic sensors (MaxBotix MB1003-000 HRLV-MaxSonar-EZ0)
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
5 03/15/2020 03/21/2020
  • Decide what to include on PCB board
  • Decide on PCB software
  • Discuss PCB board layout design
  • Start learning Android app development
  • Order GPS antenna
  • Motor node is able to respond correctly based on sensor obstacle detection scenarios (correct LED's light up)
  • Ultrasonic sensor values are converted to centimeters and transmit to driver node
  • Research ultrasonic sensor mounts
  • Transmit CAN messages from sensor to driver node, and from driver to motor node
  • Decide movement and steering directions based on all possible sensor obtacle detection scenarios
  • Add GPS node messages (longitude, latitude, heading) and bridge sensor node messages (destination latitude and longitude) to DBC file
  • Geological node is able to parse an NMEA string to extract latitude and longitude coordinates
  • Read previous student's reports to decide on a compass module
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
6 03/22/2020 03/28/2020
  • Finalize PCB layout and order PCB
  • Finish basic Android app without Google maps API
  • Design car state machine
  • Finish unit testing motors with LPC4078
  • Learn how to integrate Google maps API into Android app
  • Discuss obstacle avoidance algorithm
  • Discuss checkpoint algorithm
  • Geological node is able to transmit latitude and longitude coordinates to driver node
  • Geological node is able to parse an NMEA string to extract latitude and longitude coordinates
  • Bridge sensor node is able to transmit a CAN message with destination latitude and longitude coordinates to driver node
  • Order ultrasonic sensor mounts
  • Order compass module
7 03/29/2020 04/04/2020
  • Finish unit testing sensors with LPC4078
  • Test PCB with LPC4078
  • Work on GPS module integration
  • Integrate motors with LPC4078
  • Finish unit testing sensors
  • Finalize car block diagram
  • Finalize car state machine
8 04/05/2020 04/11/2020
  • Transmit GPS coordinates to LPC4078
  • Test GPS module integration with LPC4078
  • Complete rough draft of DBC file messages and signals
  • Integrate PCB with LPC4078
  • Integrate sensors with LPC4078
  • Integrate PCB board onto chassis
9 04/12/2020 04/18/2020
  • Test obstacle avoidance algorithm (indoor)
  • Test checkpoint algorithm (indoor)
  • Establish and test CAN communication between all boards
  • Finalize Displaying sensor and compass data on Android app
  • Finish GPS module integration with LPC4078
10 04/19/2020 04/25/2020
  • Finish all unit testing code for each controller
  • Test obstacle avoidance algorithm (outdoor)
  • Test checkpoint algorithm (outdoor)
  • Transmit destination coordinates from Android app
11 04/26/2020 05/02/2020
  • Finalize destination coordinate transmission from Android app
  • Finalize obstacle avoidance algorithm
  • Finalize checkpoint algorithm
  • Test drive from start to destination (indoor)
12 05/03/2020 05/09/2020
  • Test drive from start to destination (outdoor)
  • Finalize DBC file
  • Complete Wiki report
13 05/10/2020 05/16/2020
  • Demo
  • Push final code to GitLab


Parts List & Cost

Item# Part Desciption Vendor Qty Cost
1 RC Car Traxxas 1 $250.00
2 CAN Transceivers MCP2551-I/P Microchip [2] 8 Free Samples


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

Advise for Future Students

<Bullet points and discussion>

Acknowledgement

=== References ===