Раздели на сайта
Избор на редактора:
- Шест примера за компетентен подход към склонението на числата
- Лицето на зимата Поетични цитати за деца
- Урок по руски език "мек знак след съскащи съществителни"
- Щедрото дърво (притча) Как да измислим щастлив край на приказката Щедрото дърво
- План на урока за света около нас на тема „Кога ще дойде лятото?
- Източна Азия: страни, население, език, религия, история Като противник на псевдонаучните теории за разделянето на човешките раси на по-нисши и по-висши, той доказа истината
- Класификация на категориите годност за военна служба
- Малоклузия и армията Малоклузията не се приема в армията
- Защо сънувате мъртва майка жива: тълкувания на книги за сънища
- Под какви зодиакални знаци са родените през април?
реклама
Lego ev3 следва черната линия. Лего EV3. Движение по черната линия. Цветен сензор - режим "Яркост на околната светлина". |
За да накарате робота да се движи плавно по черната линия, трябва да го накарате да изчисли самата скорост на движение. Човек вижда черна линия и ясна граница. Сензорът за светлина работи малко по-различно. Именно това свойство на сензора за светлина - невъзможността да се разграничи ясно бялото от черното - ще използваме, за да изчислим скоростта на движение. Първо, нека представим концепцията за „Идеална точка на траектория“. Показанията на сензора за светлина варират от 20 до 80, най-често на бяло показанията са приблизително 65, на черно около 40. Идеалната точка е условна точка приблизително в средата на белия и черния цвят, след която роботът ще се движи по черната линия. Тук местоположението на точката е основно – между бяло и черно. Няма да може да се настрои точно на бяло или черно поради математически причини, ще стане ясно по-късно. Емпирично сме изчислили, че идеалната точка може да се изчисли по следната формула: Роботът трябва да се движи стриктно по идеалната точка. Ако има отклонение в някоя посока, роботът трябва да се върне в тази точка. Да композираме математическо описание на проблема. Изходни данни. Идеална точка. Текущи показания на сензора за светлина. Резултат. Мощност на въртене на двигателя V. Мощност на въртене на двигателя C. Решение. Нека разгледаме две ситуации. Първо: роботът се отклони от черната линия към бялата линия. В този случай роботът трябва да увеличи мощността на въртене на мотор B и да намали мощността на мотор C. В ситуация, в която роботът влиза в черната линия, е вярно обратното. Колкото повече роботът се отклонява от идеалната точка, толкова по-бързо трябва да се върне към нея. Но създаването на такъв регулатор е доста трудна задача и не винаги се изисква в неговата цялост. Затова решихме да се ограничим само до P-регулатора, който адекватно реагира на отклонения от черната линия. На математически език ще бъде написано така: където Hb и Hc са крайните мощности съответно на двигателите B и C, База – определена базова мощност на двигателите, която определя скоростта на робота. Избира се експериментално, в зависимост от дизайна на робота и остротата на завоите. Itek – текущи показания на сензора за светлина. Iid – изчислена идеална точка. k – коефициент на пропорционалност, избран експериментално. В третата част ще разгледаме как да програмираме това в средата на NXT-G. Този проблем е класически, идеологически прост, той може да бъде решен много пъти и всеки път ще откриете нещо ново за себе си. Има много подходи за решаване на проблема със следния ред. Изборът на един от тях зависи от специфичния дизайн на робота, от броя на сензорите, разположението им спрямо колелата и един към друг. В нашия пример ще бъдат анализирани три примера за робот въз основа на основния образователен модел на Robot Educator. Като начало сглобяваме основния модел на образователния робот Robot Educator, за това можете да използвате инструкциите в софтуер MINDSTORMS EV3. Също така, например, ще ни трябват сензори за светъл цвят EV3. Тези сензори за светлина, като никой друг, са най-подходящи за нашата задача; когато работим с тях, не трябва да се тревожим за интензивността на околната светлина. За този сензор в програмите ще използваме режим на отразена светлина, в който се оценява количеството отразена светлина от червената подсветка на сензора. Границите на показанията на сензора са 0 - 100 единици, съответно за „без отражение“ и „пълно отражение“. Като пример ще анализираме 3 примера на програми за движение по черна траектория, изобразена на плосък светъл фон: · Един сензор, с P регулатор. · Един сензор, с PC регулатор. · Два сензора. Пример 1. Един сензор с P регулатор.ДизайнСензорът за светлина е монтиран на греда, удобно разположена на модела. АлгоритъмРаботата на алгоритъма се основава на факта, че в зависимост от степента на припокриване на лъча на осветяване на сензора с черна линия, показанията, върнати от сензора, варират градиентно. Роботът поддържа позицията на светлинния сензор на границата на черната линия. Чрез преобразуване на входните данни от сензора за светлина, системата за управление генерира стойност за скоростта на въртене на робота. Тъй като при реална траектория сензорът генерира стойности в целия си работен диапазон (0-100), 50 е избрана като стойност, към която роботът се стреми, в този случай се генерират стойностите, предавани на ротационните функции диапазон -50 - 50, но тези стойности не са достатъчни за рязък завой на траекторията. Следователно диапазонът трябва да се разшири един път и половина до -75 - 75. В резултат на това в програмата функцията на калкулатора е прост пропорционален контролер. чиято функция ( (а-50)*1,5 ) в работния диапазон на светлинния сензор генерира стойности на въртене в съответствие с графиката: Пример за това как работи алгоритъмът
Пример 2. Един датчик, с PK регулатор.Този пример се основава на същата конструкция. Вероятно сте забелязали, че в предишния пример роботът се люлее прекалено, което не му позволява да ускори достатъчно. Сега ще се опитаме да подобрим малко тази ситуация. Към нашите пропорционален контролерДобавяме и прост регулатор на куб, който ще добави малко гъвкавост към функцията за регулиране. Това ще намали люлеенето на робота в близост до желаната граница на траекторията, както и ще направи по-силни резки, когато е далеч от нея. Ето как човек вижда линията: Ето как го вижда роботът:
Има много начини да научите робот да вижда линия и да се движи по нея. Има сложни програми и много прости. Искам да говоря за метод на програмиране, който дори деца от 2-3 клас могат да овладеят. На тази възраст за тях е много по-лесно да сглобяват конструкции по инструкции и програмирането на робот е за тях трудна задача. Но този метод ще позволи на детето да програмира робота за всеки маршрут на пистата за 15-30 минути (като се вземе предвид поетапно тестване и коригиране на някои характеристики на траекторията). Този метод беше тестван на общински и регионални състезания по роботика в района на Сургут и Ханти-Мансийския автономен окръг-Югра и донесе на нашето училище първи места. Там се убедих, че тази тема е много актуална за много отбори. Е, да започваме. При подготовката за подобен тип състезания програмирането е само част от решението на проблема. Трябва да започнете с проектиране на робот за конкретен маршрут. В следващата статия ще ви кажа как да направите това. Е, тъй като движението по линия се случва много често, ще започна с програмирането. Нека разгледаме варианта на робот с два светлинни сензора, тъй като е по-разбираем за учениците от началното училище. Светлинните сензори са свързани към портове 2 и 3. Двигатели към портове B и C. Програмата ще се състои от малък брой блокове:
За управление на робота се използват два двигателя. Мощността на всеки е 100 единици. За нашата схема ще вземем средната стойност на мощността на двигателя, равна на 50. Тоест средната скорост при движение по права линия ще бъде равна на 50 единици. При отклонение от праволинейно движение мощността на двигателите пропорционално ще нараства или намалява в зависимост от ъгъла на отклонение. Сега нека да разберем как да свържете всички блокове, да конфигурирате програмата и какво ще се случи в нея. В резултат на всички тези действия ще получите следната програма: Тъй като всичко това ще работи в цикъл, добавяме „Цикъл“, избираме го и го преместваме всичко в „Цикъл“. Сега нека се опитаме да разберем как ще работи програмата и как да я конфигурираме. Докато роботът се движи по права линия, стойностите на сензора съвпадат, което означава, че изходът на блока „Изваждане“ ще бъде 0. Изходът на блока „Умножение“ също дава стойност 0. Тази стойност се подава паралелно на двойката за управление на двигателя. Тъй като тези блокове са настроени на 50, добавянето или изваждането на 0 не влияе на мощността на двигателите. И двата мотора работят с еднаква мощност от 50, а роботът се търкаля по права линия. Да приемем, че пистата прави завой или роботът се отклонява от права линия. какво ще стане Фигурата показва, че осветеността на сензора, свързан към порт 2 (наричан по-нататък сензори 2 и 3), се увеличава, докато се движи върху бялото поле, а осветеността на сензор 3 намалява. Да приемем, че стойностите на тези сензори стават: сензор 2 – 55 единици, а сензор 3 – 45 единици. Ако пистата рязко завие настрани, сензор 2 се оказва бял, а сензор 3 е черен. Стойностите на осветеност на тези сензори стават: сензор 2 – 70 единици, а сензор 3 – 50 единици. На бели и черни полета роботът трябва да кара по права линия. Ако това не се случи, опитайте да изберете сензори със същите стойности. Сега нека създадем нов блок и да го използваме, за да преместим робота по произволен маршрут. В диалоговия прозорец „Дизайнер на блокове“ дайте име на нашия блок, например „Отиди“, изберете икона за блока и щракнете върху „ГОТОВО“. Сега имаме блок, който може да се използва в случаите, когато трябва да се движим по линия. Текстът на работата е публикуван без изображения и формули. Лего Mindstorms EV3 Създаване на програма и калибриране Заключение Литература 1.Въведение. Роботиката е един от най-важните областинаучно-техническия прогрес, в който проблемите на механиката и новите технологии влизат в контакт с проблемите на изкуствения интелект. За последните годининапредък в роботиката и автоматизирани системипромени личните и бизнес сфери на живота ни. Роботите се използват широко в транспорта, изследването на земята и космоса, хирургията, военната индустрия, лабораторните изследвания, сигурността и масовото производство на промишлени и потребителски стоки. Много устройства, които вземат решения въз основа на данни, получени от сензори, също могат да се считат за роботи - като например асансьорите, без които животът ни вече е немислим. Дизайнерът на Mindstorms EV3 ни кани да навлезем в очарователния свят на роботите и да се потопим в сложната среда на информационните технологии. Цел: Научете се да програмирате робота да се движи по права линия. Запознайте се с дизайнера на Mindstorms EV3 и неговата среда за програмиране. Напишете програми за движение на робота по права линия на 30 cm, 1 m 30 cm и 2 m 17 cm. Mindstorms EV3 конструктор. Конструктивни части - 601 бр., серво мотор - 3 бр., цветен сензор, сензор за движение на допир, инфрачервен сензор и сензор за докосване. Микропроцесорен блок EV3 е мозъкът LEGO конструктор Mindstorms. Голям сервомотор отговаря за движението на робота, който е свързан с микрокомпютъра EV3 и кара робота да се движи: върви напред и назад, завивай и карай по зададен път. Този сервомотор има вграден сензор за въртене, който ви позволява много точно да контролирате движението и скоростта на робота. Можете да принудите робота да извърши действие, като използвате компютърна програма EV3. Програмата се състои от различни контролни блокове. Ще работим с блока за движение. Блокът за движение управлява двигателите на робота, включва го, изключва го и го кара да работи в съответствие с възложените задачи. Можете да програмирате движението на определен брой обороти или градуси. Подготвителен етап. Създаване на техническа област. Нека нанесем маркировки върху работната зона на робота, като използваме електрическа лента и линийка, за да създадем три линии с дължина 30 cm - зелена линия, 1 m 15 cm - червена и 2 m 17 cm - черна линия. Необходими изчисления: Диаметърът на колелото на робота е 5 cm 7 mm = 5,7 cm. Един оборот на колелото на робота равен на дължинатакръг с диаметър 5,7 см. Обиколката се намира по формулата Където r е радиусът на колелото, d е диаметърът, π = 3,14 l = 5,7 * 3,14 = 17,898 = 17,9. Тези. За един оборот на колелото роботът изминава 17,9 см. Нека изчислим броя обороти, необходими за шофиране: N = 30: 17,9 = 1,68. 1 м 30 см = 130 см N = 130 : 17,9 = 7,26. 2 м 17 см = 217 см. N = 217 : 17,9 = 12,12. Създаване и калибриране на програмата. Ще създадем програмата по следния алгоритъм: Алгоритъм: Изберете блок за движение в програмата Mindstorms EV3. Включете двата мотора в дадената посока. Изчакайте показанията на сензора за въртене на един от двигателите да се променят до зададената стойност. Изключете двигателите. Зареждаме готовата програма в блока за управление на робота. Поставяме робота на полето и натискаме бутона за стартиране. EV3 кара през полето и спира в края на дадена линия. Но за да постигнете точен завършек, трябва да извършите калибриране, тъй като движението се влияе от външни фактори. Полето е инсталирано на ученически бюра, така че е възможно леко изкривяване на повърхността. Повърхността на полето е гладка, така че е възможно лошо сцепление на колелата на робота с полето. При изчисляването на броя на оборотите трябваше да закръглим числата и следователно, променяйки стотните в оборотите, постигнахме необходимия резултат. 5. Заключение. Способността да програмирате робот да се движи по права линия ще бъде полезна за създаване на по-сложни програми. Като правило, в технически спецификациисъстезания по роботика, посочени са всички размери на движение. Те са необходими, за да не се претоварва програмата с логически условия, цикли и други сложни контролни блокове. На следващия етап от запознаването с робота Lego Mindstorms EV3 ще трябва да се научите как да програмирате завои под определен ъгъл, движение в кръг и спирали. Работата с дизайнера е много интересна. Като научите повече за неговите възможности, можете да разрешите всеки технически проблем. И в бъдеще, може би, създайте свои собствени интересни модели на робота Lego Mindstorms EV3. Литература. Копосов Д. Г. „Първата стъпка в роботиката за 5-6 клас.“ - М.: Бином. Лаборатория Знание, 2012 - 286 с. Филипов С. А. „Роботика за деца и родители” - „Наука” 2010 г Интернет ресурси http://lego. rkc-74.ru/ http://www.9151394.ru/projects/lego/lego6/beliovskaya/ http://www. лего com/образование/ |
15.01.2012, 18:51
Досега в статии за алгоритми, използвани при движение по линия, се разглеждаше метод, когато светлинният сензор изглежда наблюдаваше нейната лява или дясна граница: веднага щом роботът се премести в бялата част на полето, контролерът върна робота до границата, сензорът започна да се движи по-дълбоко в черната линия - регулаторът го изправи обратно. Сега трябва да определим как тази промяна в дизайна ще се отрази на програмата. За простота отново трябва да започнем с най-простия релеен контролер и затова на първо място се интересуваме от възможните позиции на сензорите спрямо линията: Всъщност може да се идентифицира още едно приемливо условие - при сложни маршрути това ще бъде пресичане на кръстовище или някакво удебеляване на пътеката. Други позиции на сензорите няма да бъдат взети предвид, защото те са или производни на тези, показани по-горе, или това са позициите на робота, когато е напуснал линията и вече няма да може да се върне към нея, използвайки информация от сензорите . В резултат на това всички горепосочени разпоредби могат да бъдат сведени до следната класификация:
Диаграмата по-горе веднага показва как точно трябва да се промени поведението на двигателите в програмата. Сега писането на програма не трябва да бъде трудно, като изберете кой сензор ще бъде анкетиран първи. Няма от голямо значение, така че нека остане. Необходимо е да се определи дали е над светла или тъмна повърхност: Това действие все още не ви позволява да кажете в каква посока трябва да тръгне роботът. Но ще раздели състоянията, изброени по-горе, на две групи: (I, II) за горния клон и (III, IV) за долния. Всяка група вече има две състояния, така че трябва да изберете едно от тях. Ако разгледате внимателно първите две състояния I и II, те се различават по позицията на десния сензор - в единия случай той е над светла повърхност, в другия - над тъмна. Това ще определи какво действие да предприемете: Сега можете да вмъкнете блокове, които определят поведението на двигателите според таблиците по-горе: горният клон на вложеното условие определя комбинацията „и двата сензора на светлина“, горният - „ляв на светло, десен на тъмно“: Долният клон на основното състояние е отговорен за друга група състояния III и IV. Двете състояния също се различават едно от друго по нивото на светлина, което десният сензор отчита. Това означава, че ще определи избора на всеки от тях: Получените два клона се запълват с блокове за движение. Горният клон е отговорен за състоянието „ляв на тъмно, десен на светло“, а долният клон е отговорен за „двата сензора на тъмно“. Трябва да се отбележи, че този дизайнтой просто определя как да включи двигателите в зависимост от показанията на сензорите на определено място в полето, естествено, след момент програмата трябва да провери дали показанията са се променили, за да коригира поведението на двигателите; и след малко отново, отново и т.н. Следователно, той трябва да бъде поставен в цикъл, който ще осигури тази повторна проверка: Толкова красива проста програмаще осигури доста висока скорост на движение на робота по линията, без да лети извън нейните граници, ако е конфигуриран правилно максимална скоростпри движение в състояния I и IV, а също и комплект най-добрият начинспиране в състояния II и III - колкото по-стръмни са завоите на магистралата, толкова "по-силно" трябва да бъде спирането - скоростта трябва да се намалява по-бързо и обратно - при плавни завои е напълно възможно да се приложи спирачка чрез изключване на захранването или дори чрез пълно намаляване на скоростта. Трябва да се кажат няколко отделни думи и относно разположението на сензорите върху робота. Очевидно ще се прилагат същите препоръки за местоположението на тези два сензора спрямо колелата, както за един сензор, само върхът на триъгълника се приема като средата на сегмента, свързващ двата сензора. Разстоянието между самите сензори също трябва да бъде избрано от характеристиките на пистата: колкото по-близо са разположени сензорите един до друг, толкова по-често роботът ще се изравнява (извършва сравнително бавни завои), но ако сензорите са разположени достатъчно широко , тогава има риск да излетите от пистата, така че ще трябва да правите повече „твърди“ завои и да намалите скоростта на правите участъци. |
Прочетете: |
---|
Популярни:
Афоризми и цитати за самоубийство |
Нов
- Лицето на зимата Поетични цитати за деца
- Урок по руски език "мек знак след съскащи съществителни"
- Щедрото дърво (притча) Как да измислим щастлив край на приказката Щедрото дърво
- План на урока за света около нас на тема „Кога ще дойде лятото?
- Източна Азия: страни, население, език, религия, история Като противник на псевдонаучните теории за разделянето на човешките раси на по-нисши и по-висши, той доказа истината
- Класификация на категориите годност за военна служба
- Малоклузия и армията Малоклузията не се приема в армията
- Защо сънувате мъртва майка жива: тълкувания на книги за сънища
- Под какви зодиакални знаци са родените през април?
- Защо мечтаете за буря на морските вълни?