Ver/Abrir - Universidad Pedagógica Nacional

Transcripción

Ver/Abrir - Universidad Pedagógica Nacional
Manual de
Desarrollador
RoboticSAD
Universidad Pedagógica Nacional – Licenciatura en Electrónica
Elaborado por: Yuli Marcela Marín Peña
Manual de Desarrollador RoboticSAD
RoboticSAD es un Software de Apoyo Didáctico enfocado en la enseñanza y aprendizaje de
conceptos de Robótica, aunque se encuentra en la primera de tres fases planteadas:

Fase 1. Esta fase corresponde a la simulación grafica de un brazo robótico de mínimo
tres grados de libertad y un robot móvil.

Fase 2. En esta fase se complementará el software agregando herramientas de
programación por código, integrando un componente de comunicación con el Hardware.

Fase 3. Es esta fase se desarrollará una base de datos que pueda evaluar y hacer
seguimiento de los procesos llevados a cabo en el software. También se deberá crear
una página web que esté conectada al software y que contenga información y material
didáctico acerca del proyecto general que se divide en: Software, Hardware y
componente pedagógico.
En este manual se explican elementos importantes para tener en cuenta en la continuación de
desarrollo del software.
Descripción General
Este software se desarrolla en el motor de video juegos Unity 3D® versión 4.0.0 y utilizando el
lenguaje de programación C# Script. En la culminación de la fase 1 se implementaron cuatro
escenas: escena GUI inicial, escena Simulación Brazo Robótico, escena Simulación Robot Móvil y
escena Comunicación Brazo Robótico, para conocer el funcionamiento de dichas escenas se
puede remitir al Manual de Usuario RoboticSAD o directamente ejecutar el software.
Acceso al software
Antes de empezar a trabajar con el software se recomienda hacer un backup del mismo, leer el
manual de usuario y ejecutar el software para realizar pruebas de funcionamiento.
Primero debe instalar descargar e instalar Unity 3D en su página oficial http://unity3d.com/,
posteriormente abra la carpeta RoboticSAD_Final que se encuentra en el CD del proyecto y
luego Assets, allí encontrara las cuatro escenas mencionadas anteriormente con el Logotipo de
Unity 3D.
Al abrir cualquiera de estas escenas tendrá acceso al proyecto en general, en el cual se
encuentran los scripts y demás recursos del software.
Conocimiento básico de Unity 3D
Al abrir Unity en la parte superior izquierda se encuentra
el desplegable para elegir la
configuración de ventanas, en el caso de la imagen se encuentra en 2 by 3. Partiendo de esta
configuración se tienen las siguientes ventanas:
1. Scene. Aquí se puede ver cómo están organizados los objetos de nuestra escena en el
entorno tridimensional.
2. Game. Aquí se aprecia la vista de la escena en ejecución, según las cámaras
involucradas.
3. Hierarchy. Esta es la jerarquía de los objetos en la escena.
4. Project. Aquí se encuentran organizados los recursos del proyecto: escenas, carpetas,
modelos 3D importados, scripts, prefabs, etc.
5. Subventana de Project. En esta ventana se pueden ver los recursos de cada carpeta.
6. Inspector. En esta ventana se pueden ver y manipular las propiedades de los objetos y
scripts.
Acceso a escenas, objetos y scripts
Para abrir una escena del software, diríjase a la ventana de Project y de clic en Assets, en la
Subventana de Project se encontraran las escenas del proyecto y las carpetas de recursos para
cada una de ellas.
Los objetos se encuentran ubicados en la ventana de Hierarchy y para acceder a ellos se puede
dar clic en dicha ventana o directamente en la ventana Scene.
Los scripts de cada escena se encuentran en las carpetas respectivas, para abrirlos se da doble
clic sobre ellos o un clic y luego open en la ventana de inspector. Se abrirá el entorno de
desarrollo .NET “MonoDevelop®” incluido en el paquete de Unity, aquí se pueden hacer las
modificaciones de scripts si es el caso.
Crear nuevos recursos
1. Scripts. En la pestaña Assets ir a Create y elegir C# Script, el archivo aparecerá en la
Subventana de Project.
2. Importar modelos 3D y otros recursos. En la pestaña de Assets elegir Import New Asset
y abrir la ubicación del archivo, el nuevo recurso aparecerá en la Subventana de Project.
Si el recurso a importar es un modelo 3D realizado en Blender, basta con arrastrar el
archivo .blend desde su ubicación y soltarlo en la Subventana de Project.
3. Objetos. Unity permite crear algunos objetos sencillos como cubos, esferas, cilindros,
entre otros; para crear un objeto se debe ir a la pestaña GameObject, luego elegir
Create Other y seleccionamos el tipo de objeto. Si se quiere crear un objeto a partir de
un modelo 3D importado, arrastramos el archivo desde la ventana Project hasta la
ventana de Secene o Hierarchy, hecho esto se puede ver el modelo en la escena y
empezar a modificar sus propiedades; cabe aclarar que solo se modificará el objeto
creado en escena y no el recurso de modelo 3D, es decir que se puede usar este como
plantilla para crear varios objetos (el recurso de modelo 3D funciona como un prefab).
4. Otros. Unity permite crear terrenos y adecuarlos con árboles, flores, hierba, agua, cielos,
entre otros. Para conocer las herramientas de Unity puede consultar su Manual en línea
http://docs.unity3d.com/Documentation/Manual/index.html.
Crear una nueva escena
Para crear una nueva escena en el proyecto se hace en la pestaña File y se elige New Scene, así
se podrá complementar el software con escenas creadas desde cero.
Scripts asignados

GUI_INICIAL.cs. Esta asignado al objeto “Main Camera” de “ESCENA_GUI_INICIAL”.

SIM_BRAZO.cs. Pertenece a “ESCENA_SIM_BRAZO” y está asignado al objeto
“brazo_real1_aristas reducidas_7”.

SIM_MOVIL.cs. Esta signado al objeto “movil2” de “ESCENA_SIM_MOVIL”.

colisioMovil.cs. También pertenece a “ESCENA_SIM_MOVIL” y esta signado al objeto
“Armature” que se encuentra como hijo del objeto “movil2”.

COM_BRAZO.cs. Este script está asignado al objeto “brazo corregido” perteneciente a
“ESCENA_COM_MOVIL”.

comunicacion.cs. También pertenece a “ESCENA_COM_MOVIL” y está asignado al
objeto “entorno_com”.
Para entender la estructura de estos scripts se pueden abrir en el proyecto, aquí se
encuentran comentadas las partes más importantes; también se incluye una breve
descripción de su funcionamiento en el documento de tesis.
Instrucciones importantes en C# utilizadas en los scripts.

transform.Find("Armature/vacio_base")
Esta instrucción encuentra el objeto en la ubicación jerárquica indicada, en este caso ubica al
objeto hijo Armature y luego al hijo de este llamado vacio_base.

transform.rotation
Devuelve la rotación del
objeto transform en el espacio global y la almacena como un
Quaternion (Los Quaternion en Unity son tipo de datos que se usan para representar
rotaciones1).

Quaternion.Slerp(desde Quaternion, hasta Quaternion, velocidad
* Time.deltaTime)
1
http://docs.unity3d.com/Documentation/ScriptReference/Quaternion.html
Interpolación esférica. Esta instrucción se traduce en la rotación indicada de un objeto desde
una rotación cuaternión, hasta otra rotación cuaternión y a una velocidad tipo float indicada
que puede ser en función del tiempo o por frames.

Quaternion.Lerp(desde Quaternion, hasta Quaternion, velocidad *
Time.deltaTime)
Interpolación lineal. Esta instrucción funciona de casi de igual manera que Quaternion.Slerp con
la única diferencia de que la rotación con Lerp es más rápida pero se ve extraño si las rotaciones
son distantes. Si se quiere un movimiento más sofisticado o más suave usar Slerp.

Quaternion.Euler (float x, float y, float z);
Representa la rotación de un objeto en ángulos de Euler asi: “x” grados alrededor del eje “x”,
“y” grados alrededor eje “y”, y “z” grados alrededor del eje “z”.

Quaternion.identity
Este método representa la rotación identidad, lo que hace es volver al objeto a la rotación
inicial.

transform.localRotation
Devuelve la rotación del objeto transform en el espacio local, es decir respecto a la rotación del
objeto transform padre, y la almacena como un Quaternion.

transform.localPosition
Devuelve la posición del objeto transform en el espacio local, es decir respecto a la posición del
objeto transform padre.

Vector3.MoveTowards(desde Vector3, hasta Vector3, velocidad
* Time.deltaTime)
Mueve el objeto transform desde una posición indicada hacia un punto destino en línea recta,
también se le puede indicar un parámetro de velocidad tipo float que puede ser por frames o
respecto al tiempo.
Nota: para más información de las clases y métodos de Unity consulte su manual scripting en
línea http://docs.unity3d.com/Documentation/ScriptReference/index.html.

Documentos relacionados