User Guide
particular no afecta a los resultados pero seria una buena idea usar ajustar la fórmula para afinar
en el resultado.
Cada uno de los valores entrados proviene de diferentes fuentes de información. El paso
two motor power settings,
e*3/2;
power_difference = max;
, max);
an la dirección del 3pi
flexionar sobre los distintos valores y experimentar con tu robot para determinar qué
8. Ejemplo Project #2: Resolución de laberintos
8.a Resolución de laberinto de línea
El siguiente paso desde el seguimiento de línea es
tos que pretendemos resolver en este tutorial tienen una particularidad importante: no
ctas trazadas sobre una rejilla
regular, pero esto se hace principalmente para que el curso sea fácil de reproducir – la estrategia
de solución del laberinto que se describe en este tutorial no requiere de estas características.
siguiente es una simple formula que combina todos los valores en una variable y que se usa para
determinar las velocidades de los motores.
1. // Compute the difference between the
2. // m1 - m2. If this is a positive number the robot will turn
3. // to the right. If it is a negative number, the robot will
4. // turn to the left, and the magnitude of the number determines
5. // the sharpness of the turn.
nal/20 + integral/10000 + derivativ6. int power_difference = proportio
7. // Compute the actual motor settings. We never set either motor
8. // to a negative value.
9. const int max = 60;
max) 10. if(power_difference >
11. if(power_difference < -max) power_difference = -max;
12. if(power_difference < 0) set_motors(max+power_difference
13. else set_motors(max, max-power_difference);
inLos valores 1/20, 1/10000, y 3/2 son parámetros ajustables que determ
sobre la línea. En general, incrementando estos parámetros PID podemos hacer power_difference
largas, causando reacciones más fuertes, o cuando decrecemos podemos tener reacciones
débiles.
Debes re
efecto tiene cada uno de los parámetros. Este ejemplo da a los motores una velocidad máxima de
100, que es un valor inicial seguro inicial. Una vez ajustado los parámetros para que funcione
bien a una velocidad de 100, intenta aumentarla. Probablemente necesitaras ajustar estos
parámetros en función del recorrido para que el robot vaya lo más rápido posible. Puedes ajustar
gradualmente la velocidad máxima para que el 3oi vaya lo más rápido posible hasta el máximo
posible de 255 en carreras con radios de curvas de 6” y fijando los parámetros del PID.
enseñar a tu 3pi a navegar entre caminos con giros
recortados, callejones sin salida, e intersecciones. Crea
una red complicada de líneas entrecruzadas en negro,
añade un círculo que represente el final y ya tienes un
laberinto de líneas, debe ser un entorno difícil para
explorar por tu 3pi. En un laberinto de líneas los robots
corren tranquilamente sobre las líneas desde un inicio a
un final asignado, cruzando las intersecciones y saliendo
el circuito. Los robots tienen varias posibilidades para ejecutar el laberinto, de modo que puedan
seguir el camino más rápido posible después de aprender los cruces y sobre todo los callejones
sin salida.
Los laberin
de las líneas cortadas que hay durante
contienen bucles. Es decir, este código no está hecho para salir de un bucle en el laberinto sin
tener que volver sobre sus pasos. Luego, la solución a este tipo de laberinto es mucho más fácil
que resolver un laberinto con bucles, ya que una simple estrategia te permite explorar todo el
laberinto. Vamos a hablar de esa estrategia en la próxima sección.
Podemos construir nuestros laberintos utilizando sólo unas líneas re










