sábado, 15 de diciembre de 2007

Futura migracion del blog

pues si, ya he encontrado un host barato barato (gratuito) con php, mysql, 150mb, blablabla... gratuito (blablabla) y poca publicidad.
Estoy empezando a migrar todo este proyecto, y puede que lleve un tiempo (aunque seguro que alguna entrada de C cae por el camino... jejeje)

Por que hacer una web de esto? sinceramente, porque como dije al principio del blog, mi orgullo se resiente cuando veo a gente que, sin conocimimentos de html, hacen blogs como churros y ... encima quedan bien!!!.

Aparte, porque inicialmente este blog era dirigido al proyecto de robotica, y ya he empezado a poner que si programacion, que si compresion de video, etc...


Mas informacion, en proximos dias...

lunes, 3 de diciembre de 2007

Que cosas!!! en los cursos se aprende!!!

No es que quiera convertir este blog de proyecto del robot en historias del curso... pero la verdad es que hacia mucho que no aprendia nada nuevo de C... y lo curioso es que esto es, como quien diria, de "Primaria de C"...
El caso es que, hoy he aprendido que en el switch de C se pueden tratar rangos!!!
Lo apunto aqui para no olvidarlo :D

int main(int argc, char *argv[])
{

int x;
switch(x){
case 1 ... 5: // bloque instrucciones y break
case 7 ... 10: // bloque instrucciones y break
case 11 ... 15: // bloque instrucciones y break
}

Vale, si, que seguro todo el mundo lo sabia... Se que en pascal funciona de la misma manera, pero a mi nunca me habia funcionado... hasta que me han dicho que tiene que haber un espacio entre el primer valor, los 3 puntos seguidos y el segundo valor!!!
Pues eso, algo nuevo hemos aprendido hoy... (valdrá para el proyecto del robot???)

domingo, 2 de diciembre de 2007

Preparandome para programar...

en C. Si si, en el curso vamos a empezar con C... no es que me llame mucho la atencion, pero eso puede "obligarme" a meterme con el tema del robot y empezar a programar la aplicacion que tengo en mente.
Asi que he decidido empezar a currar en ello, y para empezar, nada mejor que preparar el programa que controlara el circuito, dependiendo de las ordenes del robot. Aunque en un futuro deberia ser un objeto, voy a empezar a desarrollarlo como una funcion (para ir acorde con el curso)
Y me he encontrado con el siguiente problema: Suponiendo que el circuito del robot recibe por el puerto serie, pero a la vez puede indicarme una serie de valores (por ejemplo, que las entradas A, B, C, D y E estan activas), o un error al ejecutar una instruccion... ¿Como tengo que abrir el archivo /dev/ttyS0? tengo que abrirlo en modo E/S, pero... desde dos procesos distintos? vuelvo a utilizar fork()?
el programa se me plantea de la siguiente manera:

int circuito(...){
int pid;
...
...
pid=fork();
switch (pid){
case 0: lector(); break;
case -1: error(); break;
case default: escritor(); break;
}
}

int lector(...){
FILE *entrada;

entrada=fopen("/dev/ttyS0", "r");
/* control de errores y leer del archivo*/
}

int escritor(...){
FILE *salida;

salida = fopen("/dev/ttyS0", "w");
/*control de erroes y escribir instrucciones al circuito*/
}

La duda consiste en si, de alguna manera, la apertura del mismo archivo en dos modos distintos y de distinta manera, puede generar un "lio" como, por ejemplo, no permitir uno a otro abrir el circuito...

viernes, 23 de noviembre de 2007

YATTA!!! robot con fonera!!!

Eureka! el invento de utilizar directamente la conexion ttl da sus frutos...
Voy a exponer a continuacion los problemas que me he encontrado al intentar conectar todo el tinglado:
  • parece que la masa se toma del conector DB9 (el puerto serie), pero al desactivarlo para utilizar ttl, tenemos que darle la masa externamente. En mi caso pensaba que la masa ya estaba, y solo ponia 2 hilos, el Tx y el Rx... La solucion: cojer la masa de la fonera!!! (si es que...)
  • Hasta donde yo pensaba, Tx y Rx son envio y recepcion... Pero segun me han explicado Jaime y Dani (gracias, chicos) Tx es bidireccional, y Rx es el reloj... por lo que el circuito que comunica (en este caso, la fonera) tiene que dar esas conexiones directamente... En resumen, Tx de fonera conectado con Tx de circuito, y Rx de fonera conectado con Rx de circuito.
  • Una vez resuelto el tema del circuito, se me plantea el problema de comunicar ordenes... segun el manual, hay que acabar todas las ordenes con <cr>, que es el caracter ASCII 13... trabajando desde la linea de comandos de la fonera, hay que escribir:

    echo -e "#0 P100 S100 \N016" >/dev/ttyS0.

    El \N016 es el caracter 13 EN OCTAL!!! (el -e permite que se interpreten caracteres como \n, \c...)

martes, 20 de noviembre de 2007

Conexion con TTL

Revisando el circuito que me han mandado (el controlador de 32 servos) he visto que, aparte de establecer comunicacion por puerto Serie, tambien permite la conexion por TTL.
Esto nos simplifica la electronica que tenemos que usar para controlar el robot con la Fonera. Recordemos que la Fonera tiene los conectores TTL y que habiamos puesto un circuito pequeño para su conversion a RS-232... pero si el circuito ya viene con TTL... pues todo en directo y listo!!!

viernes, 16 de noviembre de 2007

Comprimiendo el video del robot

Esto es solo un apunte interesante, ya que el video ocupaba inicialmente unos 22Mb y, gracias a Didnt y el comando ffmpeg, se ha reducido considerablemente (ahora ocupa 2Mb). En concreto, desde linux, podemos hacer:
ffmpeg -i origen.mov -s 4cif destino.mov
Recordar que ffmpeg hay que instalarlo, mirad en vuestra distribucion como hacerlo (en ubuntu, el tipico sudo apt-get install ffmpeg funciona.)

Las fotos

Pues si, he hecho unas fotos y un video del robot en funcionamiento (gracias, camara de fotos digital :), asi que vamos a ver el trasto montado y funcionando...
  • EL robot montado al completo. Lo que hay debajo es la cpu del ordenador al que le he conectado. En esta foto se pueden ver la base, el brazo y la pinza. Lo he sujetado a una madera, asi esta mas estable, ya que cuando se estira hacia delante y tiene un peso, puede llegar a volcar... :P
  • Detalle de la pinza: la verdad es que no es gran cosa, pero el mecanismo, una vez montado, parece de lo mas sencillo para hacer un modelo distinto.
  • El circuito: Esto ha sido una sorpresa. En teoria tiene que venir un controlador de 8 servos, pero me han mandado uno que controla 32!!! Cosa que les agradezco mucho :D
Y por ultimo, pero no menos importante... El VIDEO!!! Ahora podreis deleitaros con este gracioso invento. Vereis que al final pega un golpe al volver a la posicion HOME, es porque en el programa lo hace asi directamente...

miércoles, 14 de noviembre de 2007

Primeras pruebas

Despues de conectarlo todo al ordenador, e instalar el software que viene, encendemos el ordenador y parece que todo va estupendamente (debe ser la primera vez que monto algo y a la primera funciona).
Por lo pronto, el robot se puede mover independientemente por cada eje, y tambien por coordenadas (x, y, z). No he encontrado forma de definir una base y referir los movimientos desde ella, asi que por ahora... no se puede :(

Esto es todo... dentro de unos dias, a ver si empiezo a desarrollar el programa para controlarlo :D Por lo pronto, pongo aqui el enlace donde se encuentra el manual de la placa controladora que me han enviado (Manual)

El montaje

bueno, preparamos la mesa de operaciones con todas las herramientas necesarias... Este es el primer punto que hay que notar: no es un paquete como los del ikea (que vienen herramientas incluidas), pero si que vienen piezas... Distribuidas en paquetitos de bolsas, segun la parte del robot (base, brazo, pinza, placa circuito).
Personalmente, me he encontrado con varios problemas:
  • Lo primero, es que no hay instrucciones. Quiero decir, si las hay, pero tienes que bajártelas tu mismo de internet.
  • lo segundo, las instrucciones solo estan en Inglés. No es mucho problema, pero vamos, podian haberse estirado un poco (teniendo en cuenta que la pagina esta toda en Spanish :)
  • Las piezas vienen, en cierto modo, desordenadas. Si coges, por ejemplo, la base y empiezas a montarla, la ultima pieza que te dice las instrucciones que montes es el soporte de brazo (que viene en la bolsa del brazo, evidentemente), eso no seria mucho problema si no fuera porque (según las instrucciones) hay que acoplarla con tornillos que se encuentran en la base...
  • sobran muchas piezas. "si, claro, es que no las has montado todas"... pues no, realmente sobran. Parece que tienen definido que los motores están compuestos por el motor, unos tornillos, unos ejes, etc... y en el paquete de cada motor viene todo ese conjunto. Así que al principio empiezas a pensar..."no entiendo, esta pieza no esta, esta sobra..."
  • las piezas que refieren al brazo, las pinzas, y, en general, las que son superficie plana, vienen pegadas y sin taladrar. No es dificil (hay que presionar en donde es el taladro y sale la pieza que sobra) pero al principio mosquea un poco.
En lo que refiere al montaje, no es nada dificil. Es recomendable una mesa grande y limpia, para poder esparcir las piezas, y muy conveniente montar, grupo a grupo, el robot (si abres todo puedes liarte y poner tornillos que no son en piezas que no debes)

Una gran recepcion...

Pues eran algo asi como las 8:00 de la mañana (jodio MRW) cuando han llamado a mi puerta para entregarme un paquete... Dicho paquete contiene la tan esperada sorpresa, el brazo robot de 6 ejes (si, al final he cogido el de 6). Una caja bastante mas pequeña de lo que pensaba, pero con todo lo pedido.
Esta tarde me pongo a montarlo... veremos en que acaba todo esto...

martes, 13 de noviembre de 2007

Esperando...

Bueno, pues ya esta pedido el robot de las narices... ingresado el pago, verificado por telefono...
El caso es que, si todo va bien, mañana deberia estar en mis manos... que ilu!! :)

lunes, 12 de noviembre de 2007

un poco de humildad

Pues si porque, aunque haya trabajado de programador, ultimamente no soy capaz de ponerme a hacer programas... Digamos que me siento un poco perdido...

Asi que he decidido apuntarme a un curso de Programador de estos de la Junta... Aparte de ocupar el tiempo (mientras busco trabajo), refresco las ideas y cojo carrerilla para el asunto.

Por cierto, lo del robot lo deje a un lado porque pense que este año iba la empresa al simo (con lo que me planteaba comprarlo alli) pero parece ser que no pudieron ir (y me quede con las ganas) :(

Asi que de mañana no pasa: x la mañana a pedirlo y a ver cuanto tardan en traerlo :S

sábado, 3 de noviembre de 2007

Movimientos de un Robot

He estado revisando los apuntes del curso de Robotica que hice hace cosa de un mes. Creo interesante apuntar aqui los modos de movimiento que tienen este tipo de robots. Es importante para, a la hora de mover el robot, saber que efecto va a tener. Quizas deberian integrarse en una nueva clase que fuera, por ejemplo, CONSOLA (referido al panel de control de los robots), que controlaria estos movimientos.
Hay cuatro tipos:
  • modo eje: Se trata de mover cada eje del robot por separado. Intuyo que se trata del modo mas facil de programar, pues es incrementar o decrementar el valor de dicho eje.
  • modo mundo: en este caso, lo que movemos son una combinacion de los ejes, de manera que el punto P1 se desplace en las coordenadas. Existen al menos 3 coordenadas (x, y, z) de movimiento del robot, y otras tres (a, b, c) que indican el balanceo de la Herramienta respecto a dicho punto.
  • modo base: aqui se indican los movimientos como el modo mundo, solo que dichas variaciones estan en funcion de una base propia definida por el usuario. Hay una serie de metodos para definir bases (ya hablaremos otro dia de ellos)
  • modo Herramienta:este metodo hace variar los ejes como el modo mundo, solo que las coordenadas estan definidas en funcion de la herramienta. Normalmente un desplazamiento en Z indica un movimiento de avance o retroceso de la herramienta (por poner un ejemplo)

jueves, 1 de noviembre de 2007

Efectos al cambiar los angulos

Ya hemos visto que sucede si el punto P1 cambia, o lo que es lo mismo, hemos calculado que angulos queremos para posicionar el punto donde queremos. Nos faltaria saber que efecto tiene el cambiar el angulo sobre el punto P1 (vamos, hacer las cosas al reves).
Hoy analizamos dichos efectos:
  • sobre el eje A1: cambiar el angulo del eje A1 implica posicionar los brazos del robot en el plano formado por OO y P1. Esto es importante para los calculos de los angulos de los brazos, pues nos basamos en dicho plano.
  • sobre el eje A2: cambiar el angulo del eje A2 implica mover el punto P1 en una orbita circular, en la cual el radio es la distancia entre OO y P1. Dicho radio no varia si cambiamos este angulo.
  • sobre el eje A3: cambiar este eje cambia tanto la posicion de P1 como la distancia entre OO y P1.
Aunque A1 es importante por la cuestion indicada arriba, solo nos complicaria los calculos en la explicacion.

Bueno, una aproximacion para calcular el punto P1 dados los angulos de A2 y A3 (que denominaremos Alfa y Beta) y la longitud de sus lados (llamados A y B) se puede resolver como la suma de dos vectores:
  • el primer vector es A con angulo Alfa. Tenemos que pasarlo a coordenadas cartesianas, asi que directamente podemos hacer:
  • el segundo vector es un poco mas complicado. Resulta que el angulo Beta esta referido al punto final del primer vector (lo que es el origen del eje A3), y tenemos que calcularlo referido a OO. Este ajuste nos deja un nuevo angulo: Con este ultimo angulo ya podemos calcular las coordenadas:
  • sumar vectores es sumar las coordenadas iguales entre si, por lo que nos aparece el vector suma (o lo que es lo mismo, el punto P1):

lunes, 15 de octubre de 2007

Pseudo-programando...

o lo que es lo mismo, planteando ideas de como programar todo este tinglao que estoy montando en el blog. Creo que empezaremos con un poco de programacion O.O... :)
He pensado que se podria representar el robot como un objeto que tiene, como atributos:
  • un array de EJES(que representen a A1, A2... hasta el que tenga)
  • un array de BRAZOS(donde guardar la longitud de cada brazo)
  • un objeto PTP (que contenga x, y, z, y alguna cosa mas)
  • un objeto TOOL (herramienta)
como metodos, inicialmente deberian estar:
  • mover_eje()
  • get_eje()
  • set_eje()
  • set_brazo()
  • get_brazo()
Esta clase ROBOT deberia ser ABSTRACTA, de manera que, cuando definamos nuestros robots, deban ser heredados de dicha clase para poder utilizarlo. Esto es para, en prevision de un futuro, poder utilizar distintos tipos de robot (pero que tengan como minimo estas posibilidades).
Sobre la clase TOOL, decir que nos permitiria "cambiar" la herramienta del robot en nuestro programa (asi podremos utilizar distintos tipos de herramientas).
Atributos posibles de la clase TOOL:
  • longitud (lo que mide la herramienta)
  • array de ejes
como metodos:
  • encender(), seria el metodo de ejecutar la herramienta (si es una pinza de agarre, pues cerrarla, si es una de soldadura, soldar...)
  • apagar(), lo contrario a encender() (que original, eh?)

domingo, 14 de octubre de 2007

que pasó con el eje A1???

Pues eso, que no nos tenemos que olvidar de dicho eje, mas que nada porque los calculos que hemos hecho para los ejes A2 y A3, estan basados en que el robot esta posicionado en el plano que forman OO y P1... Asi que vamos a calcular el giro que posiciona el robot en dicho plano. Lo primero, el esquema (esta vez en 3D!!!):
Tenemos que calcular el angulo Alfa. Si nos fijamos, primero hay que calcular la distancia D desde OO hasta el punto P1. Luego, utilizando D y la coordenada Z de P1 podemos calcular X'. El angulo Alfa corresponde al arcoseno que forman la coordenada y de P1 y la X' calculada:

sábado, 13 de octubre de 2007

Preparandonos para programar...

en este enlace podemos encontrar una serie de ejemplos en el que controlar, por el puerto serie el circuito que mueve los servos del robot. En esencia, se trata de enviar cada vez tres caracteres:
  • el primer caracter es el de sincronismo (para avisar al circuito que se empieza una nueva instruccion
  • el segundo indica el servo que queremos mover
  • el tercero indica a que posicion queremos moverlo.
Habrá que revisarlo más a fondo, pero por lo pronto estoy servido con esto... que todavia hay que mirar que lenguaje utilizaremos en la fonera para diseñar todo esto, asi como decidir que tipo de aplicacion será, estructura, etc...
Por otra parte, no hay que olvidar que, si bien es un proyecto especifico, deberia hacerse una aplicacion que permitiera utilizar cualquier robot/circuiteria desde el equipo emisor (en nuestro caso este ultimo es la fonera)

viernes, 12 de octubre de 2007

Añadiendo un tercer brazo...

Pues aunque parezca mentira (me pongo colorada... cuando me miras... :) ) resulta que no parece tan dificil poner un tercer brazo en el robot. La idea es que entre los dos triangulos aparece un rectangulo (de altura Hd) y de longitud la del tercer brazo (Z).
Por tanto, nuestro angulo Beta se va a dividir en dos: uno para el eje A3 y otro para el eje A4.
  • Para el eje A3: sumamos 90º al angulo B1 (calculado anteriormente)
  • para el eje A4: sumamos 90ª al angulo B0.
¿Asi? ¿tan facil? ¡pero si no hemos usado la longitud del tercer brazo!. bueno supongo que no sera tan facil... pero al menos es lo que parece viendo el siguiente esquema...

Vivan las matematicas!!!

y la geometria, y la trigonometria, y pitagoras... (si es que se puede aplicar a todo, incluso a la robotica!!!) :D

El caso es que ayer, recordando aquellos temas de matematicas, se me ocurrio como solucionar e tema de calcular los angulos que tienen que tener los ejes A2 y A3 para llegar al punto P1, y saqué unas formulas que me ayudaran a calcular dichos angulos. Lo primero vamos a mirar la siguiente figura:

  1. lo primero es saber la distancia que hay desde OO hasta P1. Aplicamos pitagoras con las coordenadas x e y del P1, de manera que Siendo D la distancia.

  2. Supongamos que tenemos dos brazos de robot que miden,uno X y otro Y. Se debe cumplir, para que los brazos del robot puedan llegar a la distancia D, que:

  3. Por otra parte, nos aparecen dos segmentos que suman D, a los que llamamos AB y BC; y comparten una altura, que denominamos Hd. Se tiene que cumplir:
  4. Al despejar Hd e igualar las ecuaciones, llegamos a:
  5. sabiendo que la suma de los segmentos AB y BC es D, podemos ver que:
  6. esto, susituyendo el valor de AB en la ecuacion del punto 3, nos permite llegar a una conclusion interesante, que es:Si despejamos el valor de BC, conseguimos calcular dicho segmento:
  7. Una vez calculado uno de los segmentos, el otro segmento es facil de calcular (es la resta D - BC). Ahora nos resta calcular los angulos. Calculamos el primer angulo:
  8. por ultimo,calculamos el segundo angulo:
Pues eso, con un poco de pan y queso, hemos calculado los angulos del eje A2 y el eje A3.
Para la proxima entrega, a ver como utilizamos un tercer brazo... ya vereis que no es tan dificil...:D

jueves, 11 de octubre de 2007

como usar GPIO como USB???

Siguiendo con la fonera, una de las ideas que me planteo mientras llega el robot, es ponerle un usb a la fonera. Parece que una de las cosas es utilizar MKNOD para crear un dispositivo que use un determinado hardware. En este listado, que deberia tener en mi linux pero que no encuentro, viene los datos del numero mayor y del numero menor. Creo que deberia utilizar algo de esto para crear un dispositivo USB propio, que utilizara los gpio... pero en dicho listado no aparece nada de GPIOs por ningun lado... sera un objetivo imposible????

Fonera preparada con puerto SERIE!

pues si, aunque esto ya lo tengo desde hace tiempo, quiero ponerlo para que no se me olvide...
La historia es que la fonera tiene dentro unos pines que permiten conectar un puerto serie. El problema es que dichos pines tienen salida de TTL, en lugar de tipo Serie. Asi que hay que ponerle un conversor delante.
Para ello, he seguido una serie de tutoriales de internet, para hacer un circuito serie. Por supuesto que hay que abrir la fonera y conectarle dicho circuito... pero vayamos por partes:
  1. Cambiar el firmware de la fonera. Yo recomiendo la version de dd-wrt v24, ya que tiene incluido los drivers de GPIO y el control de la particion JFFS. Asi podremos instalar programas desde fuera. Ademas, tendremos tambien el dispositivo /dev/ttys0 (para usarlo en nuestro futuro programa de control) :)
  2. El circuito. He visto dos, uno utilizando el C.I. MAX232, y otro utilizando el C.I. DS275. Este ultimo es mas sencillo de utilizar y mas pequeño (tiene 8 patillas), pero no lo he encontrado en ninguna tienda de Valladolid.

problema: como mover el TCP hasta el punto [x,y,z] ???

bueno, recordando que el TCP es el Tool Centre Point (punto centro de la herramienta), el primer problema que se presenta es como narices llevar el TCP desde un punto P1 a P2, ya que cada eje mueve los ejes inmediatamente superiores...

bueno, pues despues de estar buscando por google temas de cinematica directa y cinematica inversa, llego a unas primeras conclusiones:
  1. Hay una distancia maxima desde el origen de coordenadas (OO) hasta el punto maximo de alcance del robot. si dicho punto P1 supera esa distancia, el robot NO LLEGA; asi que calcular la distancia desde OO hasta P1 es importante para descartar si se puede o no llegar al punto que queremos.(de cajon, vamos). A nivel teorico, debemos usar pitagoras en el espacio.

  2. y que hay de la distancia MINIMA??? pues que para llegar al punto OO tendriamos que poner uno de los ejes girado 0º o 360º... esto no suele ser posible Mecanicamente, asi que no podemos llegar al punto OO... por tanto, a que punto MINIMO podemos llegar???


  3. el eje A1 nos sirve para situar el robot en el plano que forman los puntos OO y P1. Una vez puesto el robot en dicho plano, el problema de calcular las posiciones de los ejes para llegar al punto se transforman en un problema de plano, no de espacio (simplificamos un poco el estudio)

  4. Al mirar el tema de cinemtica inversa, he visto que se utiliza siempre el ejemplo de dos ejes, asi que pienso que el robot debe asimilarse a algo parecido... de hecho, los ejes A2 y A3 mueven el robot, y los ejes A4, A5 y A6 la herramienta. Si descartamos dicha herramienta, podriamos plantear el problema de manera que el robot tenga que llegar a un punto intermedio, que este a una distancia MENOR (concretamente, lo que mide la herramienta y los ejes A4, A5 y A6 en su maxima longitud)

  5. En base a lo anterior, un robot de 6 ejes utiliza uno para la base (A1), tres para la muñeca (A4, A5 y A6). por lo que nos quedan 2 ejes (A2 y A3) para situarnos con el robot en P1, por lo que el problema se va simplificando, ya que ahora solo tendremos que buscar los angulos que han de formar dichos ejes para llegar al punto (y que nos resuelve la Cinematica Inversa)


Del punto 4 no estoy muy seguro, ya que esa distancia MENOR podria ser, bien lo que mide la herramienta y los ejes, o bien un poco mas (asi el juego de los ejes A4, A5 y A6 podria ser mayor).
Por otra parte, tengo que buscar como resolver la parte de cinematica inversa con brazos de distinto tamaño (por ahora solo he encontrado el ejercicio de brazos iguales).

miércoles, 10 de octubre de 2007

robot y Fonera

Pues si, hace tiempo que queria tener un robot, asi que, despues de hacer un curso de Vision Artificial aplicada a la Robotica y de manejar uno, me he dicho: "ya es el momento".

Asi que he pedido un robot en www.superrobotica.com/ y estoy esperando el momento... que ilusion!!!

Mientras tanto, empiezo a plantearme problemas para intentar resolver el proyecto que tengo en mente:

controlar el robot por el puerto serie de la fonera!!!


asi que vamos a organizarnos un poco:
  • adquirir el robot

  • adquirir fonera

  • resolver los problemas que haya que resolver (que son muchos)


por supuesto, que esto se tiene que ir mejorando... asi que poco a poco iremos modificando este indice de proyecto :D

lunes, 8 de octubre de 2007

Prologo

"En ocasiones, algún miembro del Instituto de Estudios Arcanos adquiere el gusto por los placeres mundanos. Rara vez tiene problemas para encontrar empleo"

Con esta entradilla empiezo (de nuevo) esta andadura por internet. Y digo "de nuevo" porque siempre intento tener una pagina web, o un blog... pero al final nada de nada. Y es que no hay mas que seguir el refran: "en casa del herrero, cuchillo de palo"

Y no hay falta de razon: un informatico de toda la vida, con experiencia en temas de programacion... y sin blog!!! sin pagina web!!!

Asi que al final hay que entrar por el aro... y si no es con algo propio, por lo menos que cuente ideas propias, no? (digo yo)

En fin, que espero mantener en este blog una serie de proyectos e ideas que tengo en mente, e ir analizandolas, desarrollandolas y, si alguien se anima, pues a ver si entre todos llegamos a buen termino.
 
Informacion de proyecto para el control de un robot mediante puerto serie desde una fonera. Jakala. Licencia GPL. oct-2007