12
ORB-SLAM Stefano Aldegheri PARCO - Parallel Computing Lab 1

ORB-SLAMprofs.scienze.univr.it/~bloisi/corsi/lezionicf/orb-slam.pdf · –ORB-SLAM is a (stereo) RGB(D) camera SLAM system PARCO - Parallel Computing Lab 2. ORB-SLAM Example PARCO

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ORB-SLAMprofs.scienze.univr.it/~bloisi/corsi/lezionicf/orb-slam.pdf · –ORB-SLAM is a (stereo) RGB(D) camera SLAM system PARCO - Parallel Computing Lab 2. ORB-SLAM Example PARCO

ORB-SLAM

Stefano Aldegheri

PARCO - Parallel Computing Lab 1

Page 2: ORB-SLAMprofs.scienze.univr.it/~bloisi/corsi/lezionicf/orb-slam.pdf · –ORB-SLAM is a (stereo) RGB(D) camera SLAM system PARCO - Parallel Computing Lab 2. ORB-SLAM Example PARCO

SLAM

• Simultaneous Localization And Mapping

• Various type of SLAM system

– ORB-SLAM is a (stereo) RGB(D) camera SLAM system

PARCO - Parallel Computing Lab 2

Page 3: ORB-SLAMprofs.scienze.univr.it/~bloisi/corsi/lezionicf/orb-slam.pdf · –ORB-SLAM is a (stereo) RGB(D) camera SLAM system PARCO - Parallel Computing Lab 2. ORB-SLAM Example PARCO

ORB-SLAM Example

PARCO - Parallel Computing Lab 3

Page 4: ORB-SLAMprofs.scienze.univr.it/~bloisi/corsi/lezionicf/orb-slam.pdf · –ORB-SLAM is a (stereo) RGB(D) camera SLAM system PARCO - Parallel Computing Lab 2. ORB-SLAM Example PARCO

ORB-SLAM composition

PARCO - Parallel Computing Lab 4

Localization MappingLoop

closure

Page 5: ORB-SLAMprofs.scienze.univr.it/~bloisi/corsi/lezionicf/orb-slam.pdf · –ORB-SLAM is a (stereo) RGB(D) camera SLAM system PARCO - Parallel Computing Lab 2. ORB-SLAM Example PARCO

Localization

• Identification in the map

• In the example below, red camera is where agent localize himself

PARCO - Parallel Computing Lab 5

Page 6: ORB-SLAMprofs.scienze.univr.it/~bloisi/corsi/lezionicf/orb-slam.pdf · –ORB-SLAM is a (stereo) RGB(D) camera SLAM system PARCO - Parallel Computing Lab 2. ORB-SLAM Example PARCO

Mapping

• 2D point 3D point

• Add new points and associate it with image features

PARCO - Parallel Computing Lab 6

Page 7: ORB-SLAMprofs.scienze.univr.it/~bloisi/corsi/lezionicf/orb-slam.pdf · –ORB-SLAM is a (stereo) RGB(D) camera SLAM system PARCO - Parallel Computing Lab 2. ORB-SLAM Example PARCO

Loop closure

• Parameter estimation implies error

• Fix unavoidable scale errors, especially on monocular camera

PARCO - Parallel Computing Lab 7

Page 8: ORB-SLAMprofs.scienze.univr.it/~bloisi/corsi/lezionicf/orb-slam.pdf · –ORB-SLAM is a (stereo) RGB(D) camera SLAM system PARCO - Parallel Computing Lab 2. ORB-SLAM Example PARCO

Your turn

• Use commands on next slide to get basic ORB-SLAM working

• Don’t worry on file/code size, we will focus on System, Tracking and folder under Examples/ROS

PARCO - Parallel Computing Lab 8

Page 9: ORB-SLAMprofs.scienze.univr.it/~bloisi/corsi/lezionicf/orb-slam.pdf · –ORB-SLAM is a (stereo) RGB(D) camera SLAM system PARCO - Parallel Computing Lab 2. ORB-SLAM Example PARCO

Your turn

mkdir gitcd git

sudo apt-get install -y libglew-dev cmake

git clone https://github.com/stevenlovegrove/Pangolin.gitgit clone https://github.com/raulmur/ORB_SLAM2.git

cd Pangolinmkdir build && cd buildcmake ..makecd ../..

cd ORB_SLAM2chmod +x build.sh./build.sh

export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:$(pwd)/Examples/ROSchmod +x build_ros.sh./build_ros.sh

PARCO - Parallel Computing Lab 9

Page 10: ORB-SLAMprofs.scienze.univr.it/~bloisi/corsi/lezionicf/orb-slam.pdf · –ORB-SLAM is a (stereo) RGB(D) camera SLAM system PARCO - Parallel Computing Lab 2. ORB-SLAM Example PARCO

What can be done

PARCO - Parallel Computing Lab 10

Page 11: ORB-SLAMprofs.scienze.univr.it/~bloisi/corsi/lezionicf/orb-slam.pdf · –ORB-SLAM is a (stereo) RGB(D) camera SLAM system PARCO - Parallel Computing Lab 2. ORB-SLAM Example PARCO

Your turn

• Point cloud visualization of map– Your main has a reference to a System object– System has a reference to the Map object– Map has GetAllMapPoints method– Connect the dots

• More on this: publish pose of the camera on ROS topic (hint: mTcw is the name member on Tracking class)– Bonus: list of keyframes too (again, GetAllKeyFrames is a method on Map class)

– Ultrabonus: publish points with color

PARCO - Parallel Computing Lab 11

Page 12: ORB-SLAMprofs.scienze.univr.it/~bloisi/corsi/lezionicf/orb-slam.pdf · –ORB-SLAM is a (stereo) RGB(D) camera SLAM system PARCO - Parallel Computing Lab 2. ORB-SLAM Example PARCO

Useful links

• Help– https://github.com/raulmur/ORB_SLAM2

• Dataset download– KITTI (car):

http://www.cvlibs.net/datasets/kitti/eval_odometry.php

– EuRoC (drone): https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets

• Point cloud visualization– http://wiki.ros.org/pcl_ros

PARCO - Parallel Computing Lab 12