martes, 23 de noviembre de 2010

Historia de los videojuegos

La clase pasada de Introducción a la Ingeniería, a modo de introducción para el siguiente tema que veremos, tuvimos una plática sobre la historia de los videojuegos. Se nos presentó desde el primer videojuego OXO hasta las nuevas tendencias como Playstation Move o Kinect. Fue bastante interesante ver la manera en la que han progresado los videojuegos y lo que han hecho las diferentes compañías que ha resultado exitoso o las ha llevado a la quiebra. En general yo no estaba muy enterado al respecto. Sabía algo de lo que se nos estaba hablando, pero cosas muy vagas y pues resultó bastante informativa la plática. Sobre lo que sí tenía una idea fue sobre toda la parte más reciente de la historia, digamos desde el '90 en adelante. Todo lo que es la guerra de las consolas se comenzó a dar en este tiempo y pues lo vivimos de pequeños y hasta ahora se sigue dando. Incluso he tenido la oportunidad de jugar en consolas como el Famicom (NES) y otras consolas más viejas que tenían por ahí mis tíos. En fin, creo que la historia de los videojuegos es muy extensa y realmente se nos resumió de manera muy efectiva y concisa para entender el panorama global. La plática fue en verdad muy buena y trató diversos puntos sobre los que creo que sería muy interesante ahondar en un momento dado.

martes, 9 de noviembre de 2010

Lego 4

     Hoy terminamos totalmente el proyecto. Tras unas cuantas modificaciones al código y ajustes a la luz del lugar, logramos hacer que corriera a la perfección. Queríamos implementar el sensor de sonido para que cuando se escuchara un ruido fuerte soltara las pelotas, pero marca el máximo con el puro ruido del motor. De momento, pusimos un contador para que después de tomadas tres pelotas las suelte. Así, si ponemos la última pelota al final del recorrido funcionaría. Estamos viendo sólo si ponemos una marca de otro color al final del recorrido mejor. En el siguiente video, se ve desde arriba al robot avanzando sobre la línea negra, las pelotas negras las toma y en cuanto ve la naranja, la golpea hacia adelante y regresa al punto donde estaba el robot, para después seguir su camino. Al final, suelta las tres pelotas negras que tomó. Es claro que necesitaremos ajustar las condiciones de luz ambientales el día de la presentación, pero eso es cuestión de 5 minutos. Otro detalle es que la gente debe estar lejos del frente del robot, de otro modo el sensor reacciona como si hubiera pelota enfrente. Pensamos solucionar esto poniendo cartulina blanca vertical en los bordes del circuito. El último detalle es relativo a la colocación de las pelotas. Ahorita están en bases de lego que quitamos manualmente del camino. Si esto estuviera prohibido en la presentación, simplemente colocaríamos bases de papel que en caso de atorarse con el robot, son ligeras y fácilmente abatibles.



lunes, 8 de noviembre de 2010

Lego 3

    ¡Ya estuvo! Hoy funcionó por primera vez, prácticamente como debe de funcionar el proyecto. Falta hacerle ajustes claramente menores, pero en su aspecto más básico ya está funcionando. Estuvimos investigando en Internet como hacer un seguidor de línea más confiable y encontramos varias soluciones. Estábamos queriendo utilizar una mezcla entre uno que utiliza cinco condiciones y uno que hasta calibra el sensor primero, pero acabamos apegándonos al de cinco condiciones sencillo. Al principio no funcionaba, pues como podrán ver en las fotos de entradas anteriores, las llantas estaban demasiado adelante del sensor de la línea, lo que causaba que se moviera muy raro el robot. Así, cambiamos las llantas a la misma altura que el sensor. Esto funcionó perfecto para el seguidor de línea. Por fin también reemplazamos la pieza trasera que se arrastraba por la llanta que gira que tanto quería ponerle David. Ese cambio también ayudo bastante a mejorar el seguimiento de la línea. Después de varias pruebas, Luis sugirió modificar las potencias de los motores de las llantas en las diferentes condiciones, cosa que resultó de maravilla para mejorar el seguimiento de la linea. En las curvas la clave será el posicionamiento de la pelota, pues debe ir un poco afuera de la línea para que la tome bien. La única desventaja del diseño casi final es que el mover las llantas para atrás levantó un poco todo el robot, haciendo que las pelotas necesiten estar en bases un poco más altas que antes. Fuera de eso todo funciona bastante bien. 
     Como dije, todavía no es final el código y hay que hacer varios ajustes. En el video que se encuentra a continuación, se puede ver al robot funcionando en línea recta, ya con el seguidor de línea corriendo y tomando las pelotas que tenemos marcadas con cinta. En esta toma, el que las pelotas están marcadas con cinta hace que se atoren a la hora de salir, por eso la última no sale. La pelota roja la tira como debería de ser, pero aún no le metemos la modificación para que la tire con un movimiento distinto al de levantar las pelotas. Es algo en lo que trabajaremos la próxima vez para terminar el proyecto.








jueves, 4 de noviembre de 2010

Lego 2

     El día de hoy terminamos el diseño básico del robot y logramos que funcionara perfecto caminando en línea recta. Tenemos grandes problemas con el seguidor de línea. El que ya teníamos programado no nos funciona, necesitamos uno mucho más preciso, pues nuestras pinzas requieren que la pelota se encuentre en la posición exacta para levantarla. Se puede ver en las fotografías y el video que ya funciona bastante bien el sistema que levanta y deposita las pelotas. También ya funciona en movimiento, sólo que no pudimos tomarle video. Hasta que no mejoremos el seguidor de línea, realmente no avanzaremos tan rápido como lo hemos hecho hasta ahora. 

                

miércoles, 3 de noviembre de 2010

Lego 1

     Hoy fue el segundo día que trabajamos sobre el proyecto de Lego. Fue algo espontáneo el juntarnos a trabajar y no pudo estar todo el equipo presente el día de hoy. El proyecto consiste básicamente en diseñar y programar un robot que con tres motores sea capaz de seguir una línea, recoger objetos de determinado color y almacenarlos, ignorando todos los objetos de cualquier otro color y al final del recorrido ser capaz de depositar los tres objetos que tomó durante el recorrido. Nos atuvimos básicamente al diseño del jueves pasado, que consiste en utilizar una especie de pinza giratoria al frente y al centro del robot que eleve las pelotas y las "monte" sobre el robot. Por medio de ligas, el motor que mueve la pinza se conecta a una puerta en la parte posterior del robot de tal modo que al girar en el sentido para cargar las pinzas la puerta se mantiene cerrada, mientras que al girar en el sentido inverso, se abre la puerta y caen las pelotas. Nos hemos encontrado con diversos problemas de diseño, principalmente el asociado con la precisión necesaria para que el robot se coloque en un punto donde pueda identificar la pelota y echarlo a sus espaldas pero esperamos poder resolverlo dentro de las próximas clases. A continuación una foto del robot como quedó al final del día.

martes, 2 de noviembre de 2010

Comentario a "The Great Principles of Computing" de Peter J. Denning

Esa lectura fue publicada en la revista American Scientist en su publicación de Septiembre.Octubre del 2010. La lectura trata el surgimiento de la computación como ciencia y los diferentes problemas con los que se ha topado a lo largo de su historia para ser clasificada como un área de estudio independiente o subconjunto de una ya existente. Asimismo habla de los siete grandes principios de la computación que rigen cualquier sub-disciplina dentro del área de la computación.
La lectura en general me pareció muy interesante. Toda la primera parte de la lectura que trata la historia de la computación como ciencia me agradó mucho pues no es lo típico que se dice sobre la historia de la computación. Se analizan los aspectos que llevan a la computación a constituirse como una disciplina independiente de cualquier otra a pesar de tener bases fuertes en matemáticas, ingeniería y ciencia. Otra parte que me pareció muy interesante fue el conflicto que se ha habido a lo largo del tiempo para poder definir qué es la computación. Se ve claramente el problema con el que siempre se ve el ser humano al momento de definir las cosas. Uno cree saber como se puede definir algo hasta el momento en que debe definirlo y en ese momento se da cuenta de las dificultades que encierra este proceso de definición. Así, resulta interesantísimo ver los diferentes enfoques para definir el paradigma de la computación desde los años '60. Hacia el final de esta sección me agradó mucho como introduce la biología como otro proceso de información. La manera en la que presenta el hecho de que existen muchos procesos de información que ocurren naturalmente y que no se sabe si dichos procesos son gobernados por algoritmos me pareció muy entretenida. De hecho, al final menciona que es posible que los procesos de información pueden ser incluso más importantes que los algoritmos en la computación. La siguiente sección trata sobre los siete grandes principios de la computación y la interacción de la computación con otras disciplinas. Aquí sólo quiero resaltar que me causó un poco de confusión el que el autor haya ejemplificado el principio de comunicación como la medición de la información en términos de entropía, pues yo sólo relacionaba la entropía con procesos termodinámicos. Posteriormente, después de indagar un poco entendí que la entropía tiene también otra acepción refiriéndose, en términos de comunicación, a una cuantificación numérica de la incertidumbre de cierto resultado. 
Ya hacia el final el autor también presenta una sección que trata sobre procesos de información, la parte central de la definición más aceptada hoy en día de computación. Concluye con una sección en la que deja claro en dónde queda parada la computación hoy en día. 
Para concluir, la lectura en general me pareció excelente. Tiene un enfoque diferente a la gran mayoría de las cosas que he leído sobre la computación y resulta bastante amena. Me parece una lectura interesantísima y fundamental para entender a qué es a lo que se dedica la computación hoy en día, pues la gran mayoría de la gente piensa, como dice en algún punto de la lectura, que es simplemente escribir código, cuando tiene un panorama mucho más amplio y profundo que eso.

Introducción

Soy un estudiante de primer semestre de Ingeniería en Computación y Matemáticas Aplicadas en el ITAM. El propósito fundamental de este blog, al menos por ahora, es el de comentar y documentar ciertos trabajos y proyectos de la materia de Introducción a la Ingeniería. Mi siguiente entrada es básicamente un comentario a una lectura asignada en clase. Posteriormente estaré documentando un proyecto que consiste en armar un robot con piezas de Lego que sea capaz de seguir una línea negra y al encontrarse objetos en su camino, discriminarlos por medio de su color, siendo capaz de tomar los de cierto color y transportar tres de ellos hasta el punto final del recorrido, donde debe depositarlos.