由于科研需求,要在Ubuntu20.04.6LST下运行Co-LRIO开源代码,下面是具体步骤。
关于Ubuntu20.04.6LTS的安装,参考之前的文章。
一、Co-LRIO简介
一个结合了激光雷达、惯性导航、UWB测距的机器人群位姿估计框架。
运行该开源代码的前期准备:
- Ubuntu ROS2 Foxy(对应Ubuntu20.04版本)
- Cmake
- GTSAM(4.2a8)
- PCL
- Eigen
经过实测,只需要安装ROS2(Foxy)、Cmake以及GTSAM(4.2a8)即可。
PCL、Eigen库使用ROS2或者GTSAM自带的即可,若自己安装编译Eigen库,反而可能出现GTSAM编译时Eigen版本冲突的问题。
二、安装ROS2(Foxy)
在终端输入以下命令,使用鱼香ROS一键安装的方式。
wget http://fishros.com/install -O fishros && . fishros
按照提示安装即可(注意要安装ROS2 Foxy版本)。
三、Cmake安装
在终端输入以下命令:
sudo apt-get install cmake
四、GTSAM4.2a8安装编译
在github上找到gtsam,选择tag,选择4.2a8版本。
GitHub - borglab/gtsam at 4.2a8
编译过程如下(gtsam文件夹中打开终端输入):
mkdir build
cd build
cmake ..
sudo make install
五、编译运行Co-LRIO
mkdir -p ~/cslam_ws/src
cd ~/cslam_ws/src
git clone https://github.com/PengYu-Team/Co-LRIO.git
cd ../
colcon build --symlink-install
编译结束后,有一个stderr,忽视。
然后安装xacro
sudo apt-get install ros-foxy-xacro
最后启动节点:
ros2 launch co_lrio run.launch.py
此时运行报错: cannot open shared object file: No such file or directory。解决方法参考如下链接:
gedit ~/.bashrc
# 在最后一行添加下面这句指令
# (由于我这里是源码编译然后安装,因此我这里把 gtsam库的路径写成 /usr/local/lib):
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
最后运行成功!
跑数据集之后再研究。