Diferencia entre revisiones de «Grupo Simulador»

De Proyecto Butiá
Saltar a: navegación, buscar
Línea 1: Línea 1:
== Espacio del grupo Simulador ==
 
 
 
'''Integrantes:'''
 
'''Integrantes:'''
 
* Fiorella Farinasso
 
* Fiorella Farinasso
Línea 11: Línea 9:
  
  
'''Documentación:'''
+
=='''Documentación:'''==
 
+
Se planteó la posibilidad de hacer el simulador con las librerías ODE o con OpenRave. Al parecer OpenRave ya tiene un IDE creado, por lo que no serviría si se quiere hacer uno diferente, que consuma menos recursos y que sea más amigable. Nos inclinamos más a usar ODE.
+
 
+
 
+
'''Referencia:'''
+
 
+
''Videos:''
+
 
+
[http://www.youtube.com/user/MireUd?feature=mhsn#g/c/F02107DFD5055792] . Enlace a una lista de reproducción en YouTube con videos de OpenRave y ODE. Del segundo, la mayoría de los ejemplos usa ODE para calcular lo relacionado a la física y otro motor para los gráficos.
+
 
+
 
+
''Documentación de ODE:''
+
 
+
[http://opende.sourceforge.net/wiki/index.php/Main_Page] . Página oficial del proyecto.
+
 
+
[http://www.ode.org/ode-latest-userguide.html#sec_2_0_0] . Guía de Usuario.
+
 
+
[http://www.ode.org/slides/slides.html] . Presentaciones (slides) por Rusell Smith, creador de ODE.
+
 
+
[http://www.ode.org/slides/slide1.html] De entre todas, se destaca esta presentación no técnica sobre SDKs (Kits de Desarrollo de Software) para simulación de cuerpos rígidos.
+
 
+
[http://www.iearobotics.com/proyectos/cuadernos/ct9/ct9.html] . Ejemplos en C.
+
 
+
[http://robotics.naist.jp/~akihiko-y/doxy/ode0.9/group__drawstuff.html] . Documentación de DrawStuff, la librería que trae ODE para dibujar los cuerpos en 3D.
+
 
+
 
+
[http://http://www.enchantedage.com/raycar] . Ejemplo de auto
+
 
+
  
''Instalación (beta)''
+
La idea de este plugin para Tortugarte es que sin la necesidad de tener completo el Butiá (XO + plataforma) se pueda visualizar en pantalla lo que haría físicamente nuestro código.
 +
Para ello primero debemos dibujar el escenario utilizando los comandos básicos del programa y luego por medio de esta nueva paleta probarlo-.
  
1 - instalar ODE como dice la pagina
+
En un principio evaluamos la posibilidad de usar las librerias ODE o con OpenRave pero éste ultimo ya tenía un IDE creado, por lo que no serviría si se quiere hacer uno diferente, que consuma menos recursos y que sea más amigable. Luego con ODE vimos que igualmente habrían dificultades, además era mucho más facil bajar un plugin para un programa con el que ya están familiarizados que una nueva aplicación.
  
2 - instalar libglu1-mesa-dev (instala gl como dependencia)
+
A partir de esta decición tuvimos que familiarizarnos aún más con la Butiá API (Interfaz de programación de aplicaciones -application programming interface, es un conjunto de funciones residentes en bibliotecas -generalmente dinámicas, que permiten que una aplicación corra bajo un determinado sistema operativo.Expone operaciones de alto nivel para obtener valores de sensores o ejecutar acciones de los actuadores)(link a la api) y con las funciones de TurtleGraphics que encontramos en la wiki de sugarlabs ([http://wiki.sugarlabs.org/go/Activities/Turtle_Art#How_to_write_a_plugin link a las funciones])
  
3 - agregar a la variable LIBS -lGLU en Makefile de demos
+
==Objetivos: (hasta ahora)==
  
 +
* Crear la nueva paleta
 +
 +
* Simular las funciones básicas
  
 +
*Adelante
 +
*Atrás<br />
 +
*Derecha<br />
 +
*Izquierda<br />
 +
 +
* Simular sensores<br />
 +
*Escala de Grises<br />
 +
*Distancia<br />
  
//4 - agregar a la variable LIBS -lGL en Makefile de drawstuff
+
* Setear velocidad
  
//Instalar libode1 y libode-dev
+
==Problemas que fuimos resolviendo y herramientas que utilizamos:==
 +
 +
*A la hora de simular las funciones básicas el primer problema que encontramos era que cuando avanzaba la tortuga no la mostraba en pantalla. Por lo que tuvimos que utilizar la función de "actualizar mundo" y como ya estaba implementada en el plugin del Sumo butiá (sumtia) fue solo adaptarla.
 +
<br />
 +
*Para simular el sensor de escala de grises tuvimos que utilizar la función "get_pixel" utilizada en el plugin "follow me" la cual te devuelve el valor de color sobre el cual se encuentra la tortuga. Acá nos encontramos con que el valor era tomado de el centro de la tortuga, por lo que si emulamos el comportamiento que tendría en el caso de querer seguir una línea que dibuje un cuadrado, quedaría girando al llegar al vértice. De aquí tuvimos que ver como calcular la posición de la cabeza para poder ubicar al emulador del sensor en esta extremidad (al igual que lo haríamos en el Butiá- se suelen ubicar los sensores de Gris en la parte delantera del mismo). Acá hay una primer prueba de la simulación del seguidor de líneas.

Revisión del 22:17 19 sep 2011

Integrantes:

  • Fiorella Farinasso
  • Pablo Silveira
  • Ricardo Rodríguez


Tema elegido: Simulador para Butiá


Documentación:

La idea de este plugin para Tortugarte es que sin la necesidad de tener completo el Butiá (XO + plataforma) se pueda visualizar en pantalla lo que haría físicamente nuestro código. Para ello primero debemos dibujar el escenario utilizando los comandos básicos del programa y luego por medio de esta nueva paleta probarlo-.

En un principio evaluamos la posibilidad de usar las librerias ODE o con OpenRave pero éste ultimo ya tenía un IDE creado, por lo que no serviría si se quiere hacer uno diferente, que consuma menos recursos y que sea más amigable. Luego con ODE vimos que igualmente habrían dificultades, además era mucho más facil bajar un plugin para un programa con el que ya están familiarizados que una nueva aplicación.

A partir de esta decición tuvimos que familiarizarnos aún más con la Butiá API (Interfaz de programación de aplicaciones -application programming interface, es un conjunto de funciones residentes en bibliotecas -generalmente dinámicas, que permiten que una aplicación corra bajo un determinado sistema operativo.Expone operaciones de alto nivel para obtener valores de sensores o ejecutar acciones de los actuadores)(link a la api) y con las funciones de TurtleGraphics que encontramos en la wiki de sugarlabs (link a las funciones)

Objetivos: (hasta ahora)

* Crear la nueva paleta

* Simular las funciones básicas

  • Adelante
  • Atrás
  • Derecha
  • Izquierda

* Simular sensores

  • Escala de Grises
  • Distancia

* Setear velocidad

Problemas que fuimos resolviendo y herramientas que utilizamos:

  • A la hora de simular las funciones básicas el primer problema que encontramos era que cuando avanzaba la tortuga no la mostraba en pantalla. Por lo que tuvimos que utilizar la función de "actualizar mundo" y como ya estaba implementada en el plugin del Sumo butiá (sumtia) fue solo adaptarla.


  • Para simular el sensor de escala de grises tuvimos que utilizar la función "get_pixel" utilizada en el plugin "follow me" la cual te devuelve el valor de color sobre el cual se encuentra la tortuga. Acá nos encontramos con que el valor era tomado de el centro de la tortuga, por lo que si emulamos el comportamiento que tendría en el caso de querer seguir una línea que dibuje un cuadrado, quedaría girando al llegar al vértice. De aquí tuvimos que ver como calcular la posición de la cabeza para poder ubicar al emulador del sensor en esta extremidad (al igual que lo haríamos en el Butiá- se suelen ubicar los sensores de Gris en la parte delantera del mismo). Acá hay una primer prueba de la simulación del seguidor de líneas.