Git Product home page Git Product logo

linerobot's Introduction

LineRobot

Un programme qui aligne des robots positionnés aléatoirement en les faisant communiquer ensemble sans point de rendez-vous.

Projet de groupe (IUT du Havre) : Programmation Répartie

Problématique : Comment programmer des robots afin qu'ils s'alignent ? (peu importe le sens)

  1. Concevoir un algorithme distribué
  2. Coder l'algorithme 1 robot = 1 machine (plusieurs Thread par robot sans doute...) + 1 machine pour visualiser en "temps réel" la position de tout les robots

Contraintes :

- Tous les robots exécutent le même algorithme
- Ils ont des identifiants non comparables
- Tous les robots en 1 seul point n'est pas un alignement

Hypothèses :

- Chaque robot connait la position des autres de leur point de vue (leur référenciel)
- Les robots peuvent communiquer (optionnel)

Méthode :

- Chaque robot calcule les distances entre chacun.
- On prend les deux robots les plus éloignés.
- On se sert de la droite entre ces deux robots.
- Chaque robot calcule la distance vers la droite et se place dessus. (tourne puis avance)

Chaque robot serveur/client communique ensemble. Le GUI ne fait que récupérer les données que ce transmettent entre les robots. Les robots communique en UDP. (cf. voir après la page 24 du cours)

Exécuter (Windows & Linux) :

All in one (se placer dans le dossier /bin puis exécuter) : cd .. && javac "@compile.list" && cd bin && java LineRobot.MainActivity

linerobot's People

Contributors

lotharieslayer avatar mathispesquerel avatar sonamhava avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

xhcing

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.