Robobo giratorio
Introducción
En el tutorial #3 vimos un primer ejemplo de interacción táctil con Robobo, es decir, cómo el robot puede reaccionar si tocamos su cara.
En este tutorial continuaremos trabajando este aspecto con Robobo, y ahora aprenderás cómo provocar una respuesta predefinida cuando tocamos la cara de una determinada manera.
¡El desafío es crear un Robobo giratorio!
Desafío
Creación de un programa que hace que Robobo reaccione al tacto y a los gestos en su cara (pantalla del smartphone). Si mueves el dedo sobre la pantalla (fling) hacia la derecha o la izquierda, Robobo debe girar la cabeza hacia la derecha o la izquierda respectivamente y encender los LED (un color a la derecha y otro a la izquierda).
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.LED import LED from robobopy.utils.Color import Color from robobopy.utils.Emotions import Emotions from robobopy.utils.Sounds import Sounds # Modifica la siguiente línea robobo = Robobo('10.113.36.163') robobo.connect() robobo.resetFlingSensor() robobo.setEmotionTo(Emotions.NORMAL) robobo.setLedColorTo(LED.All, Color.OFF) robobo.movePanTo(0, 15) while True: robobo.wait(0.01) angle = robobo.readFlingAngle() if angle > 0: if (angle < 90)or(angle > 270): robobo.setEmotionTo(Emotions.SURPRISED) robobo.setLedColorTo(LED.All, Color.BLUE) robobo.movePanTo(-50, 30) else: robobo.setEmotionTo(Emotions.SURPRISED) robobo.setLedColorTo(LED.All, Color.MAGENTA) robobo.movePanTo(50, 30) robobo.movePanTo(0, 15) robobo.setEmotionTo(Emotions.LAUGHING) robobo.playSound(Sounds.LAUGH) robobo.resetFlingSensor() robobo.wait(1) robobo.setLedColorTo(LED.All, Color.OFF) robobo.setEmotionTo(Emotions.NORMAL)
Desafío adicional
Cuando hayas completado el desafío «Robobo Giratorio», te proponemos uno nuevo donde complicamos un poco la reacción de Robobo. ¿Listo? El objetivo es crear un programa en el que Robobo mueva la cabeza hacia adelante/atrás (TILT) o gire el cuerpo (moviendo las ruedas) a la derecha/izquierda (PAN) según el ángulo del gesto de lanzamiento que hagas en la pantalla del smartphone.