论文 r2live 复现
1 安装Ceres-Solver
1.下载
git clone https://ceres-solver.googlesource.com/ceres-solver
2.安装依赖
# CMake
sudo apt-get install cmake
# google-glog + gflags
sudo apt-get install libgoogle-glog-dev libgflags-dev
# BLAS & LAPACK
sudo apt-get install libatlas-base-dev
# Eigen3
sudo apt-get install libeigen3-dev
# SuiteSparse and CXSparse (optional)
sudo apt-get install libsuitesparse-dev
3.编译安装
cd ceres-solver
mkdir build
cd build
cmake ..
make -j4
sudo make install
2 安装livox_ros_driver
2.1 安装Livox-SDK
可以不装在ROS工作目录中,此处我放在 /home/nj/software
git clone https://github.com/Livox-SDK/Livox-SDK.git
cd Livox-SDK
cd build && cmake ..
make
sudo make install
2.2 构建livox_ros_driver
一定在主目录下进行下载安装,否则路径会出问题
git clone https://github.com/Livox-SDK/livox_ros_driver.git ws_livox/src
后面的 ws_livox/src 表示在主目录下创建了 ws_livox 的ROS工作空间
cd ws_livox
catkin_make
source ./devel/setup.sh
3 安装r2live
1.下载
cd ~/catkin_ws/src
git clone https://github.com/hku-mars/r2live.git
2.将 /home/nj/ws_livox/devel 下的 include、lib、share复制到放置 r2live 的空间下 /home/nj/catkin_ws/devel
此步骤目的 ROS编译生成好的文件都会放在build、devel 中,虽然catin_ws 工作空间没有相应的包,但是有相应编译好的文件,也可以被ROS找到。
3.在 catkin_ws 下打开终端
catkin_make
报错 出现conflicting declaration ‘typedef struct LZ4_stream_t LZ4_stream_t’
原因 系统lz4版本不对
解决 软链接到 /usr/include/lz4 文件下
终端输入:
sudo mv /usr/include/flann/ext/lz4.h /usr/include/flann/ext/lz4.h.bak
sudo mv /usr/include/flann/ext/lz4hc.h /usr/include/flann/ext/lz4.h.bak
sudo ln -s /usr/include/lz4.h /usr/include/flann/ext/lz4.h
sudo ln -s /usr/include/lz4hc.h /usr/include/flann/ext/lz4hc.h
再次 catkin_make 即可
4 运行数据包
1.数据包下载
https://github.com/hku-mars/r2live/
2.运行
roslaunch r2live demo.launch
rosbag play indoor_aggressive.bag
rosbag play hku_main_building.bag
报错:
原因:可能是pcl版本过低(目前是pcl1.8)
解决:卸载pcl1.8,重新下载pcl1.11