Jeffrey Cross
Jeffrey Cross

Роботика за почетнике: разумевање како функционишу једноставни сензори

Да би се робот заиста сматрао роботом, он мора бити способан да осети и утиче на своју околину. Зато су сензори толико битни за роботику, а разумевање како их користити да би робот био паметан, је од виталног значаја за сваког роботичара. Недавно сам покренуо Кицкстартер и заправо дајемо бесплатне сензоре са сваким комплетом који продајемо, па га проверите овде пре него што заврши!

У овом Скилл Буилдер-у провест ћу вас кроз операцију робота која се зове сенсе> тхинк> ацт. То је операција која се широко користи у роботици и одлично је место за почетак разумевања како програмирати робота. Заронимо у…

Избор сензора

Доступан је онолико сензора колико има физичких ствари, али хајде да употребимо ХЦ-СР04 ултразвучни сензор, јер је јефтин, једноставан и широко коришћен у роботици (такође има веома згодну Ардуино библиотеку).

Дефинисање модела робота

Овај сензор може открити удаљености, па почнимо са једноставним роботом који избјегава сударе. Овај робот може да се креће напред и назад и окреће се на лицу места у оба смера. На предњој страни робота налази се сензор удаљености. Сада када смо дефинисали нашег робота, хајде да почнемо да истражујемо како да се понашамо.

Шта је Сенсе, Тхинк, Ацт?

Сенсе, Тхинк, Ацт је петља одлуке која се може користити за решавање многих роботских проблема, и то је изузетно једноставно. У том случају робот мора да осети да ли има било каквих препрека испред њега. Затим мора размислити да ли може да крене напријед или да се окрене или преокрене, након чега ће реаговати на ту одлуку. Иста логика се може применити на сваког робота, са било којим сензором за скоро свако понашање.

Да бисмо ово претворили у код који можемо написати да бисмо контролисали робота, морамо бити прецизнији. Направимо једноставно понашање робота на следећи начин ...

  1. Робот осети да ли је препрека мања од 3 цм испред.
  2. Ако нема препреке, она се креће напред.
  3. Ако постоји препрека, она се враћа уназад.

То би било врло лако превести у код, међутим, можда ћете схватити да би то резултирало да се робот "заглави" осцилирајући када је стигао до зида. То би се кретало напријед док не би открило зид, а затим се померило унатраг све док то не би било, а затим опет напријед, и тако даље. Хајде да модификујемо понашање на следећи начин.

  1. Робот осети да ли је препрека мања од 3 цм испред.
  2. Ако нема препреке, она се креће напред.
  3. Ако постоји препрека, скреће лево, а затим се враћа на корак 1.

Ово ће се наставити све док робот не пронађе правац који нема зид унутар 3цм.

Сада имамо смислени, мислећи, дјелујући модел који би заправо могао да помогне нашем роботу да избјегне препреке. То није посебно софистициран модел и могли бисмо додати много сложености како бисмо побољшали избјегавање препрека.

Чак и са једноставним роботом, веома комплексним смислом, могу се осмислити модели који стварају врло паметна понашања. То је суштина роботике - паметна у софтверу!

Наше тренутно понашање је мало неефикасно јер робот мора скренути лево три пута, само да би скренуо десно. Хајде да модификујемо наше понашање на следећи начин, као четврти корак да следимо три горенаведена корака:

4. Ако постоји препрека, скреће лево, а затим се враћа на корак 1.

  1. Робот осети да ли је препрека мања од 3 цм испред.
  2. Ако нема препреке, она се креће напред.
  3. Ако постоји препрека, она скреће лево и поново осети.
  4. Ако нема препреке, она се помера напред и петља се ресетује.
  5. Ако постоји препрека, она се поново окреће удесно и чула.
  6. Ако нема препреке, она се помера напред и петља се ресетује.
  7. Ако постоји препрека, робот се окреће удесно док не буде препреке.

Сада ће наш робот проверити оба правца да види да ли постоји зид, што значи да ће се робот кретати ефикасније. Обратите пажњу на то како чак и једноставно понашање почиње да постаје сложеније за илустрацију, али ако о том понашању размишљамо као о серији Сенсе, Тхинк, Ацт петље, онда постаје много лакше разумети!

И ево га. Узели смо врло једноставан случај Сенсе, Тхинк, Ацт понашања и разрадили га у радни програм за избјегавање препрека. То би био врло једноставан задатак превести то понашање у код и почети се играти са роботиком! И наравно, можете додати више сензора удаљености, па чак и различитих типова сензора како би понашање било још софистицираније. Само запамтите да га разврстате у Сенсе, Тхинк, Ацт и моћи ћете да се носите с тим. И наравно, ако тражите роботски комплет који укључује тоне бесплатних сензора, проверите наш Кицкстартер!

Удео

Оставите Коментар