orb-slamprofs.scienze.univr.it/~bloisi/corsi/lezionicf/orb-slam.pdf · –orb-slam is a (stereo)...
TRANSCRIPT
![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](https://reader033.vdocuments.mx/reader033/viewer/2022042621/5f681084b491f3477815410a/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042621/5f681084b491f3477815410a/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042621/5f681084b491f3477815410a/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042621/5f681084b491f3477815410a/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042621/5f681084b491f3477815410a/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042621/5f681084b491f3477815410a/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042621/5f681084b491f3477815410a/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042621/5f681084b491f3477815410a/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042621/5f681084b491f3477815410a/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042621/5f681084b491f3477815410a/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042621/5f681084b491f3477815410a/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042621/5f681084b491f3477815410a/html5/thumbnails/12.jpg)
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