SISTEMA DE CONTROLA continuació s’expliquen totes les opcions disponibles del programa de control i per a que serveixen cadascuna.
Una vegada s’executa el programa, a la primera finestra que apareix, Figura 1, l’usuari pot accedir als diferents menús. Aquests són:
- File: en aquest menú l’usuari podrà carregar i guardar els diferents arxius de configuració dels equips i de calibració. En el moment d’entrar en el programa es carreguen els fitxers que es van utilitzar la última vegada.
- Configuration: des d’aquest menú es pot accedir a les diferents finestres de configuració. Aquestes es comenten a continuació.
- Language: l’usuari pot especificar l’idioma amb el que vol treballar: anglès, català o castellà.
- Help: l’ajuda.
![]()
Figura 1
- Calibration:
En aquesta finestra, Figura 2, l’usuari pot especificar:
- Les dimensions del terreny de joc*.
- El tamany dels robots oponents*.
- Especificar si es vol utilitzar només una de les dues parts del camp. Si es clicka sobre el botó 2x1 s’activa l’opció i permet indicar en quina part del camp (Est o Oest) es jugarà. En el cas de que es jugui en la part Oest també s’haurà d’especificar la distància (en mm.) que hi ha entre el mig del camp i el límit de la línia dreta del camp petit, com es mostra en el següent esquema:*Totes les mides que s’introdueixin han de ser en mil·límetres. Una vegada configurat tot al clickar sobre el botó Update es dibuixa l’esquema del camp proporcional a las mides.
![]()
Figura 2
- Local / Remote:
En aquesta finestra, Figura 3, l’usuari pot especificar les direccions TCP/IP dels ordinadors servidors dels programes de visió i comunicació (la connexió amb aquests es realitza a través de Sockets).
En el cas de seleccionar la casella Remote, vol dir que el servidor es troba en un ordinador remot i per tant s’haurà d’especificar la seva direcció. En el cas de que no estigui seleccionada es suposa que el servidor es troba en el mateix ordinador que en el que s’està executant el programa de control.
El valor de Port no s’ha de canviar, excepte si es canvia també en el programa servidor.
En l’apartat Test Panel a la part esquerra es pot especificar el temps d’espera/passat per enviar 2 frames seguits al servidor de comunicació. També es podrà testar la velocitat de la connexió (part dreta).
![]()
Figura 3
- Monitoring:
En aquesta finestra, Figura 4, l’usuari podrà indicar les variables que es volen guardar en un fitxer *.dat i si es vol visualitzar els equips per pantalla.
Si es selecciona Monitor Visual el programa mostrarà el moviment dels robots i de la pilota en l’esquema del camp que hi ha a la finestra Game Operation.
Si es selecciona Monitor File (Team 1), l’usuari indica en quin fitxer es volen guardar les variables dels robots de l’equip 1.
I en el cas de Monitor File (Team 2), serà com l’anterior però per l’equip 2.
En l’apartat Monitored Items, l’usuari especifica quines variables vol que es guardin en el fitxer de cada equip. Aquestes poden ser:
- Number Player: número de jugador, sempre es guarda ja que tota la informació dels robots d’un mateix equip es guarda al mateix fitxer.
- Image: número d’imatge, donada pel sistema de visió (0-49).
- Time: temps, en mil·lisegons, passat des de l’inici del joc.
- x, y, angle: posició i angle del robot.
- Comm: última comanda del sistema de comunicació.
- Agent: última comanda de l’agent.
- Supervision: última comanda del supervisor.L’objectiu d’aquest fitxer és poder reproduir els partits.
![]()
Figura 4
- Team Settings:
En aquesta finestra, Figura 5, l’usuari pot especificar si vol jugar amb dos equips a la vegada.
Si es selecciona Play with two teams, l’usuari podrà especificar el nom i el color del segon equip. També tots els controls que afectin a l’equip 2 de la finestra Game Operation, s’habilitaran per que puguin ser modificats.
![]()
Figura 5
- Game Operation:
Aquesta finestra, Figura 6, està estructurada en diferents parts:
![]()
Figura 6- Players and Ball: en aquesta part l’usuari pot indicar pels dos equips, quins robots estan actius (Active) i si vol que siguin visualitzats (Monitored), en pantalla i en el fitxer en cas d’estar seleccionada l’opció.
També pot especificar si vol que es mostri la pilota.
- Monitor Settings: en aquest apartat, com en la finestra Monitored, es pot especificar si es vol visualitzar els equips per pantalla i si es volen guardar les variables, que estiguin seleccionades, en un fitxer.
- Game Settings: en aquesta part es pot indicar:
· En quina part del camp juga l’equip propi (o l’equip 1 en cas d’estar jugant amb els 2 equips) (Part of the field) -> North o South.
· Qui comença el partit (Who Starts) -> Own Team o Opponent Team.
· El tipus de joc a realitzar per cada equip (Game Type) -> Start, Penalty Kick, Kick Off o Goal Kick. En el cas de seleccionar una d’aquestes opcions, a excepció de Start, es mostrarà la finestra Choose a Player (Figura 7), on es podrà especificar el robot que realitzarà l’acció (només es pot seleccionar un robot actiu).
![]()
Figura 7· L’estratègia per cada equip (Strategy) -> Attack o Defence.
- Game: amb els tres botons que hi ha es pot iniciar (Start), parar (Stop) o deixar en pausa (Pause) el joc.
- Coordinates: en aquesta secció es mostren les coordenades de cada robot i el seu angle, en el cas de l’equip contrari no es mostra l’angle.
- Current Action: aquí es mostren les accions que realitza cada robot.
- Ball: es mostren les coordenades de la pilota actuals i dintre d’1 segon.La resta dels botons de la finestra són:
- Obt Ini Pos: al clickar apareix una nova finestra, Obtain Position of Robots, que permet capturar les posicions inicials dels robots i guardar-les en un fitxer.
- Go to Ini Pos: al clickar es mostra un missatge per pantalla que preguntarà si es vol carregar d’un fitxer les posicions inicials dels robots i posicionar-los. En el cas d’estar jugant amb 2 equips es mostrarà 1 missatge per cada equip.
- Global Test T1: al clickar apareix una finestra, Global Test, que permet realitzar els tests globals per l’equip 1.
- Global Test T2: com en el cas anterior, però per l’equip 2.
- Player 1...5: al clickar en aquest botó apareix una finestra, Robot Settings, on es pot configurar el robot
- Obtain Position of Robots:
En aquesta finestra, Figura 8, l’usuari pot capturar les posicions dels robots i guardar-les en un fitxer.
Al clickar sobre el botó Capture Pos es capturaran les posicions dels robots i es mostren per pantalla (en el cas de que no estigui actiu es mostraran i guardaran els valors x=–1, y=–1 i angle=-1), una vegada capturades s’habilita el botó Save que obrirà un diàleg per especificar en quin fitxer es vol guardar les posicions.
En el cas d’estar jugant amb dos equips, mitjançant el Combo Box de la dreta es podrà seleccionar l’equip.
En el cas de sortir d’aquesta finestra després d’haver capturat les posicions d’un equip i no s’hagin guardat en un fitxer, es preguntarà si es volen guardar.
![]()
Figura 8
- Global Test:
En aquesta finestra, Figura 9, es podrà especificar el número de missatges pel test de comunicació i el temps que es vol que duri el test de visió. Els botons Comunication Test i Vision Test s’encarreguen d’iniciar el test de comunicació i visió. Els botons Agent, Control i Supervision Test obren la finestra, amb el mateix nom, on es pot especificar les condicions del test d’agent, control i supervisió.
![]()
Figura 9
- Agent, Control i Supervision Test:
Aquesta finestra, Figura 10, és la mateixa pel test d’agent, control i supervisió.
Depenent del test es pot especificar (s’ha de tenir en compte que pels 3 tests les posicions inicials, cercles grocs, es capturen a partir de la carnera de visió):
- Test d’agent: en aquest cas únicament es pot clickar en el botó Decision per comprovar la decisió presa per cada robot.
- Test de control: en aquest cas es podrà indicar la posició final del robot (cercles vermells) mitjançant el botó ->, també amb el botó Obstacles es podrà indicar la posició d’obstacles (cercles blaus). Una vegada s’ha indicat la posició final dels robots al clickar en el botó Start el robot començarà a anar a la posició final i s’anirà mostrant per pantalla la velocitat.
- Test de supervisió: en aquest cas es podrà indicar la posició final i la dels obstacles. En aquest cas, al clickar en el botó Trajectory, es podrà especificar la trajectòria (cercles liles) que ha de seguir el robot per arribar a la posició final, una vegada s’ha clickat en el botó Start el robot es mourà cap a la posició final passant pels punts indicats, mitjançant cercles blau clar s’indicarà la trajectòria que ha seguit el robot.
![]()
Figura 10
- Robot Settings:
En aquesta finestra, Figura 11, es pot configurar els Timers de l’agent, supervisor, comunicació i visió, el número de robot, el rol, realitzar el test individual i activar/ desactivar l’agent i el supervisor.
També es mostra l’estat actual del robot (quins Timers estan en funcionament, si el sistema de visió i comunicació estan activats i si el robot està actiu).
Els botons de test tenen el mateix funcionament que en el cas del test global, a excepció del test de comunicació, que en aquest cas es pot especificar si el test serà continu o no (una vegada finalitzat el número especificat de missatges es torna a iniciar el test).
Quan es clicka sobre el botó Test Robot, apareix una nova finestra, Test Robot, on es pot realitzar una sèrie de proves de posició i velocitats amb el robot.
![]()
Figura 11
- Test Robot:
En aquesta finestra, Figura 12, es pot crear el frame que s’envia al servidor de comunicació, els paràmetres que es poden configurar són:
- F: pot ser:
· 128, per indicar que els tres paràmetres següents són les coordenades x, y i l’angle actual del robot.
· 192, per indicar que s'envien les coordenades x, y i l’angle a on es vol que vagi el robot
· 64, per indicar la velocitat lineal, angular a la que es desitja que vagi el robot i el temps que ha de durar l’acció.
- V: si F és 128, serà la coordenada x actual del robot; si F és 192, la coordenada x on es desitja que vagi el robot; i si és 64, la velocitat lineal.
- W: si F és 128, serà la coordenada y actual del robot; si F és 192, la coordenada y on es desitja que vagi el robot; i si és 64, la velocitat angular.
- T: si F és 128, serà l’orientació actual del robot; si F és 192, l’orientació desitjada pel robot; i si és 64, és un número que multiplicat per 32 ms. dona el temps que el robot mantindrà les velocitats.
![]()
Figura 12