F15: ThunderBird

From Embedded Systems Learning Academy
Revision as of 04:00, 13 October 2015 by 243 user4 (talk | contribs) (Schedule)

Jump to: navigation, search

ThunderBird : Self Driving Car

Abstract

This project features a self-driving RC car, with capabilities that include self-steering between two locations on a map using GPS,obstacle detection & avoidance, displaying various readings on the LCD mounted on the car itself.The locations are provided by an android application which communicates with the car using bluetooth .The car consists of 5 controller modules: Master, Motor, Sensor, GPS/Compass and Communication Bridge & I/O.We use 5 SJOne boards(Cortex-M3 LPC1758) to control the controllers which communicate using CAN bus.

Objectives & Introduction

Show list of your objectives. This section includes the high level details of your project. You can write about the various sensors or peripherals you used to get your project completed.

Team Members & Responsibilities

  • Sravani Aitha
    • Master controller
  • James Sushanth Anandraj
    • Master controller
  • Rishit Borad
    • GPS
  • Dheeraj Dake
    • Motors and I/O
  • Nitesh Jain
    • Sensors
  • Akhil Bhargav Josyabhatla
    • Motors and I/O
  • Rajashree Kambli
    • Sensors
  • Athavan Kanagasabapathy
    • Master controller
  • Vishnu Vardhana Reddy Mandalapu
    • Master controller
  • Ravikumar Vanjara
    • GPS

Schedule

Show a simple table or figures that show your scheduled as planned before you started working on the project. Then in another table column, write down the actual schedule so that readers can see the planned vs. actual goals. The point of the schedule is for readers to assess how to pace themselves if they are doing a similar project.

Proposed Schedule
Week Milestone
October (Week1)
  • Ordered RC (1:10)
  • Ordered components
  • Created Wiki project and update schedule
October (Week2)
  • Planned the overall communication design between the controllers.
  • Basic CAN Bus setup on the RC car.
October (Week3)
  • Complete the base CAN communication.
  • Development of individual modules.
October (Week4)
  • Basic functional testing of individual modules.
  • Create a base test report.
October (Week5)
  • Integrate the individual modules and do the basic system test.
  • Building Android Application.
  • Implement release control.
November (Week6)
  • Testing the prototype of the RC car.
November (Week7)
  • Unit testing of the code developed.
November (Week8)
  • Finalize project features
November (Week9)
  • Testing
December(Week10)
  • Trial runs and Fixing the issues.
December(Week11) Project Demonstration

Motor Team and I/O Schedule

Sl. No Start Date End Date Task Status Actual Completion Date
1 10/6/2015 10/13/2015 Determining the ESC initialization sequence
2 10/13/2015 10/20/2015 Testing the Servo and DC motor using SJ One board PWM's
3 10/20/2015 10/27/2015 Design motor control using messages from the CAN bus
4 10/27/2015 11/3/2015 Implement code to accept messages from other modules over CAN bus and display it on the LCD
5 11/3/2015 11/10/2015 Update motor speeds on the LCD in real time
6 11/10/2015 11/17/2015 Interface I/O and motor modules with master controller and establish communication
7 11/17/2015 11/24/2015 Fine turning motors for precise control
8 11/24/2015 12/01/2015 Fine tuning (buffer)
9 12/01/2015 12/08/2015 Testing and debugging

Parts List & Cost

S.R. Description Manufacturer Part Number Qty Total Cost
1 SJOne Board - - 5 $400.00
2 RC Car Furry Arrma - 2 Wheel Drive - 1/10 - 1 $185.00
3 Ultrasonic Sensor LV-MaxSonar - EZ1 MB1010 5 $140.00
4 1.8 Color TFT LCD display with MicroSD Card Breakout Adafruit ST7735R 1 $19.95
5 SparkFun Venus GPS with SMA Connector Sparkfun GPS-11058 1 $49.95
6 Triple-axis Magnetometer (Compass) Board Adafruit HMC5883L 1 $9.95
7 CAN Transceiver (Free Samples) Microchip MCP2551 6 $0.00
Total (Including Shipping and Taxes ----

Design & Implementation

The design section can go over your hardware and software design. Organize this section using sub-sections that go over your design and implementation.

Hardware Design

Discuss your hardware design here. Show detailed schematics, and the interface here.

Hardware Interface

In this section, you can describe how your hardware communicates, such as which BUSes used. You can discuss your driver implementation here, such that the Software Design section is isolated to talk about high level workings rather than inner working of your project.

Software Design

Show your software design. For example, if you are designing an MP3 Player, show the tasks that you are using, and what they are doing at a high level. Do not show the details of the code. For example, do not show exact code, but you may show psuedocode and fragments of code. Keep in mind that you are showing DESIGN of your software, not the inner workings of it.

Implementation

This section includes implementation, but again, not the details, just the high level. For example, you can list the steps it takes to communicate over a sensor, or the steps needed to write a page of memory onto SPI Flash. You can include sub-sections for each of your component implementation.

Sensor Controller

Motor and I/O Controllers

GPS Controller

Master Controller

Bluetooth Control and Android application

Testing & Technical Challenges

Describe the challenges of your project. What advise would you give yourself or someone else if your project can be started from scratch again? Make a smooth transition to testing section and described what it took to test your project.

Include sub-sections that list out a problem and solution, such as:

My Issue #1

Discuss the issue and resolution.

Conclusion

Conclude your project here. You can recap your testing and problems. You should address the "so what" part here to indicate what you ultimately learnt from this project. How has this project increased your knowledge?

Project Video

Upload a video of your project and post the link here.

Project Source Code

References

Acknowledgement

Any acknowledgement that you may wish to provide can be included here.

References Used

List any references used in project.

Appendix

You can list the references you used.