Introducción

Una propiedad fundamental de los robots autónomos del futuro será su capacidad de comunicarse con nosotros de manera natural, mediante gestos, expresiones, hablando…

En este tutorial aprenderás a trabajar en este aspecto con Robobo, mediante las expresiones, los sonidos y la voz del robot.

¡El reto es la creación de un Robobo Expresivo!

pre-requisitos

Antes de empezar este reto, te recomendamos leer los siguientes apartados del manual de programación de Robobo:

RETO: ROBOBO EXPRESIVO

Crea un programa que haga que Robobo avance hacia delante hasta que detecte un obstáculo cerca (igual que en el tutorial #2), y cuando esto ocurra, se muestre asustado.

Por tanto, una vez detectado el obstáculo, Robobo tenemos que hacer que Robobo parezca asustado. Para ello, puedes hacer que retroceda, que eche su cabeza hacia atrás (tilt), que ponga una cara de sorpresa, que emita un pequeño grito y que diga alguna frase.

SOLUCIÓN

Una posible solución a este reto es la siguiente, aunque hay muchas otras. ¿Cuál es la tuya?

from Robobo import Robobo
from utils.LED import LED
from utils.Color import Color
from utils.IR import IR
from utils.Emotions import Emotions
from utils.Sounds import Sounds

robobo = Robobo('10.113.36.163')
robobo.connect()

closeIRValue = 30
speed = 30

robobo.moveWheels(speed,speed)
while (robobo.readIRSensor(IR.FrontC) < closeIRValue)and(robobo.readIRSensor(IR.FrontRR) < closeIRValue)and(robobo.readIRSensor(IR.FrontLL) < closeIRValue):
    robobo.wait(0.01)

robobo.stopMotors()

robobo.setLedColorTo(LED.All, Color.RED)

robobo.setEmotionTo(Emotions.SURPRISED)
robobo.playSound(Sounds.DISCOMFORT)

robobo.moveTiltTo(50,15)
speed = speed * (-1)

robobo.moveWheelsByTime(speed,speed,2)
robobo.sayText("Uy, casi choco!")
robobo.setEmotionTo(Emotions.NORMAL)
robobo.moveTiltTo(75,15)

RETO ADICIONAL

Cuando hayas completado el reto de “ROBOBO EXPRESIVO” te proponemos este otro reto con un poco ritmo, ¿te atreves?

Haz que Robobo mueva la cabeza adelante y atrás mientras se mueve en línea recta hacia delante, como si estuviese rapeando. Muestra al mismo tiempo una expresión en su cara.

Cuando se encuentre de frente con un obstáculo, Robobo parará, girará 90º usando los motores de las ruedas, pondrá cara de alegría y dirá “Esto es divertido, repetimos?” y finalmente emitirá un sonido de alegría.