cartographer Ubuntu16.04 ros环境配置

首先要正确安装 ROS ,然后第12步应注意,proto的版本是个关键容易出错。

1、添加ROS源

http:/packages.ros.org/ros/ubuntu xenial main (自己搜一下怎么添加)

sudo apt-get update 更新源。

2、Setup your sources.list

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

3、Set up your keys-

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

4、Installation

sudo apt-get update

sudo apt-get install ros-kinetic-desktop-full

5、Initialize rosdep

sudo rosdep init

sudo rosdep fix-permissions

rosdep update

6、Environment setup

It's convenient if the ROS environment variables are automatically added to your bash session every time a new shell is launched:

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc

source ~/.bashrc

If you have more than one ROS distribution installed, ~/.bashrc must only source the setup.bash for the version you are currently using.

If you just want to change the environment of your current shell, instead of the above you can type:

source /opt/ros/kinetic/setup.bash

If you use zsh instead of bash you need to run the following commands to set up your shell:

echo "source /opt/ros/kinetic/setup.zsh" >> ~/.zshrc

source ~/.zshrc

7、Dependencies for building packages

sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

8、运行小乌龟测试

新建一个终端,输入$ roscore

新建一个终端,输入$ rosrun turtlesim turtlesim_node

新建一个终端,输入$ rosrun turtlesim turtle_telelop_key

移动上下左右键, 第三个终端放在最上层 , 看到小乌龟移动了。

9、安装Cartographer基本必须的库

sudo apt-get update

sudo apt-get install -y \

cmake \

g++ \

git \

google-mock \

libboost-all-dev \

libcairo2-dev \

libeigen3-dev \

libgflags-dev \

libgoogle-glog-dev \

liblua5.2-dev \

libsuitesparse-dev \

libwebp-dev \

ninja-build \

python-sphinx

10、安装wstool和rosdep

sudo apt-get update

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

11、创建workspace

mkdir catkin_ws

cd catkin_ws

wstool init src

12、下载google cartographer源码(vpn)也可以从github直接下载

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

cd catkin_ws/src

将最后一个git来源网址由https://ceres-solver.googlesource.com/ceres-solver.git 改为https://github.com/ceres-solver/ceres-solver.git

wstool update -t src

# Install proto3.

src/cartographer/scripts/install_proto3.sh

# Install deb dependencies.

# The command 'sudo rosdep init' will print an error if you have already

# executed it since installing ROS. This error can be ignored.

sudo rosdep init

13、安装deb依赖

rosdep update

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

14、编译并安装

catkin_make_isolated --install --use-ninja

source install_isolated/setup.bash(设置路径)

15、每次修改了lua代码都需要运行下面代码进行编译和设置路径

cd slam_ws

catkin_make_isolated --install --use-ninja进行编译

source install_isolated/setup.bash设置路径

16、Launch

roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=/home/dmchen/slam_ws/src/cartographer_ros/cartographer_ros/bag/1014.bag

其中我们自己的数据包包1014.bag存储路径为/home/dmchen/slam_ws/src/cartographer_ros/cartographer_ros/bag

数据包下载地址:https://storage.googleapis.com/cartographer-public-data/bags/revo_lds/cartographer_paper_revo_lds.bag

https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag

https://storage.googleapis.com/cartographer-public-data/bags/pr2/2011-09https://storage.googleapis.com/cartographer-public-data/bags/backpack_3d/cartographer_3d_deutsches_museum.bag

以后 第一次打开终端运行时 需要 source install_isolated/setup.bash (调用ROS内部命令)

测试是否安装成功:# Download the 2D backpack example bag.

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

# Launch the 2D backpack demo.

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

# Download the 3D backpack example bag.

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

# Launch the 3D backpack demo.

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