Jeffrey Cross
Jeffrey Cross

Robotika pro začátečníky: Pochopení, jak fungují jednoduché senzory

Aby byl robot skutečně považován za robota, musí být schopen vnímat a ovlivňovat své okolí. To je důvod, proč jsou senzory pro robotiku tak důležité a pochopení toho, jak je používat, aby byl robot chytrý, je nezbytné pro všechny začínající roboticisty. Nedávno jsem spustil Kickstarter a vlastně rozdáváme zdarma senzory s každou soupravou, kterou prodáváme, takže si to zkontrolujte před tím, než skončí!

V tomto Skill Builderu vás provede operací robotu nazvanou sense> think> act. Je to operace, která je široce používána v robotice a je vynikajícím místem pro pochopení, jak programovat robota. Pojďme se ponořit do…

Volba senzoru

K dispozici je tolik senzorů, kolik fyzických věcí má smysl, ale používejte ultrazvukový snímač vzdálenosti HC-SR04, protože je levný, jednoduchý a široce používaný v robotice (má také velmi výhodnou knihovnu Arduino).

Definování modelu robota

Tento senzor může detekovat vzdálenosti, takže začněme s jednoduchým robotem, který se vyhne kolizím. Tento robot se může pohybovat dopředu a dozadu a otáčet se na místě v obou směrech. Na přední straně robota je senzor vzdálenosti. Nyní, když jsme definovali svého robota, začněme se podívat, jak se chovat.

Co je to smysl, přemýšlet, jednat?

Sense, Think, Act je rozhodovací smyčka, kterou lze použít k řešení mnoha robotických problémů, a to je pozoruhodně jednoduché. V tomto případě musí robot pociťovat, zda jsou před ním nějaké překážky. Pak musí přemýšlet, zda se může pohnout kupředu, nebo zda by se měla obrátit nebo obrátit, poté bude na základě tohoto rozhodnutí jednat. Tato stejná logika se může týkat každého robota, s jakýmkoliv senzorem pro téměř jakékoliv chování.

Abychom to skutečně změnili na kód, který můžeme zapsat pro ovládání robota, musíme být konkrétnější. Vytvořme jednoduché chování pro robota takto:

  1. Robot zjišťuje, zda je překážka menší než 3 cm vpředu.
  2. Pokud není překážka, pohybuje se dopředu.
  3. Pokud je překážka, pohybuje se dozadu.

To by bylo velmi snadné přeložit do kódu, ale můžete si uvědomit, že by to mělo za následek, že by robot „uvízl“, když dosáhl zdi. Pohyboval se dopředu, dokud nezjistil stěnu, pak se pohyboval dozadu, dokud to neudělal, pak znovu vpřed a tak dále. Upravme chování následujícím způsobem.

  1. Robot zjišťuje, zda je překážka menší než 3 cm vpředu.
  2. Pokud není překážka, pohybuje se dopředu.
  3. Je-li překážka otočena doleva, pak zpět ke kroku 1.

To bude pokračovat, dokud robot nenajde směr, který nemá stěnu do 3 cm.

Teď máme smysl, myslím, jednat model, který by mohl skutečně pomoci našemu robotu vyhnout se překážkám. Není to zvlášť sofistikovaný model a my bychom mohli přidat mnoho složitosti, abychom zlepšili vyhýbání se překážkám.

I s jednoduchým robotem, velmi složitým smyslem, si myslíme, že akční modely mohou být navrženy tak, aby vytvářely velmi inteligentní chování. To je podstata robotiky - chytrý software v softwaru!

Naše současné chování je trochu neefektivní, protože robot musí třikrát odbočit doleva, aby se otočil doprava. Upravme naše chování následujícím způsobem, a to jako čtvrtý krok k provedení výše uvedených tří kroků:

4. Pokud je překážka, otočí se doleva a pak zpět ke kroku 1.

  1. Robot zjišťuje, zda je překážka menší než 3 cm vpředu.
  2. Pokud není překážka, pohybuje se dopředu.
  3. Pokud je překážka, otočí se vlevo a znovu.
  4. Pokud není překážka, pohybuje se dopředu a smyčka se resetuje.
  5. Pokud je překážka, otočí se doprava a smysly.
  6. Pokud není překážka, pohybuje se dopředu a smyčka se resetuje.
  7. Pokud je překážka, robot se otáčí doprava, dokud není překážka.

Náš robot nyní zkontroluje oba směry, aby zjistil, zda existuje zeď, což znamená, že robot se bude pohybovat efektivněji. Všimněte si, že i jednoduché chování začíná být složitější pro ilustraci, ale pokud si myslíme toto chování jako sérii Sense, Think, Act loop, pak je mnohem snazší porozumět!

A tady to máte. Přijali jsme velmi jednoduchý případ chování Sense, Think, Act a zapracovali ho do pracovního programu pro vyhýbání se překážkám. Byl by to velmi jednoduchý úkol přeložit toto chování do kódu a začít hrát s robotikou! A samozřejmě můžete přidat další senzory vzdálenosti, a dokonce i různé typy senzorů, aby bylo chování ještě sofistikovanější. Nezapomeňte si to rozdělit na Sense, Think, Act a budete s ním schopni pracovat. A samozřejmě, pokud hledáte sadu robotů, která obsahuje tuny volných senzorů, podívejte se na náš Kickstarter!

Podíl

Zanechat Komentář