S20: Canster Truck

From Embedded Systems Learning Academy
Revision as of 06:58, 31 March 2020 by 243 user2 (talk | contribs) (Schedule)

Jump to: navigation, search
CAN-STER TRUCK LOGO

Abstract

The CAN-STER Truck Project is an autonomous RC car with CAN Bus interfaced controllers. The development of the RC car's subsystem modules (Interfacing of Ultrasonic Sensor, LIDAR, Bluetooth, GPS, and CAN modules) was divided among six team members. The aim of the project is to develop an autonomous RC Car which can navigate from the source location to a selected destination by avoiding obstacles in its path using sensors and motors.


Introduction

The project was divided into 7 modules:

  • Bridge and Sensor Controller
  • Motor Controller
  • Geological Controller
  • Driver and LCD Controller
  • Hardware Integration
  • Android Application
  • Testing & Code Review



Team Members & Responsibilities

Gitlab Project Link - CAN-STER Truck

  • Niket Naidu LinkedIn Gitlab
    • Geological Controller
    • Testing & Code Review
    • Android Application
  • Ganesh Ram Pamadi LinkedIn Gitlab
    • Motor Controller
    • Hardware Integration
    • Testing & Code Review
  • Nikhil Pabbisetty LinkedIn Gitlab
    • Bridge and Sensor Controller
    • Motor Controller
  • Akhil Cherukuri LinkedIn Gitlab
    • Android Application
    • Geological Controller
  • Ashish Anant Ladage LinkedIn Gitlab
    • Driver and LCD Controller
    • Hardware Integration
  • Jesus De Haro De Reza LinkedIn Gitlab
    • Bridge and Sensor Controller
    • Motor Controller


Administrative Responsibilities


Schedule

Week# Start Date End Date Task Status
1 02/11/2020 02/17/2020
  • Form teams and decide group name
  • Review past projects
  • Slack: Create project group and invite Preet
  • Gitlab: Create project groups repository
  • Analysis of component required
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
2 02/18/2020 02/24/2020
  • Study CAN Communication
  • Create Bill of Materials
  • Order RC Car
  • Completed
  • Completed
  • Completed
3 02/25/2020 03/02/2020
  • Setup team finance management using Splitwise
  • Complete Bill of Materials
  • Order all other required components
  • Wikipedia: Setup project report template
  • Completed
  • Completed
  • Completed
  • Completed
4 03/03/2020 03/09/2020
  • Read the respective datasheets and manuals for each component
  • Test each component for working conditions
  • Completed
  • Completed
5 03/10/2020 03/16/2020
  • Assign team responsibilities and roles
  • Setup team project management environmnet
  • Define CAN DBC
  • Research GPS antennas and order
  • Android: Environmental setup of Android Studio and enable version control
  • Hardware : Decide PCB editing software (Kicad vs Eagle)
  • Hardware : Draft schematic for required PCB design
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
6 03/17/2020 03/23/2020
  • Hardware : Create CAD model of PCB
  • Hardware : Create 3D models for RC mounts
  • Android: Add a Button for changing bluetooth connection status in the application
  • Geological: Interface Compass module with SJ-2 board using I2C interface
  • Geological: Interface GPS module with SJ-2 board using the UART interface
  • Geological: Parse raw data to get meaningful values for GPS and Compass
  • Sensor: Interface and check the functionality of ultrasonic sensors to the SJ-2 board
  • Motor: Interface of Servo & DC motor to the SJ-2 board and check for basic functionality
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
  • Completed
7 03/24/2020 03/30/2020
  • Hardware : Finalize components placement on PCB.
  • Motor: Add PWM functionality and test the code on DC and servo motors
  • Sensor: Interface and check and study the output readings of Lidar sensor with SJ-2 board over UART
  • LCD Display: Explore UI designing of LCD
  • Hardware: Finalize on optimal ultrasonic sensor placements
  • Android: Initiate Bluetooth communication and show staus via text view
  • Wikipedia: Establish final wiki schedule
  • Complete CAN communication format for each controller and link DBC file to the Wiki
  • Complete high-level system block diagram
  • Complete unit-level block diagrams
  • Bridge: Interface HC-5 bluetooth module with Sj-2 board using serial communicaton
8 03/31/2020 04/06/2020
  • Hardware: Analyze PCB model and order PCB Circuit board
  • Hardware: Analyze 3D CAD drawing for ultrasonic mounts and print out the modules
  • Android: Initiate Bluetooth communication and send "Hello World".
  • Wikipedia: Start adding information/images/diagrams to the relevant sections
  • Motor: Configure ESC for correct speed outcome according to frequency & PWM values.
  • Motor: Finish wheel encoder implementation and integration.
  • Geological: Implement waypoints algorithm
  • Driver: Implement obstacle avoidance algorithm
  • Bridge: Pass data such as "Hello World" from HC-05 bluetooth module to bluetooth terminal android application
9 04/07/2020 04/13/2020
  • Hardware: Remove Unused parts from RC Car
  • Hardware: Mount PCB and 3D Parts
  • Motor: Decide different cut-off values from sensor to command right /slight right/ straight/ slight left/ left to motor.
  • Android: Embed Google Maps API for setting the car's destination.
  • LCD: Work to show RC cars live status information(battery level, current speed, long, lat, bearing, sensor data, etc)
  • Driver: Test obstacle avoidance algorithm and fine-tune sensor readings
  • Geological: Test checkpoint algorithm
  • Bridge: Establish two way communication between android application and bluetooth module
  • Update Bill of Materials for miscellaneous hardware
10 04/14/2020 04/20/2020
  • Hardware: Integrate all hardware modules
  • LCD: Testing & Validation of the LCD UI and display vehicle status information
  • Android: Send car location to the app and checkpoints received to Geo module
  • Motor: Optimize PID control by accelerating/decelerating as instructed by Driver
  • Bridge: Configure HC-05 for auto reconnection if bluetooth communication disconnects
  • Add multiple debug messages and transmit on CAN
11 04/21/2020 04/27/2020
  • Android: Send additional vehicle status information from RC car to the Application for display
  • Android: Finalize User Interface Design and Icon
  • Continuously test the whole system and handling of corner cases (outside).
  • Finalize RC Car For Project Proto 1
12 04/28/2020 05/04/2020
  • Gitlab: Push final code
  • April 28th: Project Proto 1
  • Finalize RC Car for Project Demo
  • May 1st: Project Presentation
  • Finalize RC Car for Project Proto 2
13 05/05/2020 05/21/2020
  • Complete Individual Contribution Peer Grading
  • Review and Complete Wiki Project Page


Bill Of Materials

Item# Part Desciption Part Model & Vendor Quantity Cost in USD
1 Microcontroller Boards SJ2 Boards (Purchased from Preet Kang) 5 $250.00
2 CAN Transceivers Waveshare SN65HVD230 12 $54.48
3 RC Car Traxxas 2WD RTR with 2.4Ghz Radio 1 $260.00
4 Lithium-Ion Battery Traxxas 7600mAh 2S 7.4V 25C iD LiPo Battery Pack 1 $75.00
5 Lithium-Ion Battery Charger Traxxas 2970 EZ-Peak Plus 4-Amp NiMH/LiPo Fast Charger 1 $50.00
6 Compass Breakout Board DFRobot CMPS11 Compass 1 $29.99
7 Bluetooth Breakout Board DSD TECH Bluetooth HC-05 1 $8.49
8 LIDAR Sensor SEEED STUDIO RPLIDAR A1M8 1 $109.99
9 RPM Sensor Traxxas 6520 RPM Sensor 1 $13.70
10 GPS Breakout Board Adafruit Ultimate GPS Breakout v3 1 $44.30
11 LCD Display 4Dsystems 3.2 TFT-LCD ULCD-32PTU 1 $79.00
12 Ultrasonic Sensors ELEGOO HC-SR04 Ultrasonic Module 5 $12.00
13 GPS Antenna 1 $
14 Miscellaneous [Car RC Parts] ~ $31.08


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