drive_testing.mp4
This project involves an autonomous driving project using piracer.
We chose ROS2 as the middleware, and the basic structure consists of Perception, Localization, Path Planning, and Control.
To facilitate individual testing, we implemented the virtual environment in Gazebo and also conducted real vehicle tests.
Ultimately, we integrated with In-Vehicle Infotainment to combine the autonomous driving system with the distributed embedded system.
We also provide OTA service so that users can update HeadUnit using MQTT.
You can test two versions. If you want to test ADS in the Simulator, first set up the Simulation environment.
After that, install dependencies.
-
Eigen
sudo apt update sudo apt install libeigen3-dev
-
Ceres
sudo apt update sudo apt install libeigen3-dev libgoogle-glog-dev libgflags-dev sudo apt install libceres-dev
-
ompl
sudo apt install libompl-dev
-
ros msg apt install
sudo apt update sudo apt install ros-foxy-rclcpp sudo apt install ros-foxy-nav-msgs sudo apt install ros-foxy-geometry-msgs sudo apt install ros-foxy-tf2 sudo apt install ros-foxy-tf2-geometry-msgs sudo apt install ros-foxy-example-interfaces sudo apt install ros-foxy-std-msgs sudo apt install ros-foxy-vision-msgs sudo apt install ros-foxy-sensor-msgs
For more detailed information, refer to the following pages.
To run in the Gazebo Simulator, launch the simulator as described in Autonomous-Driving-Simulation.
ros2 launch sim sim.launch.py
After building, run the launch file.
colcon build --symlink-install
source install/setup.bash
ros2 launch ads_launch simulation_ads.launch.py
Real World Usage
- Yocto Project. (2021). Yocto Project. https://www.yoctoproject.org/
- Qt Project. (2021). Qt Project. https://www.qt.io/
- Raspberry Pi Foundation. (2021). Raspberry Pi. https://www.raspberrypi.org/
- CAN specification documents: http://esd.cs.ucr.edu/webres/can20.pdf
- ROS2 foxy. https://docs.ros.org/en/foxy/index.html
- Gazebo. https://gazebosim.org/home
- Mosquitto MQTT. https://mosquitto.org/
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.