Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

Boadinux 2007 - Prácticas de laboratorio 3D con Software Libre

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 19 de febrero de 2009 por Javier R.

568 visualizaciones

Prácticas de laboratorio 3D con Software Libre. Ponencia de las Segundas Jornadas de Software Libre Boadinux 2007. I.E.S. Arquitecto Ventura Rodríguez, Boadilla del Monte. Madrid.

Descargar la transcripción

Bueno, os voy a presentar ahora una serie de prácticas que hacen los alumnos en la Universidad Politécnica de Madrid 00:00:05
con forma de informática, y esto es un poco diferente a lo que estéis acostumbrados a ver habitualmente. 00:00:22
Es decir, el software libre en el ámbito universitario tiene bastante difusión. 00:00:29
Digamos que ya de unos años de esta parte se utiliza para unas asignaturas determinadas, como pueden ser sistemas operativos, bases de datos, cosas relacionadas con servicios web, asignaturas relacionadas con programación. 00:00:35
hay software libre digamos que tiene ya su nicho 00:00:53
pero 00:00:56
en otro tipo de asignaturas 00:00:57
todavía no 00:01:00
no está muy implantado 00:01:02
y son las que os voy a mostrar ahora 00:01:04
que son cosas relacionadas 00:01:06
con la generación de gráficos 3D 00:01:07
el procesamiento de imágenes 00:01:10
el reconocimiento de dígitos 00:01:12
etcétera 00:01:15
la robótica 00:01:16
bueno 00:01:16
esto aunque parezca 00:01:19
un poco de palabra terrorífica, vamos a hablar de un poco de lo que es programación 00:01:22
científica. No sé si habréis visto lo que es o sabéis siquiera lo que es. En realidad 00:01:30
la programación científica consiste en aprender una serie de herramientas y técnicas para 00:01:38
resolver problemas matemáticos. Los problemas matemáticos que sirvan para hacer cosas útiles 00:01:43
en el mundo real 00:01:49
por ejemplo, yo estoy seguro que muchos de vosotros 00:01:50
sabéis, o deberíais saber 00:01:54
por lo menos 00:01:56
cómo se soluciona un sistema de ecuaciones 00:01:57
sobre el papel 00:02:00
las X, las Y 00:02:01
veo cara de extrañeza, deberíais saberlo 00:02:02
por lo menos 00:02:06
o bueno 00:02:06
una cosa es que si vais a hacerlo sobre el papel 00:02:08
y otro un poco diferente 00:02:11
a la hora de tener que programarlo 00:02:14
en un ordenador la resolución de ese sistema de ecuaciones, ¿cómo lo haríais? Pues el 00:02:18
99% de la gente no sabe cómo enfrentarse a ese problema, no tiene ni idea. Nosotros 00:02:23
lo que intentamos enseñar es una serie de técnicas y de herramientas, de estrategias 00:02:31
para que vosotros os den, digamos, un papel con unas ecuaciones y las implementéis en 00:02:36
el ordenador. Y para ello nosotros lo que se suele utilizar es el lenguaje de programación 00:02:43
MATLAB, que es un producto comercial que sirve para resolver problemas numéricos, pero nosotros 00:02:50
lo utilizamos a través de Octable, que es un proyecto GNU que tiene la ventaja de ser 00:02:57
compatible MATLAB. Bueno, ¿y por qué? ¿Por qué usamos MATLAB? ¿Por qué utilizamos 00:03:03
esta lenguaje de programación en lugar de utilizar otras alternativas que son totalmente 00:03:15
libres? Como es STILA, R o Python, que tiene algunos módulos numéricos bastante avanzados. 00:03:19
Pues porque MATLAB es prácticamente un estándar dentro de lo que es el ámbito de la computación 00:03:27
científica. Además de eso, MATLAB tiene mucha implementación en lo que son las empresas. 00:03:32
Es decir, las empresas buscan gente que sepa MATLAB. Vosotros vais al Infojobs y ponéis 00:03:40
MATLAB en la zona de búsqueda y os aparece un listado de empresas, dos o tres páginas, 00:03:48
en las que hay gente que os piden que sepáis esta lenguaje de programación. Sobre todo 00:03:55
para cierto tipo de trabajo 00:04:02
relacionados con 00:04:04
ya bastante especializados 00:04:05
relacionados con investigación y desarrollo 00:04:07
ingenieros de investigación, etc. 00:04:10
pues entonces 00:04:13
nos interesa 00:04:14
que vosotros sepáis 00:04:17
MATLAB, pero también nos interesa 00:04:20
que lo aprendáis 00:04:22
a través de una herramienta libre 00:04:23
aparte de eso, MATLAB 00:04:25
bueno, MATLAB o TABE 00:04:31
ahora utilizaré estas dos palabras como sinónimos 00:04:33
permite programar 00:04:35
de manera muy rápida y muy sencilla 00:04:39
es decir, es un lenguaje que está hecho 00:04:41
para esto, para programar 00:04:43
para esos problemas matemáticos 00:04:45
y en 4 o 5 líneas de código 00:04:46
por ejemplo, el ejemplo del sistema de ecuaciones 00:04:49
con 2 líneas de código 00:04:51
se hace en menos de 5 minutos 00:04:53
mientras que si tenéis que 00:04:55
picaroslo en C o en Java 00:04:57
o en C++, pues digamos que 00:04:59
tiene un poco más de elaboración 00:05:01
¿cuál es la ventaja 00:05:02
y las desventajas que tienen 00:05:06
Manla y Octave? 00:05:08
bueno, Manla va a ser comercial 00:05:11
tiene un montón 00:05:12
de funciones numéricas predefinidas 00:05:14
hablamos de miles 00:05:17
de ellas 00:05:18
mientras que Octave todavía está un poco verde 00:05:19
tiene funciones un poco básicas 00:05:22
pero para lograr nuestros problemas 00:05:24
las prácticas que vais a ver ahora 00:05:27
la verdad es que nos da un poco igual 00:05:28
porque 00:05:30
son los alumnos 00:05:30
los que van a tener que programárselo todo 00:05:33
son ellos los que van a tener que programar 00:05:35
esas funciones, con lo cual 00:05:37
mientras tengamos las partes más básicas 00:05:38
nosotros vamos a poder funcionar con ellas 00:05:41
¿y cuál es la ventaja que tiene Octave frente a MATLAB? 00:05:43
pues el tema de licencias 00:05:48
una licencia de MATLAB 00:05:49
puede costar varios miles 00:05:52
de euros solo la licencia básica 00:05:53
sin añadir 00:05:56
las librerías 00:05:57
propietarias que tienen 00:06:00
procesamiento de imagen 00:06:03
control, etc 00:06:05
pues 00:06:07
puede subir a varias decenas de miles de euros 00:06:09
la broma, mientras que con octavos 00:06:11
pues sale 00:06:13
gratis, es lo bueno que tiene 00:06:14
esto del software 00:06:17
bueno y 00:06:18
vamos a ver ahora los cuatro problemas 00:06:20
cuatro prácticas 00:06:25
que les pusimos a los alumnos 00:06:26
y que aunque yo he hablado de muchas cosas 00:06:28
de fórmulas matemáticas 00:06:31
y muchas cosas que os pueden parecer un poco infernales 00:06:32
en realidad son prácticas 00:06:35
que resuelven problemas reales 00:06:37
la primera de ellas 00:06:39
consiste 00:06:40
en la generación automática 00:06:42
de fotografías panorámicas 00:06:44
es al estilo 00:06:46
de lo que hacen programas como el 00:06:49
Canon PhotoStitch, si tenéis una cámara Canon 00:06:50
lo conoceréis, os voy a enseñar 00:06:53
de aplicaciones 00:06:54
o el Pet Stitcher 00:06:55
o el Heating 00:06:58
que es un proyecto de software libre 00:07:00
la idea es 00:07:01
yo cojo varias fotos 00:07:03
de un 00:07:05
yo quiero tomar una fotografía 00:07:07
de un paisaje 00:07:09
lo que hago es tomo varias fotos de él 00:07:10
y las compongo en una única foto panorámica 00:07:13
pues 00:07:15
nosotros queremos hacer eso 00:07:18
pero además hacer que sea automático 00:07:21
es decir 00:07:23
nosotros les vamos a pasar a los alumnos 00:07:24
varias fotografías 00:07:28
En este caso tenemos tres fotografías de un despacho. 00:07:30
Como veis las fotos no son iguales entre sí, sino que se han ido tomando, 00:07:33
lo que hemos hecho es poner un trípode en el despacho y hemos ido tomando fotografías y girando la cámara, 00:07:38
como si estuviéramos barriendo todo el despacho. 00:07:45
Como veis las fotos no son iguales entre sí, pero tienen varias zonas en común. 00:07:48
Pues lo que queremos hacer es una cosa automática donde nosotros al programa le pasemos estas fotos 00:07:53
y él solito genere una imagen panorámica, no, una fotografía que sea la composición de las tres. 00:08:00
Pues, ¿cómo se hace esto? 00:08:10
Lo que tenemos que hacer es determinar las zonas de la imagen de cada foto, las zonas que son comunes. 00:08:15
Por ejemplo, entre la foto de la izquierda y la central vemos que la zona del ordenador es igual, que la zona de los pósters también es igual. 00:08:22
Entre la foto central y la de la derecha vemos que tienen parte de la zona de los pósters, que es común, y también parte de las zonas estanterías, que es común. 00:08:32
Pues esa información, nosotros a través de algoritmos de procesamiento de imagen, algoritmos estadísticos y algoritmos de puestas de correspondencia, que se van a programar en Octave, pues vamos a poder generar una imagen tal que así. 00:08:41
Si os fijáis, la foto del centro está recuadrada en azul, no sé si se ve desde ahí, y las fotos de los lados, lo que hemos hecho es calcular las áreas de solape y la transformación que hay que hacer de esas fotos. 00:09:01
Es decir, las fotos no se pueden pegar así, a lo bruto, sino que hay que transformarlas de tal manera que coincidan las zonas comunes con las zonas centrales. 00:09:18
Y una vez que tenemos hecho esto, hay que fusionar los colores entre sí, para que al final nos quede una foto panorámica tan chula como esta. 00:09:31
Si os fijáis, aunque son tres fotos diferentes, parece una foto única. 00:09:43
que no. Y como ya os decía antes, todo esto está programado a piñón, prácticamente 00:09:51
salvo un par de funciones de librerías básicas, está programado por los alumnos en Octave. 00:10:03
Bueno, Octave más la. Son todo librerías de tratamiento de matrices, que es el elemento 00:10:10
básico que viene de Octave. Bueno, el segundo ejemplito que voy a enseñaros es un pelín 00:10:17
más complejo. Se trata de reconocer dígitos manuscritos. ¿Qué quiere decir esto? Pues 00:10:29
que nosotros le vamos a pasar al programa, le vamos a pasar al ordenador una serie de 00:10:40
números que hemos escrito a mano, que hemos digitalizado, por lo cual tenemos las imágenes 00:10:45
esos números y el ordenador nos va a decir para cada imagen que número representa. Tengo 00:10:50
aquí unas imágenes de unos números. 4, 9, 1, 3. Pues nosotros queremos generar un sistema 00:10:59
que está representado aquí por esta turmis a que le voy a pasar el 3 y para esa imagen 00:11:06
del 3, mi sistema va a generar una etiqueta que va a ser 3. Para la imagen del 1, el sistema 00:11:16
va a generar una etiqueta que sea 1. Para el 9, 9. Y así sucesivamente. Este problema 00:11:24
la verdad es que es bastante complejo. Tiene un punto de complejidad bastante elevado. 00:11:34
Porque, imaginaos un problema análogo, sería reconocer el número de la matrícula de un 00:11:41
coche. Por ejemplo, para los famosos radares que ahora tienen implementados en la DGT, 00:11:46
pues lo lógico sería que cuando tú detectas que un coche ha sobrepasado una determinada 00:11:54
velocidad, pues que el ordenador sea capaz de detectar automáticamente el número de 00:11:59
la matrícula. Bueno, pues ese problema es todavía sencillo en comparación con esto, 00:12:03
porque digamos que las tipografías de las matrículas de los coches que hay, pues son 00:12:09
casi siempre las mismas, son muy parecidas. Mientras que aquí, en este caso, son dígitos, 00:12:13
son números escritos a mano por personas. Es decir, no sé si os habéis fijado, pero 00:12:20
todos vosotros no soléis escribir el 4 o el 7 o el 9 de la misma manera, o el 5. Pues 00:12:28
eso es un problema bastante complicado de resolver. Nosotros la forma que tuvimos de 00:12:37
resolverlo es mediante un proceso de entrenamiento. Es decir, nosotros hicimos un programa para 00:12:42
que le pasamos una base de datos que se llama MNIST, que tiene un montón de imágenes de 00:12:50
números, creo que son unos 60.000 o 70.000, y digamos que programamos unas rutinas que 00:12:58
aprendiera a determinar las características de cada número. Es decir, ¿qué es lo que 00:13:06
hace que el 9 sea un 9? Porque todos sabemos, nosotros sabemos, que el 9 es muy fácil de 00:13:13
distinguir. Es un redondel y un palito. Que el 8 son dos redondeles. Pero claro, ahora 00:13:21
hay que hacer que el ordenador interprete esa información. Pues los alumnos, en este 00:13:28
En este caso, tuvieron que programar en octava y manda una serie de rutinas, estadísticas, 00:13:36
una serie de rutinas matemáticas, para discriminar todos esos números. 00:13:43
Y luego, a su vez, tuvieron que hacer el programa que fuese capaz de reconocer esos números. 00:13:47
Es decir, que cuando yo le pasaba la imagen del 9, dijera, eso es un 9. 00:13:53
Cuando le pasaba la imagen del 6, dijera, eso es un 6. Y así sucesivamente. 00:13:58
Bueno, en esta práctica que ahora os voy a presentar, ahora hemos cambiado un poco de tercio. 00:14:03
Si las dos anteriores eran más relacionadas con el tema del procesamiento de imagen, 00:14:20
esta tiene más que ver con la parte de robótica y con la parte de reconstrucción tridimensional de escenas. 00:14:26
Es decir, ¿qué significa eso de la reconstrucción tridimensional de escenas? 00:14:34
porque nosotros 00:14:40
a partir de la información que obtenemos 00:14:42
de una cámara, de una fotografía 00:14:45
pues podemos, digamos, obtener 00:14:47
un modelo tridimensional 00:14:49
de lo que está representando esa fotografía 00:14:51
en este caso 00:14:53
lo vamos a aplicar 00:14:56
a la navegación de un robot 00:14:57
vamos a aplicarlo, Javier 00:14:59
a la generación de un mapa 00:15:01
para que un robot pueda navegar 00:15:03
nosotros 00:15:05
como en esta, cuando hicimos esta práctica 00:15:08
no teníamos robot, pues nos inventamos 00:15:11
uno virtual 00:15:13
nos inventamos un robot virtual 00:15:14
que dijimos que tenía dos cámaras 00:15:16
el robot 00:15:19
lo podéis ver en este mundo 00:15:21
este es el mundo virtual por el que se va a mover 00:15:23
el robot, es una especie de pasillo 00:15:26
con dos recodos 00:15:28
en el que como veis 00:15:29
las paredes del pasillo son un poco 00:15:31
psicodélicas 00:15:33
el hecho de que sean así nos sirve 00:15:34
para luego, digamos, poder 00:15:37
hacer las funciones de reconstrucción. Y a propósito ya dije que tenía dos cámaras, 00:15:39
la cámara izquierda y la cámara derecha. Son dos cámaras que están situadas a una 00:15:46
cierta distancia y si os fijáis, las dos están viendo una zona del pasillo igual, 00:15:50
pero las imágenes que están obteniendo no son iguales, como si yo tuviese una foto del 00:15:58
escenario, desde aquí y desde aquí. El tener dos fotos es lo que nos va a ayudar a hacer 00:16:07
la reconstrucción tridimensional de lo que es la zona del pasillo. ¿Cómo hacemos esto? 00:16:13
¿Cuál es el procedimiento para obtener un mapa en tres dimensiones del entorno? Pues 00:16:21
lo que vamos a ir haciendo es ir moviendo el robot por el pasillo, si os habéis fijado, 00:16:28
El robot ha cambiado de posición y la parte de la escena que está obteniendo las cámaras ha variado. 00:16:34
También ha variado la orientación. 00:16:42
Y lo que vamos a hacer es que el robot recorra el pasillo obteniendo imágenes. 00:16:44
Y de esas imágenes, de cada imagen que obtenemos, de cada posición por la que se ha ido moviendo el robot, 00:17:00
vamos a obtener una reconstrucción 00:17:07
vamos a obtener una reconstrucción 00:17:09
de lo que el robot está viendo 00:17:11
en este caso vamos a obtener una serie de puntos 00:17:12
en tres dimensiones 00:17:15
aquí 00:17:19
si podéis ver 00:17:19
lo que es la reconstrucción de los puntos 00:17:22
estos son los puntos 00:17:24
para toda la secuencia por la que el robot 00:17:27
se ha movido por el pasillo 00:17:29
los puntos rojos son los puntos 00:17:30
en tres dimensiones que ha reconstruido 00:17:33
podéis ver 00:17:34
otra vista 00:17:36
y ahora una vista similar a la imagen que visteis anteriormente. 00:17:40
Bueno, nosotros con esto obtenemos una reconstrucción de puntos. 00:17:49
Pero para simplificar las cosas, a los alumnos les dijimos cómo era el mundo. 00:17:56
Es decir, el mundo es un pasillo formado por planos. 00:18:01
Pues podríamos obtener más información sabiendo que esos puntos pertenecen a planos, 00:18:06
que son los que veis ajustados ahí 00:18:11
este sería el mapa en tres dimensiones 00:18:13
del entorno 00:18:16
que hemos obtenido simplemente 00:18:17
a partir de información de las cámaras 00:18:20
es decir, hemos utilizado 00:18:22
las cámaras como si fuera un elemento 00:18:24
sensorial del robot 00:18:26
más o menos lo que hacemos 00:18:28
nosotros 00:18:30
utilizamos los ojos como elemento sensorial 00:18:31
si nosotros vamos de frente a una pared 00:18:34
sabemos que 00:18:36
en algún momento no podemos seguir 00:18:37
porque podemos chocar 00:18:40
el robot puede utilizar esta información para lo mismo 00:18:41
ya que sabe donde está la pared 00:18:44
pues puede moverse por el entorno 00:18:46
de manera libre 00:18:48
¿qué herramientas de software libre hemos utilizado para esto? 00:18:51
pues en primer lugar hemos utilizado 00:18:58
Popray para la generación 00:19:00
del mundo virtual 00:19:02
la imagen del mundo, del pasillo 00:19:03
que habéis visto, está generada con Popray 00:19:08
así como las imágenes que obtiene 00:19:10
de las cámaras 00:19:13
las cámaras no son cámaras reales, lógicamente 00:19:14
es un robo virtual, con lo cual 00:19:17
nosotros esas cámaras virtuales, esas imágenes 00:19:19
las obtenemos con POP 00:19:21
POPray es un 00:19:22
es un 00:19:25
es un 00:19:26
programa de software libre 00:19:28
muy potente 00:19:31
que permite definir escenas en 3 dimensiones 00:19:32
a partir de primitivas 00:19:36
o a partir de modelos 3D 00:19:38
que hay con otros programas 00:19:39
y generar imágenes fotorealistas de esa escena. 00:19:40
Hacer unos renderizados con unas iluminaciones muy realistas. 00:19:46
En este caso lo hemos utilizado para una tontería, 00:19:50
que es simplemente generar un pasillo con esas paredes psicodélicas. 00:19:53
Pero la potencia que tiene PopRate es infinita. 00:20:00
Si os pasáis por la página de PopRate hay unas imágenes en tres dimensiones renderizadas 00:20:03
que son prácticamente perfectas 00:20:09
el mundo virtual 00:20:11
lo hemos generado con Power BI 00:20:15
que aparte de ser gratuito 00:20:16
tiene otra ventaja 00:20:20
que es que tenemos el código fuente disponible 00:20:22
y eso para nosotros nos ha ayudado 00:20:25
enormemente 00:20:29
al tener el código fuente nosotros sabemos 00:20:30
por decirlo de manera infinita 00:20:33
sabemos como se transforman 00:20:35
las cosas 3D que tenemos 00:20:37
en el mundo virtual en imágenes 00:20:39
que es lo que nos ayuda 00:20:41
a realizar la reconstrucción 00:20:43
pues con Power BI generamos 00:20:45
el mundo virtual, el recinto 00:20:50
y la reconstrucción 3D 00:20:52
es decir, una vez que tenemos 00:20:54
las imágenes, que es lo que 00:20:56
el robot, lo único que puede ver 00:20:58
pues el procesamiento de esas 00:21:01
imágenes y la reconstrucción tridimensional 00:21:04
se hace de nuevo con Octave Magda 00:21:06
Bueno, y ya la última asignatura, digo, la última práctica que os voy a presentar es el control de un robot mediante visión artificial. 00:21:08
Es algo parecido a lo que hemos visto antes, pues nosotros antes el mapa que hemos obtenido lo hemos sobreutilizado para hacer la navegación del robot. 00:21:26
el robot. Solo que en este caso, si contábamos con un robot real, en este año se compró 00:21:34
un robot que es el Amigobot del móvil Robotics, que como podéis ver, tiene una camarita montada 00:21:41
encima del robot. Esa camarita transmite las imágenes que obtiene a un PC a través de 00:21:51
un receptor de radiofrecuencia, que veis ahí con la antena, y además tiene ocho sensores 00:21:59
de ultrasonido que los podemos utilizar a modo de sonar. Es decir, si la cámara falla, 00:22:06
pues podemos utilizarlos para evitar los tránsitos de alguna manera. Y que, la verdad es que 00:22:11
con un robot así, podríamos habernos planteado hacer algo parecido a lo que hicimos en la 00:22:18
práctica anterior. Es decir, hacer una reconstrucción en tres dimensiones del entorno por el que 00:22:24
está el robot y utilizarlo para movernos por ahí. Por eso en el caso sintético, que 00:22:29
era en el caso virtual, que era en el que habéis visto anteriormente, ya era complicado, 00:22:34
pues en el caso real es muchísimo más complicado. En cambio, podemos simplificar el problema 00:22:38
haciendo que el robot simplemente siga líneas. Es decir, nosotros pintamos con cinta adhesiva 00:22:44
un circuito, una línea negra por el suelo, y queremos que el robot, cuando lo ponemos 00:22:53
sobre la línea, lo vaya siguiendo. Además queremos que si por alguna razón ponemos 00:22:58
un obstáculo sobre la línea, el robot sea lo suficiente de estar listo. ¿Cómo? Para 00:23:05
evitar ese obstáculo, rodearlo y seguir el circuito que le hemos tratado, seguir la trayectoria 00:23:10
de la línea. ¿Cómo hacemos el seguimiento de la línea? Lo hacemos con visión por computador. 00:23:17
Es decir, nosotros vamos a tener una imagen de la línea desde el principio y lo que queremos hacer es que, por ejemplo, imaginaos que la línea, tenemos una línea recta, el robot la va siguiendo mientras sea recta y cuando gira la línea, queremos que a través de la información que recibimos de la cámara, el robot sea suficientemente listo como para que haya detectado que la línea está girando y gire sus ruedas en consecuencia, con lo cual siempre vaya siguiéndolo. 00:23:27
Bueno, esta práctica es un poco diferente a las anteriores en cuanto a la realización software. 00:23:57
Aquí ya no utilizamos Octave, sino que utilizamos otros procedimientos. 00:24:07
En principio, para el control del robot utilizamos una librería que se llama Pyro, que es Python Robotics. 00:24:17
¿Qué nos da PIRON? PIRON nos permite tener una visión de alto nivel del robot. 00:24:27
Es decir, nosotros conectamos nuestro robot por el puerto serie o por el wifi al ordenador 00:24:35
y el control del robot lo realizaremos a través de unas funciones de Python. 00:24:42
PIRON tiene unos drivers para cada robot. Es decir, no todos los robots son iguales. 00:24:50
algunos tienen unos sistemas de control, otros tienen otros, unos tienen ruedas, otros utilizan, otros tienen ultrasonidos, otros tienen cámara, 00:24:55
pues digamos que Piro da una plataforma independiente del robot, es decir, nosotros para nuestro robot tenemos una cámara 00:25:06
y vamos a programar una serie de algoritmos para seguir esa línea. 00:25:16
pero si ahora nosotros desenchufamos 00:25:22
nuestro amigo bot y le enchufamos 00:25:24
otro robot que tiene una cámara 00:25:26
y que piro que conoce 00:25:28
pues los algoritmos que hemos hecho van a valer para él 00:25:29
tenemos que decir 00:25:32
que es una cosa de alto nivel 00:25:34
bueno 00:25:35
ese alto nivel es digamos que 00:25:38
por esa parte nos permite 00:25:40
tener varios robots controlados 00:25:42
de una única manera y por otro lado 00:25:44
nos evita un montón 00:25:46
de cosas farragosas, es decir 00:25:48
nos simplifica todo lo que es la programación del robot 00:25:50
porque ya nos lo tiene prácticamente todo hecho 00:25:52
pues lo que tenemos que hacer es 00:25:54
mediante piro 00:25:58
obtener la información 00:25:59
de la cámara, es decir, la imagen de la línea 00:26:02
que tenemos en un instante determinado 00:26:04
esa imagen de la línea 00:26:06
se la vamos a pasar mediante 00:26:09
unas herramientas que se llaman SWIFT 00:26:11
a una rutina de procesamiento 00:26:14
de imagen que hemos programado 00:26:16
en C, ahora necesitamos eficiencia, necesitamos algo programado en C. Cogemos la imagen que 00:26:18
nos da el robot a través de Pyro, se la pasamos a la rutina en C, la procesamos y en el procesamiento 00:26:27
podemos decidir si la línea ha girado, si la línea sigue recta, es decir, si tenemos 00:26:34
que hacer la siguiente orden de control del robot, que la haremos mediante Pyro, es decir, 00:26:40
El mecanismo es, cogemos la imagen mediante el piro, se la pasamos a C, con C vemos si la línea ha girado o cuál es la siguiente consigna para el robot, 00:26:48
y esa consigna para el robot se la pasamos al robot mediante el piro otra vez. 00:26:58
El piro nos permite obtener información del robot y controlar al robot. 00:27:03
Son las dos cosas. 00:27:07
Y el ciclo vuelve a comenzar. 00:27:10
Volvemos a hacer una imagen, la procesamos, vemos si hay que girar, si hay que ir para adelante, etc. 00:27:12
Bueno, y aparte de todo esto, Piro tiene un simulador 3D que se llama Cacebo, que es este que veis aquí en la imagen. 00:27:19
Como veis, no sé si se puede ver por los colores, es una especie de modelo parecido al anterior, 00:27:30
donde tenéis los rayos azules, son el sonar, y tiene una camarita montada encima del robot, donde está viendo el mundo. 00:27:35
si veis ese cubo, ese rectángulo 00:27:44
que hay entre dimensiones 00:27:48
pues esto representa 00:27:49
la imagen del mundo 00:27:52
y esa ventanita pequeña de ahí 00:27:52
representa lo que está viendo el robot 00:27:55
bueno pues, este 00:27:56
Cacebo nos puede valer 00:27:59
tanto para hacer nuestras pruebas 00:28:00
con el robot, es decir 00:28:03
esa imagen que le está 00:28:05
llegando a la cámara del robot a través de Cacebo 00:28:07
se puede procesar de la misma manera 00:28:09
que la que llega a través de la cámara 00:28:11
y podemos enchufar una y desenchufar otra 00:28:12
y lo podemos utilizar 00:28:15
para probar nuestro algoritmo 00:28:17
y por otro lado 00:28:18
nos sirve para representar 00:28:20
entre dimensiones cual es el modelo del robot 00:28:23
si tenemos un escenario construido 00:28:25
digamos a escala del real 00:28:27
pues podemos utilizarlo como una salida 3D 00:28:28
bueno ya 00:28:31
lo último para terminar 00:28:36
pues es decir 00:28:38
que 00:28:40
existen un montón de herramientas 00:28:40
para realizar todo esto 00:28:44
lo que pasa es que hay que ponerse 00:28:45
hay que ponerse 00:28:48
y digamos 00:28:50
todo depende del grado de implicación 00:28:51
o del grado de imaginación 00:28:54
que tenga el profesor de turno 00:28:56
pero digamos que herramientas en el mercado 00:28:57
hay, pero 00:29:00
uno tiene que estar ahí 00:29:01
y además 00:29:03
podemos utilizar esas herramientas 00:29:06
para obtener una experiencia profesional 00:29:08
útil, yo lo he dicho antes 00:29:10
las empresas piden más 00:29:12
Si lo aprendéis a través de Ustabe, estupendo, porque es prácticamente compatible. 00:29:14
Cuando podéis salir al mercado de trabajo, 00:29:19
pues ahí tendréis un pequeño nicho al que podéis acercaros. 00:29:22
No hay que olvidar que la universidad, 00:29:28
aparte de los institutos de formación profesional, 00:29:30
la universidad también debe formar profesionales para el sector. 00:29:33
Pues esto es una forma de hacerlo. 00:29:37
Y yo ya he terminado. 00:29:40
Muchas gracias por vuestra atención. 00:29:42
Valoración:
  • 1
  • 2
  • 3
  • 4
  • 5
Eres el primero. Inicia sesión para valorar el vídeo.
Idioma/s:
es
Autor/es:
Roberto González, Javier Rodríguez Pascua.
Subido por:
Javier R.
Licencia:
Reconocimiento - No comercial
Visualizaciones:
568
Fecha:
19 de febrero de 2009 - 17:17
Visibilidad:
Público
Enlace Relacionado:
Edición y montaje: Roberto González. Director del DVD: Javier Rodríguez Pascua. Fotografía: Antonio Ortega. Coordinadora de las Jornadas: Lola Parra.
Descripción ampliada:

Ponencia: Prácticas de laboratorio 3D con Software Libre.

Ponente: D. Enrique Muñoz Corral.

Segundas Jornadas de Software Libre Boadinux 2007.

I.E.S. Arquitecto Ventura Rodríguez (Boadilla del Monte - Madrid) 

Edición y montaje: Roberto González.
Director del DVD: Javier Rodríguez Pascua.
Fotografía: Antonio Ortega.
Coordinadora de las Jornadas: Lola Parra

Duración:
00′ 30″
Relación de aspecto:
4:3 Hasta 2009 fue el estándar utilizado en la televisión PAL; muchas pantallas de ordenador y televisores usan este estándar, erróneamente llamado cuadrado, cuando en la realidad es rectangular o wide.
Resolución:
480x360 píxeles
Tamaño:
92.49 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid