Collaborative Robots Workshop - Scifest 2009

Original version (French): RobotCollaboratifs

Proposal v.1.0-en

I- General

  • Title: Robots invade Mars! [TO BE IMPROVED !]
  • Topic : Introduction to collaborative robotics.
  • Public : groups of 8 to 12, from 13 years old.
  • Duration : 3 hours
  • Required supplies : cf section V for details, but mainly 4 Wifi-enabled computers (if possible, XO), 4 robots + playground, blackboard, chalks, paper…

II- Summary

A team of 4 robots is under participants' control to start an ore prospection mission on Mars [Well… for instance! :-) ]. Particpants split in 4 teams, each of them in charge of one robot. The first part of the workshop is dedicated to get the robots to be individually operational, and during the second part, the whole group has to set up a common strategy to coordinate the different robots for them to autonomously find, extract and bring back ore to the space base.

Playground example

III- Workshop details

We have 4 robots: the Explorer Robot, responsible for ore discovery, the Driller [?] Robot, the Conveyor Robot, responsible for bringing back ore at the base and a Communicator Robot. Those robots are provided by the organisators (cf technical details) and will be easily controlled from the SqueakBot environment.

The teams must program the motion of their robots to fulfill the individual missions and allow the most effective collective gathering of ore. The main constraints are limited robot autonomy (they have to regularly reload on (virtual) power station) and the global time allowed for the mission (about 10 min). At the end of the mission, the complete quantity of collected ore is mesured.

Playground

The playground is a grid of about 8×8 cells (cf schematic). Some of these cells are “special”:

  • the space base: ore must be returned there,
  • power stations: when a robot enters one of these cells, its motion “credit” is put to the full level,
  • ore deposits, whom locations are not known by the robots at the beginning,
  • possibly, mountains, i.e. obstacles.

Robots

[TRANSLATION NOT YET FINISHED!]

Les robots démarrent avec 30 points d'énergie.

Chaque déplacement d'une case à une autre coûte 1 point, et chaque action spéciale du robot coûte 2 points. Quand un robot envoie un message, ça lui coûte 1 point d'énergie. Les messages doivent tous passer par le robot communication, et celui-ci doit être à 2 cases ou moins pour entendre le message.

Ainsi, le robot explorateur a pour mission de détecter les gisements de minerai. Chaque déplacement lui coûte 1 point d'énergie. Faire un test de gisement lui coûte 2 points d'énergie. Quand un gisement est détecté, il peut le communiquer au robot communication. L'envoi d'un message coûte 1 points d'énergie, et le robot communication doit être à 2 cases (y compris en diagonale) ou moins pour entendre le message.

Le robot foreur doit aller sur les gisements pour extraire le minerai. Une fois sur place, il extrait une unité de minerai toutes les 10 sec, et ça lui coûte chaque fois 1 point d'énergie.

Le robot convoyeur va sur les gisements d'où le minerai a été extrait et ramène le minerai à la base. Le chargement d'un tas de minerai (quelque soit le nombre d'unité de minerai) lui coûte 1 point d'énergie.

Et le robot communication, lui, sert à relayer les différents messages. Il est le seul à toujours connaitre la position de tous les autres robots et doit toujours être à 2 cases ou moins pour échanger un message. Les autres robots ne connaissent que la position du robot communication.

Il y a seulement 3 types de messages possible : - “gisement trouvé à la case X Y” - “X unités de minerai disponible à la case X Y”

IV- Workshop timeline

For 3 hours, ie 180 min

  1. Min 0-10 (10 min) : welcome, organisation of teams, mission presentation;
  2. Min 10-30 (20 min) : presentation of Squeak and the robots, first steps with Squeak;
  3. Min 30-90 (50 min) : each team learn how to control its robot, creation of sample scripts to be reused during the second part of the workshop;
  4. Min 80-90 (10 min) : presentation of each robot role, explaination of communication system between robots;
  5. Min 90-115 (25 min) : first step of programming robots functions;
  6. Min 115-130 (15 min) : first test;
  7. Min 130-150 (20 min) : refinement of first programs;
  8. Min 150-180 (30 min) : mission launch !

V- Détails techniques

Le matériel

Les robots seront probablement des robots iCreate que nous connaissont bien à Planète Sciences via Robotcité. Ce sont des robots sur batteries d'une vingtaine de centimètre de diamètre. Les cartes d'extension permettant de les contrôler à distance sont en cours de développement au sein du secteur. On pourra donc facilement les contrôler via Wifi.

En plus des robots, l'atelier nécessite 4 ordinateurs (un par équipe) susceptible de faire tourner Squeak avec, de plus, une connection Wifi opérationnelle.

Afin de rendre l'atelier plus attrayant, un terrain d'évolution pourra être réalisé, avec la contrainte de rester plat sur les zones où les robots évolueront (on peut imaginer l'équivalent de tapis pour les petites voitures, qui soit un peu joli et facilement déroulable sur le sol). Il devrait faire environ 3X3m, à vérifier en fonction de la taille des robots.

SqueakBot

Les jeunes disposent de commandes simples permettant de déplacer leur robots d'une case dans la direction qu'ils souhaitent. Ils ont aussi à disposition l'information du nombre d'actions permises par leur réserve d'énergie et une carte de la zone avec les positions de la base, des stations de recharge et des gisements de minerai au fur et à mesure de leur découverte. Ils peuvent, enfin, décider d'envoyer un message si certaines conditions sont remplies.

Fonctions à disposition des jeunes dans SqueakBot : - tourneDroite (tourne et avance d'une case) - tourneGauche (idem) - avance (d'une case) - recule (d'une case) - positionStationRechargeLaPlusProche - positionBase - positionRobotCommunication - positionLaPlusProchePourCommuniquer (puisqu'il suffit d'être à deux cases du robot communication pour envoyer un message) - attend (avec un nombre de secondes)

Fonctions spécifiques à certains robots : - positionRobotExplorateur - positionRobotForeur - positionRobotConvoyeur - envoieMessageGisementTrouvéIci - envoieMessageMineraiDispoIci (avec le nb d'unités)

Fonctions que les jeunes doivent créer dans la première partie de l'atelier - distanceJusquA (avec les coordonnées d'une case) - vaA (avec les coordonnées d'une case)

Limites spécifiques

Le projet est assez ambitieux (donc intéressant !)

Pour ne pas rendre le projet trop complexe, voici les limites à la simulation : - les robots sont là pour illustrer et donner une dimension concrête à l'expérience, mais toute la “logique de jeu” est gérée par SqueakBot. - recharge, tests de gisements, chargement du minerai instantanés. - la gestion des collisions est réalisée par le logiciel, et fait “attendre” un robot si risque de collision. - pas de “forage” ou récupération réelle. L'animateur dépose à la main un nombre de boulons (ou autre chose pour représenter le minerai) proportionnel au temps que le robot de forage reste sur une zone de forage.

VI- Remaques diverses

- C'est ambitieux… ah non, ça je l'ai déjà dit. - Une version light (sans les aspects collaboration) peut facilement être mise en place pour des plus jeunes. On peut y ajouter quelques jeux sympas pour comprendre l'idée de programmation. - Pas de petit objet que les enfants peuvent ramener chez eux, si ce n'est Squeak qu'on peut leur graver sans problème.

 
collaborativerobotsworkshop.txt · Last modified: 2008/09/04 14:58 by skadge
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki