Naujas laimikis turguje – Cybot robotas

cybot

Pas mane jau liga: nuėjus į sekmadieninį blusų turgų ieškoti papigiai daiktų, kuriuos po to galėčiau rakinėti. :) Šiandienos egzempliorius iš viso beveik svajonė: 2000 metais išleista Cybot robotų kūrimo platforma, kurios fotosesijoje taip pat dalyvauja Fyfa. :) Kas dvi savaites buvo išleidžiamas žurnalas kuris aprašydavo vis naują šio modulinio roboto dalį. Už 2 svarus man atiteko tik labai maža tos platformos dalis:

  • Reklaminė video kasetė, kurios plastmasinės dalys bus išardytos ir kam nors panaudotos;
  • Pats robotas, tiesa kiek palūžęs;
  • Didelė dalis elektronikos, kartu su ultragarso, šviesos ir IR sensoriais.
  • IR programų pasirinkimo ir valdymo pultas. Pultelis turi gan neblogą LCD ekraną ir daug mygtukų, su robotu bendrauja per IR;
  • Kažkokia atsarginė IR dalis;
  • Buzzeris;

cybot-electronics

Pati elektronikos platforma yra uždara, tiesa kai kam ją pavyko išanalizuoti. Ji sudaryta iš daug mažų plokščių ir jungčių todėl sujungti visą robotą net nereikalingas lituoklis.

cybot-bottom

Dugne matosi du varikliukai valdantys po vieną ratą, IR sensorius apačioje, jei nori padaryti liniją sekantį robotą ir trūkstamas vienas aplink savo ašį besisukantis ratas. Be jo robotas kaip ir negali važiuoti, todėl galvoju čia panaudoti kokį baldų ratuką.

Artimiausias darbas dabar: išrakinėti dalimis ir išsiaiškinti kiek iš šios platformos dalių man pavyks panaudoti savo projektams.

Roboto logika

robot-logic-main-cut

Pagaliau atrodo pavyko parašyti tokį kodą, kad mano robotas važinėtų po kambarį išvengdamas kliūčių be jokios pagalbos. Pradėsiu nuo teorinės dalies: roboto logika.

Roboto navigacijos tikslas buvo paprastas: aptikus kliūtį apsidairyti, surasti laisvą kelią, pasisukti į tą pusę ir toliau važiuoti nauju keliu iki kitos kliūties. Aš esu iš tų programuotojų, kurie daugiau stengiasi panaudoti jau kažkieno sukurtus algoritmus ir idėjas, bet šiuo atveju man nepasisekė: niekur negalėjau rasti man tinkamo jau sukurto kodo todėl teko viską kuri pačiam nuo nulio. Sudėliojus pradinį logikos variantą viskas atrodė nesudėtinga, bet realiai susidūriau su keletu labai įdomių iššūkių. Continue reading