Ubuntu 16.04 kinetic上移植安装嵌入式版本cartographer

2017-01-12 19:15:00来源:CSDN作者:w401229755人点击

**基本环境:
xubuntu 16.04 xenial kinetic ros
硬件:嵌入式rk3288 板子**

ROS kinetic的安装

基本按照官网的操作即可,参考官方网站:http://wiki.ros.org/kinetic/Installation/Ubuntu

唯一修改的是把ubuntu机器里的源 /etc/apt/sources.list中的内容改成如下:

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main universe restricted deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main universe restricted deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main universe restricted deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main universe restricted 

当然如果你不改也可以安装成功,那么最好不过了,我这里安装的是:

sudo apt-get install ros-kinetic-desktop

桌面版。

移植安装cartographer

1.安裝wstool和rosdep:

sudo apt-get install -y Python-wstool python-rosdep ninja-build

2.新建工作空間,這裏使用catkin_ws:

mkdir catkin_ctgcd catkin_ctgwstool init src

3.下载

wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall  wstool update -t src

在update的时候,下载cere-solver失败,可能是没有翻墙的原因,不过cartographer和cartographer_ros都行下载成功了,ceres-solver手动下载即可:

https://github.com/ceres-solver/ceres-solver.git

下载下来之后我使用zip的方式下到电脑上,然后解压得到ceres-solver-master文件夹,改名为ceres-solver后放到catkin工作空间的src下面,然后:

rosdep install --from-paths src --ignore-src --rosdistro=${kinetic} -y

就会开始安装一些东西,可能前面会有关于ceres-solver的警告,不过不影响后面的进度。 接下来开始安装:

catkin_make_isolated --install --use-ninja

在编译过程中,编译cartographer的时候,遇到 字符编码错误?提示locale error,为en。看来没装en的编码:
先安装:

locale-gen en_US.UTF-8  vim /etc/default/locale  改成:  LANG=en_US.UTF-8  LANGUAGE=en_US:en  LC_ALL=en_US.UTF-8  然后保存后退出,安装    update-localelocalelocale -a

都可以查看下信息,记得重启。

最后嵌入式机器上可能在编译cc的时候一直提示c++ 错误,大概是内存不够的意思,这个时候建议切换到具体源码下,直接用ninja来编译,出错就重启,重复此操作,直到单一源码编译通过,再回工作空间目录执行:

catkin_make_isolated --install --use-ninja

这命令并不会重复编译所以不必担心之前编译的被忽略。

看到这个命令圆满执行成功,心里终于踏实了,下面准备开始运行demo。

可以用命令下载:

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

我是在PC上直接下载,速度够快,在网页中直接输入:
https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag

上面是个2d的demo大概400m多,下完之后放到/home/ubuntu/slam 下面,目录自定,然后运行:

roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=/home/ubuntu/slam/cartographer_paper_deutsches_museum.bag  

后面就会有图形界面出来了,一运行就开始在slam了,就像之前视频里看到其他大神的那样。下面是截图:

这里写图片描述

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台