ES2773136T3 - Robot humanoide con capacidades para evitar colisiones y de recuperación de trayectoria - Google Patents
Robot humanoide con capacidades para evitar colisiones y de recuperación de trayectoria Download PDFInfo
- Publication number
- ES2773136T3 ES2773136T3 ES14305850T ES14305850T ES2773136T3 ES 2773136 T3 ES2773136 T3 ES 2773136T3 ES 14305850 T ES14305850 T ES 14305850T ES 14305850 T ES14305850 T ES 14305850T ES 2773136 T3 ES2773136 T3 ES 2773136T3
- Authority
- ES
- Spain
- Prior art keywords
- robot
- point
- obstacle
- initial
- trajectory
- 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
Links
- 238000011084 recovery Methods 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000001514 detection method Methods 0.000 claims abstract description 17
- 210000001364 upper extremity Anatomy 0.000 claims abstract description 17
- 210000003141 lower extremity Anatomy 0.000 claims abstract description 9
- 238000003384 imaging method Methods 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 4
- 238000013459 approach Methods 0.000 claims description 2
- 230000007423 decrease Effects 0.000 claims description 2
- 238000000605 extraction Methods 0.000 claims description 2
- 238000007500 overflow downdraw method Methods 0.000 claims 1
- 230000033001 locomotion Effects 0.000 description 21
- 210000003414 extremity Anatomy 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 8
- 241000282414 Homo sapiens Species 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 210000003128 head Anatomy 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 241000282412 Homo Species 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 229920006395 saturated elastomer Polymers 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000001143 conditioned effect Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 210000005069 ears Anatomy 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000005355 Hall effect Effects 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000012636 effector Substances 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 210000001061 forehead Anatomy 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- GELKBWJHTRAYNV-UHFFFAOYSA-K lithium iron phosphate Chemical compound [Li+].[Fe+2].[O-]P([O-])([O-])=O GELKBWJHTRAYNV-UHFFFAOYSA-K 0.000 description 1
- 238000012045 magnetic resonance elastography Methods 0.000 description 1
- HTYIXCKSEQQCJO-UHFFFAOYSA-N phenaglycodol Chemical compound CC(C)(O)C(C)(O)C1=CC=C(Cl)C=C1 HTYIXCKSEQQCJO-UHFFFAOYSA-N 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
- B25J11/003—Manipulators for entertainment
- B25J11/0035—Dancing, executing a choreography
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39091—Avoid collision with moving obstacles
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/01—Mobile robot
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
Un procedimiento de control de una trayectoria (530a, 730) de al menos uno de los miembros superiores e inferiores de un robot (100) humanoide, comprendiendo dicho procedimiento: - almacenar una trayectoria inicial con un punto objetivo en una memoria del robot; - adquirir, desde al menos un procedimiento de detección controlado desde el robot a bordo, datos representativos de una posición de uno o más obstáculos (540b, 910c); - calcular, por un procesador a bordo del robot: una envoltura (410b, 810) de dicho robot; una posición relativa de la envoltura y el uno o más obstáculos; una probabilidad de colisión de la envoltura con un obstáculo; y, una serie de comandos que comprenden: - detectar la presencia de un obstáculo en la envoltura; - si se detecta la presencia de un obstáculo en la envoltura: - calcular un punto de la trayectoria inicial; - calcular una línea recta entre el punto de la trayectoria inicial y el punto objetivo; - calcular una velocidad del robot en línea recta para reunirse con punto objetivo en el momento inicial; - definir la trayectoria del robot como la trayectoria inicial hasta el punto de la trayectoria inicial, después la línea recta entre el punto de la trayectoria inicial y el punto objetivo.
Description
DESCRIPCIÓN
Robot humanoide con capacidades para evitar colisiones y de recuperación de trayectoria
Campo de la invención
La presente invención se refiere al campo de los sistemas de programación de robots. Más específicamente, se aplica a la edición y el control de comportamientos y movimientos de robots que se mueven en extremidades articuladas o las usan, notablemente robots de forma humana o animal.
Antecedentes de la técnica anterior
Un robot puede ser calificado como humanoide desde el momento en que tiene ciertos atributos de apariencia humana: una cabeza, un tronco, dos brazos, dos manos, etc. Un robot humanoide puede, sin embargo, ser más o menos sofisticado. Sus extremidades pueden tener un mayor o menor número de articulaciones. Puede controlar su propio equilibrio estática y dinámicamente y caminar sobre dos extremidades, posiblemente en tres dimensiones, o simplemente rodar sobre una base. Puede captar señales del entorno ("escuchar", "ver", "tocar", "sentir", etc.) y reaccionar de acuerdo con comportamientos más o menos sofisticado e interactuar con otros robots o humanos, ya sea por discurso o por gesto.
Un robot humanoide puede navegar en un entorno determinado solo para ir de un punto A a un punto B, o de acuerdo con un escenario predefinido, o incluso ejecutar un baile. Incluso puede haber una pluralidad de robots humanoides que colaboran en una coreografía. En todos estos escenarios, es importante que los robots puedan hacer frente a situaciones inesperadas, por ejemplo, cuando los obstáculos se topan con su trayectoria o los movimientos de sus miembros. También, es cada vez más importante desarrollar la impresión de que el robot es de hecho humanoide de que el robot es capaz de hacer frente a estas situaciones inesperadas en una forma similar a la humana, es decir, con cambios suaves de trayectoria o gestos para evitar colisiones en lugar de cambios rápidos de direcciones que denotan un comportamiento mecánico. También, cuando para evitar una colisión, un robot debe cambiar su trayectoria o interrumpir un gesto que se ha ejecutado antes de la secuencia de evitación, es altamente deseable que el robot reanude su trayectoria o gestos anteriores, como lo haría un humano.
En algunas soluciones de la técnica anterior, la prevención de colisiones se trata principalmente poniendo el robot en un modo de seguridad, ya sea ordenando una parada abrupta o cambiando de dirección antes de la colisión. Por supuesto, esta no es una experiencia de usuario satisfactoria.
Otra solución, proporcionada en particular por la patente de Estados Unidos n.° 7.778.776 consiste en establecer áreas de no invasión o seguridad alrededor de obstáculos y detener el robot a una distancia de detención, o calcular una trayectoria de evitación. Pero esta solución de la técnica anterior requiere mucha informática, puesto que las áreas de seguridad deben calcularse para todos los obstáculos.
Un documento más avanzado a este respecto está representado por el documento WO 2009/055707 A1 que desvela un procedimiento para evitar colisiones para un sistema articulado, por ejemplo, un robot, para una aplicación de navegación móvil con robot, que implica redirigir un segmento del cuerpo basándose en un movimiento articular redirigido para evitar chocar con una estructura desconectada.
Sumario de la invención
La invención resuelve este problema calculando un área de seguridad alrededor del robot, de modo que se necesita mantener una sola área de seguridad.
Para este efecto, la invención desvela un procedimiento para controlar una trayectoria de al menos uno de los miembros superiores e inferiores de un robot humanoide, dicho procedimiento comprende: almacenar una trayectoria inicial con un punto objetivo en una memoria del robot; adquirir, desde al menos un procedimiento de detección controlado desde el robot a bordo, datos representativos de una posición de uno o más obstáculos; calcular, por un procesador a bordo del robot: una envoltura de una de las huellas de dicho robot y dicho al menos uno de los miembros superiores e inferiores del mismo; una posición relativa de la envoltura y el uno o más obstáculos; una probabilidad de colisión de la envoltura con un obstáculo; y, una serie de comandos para cambiar al menos una de las trayectorias y una velocidad de al menos uno de los miembros superiores e inferiores del robot; Estando dicho procedimiento caracterizado porque la serie de comandos está condicionada en al menos uno de espacio y tiempo para: i) evitar la colisión de la envoltura con un obstáculo; y ii) cuando sea adecuado y posible, reunirse con el punto objetivo de la trayectoria inicial almacenada en la memoria.
De forma ventajosa, Se hace referencia a la trayectoria inicial en espacio y tiempo.
De forma ventajosa, el procedimiento de detección es realizado por al menos uno de una pluralidad de generadores de líneas láser, una pluralidad de sensores de formación de imágenes, una pluralidad de sensores acústicos y una pluralidad de detectores de contacto.
De forma ventajosa, el procedimiento de detección es realizado por al menos dos de una pluralidad de generadores
de líneas láser, una pluralidad de sensores de formación de imágenes, una pluralidad de sensores acústicos y una pluralidad de detectores de contacto.
De forma ventajosa, el dato representativo de una ubicación de uno o más obstáculos es una extracción de un número de puntos característicos de un mapa de píxeles que representan una probabilidad de ausencia de un obstáculo en dichos píxeles.
De forma ventajosa, el mapa de píxeles se produce a la salida de al menos un segundo procedimiento de detección y un procedimiento de fusión de datos que aumenta una estimación de un nivel de confianza de las probabilidades de ausencia de un obstáculo en dicho mapa de píxeles en relación con un primer procedimiento de detección.
De forma ventajosa, la probabilidad de ausencia de un obstáculo en un píxel del mapa disminuye durante un parámetro de tiempo preestablecido hasta 0,5 a menos que se actualice mediante la salida de un procedimiento de detección con una probabilidad más alta.
De forma ventajosa, una envoltura de una huella del robot se calcula en función de la velocidad del robot y los protectores predeterminados alrededor del robot.
De forma ventajosa, la serie de comandos se calcula para determinar una trayectoria cambiada para evitar la colisión de la envoltura con cualquier obstáculo.
De forma ventajosa, la serie de comandos se calcula además para determinar una trayectoria cambiada y una velocidad cambiada para reunirse con un punto objetivo de la trayectoria inicial en un momento en que el robot debería haber alcanzado el punto objetivo en la trayectoria inicial.
De forma ventajosa, un miembro superior del robot comprende una cadena de segmentos articulados entre sí por articulaciones motoras.
De forma ventajosa, una envoltura de un miembro del robot se calcula en función de una protección predeterminada alrededor de los segmentos articulados.
De forma ventajosa, la serie de comandos se calcula para determinar una reducción en las velocidades angulares de los motores de las juntas de los segmentos articulados cuando la envoltura se acerca a un obstáculo.
De forma ventajosa, la reducción en las velocidades angulares de los motores de las articulaciones se calcula para saturar la velocidad máxima de la cadena.
La invención desvela también un robot humanoide que comprende: al menos un miembro superior y un miembro inferior; una memoria que almacena una trayectoria inicial con un punto objetivo e instrucciones de código informático; una pluralidad de módulos de detección configurados para adquirir datos representativos de una posición de uno o más obstáculos; un procesador configurado para ejecutar dichas instrucciones de código informático para calcular: una envoltura de una de las huellas de dicho robot y dicho al menos uno de los miembros superiores e inferiores del mismo; una posición relativa de la envoltura y el uno o más obstáculos; una probabilidad de colisión de la envoltura con un obstáculo; y, una serie de comandos para cambiar al menos una de las trayectorias y una velocidad de al menos uno de los miembros superiores e inferiores del robot; dicho robot se caracteriza porque la serie de comandos está condicionada en al menos uno de espacio y tiempo para: i) evitar la colisión de la envoltura con un obstáculo; y ii) cuando sea adecuado y posible, reunirse con el punto objetivo de la trayectoria inicial almacenada en la memoria.
La invención permite también que el robot se reúne con una trayectoria calculada previamente, si esta trayectoria solo se calcula como parte de una etapa de navegación del robot para moverse a una ubicación predeterminada, o es parte de una coreografía, ejecutada por el robot solamente, o dentro de una coreografía ejecutada por una pluralidad de robots. En estas realizaciones, la trayectoria del robot se vuelve a sincronizar con la trayectoria planificada previamente, para que la evitación sea vista como algo absolutamente natural. De forma ventajosa, los miembros superiores del robot se controlan también para evitar obstáculos en su entorno. En estas realizaciones, los gestos de los miembros superiores también se vuelven a sincronizar con los gestos planificados previamente, o se adaptan para que parezcan más naturales.
Breve descripción de los dibujos
La invención se entenderá mejor y sus diversas características y ventajas surgirán de la siguiente descripción de un número de realizaciones ejemplares y sus Figuras adjuntas en las que:
- la Figura 1 muestra una arquitectura física de un robot humanoide en un número de realizaciones de la invención; - la Figura 2 muestra una arquitectura funcional de los módulos de software del robot en un número de realizaciones de la invención;
- la Figura 3 muestra un diagrama de flujo para implementar un aspecto del procedimiento de la invención en un número de sus realizaciones;
- las Figuras 4a, 4b, 4c, 4d, 4e y 4f ilustran de forma más detallada el cálculo de las áreas de seguridad alrededor del robot en un número de realizaciones de la invención;
- las Figuras 5a, 5b y 5c ilustran de forma más detallada el cálculo de la trayectoria resincronizada en un número de realizaciones de la invención;
- la Figura 6 muestra un diagrama de flujo para implementar otro aspecto de la invención en un número de sus realizaciones;
- la Figura 7 ilustra el accionamiento de los miembros de los miembros superiores del robot de la invención en un número de sus realizaciones;
- la Figura 8 ilustra el cálculo del área de seguridad teniendo en cuenta los miembros superiores del robot en un número de realizaciones de la invención;
- las Figuras 9a, 9b, 9c y 9d ilustran diferentes estrategias para evitar colisiones en un número de realizaciones de la invención.
La Figura 1 muestra una arquitectura física de un robot humanoide en un número de realizaciones de la invención.
El robot 100 específico en la Figura se toma como un ejemplo solo de un robot humanoide en el que se puede implementar la invención. La extremidad inferior del robot en la Figura no es funcional para caminar, pero puede moverse en cualquier dirección en su base 140 que rueda sobre la superficie sobre la que descansa. La invención se puede implementar fácilmente en un robot apto para caminar. A modo de ejemplo, Este robot tiene una altura 110 que puede ser de aproximadamente 120 cm, una profundidad 120 de aproximadamente 65 cm y una anchura 130 de aproximadamente 40 cm. En una realización específica, el robot de la invención tiene una tableta 150 con la que puede comunicar mensajes (audio, vídeo, páginas web) a su entorno, o recibir entradas de los usuarios a través de la interfaz táctil de la tableta. Además del procesador de la tableta, el robot de la invención usa también el procesador de su propia placa base, que puede ser, por ejemplo, un ATOM™ Z530 de Intel™. El robot de la invención incluye también ventajosamente un procesador que se dedica al manejo de los flujos de datos entre la placa base y, notablemente, las placas que llevan los codificadores giratorios magnéticos (MRE) y los sensores que controlan los motores de las articulaciones en una extremidad y las bolas que el robot usa como ruedas, en una realización específica de la invención. Los motores pueden ser de diferentes tipos, dependiendo de la magnitud del par máximo que se necesita para una unión definida. Por ejemplo, se pueden usar motores sin núcleo de CC con escobillas de e-minebea™ (SE24P2CTCA, por ejemplo), o motores de CC sin escobillas de Maxon™ (por ejemplo, EC45_70W). Los MRE son preferentemente de un tipo que usa el efecto Hall, con precisión de 12 o 14 bits.
En realizaciones de la invención, el robot que se muestra en la Figura 1 comprende también varios tipos de sensores. Algunos de ellos se utilizan para controlar la posición y los movimientos del robot. Este es el caso, por ejemplo, de una unidad inercial, situada en el torso del robot, que comprende un girómetro de 3 ejes y un acelerómetro de 3 ejes. El robot puede incluir también dos cámaras 160 RGB a color de 2D en la frente del robot (superior e inferior) del tipo System On Chip (SOC), como las de Shenzen V-Vision Technology Ltd™ (OV5640), con una resolución de 5 megapíxeles a 5 cuadros por segundo y un campo de visión (FOV) de aproximadamente 57° horizontal y 44° vertical. También se puede incluir un sensor 170 3D detrás de los ojos del robot, como un sensor ASUS XTION™ SOC con una resolución de 0,3 megapíxeles a 20 cuadros por segundo, con aproximadamente el mismo campo de visión que las cámaras 2D. El robot de la invención puede equiparse también con generadores de líneas láser, por ejemplo tres en la cabeza 180a y tres en la base 180b, para poder sentir su posición relativa a los objetos/seres en su entorno. El robot de la invención puede incluir también micrófonos para poder detectar sonidos en su entorno. En una realización, se pueden implantar cuatro micrófonos con una sensibilidad de 300 mV/ Pa /- 3 dB a 1kHz y un intervalo de frecuencia de 300 Hz a 12 kHz (-10 dB en relación a 1 kHz) en la cabeza del robot. El robot de la invención puede incluir también dos sensores 190 de sonar, posiblemente ubicados en la parte delantera y trasera de su base, para medir la distancia a objetos/seres humanos en su entorno.
El robot puede incluir también sensores táctiles, sobre su cabeza y sobre sus manos, para permitir la interacción con los seres humanos. También puede incluir parachoques 1B0 en su base para detectar los obstáculos que encuentra en su ruta.
El robot puede detectar también el contacto de sus miembros superiores con los objetos que tocan al calcular la diferencia entre una trayectoria planificada y una trayectoria real. La solicitud de patente europea presentada el mismo día por el mismo solicitante con el n.° EP14305848.5 desvela un procedimiento para este efecto.
Para traducir sus emociones y comunicarse con los seres humanos en su entorno, el robot de la invención puede incluir también:
- LED, por ejemplo en sus ojos, orejas y sobre sus hombros;
- Altavoces, por ejemplo dos, ubicados en sus oídos.
El robot de la invención puede comunicarse con una estación base u otros robots a través de una conexión Ethernet RJ45 o WiFi 802.11.
El robot de la invención puede alimentarse por una batería de fosfato de hierro y litio con una energía de aproximadamente 400 Wh. El robot puede acceder a una estación de carga adecuada para el tipo de batería que incluye.
La posición/movimientos de los robots son controlados por sus motores, utilizando algoritmos que activan las cadenas
definidas por cada extremidad y los efectores definidos al final de cada extremidad, en vista de las mediciones de los sensores.
De los sensores 160, 170, 180, 190, 1A0 o 1B0, o del resultado de una evaluación de un contacto de sus miembros superiores con un objeto, los módulos informáticos del robot pueden calcular un mapa local de los obstáculos en su entorno, de acuerdo con lo desvelado por la solicitud de patente europea presentada el mismo día que esta solicitud con el n.° EP14305849.3.
La Figura 2 muestra una arquitectura funcional de los módulos de software del robot en un número de realizaciones de la invención.
La Figura 2 es un diagrama de una arquitectura física y funcional que permite la implementación de la invención en varias de sus realizaciones. Un robot de este tipo está dotado ventajosamente de un software de alto nivel que permite el pilotaje de las funciones del robot en una realización de la invención. Una arquitectura de software de este tipo, apodada NAOQI, se ha desvelado notablemente en la solicitud de patente WO2009/124955 publicada el 15/10/2009. La misma comprende las funciones básicas para gestionar las comunicaciones entre un robot y una PC o un sitio remoto e intercambiar software que proporciona la infraestructura de software necesaria para la implementación de la presente invención. También, la solicitud de patente europea n.° EP14305578.8 desvela un sistema operativo diseñado para operar un robot con capacidades avanzadas de interacción/diálogo.
NAOQI es un marco optimizado para aplicaciones robóticas; es compatible con varios idiomas, notablemente C +, Python y Urbi. Dentro del contexto de la presente invención, los siguientes módulos de NAOQI son particularmente útiles:
- el módulo ALMemory, 210, gestiona una memoria compartida entre los diversos módulos de NAOQI;
- el módulo DCM, 220, gestiona las comunicaciones con el robot físico (motores, sensores);
- el módulo ALRobotPose, 230, calcula la postura actual del robot comparándola con las posturas de referencia; - el módulo ALMotion, 240, gestiona los movimientos del robot.
Estos cuatro módulos están codificados ventajosamente en C +. La Figura indica también los flujos de datos entre módulos. En particular, las entradas necesarias para la implementación de las funciones de prevención de colisión por caída son:
- los valores de los sensores (cámaras, generadores de líneas láser, sonares, sensor táctil, por ejemplo);
- la postura del robot.
En el caso de detectar una posible colisión, las funciones específicas diseñadas para implementar los comandos de envío de la invención instantánea para actualizar la trayectoria del robot.
También indicado en la Figura, puramente a modo de ilustración, están los valores de los ciclos de actualización para los datos procesados por cada módulo: 20 ms para la actualización de la postura del robot y los datos de gestión de caídas; 10 ms para los valores de algunos de los sensores. Un mapa de los obstáculos en el entorno del robot se puede actualizar cada 100 ms, que es el tiempo de ciclo convencional para procesar imágenes adquiridas por una cámara 3D, a modo de ejemplo, solamente.
La Figura 3 muestra un diagrama de flujo para implementar un aspecto del procedimiento de la invención en un número de sus realizaciones.
La velocidad instantánea del robot y la aceleración obtenida 310 del módulo 230 ALRobotPose se procesan continuamente para calcular 320 una distancia de detención del robot, y a partir de ella se calcula 330 una distancia de seguridad frontal del robot.
A partir de esta salida y una posición calculada del robot, se determina 340 una región de seguridad del robot.
La invención define regiones alrededor del robot que deben estar libres de obstáculos para que el robot se mueva. El tamaño y la forma de estas regiones dependen de la velocidad instantánea del robot, en traslación y rotación. La forma de la región de seguridad se determina de forma que:
- Ningún punto del robot debe acercarse más a un obstáculo que una cierta distancia llamada distancia mínima, 10 cm en una implementación puramente ejemplar;
- Ningún punto debe estar dentro de la región barrida por el robot que se detiene, si el robot se detiene de inmediato; - El tamaño de la región de seguridad en la dirección del movimiento aumenta en cierta distancia, Denominada distancia frontal, que depende continuamente de la distancia de detención del robot; en una implementación de la invención, tomada únicamente a modo de ejemplo, la distancia frontal se considera igual a la distancia mínima a baja velocidad (es decir, 10 cm) y 40 cm a toda velocidad, pero dependen de las velocidades reales del robot, Se pueden seleccionar y calcular diferentes valores utilizando la siguiente fórmula que devuelve los resultados en la tabla.
La distancia adicional incluida en la distancia frontal máxima está ahí para dar cuenta de la incertidumbre del sensor,
retraso del sensor y la comodidad de las personas alrededor del robot.
La tabla a continuación proporciona ejemplos de la distancia de seguridad frontal (en metros) en función de la velocidad del robot (en metros por segundo):
Velocidad (m/s) Distancia de seguridad frontal (m)
0,1 0,12
0,2 0,17
0,3 0,25
0,35 0,30
0,4 0,35
0,5 0,40
0,55 0,40
Como se puede ver, la distancia de seguridad frontal mínima para un robot que se mueve a su velocidad mínima de 0,1 m/s está justo por encima de la distancia mínima de 10 cm, que es el límite absoluto para un robot que no se mueve. La distancia de seguridad frontal aumenta entonces hasta 30 cm para la velocidad de 0,35 m/s, que es la velocidad predeterminada más común para un robot humanoide del tipo descrito por esta invención.
La distancia de seguridad frontal no aumenta por encima de la velocidad máxima del robot (0,55 m/s) para lo cual es necesaria una distancia de seguridad frontal de 40 cm.
Las Figuras 4a, 4b, 4c, 4d, 4e y 4f ilustran de forma más detallada el cálculo de las áreas de seguridad alrededor del robot en un número de realizaciones de la invención.
En estas Figuras, un robot 410a, 410c, 410e autónomo se mueve a la velocidad 420a, 420c o 420e orientada. Se puede ver que la velocidad 420c es mayor que la velocidad 420a. También, El movimiento del robot 410e está orientado a la izquierda del robot, aproximadamente a la misma velocidad 420e frontal que la velocidad 420c frontal o el robot 410c.
Las regiones 410b, 410d y 410f de seguridad se definen alrededor del robot y estas regiones de seguridad tienen diferentes tamaños que dependen de la velocidad del robot. En las figuras 4b, 4d, 4f, la orientación de los triángulos 420b, 420d, 420f depende de la orientación del movimiento del robot. Mientras que los tamaños de los triángulos 420b, 420d, 420f, dependen de la velocidad instantánea del robot, y sus respectivos tamaños aumentan con la velocidad del robot. La región de seguridad se define alrededor del robot y no alrededor de cada obstáculo como en la técnica anterior. También, la región de seguridad gira con el robot como se ilustra en la Figura 4f.
Las Figuras 5a, 5b y 5c ilustran de forma más detallada el cálculo de la trayectoria resincronizada en un número de realizaciones de la invención.
El robot de la invención puede ejecutar desplazamientos que solo son dirigidos por un objetivo del robot para ir de un primer punto 510a a un segundo punto 520a. Bajo estas circunstancias, el momento del desplazamiento y los movimientos asociados de los miembros del robot no son muy importantes. Por lo tanto, un robot que tendrá que cambiar su trayectoria 530a para pasar del primer punto al segundo punto para evitar un obstáculo 540b no estará limitado a tiempo para reunirse con el segundo punto después de que se haya ejecutado un desvío para evitar el obstáculo. Pero los desplazamientos y el movimiento de los miembros del robot deben coordinarse para ejecutar una coreografía, ya sea como un robot independiente o en conjunto con otros robots o con seres humanos, el momento en que se alcanza el segundo punto 520a debe ser coherente con la coreografía, es decir, debe ser igual al tiempo inicialmente planificado.
Se puede ver en las Figuras que la trayectoria 530a inicial cambiará cuando se determina que un obstáculo 540a está posiblemente en una ruta de colisión.
La presencia de un obstáculo en el área de seguridad alrededor del robot mientras avanza en su trayectoria se detecta utilizando, por ejemplo, el procedimiento desvelado por la patente europea n.° EP14305849.3 presentada el mismo día que esta solicitud bajo el nombre del mismo cesionario. De acuerdo con este procedimiento, se crea un mapa de píxeles local del entorno del robot alrededor del robot, donde la probabilidad de que no haya obstáculo en una trayectoria se determina correlacionando las mediciones de un número de sensores (generalmente cámaras: 2D o 3D, generadores de línea láser, sonares, sensores táctiles...). El mapa puede ser un cilindro cuya base es una proyección en la superficie de progresión del robot, pero también puede ser, en algunas implementaciones, un volumen completo en 3D.
Cuando este es el caso, la trayectoria 550c inicial no se ejecuta y se reemplaza con un nuevo segmento 560c, donde la velocidad del robot tiene que adaptarse para que el robot sea capaz de reunirse con el segundo punto 520a en el momento en que se había planificado inicialmente. Por consiguiente, el procedimiento de la invención calcula automáticamente un movimiento que se detiene o solo cambia la dirección del robot y luego reúne la trayectoria inicial en el segundo punto, mientras se mantiene en una posición absoluta correcta y el tiempo de la trayectoria.
La Figura 6 muestra un diagrama de flujo para implementar otro aspecto de la invención en un número de sus realizaciones.
La invención también resuelve el mismo problema de evitar la colisión con obstáculos en una trayectoria al tiempo que preserva el tiempo inicial de la trayectoria en el caso de movimientos ejecutados por los miembros del robot.
En este caso, el problema radica en los movimientos de las articulaciones que deben controlarse de una manera que evite la colisión y mantenga la dirección general y el contenido del gesto inicial, mientras que posiblemente cambia la velocidad y amplitud del gesto.
Este resultado se logra, por ejemplo, implementando las siguientes etapas:
- En cada ciclo de control, el controlador de movimiento toma 610 como entrada una posición objetivo conjunta para cada articulación; este objetivo puede provenir de una animación coreografiada o puede ser el resultado de un cálculo;
- Desde esta posición objetivo, el procedimiento calcula 620 la velocidad objetivo de cada punto del robot;
- Para todos los puntos, el procedimiento calcula 630 una velocidad máxima conjunta para la cadena que contiene el punto; esta velocidad depende 640 de la posición de los obstáculos cerca del punto; la velocidad es baja cuando los obstáculos están cerca del punto y en la dirección de su velocidad objetivo, no tiene límites cuando el obstáculo está lejos o cuando está en la dirección opuesta a la velocidad objetivo del punto, y depende continuamente de las posiciones relativas del obstáculo en el medio.
Por lo tanto, la velocidad de las uniones en la cadena está saturada en su valor de seguridad máximo.
Se puede calcular el valor de seguridad máximo de la velocidad de las articulaciones, a modo de ejemplo, como se describe a continuación.
la posición polar del obstáculo en relación con el punto del robot se denota (d, 0), dónde 9 = 0 cuando el obstáculo está en la dirección de la velocidad objetivo. Dejando que f(d, 9) sea la velocidad máxima de seguridad de la cadena, y 9min 9max re,™, remax, Fmin, Fmax algunos parámetros definidos por el usuario. A continuación:
f(d, 0) = fmin, si 0 <0min y d < dmin
0) = fmax, si 0 < 0min y dmax < d
f(d, 0) = f (d, 0) (0 - 0min) / (0max 0min) (fmax f (d, 0)), si 0min < 0 < 0m
f(d, 9) = fmax si 0 á 0max
En una realización, podemos utilizar los siguientes parámetros definidos por el usuario: 9min = rc/4 rad, 9max = 3^/4 rad, remin = 0,1 m, remax = 0,5 m, Fmin = 0 rad/s y Fmax = 6 rad/s.
Pero se pueden establecer otros valores, dependiendo del escenario de uso del robot. También se puede definir una configuración dinámica de los parámetros, dependiendo del entorno del robot.
A continuación, El movimiento resultante se calcula 650.
La Figura 7 ilustra el accionamiento de los miembros de los miembros superiores del robot de la invención en un número de sus realizaciones.
La posición 720 objetivo de la cadena de miembros superiores se introduce en el cálculo y el gesto para mover la cadena de miembros de la posición 710 inicial a la posición 720 objetivo, usando una trayectoria 730, se calcula para cada articulación utilizando una saturación de su velocidad teniendo en cuenta la distancia de la articulación desde un obstáculo.
La posición de los obstáculos se determina utilizando, por ejemplo, el mapa de obstáculos ya mencionado, donde se construye un cilindro sobre el mapa 2D, o usando, además del mapa 2D, una número de puntos de referencia obtenidos directamente de algunos sensores (por ejemplo, la cámara 3D). En algunas realizaciones, se puede definir una distancia de seguridad mínima absoluta alrededor de cada articulación. Ventajosamente, esta distancia de seguridad absoluta es de aproximadamente 10 cm.
La Figura 8 ilustra el cálculo del área de seguridad teniendo en cuenta los miembros superiores del robot en un número de realizaciones de la invención.
Esta Figura muestra velocidades máximas dependiendo de la posición de un obstáculo (x, y) relativamente a un punto del robot y su dirección de 840 velocidad objetivo. En la zona 810 gris oscuro, la velocidad máxima es nula. En la zona 820 gris claro, la velocidad máxima no cambia. En la zona 830 gris intermedio, la velocidad de las articulaciones en
una cadena del robot se cambia definiendo una velocidad saturada como ya se ha explicado.
Las Figuras 9a, 9b, 9c y 9d ilustran diferentes estrategias para evitar colisiones en un número de realizaciones de la invención.
En los ejemplos ilustrativos de estas Figuras, se considera una sola articulación, con un movimiento de referencia a la derecha, como se ve en la Figura 9a.
En la Figura 9b, el movimiento no cambia, ya que el obstáculo 910b está en la zona 820 gris claro.
En la Figura 9c, el movimiento se ralentiza, puesto que el obstáculo 910c está en la zona 830 gris intermedio.
En la Figura 9d, el movimiento se detiene, puesto que el obstáculo 910d está en la zona 810 gris oscuro.
Por lo tanto, una zona de seguridad alrededor del robot puede comprender obstáculos en la superficie de progresión y obstáculos a una altitud relativa a la superficie de progresión. El cambio de trayectoria determinado por la detección de obstáculos en el área de seguridad 2D protegerá también por lo general al robot de una colisión de sus miembros con la segunda categoría de obstáculos.
Pero esto no siempre es verdad, especialmente cuando el robot está involucrado en la interacción con un ser humano que está más allá de la distancia mínima de seguridad del robot, pero cuyos miembros pueden, por supuesto, entrar en la zona de seguridad. En este caso, los gestos del robot deben controlarse con cuidado, usando la realización donde la velocidad de la articulación está saturada basándose en la detección de la distancia con obstáculos.
Por lo tanto, los algoritmos que, de acuerdo con la invención, permiten el control de la trayectoria 2D del robot en su superficie de progresión y el control de las velocidades angulares de las articulaciones de sus miembros se ejecutarán simultáneamente, para asegurarse de que no se produzca una colisión durante la interacción del robot con el ser humano con el que está involucrado.
Los ejemplos descritos anteriormente se dan como ilustraciones de realizaciones de la invención. No limitan de ninguna forma el ámbito de la invención que se define por las siguientes reivindicaciones.
Claims (12)
1. Un procedimiento de control de una trayectoria (530a, 730) de al menos uno de los miembros superiores e inferiores de un robot (100) humanoide, comprendiendo dicho procedimiento:
- almacenar una trayectoria inicial con un punto objetivo en una memoria del robot;
- adquirir, desde al menos un procedimiento de detección controlado desde el robot a bordo, datos representativos de una posición de uno o más obstáculos (540b, 910c);
- calcular, por un procesador a bordo del robot:
una envoltura (410b, 810) de dicho robot;
una posición relativa de la envoltura y el uno o más obstáculos;
una probabilidad de colisión de la envoltura con un obstáculo; y,
una serie de comandos que comprenden:
- detectar la presencia de un obstáculo en la envoltura;
- si se detecta la presencia de un obstáculo en la envoltura:
◦ calcular un punto de la trayectoria inicial;
◦ calcular una línea recta entre el punto de la trayectoria inicial y el punto objetivo;
◦ calcular una velocidad del robot en línea recta para reunirse con punto objetivo en el momento inicial;
◦ definir la trayectoria del robot como la trayectoria inicial hasta el punto de la trayectoria inicial, después la línea recta entre el punto de la trayectoria inicial y el punto objetivo.
2. El procedimiento de la reivindicación 1, en el que la trayectoria inicial se referencia en espacio y tiempo.
3. El procedimiento de una de las reivindicaciones 1 a 2, en el que el procedimiento de detección es realizado por al menos uno de una pluralidad de generadores de líneas láser, una pluralidad de sensores de formación de imágenes, una pluralidad de sensores acústicos y una pluralidad de detectores de contacto.
4. El procedimiento de la reivindicación 3, en el que el procedimiento de detección es realizado por al menos dos de una pluralidad de generadores de líneas láser, una pluralidad de sensores de formación de imágenes, una pluralidad de sensores acústicos y una pluralidad de detectores de contacto.
5. El procedimiento de una de las reivindicaciones 1 a 4, en el que los datos representativos de una ubicación de uno o más obstáculos es una extracción de un número de puntos característicos de un mapa de píxeles que representan una probabilidad de ausencia de un obstáculo en dichos píxeles.
6. El procedimiento de la reivindicación 5, en el que el mapa de píxeles está producido a la salida de al menos un segundo procedimiento de detección y un procedimiento de fusión de datos que aumenta una estimación de un nivel de confianza de las probabilidades de ausencia de un obstáculo en dicho mapa de píxeles en relación con un primer procedimiento de detección.
7. El procedimiento de una de las reivindicaciones 5 y 6, en el que la probabilidad de ausencia de un obstáculo en un píxel del mapa disminuye durante un parámetro de tiempo preestablecido hasta 0,5 a menos que se actualice mediante la salida de un procedimiento de detección con una probabilidad más alta.
8. El procedimiento de una de las reivindicaciones 1 a 7, en el que un miembro superior del robot comprende una cadena de segmentos articulados entre sí por articulaciones motoras.
9. El procedimiento de la reivindicación 8, en el que una envoltura de un miembro del robot está calculada en función de una distancia de seguridad predeterminada alrededor de los segmentos articulados.
10. El procedimiento de una de las reivindicaciones 8 o 9, en el que la serie de comandos está calculada para determinar una reducción en las velocidades angulares de los motores de las juntas de los segmentos articulados cuando la envoltura se acerca a un obstáculo.
11. El procedimiento de la reivindicación 10, en el que la reducción en las velocidades angulares de los motores de las articulaciones es calculada para saturar una velocidad de la cadena a un valor de seguridad máximo, calculándose dicho valor de seguridad máximo basándose en la velocidad objetivo de un punto en la cadena, y las posiciones de los obstáculos en relación con dicho punto en la cadena.
12. Un robot humanoide que comprende:
- al menos un miembro superior y un miembro inferior;
- una memoria que almacena una trayectoria inicial con un punto objetivo e instrucciones de código informático; - una pluralidad de módulos de detección configurados para adquirir datos representativos de una posición de uno o más obstáculos;
- un procesador configurado para ejecutar dichas instrucciones de código informático para calcular:
una envoltura de dicho robot;
una posición relativa de la envoltura y el uno o más obstáculos;
una probabilidad de colisión de la envoltura con un obstáculo; y,
una serie de comandos que comprenden:
- detectar la presencia de un obstáculo en la envoltura;
- si se detecta la presencia de un obstáculo en la envoltura:
◦ calcular un punto de la trayectoria inicial;
◦ calcular una línea recta entre el punto de la trayectoria inicial y el punto objetivo;
◦ calcular una velocidad del robot en línea recta para reunirse con el punto objetivo en el momento inicial; ◦ definir la trayectoria del robot como la trayectoria inicial hasta el punto de la trayectoria inicial, después la línea recta entre el punto de la trayectoria inicial y el punto objetivo.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP14305850.1A EP2952301B1 (en) | 2014-06-05 | 2014-06-05 | Humanoid robot with collision avoidance and trajectory recovery capabilities |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2773136T3 true ES2773136T3 (es) | 2020-07-09 |
Family
ID=51022794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES14305850T Active ES2773136T3 (es) | 2014-06-05 | 2014-06-05 | Robot humanoide con capacidades para evitar colisiones y de recuperación de trayectoria |
Country Status (14)
Country | Link |
---|---|
US (1) | US10179406B2 (es) |
EP (1) | EP2952301B1 (es) |
JP (1) | JP6567563B2 (es) |
KR (1) | KR101986919B1 (es) |
CN (1) | CN106573377B (es) |
AU (1) | AU2015270458B2 (es) |
BR (1) | BR112016028357A2 (es) |
CA (1) | CA2950979C (es) |
ES (1) | ES2773136T3 (es) |
MX (1) | MX2016015824A (es) |
NZ (1) | NZ728053A (es) |
RU (1) | RU2016152159A (es) |
SG (1) | SG11201609651QA (es) |
WO (1) | WO2015185738A2 (es) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP1580536S (es) * | 2016-01-29 | 2017-07-03 | ||
WO2017197170A1 (en) * | 2016-05-12 | 2017-11-16 | The Regents Of The University Of California | Safely controlling an autonomous entity in presence of intelligent agents |
US10203714B2 (en) * | 2016-09-29 | 2019-02-12 | Enel X North America, Inc. | Brown out prediction system including automated validation, estimation, and editing rules configuration engine |
US10423186B2 (en) | 2016-09-29 | 2019-09-24 | Enel X North America, Inc. | Building control system including automated validation, estimation, and editing rules configuration engine |
US10170910B2 (en) * | 2016-09-29 | 2019-01-01 | Enel X North America, Inc. | Energy baselining system including automated validation, estimation, and editing rules configuration engine |
US10291022B2 (en) | 2016-09-29 | 2019-05-14 | Enel X North America, Inc. | Apparatus and method for automated configuration of estimation rules in a network operations center |
US10461533B2 (en) | 2016-09-29 | 2019-10-29 | Enel X North America, Inc. | Apparatus and method for automated validation, estimation, and editing configuration |
US10298012B2 (en) | 2016-09-29 | 2019-05-21 | Enel X North America, Inc. | Network operations center including automated validation, estimation, and editing configuration engine |
US10566791B2 (en) | 2016-09-29 | 2020-02-18 | Enel X North America, Inc. | Automated validation, estimation, and editing processor |
CN107272735A (zh) * | 2017-06-16 | 2017-10-20 | 深圳市可飞科技有限公司 | 移动平台自动规避碰撞的方法、系统及移动平台 |
WO2019010612A1 (zh) * | 2017-07-10 | 2019-01-17 | 深圳市艾唯尔科技有限公司 | 一种传感融合技术的机器人关节防撞保护系统及其方法 |
WO2019097676A1 (ja) * | 2017-11-17 | 2019-05-23 | 三菱電機株式会社 | 3次元空間監視装置、3次元空間監視方法、及び3次元空間監視プログラム |
CN108521809A (zh) * | 2017-12-18 | 2018-09-11 | 深圳市大疆创新科技有限公司 | 障碍物信息提示方法、系统、设备、装置及记录介质 |
US11571815B2 (en) | 2017-12-21 | 2023-02-07 | Magna International Inc. | Safety control module for a robot assembly and method of same |
KR102109004B1 (ko) * | 2018-01-10 | 2020-05-11 | 부산대학교 산학협력단 | 라인 정보를 이용한 모바일 로봇의 장애물 회피를 위한 장치 및 방법 |
JP7058126B2 (ja) * | 2018-01-12 | 2022-04-21 | 株式会社日立製作所 | ロボット制御装置および自動組立システム |
WO2019148467A1 (zh) | 2018-02-02 | 2019-08-08 | 深圳前海达闼云端智能科技有限公司 | 定位方法、装置、机器人及计算机可读存储介质 |
CN108445878B (zh) * | 2018-02-28 | 2022-04-01 | 北京奇虎科技有限公司 | 一种用于扫地机器人的障碍物处理方法和扫地机器人 |
EP3774197B1 (en) * | 2018-03-28 | 2024-01-24 | BAE SYSTEMS plc | Collaborative robot system |
US10899006B2 (en) * | 2018-05-01 | 2021-01-26 | X Development Llc | Robot navigation using 2D and 3D path planning |
KR20210066791A (ko) | 2018-07-16 | 2021-06-07 | 브레인 코퍼레이션 | 로봇식 장치의 타이트 턴을 위한 경로 계획을 최적화하는 시스템 및 방법 |
JP6823015B2 (ja) | 2018-07-17 | 2021-01-27 | ファナック株式会社 | ロボットシステム |
USD894248S1 (en) * | 2018-08-31 | 2020-08-25 | Roborus Co., Ltd. | Robot |
CN109048917B (zh) * | 2018-09-12 | 2021-06-29 | 南方电网电力科技股份有限公司 | 机器人自动控制方法、装置、设备及计算机可读存储介质 |
US11597084B2 (en) * | 2018-09-13 | 2023-03-07 | The Charles Stark Draper Laboratory, Inc. | Controlling robot torque and velocity based on context |
JP6997068B2 (ja) * | 2018-12-19 | 2022-01-17 | ファナック株式会社 | ロボット制御装置、ロボット制御システム、及びロボット制御方法 |
US11338438B2 (en) * | 2019-01-25 | 2022-05-24 | Bear Robotics, Inc. | Method, system and non-transitory computer-readable recording medium for determining a movement path of a robot |
CN109855641B (zh) * | 2019-02-20 | 2021-06-11 | 百度在线网络技术(北京)有限公司 | 预测运动轨迹的方法、装置、存储介质和终端设备 |
USD890240S1 (en) * | 2019-03-15 | 2020-07-14 | Misty Robotics, Inc. | Head for a robotic device |
DE102019206012A1 (de) * | 2019-04-26 | 2020-10-29 | Kuka Deutschland Gmbh | Verfahren und System zum Betreiben eines Roboters |
WO2020247622A1 (en) * | 2019-06-05 | 2020-12-10 | Beyond Imagination Inc. | Mobility surrogates |
CN112346445A (zh) * | 2019-08-07 | 2021-02-09 | 坎德拉(深圳)科技创新有限公司 | 一种配送机器人及其避障方法、计算机存储介质 |
EP3797937A1 (de) * | 2019-09-27 | 2021-03-31 | Siemens Aktiengesellschaft | Anhalten einer produktionsmaschine auf kollisionsfreier bahn |
US11691292B2 (en) * | 2019-10-14 | 2023-07-04 | Boston Dynamics, Inc. | Robot choreographer |
KR20210045022A (ko) * | 2019-10-16 | 2021-04-26 | 네이버 주식회사 | 인식된 사람과 연관된 개인 영역에 기반하여 로봇을 제어하는 방법 및 시스템 |
WO2021101514A1 (en) * | 2019-11-19 | 2021-05-27 | Google Llc | Optimization of motion paths of a robot using vision data |
EP3838504A1 (de) * | 2019-12-19 | 2021-06-23 | FRONIUS INTERNATIONAL GmbH | Verfahren und vorrichtung zur überwachung eines bearbeitungsprozesses und bearbeitungsmaschine mit einer solchen vorrichtung |
CN110936383B (zh) * | 2019-12-20 | 2022-11-18 | 上海有个机器人有限公司 | 一种机器人的障碍物避让方法、介质、终端和装置 |
CN112247993B (zh) * | 2020-04-15 | 2022-02-18 | 牧今科技 | 具有碰撞避免机制的机器人系统及其操作方法 |
CN112207827B (zh) * | 2020-09-29 | 2022-07-12 | 北京云迹科技股份有限公司 | 机器人安全移动的控制方法、装置及电子设备 |
EP4257301A4 (en) * | 2020-11-12 | 2024-08-21 | Yujin Robot Co Ltd | FUNCTIONAL SAFETY SYSTEM FOR ROBOTS |
KR102625700B1 (ko) * | 2020-11-12 | 2024-01-16 | 주식회사 유진로봇 | 이동 로봇의 센서 이중화 장치 및 방법 |
CN112783158A (zh) * | 2020-12-28 | 2021-05-11 | 广州辰创科技发展有限公司 | 多种无线传感识别技术融合方法、设备及存储介质 |
WO2022140969A1 (zh) * | 2020-12-28 | 2022-07-07 | 深圳市优必选科技股份有限公司 | 动态生成脚印集方法、存储介质及双足机器人 |
CN113246126B (zh) * | 2021-04-30 | 2023-02-03 | 上海擎朗智能科技有限公司 | 机器人移动控制方法、机器人移动控制装置及机器人 |
US11960288B1 (en) * | 2021-09-08 | 2024-04-16 | Amazon Technologies, Inc. | System for path planning in areas outside of sensor field of view by an autonomous mobile device |
US20230123463A1 (en) * | 2021-10-15 | 2023-04-20 | Fanuc Corporation | Method of robotic system dynamic velocity modification |
KR102707348B1 (ko) * | 2021-10-20 | 2024-09-19 | 네이버 주식회사 | 로봇 친화형 건물, 건물을 주행하는 로봇 제어 방법 및 시스템 |
CN114347024B (zh) * | 2021-12-31 | 2024-08-16 | 深圳市普渡科技有限公司 | 机器人速度的调整方法、装置、机器人和存储介质 |
KR20240079281A (ko) * | 2022-11-28 | 2024-06-05 | 엘지전자 주식회사 | 복수개의 로봇과 통신 가능한 클라우드 서버의 제어 방법 |
CN116400709B (zh) * | 2023-05-06 | 2023-10-31 | 河南牧业经济学院 | 机器人轨迹确定方法、装置、机器人及存储介质 |
CN116909284B (zh) * | 2023-07-27 | 2024-07-26 | 苏州光格科技股份有限公司 | 足式机器人避障控制方法、装置、计算机设备和存储介质 |
CN116728437B (zh) * | 2023-08-08 | 2023-10-13 | 江苏集萃智能制造技术研究所有限公司 | 基于欧氏空间距离的康养机器人轨迹采样滤波方法及系统 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05297944A (ja) * | 1992-04-24 | 1993-11-12 | Fujitsu Ltd | 移動ロボットの障害物回避方式 |
JP2003187399A (ja) * | 2001-12-13 | 2003-07-04 | Mitsubishi Heavy Ind Ltd | 移動体の針路計画変更システムおよび針路計画変更方法 |
JP3781370B2 (ja) * | 2002-11-19 | 2006-05-31 | 本田技研工業株式会社 | 移動装置 |
EP1586423B1 (en) * | 2002-12-10 | 2011-10-05 | Honda Motor Co., Ltd. | Robot control device, robot control method, and robot control program |
JP2004258967A (ja) * | 2003-02-26 | 2004-09-16 | Matsushita Electric Ind Co Ltd | 移動作業ロボット |
JP2005316759A (ja) * | 2004-04-28 | 2005-11-10 | Mitsubishi Heavy Ind Ltd | 移動体の障害物回避方法及び該移動体 |
DE102004043514A1 (de) | 2004-09-08 | 2006-03-09 | Sick Ag | Verfahren und Vorrichtung zum Steuern einer sicherheitsrelevanten Funktion einer Maschine |
JP4348276B2 (ja) * | 2004-11-02 | 2009-10-21 | 本田技研工業株式会社 | ロボット制御装置 |
JP4432912B2 (ja) * | 2006-02-07 | 2010-03-17 | 富士通株式会社 | ロボットの移動制御方法、および移動ロボット |
JP4579191B2 (ja) * | 2006-06-05 | 2010-11-10 | 本田技研工業株式会社 | 移動体の衝突回避システム、プログラムおよび方法 |
JP4699426B2 (ja) | 2006-08-08 | 2011-06-08 | パナソニック株式会社 | 障害物回避方法と障害物回避移動装置 |
US8170287B2 (en) * | 2007-10-26 | 2012-05-01 | Honda Motor Co., Ltd. | Real-time self collision and obstacle avoidance |
WO2009055707A1 (en) * | 2007-10-26 | 2009-04-30 | Honda Motor Co., Ltd. | Real-time self collision and obstacle avoidance |
JP5044011B2 (ja) * | 2008-03-06 | 2012-10-10 | パナソニック株式会社 | マニピュレータおよびその制御方法 |
US8587402B2 (en) * | 2008-03-07 | 2013-11-19 | Palm, Inc. | Context aware data processing in mobile computing device |
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 |
JP5215740B2 (ja) * | 2008-06-09 | 2013-06-19 | 株式会社日立製作所 | 移動ロボットシステム |
JP2011056646A (ja) * | 2009-09-14 | 2011-03-24 | Canon Inc | ロボットアームの制御方法 |
US20120061155A1 (en) * | 2010-04-09 | 2012-03-15 | Willow Garage, Inc. | Humanoid robotics system and methods |
US20110298579A1 (en) * | 2010-06-08 | 2011-12-08 | Cedes Safety & Automation Ag | Dynamically adaptable safety zones |
JP5978028B2 (ja) * | 2012-06-28 | 2016-08-24 | 本田技研工業株式会社 | 移動ロボットの制御装置 |
EP2933065A1 (en) | 2014-04-17 | 2015-10-21 | Aldebaran Robotics | Humanoid robot with an autonomous life capability |
EP2952300A1 (en) | 2014-06-05 | 2015-12-09 | Aldebaran Robotics | Collision detection |
EP2952993B1 (en) | 2014-06-05 | 2018-04-25 | Softbank Robotics Europe | Method for building a map of probability of one of absence and presence of obstacles for an autonomous robot |
-
2014
- 2014-06-05 ES ES14305850T patent/ES2773136T3/es active Active
- 2014-06-05 EP EP14305850.1A patent/EP2952301B1/en active Active
-
2015
- 2015-06-05 RU RU2016152159A patent/RU2016152159A/ru not_active Application Discontinuation
- 2015-06-05 MX MX2016015824A patent/MX2016015824A/es unknown
- 2015-06-05 KR KR1020177000395A patent/KR101986919B1/ko active IP Right Grant
- 2015-06-05 SG SG11201609651QA patent/SG11201609651QA/en unknown
- 2015-06-05 JP JP2016571047A patent/JP6567563B2/ja not_active Expired - Fee Related
- 2015-06-05 BR BR112016028357A patent/BR112016028357A2/pt not_active Application Discontinuation
- 2015-06-05 AU AU2015270458A patent/AU2015270458B2/en not_active Ceased
- 2015-06-05 CA CA2950979A patent/CA2950979C/en not_active Expired - Fee Related
- 2015-06-05 WO PCT/EP2015/062603 patent/WO2015185738A2/en active Application Filing
- 2015-06-05 CN CN201580029777.3A patent/CN106573377B/zh not_active Expired - Fee Related
- 2015-06-05 NZ NZ728053A patent/NZ728053A/en not_active IP Right Cessation
- 2015-06-05 US US15/311,800 patent/US10179406B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
AU2015270458A1 (en) | 2016-12-22 |
AU2015270458B2 (en) | 2018-05-10 |
SG11201609651QA (en) | 2016-12-29 |
KR20170042547A (ko) | 2017-04-19 |
WO2015185738A3 (en) | 2016-01-21 |
CN106573377A (zh) | 2017-04-19 |
CA2950979C (en) | 2019-06-04 |
CN106573377B (zh) | 2019-12-10 |
US20170080565A1 (en) | 2017-03-23 |
EP2952301B1 (en) | 2019-12-25 |
MX2016015824A (es) | 2017-10-04 |
NZ728053A (en) | 2018-06-29 |
EP2952301A1 (en) | 2015-12-09 |
KR101986919B1 (ko) | 2019-06-07 |
JP2017516670A (ja) | 2017-06-22 |
RU2016152159A (ru) | 2018-07-10 |
US10179406B2 (en) | 2019-01-15 |
RU2016152159A3 (es) | 2018-09-05 |
WO2015185738A2 (en) | 2015-12-10 |
CA2950979A1 (en) | 2015-12-10 |
JP6567563B2 (ja) | 2019-08-28 |
BR112016028357A2 (pt) | 2017-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2773136T3 (es) | Robot humanoide con capacidades para evitar colisiones y de recuperación de trayectoria | |
ES2675363T3 (es) | Procedimiento de construcción de un mapa de probabilidad entre la ausencia y la presencia de obstáculos para un robot autónomo | |
ES2617307T3 (es) | Un procedimiento de localización de un robot en un plano de localización | |
JP6715952B2 (ja) | バランスのとれた運動および行動能力が向上した移動型ロボット | |
EP2590042A1 (en) | Mobile apparatus performing position recognition using several local filters and a fusion filter | |
KR20130090119A (ko) | 로봇의 제어 장치 및 방법 | |
Zhang et al. | Human-robot interaction for assisted wayfinding of a robotic navigation aid for the blind | |
Wang et al. | What Makes Robots? Sensors, Actuators, and Algorithms | |
JP2013075342A (ja) | 関節角度予測装置及び関節角度予測方法 | |
Mutlu et al. | Indoor navigation and guidance of an autonomous robot vehicle by using wireless (ZigBee) cummunication | |
Nelson et al. | Automatic Site Reconstruction with a Mobile Robot and Scanning Laser Proximity Sensor | |
Kasim et al. | CAIRO-MM-1: Low cost autonomous mobile manipulator for research and education | |
Şahin | Unlimited-wokspace teleoperation |