(一)ROS安装
添加 sources.list, 配置自己的电脑使其能够安装来自 packages.ros.org的软件包:
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
添加 keys:
$ sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-key 0xB01FA116
安装,确保你的Debian软件包索引是最新的:
$ sudo apt-get update
桌面完整版安装:
$ sudo apt-get install ros-jade-desktop-full
初始化 rosdep:
$ sudo rosdep init
$ rosdep update
这有一个报错:
环境配置
每次打开一个新的终端时ROS环境变量都能够自动配置好(即添加到bash会话中):
$ echo "source /opt/ros/jade/setup.bash" >> ~/.bashrc
source ~/.bashrc
最后获取安装包源码:
$ apt-get source ros-jade-laser-pipeline
测试:
$ roscore
查看自己的ip,加入进bashrc文件的末尾:
所以我在bashrc中加入了:
$ export ROS_IP=192.168.143.128
再打开一个Terminal,输入下面的命令.开启一个小乌龟界面:
$ rosrun turtlesim turtlesim_node
再打开一个Terminal,输入下诉命令.接受键盘输入,控制小乌龟移动
$ rosrun turtlesim turtle_teleop_key
选中最后打开的Terminal,键盘按下上下左右按键,可看到控制小乌龟移动
再打开一个Terminal,输入下诉命令,可以看到当前ROS nodes以及Topic等图形展示
$ rosrun rqt_graph rqt_graph
左右两边矩形为ROS node,中间连线上是Topic名称。
安装就到这里结束。
(二)cartographer的安装
安装wstool和rosdep:
$ sudo apt-get update
$ sudo apt-get install -y python-wstool python-rosdep ninja-build
$ mkdir catkin_ws
$ cd catkin_ws
$ wstool init src
$ wstool merge -t src
https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall
$ wstool update -t src
$ git clone https://github.com/hitcm/ceres-solver-1.11.0.git
$ cd ceres-solver-1.11.0/build
$ cmake ..
$ make
$ sudo make install
$ ninja
$ ninja test
$ sudo ninja install
$ git clone https://github.com/hitcm/cartographer_ros.git
然后到catkin_ws下面运行catkin_make
数据测试:
$ wget -P ~/Downloads
https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag
然后运行launch文件:
$ roslaunch cartographer_ros demo_backpack_2d.launch
bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag
最终效果图: