Robobo enfadado
Introducción
Una propiedad fundamental de los futuros robots autónomos será su capacidad de interactuar con los humanos. Deberán responder con naturalidad a diferentes formas de comunicación.
En este tutorial aprenderás a manejar otra forma típica de interacción con Robobo, tocando la pantalla del smartphone (cara de Robobo), mostrando, en este caso, cómo se enoja contigo.
¡El desafío es la creación de un Robobo enfadado!
Desafío
Creando un programa que hace que Robobo reaccione al tocarle la cara (la pantalla del smartphone). Si le tocas el ojo, Robobo echará la cabeza hacia atrás para escapar de tu mano. Al mismo tiempo, se mostrará enfadado y te dirá que no le toques el ojo.
Solución
Una posible solución a este desafío es la siguiente, aunque existen muchas otras. ¿Cuál es la tuya?
Ver fuente
from robobopy.Robobo import Robobo
from robobopy.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('Don't touch my eye')
robobo.wait(1)
robobo.resetTapSensor()
robobo.setEmotionTo(Emotions.NORMAL)
robobo.moveTiltTo(75,15)
robobo.wait(2) robobo.setLedColorTo(LED.All, Color.BLUE)
Desafío adicional
Cuando hayas completado el desafío «Robobo Enfadado», te proponemos uno nuevo donde complicamos un poco las reacciones del robot. El objetivo es crear un programa en el que Robobo muestre diferentes emociones según la zona de la cara que toques (pulsando en la pantalla). Por ejemplo, debería reír si le tocas la boca o mostrar una cara de sorpresa si le tocas la barbilla, diciendo «Me haces cosquillas».