jueves, 7 de marzo de 2013

Actividad 5: Detección Círculos Radios Desconocidos

Para ésta entrada se nos encargó hacer la detección de círculos donde nosotros no conocemos el radio y buscamos que nuestro programa lo detecte.

A continuación les dejo el código el cuál esta incompleto, pero proximamente lo actualizaré.
Resultados




martes, 5 de marzo de 2013

Actividad 5: Práctica con NS-2

Para esta entrada se nos encargó trabajar con ns-2, donde se realizará una pequeña demostración.

NS-2
Es un software libre que es un simulador de redes, empleado principalmente para investigación y aprendizaje, que permite al usuario simular diferentes tipos de protocolos.

Demostración
Para esta demostración lo que se hará es una topología con cuatros nodos, enlazados en forma de  estrella, donde también veremos el comportamiento de una cola en un nodo.

Básico:
Creamos le objeto simulador, definimos los diferentes colores de flujo de información y abrimos NAM.
Definimos el finish, que nos dice que es lo hará una vez terminado.
Topología
Definimos nuestra topología que en nuestro caso será de cuatro nodos.
Creamos los enlaces de como conectaremos lo nodos, donde estamos diciendo que n0 y n1 estará conectado con n2 en duplex y n2 con n3, tanto así diciendo su orientación y el tamaño de su ancho de banda.
Agentes y Eventos:
Creamos trea agentes uno TCP asigando a n0, otro FTP y otra en UDP  a n1 y uno nulo que será el n3, asignando también el tamaño del paquete y el tiempo de intervalo que se estará mandando.
Ahora asignamos en que tiempo empiezan a mandarse los paquetes y cuando se detienen.
Resultado:


Video:
Referencia:
http://nile.wpi.edu/NS/
http://www.isi.edu/nsnam/ns/ns-build.html

Tarea 4: Detección de Círculos

Para esta entrada, se nos encargó que detectáramos los círculos de una imagen, lo primero que se hizo fue descubrir cuales son los centros del círculo, para después resaltar el borde del círculo, para poder obtener el círculo necesitamos un radio, así que éste nosotros lo fuimos proporcionando.

Para el proceso de la imagen se empleo nuevamente la transformada de Hough, la diferencia es que le agregaremos unas fórmulas para obtener el centro del círculo.

Fórmula del gradiente:

[https://files.nyu.edu/jb4457/public/files/research/bristol/hough-report.pdf]

Theta:
[https://files.nyu.edu/jb4457/public/files/research/bristol/hough-report.pdf]

Obtener centro de x & y:

donde x & y son los puntos de circunsferencia del círculo y a & b el centro del círculo, como nosotros buscamos encontrar a & b, despejamos en la ecuación teniendo la siguiente fórmula:

Código:
A continuación les dejo el código.
Resultado:
[radio = 60]

Notas:
El código ésta incompleto, por problemas nocturnos (dormido) y solo podemos distinguir los puntos que se obtienen, pronto lo actualizaré.

Referencias:
https://files.nyu.edu/jb4457/public/files/research/bristol/hough-report.pdf

domingo, 3 de marzo de 2013

Actividad 4: Catálogo de Hardware y Sofware

Para esta entrada lo que se nos encargó fue buscar sobre posibles hardware y software que podamos emplear en nuestro proyecto, para recordar un poco, nuestro proyecto trata del uso de nuestro dispositivo móvil con el automóvil.

Catálogo
En nuestro sistema tendremos una comunicación de dispositivo móvil  -  automóvil - servidor - dispositivo móvil.

Hardware 
Dispositivo Móvil con NFC: Como se mencionó este será uno de los componentes principales ya que permitirá la comunicación con el automóvil, al igual servirá como nuestro computador. El dispositivo móvil a usarse tendrá que contar con tecnología nfc, los posibles equipos a emplearse son: samsung nexus, motorola irarz.

[http://www.muycomputer.com/wp-content/uploads/2011/10/SamsungNexusPrime-1.jpg]

[http://img1.mlstatic.com/nuevo-motorola-i-razr-hd-xt925-4g-eex_MLM-O-3570602044_122012.jpg]


Automóvil: Al igual que el punto anterior es otro de los componentes principales ya que en éste, será el medio donde se llevarán acabo los hechos. A diferencia del anterior no se especifica alguno, pero se podría trabajar de una mejor forma con un Enzo Ferrari, Lamborghini Murcielago, McLaren P1, entre otros autos sencillos.
[http://cdn.webadictos.net/media/2008/02/carro-vectores.jpg]


Arduino: El arduino será nuestro componen que servirá como el medio que se comunicará con los demás dispositivos electrónicos, éste será el que procese la información y la distribuya con los demás.
[https://dlnmh9ip6v2uc.cloudfront.net/images/products/1/1/0/2/1/11021-01a.jpg]

  • Arduino Ethernet: Es un shield que se adapta al arduino uno y sirve para poder poner al arduino en modo de cliente o servidor y tener comunicación en la web. Éste nos puede servir para hacer pruebas o en dado caso emplearlo como versión beta en la comunicación del auto con el servidor.
[https://dlnmh9ip6v2uc.cloudfront.net/images/products/9/0/2/6/09026-01c.jpg]


Adafruit PN532 NFC/RFID Controller Shield for Arduino: Este componente, será el que emplearemos como receptor de NFC, que es el que leerá el dispositivo móvil y dará acceso al usuario al automóvil para después realizar otras acciones.
Costo: $39.95
Tienda: Adafruit

[http://www.adafruit.com/images/large/ID789_LRG.jpg]


Adafruit Ultimate GPS Logger Shield: Este componente, será el encargado de enviar las coordenadas del automóvil que emplearemos para su ubicación en dado caso que el usuario lo requiera, como al no saber donde está, al igual si fue robado, dar su ubicación.
Costo: $49.95
Tienda: Adafruit

[http://www.adafruit.com/images/large/1272_LRG.jpg]


Cellular Shield with SM5100B: Este componente nos servirá como medio de comunicación al servidor,  ya que su función será mandar parámetros como los del gps, entre otros al usuario.
Costo: $99.95
Tienda: Sparkfun

[https://dlnmh9ip6v2uc.cloudfront.net/images/products/9/6/0/7/09607-04.jpg]


Software / Lenguaje de Programación.
En nuestro sistema el posible software a emplearse serán o posible lenguaje de programación a desarrollarse será:


  • Java: Que es el lenguaje de programación de Android que se programará la aplicación del dispositivo móvil.
  • Processing: Que es el lenguaje de programación de Arduino, que emplearemos como componente hardware que hará la comunicación entre los demás componentes electrónicos.
  • PHP: Que es el lenguaje de programación a emplearse del lado del servidor y que éste servirá para hacer algunas consultas al igual que guardar historial o información de las acciones o acciones predefinidas por el usuario.