Proyecto Noah Robot

Hola, mi nombre es Gonzalo Cervetti. Quería compartir con ustedes mi proyecto de tesis con el que estuve trabajando durante el 2020.

Mi propuesta surge luego de trabajar en diversos grupos de investigación en la UTN Facultad Regional San Francisco. Dentro de Argentina, hay una escasez de plataformas educativas de robótica orientadas al ámbito universitario, lo que motiva la búsqueda de kits de desarrollo extranjeros. Sin embargo, los procesos de importación son costosos y engorrosos, desmotivando así esta alternativa. La única opción disponible es desarrollar un kit de robótica aplicado a las necesidades del proyecto a investigar, lo cual demanda tiempo, esfuerzo y experiencia.

Para solucionar esta problemática desarrollé un robot con fines educativos. Toda la información relevante al proyecto es de libre acceso y los componentes requeridos son de fácil acceso y bajo costo. El proyecto contempla diversas capas, en las que se incluye mecánica, electrónica, firmware y software.

El proyecto está alojado en los siguientes repositorios:

Noah-hardware: contiene los modelos 3D para fabricar el robot, esquema eléctrico y firmware del microcontrolador. (GitHub - GonzaCerv/noah-hardware: This repo contains all the hardware description for the Noah project. Here lies 3D models, electronics PCB and Firmware software of the robot.)

Noah-software: contiene los paquetes ROS. Se desarrolló un nodo que auspicia la interfaz de comunicación entre ROS y la electrónica. (GitHub - GonzaCerv/noah-software: This repo stores ROS software for Noah robot)

Noah-docker: aquí se encuentra un contenedor docker que se puede ejecutar tanto en x86 como en ARM. Esto permite trabajar en ROS y fácilmente portar el código a una Raspberry PI o Jetson Nano.(GitHub - GonzaCerv/noah-docker: Docker images for running development and emulation)

Les dejo esta demo en la cual se puede ver a Noah (así nombré a mi robot) mostrando imágenes desde una raspycam y siendo teleoperado desde mi PC.

Por el momento el proyecto sigue en desarrollo. Hay que hacer ajustes en cada una de las capas, pero están todos invitados a clonar el repositorio, generar issues o incluso generar PRs con cambios para el proyecto. La documentación está en inglés y quizás sería prudente trabajar en su traducción.

12 Likes

Hola Gonzalo. Muy interesante y valioso… Si te queres agregar al canal de Slack de ROS Es/Sp, aca tenes un enlace.

Saludos…

Muy bueno el proyecto @gonza_cerv , se nota que hay muchas horas metidas en el proyecto. Tenes una idea aproximada del costo que tiene construirlo desde 0?

Hola a todos. Muchas gracias por la invitación @rje1974! @fbaglivo si, demoré alrededor de 10 meses en construirlo. El costo aproximado al momento de construir el robot fue de 220 dolares. Lamentablemente los precios fueron cambiando y en este momento es dificil saber su costo.

2 Likes

@gonza_cerv lo estuvimos charlando ayer en la reunión con @matiasbavera y tenemos ganas de armarlo como para proyecto de la comunidad de ROS Es/Sp y documentar el proceso… Me imagino que a nadie le sobra tiempo; pero nos das una mano y acompañas…? Si te parece bien podemos seguir el tema en este post o crear uno nuevo y que vaya quedando todo junto ahí. Aviso, Yo soy medio choto y seguramente voy a hacer varias preguntas idiotas…
Saludos…

1 Like

Hola! Si, me parece una idea excelente. De mi parte tienen todo el acompañamiento y apoyo que necesiten! Podríamos aprovechar este post y nuclear todas las novedades/consultas acá. Las únicas preguntas totntas son las que no se hacen.
Saludos!

1 Like

perfectiritillo… Dejamos todo por aca… En proximos dias veo de actualizar la lista de materiales y postear aca… Saludos y buen fin de semana

@gonza_cerv que te parece si clono los repositorios y comenzamos de ahí con la traducción en la medida que avanzamos…?

@rje1974 me parece buena idea. Empecemos con la traducción y vamos creando pull-requests a medida q avanzamos

Hola @gonza_cerv, arrancamos… Hice los fork y ya tengo los repositorios clonados en mi máquina. Te parece si arrancamos por definir un plan de trabajo aca en la parte del hardware…?
Saludos…

Hola @rje1974. Me gustó mucho la idea del Kanban en Git, no tenía conocimiento de esta herramienta. Creo q es una excelente idea para organizar mejor el trabajo. Estaba pensando que quizás podríamos agregar las tareas en el repo principal, de esa forma cualquiera puede conocer el estado del trabajo y colaborar en el proyecto. Qué te parece?
Te agregué como colaborador al proyecto así podés agregar tickets y podemos trabajar a la par.
Saludos!

Hola @gonza_cerv … estoy medio antrancado con la lista de materiales… Estos…


son estos…?

Los motores estos…

son estos…?

el driver es este…? https://articulo.mercadolibre.com.ar/MLA-684009584-doble-puente-h-driver-l298n-motor-dc-arduino-_JM#reco_item_pos=5&reco_backend=machinalis-domain-pads&reco_backend_type=low_level&reco_client=vip-pads&reco_id=696a1fc8-1790-4468-a73f-8984e187b5ab&is_advertising=true&ad_domain=VIPCORE_RECOMMENDED&ad_position=6&ad_click_id=ZmQ2NTgwYjAtMTQyNy00ZDJjLThlNjctZjFjMDZjNTg3MGIx

Tambien por otro lado no encuentro la parte donde conecta con la blue pill…

GRACIAS

Hola @rje1974, mil disculpas por la demora en la respuesta. Con respecto a tus consultas:

  • Las fuentes de alimentación son las que pusiste en este link
  • Para los motores, se va a necesitar un driver, q bien puede ser este o este
  • Por último, los motores son estos
  • Con respecto a lo de la blue pill, no hay un esquema de como conectarla, así como tampoco hay un firmware para usar. El diseño original tenía su propia placa y no contemplaba esta placa. Hay que diseñar nuevos esquemas.
    Saludos

Gonzalo

Hola Gonza… que otra placa contemplaba el generic…?

Hola! Como mencioné anteriormente, para el generic no definí nada. Es una buena oportunidad para escuchar sugerencias de la comunidad y definir algo que nos sirva a todos.

Preparé esta imagen para mostrar un poco lo que tenía en mente, con los componentes que agregué en la lista de compra. Los elementos en naranja son necesarios, mientras que los grises son opcionales.¿Qué opinan?

Perfecto y muy claro. Como opinión personal yo iría por lo que se vea como los más fácil y continuo de conseguir. En mí robot uso la teensy 3.2 y en argentina es un problema para conseguir… También por la plata aquel compré una compras cinco o más bluepill. Mí opinión es la de un gordi que compra en Mercadolibre y no la de alguien con sufriente experiencia técnica. Creo que es una buena oportunidad de preguntar por acá y en el canal de slack el tema.

1 Like

Hagamos una encuesta… Que placa les parece mas piola,pasen y voten

Yo consideraría el uso del ESP32:

  • Es accesible.

  • Soporta micro-ROS.

  • Incorpora conectividad.

  • Tiene buena performance.

  • Es compatible con Arduino.

1 Like

ehh, grandes puntos TODOS. Vota en el slack que ya lo convenciste a @matiasbavera y por como viene la cosa con un voto mas ganan… :poop: