Beynəlxalq Robot Müsabiqəsi - Qaydalar - Nümunə Robotlar - Lego EV3 Trajectory Robot. Lego EV3. Qara xətt hərəkəti ev3-də sükan ilə xətt hərəkəti

15.01.2012, 18:51

İndiyə qədər bir xətt boyunca hərəkət edərkən istifadə olunan alqoritmlər haqqında məqalələrdə belə bir üsul işıq sensoru, sanki, onun sol və ya sağ sərhədini izlədikdə nəzərdən keçirilirdi: robot sahənin ağ hissəsinə keçən kimi, nəzarətçi robotu sərhədə qaytardı, sensor qara xətlərin içərisinə doğru hərəkət etməyə başladı - tənzimləyici onu geri düzəltdi.
Yuxarıdakı şəklin rele nəzarətçisi üçün olmasına baxmayaraq, mütənasib (P-tənzimləyici) hərəkətinin ümumi prinsipi eyni olacaqdır. Artıq qeyd edildiyi kimi, belə bir hərəkətin orta sürəti çox yüksək deyil və alqoritmi bir qədər çətinləşdirərək onu artırmaq üçün bir neçə cəhd edildi: bir halda "yumşaq" əyləc istifadə edildi, digərində növbələrə əlavə olaraq, irəliyə doğru hərəkət tətbiq olundu.
Robotun bəzi sahələrdə irəliləməsinə imkan vermək üçün işıq sensoru tərəfindən istehsal olunan dəyərlər diapazonunda şərti olaraq "sensor xəttin sərhədindədir" adlandırıla bilən dar bir bölmə ayrıldı.
Bu yanaşmanın kiçik bir çatışmazlığı var - əgər robot xəttin sol sərhədini "arxalayırsa", onda sağa dönərkən o, trayektoriyanın əyriliyini dərhal müəyyən etmir və nəticədə xəttin axtarışına daha çox vaxt sərf edir. və fırlanma. Üstəlik, əminliklə söyləmək olar ki, dönüş nə qədər dik olarsa, bu axtarış bir o qədər uzun çəkir.
Aşağıdakı rəqəm göstərir ki, əgər sensor sərhədin sol tərəfində deyil, sağ tərəfində yerləşsəydi, o, artıq trayektoriyanın əyriliyini aşkar etmiş və dönmə manevrləri etməyə başlayacaqdı.

Buna görə də, robotu eyni anda xəttin əks tərəflərində yerləşən və müvafiq olaraq robotun hərəkət istiqamətinin dəyişməsinə daha tez reaksiya verməsinə kömək edəcək iki sensorla təchiz etmək yaxşı bir fikirdir.
İndi belə bir dizayn dəyişikliyinin proqrama necə təsir edəcəyini müəyyən etmək lazımdır. Sadəlik üçün yenidən ən sadə rele nəzarətçisindən başlamalıyıq və buna görə də, ilk növbədə, sensorların xəttə nisbətən mümkün mövqeləri ilə maraqlanırıq:

Əslində, daha bir məqbul vəziyyəti qeyd etmək olar - çətin marşrutlarda bu, bir kəsişmənin kəsişməsi və ya yolda bir növ qalınlaşma olacaqdır.
Sensorların digər mövqeləri nəzərə alınmayacaq, çünki onlar ya yuxarıda göstərilənlərdən götürülüb, ya da robotun xəttdən çıxdığı zamankı mövqeləridir və sensorlardan alınan məlumatlardan istifadə edərək artıq ona qayıda bilməyəcəklər. Nəticədə, yuxarıda göstərilən müddəaların hamısı aşağıdakı təsnifata endirilə bilər:
  • sol sensor, eləcə də sağ, işıq səthinin üstündədir
  • işıq səthinin üstündə sol sensor, qaranlığın üstündə sağ sensor
  • qaranlıq səthin üstündə sol sensor, işığın üstündə sağ sensor
  • hər iki sensor qaranlıq səthin üstündədir
Müəyyən bir zamanda robotdakı proqram bu mövqelərdən birini aşkar edərsə, o, buna uyğun reaksiya verməlidir:
    Hər iki sensor ağ səthin üstündədirsə, bu, xəttin sensorlar arasında olduğu normal bir vəziyyətdir, ona görə də robot düz getməlidir.Sol sensor hələ də işıq səthinin üstündədirsə və sağ sensor artıq səthin üstündədirsə. qaranlıq olanda, robot sağ tərəfini xəttin üzərinə sürdü, yəni o, sağa dönməlidir ki, xətt yenidən sensorlar arasında olsun.Əgər sol sensor qaranlıq səthin üstündədirsə, sağ tərəf isə hələ də yuxarıdadır yüngül olanda, robot hizalamaq üçün sola dönməlidir.Əgər hər iki sensor qaranlıq səthin üstündədirsə, o zaman ümumi halda robot yenidən düz getməyə davam edir.

Yuxarıdakı diaqram dərhal mühərriklərin davranışının proqramda tam olaraq necə dəyişməli olduğunu göstərir.İndi proqramı yazmaq çətin olmamalıdır.Siz ilk olaraq hansı sensorun sorğulanacağını seçməklə başlamalısınız. Bunun əslində əhəmiyyəti yoxdur, ona görə də qalsın. Onun açıq və ya qaranlıq bir səth üzərində olub olmadığını müəyyən etmək lazımdır:
Bu hərəkət hələ ki, robotun hansı istiqamətə getməli olduğunu söyləməyə imkan vermir. Lakin yuxarıda sadalanan dövlətləri iki qrupa ayıracaq: (I, II) yuxarı budaq üçün və (III, IV) aşağı. Qrupların hər birinin indi iki ştatı var, ona görə də siz onlardan birini seçməlisiniz. İlk iki I və II vəziyyətə yaxından baxsanız, onlar sağ sensorun mövqeyində fərqlənirlər - bir halda o, işıq səthinin üstündə, digərində - qaranlıqdan yuxarıdır. Hansı hərəkətin ediləcəyinin seçimini müəyyən edən budur:
İndi yuxarıdakı cədvəllərə uyğun olaraq mühərriklərin davranışını təyin edən bloklar daxil edə bilərsiniz: iç içə vəziyyətin yuxarı qolu "hər iki sensor işıqda", yuxarıdakı - "işıqda sol, qaranlıqda sağ" birləşməsini təyin edir:
Əsas şərtin aşağı qolu III və IV dövlətlərin digər qrupu üçün məsuliyyət daşıyır. Bu iki vəziyyət həm də düzgün sensorun seçdiyi işıqlandırma səviyyəsində bir-birindən fərqlənir. Beləliklə, onların hər birinin seçimini müəyyənləşdirəcək:
Yaranan iki budaq hərəkət blokları ilə doldurulur. Yuxarı budaq "qaranlıqda solda, sağda işıqda" vəziyyətindən məsuldur və aşağı budaq "qaranlıqda hər iki sensor" üçün cavabdehdir.
Qeyd etmək lazımdır ki, bu dizayn yalnız sahənin müəyyən bir yerindəki sensorların oxunuşlarından asılı olaraq mühərriklərin necə işə salınacağını müəyyənləşdirir, təbii olaraq, bir an sonra proqram oxunuşları düzəltmək üçün oxunuşların dəyişib-dəyişmədiyini yoxlamalıdır. müvafiq olaraq mühərriklərin davranışı və bir an sonra yenidən, yenidən və s. .d. Buna görə də, bu təkrar yoxlamanı təmin edəcək bir döngəyə yerləşdirilməlidir:

Belə kifayət qədər sadə bir proqram, I və IV vəziyyətlərdə hərəkət edərkən maksimum sürəti düzgün təyin etsəniz, həmçinin II və IV vəziyyətlərdə əyləcləmənin optimal üsulunu təyin etsəniz, robotun hüdudlarını aşmadan xətt boyunca hərəkət edən kifayət qədər yüksək sürəti təmin edəcəkdir. III - yolda dönmələr nə qədər dik olsa, əyləc bir o qədər "sərt" olmalıdır - sürət daha sürətli aşağı düşməlidir və əksinə - hamar dönmələrdə enerjini söndürməklə və ya hətta əyləc vasitəsilə əyləc tətbiq etmək olduqca mümkündür. sürətin bir qədər azalması.

Sensorların robota yerləşdirilməsi haqqında da bir neçə ayrı söz söyləmək lazımdır. Aydındır ki, eyni tövsiyələr bu iki sensorun təkərlərə nisbətən yerləşməsi üçün bir sensor üçün olduğu kimi tətbiq olunacaq, yalnız iki sensoru birləşdirən seqmentin ortası üçbucağın təpəsi kimi qəbul edilir. Sensorlar arasındakı məsafə də yolun xüsusiyyətlərindən seçilməlidir: sensorlar bir-birinə nə qədər yaxın yerləşərsə, robot bir o qədər tez-tez düzəldilir (nisbətən yavaş dönüşlər edir), lakin sensorlar kifayət qədər geniş məsafədə yerləşdirilirsə. , o zaman trasdan kənarda uçmaq riski var, ona görə də düzlərdə daha sıx dönmələr və daha yavaş hərəkət etməli olacaqsınız.



Robotun qara xətt boyunca rəvan hərəkət etməsi üçün ona hərəkət sürətini özü hesablamağa məcbur etmək lazımdır.

İnsan qara xətt və onun aydın sərhədini görür. İşıq sensoru bir az fərqli işləyir.

Hərəkət sürətini hesablamaq üçün istifadə edəcəyimiz işıq sensorunun bu xüsusiyyəti - ağ və qara sərhədi aydın ayırd edə bilməməsidir.

Əvvəlcə “trayektoriyanın ideal nöqtəsi” anlayışını təqdim edək.

İşıq sensorunun oxunuşları 20 ilə 80 arasında dəyişir, ən çox ağda, oxunuşlar təxminən 65, qarada, təxminən 40-dır.

İdeal nöqtə, təxminən ağ və qara rənglərin ortasındakı şərti nöqtədir, bunun ardınca robot qara xətt boyunca hərəkət edəcəkdir.

Burada nöqtənin yeri əsasdır - ağ və qara arasında. Riyazi səbəblərə görə onu tam olaraq ağ və ya qara rəngdə təyin etmək mümkün olmayacaq, niyə - sonra aydın olacaq.

Empirik olaraq, ideal nöqtənin aşağıdakı düsturla hesablana biləcəyini hesabladıq:

Robot ideal nöqtə boyunca ciddi şəkildə hərəkət etməlidir. Hər iki istiqamətdə sapma baş verərsə, robot həmin nöqtəyə qayıtmalıdır.

Gəlin bəstələyək problemin riyazi təsviri.

İlkin məlumatlar.

Mükəmməl nöqtə.

İşıq sensorunun cari oxunuşları.

Nəticə.

Motor gücü B.

Motorun fırlanma gücü C.

Qərar.

Gəlin iki vəziyyəti nəzərdən keçirək. Birincisi: robot qara xəttdən ağa doğru yayındı.

Bu halda robot B mühərrikinin fırlanma gücünü artırmalı və C mühərrikinin gücünü azaltmalıdır.

Robotun qara xəttə getdiyi bir vəziyyətdə, bunun əksi doğrudur.

Robot ideal nöqtədən nə qədər çox kənara çıxarsa, bir o qədər tez ona qayıtmalıdır.

Ancaq belə bir tənzimləyicinin yaradılması olduqca çətin bir işdir və həmişə bütövlükdə tələb olunmur.

Buna görə də, özümüzü qara xəttdən sapmalara adekvat cavab verən P-tənzimləyicisi ilə məhdudlaşdırmağa qərar verdik.

Riyaziyyat dili ilə desək, bu belə yazılır:

burada Hb və Hc müvafiq olaraq B və C mühərriklərinin ümumi gücləridir,

Hbase - robotun sürətini təyin edən mühərriklərin müəyyən bir əsas gücü. O, robotun dizaynından və döngələrin kəskinliyindən asılı olaraq eksperimental olaraq seçilir.

Itech - işıq sensorunun cari oxunuşları.

I id - hesablanmış ideal nöqtə.

k eksperimental olaraq seçilmiş mütənasiblik əmsalıdır.

Üçüncü hissədə bunun NXT-G mühitində necə proqramlaşdırılacağına baxacağıq.

Leqokonstruksiyada əsas hərəkətlərdən biri qara xətti izləməkdir.

Proqramın yaradılmasının ümumi nəzəriyyəsi və xüsusi nümunələri wroboto.ru saytında təsvir edilmişdir

Fərqlər olduğu üçün bunu EV3 mühitində necə həyata keçirdiyimizi təsvir edəcəyəm.

Robotun bilməli olduğu ilk şey ağ və qara sərhəddə yerləşən “ideal nöqtənin” dəyəridir.

Şəkildəki qırmızı nöqtənin yeri sadəcə bu mövqeyə uyğundur.

İdeal hesablama variantı qara və ağın dəyərini ölçmək və arifmetik ortanı götürməkdir.

Bunu əl ilə edə bilərsiniz. Ancaq çatışmazlıqlar dərhal görünür: hətta qısa müddət ərzində işıqlandırma dəyişə bilər və hesablanmış dəyər səhv olacaq.

Beləliklə, bir robota bunu edə bilərsiniz.

Təcrübələr zamanı gördük ki, həm qara, həm də ağı ölçmək lazım deyil. Yalnız ağ ölçülə bilər. İdeal nöqtənin dəyəri isə qara xəttin enindən və robotun sürətindən asılı olaraq ağın dəyərinin 1,2-yə (1,15) bölünməsi kimi hesablanır.

Hesablanmış dəyər sonradan daxil olmaq üçün dəyişənə yazılmalıdır.

"İdeal nöqtənin" hesablanması

Hərəkətdə iştirak edən növbəti parametr dönüş nisbətidir. Nə qədər böyükdürsə, robot işıqlandırmadakı dəyişikliklərə bir o qədər kəskin reaksiya verir. Lakin çox yüksək dəyər robotun sürüşməsinə səbəb olacaq. Dəyər hər bir robot dizaynı üçün eksperimental olaraq fərdi olaraq seçilir.

Son parametr mühərriklərin əsas gücüdür. Bu, robotun sürətinə təsir edir. Hərəkət sürətinin artması robotun işıqlandırmanın dəyişməsinə reaksiya müddətinin artmasına gətirib çıxarır ki, bu da trayektoriyadan çıxmağa səbəb ola bilər. Qiymət də eksperimental olaraq seçilir.

Rahatlıq üçün bu parametrlər dəyişənlərə də yazıla bilər.

Sükan nisbəti və əsas güc

Qara xətt boyunca hərəkətin məntiqi belədir: ideal nöqtədən kənarlaşma ölçülür. Nə qədər böyükdürsə, robot bir o qədər güclü ona qayıtmağa çalışmalıdır.

Bunu etmək üçün iki ədədi hesablayırıq - B və C mühərriklərinin hər birinin güc dəyərini ayrı-ayrılıqda.

Formula şəklində bu belə görünür:

Isens işıq sensorunun oxunuşlarının dəyəridir.

Nəhayət, EV3-də tətbiq. Ayrı bir blok şəklində buraxılması ən əlverişlidir.

Alqoritmin həyata keçirilməsi

Bu, WRO 2015 orta kateqoriyası üçün robotda tətbiq olunan alqoritmdir


Şəkillər, dizayn və slaydlarla təqdimata baxmaq üçün, onun faylını yükləyin və PowerPoint-də açın kompüterinizdə.
Təqdimat slaydlarının mətni:
“Bir rəng sensoru ilə qara xətt üzrə hərəkət alqoritmi” “Robotika” mövzusunda çevrə Yezidov Əhməd Eliyeviçin qarşısında müəllim. MBU DO “Şelkovskaya CTT” Qara xətt üzrə hərəkət alqoritmini öyrənmək üçün bir rəng sensoru olan Lego Mindstorms EV3 robotu istifadə olunacaq Rəng sensoru Rəng sensoru 7 rəngi fərqləndirir və rəngin yoxluğunu aşkar edə bilir. NXT-də olduğu kimi, o, işıq sensoru kimi işləyə bilər.Line S Robot Competition Field Təklif olunan “S” formalı trek yaradılmış robotların sürət və reaksiya üçün daha bir maraqlı testini keçirməyə imkan verəcək. EV3-də bir rəngli sensorda qara xətt boyunca hərəkət etməyin ən sadə alqoritmini nəzərdən keçirək.Bu alqoritm ən yavaş, lakin ən stabildir.Robot ciddi şəkildə qara xətt boyunca deyil, onun sərhədi boyunca sola və sağa dönərək hərəkət edəcək və yavaş-yavaş irəliləyir Alqoritm çox sadədir : sensor qara görürsə, robot bir istiqamətə, ağ görsə, digər istiqamətə dönər. İki Sensorla Yansıtılmış İşıq Rejimində Xəttin İzlənməsi Bəzən rəng sensoru qara və ağı çox yaxşı ayırd edə bilməyə bilər. Bu problemin həlli sensoru rəng aşkarlama rejimində deyil, əks olunan işığın parlaqlığının aşkarlanması rejimində istifadə etməkdir. Bu rejimdə, qaranlıq və işıqlı bir səthdə sensorun dəyərlərini bilməklə, biz müstəqil olaraq nəyin ağ və nəyin qara olacağını söyləyə bilərik. İndi ağ və qara səthlərdə parlaqlıq dəyərlərini təyin edək. Bunu etmək üçün EV3 Brick menyusunda biz "Kərpic Tətbiqləri" sekmesini tapırıq.İndi siz port görünüşü pəncərəsindəsiniz və hazırkı anda bütün sensorların oxunuşlarını görə bilərsiniz. sensorlarımız qırmızı yanmalıdır, yəni əks olunan işığın aşkarlanması rejimindədir. Əgər onlar mavi rəngdə parlayırsa, istədiyiniz portda port görünüşü pəncərəsində mərkəzi düyməni basın və COL-REFLECT rejimini seçin.İndi biz robotu elə yerləşdirəcəyik ki, hər iki sensor ağ səthin üstündə yerləşsin. 1 və 4 nömrəli portlardakı rəqəmlərə baxırıq. Bizim vəziyyətimizdə dəyərlər müvafiq olaraq 66 və 71-dir. Bunlar sensorların ağ dəyərləri olacaq. İndi robotu elə yerləşdirək ki, sensorlar qara səthin üstündə yerləşsin. Yenə də 1 və 4 nömrəli portların dəyərlərinə baxaq. Bizdə müvafiq olaraq 5 və 6 var. Bunlar qaranın mənalarıdır. Sonra, əvvəlki proqramı dəyişdirəcəyik. Məhz, biz açarların parametrlərini dəyişirik. Nə qədər ki, Rəng Sensoru -> Ölçmə -> Rəng quraşdırılıb. Rəng Sensorunu təyin etməliyik -> Müqayisə -> Yansıtılan İşıq İntensivliyi İndi biz "müqayisə növü" və "ərəfəsində dəyər" təyin etməliyik. Eşik dəyəri bəzi "boz"un dəyəridir, aşağıda nəzərdən keçirəcəyimiz dəyərlər qara və daha çox - ağdır. İlk yaxınlaşma üçün hər bir sensorun ağ və qara arasında orta dəyərini istifadə etmək rahatdır. Beləliklə, birinci sensorun (port #1) həddi dəyəri (66+5)/2=35,5 olacaqdır. 35-ə qədər yuvarlaqlaşdırılın. İkinci sensorun eşik dəyəri (port #4): (71+6)/2 = 38,5. Gəlin 38-ə yuvarlaqlaşdıraq. İndi müvafiq olaraq hər bir keçiddə bu dəyərləri təyin edirik. Hamısı budur, hərəkətləri olan bloklar öz yerlərində dəyişməz qalırlar, çünki "müqayisə növü"ndə " işarəsini qoysaq.<», то все, что сверху (под галочкой) будет считаться черным, а снизу (под крестиком) – белым, как и было в предыдущей программе.Старайтесь ставить датчики так, чтобы разница между белым и черным была как можно больше. Если разница меньше 30 - ставьте датчики ниже. Это было краткое руководство по программированию робота Lego ev3, для движения по черной линии, с одним и двумя датчиками цвета

Mobil LEGO robotu üçün idarəetmə alqoritmləri. İki işıq sensoru ilə xətt izləmə

Əlavə təhsil müəllimi

Kazakova Lyubov Aleksandrovna


Xətt hərəkəti

  • İki işıq sensoru
  • Proporsional nəzarətçi (P nəzarətçi)

Proporsional nəzarətçi olmadan qara xətt boyunca hərəkət etmək üçün alqoritm

  • Hər iki mühərrik eyni güclə fırlanır
  • Sağ işıq sensoru qara xəttə dəyirsə, sol mühərrikin gücü (məsələn, B) azalır və ya dayanır.
  • Sol işıq sensoru qara xəttə dəyirsə, o zaman digər mühərriklərin gücü (məsələn, C) azalır (xəttə qayıdır), azalır və ya dayanır.
  • Hər iki sensor ağ və ya qara rəngdədirsə, düzxətli bir hərəkət var

Hərəkət mühərriklərdən birinin gücünün dəyişdirilməsi ilə təşkil edilir


P-nəzarətçi olmadan qara xətt boyunca hərəkət etmək üçün proqram nümunəsi

Hərəkət fırlanma bucağını dəyişdirərək təşkil edilir


  • Proporsional nəzarətçi (P-nəzarətçi) robotun davranışının arzu olunandan nə qədər fərqləndiyindən asılı olaraq onun davranışını tənzimləməyə imkan verir.
  • Robot hədəfdən nə qədər çox yayınsa, ona qayıtmaq üçün bir o qədər çox güc tələb olunur.

  • P-nəzarətçi robotu müəyyən bir vəziyyətdə saxlamaq üçün istifadə olunur:
  • Manipulyatorun mövqeyini saxlayın Bir xətt boyunca hərəkət edin (işıq sensoru) Divar boyunca hərəkət edin (məsafə sensoru)
  • Manipulyatorun mövqeyini saxlamaq
  • Xətt hərəkəti (işıq sensoru)
  • Divar boyunca hərəkət (məsafə sensoru)

Bir sensor ilə xətt izləmə

  • Məqsəd sərhəddə “ağ-qara” hərəkət etməkdir
  • İnsan ağ və qaranın sərhədini ayırd edə bilir. Robot edə bilməz.
  • Robotun hədəfi boz rəngdədir

Keçidlər

İki işıq sensorundan istifadə edərkən daha çətin marşrutlarda hərəkəti təşkil etmək mümkündür



Kəsişmələri olan magistral yolda hərəkət etmək üçün alqoritm

  • Hər iki sensor ağ rəngdə - robot düz xətt üzrə hərəkət edir (hər iki mühərrik eyni güclə fırlanır)
  • Sağ işıq sensoru qara xəttə, sol isə ağ xəttə dəyirsə, o zaman sağa dönür
  • Sol işıq sensoru qara xəttə, sağdakı isə ağ xəttə dəyirsə, o zaman sola çevrilir
  • Hər iki sensor qara rəngdədirsə, düzxətli bir hərəkət baş verir. Siz kəsişmələri saya və ya bir növ hərəkət edə bilərsiniz


P-tənzimləyicinin iş prinsipi

Sensorların yeri

O=O1-O2


Proporsional nəzarətçi ilə qara xətt boyunca hərəkət alqoritmi

SW \u003d K * (C-T)

  • C - hədəf dəyərlər (ağ və qara işıq sensorundan oxunuşları götürün, orta hesablayın)
  • T - cari dəyər - sensordan qəbul edilir
  • K həssaslıq əmsalıdır. Nə qədər çox olsa, həssaslıq bir o qədər yüksəkdir.