Robot humanoide dotado de un gestor de sus recursos físicos y virtuales, procedimientos de utilización y de programación.

Robot humanoide adecuado para ejecutar una pluralidad de comportamientos (130, 1310, 1320) bajo el control de un módulo de gestión integrado a bordo

(120) que comprende un submódulo de gestión (1210) de una pluralidad de recursos (140, 1410, 1420) que pueden estar asignados para la ejecución de dichos comportamientos, estando dicho robot caracterizado por que dicha pluralidad de comportamientos y dicha pluralidad de recursos están organizados cada uno en subconjuntos jerárquicos y por que dicho submódulo de gestión de los recursos es adecuado para ser programado para reservar al menos un recurso que pertenece a al menos un subconjunto de recursos para la ejecución de al menos un comportamiento que pertenece a al menos un subconjunto de comportamientos, pudiendo programarse dicha reserva para ser heredada por dicho subconjunto de comportamientos y/o aplicada a dicho subconjunto de recursos.

Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/EP2011/070684.

Solicitante: Aldebaran Robotics S.A.

Nacionalidad solicitante: Francia.

Dirección: 168 bis - 170 rue Raymond Losserand 75014 Paris FRANCIA.

Inventor/es: MAZEL,ALEXANDRE, HOUSSIN,DAVID, MONCEAUX,JÉRÔME.

Fecha de Publicación: .

Clasificación Internacional de Patentes:

  • SECCION B — TECNICAS INDUSTRIALES DIVERSAS; TRANSPORTES > HERRAMIENTAS MANUALES; HERRAMIENTAS DE MOTOR PORTATILES;... > MANIPULADORES; RECINTOS CON DISPOSITIVOS DE MANIPULACION... > Manipuladores de control programado > B25J9/16 (Controles por programa (control total de una fábrica, es decir, control centralizado de varias máquinas, G05B 19/418))
  • SECCION B — TECNICAS INDUSTRIALES DIVERSAS; TRANSPORTES > VEHICULOS TERRESTRES QUE SE DESPLAZAN DE OTRO MODO... > VEHICULOS DE MOTOR; REMOLQUES (dirección o guiado... > Vehículos caracterizados por medios de propulsión... > B62D57/032 (con una base de sustentación y patas elevadas alternativamente o en un orden determinado; con pies o patines elevados alternativamente o en un orden determinado (B62D 57/024 tiene prioridad))

PDF original: ES-2535273_T3.pdf

 

google+ twitter facebook

Fragmento de la descripción:

Robot humanoide dotado de un gestor de sus recursos físicos y virtuales, procedimientos de utilización y de programación

La presente invención pertenece al campo de los robots humanoides. Más precisamente, se aplica a la gestión de los recursos de dicho robot, principalmente cuando varios usuarios de este robot programan de manera independiente unos comportamientos destinados a ser puestos en práctica por dicho robot.

Puede calificarse a un robot de humanoide a partir del momento en que posee ciertos atributos de aspecto y de funcionalidades del hombre: una cabeza, un tronco, dos brazos, dos manos, dos piernas, dos pies, etc. Junto al aspecto, las funciones que un robot humanoide es capaz de completar dependerán de su capacidad para efectuar movimientos, de hablar y de "razonar". Unos robots humanoides son capaces de marchar, de hacer gestos, con los miembros o con la cabeza. La complejidad de los gestos que son capaces de efectuar se incrementa sin cesar. Unos gestos coordinados entre ellos o coordinados con unas palabras (por ejemplo un brazo levantado, unas palabras amenazantes pronunciadas con un tono ronco), unas señales emitidas por unas partes del robot (principalmente sus LED) pueden ser la expresión de comportamientos del robot que traduce el sus "emociones" (por ejemplo, la cólera). Ciertos robots, principalmente el robot NAO, que es la plataforma en la que se han desarrollado los conceptos y los medios de realización de la presente invención, ofrecen la posibilidad a varios usuarios de desarrollar unos comportamientos de manera independiente uno del otro. Estas posibilidades se mejoraran grandemente con unas herramientas de desarrollo en lenguaje usuario, tales como el programa Chorégraphe. En consecuencia, se plantea el problema de saber cómo asegurar la coherencia de los diferentes comportamientos, programados por unos usuarios diferentes, en el momento de su ejecución, principalmente para evitar los conflictos en la utilización de los recursos materiales y de programación del o de los robots, asegurar la sincronización de la disponibilidad de los recursos que deben utilizarse simultáneamente y generar las prioridades de ejecución de un cierto número de funciones.

Es tradicional en robótica asegurar una protección de los motores e impedir su utilización simultánea por varios comportamientos; es un primer tipo de solución a este problema general de gestión de recursos, pero no se trata en ese caso de una solución general: en particular, este tipo de solución no aporta una respuesta al problema planteado por la sincronización de recursos diferentes, ni al problema de la liberación de los recursos.

Es tradicional para resolver estos problemas de asignación de recursos en el tiempo en otros campos de la tecnología realizar unos mecanismos de optimización en la asignación de los recursos, utilizando principalmente unos algoritmos de tipo de programación lógica por restricciones. Estos algoritmos están adaptados sin embargo a los cálculos de asignación de recursos que no son consumidos inmediatamente porque son ávidos en cuanto a recursos de cálculo. En particular, no se podría utilizar en un robot humanoide dotado de múltiples comportamientos más que para una parte pequeña de éstos.

El documento EP-A1-1 486 3 (Sony Corporation) describe un robot humanoide de ese tipo.

No existe por tanto en la técnica anterior una solución que permita resolver el problema de la asignación de recursos materiales, de programación o de otros tipos a unos procesos independientes. La presente invención resuelve este problema proporcionando una definición jerárquica de los recursos conectada con un mecanismo de resolución local o descentralizado.

Con este fin, la presente invención divulga un robot humanoide adecuado para ejecutar una pluralidad de comportamientos bajo el control de un módulo de gestión integrado a bordo que comprende un submódulo de gestión de una pluralidad de recursos que pueden estar asignados para la ejecución de dichos comportamientos, estando dicho robot caracterizado por que dicha pluralidad de comportamientos y dicha pluralidad de recursos se organizan cada uno en subconjuntos jerárquicos y por que dicho submódulo de gestión de los recursos es adecuado para ser programado para reservar al menos un recurso que pertenece a al menos un subconjunto de recursos para la ejecución de al menos un comportamiento que pertenece a al menos un subconjunto de comportamientos, pudiendo programarse dicha reserva para ser heredada por dicho subconjunto de comportamientos y/o aplicada a dicho subconjunto de recursos.

Ventajosamente, dicho submódulo de gestión de la pluralidad de recursos se programa para responder, cuando un primer comportamiento está en curso de ejecución, a una solicitud de recursos por un segundo comportamiento mediante al menos una de las acciones siguientes: rechazo de la puesta a disposición de dicho recurso a dicho segundo comportamiento, puesta a disposición inmediata de dicho recurso a dicho segundo comportamiento, ejecución de al menos una acción suplementaria, posteriormente puesta a disposición de dicho recurso a dicho segundo comportamiento, puesta en pausa del primer comportamiento en curso de ejecución, posteriormente puesta a disposición de dicho recurso a dicho segundo comportamiento.

Ventajosamente, dicho submódulo de gestión de la pluralidad de recursos se programa para que, cuando se ejecuta la acción de rechazo de puesta a disposición de dicho recurso requerido por dicho segundo comportamiento, dicho

segundo comportamiento ejecute una nueva solicitud de puesta a disposición según una frecuencia predefinida hasta expiración de un período de expiración igualmente predefinido.

Ventajosamente, dicho submódulo de gestión de la pluralidad de recursos se programa para que, cuando al menos dos comportamientos ejecutan una solicitud de puesta a disposición de un mismo recurso, el primero de los al menos dos comportamientos sea prioritario en la reserva de dicho mismo recurso cuando se libera este último.

Ventajosamente, dicho submódulo de gestión de la pluralidad de recursos se programa para que, cuando al menos un comportamiento ejecuta una solicitud de puesta a disposición de al menos dos recursos, dichos al menos dos recursos se reagrupen en un nuevo recurso tratado como recurso único, ordenándose dicho reagrupamiento de manera única para todos los comportamientos que ejecutan unas solicitudes de recursos idénticas.

Ventajosamente, dicho submódulo de gestión de la pluralidad de recursos se programa para que, cuando un comportamiento padre reserva al menos un recurso sin utilizarlo, dicho al menos un recurso pueda utilizarse por parte de un comportamiento hijo de dicho comportamiento padre.

Ventajosamente, dicho submódulo de gestión de la pluralidad de recursos se programa para que, cuando un primer comportamiento hijo utiliza un recurso reservado por dicho comportamiento padre, un segundo comportamiento hijo del mismo padre deba, para poder utilizar dicho recurso, efectuar una solicitud de puesta a disposición de dicho recurso ante el primer comportamiento hijo.

Ventajosamente, dicho submódulo de gestión de la pluralidad de recursos se programa para que, cuando un comportamiento padre libera un recurso del que tiene la reserva, dicho recurso deba liberarse por todo comportamiento hijo de dicho padre.

Ventajosamente, dicho submódulo de gestión de la pluralidad de recursos se programa para, cuando un subconjunto de recursos tiene una disponibilidad reducida, realizar una reserva de dichos recursos para un comportamiento virtual definido en función de dicha reducción de disponibilidad.

Ventajosamente, dicho submódulo de gestión de la pluralidad de recursos se programa para liberar... [Seguir leyendo]

 


Reivindicaciones:

1. Robot humanoide adecuado para ejecutar una pluralidad de comportamientos (13, 131, 132) bajo el control de un módulo de gestión integrado a bordo (12) que comprende un submódulo de gestión (121) de una pluralidad de recursos (14, 141, 142) que pueden estar asignados para la ejecución de dichos comportamientos, estando dicho robot caracterizado por que dicha pluralidad de comportamientos y dicha pluralidad de recursos están organizados cada uno en subconjuntos jerárquicos y por que dicho submódulo de gestión de los recursos es adecuado para ser programado para reservar al menos un recurso que pertenece a al menos un subconjunto de recursos para la ejecución de al menos un comportamiento que pertenece a al menos un subconjunto de comportamientos, pudiendo programarse dicha reserva para ser heredada por dicho subconjunto de comportamientos y/o aplicada a dicho subconjunto de recursos.

2. Robot humanoide según la reivindicación 1, caracterizado por que dicho submódulo de gestión de la pluralidad de recursos está programado para responder, cuando un primer comportamiento está en curso de ejecución, a una solicitud de recurso por un segundo comportamiento mediante al menos una de las acciones siguientes: rechazo de puesta a disposición de dicho recurso a dicho segundo comportamiento, puesta a disposición inmediata de dicho recurso a dicho segundo comportamiento, ejecución de al menos una acción suplementaria, posteriormente puesta a disposición de dicho recurso a dicho segundo comportamiento, puesta en pausa del primer comportamiento en curso de ejecución, posteriormente puesta a disposición de dicho recurso a dicho segundo comportamiento.

3. Robot humanoide según la reivindicación 2, caracterizado por que dicho submódulo de gestión de la pluralidad de recursos está programado para que, cuando se ejecuta la acción de rechazo de puesta a disposición de dicho recurso requerido por dicho segundo comportamiento, dicho segundo comportamiento ejecute una nueva solicitud de puesta a disposición según una frecuencia predefinida hasta expiración de un período de expiración igualmente predefinido.

4. Robot humanoide según una de las reivindicaciones 1 a 3, caracterizado por que dicho submódulo de gestión de la pluralidad de recursos está programado para que, cuando al menos dos comportamientos ejecutan una solicitud de puesta a disposición de un mismo recurso, el primero de los al menos dos comportamientos sea prioritario en la reserva de dicho mismo recurso cuando se libera este último.

5. Robot humanoide según una de las reivindicaciones 1 a 4, caracterizado por que dicho submódulo de gestión de la pluralidad de recursos está programado para que, cuando al menos un comportamiento ejecuta una solicitud de puesta a disposición de al menos dos recursos, dichos al menos dos recursos se reagrupen en un nuevo recurso tratado como recurso único, ordenándose dicho reagrupamiento de manera única para todos los comportamientos que ejecutan solicitudes de recursos idénticas.

6. Robot humanoide según una de las reivindicaciones 1 a 5, caracterizado por que dicho submódulo de gestión de la pluralidad de recursos está programado para que, cuando un comportamiento padre reserva al menos un recurso sin utilizarlo, dicho al menos un recurso pueda utilizarse por parte de un comportamiento hijo de dicho comportamiento padre.

7. Robot humanoide según la reivindicación 6, caracterizado por que dicho submódulo de gestión de la pluralidad de recursos está programado para que, cuando un primer comportamiento hijo utiliza un recurso reservado por dicho comportamiento padre, un segundo comportamiento hijo del mismo padre deba, para poder utilizar dicho recurso, efectuar una solicitud de puesta a disposición de dicho recurso ante el primer comportamiento hijo.

8. Robot humanoide según una de las reivindicaciones 6 a 7, caracterizado por que dicho submódulo de gestión de la pluralidad de recursos está programado para que, cuando un comportamiento padre libera un recurso del que tiene la reserva, dicho recurso deba liberarse por todo comportamiento hijo de dicho padre.

9. Robot humanoide según una de las reivindicaciones 1 a 8, caracterizado por que dicho submódulo de gestión de la pluralidad de recursos está programado para, cuando un subconjunto de recursos tiene una disponibilidad reducida, realizar una reserva de dichos recursos para un comportamiento virtual definido en función de dicha reducción de disponibilidad.

1. Robot humanoide según la reivindicación 9, caracterizado por que dicho submódulo de gestión de la pluralidad de recursos está programado para liberar dicha reserva en función de la evolución del estado de dicha reducción de disponibilidad.

11. Robot humanoide según una de las reivindicaciones 1 a 1, caracterizado por que la pluralidad de recursos comprende al menos una variable de estado, debiendo estar dicha al menos una variable en un estado predefinido para ser reservada, siendo necesaria dicha reserva para la ejecución de al menos un comportamiento.

12. Robot humanoide según una de las reivindicaciones 1 a 11, caracterizado por que la pluralidad de recursos comprende al menos un recurso acumulativo y por que una tasa de utilización de este se asigna a los

comportamientos programados para utilizar dicho al menos un recurso.

13. Robot humanoide según una de las reivindicaciones 1 a 12, caracterizado por que la pluralidad de recursos comprende al menos un recurso esencial y un recurso no esencial, no pudiéndose ejecutar ningún comportamiento que deba acudir a al menos un recurso esencial si dicho recurso esencial no está disponible y pudiéndose ejecutar si debe acudir a dicho al menos un recurso no esencial, incluso si este no está disponible.

14. Procedimiento de gestión de los recursos de un robot humanoide adecuado para ejecutar una pluralidad de comportamientos (13, 131, 132) bajo el control de un módulo de gestión integrado a bordo (12), comprendiendo dicho procedimiento una etapa de reserva de una pluralidad de recursos (14, 141, 142) que pueden asignarse para la ejecución de dichos comportamientos, estando dicho procedimiento caracterizado por que dicha pluralidad de comportamientos y dicha pluralidad de recursos están organizanados cada uno en subconjuntos jerárquicos y por que dicha etapa de reserva asigna al menos un recurso que pertenece a al menos un subconjunto de recursos para la ejecución de al menos un comportamiento que pertenece a al menos un subconjunto de comportamientos, pudiendo programarse dicha reserva para ser heredada por dicho subconjunto de comportamientos y/o aplicada a dicho subconjunto de recursos.

15. Programa de ordenador que comprende unas instrucciones de código de programa que permiten la ejecución de un procedimiento según la reivindicación 14 cuando el programa se ejecuta en un ordenador, estando adaptado dicho programa para permitir la gestión de los recursos de un robot humanoide adecuado para ejecutar una pluralidad de comportamientos (13, 131, 132) bajo el control de un subprograma de gestión integrado a bordo (12), comprendiendo dicho subprograma un módulo (121) adecuado para ejecutar una función de reserva de una pluralidad de recursos (14, 141, 142) que pueden asignarse para la ejecución de dichos comportamientos, estando dicho programa caracterizado por que dicha pluralidad de comportamientos y dicha pluralidad de recursos están organizados cada uno en subconjuntos jerárquicos y por que dicha función de reserva asigna al menos un recurso que pertenece a al menos un subconjunto de recursos para la ejecución de al menos un comportamiento que pertenece a al menos un subconjunto de comportamientos, pudiendo programarse dicha reserva para ser heredada por dicho subconjunto de comportamientos y/o aplicada a dicho subconjunto de recursos.

16. Programa de ordenador según la reivindicación 15, caracterizado por que dichos subconjuntos de comportamientos y de recursos se definen como clases de objetos.

17. Procedimiento de desarrollo de un módulo de gestión (161) de los recursos de un robot humanoide adecuado para ejecutar una pluralidad de comportamientos (13, 131, 132) bajo el control de un subprograma de gestión integrado a bordo (12), siendo adecuado dicho subprograma para ejecutar una función de reserva de una pluralidad de recursos (14, 141, 142) que pueden asignarse para la ejecución de dichos comportamientos, estando dicho procedimiento caracterizado por que dicha pluralidad de comportamientos y dicha pluralidad de recursos están organizados cada uno en subconjuntos jerárquicos y por que dicha función de reserva asigna al menos un recurso que pertenece a al menos un subconjunto de recursos para la ejecución de al menos un comportamiento que pertenece a al menos un subconjunto de comportamientos, pudiendo programarse dicha reserva para ser heredada por dicho subconjunto de comportamientos y/o aplicada a dicho subconjunto de recursos.

18. Programa de ordenador que comprende unas instrucciones de código de programa que permiten la ejecución del procedimiento según la reivindicación 17 cuando el programa se ejecuta en un ordenador, estando adaptado dicho programa para permitir, mediante la interacción con un módulo remoto de gestión (161) de los recursos de un robot humanoide adecuado para ejecutar una pluralidad de comportamientos (13, 131, 132), la parametrización de un subprograma de gestión integrado a bordo (12) de dicho robot, comprendiendo dicho subprograma un módulo (121) adecuado para ejecutar una función de reserva de una pluralidad de recursos (14, 141, 142) que pueden asignarse para la ejecución de dichos comportamientos, estando dicho programa caracterizado por que dicha pluralidad de comportamientos y dicha pluralidad de recursos están organizados cada uno en subconjuntos jerárquicos y por que dicha función de reserva asigna al menos un recurso que pertenece a al menos un subconjunto de recursos para la ejecución de al menos un comportamiento que pertenece a al menos un subconjunto de comportamientos, pudiendo programarse dicha reserva para ser heredada por dicho subconjunto de comportamientos y/o aplicada a dicho subconjunto de recursos.