wiki:Projects/LabRoCoCo2013

Version 4 (modified by akathrein, 6 years ago) (diff)

--

Lab Course Robot Communication and Coordination - Winter term 2012/2013

The goal of this lab course is to design, develop and test methods to implement communication facilities for intelligent robot agents. The scenario is the RoboCup Logistics League Sponsored by Festo for a group of up to three cooperating robots. By the end of the semester a demonstration should show how the communication facilities can be used to coordinate the robots to cooperatively solve a specific task.

Requirements

Students

  • Anne Kathrein
  • Leonardo Antunes
  • Hendrik Pesch

Advisors

  • Tim Niemueller
  • Stefan Schiffer

Protocol Design

Protocol Design - Phase 1: Kundschaften

In der ersten Phase werden alle Robotinos die Maschinen auskundschaften, bis alle M1 bis M13 festgelegt sind.

  1. Master festlegen
    • masterElectionMessage: ID des Masters
       * Jeder generiert eine Zufallszahl
       * Größte Zufallszahl legt den Master fest (falls selbe gewürfelt wiederhole)
      
  1. Master legt Ablauf zum Verteilen der S0s auf die Maschinen fest
 * Message 1.1 Auftrag zuweisen: Master -> alle (z.B. S0 muss nach M5)
 * Auftrag Annahme R_i -> alle
 * Auftrag Bestätigung Master -> alle (Wenn auftrag zurückgewiesen wurde kann R_i sich für neuen Auftrag bewerben)

  1. Aufträge werden im Worldstate gespeichert
  • Zustände: neu, in bearbeitung von R_i, fertig
  • Message: Worldstate update
* Machine type changed
* Machine state changed
  1. Aufwandsapproximation:
  • Robotino i erstellt normalisierten Vergleichswert (zB. Distanz , Travelpath) bei Annahme des Auftrages und sendet information an Master
  • Dieser Wert kann soll auch für die Auswahl des zu bestätigenden Auftrages verwendet werden
  • Master entscheidet basierend auf diesem score welcher Robotino den Auftrag erhält

Robotino Slave Agent: Test Routine

Task: Primary Robotino wants to produce S2 at a T2. For this he assigns a sub-task to a secondary robotino. The subtask is to get an S0 to the T2. The primary robotino gets the S1 by getting an S0 -> T1 which produces an S1.

  1. Implement Slave Agent
  • Integrate communication Commandline-Tool -> Slave
  • Slave gets start fact
  • Slave picks up S0 and brings it to T2
  • Leave T2 again
  1. Network communication Master -> Slave
  • read out messages of master
  1. Master-clips-rules
  • add clips rules to:
  • assign subtask to robotino
  • perform own tasks
  1. Complete communication Master -> Slave
  1. Locking