(Left) Photo of the Scene, (Middle) ImMesh, (Right) ImMesh_PGO running on unsw_lowercampus_20240916.bag.
Following this ROS Installation to install ROS and its additional pacakge:
sudo apt-get install ros-XXX-cv-bridge ros-XXX-tf ros-XXX-message-filters ros-XXX-image-transport ros-XXX-image-transport*
NOTICE: remember to replace "XXX" on above command as your ROS distributions, for example, if your use ROS-noetic, the command should be:
sudo apt-get install ros-noetic-cv-bridge ros-noetic-tf ros-noetic-message-filters ros-noetic-image-transport*
Follow this livox_ros_driver Installation.
sudo apt-get install -y libcgal-dev pcl-tools
sudo apt-get install -y libgl-dev libglm-dev libglfw3-dev libglew-dev libglw1-mesa-dev
sudo apt-get install -y libcgal-dev libxkbcommon-x11-dev
Follow this GTSAM Get Started.
Clone this repository and catkin_make:
cd ~/catkin_ws/src
git clone https://github.com/YixFeng/ImMesh_PGO.git
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash
Use this command, you can run unsw_lowercampus_20240916.bag.
roslaunch immesh_pgo mapping_horizon.launch
rosbag play unsw_lowercampus_20240916.bag
Since I only incrementally updated the mesh after the loop-closure optimization, the old mesh features have not been removed and will be mixed with the new ones.
If you want to have a map constructed from loop-closure-optimized poses, you can follow instructions below:
- Run ImMesh_PGO.
roslaunch immesh_pgo mapping_horizon.launch
-
Click "Save PGO Cloud to file" in the UI and you will get a corrected pointcloud in your
~/ImMesh_PGO
directory. -
Build the mesh using the pointcloud. You need to change the path in the launch file.
roslaunch immesh_pgo mapping_pointcloud.launch
Thanks for following open-sourced repositories and authors: