![]() |
Mortimer:
Este robot fue mi primer diseño propio, con los datos valiosos aprendidos en el Bicho y con la información que leí en la red, en donde hay cientos de links con toda el conocimiento necesario para armar un robot casero. Mirado a la distancia, para ser un primer proyecto parece ser un poco ambicioso en sus pretensiones, incluso la propia estética es pretenciosa , pero al fin de cuentas fue un proyecto exitoso y que me permitió aprender mucho acerca de los detalles reales de diseño y construcción con los que un ideólogo se encuentra, a la hora de transferir las ideas al mundo real. Mortimer está construido en base a dos plataformas montadas una sobre otra, con distancia suficiente entre ellas como para poder meter los dedos para cambiar o arreglar algo. Me gustó esta solución de crecimiento en la vertical en lugar del clásico crecimiento horizontal y como solución de construcción seguí usándola en otros proyectos posteriores. La plataforma superior alberga una batería de 9v para alimentar la circuitería digital. Además aloja la propia BS1, todos el conexionado de puertos I/O y también se ubica allí, en la parte de abajo de la cubierta, el controlador digital del Motor de Transporte. Este controlador es muy importante ya que cualquier microprocesador conectado directamente a un motor se fríe instantáneamente sin posibilidad de reacción por parte del constructor. |
||||||
| Lo que ocurre es que el flujo de corriente requerido por el motor, por pequeño que sea, excede las capacidades de manejo de corriente de las puertas I/O de microprocesador. Esto implica habilitar una unidad intermedia entre el microprocesador y el motor, que se encarga de recibir una señal digital desde el procesador, que gatilla el envío de 6v DC hacia el motor, con la potencia requerida y con la polaridad requerida para un giro en la dirección adecuada.
La plataforma inferior contiene la segunda fuente de poder, conformada por un pack pilas recargables conectadas de modo de conseguir unos 5v, necesarios para activar el motor de transporte. El motor es muy sencillo y está conectado mecánicamente a una caja de engranajes, con el objeto de disminuir su velocidad y aumentar la fuerza de su empuje. El motor y la caja de engranajes están ubicadas en la parte trasera del robot, es decir Mortimer es un vehículo que cuenta con tracción trasera. Para habilitar la capacidad de giro, cuenta con un par de ruedas conectadas a un eje móvil de giro, conectado mecánicamente a un servo. El servo está directamente conectado a la BS1, quien controla la dirección del movimiento del servo.El servo iniciará un giro como respuesta a la información enviada por los sensores de obstáculos, dos coquetos bigotes metálicos curvados que al entrar en contacto con un obstáculo, pulsan un micro-interruptor , con lo cual se envía una señal de alarma al microprocesador. De acuerdo a esta señal, el microprocesador envía la correspondiente señal de giro al servo, con el propósito de realizar un giro de evitación del obstáculo. Si ambos bigotes son oprimidos simultáneamente, la BS1 lo interpreta como un obstáculo en el frente del robot, en cuyo caso el microprocesador envía una señal digital al Controlador del motor ordenando la inversión de giro, lo que se traduce en un movimiento de retroceso durante unos segundos. Finalmente y como término de la rutina de evitación, se invierte la dirección del motor nuevamente para retomar su condición original, enviando una señal de giro al servo, para no volver a estrellarse con el mismo obstáculo y se retoma la marcha normal. |
|||||||
| Naturalmente toda esta secuencia de interpretaciones y señales de control nacen de un programa computacional que fue, sin lugar a dudas, la parte más entretenida de construir y modificar hasta la saciedad. Hay decenas de variables que pueden hacer cambiar el comportamiento del robot , desde respuestas muy evitativas y "prudentes" hacia comportamientos más ágiles o incluso un tanto agresivos.
Los pequeños cambios en las variables de programación pueden ser observados inmediatamente como cambios en la conducta del robot. Esta es un tema realmente apasionante, porque por una parte se puede comprobar esta conducta emergente que plantea Brooks de manera práctica, con sensores tan sencillos como un par de bigotes conectados a un interruptor, el cambio de una variable menor provoca un cambio de comportamiento mayor. A eso le llaman dinámica no lineal, no es cierto? En fin, la otra reflexión inmediata a la que lleva esta asunto de los cambios en el programa y su correspondientes cambios en el comportamiento, no pueden menos que traer a la memoria estos temas de psicología reciente, que postulan el mismo asunto pero aplicado a los seres humanos: el hecho que podríamos tener ciertos "programas" almacenados en nuestro cerebro, los cuales son puestos en marcha en forma automática frente a la presencia del estímulo que los gatilla. El programa de respuesta a la agresión, el programa de conquista, etc. etc. Y tal como el caso del robot, posiblemente la identificación de la variable apropiada, puede significar un gran cambio de comportamiento con una pequeña modificación interior...inevitablemente, esto comienza a sonar como Psicología barata, pero una vez que comienzas a reflexionar sobre las variables de comportamiento de un Robot, la extrapolación hacia el comportamiento humano es una entretención ineludible. |
![]() |
||||||
| Volviendo a la robótica, terminaré diciendo que Mortimer trajo mucho conocimiento y muchas ansiedades, porque la mecánica de los bigotes supone que el robot choca contra algo antes de estar en condiciones de responder, por lo tanto su comportamiento es básicamente reactivo, lo que le otorga una cierta torpeza en su devenir. Me moría por incrementar la habilidad de los sensores y me metí de lleno en el estudio de los sensores infrarrojos y los sensores ultrasónicos.
Un par de robots intermedios me permitieron desarrollar estos sensores en escenarios de prueba y viendo que la vida de Mortimer se aproximaba inexorable hacia su fin, le otorgué un merecido y generoso programa de retiro y me embarqué en el siguiente proyecto: Baluc. |
|||||||
![]() |
|||||||