A very basic self driving arduino car
- path planning
- obstacle avoidance
- lane detection/holding
- motion planing
- manual control
- ubuntu 24.04
- latest cmake version
- latest gcc or clang version
- arduino ide
- 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
- 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
ros2 run main-pipeline main_pipeline
ros2 run manual-control manual_control
ros2 run path-planning path_planning
ros2 run obstacle-avoidance obstacle_avoidance
ros2 run lane-detection lane-detection
ros2 run motion-calibration motion_calibration