This project enables 3D map updates using LIDAR traces and a high-definition (HD) map of an environment. The system is divided into three main components:
- Visualizer - Visualizes LIDAR trace and map updates.
- Client-Server Model - Facilitates storage, updates, and downloading of the base map.
- CMake Project - Processes LIDAR trace data to detect changes using a custom ray-tracing algorithm.
visualizer.py: Visualizes the LIDAR data and map updates.map_cloud_server.py&map_cloud_client.py: Components of the client-server model for base map updates.- CMake project for ray-tracing algorithm-based trace processing.
Create and activate the environment:
conda create --name open3d-env python=3.6 # Create the environment
conda activate open3d-env # Activate the environment
pip install open3d==0.15.1 # Install Open3DAfter configuring your file paths, run:
python visualizer.pyYou can use , . to go back or forward one frame respectively, depending on your step size. You can also pause, move around, ctrl+click, right click, and press R to reverse the player.
The client-server model allows storing, updating, and downloading changes to the base map.
python map_cloud_server.py # Run the server
python map_cloud_client.py # Run the client after setting the input trace pathThe CMake project utilizes a previously captured LIDAR trace for detecting map updates. It features a custom ray-tracing algorithm for efficient change detection.
- Ensure CMake is installed on your system.
- Configure the project, build and run:
cmake
make
./3dMapUpdates- Run the executable to process the LIDAR trace.
Feel free to contribute to the project by forking the repository, creating new branches, and submitting pull requests!
- You might want to update apt
apt update - Install cmake
apt install cmake - If you don't already have git, get it:
apt install git - Git clone vcpkg
git clone https://github.com/microsoft/vcpkg.git - In vcpkg directory
cd vcpkg, run the file./bootstrap-vcpkg.sh - Integrate install:
vcpkg integrate install - Install PCL with visualization module -
vcpkg install pcl[visualization](This can take 30 minutes or so) - Git clone the repo
git clone https://github.com/samsitGit/3dMapUpdates - Go to the project
cd 3dMapUpdatesthen configure the project with CMake:cmake - You may want to go into your 3dMapUpdates.cpp to change file paths for your ego and a complete trace unless you are on Irfan's computer.
- Compile the program to get an executable:
make - Run the file
./3dMapUpdates
- Follow this to set up and install CMake and vcpkg: https://learn.microsoft.com/en-us/vcpkg/get_started/get-started-vs?pivots=shell-cmd
- Run this command to set up vcpkg related libraries:
vcpkg install - Install PCL with vcpkg -
vcpkg install pcl - Add vcpkg to your PATH in environmental variables.
- Add vcpkg as VCPKG_ROOT to your environmental variables.
- Modify your
CMakePresets.jsonto set all"DCMAKE_TOOLCHAIN_FILE"(there are multiple) to vcpkg.cmake located in scripts > buildsystems folder where you installed vcpkg. - Now you can open this diretory in Visual Studio (install it if you haven't), and it will configure it.