Дистанционно управление на робота Lego Mindstorms чрез JMX и IP Video. Ще бъде ли наличен PDF справочен материал, показващ как да програмирате с EV3 Brick и как да използвате домашния софтуер LEGO® MINDSTORMS® EV3

Този раздел представя различни роботи Lego. Започвайки с Mindstorms - робот за напреднали потребители и дори професионалисти, завършвайки с легендарни герои: Hero Factory, Ninjago, Chima и т.н.


Нека започнем нашата история с необичайна играчка Lego - електронен интерактивен робот, базиран на процесора NXT 2.0! Дори 10-12 годишно дете може да го сглоби с помощта на инструкции! Умните бури на LEGO Robots ще се харесат не само на децата, но и на техните родители, тъй като е много функционален и възможностите му за програмиране са наистина безкрайни! Можете да проектирате свои собствени програмируеми модели!

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

Мисловните бури могат да се движат в различни посоки, да възпроизвеждат звуци, да различават цветовете, да решават куба на Рубик, да боравят с тежки предмети, да пазят стая, да контролират влак или кола Lego от разстояние и много други! В допълнение към обичайните сензори, които се доставят в първоначалния комплект, можете да закупите и други различни аксесоари: различни сензори, адаптери, двигатели, батерии и много други, което значително ще разшири възможностите на вашия Lego робот!

Инструкцията, която е на диска със софтуера, предлага няколко първоначални, лесни за сглобяване модели на мисловни бури: Robogator, Colored Ball Sorter, Room Caretaker и някои други.

Детето ви никога няма да се отегчи, а изучаването на умения за дизайн и програмиране по игрив начин също е много информативен урок!

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

Тази серия Hero Factory е аналог на Bionicles, така че феновете на анимационни филми за роботи с удоволствие ще я приемат.

Сред героите има както добри: Стормър, Фърно, Бриз и други, така и отрицателни герои: Дрилдозер, Джетбаг, Фон Мъглявина, които се подчиняват на могъщия и зъл Господ на огъня. Опитайте се да съберете цялата колекция от фигури на Lego Robot Hero Factory и организирайте битката си за триумфа на доброто и справедливостта!

Кой е най -известният строителен комплект в света? Разбира се Lego! Коя е най -известната платформа за преподаване на роботика? Разбира се Lego Mindstorms! Нека да разберем защо.

Лего: от занаята на дърводелеца до лидерството в света на играчките

Търговско дружество Легооснована през 1932 г. Основателят му е датчанин Оле Кирк Кристиансен... Като дърводелец първо основава фирма за производство на домакински продукти, а по -късно се захваща и с производството на дървени блокове за деца. Фирмата е кръстена Lego, съчетаваща датски думи крак - да играеи бог е добър.

През 1947 г. компанията Lego започва да произвежда пластмасови играчки и вече през 1949 г. се появяват известните лего тухли.

Основните идеи на Lego са модулност и съвместимост. Въпреки че тухлите са променили дизайна и формата за 65 години от съществуването си, те са абсолютно съвместими помежду си. Съвременните елементи могат лесно да бъдат прикрепени към елементи от преди 40 години.

Днес Lego със сигурност е много по -широко от производството на играчки. Компанията създава дрехи, филми, игри, организира състезания, включително роботизирани. Лего музеите са отворени по света, тематични паркове за забавление - Легенди, които са почти изцяло изградени от тухли Lego.

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

Lego Mindstorms: роботика за всеки

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

За първи път роботизиран конструктор Лего мислещи бурие въведен през 1998 г. През 2006 г. излиза втората версия на конструктора - NXT, а в началото на 2013 г. се появи EV3(съкратено от Еволюция 3).

От ляво на дясно в кутия версии на Lego Minstorms 1998, 2006, 2013

Сърцето на дизайнера е микрокомпютър (микроконтролер), известен още като P-тухла или P-тухла (от Програмируема тухла- програмируема тухла). Стандартните части на Lego (греди, предавки, оси, колела) се променят малко с развитието на конструктора; именно микрокомпютърът претърпява най -големите промени.

Първата версия на конструктора е завършена с микрокомпютър RCX, секундата - NXT, и като част от съвременната версия - EV3.

Отляво надясно микрокомпютри Lego: RCX (1998), NXT (2006), EV3 (2013)

С развитието на конструктора производителят се придържа към политиката за обратна съвместимост, т.е. части от стари версии могат да се използват заедно с новия конструктор. Например, сензорите от NXT версията могат да се използват с EV3. Развитието на конструктора в крак с времето е преди всичко развитието на микрокомпютъра и средата за програмиране. Важна характеристика на съвременната EV3 Brick е, че тя работи на безплатната операционна система Linux.

Спецификации на микрокомпютъра Lego EV3:

  • Процесор - ARM9 (ARM7 е използван в конструктора NXT 2.0);
  • RAM - 64 мегабайта;
  • FLASH памет - 16 мегабайта;
  • SD слот за разширение;
  • USB 2.0 с поддръжка за Wi-Fi свързаност;
  • Bluetooth 2.1;
  • монохромен екран с резолюция 178 × 128 пиксела;
  • четири входни порта;
  • четири изходни порта;
  • интерфейс за управление с шест бутона;
  • висококачествен интегриран високоговорител;
  • автономно захранване от шест батерии тип АА или използване на батерия с постоянен ток EV3 2050 mAh;
  • операционна система Linux.

Видео преглед на микрокомпютъра Lego EV3:

Списък на Lego Mindstorms EV3

Конструктивен комплект Lego MindstormsПредставлява набор от стандартни части на Lego, микрокомпютър и сензори.

Lego Mindstorms EV3 компоненти

Конструкторът е разработен за две целеви аудитории: за домашна употреба(деца и любовници) и за използване в образователни институции(ученици и учители). За всяка група е създаден основен набор - съответно кутия версия на Lego EV3и образователна версия на Lego EV3.

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

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

Такъв конструктор ви позволява да сглобявате и програмирате много основни модели с помощта на компютър според инструкциите, както и да измисляте свои собствени. Комплектът включва части, съвместими със стандартни тухли Lego.

Комплектът Lego Education WeDo включва:

  • 158 строителни елемента;
  • USB Lego Switch;
  • мотор;
  • сензор за наклон;
  • сензор за разстояние.

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

Видео презентация на комплекта Lego WeDo:

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

Можете да намерите чаши за роботика, където Lego WeDo се използва в нашата.

LEGO Education WeDo 2.0

Upd. 4.12.2017 г .: LEGO Education в началото на 2016 г. нова версия на образователния конструктор по роботика за деца WeDo 2.0 (чл. 45300).

Основният комплект на Lego WeDo 2.0 включва нови версии на превключвателя, сензорите за наклон и движение, мотора. За съжаление, новият конструктивен комплект не е съвместим с предишната версия на Lego WeDo двигатели и сензори, тъй като неговият микропроцесор (Smarthub) има различни конектори. WeDo 2.0 SmartHub се свързва с компютър или таблет чрез Bluetooth 4.0.

Има ли алтернатива на Lego в образователната роботика?

Днес платформата Lego е безспорен лидер в образователната роботика. Комплектите Lego Mindstorms се използват в чаши за роботика в много страни по света. Lego Mindstorms също е на водещите позиции в Русия.

Какви са причините за това ръководство? Има няколко от тях.

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

Робот робот на WRO-2014 в Казан

Има ли някакви функционални алтернативи? Като цяло, да. Това е например корейски, немски, вътрешен ТРИКдруги. Изброените платформи са сходни по цена с Lego. Има и по -скъпи конструктори.

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

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

Трето, приемствеността на Lego Mindstorms. Преди това може да бъде описано по -горе Ние правим, след - TETRIXи MATRIX.Последните два използват контролерите NXT и EV3, но предлагат значително механично и структурно разширение. Като се вземе предвид фактът, че съвременните деца се запознават с Lego преди навършване на една година, изглежда естествено и по -лесно да продължим да работим с него по -нататък.

Четвърто, факторът време също играе роля в популярността на Lego - той просто беше първият в тази област и завладя пазара. Има установени общности в различни страни, има много разработки, има значителен опит в използването им в образованието.

Роботът, сглобен от конструктора LEGO Mindstorms EV3, можете лесно да управлявате дистанционно от първо лице. За да направите това, допълнително ще ви трябват два смартфона с приложението RoboCam, инсталирано на един от тях. Нека да разгледаме по -отблизо приложението RoboCam и да научим как да го използваме.

Тази статия описва новите функции, въведени в първата версия 1.0 на приложението RoboCam. Можете да намерите всички статии, посветени на приложението RoboCam. Приложението RoboCam може да бъде инсталирано от магазина на Google Play.

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

Какво ви е необходимо, за да проведете експеримент?

За да повторите експеримента, който виждате във видеото, се нуждаете от следното:

  1. Роботпостроен от конструктивния комплект LEGO Mindstorms EV3.
  2. Смартфон Androidс камера и приложението RoboCam, инсталирано на нея. Поддържа Android 2.3 и по -нови версии. Смартфонът трябва да има поне една камера, както и Bluetooth и Wi-Fi модули.
  3. Смартфон или таблетс модерен браузър с поддръжка на HTML5. Най -новите версии на браузърите Google Chrome, Yandex Browser, Firefox и Opera са подходящи и тествани. Операционната система по принцип може да бъде всяка (Android, iOS или Windows), но пълноценни тестове бяха проведени само на Android. Смартфон или таблет трябва да има поне сензорен екран (за предпочитане с разпознаване на поне 2 точки на допир) и Wi-Fi модул.

Схема на свързване

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

Както можете да видите, приложението RoboCam е инсталирано на смартфон 1. Този смартфон е прикрепен към робота и е свързан към него чрез Bluetooth. От смартфон 1 до EV3 има команди, които управляват двигателите, информацията от сензорите се връща.

2-ри смартфон или таблет, свързва се със смартфон 1 чрез Wi-Fi. Смартфон 1 и смартфон или таблет 2 трябва да бъдат свързани към един и същ рутер. От смартфон или таблет 2 координатите на джойстиците отиват към смартфон 1, а видеопотокът от камерата се връща обратно.

Как се контролира EV3

За да разберете по -добре как се управлява роботът EV3, разгледайте следната диаграма.

Когато започнете да докосвате джойстици A и B, смартфонът или таблетът 2 предава координатите на докосванията към смартфон 1, който ги преобразува в команди за двигателите EV3. Начинът на преобразуване на координатите зависи от настройките в приложението RoboCam. Ще говорим повече за настройките по -долу.

Сглобяване на робота

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

Препоръчвам да започнете с прост модел. Ако имате образователен комплект LEGO Mindstorms EV3, тогава можете да изградите EV3 Explorer, който виждате на снимката и видеото в началото на статията. Ето схемата за сглобяване на EV3 Explorer:

Инструкции за изграждане на EV3 ExplorerВерсия: 2

Инструкции за изграждане на EV3 Explorer Robot от LEGO Mindstorms Education EV3 Basic Educational Set (45544).

Във версия 2: рамката е фиксирана по -здраво и не пада.

04.06.2016 г. 4.95 MB 5783

Подготовка на смартфон с Android и приложението RoboCam

Приложението RoboCam работи на смартфони или таблети с Android 2.3 или по -нова версия. Устройството трябва да има вградена камера и Bluetooth и WiFi модули. Приложението е безплатно, можете да го инсталирате от магазина на Google Play. Ето страницата на приложението RoboCam. За да инсталирате, щракнете върху бутона „INSTALL“ и приемете необходимите разрешения, като кликнете върху бутона „ACCEPT“.

След инсталирането отворете приложението. На Android 6 и по -нови версии веднага ще видите подкана, искаща разрешение за използване на камерата. Определено се нуждаем от камера, затова кликнете върху „ДОПУСКАЙ“.

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

Зеленият бутон вляво е отговорен за стартиране и спиране на сървъра RoboCam, който е необходим за свързване на смартфон или таблет 2, вижте диаграмата по -горе. В същото време бутонът показва дали сървърът работи или не. На снимката фонът на бутона е бял, което означава, че сървърът е изключен. Това е показано и от върха отгоре. Можете да стартирате или спрете сървъра по всяко време, като щракнете върху този бутон.

Средният лилав бутон е отговорен за свързването с EV3 робота. В същото време бутонът показва дали смартфонът е свързан към робота или не. На снимката фонът на бутона е бял, което означава, че роботът не е свързан. Този бутон също има подсказка, точно под бутона, където състоянието на връзката се показва в горния ред (на снимката това е надписът "EV3 не е свързан"), а в долния ред - името на текущите настройки на робота (на снимката е EV3 Explorer).

Бутонът вдясно отваря настройките на RoboCam. Ако ще използвате моя EV3 Explorer, няма нужда да настройвате допълнителни настройки. Веднага след първото стартиране на приложението, настройките по подразбиране ще се наричат ​​„EV3 Explorer“. Ако вашият робот е различен, тогава първо трябва да се задълбочите в настройките. Но нека поговорим за това по -долу.

Стартиране и свързване към сървъра на RoboCam

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

Така че, след като приложението е инсталирано на смартфон 1 (вижте диаграмите по -горе) и отворено, можете да стартирате сървъра RoboCam. За да направите това, кликнете върху зеления бутон вляво, бутонът ще започне да мига и подканата ще каже „Инициализиране на сървъра на RoboCam ...“. След известно време, след като сървърът стартира, фонът на бутона ще стане зелен, а подканата ще каже „Сървърът RoboCam работи.“

Ако смартфонът все още не е свързан с вашия Wi-Fi рутер (както имаме на снимката), значи е време да го направите. След като бъде свързан, горният ред на втория ред ще покаже адреса за свързване със сървъра на RoboCam. Когато включите сървъра, няма значение дали да включите първо сървъра на RoboCam или Wi-Fi.

Вече можете да се свържете със сървъра на RoboCam. За да направите това, вземете втори смартфон или таблет (ще използвам таблет), уверете се, че е свързан към същия Wi-Fi рутер, отворете браузъра и отидете на страницата с адреса, показан в върха в RoboCam приложение (на снимката е „http: //192.168.1.153: 8088“). Браузърът трябва да се използва един от описаните по -горе. Ако сте направили всичко правилно, браузърът ще зареди страница за въвеждане на вашето потребителско име и парола. Въведете вашето потребителско име и парола тук и кликнете върху бутона „Вход“. Ако след инсталирането не сте променили нищо в настройките, тогава входът по подразбиране е „admin“, а паролата е „123“.

След това ще се отвори главната страница на сървъра RoboCam, където ще видите картина от камерата на смартфона 1 (вижте диаграмата по -горе).

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

Моля, обърнете внимание, че ориентацията не се променя, ако сте заключили смартфона си 1.

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

Свързване на RoboCam към EV3

Преди да свържете приложението RoboCam към EV3, уверете се, че вашият EV3 робот и смартфон имат активиран Bluetooth и са сдвоени. Уверете се също, че двигателите са свързани към точните портове, посочени в настройките на робота. Името на текущите настройки е написано в подсказката до средния бутон на втория ред, на снимката по -долу е „EV3 Explorer“. Ако сте сглобили EV3 Explorer според моята схема (вижте по -горе) и след инсталирането на приложението RoboCam не сте променили настройките, тогава се уверете, че всичко е конфигурирано правилно. Повече подробности за настройките ще бъдат написани по -долу.

Така че, ако сте готови, кликнете върху централния лилав бутон. Ако Bluetooth е изключен на вашия смартфон, ще видите заявка за включването му. Щракнете върху Да.

След това ще видите, че бутонът ще започне да мига и вместо подкана ще се появи списък с устройства, сдвоени чрез Bluetooth. Изберете вашия EV3 робот тук (на снимката е „EV3“, но може да имате различно име в настройките на EV3).

След това приложението ще се свърже с EV3.

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

В настройките по подразбиране за EV3 Explorer ще имате два джойстика: кръгъл и вертикален (вижте снимката по -горе). Вертикалният джойстик контролира държача на смартфона, а кръглия джойстик контролира движенията на робота. Иконата на дланта в горния десен ъгъл сменя джойстици за бързо превключване между контроли с лява и дясна ръка. Повече подробности за джойстиците ще бъдат написани по -долу.

Спиране на RoboCam сървъра и деактивиране на EV3

След като приключите с контрола на вашия робот, се препоръчва да спрете сървъра на RoboCam и да изключите EV3 от смартфона, преди да затворите приложението RoboCam. Това може да се направи в произволен ред. За да спрете сървъра, кликнете върху зеления бутон вляво. След това фонът на бутона ще стане бял и подсказката ще покаже „RoboCam Server е изключен“. За да изключите EV3, натиснете централния лилав бутон. След това фонът на бутона ще стане бял и на подканата в горния ред ще видите надпис „EV3 не е свързан“. В този случай двигателите ще спрат или ще се върнат в първоначалното си положение, в зависимост от настройките.

За да отидете в настройките, кликнете върху сивия бутон вдясно.

Настройките са разделени на 2 части: настройки на сървъра и настройки на робота. Първо, нека да разгледаме какво има в настройките на сървъра. Изберете „Сървър“.

Настройките на сървъра са разделени на 2 групи: настройки на камерата и настройки за сигурност. В настройките на камерата можете да изберете камерата (предна или задна), размера на изображението и качеството на JPEG. Колкото по -малък сте задали размера на изображението, толкова по -плавно и бързо ще бъде предаването на видео към клиента, но качеството на картината ще се влоши. Видео предаването и качеството на JPEG имат подобен ефект: колкото по -добро е качеството на JPEG (90 процента или повече), толкова по -добра е картината, но колкото по -бавна е скоростта и обратно, толкова по -лошо е качеството на JPEG (40 процента или по -малко), по -бърза скорост, но по -лоша картина. Изберете кое работи най -добре за вас.

В настройките за защита можете да промените името и паролата на драйвера (по подразбиране името е „admin“, а паролата „123“). Наблюдателите също са активирани по подразбиране. Наблюдателите могат да видят изображението на камерата паралелно с вас, но не могат да контролират робота. За наблюдателя можете също да посочите потребителско име и парола (по подразбиране името е "гост", а паролата е "123"). За да деактивирате наблюдателите, премахнете отметката от квадратчето „Разрешаване на наблюдатели“.

Броят на драйверите и наблюдателите не е ограничен, но свързването на повече от един драйвер може да причини конфликти, докато контролирате и предавате видеопотока. Не се препоръчва свързването на повече от един драйвер към сървъра на RoboCam. Голям брой зрители също могат да повлияят негативно на предаването на видео. Препоръчително е да намалите броя на наблюдателите до минимум или да деактивирате тази функция напълно.

След като промените настройките, можете да ги запишете, като кликнете върху бутона „ЗАПАЗВАНЕ“ горе вдясно или излезте, без да запазвате, като кликнете върху бутона „ОТМЕНА“ или стрелката в горния ляв ъгъл. След запазване на настройките на сървъра, клиентите може да бъдат прекъснати и трябва да се свържат отново.

Списък с настройките на робота

Втората част от настройките на софтуера на RoboCam са настройките на робота. Щракнете върху „Робот“, за да отидете в списъка с настройки на робота.

В списъка с настройки на робота можете да видите настройките за всичките си роботи. Можете да добавяте или премахвате настройки по всяко време, като кликнете съответно върху бутона „ДОБАВЯНЕ“ или „ИЗТРИВАНЕ“ горе вдясно. И точно под бутоните можете да видите текущите настройки. Този елемент превключва между настройките за вашите роботи. Сега нека да разгледаме настройките на EV3 Explorer. За да направите това, изберете EV3 Explorer от списъка.

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

Като цяло можете да конфигурирате до 4 джойстика, но в същото време клиентът ще види само една двойка от 1-2 или 3-4 джойстика на екрана. Ако обаче използвате джойстик 1 и 3, те все още няма да се виждат едновременно, защото принадлежат към различни двойки и ще видите или джойстик 1, или джойстик 3. Видимостта на всеки джойстик се включва с отметка „ Видимост". Ако сте включили 2 чифта джойстици, на екрана на клиента ще се появи бутон за превключване между двойки.

И така, в настройките можете да видите групите „Джойстик 1“, „Джойстик 2“, „Джойстик 3“ и „Джойстик 4“. Всеки от тях съдържа настройки за един джойстик. Нека да разгледаме настройките за джойстик 1. Квадратчето "Видимост", както вече разбрахте, показва или скрива джойстика. Ако квадратчето за отметка не е поставено, настройките за този джойстик ще бъдат скрити.

Малко по-ниско в падащия списък “ Формата»Можете да изберете формата на джойстика и заедно с формата и неговите характеристики. Налични са следните форми на джойстика: вертикални, хоризонтални, кръгли, квадратни, стрелки, вертикални стрелки и хоризонтални стрелки. Ето как изглеждат изброените джойстици:

Вертикалният джойстик възприема само височината на докосването му, т.е. не му пука дали сте го докоснали наляво или надясно, основното е на каква височина. Координатата на докосване за него ще варира от -100 в най -ниската точка до 100 в най -високата точка с 0 в средата.

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

Кръглите и квадратните джойстици са сходни. Тук се определят координатите на докосване по хоризонталната и вертикалната ос, също в диапазона от -100 до 100 s 0 в центъра. Но в кръглия джойстик докосванията не могат да излязат извън кръга. Тези. ако допирателната точка е извън окръжността, точката ще бъде взета в пресечната точка на линията от допирателната точка до центъра на окръжността с окръжността. Това може да се види по -ясно на фигурата по -долу.

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

Точно под формуляра изберете типа джойстик в падащия списък „ Тип". Тук можете да изберете едно от следните: Независими двигатели, Такси 1, Такси 2 и Пощенска кутия.

Джойстици с типове " Такси 1" и " Такси 2»Позволява ви да управлявате робот с две независими задвижващи колела, като например EV3 Explorer. Координатите на докосване на такива джойстици автоматично ще се трансформират в моторни команди. За джойстика трябва само да изберете кой порт ще има лявото и кое ще има десните колела. Но за това ще бъде написано по -долу.

"Taxiing 1" ще ви позволи да управлявате двуколесен робот като кола. Тук няма да можете да разгърнете робота на място. Колкото по -близо е докосването до вертикалния център, толкова по -ниска е скоростта. Управлението 2 позволява на робота да се върти на място.

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

Тип джойстик " Пощенска кутия”Просто ще прехвърли координатите на докосване в пощенските кутии на EV3. За да оживее вашият робот, ще трябва да напишете EV3 програма, която да обработва тези координати. С този тип джойстик можете да правите по -сложни модели за управление на роботи, т.к Можете да внедрите свой собствен алгоритъм за преобразуване на координатите, взети от джойстика, в моторни команди. Например, можете да направите EV3 Gyrobal контрол. Джойстик 1 прехвърля координати към пощенски кутии с име x и y, джойстик 2 - към пощенски кутии w и z, джойстик 3 - към пощенски кутии a и b, а джойстик 4 - към пощенски кутии c и d.

Следващите две настройки " Край на докосване (за хоризонтална ос)" и " Край на докосване (за вертикална ос)»Определете какво се случва, когато спрете да докосвате джойстика. Тук можете да изберете една от двете опции: „Връщане към нула“ или „Запазване на позицията“. Връщането към нула има смисъл да се използва в повечето ситуации, например, ако имате нужда роботът да спре, когато спрете да докосвате джойстика, опцията „Връщане към нула“ е подходяща. Опцията за запазване на позиция е полезна, когато трябва да запомните координатата на последното докосване. Тази опция се използва например за накланяне на рамката на EV3 Explorer. Тази настройка е достъпна за всички форми на джойстика, с изключение на джойстиците със стрелки.

Ако използвате джойстик Independent Motors, Steering 1 или Steering 2, по -долу ще намерите настройките на порта за този джойстик. Портовете, които ще се контролират от джойстика, могат да се добавят и премахват. За да направите това, има бутони "ДОБАВЯНЕ" и "ИЗТРИВАНЕ". Броят на портовете не е ограничен. Първата фигура по -долу показва настройките за джойстик с тип "Независими двигатели", а втората цифра за джойстик с типове "Управление 1" и "Управление 2". Както можете да видите, има малка разлика.

Нека преминем през настройките на порта. Настройка " Оста на джойстика"Появява се само за джойстик с тип" Независими двигатели ". Тук има две възможности: "Хоризонтално" и "Вертикално". Ако сте избрали "Хоризонтално", тогава двигателят ще реагира само когато координатата на докосване по хоризонталната ос се промени, а ако сте избрали "Вертикален", тогава той ще реагира на докосване по вертикалната ос.

Настройка " Мотор"Появява се само за джойстик с тип" Управление 1 "или" Управление 2 ". Тук избирате между „Ляво“ и „Дясно“.

Настройка " EV3 Тухла„Ще бъде необходимо, ако сте сглобили робот, използвайки няколко EV3 тухли, свързани в„ низ “. Тук можете да изберете номер на тухла от 1 до 4. Ако имате само една EV3 тухла, това винаги трябва да е 1.

Като зададете „ Номер на пристанище»Можете да изберете порта на двигателя от A до D.

Настройка " Променлива стойност"Появява се само за джойстик с тип" Независими двигатели ". Тук има две възможности: "Мощност на двигателя" и "Ъгъл на въртене на двигателя". Ако сте избрали „ Мощност на двигателя”, Джойстикът ще повлияе на мощността на двигателя, т.е. колкото по -далеч докосвате от центъра на джойстика, толкова по -бързо ще се върти моторът. Ако сте избрали „ Ъгъл на въртене на двигателя", Джойстикът ще повлияе на ъгъла на въртене на двигателя, т.е. колкото по -далеч докосвате от центъра на джойстика, толкова по -голям е ъгълът на мотора. В този случай мощността на двигателя ще се регулира чрез настройка „ Мощност". Колкото по -високо е това число, толкова по -бързо двигателят ще реагира на промени в координатите на допир и по -добре ще запази ъгъла.

Поставяне на отметка в квадратчето „ Инвертиране„Ще обърне изчислената мощност или ъгъл и“ Коефициент»Увеличете или намалете изчислената стойност.

Когато поставите отметка в квадратчето „ За спиране”, Двигателите ще спрат бързо; ще се забави Когато това квадратче не е отметнато, двигателите ще се въртят за известно време по инерция, докато не спрат напълно.

Ето всички настройки, които са в програмата RoboCam. Ако нещо не е ясно, пишете в коментарите.

Свързване без рутер

Ето някои трикове, които могат да направят използването на приложението RoboCam малко по -удобно. Ако наблизо няма рутер, например, ако сте на улицата, можете да установите връзка между смартфон 1 и смартфон или таблет 2 директно. За да направите това, трябва да включите горещата точка на смартфон 1 (горещата точка в системата Android обикновено е включена в настройките за мрежова връзка). След включване смартфонът 1 ще се превърне в W-Fi рутер и лесно можете да свържете таблет или смартфон 2. Така схематично ще изглежда връзката.

Можете да намерите адреса на сървъра на RoboCam по същия начин от върха на бутона. В повечето случаи за такава точка за достъп адресът винаги ще бъде http://192.168.43.1:8088.

Използване на смартфон 1 като джойстик

Има още един трик, който можете да направите с приложението RoboCam. На смартфон 1 (на който имате инсталирано приложението RoboCam), стартирайте сървъра, свържете се с робота и след това на същия смартфон стартирайте браузър (разбира се, такъв, който поддържа HTML5) и отидете на http: // localhost: 8088. Ще видите страница за въвеждане на вашето потребителско име и парола. Влезте като драйвер. След като влезете, ще видите джойстици и ще можете да управлявате робота. В този случай обаче изображението от камерата няма да бъде предадено. Wi-Fi може да бъде изключен.

Резултат

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

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

Те се различават не само по производители, но и по методи и възможности за програмиране, видове крепежни елементи, както и материали.

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

Лего мислещи бури

Конструкторът се предлага в два вида:

  • деца;
  • напреднал.

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

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

Разширеният комплект отваря много повече място за въображение. Съществува в няколко варианта и поколения (в момента има три поколения). Те се различават по броя на частите, наличието на допълнителни микрокомпютри, както и различни сензори и други устройства. Микрокомпютрите от тази серия са оборудвани с операционна система Linux.Тези схеми поддържат не само специални езици за програмиране, но и C ++, C и дори Python.

За удобство при препрограмиране на робота можете да използвате официалната програма от LEGO, която ще ви позволи да персонализирате елементите с помощта на интуитивен интерфейс.

Lego е лидер в строителните роботи повече от десет години. Организират се конкурси за създаване, където главната награда най -често е бюджетно място в престижен университет.

LEGO Mindstorms - една от 17 опции за изграждане

ХУНА

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

Можете да научите повече за очарователните метални конструкции за момчета.

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

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

За сметка на Arduino, както и по -модерни системи, тези комплекти са специализирани за аудитория на възраст над петнадесет години. Тоест тези, които вече са надраснали Mindstorms.

Makeblock

Следващият конструктор в нашия списък е китайският Makeblock.Както и в предишния случай, тук се използва електроника Arduino. Броят на продадените комплекти на официалния уебсайт е просто огромен. Можете да намерите както евтини комплекти обикновени машини, така и доста сериозни комплекти, които ви позволяват да създадете 3D принтер със собствените си ръце.

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

От интересните модели трябва да се отбележат тези, които изпълняват рисунки, сред тях:

  • mScara- роботизирана ръка, на която можете да поставите лазер вместо маркер;
  • mSpider- рисува във вертикални равнини, като паяк, движещ се по струни;
  • mCar- машина, която чертае с маркер там, където кара.

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

# Конструктор

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

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

Предимства на PVC:

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

Производителите предлагат да се реши ниската структурна якост по два начина.Първият е просто да залепите частите заедно. Специалното лепило "Cosmofen" е най -подходящо за такива цели. Вторият начин е да комбинирате #Structor със съветски (или подобен) железен конструктор.

# Структор от "Амперка"

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

Управлението на елементите # Structor се извършва на Arduino. И благодарение на гъвкавостта на материала, от който са направени елементите на конструктора, всеки сензор, серво задвижване или двигател могат лесно да бъдат включени в дизайна.

Векс

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

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

Само в комплектите на корейската компания Vex има скоростни кутии или джанти Elon.

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

Софтуерът VEX Assembler също е забележителна функция.Това е 3D редактор, в който можете да проектирате и тествате робота си, преди да започнете да го изграждате на живо.

VEX Robotics от HEXBUG

FischerTechnik

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

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

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

На пазара се предлагат два типа контролери:

  • Robo TX;
  • Robo TXT.

Високата цена за тях се дължи на факта, че това не са просто контролери, а истински микрокомпютри с поддръжка на Wi-Fi, Bluetooth и доста мощна "пълнеж" за малкия им размер. За да се подобри производителността, тези контролери могат да бъдат комбинирани в една мрежа.

Програмирането се извършва на безплатната програма Robo Pro.Всички команди са зададени с помощта на логически блокове, което ви позволява да научите детето на основите на програмирането по игрив начин.

ТРИК

Дизайнерът е роден в Русия.Неговите производители решиха да помогнат на любителите на роботиката, които използват съветски метални конструктори. Следователно всички части имат дупки със същите десет милиметра като железните конструктори.
Този конструктивен комплект е нов на пазара, но вече се е утвърдил като универсален и много удобен.

В момента има четири вида комплекти:

  • стартиране;
  • образователни;
  • училище;
  • конкурентен.

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

Микроконтролерът TRIK работи на Linux и има 24 MHz процесор и огромни 256 MB RAM на борда. Може да се разшири и с Flash карта.

Комплект за монтаж TRIX

Създателите на този конструктор решиха да не обвързват контролера с една програмна среда.Следователно, той поддържа C, C ++, Python и дори Java. За тези, които тепърва изучават програмиране, има специална среда за програмиране, предназначена за контролера TRIK.

Тъй като контролерът поддържа много команди, е достъпно приложение за смартфон с Android за лесна работа. Командите се предават чрез Wi-Fi.

МЪХ


Американската компания, която изобрети MOSS, пое по нетрадиционен път - отказа се от проводници.
Вместо това се използват кубични части, които имат цветни ръбове. Тяхната цел е следната:

  1. Зелено - прехвърляне на електричество от батерията.
  2. Червено - въвеждане на данни.
  3. Кафяви ръбове - извеждане на данни.
  4. Синьо - тези лица носят както електричество, така и данни. Те са необходими за свързване на части с помощта на гъвкав елемент.

Да, дизайнът е доста сложен, но ако го разберете, въображението при създаването на роботи вече няма да бъде спряно. А дете на 8 години, за което дизайнерът е проектиран, може да разбере каква е същността му. Модулите са свързани помежду си с помощта на метални топки, прикрепени към магнити. Тези магнити се намират в ъглите на модулите.

Robo Wunderkind от MOSS

Микроконтролерите могат да бъдат програмирани с помощта на две програми.Първият е визуализатор с допълнителни параметри. Подходящ е за тези, които не са много добре запознати с C код.

Втората програма е насочена към тези, които са добре запознати с нея. Той компилира вашия код и го прехвърля на контролера. И двете програми работят в Windows и Mac OS, но не се поддържат в Linux.

За дистанционно управление на робота MOSS има няколко програми за мобилни устройства едновременно. Това са контролни панели, износ на данни от сензори, рисуване на графики и много други. Всички програми са достъпни за iOS, а някои за Android.

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

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

Робот MECCANO, управляван от смартфон или таблет

Видео

Това видео ще ви разкаже подробно за програмируемите роботи: какви са те и кой е по -добре да изберете.

За да изберете конструктор, трябва да решите за кого е:

  • LEGO Mindstorms е най -подходящ за дете, което се занимава с роботи. И тъй като повечето деца имат богата колекция от LEGO, въображението на вашето дете ще бъде наистина неограничено.
  • Ако търсите конструктор за себе си, тогава трябва да обърнете внимание на TRIK или #Structor, тъй като и двамата са съвместими със съветския железен конструктор, а вторият, освен това, също е изработен от PVC.
  • Но по един или друг начин тези конструктори значително ще подобрят способността на детето ви да мисли логично, а също така ще го подготвят за това, което ще го очаква в училище или институт.

Няма да е излишно, преди да купите, да проучите подробно всеки комплект за сглобяване, който харесвате. И също така помислете за изпращане на детето в клуба на радиолюбителите, ако тази тема му харесва.

Основният градивен елемент на Lego Mindstorms EV3 може да работи с фърмуера на leJOS, който ви позволява да стартирате Java приложения. Oracle пусна и поддържа отделна версия на пълния Java SE специално за тази цел.

Нормалният JVM ми позволи да използвам вградения му протокол за управление на Java (JMX) за реализиране на дистанционно управление на рамото на робота. За комбиниране на контролни елементи, показания на сензора и изображения от IP камери, инсталирани на робота, се използва мнемонична диаграма, направена на платформата AggreGate.


Самият робот се състои от две основни части: шаси и рамо за манипулатор. Те се управляват от два напълно независими компютъра EV3 и цялата координация се осъществява чрез сървъра за управление. Няма директна връзка между компютрите.

И двата компютъра са свързани към IP мрежата на стаята чрез Wi-Fi адаптери NETGEAR WNA1100. Роботът се управлява от осем двигателя на Mindstorms - 4 от тях са "големи" и 4 са "малки". Инсталирани са също инфрачервени и ултразвукови сензори за автоматично спиране при препятствие при заден ход, два сензорни сензора за спиране на въртенето на манипулатора поради препятствие и жиросензор, който улеснява ориентацията на оператора чрез визуализиране на позицията на рамото.

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

В самия манипулатор два двигателя са отговорни за повдигане и спускане на „рамото“ и „предмишницата“. Още три двигателя са ангажирани с повдигане / спускане на ръката, завъртането й на 360 градуса и притискане / разтваряне на „пръстите“.

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

Като цяло всичко изглежда така (кутия кибрит почти не е намерена за мащаба):

За предаване на картината са инсталирани две камери:

  • Обикновен смартфон с Android с инсталирано приложение IP Webcam за общ преглед (HTC One на снимката)
  • Автономна Wi-Fi AI-Ball микро камера, монтирана директно върху "китката" на манипулатора и помагаща за хващане на предмети със сложни форми

EV3 програмиране

Софтуерът на самия робот се оказа максимално опростен. Програмите на двата компютъра са много сходни, те стартират JMX сървъра, регистрират MBeans, съответстващи на двигателите и сензорите, и спят в очакване на JMX операции.

Кодът на основните софтуерни класове на рамото на манипулатора

публичен клас Arm (публичен статичен void main (String args) (опитайте (EV3Helper.printOnLCD ("Стартиране ..."); EV3Helper.startJMXServer ("192.168.1.8", 9000); MBeanServer mbs = ManagementFactory.getPlatformMBeanServerL) мотор = нов EV3LargeRegulatedMotor (BrickFinder.getDefault (). getPort ("A")); LargeMotorMXBean m = нов LargeMotorController (двигател); ObjectName n = ново ObjectName ("робот: име = MotorA"); mbs.registerMBean, ); // Регистриране на други двигатели тук EV3TouchSensor touchSensor = нов EV3TouchSensor (SensorPort.S1); TouchSensorMXBean tos = нов TouchSensorController (touchSensor); n = ново ObjectName ("robot: name = Sensor1"); nbs.registerBe ; // Регистриране на други сензори тук EV3Helper.printOnLCD ("Running"); Sound.beepSequenceUp (); Thread.sleep (Integer.MAX_VALUE);) catch (Throwable e) (e.printStackTrace ();))) обществен клас EV3Helper (статичен празен стартJMXServer (Адрес на низ, int порт) (MBeanServer сървър = ManagementFactory.getPlatf ormMBeanServer (); try (java.rmi.registry.LocateRegistry.createRegistry (порт); JMXServiceURL url = нов JMXServiceURL ("услуга: jmx: rmi: /// jndi /rmi: //" + адрес + ":" + String.valueOf (порт ) + "/ сървър"); Карта реквизит = нов HashMap (); props.put ("com.sun.management.jmxremote.authenticate", "false"); props.put ("com.sun.management.jmxremote.ssl", "невярно"); JMXConnectorServer connectorServer = JMXConnectorServerFactory.newJMXConnectorServer (url, реквизит, сървър); connectorServer.start (); ) catch (Exception e) (e.printStackTrace ();)) static void printOnLCD (String s) (LCD.clear (); LCD.drawString (s, 0, 4);))

За всеки тип сензор и двигател са създадени интерфейс MBean и клас за внедряване, които директно делегират всички обаждания към класа leJOS API.

Примерен код на интерфейса

публичен интерфейс LargeMotorMXBean (публично абстрактно void forward (); публично абстрактно булево suspendRegulation (); публично абстрактно int getTachoCount (); публично абстрактно float getPosition (); публично абстрактно void flt (); публично абстрактно void flt (булево незабавно връщане); публично абстрактно void stop (boolean neposrednoReturn); публично абстрактно логическо isMoving (); публично абстрактно void waitComplete (); публично абстрактно void rotateTo (int limitAngle, булево незабавноReturn); публично абстрактно void setAcceleration (int ускорение); публично абстрактно int getAcceleration (); public абстрактно int getLimitAngle (); публично абстрактно void resetTachoCount (); публично абстрактно void завъртане (int ъгъл, булево непосредственоReturn); публично абстрактно void завъртане (int ъгъл); публично абстрактно void setStallThreshold (int грешка, int време); public abstract int getRotationSpeed ​​(); public abstract float getMaxSpeed ​​(); public abstract void backward (); публично абстрактно void stop (); публичен абстракт int getSpeed ​​(); публична абстрактна void setSpeed ​​(int скорост); )

Примерен код за внедряване на MBean „a

публичен клас LargeMotorController реализира LargeMotorMXBean (окончателен EV3LargeRegulatedMotor motor; публичен LargeMotorController (EV3LargeRegulatedMotor motor) (this.motor = motor;) @Override public void forward () (motor.forward ();) ();) @Override public int getTachoCount () (return motor.getTachoCount ();) @Override public float getPosition () (return motor.getPosition ();) @Override public void flt () (motor.flt (); ) @Override public void flt (boolean instantReturn) (motor.flt (neposrednoReturn);) // Подобни методи за делегиране са пропуснати)

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

Свързване със сървър

Роботът се управлява директно от сървъра на платформата AggreGate IoT. Инсталираната безплатна версия на продукта AggreGate Network Manager включва драйвер за JMX протокол и позволява свързване на до десет JMX хоста. Ще трябва да свържем два - по един за всяка EV3 тухла.

На първо място, трябва да създадете акаунт за JMX устройство, като посочите URL адреса, посочен при стартиране на JMX сървъра в настройките:

Свойства за свързване на JMX устройство


След това изберете активите (т.е. MBeans в този случай), които ще бъдат добавени към профила на устройството:

Избор на MBeans


И след няколко секунди разглеждаме и променяме текущите стойности на всички анкетирани свойства на MBeans:

Моментна снимка на устройството


Можете също да тествате различни операции, като извиквате ръчно методите на MBeans, като forward () и stop ().

Списък на операциите


След това задаваме периодите на гласуване за сензорите. Използва се висока честота на гласуване (100 пъти в секунда), тъй като управляващият сървър се намира в локалната мрежа с робота и той е този, който взема решения за спиране на въртенето, когато удари препятствие и т.н. Решението, разбира се, не е индустриално, но в една добре функционираща Wi-Fi мрежа в същия апартамент се оказа доста адекватно.

Периоди на гласуване


Интерфейс на оператора

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

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

Вътре в редактора на интерфейса

Цялата форма:

Изглед с показаните контейнерни панели:


Сега, както казват системите за управление на процеса, остава да се „съживи мнемоничната схема“. За това т.нар обвързваниясвързващи свойства и методи на компоненти на графичния интерфейс със свойства и методи на сървърни обекти. Тъй като компютрите EV3 вече са свързани към сървъра, сървърните обекти също могат да бъдат MBeans на нашия робот.

Целият операторски интерфейс съдържа около 120 свързвания, повечето от които са от същия тип:

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

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

Всички методи за извикване на контролни обвързвания напред (), назад ()и Спри се ()различни MBeans. Тъй като събитията се доставят асинхронно, важно е функцията да извиква напред ()/назад ()и последващи обаждания Спри се ()не се обърка. За да направите това, обвързванията, които извикват методите на един MBean, се добавят към същата опашка.

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