Jetson 部署ORB SLAM2

一、基础环境配置

1.部署ROS

安装依赖包

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

通过ROSXavier脚本安装

git clone https://github.com/jetsonhacks/installROSXavier.git # 下载ros库
cd installROSXavier # 进入安装文件夹
./installROSXavier  # 安装安装器
./installROS.sh -p ros-melodic-desktop-full # 安装桌面完整版的ros

创建 ROS工作空间

#[optionalWorkspaceName]是自己设置的文件夹名,
运行完成后会在home下生成该文件夹,如果省略,默认的文件
夹名是catkin_ws
./setupCatkinWorkspace.sh [optionalWorkspaceName]

创建src目录并进入初始化空间,并catkin_make添加cmake目录,在环境中添加启动路径

mkdir -p catkin_ws_lwl/src
cd catkin_ws_lwl/src
catkin_init_workspace
cd ..
catkin_make
source ~/catkin-ws/devel/setup.bash

初始化rosdep

sudo rosdep init

添加ros环境变量

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

2.安装Pangolin库

一定要下载0.5版本的Pangolin

链接如下:

http://GitHub - stevenlovegrove/Pangolin: Pangolin is a lightweight portable rapid development library for managing OpenGL display / interaction and abstracting video input.

 在解压后的Pangolin路径下进行编译安装

sudo apt-get install libglew-dev libboost-dev libboost-thread-dev libboost-filesystem-dev libpython2.7-dev

mkdir build
cd build
cmake ..
make 
sudo make install

3.安装Eigen3

sudo apt-get install libeigen3-dev

4.安装Opencv

一定要安装3.x版本的,不可用4.x版本

卸载现有Opencv

sudo apt-get purge libopencv*
sudo apt autoremove
sudo apt-get update

安装依赖

sudo apt install gcc g++
sudo apt install build-essential cmake git pkg-config libgtk-3-dev libcanberra-gtk*
sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev
sudo apt install libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev opencl-headers
sudo apt install python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev

安装Opencv

cd opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. 
make -j4
sudo make install

配置环境

sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
sudo vim  /etc/bash.bashrc

在打开文件中加入

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

在命令行执行:

source /etc/bash.bashrc

二、编译安装ORB-SLAM2

下载(建议放在ROS空间中)

git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2

编译

$ cd ORB_SLAM2
$ chmod +x build.sh #此命令是为了给build.sh执行权限,对应有chmod -x命令
$ ./build.sh

为环境变量添加路径

grdit ~/.bashrc

打开后在最后一行添加,PATH为所存ORB_SLAM的地址

export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:PATH/ORB_SLAM2/Examples/ROS  

同时写入

source /media/nvidia/samsung-SD2/catkin_ws_lwl/devel/setup.sh

执行

source ~/.bashrc

下载并安装usb_cam安装包

git clone https://github.com/bosch-ros-pkg/usb_cam.git usb_cam
cd usb_cam
mkdir build
cd build
cmake ..
make

测试摄像头,新建终端

roscore

新建终端(于catkin_ws/src/usb_cam/lauch文件中)

roslaunch usb_cam usb_cam-test.launch

编译ROS环境下的ORB_SLAM

chmod +x build_ros.sh
./build_ros.sh

三、运行单目节点

# 新建终端后
roscore

# 新建终端后
roslaunch usb_cam usb_cam-test.launch

# 新建终端后,其中Asus为标定文件
rosrun ORB_SLAM2 Mono /home/xvaier/catkin_ws/src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/xvaier/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/Asus.yaml

效果如图所示

 图中左侧窗口中的绿色小方块为提取的图像ORB特征,右侧窗口中的绿线代表相机的运动轨迹,蓝色方框代表相机运动过程中的空间位置(即关键帧),黑点和红点代表环境的稀疏地图(黑色代表历史路标,红色表示当前路标)。

参考链接:

http://t.csdn.cn/ykdH4

http://t.csdn.cn/lnCH0

http://t.csdn.cn/Jo8Tc

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值