09.02.2013 Aufrufe

Thesis - RWTH Aachen University

Thesis - RWTH Aachen University

Thesis - RWTH Aachen University

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

F.1 S-GOLOG Programm für das Testszenario 233<br />

Für das eigentliche Greifen, muss man zuerst überprüfen, ob das Objekt in Reichweite liegt. Da der<br />

LLP fünf mögliche Greifmethoden zur Verfügung stellt, sollte die beste Methode 4 als erstes ausgewählt<br />

und ausprobiert werden. Das Konstrukt alternative ... do von S-GOLOG bietet die<br />

Möglichkeit, anhand einer Präferenzdatei, die aus der Analyse der Daten vergangener Missionen ermittelt<br />

wird, die Reihenfolge der Aktionen so umzustellen, dass der Roboter die erfolgversprechendste<br />

Methode als erste ausprobiert.<br />

action take_object(Obj)<br />

llp_in_range(Obj);<br />

alternative whichtake do<br />

llp_take_object_1(Obj);<br />

or<br />

llp_take_object_2(Obj);<br />

or<br />

llp_take_object_3(Obj);<br />

or<br />

llp_take_object_4(Obj);<br />

or<br />

llp_take_object_5(Obj);<br />

end;<br />

end;<br />

Entsprechend gibt es auch für das Ablegen eines Objektes zwei mögliche Methoden:<br />

action put_object(Obj,Pos)<br />

alternative whichput do<br />

llp_drop_object_1(Pos);<br />

or<br />

llp_drop_object_2(Pos);<br />

end;<br />

end;<br />

Die Prozedur gotoPlaned versucht einen Pfad zu finden, der die mobile Plattform von der aktuellen<br />

Position zur Zielposition am Objekt führt, falls mobiler Manipulator und Objekt sich im selben Raum<br />

befinden. Falls dies nicht der Fall ist, dann findet zuerst eine nicht deterministische topologische<br />

Suche mit go_to_room(room) statt, um einen Weg zu dem Raum zu finden, in dem sich das<br />

Objekt befindet. Anschließend wird für jeden einzelnen zu durchquerenden Raum ein geometrischer<br />

Pfad zwischen Eingang und Ausgang mit dem Routenplaner ermittelt. Da jedoch das Testszenario<br />

nicht mehrere Räume berücksichtigt, wird diese Möglichkeit hier nicht weiter analysiert.<br />

action gotoPlaned(World, Pos)<br />

llp_get_room(Pos);<br />

pick room do<br />

test room = last_querry[];<br />

go_to_room(room);<br />

4 Die beste Methode wird anhand einer aus früheren Missionen erstellten Erfolgsstatistik ermittelt.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!