kinetic安装cartographer及gazebo仿真测试教程[22年1月23日测试]

kinetic安装测试cartographer教程

[2022/1/23]本实验环境为ubuntu16.04+[ROS]kinetic1.12.17

参考链接:https://blog.csdn.net/qq_45839415/article/details/120444971



安装使用cartographer属于一个难题,会遇到各种奇葩问题,本人学习安装cartographer遇到种种问题,诸如缺少absl库、protobuf版本不对, gmock缺少c++支持等等数不胜数的问题,鏖战4天,查阅各种资料,终于摸索出正确的安装方法。因为参照上方参考链接的方法安装的cartographer相关功能包后,因为版本不匹配问题导致无法编译古月老师教程键盘控制机器人建图的仿真测试代码,于是将古月老师有关教程代码上传至github,附在下面,便于后期安装和使用。

cartographer安装包:https://github.com/serapann/ros-kinetic-cartographer.git

仿真测试代码:https://github.com/serapann/guyue-cartographer-test.git

下面是安装和测试的具体步骤。

一、考虑后期有编译自己的代码的需求的安装方法(推荐)

1.安装工具

sudo apt-get install -y google-mock libboost-all-dev  libeigen3-dev libgflags-dev libgoogle-glog-dev liblua5.2-dev libprotobuf-dev  libsuitesparse-dev libwebp-dev ninja-build protobuf-compiler python-sphinx  ros-kinetic-tf2-eigen libatlas-base-dev libsuitesparse-dev liblapack-dev

2.初始化工作空间

##需要提前新建目录
mkdir -p ~/google_ws/src
##
cd ~/google_ws/src
catkin_init_workspace

3.下载功能包

cd ~
git clone https://github.com/serapann/ros-kinetic-cartographer.git
cd ros-kinetic-cartographer
cp -R * ~/google_ws/src

4.安装和编译功能包

对于上面下载的安装包,这里介绍两种安装方式,各有特点,一键安装便于偷懒,分步安装便于了解每一步的安装位置和安装过程:

4.1一键安装并编译
cd ~/google_ws
catkin_make_isolated --install --use-ninja

是一段漫长的等待(看窗口提示:共有5轮),本人觉得一键安装编译虽说为了 偷懒,其实比分布安装甚至还慢好多:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SLh2yAis-1642890362338)(F:\比赛专区\大创项目\大创笔记\最新kinetic安装cartographer_jmg\image-20220123025224038.png)]

跑完了:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gFflcFd5-1642890362339)(F:\比赛专区\大创项目\大创笔记\最新kinetic安装cartographer_jmg\image-20220123030512871.png)]

添加环境变量

sudo echo "source ~/google_ws/install_isolated/setup.bash" >> ~/.bashrc
source ~/.bashrc
4.2分步安装
4.2.1安装ceres-solver
cd cd ~/google_ws/src/ceres-solver
mkdir build
cd build
cmake ..
make -j4
sudo make install
4.2.2安装cartographer
cd ~/google_ws/src/cartographer
mkdir build
cd build
cmake .. -G Ninja
ninja
ninja test
sudo ninja install
4.2.3编译安装cartographer_ros

为了区分catkin_makecatkin_make_isolated之间的区别,这里展示两种编译过程:

catkin_make编译
cd ~/google_ws
catkin_make

考虑src文件夹下各个文件的依赖关系,全部编译,不能编的也编,因为上面操作将cartographerceres-solvercartographer_ros都放进来了,报如下错误:

说前两者不能cmake,没有可以catkin编译的功能包,请使用catkin_ catkin_make_isolated
在这里插入图片描述

因为已经安装完前两者了,可以删掉

cd ~/google_ws/src
rm -rf ceres-solver cartographer

然后再使用catkin_make进行编译:

cd ~/google_ws
catkin_make

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NOqc4SnK-1642890362340)(F:\比赛专区\大创项目\大创笔记\最新kinetic安装cartographer_jmg\image-20220123011223547.png)]

添加环境变量

sudo echo "source ~/google_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
catkin_make_isolated编译
cd ~/google_ws
catkin_make_isolated

相比catkin_make在根目录生成builddevel 两个文件夹,catkin_make_isolated则在根目录生成build_isolateddevel_isolated两个文件夹

添加环境变量

sudo echo "source ~/google_ws/devel_isolated/setup.bash" >> ~/.bashrc
source ~/.bashrc

而且你会发现使用catkin_make_isolated编译的时间会明显更长,是一轮一轮编译的,catkin_make则不是,这里共有5轮,执行中上方有提示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tloRnANe-1642890362342)(F:\比赛专区\大创项目\大创笔记\最新kinetic安装cartographer_jmg\image-20220123015306626.png)]
执行完是这样的,下方提示编译完5个包,catkin_make则没有:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FOoxGMdH-1642890362342)(F:\比赛专区\大创项目\大创笔记\最新kinetic安装cartographer_jmg\image-20220123015119970.png)]

二、不考虑后期有编译自己的代码的需求只求测试样例的安装方法

下载安装功能包

由于ros在19年7月份已经将cartographer集成在软件源里,所以可以直接执行下句代替原来方法安装cartographer功能包及其所有依赖。

sudo apt-get install ros-kinetic-cartographer*

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C6YaEa7N-1642890362343)(F:\比赛专区\大创项目\大创笔记\最新kinetic安装cartographer_jmg\image-20220121225814291.png)]
看看安装了哪些内容:
在这里插入图片描述

安装成功截图
在这里插入图片描述

可以开始使用cartographer启动仿真测试了。

三、cartographer仿真测试

注意:只有按照推荐的方式安装cartographer的后面的例子才能全部可以测试成功,直接sudo apt-get install ros-kinetic-cartographer*的不敢保证所有能测试成功,但第一个2D slam demo都是可以的

1.启动2D slam demo演示

wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag

roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag

第一句执行完成截图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GkyJMxf8-1642890362345)(F:\比赛专区\大创项目\大创笔记\最新kinetic安装cartographer_jmg\image-20220121233244404.png)]
第二句执行成功截图
在这里插入图片描述

2.启动3D slam demo演示

wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_3d/b3-2016-04-05-14-14-00.bag

roslaunch cartographer_ros demo_backpack_3d.launch bag_filename:=${HOME}/Downloads/b3-2016-04-05-14-14-00.bag

启动成功:
请添加图片描述

3.启动Revo LDS demo演示

wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/revo_lds/cartographer_paper_revo_lds.bag

roslaunch cartographer_ros demo_revo_lds.launch bag_filename:=${HOME}/Downloads/cartographer_paper_revo_lds.bag

启动成功:
请添加图片描述

4.启动自己定义的cartographer_ros节点仿真演示

文件都已经包含在测试代码cartographer安装包里,按照上面安装步骤安装并且下载测试代码编译到自己的工作空间就可以使用了。

下面是通常我们自己编写launch文件编译到cartographer_ros中的具体流程:

1.配置launch节点

添加自己的cartographer_demo_rplidar.launch文件到~/google_ws/src/cartographer_ros/cartographer_ros/launch

2.添加lua参数配置

添加和launch需要用到的rplidar.lua参数配置文件到~/google_ws/src/cartographer_ros/cartographer_ros/configuration_files

(测试文件已经包含在我发的安装包里,不用再去添加了)
在这里插入图片描述
在这里插入图片描述

回到google_ws工作空间根目录下执行编译:

cd ~/google_ws

#下列3个,根据安装方式来选

#1.一键安装并编译的编译命令
catkin_make_isolated --install --use-ninja
#2.分步安装catkin_make编译的命令
catkin_make
#3.分步安装catkin_make_isolated编译的命令
catkin_make_isolated

启动自己定义的cartographer节点仿真测试

roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch

roslaunch cartographer_ros cartographer_demo_rplidar.launch

roslaunch mbot_teleop mbot_teleop.launch

键盘控制机器人建图没有任何问题
请添加图片描述请添加图片描述

四、附上各种安装方法的cartographer相关库和功能包安装位置对比

请添加图片描述

一键安装并编译:
在这里插入图片描述
在这里插入图片描述

分步安装:
在这里插入图片描述
catkin_make:
在这里插入图片描述
catkin_make_isolated:
在这里插入图片描述
sudo apt-get install ros-kinetic-cartographer*安装:
在这里插入图片描述
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WwLw3j6b-1642890362354)(F:\比赛专区\大创项目\大创笔记\最新kinetic安装cartographer_jmg\image-20220123050754732.png)]
在这里插入图片描述


[22/1/23/6:20]

写到这里,不知不觉就通了一宵o(╥﹏╥)o,终于算是圆满结束了!

第一次写这么长的文章,很累但是收获很大,希望能帮到大家!祝大家新年快乐!万事顺遂!

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
Cartographer是一个开源的SLAM(Simultaneous Localization and Mapping)系统,可以用于构建2D和3D地图。下面是安装Cartographer的详细教程: 步骤1:安装依赖项 在终端中输入以下命令安装Cartographer所需的依赖项: ``` sudo apt-get update sudo apt-get install -y python-wstool python-rosdep ninja-build stow ``` 步骤2:创建工作区 在终端中输入以下命令创建工作区: ``` mkdir -p ~/cartographer_ws/src cd ~/cartographer_ws wstool init src ``` 步骤3:获取Cartographer代码 在终端中输入以下命令获取Cartographer代码: ``` cd ~/cartographer_ws/src git clone https://github.com/cartographer-project/cartographer.git git clone https://github.com/cartographer-project/cartographer_ros.git ``` 步骤4:安装依赖项 在终端中输入以下命令安装Cartographer所需的依赖项: ``` cd ~/cartographer_ws rosdep update rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y ``` 其中,`${ROS_DISTRO}`是你正在使用的ROS版本。例如,如果你使用的是ROS Kinetic,则`${ROS_DISTRO}`应该设置为`kinetic`。 步骤5:编译Cartographer 在终端中输入以下命令编译Cartographer: ``` cd ~/cartographer_ws catkin_make_isolated --install --use-ninja ``` 步骤6:设置环境变量 在终端中输入以下命令设置环境变量: ``` echo 'source ~/cartographer_ws/install_isolated/setup.bash' >> ~/.bashrc source ~/.bashrc ``` 步骤7:测试Cartographer 在终端中输入以下命令测试Cartographer: ``` roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=`rospack find cartographer_ros`/test/backpack_2d/cartographer_paper_deutsches_museum.bag ``` 这将启动Cartographer demo并加载测试数据集。你可以使用rviz查看生成的2D地图。 以上是安装Cartographer的详细教程,希望对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值