Jeffrey Cross
Jeffrey Cross

Začetna robotika: razumevanje, kako preprosto delujejo senzorji

Da bi se robot resnično štel za robota, mora biti sposoben zaznati in vplivati ​​na svoje okolje. Zato so senzorji tako pomembni za robotiko, in razumevanje, kako jih uporabiti, da bi robot pameten, je ključnega pomena za vsakega robotizatorja. Pred kratkim sem sprožil Kickstarter in dejansko podarimo brezplačne senzorje z vsakim kompletom, ki ga prodajamo, zato ga preverite, preden se konča!

V tem Skill Builderju vas bom popeljal skozi robotsko operacijo, imenovano sense> think> act. Gre za operacijo, ki se pogosto uporablja v robotiki in je odličen kraj za začetek razumevanja, kako programirati robota. Potopimo se v…

Izbira senzorja

Na voljo je toliko senzorjev, kot so fizične stvari za občutek, vendar pa uporabimo ultrazvočni senzor HC-SR04, ker je poceni, preprost in široko uporabljen v robotiki (prav tako ima zelo priročno knjižnico Arduino).

Definiranje modela robota

Senzor lahko zazna razdalje, zato začnimo s preprostim robotom, ki preprečuje trčenje. Ta robot se lahko premakne naprej in nazaj in se obrne na mesto v obeh smereh. Na sprednji strani robota je senzor razdalje. Zdaj, ko smo določili našega robota, začnimo s preučevanjem, kako se bo obnašal.

Kaj je Sense, Think, Act?

Sense, Think, Act je odločitvena zanka, ki se lahko uporabi za reševanje številnih robotskih problemov in je izredno preprosta. V tem primeru mora robot zaznati, če so pred njim kakšne ovire. Nato mora razmisliti, ali se lahko premakne naprej ali naj se obrne ali obrne, potem pa bo ukrepala na podlagi te odločitve. Ta ista logika lahko velja za vsakega robota, s katerim koli senzorjem za skoraj vsako vedenje.

Da bi to dejansko spremenili v kodo, ki jo lahko napišemo za nadzor robota, moramo biti bolj specifični. Ustvarimo preprosto obnašanje za robota, kot sledi ...

  1. Robot zazna, če je katera od ovir manj kot 3 cm spredaj.
  2. Če ni ovire, se premakne naprej.
  3. Če obstaja ovira, se premakne nazaj.

To bi bilo zelo enostavno prevesti v kodo, vendar se lahko zavedate, da bi to povzročilo, da se je robot »zataknil«, ko je dosegel steno. Pomaknila bi se naprej, dokler ne bi zaznala stene, nato pa se premaknila nazaj, dokler se ne bi ponovila, in nato naprej. Spremenimo obnašanje na naslednji način.

  1. Robot zazna, če je katera od ovir manj kot 3 cm spredaj.
  2. Če ni ovire, se premakne naprej.
  3. Če obstaja ovira, zavije levo, nato pa nazaj na korak 1.

To se bo nadaljevalo, dokler robot ne najde smeri, ki nima stene znotraj 3 cm.

Zdaj imamo občutek, razmišljanje, delovanje, ki bi dejansko lahko pomagalo našem robotu, da se izogne ​​oviram. To ni posebej zapleten model in lahko bi dodali veliko zapletenosti, da bi izboljšali izogibanje oviram.

Tudi s preprostim robotom, zelo zapletenim občutkom, lahko mislimo, delamo modele, da ustvarimo zelo pametno vedenje. To je bistvo robotike - pametni v programski opremi!

Naše trenutno vedenje je nekoliko neučinkovito, ker mora robot trikrat zaviti levo, da zavije desno. Spremenimo svoje obnašanje na naslednji način, kot četrti korak, da sledimo trem zgornjim korakom:

4. Če obstaja ovira, zavije levo in nato nazaj na 1. korak.

  1. Robot zazna, če je katera od ovir manj kot 3 cm spredaj.
  2. Če ni ovire, se premakne naprej.
  3. Če obstaja ovira, se obrne levo in se ponovno zazna.
  4. Če ni ovire, se premakne naprej in zanka se ponastavi.
  5. Če obstaja ovira, se zopet obrne v desno in čuti.
  6. Če ni ovire, se premakne naprej in zanka se ponastavi.
  7. Če pride do ovire, se robot obrne desno, dokler ni ovire.

Zdaj bo naš robot preveril obe smeri, da bi videl, če je stena, kar pomeni, da se bo robot premaknil bolj učinkovito. Opazite, kako še preprosto vedenje začenja postajati bolj zapleteno za ponazoritev, če pa o tem obnašanju razmišljamo kot o seriji Sense, Think, Act zank, potem postane veliko lažje razumeti!

In tam ga imate. Vzeli smo zelo enostaven primer vedenja Sense, Think, Act in ga razvili v delovni program za izogibanje oviram. Zelo preprosto bi bilo prevesti to vedenje v kodo in začeti igrati z robotiko! In seveda lahko dodate še več senzorjev razdalje in celo različne vrste senzorjev, da bi bilo obnašanje še bolj prefinjeno. Ne pozabite ga razčleniti v Sense, Think, Act in se boste lahko spopadli z njim. In seveda, če iščete robotski komplet, ki vključuje tone brezplačnih senzorjev, preverite naš Kickstarter!

Delež

Pustite Komentar