Skip to content

vlmarkov/self-driving-car

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

Self-Driving Car

A very basic self driving car based on Rapsberry Pi5 board.

Features

  • lane detection
  • motion calibation
  • manual control

Requirements

  • ubuntu 24.04
  • latest cmake version
  • latest gcc or clang version
  • gtest
  • wiringpi
    • do not forget to add user to gpio group
    • or sudo chmod g+rw /dev/gpiomem0
  • opencv
    • sudo ln -s /usr/include/opencv4/opencv2 /usr/include/opencv2
  • ros2
  • LCCV LCCV (libcamera bindings for OpenCV) is a small wrapper library that provides access to the Raspberry Pi camera in OpenCV.

Prepare your ROS2 environment

  1. According to official documentation for every new shell you will need to run this command to have access to the ROS 2 commands:
source /opt/ros/jazzy/setup.bash
  1. Alternative way is to add sourcing to your shell startup script
echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
  1. But for build rule and especially for install directory you have mannualy set the environment:
source install/local_setup.bash

Build

make all

Test

make tests

Run

  1. Choose module to run
sudo bash -c "chmod g+rw /dev/gpiomem0 && source /opt/ros/jazzy/setup.bash && source install/local_setup.bash && ros2 run motion-calibration motion_calibration"

sudo bash -c "source /opt/ros/jazzy/setup.bash && source install/local_setup.bash && ros2 run lane-detection lane-detection"

sudo bash -c "source /opt/ros/jazzy/setup.bash && source install/local_setup.bash && ros2 run main-pipeline main_pipeline"

sudo bash -c "source /opt/ros/jazzy/setup.bash && source install/local_setup.bash && ros2 run manual-control manual_control 192.168.1.70 8080"

About

Self-Driving Car based on Raspberry Pi 5 board

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published