ROS交流群
ROS Group
产品服务
Product Service
开源代码库
Github
官网
Official website
技术交流
Technological exchanges
激光雷达
LIDAR
ROS教程
ROS Tourials
深度学习
Deep Learning
机器视觉
Computer Vision

xiaoqiang ROS robot tutorial (18)


  • administrators

    Xiaoqiang ROS Robot Tutorial (18)_3D modeling using DSO_SLAM

    Direct Sparse Odometry (DSO) was developed by Jakob Engel (educated under the name of the author of the industry’s popular lsd_slam system), with better measured performance and accuracy than lsd_slam. DSO was open sourced to github last month by the author. At the same time, the author has also open sourced the usage code dso_ros of DSO in the ros system. This tutorial will demonstrate how to install DSO and dso_ros on the Xiaoqiang development platform, use the camera on Xiaoqiang platform to run DSO in real time to perform 3D modeling, first go to the final test video of the tutorial (the effect is very good).

    0_1536828442524_4e8b2d76-4aa3-46b5-8449-62e24ae09584-image.png

    1.DSO installation

    Note: Since the Xiaoqiang development platform has already installed a lot of DSO-needed dependencies in advance, the following will skip the installation of these packages. Readers of other development platforms should refer to the complete installation tutorial on github for installation.

    1.a Installation Dependency Package

    sudo apt-get install libsuitesparse-dev libeigen3-dev libboost-dev
    sudo apt-get install libopencv-dev
    

    1.b download source code

    cd ~/Documents/
    git clone https://github.com/JakobEngel/dso.git
    

    1.c continue to configure dependencies

    sudo apt-get install zlib1g-dev
    cd ~/Documents/dso/thirdparty
    tar -zxvf libzip-1.1.1.tar.gz
    cd libzip-1.1.1/
    ./configure
    make
    sudo make install
    sudo cp lib/zipconf.h /usr/local/include/zipconf.h
    

    1.d compile and install

    cd ~/Documents/dso/
    mkdir build 
    cd build 
    cmake .. 
    make -j
    

    Installation of dso_ros

    Note: The source code provided by the original author has two branches. The master branch corresponds to the rosbuild version, and the catkin branch corresponds to the catkin version. For modern ROS versions, the catkin version is recommended for easier installation and use. However, the author’s catkin branch has a code defect and cannot be installed and used. Therefore, the following will install the dso_ros version of our Bwbot modification.

    cd ~/Documents/ros/src
    git clone https://github.com/BlueWhaleRobot/dso_ros.git 
    cd ..
    export DSO_PATH=/home/xiaoqiang/Documents/dso
    catkin_make
    

    start using

    Note: The camera calibration files of the Xiaoqiang development platform are the same, so you can directly run the following commands. Readers of other development platforms should modify the contents of the camera.txt file (note that there should be no spaces at the end of each line) and Image topic name in commands.

    rosrun dso_ros dso_live image:=/camera_node/image_raw calib=/home/xiaoqiang/Documents/ros/src/dso_ros/camera.txt mode=1
    

    Now move the camera and start modeling the surroundings in 3D, avoiding sharp turns and strenuous movements. For Xiaoqiang users, first control the Xiaoqiang movement and use the rosbag to record the image/camera_node/image_raw image topic data, and then replay. This can achieve a wide range of modeling. Before the rosbag is replayed, it is necessary to close the sudo service startup stop, otherwise there will be image publishing conflicts.