Jetson (Ubuntu20.04) installe opencv4.6.0, pilote de caméra realsense, ros, enregistrement d'étape 'VINS-Fusion-gpu' (les prédécesseurs ont rempli les fosses et ces derniers essaient de ne pas tomber)

Module principal JETSON Xavier nx (ubuntu20.04) + carte support RTSO-6002e

Préparation:

(1) Installez les composants jetpack5.1.1 et Jetpack (cuda, etc.)

(2) Installer la page d'accueil de ros | Yuxiang ROS (fishros.org.cn)

(3) Installez Ceres 1.14.0 Ubuntu20.04, installez Ceres1.14.0

(4) Installez opencv4.6.0

  (5) Voir realsense https://blog.csdn.net/weixin_46151178/article/details/126349702?ops_request_misc=&request_id=3c7111dcdc884d26a06565100bf833a9&biz_id=&utm_medium=distribute.pc_search_result.none -tâche -blog-2~blog~koosearch~default-1 -126349702-null-null.268^v1^control&utm_term=d435i&spm=1018.2226.3001.4450

  6) Installez VINS-Fusion-gpu

 1. Le flashage et l'installation du jetpack ne seront pas démontrés, ils sont tous corrigés et correspondants.

 2. Installation de ros en un clic. Suivez les invites pour sélectionner la version jetson ubuntu20.

 3、Solveur Ceres

cd ~/Downloads/
sudo apt-get install -y cmake libgoogle-glog-dev libatlas-base-dev libsuitesparse-dev
wget http://ceres-solver.org/ceres-solver-1.14.0.tar.gz
tar zxf ceres-solver-1.14.0.tar.gz
mkdir ceres-bin
mkdir solver && cd ceres-bin
cmake ../ceres-solver-1.14.0 -DEXPORT_BUILD_DIR=ON -DCMAKE_INSTALL_PREFIX="../solver" 
 
  #good for build without being root privileged and at wanted directory
  
make -j3 # 6 : number of cores
make install
bin/simple_bundle_adjuster ../ceres-solver-1.14.0/data/problem-16-22106-pre.txt # to check version

4. Installation d'OpenCV

 

sudo apt-get purge libopencv* python-opencv 
sudo apt-get update
sudo apt-get install -y build-essential pkg-config
sudo apt-get install -y cmake libavcodec-dev libavformat-dev libavutil-dev \
    libglew-dev libgtk2.0-dev libgtk-3-dev libjpeg-dev libpng-dev libpostproc-dev \
    libswscale-dev libtbb-dev libtiff5-dev libv4l-dev libxvidcore-dev \
    libx264-dev qt5-default zlib1g-dev libgl1 libglvnd-dev pkg-config \
    libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev mesa-utils     
 
sudo apt-get install python2.7-dev python3-dev python-numpy python3-numpy

Sortie·OpenCV/OpenCV (github.com)

Version 4.6.0 ·OpenCV/opencv_contrib (github.com)

Compilez opencv 4.6.0, 

mkdir opencv 

Décompressez les opencv et opencv_contrib-4.6.0 téléchargés ici

 

sudo mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
        -D CMAKE_INSTALL_PREFIX=/usr/local \
        -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.6.0/modules \
        -D WITH_CUDA=ON \
        -D CUDA_ARCH_BIN=5.3 \
        -D CUDA_ARCH_PTX="" \
        -D ENABLE_FAST_MATH=ON \
        -D CUDA_FAST_MATH=ON \
        -D WITH_CUBLAS=ON \
        -D WITH_LIBV4L=ON \
        -D WITH_GSTREAMER=ON \
        -D WITH_GSTREAMER_0_10=OFF \
        -D WITH_QT=ON \
        -D WITH_OPENGL=ON \
        -D CUDA_NVCC_FLAGS="--expt-relaxed-constexpr" \
        -D WITH_TBB=ON \
        ..
make -j6
sudo make install

 L'installation d'OpenCV sur NX est relativement lente, prenant près d'une heure . Une fois OpenCV installé, vous devez compiler davantage CV-Bridge (cv_bridge est un package de fonctions qui convertit entre les messages d'image ROS et les images OpenCV).

Étant donné que les données opencv et  les données ROS  doivent être converties, il est nécessaire d'utiliser l'outil de pontage cv_bridge. Ensuite, nous présenterons comment télécharger, installer et configurer votre propre package de fonctions cv_bridge.

Tout d’abord, créez un espace de travail ROS


mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src/
catkin_init_workspace 
cd ..
catkin_make
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

Ensuite, téléchargez le code source de la version correspondante. Puisqu'il s'agit d'Ubuntu 20.04, téléchargez la version noetic.

 

1) Fichier CMakeLists.txt

Ajoutez votre chemin d'installation opencv devant set(_opencv_version 4), probablement à la ligne 20

https://github.com/ros-perception/vision_opencv/tree/noetic 

 Après le téléchargement, extrayez-le dans le répertoire ~/catkin_ws/src. Puisque nous n'avons besoin que de cv_bridge, il nous suffit de conserver le dossier cv_bridge, de le placer dans ~/catkin_ws/src/, puis de modifier le fichier de configuration cv_bridge.

 

set(OpenCV_DIR /home/nvidia/opencv/opencv-4.6.0/build/)
set(_opencv_version 4)
find_package(OpenCV 4 QUIET)

Puis compilez ce package de fonctions

  1. cd ~/catkin_ws/src

  2. catkin_make

Si la compilation réussit, la production du package de fonctions cv_bridge est terminée, ce qui signifie également qu'opencv 4.6.0 a été correctement installé, et ce package de fonctions cv_bridge peut se connecter correctement à la version opencv installée par nous-mêmes. Enfin, nous ajoutons le chemin de ce package de fonctions vers le dossier ~/.bashrc, afin que nous puissions appeler ce package de fonctions cv_bridge lors de la compilation de vins-fusion-gpu ultérieurement, ouvrez le dossier ~/.bashrc et ajoutez la commande suivante à la source finale ~/catkin_ws /devel/

setup.bash

 Enfin, recherchez le chemin actuel dans le terminal

source ~/.bashrc

La commande 'rosrun' est introuvable, rosrun ne trouve pas le problème 

$ sudo apt install ros-noetic-rosbash

5. Installez RealSense

Jetson nx (version Jetpack 4.6) tutoriel d'installation et d'installation au niveau nounou, étape du processus d435i-SDK sur la fosse, installez realsense, code_utils et imu_utils et calibrez les paramètres internes de l'imu. Ci-joint le test demo_jetson jetpack 4.6 pyrrealsense2_Unlicensed driver Le blog de Liang Suosuo- Blogue du RPSC

 6. Compilez vins-fusion-gpu

cd ~/catkin_ws/src

 

git clone https://github.com/pjrambo/VINS-Fusion-gpu.git

修改 vins_estimator/CMakeLists.txt 文件

注释一行

#include(/home/dji/opencv/build/OpenCVConfig.cmake)
添加 cv_bridge_460 功能包的路径和 opencv-4.6.0 的路径

set(cv_bridge_460_DIR "/home/nvidia/catkin_ws/devel/share/cv_bridge/cmake")
set(OpenCV_DIR "/home/nvidia/opencv/opencv-4.6.0/build/")

Enregistrez et quittez, et enfin entrez dans le dossier VINS-Fusion-gpu

Entrez le code suivant dans le terminal pour que VINS-Fusion-gpu corresponde automatiquement à la version OpenCV4 (le nom de la variable change)

sed -i 's/CV_FONT_HERSHEY_SIMPLEX/cv::FONT_HERSHEY_SIMPLEX/g' `grep CV_FONT_HERSHEY_SIMPLEX -rl ./`
sed -i 's/CV_LOAD_IMAGE_GRAYSCALE/cv::IMREAD_GRAYSCALE/g' `grep CV_LOAD_IMAGE_GRAYSCALE -rl ./`
sed -i 's/CV_BGR2GRAY/cv::COLOR_BGR2GRAY/g' `grep CV_BGR2GRAY -rl ./`
sed -i 's/CV_RGB2GRAY/cv::COLOR_RGB2GRAY/g' `grep CV_RGB2GRAY -rl ./`
sed -i 's/CV_GRAY2RGB/cv::COLOR_GRAY2RGB/g' `grep CV_GRAY2RGB -rl ./`
sed -i 's/CV_GRAY2BGR/cv::COLOR_GRAY2BGR/g' `grep CV_GRAY2BGR -rl ./`
sed -i 's/CV_CALIB_CB_ADAPTIVE_THRESH/cv::CALIB_CB_ADAPTIVE_THRESH/g' `grep CV_CALIB_CB_ADAPTIVE_THRESH -rl ./`
sed -i 's/CV_CALIB_CB_NORMALIZE_IMAGE/cv::CALIB_CB_NORMALIZE_IMAGE/g' `grep CV_CALIB_CB_NORMALIZE_IMAGE -rl ./`
sed -i 's/CV_CALIB_CB_FILTER_QUADS/cv::CALIB_CB_FILTER_QUADS/g' `grep CV_CALIB_CB_FILTER_QUADS -rl ./`
sed -i 's/CV_CALIB_CB_FAST_CHECK/cv::CALIB_CB_FAST_CHECK/g' `grep CV_CALIB_CB_FAST_CHECK -rl ./`
sed -i 's/CV_ADAPTIVE_THRESH_MEAN_C/cv::ADAPTIVE_THRESH_MEAN_C/g' `grep CV_ADAPTIVE_THRESH_MEAN_C -rl ./`
sed -i 's/CV_THRESH_BINARY/cv::THRESH_BINARY/g' `grep CV_THRESH_BINARY -rl ./`
sed -i 's/CV_SHAPE_CROSS/cv::MORPH_CROSS/g' `grep CV_SHAPE_CROSS -rl ./`
sed -i 's/CV_SHAPE_RECT/cv::MORPH_RECT/g' `grep CV_SHAPE_RECT -rl ./`
sed -i 's/CV_TERMCRIT_EPS/cv::TermCriteria::EPS/g' `grep CV_TERMCRIT_EPS -rl ./`
sed -i 's/CV_TERMCRIT_ITER/cv::TermCriteria::MAX_ITER/g' `grep CV_TERMCRIT_ITER -rl ./`
sed -i 's/CV_RETR_CCOMP/cv::RETR_CCOMP/g' `grep CV_RETR_CCOMP -rl ./`
sed -i 's/CV_CHAIN_APPROX_SIMPLE/cv::CHAIN_APPROX_SIMPLE/g' `grep CV_CHAIN_APPROX_SIMPLE -rl ./`
sed -i 's/CV_AA/cv::LINE_AA/g' `grep CV_AA -rl ./`

 Entrez ensuite dans le répertoire de travail catkin_ws/ et compilez

cd ~/catkin_ws/
catkin_make

Après une compilation réussie, VINS-Fusion-gpu peut s'exécuter avec succès !

 

 

Par exemple, si l'erreur « Impossible de trouver image_transport (manquant : image_transport_DIR) » se produit, vous devez la saisir dans le terminal.

 

sudo apt install ros-noetic-image-transport
ERROR: cannot launch node of type [rviz/rviz]: rviz

sudo apt-get install ros-noetic-rviz 

 

 

Je suppose que tu aimes

Origine blog.csdn.net/weixin_46151178/article/details/132201999
conseillé
Classement