logo logo
Friday, 25 July 2008
 
 
English English  Español Español  
Tag Cloud
Architectures Artificial Associations Books Brain Conscious Consciousness Forums Howto Machine Machines Microsoft Neuroscience Projects Publications Research Researchers Reviews Robot Robotics Robots Services Spanish Studio
A blog of all section with no images
Introducción a CCR (Concurrency and Coordination Runtime) Print E-mail
Written by Ana Santos y Raúl Arrabales   
Wednesday, 30 January 2008

Introducción a C.C.R.: Concurrency and Coordination Runtime

Un aspecto muy importante en el desarrollo de una aplicación de control para un robot es la coordinación de múltiples tareas interactivas y simultáneas. Este paradigma se conoce como programación asíncrona y concurrente. Como se ha comentado anteriormente, MSRS utiliza las funciones definidas en el CCR para mitigar la complejidad de este tipo de entornos. El CCR ofrece un gran número de clases que permiten al programador expresar fácilmente diversos modelos de coordinación. Existen tres conceptos o componentes claves del CCR que merece la pena estudiar en detalle:

  • Los puertos (clases Port y PortSet).
  • Las primitivas de coordinación (clase Arbiter).
  • Las tareas y colas de ejecución (clases Dispatcher, DispatcherQueue y Task).

 

 

 

Be first to comment this article | Add as favourites (36) | Quote this article on your site | Views: 1070 | E-mail

Last Updated ( Friday, 01 February 2008 )
Read more...
 
Introducción a los Iteradores (Iterators) en C# 2.0 Print E-mail
Written by Ana Santos y Raúl Arrabales   
Tuesday, 29 January 2008

Introducción a los Iteradores (Iterators) en C# 2.0

Una característica novedosa del lenguaje C# 2.0 usada por CCR son los Iteradores (Iterators), que permiten que en lugar de usar delegados para conseguir el comportamiento asíncrono, el programador pueda reescribir el código de una manera secuencial, dejando que los Arbiters se centren en otras tareas.  Todo esto se puede programar en un único método “iterador”, mejorando la legibilidad del código y manteniendo el comportamiento asíncrono.

Vamos a poner un ejemplo para poder explicar la funcionalidad de los iteradores:


IEnumerator
<ITask> IteratorExample()
{
  int totalSum = 0;
  Port<int> portInt = new PortSet<int>();
  for (int i = 0; i < 10; i++)
  {
      portInt.Post(i);
      yield return Arbiter.Receive<int>(false, portInt,
            delegate(int j){totalSum += j;});
  }
  Console.WriteLine("Total:" + totalSum);
}

Para que las clases admitan la iteración es necesario que implementen el "modelo de enumerador", como podemos ver en el ejemplo (interfaz IEnumerator). Cabe destacar el uso de la palabra clave “yield return”, que permite al programa devolver inmediatamente el control a la instrucción que llamó al iterador, en este caso, un “for”. De forma que la suma (es decir el cuerpo del delegado) se ejecuta en paralelo. Esto se puede ver como una manera de conseguir programación asíncrona.

En el ejemplo anterior, cuando se ejecuta la línea que contiene yield return, devuelve una instancia de la interfaz ITask implementada por ReceirverTask, que ha sido creada cuando llamamos a Arbiter.Receive. El CCR activa la devolución de Task y también asocia el iterador con la tarea. Cuando se ha realizado la tarea, el iterador continúa con la ejecución. De hecho, si el primer parámetro en la llamada a Arbiter.Receive (la persistencia), no es “true”, el Arbiter no seguirá escuchando el puerto indicado.

Las ventajas de usar iteradores proviene de dos características del lenguaje C#:

- Métodos anónimos: permite a los programadores crear bloques de código que se pueden encapsular en un delegado para su posterior ejecución.

- El compilador captura todas las variables locales que actúan dentro del cuerpo del método anónimo. Esto permite que el delegado pueda usar las variables definidas en el método padre, y además pueda comunicar los resultados, ya que siempre está procesando otros hilos, de la iteración.


Información relacionada en: Como usar las nuevas características de C Sharp 2.0

Comparte tus dudas, comentarios o sugerencias en el Foro de Robotics Studio en Español.

 

Be first to comment this article | Add as favourites (39) | Quote this article on your site | Views: 790 | E-mail

Last Updated ( Friday, 01 February 2008 )
 
Entorno de Simulación Visual Print E-mail
Written by Ana Santos y Raúl Arrabales   
Monday, 28 January 2008

Entorno de Simulación Visual de Microsoft Robotics Studio

Uno de los mayores motivos por el que se creó MSRS era acelerar el desarrollo y adopción de la robótica. Gran parte de este esfuerzo está centrado en la simulación. Se ha diseñado una simulación con una alta fidelidad, escalabilidad y visualización, que permite a cualquier persona usarlo como si fuera un juego (ver Figura).

La simulación permite a los desarrolladores experimentar con robots nuevos incluso antes de construirlos físicamente. También se pueden desarrollar aplicaciones para robots existentes y luego probar los resultados en los robots físicos. Además, permite al programador eliminar fallos básicos que se podrán probar con antelación en el entorno virtual.

 Otra característica del simulador de MSRS es que se puede simular exactamente la misma aplicación que se ejecutará en el robot real. Pero la simulación tiene sus límites, ya que el mundo real es complejo y está lleno de imprevistos y de ruido.

El entorno de simulación de MSRS está compuesto de varios módulos:

Simulation Engine Service: responsable del progreso del tiempo en el motor físico de la simulación.

Managed Physics Engine Wrapper: abstrae al programador del nivel bajo del motor físico.

Native Physics Engine Library: permite la aceleración del hardware a través de AGEIA PhysX Technology.

Entities: representa el hardware y los objetos físicos en el mundo simulado. Un gran número de entidades están definidas en MSRS y permiten al usuario crear rápidamente un entorno de simulación.

 

Be first to comment this article | Add as favourites (35) | Quote this article on your site | Views: 880 | E-mail

 
How to be automatically authenticated to the DSS Node Print E-mail
Written by Raúl Arrabales Moreno   
Friday, 25 January 2008

How to be automatically authenticated to the DSS Node?

When you connect to the Robotics Studio GUI with a browser you should be automatuically authenticated to the DSS node. However, sometimes, depending on your settings, you are asked a user and password.

Using MSIE, the credentials are usually sent automatically. However, if you are using any other browser, you would need to provide the username and password of a local user with permission to run the DSS node. If you are joined to a domain, the username has to be written as follows: <domain>/<user>.

If you are using Internet Explorer, and you want to be automatically authenticated, you can try the following settings:

  • On the "Tools" Menu, select "Internet Options"
  • On the "Internet Options" dialog, select the "Security" Tab
  • On the "Security" property sheet, click on the "Local Intranet" zone icon (the globe with a monitor infront of it)
  • Still on the "Security" property sheet, click the "Custom level..." button.
  • In the "Security Settings - Local Intranet Zone" dialog scroll to the bottom of the "Settings" listbox.
  • Change the "User Authentication -> Logon" setting to either of the "Automatic Logon" selections.
  • Select "OK" to close the "Security Settings - Local Intranet Zone" dialog.
  • In the "Security" tab of the "Internet Options" dialog click on the button "Sites..."
  • In the "Local Intranet" dialog Ensure that all three options are selected.
  • In the "Local Intranet" dialog click on the "Advanced..." button.
  • Add the website address "http://localhost" to the zone by entering "http://localhost" in the "Add this Web site to the zone:" text box and then clicking on the "Add" button.
  • Ensure that the "Require server verification (https: ) for all sites in this zone" check box is not checked.
  • Select "OK" three times to close the dialogs.
  • Close all open browser windows.

 

 

 

 

 

 

 

 

If you still have problems, you might need to disable authentication in the DSS node. Follow the instructions at: http://channel9.msdn.com/wiki/default.aspx/Channel9.SecurityFAQ.

 

Be first to comment this article | Add as favourites (41) | Quote this article on your site | Views: 864 | E-mail

 
Toward a Science of Consciousness 2008 Print E-mail
Written by Raúl Arrabales Moreno   
Friday, 25 January 2008

Toward a Science of Consciousness 2008

April 8-12, 2008. Tucson ARIZONA
Tucson Convention Center

The eighth biennial Tucson conference continues an interdisciplinary tradition of intense, far-ranging and rigorous discussions on all approaches to the fundamental issue of how the brain produces conscious experience.


 

Comments (1) | Add as favourites (94) | Quote this article on your site | Views: 1730 | E-mail

Last Updated ( Wednesday, 05 March 2008 )
 
You are not authorised to view this resource.
You need to login.
<< Start < Prev 1 2 3 4 5 6 7 8 9 10 Next > End >>

Results 16 - 20 of 160
 
Top! Top!