Kidhibiti Sawa cha Tofauti cha PID katika Lego Mindstorms Robotics. Kidhibiti sawia Udhibiti wa roboti na vihisi viwili vya mwanga

Mdhibiti wa uwiano.

Asili Maelezo Mwandishi: Konovalov Igor
    Kidhibiti sawia ni uboreshaji. Hasara kuu ya relay ni kwamba haijali ni kiasi gani maadili ya sasa yanatofautiana na thamani ya kawaida ya sensor. Ina majimbo mawili tu - ama jaribu kuongeza maadili ya sensorer kwa nambari fulani ya mara kwa mara ikiwa ni chini ya thamani ya kawaida, au kuiongeza. Kwa sababu ya hili, oscillations hutokea kwa amplitude ya mara kwa mara, ambayo haifai sana.

    Ni busara zaidi kuamua jinsi usomaji wa sasa ulivyo "mbali" kutoka kwa kawaida, na ubadilishe amplitude kulingana na hii. Ili kuifanya iwe wazi zaidi, hebu tuangalie mfano. Mfano, kama katika makala iliyotangulia, ni sawa: roboti kutoka Lego Mindstorms EV3 inaendesha kwenye mstari mweusi kwa kutumia sensor moja ya rangi katika hali ya mwanga.
Roboti inajaribu kuendesha mpaka kati ya nyeupe na nyeusi, na hapo kihisi kinaonyesha takriban 50% ya mwangaza. Na zaidi ni kutoka kwa nafasi ya kawaida, jitihada zaidi robot hufanya kurudi kwa 50%.
    Jinsi ya kurekebisha kipengele cha uwiano? Chagua maadili kwa majaribio; kwa kusafiri trajectory inaweza kuwa, kwa mfano, kutoka 0.2 hadi 1.5, kulingana na kasi na muundo wa roboti. Ikiwa mgawo ni mkubwa sana, basi roboti itatetemeka sana, ikiwa ni ndogo, itaendesha vizuri, lakini kwa wakati fulani itateleza wakati wa kugeuka kwa sababu ya uingizaji wa udhibiti wa kutosha. Hebu tuandike matoleo mawili ya programu - na vigezo (kwa wale ambao tayari wamejifunza) na bila.


    Lakini kidhibiti hiki kinaweza pia kuimarishwa kwa kuanzisha kipengele cha uwiano na muhimu maelezo yatakuwa katika makala zifuatazo. Tutaonana hivi karibuni!

Kidhibiti sawia ni kifaa kinachotekeleza kitendo cha kudhibiti u(t) kwenye kitu kulingana na mkengeuko wake wa mstari e(t) kutoka kwa hali fulani x0(t);

e(t)=x0(t)-x(t), ambapo x(t) ni hali ndani kwa sasa wakati;

u(t)=ke(t), ambapo k ni kigezo cha ukuzaji.
Hiyo ni, jinsi roboti inavyozidi kupotoka kutoka kwa kozi iliyotolewa, ndivyo motors zinapaswa kufanya kazi kwa kiwango kikubwa.

Kusogea kwa mstari na kitambuzi kimoja cha mwanga kwa kutumia kidhibiti cha P

Harakati kando ya mpaka wa nyeusi na nyeupe pia inaweza kujengwa kwenye P-mdhibiti. Ingawa kwa nje tatizo linaonekana kutatuliwa tu kwa msaada wa mtawala wa relay, kwani mfumo una majimbo mawili tu yanayoonekana kwa jicho la mwanadamu: nyeusi na nyeupe. Lakini robot huona kila kitu tofauti; kwa maana hakuna mpaka mkali kati ya rangi hizi. Tunaweza kusema kwamba yeye ana mtazamo wa karibu na anaona mabadiliko ya gradient ya vivuli vya kijivu.

Hii itasaidia kujenga P-regulator.
Kwa kufafanua hali ya kazi kama usomaji kutoka kwa sensor ya mwanga, tutajifunza kutoa athari za udhibiti wa sawia kwenye motors kulingana na sheria ifuatayo:
e=s1-kijivu, ambapo s1 ni usomaji wa kihisi cha sasa, na kijivu ni thamani iliyowekwa.

Mgawo k (sawa na katika mfano huu 2) inapaswa kuwa ndogo ya kutosha (kutoka 1 hadi 3). Mdhibiti kama huyo hufanya kazi kwa ufanisi tu kwa pembe ndogo za kupotoka, kwa hivyo roboti lazima iwekwe kwenye mwelekeo wa harakati ili sensor iko upande wa kushoto wa mstari mweusi. Ni rahisi kutambua kwamba harakati kando ya mstari kwenye P-mdhibiti ni laini. na katika baadhi ya maeneo ya kazi husogea karibu moja kwa moja au kwa kufuata mikunjo ya mstari.

Urekebishaji wa sensorer

Wacha tuangalie nambari 48 iliyotumiwa katika fomula. Huu ni wastani wa hesabu wa usomaji wa kitambuzi cha mwanga kwenye nyeusi na nyeupe, kwa mfano (40+56)/2=48. Walakini, usomaji wa sensor mara nyingi hubadilika kwa sababu ya sababu mbalimbali: uso tofauti, mabadiliko katika mwanga wa jumla katika chumba, marekebisho kidogo ya kubuni, nk. Kwa hivyo, tutarekebisha roboti kwa mikono kwa kuamua usomaji wa sensor ya mwanga kwenye nyeupe na nyeusi.

Kusonga kwa mstari na sensorer mbili za mwanga kwa kutumia P-controller
Ni vigumu sana kuabiri makutano kwa usahihi na kihisi kimoja cha mwanga. Ikiwa unataka kufanya hivyo kwa kasi ya juu ya kutosha, unahitaji angalau sensorer mbili zilizowekwa kwa umbali wa upana wa mstari mbili (au pana).
Wakati wa kuendesha gari, hali nne za sensorer zinawezekana:

  • wote juu ya nyeupe - kusonga moja kwa moja;
  • kushoto (s1) sio nyeusi, kulia (s2) juu ya nyeupe - harakati kuelekea kushoto;
  • kushoto juu ya nyeupe, kulia juu ya nyeusi - harakati ya kulia;
  • zote mbili kwenye nyeusi - moja kwa moja mbele.
Hiyo. na usomaji sawa wa sensor (nyeupe au zote nyeusi), roboti inaendesha moja kwa moja. Kabla ya kuanzisha roboti, tutarekebisha kiotomatiki vitambuzi vyote viwili. Halafu algorithm ya kusonga kando ya mstari na kidhibiti cha P itaonekana kama hii:

Kigawo k kinaweza kutofautiana katika safu pana (kutoka 1 hadi 20 au zaidi) kulingana na mkunjo wa laini, uwezaji wa roboti na tofauti kati ya nyeusi na nyeupe kwenye uwanja.
Hali muhimu. Urekebishaji wa kiotomatiki unapaswa kufanywa kwenye uso wa rangi moja na ikiwezekana kwenye mwangaza ambao utachukua sehemu kubwa zaidi ya njia. Kwa mfano, ikiwa roboti inasogea kwenye mstari mweusi kwenye uwanja mweupe, basi lazima ibadilishwe kwenye uwanja mweupe. Wale. Nafasi ya roboti mwanzoni inapaswa kuwa kama hii:


Na noti moja zaidi. Kuna sensorer ambazo usomaji wao hutofautiana kwa 10-20%. Inashauriwa usiwaunganishe na mdhibiti na mgawo mkubwa, kwa kuwa kwa mabadiliko makali katika uangazaji wa jumla, hata kwenye uwanja wa sare nyeupe, kupotoka kunaweza kugeuka kuwa tofauti, ambayo itasababisha matokeo yasiyotarajiwa.

Robotiki ni mwelekeo mpya wa kuvutia, ambao, inaonekana, utaendeleza zaidi ndani ya mfumo wa kozi za shule sayansi ya kompyuta na teknolojia. Kuongezeka kwa robotiki kwa kiasi kikubwa kunatokana na ukweli kwamba huturuhusu kujibu swali: "Kwa nini tunajifunza programu?"

Kwa kuongezea, katika mwendo wa roboti unaweza kufahamiana na dhana za kimsingi za nadharia ya udhibiti wa kiotomatiki.

Ukurasa huu unawasilisha viigaji programu na bodi za Arduino zilizotengenezwa na mwandishi. Wanaweza kusaidia katika kesi ambapo kwa sababu fulani haiwezekani kutumia vifaa halisi. Simulators hutumia uwezo wa HTML5, kwa hivyo watafanya kazi ndani tu vivinjari vya kisasa (bora kutumia Firefox ya Mozilla).

Habari sasa pia katika chaneli ya Telegram

Novemba 27, 2015
Wimbo wa "kiinitete" umeongezwa kwa viigaji ( M.V. Lazarev, Orekhovo-Zuevo).

Oktoba 13, 2015
Sasa katika simulators za roboti za LEGO unaweza kupakia nyimbo zako mwenyewe (mashamba kwa roboti). Jinsi ya kufanya hili? Tazama.
Simulators mpya zimeongezwa - roboti za LEGO zilizo na sensorer mbili, tatu, nne za mwanga.

Lugha ya udhibiti wa roboti

Ili kudhibiti roboti katika simulators, lugha rahisi ya programu hutumiwa, ambayo ilipokea jina la kazi SiRoP (Upangaji Rahisi wa Robot).

Udhibiti wa roboti na kihisi mwanga

Sensor ya mwanga inaruhusu roboti kuzunguka kwenye uso wa meza, kwa mfano, kusonga kando ya mpaka kati ya maeneo nyeupe na nyeusi (kando ya mstari mweusi). Photodiode inaangazia uso, mpiga picha "hukamata" mionzi iliyoonyeshwa na kupima ukubwa wao.

Kazi maarufu zaidi ya aina hii ni kusonga kwenye mstari. Kutumia simulator, unaweza kusoma sheria mbalimbali za udhibiti - relay, sawia, na hata udhibiti wa PID (sawia-jumu-derivative).

Mifano ya programu za roboti yenye sensor ya mwanga

Wakati 1 (ikiwa kitambuzi > 128 (motor = 100 motor = 0) vinginevyo (motor = 0 motor = 100) subiri(10))

KP = 0.2 huku 1 ( u = kP*(sensor-128) motor = 50 + u motor = 50 - u wait(20) )

Kuu ( wakati 1 ( wakati kihisi > 128 ( motor = 100 motor = 100 wait(10) ) nyuma() turn() ) ) nyuma ( motor = -100 motor = -100 wait(260) ) geuza ( motor = -50 motor = 50 kusubiri (50))

Udhibiti wa roboti na vihisi viwili vya mwanga

Vihisi viwili vya mwanga huruhusu roboti kusogeza vizuri zaidi na kuendesha kwenye mstari mwembamba. Wao huletwa mbele kidogo na kuenea kwa pande. Kama ilivyo kwa kazi za sensor moja, kiigaji hiki kinaweza kutumika kusoma sheria mbalimbali za udhibiti.

Mifano ya programu za roboti yenye vitambuzi vitatu vya mwanga

Udhibiti wa roboti na vitambuzi vinne vya mwanga

Vihisi mwanga vinne huruhusu roboti kutambua vyema mizunguko mikali. Sensorer za ndani hutumiwa kwa marekebisho ya faini; Mbili sensor ya nje kubebwa mbele kidogo na kuenea kwa pande. Zinatumika wakati zamu kali inakabiliwa. Faida ya udhibiti kulingana na usomaji wa vitambuzi vya jozi ya nje huchaguliwa kubwa kuliko kwa jozi ya ndani (tazama. L.Yu. Ovsyanitskaya et al., Algorithms na mipango ya harakati ya roboti ya Lego Mindstorms EV3 kando ya mstari., M.: "Pero", 2015).

Mifano ya programu za roboti yenye vitambuzi vinne vya mwanga

Wakati 1 ( d0 = kihisi > 128 d1 = kitambuzi > 128 d2 = kihisi > 128 d3 = kitambuzi > 128 ikiwa d1 & !d2 ( motor = 100 motor = 0 ) ikiwa! d1 & d2 ( motor = 0 motor = 100 ) ikiwa! d1 == d2 ( motor = 100 motor = 100 ) ikiwa d0 & !d3 ( motor = 30 motor = 0 ) if!d0 & d3 ( motor = 0 motor = 30 ) subiri (10) )

K1 = 0.2 k2 = 0.4 huku 1 ( u1 = sensor - sensor u2 = sensor - sensor motor = 50+k1*u1+k2*u2 motor = 50-k1*u1-k2*u2 wait(10) )

Kudhibiti roboti na kihisi cha umbali (sonar)

Sensor ya umbali (sonar) inakuwezesha kuamua umbali wa kikwazo cha karibu wakati roboti inasonga. Inatoa ishara ya ultrasonic na inapokea ishara iliyoonyeshwa. Muda mrefu kati ya ishara zinazotolewa na kupokea, umbali mkubwa zaidi.

Kwa kutumia kitambuzi cha umbali, roboti inaweza kuratibiwa kuabiri kiotomatiki mlolongo wa umbo linalojulikana lakini saizi isiyojulikana.

Tatizo hili ni la kawaida, la kiitikadi rahisi, linaweza kutatuliwa mara nyingi, na kila wakati utagundua kitu kipya kwako mwenyewe.

Kuna njia nyingi za kutatua shida ifuatayo ya mstari. Chaguo la mmoja wao inategemea muundo maalum wa roboti, kwa idadi ya sensorer, eneo lao linalohusiana na magurudumu na kila mmoja.

Katika mfano wetu, mifano mitatu ya roboti itachambuliwa kulingana na mtindo mkuu wa elimu wa Robot Educator.

Kuanza na, hebu tukusanye mfano msingi elimu robot Robot Educator, kwa hili unaweza kutumia maelekezo katika programu AKILI EV3.

Pia, kwa mifano, tutahitaji sensorer za rangi nyepesi za EV3. Sensorer hizi za mwanga ni kama hakuna nyingine kwa njia bora zaidi yanafaa kwa ajili ya kazi yetu; wakati wa kufanya kazi nao, hatuna wasiwasi juu ya ukubwa wa mwanga unaozunguka. Kwa sensor hii, katika programu tutatumia hali ya mwanga iliyoonyeshwa, ambayo kiasi cha mwanga kilichoonyeshwa kutoka kwa taa nyekundu ya nyuma ya sensor inakadiriwa. Vikomo vya usomaji wa sensor ni vitengo 0 - 100, kwa "hakuna kutafakari" na " tafakari kamili"mtawalia.

Kama mfano, tutachambua mifano 3 ya programu za kusonga kwenye trajectory nyeusi iliyoonyeshwa kwenye mandharinyuma bapa, nyepesi:

· Kihisi kimoja, chenye kidhibiti cha P.

· Kihisi kimoja, chenye kidhibiti cha Kompyuta.

· Vihisi viwili.

Mfano 1. Sensorer moja, na mdhibiti wa P.

Kubuni

Sensor ya mwanga imewekwa kwenye boriti kwa urahisi iko kwenye mfano.


Algorithm

Uendeshaji wa algorithm ni msingi wa ukweli kwamba, kulingana na kiwango cha mwingiliano wa boriti ya taa ya sensor na mstari mweusi, usomaji unaorudishwa na sensor hutofautiana polepole. Roboti hudumisha nafasi ya kitambuzi cha mwanga kwenye mpaka wa mstari mweusi. Kwa kubadilisha data ya ingizo kutoka kwa kitambuzi cha mwanga, mfumo wa udhibiti hutoa thamani kwa kasi ya kugeuka ya roboti.


Kwa kuwa kwenye trajectory halisi sensor hutoa maadili katika safu yake yote ya uendeshaji (0-100), 50 huchaguliwa kama thamani ambayo roboti inajitahidi Katika kesi hii, maadili yanayopitishwa kwa kazi za mzunguko hutolewa anuwai -50 - 50, lakini maadili haya hayatoshi kwa mwinuko kugeuza njia. Kwa hivyo, safu inapaswa kupanuliwa mara moja na nusu hadi -75 - 75.

Matokeo yake, katika programu, kazi ya calculator ni mtawala wa uwiano rahisi. Kazi ambayo ( (a-50)*1.5 ) katika safu ya uendeshaji ya sensor nyepesi hutoa maadili ya mzunguko kulingana na grafu:

Mfano wa jinsi algorithm inavyofanya kazi

Mfano 2. Sensor moja, na mdhibiti wa PK.

Mfano huu unategemea ujenzi sawa.

Labda umeona kuwa katika mfano uliopita roboti iliyumba sana, ambayo haikuruhusu kuharakisha vya kutosha. Sasa tutajaribu kuboresha hali hii kidogo.

Kwa kidhibiti chetu cha uwiano pia tunaongeza kidhibiti rahisi cha mchemraba, ambacho kitaongeza kuinama kwa kazi ya mtawala. Hii itapunguza kuyumba kwa roboti karibu na mpaka unaohitajika wa trajectory, na pia kufanya jerks kali zaidi ikiwa mbali nayo.

Moja ya harakati za msingi katika ujenzi wa mwanga ni kufuata mstari mweusi.

Nadharia ya jumla na mifano maalum Uumbaji wa mpango huo umeelezwa kwenye tovuti wroboto.ru

Nitaelezea jinsi tunavyotekeleza hili katika mazingira ya EV3, kwa kuwa kuna tofauti.

Jambo la kwanza ambalo roboti inahitaji kujua ni maana ya "hatua bora" iliyoko kwenye mpaka wa nyeusi na nyeupe.

Mahali pa alama nyekundu kwenye takwimu inalingana kabisa na msimamo huu.

Chaguo bora la hesabu ni kupima maadili nyeusi na nyeupe na kuchukua wastani wa hesabu.

Unaweza kufanya hivyo kwa mikono. Lakini hasara zinaonekana mara moja: hata kwa muda mfupi, mwanga unaweza kubadilika, na thamani iliyohesabiwa itakuwa sahihi.

Kwa hivyo, unaweza kupata roboti kuifanya.

Wakati wa majaribio, tuligundua kuwa si lazima kupima wote nyeusi na nyeupe. Nyeupe pekee inaweza kupimwa. Na thamani bora ya uhakika huhesabiwa kama thamani nyeupe iliyogawanywa na 1.2 (1.15), kulingana na upana wa mstari mweusi na kasi ya roboti.

Thamani iliyohesabiwa lazima iandikwe kwa kigezo ili kuipata baadaye.

Uhesabuji wa "hatua bora"

Kigezo kinachofuata kinachohusika katika harakati ni mgawo wa mzunguko. Kadiri inavyokuwa kubwa, ndivyo roboti inavyoguswa kwa kasi zaidi na mabadiliko katika mwangaza. Lakini kupita kiasi thamani kubwa itasababisha roboti kuyumba. Thamani huchaguliwa kibinafsi kwa kila muundo wa roboti.

Kigezo cha mwisho ni nguvu ya msingi ya motors. Inathiri kasi ya roboti. Kuongezeka kwa kasi ya harakati husababisha kuongezeka kwa wakati wa majibu ya roboti kwa mabadiliko katika kuangaza, ambayo inaweza kusababisha kuondoka kutoka kwa trajectory. Thamani pia huchaguliwa kwa majaribio.

Kwa urahisi, vigezo hivi vinaweza pia kuandikwa katika vigezo.

Uwiano wa Kugeuza na Nguvu ya Msingi

Mantiki ya kusonga kwenye mstari mweusi ni kama ifuatavyo: kupotoka kutoka kwa hatua bora hupimwa. Kadiri inavyokuwa kubwa, ndivyo roboti yenye nguvu inavyopaswa kujitahidi kurudi kwake.

Ili kufanya hivyo, tunahesabu nambari mbili - thamani ya nguvu ya kila moja ya motors B na C tofauti.

Katika fomula inaonekana kama hii:

Ambapo Isens ni thamani ya usomaji wa kihisi mwanga.

Hatimaye, utekelezaji katika EV3. Ni rahisi zaidi kuipanga kwa namna ya block tofauti.

Utekelezaji wa algorithm

Hii ndio algorithm ambayo ilitekelezwa kwenye roboti kwa kitengo cha kati cha WRO 2015

Machapisho yanayohusiana