大满贯(同步定位和映射)은자율주행차량에사용되어주변환경지도를작성하는동시에차량의위치를작성된지도안에서인식하는기법입니다。大满贯알고리즘을통해차량은미지의환경에대한지도를작성할수있습니다。엔지니어는지도정보를사용하여경로계획및장애물회피등의작업을수행합니다。
大满贯은오랫동안기술연구의주제로거론되었습니다。하지만컴퓨터처리속도가크게개선되고카메라와레이저거리측정기등의저비용센서가등장함에따라大满贯은점점더많은분야의실제응용사례에사용되고있습니다。
大满贯이중요한이유를알아보기위해그이점과응용사례를몇가지살펴보도록하겠습니다。
가정용로봇진공청소기를예로들겠습니다。大满贯이없다면로봇청소기는방안에서무작위로돌아다니기만하고바닥을전부청소하지도못할수있습니다。그리고이런방식으로는전력이과도하게사용되어배터리가금방소진됩니다。반면大满贯기술을적용한로봇은바퀴회전수와카메라및기타이미징센서에서가져온데이터같은정보를사용하여필요한이동량을파악할수있습니다。이를위치추정이라고합니다。또한로봇은카메라와기타센서를동시에사용하여주변환경의장애물지도를생성하고같은구역을또다시청소하는경우를방지할수있습니다。이를지도작성이라고합니다。
大满贯은창고에서선반을정렬하는이동형로봇의길찾기,자율주행차량의빈주차공간주차하기또는미지의환경에서의드론조종을통한배송등다른여러응용사례에서도유용하게사용할수있습니다。MATLAB및仿真万博1manbetx软件는다양한응용분야개발을위한大满贯알고리즘,함수및분석툴을제공합니다。사용자는센서융합,객체추적,경로계획및경로추종등의기타작업과함께大满贯(同步定位和映射)을구현할수있습니다。
大满贯구현에사용되는기술요소에는크게두가지유형이있습니다。첫번째유형은프론트엔드처리를포함하는센서신호처리로서,사용되는센서에대한의존도가높습니다。두번째유형은백엔드처리를포함하는자세그래프최적화로서센서에구애받지않습니다。
프론트엔드처리구성요소를좀더자세히알아볼수있도록서로다른두가지大满贯기법인시각적大满贯과라이다大满贯을살펴보겠습니다。
이름을통해알수있듯,이시각적大满贯(또는vSLAM)은카메라및기타영상센서로획득한영상을사용합니다。시각적大满贯은단일카메라(광각,어안및구형카메라),겹눈카메라(스테레오및멀티카메라)및RGB-D카메라(심도및ToF카메라)를사용할수있습니다。
시각적大满贯은비교적값싼카메라로저렴하게구현할수있습니다。또한카메라에서제공되는정보가방대하기때문에이를토대로표지물(과거에측정된위치)을감지할수도있습니다。또한표지물감지는그래프기반최적화와의결합이가능하여大满贯구현시유연성이확보됩니다。
단안大满贯은vSLAM이단일카메라를유일한센서로사용할때를지칭하는데,이때는심도추정이어려워집니다。이문제는위치추정이필요한영상에서AR마커나체커보드또는기타알려진객체를감지하거나카메라정보를속도,방향같은물리량의측정이가능한IMU(관성측정장치)등의다른센서와융합하여해결할수있습니다。vSLAM관련기술에는SfM从运动(结构),시각적주행거리측정,그리고번들조정이포함됩니다。
시각적大满贯알고리즘은크게두부류로분류할수있습니다。먼저稀疏방법은영상의특징점을매칭하고加以및ORB-SLAM등의알고리즘을사용합니다。密集방법은영상의전체밝기를사용하고DTAM, LSD-SLAM, DSO및动宾와같은알고리즘을사용합니다。
라이다(光探测和测距)는주로레이저센서(또는거리센서)를사용하는기법입니다。
레이저는카메라와ToF등의센서보다훨씬더정밀하며자율주행차량과드론처럼빠르게이동하는물체와관련된응용사례에사용됩니다。레이저센서에서가져온출력값은보통2 d (x, y)또는3 d (x, y, z)포인트클라우드데이터입니다。레이저센서포인트클라우드를사용하면고정밀거리측정이가능하며,大满贯을적용한지도작성에도매우효과적입니다。일반적으로이동정보는포인트클라우드매칭을통해순차적으로추정됩니다。계산된이동(주행거리)정보는차량의위치추정에사용됩니다。라이다포인트클라우드매칭에는ICP(迭代最近点)및无损检测(正态分布变换)알고리즘이사용됩니다。2 d또는3 d포인트클라우드지도는그리드지도또는복셀지도로표현할수있습니다。
한편,밀도에있어서포인트클라우드는영상처럼정교하지않으며매칭에필요한충분한특징을항상제공하는것도아닙니다。예를들어장애물이거의없는장소에서는포인트클라우드정렬이어렵고,이로인해차량위치추적이실패할수있습니다。게다가포인트클라우드매칭에는일반적으로높은수준의처리능력이필요하고,따라서속도개선을위한처리최적화가필요합니다。이러한문제때문에자율주행차량의위치추정에는휠주행거리측정,GNSS(범지구위성항법시스템)및IMU데이터등의기타측정결과를융합하는작업이수반될수있습니다。창고의로봇과같은응용분야에서는2 d라이다大满贯등이흔히사용되지만无人机및자동주차에는3 d라이다포인트클라우드를이용하는大满贯이사용될수있습니다。
大满贯이몇몇실제응용분야에사용되고는있지만,몇가지기술적문제로인해더광범위한용도로는도입이어려운상황입니다。다음각각의문제는이를타개할수있는대응책이있습니다。
大满贯은일부오차범위가포함된순차적이동정보를추정합니다。이오차는시간이지나면서누적되고,따라서실제값과는상당한편차가발생합니다。이렇게되면지도데이터의붕괴또는왜곡이발생하여후속검색이어려워집니다。사각형통로주변을주행하는경우를예로들어보겠습니다。오류가누적되면서로봇의출발점과끝점이더는일치하지않게됩니다。이는루프폐쇄문제라고합니다。이와같은자세추정오류는불가피한문제입니다。루프폐쇄를감지하고누적된오류를정정하거나상쇄하는방법을파악하는것이중요합니다。
한가지대응책은이전에갔던장소의몇몇특징을표지물로서기억하여위치추정오류를최소화하는것입니다。자세그래프는오류정정에도움이되도록구성됩니다。오류최소화를최적화문제로풀면더정확한지도데이터생성이가능해집니다。이러한종류의최적화를시각적大满贯의번들조정이라고합니다。
영상및포인트클라우드매핑시로봇의이동특성은고려되지않습니다。경우에따라서는이러한접근법으로인해불연속적인위치추정값이생성될수있습니다。예를들자면로1 m / s이동하는로봇이갑자기10米앞으로급속이동하는계산결과가표시되는경우를들수있습니다。이러한유형의위치추정실패문제는복원알고리즘을사용하거나이동모델과다수의센서를융합하여센서데이터에기반한계산을수행함으로써방지할수있습니다。
이동모델에센서융합을사용하는방법에는여러가지가있습니다。널리사용되는방법은위치추정에칼만필터링을사용하는것입니다。대부분의차동구동로봇및사륜차량은일반적으로비선형이동모델을사용하므로,확장칼만필터와입자필터(몬테카를로위치추정)가종종사용됩니다。때로는무향칼만필터처럼더유연한베이즈필터를사용할수도있습니다。흔히사용되는몇가지센서를꼽자면明显(자세방위기준장치),INS(관성항법시스템),가속도계센서,자이로센서,자기센서및IMU와같은관성측정장치를들수있습니다。차량에장착된휠인코더는종종주행거리측정에사용됩니다。
위치추정에실패할경우복원을위한대응책은이전에갔던장소의표지물을키프레임으로서기억하는것입니다。표지물을검색할때는고속스캔이가능한방식으로특징추출절차가적용됩니다。영상특징에기반한방법에는转炉(袋功能)및BoVW(视觉词包)가있습니다。최근에는특징까지의거리비교에딥러닝이사용되고있습니다。
차량하드웨어에大满贯을구현할때는계산비용이문제가됩니다。계산은대개제한된처리능력을갖는소형저전력임베디드마이크로프로세서에서수행됩니다。정확한위치추정을위해서는높은빈도로포인트클라우드매칭과영상처리를실행하는것이매우중요합니다。게다가루프폐쇄와같은최적화계산은계산량이높은과정입니다。문제는그처럼계산적비용이상당한과정을임베디드마이크로컴퓨터에서어떻게실행하냐는데있습니다。
한가지대응책은서로다른프로세스를병렬로실행하는것입니다。매칭의전처리과정인특징추출같은과정은병렬화에비교적적합합니다。멀티코CPU를어처리와SIMD(单指令多数据)계산,임베디드GPU에이용하면경우에따라속도를더욱향상할수있습니다。또한자세그래프최적화는비교적긴주기에걸쳐수행될수있으므로우선순위를낮추고일정한간격으로이처리를수행하는것으로도성능을개선할수있습니다。
MATLAB®은사용자의타겟시스템에대한大满贯응용구현은물론,알려진大满贯관련기술문제를타개할수많은대응책을검토하는데도필요한기능을제공합니다。