Тёмный

Understanding SLAM Using Pose Graph Optimization | Autonomous Navigation, Part 3 

MATLAB
Подписаться 518 тыс.
Просмотров 190 тыс.
50% 1

This video provides some intuition around Pose Graph Optimization-a popular framework for solving the simultaneous localization and mapping (SLAM) problem in autonomous navigation.
We’ll cover why uncertainty in a vehicle’s sensors and state estimation makes building a map of the environment difficult and how pose graph optimization can deal with it. We’ll also briefly cover occupancy grid maps as one way to represent the environment model.
Additional Resources:
- Implement Simultaneous Localization and Mapping (SLAM) with MATLAB: bit.ly/2Yk9agi
- Download ebook: Sensor Fusion and Tracking for Autonomous Systems: An Overview: bit.ly/2YZxvXA
- Download white paper: Sensor Fusion and Tracking for Autonomous Systems - bit.ly/3dsf2bA
- SLAM Course - 15 - Least Squares SLAM - Cyrill Stachniss video: • SLAM Course - 15 - Lea...
- Past, Present, and Future of Simultaneous Localization And Mapping: Towards the Robust-Perception Age. Paper by Cesar Cadena, Luca Carlone, Henry Carrillo, Yasir Latif, Davide Scaramuzza, Jose ́ Neira, Ian Reid, John J. Leonard. - arxiv.org/abs/1606.05830
- Simultaneous Localisation and Mapping (SLAM): Part I. Paper by H. F. Durrant-Whyte and T. Bailey. IEEE Robotics and Automation Magazine, 13(2):99-110, 2006. - ieeexplore.ieee.org/document/...
- Simultaneous Localisation and Mapping (SLAM): Part II. Paper by T. Bailey and H. F. Durrant-Whyte. Robotics and Autonomous Systems (RAS), 13(3):108-117, 2006. - ieeexplore.ieee.org/document/...
Watch the other videos in this series:
What Is Autonomous Navigation?: • What Is Autonomous Nav...
Understanding the Particle Filter: • Understanding the Part...
--------------------------------------------------------------------------------------------------------
Get a free product trial: goo.gl/ZHFb5u
Learn more about MATLAB: goo.gl/8QV7ZZ
Learn more about Simulink: goo.gl/nqnbLe
See what's new in MATLAB and Simulink: goo.gl/pgGtod
© 2020 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc.
See www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders.

Наука

Опубликовано:

 

27 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 72   
@prandtlmayer
@prandtlmayer 2 года назад
Brian, this is possibly the best introductory video to pose graph I have seen so far
@adnanfahad6526
@adnanfahad6526 3 года назад
I can see how much effort has been put into this video. Great explanation!!! Thanks a lot.
@alfascanerllc3786
@alfascanerllc3786 3 года назад
Very useful stuff, really academic and easy to comprehend at the same time. Thanks.
@bluecpp2059
@bluecpp2059 4 года назад
Thank you for these great introductory videos to the topic. 👍
@xephyr417
@xephyr417 3 года назад
I love you, Brian Douglas. You have been teaching me for so many years.
@talhayousuf4599
@talhayousuf4599 2 года назад
Ah! Brian Douglas! I learnt all control systems concepts from you, by your videos I was able to integrate equations with real world, you are wonderful at teaching. Allah bless you
@ibadrather
@ibadrather Год назад
I did udacity Robotics Software Engineering Nanodegree. and studied a lot about SLAM. BUt this explanation beats everything. wow.
@snackbite5360
@snackbite5360 2 года назад
dude im very grateful for the resourceful explanation. thank you so much, this is what future of education will look like. bless you all who reads this xoxo
@androclassic
@androclassic 3 года назад
Thanks, best visualisation of PGO I have seen so far ! 👍👍
@orhirshfeld
@orhirshfeld Месяц назад
Always love to learn from you, you make it easy to learn
@vaneesh03
@vaneesh03 2 года назад
These Tech Talks are GOLD!
@r.h.9043
@r.h.9043 3 года назад
excellently explained and visualized!
@apppurchaser2268
@apppurchaser2268 Год назад
Amazing man thank you so much for clean and concise explanations
@mikeharville7203
@mikeharville7203 2 года назад
Awesome video, with excellent visual illustrations! However: It seems to imply that you create a loop closure link when you somehow know (from external means) that the robot is in the exact same place as before. My understanding is that what people actually do is identify matching features (or sets of features) between measurements at two _different_ but similar robot locations, estimate a relative pose between those that would satisfy the observed changes (e.g. image locations for visual features, or angles and distances for lidar features) in the matched features in the two measurements, and then add that relative pose as the new link in the graph. It would be good (maybe in a followup video) to go into that more, and also into how one actually optimizes the pose graph, which again would involve some matching/alignment between features or other measurements at linked poses.
@gennarofarina94
@gennarofarina94 2 года назад
Great intro to the process, thank you!
@amaurypalacios9079
@amaurypalacios9079 3 года назад
Great video, excelent explanation, thanks.
@jiayonglau
@jiayonglau 11 месяцев назад
Thank you for your effort! Very underrated video!!
@nasiry2460
@nasiry2460 3 года назад
So wonderful, Thank you so much.
@user-ei6my1of8g
@user-ei6my1of8g Год назад
Great work to explain SLAM. Thanks!
@killlalabas
@killlalabas 4 года назад
Great youtube class!! Thanks!!
@ma-xz5of
@ma-xz5of 2 года назад
Amazing - thx for the very clear explanation
@mutalipkurban
@mutalipkurban 3 года назад
thank you so much! great job!
@rubelahmed6805
@rubelahmed6805 3 года назад
thanks a lot for your explanation.
@kimagurerobo
@kimagurerobo 4 года назад
Great class👍
@aniktahabilder2518
@aniktahabilder2518 3 года назад
Excellent Explanation
@haoyangwang998
@haoyangwang998 3 года назад
Thanks so much, you teach me a lot.
@jehanjayawardana863
@jehanjayawardana863 2 года назад
Thanks a lot! Nicely explained
@MonkeyBarsEveryday
@MonkeyBarsEveryday Год назад
very well put together thank you
@pianodavid9676
@pianodavid9676 5 месяцев назад
Excellent explanation, thank you :)
@vishvraval4079
@vishvraval4079 8 месяцев назад
Great explanation
@BrianBDouglas
@BrianBDouglas 8 месяцев назад
Thanks! This was one of my favorites to make :)
@anlklc2449
@anlklc2449 2 года назад
brilliant work
@alhdlakhfdqw
@alhdlakhfdqw Год назад
thank you so much for your perfect video!
@MATLAB
@MATLAB Год назад
Glad it was helpful!
@parthd714
@parthd714 3 года назад
who dared to dislike?
@MEETPATEL-ut3qg
@MEETPATEL-ut3qg Год назад
Invested a great effort to make an easygoing presentation.
@user-kf8ey7oh6j
@user-kf8ey7oh6j 5 месяцев назад
真的听懂了,感谢。
@weiwang9462
@weiwang9462 3 года назад
Thank you
@mohankrishnan2022
@mohankrishnan2022 6 месяцев назад
Perfect!
@nuuuuta22
@nuuuuta22 3 года назад
very cool
@dzhang1215
@dzhang1215 5 месяцев назад
Incredible explanation!
@BrianBDouglas
@BrianBDouglas 5 месяцев назад
Great to hear! Thanks for the comment.
@murtazabugti8305
@murtazabugti8305 4 года назад
Very nice I love Matlab I
@hossamalzomor3311
@hossamalzomor3311 3 года назад
what if the you detect the closer pose mistakenly because the same pattern it detected is repeated in the map?
@ayushpatel535
@ayushpatel535 2 года назад
I had a doubt, without loop closure, will there not be error? Does this error remain in the system or is it rectified by other any means if the robot does not come back to its initial pose? In this case, will the error propogate?
@ArghyaChatterjeeJony
@ArghyaChatterjeeJony 4 года назад
Hi, your works are wonderful. Thanks for all these. I was having some problem with understanding some terms but the video made it clear. How ever, I had a question left. At the end, you told that there is a working example in matlab where the robot gets it's pose from lidar only. Are you talking about a 2D lidar/3D lidar? To my knowledge, a 2D lidar doesn't publish any odometry let alone pose. Correct me if I am wrong!!
@BrianBDouglas
@BrianBDouglas 4 года назад
Google that example I show at 15:38 and it’ll walk you through it. I though the link was in the description but I might have missed it. In the example the robot connects the poses in the graph only using lidar. It does that with feature matching only and not odometry. I hope that helps.
@ArghyaChatterjeeJony
@ArghyaChatterjeeJony 4 года назад
Thanks for clearing. It was really helpful.
@lion87563
@lion87563 10 месяцев назад
In code, loop closure would be just checking two nodes laser data and finding some transformation with ICP. But for which two nodes are we checking whether there is loop closure? Is it only between some node A, and all other nodes that are close to that node A (based on position of node)? That would mean that also besides this "intuitive" check in video, loop closure would be checked also between two consecutive poses (because they are close), which is not neccessary. How to avoid this?
@DurgaPrasad-zi8mo
@DurgaPrasad-zi8mo 3 года назад
Hi can u Recomend any IMU for SLAM
@trexx3298
@trexx3298 3 года назад
Using a spring instead of rubber-bar would be a better analogy :)
@MarcusVinicius-lq3fe
@MarcusVinicius-lq3fe Год назад
And for off-road applications (agriculture, rally race-cars, ASV water robots, etc), in which there is no possibility to "close the loop". I mean the area the robot will navigate will not be displayed to its laser beams again, walls and physical structures won't be available too.. Is SLAM possible to be used by some GPS-approach (I guess Lidar won't participate in this SLAM-method right?). Do you have some video for that?
@nickbeaumont2601
@nickbeaumont2601 2 года назад
How does this work in things like self driving cars where you cant close loops because your never in the same place?
@dkaka6687
@dkaka6687 4 года назад
Amazing presentation! Can you tell us what software you used for making the animation slides? Especially the rubber band at 8:31
@BrianBDouglas
@BrianBDouglas 4 года назад
I did everything in Matlab and coded the elasticity of the rubber bar directly. The code is pretty ugly otherwise I’d share it.
@BMEPRAKULSHARMA
@BMEPRAKULSHARMA 2 года назад
which software used for animation part
@Craftinges
@Craftinges 4 года назад
Yeah the part I dont understand is the 10:53. How do you correct the previous stages? you divide the error in rotation, x, y between the last and first stage to 6 (number of total steps) and add it to all stages like averaging? or pecentage wise weighted averaging. Because if robot didnt move in x only moved in y direction in that step, error should be less or 0 in x direction? Also error is less in early stages. It increases as it goes if we assume its gaussian and constant so if we give credibiltiy to each stage then error weight should be increase like 1-2-3-4-5-6 so kind of 1/21 of error will be added to first, 2/21 of the error will be added to 2nd stage and so on?
@BrianBDouglas
@BrianBDouglas 4 года назад
For the first part of your question, the optimization is solving a least squares problem where it's minimizing the square errors (in each axis) across the entire graph. And you are right in that if the error is only in the y direction then the optimization would only impact the y axis. Check out Least Squares SLAM by Cyrill Stachniss that I linked to in the description for a much better explanation of what's happening during optimization. For the second part of your question, the uncertainty (the graph edge) is defined from the previous node to the current node. And so if the uncertainty in your dead reckoning process is the same over time, then each edge would have the same uncertainty associated with it (not increasing) since you have the same amount of uncertainty between, say, nodes 1-2 as you do nodes 4-5. However, the uncertainty between nodes further apart does grow, like there is greater uncertainty between nodes 1-4 as there is between 1-2. Using the rubber bar analogy from the video, imagine this: if you connect 4 nodes in a line using 3 rubber bars of the exact same length and strength and hold the first node fixed on a table, then it will be much easier for you to move the 4th node around than it will be to move the 2nd node. So, this is sort of an analogy of how the uncertainty increases over time even though the uncertainty between any two node could be the same. Yikes! I just reread this and it was pretty confusing. I'm not sure if I can explain it adequately in text. Hopefully, Cyrill's video clears up any confusion.
@theonecallednick
@theonecallednick 3 года назад
So is this how the missile know where it is? I'm genuinely curious.
@linvincent840
@linvincent840 4 года назад
Does anyone know how we detect loop closures? i.e. How do we know the robot is observing the same feature?
@clickle23
@clickle23 3 года назад
search "Scan context" and "loop closure by NDT" in google you will like them :P
@melihaslan9509
@melihaslan9509 2 года назад
Mathworks should increase those tutorials
@oldcowbb
@oldcowbb 4 года назад
this is a couple month late for my class lol
@yerr234
@yerr234 3 года назад
this is just in time for my senior project
@User-lp7on
@User-lp7on 2 года назад
I was searching slams for mma
@bestcakesdesign
@bestcakesdesign 4 года назад
Is matlab free
@user-ig9mp1wu1o
@user-ig9mp1wu1o 3 года назад
比国内付费视频还良心
@nilsbruhner1983
@nilsbruhner1983 2 года назад
Im Not an expert. But if the robot would turn 360 while standing still at time 0 it would get the environment as is. Supposing compass/gyro it can go around corners and again do a 360....and so on..? Just a thought not knowing ANYTHING about the subject, im just a carpenter.
@nilsbruhner1983
@nilsbruhner1983 2 года назад
The benefit of that would be not to have to calculate the offset-rubberband-spring or whatever...
@nilsbruhner1983
@nilsbruhner1983 2 года назад
The cool thing... som people actually work wit this, and i just brake my back all days carryi ng plaster-boards.. haha.. GO TO SCHOOL...!!!!. Just love the intellect that goes into this...Coding, systems, GPS, Positioning, Lidar, robot, Maps, ...etc. Cool.
@EyesUpFPV
@EyesUpFPV Год назад
@@nilsbruhner1983 ahahah! There are disadvantages and advantages to both jobs.. I believe that doing a rotation the scan may not be accurate due to the distance of some obstacles (see how sparse measurements made with lidar become when pointing at distant obstacles at 3:02), in addition to the fact that they could be covered by other objects from certain angles
@xcbz9176
@xcbz9176 2 года назад
The missile knows where it is, because it knows where it isn’t,
Далее
Introduction to SLAM (Cyrill Stachniss)
37:06
Просмотров 36 тыс.
NOOOOO 😂😂😂
00:15
Просмотров 2,2 млн
УРА! Я КУПИЛ МЕЧТУ 😃
00:11
Просмотров 810 тыс.
Can you map a room with LIDAR and Arduino?
11:52
Просмотров 332 тыс.
How to Make an Autonomous Mapping Robot Using SLAM
5:44
How Dijkstra's Algorithm Works
8:31
Просмотров 1,3 млн
Everything You Need to Know About Control Theory
16:08
Просмотров 521 тыс.
Open Source Motion Capture for Autonomous Drones
10:34
Просмотров 580 тыс.
#engineering #diy #amazing #electronic #fyp
0:59
Просмотров 2,2 млн
iPhone, Galaxy или Pixel? 😎
0:16
Просмотров 1,3 млн