日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Jetson Nano学习笔记】2. ORB-SLAM3及ZED 2i驱动安装

發布時間:2023/12/9 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Jetson Nano学习笔记】2. ORB-SLAM3及ZED 2i驱动安装 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • ZED 2i驅動安裝
    • 安裝驅動
    • 自測
    • ROS測試
      • zed2i.launch
      • rostopic list
      • rosnode list
      • display_zed2i.launch
      • zed_rtabmap.launch
  • ORB-SLAM3
    • 安裝OpenCV 3
    • 安裝Glew
    • 安裝Pangolin
    • 安裝boost
    • 安裝Eigen 3
    • 安裝OpenGL
    • 安裝openssl
    • 安裝ORB-SLAM3
      • 建立swap
      • 準備編譯
      • 編譯
      • 關閉swap

平臺:Jetson Nano
系統版本:4.6.1


ZED 2i驅動安裝

安裝驅動

在ZED 2i 官方驅動下載驅動,需要與Jetson Nano系統版本對應。
下載速度很慢,這是我備份的:ZED_SDK_Tegra_JP46_v3.7.0.run(ZED2 Jetson Nano驅動包)


將下好的驅動發送到Nano里:

scp ./ZED_SDK_Tegra_JP46_v3.7.0.run nano@192.168.1.104:~/


如下圖,驅動已經傳輸過來了:

加權限后運行

sudo chmod +x ./ZED_SDK_Tegra_JP46_v3.7.0.run ./ZED_SDK_Tegra_JP46_v3.7.0.run

之后都選擇y同意

自測

在/usr/local/zed/tools中有一些測試小工具:

如ZED_Sensor_Viewer:

如ZED_Depth_Viewer:

ROS測試

參考博文:安裝zed-ros-wrapper 并解決一些報錯—— 努力~自律~開心

sudo apt-get install ros-melodic-sensor-msgs sudo apt-get install ros-melodic-tf2-sensor-msgs sudo cp /usr/lib/python2.7/dist-packages/em.py /opt/ros/melodic/lib/python2.7/dist-packages/ source /opt/ros/melodic/setup.bash mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3 source devel/setup.bash cd ~/catkin_ws/src git clone --recursive https://gitee.com/chr12/zed-ros-wrapper.git git clone https://gitee.com/zhanghao132/zed-ros-examples.git cd ~/catkin_ws rosdep install --from-paths src --ignore-src -r -y catkin_make -DCMAKE_BUILD_TYPE=Release

zed2i.launch

source ./devel/setup.bash roslaunch zed_wrapper zed2i.launch

第一次運行會在這里卡住下載東西:

漫長的等待后

rostopic list

rostopic list

使用rqt_image_view可以查看不同節點的命令

/diagnostics /rosout /rosout_agg /tf /tf_static /zed2i/joint_states /zed2i/zed_node/atm_press /zed2i/zed_node/confidence/confidence_map /zed2i/zed_node/depth/camera_info /zed2i/zed_node/depth/depth_registered /zed2i/zed_node/depth/depth_registered/compressed /zed2i/zed_node/depth/depth_registered/compressed/parameter_descriptions /zed2i/zed_node/depth/depth_registered/compressed/parameter_updates /zed2i/zed_node/depth/depth_registered/compressedDepth /zed2i/zed_node/depth/depth_registered/compressedDepth/parameter_descriptions /zed2i/zed_node/depth/depth_registered/compressedDepth/parameter_updates /zed2i/zed_node/depth/depth_registered/theora /zed2i/zed_node/depth/depth_registered/theora/parameter_descriptions /zed2i/zed_node/depth/depth_registered/theora/parameter_updates /zed2i/zed_node/disparity/disparity_image /zed2i/zed_node/imu/data /zed2i/zed_node/imu/data_raw /zed2i/zed_node/imu/mag /zed2i/zed_node/left/camera_info /zed2i/zed_node/left/image_rect_color /zed2i/zed_node/left/image_rect_color/compressed /zed2i/zed_node/left/image_rect_color/compressed/parameter_descriptions /zed2i/zed_node/left/image_rect_color/compressed/parameter_updates /zed2i/zed_node/left/image_rect_color/compressedDepth /zed2i/zed_node/left/image_rect_color/compressedDepth/parameter_descriptions /zed2i/zed_node/left/image_rect_color/compressedDepth/parameter_updates /zed2i/zed_node/left/image_rect_color/theora /zed2i/zed_node/left/image_rect_color/theora/parameter_descriptions /zed2i/zed_node/left/image_rect_color/theora/parameter_updates /zed2i/zed_node/left/image_rect_gray /zed2i/zed_node/left/image_rect_gray/compressed /zed2i/zed_node/left/image_rect_gray/compressed/parameter_descriptions /zed2i/zed_node/left/image_rect_gray/compressed/parameter_updates /zed2i/zed_node/left/image_rect_gray/compressedDepth /zed2i/zed_node/left/image_rect_gray/compressedDepth/parameter_descriptions /zed2i/zed_node/left/image_rect_gray/compressedDepth/parameter_updates /zed2i/zed_node/left/image_rect_gray/theora /zed2i/zed_node/left/image_rect_gray/theora/parameter_descriptions /zed2i/zed_node/left/image_rect_gray/theora/parameter_updates /zed2i/zed_node/left_cam_imu_transform /zed2i/zed_node/left_raw/camera_info /zed2i/zed_node/left_raw/image_raw_color /zed2i/zed_node/left_raw/image_raw_color/compressed /zed2i/zed_node/left_raw/image_raw_color/compressed/parameter_descriptions /zed2i/zed_node/left_raw/image_raw_color/compressed/parameter_updates /zed2i/zed_node/left_raw/image_raw_color/compressedDepth /zed2i/zed_node/left_raw/image_raw_color/compressedDepth/parameter_descriptions /zed2i/zed_node/left_raw/image_raw_color/compressedDepth/parameter_updates /zed2i/zed_node/left_raw/image_raw_color/theora /zed2i/zed_node/left_raw/image_raw_color/theora/parameter_descriptions /zed2i/zed_node/left_raw/image_raw_color/theora/parameter_updates /zed2i/zed_node/left_raw/image_raw_gray /zed2i/zed_node/left_raw/image_raw_gray/compressed /zed2i/zed_node/left_raw/image_raw_gray/compressed/parameter_descriptions /zed2i/zed_node/left_raw/image_raw_gray/compressed/parameter_updates /zed2i/zed_node/left_raw/image_raw_gray/compressedDepth /zed2i/zed_node/left_raw/image_raw_gray/compressedDepth/parameter_descriptions /zed2i/zed_node/left_raw/image_raw_gray/compressedDepth/parameter_updates /zed2i/zed_node/left_raw/image_raw_gray/theora /zed2i/zed_node/left_raw/image_raw_gray/theora/parameter_descriptions /zed2i/zed_node/left_raw/image_raw_gray/theora/parameter_updates /zed2i/zed_node/odom /zed2i/zed_node/parameter_descriptions /zed2i/zed_node/parameter_updates /zed2i/zed_node/path_map /zed2i/zed_node/path_odom /zed2i/zed_node/point_cloud/cloud_registered /zed2i/zed_node/pose /zed2i/zed_node/pose_with_covariance /zed2i/zed_node/rgb/camera_info /zed2i/zed_node/rgb/image_rect_color /zed2i/zed_node/rgb/image_rect_color/compressed /zed2i/zed_node/rgb/image_rect_color/compressed/parameter_descriptions /zed2i/zed_node/rgb/image_rect_color/compressed/parameter_updates /zed2i/zed_node/rgb/image_rect_color/compressedDepth /zed2i/zed_node/rgb/image_rect_color/compressedDepth/parameter_descriptions /zed2i/zed_node/rgb/image_rect_color/compressedDepth/parameter_updates /zed2i/zed_node/rgb/image_rect_color/theora /zed2i/zed_node/rgb/image_rect_color/theora/parameter_descriptions /zed2i/zed_node/rgb/image_rect_color/theora/parameter_updates /zed2i/zed_node/rgb/image_rect_gray /zed2i/zed_node/rgb/image_rect_gray/compressed /zed2i/zed_node/rgb/image_rect_gray/compressed/parameter_descriptions /zed2i/zed_node/rgb/image_rect_gray/compressed/parameter_updates /zed2i/zed_node/rgb/image_rect_gray/compressedDepth /zed2i/zed_node/rgb/image_rect_gray/compressedDepth/parameter_descriptions /zed2i/zed_node/rgb/image_rect_gray/compressedDepth/parameter_updates /zed2i/zed_node/rgb/image_rect_gray/theora /zed2i/zed_node/rgb/image_rect_gray/theora/parameter_descriptions /zed2i/zed_node/rgb/image_rect_gray/theora/parameter_updates /zed2i/zed_node/rgb_raw/camera_info /zed2i/zed_node/rgb_raw/image_raw_color /zed2i/zed_node/rgb_raw/image_raw_color/compressed /zed2i/zed_node/rgb_raw/image_raw_color/compressed/parameter_descriptions /zed2i/zed_node/rgb_raw/image_raw_color/compressed/parameter_updates /zed2i/zed_node/rgb_raw/image_raw_color/compressedDepth /zed2i/zed_node/rgb_raw/image_raw_color/compressedDepth/parameter_descriptions /zed2i/zed_node/rgb_raw/image_raw_color/compressedDepth/parameter_updates /zed2i/zed_node/rgb_raw/image_raw_color/theora /zed2i/zed_node/rgb_raw/image_raw_color/theora/parameter_descriptions /zed2i/zed_node/rgb_raw/image_raw_color/theora/parameter_updates /zed2i/zed_node/rgb_raw/image_raw_gray /zed2i/zed_node/rgb_raw/image_raw_gray/compressed /zed2i/zed_node/rgb_raw/image_raw_gray/compressed/parameter_descriptions /zed2i/zed_node/rgb_raw/image_raw_gray/compressed/parameter_updates /zed2i/zed_node/rgb_raw/image_raw_gray/compressedDepth /zed2i/zed_node/rgb_raw/image_raw_gray/compressedDepth/parameter_descriptions /zed2i/zed_node/rgb_raw/image_raw_gray/compressedDepth/parameter_updates /zed2i/zed_node/rgb_raw/image_raw_gray/theora /zed2i/zed_node/rgb_raw/image_raw_gray/theora/parameter_descriptions /zed2i/zed_node/rgb_raw/image_raw_gray/theora/parameter_updates /zed2i/zed_node/right/camera_info /zed2i/zed_node/right/image_rect_color /zed2i/zed_node/right/image_rect_color/compressed /zed2i/zed_node/right/image_rect_color/compressed/parameter_descriptions /zed2i/zed_node/right/image_rect_color/compressed/parameter_updates /zed2i/zed_node/right/image_rect_color/compressedDepth /zed2i/zed_node/right/image_rect_color/compressedDepth/parameter_descriptions /zed2i/zed_node/right/image_rect_color/compressedDepth/parameter_updates /zed2i/zed_node/right/image_rect_color/theora /zed2i/zed_node/right/image_rect_color/theora/parameter_descriptions /zed2i/zed_node/right/image_rect_color/theora/parameter_updates /zed2i/zed_node/right/image_rect_gray /zed2i/zed_node/right/image_rect_gray/compressed /zed2i/zed_node/right/image_rect_gray/compressed/parameter_descriptions /zed2i/zed_node/right/image_rect_gray/compressed/parameter_updates /zed2i/zed_node/right/image_rect_gray/compressedDepth /zed2i/zed_node/right/image_rect_gray/compressedDepth/parameter_descriptions /zed2i/zed_node/right/image_rect_gray/compressedDepth/parameter_updates /zed2i/zed_node/right/image_rect_gray/theora /zed2i/zed_node/right/image_rect_gray/theora/parameter_descriptions /zed2i/zed_node/right/image_rect_gray/theora/parameter_updates /zed2i/zed_node/right_raw/camera_info /zed2i/zed_node/right_raw/image_raw_color /zed2i/zed_node/right_raw/image_raw_color/compressed /zed2i/zed_node/right_raw/image_raw_color/compressed/parameter_descriptions /zed2i/zed_node/right_raw/image_raw_color/compressed/parameter_updates /zed2i/zed_node/right_raw/image_raw_color/compressedDepth /zed2i/zed_node/right_raw/image_raw_color/compressedDepth/parameter_descriptions /zed2i/zed_node/right_raw/image_raw_color/compressedDepth/parameter_updates /zed2i/zed_node/right_raw/image_raw_color/theora /zed2i/zed_node/right_raw/image_raw_color/theora/parameter_descriptions /zed2i/zed_node/right_raw/image_raw_color/theora/parameter_updates /zed2i/zed_node/right_raw/image_raw_gray /zed2i/zed_node/right_raw/image_raw_gray/compressed /zed2i/zed_node/right_raw/image_raw_gray/compressed/parameter_descriptions /zed2i/zed_node/right_raw/image_raw_gray/compressed/parameter_updates /zed2i/zed_node/right_raw/image_raw_gray/compressedDepth /zed2i/zed_node/right_raw/image_raw_gray/compressedDepth/parameter_descriptions /zed2i/zed_node/right_raw/image_raw_gray/compressedDepth/parameter_updates /zed2i/zed_node/right_raw/image_raw_gray/theora /zed2i/zed_node/right_raw/image_raw_gray/theora/parameter_descriptions /zed2i/zed_node/right_raw/image_raw_gray/theora/parameter_updates /zed2i/zed_node/stereo/image_rect_color /zed2i/zed_node/stereo/image_rect_color/compressed /zed2i/zed_node/stereo/image_rect_color/compressed/parameter_descriptions /zed2i/zed_node/stereo/image_rect_color/compressed/parameter_updates /zed2i/zed_node/stereo/image_rect_color/compressedDepth /zed2i/zed_node/stereo/image_rect_color/compressedDepth/parameter_descriptions/zed2i/zed_node/stereo/image_rect_color/compressedDepth/parameter_updates /zed2i/zed_node/stereo/image_rect_color/theora /zed2i/zed_node/stereo/image_rect_color/theora/parameter_descriptions /zed2i/zed_node/stereo/image_rect_color/theora/parameter_updates /zed2i/zed_node/stereo_raw/image_raw_color /zed2i/zed_node/stereo_raw/image_raw_color/compressed /zed2i/zed_node/stereo_raw/image_raw_color/compressed/parameter_descriptions /zed2i/zed_node/stereo_raw/image_raw_color/compressed/parameter_updates /zed2i/zed_node/stereo_raw/image_raw_color/compressedDepth /zed2i/zed_node/stereo_raw/image_raw_color/compressedDepth/parameter_descriptions /zed2i/zed_node/stereo_raw/image_raw_color/compressedDepth/parameter_updates /zed2i/zed_node/stereo_raw/image_raw_color/theora /zed2i/zed_node/stereo_raw/image_raw_color/theora/parameter_descriptions /zed2i/zed_node/stereo_raw/image_raw_color/theora/parameter_updates /zed2i/zed_node/temperature/imu /zed2i/zed_node/temperature/left /zed2i/zed_node/temperature/right

rosnode list

rosnode list

/rosout /zed2i/zed2i_state_publisher /zed2i/zed_node

display_zed2i.launch

source ~/catkin_ws/devel/setup.bash roslaunch zed_display_rviz display_zed2i.launch


zed_rtabmap.launch

source ~/catkin_ws/devel/setup.bash roslaunch zed_rtabmap_example zed_rtabmap.launch

ORB-SLAM3

舊記錄見【RK3399Pro學習筆記】十七、Debian安裝ORB-SLAM3和單目demo的運行
之前用的Fastgit來加速下載,但由于舊的鏡像站不能用了,新鏡像站速度也很慢,所以寄了。

安裝OpenCV 3

安裝各種依賴包

// 安裝build-essential、cmake、git和pkg-config sudo apt install build-essential cmake git pkg-config // 安裝tif格式圖像工具包 sudo apt install libtiff5-dev //安裝視頻I/O包 sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev//安裝gtk2.0 sudo apt install aptitude sudo aptitude install libgtk2.0-dev//優化函數包 sudo apt install libatlas-base-dev gfortran

安裝opencv及contrib

# Install minimal prerequisites (Ubuntu 18.04 as reference) sudo apt update && sudo apt install -y cmake g++ wget unzip # Download and unpack sources 速度很慢,在windows電腦下快些 wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.16.zip wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.4.16.zip

直接復制鏈接用下載軟件下載:

使用scp命令發送到Nano中

unzip opencv.zip unzip opencv_contrib.zip # Create build directory and switch into it mkdir -p build && cd build # Configure cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.4.16/modules ../opencv-3.4.16 # Build cmake --build . # 安裝 sudo make install # 更新動態鏈接庫 sudo ldconfig

在執行

cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.4.16/modules ../opencv-3.4.16

時可能會警告下載某些文件超時,可在cmake的日志中獲取其下載鏈接和放置路徑

cat ~/build/CMakeDownloadLog.txt

#do_copy "boostdesc_bgm.i" "0ea90e7a8f3f7876d450e4149c97c74f" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_bgm.i" "/home/nano/build/downloads/xfeatures2d" #missing "/home/nano/build/downloads/xfeatures2d/boostdesc_bgm.i" #cmake_download "/home/nano/opencv-3.4.16/.cache/xfeatures2d/boostdesc/0ea90e7a8f3f7876d450e4149c97c74f-boostdesc_bgm.i" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_bgm.i"


自行補全后再次

cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.4.16/modules ../opencv-3.4.16

安裝Glew

sudo apt install libglew-dev

安裝Pangolin

git clone https://gitee.com/cuixuyang615/Pangolin_new.git cd Pangolin_new sudo nano ./src/CMakeLists.txt

注釋掉如下內容

sudo nano ./src/display/device/display_x11.cpp

注釋如下兩行:

mkdir build && cd build cmake .. make cmake --build . sudo make install

安裝boost

wget -O boost_1_78_0.tar.gz https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.tar.gz

下載后發給Nano也行

tar -zxvf boost_1_78_0.tar.gz cd boost_1_78_0/ ./bootstrap.sh sudo ./b2 install

安裝Eigen 3

git clone https://gitee.com/kobin24/eigen-git-mirror.git cd eigen-git-mirror mkdir build cd build cmake .. sudo make install

執行完命令后,需要找到Eigen的安裝路徑,將Eigen文件夾復制到/usr/include。在Nano上用的是以下命令完成(引自Ubuntu16.04環境下安裝配置ORB-SLAM3 —— Hannnnnnnk)

sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include

安裝OpenGL

sudo apt-get install build-essential libgl1-mesa-dev sudo apt-get install freeglut3-dev sudo apt-get install libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev

安裝openssl

sudo apt-get install libssl-dev

安裝ORB-SLAM3

git clone https://gitee.com/changlc/ORB_SLAM3_detailed_comments.git cd ORB_SLAM3_detailed_comments sudo chmod +x ./build.sh sudo chmod +x ./build_ros.sh

建立swap

查看剩余空間

df -h


建立20G的swap空間

sudo dd if=/dev/zero of=/swapfile bs=1024 count=20971520 sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile


準備編譯

刪掉
CMakeLists.txt
Thirdparty/g2o/CMakeLists.txt
Thirdparty/DBoW2/CMakeLists.txt
Examples/ROS/ORB_SLAM3/CMakeLists.txt

SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -march native") SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -march native") SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -march native") SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3 -march native")

結尾的-march native(見ORB_SLAM3運行時segment fault —— iri_descent),
以及統一這些文件中的OpenCV版本需求(見ORB-SLAM3 安裝運行 —— 寒、)
有的為

find_package(OpenCV 4.0 QUIET) if(NOT OpenCV_FOUND)find_package(OpenCV 3.0 QUIET)if(NOT OpenCV_FOUND)message(FATAL_ERROR "OpenCV > 3.0 not found.")endif() endif()

有的為

find_package(OpenCV 3.0 QUIET) if(NOT OpenCV_FOUND)find_package(OpenCV 2.4.3 QUIET)if(NOT OpenCV_FOUND)message(FATAL_ERROR "OpenCV > 2.4.3 not found.")endif() endif()

建議統一之后再開始編譯

編譯

./build.sh sudo nano ~/.bashrc # ~/ORB_SLAM3_detailed_comments為自己電腦中ORB_SLAM3存放的路徑

在末尾加入

export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/ORB_SLAM3_detailed_comments/Examples/ROS

保存后再

source ~/.bashrc./build_ros.sh

關閉swap

sudo swapoff /swapfile

總結

以上是生活随笔為你收集整理的【Jetson Nano学习笔记】2. ORB-SLAM3及ZED 2i驱动安装的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。