GithubHelp home page GithubHelp logo

ip_dz2's Introduction

Robot za spašavanje ljudi iz potresa

Nakon strašnih događaja koji su u proteklih dvije godine zahvatili Hrvatsku u obliku potresa u Petrinji i Zagrebu, naša firma ABĐ (Avirović, Basioli, Đurić) odlučila je izgraditi robota koji traži ljude u ruševinama. Za fizičku implementaciju robota unajmili smo vanjske suradnike dok smo mi razvili jezik koji omogućuje programiranje ovog robota. Minimalistički i intuitivni programski jezik koji u nekim aspektima izgleda kao dijete C-a i Pythona jednostavan je za naučiti te njime svako može zadati robotu niz instrukcija kojima možda može spasiti život.

Robot je sposoban uočiti čovjeka kada mu se nalazi dovoljno blizu te oglasiti alarm po potrebi. Međutim kako se dogodio potres robot može naići na prepreke. Neke od ovih prepreka robot može vidjeti, ali zbog grešaka pri dizajnu senzora (vanjski suradnici nažalost nisu išli na PMF) robot ponekad nije siguran što vidi. U tom slučaju robot nasumično odabire hoće li izvršiti neki niz naredbi.
Ukoliko robot dođe na prepreku nažalost će umrijeti.

Implementacija i rad sa programom

Primjere programiranja robota možete vidjeti u datoteci pokazni_primjeri.py, a za one znatiželjne o tijeku razvoja programa pogledajte i datoteku testovi.py.

Za znatiželjne u datoteci nazvanoj kodnim imenom ip_dz2.py moguće je pronaći lekser, parser te AST-ove za programski jezik.

Rad robota izvršava se na nekoj okolini. Simulacija toga je jasno vidljiva u primjerima. Da bi sve radilo kako je očekivano potrebno je predati matricu znakova "vidljiva_okolina" i "okolina" te početne koordinate robota "posX" i "posY".

Elementi matrice "okolina" su znakovi:

  • "." - prazno polje
  • "C" - čovjek na polju
  • "#" - prepreka

Elementi matrice "vidljiva_okolina" su isti znakovi uz dodatni znak "?" koji simbolizira da robot ne zna što se tamo nalazi. Na istoj poziciji na polju "okolina" može stajati bilo koji od prije navedena tri znaka.

ip_dz2's People

Contributors

basioli-k avatar iavirovic avatar duricant avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.