Project Title
<Team Name>
Abstract
In the HOT WHEELS project, we plan to design and construct an autonomously navigating, electric R.C car which uses CAN bus for internal communication and an android app for selecting car destination. Development of the R.C car's subsystem modules will be divided amongst the eight team members.
Introduction
The project was divided into N modules:
- Sensor ...
- Motor..
- ...
- Android
Team Members & Responsibilities
<Team Picture>
Gitlab Project Link - [1]
<Provide ECU names and members responsible>
<One member may participate in more than one ECU>
- Master Control
- Kailash Chakravarty
- Harmeen Joshi
- Geographical
- Harmeen Joshi
- Nandini Shankar
- Communication Bridge Controller & Android Application
- Swanand Sapre
- Aquib Mulani
- Code Review & Commit Approvers
- Rishabh Sheth
- Nandini Shankar
Schedule
Week#
|
Date
|
Task
|
Status
|
Completion Date
|
1
|
02/12/19
|
|
|
|
2
|
02/17/19
|
- Setup a Slack workspace for the team.
- Setup private channel on Slack workspace
|
|
|
3
|
02/26/19
|
- Create a Gitlab project and add all team members as well as Preet
- Order CAN transcievers
- All team members get familiar with the Gitlab environment and make their initial commit.
|
- Completed
- Completed
- Completed
|
- 02/26/19
- 02/26/19
- 02/26/19
|
4
|
03/05/19
|
- Research previous projects wiki page and gather useful information.
- Discuss about roles and study data sheet of the required parts and list down minimum two parts for each required function.
- Demo CAN Communication
|
- Completed
- Completed
- Completed
|
- 03/07/19
- 03/07/19
- 03/07/19
|
5
|
03/12/19
|
- Finish ordering components for addtl modules (GPS/compass, LCD, Sensors,etc)
- Init Android project/begin work & research on UI fragments, Bluetooth, Maps API
- Start working with PWM API to interface with RC Car
- Make high-level block diagram of system
- Pick PCB design platform and begin work on PCB design/schematic
|
- In-Progress
- In-Progress
- Not Started
- Not Started
- Not Started
|
|
6
|
03/19/19
|
- Finalize PCB design/order by end of week
- Set-up Bluetooth API on Android app/transmit to board
- Interface GPS module to SJOne Board over UART
|
|
|
7
|
03/26/19
|
|
|
|
8
|
04/02/19
|
|
|
|
9
|
04/09/19
|
|
|
|
10
|
04/16/19
|
|
|
|
11
|
04/23/19
|
|
|
|
12
|
04/30/19
|
|
|
|
13
|
05/07/19
|
|
|
|
14
|
05/14/19
|
|
|
|
15
|
05/22/19
|
|
|
|
Legend: Motor & I/O Controller , Master Controller , Communication Bridge Controller, Geographical Controller, Sensor Controller , Team Goal , Team PCB, , Team Android
Week#
|
Start Date
|
End Date
|
Task
|
Actual Completion Date / Notes
|
Status
|
1
|
10/02/2019
|
07/03/2019
|
- Research previous projects wiki page, gather useful information.
- Discuss about roles and study data sheet of the required parts and list down minimum two parts for each required function.
- Setup Git and slack accounts and verify that access is provided to all the team mates.
|
10/15/2017
|
Done
|
|
2
|
10/16/2017
|
10/22/2017
|
- Design Hardware layout for the project, schematic shall identify all the modules, ports and the pins interfaced.
- Design sensor and motor board's schematic in eagle PCB.
- Design data flow diagram for all the software exchanges between the modules and the master.
- Complete DBC file based upon the design data flow diagram and share the file via GIT repo.
- Study about GPS and Compass calibration .
- Interface motor and drive using Preet's PWM driver API. Find different levels of speed and direction.
- Interface one sonic sensor to the sensor controller. Receive data and calculate distance. Write send, receive and MIA functions to be able to perform basic CAN communication.
- Study Android application software and approaches from previous projects and document the required features being provided by the application.
- Order finalized Components.
|
10/22/2017
|
Done on time except
- PCB design was changed to only one PCB that will gather all controllers and have Can Bus on it.
|
|
3
|
10/23/2017
|
10/29/2017
|
- Start interfacing received components to respective Nodes and do a superficial testing of components.
- Design GPS/Compass, Bluetooth and master board's schematic in eagle PCB.
- Identify and document best approach to calibrate Compass.
- Experiment on duty cycle suitable for direction and speed of the motors
- Communicate with Master and set speed and directions.
- Interface RPM sensor and calculate speed in KPH
- Interface all three front sonic sensor to the sensor controller. Apply filtering to get reliable data and send data to Master Controller.
- Document Android approaches and decide on how to design the app and fix the protocol to exchange data with Bluetooth module.
|
10/29/2017
|
Done on time except
- Filtering was not applied at this time
|
|
4
|
10/30/2017
|
11/05/2017
|
- Interface RPM sensor and measure Speed.Maintain the speed based on feedback for uphill and downhill
- Improve the trajectory of the car using algorithm based on speed and directions
- Stress test front sensors in different environment conditions indoor, outdoor and compare data. Also change different angles for sensors and find best angles for most reliable data and maximum coverage.
- Start development of software modules for GPS and Compass modules and document the efforts and ways to test the algorithm.
- Test can bus communication by mounting master, sensor and motor modules and transmitting master related commands.
- Mount the parts on off shelf PCB for Demo 1 and verify the wiring connections and verify that CAR is ready for the demo,
|
11/03/2017
|
Done on time
|
|
5
|
11/06/2017
|
11/12/2017
|
- Finish Bearing Angle Calculation.
- Control the Car's speed on detection of obstacle.
- Interface back sensor, receive, filter and send data. All sensors should be working properly by now and master should be getting stable values even while car is on the move.
- Finish development of algorithm for Compass & GPS calibration and verify that the direction obtained from the modules with that of any off shelf smartphone's Compass.
- Car should now move without hitting "any" obstacle when powered on. Car should be able to take a reverse if required.
|
11/12/2017
|
Done.
- Back sensor was not yet interfaced. Filtering applied for front sensors.
|
|
6
|
11/13/2017
|
11/19/2017
|
- Interface the LCD with micro controller and do basic display of text
- Prepare design and possibly try to finish 3D printing or figure out some other hardware solution for sensor mount for final car design.
- Share Gerber files with the PCB fabrication house and order 2 PCB.
- Design basic Android application UI, which can verify that the communication with BT module was successful or not
- Fetch current longitude and latitude values from GPS modules via BT app and send all the checkpoints to the destination via BT app and BT module to master and verify the link between GPS/Compass, master and BT module and Application is working as expected.
|
11/18/2017
|
Done except,
- PCB design not finished yet.
- Back sensor interfaced.
|
|
7
|
11/20/2017
|
11/25/2017
|
- Display speedometer, longitude and direction values
- Mount sensors on new/final hardware solution, position them properly and test again received data while car is in move.
- If the link between Geo, BT, master and Motor module is working, perform outdoor system testing.
|
11/25/2017
|
Done.
- PCB design finished and main PCB board ordered
- Still waiting for sensor mounts 3D printing to be finished.
|
|
8
|
11/26/2017
|
12/01/2017
|
- Connect battery output to ADC channel and read back the battery parameters.
- Interface Head lights and turn them ON based on light sensor value.
- Implement automatic bluetooth connection between APP and bluetooth module
- Sensor breakout PCB design and ordered
|
12/01/2017
|
Done.
- Decided not to interface head lights, to prolong the battery.
|
|
9
|
12/03/2017
|
12/08/2017
|
- Display the battery parameters on LCD.
- Perform round 1 of system testing.
- Start documenting project report by collaborating artifacts produced during project development.
- Fix the bugs in system testing.
|
12/08/2017
|
Done.
- Discovered the bugs with respect to bearing angle calculation, GPS configuration and Motor Speed.
- Modified the bearing angle calculation algorithm to use haversine formula instead of vector projection method. Configured GPS to use GNGGA.
|
|
10
|
12/10/2017
|
12/12/2017
|
- Perform round 2 of system testing.
- Start documenting project report by collaborating artifacts produced during project development.
- Fix the bugs in system testing.
|
12/12/2017
|
Done.
- Created a rough draft report of all the modules. Applied averaging on GPS values.
|
|
11
|
12/13/2017
|
12/16/2017
|
- Perform round 3 of system testing.
- Work on unfinished project report documentation.
- Fix the bugs in system testing.
|
12/16/2017
|
Done
- Improved GPS stability by enabling differential correction for GPS.
|
|
12
|
12/17/2017
|
12/19/2017
|
- Perform round 4 of system testing.
- Fix the bugs in system testing.
- Record a video to demonstrate project working and features.
- Complete Documentation of wiki page.
|
12/19/2017
|
Done.
- Car is ready for the demo. Video editing is in progress.
|
|
13
|
12/20/2017
|
|
|
12/20/2017
|
Done.
- Car successfully navigated to it's destination
|
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>
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>
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 ===