logo logo
Saturday, 11 October 2008
 
 
English English  Español Español  
Tag Cloud
Architectures Artificial Associations Books Brain Conscious Consciousness Forums Howto Machine Machine Consciousness Machines Microsoft Neuroscience Projects Publications Research Researchers Reviews Robot Robotics Robots Services Studio
Conscious-Robots.com Forum  


<< Start < Prev 1 2 3 Next > End >>
laso_d
User

Senior Boarder
Posts: 16
graphgraph
Karma: 4  
crear nueva simulacion - 2008/05/19 00:19 Buenas, Raul:

Segun he leido en el foro para crear una simulacion nueva creamos nuestro servicio y vamos añadiendo entidades (desde V.S. y por supuesto después de haber cargado el motor de simulación). Para nuestro caso es un brazo articulado de marca ABB.
Pero me gustaría saber y perdona la pregunta porque puede que resulte algo tonta ¿si yo creo mis propios métodos (sin utilizar los que ya existen para el KUKA en el fichero Entities.cs) aunque sean muy parecidos no habrá conflictos entre ambos servicios al inicializar la simulación? Pienso esto porque los métodos del Entities.cs están compilados dentro del SimulationEngine.dll, ¿no es cierto? y este fichero lo cargamos como referencia en nuestro servicio.

Otra pregunta los ficheros extensión .obj se encuentran en el storemedia con lo cual si creamos nuestra propia visualización hemos de cargar estos archivos en dicha carpeta y si cambiamos de equipo llevarnos el servicio y tambien dichos ficheros ¿no?
  The administrator has disabled public write access. Please, register to participate in the forum.
Raúl
Moderator

Moderator
Posts: 394
graph
Karma: 6  
Re:crear nueva simulacion - 2008/05/19 13:54 Hola,

Efectivamente el entities.cs que viene con Robotics Studio ya está compilado y básicamente creo que no puedes modificarlo. Sin embargo, cuando quieres crear una nueva entidad puedes crear tu propia clase con la nueva entidad, por ejemplo: MiEntidadBrazoEntity.cs y programar las características de la entidad.

Para ver cómo se hace esto quizás te venga muy bien ver un ejemplo parecido de cómo se ha creado una entidad desde cero. En concreto creo que te vendría bien echar un vistazo al código de mi parachoques simulado:

-> Servicio de bumper Pioneer simulado

Descargate el código del servicio y mira como se ha creado la entidad correspondientes a los paneles de contacto del robot pioneer.

Para llevarte un servicio de un ordenador a otro, lo mejor es hacer un paquete de Robotics Studio, esto crea un fichero de instalación que contiene todos los archivos necesarios, para esto puedes usar la herramienta DssDeploy.exe que viene con Robotics Studio.
Raúl Arrabales Moreno. conscious-robots.com/raul
  The administrator has disabled public write access. Please, register to participate in the forum.
laso_d
User

Senior Boarder
Posts: 16
graphgraph
Karma: 4  
Re:crear nueva simulacion - 2008/05/20 14:46 Buenas, de nuevo:

Por lo que leo y veo en tu ejemplo, debo crear mis entidades en un archivo que debe estár contenido en mi projecto y que luego tiene que ir referenciado en mi serivicio. Me has abierto los ojos porque hay entidades del KUKA que si que me valen pero va a ser un lio utilizar las mias propias y las ya existente, será mejor que empieze de cero con las mías.

Por cierto muy bueno el curso de .NET en c# que posteaste, con videos explicativos y todo; para aquellos que como yo la OOP la hemos visto muy por encima.
  The administrator has disabled public write access. Please, register to participate in the forum.
laso_d
User

Senior Boarder
Posts: 16
graphgraph
Karma: 4  
Re:crear nueva simulacion - 2008/05/21 21:17 Buenas,

Ya estoy creando mi fichero con las entidades pero al compilar dice que me falta referencias y no se que estoy haciendo mal.
Code:

 The type or namespace name 'Xna' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)    



Tambien estoy viendo el codigo del servicio de un brazo articulado de LYNX y me he fijado que al abrir el projecto me sale un simbolo de warning al lado de algunas de las referencias como "RoboticsCommon" "Ccr.Core". Tambien te digo que no me he puesto a compilarlo ni ejecutarlo solo he leido el codigo. ¿A que es debido esto?

Gracias.
  The administrator has disabled public write access. Please, register to participate in the forum.
Raúl
Moderator

Moderator
Posts: 394
graph
Karma: 6  
Re:crear nueva simulacion - 2008/05/22 14:11 Hola, parece que los enlaces a algunas referencias están mal en tu proyecto.

En Visual Studio ve a la ventana Solution Explorer (no sé como se llama en Español, que yo tengo la versión en inglés del Visual Studio). En el árbol correspondiente a tu proyecto encontrarás un nodo llamado References (o Referencias). Si lo despliegas encontrarás las referencias a las DLLs que usa tu proyecto. Las que están marcadas con el símbolo de advertencia (warning) es que contienen un camino no válido hacia la DLL que apuntan.

En el caso del XNA Framework (Microsoft.Xna.Framework) mira las propiedades de la referencia para ver que el camino especificado sea correcto. Tienes que hacer referencia al XNA que se instala con Robotics Studio. En mi caso para la versión 1.5 de MSRS el camino es:

Code:

 C:/Microsoft Robotics Studio (1.5)/bin/Microsoft.Xna.Framework.dll



Igual pasa con RoboticsCommon y las demás..

Code:

 C:/Microsoft Robotics Studio (1.5)/bin/RoboticsCommon.dll



¿Tienes instalado MSRS en el directorio por defecto? Si lo has instalado en otra unidad que no sea C, es normal que te den estos errores.. Si tienes otra versión de MSRS también puedes usar la herramienta DssProjectMigration para ajustar automáticamente todas las referencias de un proyecto.

Post edited by: Raúl, at: 2008/05/22 14:12
Raúl Arrabales Moreno. conscious-robots.com/raul
  The administrator has disabled public write access. Please, register to participate in the forum.
laso_d
User

Senior Boarder
Posts: 16
graphgraph
Karma: 4  
Re:crear nueva simulacion - 2008/05/22 16:42 Gracias Raul,

También trabajo con la version en Ingles osea que no hay problema de nomenclatura.

Lo mismo es debido a que he cambiado el projecto de carpeta, trabajo en dos equipos y me llevo los archivos en un pendrive. Por la noche cuando llege a casa lo compruebo en el sobremesa a ver como esta el asunto de las referencias. La verdad es que estuve revisando las references pero parecian correctas en mi projecto. Los warning estaban en el projecto del LYNX que de este si que estoy seguro que esta descomprimido en otra partición del disco.

Saludos.
  The administrator has disabled public write access. Please, register to participate in the forum.
laso_d
User

Senior Boarder
Posts: 16
graphgraph
Karma: 4  
Re:crear nueva simulacion - 2008/05/22 19:05 Saludos de nuevo,

El problema es que en mi carpeta bin no está la librería Microsoft.Xna.Framework.dll y por eso no la encuentra. Y el caso es que en el portatil de mi compañero tampoco.
  The administrator has disabled public write access. Please, register to participate in the forum.
Raúl
Moderator

Moderator
Posts: 394
graph
Karma: 6  
Re:crear nueva simulacion - 2008/05/23 17:57 Vaya, pues si no recuerdo mal, durante la instalación de versiones anteriores de Robotics Studio la dll correspondiente al XNA Framework se incluía en el directorio bin de MSRS. Sin embargo, creo que a partir de la versión 1.5, cuando la versión correspondiente de XNA framework ya estaba liberada, no se incluye en la instalación del Robotics Studio.

Vamos, que el proyecto con el que estás trabajando debe ser de una versión anterior de MSRS y por eso tiene la referencia a la dll del XNA Framework en el bin de Robotics Studio. Lo que tienes que hacer para solucionarlo es cambiar la referencia en el Visual Studio para que apunte a la dll que tendrás en tu directorio /windows.

Puedes buscar la dll así:

Code:

 cd windows dir /s microsoft.xna.framework.dll



Si no encuentras la dll, entonces es que está en el GAC (Global Assembly Cache). Mira este enlace para ver como puedes referenciar en Visual Studio a dlls del GAC:

-> HOWTO: Reference a Visual Studio assembly in the GAC from an add-in

Espero que te funcione..
Raúl Arrabales Moreno. conscious-robots.com/raul
  The administrator has disabled public write access. Please, register to participate in the forum.
laso_d
User

Senior Boarder
Posts: 16
graphgraph
Karma: 4  
Re:crear nueva simulacion - 2008/05/24 23:07 Buenas, Raul

Estabas en lo cierto respecto al GAC. Con el link que posteaste lo coloqué en mi bin, referencie y sin problemas. Pero ahora tengo otro pequeño problemilla. Al compilar (no me aparecen por su puesto los problemas con la .xna) pero me da error de este tipo
Code:

 Error    1    'Microsoft.Robotics.Simulation.Engine.VisualEntity' does not contain a definition for 'LocalToWorld'     C:Microsoft Robotics Studio (1.5)ServiciosmiosAbbIrbAbbEntities.cs



Pero .LocalToWorld está contendio en Parent y este a su vez en VisualEntity y esta ultima si está referenciada en mi projecto, no comprendo de donde viene el error, ¿alguna idea?

Gracias.
  The administrator has disabled public write access. Please, register to participate in the forum.
Raúl
Moderator

Moderator
Posts: 394
graph
Karma: 6  
Re:crear nueva simulacion - 2008/05/26 14:55 Hola,
El método LocalToWorld es parte de la definición de VisualEntity por lo que respecta al motor de simulación. Sin embargo, no es parte del código fuente que Microsoft ha hecho público (ellos lo han definido como "Internal" en su código). Microsoft ha reconocido que esto es un bug, ya que se pretende que tú puedas partir del código que hay en entities.cs, pero claro si no te dan acceso a parte de la definición no puedes.

El método LocalToWorld devuelve una matriz que se usa para convertir coordenadas del sistema de referencia local al sistema de referencia del mundo simulado basado en la posición y la orientación de la entidad.

El código fuente es el siguiente:

Code:

 internal xna.Matrix WorldToLocal {     get     {         return xna.Matrix.Invert(LocalToWorld);     } } internal xna.Matrix LocalToWorld {     get     {         xna.Matrix localToWorld xna.Matrix.CreateFromQuaternion(TypeConversion.ToXNA(State.Pose.Orientation));         localToWorld.Translation Position;         if (Parent == null || (_parentJoint != null && _parentJoint.InternalHandle != IntPtr.Zero))         {             return localToWorld;         }         else         {             return localToWorld Parent.LocalToWorld;         }     } }



Si te estás basando en el simulation tutorial 4, (el brazo Kuka), puede que evites este error comentando la sentencia if que hay debajo de este comentario:

"Update arm position & orientation ..."

Ese if sólo es necesario cuando se mueve el editor del simulador..

También puedes mirar a ver si ya han solucionado este bug en la version CTP del Robotics Developer Studio 2008..
Raúl Arrabales Moreno. conscious-robots.com/raul
  The administrator has disabled public write access. Please, register to participate in the forum.
<< Start < Prev 1 2 3 Next > End >>





Lost Password?
No account yet? Register
Last Posts in Forum
 
Top!
Advertising links: Personal Loans - Loans - Debt Consolidation - Debt
Top!