introducción

Los robots móviles como Robobo pueden desplazarse, lo que les permite realizar un montón de tareas útiles. Para eso, es muy importante conocer y saber manejar los bloques de movimiento del robot.

En este tutorial aprenderás el funcionamiento básico de uno de estos bloques, que controla las ruedas de Robobo. Para que sea más sencillo, no haremos todavía un robot autónomo, haremos … ¡un Robobo teledirigido!

pre-requisitos

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

RETO: ROBOBO TELEDIRIGIDO

Crea un programa que mueva al Robobo por control remoto desde el teclado del ordenador. Pulsando las teclas “flecha arriba, flecha abajo, flecha derecha y flecha izquierda”, Robobo se moverá hacia delante, hacia atrás o girará hacia la derecha o la izquierda. 

SOLUCIÓN

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

async function main(){

    var Robobo = require('./lib/robobo');
    robobo = new Robobo('10.113.36.163');
    await robobo.connect();

    var readline = require('readline');
    readline.emitKeypressEvents(process.stdin);
    process.stdin.setRawMode(true);
    
    var speed = 20;

    process.stdin.on('keypress', (str, key) => {      
        if (key.name == 'up') {
            robobo.moveWheels(speed,speed);   
        }
        if (key.name == 'down') {             
            robobo.moveWheels(speed*(-1),speed*(-1));   
        }
        if (key.name == 'left') { 
            robobo.moveWheels(speed*(-1),speed);
        }
        if (key.name == 'right'){
            robobo.moveWheels(speed,speed*(-1));   
        }        
        if (key.name == 'space'){
            robobo.stopMotors();
        }
        if (key.name == 'c') {
            speed = speed + 10;
            console.log("Speed set to: "+speed)
        }
        if (key.name == 'd') {
            speed = speed - 10;
            console.log("Speed set to: "+speed)
        }   
    });    
}
main()

RETO ADICIONAL

Cuando hayas creado este control remoto sencillo de Robobo, puedes complicarlo añadiendo control de velocidad al programa, usa una tecla para aumentar la velocidad de las ruedas y otra para reducirla.