- System Requirements:
- Ubuntu 20.04 (18.04 not yet tested)
- ROS Noetic (Melodic not yet tested)
- C++11 and above
- CMake: 3.0.2 and above
- This repo depends on the following standard ROS pkgs:
roscpp
rospy
rviz
std_msgs
nav_msgs
geometry_msgs
visualization_msgs
tf2
tf2_ros
tf2_geometry_msgs
pluginlib
map_server
gazebo_ros
jsk_rviz_plugins
jackal_gazebo
jackal_navigation
velodyne_simulator
teleop_twist_keyboard
- And this gazebo_model repositiory
git clone https://github.com/niudix/ME5413_Final_Project.git
Change to your directior
cd /YOUR_PATH/ME5413_Final_Project/src
-
Delete ws_livox and Livox-SDK
rm -rf Livox-SDK rm -rf ws_livox
-
install Livox-SDK
git clone https://github.com/Livox-SDK/Livox-SDK.git cd Livox-SDK cd build && cmake .. make sudo make install
-
install livox_ros_driver
git clone https://github.com/Livox-SDK/livox_ros_driver.git ws_livox/src cd ws_livox catkin_make
Fix 'cannot find ikd-tree' error
clone the ikd-tree repo
cd /YOUR_PATH/ME5413_Final_Project/src git clone https://github.com/hku-mars/ikd-Tree.git cd ikd-Tree/ikd-Tree/
copy ikd_Tree.cpp and ikd_Tree.h to ME5413_Final_Project/src/FAST_LIO/include/ikd-Tree
cp ikd_Tree.cpp /YOUR_PATH/ME5413_Final_Project/src/FAST_LIO/include/ikd-Tree/ cp ikd_Tree.h /YOUR_PATH/ME5413_Final_Project/src/FAST_LIO/include/ikd-Tree/
cd /YOUR_PATH/ME5413_Final_Project/src rm -rf ikd-Tree/
-
build the repo
cd /YOUR_PATH/ME5413_Final_Project catkin_make
Launch the gazebo with the project world
cd /YOUR_PATH/ME5413_Final_Project
source devel/setup.bash
roslaunch me5413_world world.launch
In another terminal, launch Fast-Lio for mapping
cd /YOUR_PATH/ME5413_Final_Project
source source devel/setup.bash
roslaunch me5413_world FL_mapping.launch
You can use the controller to move the robot
You can also see the point cloud in rviz
You can visualise the raw point cloud image in the Fast Lio folder.
cd /YOUR_PATH/ME5413_Final_Project/src/FAST_LIO/PCD
pcl_viewer scans.pcd
roslaunch pcd2pgm run.launch
In another terminal
cd /YOUR_PATH/ME5413_Final_Project/src/pcdtomap/map/
rosrun map_server map_saver
You can record your own rosbag
cd /YOUR_PATH/ME5413_Final_Project/src/EVO
rosbag record -a
Using evo to evaluate your own bag
evo_ape bag YOUR_BAG_NAME.bag /gazebo/ground_truth/state /Odometry -r full --plot --plot_mode xy
notice: Do not forget to change YOUR_BAG_NAME to your own.
You can also use our bag
cd /YOUR_PATH/ME5413_Final_Project/src/EVO
evo_ape bag EVO_evalue_2024-04-07-15-08-23.bag /gazebo/ground_truth/state /Odometry -r full --plot --plot_mode xy
cd /YOUR_PATH/ME5413_Final_Project/src
source devel/setup.bash
roslaunch me5413_world world.launch
In another Terminal
cd /YOUR_PATH/ME5413_Final_Project/src
source devel/setup.bash
roslaunch me5413_world navigation.launch
Howere if you meet any navigation failed problem. You can just download the navigation part which works fine.