INTELIGENCIA EN REDES DE COMUNICACIONES - …DESCRIPCIÓN DE UN ROBOT Robot = Agente software •...

Preview:

Citation preview

INTELIGENCIA EN REDES DECOMUNICACIONES

5º Ingeniería de Telecomunicación

TRABAJO FIN DE ASIGNATURA

ÍNDICE• ¿Qué es Robocode?

• Descripción de un robot de Robocode

• Comandos básicos de un robot

• Ejemplo de robot básico

• Robots avanzados

• Nuestros robots

• Nuestros equipos de robots

¿QUÉ ES ROBOCODE?

Robocode es un simulador de guerras de robotsprogramados en Java que fue creado por

Mathew Nelson (IBM).

DESCRIPCIÓN DE UN ROBOTRobot = Agente software

• Detección del entorno⇒ Radar

• Actuación sobre el entorno⇒ Movimientos del tanque⇒ Movimientos del cañón

COMANDOS BÁSICOS

Movimiento del robot (acciones bloqueantes)

turnRight(double degree) y turnLeft(double degree)ahead(double distance) y back(double distance)turnGunRight(double degree) y turnGunLeft(double degree)turnRadarRight(double degree) y turnRadarLeft(double degree)

setAdjustGunForRobotTurn(boolean flag)setAdjustRadarForRobotTurn(boolean flag)setAdjustRadarForGunTurn(boolean flag)

COMANDOS BÁSICOS

Obtención de información

getX()getY()

getHeading()getGunHeading()getRadarHeading()

getBattleFieldWidth()getBattleFieldHeight()

COMANDOS BÁSICOS

Disparando

fire(double power)fireBullet(double power)

COMANDOS BÁSICOS

Eventos

void onScannedRobot(ScannedRobotEvent event)void onHitByBullet(HitByBulletEvent event)void onHitRobot(HitRobotEvent event)void onHitWall(HitWallEvent event)

double getBearing()double getEnergy()String getName()etc.

EJEMPLO DE ROBOT BÁSICOpackage nombrePaquete;

import robocode.Robot;import robocode.ScannedRobotEvent;

public class MiPrimerRobot extends Robot {public void run() {

while (true) {ahead(100);turnGunRight(360);back(100);turnGunRight(360);

}}

public void onScannedRobot(ScannedRobotEvent e) {fire(1);

}}

ROBOTS AVANZADOS

robocode.AdvancedRobot⇒ Extiende a robocode.Robot⇒ Acciones asíncronas

robocode.TeamRobot⇒ Extiende a robocode.AdvancedRobot⇒ Comunicación entre robots

NUESTROS ROBOTS

WallsRobot

• Robot básico

• Movimiento pegado a los muros

• Barrido del radar

• Disparo inteligente

• Modo huida

NUESTROS ROBOTS

TrackerRobot

• Robot avanzado

• Busca objetivos

• Acercamiento al objetivo

• Disparo predictivo

• Modo retirada

NUESTROS EQUIPOS

WallsTeam

• Robots básicos del tipo WallsRobot

• Movimiento pegado a los muros

• Barrido del radar

• Disparo inteligente

• Modo retirada

• Modificaciones para no disparar a los compañeros

NUESTROS EQUIPOSTrackerTeam• Robots avanzados que extienden de RobotTeam

• Líder del tipo TrackerRobot– Busca objetivos– Acercamiento al objetivo– Disparo predictivo– Modo retirada– Comunicación de objetivo

• Compañeros del tipo TeamDroid– Disparo al objetivo– Sin radar, mayor energía

FIN

Realizado por:

Carlos Lapuente IribasJuan Manuel Carrero LealAlberto Heredia García

Recommended