Introducción

Una propiedad fundamental de los robots autónomos del futuro será su capacidad de interacción con los humanos. Deberán responder de forma natural a las diferentes formas de comunicación con ellos.

En este tutorial aprenderás a manejar otra forma de interacción con Robobo, los toques en la pantalla (su cara), haciendo, en este caso, que se enfade contigo.

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

 

pre-requisitos

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

RETO: ROBOBO ENFADADO

Crea un programa que haga que Robobo reaccione a toques sobre su cara (pantalla Smartphone).

Si le tocas el ojo (tap), Robobo echará la cabeza hacia atrás para escapar de tu mano. Al mismo tiempo, pondrá cara de enfado y te dirá que no le toques el ojo.

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.Emotions import Emotions

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

robobo.resetTapSensor()
robobo.setEmotionTo(Emotions.NORMAL)
robobo.moveTiltTo(75 ,15)

while True:
    robobo.wait(0.01)
    tap = robobo.readTapSensor();
    if tap.zone == 'eye':
        robobo.setEmotionTo(Emotions.ANGRY)
        robobo.moveTiltTo(60,15)
        robobo.sayText('No me toques el ojo')
        robobo.wait(1)
        robobo.resetTapSensor()
        robobo.setEmotionTo(Emotions.NORMAL)
        robobo.moveTiltTo(75,15)

RETO ADICIONAL

Cuando hayas completado el reto de “ROBOBO ENFADADO” te proponemos este otro reto donde complicamos un poco la reacción de Robobo, ¿te atreves?

Haz un programa en el que, Robobo muestre distintas emociones dependiendo de la zona de la cara que le toques (tap en la pantalla), por ejemplo, que se ría si le tocas la boca, o que ponga cara de sorpresa si le tocas la barbilla y diga “me haces cosquillas”.