Robot Con Detección De Bordes - fischertechnik Mobile Robots II Manual De Instrucciones

Ocultar thumbs Ver también para Mobile Robots II:
Tabla de contenido

Publicidad

Idiomas disponibles

Idiomas disponibles

Tarea 1:
Programa la interfaz de tal manera que el modelo se desplace recto
40 impulsos. Utiliza para la medición de los impulsos el contador E1
y el pulsador E8 para la puesta a cero. Modifica a continuación el
programa de tal manera que el modelo se desplace
sobre trayectorias de diferente magnitud,
por ejemplo 80 cm. ¿De qué tamaño es aquí
la repetibilidad de trayectoria?
Tarea 2:
El modelo deberá girar 180° después de
haberse desplazado 80 impulsos. Observa
las diferentes direcciones de giro de los mo-
tores de tracción durante los movimientos de
desplazamiento recto o de giro.
Solución:
En promedio, el modelo recorre 1 cm de trayec-
toria por cada impulso de recuento. La repetibil-
idad de trayectoria posee la misma magnitud,
aproximadamente 1 cm en 80 impulsos. Sin
embargo, varía dependiendo de la superficie so-
bre la cual se mueve el robot. Particularmente
desfavorables son las superficies rugosas o tex-
tiles vellosos.
Antes de entregarnos a estas tareas, quisiéramos aclarar dos cosas. Por un
lado hemos utilizado un nuevo componente funcional en nuestro programa,
el componente POSICION. Este es un componente que permanece activo
hasta que se reconozca el número configurado de impulsos en la entrada
determinada (aquí E1). Desde la perspectiva del programa, esto significa que
utilizamos una condición definida de espera. En la primera prueba hemos
utilizado esta función para la medición de la trayectoria de desplazamiento
recto. Si el robot tiene que girar, se trata del mismo principio. Únicamente
deberemos modificar la dirección de giro de los motores. Ahora solamente
nos falta ingresar el número de impulsos y nuestro robot girará sobre su
posición.Vayamos ahora al segundo punto por aclarar. No queremos simple-
mente seguir probando hasta que el robot gire 180°; queremos calcular pre-
viamente este valor. Los motores de tracción están configurados como un
differential drive, es decir que las ruedas del robot se mueven durante el
giro sobre una circunferencia cuyo diámetro está dado por la distancia entre
las ruedas. Por consiguiente, para un giro de 180° cada rueda debe recorrer
una trayectoria de exactamente la mitad de tal circunferencia.
Calcularemos primeramente la circunferencia u:
u = S • d = 630mm
d - diámetro (distancia entre ruedas,
aproximadamente 200 mm)
Anteriormente habíamos determinado una trayectoria de aproximadamente 1
cm por impulso, consiguientemente necesitaremos para la trayectoria de 314
mm (la mitad de la circunferencia) 30,5 impulsos. Ya que podemos calcular
únicamente valores en números enteros, nos deberemos decidir por 30 o 31
impulsos. Probaremos cual de estos valores proporciona mayor exactitud.
Resultado:
El resultado de las mediciones con la rueda de impulso arroja que la
exactitud realizable de nuestras mediciones no es muy alta. Especialmente
cuando se recorren varias trayectorias repetida o consecutivamente, se
acumula el error absoluto de medición. Asimismo es un problema el error
resultante de tactos no registrados completamente.
Las posibilidades de minimizar estos errores son limitadas. Por un lado se
pueden aumentar los impulsos de trecho por cada unidad de trayectoria.
Lo ideal sería que el contador se encontrase directamente en el árbol de
transmisión. Además del hecho de no tener acceso al árbol, aquí se suma
el problema de la limitada velocidad de muestreo de la interfaz. Cuando
dentro de una unidad de tiempo vienen demasiados impulsos, la interfaz
"se olvida" eventualmente de algunos. Así, el cálculo exacto del trayecto
es ilusorio.
No estamos en capacidad de registrar otros errores, como por ejemplo el
resbalamiento de las ruedas sobre superficies desiguales o la divergencia
de los diámetros de las ruedas. Nos consolamos con la idea de que no se
ha podido dar solución integral a estos problemas en sistemas comerciales
mucho más complejos y caros.
4.2 Robot con detección de bordes
Una vez que hayamos experimentado copiosamente con nuestro modelo
básico, intentaremos enseñar al robot lo que significa tener "miedo" al
abismo. Hasta ahora el robot se ha movido de un lado para el otro sobre
la mesa mientras lo vigilábamos con ojos de lince para que no se caiga de
la mesa. Esto no parece ser un comportamiento verdaderamente inteligente.
Por ello, haremos algunas modificaciones.
Para que el robot reconozca un borde, requiere de un detector de bordes. Un
proceso tan simple y útil necesita dos ruedas auxiliares. Éstas se instalan
con un interruptor de manera similar a un sensor en la dirección de
desplazamiento del robot. Las ruedas están construidas de tal modo que
se pueden mover verticalmente. Un borde hace que la rueda auxiliar caiga y
active con ello el sensor.
Tarea 3:
Construye el modelo "Robot con detección de bordes" según las in-
strucciones de ensamblaje (engranaje de reducción 50:1). El modelo
deberá desplazarse hacia adelante. Tan pronto como llegue a un
abismo sobre el lado izquierdo, deberá desviarse a la derecha, de
haber un abismo a la derecha deberá desviarse a la izquierda. Para
disponer de una mejor vista general, algunos movimientos se aplican
como subprogramas (adelante, a la izquierda y a la derecha). El
contador detectará el número de pasos. El número de pasos se
predetermina en una variable VAR10. Esta norma es diferente para
los subprogramas a la derecha y a la izquierda.
E
49

Publicidad

Capítulos

Tabla de contenido
loading

Tabla de contenido