Урок 7. Основи на локалната навигация на мобилни роботи

мобилен робот


Работата на мобилните роботи е свързана с постоянно движение в работната зона. В днешно време такива роботи се срещат все по-често и всеки ден стават все по-функционални и сложни. С нарастването на функционалността на роботите нараства и сложността на задачите, които те решават. Понастоящем автономните мобилни роботи вече са повсеместни - роботизирани автомобили, движещи се през производствените съоръжения, сервизни роботи - роботи за екскурзии в музеи и изложбени центрове, роботи - сервитьори в кафенета и ресторанти също са станали доста търсени. Такива роботи работят в близък контакт с околните предмети и хора, поради което се налагат твърде високи изисквания за точността и безопасността на техните движения.


урок


В предишни работи вече са разгледани примери за решаване на проблеми при преместване на мобилен робот в работната зона. Обърнато е внимание и на процеса на извършване на най-простите маневри за избягване на препятствия, срещани по пътя.

Често в реални ситуации мобилен робот се сблъсква с препятствия, разположени произволно в работната зона, както и с движещи се обекти. Всеки от тези обекти може да бъде потенциална пречка, поради което в процеса на движението си мобилният робот трябва да разполага с информация за всички предмети наблизо, за да може да реагира на тях, ако е необходимо.

Събирането, обработката и организирането на информация за обекти в близост до робота се нарича съставяне на локална карта на околното пространство. Използването на локалната карта в задачите за планиране на маршрута на робота или избягване на препятствия се нарича локална навигация.

При разработването на мобилни роботи е необходимо да се вземат предвид какви задачи се задават на мобилния робот, за да се изберат необходимите сензорни устройства за тяхното решение. Така например, за да се реши проблемът с придвижването в работната зона, роботът може да бъде оборудван със скъпи далекомери за лазерно сканиране и GPS устройства, за да определи собствената си позиция, докато за решаване на проблема с локалната навигация може да бъде оборудван мобилен робот с прости ултразвукови или инфрачервени сензори по периметъра.


мобилен робот


Нека разгледаме задача, типична за роботи от този образователен модул. Виждали сме мобилни роботи за придвижване по линията повече от веднъж, всеки от тях е оборудван с набор от IR сензори или IR масив за откриване на линия. Тъй като задачата за придвижване по линията е основната, тогава като основна сензорна система, въз основа на показанията на която се движи роботът, ние избираме системата от IR сензори.


мобилен робот


Ако движението на мобилния робот може да бъде възпрепятствано от различни обекти, инфрачервени сензори могат да бъдат поставени по периметъра на робота, с помощта на които роботът може да открива препятствия от всяка страна. Броят на такива сензори се определя от възможностите на програмируемия контролер, размерите на робота и обектите в зоната на неговата работа.

Като част от тази работа се предлага да се проектира робот, оборудван с три IR сензора, разположени отпред и отстрани на робота. С помощта на тези сензори роботът трябва да открива препятствия, възникващи в хода на движението си.


роботът може


Предлага се да се разгледат редица техники, които могат да се използват от разработчиците като метод за подобряване на системата за управление на мобилен робот, поради което той може да изпълнява по-широк кръг от задачи.

Откриване на предмети или повърхностни неравности по време на шофиране

Доста често, когато мобилните роботи се движат по неравен терен, възникват ситуации, при които роботът не може да преодолее това или онова препятствие по пътя си.

Много често разработчиците на мобилни роботи фокусират вниманието си върху проблемите на взаимодействието между робота и околната среда по време на движение - това могат да бъдат сензорни системи за откриване на препятствия, системи за определяне на нивото на вибрации и системи за стабилизация и т.н.

В рамките на тази част се предлага да се разгледа модел на робот, който анализира наличието на препятствия по собствения си път, както и оценка на възможността за по-нататъшно движение. Това означава анализ на работната повърхност, например търсене на свлачища и дупки по пътя и т.н.


мобилен робот


Роботът, който разработваме, е снабден с набор от IR сензори за изследване на повърхността, по която се движи, и три IR сензора, разположени по периметъра на робота, за откриване на препятствия по време на движение.


роботът може


Алгоритъмът на движение на робота е съвсем прост - роботът се движи по права линия и ако засече препятствие по пътя си, той прави завой наляво, но ако по пътя на робота срещне скала или зона от черно цвят („неравности“ на повърхността), роботът се обръща и тръгва в обратна посока и наляво.


урок


Като цяло програмата се свежда до един безкраен цикъл, анализиращ показанията на IR сензора, свързан към PORT [6], както и задействането на масива на IR сензора в режим на търсене на препятствия.


роботът може


Режимът за откриване на IR препятствия е един от основните режими на работа на IR сензорна решетка, при който фактът на активиране на един от 7 сензора се открива автоматично. Тази функция се избира в менюто на контролния панел заедно с други, като например: връщане на текущата стойност или задействане на прагова стойност.


мобилен робот


По този начин, използвайки дори такива прости инструменти като този набор, можете да моделирате и изучавате процеса на използване на мобилен робот в произволна работна зона. Като задача за консолидиране на резултатите можем да разгледаме процеса на комбиниране на две задачи заедно - задачата да следвате линията като основна работа и задачата, разгледана в този раздел.

Избягване на препятствия по периметъра

Преди разгледахме проблема с избягването на препятствия в процеса на движение на робота по маршрута. В предишни работи вниманието беше съсредоточено върху алгоритмичния компонент - намиране на препятствие и вземане на решение за маневра, а препятствие се разбираше като обект, заобиколен от робота при една маневра.

В реална ситуация обектите, срещани по пътя на робота, могат да бъдат големи и може да е трудно да ги заобиколите. В тази връзка е необходимо да се предвиди ситуация, при която роботът ще се движи около обекта, за да се върне към дадена траектория и да продължи да се движи по-нататък.


роботът може


За да може мобилният робот да открие препятствие, докато го избягва, е необходимо да поставите един от IR сензорите отстрани. В този случай, след като се приближи до обекта и започне маневра, за да го заобиколи, системата за контрол на робота ще следи постоянно разстоянието до обекта.


роботът може


Поставете три IR сензора върху предната броня на робота, два от тях от двете страни на робота, а централния по посока на движението. С тези сензори роботът може да открие обект и да наблюдава разстоянието до него при маневриране наоколо.


мобилен робот


При движение роботът непрекъснато анализира разстоянието до обекта и ако разстоянието е по-малко от определеното, той се отдалечава от него наляво, а ако е повече, се приближава, като се обръща надясно. Ако в процеса на придвижване по обекта той изчезне от погледа, роботът се обръща надясно, за да се доближи до обекта или да го заобиколи от другата страна.


роботът може


Горната процедура се извършва в цикъл, описан от програма, състояща се от четири последователни условия. Всяко от условията съответства на една от фигурите: в първия случай функцията l_slight_turn се извиква наляво, във втория случай функцията за напред се извиква за право движение, в третия случай се извиква функцията r_slight_turn завийте надясно, а в последния случай десният завой се извършва с помощта на функцията r_corner_turn.


мобилен робот


Движенията на робота са настроени по традиционния начин, като се използват функции, които променят посоката и скоростта на въртене на колелата.


мобилен робот


Нека разгледаме отделно функцията r_corner_turn, предназначена да избегне препятствие отдясно. Тази функция първо извиква функцията forward_shortly, която кара робота да се движи малко напред, след което функцията right_turn се извиква, за да се обърне надясно. Завиването надясно се извършва, докато разстоянието до обекта не стане не по-малко от стойността, зададена от променливата thresh-old_4



Всяко от тези условия се определя от прага на сензора, стойностите на който се избират в зависимост от необходимото разстояние, на което е необходимо да бъде спрямо обекта при движение.


роботът може


Горните стойности на праговите променливи могат да бъдат избрани емпирично или могат да бъдат изчислени въз основа на характеристиките на сензора. Всеки сензор има своя собствена характеристика - зависимостта на изходната стойност от изчислената стойност. IR сензорите, които използваме, имат изходна характеристика, която е зависимостта на интензивността на отразената светлина от разстоянието до обекта.


роботът може


Въз основа на горната графика е възможно да се изберат такива стойности на праговата променлива, при които мобилният робот ще открива обекти на дадено разстояние и ще ги обикаля, без да се приближава по-близо, отколкото би трябвало.

Информацията за реакцията на сензора е изключително важна при проектирането на система за управление на роботи. Благодарение на него можете да изчислите точните движения на задвижващия механизъм и на целия робот като цяло.

Заключение

В рамките на тази работа бяха проучени основите на локалната навигация на мобилни роботи и бяха проведени експерименти с истински модел робот. Разгледаните по време на експеримента с робот методи и подходи са доста общи и приложими за всеки друг подобен проблем.


роботът може


Използвайки такива алгоритми, роботът може да маневрира в среда с различни предмети и да избягва препятствия с произволни размери. Въпреки привидната простота и гъвкавост на методите, е необходимо предварително да се оценят условията за използване на мобилен робот.

Невъзможно е да се разработи система за управление за всички случаи, в една ситуация роботът може да се използва успешно, а в друга може да няма достатъчно точност на движение или собствена маневреност, за да се избегне сблъсък с обект.

При разработването на робот трябва да се вземат предвид всички фактори, влияещи върху него и да се определят методи за тяхното оценяване и компенсация. Може би в един от случаите ще е необходимо да се промени съставът на сензорната система на робота и да се приложат по-усъвършенствани технически сензори, а в друг случай може да е достатъчно да се използват същите технически средства, но в различен начин.


мобилен робот


Във примера, разгледан във втората част, програмата за контрол на робота използва функцията r_corner_turn, предназначена да обикаля робота вдясно. Принципът на неговото действие се състоеше в малко движение напред, през времето, зададено от таймера, и последващо изпълнение на завоя.


роботът може


Когато предната част на робота остави размерите на обекта, сензорът, свързан към PORT [5], спира да вижда препятствието и следващият завой се извършва от робота сляпо. За да бъде гарантирано, че роботът ще надхвърли размерите на обекта, преди да направи завой, се предлага да се инсталира втори IR сензор на борда на робота, но вече отзад. Благодарение на това роботът ще може да продължи движението напред, докато не премине напълно обекта, който предотвратява движението.


мобилен робот


Този пример илюстрира адаптивен подход към процеса на разработване на система за управление на роботи. За съжаление няма универсално решение и не може да се препоръча нито един, нито повече алгоритми, които могат да разрешат някакъв проблем. Разработчикът трябва сам да определи критериите, които определят ефективността на проектираната система, и да предложи начини за тяхното решаване и по-нататъшно прилагане.