Skip to content
Ricardo Moran edited this page Sep 14, 2021 · 21 revisions

Índice

Personalización del robot

Para personalizar el robot se usará la página web https://virtual.roboliga.ar/personalizador/. Allí se encontrarán una herramienta que les permitirá modificar la posición y rotación de los sensores de distancia y de color.

Luego de realizar las modificaciones deberán exportar los resultados en un archivo .json que podrán cargar en el simulador haciendo click en el botón Robot base.

Documentación sobre la clase RobotRL

La clase RobotRL viene incluida dentro del ambiente de Sumo en el archivo RobotRL.py y nos facilita el control del robot dentro de la simulación.

IMPORTANTE: Esta clase no debe ser modificada, de lo contrario el controlador no funcionará correctamente durante la competencia. Si se desea extender esta clase con nueva funcionalidad recomendamos desarrollar otra clase y hacer que ésta herede de RobotRL.

Creación de un objeto robot

# Crear un objeto RobotRL y asignarlo a la variable "robot"
robot = RobotRL()

Métodos

Velocidad de las ruedas

Las velocidades se definen con un valor entre -100 (máxima velocidad para atrás) y 100 (máxima velocidad para adelante)

# Establecer la velocidad de las dos ruedas
velRI = 50 # Velocidad de rueda izquierda
velRD = 50 # Velocidad de rueda derecha
robot.setVel(velRI, velRD)

# Establecer la velocidad de la rueda izquierda
robot.setVI(75)

# Establecer la velocidad de la rueda derecha
robot.setVD(-75)

# Obtener la velocidad actual de la rueda izquierda
velRI = robot.getVI()

# Obtener la velocidad actual de la rueda derecha
velRD = robot.getVD()

Espera

# Esperar un tiempo determinado (se mantiene el estado actual del robot durante el tiempo especificado)
segundos = 5
robot.esperar(segundos)

# Obtener el tiempo presente del robot
t = robot.tiempoActual()

Sensores

# Obtener el valor de brillo del piso. Valor entre 0 (más oscuro) y 100 (más brillante)
brillo_piso = robot.getColorPiso()
        
# Obtener el color del piso en los tres canales RGB
rojo, verde, azul = robot.getColorPisoRGB()

# Obtener la distancia detectada por el sensor de distancia izquierdo.
# Valor entre 0 y 100 (si no hay nada delante, devuelve 100)
di = robot.getDI()

# Obtener la distancia detectada por el sensor de distancia derecho.
# Valor entre 0 y 100 (si no hay nada delante, devuelve 100)
dd = robot.getDD()

# Chequear si el bumper izquierdo está presionado.
# Devuelve True si está presionado, False si no lo está.
bi = robot.getBI()

# Chequear si el bumper derecho está presionado.
# Devuelve True si está presionado, False si no lo está.
bd = robot.getBD()

Otros

# Finalizar el ciclo de ejecución de este paso y devolver el control al simulador
# (ya definí lo que quería con el robot, le paso el control al simulador)
robot.step()

Clone this wiki locally