LEGO Mindstorms robotlari qiziqarli robototexnika. Bluetooth aloqasi mavjud bo'lganda nima uchun LEGO® MINDSTORMS® EV3 Brick-ni kompyuteringizga ulash uchun USB kabelidan foydalanish kerak? RoboCam-ni EV3-ga ulash

Ushbu bo'lim turli xil Lego robotlarini taqdim etadi. Mindstorms-dan boshlab - afsonaviy belgilar bilan yakunlangan ilg'or foydalanuvchilar va hatto mutaxassislar uchun robot: Hero Factory, Ninjago, Chima va boshqalar.


Hikoyamizni g'ayrioddiy Lego o'yinchog'i - NXT 2.0 protsessori asosida yaratilgan elektron interaktiv robot bilan boshlaymiz! Hatto 10-12 yoshli bola ham ko'rsatmalar yordamida yig'ishi mumkin! LEGO Robots aqliy hujumlari nafaqat bolalarga, balki ularning ota-onalariga ham ta'sir qiladi, chunki bu juda funktsional va uning dasturlash imkoniyatlari cheksizdir! Siz o'zingizning programlanadigan modellaringizni loyihalashingiz mumkin!

Diskdan o'rnatilishi mumkin bo'lgan qulay dastur interfeysi orqali robotni dasturlash juda qulay! Agar xohlasangiz, funktsiyalar to'plamini markaziy boshqaruv blokidagi tugmalar birikmasi bilan tanlash mumkin. Robot juda yaxshi funktsiyaga ega, bu interaktiv servo motorlar va yorug'lik, tovushga javob beradigan maxsus sensorlar orqali amalga oshiriladi. mexanik stress va boshqa tashqi stimullar!

Aqliy bo'ronlar turli yo'nalishlarda harakatlanishi, tovushlarni chalishi, ranglarini farqlashi, Rubik kubini echishi, og'ir bo'lmagan narsalarga ishlov berishi, xonani qo'riqlashi, Lego poezdini yoki mashinasini uzoqdan boshqarishi va boshqa ko'p narsalar mumkin! Dastlabki to'plamda keltirilgan odatiy datchiklardan tashqari siz boshqa turli xil aksessuarlarni sotib olishingiz mumkin: turli xil sensorlar, adapterlar, motorlar, batareyalar va boshqa narsalar, bu sizning Lego robotingizning imkoniyatlarini sezilarli darajada kengaytiradi!

Dasturiy ta'minot diskida joylashgan yo'riqnomada aqliy hujumlarning bir nechta dastlabki, oson yig'iladigan modellari taklif etiladi: Robogator, Rangli sharni saralash, Xona qo'riqchisi va boshqalar.

Farzandingiz hech qachon zerikmaydi, dizayn va dasturlash ko'nikmalarini o'ynoqi tarzda o'rganish ham juda mazmunli darsdir!

Yana bir epizod - Qahramonlar fabrikasi. Qahramonlar fabrikasi qahramonlari juda rang-barang jonzotlar, ular inson va robotning duragaylari va ularning ismi kiborglar! Robotlarning raqamlari harakatlanuvchi qo'l va oyoqlarga ega, ular turli xil qurollarga ega bo'lib, ularga Otashparastga xizmat qiladigan mutantlar guruhiga qarshi kurashishda yordam beradi.

Ushbu Hero Factory seriyasi Bionicles-ning analogidir, shuning uchun robotlar haqidagi multfilm muxlislari uni mamnuniyat bilan qabul qilishadi.

Qahramonlar orasida ikkalasi ham yaxshi: Stormer, Fourno, Briz va boshqalar va salbiy qahramonlar: Drilldozer, Jetbag, Von Nebula, ular kuchli va yovuz Olov Lordiga bo'ysunadilar. Lego Robot Qahramoni fabrikasining barcha to'plamlarini to'plashga harakat qiling va yaxshilik va adolat tantanasi uchun kurashni tashkil qiling!

LEGO Mindstorms EV3 qurilish to'plamidan yig'ilgan robotni birinchi shaxsdan masofadan turib boshqarish mumkin. Buning uchun sizga qo'shimcha ravishda bitta biriga RoboCam dasturi o'rnatilgan ikkita smartfon kerak bo'ladi. Keling, RoboCam dasturini batafsil ko'rib chiqamiz va undan qanday foydalanishni o'rganamiz.

Ushbu maqolada RoboCam dasturining birinchi 1.0 versiyasida kiritilgan yangi xususiyatlar tasvirlangan. Siz RoboCam dasturiga bag'ishlangan barcha maqolalarni topishingiz mumkin. RoboCam dasturini Google Play do'konidan o'rnatish mumkin.

Birinchidan, men EV3 Explorer deb atagan birinchi shaxs robotini ko'rsatadigan videoni tomosha qilaylik. Robot har qanday yo'nalishda sayohat qilishi mumkinligiga qo'shimcha ravishda, u boshini ko'tarishi va tushirishi mumkin, ya'ni. smartfon biriktirilgan ramka. Bu shuni anglatadiki, siz nafaqat atrofga, balki yuqoriga / pastga ham qarashingiz mumkin.

Eksperiment o'tkazish uchun sizga nima kerak?

Videodan ko'rgan tajribani takrorlash uchun sizga quyidagilar kerak:

  1. RobotLEGO Mindstorms EV3 qurilish to'plamidan qurilgan.
  2. Android smartfoni kamera va unga o'rnatilgan RoboCam dasturi bilan. Android 2.3 va undan yuqori versiyalarini qo'llab-quvvatlaydi. Smartfonda kamida bitta kamera, shuningdek, Bluetooth va Wi-Fi modullari bo'lishi kerak.
  3. Smartfon yoki planshet HTML5 qo'llab-quvvatlaydigan zamonaviy brauzer bilan. Yaxshi moslangan va sinovdan o'tgan google brauzerlari Chrome, Yandex brauzeri, Firefox va Opera so'nggi versiyalar... Operatsion tizim, asosan, har qanday bo'lishi mumkin (Android, iOS yoki Windows), ammo to'liq sinovlar faqat Android-da amalga oshirildi. Smartfon yoki planshetda hech bo'lmaganda bo'lishi kerak sensorli ekran (eng kamida 2 ta teginish nuqtasini tanib olish bilan) va Wi-Fi moduli.

Ulanish diagrammasi

Birinchidan, yuqoridagi qurilmalarning barchasi bir-biriga qanday bog'langanligini ko'rib chiqamiz. Bu eng yaxshi quyidagi rasmda keltirilgan.

Ko'rib turganingizdek, RoboCam dasturi 1-smartfonga o'rnatildi. Ushbu smartfon robotga biriktirilgan va unga Bluetooth orqali ulangan. Smartfon 1 dan EV3 gacha bo'lgan dvigatellarni boshqaradigan buyruqlar, sensorlardan ma'lumot qaytib keladi.

2-chi smartfon yoki planshet, Wi-Fi orqali 1-smartfonga ulanadi. Smartfon 1 va Smartphone yoki Tablet 2 bir xil yo'riqchiga ulangan bo'lishi kerak. Smartfon yoki planshet 2 dan joystiklarning koordinatalari 1-smartfonga to'g'ri keladi va kameradan video oqim orqaga qaytadi.

EV3 qanday boshqariladi

EV3 roboti qanday boshqarilishini yaxshiroq tushunish uchun quyidagi sxemaga qarang.

A va B joystiklariga teginishni boshlaganingizda, smartfon yoki planshet 2 tegishlar koordinatalarini 1-smartfonga uzatadi, bu ularni EV3 dvigatellari uchun buyruqlarga aylantiradi. Koordinatalarning qanday aylantirilishi RoboCam dasturidagi sozlamalarga bog'liq. Quyida sozlamalar haqida ko'proq gaplashamiz.

Robotni yig'ish

Tajribani takrorlash uchun, avvalo, siz boshqaradigan robotni yig'ishingiz kerak. Bu oddiy ikki g'ildirakli robot, robot avtomobil yoki murakkab harakat mexanizmiga ega robot bo'lishi mumkin. Umuman olganda, sizning robotingiz qanday bo'lishi muhim emas, chunki RoboCam dasturi egiluvchan va uning yordamida har qanday dizayndagi robotni boshqarishingiz mumkin. Eng asosiysi, siz o'zingizning smartfoningizni kamerangizni sayohat yo'nalishi bo'yicha oldinga yo'naltirishi uchun o'zingizning robotingizga o'rnatishingiz mumkin.

Men oddiy modeldan boshlashni maslahat beraman. Agar sizda LEGO Mindstorms EV3 o'quv to'plami bo'lsa, unda siz EV3 Explorer-ni yaratishingiz mumkin, uni maqolaning boshida foto va videoda ko'rasiz. EV3 Explorer-ni yig'ish diagrammasi:

EV3 Explorer-ni yaratish bo'yicha ko'rsatmalar Versiya: 2

LEGO Mindstorms Education EV3 Basic Education to'plamidan EV3 Explorer robotini yaratish bo'yicha ko'rsatmalar (45544).

2-versiyada: ramka mustahkamroq o'rnatiladi va tushmaydi.

04.06.2016 4.95 MB 5783

Android smartfoni va RoboCam dasturini tayyorlash

RoboCam dasturi Android 2.3 yoki undan yuqori versiyalarida ishlaydigan smartfon yoki planshetlarda ishlaydi. Qurilmada o'rnatilgan kamera va Bluetooth va WiFi modullari bo'lishi kerak. Ilova bepul, uni Google Play do'koni yordamida o'rnatishingiz mumkin. Bu erda RoboCam dastur sahifasi. O'rnatish uchun "O'RNATISH" tugmachasini bosing va "QABUL QILISH" tugmachasini bosib kerakli ruxsatlarni qabul qiling.

O'rnatishdan so'ng dasturni oching. Android 6 va undan yuqori versiyalarida siz darhol kameradan foydalanishni xohlaysizmi degan so'rovni ko'rasiz. Bizga albatta kamera kerak, shuning uchun "Ruxsat berish" tugmasini bosing.

Ilova ochilgandan so'ng siz asosiy harakatlar uchun uchta dumaloq tugmachani va fonda kameradan rasmni ko'rasiz.

Chapdagi yashil tugma smartfon yoki planshet 2 ni ulash uchun zarur bo'lgan RoboCam serverini ishga tushirish va to'xtatish uchun javobgardir, yuqoridagi diagramaga qarang. Shu bilan birga, tugma serverning ishlayotganligini yoki ishlamayotganligini ko'rsatadi. Rasmda tugmachaning orqa qismi oq rangda, ya'ni server ishlamayapti. Yuqoridan keltirilgan uchi ham xuddi shunday deydi. Ushbu tugmani bosish orqali istalgan vaqtda serverni ishga tushirishingiz yoki to'xtatishingiz mumkin.

O'rta binafsha tugma EV3 Robotiga ulanish uchun javobgardir. Shu bilan birga, tugma smartfonning robotga ulangan-ulanmaganligini ko'rsatadi. Rasmda tugmachaning orqa qismi oq rangda, ya'ni robot ulanmagan. Ushbu tugmachada tugmachaning pastki qismida ham ishora bor, u erda ulanish holati yuqori satrda ko'rsatiladi (rasmda u "EV3 ulanmagan" yozuvi), pastki qatorda - robotning joriy sozlamalari nomi (rasmda u EV3 Explorer).

O'ngdagi tugma RoboCam sozlamalarini ochadi. Agar siz mening EV3 Explorer-dan foydalansangiz, qo'shimcha ravishda biror narsani sozlashning hojati yo'q. Ilovani birinchi ishga tushirgandan so'ng, standart sozlamalar "EV3 Explorer" deb nomlanadi. Agar sizda boshqa robot bo'lsa, unda avval siz sozlamalarni chuqurroq o'rganishingiz kerak. Ammo bu haqda quyida gaplashamiz.

RoboCam serverini ishga tushirish va unga ulanish

Darhol aytishim kerakki, avval nima qilishingiz muhim emas, RoboCam serverini ishga tushiring yoki smartfoningizni robotga ulang. Bu har qanday tartibda amalga oshirilishi mumkin.

Shunday qilib, dastur 1-smartfonga o'rnatilgandan so'ng (yuqoridagi diagrammalarga qarang) va ochilgandan so'ng siz RoboCam serverini ishga tushirishingiz mumkin. Buning uchun chap tomondagi yashil tugmani bosing, tugma miltillay boshlaydi va so'rovda "RoboCam serverini ishga tushirish ..." Biroz vaqt o'tgach, server ishga tushirilgandan so'ng, tugma fonida yashil rang paydo bo'ladi va so'rovda "RoboCam-server ishlayapti" deb yoziladi.

Agar smartfon hali Wi-Fi routeringizga ulanmagan bo'lsa (biz rasmda bo'lgani kabi), buni qilish vaqti keldi. Ulanganidan so'ng, ikkinchi satrda yuqori so'rovda RoboCam serveriga ulanish uchun manzil ko'rsatiladi. Serverni yoqsangiz, avval RoboCam serverini yoki Wi-Fi-ni yoqishingiz hech qanday farq qilmaydi.

Endi siz RoboCam serveriga ulanishingiz mumkin. Buning uchun ikkinchi smartfon yoki planshetni oling (men planshetdan foydalanaman), uning o'sha Wi-Fi routerga ulanganligiga ishonch hosil qiling, brauzerni oching va RoboCam ilovasida uchida ko'rsatilgan manzil ko'rsatilgan sahifaga o'ting (rasmda u "http" : //192.168.1.153: 8088 "). Siz yuqorida tavsiflanganlardan birini ishlatishingiz kerak. Agar siz hamma narsani to'g'ri bajargan bo'lsangiz, foydalanuvchi nomingiz va parolingizni kiritish uchun sahifa brauzerga yuklanadi. Bu erda foydalanuvchi nomingiz va parolingizni kiriting va "Kirish" tugmachasini bosing. O'rnatishdan so'ng siz sozlamalarda hech narsani o'zgartirmagan bo'lsangiz, standart kirish "admin" va parol "123" dir.

Shundan so'ng, RoboCam serverining asosiy sahifasi ochiladi, u erda siz smartfon kamerasining 1-rasmini ko'rasiz (yuqoridagi diagramaga qarang).

Ko'rib turganingizdek, smartfon 1 yo'nalishi portret, mening planshetim esa landshaft. Siz smartfon 1-ni aylantira olasiz, shunda u ham ichida bo'ladi landshaft yo'nalishi... Bunday holda, planshetdagi rasm avtomatik ravishda landshaftga o'zgaradi.

E'tibor bering, agar siz smartfoningizni qulflagan bo'lsangiz, yo'nalish o'zgarmaydi 1.

Endi rasmni to'liq ekranga chiqarish uchun sahifaning yuqori o'ng qismidagi belgini bosing. Bu barcha keraksiz tugmachalarni, brauzer xatcho'plarini va boshqalarni olib tashlaydi va kameradagi rasm kattalashadi.

RoboCam-ni EV3-ga ulash

RoboCam ilovasini EV3 ga ulashdan oldin, EV3 roboti va smartfonida Bluetooth yoqilgan va ulanganligiga ishonch hosil qiling. Shuningdek, motorlarning robot sozlamalarida ko'rsatilgan aniq portlarga ulanganligiga ishonch hosil qiling. Amaldagi sozlamalarning nomi ikkinchi satrda o'rta tugmachada asboblar panelida yozilgan, quyidagi rasmda u "EV3 Explorer". Agar siz EV3 Explorer-ni mening sxemam bo'yicha o'rnatgan bo'lsangiz (yuqoriga qarang) va RoboCam dasturini o'rnatgandan so'ng sozlamalarni o'zgartirmagan bo'lsangiz, unda hamma narsa to'g'ri tuzilganligiga ishonch hosil qiling. Sozlamalar haqida batafsil ma'lumot quyida yoziladi.

Shunday qilib, agar ishingiz tugagan bo'lsa, markaziy binafsha tugmachani bosing. Agar sizda bo'lsa bluetooth smartfoni o'chirilgan bo'lsa, uni yoqish uchun ko'rsatmani ko'rasiz. Ha-ni bosing.

Keyin tugma miltillay boshlaganini ko'rasiz va so'rov o'rniga Bluetooth orqali ulangan qurilmalar ro'yxati paydo bo'ladi. Bu erda EV3 robotingizni tanlang (rasmda u "EV3", lekin siz EV3 sozlamalarida boshqa ismga ega bo'lishingiz mumkin).

Keyin ilova EV3 ga ulanadi.

Agar bu vaqtda mijoz RoboCam serveriga ulangan bo'lsa, unda siz joystiklar paydo bo'lishini ko'rasiz (quyidagi rasmda to'rtburchaklar va yumaloq joystiklar). Shundan so'ng siz darhol robotni boshqarishingiz mumkin.

EV3 Explorer-ning standart sozlamalarida siz ikkita joystikka ega bo'lasiz: yumaloq va vertikal (yuqoridagi rasmga qarang). Vertikal joystik smartfon ushlagichini, yumaloq joystik esa robotning harakatlarini boshqaradi. Yuqoridagi o'ng tomondagi palma belgisi, joystiklarni almashtirib, chapga va o'ngga qo'mondonlarni tez almashtirishga imkon beradi. Joystiklar haqida batafsil ma'lumot quyida yoziladi.

RoboCam serverini to'xtatish va EV3-ni o'chirish

Robotingizni boshqarishni tugatgandan so'ng, RoboCam dasturini yopishdan oldin RoboCam serverini to'xtatish va EV3 ni smartfondan uzish tavsiya etiladi. Bu har qanday tartibda amalga oshirilishi mumkin. Serverni to'xtatish uchun chapdagi yashil tugmani bosing. Keyin tugma fonida oq rang paydo bo'ladi va ko'rsatma panelida "RoboCam Server o'chirilgan" ko'rsatiladi. EV3 ni o'chirish uchun markaziy binafsha tugmani bosing. Shundan so'ng, tugma fonida oq rang paydo bo'ladi va yuqori satrda "EV3 ulanmagan" yozuvi paydo bo'ladi. Bunday holda, motorlar sozlamalarga qarab to'xtaydi yoki asl holatiga qaytadi.

Sozlamalarga o'tish uchun o'ngdagi kulrang tugmani bosing.

Sozlamalar 2 qismga bo'lingan: server sozlamalari va robot sozlamalari. Dastlab, server sozlamalarida nima borligini ko'rib chiqamiz. "Server" -ni tanlang.

Server sozlamalari 2 guruhga bo'linadi: kamera sozlamalari va xavfsizlik sozlamalari. Kamera sozlamalarida siz kamerani (old yoki orqa), tasvir o'lchamini va JPEG sifatini tanlashingiz mumkin. Tasvir o'lchamini qanchalik kichikroq belgilasangiz, mijozga videoni uzatish yanada ravon va tezroq bo'ladi, ammo rasm sifati yomonlashadi. Video uzatish va JPEG sifati shunga o'xshash ta'sirga ega: qanday qilib yanada sifatli JPEG (90 foiz yoki undan ko'p), rasm qanchalik yaxshi bo'lsa, lekin tezlik qanchalik past bo'lsa va aksincha, JPEG sifati qanchalik yomon bo'lsa (40 foiz yoki undan kam), tezlik shunchalik tezroq, ammo rasm yomonroq. Siz uchun eng yaxshisini tanlang.

Xavfsizlik sozlamalarida siz drayver nomi va parolini o'zgartirishingiz mumkin (sukut bo'yicha ism "admin" va parol "123"). Kuzatuvchilar sukut bo'yicha ham yoqilgan. Kuzatuvchilar kamera tasvirini siz bilan parallel ravishda ko'rishlari mumkin, ammo ular robotni boshqarolmaydilar. Kuzatuvchi uchun siz shuningdek ism va parol o'rnatishingiz mumkin (sukut bo'yicha bu erda "mehmon" nomi va "123" paroli ishlatiladi). Kuzatuvchilarni o'chirib qo'yish uchun "Kuzatuvchilarga ruxsat berish" belgisini olib tashlang.

Drayvlar va kuzatuvchilar soni cheklanmagan, biroq bir nechta haydovchini ulash video oqimni boshqarish va uzatish paytida nizolarni keltirib chiqarishi mumkin. RoboCam serveriga bir nechta drayverni ulash tavsiya etilmaydi. Ko'plab tomoshabinlar video uzatishga ham salbiy ta'sir ko'rsatishi mumkin. Kuzatuvchilar sonini minimal darajaga tushirish yoki umuman ushbu funktsiyani o'chirib qo'yish maqsadga muvofiqdir.

Sozlamalarni o'zgartirgandan so'ng ularni yuqori o'ngdagi "SAVE" tugmachasini bosish orqali saqlashingiz mumkin yoki "CANCEL" tugmachasini yoki chap tomondagi o'qni bosib saqlamasdan chiqishingiz mumkin. Server sozlamalarini saqlaganingizdan so'ng, mijozlar uzilib qolishi mumkin va ular qayta ulanishi kerak.

Robot sozlamalari ro'yxati

RoboCam dasturiy ta'minotining ikkinchi qismi robot sozlamalari. Robot sozlamalari ro'yxatiga o'tish uchun Robot-ni bosing.

Robot sozlamalari ro'yxatida barcha robotlaringiz uchun sozlamalarni ko'rishingiz mumkin. Sozlamalarni istalgan vaqtda o'ng yuqori qismidagi "QO'ShISH" yoki "O'chirish" tugmachasini bosish orqali qo'shishingiz yoki o'chirishingiz mumkin. Va tugmalar ostida, siz hozirgi sozlamalarni ko'rishingiz mumkin. Ushbu element sizning robotlaringiz sozlamalari o'rtasida almashadi. Endi EV3 Explorer sozlamalarini ko'rib chiqamiz. Buning uchun ro'yxatdan EV3 Explorer-ni tanlang.

Eng yuqori qismida ko'rsatilgan umumiy ma'lumot: robot nomi va tavsifi. Sarlavha va tavsif ro'yxatda ko'rsatiladi, shunda kerakli sozlamalarni osongina topishingiz mumkin. Ism shuningdek, dasturning asosiy ekranida EV3 ga ulangan markaziy tugma ostida ko'rsatiladi. Quyida joystick sozlamalari keltirilgan.

Hammasi bo'lib siz 4 tagacha joystikni sozlashingiz mumkin, ammo shu bilan birga mijoz ekranda faqat bitta juft 1-2 yoki 3-4 joystikni ko'radi. Ammo, agar siz joystick 1 va 3 dan foydalansangiz, ular hali ham bir vaqtning o'zida ko'rinmaydi, chunki har xil juftliklarga tegishli bo'lib, siz joystick 1 yoki joystick 3 ni ko'rasiz. Har bir joystikning ko'rinishi "" belgisi bilan yoqiladi Ko'rinish". Agar siz 2 juft joystikni yoqsangiz, mijozning ekranida juftlik o'rtasida o'tish tugmasi paydo bo'ladi.

Shunday qilib, sozlamalarda siz "Joystick 1", "Joystick 2", "Joystick 3" va "Joystick 4" guruhlarini ko'rishingiz mumkin. Ularning har birida bitta joystik uchun sozlamalar mavjud. Joystick 1-ning sozlamalarini ko'rib chiqamiz. "Ko'rinish" belgilash katakchasi, siz allaqachon tushunganingizdek, joystikni ko'rsatadi yoki yashiradi. Agar katakcha belgilanmagan bo'lsa, u holda ushbu joystik uchun sozlamalar yashiriladi.

Ochiladigan ro'yxatda biroz pastroq " Shakl»Joystik shaklini, shakli va xususiyatlari bilan birgalikda tanlashingiz mumkin. Quyidagi joystik shakllari mavjud: vertikal, gorizontal, dumaloq, kvadrat, o'qlar, vertikal o'qlar va gorizontal strelkalar. Ro'yxatdagi joystiklar quyidagicha ko'rinadi:

Vertikal joystik faqat unga tegish balandligini sezadi, ya'ni. unga chapga yoki o'ngga tegdingmi, unga ahamiyat bermaydi, asosiysi qaysi balandlikda. Buning uchun teginish koordinatasi eng past nuqtada -100 dan eng yuqori nuqtada 100 gacha, o'rtada 0 ga teng bo'ladi.

Gorizontal joystick xuddi shu tarzda ishlaydi, lekin gorizontal ravishda. Uning uchun teginish qaysi balandlikda sodir bo'lishi muhim emas, asosiysi chap yoki o'ngdir. Bu erda teginish koordinatasi gorizontal ravishda eng chap nuqtada -100 dan o'rtada 0 bilan eng o'ng nuqtada 100 gacha hisoblanadi.

Dumaloq va kvadrat joystiklar o'xshash. Bu erda gorizontal va vertikal o'qlar bo'ylab teginish koordinatalari, shuningdek markazda -100 dan 100 s 0 oralig'ida aniqlanadi. Ammo yumaloq joystikda teginish doiradan tashqariga chiqa olmaydi. O'sha. agar teginish nuqtasi doiradan tashqarida bo'lsa, nuqta chiziqning teginish nuqtasidan aylana markaziga aylana bilan kesishgan joyida olinadi. Buni quyidagi rasmda aniqroq ko'rish mumkin.

Joystik-o'qlari aloqa nuqtasiga sezgir emas, asosiysi qaysi o'qni tegizishingiz kerak. Agar yuqoriga o'qni tekkizsangiz, joystikning vertikal holati 100, gorizontal holat 0 ga teng deb hisoblanadi, pastga o'q uchun joystikning gorizontal holati ham 0, vertikal holati -100 bo'ladi. Xuddi shu tarzda chap va o'ng strelkalar bilan: joystikning vertikal koordinatasi 0 ga, gorizontal koordinatasi mos ravishda -100 va 100 ga teng bo'ladi.

Shaklning pastki qismida ochiladigan ro'yxatdagi joystick turini tanlang " Turi". Bu erda siz quyidagilardan birini tanlashingiz mumkin: Mustaqil Motors, Taksi 1, Taksi 2 va Pochta qutisi.

Joystiklar " Taksi qilish 1"Va" Taksi qilish 2»EV3 Explorer kabi ikkita mustaqil harakatlantiruvchi g'ildiragi bo'lgan robotni boshqarishga ruxsat bering. Bunday joystiklarga tegish koordinatalari avtomatik ravishda motor buyruqlariga aylantiriladi. Joystik uchun faqat qaysi port chapga, qaysi biri to'g'ri g'ildiraklarga ega bo'lishini tanlashingiz kerak. Ammo bu haqda quyida yoziladi.

"Taksi 1" sizga ikki g'ildirakli robotni mashinadek boshqarish imkonini beradi. Bu erda siz robotni joyiga joylashtirolmaysiz. Vertikal markazga teginish qanchalik yaqin bo'lsa, tezlik past bo'ladi. Rulda 2 robotning joyida aylanishiga imkon beradi.

Joystik turi " Mustaqil motorlar»Vertikal koordinatadan qat'iy nazar teginishning gorizontal koordinatasini motor buyruqlariga o'zgartiradi. Joystik uchun gorizontal koordinata o'zgarganda qaysi dvigatel, vertikal koordinata o'zgarganda qaysi vosita boshqarilishini belgilashingiz kerak bo'ladi. Ushbu turdagi joystik yordamida bitta dvigatel rulni, ikkinchisi esa qo'zg'aysan g'ildiraklarini aylantiradigan mashinani boshqarish uchun ishlatilishi mumkin. Bunday holda, gorizontal koordinataning o'zgarishi birinchi dvigatelning aylanishiga, vertikal koordinatadagi o'zgarish esa ikkinchi motorning aylanishiga moslashtirilishi kerak.

Joystik turi " Pochta qutisi"Tekshirish koordinatalarini shunchaki uzatadi pochta qutilari EV3. Sizning robotingiz hayotga qaytishi uchun siz ushbu koordinatalarni qayta ishlaydigan EV3 dasturini yozishingiz kerak bo'ladi. Ushbu turdagi joystick yordamida siz robotni boshqarish modelini yanada murakkabroq qilishingiz mumkin, chunki Joystikdan olingan koordinatalarni motor buyruqlariga aylantirish uchun o'zingizning algoritmingizni amalga oshirishingiz mumkin. Masalan, EV3 Gyrobal boshqaruvini amalga oshirishingiz mumkin. Joystick 1 koordinatalarni x va y nomli pochta qutilariga, joystick 2 - w va z pochta qutilariga, joystick 3 - a va b pochta qutilariga va joystick 4 - c va d pochta qutilariga uzatadi.

Keyingi ikkita sozlama " Teginish tugashi (gorizontal o'q uchun)"Va" Teginish tugashi (vertikal o'q uchun)»Joystikka tegishni to'xtatgandan keyin nima bo'lishini aniqlang. Bu erda siz ikkita variantdan birini tanlashingiz mumkin: "Nolga qaytish" yoki "O'z pozitsiyasini saqlash". Nolga qaytish ko'p holatlarda foydalanish mantiqan to'g'ri keladi, masalan, joystikka tegishni to'xtatganda robotning to'xtashi kerak bo'lsa, "Nolga qaytish" opsiyasi juda to'g'ri. Saqlash pozitsiyasi oxirgi teginish koordinatasini eslab qolishingiz kerak bo'lganda foydalidir. Ushbu parametr, masalan, EV3 Explorer ramkasini burish uchun ishlatiladi. Ushbu parametr o'q joystiklaridan tashqari barcha joystick shakllari uchun mavjud.

Agar siz "Mustaqil Motors", "Taxi 1" yoki "Taxi 2" joystik turidan foydalanayotgan bo'lsangiz, quyida ushbu joystik uchun port sozlamalarini topasiz. Joystik tomonidan boshqariladigan portlarni qo'shish va olib tashlash mumkin. Buning uchun "Qo'shish" va "O'chirish" tugmachalari mavjud. Portlar soni cheklanmagan. Quyidagi birinchi rasmda "Mustaqil motorlar" turidagi joystikning sozlamalari, ikkinchi raqam esa "Rulda 1" va "Rulda 2" turidagi joystik uchun. Ko'rib turganingizdek, biroz farq bor.

Keling, port sozlamalarini ko'rib chiqaylik. Sozlash " Joystik o'qi"Faqat" Mustaqil motorlar "tipidagi joystik uchun paydo bo'ladi. Bu erda ikkita variant mavjud: "Landshaft" va "Vertikal". Agar siz "Gorizontal" ni tanlagan bo'lsangiz, unda dvigatel faqat gorizontal o'q bo'ylab teginish koordinatasi o'zgartirilganda reaksiyaga kirishadi va agar siz "Vertical" ni tanlagan bo'lsangiz, u holda vertikal o'q bo'ylab teginishga javob beradi.

Sozlash " Dvigatel"Faqat" Rulda 1 "yoki" Rulda 2 "turidagi joystik uchun paydo bo'ladi. Bu erda siz "Chap" va "O'ng" o'rtasida tanlov qilasiz.

Sozlash " EV3 g'isht"Agar siz" ip "ga ulangan bir nechta EV3 g'ishtlari yordamida robotni yig'gan bo'lsangiz kerak bo'ladi. Bu erda siz g'isht raqamini 1 dan 4 gacha tanlashingiz mumkin. Agar sizda bitta EV3 g'isht bo'lsa, bu har doim 1 bo'lishi kerak.

"O'rnatish orqali Port raqami»Siz motor portini A dan D gacha tanlashingiz mumkin.

Sozlash " O'zgaruvchan qiymat"Faqatgina" Mustaqil motorlar "turidagi joystik uchun paydo bo'ladi. Bu erda ikkita variant mavjud: "Dvigatel kuchi" va "Dvigatelning aylanish burchagi". Agar siz " Dvigatel quvvati», Joystick vosita kuchiga ta'sir qiladi, ya'ni. joystik markazidan qanchalik uzoqroq ushlasangiz, vosita shunchalik tez aylanadi. Agar siz " Dvigatelning burilish burchagi", Joystick dvigatelning burilish burchagiga ta'sir qiladi, ya'ni. joystik markazidan qanchalik uzoqroq ushlasangiz, dvigatel shunchalik katta burchakka buriladi. Bunday holda, dvigatelning quvvati "belgilash orqali o'rnatiladi Quvvat". Bu raqam qanchalik baland bo'lsa, vosita teginish koordinatasidagi o'zgarishlarga tezroq javob beradi va u burchakni yaxshiroq ushlab turadi.

Belgilash katagini o'rnatish " Teskari aylantirish"Hisoblangan quvvatni yoki burchakni teskari tomonga o'zgartiradi va" Koeffitsient»Hisoblangan qiymatni oshiring yoki kamaytiring.

Qutini belgilashda " Tormozlash», Dvigatellar tezda to'xtaydi; sekinlashadi. Ushbu katakcha belgilanmaganida, motorlar to'liq to'xtaguncha bir muncha vaqt inertsiya bilan aylanadi.

Bu erda RoboCam dasturidagi barcha sozlamalar mavjud. Agar biror narsa aniq bo'lmasa, izohlarda yozing.

Routersiz ulanish

Endi RoboCam dasturidan foydalanishni biroz qulaylashtiradigan bir nechta fokuslar mavjud. Agar yaqin atrofda yo'riqnoma bo'lmasa, masalan, ko'chada bo'lsangiz, smartfon 1 va smartfon yoki planshet 2 o'rtasida to'g'ridan-to'g'ri aloqa o'rnatishingiz mumkin. Buning uchun siz 1-smartfonda kirish nuqtasini yoqishingiz kerak (Android tizimidagi kirish nuqtasi odatda tarmoq ulanish sozlamalarida yoqilgan). Yoqilgandan so'ng, smartfon 1 ga aylanadi yo'riqnoma W-Fi va unga planshet yoki smartfonni osongina ulashingiz mumkin 2. Ulanish sxematik ko'rinishda bo'ladi.

RoboCam server manzilini xuddi shu tarzda tugma uchidan bilib olishingiz mumkin. Ko'pgina hollarda, bunday kirish nuqtasi uchun manzil har doim http://192.168.43.1:8088 bo'ladi.

Smartfon 1 dan joystik sifatida foydalanish

RoboCam ilovasida yana bitta hiyla-nayrang mavjud. Smartfon 1-da (unda sizda RoboCam dasturi o'rnatilgan), serverni ishga tushiring, robotga ulaning, so'ngra o'sha smartfonda brauzerni ishga tushiring (albatta HTML5-ni qo'llab-quvvatlaydi) va http: // localhost: 8088 ga o'ting. Siz foydalanuvchi nomingiz va parolingizni kiritish uchun sahifani ko'rasiz. Haydovchi sifatida kiring. Kirishdan keyin siz joystiklarni ko'rasiz va robotni boshqarish imkoniyatiga ega bo'lasiz. Biroq, bu holda, kameradan olingan tasvir uzatilmaydi. Wi-Fi o'chirilishi mumkin.

Natija

Umid qilamanki, men RoboCam dasturidan qanday foydalanish haqida etarli ma'lumot berdim. Agar dastur bo'yicha savollaringiz bo'lsa yoki takliflaringiz bo'lsa, ularni ushbu maqoladagi sharhlaringizda yoki jamiyatda qoldirishingiz mumkin

Dunyodagi eng mashhur qurilish to'plami nima? Albatta Lego! Robot texnikasini o'rgatadigan eng mashhur platforma qaysi? Lego Mindstorms albatta! Keling, nima uchun ekanligini aniqlaylik.

Lego: duradgor hunarmandchiligidan o'yinchoqlar dunyosida etakchilikka qadar

Kompaniya Lego 1932 yilda tashkil etilgan. Uning asoschisi - daniyaliklar Ole Kirk Christianen... U duradgor sifatida dastlab uy-ro'zg'or buyumlari ishlab chiqaradigan firmani tashkil qildi, keyinchalik bolalar uchun yog'och bloklar ishlab chiqarishni ham boshladi. Daniya so'zlarini birlashtirgan firma Lego deb nomlandi oyoq - o'ynashva xudo yaxshi.

1947 yilda Lego kompaniyasi plastik o'yinchoqlar ishlab chiqarishni boshladi va 1949 yilda allaqachon taniqli Lego g'ishtlari paydo bo'ldi.

Lego-ning asosiy g'oyalari modullik va moslikdir. Garchi g'ishtlar 65 yillik hayoti davomida dizayni va shaklini o'zgartirgan bo'lsa-da, ular bir-biriga mutlaqo mos keladi. Zamonaviy elementlar 40 yil oldingi elementlarga osongina qo'shilishi mumkin.

Bugungi kunda Lego o'yinchoq ishlab chiqarishga qaraganda ancha kengroq. Kompaniya kiyim-kechak, filmlar, o'yinlar yaratadi, tanlovlarni, shu jumladan robotlashtirilganlarni tashkil qiladi. Dunyoda Lego muzeylari, deyarli butunlay Lego g'ishtidan qurilgan o'yin-kulgi parklari - afsonalar.

Lego-dan siz mashinalar, samolyotlar, kemalar, binolar va, albatta, robotlar modellarini to'plashingiz mumkin. O'tgan asrning oxiridan boshlab Lego maxsus robot konstruktsiyasini ishlab chiqaradi, bugungi kunda u robototexnika bo'yicha etakchiga aylandi.

Lego Mindstorms: hamma uchun robototexnika

Lego-ning standart qismlariga elektron dasturlashtiriladigan blok, datchiklar va elektr dvigatellarni qo'shish, bolalar uchun dasturlashni sodda va tushunarli qilish va robotlar yaratish uchun maxsus qurilish to'plamini yaratish g'oyasi nafaqat Lego konstruktsiyalarini, balki butun kompaniyani jonlantirdi. 1991 yildan beri kompaniya ketma-ket 11 yil davomida zarar ko'rdi. Va vaziyatni qutqargan robot yo'nalishi edi.

Birinchi marta robot konstruktor Lego fikrlari 1998 yilda kiritilgan. 2006 yilda konstruktorning ikkinchi versiyasi chiqdi - NXTva 2013 yil boshida paydo bo'ldi EV3 (qisqacha Evolyutsiya 3).

Lego Minstorms 1998, 2006, 2013 versiyalarining chapdan o'ngga qutilari

Dizaynerning yuragi mikrokompyuter (mikrokontroller), aka P-g'isht yoki P-g'isht (dan Dasturlashtiriladigan g'isht - dasturlashtiriladigan g'isht). Standart Lego qismlari (nurlar, tishli g'ildiraklar, o'qlar, g'ildiraklar) konstruktorning rivojlanishi bilan ozgina o'zgaradi; aynan mikrokompyuter eng katta o'zgarishlarga uchraydi.

Konstruktorning birinchi versiyasi mikrokompyuter bilan to'ldirildi RCX, ikkinchisi - NXTva zamonaviy versiyasining bir qismi sifatida - EV3.

Lego mikrokompyuterlari chapdan o'ngga: RCX (1998), NXT (2006), EV3 (2013)

Konstruktorning rivojlanishi bilan ishlab chiqaruvchi orqaga qarab muvofiqlik siyosatiga amal qiladi, ya'ni. eski versiyalardagi qismlardan yangi konstruktor bilan birgalikda foydalanish mumkin. Masalan, EV3 bilan NXT versiyasidagi datchiklardan foydalanish mumkin. Konstruktorning zamon bilan hamnafas rivojlanishi, avvalo, mikrokompyuter va dasturlash muhitining rivojlanishi. Zamonaviy EV3 Brick-ning muhim xususiyati shundaki, u bepul Linux operatsion tizimida ishlaydi.

Lego EV3 mikrokompyuterining texnik xususiyatlari:

  • Protsessor - ARM9 (ARM7 NXT 2.0 konstruktorida ishlatilgan);
  • rAM - 64 megabayt;
  • FLASH xotirasi - 16 megabayt;
  • sD kengaytirish uyasi;
  • Wi-Fi ulanishiga ega USB 2.0;
  • Bluetooth 2.1;
  • o'lchamlari 178 × 128 piksel bo'lgan monoxrom ekran;
  • to'rtta kirish porti;
  • to'rtta chiqish porti;
  • olti tugmachani boshqarish interfeysi;
  • yuqori sifatli integral karnay;
  • oltita AA batareyasidan yoki qayta zaryadlanuvchi batareyadan foydalangan holda avtonom quvvat manbai to'g'ridan-to'g'ri oqim EV3 2050 mAh;
  • operatsion tizim Linux.

Lego EV3 mikrokompyuterining video sharhi:

Lego Mindstorms EV3 ro'yxati

Lego Mindstorms Bu standart Lego qismlari, mikrokompyuter va sensorlar to'plamidir.

Lego Mindstorms EV3 komponentlari

Quruvchi ikkita maqsadli auditoriya uchun ishlab chiqilgan: uchun uyda foydalanish (bolalar va sevuvchilar) va uchun ta'lim muassasalarida foydalanish (talabalar va o'qituvchilar). Har bir guruh uchun asosiy to'plam yaratildi - shunga ko'ra lego EV3 ning qutidagi versiyasi va lego EV3 ning ta'limiy versiyasi.

Shuningdek, har bir guruh uchun bir nechta qo'shimcha to'plamlar mavjud. Masalan, ixtiyoriy bo'lgan resurslar to'plami shunchaki konstruktorning imkoniyatlarini kengaytiradigan qo'shimcha standart Lego qismlari to'plamidir. Boxed versiyasi va ta'limiy versiyasi o'rtasida aniq chegara yo'q - bu biroz farqli konfiguratsiyaga ega bitta va bitta konstruktor.

Bugungi kunda ushbu to'plam Rossiyada maktabgacha yoshdagi bolalar va boshlang'ich maktab o'quvchilari uchun robototexnika sohasida faol ravishda amalga oshirilmoqda.

Bunday konstruktor sizga ko'rsatmalarga muvofiq kompyuter yordamida ko'plab asosiy modellarni yig'ish va dasturlash, shuningdek o'zingiznikini o'ylab topishga imkon beradi. To'siq standart Lego g'ishtlariga mos keladigan qismlarni o'z ichiga oladi.

Lego Education WeDo to'plamiga quyidagilar kiradi:

  • 158 qurilish elementlari;
  • USB Lego Switch;
  • vosita;
  • burilish sensori;
  • masofa sensori.

Kalit WeDo dasturi yordamida datchiklar va motorlarni boshqaradi. Kommutator ulagichlari orqali dvigatellarga quvvat beriladi va sensorlar bilan kompyuter o'rtasida ma'lumotlar almashinadi.

Lego WeDo to'plamining video taqdimoti:

Lego Education WeDo nafaqat qurilish majmuasi, balki o'quv jarayoniga kiritishga tayyor bo'lgan to'liq uslubiy yordamdir. Bu sizning robototexnika mashg'ulotingiz uchun ajoyib boshlanishdir.

Lego WeDo biznikida ishlatiladigan robototexnika krujkalarini topishingiz mumkin.

LEGO Education WeDo 2.0

Yangilangan. 4.12.2017: LEGO Education 2016 yil boshida yangi versiya bolalar uchun WeDo 2.0 o'quv robototexnika to'plami (45300-modda).

Qism asosiy to'plam Lego WeDo 2.0 kaliti, burilish va harakat sensorlari, dvigatelning yangi versiyalarini o'z ichiga oladi. Afsuski, yangi qurilish to'plami Lego WeDo dvigatellari va sensorlarining oldingi versiyasiga mos kelmaydi, chunki uning mikroprotsessori (Smarthub) har xil ulanish ulagichlariga ega. WeDo 2.0 SmartHub kompyuter yoki planshetga Bluetooth 4.0 orqali ulanadi.

Ta'lim robotida Lego-ga alternativa bormi?

Bugungi kunda Lego platformasi ta'lim robototexnika sohasida so'zsiz etakchi hisoblanadi. Lego Mindstorms to'plamlari dunyoning ko'plab mamlakatlarida robototexnika krujkalarida qo'llaniladi. Lego Mindstorms Rossiyada ham etakchi o'rinlarni egallab turibdi.

Ushbu etakchilikning sabablari nimada? Ularning bir nechtasi bor.

Birinchidan, bu shubhasiz platformaning sifati, uni tayyorlash, ikkinchi tomondan, dizayn qobiliyatlari. Ushbu konstruktor nafaqat o'yinchoq robotlarini, balki, masalan, va hokazo kabi jiddiy tuzilmalarning prototiplarini yaratish uchun ishlatilishi mumkin. Bundan tashqari, bolalar bularning barchasini ixtiro qilishi va amalga oshirishi mumkin. Va siz Mindstorms-dan robot ham qilishingiz mumkin!

Rover roboti Qozon shahrida bo'lib o'tgan WRO-2014da

Funktsional alternativalar bormi? Umuman olganda, ha. Bu, masalan, koreys, nemis, ichki TRICK va boshqalar. Ro'yxatdagi platformalar Lego narxiga o'xshash. Bundan ham qimmatroq konstruktorlar mavjud.

Ikkinchidan, bu Lego-ga asoslangan kuchli Olimpiada robototexnika harakati. Jahon miqyosidagi tanlovlar, shuningdek, ko'plab mintaqaviy tadbirlar va festivallar o'zlarining qoidalarida Lego-dan foydalanishni talab qiladi.

Alternativ Lego ishlab chiqaruvchilari ham o'zlarining platformalari asosida musobaqalarni targ'ib qilmoqdalar, chunki yoshlar robototexnika tanlovi butunlay HUNA g'ishtlariga asoslangan. Ko'p platformali musobaqalar ham ommaviylashmoqda. Rossiyada bu va faqat e'lon qilingan ICaR.

Uchinchidan, Lego Mindstorms uzluksizligi. Yuqorida tavsiflashdan oldin Biz bajaramiz, keyin - TETRIX va MATRIX.Oxirgi ikkitasi NXT va EV3 tekshirgichlaridan foydalanadi, ammo sezilarli mexanik va tizimli kengayishni taklif qiladi. Zamonaviy bolalar Lego bilan bir yoshga to'lgunga qadar tanishishini hisobga olsak, u bilan ishlashni davom ettirish tabiiy va osonroq ko'rinadi.

To'rtinchidan, Lego-ning mashhur bo'lishida vaqt omili ham rol o'ynaydi - bu shunchaki bu sohada birinchi bo'lib bozorni zabt etdi. Ichida tashkil etilgan jamoalar mavjud turli mamlakatlar, ko'plab o'zgarishlar mavjud, ta'limda foydalanishda muhim tajriba mavjud.

Asosiy Lego Mindstorms EV3 bloklari Java dasturlarini ishga tushirishga imkon beruvchi leJOS proshivkalari bilan ishlashi mumkin. Oracle bu uchun to'liq Java SE-ning alohida versiyasini chiqardi va saqlab qo'ydi.

Oddiy JVM menga dasturga kiritilgan Java Management Extensions (JMX) protokolidan foydalanishga imkon berdi masofaviy boshqarish robot manipulyatori. AggreGate platformasida yaratilgan mnemonik sxema robotga o'rnatilgan IP-kameralardan boshqarish elementlari, datchik ko'rsatkichlari va rasmlarni birlashtirish uchun ishlatiladi.


Robotning o'zi ikkita asosiy qismdan iborat: shassi va manipulyator qo'li. Ular ikkita mustaqil EV3 kompyuterlari tomonidan boshqariladi va barcha muvofiqlashtirish boshqaruv serveri orqali amalga oshiriladi. Kompyuterlar o'rtasida to'g'ridan-to'g'ri aloqa mavjud emas.

Ikkala kompyuter ham NETGEAR WNA1100 Wi-Fi adapterlari orqali xonaning IP-tarmog'iga ulangan. Robot sakkizta Mindstorms dvigatellari tomonidan boshqariladi - ulardan 4 tasi "katta" va 4 tasi "kichik". Orqaga qaytishda to'siqni avtomatik ravishda to'xtatish uchun infraqizil va ultratovushli datchiklar, to'siq tufayli manipulyator aylanishini to'xtatish uchun ikkita sensorli datchik va elkaning holatini ingl.

Shassi ikkita dvigatelga ega, ularning har biri quvvatni bir juft kuzatilgan diskka uzatadi. Boshqa vosita butun qo'lni 360 daraja aylantiradi.

Manipulyatorning o'zida ikkita dvigatel "elkasini" va "bilagini" ko'tarish va tushirish uchun javobgardir. Yana uchta dvigatel qo'lni ko'tarish / tushirish, uni 360 daraja aylantirish va "barmoqlar" ni siqish / ochish bilan shug'ullanadi.

Eng qiyin mexanik birlik - bu "cho'tka". Uchta og'ir dvigatelni tirsak sohasiga o'tkazish zarurati tufayli dizayn juda hiyla-nayrang bo'lib chiqdi.

Umuman olganda, hamma narsa shunga o'xshash (o'lchov uchun gugurt qutisi deyarli topilmadi):

Rasmni uzatish uchun ikkita kamera o'rnatilgan:

  • Umumiy ko'rish uchun o'rnatilgan IP-veb-kamerasi ilovasi bo'lgan oddiy Android smartfoni (fotosuratda HTC One)
  • To'g'ridan-to'g'ri manipulyatorning "bilagiga" o'rnatilgan va murakkab shakldagi narsalarni ushlashga yordam beradigan avtonom Wi-Fi AI-Ball mikrokamerasi.

EV3 dasturlash

Robotning o'zi imkon qadar sodda bo'lib chiqdi. Ikki kompyuterning dasturlari juda o'xshash, ular JMX serverini ishga tushiradi, dvigatellar va sensorlarga mos keladigan MBlarni ro'yxatdan o'tkazadi va JMX ishlarini kutib uxlaydi.

Manipulyator qo'lining asosiy dasturiy ta'minot sinflarining kodi

public class Arm (public static void main (String args) (try (EV3Helper.printOnLCD ("Starting ..."); EV3Helper.startJMXServer ("192.168.1.8", 9000); MBeanServer mbs \u003d ManagementFactory.getPlatformMBeanServer (); EVM3L); motor \u003d yangi EV3LargeRegulatedMotor (BrickFinder.getDefault (). getPort ("A")); LargeMotorMXBean m \u003d yangi LargeMotorController (motor); ObjectName n \u003d yangi ObjectName ("robot: name \u003d MotorA"); mbs.registerMBean (m, n //; Bu erda boshqa motorlarni ro'yxatdan o'tkazish EV3TouchSensor touchSensor \u003d yangi EV3TouchSensor (SensorPort.S1); TouchSensorMXBean tos \u003d yangi TouchSensorController (touchSensor); n \u003d yangi ObjectName ("robot: name \u003d Sensor1"); mbs.registerMBean ( ; // Boshqa sensorlarni bu erda ro'yxatdan o'tkazish EV3Helper.printOnLCD ("Running"); Sound.beepSequenceUp (); Thread.sleep (Integer.MAX_VALUE);) catch (Throwable e) (e.printStackTrace ();))) EV3Helper jamoat klassi (statik bekor startJMXServer (String manzili, int port) (MBeanServer server \u003d ManagementFactory.getPlatf ormMBeanServer (); harakat qilib ko'ring (java.rmi.registry.LocateRegistry.createRegistry (port); JMXServiceURL url \u003d yangi JMXServiceURL ("service: jmx: rmi: /// jndi / rmi: //" + address + ":" + String.valueOf (port) + "/ server"); Xarita rekvizitlar \u003d yangi HashMap (); props.put ("com.sun.management.jmxremote.authenticate", "false"); props.put ("com.sun.management.jmxremote.ssl", "false"); JMXConnectorServer connectorServer \u003d JMXConnectorServerFactory.newJMXConnectorServer (url, rekvizit, server); connectorServer.start (); ) catch (Exception e) (e.printStackTrace ();)) statik bo'shliq printOnLCD (String s) (LCD.clear (); LCD.drawString (s, 0, 4);))

Sensor va dvigatelning har bir turi uchun barcha qo'ng'iroqlarni to'g'ridan-to'g'ri leJOS API sinfiga topshiradigan MBean interfeysi va dastur klassi yaratildi.

Namuna interfeysi kodi

jamoat interfeysi LargeMotorMXBean (public mavhum oldinga (); public mavhum suspendRegulation (); public mavhum int getTachoCount (); public mavhum float getPosition (); public mavhum void flt (); public mavhum bo'shliq flt (boolean dərhalReturn); jamoat mavhum) void stop (boolean dərhalReturn); ommaviy mavhum isMoving (); ommaviy mavhum void waitComplete (); ommaviy mavhum void rotateTo (int limitAngle, boolean dərhalReturn); umumiy mavhum bo'shliq setAcceleration (int acceleration); public mavhum int getAcceleration (); public mavhum int getLimitAngle (); public abstrakt void resetTachoCount (); public abstrakt bo'shliq rotate (int angle, boolean dərhalReturn); jamoat mavhum bo'shliq rotate (int angle); public mavhum bo'shliq rotateTo (int limitAngle); public mavhum boolean isStalled (); ommaviy mavhum bo'shlik setStallThreshold (int xato, int vaqt); ommaviy mavhum int getRotationSpeed \u200b\u200b(); ommaviy mavhum float getMaxSpeed \u200b\u200b(); ommaviy mavhum bekor orqaga (); ommaviy mavhum bo'sh joy to'xtatish (); ommaviy mavhum int getSpeed \u200b\u200b(); ommaviy mavhum bo'shlik setSpeed \u200b\u200b(int tezlik); )

MBean dasturining namunaviy kodi "a

jamoat klassi LargeMotorController LargeMotorMXBean (oxirgi EV3LargeRegulatedMotor motorini; public LargeMotorController (EV3LargeRegulatedMotor motor) (this.motor \u003d motor;) @Override public void old () (motor.forward ();) @Override public boolean suspend motorR suspendRegulation ();) @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 dərhalReturn) (motor.flt (dərhalReturn);) // Shu kabi vakolat berish usullari o'tkazib yuborilgan)

G'alati, dasturlash shu erda tugadi. Server tomonida va operatorning ish stantsiyasida bitta kod satri yozilmagan.

Server ulanishi

Robot to'g'ridan-to'g'ri AggreGate IoT platforma serveri tomonidan boshqariladi. O'rnatilgan bepul versiya AggreGate Network Manager mahsuloti JMX protokoli drayverini o'z ichiga oladi va o'nga qadar JMX xostlarini ulashga imkon beradi. EV3 g'ishtlari uchun ikkitadan ulashimiz kerak.

Avvalo, sozlamalarda JMX serverini ishga tushirishda ko'rsatilgan URL manzilini ko'rsatib, JMX qurilmasi hisobini yaratishingiz kerak:

JMX qurilmasiga ulanish xususiyatlari


Shundan so'ng biz qurilma profiliga qo'shiladigan aktivlarni tanlaymiz (ya'ni bu holda MBlar):

MB-ni tanlash


Va bir necha soniyadan so'ng biz so'ralgan barcha MBean xususiyatlarining joriy qiymatlarini ko'rib chiqamiz va o'zgartiramiz:

Qurilmaning oniy tasviri


Bundan tashqari, MBeans-ning old () va stop () kabi usullarini qo'lda chaqirib, turli operatsiyalarni sinab ko'rishingiz mumkin.

Amaliyotlar ro'yxati


Keyinchalik, datchiklar uchun ovoz berish davrlarini o'rnatdik. Boshqarish serveri joylashganligi sababli ovoz berishning yuqori darajasi (sekundiga 100 marta) ishlatiladi mahalliy tarmoq robot bilan birgalikda va bu to'siqqa duch kelganda aylanishni to'xtatish to'g'risida qaror qabul qiluvchi va boshqalar. Ushbu yechim, albatta, sanoat emas, balki bir xonadon ichida yaxshi ishlaydigan Wi-Fi tarmog'ida u etarli darajada o'zini ko'rsatdi.

Ovoz berish davrlari


Operator interfeysi

Endi operator interfeysini yaratishga o'tamiz. Buning uchun avval yangi vidjet yarating va unga kerakli komponentlarni qo'shing. Oxirgi ishchi versiyada quyidagicha ko'rinadi:

Darhaqiqat, butun interfeys turli xil kataklarga joylashtirilgan tugmachalar, slayderlar va ko'rsatkichlarga ega bo'lgan bir nechta panellardan va kameralardan tasvirlarni uzatadigan ikkita katta video pleerdan iborat.

Interfeys muharriri ichida

Barcha shakl:

Ko'rsatilgan konteyner panellari bilan ko'rish:


Endi, jarayonni boshqarish tizimlari aytganidek, "mnemonik sxemani qayta tiklash" qoladi. Buning uchun, deb nomlangan bog'lash grafik interfeys komponentlarini server ob'ektlarining xususiyatlari va usullari bilan bog'lash xususiyatlari va usullari. EV3 kompyuterlari allaqachon serverga ulanganligi sababli, server ob'ektlari bizning robotimizning MB-lari ham bo'lishi mumkin.

Butun operator interfeysi taxminan 120 ta bog'lanishni o'z ichiga oladi, ularning aksariyati bir xil:

Xuddi shu turdagi bog'lanishlarning yarmi mnemonik diagrammada joylashgan tugmachalarni bosish orqali boshqarishni amalga oshiradi. Bu chiroyli, sinov uchun qulay, ammo robotning haqiqiy harakati va yuklarni harakatga keltirishi uchun umuman yaroqsiz. Ushbu guruhni bog'lash hodisalar tomonidan qo'zg'atiladi sichqoncha bosildi va sichqoncha qo'yib yuborildi turli tugmalar.

Bog'lanishlarning ikkinchi yarmi avval klaviatura nazorati tugmachasini bosib, klaviaturadan robotni boshqarishga imkon beradi. Ushbu bog'lanishlar voqealarga munosabat bildiradi keyPressed va keyReleasedva har bir bog'lash sharti bilan tugmachaning qaysi kodiga javob berish kerakligi aniqlanadi.

Qo'ng'iroq qilishning barcha ulanish usullari oldinga (), orqaga () va to'xta () Turli xil MB-lar. Hodisalar asenkron tarzda amalga oshirilganligi sababli, funktsiya chaqirishi muhimdir oldinga ()/orqaga () va keyingi qo'ng'iroqlar to'xta () aralashmagan. Buning uchun bitta MBean usullarini chaqiruvchi birikmalar bir xil navbatga qo'shiladi.

Ikki alohida bog'lovchi guruh motorlarning dastlabki tezligini va tezlanishini o'rnatadi (endi bu model yordamida server tomonida amalga oshiriladi, shuning uchun bu ulanishlar o'chirib qo'yilgan) va Speed \u200b\u200band Acceleration slayderlarini harakatga keltirganda tezlikni / tezlashtirishni o'zgartiradi.

Maqolada robotning prototipini yaratish uchun Lego Mindstorms EV3 konstruktoridan foydalanish tajribasi tasvirlangan, keyinchalik Robot Control Meta Language (RCML) yordamida dasturiy va qo'lda boshqariladi.

  • Lego Mindstorms EV3 asosida prototip robotni yig'ish
  • Windows uchun RCML-ni tezkor o'rnatish va sozlash
  • EV3 tekshiruvi asosida dasturlashtirilgan robot boshqaruvi
  • Klaviatura va geympad yordamida robot tashqi qurilmalarini qo'lda boshqarish
Bir oz oldinga yugurib, Lego robotini klaviatura yordamida boshqarish uchun dastur kodini faqat 3 qatoridan iborat dastur yaratishingiz kerakligini qo'shimcha qilaman. Buni qanday amalga oshirish haqida ko'proq ma'lumot kesilgan ostida yozilgan.

1. Dastlab Lego Mindstorms EV3 to'plamidan prototip robot yaratildi, u dasturlash va qo'lda boshqarish uchun ishlatiladi.

Robot prototipining tavsifi

Robot dizayni shassiga o'xshash dizaynga ega. Kadrga o'rnatilgan ikkita dvigatel bitta umumiy aylanish o'qiga ega, u orqa g'ildiraklarga uzatmalar qutisi orqali ulanadi. Vites qutisi orqa aksning burchak tezligini oshirib, momentni o'zgartiradi. Rulda konusli uzatmalar qutisi asosida yig'iladi.



2. Keyingi qadam - RCML ni ishlashga tayyorlash lego EV3 bo'ronlari.

Arxivlarni bajariladigan fayllar va kutubxona fayllari bilan yuklab olishingiz kerak va.

Yuklangan arxivlar o'zboshimchalik bilan nomlangan katalogga ko'chirilishi kerak, ammo siz buni qilishingiz kerak oldini olish Sarlavhadagi ruscha harflar.

Arxivlarni paketdan chiqargandan so'ng katalog tarkibi



Keyin bir xil katalogda joylashgan config.ini konfiguratsiya faylini yaratishingiz kerak. EV3 Controller-ni klaviatura va geympad yordamida boshqarish uchun lego_ev3, klaviatura va geympad modullari ulangan bo'lishi kerak.

RCML uchun config.ini konfiguratsiya fayli ro'yxati

Modul \u003d lego_ev3 moduli \u003d klaviatura moduli \u003d gamepad


Keyingi qadam EV3 tekshiruvi va adapterni juftlashtirishdir.

EV3 tekshiruvi va Bluetooth adapterini juftlashtirish bo'yicha ko'rsatmalar

Ko'rsatmada Lego Ev3 tekshiruvi va operatsion xonani boshqaradigan kompyuterni juftlashtirish misoli keltirilgan windows tizimlari 7.

1. Ev3 tekshiruvi sozlamalari bo'limiga, keyin "Bluetooth" menyusi bandiga o'ting.

2. Konfiguratsiya parametrlari to'g'ri o'rnatilganligiga ishonch hosil qiling. Belgilash katakchalari "Ko'rinish", "Bluetooth" elementlarining qarama-qarshi tomoniga o'rnatilishi kerak.

3. Siz "Boshqaruv paneli", keyin "Qurilmalar va printerlar", keyin "Bluetooth qurilmalari" ga o'tishingiz kerak.

4. "Qurilma qo'shish" tugmachasini bosish kerak. Mavjud Bluetooth qurilmalarini tanlash uchun oyna ochiladi.

5. "EV3" qurilmasini tanlang va "Keyingi" tugmasini bosing.

6. EV3 tekshiruvi Connect? Dialogini aks ettiradi. Siz katakchani tanlang va markaziy tugmani bosib tanlovingizni tasdiqlang.

7. So'ngra "PASSKEY" dialog oynasi ko'rsatiladi, kirish satrida "1234" raqamlari bo'lishi kerak, keyin siz pozitsiyadagi markaziy tugmachani tasdiq belgisi bilan bosib qurilmalarni juftlashtirish uchun kalit iborani tasdiqlashingiz kerak.

8. Qurilmalarni juftlashtirish ustasida qurilmalarni juftlashtirish uchun kalitni kiritish formasi paydo bo'ladi. Siz "1234" kodini kiritishingiz va "Keyingi" tugmachasini bosishingiz kerak.

10. Shaxsiy kompyuterda "Boshqarish paneli" ga, keyin "Qurilmalar va printerlar" ga, keyin "Bluetooth qurilmalari" ga qaytishingiz kerak. U bilan bog'langan qurilma mavjud qurilmalar ro'yxatida ko'rsatiladi.

11. "EV3" ulanish xususiyatlariga kirish uchun ikki marta bosing.

14. Xususiyatlarda ko'rsatilgan COM port indeksidan lego_ev3 modulining config.ini konfiguratsiya faylida foydalanish kerak. Misol Lego EV3 tekshirgichining Bluetooth xususiyatlarini standart COM14 ketma-ket portidan foydalangan holda ko'rsatadi.


Modulning keyingi konfiguratsiyasi Lego roboti bilan aloqa o'rnatiladigan MAQOMOTI portining manzilini lego_ev3 modulining konfiguratsiya faylida ro'yxatdan o'tkazish zarurligiga bog'liq.

Lego_ev3 moduli uchun config.ini konfiguratsiya fayli ro'yxati

Ulanish \u003d COM14 dynamic_connection \u003d 0


Endi klaviatura modulini sozlashingiz kerak. Modul control_modules katalogida, so'ngra klaviaturada joylashgan. Keyboard_module.dll yonida config.ini faylini yarating. Konfiguratsiya faylini yaratishdan oldin, tugmachalarni bosib qanday amallarni bajarish kerakligini aniqlash kerak.

Klaviatura moduli ma'lum raqamli kodga ega bo'lgan tugmachalardan foydalanishga imkon beradi. Virtual kalit kodlari jadvalini ko'rish mumkin.

Misol tariqasida men quyidagi tugmachalarni ishlataman:

  • Yuqoriga / pastga o'qlar orqa g'ildirak motorini oldinga / orqaga burish uchun ishlatiladi.
  • Chapga / o'ngga o'qlar g'ildiraklarni chapga / o'ngga buradi
Klaviatura modulining konfiguratsiya fayli dasturchining qo'lida boshqarish rejimida robot bilan o'zaro aloqada bo'lish uchun qaysi o'qlari mavjudligini tavsiflaydi. Shunday qilib, misolda biz ikkita nazorat guruhiga egamiz - bu klaviatura o'qlari. Yangi o'qni qo'shish uchun siz o'qlarni tavsiflash uchun quyidagi qoidalarga rioya qilishingiz kerak.

Klaviatura moduli uchun o'qni tavsiflash qoidalari

1. Yangi o'qni qo'shganda, bu bo'limda kerak nomi o'qi nomi bo'lgan xususiyatni qo'shing va unga klaviatura tugmachasining qiymatini bering HEX format, shu bilan birga har bir tugma uchun shunga o'xshash yozuv kiritiladi, ya'ni. eksa nomi bir necha marta ishlatilishi mumkin. Umuman olganda, bo'limga yozish quyidagicha ko'rinadi:

Axis_name \u003d keyboard_button_value_in_HEX_format
2. Ushbu eksa bo'ylab chizish mumkin bo'lgan maksimal va minimal qiymatni belgilash kerak. Buning uchun kerak yangi qator konfiguratsiya faylida bo'lim qo'shing config.ini, eksa nomi bilan bir xil nom bilan va xususiyatlarini o'rnating yuqori_qiymat va pastki_valu, bu mos ravishda o'qning maksimal va minimal qiymatlariga mos keladi. Umuman olganda, ushbu bo'lim quyidagicha ko'rinadi:

[axis_name] upper_value \u003d max_axis_value lower_value \u003d min_axis_value
3. Keyinchalik, agar siz ilgari klaviaturada unga biriktirilgan tugmani bosgan bo'lsangiz, o'qning qanday qiymatga ega bo'lishini aniqlashingiz kerak. Qadriyatlar o'qi nomidan va ichidagi klaviatura tugmachasining qiymatidan iborat bo'lgan bo'lim yaratish orqali aniqlanadi HEX pastki chiziq bilan ajratilgan format. Xususiyatlar standart (bosilmagan) va bosilgan holatni o'rnatish uchun ishlatiladi. unpressed_value va pressed_value navbati bilan, unga qiymatlar o'tkaziladi. Bu holda bo'limning umumiy ko'rinishi quyidagicha:

[axis-name_value-keyboard-button] pressed_value \u003d axis_value_when_key bosilgan unpressed_value \u003d axis_value_when_pressed_key
Ko'rishni osonlashtirish uchun spoiler matni RCML hujjatlaridan ko'chirildi.


Robot prototipini boshqarishni amalga oshirish uchun klaviatura moduli uchun o'tish va aylantirish o'qlarini o'z ichiga olgan konfiguratsiya fayli yaratildi. O'tish o'qi robotning harakat yo'nalishini belgilash uchun ishlatiladi. Yuqoriga o'q tugmachasini bosish o'qni 100 ga, pastga o'q tugmachasini bosish bilan o'qni -50 ga o'rnatadi. Qaytish o'qi oldingi g'ildiraklarning boshqarish burchagini o'rnatish uchun ishlatiladi. Chap o'q tugmachasini bosish o'qni -5 ga, o'ng o'q tugmachasini bosish bilan o'qni 5 ga o'rnatadi.

Klaviatura moduli uchun config.ini konfiguratsiya fayli ro'yxati

; Majburiy qism; axis_name \u003d key_code (HEX formatida); O'tish o'qi qiymatlarni yuqoriga_tarmoqdan oladi \u003d 0x26; O'tish o'qi qiymatlarni pastga_arrowdan oladi \u003d 0x28; Aylanadigan eksa chapdan \u003d 0x25 dan qiymatlarni oladi; aylanuvchi o'q o'ngdagi o'qdan qiymatlarni oladi \u003d 0x27; o'tish o'qining tavsifi har doim ikkala tugmachaga ega bo'lishi kerak; o'tish o'qi qiymatlarining yuqori chegarasi yuqori_value \u003d -100; o'tish o'qi qiymatlarining pastki chegarasi pastki_value \u003d 100; aylanish o'qining tavsifi har doim ikkala kalitlarga ham ega bo'lishi kerak; o'qning qiymatlarining yuqori chegarasi yuqori_value \u003d 100; aylantirish o'qi qiymatlarining pastki chegarasi lower_value \u003d 100; * up_arrow * (0x26) tugmachasi uchun borish o'qining xatti-harakatining tavsifi; * yuqoriga o'q * tugmachasini bosganda o'q qiymatini 50 pressed_value \u003d 100 qilib qo'ying; * yuqoriga o'qni * qo'yib, o'q qiymatini 0 ga qo'ying unpressed_value \u003d 0; * pastga_arrow * (0x28) tugmachasi uchun o'tish o'qi harakatining tavsifi; * pastga_arrow * tugmachasini bosganda o'qi qiymatini -50 pressed_value \u003d -50 ga qo'ying; * pastga_arrow * tugmachasini qo'yib, eksa qiymatini 0 unpressed_value \u003d 0 ga qo'ying; * chap_arrow * (0x25) tugmachasi uchun aylanish o'qining tavsifi; * chap_arrow * tugmachasini bosganingizda o'q qiymatini -5 pressed_value \u003d -5 ga qo'ying; tugma qo'yilganda * left_arrow * eksa qiymatini 0 unpressed_value \u003d 0 ga o'rnating; * right_arrow * tugmachasi uchun aylanish o'qi tavsifining tavsifi (0x27); tugmachani bosganingizda * o'ng_arrow * o'qi qiymatini 5 pressed_value \u003d 5 ga qo'ying; * o'ng_arrow * tugmachasini qo'yganingizda o'q qiymatini 0 unpressed_value \u003d ga qo'ying 0


Bundan tashqari, gamepad yordamida boshqaruvni amalga oshirish uchun gamepad modulini sozlashingiz kerak. Modulni sozlash gamepad_module.dll yonida config_ini konfiguratsiya faylini yaratishni o'z ichiga oladi, control_modules katalogida joylashgan, keyin esa gamepad.

Geympad bilan o'zaro ishlash uchun universal modul konfiguratsiya fayli

; Ishlatilgan o'qlarni tavsiflovchi majburiy bo'lim; Qo'l bilan boshqarish rejimini tugatish uchun eksa Exit \u003d 9; Gamepad tugmalariga mos keladigan 11 ikkilik o'qi B1 \u003d 1 B2 \u003d 2 B3 \u003d 3 B4 \u003d 4 L1 \u003d 7 L2 \u003d 5 R1 \u003d 8 R2 \u003d 6 start \u003d 10 T1 \u003d 11 T2 \u003d 12; 4 tayoq o'qi; O'ng tayoq yuqoriga / pastga harakatlanish RTUD \u003d 13; O'ng tayoq chapga / o'ngga harakat RTLR \u003d 16; Chap tayoq yuqoriga / pastga harakatlanish LTUD \u003d 15; Chap tayoq chapga / o'ngga harakat LTLR \u003d 14; Xochning 2 o'qi; Xochning yuqoriga / pastga o'qlarining harakatiUD \u003d 17; Xochning chapga / o'ngga strelkalarga harakatiLR \u003d 18; B1 o'qi xatti-harakatining tavsifi; B1 tugmachasi bosilganda o'q qiymatini 1 yuqori_value \u003d 1 ga o'rnating; B1 tugmachasi qo'yilganda o'q qiymatini 0 pastki_qiymatga qo'ying \u003d 0 yuqori_ qiymat \u003d 1 pastki_value \u003d 0 yuqori_value \u003d 1 pastki_value \u003d 0 yuqori_value \u003d 1 pastki_value \u003d 0 yuqori_value \u003d 1 pastki_value \u003d 0 yuqori_value \u003d 1 pastki_value \u003d 0 yuqori_value \u003d 1 pastki_ qiymat \u003d 0 yuqori_value \u003d 1 pastki_value \u003d 0 yuqori_ qiymat \u003d 1 pastki qiymat yuqori_value \u003d 1 pastki_value \u003d 0 yuqori_value \u003d 1 pastki_value \u003d 0; o'ng tayoq o'qining harakatini tavsiflash yuqoriga / pastga harakatlanish; maksimal mumkin bo'lgan yuqori holatga o'tishda o'q o'qi qiymati \u003d 0; maksimal mumkin bo'lgan pastki holatga o'tishda o'q qiymati \u003d 65535 yuqori_value \u003d 0 pastki_ qiymat \u003d 65535 yuqori qiymat \u003d 0 pastki qiymat \u003d 65535 yuqori qiymat \u003d 0 pastki qiymat \u003d 65535; harakatlanish o'zaro faoliyat o'qi xatti-harakatining tavsifi yuqoriga / pastga; yuqoriga o'qni bosganda eksa qiymati yuqori_value \u003d 1; pastga o'qni bosganda o'qning qiymatini pastki_value \u003d -1 yuqori_value \u003d 1 pastki_value \u003d -1


Geympad modulining o'ziga xos xususiyatlari haqida ko'proq ma'lumotni RCML ma'lumotnomasiga qarang.

3. Keyingi qadam RCML da dastur yozishdir.

Yaratilgan katalogning ildizida siz dastur fayli yaratishingiz kerak. Dastur faylining nomi va uning kengaytmasi har qanday narsa bo'lishi mumkin, ammo siz nomdagi ruscha harflardan qochishingiz kerak. Masalan, fayl nomi hello.rcml.

Lego_ev3 moduli uchun dastur kodi robotning ortiqcha bo'lishi keyingi ko'rinish:

@tr \u003d robot_lego_ev3;

Lego_ev3 modulining ulanish sahifasi tekshirgich tomonidan qo'llab-quvvatlanadigan aksariyat funktsiyalarni tavsiflaydi. Sinov sifatida robotni skidga avtomatik kiritish uchun dastur yaratildi.

Dastur algoritmi quyidagicha:

Birinchi bepul robot zaxiraga olinganidan so'ng, ular bilan keyingi ishlash uchun ikkita motor ulanadi. Keyin robot siljiy boshlaydi. Robot harakatlarining dasturiy tavsifi oldingi g'ildiraklarning burilish burchaklarini va orqa g'ildiraklarning aylanish tezligini aniq belgilashga imkon beradi. Ushbu texnikadan foydalanish klaviatura yoki geympad yordamida qo'lda boshqarishda takrorlash qiyin bo'lgan natijalarga erishishga imkon beradi.

Lego roboti uchun dasturni RCML tilida ro'yxati

function main () (@tr \u003d robot_lego_ev3; // Robotni zaxiralash @ tr-\u003e setTrackVehicle ("B", "C", 0,0); // Dvigatel vaqtini belgilang @ tr-\u003e motorMoveTo ("D", 100, 0,0); system.sleep (500); @ tr-\u003e trackVehicleForward (-100); system.sleep (1000); @ tr-\u003e motorMoveTo ("D", 50, -50,0); system.sleep (4000); @ tr-\u003e motorMoveTo ("D", 50,50,0); system.sleep (4000); @ tr-\u003e trackVehicleOff (); system.sleep (1000);)


Dasturni kompilyatsiya qilish uchun oynaning buyruq satridan foydalanish kerak. Birinchidan, rcml_compiler.exe va rcml_intepreter.exe bajariladigan fayllari bilan yaratilgan katalogga o'tishingiz kerak. Keyin, quyidagi buyruqlarni kiritishingiz kerak.

Hello.rcml faylini kompilyatsiya qilish uchun buyruq:

Rcml_compiler.exe salom.rcml salom.rcml.pc
Kompilyatsiya natijasida yaratilgan katalogda paydo bo'ladi yangi fayl salom.rcml.pc.

Muvaffaqiyatli kompilyatsiya qilinganidan keyin buyruq satrining skrinshoti



Endi EV3 tekshiruvi yoqilganligini va Bluetooth adapteri bilan bog'langanligini tekshiring. Geympad kompyuterga ulangan bo'lishi kerak. Shundan so'ng, dastur faylini bajarish uchun buyruqni bajarishingiz kerak:

Rcml_intepreter.exe salom.rcml

Tashqi ko'rinish buyruq satri dasturni bajarish paytida



Robot harakati dasturini namoyish qiluvchi video maqolaning pastki qismida joylashgan.

4. Keyingi qadam robotni klaviatura yordamida qo'lda rejimda boshqarishdir.

Klaviatura yordamida har qanday robot motorini boshqarish mumkin. Misolning bir qismi sifatida quyidagi mexanizmlarni boshqarish amalga oshiriladi:

  • Old g'ildiraklarning boshqarish burchagi
  • Orqa g'ildiraklarning aylanish yo'nalishi

EV3 tekshiruvi asosida klaviatura va Lego robotining o'zaro ta'sir dasturining ro'yxati

function main () (@tr \u003d robot_lego_ev3; // Robotni bron qilish @ tr-\u003e setTrackVehicle ("B", "C", 0,0); // Dvigatelning vaqtini belgilash tizimi.hand_control (@tr, "klaviatura", " to'g'ri "," borish "," speedMotorD "," aylantirish ");)


Keyingi qadam dasturni kompilyatsiya qilish va uni bajarishdir. Lego robotini klaviatura yordamida qo'lda boshqarish natijasi sahifaning pastki qismidagi videoda ko'rsatilgan.

5. Klaviaturadan tashqari, gamepad yordamida robot bilan manipulyatsiya qilishga imkon beradigan geympad moduli mavjud. Geympad yordamida robotni boshqarishni amalga oshirish uchun dastur darajasida robotning qaysi o'qlari gamepad o'qlari qiymatlarini qabul qilishini tasvirlash kerak.

Geympad va Lego roboti o'rtasidagi o'zaro ta'sir dasturining ro'yxati

function main () (@tr \u003d robot_lego_ev3; // Robotni zaxiralash @ tr-\u003e setTrackVehicle ("B", "C", 0,0); // Dvigatelning vaqtini belgilash tizimi.hand_control (@tr, "gamepad", " to'g'ri "," RTUD "," speedMotorD "," RTLR ");)


Keyin dasturni kompilyatsiya qilish jarayonini takrorlashingiz va keyin uni bajarishingiz kerak. Quyida Lego robotini geympad yordamida qo'lda boshqarish natijasi va ilgari ulangan barcha usullar ko'rsatilgan:

Ushbu maqola qisqacha RCML ning bir nechta imkoniyatlarini namoyish etadi. Eng batafsil tavsifni ma'lumotnomada topish mumkin.

Teglar:

  • lego mindstorms
  • robototexnika
  • dasturlash
Teglar qo'shing
Maqola sizga yoqdimi? Do'stlar bilan bo'lishish uchun: