SAM-Z, un nuevo robot

Celebrando el aniversario del robot SAM me dieron ganas de construir uno nuevo. Sería una óptima plataforma para experimentar nuevas tecnologías que podrían ser publicadas en Inventable durante la evolución del proyecto. Cuando era chico soñaba construir robots como el de la fotografía de introducción de este artículo aunque si con los años me di cuenta que era mejor hacer cosas más simples y que se asemejaran más al robot de esta foto de los años 50 (un roomba prehistórico).

Mirada encantada de la ama de casa mientras el robot se pasea por la cocina

He pensado de usar una raspberry PI 3 como cerebro por su potencia de elaboración y para poder programarla cómodamente en un lenguaje de alto nivel (probablemente Python), en modo remoto, desde mi escritorio y a través de la red WiFi de casa (con VNC, ya hablaré de este tema más adelante). Disponer de la Raspberry PI 3 significa tener una computadora completa a bordo, donde puedo conectar telecámaras y otras cosas USB, usar librerías de todo tipo como por ejemplo de reconocimiento de imágenes y hasta de inteligencia artificial. Aclaro que los posts que publicaré de este proyecto no serán tutorials, no explicaré como construir un robot sino mas bien lo haré como una forma de compartir con ustedes esta experiencia. Por este motivo las descripciones, los circuitos y las imágenes no serán prolijas y detalladas como lo hago habitualmente, véanlo como algo experimental.

Bueno, todo muy lindo pero debo empezar con lo más sencillo: una base, con ruedas. Este es el primer paso y representa el concepto mismo de robot móvil, dejando de ser un simple montaje electrónico para convertirse en una entidad autónoma (y con personalidad!).

Base de aluminio, motores y ruedas.

El robot se llamará SAM-Z porque la Z se parece al número 2 (el nombre lógico de este robot sería SAM-2 pero no me gustaba mucho como sonaba) y porque después de tanto tiempo transcurrido desde el primer SAM ya habré llegado a la última letra del abecedario 🙂

Volviendo a la estructura de la base, la configuración con dos ruedas delanteras motrices y una posterior libre me gusta mucho, la he usado en el primer robot SAM y también en Calimaro, el robot con transistores. He decidido de adoptar para la base nuevamente el octógono irregular porque es fácil de hacer pero al mismo tiempo da al robot buenas características de maniobrabilidad. He profundizado bastante este argumento en mis artículos sobre la construcción de Calimaro.

Motor con caja de engranajes y rueda de carrito.

Para evitar de usar una base un aluminio muy espesa, he pensado de agregar un refuerzo rectangular di madera terciada donde se encuentran los motores de tracción. Como motores usaré un par que había comprado años atrás en una feria de electrónica. Las cajas de engranajes son de plástico, no muy buenas, pero los ejes para las ruedas son grandes y además los motores tienen incorporados los sensores IR de giro.

Sensores de giro de los motores desmontados.

Usaré ruedas para carritos, que se venden en las ferreterías. La de atrás, que debe ser libre, la dejo con su soporte metálico, atornillándola a la base, mientras que las ruedas de tracción, más grandes, las desmonto de sus soportes y las adapto, con un taladro, para que entren a presión en los ejes de los motores.

Rueda libre posterior.

He probado a desmontar los sensores de giro de los motores y el circuito parece bastante simple aunque si he tenido que hacer algunas pruebas para descubrir la polaridad de alimentación y verificar que funcionen con 3,3V que es la tensión de trabajo de la Raspberry.

Detalle de los sensores de giro de los motores.

Los niveles lógicos de salida, alimentando con 3,3V son muy buenos (0V para el bajo y 3,2V para el alto). Estos sensores de giro tienen dos salidas para poder determinar el sentido de rotación (cálculo por cuadratura).

Circuito de los senores de giro. Los fototransistores son seguramente de tipo PNP con salida por colector.

En mi caso, el micro ya sabe el sentido de giro del motor (es él que lo controla) por lo tanto me sirve solo una salida. Por las dudas agrego cables a las dos salidas pero usaré solo una.

Base completa con motores y ruedas montados.

Para las colisiones sería más elegante usar sensores a ultrasonidos o a infrarrojos pero se necesitan instalar varios para obtener una cobertura completa, sin zonas ciegas. Por ahora adopto el sistema a microswitch y antenas (alambres de acero) que usé en el robot a transistores porque es muy seguro y muy simple de hacer. Después agregaré otros sensores de aproximación, provablemnete IR, pero sin la preocupación de cubrir bien todo el frente del robot ya que las antenas serán siempre activas.

Micro-interruptores a los cuales he soldado las antenas de acero como sensores de colisión.

Monto los microswitch con distanciales en modo tal de dejar espacio para futuros sensores más sofisticados.

Mi tradicional y caótica mesa de trabajo (en primer plano el martillo, en el caso de ataques de ira).

Bueno, la parte de abajo (motores, ruedas y sensores de colisión) ya está lista, en el post próximo sigo con la parte de arriba.
Vuestros comentarios y opiniones serán bienvenidos.
Hasta la próxima.

Artículos relacionados:

-SAM-Z Segunda parte: la alimentación del robot

- El robot Calimaro

- El robot SAM

- Driver para motores 

Indice de todos los artículos de Inventable

Los contenidos de este blog son originales y están bajo una licencia Creative Commons BY_NC_ND

 

SAM-Z, un nuevo robot ultima modifica: 2019-11-08T19:49:42+01:00 da inventable

17 comentarios sobre “SAM-Z, un nuevo robot”

  1. Para los ataques de ira uso un martillo de plástico, así no hace corto 🙂 .
    Bueno, te decidiste al final. Yo ya tengo la Raspberry 3, pero todavía ni siquiera la enchufé por vez primera. Voy a ver si la pongo en marcha a la brevedad para practicar, a ver si puedo darte una mano en algo.

    Después sigo.
    Un abrazo
    Juan

      1. Muy bueno Juan, realmente impresionante. Ya que estamos en argumento, uno de los objetivos más importantes de SAM-Z es precisamente el sistema di auto-recarga, el robot debería buscar y engancharse a una «robot docking station» automáticamente. ¿Ideas?

          1. Me gustaría sumarme, aunque mis conocimientos de Python son mínimos. Voy a leer un poco y veré en qué puedo ayudar.

        1. Busqué muy por encima lo de OpenCV y me doy cuenta de que todavía me falta mucho. Si no enchufo pronto la Rpy me voy a quedar en el pasado…

  2. Si con 3.3 V lográs 3.2 V de salida en los opto, lo más seguro es que sean PNP con salida por colector, por la muy poca caída, digo.

    1. Si, tenés razón, son niveles de transistores saturados, no sabía que se producían fototransistores PNP, nunca vi uno.

      1. Salvo que al hacer el dibujo te hayas mezclado + y -, en cuyo caso serían NPN comunes y corrientes. El sentido de los led también podría ser parte de la confusión. Qué sé yo, es que lo de los PNP me parece tan raro…

      2. Puedo estar equivocado, pero no creo que sea físicamente posible hacer un fototransistor PNP «puro», tal vez algún híbrido de un NPN que reciba la luz y un PNP de salida, pero el PNP puro no creo.

  3. Que bueno!!! Me alegro muchísimo que estén nuevamente sumergido en algo tan apasionante.
    El hecho que lo compartas a modo de experiencia día a día, si bien cambia un poco el formato del Inventable, para un desarrollo como este, estimo que sin duda es la mejor opción.
    Enhorabuena por este nuevo reto que te has impuesto y sobretodo por el retorno a la publicación de nuevos artículos.

    Un abrazo
    HJ

    1. Gracias Héctor, me alegra tanto leerte acá. Un robot junta en un único proyecto un montón de especialidades y tantos desafíos. Espero que ustedes puedan ayudarme. Un abrazo.

  4. Hola, he reactivado el account Twitter de inventable para poder publicar los progresos en el desarrollo del robot SAM-Z, no es necesario que se inscriban, pueden ver las novedades y si quieren, comentar acá.

    He agregado el link de Inventable en Twitter en alto a la derecha de la página y también en el menú principal.

Los comentarios están cerrados.