您的位置:首页 > 其它

Ubuntu16.04+ROS+Cartographer安装

2019-06-09 21:57 239 查看

Ubuntu16.04+ROS+Cartographer安装

最近实验室想搞Cartographer库的硬件加速,于是在博客上找了各种大佬来配置环境。
整合的转载博客如下:
https://www.geek-share.com/detail/2672383823.html
https://www.geek-share.com/detail/2704300100.html
https://www.geek-share.com/detail/2722597135.html
https://www.geek-share.com/detail/2722597135.html
https://blog.csdn.net/xmy306538517/article/details/81455625
Cartographer是一个很好用的SLAM库,但官方安装步骤太复杂,而且容易失败。
以下安装全部从hitcm大神的github下载,源码一样只是编译文件有所修改,我亲测ubuntu16.04 ros kinetic一次成功。
还是感谢hitcm 大神在博客的无私分享

Ubuntu16.04

注意Cartographer库目前只支持到Ubuntu16.04版本,所以不能安装更高版本。同时,不建议使用虚拟机来运行Ubuntu,原因在于一是虚拟机获得的线程有限,运算速度大打折扣,二是接其他外设时会有玄学错误。所以最佳方案就是Windows+Ubuntu16.04双系统。

双系统的安装对于程序员们来说再熟悉不过了,其实很多信息类专业的学生想必都自己倒腾过,这里就列举我认为目前网上最权威的一种安装方式,U盘安装,亲测可用。

博客地址:
Windows下安装Ubuntu 16.04双系统
Windows 下安装 Ubuntu 双系统(更新)

这两篇博客是同一个大佬写的,要按照他提示的来交叉着看

另外根据我的经验补充一点:如果你想把整个硬盘作为Ubuntu的挂载,那么建议在按照博客的步骤安装时,在Windows下直接将整个磁盘卷“删除”,这样在安装Ubuntu的时候就可以直接读取到整个磁盘。

ROS Kinetic

ROS Kinetic是针对Ubuntu16.04的专用机器人操作系统,与其叫它操作系统,其实不如叫它环境更为贴切,你可以把它理解成Java虚拟机那样的环境。
在安装ROS之前可以捣鼓捣鼓自己刚安装的Ubuntu系统,比如更新一下镜像源来加快下载速度(清华、中科大、阿里云都不错),安装一些常用软件和工具,有闲情逸致还可以美化一下UI等等,接下来进入正题。
ROS的安装和Ubuntu一样,都是在论坛里随处可见的了,我把我安装所找的博客搬上来,亲测可用

博客地址:
Ubuntu16.04安装ROS kinetic
安装好之后可以用博客里提到的那个小乌龟测一下。

Cartographer

ROS安装好之后,Cartographer的安装就是一件很简单的事情了。

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

注意,其中的 ros-kinetic-tf2-eigen这个库要根据你的ROS版本进行改变,上文安装的是kinetic版本,所以就采用这个吧。

2. 安装ceres solver,版本是1.11

git clone https://github.com/hitcm/ceres-solver-1.11.0.git
cd ceres-solver-1.11.0
mkdir build
cd build
cmake ..
make -j4
sudo make install

3. 安装 cartographer

git clone https://github.com/hitcm/cartographer.git
cd cartographer
mkdir build
cd build
cmake .. -G Ninja
ninja
ninja test
sudo ninja install

4.安装cartographer_ros

#初始化工作空间
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
echo "source catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

#安装cartographer_ros
cd ~/catkin_ws/src
git clone https://github.com/hitcm/cartographer_ros.git
cd ~/catkin_ws
catkin_make

这里要注意一点:

echo "source catkin_ws/devel/setup.bash" >> ~/.bashrc
这个命令相当于是在安装目录下添加工作空间,并添加到bashrc里,以便每次打开终端都初始化工作空间,因此需要把source命令后面的路径换成你安装的路径。

5.数据下载测试

2d数据链接:2D数据
3d数据链接:3D数据
下载好之后,进入数据集的路径,打开终端,运行roslaunch cartographer_ros指令,如下所示:

运行launch文件即可
roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag
roslaunch cartographer_ros demo_backpack_3d.launch bag_filename:=${HOME}/Downloads/cartographer_3d_deutsches_museum.bag

运行成功后会打开UI界面,并开始对数据集进行SLAM分析,运行截图如下所示:

如此,便成功配置好了Ubuntu16.04+ROS+Cartographer环境,可以开始下一步的研究了。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: