从0开始,在ROS上运行ORB_SLAM2

Github上的orb-slam2项目

github地址如下orb_slam2

在ROS上运行orb-slam2参考步骤

视觉SLAM | 在ROS上运行ORB-SLAM2 - 古月居

1.运行环境

硬件:Realsense D435i
软件环境:Ubuntu18.04、ROS melodic 、librealsense、realsense-ros

1.1 ros安装

参考古月Ros21讲
1.添加软件源

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

2.添加密钥

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-kry C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

3.安装ros

sudo apt update
sudo apt install ros-melodic-destop-full

4.初始化rosdep

sudo rosdep init
rosdep update

5.设置环境变量

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

6.安装rosinstall

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

7.安装完成打开海龟仿真验证

roscore

打开一个新终端,打开小海龟仿真节点

rosrun turtlesim turtlesim_node

再打开一个终端,启动海龟控制节点

rosrun turtlesim turtle_teleop_key

1.2 librealsense安装

参考自librealsense安装前半部分

添加仓库钥匙

sudo apt-key adv --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE

添加仓库

sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" -u

安装库

sudo apt-get install librealsense2-dkms
sudo apt-get install librealsense2-utils

安装开发和调试包

sudo apt-get install librealsense2-dev
sudo apt-get install librealsense2-dbg #(这个可以不安装)

测试

realsense-viewer

1.3 realsense-ros安装

参考:realsense-ros安装

2.安装依赖项

2.1 安装Eigen3

这是矩阵运算用的库,最低要求版本3.1.0。

sudo apt install libeigen3-dev

2.2安装openCV

参考:Ubuntu18.04安装OpenCV 3.2.0

1.首先安装cmkae
一般都有cmake,可以不用再装

sudo apt install cmake

2.再安装依赖包

sudo apt install libgtk2.0-dev  
sudo apt install pkg-config

3.到如下网站下载opencv 3.2.0
opencv.org/releases.html
4.下载后,解压:

unzip opencv-3.2.0.zip
cd opencv-3.2.0

5.建立build文件夹

mkdir build
cd build

6.开始编译:

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D ENABLE_PRECOMPILED_HEADERS=OFF ..
sudo make -j8
sudo make install

问题
CMake Error at cmake/OpenCVCompilerOptions.cmake:21 (else):
Flow control statements are not properly nested.
打开对应的cmake文件21行发现同一个作用域有两个else
解决方法
21行22行注释掉就可以了
别的电脑也编译过貌似没出现过这种问题,应该与cmake版本有关
7.添加库路径:
修改opencv.conf文件的内容

sudo vim /etc/ld.so.conf.d/opencv.conf   

opencv.conf的内容:
/usr/local/lib
8.添加环境变量:

sudo vim ~/.profile

.profile最后一行添加:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig   
export PKG_CONFIG_PATH

3.安装orb_slam2_ros

配置一个工作环境

mkdir -p ~/orbslam2_workspace/src
cd ~/orbslam2_workspace
source /opt/ros/melodic/setup.bash
catkin init
catkin config --extend /opt/ros/melodic
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release

使用catkin build进行编译

cd ~/orbslam2_workspace/src
git clone https://github.com/appliedAI-Initiative/orb_slam_2_ros.git
cd ~/orbslam2_workspace
catkin build

当然也可以使用catkin_make来编译

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src/
git clone https://github.com/appliedAI-Initiative/orb_slam_2_ros.git
catkin_init_workspace
cd ~/catkin_ws/
catkin_make

运行orb_slam2_ros首先需要执行

source ~/orbslam2_workspace/devel/setup.bash

依次运行

roslaunch realsense2_camera rs_rgbd.launch
roslaunch orb_slam2_ros orb_slam2_d435_rgbd.launch

运行rs_rgbd.launch时可能出错,解决方法:

sudo apt install ros-melodic-rgbd-launch

然后在realsense_ws工作空间中重新编译一遍,解决上述问题

打开rviz

rviz

打开后,点击Add->By topic,选择orbslam2节点发布的pose、PointCloud2等话题,就可以显示相机位姿和稀疏点云。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值