Skip to content

SEA-ME-COSS/ECU-Control

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

Architecture_ECU-Control

This repository is for the ECU-Control part of the Autonomous-Driving-System project. The ECU-Control is based on an independent RaspberryPi board and operates a physical PiRacer model vehicle. It controls the throttle and steering of the PiRacer using data received via CAN communication from the ECU-Core.

Requirements

  • Ubuntu 20.04

    Install Ubuntu 20.04 for RaspberryPi using RaspberryPi OS Imager.

  • CAN HAT setup

    Follow the instruction of 2-CH CAN FD HAT setup and enable Single SPI Mode.

  • Python packages

    pip install piracer-py
    pip install python-can
    pip install pygame

Usage

# Execute on the ECU-Control
sh can_setup.sh
python3 src/control.py

(Optional) You can check the CAN communication using keyboard controller.

# Execute on the ECU-Core
sh can_setup.sh
python3 src/keyboard_controller.py

When you run the controller, a small pygame window will appear. Click on it and press the WASD keys on the keyboard to operate PiRacer.

Note

Context of CAN communication

Message Purpose Arbitration ID
steering Control 0x00
throttle Control 0x01
x position GPS 0x02
y position GPS 0x03
orientation GPS 0x04
headunit start Autonomous driving 0x05

Reference