Кіріспе

Қозғалыс жоспарлау, сондай-ақ жол жоспарлау (навигация мәселесі немесе фортепиано көшіруші мәселесі деп те аталады) – нысанды бастапқы нүктеден мақсатқа жеткізу үшін жарамды конфигурациялардың тізбесін табуға арналған есептеу мәселесі. Бұл термин есептеу геометриясы, компьютерлік анимация, робототехника және компьютерлік ойындар салаларында қолданылады. Мысалы, ғимарат ішінде алысқа қарай жылжу үшін мобильді роботты бағыттауды қарастырайық. Бұл міндетті орындау үшін қабырғалардан аулақ болу және қалыптан құлаудан сақтану қажет. Қозғалыс жоспарлау алгоритмі осы міндеттердің сипаттамасын кіріс ретінде қабылдайды және роботтың дөңгелектеріне жіберілетін жылдамдық пен бұрылу командаларын шығарады. Қозғалыс жоспарлау алгоритмдері көптеген буындары бар (мысалы, өнеркәсіптік манипуляторлар), күрделі міндеттерді (мысалы, нысандарды манипуляциялау), түрлі шектеулерді (мысалы, тек алға қарай жүре алатын автомобиль) және белгісіздікті (мысалы, қоршаған ортаның немесе роботтың толық емес модельдері) шеше алатын роботтарды қарастыруы мүмкін. Қозғалыс жоспарлау робототехниканың көптеген салаларында қолданылады, мысалы, автономдылық, автоматтандыру және CAD бағдарламалық құралдарындағы робот дизайны, сондай-ақ басқа да салалардағы қолданыстар, мысалы, цифрлық кейіпкерлерді анимациялау, бейне ойындар, архитектуралық дизайн, роботтық хирургия және биологиялық молекулаларды зерттеу.

Тұжырымдамалар

Қозғалыс жоспарлаудың негізгі мәселесі – белгілі кедергілерге соқтығыспай, бастапқы конфигурация S пен мақсаттық конфигурация G арасын жалғайтын үздіксіз жолды есептеу. Роботтың және кедергілердің геометриясы 2D немесе 3D жұмыс кеңістігінде сипатталады, ал қозғалыс (мүмкін жоғары өлшемді) конфигурация кеңістігінде жол түрінде көрсетіледі.

Конфигурация кеңістігі

Конфигурация роботтың күйін сипаттайды, ал конфигурациялық кеңістік C – барлық мүмкін конфигурациялар жиынтығы. Мысалы: Егер робот 2 өлшемді жазықтықта (жұмыс кеңістігі) жылғатын бір нүкте (көлемі нөлдік) болса, C жазықтық болып табылады және конфигурацияны екі параметрмен (x, y) көрсетуге болады. Егер робот 2D нысан болса және жылға да, айнала да білсе, жұмыс кеңістігі әлі де 2 өлшемді болады. Дегенмен, C – бұл арнайы Евклидтік топ SE(2) = R2 ⊕ SO(2) (мұнда SO(2) – 2D айналымдардың арнайы ортогональды тобы), және конфигурацияны 3 параметрмен (x, y, θ) көрсетуге болады. Егер робот жылға да, айнала да білетін 3D нысан болса, жұмыс кеңістігі 3 өлшемді болады, бірақ C – арнайы Евклидтік топ SE(3) = R3 ⊕ SO(3), ал конфигурация 6 параметрді қажет етеді: (x, y, z) жылғаю үшін және Эйлер бұрыштары (α, β, γ). Егер робот N айналмалы буындармен (және жабық тізбектерсіз) бекітілген базалық манипулятор болса, C N өлшемді болады.

Бос орын

Кедергілермен соқтығысуды болдырмайтын конфигурациялар жиынтығы Cfree бос кеңістік деп аталады. Cfree-нің C-дегі толықтырылған жиыны кедергілі немесе тыйым салынған аймақ деп аталады. Көбінесе Cfree пішінін анық есептеу өте қиынға соғады. Дегенмен, нақты берілген конфигурацияның Cfree-де екенін тексеру тиімді. Біріншіден, тура кинематика роботтың геометриялық орнын анықтайды, содан кейін соқтығысуды анықтау роботтың геометриясы мен ортаның геометриясы арасында соқтығысу бар-жоқ екенін тексереді.

Мақсатты кеңістік

Мақсат кеңістігі – бос кеңістіктің ішкі кеңістігі, роботтың қайда қозғалуын қалайтынымызды көрсетеді. Жалпы қозғалыс жоспарлауда мақсат кеңістігі роботтың сенсорлары арқылы байқалады. Дегенмен, жергілікті қозғалыс жоспарлау кезінде робот кейбір жағдайларда мақсат кеңістігін байқай алмайды. Бұл мәселені шешу үшін робот бірнеше виртуалды мақсат кеңістіктерінен өтеді, олардың әрқайсысы байқалатын аймақта (роботтың төңірегінде) орналасқан. Виртуалды мақсат кеңістігі – қосалқы мақсат деп аталады.

Кедергілер кеңістігі

Кедергілік кеңістік – роботтың қозғала алмайтын кеңістігі. Кедергілік кеңістік бос кеңістікке қарама-қарсы емес.

Алгоритмдер

Төмен өлшемді проблемаларды конфигурациялық кеңістікке тор жабатын торға негізделген алгоритмдермен немесе Cfree пішіні мен байланысын есептейтін геометриялық алгоритмдермен шешуге болады. Күрделі шектеулер аясында жоғары өлшемді жүйелер үшін нақты қозғалыс жоспарлау есептеу тұрғысынан мүмкін емес. Потенциалдық өріс алгоритмдері тиімді, бірақ жергілікті минимумдарға түсіп қалуы мүмкін (гармоникалық потенциалдық өрістер бұл ережеден тыс). Ұлғы негізделген алгоритмдер жергілікті минимумдар мәселесін болдырмайды және көптеген проблемаларды жылдам шешеді. Олар жолдың жоқтығын анықтай алмайды, бірақ олардың сәтсіздікке ұшырау ықтималдығы уақыт өте келе нөлге жақындайды. Ұлғы негізделген алгоритмдер қазіргі таңда жоғары өлшемді кеңістіктерде қозғалыс жоспарлаудың ең жетілген әдісі саналады және ондаған, тіпті жүздеген өлшемдері бар проблемаларға қолданылады (робот манипуляторлары, биологиялық молекулалар, анимацияланған цифрлық кейіпкерлер және екі аяқты роботтар).

Желілік іздеу

Торға негізделген тәсілдер конфигурация кеңістігіне торды жабады және әр конфигурация тор нүктесімен сәйкес келеді деп есептейді. Әрбір тор нүктесінде роботқа, егер олардың арасындағы түзу сызық Cfree-де толығымен орналасса (бұл соқтығысуды анықтау арқылы тексеріледі), көрші тор нүктелеріне жылжуға рұқсат беріледі. Бұл әрекеттер жиынтығын дискреттейді және A* сияқты іздеу алгоритмдері бастапқы нүктеден мақсатқа дейінгі жолды табу үшін қолданылады. Мұндай тәсілдер тордың ажыратымдылығын белгілеуді қажет етеді. Ірі ұялы торлар іздеуді жылдамдатады, бірақ алгоритм Cfree-нің тар бөліктері арқылы жол табуға сәтсіз болуы мүмкін. Сонымен қатар, тордағы нүктелердің саны конфигурация кеңістігінің өлшемімен бірге экспоненциалды түрде өседі, бұл оларды жоғары өлшемді мәселелер үшін қолайсыз етеді. Традициялық торға негізделген тәсілдер бағыттың өзгеруін белгілі бір негізгі бұрыштың еселігімен шектейтін жолдарды құрайды, бұл көбінесе ең тиімді жолдарға әкелмейді. Кез келген бұрышты жоспарлау тәсілдері, жолдарды тор жиектерімен шектемей (қысқа жолдарды табу үшін), тор жиектері бойынша ақпаратты тарату арқылы (жылдам іздеу үшін) қысқа жолдарды табады. Торға негізделген тәсілдер көбінесе қайта-қайта іздеуді қажет етеді, мысалы, роботтың конфигурация кеңістігі туралы білімі өзгергенде немесе жол бойында конфигурация кеңістігінің өзі өзгергенде. Үдемелі эвристикалық іздеу алгоритмдері бұрынғы ұқсас жол жоспарлау мәселелеріндегі тәжірибесін пайдаланып, ағымдағы жолды іздеуді жылдамдату үшін жылдам жоспарлайды.

Интервалға негізделген іздеу

Бұл тәсілдер желілік іздеу тәсілдеріне ұқсас, бірақ олар желілік емес, конфигурация кеңістігін толығымен жабатын қаптама жасайды. Қаптама екі қосалқы қаптамаға бөлінеді: X− және X+, олар қораптардан тұрады, сондықтан X− ⊂ Cfree ⊂ X+. Cfree-ді сипаттау – бұл жиынтық инверсия мәселесін шешуге тең. Cfree-ді сызықтық теңсіздіктермен сипаттау мүмкін болмаған жағдайда, кепілдік берілген қоршау алу үшін интервалдық талдау қолданылуы мүмкін. Осылайша, робот X-те еркін қозғалуға рұқсат етіледі және X+ шегінен шығуға болмайды. Екі қосалқы қаптама үшін де көршілік графигі құрылады және Дикстра немесе A* сияқты алгоритмдерді пайдаланып жолдар табуға болады. Егер X-те жол табылатын болса, ол Cfree-де де мүмкін болады. Егер X+-да бастапқы конфигурациядан мақсатқа дейін жол болмаса, онда Cfree-де де мүмкін жолдың жоқтығына кепілдік береміз. Торға негізделген тәсіл сияқты, интервалдық тәсіл конфигурация кеңістігінің өлшеміне қатысты қораптардың саны экспоненциалды түрде өсетіндіктен, жоғары өлшемді мәселелер үшін қолайлы емес. Оң жақтағы үш суретте екі еркіндік дәрежесі бар ілгек екі көлденең кіші сегменттерден қашықталып, солдан оңға қарай қозғалуы керек. Николас Деланоу интервалдық талдауды қолдана отырып, қосалқы қаптамаларға бөлу Cfree топологиясын сипаттауға, мысалы, оның байланысты компоненттерінің санын анықтауға мүмкіндік беретінін көрсетті.

Жасанды потенциалдық өрістер

Бір тәсіл – роботтың конфигурациясын мақсатқа тартылу және кедергілерден ығысуды біріктіретін потенциалдық өрістегі нүкте ретінде қарастыру. Соның нәтижесінде шығарылатын траектория – жол. Бұл тәсілдің артықшылығы – траектория аз есептеулермен құрылатынында. Дегенмен, олар потенциалдық өрістің жергілікті минимумдарында қалып қойып, жол таба алмай немесе оңтайлы емес жол таба алады. Жасанды потенциалдық өрістерді электростатикалық потенциалдық өрістерге ұқсас үздіксіз теңдеулер ретінде қарастыруға болады (роботты нүктелік заряд ретінде қарастырып) немесе өріс арқылы қозғалысты тілдік ережелер жиынтығын қолдану арқылы дискреттеуге болады. Навигациялық функция немесе ықтималдық навигациялық функция – бұл мақсатты нүктеден басқа ең төмен нүктелері жоқ жасанды потенциалдық функциялардың түрлері.

Толықтығы мен орындалуы

Қозғалыс жоспарлаушы толық деп есептеледі, егер жоспарлаушы шекті уақыт ішінде шешім тапса немесе шешімнің жоқтығын дұрыс хабарласа. Көптеген толық алгоритмдер геометриялық принциптерге негізделген. Толық жоспарлаушының тиімділігі оның есептеу күрделілігімен бағаланады. Бұл қасиетті математикалық тұрғыдан дәлелдеген кезде, оның шекті уақыт ішінде орындалатынына және тек асимптотикалық лимитте емес екеніне көз жеткізу қажет. Бұл әсіресе қиындық тудырады, егер нақты бір дәлелдеу әдісінде шексіз тізбектер пайда болса (олар тек лимит жағдайында ғана жинақталады), себебі теориялық тұрғыдан алгоритм ешқашан тоқтамайды. Интуитивті тәсілдер (көбінесе индукцияға негізделген) жинақталуға бейім деп қате пікірге келіп, олар тек шексіз лимитте ғана жұмыс істейді. Басқаша айтқанда, шешім бар, бірақ жоспарлаушы оны ешқашан хабарламайды. Осы қасиет Тьюринг толықтығымен байланысты және көп жағдайда теориялық негіз болып табылады. Күшпен іздеу әдісіне негізделген жоспарлаушылар әрқашан толық болады, бірақ олар тек шекті және дискретті жағдайларда ғана іске асырылуы мүмкін. Іс жүзінде алгоритмнің аяқталуына кепілдік беру үшін, ең көп итерациялар санын шектейтін және содан кейін шешімімен немесе шешімісіз тоқтайтын санаулыштарды пайдалануға болады. Нақты уақыт жүйелерінде бұл әдетте бақылау таймерін пайдалану арқылы жүзеге асырылады, ол процесті тоқтатып тастайды. Бақылау таймері барлық процестерден тәуелсіз болуы керек (әдетте төменгі деңгейдегі үзіліс процедуралары арқылы іске асырылады). Дегенмен, алдыңғы абзацта сипатталған асимптотикалық жағдайға осылайша қол жеткізілмейді. Ол соңғы нәтижесінде тапқан ең жақсы шешімді (ештеңеден жақсы) немесе шешімнің жоқтығын хабарлайды, бірақ шешімнің жоқтығын дұрыс хабарлай алмайды. Бақылау таймерін қоса алғанда, барлық іске асырулар толық емес болады (барлық жағдайлар шекті уақыт ішінде бағалануын қоспағанда). Толықтықты тек өте қатаң математикалық дәлелдеу арқылы қамтамасыз етуге болады (көбінесе құралдар мен график негізделген әдістердің көмегімен) және қауіпсіздік мазмұны бар жағдайларда ғана мамандар жасауы керек. Екінші жағынан, толықтықты жоққа шығару оңай, себебі тек бір шексіз циклді немесе бір дұрыс емес нәтижені табу жеткілікті. Алгоритмдердің формальды тексеруі/дұрыстығы – жеке зерттеу саласы. Осы тест жағдайларын дұрыс орнату өте күрделі міндет. Шешім толықтығы – жоспарлаушының негізгі тордың шешімі жеткілікті болса, жолды табуға кепілдік берілетін қасиет. Көптеген шешім толық жоспарлаушылар торлық немесе интервалдық принциптерге негізделген. Шешім толық жоспарлаушылардың есептеу күрделілігі негізгі тордағы нүктелер санына байланысты, ол O(1/hd) тең, мұнда h – шешім (тор ұясының бір қабырғасының ұзындығы) және d – конфигурация кеңістігінің өлшемі. Ықтималдық толықтығы – "жұмыс" көбейген сайын, егер шешім болса, жоспарлаушының жолды таба алмауының ықтималдығы асимптотикалық түрде нөлге жақындауы қасиеті. Көптеген үлгілік әдістер ықтималдық жағынан толық. Ықтималдық жағынан толық жоспарлаушының тиімділігі конвергенция жылдамдығымен өлшенеді. Практикалық қолданбалар үшін әдетте осы қасиет қолданылады, себебі ол күзетші таймерінің уақытын орташа конвергенция уақытына негіздеп орнатуға мүмкіндік береді. Толық емес жоспарлаушылар әрқашан шешім бар болғанда мүмкін болатын жолды жасамайды (бірінші абзацты қараңыз). Кейде толық емес жоспарлаушылар іс жүзінде жақсы жұмыс істейді, себебі олар әрқашан кепілдік берілген уақыттан кейін тоқтап, басқа процедураларға орын береді.

Мәселелік нұсқалар

Бұл негізгі мәселенің түрлерін шешу үшін көптеген алгоритмдер әзірленді.