Skip to content

Latest commit

 

History

History
75 lines (62 loc) · 3.16 KB

README.md

File metadata and controls

75 lines (62 loc) · 3.16 KB

DES_PDC-System

Collection of repositories for SEA:ME DES_PDC-System implementation

Sensors

  • acdc_sensor: Arduino code for ultrasonic sensor
  • rmp_sensor: Arduino code for rpm sensor

Vehicle

  • car_control: Main process for driving controls, and receiving inputs from multiple sources
  • can_transceiver: Processes CAN data received from multiple sensors
  • battery_info: Provides vehicle's battery status informantion to other processes

Front-end Applications

  • Instrument cluster: Provides overview of the vehicle to the user
  • Head unit: Provides multimedia features to the user

Image Processing

  • ad_perception: Image processing process for autonomous lane keeping drive mode
  • pydbus_module: Acts as a bridge for python dbus and CommonAPI

Yocto

  • meta-dashboard: bitbake layer for instrument cluster
  • meta-headunit: bitbake layer for head unit

Others

  • FrancaIDL: Collection of .fidl, .fdepl files used in this project

Features

Vehicle

  • Controllerable by using gamepad
  • Autonomous lane keeping drive mode
  • Distance control using proximity sensor
  • 2ch CAN bus interface for collection data from sensors
  • Internal ethernet route for CommonAPI

Instrument Cluster

image

  • Speedometer
  • Battery Status
  • Gear Indicator
  • Proximity Indicator
  • Turn Indicator
  • Media Info
  • Darkmode

Head Unit

image

  • Gear Indicator
  • Gear Selection
  • Music Playback
  • Video Playback
  • Darkmode

Hardware Setup

image image

RPM sensor is installed on the rear wheel. 2 Ultrasonic sensors are installed on the front and rear side of the vehicle. Extra powerbank was used to power up jetson nano, since it is impossible to run motors and 2 ECUs at the same time using single battery pack. No ethernet cable was used, since all the boards have WLAN interface.

Communication Diagram

image CommonAPI-SOME/IP binding was used in this project as an inter process communication. Each application provides data or subscribes to other applications to get the data.

See also