目錄
- 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
平臺: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
sudo apt update
&& sudo apt install -y cmake g++
wget unzip
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
mkdir -p build
&& cd build
cmake -DOPENCV_EXTRA_MODULES_PATH
=../opencv_contrib-3.4.16/modules
../opencv-3.4.16
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
自行補全后再次
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
在末尾加入
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驱动安装的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。