欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Nvidia Jetson TX2+Intel Realsense D435i跑ORB_SLAM3

程序员文章站 2024-03-25 08:13:52
...

前言:网上的教程实在是太多,从诸多教程中找到一个适合自己的实属不易。将此记录下来,希望能够帮助到有需要的人。因为时间紧迫,没时间写特别详细的内容,只能引用一些他人的步骤。请见谅!不过经过亲测,过程是完整的。

本机环境:Nvidia Jetson TX2+ROS Melodic+Intel Realsense D435i

注意:ORB_SLAM3是可以不用ROS的,但本篇文章是基于ROS使用的

基本步骤如下:
  1.TX2刷机
  2.下载ROS Melodic
  3.下载Realsense D435i的SDK及ros_realsense
  4.配置ORB_SLAM3环境及编译ORB_SLAM3
  5.相机标定
  6.修改源文件,并运行

1.TX2刷机

详细步骤请参考:https://blog.csdn.net/gls_nuaa/article/details/122050243

2.下载Melodic

详细步骤请参考:https://blog.csdn.net/gls_nuaa/article/details/122101482

3.下载Realsense D435i的SDK及ros_realsense

注意:因为TX2是ARM核,而realsense官网上对应的是x86,所以不能按照官网上来,realsense专门针对于nvidia的开发设置了jetsonhacks,弄完之后更方便啦~
安装SDK步骤如下:

sudo apt-get install libudev-dev pkg-config libgtk-3-dev
sudo apt-get install libusb-1.0-0-dev pkg-config
sudo apt-get install libglfw3-dev
sudo apt-get install libssl-dev
git clone https://github.com/jetsonhacks/installRealSenseSDK.git
sudo chmod u+x ./installLibrealsense.sh
./installLibrealsense.sh

能运行realsense-viewer就说明成功了

安装realsense_ros步骤如下:

创建工作空间catkin_ws
git clone https://github.com/IntelRealSense/realsense-ros.git
git clone https://github.com/pal-robotics/ddynamic_reconfigure.git
cd ~/catkin_ws && catkin_make

参考:https://blog.csdn.net/wm3vdy88/article/details/109184411

4.配置ORB_SLAM3环境及编译ORB_SLAM3

配置ORB_SLAM3的环境要安装一些东西,包括(opencv3.2, Pangolin, Eigen3, boost)

安装opencv3.2
详细步骤参考:https://my.oschina.net/u/4347613/blog/4627699

编译时opencv3.2时报错:/usr/include/c++/7/cstdlib:75:15: fatal error: stdlib.h: No such file or directory #include_next <s
解决:https://blog.csdn.net/u010003609/article/details/100086151

编译opencv时可能会报很多依赖项的错误,在上面的博文中也有描述(好长一段那个)。这个其实取决于你刷机的时候是否刷入了cuda,如果没刷cuda就不会报这个错的。问题的解决可以参考:http://blog.csdn.net/u014613745/article/details/78310916

再留一个tx2安装Opencv的教程吧:https://www.codeleading.com/article/65432877315/

Pangolin安装教程
详细步骤参考:https://blog.csdn.net/u012986684/article/details/52860849

Eigen3安装教程
详细步骤参考:https://www.cnblogs.com/newneul/p/8256803.html

boost安装,命令如下

sudo apt-get install libboost-all-dev

编译ORB_SLAM3

git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git
cd ORB_SLAM3
chmod +x build.sh
./build.sh
#安装ros版
chmod +x build_ros.sh
./build_ros.sh

执行build.sh报错:recipe for target ‘CMakeFiles/ORB_SLAM3.dir/src/LocalMapping.cc.o‘ failed
解决办法:https://blog.csdn.net/weixin_48464886/article/details/118970304

5.相机标定

这里提供一种简单的标定方法,具体见该文章第三步:https://blog.csdn.net/gls_nuaa/article/details/122104557

6.修改源文件并运行

修改源文件详细步骤参考,修改的内容完全一致:https://blog.csdn.net/gls_nuaa/article/details/122104557

执行命令如下(2,3顺序无所谓):

roscore
rosrun ORB_SLAM3 Mono /home/jetson1/test_ORB_SLAM3/src/ORB_SLAM3/Vocabulary/ORBvoc.txt /home/jetson1/test_ORB_SLAM3/src/ORB_SLAM3/Examples/ROS/ORB_SLAM3/Asus.yaml
roslaunch realsense2_camera rs_camera.launch

过程中遇到两个报错,记录一下:
报错:CMake Error at /opt/ros/melodic/share/cv_bridge/cmake/cv_bridgeConfig.cmake:113 (message)
解决办法:https://blog.csdn.net/woodgril/article/details/109155073
要根据实际情况做文件上的修改

报错:UBUNTU18.04环境下ROS编译ORB_SLAM2时遇到问题:[ROSBUILD] ROSPACK FOUND PACKAGE “ORB_SLAM2” AT “”…
解决:https://www.freesion.com/article/7597639275/