ES2454554T3 - Robot humanoide con capacidades de gestión de caídas y procedimiento de gestión de dichas caídas - Google Patents

Robot humanoide con capacidades de gestión de caídas y procedimiento de gestión de dichas caídas Download PDF

Info

Publication number
ES2454554T3
ES2454554T3 ES11741576.0T ES11741576T ES2454554T3 ES 2454554 T3 ES2454554 T3 ES 2454554T3 ES 11741576 T ES11741576 T ES 11741576T ES 2454554 T3 ES2454554 T3 ES 2454554T3
Authority
ES
Spain
Prior art keywords
robot
polygon
fall
module
mass
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES11741576.0T
Other languages
English (en)
Inventor
David Gouaillier
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Softbank Robotics SAS
Original Assignee
Aldebaran Robotics SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aldebaran Robotics SA filed Critical Aldebaran Robotics SA
Application granted granted Critical
Publication of ES2454554T3 publication Critical patent/ES2454554T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D57/00Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
    • B62D57/02Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
    • B62D57/032Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/01Mobile robot

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Robotics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

Robot humanoide capaz de desplazarse sobre una superficie que comprende al menos un módulo de detección del contacto de al menos un primer extremo del robot (110a, 110b, 110c) con dicha superficie y un módulo de cálculo de la posición (120b, 120d, 120f) del punto de proyección del centro de masa de dicho robot con respecto a un primer polígono de sustentación (110b, 110d, 110f) constituido al menos por dicho al menos un primer extremo, estando dicho robot caracterizado porque comprende, además, al menos un módulo de detección de la proximidad de al menos un segundo extremo (120a, 120b, 120c, 320, 330, 340, 350) de dicho robot con dicha superficie, y porque dicho módulo de cálculo de la posición del punto de proyección del centro de masa de dicho robot con respecto a un primer polígono de sustentación está también capacitado para calcular la posición de la proyección del centro de masa de dicho robot con respecto a un segundo polígono de sustentación (530a, 530b, 530c), deduciéndose dicho segundo polígono del primer polígono al añadir a este los puntos de proyección sobre dicha superficie de dichos segundos extremos de dicho robot que pertenecen al grupo de los extremos detectados como casi en contacto con dicha superficie.

Description

Robot humanoide con capacidades de gestión de caídas y procedimiento de gestión de dichas caídas
La presente invención pertenece al campo de los robots humanoides. Específicamente, se aplica a la gestión de caídas de dicho robot, siendo este último un evento particularmente perjudicial para el desarrollo de las aplicaciones de estos robots.
Un robot puede calificarse como humanoide desde el momento en que posee algunos atributos de aspecto y funcionalidad humanos: una cabeza, un tronco, dos brazos, dos manos, dos piernas, dos pies…Más allá del aspecto, las funciones que un robot humanoide puede realizar dependerán de su capacidad para efectuar movimientos, para hablar y “razonar”. Los robots humanoides pueden caminar, gesticular, con los miembros o con la cabeza. La complejidad de los gestos que pueden efectuar aumenta sin cesar. Sin embargo, los robots siguen siendo frágiles, particularmente por los motores de sus articulaciones. Esta fragilidad es un obstáculo importante para el desarrollo de aplicaciones para el usuario común. De hecho, en el contexto de estas aplicaciones, es particularmente perjudicial tener que enfrentarse a casos en los que se producen roturas o fallos debidos a caídas repetidas, ya que sería necesario que los productores y distribuidores de robots humanoides desplegasen un servicio postventa de importancia desproporcionada con la primera venta, lo que supondría un coste inaceptable para los usuarios comunes.
Una primera estrategia que puede aplicarse a los robots humanoides con capacidad de marcha para minimizar el riesgo de caídas, es garantizar que dicha marcha es suficientemente estable. Un medio muy utilizado para hacer esto es regular la trayectoria del robot de tal manera que el Punto de Momento Cero (ZMP) (es decir, el punto en el suelo donde el momento del eje de rodamiento y el momento del eje de acimut son cero) esté incluido en el polígono de sustentación del robot (es decir, en el caso de un robot andador, si este último se tiene sobre un pie, el polígono de sustentación tendrá la forma de ese pie. Si se tiene sobre los dos pies, la superficie de ese polígono será la de los dos pies, más la superficie interpodal). Sin embargo, esta estrategia no es suficiente para garantizar la estabilidad del robot en todas las condiciones, particularmente en los casos en los que el robot deba desplazarse sobre un terreno accidentado, efectuar movimientos que limiten su equilibrio o encajar golpes provocados por terceros.
Las soluciones convencionales a este problema utilizan principios comunes que consisten en verificar que la proyección del centro de masa del robot sobre la superficie de desplazamiento permanece incluida en el polígono de sustentación del robot después, en caso de salida del mismo centro de masa de dicho polígono, de determinar la mejor postura de caída en función del ángulo de salida de dicho polígono. Estas soluciones funcionan bien en el caso simple de un robot estático con sensores que permiten determinar sin ambigüedades que el robot está en posición de caída. No así en el caso de los robots en marcha, particularmente cuando dichos sensores de detección de caídas pueden confundir un gesto normal incluido en la trayectoria de marcha y el inicio de una caída. De hecho, en este caso, los mecanismos de protección contra caídas se activarán de manera inoportuna mientras que no hay necesidad de interrumpir el trayecto normal de las actividades del robot.
La presente invención resuelve este problema proporcionando medios que permiten discriminar con mayor precisión los casos donde es realmente necesario aplicar mecanismos de protección del robot adecuados contra las caídas. Esta discriminación se realiza definiendo un polígono de sustentación virtual, derivado del polígono físico añadiéndole puntos que estén casi en contacto con la superficie de progresión.
Para esta finalidad, la presente invención divulga un robot humanoide que puede desplazarse sobre una superficie que comprende al menos un módulo de detección de contacto de al menos un primer extremo del robot con dicha superficie y un módulo de cálculo de la posición del punto de proyección del centro de masa de dicho robot con respecto a un primer polígono de sustentación constituido al menos por dicho al menos un primer extremo, caracterizándose dicho robot porque adicionalmente comprende al menos un módulo de detección de la proximidad de al menos un segundo extremo de dicho robot con dicha superficie, y porque dicho módulo de cálculo de la posición del punto de proyección del centro de masa de dicho robot con respecto a un primer polígono de sustentación es también adecuado para calcular la posición de la proyección del centro de masa de dicho robot con respecto a un segundo polígono de sustentación, deduciéndose dicho segundo polígono del primer polígono añadiéndole al mismo los puntos de proyección sobre dicha superficie de dichos segundos extremos de dicho robot que pertenecen al grupo de extremos detectados como casi en contacto con dicha superficie.
Ventajosamente, el módulo de detección de la proximidad de dicho al menos un segundo extremo con dicha superficie recibe en la entrada la posición de dicho al menos un segundo extremo con respecto a dicha superficie, estando dicha posición provista en la salida de un modelo geométrico del robot que comprende al menos la posición espacial de dicho extremo en un sistema de referencia del robot.
Ventajosamente, la condición según la cual un segundo extremo del robot está casi en contacto con dicha superficie se caracteriza por un umbral de distancia seleccionado en función de criterios que pertenecen a un grupo de criterios que comprenden al menos el tamaño del robot y el desplazamiento máximo en altura de sus miembros inferiores.
Ventajosamente, dicho al menos un primer extremo es uno de los pies del robot, estando dicho pie provisto de al menos un sensor de fuerza de presión.
Ventajosamente, dicho al menos un segundo extremo es una de las manos del robot.
Ventajosamente, el robot de la invención comprende adicionalmente, en la entrada de dicho módulo de cálculo de la posición del punto de proyección del centro de masa de dicho robot con respecto a un polígono de sustentación, un módulo de filtrado de posturas del robot por comparación según un criterio predefinido de distancia entre sus modelos geométricos y los modelos geométricos de posturas de referencia.
Ventajosamente, el robot de la invención comprende adicionalmente una central inercial que proporciona al módulo de cálculo de la posición del punto de proyección del centro de masa de dicho robot un eje vertical cuyo ángulo con el eje une el tórax y uno de los pies del robot en contacto con el suelo provisto de un ángulo de rotación a aplicar en el eje de proyección del centro de masa del robot.
Ventajosamente, el robot de la invención comprende adicionalmente, en la salida de dicho módulo de cálculo de la posición del punto de proyección del centro de masa de dicho robot con respecto a un polígono de sustentación, un módulo de control de un grupo de acciones de protección contra las caídas, activándose una al menos de dichas acciones cuando dicho módulo de cálculo proporciona al menos una salida característica de un estado de caída del robot en la cual el punto de proyección de su centro de masa es exterior al segundo polígono de sustentación.
Ventajosamente, el grupo de acciones de protección comprende al menos el corte del servomotor de las articulaciones de las piernas del robot, la colocación en postura de protección de al menos un elemento que pertenecen al grupo que comprende al menos la cabeza, los brazos y la pelvis, el corte de las articulaciones de al menos un elemento que pertenece a dicho grupo.
Ventajosamente, dicho módulo de cálculo proporciona adicionalmente al módulo de control del grupo de acciones de protección contra las caídas, para un estado característico de caída del robot, un ángulo característico de la dirección de caída en un sistema de referencia de robot, determinando el valor de dicho ángulo de caída con respecto a los valores de referencia seleccionados la elección de las acciones de protección del grupo de acciones de protección contra las caídas a ejecutar.
Ventajosamente, cuando el ángulo de caída determina una caída hacia delante, la postura de protección de la cabeza consiste en echarla sustancialmente hacia atrás, la postura de protección de los brazos consiste en colocarlos sustancialmente hacia delante y la postura de protección de la pelvis consiste en cerrarla.
Ventajosamente, cuando el ángulo de caída determina una caída hacia la izquierda o hacia la derecha, la postura de protección de la cabeza consiste en colocarla sustancialmente hacia delante, la postura de protección de los brazos consiste en reagruparlos sustancialmente hacia el cuerpo y la postura de protección de la pelvis consiste en abrirla.
Ventajosamente, cuando el ángulo de caída determina una caída hacia atrás, la postura de protección de la cabeza consiste en colocarla sustancialmente hacia delante, la postura de protección de los brazos consiste en llevarlos sustancialmente hacia atrás y la postura de colocación de la pelvis consiste en cerrarla.
La invención también divulga un procedimiento de gestión de caídas de un robot humanoide capaz de desplazarse sobre una superficie que comprende al menos un módulo de detección del contacto de al menos un primer extremo del robot con dicha superficie, comprendiendo dicho procedimiento una etapa de cálculo de la posición del punto de proyección del centro de masa de dicho robot con respecto a un primer polígono de sustentación constituido al menos por dicho al menos un primer extremo y caracterizándose porque comprende adicionalmente al menos una etapa de detección de la proximidad de al menos un segundo extremo de dicho robot con dicha superficie y una etapa de cálculo de la posición de la proyección del centro de masa de dicho robot con respecto a un segundo polígono de sustentación, deduciéndose dicho segundo polígono del primer polígono al añadir a este los puntos de proyección sobre dicha superficie de dichos segundos extremos de dicho robot que pertenecen al grupo de los extremos detectados como casi en contacto con dicha superficie.
La invención también divulga un programa de ordenador que comprende instrucciones de código de programa que permiten la ejecución del procedimiento cuando el programa se ejecuta en un ordenador, estando dicho programa adaptado para permitir la gestión de las caídas de un robot humanoide capaz de desplazarse sobre una superficie y que comprende al menos un módulo de detección del contacto de al menos un primer extremo del robot con dicha superficie, comprendiendo dicho programa un módulo de cálculo de la posición del punto de proyección del centro de masa de dicho robot con respecto a un primer polígono de sustentación y caracterizándose porque comprende adicionalmente al menos un módulo de entrada de datos de detección de la proximidad de al menos un segundo extremo de dicho robot con dicha superficie y un módulo de cálculo de la posición de la proyección del centro de masa de dicho robot con respecto a un segundo polígono de sustentación, deduciéndose dicho segundo polígono del primer polígono al añadir a este los puntos de proyección sobre dicha superficie de dichos segundos extremos de dicho robot que pertenecen al grupo de los extremos detectados como casi en contacto con dicha superficie.
El algoritmo de la invención presenta adicionalmente la ventaja de utilizar solo ecuaciones de primer grado y de ser en consecuencia mucho menos exigente en cuanto a recursos de cálculo en el estado de la detección de las caídas que las soluciones de la técnica anterior.
La solución puede combinarse ventajosamente con un filtrado previo de posturas aceptables que podrían 5 considerarse erróneamente como posturas de caída, lo que aumenta aún la eficacia calculadora de la invención.
Además, según la invención, se aplicará, en caso de detección de una situación de caída, una solución de protección seleccionada en función de criterios particularmente simples, conduciendo también esta simplicidad a una eficacia calculadora que es indispensable en el caso de robots humanoides multifuncionales que deberán poder conservar los recursos disponibles para llevar a cabo todas las funciones. Del mismo modo se constata que los
10 modos de gestión de caída de la invención se combinan particularmente bien con los modos de gestión de averías (averías de motor, eléctricas) en las que los robots deben ponerse en posición de protección.
La invención se comprenderá mejor y sus diferentes características y ventajas surgirán a partir de la siguiente descripción de los diversos ejemplos de realización y de las figuras adjuntas en las que:
-
Las figuras 1a, 1b, 1c, 1d, 1e y 1f ilustran el principio de cálculo de predicción de caídas de un robot según la 15 técnica anterior;
-
La figura 2 es un esquema del principio del cálculo de un modo de gestión de caídas de un robot según la técnica anterior,
-
La figura 3 es un esquema que ilustra el posicionamiento de sensores de contacto con el suelo de partes del cuerpo de un robot humanoide en diversos modos de realización de la invención;
20 -La figura 4 ilustra un modelo geométrico directo utilizado para calcular la posición en diversos sistemas de referencia del robot de puntos característicos del robot en diversos modos de realización de la invención;
-
Las figuras 5a, 5b y 5c ilustran el principio de cálculo de predicción de caídas de un robot en diversos modos de realización de la invención;
-
La figura 6 es un organigrama de tratamientos a realizar para determinar un polígono de sustentación virtual del 25 robot en diversos modos de realización de la invención;
- La figura 7 ilustra la postura de un robot humanoide que debe tenerse en cuenta para determinar de manera pertinente la proyección del centro de masa de un robot humanoide sobre su plano de progresión en diversos modos de realización de la invención;
-
La figura 8 es un organigrama de tratamientos a realizar para determinar la proyección del centro de masa de un 30 robot humanoide sobre su plano de progresión en diversos modos de realización de la invención;
-
Las figuras 9a a 9i ilustran diversas posturas del robot que pueden filtrarse antes de detectar las condiciones de realización de una caída del robot en diversos modos de realización de la invención;
-
La figura 10 es un organigrama de tratamientos a realizar para caracterizar la postura del robot en un conjunto de posiciones posibles;
35 -La figura 11 es un organigrama de tratamientos a realizar para controlar la postura del robot de manera que se minimicen las consecuencias de una caída en diversos modos de realización de la invención;
-
La figura 12 ilustra el principio de determinación de modalidades de elección de las acciones a realizar para minimizar las consecuencias de una caída en diversos modos de realización de la invención;
-
Las figuras 13a, 13b y 13c son ejemplos de posturas seleccionadas para minimizar las consecuencias de una 40 caída en diversos modos de realización de la invención;
-
La figura 14 es un esquema de una arquitectura física y funcional que permite la implementación de la invención en varios de sus modos de realización.
Las Figuras 1a, 1b, 1c, 1d, 1e y 1f ilustran el principio de cálculo de predicción de caídas de un robot según la técnica anterior.
45 La estabilidad de un sólido apoyado en el suelo se determina clásicamente por la posición de la proyección de su centro de masa en el suelo con respecto a su polígono de sustentación en el suelo.
En el caso de un robot humanoide provisto de pies que se mantiene de pie, como se ilustra en las figuras 1a, 1c y 1e, el polígono de sustentación se determina por la reunión de las superficies de las plantas de los pies y de la superficie interpodal. Los polígonos de sustentación corresponden a las posturas de los robot ilustrados en las 50 figuras 1a, 1c y 1e se ilustran respectivamente por las figuras 1b, 1d y 1f. En estos tres casos, caracterizados por el hecho de que uno de los pies del robot no está en contacto completo con la superficie de progresión del robot, se ilustra uno de los problemas de la solución de la técnica anterior: el polígono de sustentación se reduce a la superficie de la planta de uno de los pies del robot, estando el segundo pie en movimiento. En el caso de las figuras 1a y 1b, el robot anda: el pie 110a se apoya en el suelo pero el pie 120a está en suspensión antes de reposar sobre 55 el suelo. Si la posición de los pies con respecto al suelo está clásicamente determinada por sensores de presión posicionados sobre la planta de los pies del robot, el polígono de sustentación, 110b, se reduce a la planta del pie 110a, que es la única que está en contacto con el suelo. La marcha es un fenómeno dinámico que garantiza que el ZMP esté siempre en el polígono de sustentación del robot, pero la marcha no garantiza que el centro de masa esté en dicho polígono. Por ejemplo, el centro de masa del robot puede proyectarse al punto, 120b, que se sitúa en el 60 exterior del polígono 110b. Si la detección de una caída depende simplemente del posicionamiento relativo del punto
120b en el exterior del polígono 110b, el mecanismo de gestión de caídas podrá activarse a cada paso y el robot no podrá andar.
La proyección del centro de masa 120b, 120f también estará en el exterior del polígono de sustentación 110d, 110f en los casos ilustrados por las figuras 1c, 1d, 1e y 1f. En efecto, en este caso, el robot tiene una postura en la que uno de los pies 120c no está en contacto con el suelo y los sensores de presión de este pie liberan una información de ausencia de contacto con el suelo, por lo que la totalidad de los sensores no está en contacto con el suelo, incluso si el pie está parcialmente en contacto, lo que activaría una detección de caída.
En el caso ilustrado en las figuras 1e y 1f, NAO va a sentarse. Los dos pies están bien en contacto con el suelo y el robot va a bascular/caer hacia atrás pero esta caída es voluntaria y la mano derecha, 130e, va a frenar esta caída y a garantizar que el robot no caiga completamente. En estos tres casos por tanto, se activará una detección de caída de manera involuntaria.
La presente invención resuelve este inconveniente de la técnica anterior.
La figura 2 es un esquema del principio de cálculo de un modo de gestión de caídas de un robot según la técnica anterior.
Según la técnica anterior, una vez detectada una condición de caída según el principio descrito anteriormente en relación con las figuras 1a a 1f, se realizan estrategias de gestión de caída con objeto de minimizar los daños eventuales al robot, particularmente protegiendo las partes sensibles, que pueden ser diferentes según su estructura.
En Fujiwara et al, “Falling Motion Control to Minimize Damage to Biped Humanoïd Robot” y The First Human-size Humanoïd that can Fall Over Safely and Stand-up Again », Proceedings of the IEEE/RSJ, Intl. Conference on Intelligent Robots and Systems, EPFL, Lausana, Suiza, octubre de 2002 y Las Vegas, Nevada, octubre de 2003, se describen mecanismos de gestión de caídas de la técnica anterior. Estos mecanismos utilizan las medidas de inclinación θ del eje vertical del robot con respecto a la vertical con respecto al suelo y la velocidad VCdM del centro de masa del robot para predecir la parte del robot que tocará el suelo la primera. Estas medidas se efectúan de manera dinámica modelizando los movimientos del robot por un péndulo inverso que oscila con respecto a la vertical al suelo. Los cálculos efectuados son particularmente exigentes en cuanto a fuerza de cálculo, lo que limita la posibilidad de utilizarlos en robots cuyas capacidades de cálculo están afectadas de manera privilegiada debido a tareas permanentes, tales como la gestión de movimientos de articulaciones y de sensores de medio, o labores de uso, tales como la gestión del habla y los comportamientos.
La presente invención permite superar esta limitación.
La figura 3 ilustra arquitectura física de un robot humanoide en un modo de realización de la invención. Dicho robot se ha divulgado particularmente en la solicitud de patente WO2009/124951 publicada el 15 del 10 del 2009. Esta plataforma ha servido de base a mejoras que han conducido a la presente invención. En la siguiente descripción, este robot humanoide puede denominarse indiferentemente con esta apelación genérica o con su marca comercial NAO™, sin que la generalidad de la referencia sea modificada. Este robot comprende aproximadamente dos docenas de tarjetas electrónicas de control de sensores y de accionadores que controlan las articulaciones. Una articulación tiene normalmente al menos dos grados de libertad y por tanto dos motores. Cada motor está controlado en ángulo. La articulación también comprende varios sensores de posición, particularmente MRE (Magnetic Rotary Encoder). La tarjeta electrónica de control comprende un microcontrolador comercial. Este puede ser, por ejemplo, un DSPIC™ de la sociedad Microchip. Es un MCU de 16 bits acoplado a un DSP. Este MCU tiene un ciclo de servomotor en bucle de un ms. El robot también puede comprender otros tipos de accionadores, particularmente LED (Diodos electroluminiscentes) cuyo color e intensidad pueden traducir las emociones del robot. Este también puede comprender otros tipos de sensores de posición, particularmente una central inercial, FSR (sensores de presión de suelo). Estos FSR, 310, son particularmente útiles para realizar la presente invención. En este contexto se utilizan para detectar el contacto de cada uno de los pies con el suelo o cualquier otra superficie de progresión del robot. Pueden utilizarse en este caso, por ejemplo, sensores de la marca FlexiForce™ de la sociedad Tekscan™ que están constituidos por una cinta de al menos dos capas de material flexible piezorresistivo. La resistencia eléctrica de la cinta disminuye en función de la fuerza de presión vertical aplicada a la superficie sobre la cual se dispone la cinta. La medición de corriente permite determinar la fuerza de presión después de la calibración. Ventajosamente, en la planta de cada pie, están previstos diversos sensores, por ejemplo cuatro.
La cabeza comprende la inteligencia del robot, particularmente la tarjeta que ejecuta las funciones de alto nivel que permiten al robot realizar las misiones que le son asignadas. El procesador de la tarjeta puede ser un procesador x86 comercial. Se seleccionará de manera privilegiada un procesador de bajo consumo tal como el Geode™ de la sociedad AMD (32 bits, 500 MHz). La tarjeta también comprende un conjunto de memorias RAM y flash. Esta tarjeta también controla las comunicaciones del robot con el exterior (servidor de comportamiento, otros robots…), normalmente sobre una capa de transmisión WiFi, WiMax, eventualmente sobre una red pública de comunicaciones móviles de datos con protocolos estándar eventualmente encapsulados en una VPN. El procesador normalmente se controla con un OS estándar que permite utilizar idiomas de alto nivel normales (C, C++, Python,...) o idiomas
específicos de inteligencia artificial como URBI (lenguaje de programación especializado en robótica), para la programación de funciones de alto nivel.
En el tronco del robot se encuentra otra tarjeta. En ella se dispone el calculador que garantiza la transmisión a las tarjetas de control de las articulaciones de las órdenes calculadas por la tarjeta de la cabeza. El calculador de esta tarjeta también es un procesador comercial. Ventajosamente puede ser un procesador de 32 bits de tipo ARM 9™ temporizado a 100 MHz. El tipo de procesador, su posición central, próxima al botón de marcha/parada, su conexión al control de alimentación constituyen una herramienta bien adaptada para la gestión de alimentación del robot (modo vigilia, parada de urgencia,…). La tarjeta también comprende un conjunto de memorias RAM y flash.
Como se explica a continuación en referencia a la figura 4, se puede calcular la posición de unos puntos característicos del robot, llamados efectores, en un sistema de referencia del robot. Estos efectores pueden ser, por ejemplo, puntos de la parte trasera del robot, 320, las articulaciones de los codos, 330, las articulaciones de los hombros, 340, o las articulaciones de los dedos, 350. Por ello, los cálculos de este modelo geométrico directo se pueden utilizar como medio de detección de la proximidad al suelo de dichos efectores, seleccionando un umbral en función de la morfología del robot.
La figura 4 ilustra un modelo geométrico directo utilizado para calcular la posición en varios sistemas de referencia del robot de puntos característicos del robot en varios modos de realización de la invención.
En un instante dado, el sistema central de robot conoce los ángulos de cada una de las articulaciones del robot. Como consecuencia, la posición relativa de cada articulación con respecto a todas las demás se puede calcular fácilmente, puesto que se trata de hecho de una cadena articulada de la que están determinados y se conocen todos los grados de libertad. Para calcular fácilmente la posición de un punto b en el sistema de referencia de otro punto a, se utilizan unas matrices de tamaño 4x4 denominadas matrices de transformación homogénea del tipo aHb que están compuestas por una matriz de rotación de tamaño 3x3 y por una matriz de traslación de tamaño 3x1. Las matrices de transformación homogénea tienen, en particular, las siguientes propiedades:
-
son invertibles, y aHb-1 es igual a bHa; -aHb x bHc = aHc.
Se utiliza por lo general la referencia del torso, 400, como punto principal de referencia del robot. Las posiciones de las manos izquierda y derecha (respectivamente 410, 420) y de los pies izquierdo y derecho (respectivamente 430,
0H2, 0H3,
440) en este sistema de referencia vienen dadas por las matrices 0H1, 0H4. Los ángulos de rotación vienen dados por los ángulos de los motores de las articulaciones y las distancias de traslación por las distancias entre las articulaciones.
Para calcular la posición de la mano izquierda 410 con respecto al suelo, es decir en la configuración de la figura 4, con respecto al pie derecho 440, es preciso por lo tanto calcular la matriz 4H1. Si se aplican las fórmulas anteriores, se deduce mediante una inversión y una multiplicación matriciales que:
4H1 = 0H4-1 x 0H1.
Este método se puede utilizar para calcular la posición de cualquier punto del robot en un sistema de referencia absoluto, en particular de cualquier efector como los situados en la figura 3 en las referencias 320 (nalgas), 330 (codos), 340 (hombros) y 350 (dedos).
Las figuras 5a, 5b y 5c ilustran el principio de cálculo de predicción de las caídas de un robot en varios modos de realización de la invención.
El principio de la invención consiste en calcular un polígono de sustentación virtual o previsto que tiene en cuenta los efectores próximos al suelo que normalmente podrán, por lo tanto, garantizar la estabilidad del robot.
Los polígonos 510a, 510b y 510c corresponden respectivamente a los polígonos 110b, 110d y 110f de las figuras 1b, 1d y 1f. Mediante los medios que se exponen a continuación en referencia a la figura 6, se determina que el segundo pie 120a 120c cuyos sensores de fuerza de presión han indicado que no estaba en posición de contacto con el suelo, y la mano 130e estaba en realidad cerca de este, pudiendo estar el umbral de proximidad pertinente ajustado en un valor que dependerá de la morfología del robot. Este valor de umbral puede, por ejemplo, ser de entre 4 y 5 cm en el caso del robot NAO cuya altura es del orden de 60 cm. En el caso de un robot más grande, se aumentará este valor de umbral. Del mismo modo, la dinámica de los pasos del robot en altura (por ejemplo su capacidad para subir una escalera) también se debe tener en cuenta. La superficie de este segundo pie se añade al polígono de sustentación anteriormente determinado para dar un nuevo polígono de sustentación 530a, 530b, 530c, denominado « virtual », en la medida en que no es el polígono real que corresponde a la realidad física en ese instante.
Los centros de masa 520a, 520b, 520c se sitúan, en adelante, en cada caso en el interior del polígono de sustentación virtual y el algoritmo de detección de caída determina que no hay necesidad de activar el mecanismo de gestión de las caídas, mientras que el algoritmo de la técnica anterior lo habría activado, como se ha indicado al comentar las figuras 1a a 1f.
La figura 6 es un organigrama del procesamiento a llevar a cabo para determinar un polígono de sustentación virtual del robot en varios modos de realización de la invención.
Según el organigrama que se representa en la figura 6, se pueden generalizar los casos representados en las figuras 5a a 5c para cualquier tipo de efector para inicializar el cálculo del polígono de sustentación en la etapa 610, con la condición de que la posición de estabilidad estática en un efector corresponda a una realidad física. De este modo se puede imaginar que el robot anda con las manos… Los sensores de fuerza de presión 310 permitirán responder a la pregunta « ¿Un efector está en contacto? ». Estos sensores de fuerza de presión se pueden sustituir por cualquier medio que valide el contacto del efector con la superficie de progresión del robot. Una vez calculado un primer polígono (etapa 620), también se puede generalizar los casos representados en las figuras 5a a 5c para un número cualquiera n-1 de efectores complementarios para completar el polígono de sustentación. Se prueban sistemáticamente el otro pie y las dos manos. También se puede decidir añadir a la parte trasera, los codos y los hombros. La prueba 630 (« ¿La altura del efector i es inferior al umbral h0? » utiliza los cálculos por geometría directa de la posición de cada efector, declarándose la posición encontrada próxima al suelo más allá de un umbral fijado como se ha indicado con anterioridad. Si la prueba es positiva, el efector i se añade al polígono (etapa 640). Los cálculos prosiguen hasta que se acaban los efectores preseleccionados.
La figura 7 ilustra la postura de un robot humanoide que se debe tener en cuenta para determinar de manera pertinente la proyección del centro de masa de un robot humanoide sobre un plano de progresión en varios modos de realización de la invención.
Se señala en la figura que los pies del robot al no estar colocados en plano sobre el suelo y al formar un ángulo 8 con este, no se puede considerar la perpendicular a los pies como la proyección del centro de masa. La orientación del robot que dan las variables articulares no será por tanto correcta. Es preciso, por lo tanto, corregirla. Para ello se va a incluir en el cálculo los datos de la central inercial, como se explica a continuación en referencia a la figura 8.
La figura 8 es un diagrama de flujo del procesamiento a llevar a cabo para determinar la proyección del centro de masa de un robot humanoide sobre un plano de progresión en varios modos de realización de la invención.
El algoritmo consiste en registrar la orientación del torso en las mediciones de posición de la central inercial. La central inercial ofrece dos ángulos de rotación a partir de la medición de tres acelerómetros y de dos giroscopios. La propia central se registra de forma permanente. Si hay un desfase entre las dos mediciones, se concluye que el pie forma un ángulo 8 no nulo con el suelo y se calcula 8 que es igual al ángulo que forma el eje pie-torso con la vertical que da la central.
Las figuras 9a a 9i ilustran varias posturas del robot que se pueden filtrar antes de detectar las condiciones de realización de una caída del robot en varios modos de realización de la invención.
Se ha visto con anterioridad en referencia a la figura 6 que se podían añadir varios efectores de tal modo que se determine el polígono de sustentación virtual que mejor se corresponde con la postura real del robot. Sin embargo, el hecho de volver a añadir un número elevado de efectores va a ralentizar el proceso de detección de caída. Puede resultar ventajoso, por lo tanto, realizar un filtrado previo de dichas posturas para extraer aquellas para las cuales es necesario realizar una detección de caída y aquellas para las cuales no es necesario realizar dicha detección. También se puede idear que en función del tipo de postura reconocida se determina(n) el o los efectores que se probarán para llevar a cabo el cálculo de detección.
Las figuras 9a a 9b ilustran respectivamente las posturas « de pie » y « en cuclillas » a las que es necesario aplicar el mecanismo de detección de caída.
Las figuras 9c a 9i ilustran respectivamente las posturas « de rana », « de rodillas », « sentado con los brazos delante », « sentado con los brazos detrás », « tumbado de espaldas », « tumbado de lado » y « desconocido ». En la postura 9i, el robot es sujetado por una persona y ninguno de sus efectores toca el suelo. En estos casos 9c a 9i, no se realiza el cálculo de detección de caída.
La figura 10 es un diagrama de flujo del procesamiento a llevar a cabo para caracterizar la postura del robot en un conjunto de posiciones posibles.
El filtrado de las posturas del robot se realiza utilizando los valores de los ángulos de las articulaciones, las salidas de los sensores de contacto de los pies y las mediciones de la central inercial. Los datos de la postura a filtrar se comparan con los de las posturas de referencia almacenadas en una base de datos. Se utiliza para esta comparación un principio de minimización de distancia (por ejemplo, suma de las diferencias relativas de cada dato filtrado con respecto al dato de referencia correspondiente). Se compara la medición de distancia según este criterio con un umbral fijado en función del número de datos y en función de los resultados de la experiencia.
Esta función la lleva a cabo el módulo ALRobotPose en el ejemplo de arquitectura de implementación que se representa en la figura 14 que se comenta más adelante en la descripción.
La figura 11 es un diagrama de flujo del procesamiento a llevar a cabo para controlar la postura del robot de tal
modo que se minimicen las consecuencias de una caída en varios modos de realización de la invención.
Cuando se detecta una situación de caída mediante los medios que se han indicado con anterioridad en referencia a la figura 6, se aplican unos medios de protección de las zonas sensibles del robot, en particular la cabeza, que comprende el procesador y unos sensores frágiles, y la pelvis que comprende normalmente unas articulaciones complejas e igualmente frágiles.
En particular, se va a suprimir en paralelo el servomecanismo de las articulaciones de las piernas (no las de la pelvis) y a realizar un movimiento de protección que dependerá del ángulo de caída determinado como se indica a continuación en referencia a la figura 12. Una vez se ha realizado este movimiento de protección, también se suprimen los servomecanismos de las articulaciones de los brazos, de la cabeza y de la pelvis. Estas acciones deben poder realizarse de forma muy rápida y constituir auténticos reflejos del robot.
La figura 12 ilustra el principio de determinación de las modalidades de elección de las acciones a realizar para minimizar las consecuencias de una caída en varios modos de realización de la invención.
Cuando se detecta una situación de caída mediante los medios que se han indicado con anterioridad en referencia a la figura 6, se determina el ángulo de la caída en el plano del suelo. Para ello, se dispone de un sistema de referencia en el suelo (llamado SPACE_NAO). Se trata de una referencia denominada egocéntrica que se caracteriza por el hecho de que el eje x está siempre orientado en el sentido del robot (hacia delante) por lo tanto, sabiendo dónde sale el centro de masa del robot en esta punto de referencia, se deduce el ángulo de salida por simple geometría. Se cuentan los ángulos con respecto al eje de progresión del robot, positivamente en el sentido de las agujas del reloj. Entre -60º y +60º se considera que la caída se produce hacia delante; entre +60º y +120º, hacia la derecha; entre +120º y -120º hacia atrás; entre -120º y -60º, hacia la izquierda.
Desde el punto de vista de la elección de estrategias de protección, los sectores derecho e izquierdo son equivalentes. En el contexto del modo de realización que se ilustra en esta figura, el ángulo de caída permite, por lo tanto, determinar tres sectores que conducen a la elección de tres estrategias diferentes que se explican a continuación en referencia a las figuras 13a a 13c. No obstante, se podrían determinar más de tres sectores y, por lo tanto, más de tres estrategias de protección. El principio de la invención es no tener que calcular de forma precisa una postura de caída en función de una dinámica de caída calculada con precisión, por ejemplo mediante la aplicación del modelo del péndulo invertido como se ha explicado en referencia a la figura 2. Se trata más bien de seleccionar entre algunos tipos de estrategias de protección que se definen en función de las clases de riesgo que dependen de las piezas sensibles del robot y de la manera cómo les va a afectar la dirección de caída. Se constata, por ejemplo, que el hecho de generar unas acciones de las piernas del robot, como en la técnica anterior, puede aumentar el impacto con el suelo, ya que el movimiento genera una fuerte inercia. De este modo, el corte del servomecanismo de las articulaciones del robot permite que el robot caiga por su propio peso y, por lo tanto, no aumente la velocidad de caída y el impacto.
Las figuras 13a, 13b y 13c son unos ejemplos de posturas seleccionadas para minimizar las consecuencias de una caída en varios modos de realización de la invención.
La figura 13a ilustra los casos de caída hacia delante; en estos casos, los gestos de protección consisten por ejemplo en:
-proteger la cabeza echándola hacia atrás; -llevar los brazos hacia delante de tal modo que amortigüen la caída y protejan la cabeza; -cerrar la pelvis para reagrupar las piernas del robot.
La figura 13b ilustra los casos de caída hacia la derecha o hacia la izquierda; en estos casos, los gestos de protección consisten, por ejemplo, en:
-
proteger la cabeza colocándola en una postura que tiene en cuenta sus eventuales extensiones, por ejemplo
hacia delante y a la derecha (si hay un cable Ethernet, por ejemplo…); -reagrupar los brazos hacia el cuerpo; -abrir la pelvis de tal modo que el robot gire para que el primer punto de impacto con el suelo sea la espalda y no
la pelvis.
La figura 13c ilustra los casos de caída hacia atrás; en estos casos, los gestos de protección consisten, por ejemplo, en:
-
proteger la cabeza colocándola en una postura que tiene en cuenta sus eventuales extensiones, por ejemplo
hacia delante y a la derecha (si hay un cable Ethernet, por ejemplo…); -llevar los brazos hacia atrás con el fin de bloquear el robot; este movimiento está destinado a impedir que el
robot ruede sobre la espalda y se rompa el cuello; -cerrar la pelvis para reagrupar las piernas del robot.
La figura 14 es un esquema de una arquitectura física y funcional que permite la implementación de la invención en
varios modos de realización.
Un robot como un NAO está equipado de manera ventajosa con programas informáticos de alto nivel que permiten el control de las funciones del robot en un modo de realización de la invención. Una arquitectura de software de este tipo, denominada NAOQI, se ha divulgado en particular en la solicitud de patente WO2009/124955 publicada el 15/10/2009. Esta comprende las funciones básicas de gestión de las comunicaciones entre un robot y un PC o un sitio remoto y de intercambio de programas informáticos que proporcionan la infraestructura informática necesaria para la implementación de la presente invención.
NAOQI es un contexto de desarrollo optimizado para las aplicaciones robóticas; este soporta varios lenguajes, en particular C++, Python y Urbi.
En el contexto de la presente invención, resultan especialmente útiles los siguientes módulos de NAOQI:
-el módulo ALMemory, 1410, controla una memoria compartida entre los diferentes módulos de NAOQI; -el módulo DCM, 1420, controla las comunicaciones con el robot físico (motores, sensores); -el módulo ALRobotPose, 1430, calcula la postura actual del robot mediante la comparación con las posturas de
referencia; -el módulo ALMotion, 1440, controla los movimientos del robot; es en este módulo dónde están implantadas las
funciones de detección y de gestión de las caídas de la presente invención (« Fall manager »).
Estos cuatro módulos están codificados de manera ventajosa en C++. La figura también indica los flujos de datos entre módulos.
En particular, las entradas necesarias para la implementación de las funciones Fall manager son:
-
los valores de los sensores (sensores de fuerza de presión de los pies, central inercial, por ejemplo);
-
la postura del robot.
En caso de que se detecte una caída, las funciones Fall manager envían unas órdenes de actualización de las articulaciones en particular para llevar a cabo los movimientos reflejos de protección y desactivar las articulaciones.
También se indican en la figura, a título meramente ilustrativo, los valores de los ciclos de actualización de los datos tratados por cada módulo: 20 ms para la actualización de la postura del robot y los datos de gestión de las caídas: 10 ms para los valores de los sensores.
Las funciones de Fall Manager se pueden activar por el mal funcionamiento de algunos sensores, por ejemplo los sensores MRE. En este caso van a producirse movimientos erráticos de una o varias articulaciones y si la avería implica una salida del centro de masa del polígono de sustentación virtual, se activará la posición de protección. El Fall manager completa, por lo tanto, las funciones de gestión de las averías del robot.
Los ejemplos que se han descrito con anterioridad se dan a título ilustrativo de unos modos de realización de la invención. No limitan en modo alguno el campo de la invención que está definido por las siguientes reivindicaciones.

Claims (14)

  1. REIVINDICACIONES
    1.
    Robot humanoide capaz de desplazarse sobre una superficie que comprende al menos un módulo de detección del contacto de al menos un primer extremo del robot (110a, 110b, 110c) con dicha superficie y un módulo de cálculo de la posición (120b, 120d, 120f) del punto de proyección del centro de masa de dicho robot con respecto a un primer polígono de sustentación (110b, 110d, 110f) constituido al menos por dicho al menos un primer extremo, estando dicho robot caracterizado porque comprende, además, al menos un módulo de detección de la proximidad de al menos un segundo extremo (120a, 120b, 120c, 320, 330, 340, 350) de dicho robot con dicha superficie, y porque dicho módulo de cálculo de la posición del punto de proyección del centro de masa de dicho robot con respecto a un primer polígono de sustentación está también capacitado para calcular la posición de la proyección del centro de masa de dicho robot con respecto a un segundo polígono de sustentación (530a, 530b, 530c), deduciéndose dicho segundo polígono del primer polígono al añadir a este los puntos de proyección sobre dicha superficie de dichos segundos extremos de dicho robot que pertenecen al grupo de los extremos detectados como casi en contacto con dicha superficie.
  2. 2.
    Robot humanoide según la reivindicación 1, caracterizado porque el módulo de detección de la proximidad de dicho al menos un segundo extremo con dicha superficie recibe en la entrada la posición de dicho al menos un segundo extremo con respecto a dicha superficie, proporcionándose dicha posición en la salida de un modelo geométrico del robot que comprende al menos la posición en el espacio de dicho extremo en un sistema de referencia del robot.
  3. 3.
    Robot humanoide según la reivindicación 2, caracterizado porque la condición según la cual un segundo extremo del robot está casi en contacto con dicha superficie, está caracterizada por un umbral de distancia seleccionado en función de unos criterios que pertenecen a un grupo de criterios que comprenden al menos el tamaño del robot y el desplazamiento máximo en altura de sus miembros inferiores.
  4. 4.
    Robot humanoide según una de las reivindicaciones 1 a 3, caracterizado porque dicho al menos un primer extremo es uno de los pies del robot, estando dicho pie dotado con al menos un sensor de fuerza de presión.
  5. 5.
    Robot humanoide según una de las reivindicaciones 1 a 4, caracterizado porque dicho al menos un segundo extremo es una de las manos del robot.
  6. 6.
    Robot humanoide según una de las reivindicaciones 1 a 5, caracterizado porque comprende, además, en la entrada de dicho módulo de cálculo de la posición del punto de proyección del centro de masa de dicho robot con respecto a un polígono de sustentación, un módulo de filtrado de las posturas del robot por comparación según un criterio predefinido de distancia entre sus modelos geométricos y los modelos geométricos de posturas de referencia.
  7. 7.
    Robot humanoide según una de las reivindicaciones 1 a 6, caracterizado porque comprende, además, una central inercial que proporciona al módulo de cálculo de la posición del punto de proyección del centro de masa de dicho robot un eje vertical cuyo ángulo con el eje que une el tórax y uno de los pies del robot en contacto con el suelo proporciona un ángulo de rotación a aplicar al eje de proyección del centro de masa del robot.
  8. 8.
    Robot humanoide según una de las reivindicaciones 1 a 6, caracterizado porque comprende, además, en la salida de dicho módulo de cálculo de la posición del punto de proyección del centro de masa de dicho robot con respecto a un polígono de sustentación, un módulo de control de un grupo de acciones de protección contra las caídas, activándose una al menos de dichas acciones cuando dicho módulo de cálculo proporciona al menos una salida característica de un estado de caída del robot en el cual el punto de proyección de su centro de masa es exterior al segundo polígono de sustentación.
  9. 9.
    Robot humanoide según la reivindicación 8, caracterizado porque el grupo de acciones de protección comprende al menos el corte del servomotor de las articulaciones de las piernas del robot, la colocación en postura de protección de al menos un elemento que pertenece al grupo que comprende al menos la cabeza, los brazos y la pelvis, el corte de las articulaciones de al menos un elemento que pertenece a dicho grupo.
  10. 10.
    Robot humanoide según una de las reivindicaciones 8 a 9, caracterizado porque dicho módulo de cálculo proporciona, además, al módulo de control del grupo de acciones de protección contra las caídas, para un estado característico de un estado de caída del robot, un ángulo característico de la dirección de caída en un sistema de referencia del robot, determinando el valor de dicho ángulo de caída con respecto a los valores de referencia seleccionados la elección de las acciones de protección del grupo de acciones de protección contra las caídas a ejecutar.
  11. 11.
    Robot humanoide según una de las reivindicaciones 9 a 10, caracterizado porque, cuando el ángulo de caída determina una caída hacia delante, la postura de protección de la cabeza consiste en echarla sustancialmente hacia atrás, la postura de protección de los brazos consiste en colocarlos sustancialmente hacia delante y la postura de protección de la pelvis consiste en cerrarla.
  12. 12.
    Robot humanoide según una de las reivindicaciones 9 a 10, caracterizado porque, cuando el ángulo de caída determina una caída hacia la izquierda o hacia la derecha, la postura de protección de la cabeza consiste en colocarla sustancialmente hacia delante, la postura de protección de los brazos consiste en reagruparlos sustancialmente hacia el cuerpo y la postura de protección de la pelvis consiste en abrirla.
    5 13. Robot humanoide según una de las reivindicaciones 9 a 10, caracterizado porque, cuando el ángulo de caída determina una caída hacia atrás, la postura de protección de la cabeza consiste en colocarla sustancialmente hacia delante, la postura de protección de los brazos consiste en llevarlos sustancialmente hacia atrás y la postura de protección de la pelvis consiste en cerrarla.
  13. 14. Procedimiento de gestión de las caídas de un robot humanoide capaz de desplazarse sobre una superficie y que
    10 comprende al menos un módulo de detección del contacto de al menos un primer extremo del robot con dicha superficie, comprendiendo dicho procedimiento una etapa de cálculo de la posición del punto de proyección del centro de masa de dicho robot con respecto a un primer polígono de sustentación constituido al menos por dicho al menos un primer extremo y caracterizándose porque comprende, además, una etapa de detección de la proximidad de al menos un segundo extremo de dicho robot con dicha superficie y una etapa de cálculo de la
    15 posición de la proyección del centro de masa de dicho robot con respecto a un segundo polígono de sustentación, deduciéndose dicho segundo polígono del primer polígono al añadir a este los puntos de proyección sobre dicha superficie de dichos segundos extremos de dicho robot que pertenecen al grupo de los extremos detectados como casi en contacto con dicha superficie.
  14. 15. Programa de ordenador que comprende unas instrucciones de código de programa que permiten la ejecución del
    20 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 las caídas de un robot humanoide capaz de desplazarse sobre una superficie y que comprende al menos un módulo de detección del contacto de al menos un primer extremo del robot con dicha superficie, comprendiendo dicho programa un módulo de cálculo de la posición del punto de proyección del centro de masa de dicho robot con respecto a un primer polígono de sustentación y caracterizándose porque comprende,
    25 además, al menos un módulo de entrada de datos de detección de la proximidad de al menos un segundo extremo de dicho robot con dicha superficie y un módulo de cálculo de la posición de la proyección del centro de masa de dicho robot con respecto a un segundo polígono de sustentación, deduciéndose dicho segundo polígono del primer polígono al añadir a este los puntos de proyección sobre dicha superficie de dichos segundos extremos de dicho robot que pertenecen al grupo de los extremos detectados como casi en contacto con dicha superficie.
ES11741576.0T 2010-08-27 2011-08-11 Robot humanoide con capacidades de gestión de caídas y procedimiento de gestión de dichas caídas Active ES2454554T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1056798 2010-08-27
FR1056798A FR2964055B1 (fr) 2010-08-27 2010-08-27 Robot humanoide dote de capacites de gestion de chutes et methode de gestion desdites chutes
PCT/EP2011/063801 WO2012025387A1 (fr) 2010-08-27 2011-08-11 Robot humanoide dote de capacites de gestion de chutes et methode de gestion desdites chutes

Publications (1)

Publication Number Publication Date
ES2454554T3 true ES2454554T3 (es) 2014-04-10

Family

ID=43829315

Family Applications (1)

Application Number Title Priority Date Filing Date
ES11741576.0T Active ES2454554T3 (es) 2010-08-27 2011-08-11 Robot humanoide con capacidades de gestión de caídas y procedimiento de gestión de dichas caídas

Country Status (9)

Country Link
US (1) US9429948B2 (es)
EP (1) EP2608997B1 (es)
JP (1) JP6007908B2 (es)
KR (1) KR101882532B1 (es)
CN (1) CN103124669B (es)
BR (1) BR112013004674A2 (es)
ES (1) ES2454554T3 (es)
FR (1) FR2964055B1 (es)
WO (1) WO2012025387A1 (es)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2969026B1 (fr) 2010-12-17 2013-02-01 Aldebaran Robotics Robot humanoide dote d'un gestionnaire de ses ressources physiques et virtuelles, procedes d'utilisation et de programmation
US9412010B2 (en) * 2011-07-15 2016-08-09 Panasonic Corporation Posture estimation device, posture estimation method, and posture estimation program
US9308648B2 (en) * 2014-07-24 2016-04-12 Google Inc. Systems and methods for robotic self-right
US9499219B1 (en) * 2014-08-25 2016-11-22 Google Inc. Touch-down sensing for robotic devices
JP6228097B2 (ja) * 2014-10-06 2017-11-08 本田技研工業株式会社 移動ロボット
US9555846B1 (en) 2015-03-20 2017-01-31 Google Inc. Pelvis structure for humanoid robot
CN104932254B (zh) * 2015-05-12 2017-07-21 北京理工大学 一种仿人机器人的前摔保护控制策略
US9594377B1 (en) * 2015-05-12 2017-03-14 Google Inc. Auto-height swing adjustment
EP3358546A4 (en) * 2015-09-29 2019-05-01 Sony Corporation INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM
GB2565959B (en) * 2016-07-11 2021-10-13 Groove X Inc Autonomously acting robot
CN106564055B (zh) * 2016-10-31 2019-08-27 金阳娃 仿真人机器人稳定性运动规划方法及控制装置
CN106737682B (zh) * 2016-12-31 2019-08-16 深圳市优必选科技有限公司 机器人掉电防摔方法和装置及掉电防摔机器人
WO2018198480A1 (ja) * 2017-04-28 2018-11-01 ソニー株式会社 制御装置、および制御方法
CN108724170B (zh) * 2017-08-15 2021-04-16 北京猎户星空科技有限公司 防止机器人倾倒的方法、装置、机器人及存储介质
CN109693234B (zh) * 2017-10-20 2021-08-27 深圳市优必选科技有限公司 机器人跌倒预测方法、装置、终端设备及计算机存储介质
US10807246B2 (en) * 2018-01-08 2020-10-20 Beijing Jingdong Shangke Information Technology Co., Ltd. Mobile robotic device and method of controlling the same manipulator for locomotion and manipulation
CN110053039B (zh) * 2018-01-17 2021-10-29 深圳市优必选科技有限公司 一种机器人行走中重力补偿的方法、装置及机器人
CN109849999B (zh) * 2019-03-29 2020-11-20 联想(北京)有限公司 一种可移动装置及处理方法
CN110936380B (zh) * 2019-12-11 2024-01-16 桂林凯歌信息科技有限公司 碰撞防摔机器人及其控制方法
US11407109B2 (en) * 2020-04-16 2022-08-09 Boston Dynamics, Inc. Global arm path planning with roadmaps and precomputed domains
CN111730605B (zh) * 2020-08-04 2020-12-15 深圳市优必选科技股份有限公司 一种机器人姿态控制方法、装置、可读存储介质及机器人
CN112859904A (zh) * 2021-01-25 2021-05-28 乐聚(深圳)机器人技术有限公司 机器人站立姿态的恢复方法、装置、设备及存储介质
CN113146621B (zh) * 2021-03-17 2022-07-15 深圳市优必选科技股份有限公司 机器人控制方法、装置、机器人及计算机可读存储介质
CN113120109B (zh) * 2021-04-12 2022-04-08 北京理工大学 一种轮足复合仿人机器人的辅助支撑结构及其控制方法
CN113858207B (zh) * 2021-10-27 2023-06-09 乐聚(深圳)机器人技术有限公司 人形机器人的倒地控制方法、装置、电子设备及存储介质
WO2023082013A1 (en) * 2021-11-12 2023-05-19 Sanctuary Cognitive Systems Corporation Robots and methods for protecting fragile components thereof

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4541771A (en) * 1983-03-31 1985-09-17 At&T Bell Laboratories Robot having magnetic proximity sensor and manufacturing method using same
JP3528171B2 (ja) * 1999-11-12 2004-05-17 ソニー株式会社 移動ロボット装置及び移動ロボット装置の転倒制御方法
KR100977348B1 (ko) * 2002-03-15 2010-08-20 소니 주식회사 다리식 이동 로봇의 동작 제어 장치 및 동작 제어 방법 및 로봇 장치
US7072740B2 (en) * 2002-12-16 2006-07-04 Sony Corporation Legged mobile robot
JP4029152B2 (ja) * 2003-01-08 2008-01-09 独立行政法人産業技術総合研究所 脚式移動ロボット及び制御方法
TR200300265A2 (tr) * 2003-03-04 2003-06-23 Necati̇@Hacikadi̇roğlu İki ya da çok bacaklı robotlar için dengeleme sistemi.
US7761184B2 (en) * 2003-03-23 2010-07-20 Sony Corporation Robot apparatus and control method thereof
JP4971977B2 (ja) * 2004-03-31 2012-07-11 本田技研工業株式会社 角運動量の変化率に基づいて脚式ロボットを制御する方法
JP4559803B2 (ja) * 2004-09-14 2010-10-13 敏男 福田 関節角の受動変化を利用して歩行するロボットとその制御方法
JP4886201B2 (ja) * 2005-03-14 2012-02-29 株式会社日立製作所 移動ロボット
US7313463B2 (en) * 2005-03-31 2007-12-25 Massachusetts Institute Of Technology Biomimetic motion and balance controllers for use in prosthetics, orthotics and robotics
FR2929873B1 (fr) 2008-04-09 2010-09-03 Aldebaran Robotics Architecture de controle-commande d'un robot mobile utilisant des membres articules
FR2930108B1 (fr) 2008-04-09 2010-07-30 Aldebaran Robotics Systeme et procede de communication distribue comprenant au moins un serveur, au moins un terminal distant, et au moins un terminal mobile capable de communiquer avec le terminal distant relie en reseau audit serveur
US8369991B2 (en) * 2008-12-19 2013-02-05 Honda Motor Co., Ltd. Humanoid fall direction change among multiple objects

Also Published As

Publication number Publication date
CN103124669B (zh) 2016-06-29
US20130231822A1 (en) 2013-09-05
FR2964055A1 (fr) 2012-03-02
JP2013540057A (ja) 2013-10-31
WO2012025387A1 (fr) 2012-03-01
CN103124669A (zh) 2013-05-29
US9429948B2 (en) 2016-08-30
FR2964055B1 (fr) 2012-08-17
EP2608997B1 (fr) 2013-12-25
EP2608997A1 (fr) 2013-07-03
JP6007908B2 (ja) 2016-10-19
KR101882532B1 (ko) 2018-07-26
KR20140037786A (ko) 2014-03-27
BR112013004674A2 (pt) 2024-01-16

Similar Documents

Publication Publication Date Title
ES2454554T3 (es) Robot humanoide con capacidades de gestión de caídas y procedimiento de gestión de dichas caídas
ES2773136T3 (es) Robot humanoide con capacidades para evitar colisiones y de recuperación de trayectoria
ES2659053T3 (es) Robot con articulaciones de rigidez variable y procedimiento de cálculo de dicha rigidez optimizada
US6802382B2 (en) Robot moving on legs and control method therefor, and relative movement measuring sensor for robot moving on legs
Kim et al. Autonomous and portable soft exosuit for hip extension assistance with online walking and running detection algorithm
EP3547267A1 (en) Robot control system, machine control system, robot control method, machine control method, and recording medium
Yuan et al. 3-D localization of human based on an inertial capture system
JP6715952B2 (ja) バランスのとれた運動および行動能力が向上した移動型ロボット
CN106815857A (zh) 行动辅助机器人的姿态估测方法
ES2617307T3 (es) Un procedimiento de localización de un robot en un plano de localización
TWI427558B (zh) 遮蔽骨架之位置估算系統、遮蔽骨架之位置估算方法及遮蔽骨架之重建方法
Catalano et al. Adaptive feet for quadrupedal walkers
Cenydd et al. An embodied approach to arthropod animation
Wasielica et al. Interactive programming of a mechatronic system: A small humanoid robot example
CN109003300B (zh) 一种基于人体质心位移计算算法的虚拟现实系统
Kumar et al. Model-based and experimental analysis of the symmetry in human walking in different device carrying modes
JP2004163990A5 (es)
JP2005088175A (ja) ロボット装置及びロボット装置の動作制御方法
CN108874146B (zh) 一种应用于虚拟现实系统中的运动人体质心位移计算方法
Lu et al. An Electronic Travel Aid based on multi-sensor fusion using extended Kalman filter
Elara et al. Experimenting false alarm demand for human robot interactions in humanoid soccer robots
Vaddi et al. Design and Development of a Quadruped Robot for Edutainment
Elara et al. False alarm demand: A new metric for measuring robot performance in human robot teams
Huang et al. Multi-sensor fusion based on BPNN in quadruped ground classification
Yılmaz Humanoid robot omnidirectional walking trajectory generation and control