A very basic self driving car based on Rapsberry Pi5 board.
- lane detection
- motion calibation
- manual control
- 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.
- 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
- Alternative way is to add sourcing to your shell startup script
echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
- But for build rule and especially for install directory you have mannualy set the environment:
source install/local_setup.bash
make all
make tests
- 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"