Personal
Este jueves 25 y 26 de Septiembre de 2008 , me invitaron a dar un par de platicas en el CUI . Basicamente mas bien era una platica, y participar en un install fest. Pero bueno, acabamos dadno un foro y un par de platicas.
Algo que me parecio estupendo, fue que durante el foro, se tuvieron, en verdad, mushisisismas preguntas de lo mas interesante; Temas, sobre seguridad, licenciamientos, facilidad de uso, ventajas y desventajs de software libre, diferencias entre sistemas operativos. De todo. Quede fascinado de notar, que mucha de la apatia con la que me encuentro en otros sitios, ahora no figuro en lo absoluto.
Agradezco a Silvia Aguilar por la invitacion y al Ingeniero Marco por el excelente trato durante mi estancia.
En verdad un esfuerzo que vale mucho la pena comentar.
Gracias y esperaria seguir en contacto :)
En estos ultimos dos dias laborales ( viernes/lunes) tuve que realizar un driver para una tarjeta de entrada y salida digital: la OMG-PCI-DIO24 .
A pesar de que existe un modulo de kernel para esta tarjeta, no cumple con las especificaciones requeridas. Unicamente genera un conjunt de archivos en el /proc que leen/escriben directamente en los registros de la tarjeta. Esto podria ser "suficiente" si no se tratara de una tarea verdaderamente critica.
Es decir, necesitaba habilitar la interrupcion ( segun el manual de Usuario de la tarjeta, pin 47 ). Esto podria parecer sencillo/trivial. Pero resulto un poquitin mas engorroso de lo que pense.
Basicamente, el codigo existente unicamente sirvio para una cosa: Saber en que registro base ( BAR's ) se encuentra la direccion local asignada por el fabricanete para el inicio de la region de entrada y salida. Ya que en ningun manual se encuentra este dato.
Para entender un poco mejor el funcionamente del Bus PCI pueden leer : The PCI Interface del Linux Device Drivers, 2nd Edition By Alessandro Rubini & Jonathan Corbet El cual funciono perfecto para lo que estba tratando de entender. Tambien revise el buen: The Linux Kernel Development By Robert Love y por su puesto las hojas requeridas por Wikipedia, junto con los manuales de usuario presentados por Omega.
El codigo estoy depurandolo y agregando algunos #defines , para que quede lindo el modulo, mandarlo a la lista.. y pues esperar algun "feedback", mientras me quedan un par de comentarios:
En la Documentacion de Linux ( directo en el tarball ) , se encuentra el archivo pci.txt, El cual trata de dar una muy buena explicacion de como usar los recursos provistos por Linux. Sin embargo es un tanto ambiguo - o el par de horas que trabaje en esto no fueron suficientes -.
En cuanto al manejo de interrupcion, ya sea con pci_register_driver(), o bien con pci_get_device(), esta gobernado por Linux APCI. Lo cual en teoria deberia ser majestuoso, pero causa algunos conflictos al tratar de manejarlo. ( me gustaria en verdad aprender a hacerlo ) . Basicamente, como se vera en el codigo, obligue a ulizar el IRQ asignado fisicamente por la maquina, leyendo la linea de interrupcion asignada por BIOS pci_read_config_byte ( dev, PCI_INTERRUPT_LINE, &local_irq), y haciendo de este el irq pedido,
FTio_irq_handler,
SA_INTERRUPT | SA_SHIRQ,
DRV_NAME,
&device );
Las Interrucpiones compartidas, son un poco dolorosas y se necesita un control externo ( logica ) que pueda discernir entre las petciones por interrupcion. Esto tambien quiero depurarlo. Ya que a ciencia cierta, solo confio en la documentacion. ( falta por leer pci.c tal vez ) .
De ahi en fuera. Solo resta seguir aprendiendo en como manejar limpiamente estas entradas. En breve posteo el codigo. Algunos detalles tecnicos de como genrar el modulo ( es decir toda la platica de PCI ) , estara tambien en esta semana en el sitio de bitacora de LIDSOL.
Saludos!
Algun dia, en la vida, espero poder poner este blog como deberia serlo .
Ahora comentare brevemente que ha sido en estos, exactamente, ultimos dos meses.
Estuve pasando por un perioro de alta presion, al saber que mi sistema de vision tenia que estar listo y reluciente para la competencia de laque habia estado platicando. El Robocup. personalmente me descuide un poco y tambien a algunos amigos. Pero en fortuna. Algunas pruebas fueron exitosas y otras tantas, no lo fueron pero el sistema quedo y hace lo que deberia. De este Sistema hablare un poco mas adelante.
Habia estado en eventos internacionales, de computo , en conferencias y demas. Pero tengo comentar que el Robocup me sorprendio. Es un evento de altisimo nivel. Y con un gran numero de temas por explorar, Todos ellos mas que interesantes. En cualquiera de sus categorias. En realidadd si pueden hacer algo por acrcar este tipo de eventos a sus Universidades, lo recomendaria ampliamente. Pueden escribirme un correo para darles el correo tambien de mi tutor quien es respnsalbe junto con otro profesor ( este ultimo del ITAM ) de la competencia en Mexico - y de hecho proxicamente el mexicano de Robotica tambien - .
En la categoria/liga en la que estuve inscrito es @Home: Robots de servicio. Las pruebas son desde hacer que el robot te siga desde fuera de la Arena, Con un cruce con otra persona para aumentar el grado de dificultad, Hasta recojer objetos del suelo que no han sido nunca antes vistos por el robot. Otra prueba es presentar a un grupo de personas y qeu el robot recuerde a cada uno de ellos. Asi como tambien tiene que saber distinguir objetos qeu son previamente mostrados al robot. Nunca se puede tocar al robot en la competencia y toda la interaccion que debe exisitr es mediante "lenguaje natural" .
De las Univesidades que asistieron, las nacionalidades eran : Iran, Chile, Taiwan, Alemania, China, Japon y por su puesto Mexico. Uno de los equipos que mas me llamo la atencion ,fue los Alemani@cs Ya que el robot tenia un gran logo de fedora tanto en la parte frontal como trasera. Uno de ellos, queire comenzar, por lo que entendi, el proyecto de Fedora Robotics. :) Otro Equipo el cual tambien me llamo la atencion , ya que su software era visualmente impresionante era de la Universidad de Koblenz, Alemania hecho, con QT4 y OopenGL.
Desafortunadamente, nuestro hermoso robot, tuvo problemas ( se quemaron muchas piezas ), y no pudimos mas que realizar un par de pruebas. Realmente pudimos para mas. Pero a veces asi te la juega el destino.
...........
Despues del Robocup, Estuve un par de dias en Suzhou, una ciudad hermosa, y bastante agitada. Conoci un par de jardines tipicos de la ciudad y una de las pagodas mas antiguas. Tambien, El destino no estbaa de mi lado y enferme del estomago. Estuvo bastante rudo.
Asi, el destino seguia jugando algunas cosas raras: El pago que habia realizado par mi tour en China, no pudo ser procesado y tenia que repagar completo el tour de nuevo. Lo tuve que hacer. Realmente estaba un poco histerico. De cualquier manera me vi con Eduardo y Tono en Shanghai y comenzamos el Tour. Pedimos ayuda al consulado mexicano para nuestro caso y permitanme decir que la atencion fue ejemplar. En realidad estamos muy agradecidos con el consultado mexicano en Shangai China.
Shanghai es una ciudad del corte: Futurista. Combina perfectamente elementos propios de su cultura, con el primer mundo y con lo enorme que es ahora su economia.
De ahi, sali a Xian Lugar donde se encuentran los guerreros de terracota, el ejercito replicado en * barro *, para la custodia del primer emperador - por el que china lleva su nombre y gran extension territorial - en su tumba. 35 anitos parox para la construccion de este lugar. Impresionante. Ahora patrimonio culturar de la humanidad. Compre un libro obre los guerrreros, en espanol y fue autografiado por uno de los granjeros que descubrieron este sitio. Tarde 20 horas en llegar de Shanghai a Xian en tren. Toda una aventura.
Otras 13 horas me tomaron en llegar a Beijing, la capital politica y cultural de China - siendo Shanghai la capital economica - Todo a punto para las Olimpiadas. Seguridad por todos lados. Ciudad donde todos sus callejones tienen algo historico que contar . las Construcciones Historicas. Dignas de lo que hemos escuchado de la grandeza de aquel pais. Lugares enormes, hermosos. Propios para la figura de emperador.
Regrese con muchisismas experiencias, datos, fotos, y sobre todo con un sentido de valor sobre todas las cosas que tenemos en este hermoso pais: Mexico.
Aprendi otro tanto de cosas que jamas me habia puesto a pensar ... solo espero que pueda saber como poder aplicarlo de ahora en adelante.
Algunas cosas * superficiales * que me quedaron del viaje. : Aprender aleman, un poco de mandarin y mejorar indudablemente mi ingles.
... Eduardo y Tono siguieron a Taipei, Taiwan a participar en el Global TIC. Donde denuevo, Virta Gano el primer premio. Pero tambien esto sera materia de otro post.
Ahora regrese, Y tengo que pagar algunas deudas. Ando trabajando para la creacion de un dispensario de gasolinas. Divertido el trabajo. Reescribiendo cosas para Virta ( es decir, actaulizar y mejorar en servicios ) y escribiendo ahora si, la tesis.
Saludos! Ahora posteare muucho mas seguido
No recuerdo si en algun post anterior he comenado sobre lo que para mi es el problema general de vision. Sin embargo en esto post lo retomare.
En lo que llvo estudiando un poco de vision, considero qeu el problema general esta en dar sentido al conjunto de pixeles qeu tenemos como entrada, ya sea como un conjunto unico ( imagen ) o como el conjunto tomado sobre una secuencia de imagenes ( video ).
Suena un poco ambiguo, Lo se. Pero asi tambien es el area :) . Aun ambigua y con muchos campos por explorar.
En este caso, muestro tres de imagenes que son resultado de estar este dia trabajando sobre el como, dinamicamente ( cambios en la variacion de intensidad luminosa ) variar ciertas constantes que se usan como base para ciertos algoritmos .
El problema esta en que a pesar de que las transformaciones SIFT y SURF dicen ser relativamente robustas a cambios en rotacion, escala e intensidad, No lo son en el caso mas general. Esto es discutible. Sin embargo ahora he tenido problemas con esto. Lo mismo que para la entrada del Cuantizador Vectorial. Es esta la razon de tratar de "acotar" la busqueda, ya sea para el Match () en SIFT o SURF o bien para cuantizarlo de manera apropiada.
Bueno. Ahora les muestro un par de resultados. La manera en l que objeto las regiones es un tanto * naive * ( para los qeu leyeron mi twitt en la manana , ahora sabran porque lo puse :P )
Basicamente, utilzo un detector de puntos * esquinosos * ( harris ) que no es computacionalmente costoso a diferencia del FastHessian. Esto con la intension de buscar, regiones con mayor cantidad de informacion. Algo parecido a la entropia de la imagen. Una vez que se tienen los puntos, Busco la menor diferencia y la segunda menor diferencia ( distancias ) entre ellos para determinar un numero aproximado de regiones. Esta idea esta mejor explicada en A performance evaluation of local descriptors Con este numero, encuentro los centroides de cada region , con otro clasico metodo: K-medias. Y en este Punto ( centroide ) segmento por intensidad en la diferencia mas pequena. :)
Bueno .. Ahora las imagenes:
Desde hace un par de meses he usado el servicio llamado twitter. Tal vez nada nuevo para alguno de ustedes, pero para mi, sigue siendo un enigma inclasificable.
En teoria, genera el concepto de microblogging, 140 caracteres que definien "Que es lo que estoy haciendo ahora". Pero el uso no se ha quedado en ello, Ahora es un chat como aquellos de HTML al estilo "latinchat" donde cuando platicabas con alguen tenias que esperarte unos 30 -60 segundos para darle refresh al browser y ver el nuevo "mensaje" que se tenia para ti , si es que este existia claro. Ahora, la unica diferencia que veo es que no le tienes que dar explicitamente "refresh" al browser, claro esto lo hace el mentado XHTTP* cosas por "abajo" pero a final de cuentas. es un *refresh *, con estados y lo que quieran pero eso es.
Total, como un rollo social, tal como lo planteaba el Dr. Cristóbal Cobo, Si, es sin duda: fascinante.. He asistido a un par de reuniones twitteras y vaya que son distitnas a las de los bloggers o flickers. Estas son mas activas. mas unidas, la distancia entre los grupos normales en cada reunion no es tan "marcada" como en otros eventos sociales. Es un poco mas homogeneo el rollo . Eso .. esta chido .
Lo que si he aprendido estos dias es qeu no he posteado ni madre. Incluso ahora que veo y siento estare posteando cada tontera que vea y se me ocurra. De esta manera igual no olvido tan facil, sea humano sea profesional :)
Saludos! al rato igual y posteo :)
En las siguientes imagenes se muestra un rapido ejemplo del reconocimiento de objetos a traves de caracteristicas invariantes.
Para este sistema, y en el caso de las imagenes mostradas, dos objetos son pasados por un entrenamiento , el cual toma como entrada los descriptores SURF de los puntos interesantes resultado de una optimizacion al algoritmo de Harris, pasandolos por un algoritmo de cuantizacion vectorial, generando un conjunto de centroides caracteristicos.
Asi, el reconocimiento, por lo menos de un objeto en una region especifica solo se toma como la minima distancia entre el conjunto de vectores caracteristicos y elemento en cuestion ( imagen actual ). Este algoritmo en su fase mas "inocente" solo toma un objeto por region, la comparacion completa entre todos los centroides para cada objeto entrenado es realizada lo cual lo vuelve extremadamente lento, puesto que todo este proceso es realizado en cada cuadro.
En la siguiente fase, Optimizaciones al codigo seran realizadas ( utilizando intel intrinsics ) de la misma manera que predictores para minimizar las regiones de busqueda en la imagen. Logrando con esto , tambien, tener mas de un objeto por region ( si el tamano lo permite ) .
Este programa aun le resta mucho por escrbir y servira de base para la competencia Robocup, por lo que falta tambien mucho para publicarse. De cualqueir manera para los que esperen algun dia correr mis cosas, vayan instalando OpenCV que aun , a pesar de todo, no es muy popular que digamos.
Saludos!
Uno de los dos equipos Mexicanos registrados hasta Abril para participar en la competencia Robocup. Necesita Ayuda!.
La competencia ahora es en China, por lo que el viaje es largo y los recursos limitados. La Facultad de Ingeniería podrá financiar a solo algunos estudiantes. Pero no todos en el equipo están bien preparados y menos para la temporada pre Olímpica en la que los costos han aumentado estratosféricamente.
Por tal motivo, el Laboratorio de Biorobótica del Posgrado de Ingeniería ha organizado una rifa de una bicicleta de carreras. Las fotos después las publicaré ( ahora anda en gira :) ).
Si quieres adquirir un boleto y con esto ayudar a alguno de los companeros de licenciatura que estan participando en el proyecto, porfavor, contéctame o directamente, contacta al Laboratorio! Los precios se elevan día con día.
Cada boletito cuesta $10 :)
Es necesario comentar que, durante la estancia en el laboratorio he podido constatar que un 80%-85% del Software corriendo en el Robot, llamado "Teparacho" , está basado en Software Libre! Por lo que no es del todo off-topic para muchos de los que leen este Blog.
The last summer, I bought a developers board for testing Linux into an ARM. Ive purchased on embeddedarm.com And It was fine. I just test that it runs and that was ok. for that time. I didnt have * any * time to play with it until December in wich for a neglecting attitude for my side, i burned the protector IC build into the board. Then, I took it whit an friend wich has that electronical skill ( he's actually and Electrical Engineer ) so he could help me to "rescue" the board. And He did it. But again. time it is not my best friend. So i leave it for a while.
Yesterday i want to play with it. But. I dint realize that the patch he made, it was broke , again, my faault, So when i was working with the board, just looking some messages i see some weird characters print into the minicom screen. After that ... i put my finger over the uProcesor and Found that it was very hot! .
It dindt back again:(
Im still with some hope that my friend could fix that. Because if he didnt Ive to buy anoher one, And place a real case in it to prevent any damage.
But. Some news arrives with this tragedy : The last week i bough an arduino card. I was planning to do a project with both boards. But thats fine.. now I can fully concentrate in the arduino one.
Well i think thats the hole thing. I have nothing interesting to tell o to publish just words. Anyways i want to share it.
By the way. I dont know why, maybe because i want to practice my "3 pesos" English, but ill blog in English for now on . Maybe some in spanish. .. Who knows?
As usual, Ive been very busy, irratated and confuse.
Looking back in this month , things have change dramatically for me, my life and the way i look to it. I've learned something..... . I hope i can apply it.
People just moves on .. ... and for sure.... nobody will wait for you anything.
So its time to get back into my life.
:)
Feliz ano! Pocos propositos, Muchas metas :)
Saludos!
Ayer por la noche, estuve platicando con Paola Virrareal, Eduardo Ruiz y Sebastian Lemos, sobre Software Libre. De alguna manera pues comenzamos a discutir sobre la Libertad.
Desde hace tiempo tengo la idea de que la sociedad esta basada en reglas de confianza. Se que las personas lo saben, yo lo sey abiertamente lo expreso.
Sin embargo, tengo la impresion de que las personas que habitan este planeta tienden a realizar todo lo posible, por que "el de al lado" no confie en ellos . y como consecuencia "el de al lado" repite la operacion y nos convertimos en las grandes ciudades con sus altos indices de delincuencia. A esto, Sebastian comento que eso ha sucedido en la historia en aquellas sociedades que tienen grados de opresion tambien elevados....
Efectivamete somos una sociedad aplastada, oprimida, humillada. Cual es la cosecuencia? . Robos, asaltos, secuestros, la cultura del "ya me lo chingue" ; a gran y pequena escala.
Mientas platicaba de estos temas, deje mi auto a no mas de 10 metros de una esquina transitada. Como tengo una gran cantidad de estupidces en la cabeza, suelo traer como costumbre todos mis papeles y algunos libros que se , constantemente uso. Los meto en una mochila barata para poder apilarlos y manejarlos rapidamente. De la misma manera, traigo algun cambio de ropa y cosas de ese estilo.
Por descuido, olvide mi mochila con copias de libros sobre temas de "Alto rendimiento", un par de libros que uso como referencia para mi trabajo de maestria y tesis ( "Machine Vision" y "Vision with Direction" ) y otro que le buscaba relacionar mis gustos, con la clase de computo distribuido ( "Linux Kernel Development" ) . La mochila es azul obscuro, los cristales de mi auto son 65% obscuros y lo deje abajo de un arbol. Por la noche, en breve.... no se ve ni madre! .
Resulta que forzaron mi chapa.....se llevaron mi mochila : PUTA MADRE! . Es el segundo robo en mi auto que he tenido en menos de 1 ano!. Por descuidos! Pero que pasa aqui?? ya no puedes equivocarte. Cualquiera pensaria si solo leyera estos ultimas palabras: !Nos hariamos perfectos!. Pero todo lo contrario. Con un huevo y la mitad del otro compro mis putos libros para que me salgan con estas estupidces ?
Coraje e Impotencia.
Pero en serio, si compran cualuqier madre robada estan cometiendo el mismo puto delito que los que lo robaron. El problema esta en que si "uno" intenta abastecerse con las tarifas "comerciales" tambien sufirmos otro tipo de ROBO. pero esta, "es otra historia".
Asi, en serio, a la Ciudad de Mexico, la pendejamente llamada "Ciudad de la Esperanza" no le queda mas que se hunda, que se pudra en su mefitica alma y sus !@#! habitantes. Nadie confia en nadie. y por tanto, No somos sociedad. Solo somos un conjunto de animalitos que " medio " sobreviven y " medio " la llevan.
A diario trato de mejorarme como persona y con mi contexto. Incluso he estado haciendo cosas como recojer basura con potencial de recicle - que se que NADIE va a recojer-, ponerla en el lugar adecuado Todo por darle un "mini momento" mas a nuestro espacio. Trato de convivir a gusto con los que me rodean, respeto las reglas de convivencia en las que participo ( leyes, como p ej. el reglamento de transito ), Participo en eventos que puedan servir a otras personas como alguna vez sirvio para mi ( eventos de Software Libre ) y muuchas cosas mas.. Pero, de todas maneras que pasa? no importa todo se redude de cualquier manera a que te van a chingar! ..
Otro ejemplo es que algun culero ( QUE SI LO CONOCEN DIGANME POR FAVOR! ) SE ROBO La manta del TUX de LIDSOL, Esa manta que habia estado Generaciones desde el grupo de usuarios Linux de la facultad de Ingnieria... SOLO EXPLIQUEMNME: Para que chingados Quieren una puta manta de un pinguino que todos SABEN es de los tipos de LIDSOL ???? ( en muchas fotos esta imagen ha estado ) .
Bueno. Solo resta comentarles que a pesar de que habia prometido ya no escribir nada con caracter social, al parcer no es posible realizarlo. Estamos tan pinche mal que es necesario siempre comentarlo. Exigir a quienes "trabajan" para ello que se cumpla y se respeten nuestras libertades. Si no .. ..... ... .. .. .. . solo podremos garantizar qeu esto va a explotar y muy muy mal.
Friends
Guillermo Romero GallegosCarlos Sanchez
Mauro Parra
Gunnar Wolf
Geraldine Macias
Alejandro Valenzuela
Eduardo Ruiz Duarte
Victor Fragoso
Eduardo Espina
Raquel Hernandez
Mexico DF. Friday 10 October 2008 con 5:30:50 :: 1223677850
Main
FileBrowser
![]() |
cherokee |
![]() |
Fun |
