本项目是基于ORB-SLAM2、DRE-SLAM和DS-SLAM的优化SLAM系统。主要框架来自DRE-SLAM。与它们相比,tracking_slam融合并改进了一些线程,包括语义分割线程、sub-OctoMap 构建和 sub-OctoMap 融合。
按这个博客(最新最详细)安装ubuntu18.04安装Ubuntu 16.04即可。
在安装好ubuntu16.04后,我们需要将系统默认的软件源改成其它软件源。这里是将软件源改为清华镜像源,(注意,不同Ubuntu版本对应的镜像源不同的)
进入这个网站后,它会提示你如何修改,这里将步骤写了下来:
第一步:先备份原来source.list的内容
sudo cp /etc/apt/sources .list /etc/apt/sources_copy_default.list
第二步:sources.list文件的可写权限
cd /etc/apt
sudo chmod 777 sources.list
第三步:将清华镜像源给的内容复制进去
gedit sources.list //用gedit打开,将内容粘贴进去即可
第四步:更新
sudo apt-get update
sudo gedit /etc/resolv.conf
将原来的nameserver注释掉,将下面的内容添加进去
nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器
保存并退出,然后执行以下命令
sudo apt-get update
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'122
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
sudo apt-get upgrade -y
sudo apt-get install ros-kinetic-desktop-full
安装结束后,也可以根据个人需求按照下面步骤安装ROS其它的功能包:
(1)查询所有的ROS功能包
apt-cache search ros-kinetic
(2)安装指定的功能包
sudo apt-get install ros-kinetic-[功能包名称]
如:
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
7. rosdep init
sudo rosdep init
8. rosdep update
rosdep update
rosdep init
和rosdep update
,经常不行,这是网速问题,多试几次就可以了。
或者,直接将已配置好的rosdep文件下载下来,sudo cp到etc/ros文件夹里面(不需要rosdep init
和rosdep update
)
然后:source /etc/bash.bashrc
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
执行以下命令可验证是否安装成功:
打开终端,执行:
roscore
再打开一个终端,执行:
rosrun turtlesim turtlesim_node
这时会出现小海龟的界面。接着再打开一个终端,执行:
rosrun turtlesim turtle_teleop_key
使用键盘上的方向键可以控制小海龟的运动,OK!
reference:
安装TurtleBot3及依赖包:
安装turtlebot3依赖包:
sudo apt-get install ros-kinetic-joy ros-kinetic-teleop-twist-joy ros-kinetic-teleop-twist-keyboard ros-kinetic-laser-proc ros-kinetic-rgbd-launch ros-kinetic-depthimage-to-laserscan ros-kinetic-rosserial-arduino ros-kinetic-rosserial-python ros-kinetic-rosserial-server ros-kinetic-rosserial-client ros-kinetic-rosserial-msgs ros-kinetic-amcl ros-kinetic-map-server ros-kinetic-move-base ros-kinetic-urdf ros-kinetic-xacro ros-kinetic-compressed-image-transport ros-kinetic-rqt-image-view ros-kinetic-gmapping ros-kinetic-navigation
安装turtlebot3源码:
cd ~/catkin_ws/src/
git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
cd ~/catkin_ws && catkin_make
如果catkin_make完成没有任何错误,使用TurtleBot3的准备将完成。
tracking_slam采用 SegNet 实时提供基于 caffe 的像素级语义分割。
首先,安装CUDA 8.0和cudnn 5.0或5.1.10,具体步骤祥见:ubuntu18.04下载显卡驱动+CUDA+CUDNN
安装opencv 2.4.13,具体详见:caffe-segnet-cudnn5安装记录。
接着,caffe-segnet-cudnn5安装记录请看caffe-segnet-cudnn5安装记录。
最后是直接下载trcaking_slam原版源码,直接:
cd ../caffe-segnet-cudnn5/
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j4
解决caffe-segnet-cudnn5安装遇到的问题。
cd ../libsegmentation/
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j4
cd ../third_party/DBoW2
mkdir build
cd build
cmake ..
make -j4
cd ../third_party/Sophus
mkdir build
cd build
cmake ..
make -j4
cd ~/catkin_ws
catkin_make
source ~/catkin_ws/devel/setup.bash
roslaunch tracking_slam tb3_test.launch
其中,roslauncha遇到的问题详见:Check failed: status == CUDNN_STATUS_SUCCESS (4 vs. 0) CUDNN_STATUS_INTERNAL_ERROR。
rosbag play *.bag
数据包下载:dre_slam