前言:网上的教程实在是太多,从诸多教程中找到一个适合自己的实属不易。将此记录下来,希望能够帮助到有需要的人。因为时间紧迫,没时间写特别详细的内容,只能引用一些他人的步骤。请见谅!不过经过亲测,过程是完整的。
本机环境: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.修改源文件,并运行
详细步骤请参考:https://blog.csdn.net/gls_nuaa/article/details/122050243
详细步骤请参考:https://blog.csdn.net/gls_nuaa/article/details/122101482
注意:因为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
配置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 解决: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
执行build_ros.sh会报错(关于sophus和类型转换),解决方法在这里
这里提供一种简单的标定方法,具体见该文章第三步:https://blog.csdn.net/gls_nuaa/article/details/122104557
修改源文件详细步骤参考,修改的内容完全一致: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/