任务动机:在openEuler下部署和测试cartographer,为cartographer优化创建环境。
任务描述:Turtlebot2上安装cartographer,添加雷达和底盘驱动后,对软件所5号楼12层2000平方米办公场所进行制图,对比Lidar、Lidar+IMU和Lidar+odom解决方案制图效果。
1. 安装
1.1 cartographer安装
我这边直接安装的是turtlebot版本,本质上与单纯的cartographer版本的区别就是多了一个turtlebot的依赖包。前面编译步骤没有区别。
第一步:安装相关依赖包
sudo apt-get update
sudo apt-get install -y python-wstool python-rosdep ninja-build
第二步:创建并初始化 名为 catkin_ws 的工作空间
mkdir catkin_ws
cd catkin_ws
wstool init src
第三步:生成编译所需依赖包
wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_turtlebot/master/cartographer_turtlebot.rosinstall
wstool update -t src
第四步:安装第三步中的包文件中的所需ros依赖
src/cartographer/scripts/install_proto3.sh
sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
第五步:编译安装
catkin_make_isolated --install --use-ninja -j1
source install_isolated/setup.bash
注意事项
1. 如果没有科学上网,在执行wstool update -t src之前,需要将src/.rosinstall文件修改成以下内容,以解决ceres-solver下载不了的问题
vim src/.rosinstall
# 更改ceres-solver中地址改为下面的地址:
#>>uri: https://github.com/ceres-solver/ceres-solver.git
2. 网络要保持连同,因为在执行过程中还会从github下载软件包
3. 如果编译失败,就删掉工作空间目录下除了src目录之外其他所有的文件夹,重新编译
4. 扩展2Gswap:apt-get install dphys-swapfile
5. 使用单核编译,对应上述流程的第五步:catkin_make_isolated --install --use-ninja -j1
测试
source ~/catkin_ws/install_isolated/setup.bash
-
使用博物馆数据集:
- 启动cartographer:
roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag
-
测试结果:
1.2 激光雷达驱动
-
下载驱动:
git clone https://github.com/le