Home
User Manual PG
Contents
1. gt oe as _ LE a ee oe s ee Bun Bu v A J d s eaer E Cre yy m Fays W Spee gas a6 Ev 8488 a tlie sot 10 Teas vite A B Far cm RO erea A B Relay d Abbildung 2 Measurement GUI with different charts types 1 To start measurement frame work click on button in Kernel GUI red To display relevant data choose a robot in the tree then set data right on the table which should be displayed 2 With checkboxes in the table you can add and remove charts tabbeds yellow Overview of robot types in simulation This option can be selected at any time prior choose a robot is not necessary The charts provide some mostly futile features color amp title change store as picture etc to try out all options click with right mousebutton on chart it appears is a dialog try all options it s not much 3 EditorGUl Die Benutzeroberfl che Abbildung 3 wurde so konzipiert dass damit der Be nutzer problemlos verschieden komplexe Karten erstellen kann Die grafische bersicht zeigt die bedeutenderen Programmkomponenten Auf den folgenden Seiten werden die Bestandteile und Funktionen jeder dieser Komponenten im Detail erl utert File Edit Extras Help Dptionspalette Statuszeile Abbildung 3 Buenutzeroberfl che 3 1 Die Bigmap Die Bigmap ist die Zeichenfl che in der man mit Hilfe der Mouse verschieden groSe Hindernisse einze
2. ndert werden k nnen Delete Der Knopf Delete wird die selektierte Zeile gel scht Gel scht werden k nne alle Zeilen sprich Robotertypen bis auf die erste Zeile die Zeile der Homebase 3 7 1 Die Tabelle Die Zellen der Tabelle beinhalten verschiedene Eigenschaften eines Roboters Zellen die grau sind k nnen nicht bearbeitet werden 10 11 Robotertype Gibt den Robotertyp an Es gibt nur sechs verschiedene Robotertypen Homebase Explorer Worker Transporter Multiroboter Realy Der Robotertyp wird sofort beim Einf gen einer neuen Zeile ge setzt und kann im nach hinein nicht nicht mehr ver ndert werden Roboternumber In dieser Spalte l sst sich die Roboteranzahl einstellen Bis auf die Homabase die nur einmal vorhanden ist und die Anzahl nicht ver ndert werden kann kann es von den anderen Robotertypen beliebig viele geben Viewradius In dieser Spalte l sst sich der Sichtradius eines Roboters einstellen Der Sichtradius muss gr Ser als das Doppelte der Geschwindig keit des Roboters sein und kleiner als der Kommunikationsradius Communicationradius In dieser Spalte l sst sich der Kommunikati onsradius eines Roboters einstellen Der Kommunikationsradius darf nicht kleiner als der Sichtradius werden Flagsnumber In dieser Spalte l sst sich die Anzahl der mitgef hrten Flags einstellen Die Anzahl der Flags darf die Gr Se des Containers nicht berschreiten Load Energy Zu Begi
3. Extras Help Generator Manage treasure amount Robot configuration T Abbildung 9 Dialogfeld zur Einstellung des Zoomfaktors e Generator Startet den Generator Weitere Informationen zum Genera tor siehe im Benutzerhandbuch zum Generator Manage treasure amount ffnet ein neues Fenster mit einer Liste aller Sch tze in der die Gr e der Sch tze bearbeitet werden kann Weitere Informationen unter Schatzgr Se bearbeiten e Robot configuration ffnet ein neues Dialogfenster in der die Robo terkonfiguration erstellt werden kann Das Fenster wird aber erst dann ge ffnet wenn die Homebase gesetzt ist ansonsten wird mitgeteilt dass die Homebase zuerst gesetzt werden muss bevor die Roboterkonfigura tion erstellt werden kann Weitere Informationen unter Roboterkonfigu raiton 3 5 4 Das Helpmen Das Helpmen ffnet dieses Benuzterhanbuch 3 6 Sch tze verwalten Mit Hilfe dieses Dialogfelds Abbildung 10 l sst sich nachtr glich die Gr e jedes einzelnen Schatzes ndern Jeder Schatz wird mit seiner Position und seiner Gr Se in der Liste angegeben Um Die Gr e eines Schatzes zu ndern einfach in die entsprechende Zelle in der die Gr e steht klicken und die neue Gr Se eintragen Um die neuen Werte zu bernehmen auf Save klicken Falls die Aktion abgebrochen werden soll auf Cancel klicken IO Mange treasure amount _ O X Position Amount
4. X 19 0 y 16 0 55 x 40 Yy 24 0 2 X 60 Veit 200 216 0 iy 24 90 100 x 230 y 280 1 x 24 0 y 4 0 66 Save Cancel Abbildung 10 Dialogfeld fiir die Schatzverwaltung 3 7 Roboterkonfiguration Mit diesem Dialogfeld siehe Abbildung 11 l sst sich eine Roboterkonfiguration erstellen Bevor das Dialogfeld aber ge ffnet wird muss zuerst die Homebase auf der Karte platziert werden Wahrend der Bearbeitung der Roboterkonfiguration kann die Position der Homebase nicht mehr ver ndert werden Das Dialogfeld ist in drei Bereiche unterteilt Im oberen Bereich befinden sich Buttons mit dennen Dateien geladen gespeichert werden k nnen e New Mit dem Knopf New wird eine neue Tabelle erstellt die lediglich die Homebase mit ihren Defaulteigenschaften enth lt e Add Mit dem Knopf Add kann eine bereits vorhandene Roboterkonfi guration zu der aktuellen Roboterkonfiguration hinzugef gt werden Da bei beliebt die Position der akutellen Homebase erhalten sowie ihre Ei genschaften e Load Mit dem Knopf Load wird eine bereits vorhandene Roboterkon figuartion geladen die aktuelle Roboterkonfiguartion wird dabei gel scht Lediglich die Position der Homebase wird behalten Damit wird versichert dass die Homebase auf keinenm Hindernis steht lm Robotconfiguration Add Load Save Bucketgrabsize Bucketputsize Strategy 2147483647 2147483647 src de upb smar
5. leere Karte erstellt Zuvor muss jedoch noch angegeben werden wie gros die Karte werden soll siehe hierzu die Abbildung 6 Der Maximalwert liegt bei 97m New Terrain Terrain size mx m 24 kH 16 0 New terrain Cancel Abbildung 6 Kartengr se angeben Load terrain ffnet ein Dialogfeld in dem man eine bereits vorhandene Karte ausw hlen kann und diese in den Editor laden Es k nnen nur xml Dateien geladen werden Load treasure objects ffnet ein Dialogfeld in dem man eine Datei ausw hlen kann die Sch tze enth lt und diese in den Editor laden Es k nnen nur xml Dateien geladen werden Save terrain ffnet einen Dialogfeld in dem man die erstellte Karte unter einem eigenem Namen speichern kann Die Datei kann nur als xml Datei gespeichert werden Save treasure objects ffnet einen Dialogfeld in dem man die erstellten Sch tze unter einem eigenem Namen speichern kann Die Datei kann nur als xml Datei gespeichert werden e Save all Die Sch tze und die Hindernisse werden jeweils in einer eige nen xml Datei gespeichert Siehe dazu Save terrain und Save treasure objects e Exit Beendet das Programm Falls Anderungen vorgenommen worden sind die noch nicht gespeichert wurden Wird abgefragt ob die Anderungen gespeichert werden sollen 3 5 2 Das Editmen Das Editmen enth lt Befehle f r das Bearbeiten einer Karte siehe dazu die Abbildung 7 In diesem Men k nnen Sie w
6. set the next action by putting it into the robot s action list if you want to make the robot do something The different existing elemen tary actions as well as the mentioned action list are explained in the package robot strategy of the API However to gain a deeper insight into how to implement a strategy and which given structures you can make use of please read the following chapters 4 1 The superclass Every concrete strategy extends the abstract class Strategy in the package robot strategy This superclass includes three methods to be implemented in every child class namely boolean isApplicableTo RobotType robotType void compute and void initDataManagement IDataParameters parans These methods are described in section 4 3 Besides a bunch of getters given in the following list allows you to access the data module of the robot You can find detailed information about all the provided interfaces in the API in the package robot strategy dataaccess e IStaticMapData getStaticMap returns access to information about the robot s position the exploration progress of the map obstacles in the robot s view radius the path planning algorithm and so on e IDynamicMapData getDynamicMap returns access to information about dynamic objects in the robot s view radius and communication radius i e other robots treasures and flags e IMessageData getMessageData enables the robot to get received mes sages and to send messa
7. User Manual PG Smarteam 1 Kernel GUI lt lt PSE Es wird versucht die Roboter Konfigurationsdatei in Host 192 168 1 34 Fiiworkspaceismarteamiresourcesixml_FilestroboteriallRobotTypes xml einzulesen Die XML Datei allRobotTypes xml ist wohl formatiert und valide Port 16724 default Aus der Roboter Konfigurationsdatei allRobotTypes xml wurden 44 Roboter Konfigurationen erstellt Connected vis 0 Simulation fortgesetzt Simulation pausiert Round 1 Random seed 3694673281 365266 gt In ml au Abbildung 1 GUI to control the simulation red With play pause and stop buttons the simulation can start pause and continue The user can informed on textfield above the buttons blue With this slider you can change speed of simulation gelb Here you can start the measurement frame work 2 Measurement GUI Robots Measurements robot position E Homebase ID 0 J Transporter gt Explore D j Measurment control E siox L 10 7 Dm 9 1 Dios a Do 1 Dios Do 3 Do 2 Di 10 D 5 gt cI Worker Cf Relay D 0 43 Dos Mo 42 JODOE Kollision zwischen Robe Aktionen in Aktion List __ Fullstand des Containers _ 5 l 3 pooner Opti update interval 10 4 j auto remove twrawnves esis as email anergy speed and flags total nummer af robate aa a gt
8. actic HeadForCloseUnexploredRegion Load 0 Energy 99 02 menu bar 1 main view 2 mini map 3 detail view 4 totally explored map 5 by single robot explored map 6 recorded paths of a robot 7 Abbildung 12 The visualization 5 1 Menu Bar A connection to the kernel can be established via the connect button In the following dialog the host can be selected by its IP or name If the kernel is not running on its default port shown by a missing default in the port entry of the kernel GUI the port has to be attached to the IP or name with a colon 66099 The following buttons are only available if connected to a kernel the ping button makes it possible to test whether the kernel is still alive and working Play pause stop buttons and the speed bar have the same functionality as in the kernel The Show explored terrain button activates a mode in the 2D view darkening the terrain that has not yet been explored by any robot see 5 in figure 12 It is possible to let the visualization automatically connect to a kernel when starting This can be set via command line option Dde upb smartteam visu autoconnect hostname 5 2 2D View main view or mini map Here anything is shown in 2d bird s eye view The explored terrain of one ore more robots can be displayed as well as the ways single robots have run see 5 6 and 7 in figure 12 In the mini map one also can see and manipulate the
9. ahlweise alle Hindernisse auf der Karte l schen alle Sch tze entfernen oder beides und Sie k nnen den Zoomfak tor einstellen File Edit Extras Help Clear terrain Clear treasure objects Clear all Zoom factor Abbildung 7 Das Editmenii e Cleare terrain Alle Hindernisse auf der Karte werden entfernt Zuvor wird aber nochmal nachgefragt ob alle Hindernisse entfernt werden sollen e Cleare treasure objects Alle Sch tze werden von der Karte entfernt Zuvor wird aber nochmal nachgefragt ob alle Sch tze entfernt werden sollen e Cleare all Alle Hindernisse und Sch tze werden von der Karte entfernt Zuvor wird aber nochmal nachgefragt ob die Operation durchgef hrt wer den soll e Zoomfactor Es ffnet sich ein Dialogfeld Abbildung 8 in dem der Zoom faktor sprich der Vergr Serungsfaktor mit dem die Ansicht in der Big map skaliert wird eingestellt werden kann Den Wert in dem Spinner ein stellen und anschliesend auf den Knopf Zoom klicken um den Wert zu bernehmen ansonsten auf Cancle wenn die Aktion abgebrochen wer den soll Der Maximalwert liegt bei 10 und der Minimalwert bei 10 3 5 3 Das Extramen Das Extramen enth lt Befehle mit denen Sie einen Generator starten die Sch tze verwalten und eine Roboterkonfiguration erstellen k nnen Abbildung 9 Zoom factor Zoom factor se Zoom Cancel Abbildung 8 Die EinstellungsGUI fiir den Zoomfaktor File Edit
10. darf die Gr Se 12 13 des Containers nicht berschreiten Es wird zwischen der Schaufel zum Aufladen und der Schaufel zum Abladen unterschieden Bucketputsize In dieser Spalte gibt man die Gr Se der Schaufel an die einen Schatz abl dt Der Transporter und der Multiroboter enthalten jeweils eine Schaufel zu Abladen Die Gr se der Schaufel darf die Gr Se des Containers nicht berschreiten Es wird zwischen der Schaufel zum Aufladen und der Schaufel zum Abladen unterschieden Strategy In den letzten beiden Spalte l sst sich die Strategie ausw hlen nach der jeder Roboter agiert Die Zellen der letzten Spalte enthalten jeweils einen Button Nach Bet tigung dieses ffnet sich ein Auswahldialog in dem die Strategie ausgew hlt werden kann Der Pfad der Strategie wird dann in dem Textfeld angezeigt Es aber auch m glich den Pfad per Hand in das Textfeld einzutragen 4 How to Build a Strategy A strategy controls the behavior of a robot in its environment Since the ro bot s knowledge about the environment continually changes the strategy has to plan the robot s actions round by round That is it has to analyze its current knowledge and to compute the action to be executed next every round So here is what you have to do when building a strategy in short Crea te a class MyStrategy extends Strategy Strategy belongs to the package robot strategy and implement the abstract method void compute In this method you have to
11. dernisse gel scht Drawing big obstacles Es werden gro e rechteckige Hindernisse ge zeichnet Dabei wird beim ziehen der Mouse mit gedr ckter Mousetaste die Gr Se des zu zeichnenden Hindernisses festgelegt Deleting big obstacles Es werden groSe rechteckige Hindernisse gel scht Dabei wird beim ziehen der Mouse mit gedr ckter Mousetaste die Gr se des zu l schenden Bereichs definiert Drawing treasures Es werden Sch tze platziert Deleting treasures Es werden Sch tze entfernt Setting the homebase Die Homebase wird platziert Deleting the homebase Die Homebase wird entfernt Drawing fast small obstacles Es werden viele kleine Hindernisse bei gedr ckter Mousetaste hintereinander gezeichnet vergleichbar mit einem Stift Deleting fast small obstacles Es werden viele kleine Hindernisse bei gedr ckter Mousetaste hintereinander gel scht vergleichbar mit einem Radiergummi Folgende Kn pfe sind auf der Optionspalette enthalten e Draw Zeichenmodus aktivieren um Hindernisse zu zeichnen oder Sch tze oder die Homebase zu setzen e Delete L schmodus aktiveren um Hindernisse zu l schen oder Sch tze oder die Hombase zu entfernen e Fast Schnellmodus aktivieren um kleine rechteckige Hindernisse bei ge dr ckter Mousetaste entlang des Mousepfades zu zeichnen oder zu l schen e Normal Normalmodus aktivieren bei dem jeweils nur ein Hindernis ein Schatz oder die Homebase gesetzt bzw gel scht
12. ges to other robots e IContainerData getContainerData can be used to access the contai ner of the robot and e IRobotFeatures getRobotFeatures returns access to the skills of the robot simulation settings size of map number of robots and so on In contrast to the other interfaces IRobotFeatures can be found in the package robot itself At last there are four further methods ActionList getActionList returns the action list of the robot which is important for every strategy The next secti on 4 2 deals with this list TacticManager getTacticManger returns access to the tactics of the robots and using String getNameOfPerformingTactic and void setNameOfPerformingTactic String name you can set the name of the robot s current tactic for output purposes See section 4 5 for the use of tactics 4 2 Actions and the Action List A robot can perform one so called elementary action per round Only a limited set of such actions exists the robot can move it can excavate load or unload ground objects i e treasures or flags and it can reload its energy at its start position of course it may also do nothing The available elementary actions can be found in the package robot strategy of the API To perform an ac tion a robot must insert this action into its action list class ActionList in robot strategy After the robot has finished its computations the first ac tion in the list is automatically executed and deleted f
13. ichnen Sch tze sowie die Homebase platzieren kann Die Bigmap an sich zeigt einen Ausschnitt der Karte Die Gr e des Ausschnittes h ngt dabei von dem Zoomfaktor ab Je gr ser der Zoomfaktor desto mehr wird in die Karte hinein gezoomt Mit Hilfe der Schieberegler die sich rechts und unten befinden l sst sich der Ausschnitt der Karte verschieben 3 2 Die Minimap Die Minimap dient dazu die gesamte Karte auf einen Blick zu zeigen Der Be reich der gr n umrandet ist zeigt den Ausschnitt der im Moment in der Bigmap angezeigt wird Durch das Klicken mit der Mouse in der Minimap l sst sich der betrachtet Ausschnitt der Bigmap an die entsprechende Position verschieben 3 3 Die Optionspalette Die Optionspalette ist eines der wichtigsten Komponenten siehe Abbildung 4 Sie enth lt verschiedene Kn pfe mit denen man den Zeichenmodus einstellen kann Alle Kn pfe die grau sind sind aktiviert und ergeben so den Modus in dem man sich befindet Current mode Adding obstacles Draw Homebase Delete B Fast Treasure amount Normal Treasure I og Abbildung 4 Optionspalette 3 3 1 Current mode Der Current mode zeigt den aktuellen Zeichenmodus an in dem sich der Be nutzer befindet Es gibt insgesamt 10 verschiedene Zeichenmodi 1 10 Drawing slowly small obstacles Es werden einzelne kleine rechteckige Hindernisse gezeichnet Deleting slowly small obstacles Es werden einzelne kleine rechteckige Hin
14. lity on off e change image quality manually shift ctrl faster slower e Y show information about rendering on command line It is possible to de activate the loading of the 3d map permanently or to be asked each time This can be controlled with the following command line option e Dde upb smartteam visu load8D yes always load 3d map e Dde upb smartteam visu load8 D no never load 3d map e no command line option always ask whether to load or not 5 4 Detail View If robots treasures flags are selected further information can be seen in the detail view With the option Show explored terrain see 6 in figure 12 can be displayed what parts of the map are known to the specific robot because of exploration by himself or map exchange with another robot With the option Record visited paths see 7 in figure 12 the recording of the route a robot runs is activated because of technical problems the displayed section will not be moved until the mouse button is released 5 5 Typical Error Messages e no kernel found probably no kernel is started The visualization cannot connect to a kernel until the kernel GUI the window with play button is displayed e Terrain2D could not be loaded probably the relevant v2d file does not exist In the subfolder resources xml_Files topology of the current working directory a file has to exist that is called exactly like the XML file selected in
15. lso use further data structures of your own Strategies need not be useful for every type of robot To define the applicability of a strategy the method boolean isApplicableTo RobotType robotType has to be implemented It must return true if and only if the given strategy shall work for the type robotType You can find the possible concrete robot types in the package robot control ofthe API Six robot types with different restricti ons exist represented by their corresponding classes Explorer Transporter Worker Relay MultiRobot and the HomeBase note that the home base has a predefined and unmodifiable strategy though void initDataManagement IDataParameters params is the last abstract me thod of the class Strategy Via the interface IDataParameters of the package robot strategy dataaccess you can set here and only here what sorts of data the robot shall determine and store anyway For instance if a robot does not use communication at all initDataManagement IDataParameters params should include the following lines params saveRobotsInCommunicationRadius false params saveMessages false The benefit of doing this is immense since it decreases both the running time and the needed space However for the sake of avoiding collisions physically every robot must know about the robots and obstacles in its view radius Thus the determination of these data cannot be turned off 4 4 Access to Kernel classes To be able to co
16. nce this myTactic this tacticManager useMovementTactic ExampleTactic In this case the member variable myTactic must be oftype IMovementTactic The succes sive application is quite easy The abstract class Strategy calls the update method of all its registered tactics at the beginning of its computeNextStep methods So the usage of a tactic basically reduces to check if a tactic has an ac tion available to perfom by calling this myTactic hasAction Ifso the tac tic may decide to execute this action with this myTactic performAction For the different sub interfaces of ITactic there are some additional methods available to help the strategy in deciding whether to execute a particular tactic or not For instance the method getTargetPosition in IMovementTactic allows to check which destination is targeted by the tactic even before calling the performAction method 5 Visualization The visualization basically consists of the four parts menu bar main view mini map and detail view It is shown in figure 12 oz Disconnect Ping ll za Hide explored terrain found 98 41 MultiRobot 001 Position 136 40 105 99 v Show static details Show current state v Show explored terrain v Record visited paths Container 2 View Radius 20 00 Communication Radius 40 00 Max Speed 2 00 Strategy DiidedExplorationStrategy Current Action Move 0 5 m s 289 Current T
17. nly one example demonstrating a motion operation Maybe you have a list of positions and the robot is supposed to move on the path repre sented thereby as fast as possible The corresponding actions are automatically computed and appended to the list as follows List lt Position gt path compute positions of path getActionList move path getRobotFeatures getMaximumSpeed By the way the class Position and the class TreasureID in the previous exam ple are two of the Kernel s classes you can use see section 4 4 for such classes Moreover this example shows how to access the robot s skills in this case its maximum speed One last thing to mention is that you can even store actions for sending messages in the action list Though messages do not refer to the action concept it may be useful to plan to send messages That is why there is an elementary action ElementaryActionSendMessage If such an action at the beginning of the list the contained messages are sent and the next action in the list is executed in the same round 4 3 Methods to be implemented All computations of any strategy begin and end in the method void compute So in this method the robot has to evaluate its current knowledge via the above mentioned interfaces it has to compute which messages to send to whom and it has to set the next action to be executed if not set before You are free to call any external algorithms from this method and you may a
18. nn hat der Roboter einen Energiewert von 100 W hrend seiner Aktion verliert er Energie Die Energie kann der Roboter an der Homebase wieder auftanken In der Spalte Load Energy l sst sich einstellen wie viel Prozent der Roboter w hrend einer Runde auftanken kann Energy Consumption Zu Beginn hat der Roboter einen Energiewert von 100 W hrend seiner Aktion verliert er Energie Die Energie kann der Roboter an der Homebase wieder auftanken In der Spalte Energy Consumption l sst sich einstellen wie viel Prozent der Roboter w hrend einer Runde verbraucht Max Speed In dieser Spalte l sst sich die maximale Geschwindigkeit eines Roboters einstellen bis auf die der Homebase diese darf sich nicht bewegen deshalb hat sie auch eine Geschwindigkeit von 0 Die Geschwin digkeit darf zudem nicht gr ser als die H lfte des Sichtradius sein Container Capacity In dieser Spalte l sst sich die Containergr se eines Roboters einstellen Die Homebase hat die maximale Containergr Se die sich aber auch nicht ver ndern l sst Toolsize In dieser Spalte gibt man die Gr e des Werkzeugs an mit der der Roboter einen Schatz bearbeitet Bis auf den Worker und Multiroboter haben die anderen Robotertypen kein Werkzeug Bucketgrabsize In dieser Spalte gibt man die Gr e der Schaufel an die einen Schatz aufl dt Der Transporter und der Multiroboter enthalten jeweils eine Schaufel zum Aufladen Die Gr Se der Schaufel
19. ntrol a robot in its environment the use of certain Kernel classes can be necessary Position in the package kernel and TreasureID in kernel ids were already metioned but there are others further IDs e g RobotID or Robot IDExplorer in the package kernel ids help you to handle robots and objects while MessageInformation in kernel is needed for sen ding messages and so on Since all these classes are declared as public you can import them into your concrete strategy That means if you want to make use of certain classes simply browse the different Kernel packages in the API to find out what you need 4 5 Tactics Tactics may be considered as local strategies or sub strategies being encapsu lated in at least one separated class There is a whole framework for around this concept making the tactics modularized and standardized through clearly defined interfaces and abstract classes At first we will describe the necessary steps to implement a new and ex amplary tactic ExampleTactic A tactic always needs to be embedded in a TacticProvider providing the actual methods used by the tactic The ra tionality behind it is that once you write a tactic the methods from the TacticProvider can be reused by other tactics embedded there Therefore the acutal tactic is realized as an inner class of a derived TacticProvider The following steps have to be done for all tactics 1 Either search for classes that are derived from TacticProvider
20. or derive one yourself e g ExampleProvider and implement the abstract methods see Javadoc 2 Create an inner class ExampleProvider that implements one of the spe cific interfaces derived from ITactic for instance IMovementTactic 3 Implement all the methods by preserving the following semantic scheme a The method update obtains all data necessary to determine whe ther the tactic is able to perform an action or not This is done via the derived variables from TacticProvider pointing to all the interfaces a strategy has also access to For example the ActionList may be ac cessed with this host getActionList Particulary the interface ITacticHost provides access to certain methods of the Strategy b With hasAction it is afterwards possible to ask the tactic whether an action is available or not c The method performAction may then be called to finally execute the action The execution is performed via the derived interfaces mentioned before 4 The tactic need a unique name e g ExampleTactic and needs to be in corporated in the corresponding methods of ExampleProvider 5 The name of the tactic finally needs to be written in the XML file Tacit Lookup Table cml which is located in the directory resources After implementing the functionality of the tactic it may then be used by a strategy In the constructor of a concrete strategy it is now possible to load and initialize the tactic by simply calling for insta
21. rom the list Note that the robot s physical unit checks if that action leads to incorrect behavior af terwards and prevents the robot from doing something wrong e g to load an object which is not at the robot s position The following code example shows a usual way to have the robot execute a certain action here the robot shall unload five treasures at its current position Since the robot does not distinguish between the treasures carried by itself any treasure ID is correct for the unload action GroundObjectID treasureID new TreasureID ElementaryAction action new ElementaryActionUnloadGround bject treasurelD 5 getActionList appendAction action In the given example you see one first operation of the robot s action list appendAction ElementaryAction action appends an action to the end of the list This makes sense since the robot may already have decided to perform other actions before In fact the reason for equipping the robot with such a list is to make it possible to compute whatever numbers of actions beforehand if needed If you want to ensure that an action is directly executed use int insertAction action 0 instead which puts the action at the beginning of the list index 0 and returns the new index of the first shifted action However to support the developer in planning the robot s next actions the ac tion list provides much more functionalities All these are described in the API so here is o
22. section shown in main view left mouse button mini map remote control main view e click drag set drag shown sector in main view left mouse button main view select e click drag select robots treasures discard old selection e additionally hold shift button add new selection to old one e additionally hold ctrl button remove new selection from old one middle mouse button navigation e drag move shown terrain e wheel zoom e double click show all robots main view show whole terrain mini map 5 3 3D View Here anything is shown in 2d from an arbitrary perspective The presentation of explored terrain or visited paths is not possible left mouse button select e click drag select robots treasures discard old selection e additionally hold shift button add new selection to old one e additionally hold ctrl button remove new selection from old one middle mouse button navigation e drag move shown terrain e wheel zoom e click follow robots on off right mouse button look around e click look around with the mouse permanently on off e drag look around with the mouse as long as mouse button is pressed keyboard walkthrough e arrow keys page up down alternatively W A S D E C forward left backward right up down e hold shift move faster e hold ctrl move slower keyboard rendering e X toggle automatic frame rate control image qua
23. the kernel but ending with v2d instead of xml e 3D terrain not found analogue with v3d instead of v2d
24. tteam robot strategy HomeBas te src de upb smartteam robot strategy Explorati src de upb smartteam robot strategy worker src de upb smartteam robot strategy transport src de upb smarteamj robot strategy Strategy j src def upb smartteam robot strategy T eamstrate gt Explorer Worker Transporter MultiRobot Delete Abbildung 11 Die RoboterkonfigurationsGUI Save Mit dem Knopf Save lasst sich die Roboterkonfiguration als eine xml Datei speichern Im unteren Bereich bdefinden sich ebenfalls Buttons mit diesen lassen sich neue Robotertypen erstellen Explorer Der Knopf Explorer fiigt eine neue Zeile in die Tabelle ein Diese Zeile enth lt alle Eigenschaften eines Explorers die ge ndert werden k nnen Worker Der Knopf Worker f gt eine neue Zeile in die Tabelle ein Diese Zeile enth lt alle Eigenschaften eines Workers die ge ndert werden k nnen Transporter Der Knopf Transporter f gt eine neue Zeile in die Tabelle ein Diese Zeile enth lt alle Eigenschaften eines Transporters die ge ndert werden k nnen Multiroboter Der Knopf Multiroboter f gt eine neue Zeile in die Ta belle ein Diese Zeile enth lt alle Eigenschaften eines Multiroboters die ge ndert werden k nnen Realy Der Knopf Realy f gt eine neue Zeile in die Tabelle ein Diese Zeile enth lt alle Eigenschaften eines Realy die ge
25. werden kann e Big rectangle Zeichnen bzw l schen von groSen rechteckigen Hinder nissen e Small rectangle Zeichnen bzw l schen von kleinen rechteckigen Hin dernissen e Homebase Setzen bzw entfernen der Homebase Es kann nur eine Ho mebase gesetzt werden Beim setzen einer weiteren Homebase wird die erste Homebase an die neue Position verschoben e Treasure Platzieren bzw entfernen von Sch tzen e Treasure amount Die Gr se des Schatzes angeben bevor man den Schatz auf der Karte platziert Der Standardwert ist 100 3 4 Die Statuszeile Die Statuszeile zeigt zu einem die Position der Mouse in der Bigmap an zum anderen den Zoomfaktor um den die Ansicht der Karte vergr sert verkleinert wurde Ein negativer Zoomfaktor entspricht dabei 1 Zoom faktor Des weiteren wird noch die Kartengr Se mit angezeigt 3 5 Das Men Das Men besteht aus vier Untermen s Dem Filemen dem Editmen dem Extrasmen und dem Helpmen 3 5 1 Das Filemen Das Filemen enth lt alle Befehle die Sie f r die Erstellung einer neuen Karte ben tigen siehe dazu Abbildung 5 In diesem Men k nnen Sie wahlweise eine neue Karte erstellen eine existierende ffnen die Karte speichern sowie Sch tze laden und speichern File Edit Extras Help New terrain Load terrain Load treasure objects Save terrain Save treasure objects Save all Exit Abbildung 5 Das Filemenii New terrain Es wird eine neue
Download Pdf Manuals
Related Search
Related Contents
Shintek Touch USB CAP 4 05 Valvole soffiaggio r02.pmd Manual de instrucciones para el montaje de la mosquitera de No 1. - Numéro spécial ACFAS 2009 - Institut des sciences cognitives Detetor de Desvio PC/104 PCMCIA Module Manuel d`utilisation FV300-50 / FV300-90 デジタルサイネージソリューション NMstage ver3.1カタログ C1b TASKI Tapi Extract - E. HENROTTE Distribution 330 MM 4A BORDEADORA DE CÉSPED ELÉCTRICA Copyright © All rights reserved.
Failed to retrieve file