SLAM(同时定位和绘图)

大满贯이란?

꼭알아야할3가지사항

大满贯(同步定位和映射)은자율주행차량에사용되어주변환경지도를작성하는동시에차량의위치를작성된지도안에서인식하는기법입니다。大满贯알고리즘을통해차량은미지의환경에대한지도를작성할수있습니다。엔지니어는지도정보를사용하여경로계획및장애물회피등의작업을수행합니다。

大满贯이중요한이유

大满贯은오랫동안기술연구의주제로거론되었습니다。하지만컴퓨터처리속도가크게개선되고카메라와레이저거리측정기등의저비용센서가등장함에따라大满贯은점점더많은분야의실제응용사례에사용되고있습니다。

大满贯이중요한이유를알아보기위해그이점과응용사례를몇가지살펴보도록하겠습니다。

大满贯응용사례

가정용로봇진공청소기를예로들겠습니다。大满贯이없다면로봇청소기는방안에서무작위로돌아다니기만하고바닥을전부청소하지도못할수있습니다。그리고이런방식으로는전력이과도하게사용되어배터리가금방소진됩니다。반면大满贯기술을적용한로봇은바퀴회전수와카메라및기타이미징센서에서가져온데이터같은정보를사용하여필요한이동량을파악할수있습니다。이를위치추정이라고합니다。또한로봇은카메라와기타센서를동시에사용하여주변환경의장애물지도를생성하고같은구역을또다시청소하는경우를방지할수있습니다。이를지도작성이라고합니다。

청소로봇에적용되는大满贯의이점

大满贯은창고에서선반을정렬하는이동형로봇의길찾기,자율주행차량의빈주차공간주차하기또는미지의환경에서의드론조종을통한배송등다른여러응용사례에서도유용하게사용할수있습니다。MATLAB및仿真万博1manbetx软件는다양한응용분야개발을위한大满贯알고리즘,함수및분석툴을제공합니다。사용자는센서융합,객체추적,경로계획경로추종등의기타작업과함께大满贯(同步定位和映射)을구현할수있습니다。

大满贯의작동방식

大满贯구현에사용되는기술요소에는크게두가지유형이있습니다。첫번째유형은프론트엔드처리를포함하는센서신호처리로서,사용되는센서에대한의존도가높습니다。두번째유형은백엔드처리를포함하는자세그래프최적화로서센서에구애받지않습니다。

大满贯의처리흐름

프론트엔드처리구성요소를좀더자세히알아볼수있도록서로다른두가지大满贯기법인시각적大满贯과라이다大满贯을살펴보겠습니다。

시각적大满贯

이름을통해알수있듯,이시각적大满贯(또는vSLAM)은카메라및기타영상센서로획득한영상을사용합니다。시각적大满贯은단일카메라(광각,어안및구형카메라),겹눈카메라(스테레오및멀티카메라)및RGB-D카메라(심도및ToF카메라)를사용할수있습니다。

시각적大满贯은비교적값싼카메라로저렴하게구현할수있습니다。또한카메라에서제공되는정보가방대하기때문에이를토대로표지물(과거에측정된위치)을감지할수도있습니다。또한표지물감지는그래프기반최적화와의결합이가능하여大满贯구현시유연성이확보됩니다。

단안大满贯은vSLAM이단일카메라를유일한센서로사용할때를지칭하는데,이때는심도추정이어려워집니다。이문제는위치추정이필요한영상에서AR마커나체커보드또는기타알려진객체를감지하거나카메라정보를속도,방향같은물리량의측정이가능한IMU(관성측정장치)등의다른센서와융합하여해결할수있습니다。vSLAM관련기술에는SfM从运动(结构),시각적주행거리측정,그리고번들조정이포함됩니다。

시각적大满贯알고리즘은크게두부류로분류할수있습니다。먼저稀疏방법은영상의특징점을매칭하고加以및ORB-SLAM등의알고리즘을사용합니다。密集방법은영상의전체밝기를사용하고DTAM, LSD-SLAM, DSO및动宾와같은알고리즘을사용합니다。

从运动SfM(结构)

RGB-D大满贯의포인트클라우드정합

라이다大满贯

라이다(光探测和测距)는주로레이저센서(또는거리센서)를사용하는기법입니다。

레이저는카메라와ToF등의센서보다훨씬더정밀하며자율주행차량과드론처럼빠르게이동하는물체와관련된응용사례에사용됩니다。레이저센서에서가져온출력값은보통2 d (x, y)또는3 d (x, y, z)포인트클라우드데이터입니다。레이저센서포인트클라우드를사용하면고정밀거리측정이가능하며,大满贯을적용한지도작성에도매우효과적입니다。일반적으로이동정보는포인트클라우드매칭을통해순차적으로추정됩니다。계산된이동(주행거리)정보는차량의위치추정에사용됩니다。라이다포인트클라우드매칭에는ICP(迭代最近点)및无损检测(正态分布变换)알고리즘이사용됩니다。2 d또는3 d포인트클라우드지도는그리드지도또는복셀지도로표현할수있습니다。

한편,밀도에있어서포인트클라우드는영상처럼정교하지않으며매칭에필요한충분한특징을항상제공하는것도아닙니다。예를들어장애물이거의없는장소에서는포인트클라우드정렬이어렵고,이로인해차량위치추적이실패할수있습니다。게다가포인트클라우드매칭에는일반적으로높은수준의처리능력이필요하고,따라서속도개선을위한처리최적화가필요합니다。이러한문제때문에자율주행차량의위치추정에는휠주행거리측정,GNSS(범지구위성항법시스템)및IMU데이터등의기타측정결과를융합하는작업이수반될수있습니다。창고의로봇과같은응용분야에서는2 d라이다大满贯등이흔히사용되지만无人机및자동주차에는3 d라이다포인트클라우드를이용하는大满贯이사용될수있습니다。

2 d라이다를이용한大满贯

3 d라이다를이용한大满贯

大满贯에서흔히생기는문제

大满贯이몇몇실제응용분야에사용되고는있지만,몇가지기술적문제로인해더광범위한용도로는도입이어려운상황입니다。다음각각의문제는이를타개할수있는대응책이있습니다。

1.실제값과의상당한편차를초래하는위치추정오차누적

大满贯은일부오차범위가포함된순차적이동정보를추정합니다。이오차는시간이지나면서누적되고,따라서실제값과는상당한편차가발생합니다。이렇게되면지도데이터의붕괴또는왜곡이발생하여후속검색이어려워집니다。사각형통로주변을주행하는경우를예로들어보겠습니다。오류가누적되면서로봇의출발점과끝점이더는일치하지않게됩니다。이는루프폐쇄문제라고합니다。이와같은자세추정오류는불가피한문제입니다。루프폐쇄를감지하고누적된오류를정정하거나상쇄하는방법을파악하는것이중요합니다。

자세그래프구성및오류최소화의예。

한가지대응책은이전에갔던장소의몇몇특징을표지물로서기억하여위치추정오류를최소화하는것입니다。자세그래프는오류정정에도움이되도록구성됩니다。오류최소화를최적화문제로풀면더정확한지도데이터생성이가능해집니다。이러한종류의최적화를시각적大满贯의번들조정이라고합니다。

자세그래프작성및오류최소화의예。

2.위치추정실패및지도상위치상실

영상및포인트클라우드매핑시로봇의이동특성은고려되지않습니다。경우에따라서는이러한접근법으로인해불연속적인위치추정값이생성될수있습니다。예를들자면로1 m / s이동하는로봇이갑자기10米앞으로급속이동하는계산결과가표시되는경우를들수있습니다。이러한유형의위치추정실패문제는복원알고리즘을사용하거나이동모델과다수의센서를융합하여센서데이터에기반한계산을수행함으로써방지할수있습니다。

이동모델에센서융합을사용하는방법에는여러가지가있습니다。널리사용되는방법은위치추정에칼만필터링을사용하는것입니다。대부분의차동구동로봇및사륜차량은일반적으로비선형이동모델을사용하므로,확장칼만필터와입자필터(몬테카를로위치추정)가종종사용됩니다。때로는무향칼만필터처럼더유연한베이즈필터를사용할수도있습니다。흔히사용되는몇가지센서를꼽자면明显(자세방위기준장치),INS(관성항법시스템),가속도계센서,자이로센서,자기센서및IMU와같은관성측정장치를들수있습니다。차량에장착된휠인코더는종종주행거리측정에사용됩니다。

위치추정에실패할경우복원을위한대응책은이전에갔던장소의표지물을키프레임으로서기억하는것입니다。표지물을검색할때는고속스캔이가능한방식으로특징추출절차가적용됩니다。영상특징에기반한방법에는转炉(袋功能)및BoVW(视觉词包)가있습니다。최근에는특징까지의거리비교에딥러닝이사용되고있습니다。

3.영상처리,포인트클라우드처리및최적화에소요되는높은계산비용

차량하드웨어에大满贯을구현할때는계산비용이문제가됩니다。계산은대개제한된처리능력을갖는소형저전력임베디드마이크로프로세서에서수행됩니다。정확한위치추정을위해서는높은빈도로포인트클라우드매칭과영상처리를실행하는것이매우중요합니다。게다가루프폐쇄와같은최적화계산은계산량이높은과정입니다。문제는그처럼계산적비용이상당한과정을임베디드마이크로컴퓨터에서어떻게실행하냐는데있습니다。

한가지대응책은서로다른프로세스를병렬로실행하는것입니다。매칭의전처리과정인특징추출같은과정은병렬화에비교적적합합니다。멀티코CPU를어처리와SIMD(单指令多数据)계산,임베디드GPU에이용하면경우에따라속도를더욱향상할수있습니다。또한자세그래프최적화는비교적긴주기에걸쳐수행될수있으므로우선순위를낮추고일정한간격으로이처리를수행하는것으로도성능을개선할수있습니다。

MATLAB을활용한大满贯

MATLAB®은사용자의타겟시스템에대한大满贯응용구현은물론,알려진大满贯관련기술문제를타개할수많은대응책을검토하는데도필요한기능을제공합니다。

  1. 大满贯프론트엔드를위한센서신호및영상처리
  2. 大满贯백엔드를위한2 d / 3 d자세그래프
  3. 大满贯地图生成器앱을사용한점유그리드
    • MATLAB작업공간또는rosbag파일에서라이다데이터를가져와점유그리드생성
    • 루프폐쇄를찾고수정하며경로계획을위해지도를점유그리드로내보내기
  4. 경로계획및제어를위해大满贯알고리즘에서출력된지도사용
  5. 并行计算工具箱™를사용한병렬실행으로영상처리등의계산집약적처리과정의속도개선
  6. ROS工具箱를사용하여MATLAB및仿真软件万博1manbetx®에서독립형ROS노드배포및ROS사용로봇과통신
  7. MATLAB编码器™GPU编码器™를사용하여MATLAB및仿真软件万博1manbetx에서개발된영상처리및내비게이션알고리즘을임베디드마이크로프로세서에배포

大满贯에대해자세히알아보기

导航工具箱를통해주변환경지도를구축하고로봇의자세나자율주행차량의위치를추정하여자율내비게이션에활용합니다。
이예제에사용된방법에서는大满贯알고리즘구현을위해자세그래프최적화를수집된일련의2 d라이다스캔데이터와함께사용합니다。2 d라이다스캔데이터는주변환경지도작성과로봇의위치및이동궤적추정에사용됩니다。
이방법에서는입력된IMU값을사용하여차량장착센서의3 d라이다데이터를처리한후이를토대로지도를작성합니다。이방법은차량의이동궤적GPS과기록을비교합니다。
从运动SfM(结构)은2 d영상시퀀스에서3 d장면을찾아내는방법입니다。이예제에서는뷰시퀀스에서보정된카메라의위치확인후3 d장면이재구성됩니다。
시각적주행거리측정은영상시퀀스를분석하여카메라의위치와방향을추정하는과정입니다。이는일련의영상에서보정된단일카메라의경로를추적하는방법을가리킵니다。
이예제에서는단안카메라의영상데이터를처리하여실내환경지도를구축하고카메라의이동궤적을추정하는방법을보여줍니다。이예제에서는특징기반vSLAM알고리즘인ORB-SLAM을사용합니다。
이예제에서는시뮬레이션된露台®환경내TurtleBot®의制程(몬테카를로위치추정)알고리즘응용사례를소개합니다。