Bueno antes que nada nos preguntamos
¿por qué un simulador?¿para qué me sirve?
- Por que el Hardware (Robot) es muy caro.
- El hardware puede ser dificil de depurar y requiere tiempo y esfuerzo.
- Dificil para un equipo al trabajar concurrentemente con un hardw
are limitado.
¿Cuáles son los beneficios de tener un simulador?
Enfoque de tu Problema
Podemos hacer pruebas sin problema de romper nada
Facil prototipo
Excelente y muy util para educacion
Buen aprendizaje y herramienta de investigación
Y sus desventajas?
No existen ruidos
Modelo Simplificado
Requiere la Creación del Modelo
Estructura del servicio del motor del Simulador o mejor conocido ( The Simulator Engine Service)

Características del Simulator Engine Service:
Esta implementado como un servicio.
Mantiene el estado de la aplicacion.
Controla dispositivos de entrada, como son webcam, teclado, controles xbox,etc.
Su render 3D utiliza XNA (Xbox/DirectX New generation Architecture) con el cual implementa el Direct X version actual
Se combina con el poder del Simulador Ageia Physics
Se compone de una Interfaz gráfica de Usuario
Tiene un editor para modelar objetos del mundo real, y depurarlos.

Dentro del Simulador manejamos lo que son entidades, que son objetos en el mundo o ambiente de la simulador.
Componentes Visuales
Figuras Físicas
Ejemplos de Representación de entidades:
- Camaras
- Cielo y Fondo
- Componentes de un Robot
- Motores y Sensores
- Construcciones y muebles
- Cualquier cosa que sea físico y visible.
¿Cómo podemos ejecutar el simulador?
Desde el menu Inicio
Desde el Control Panel
Desde un manifiesto
Desde otro servicio
Podemos unir servicios con entidades como,
Manejo de Motores
Obtener informacion apartir de un sensor
Modificar el Mundo.
Servicios Orchestration
Son aquellos servicios en donde se provee la inteligencia, como:
Interpretar información de un sensor
Comandos de Motores
Poder controlar directamente el mundo simulado.
Ejemplo de empezar el simulador mediante un manifiesto:
<?xml version=”1.0″ ?>
<Manifest
xmlns=”http://schemas.microsoft.com/xw/2004/10/manifest.html”
xmlns:dssp=”http://schemas.microsoft.com/xw/2004/10/dssp.html”
xmlns:simcommon=”http://schemas.microsoft.com/robotics/2006/04/simulation.html”
>
<CreateServiceList>
<!– Start simulation engine and visualization window –>
<ServiceRecordType>
<dssp:Contract>http://schemas.microsoft.com/robotics/2006/04/simulationengine.html
</dssp:Contract>
<dssp:PartnerList>
<dssp:Partner>
<dssp:Service>LEGO.NXT.Tribot.SimulationEngineState.xml</dssp:Service>
<dssp:Name>dssp:StateService</dssp:Name>
</dssp:Partner>
</dssp:PartnerList>
</ServiceRecordType>
</CreateServiceList>
</Manifest>
Ejemplo de la ejecución de un simulador usando otro servicio:
[DisplayName("Simulation Tutorial 2")]
[Description("Simulation Tutorial 2 Service")]
[Contract(Contract.Identifier)]
public class SimulationTutorial2 : DsspServiceBase
{
State _state = new State();
// partner attribute will cause simulation engine service to start
[Partner("Engine",
Contract = engineproxy.Contract.Identifier,
CreationPolicy = PartnerCreationPolicy.UseExistingOrCreate)]
private engineproxy.SimulationEnginePort _engineServicePort =
new engineproxy.SimulationEnginePort();
Siguiente Post será de creación de Mesh y Entidades
Recent Comments