logo logo
Home arrow Forums...
Saturday, 03 January 2009
 
 
English English  Español Español  
Upcoming Events
10.Jun. 2009

IWANN 2009
Salamanca, Spain
11.Jun. 2009

Toward a Science of Consciousness
Hong Kong, China
15.Jun. 2009

International Workshop on Machine Consciousness
Hong Kong, China
15.Jun. 2009

The 8th IEEE International Conference on Cognitive Informatics
Hong Kong, China
22.Jun. 2009

IWINAC 2009
Santiago de Compostela, Spain
Tag Cloud
Architectures Associations Books Conferences Conscious Consciousness Developer Documentación Documentation Español Howto Machine Machine Consciousness Machines Neuroscience Publications Research Researchers Reviews Robotics Robots Spanish Studio VPL
Spotlight
Conscious-Robots.com Forum  


sutaro
User

Gold Boarder
Posts: 47
graphgraph
Karma: 3  
Dudas con el dashboard - 2008/08/18 05:25 Hola, a todos, tengo un servicio que funciona con un robot real con un contrato asociado con GenericDifferentialDrive. Me gustaría que me apareciese la ventana de SimpleDashBoard cuando arrancase mi servicio, pero no sé cómo, me he leído los tutoriales que vienen con Robotics de simulación pero no acabo de pillarlo,¿alguien me podría echar una mano con éso?
Un saludo
  The administrator has disabled public write access. Please, register to participate in the forum.
Raúl
Moderator

Moderator
Posts: 444
graph
Karma: 6  
Re:Dudas con el dashboard - 2008/08/18 08:59 Hola,

Lo primero, es que si estás usando un servicio que implementa GenericDifferentialDrive y este se está ejecutando cuando lanzas el SimpleDashboard deberías verlo en la lista de servicios que aparecen (una vez que te has conectado al nodo DSS).

En cualquier caso, te cuento como puedes hacer para controlar los servicios que aparecen en las lista del SimpleDashboard (por cierto, también puedes ver como lo he modificado yo en mi CraniumDashboard, que está incluido en la descarga de la aplicación ExplorerSimSonar).

En el proyecto del servicio SimpleDashboard hay un archivo que se llama DriveControl.cs. En ese archivo encontrarás un método que se llama ReplaceDirectoryList:

Code:

 public void ReplaceDirectoryList(ServiceInfoType[] list)



Este método se encarga de rellenar la lista de servicios que se presentan al usuario en la GUI de SimpleDashboard. Mira un ejemplo de mi código para que veas como he añadido el servicio de sonar:

Code:

 foreach (ServiceInfoType info in list) {     if (info.Contract == sicklrf.Contract.Identifier ||         info.Contract == drive.Contract.Identifier ||         info.Contract == arm.Contract.Identifier ||         info.Contract == pxsonar.Contract.Identifier )     {            Uri serviceUri = new Uri(info.Service);            listDirectory.Items.Add(serviceUri.AbsolutePath);     } }



Por lo tanto, sólo tienes que añadir tu servicio en este foreach. Te decía antes que el drive tiene que aparecer porque ya es la segunda condición del if, después del LRF..

Luego tienes que controlar qué pasa cada vez que el usuario hace doble clic en un elemento de esa lista (la lista de servicios), para eso mira el método listDirectory DoubleClick:

Code:

 private void listDirectory_DoubleClick(object senderEventArgs e)



En el caso de un servicio que implemente drive, se hace lo siguiente:

Code:

 if (info.Contract == drive.Contract.Identifier) {      _eventsPort.PostUnknownType(new OnConnectMotor(thisinfo.Service)); }



Bueno, en definitiva el tema es que para modificar el Dashboard que viene con MSRS tienes que entender todo este código... O al menos como funcionan estos métodos. Ya me contarás que tal te va..
Saludos,
Raúl.
Raúl Arrabales Moreno. conscious-robots.com/raul
  The administrator has disabled public write access. Please, register to participate in the forum.
Syndicate
 Conscious Robots RSS FeedConscious Robots RSS Feed





Lost Password?
No account yet? Register
Last Posts in Forum
 
Top! Top!