Diario de un TFM: Biorobótica y FPGAs libres.

448 views
Skip to first unread message

Julián Caro Linares

unread,
May 2, 2016, 9:38:11 AM5/2/16
to FPGA-WARS: explorando el lado libre
Como no me he presentado formalmente, lo hago ahora :)

¡Muy buenas a todos! Mi nombre es Julián Caro Linares, actualmente estoy estudiando un Master en Robótica y Automática en la UPM.


Estoy casi terminando el master y, hablando con Juan Gonzalez, se me ocurrió realizarlo utilizando FPGAs libres.

He pensado que sería interesante ir contando poco a poco mis aventuras y desventuras con mi trabajo de fín de master, por lo que iré creando una serie de entradas en la web Dr.Maker donde os contaré poco a poco lo que hago:


La idea es aprender mucho por el camino, construir unos cuantos robots y cacharros, y contribuir con lo que aprenda al desarrollo y difusión de las FPGAs libres.

¡Espero que me acompañéis por el camino!

¡Un saludo!

Obijuan

unread,
May 2, 2016, 1:43:41 PM5/2/16
to FPGA-WARS: explorando el lado libre
¡Genial Julián!  ¡Bienvenido! :-)

Cristóbal Bueno

unread,
May 3, 2016, 2:13:19 PM5/3/16
to fpga-wars-explora...@googlegroups.com
Buenas Julian!
Estaremos atentos a tus progresos!

Saludos!
--
Has recibido este mensaje porque estás suscrito al grupo "FPGA-WARS: explorando el lado libre" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explora...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/40e6dcf0-d288-45e9-8636-d0e52a9662a7%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Julián Caro Linares

unread,
May 7, 2016, 1:45:05 PM5/7/16
to FPGA-WARS: explorando el lado libre
Gracias por vuestro apoyo. Así da gusto escribir para otros. :)

Si tenéis cualquier duda o sugerencia solo decirlo :) os iré compartiendo los avances mediante este hilo.

Un saludo

Antonio beta

unread,
May 10, 2016, 3:19:37 AM5/10/16
to FPGA-WARS: explorando el lado libre
Me uno para cotillear tus progresos!. Tb soy estudiante (de electrónica) de la UPM, asi que a lo mejor tb me sirve en un futuro.
Animo! y suerte con ese TFM.

Diego Fernandez Gonzalez

unread,
May 10, 2016, 7:14:43 PM5/10/16
to FPGA-WARS: explorando el lado libre
Un proyecto muy interesante, y encima con hardware libre.

Cojo butaca y cubo de palomitas para ver tus avances.

Mucha suerte con tu PFM...

Juanillo Pillo

unread,
May 18, 2016, 10:07:28 AM5/18/16
to FPGA-WARS: explorando el lado libre
Yo me quedo tambien por aquí ansioso de ver el progreso. Ademas, hecho de menos los chistes malos de Julian en las clases de la UNIR XD

Eneko Montero

unread,
May 19, 2016, 1:55:57 PM5/19/16
to FPGA-WARS: explorando el lado libre
Me apunto al hilo, suena muy interesante!
Ánimo con el TFM ;)

Julián Caro Linares

unread,
May 22, 2016, 6:02:12 AM5/22/16
to FPGA-WARS: explorando el lado libre
He publicado una nueva entrada:

Diario de un TFM: Ratón de... ¿biblioteca? Más bien de Metro: Documentándose.


Gracias a todos por vuestro apoyo^^, de momento crece lento, espero poder pasar a la práctica y enseñaros cosas interesantes pronto.

PD: Juanillo ¡No jorobes! Cría fama... espero que al menos aprendieras algo entre chiste malo y chiste malo :)

Julián Caro Linares

unread,
Oct 10, 2016, 7:43:34 AM10/10/16
to FPGA-WARS: explorando el lado libre
Buenos días a todos.

He publicado una nueva entrada en el blog:


Para quién le interese el proyecto, por el momento iré publicando las cosas dignas de mención en el siguiente repositorio:


Teneis ahora mismo el documento que marca la hoja de ruta del proyecto, sin tener mucha chica (15 paginas que se quedan en 10 sin portada y bibliografía) os puede resultar interesante como un pequeño estado del arte:


¡Un saludo!

Juanillo Pillo

unread,
Oct 11, 2016, 1:47:42 AM10/11/16
to FPGA-WARS: explorando el lado libre
Me parece interesantisimo. Seguiremos de cerca los avances!! :)

Julián Caro Linares

unread,
Jan 20, 2017, 7:51:36 AM1/20/17
to FPGAwars: explorando el lado libre
Buenos dias:

Os comparto la última entrada del blog sobre mi TFM sobre robótica y FPGA libres:




Como siempre soy un poco informal, perdonad mis payasadas, creo que le dan un toque divertido, ayudan a la lectura, y me ayudan a sobrellevar partes del proyecto más serias y formales.

¡Un saludo a todos!


Miquel Servera

unread,
Jan 21, 2017, 12:16:41 PM1/21/17
to FPGAwars: explorando el lado libre
Yo también me uno a la lista que seguro aprendo mucho detrás de vosotros.
Saludos!

Julián Caro Linares

unread,
Mar 15, 2017, 4:37:31 AM3/15/17
to FPGAwars: explorando el lado libre
Buenos días

Hoy público una pequeña entrada dentro de este "Diario del TFM"

Tengo que hablaros de muchas cosas, de peces diabólicos, tutoriales fantásticos y mucho más.

Pero hoy toca algo diferente pero que también forma parte de un proyecto:


¡Un saludo!
Message has been deleted

una...@gmail.com

unread,
Mar 16, 2017, 1:12:22 AM3/16/17
to FPGAwars: explorando el lado libre
Parece que el mensaje anterior que he enviado a este hilo ha hecho saltar algún filtro y aparece como eliminado. ¿El autor del hilo o algún moderador/administrador del grupo puede darle paso, por favor?

Julián Caro Linares

unread,
Mar 21, 2017, 3:41:42 AM3/21/17
to fpga-wars-explora...@googlegroups.com
Estimado Unaimc

Muchas gracias por tus opiniones, me he leido el texto un par de veces ya que es muy denso y, aunque en algunas cosas no estoy del todo de acuerdo, otras que comentas me parecen muy interesantes. Te agradezco tus comentarios al respecto.

El texto que redacte en su momento no es más que una respuesta serie de ventajas y desventajas que se comentan en el vídeo que lo inspira y que está en el propio post. No pretende ser una opinión crítica y formada a nivel experto. Si no la de una persona relativamente novata en el tema que expresa su opinión en base al vídeo ya comentado. Probablemente contenga errores u opiniones que gente con años de experiencia en el tema no compartan, pero es que esa es la idea, expresar mi opinión en ese momento y ya está, no es un estudio pormenorizado ni basado en la experiencia de la industria, es solo una opinión, por lo que no veo necesario realizar ninguna segunda versión, sobretodo por la carga de trabajo extra que supondría.

Respecto a que "Arduino es un juguete" sencillamente no estoy de acuerdo. Arduino no sirve para todo, pero tiene más aplicaciones de los que la gente puede llegar a pensar, y un error común al respecto es pensar que Arduino es la placa. Lo valioso de Arduino no es la placa, lo valioso es el proyecto, la idea basada en licencias libres y el movimiento que ha popularizado y lo que nos queda por ver. Sin el proyecto Arduino probablemente aún no tendría mi propia impresora 3D debido a la dificultad y el coste en sí o al laberinto de patentes y licencias. Puedo suponer que habrían existido otras posibilidades aceptables, pero solo sé que mi actual impresora lleva uno, y no me meto en el area del prototipado y R&D de IoT y Robótica, porque hay mucha gente "jugando" y ganándose la vida con una placa Arduino.

Una vez más te agradezco tus respuestas, un saludo y feliz semana


--
Julián Caro Linares


1138-4EB

unread,
Mar 21, 2017, 4:08:40 PM3/21/17
to FPGAwars: explorando el lado libre
Hola Julián,

 
no es un estudio pormenorizado ni basado en la experiencia de la industria, es solo una opinión, por lo que no veo necesario realizar ninguna segunda versión, sobretodo por la carga de trabajo extra que supondría.

Aunque, por tratarse del 'Diario de un TFM', no lo comparto, lo entiendo. En cualquier caso, la mayoría de la información aportada, ya estaba en el vídeo, aunque aparentemente te pasara desapercibida en su momento. Simplemente quería puntualizar de las suposiciones que das por válidas, aquellas que no se indican en el mismo, y que son de dudosa veracidad.
 
Respecto a que "Arduino es un juguete" sencillamente no estoy de acuerdo. Arduino no sirve para todo, pero tiene más aplicaciones de los que la gente puede llegar a pensar, y un error común al respecto es pensar que Arduino es la placa. Lo valioso de Arduino no es la placa, lo valioso es el proyecto, la idea basada en licencias libres y el movimiento que ha popularizado y lo que nos queda por ver.

Arduino es el juguete de un ingeniero. Si resulta más amable, podemos usar 'electrónica/robótica educativa' o 'entorno de prototipado rápido de muy bajo coste, con prestaciones mínimas e interfaz ultrasimplificada'. Más concretamente, el proyecto Arduino ""es"":

- Diseños de PCBs basados en uC de Atmega (y después ARM también).
- IDE basado en Processing.
- Bootloader y 'driver' para su programación.
- Marca comercial.
- Fabricante y distribuidor de placas.
- Comunidad de usuarios.
- Bandera del 'hardware libre'.

Profundizando mínimamente, los PCBs son copiados, el IDE es copiado y el bootloader + driver es copiado. Todo es imperativamente libre porque ya lo era antes de que se 'creara' Arduino. La comunidad de usuarios existe, pero cada vez más como lugar común donde se integran los aportes de otras (Hackaday, Sparkfun, AVRfreaks etc.). Nos quedan una marca comercial y la fabricación/distribución de placas. Al respecto, en aras de la ética, el culebrón merece ser seguido: http://arduinohistory.github.io/. Por ello, relacionándolo con esta charla del congreso 'Freedom for Hardware & Communications' (celebrado en Bilbao en 2011), al equipo de Arduino hay que atribuirle un excelente trabajo de marketing, networking, publicidad y medios. No tanto un buen entendimiento de la cultura de la remezcla como sí del bazar. Aun así, en logística/economía es patente que las perspectivas han sido muy divergentes y en absoluto transgresoras.

En otras palabras, el hardware no es más libre desde que existe Arduino. De hecho, es relativamente menos libre porque tras el hype muchísima gente usa el eslogan sin pararse a analizar qué es lo que está diciendo. Los problemas que lo diferencian del software libre siguen igual. Las patentes siguen igual. De hecho, hay licencias más específicas para hardware libre que Arduino no utiliza. Por otro lado, no he leído ninguna referencia del equipo de Arduino a RISC-V, que sería un avance sustancial hacia lo proclamado.

Sin embargo, es digno de estudio desde la perspectiva de las ciencias sociales cómo encaja el éxito de Arduino con la brecha digital, el discurso del emprendiemiento, la proliferación de mal-llamadas start-ups, los/las self-made (wo)man, el garaje de Google, open source vs software libre, etc. Es evidente que mucha gente se está ganando la vida, o al menos sacándose unas perras, vendiendo productos (la mayoría ya existentes previamente) con la etiqueta 'Arduino-compatible' o hablando de ello.

Entiéndase: creo muy interesante que personas que de otra forma ni se habrían planteado cuestiones como la dependencia tecnológica, o las implicaciones de poner la 'c' de copyright por inercia, tengan una excusa gracias a Arduino. Pero existe el riesgo, patente, de que lo adopten como dogma. A partir de un mínimo de experiencia, confundir Arduino con AVR es indicativo de lo anterior. Al César lo que es del César, especialmente en la Academia. Aunque bastante malita está ya, una búsqueda en GScholar de 'Arduino AVR' resulta bastante ilustrativa.
 
Sin el proyecto Arduino probablemente aún no tendría mi propia impresora 3D debido a la dificultad y el coste en sí o al laberinto de patentes y licencias. Puedo suponer que habrían existido otras posibilidades aceptables, pero solo sé que mi actual impresora lleva uno,

Corrígeme si me equivoco, pero diría que no necesita nada de Arduino:

- Si es una RepRap, es un proyecto paralelo a Arduino que estaba en una fase bastante avanzada antes de vincularse. De hecho, originalmente la electrónica estaba basada en un PIC. Si no hubiera existido Arduino, habrías comprado una placa que incuyera un PIC, la habrías conectado y programado por usb igualmente (http://usbpicprog.org). O habrías utilizado Smoothieboard (ARM), Replicape (ARM)...
- De todos los firmware que conozco para ArduinoMega en impresoras 3D, ni uno solo utiliza el lenguaje Arduino (scripts ino). Todos están escritos en C o C++. Por lo tanto, cualquier AVR de tamaño suficiente sirve. Con adaptaciones en los nombres de los puertos y la gestión de timers, cualquier micro sirve.

Poniendo en valor la navaja de Occam, el equipo de RepRap optó por utilizar un producto de bajo coste muy extendido en el momento de tomar la decisión, para así evitarse el problema de la distribución. Lo que importa es que cualquiera puede adquirir una placa ya montada, porque el usuario objetivo sólo va a grabar el firmware y usarlo como una caja negra. Si, además, puede ser un poco libre, mejor, pero no es prioritario en el proyecto.
 
en el area del prototipado y R&D de IoT y Robótica, porque hay mucha gente "jugando" y ganándose la vida con una placa Arduino.

Entiendo que te refieres a programar prototipos con dispositivos AVR en C/C++. Al margen del IDE en sí, me parece dudoso que nadie esté haciendo algo medianamente serio con scripts ino. Yo lo utilizo como programador genérico, para monitorizar o generar señales, controlar un LCD, etc. Pero, una cosa o dos cosas cada vez. Cuando hay que combinar varias funcionalidades (varios timers + interrupciones), me veo obligado a escribir en C/C++, o modificar las librerías. Llegado a ese punto, lo óptimo es utilizar CodeBlocks (para seguir usando solo software libre), AVR Studio, etc.

Así, la forma de la placa es lo que menos importa, ya que lo que selecciono es el modelo de micro. Compro placas Arduino-compatible o derivadas-de porque son mucho más accesibles que el STK500, por ejemplo. Y periféricos Arduino-compatible porque desde Asia han inundado el mercado y no tengo ni que soldar pulsadores. Como producto, final, es difícil encontrar un caso en que usar una placa de Arduino tal cual sea la opción más adecuada. En IoT simplemente no pueden competir (aunque lo intenten con la Yun y Tian): https://developer.mbed.org/platforms/. Nótese que, a pesar de que ninguna se publicita como hardware libre, existen toolchains libres para prácticamente todas. Asimismo, se pueden hacer productos derivados como en Arduino.

Si se están utilizando scripts como este https://forum.arduino.cc/index.php?topic=223286.0 en productos, no prototipos, yo me santiguo, sigo hacia delante y aquí no ha pasado nada.
 
Una vez más te agradezco tus respuestas, un saludo y feliz semana

Y yo a ti. Es muy interesante ver cómo cambia el relato dependiendo de la perspectiva. Tendré sólo un par de años más que tú, ya que hice una ITI en Elect. Ind. pero pasé directamente a un Master MECES 3. Esa diferencia es suficiente para que me diera tiempo a progamar un atmega48 en la STK500, y a 'hacer un Arduino' en una protoboard (un condensador, siete transistores y un MAX232), antes del boom. Entonces era 'el raro' por no utilizar PIC, que es lo que se daba en varias asignaturas en la UPV/EHU, o el C517 (basado en el 8051) en la Universidade da Coruña. Me ha permitido seguir la evolución de Arduino entendiendo que la novedad era pedagógica, no técnica.

Me alegró mucho el lanzamiento de Arduino. Al principio pensé 'pues vaya tontería, si son tres integrados'. Pero, pensando en toda la gente que no se animaría a hacer un PCB, y por la comodidad de tenerlo ya hecho, tenía muy buena pinta. Ingenuamente, pensé que al poder adquirir placas Arduino por 10 euros, otros compañeros, conocidos, etc. podrían aprender electrónica.

Mi sorpresa, y frustración, llega cuando a día de hoy ninguno ha utilizado una interrupción o los modos de bajo consumo. Ambos recursos habituales y necesarios en cualquier aplicación empotrada aceptable. Están haciendo cosas muy interesantes, como controladores para balancines (drones), guantes con sensores para transmitir movimients al ordenador, domótica (termosato web)... pero no saben encontrar información en la datasheet. Al principio no lo entendía, y he acabado por darme cuenta de que no les importa cómo funcionan las cosas, mientras lo hagan. Con pocas librerías y en muy poco tiempo pueden poner su idea en marcha. Que funcione bien es más difícil, y siempre suele quedar en un experimento o prueba de concepto, porque 'no hay tiempo para mejorarlo' o por desesperación. Lo cierto es que, en la mayoría de casos, no hay mejora posible más que una reescritura aplicando buenas prácticas en el diseño de software empotrado, que requiere saber para qué arquitectura(s) estás programando. El resultado es i) falsa sensación de confianza, al menospreciar el tiempo requerido para llegar de ese primer prototipo medianamente funcional a un producto fiable; ii) dependencia tecnológica, al no ser capaces de extrapolar el diseño a cualquier otro uC. Nótese la perversión implícita en esto último, tratándose de la bandera del hardware libre.

Que esas personas, una vez finalizados sus estudios, comercialicen placas Arduino y periféricos de aliexpress como productos es pan para hoy y hambre para mañana. La buenas prácticas del software hay que imitarlas, pero igual de importante es señalar las malas.

Quien haya profundizado/estudiado lo suficiente como para ser capaz de describir el funcionamiento en AVR, PIC o ARM, aunque no lo vaya a implementar, entenderá la importancia de revisar el vocabulario como elemento diferenciador. En las áreas técnicas de la Academia, 'Arduino' no es diferente de 'Coca-Cola' o 'Kleenex', va con TM.

Un saludo

Julián Caro Linares

unread,
Mar 21, 2017, 6:43:45 PM3/21/17
to fpga-wars-explora...@googlegroups.com
Hola Unaimc

Gracias por tu texto, queda con ello patente que el post en tu opinión contiene muchos errores.

Respecto a Arduino, no soy yo la persona adecuada para argumentarte que si cuya o cuyo. Creo que hay gente con más perspectiva al respecto que yo y más años viviendo dos mundos. No estoy de acuerdo con tu visión del asunto, aunque tus argumentos sean validos y me son útiles, tengo una visión mucho mas "hippie" si lo deseas, de Arduino y, probablemente, del tipo de ingeniería que va surgir en el futuro. Creo que hay otros medios de discutir y hablar lo que quieras al respecto, mejor un día con una cerveza ;)

En cualquier caso, probablemente en el próximo post hable de peces asesinos ;)

Un saludo





El El mar, 21 mar 2017 a las 23:33, Julián Caro Linares <jcarol...@gmail.com> escribió:



--
Has recibido este mensaje porque estás suscrito a un tema del grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este tema, visita https://groups.google.com/d/topic/fpga-wars-explorando-el-lado-libre/wNpm4r7efHI/unsubscribe.
Para cancelar la suscripción a este grupo y a todos sus temas, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.

Para publicar en este grupo, envía un correo electrónico a fpga-wars-explora...@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.

Julián Caro Linares

unread,
May 12, 2017, 4:28:45 PM5/12/17
to FPGAwars: explorando el lado libre
Hola a todos

Acabo de publicar otra entrada del "Diario de un TFM"

Espero que lo encontréis interesante.

¿Por qué es tan difícil crear un robot a nuestra imagen y semejanza?

Julián Caro Linares

unread,
Jun 10, 2017, 9:34:32 AM6/10/17
to FPGAwars: explorando el lado libre
Hola a todos.

He publicado una nueva entrada de Diario de un TFM donde hablo del pequeño robot Doodle


Un saludo

Jose Pico

unread,
Sep 26, 2017, 6:37:01 PM9/26/17
to FPGAwars: explorando el lado libre
Está desparecido.
 jejejeje

Julián Caro Linares

unread,
Sep 27, 2017, 5:34:18 PM9/27/17
to fpga-wars-explora...@googlegroups.com
Hola 1138-4EB.

No me ha llegado dicho mensaje, acabo de verlo por la mención de Jose. En cualquier caso no tengo privilegios de administrador asi que no puedo ayudarte en ello. Sin embargo si copias y pegas por aqui el mensaje o lo vuelves a escribir lo leeremos.

Cualquier pregunta duda o curiosidad estaré encantado de ayudarte.

Un saludo

--
Has recibido este mensaje porque estás suscrito a un tema del grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este tema, visita https://groups.google.com/d/topic/fpga-wars-explorando-el-lado-libre/wNpm4r7efHI/unsubscribe.
Para cancelar la suscripción a este grupo y a todos sus temas, envía un correo electrónico a fpga-wars-explorando-el-lado-libre+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-li...@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.

Jose Pico

unread,
Sep 28, 2017, 1:59:16 AM9/28/17
to FPGAwars: explorando el lado libre
 El tema es que revisando información vi que se había borrado.
 Estaba intentando asimilar la cantidad de información tan interesante que nos envió 1138-4EB. 
 Saludos
Reply all
Reply to author
Forward
0 new messages