Paso 7: Robot programa
En nuestra primera aplicación vamos a intentar lograr la siguiente:
- evitar los obstáculos
- evitar los bordes de la tabla
Estás limitado a usar solo un sensor.
En la primera foto se puede ver que en estado normal cuando el robot se mueve a lo largo de la superficie, la distancia hasta el obstáculo más cercano es igual a la distancia de la superficie sí mismo.
Si nuestro robot alcanzará algún objeto sobre la superficie, la distancia es mucho menor que la distancia por defecto a la superficie (Lmax).
Así que la manera más fácil de llegar a nuestro primer objetivo es mantener nuestro robot moviéndose dentro de esta gama de la distancia.
Del mismo modo puede alcanzar el segundo objetivo - evitar los bordes de la tabla. Si la distancia es más que Lmax es más probable que el robot se dirige hasta el borde de la mesa.
Vamos a definir dos reglas básicas:
- Cuando distancia al obstáculo (D) dentro de la gama Lmín y Lmax robot se moverá hacia adelante
- Cuando D es mayor que Lmax o menos Lmín robot girará hasta que encuentra la dirección d mentira dentro de la gama segura
El robot tiene 2 ruedas. Se conduzca bajo el algoritmo más básico para un robot - impulsión diferenciada:
- para conducir recta ambas ruedas avanzando a igual velocidad
- para reverso ambas ruedas mueven hacia atrás a igual velocidad
- para girar a la izquierda la rueda izquierda se mueve hacia atrás y la rueda derecha se mueve hacia adelante
- para girar a la derecha la rueda derecha se mueve hacia atrás y la rueda izquierda se mueve hacia adelante
En su caso servos se colocan en direcciones opuestas así que para uno de los robot en movimiento hacia adelante significa rotación a la derecha, por otro - en sentido antihorario. Tratar de mantener esto en mente.
Mira el ejemplo del bosquejo, probarlo y comenzar a implementar el comportamiento personalizado!