ES2927258T3 - Control de acoplamiento de cargador de robot - Google Patents

Control de acoplamiento de cargador de robot Download PDF

Info

Publication number
ES2927258T3
ES2927258T3 ES18815880T ES18815880T ES2927258T3 ES 2927258 T3 ES2927258 T3 ES 2927258T3 ES 18815880 T ES18815880 T ES 18815880T ES 18815880 T ES18815880 T ES 18815880T ES 2927258 T3 ES2927258 T3 ES 2927258T3
Authority
ES
Spain
Prior art keywords
robot
pose
docking station
location
navigation
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
ES18815880T
Other languages
English (en)
Inventor
Thomas Moore
Bradley Powers
Hian Kai Kwa
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.)
Locus Robotics Corp
Original Assignee
Locus Robotics Corp
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 Locus Robotics Corp filed Critical Locus Robotics Corp
Application granted granted Critical
Publication of ES2927258T3 publication Critical patent/ES2927258T3/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, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0225Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving docking at a fixed facility, e.g. base station or loading bay
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L53/00Methods of charging batteries, specially adapted for electric vehicles; Charging stations or on-board charging equipment therefor; Exchange of energy storage elements in electric vehicles
    • B60L53/30Constructional details of charging stations
    • B60L53/35Means for automatic or assisted adjustment of the relative position of charging devices and vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0234Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
    • G05D1/0236Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons in combination with a laser
    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/60Other road transportation technologies with climate change mitigation effect
    • Y02T10/70Energy storage systems for electromobility, e.g. batteries
    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/60Other road transportation technologies with climate change mitigation effect
    • Y02T10/7072Electromobility specific charging systems or methods for batteries, ultracapacitors, supercapacitors or double-layer capacitors
    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T90/00Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
    • Y02T90/10Technologies relating to charging of electric vehicles
    • Y02T90/12Electric charging stations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Mechanical Engineering (AREA)
  • Electromagnetism (AREA)
  • Optics & Photonics (AREA)
  • Transportation (AREA)
  • Power Engineering (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Charge And Discharge Circuits For Batteries Or The Like (AREA)
  • Manipulator (AREA)

Abstract

Un método y sistema para acoplar un robot con una estación de acoplamiento del cargador, que incluye recibir una pose inicial y recibir una pose de acoplamiento asociada con la estación de acoplamiento del cargador del robot, realizar una primera navegación desde una ubicación a la pose inicial y realizar una segunda navegación de el robot desde la pose inicial hasta la pose de apareamiento. La segunda navegación puede proceder sustancialmente a lo largo de una trayectoria de arco desde la posición inicial hasta la posición de acoplamiento, por lo que, al llegar a la posición de acoplamiento, un puerto de carga eléctrica del robot se acopla con un conjunto de carga eléctrica. La trayectoria del arco puede estar asociada con una sección de un círculo único que tiene un radio y un centro equidistante de la pose inicial y la pose de acoplamiento. El control del error puede incluir un control proporcional y/o un control ponderado o cambiar entre los controles para mantener un error por debajo de un umbral. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Control de acoplamiento de cargador de robot
Referencia cruzada a solicitudes relacionadas
Esta solicitud reivindica el beneficio de la prioridad de la solicitud de patente US-15/821.650, que fue presentada el 22 de noviembre de 2017.
Campo de la invención
La invención descrita en la presente memoria se refiere a un sistema de carga eléctrica y, más particularmente, a la navegación de un robot a un sistema de carga eléctrica y al acoplamiento del robot al sistema de carga eléctrica.
Antecedentes de la invención
En muchas aplicaciones, los robots se utilizan para realizar funciones sustituyendo a seres humanos o para ayudar a los seres humanos a aumentar la productividad y la eficiencia. Una de tales aplicaciones es el completado de pedidos, que se realiza, de forma típica, en un almacén grande lleno de productos a enviar a clientes que han hecho sus pedidos a través de internet para la entrega a domicilio. Completar tales pedidos a tiempo, y de forma precisa y eficiente constituye, como mínimo, un desafío logístico.
Por ejemplo, en una aplicación de compras por Internet en línea, hacer clic en el botón de “comprar” en un carrito de compras virtual crea un “ pedido” . El pedido incluye un listado de artículos que se enviarán a una dirección específica. El proceso de “cumplimiento” implica tomar o “ recoger” físicamente estos artículos de un almacén grande, empaquetarlos y enviarlos a la dirección designada.
Un objetivo importante del proceso de completado de los pedidos es, por lo tanto, enviar el máximo número de artículos en el menor tiempo posible. El proceso de recibir un pedido, planificar su cumplimiento, encontrar el estante o recipiente de almacenamiento, recoger el producto y repetir el proceso para cada artículo del pedido, entregando luego el pedido a una estación de envío es una labor repetitiva e intensiva. En un almacén de con miles o decenas de miles de artículos de un inventario que se renueva rápidamente, los robots juegan un papel crítico para garantizar un completado a tiempo y eficiente de los pedidos. Además, los productos que finalmente serán enviados primero necesitan ser recibidos en el almacén y almacenados o “colocados” en depósitos de almacenamiento de manera ordenada a lo largo del almacén para que puedan ser recuperados fácilmente para su envío.
El uso de robots para realizar funciones de recogida y colocación puede hacerse mediante el robot solo o con la ayuda de operarios humanos. Las funciones de recogida y colocación o de existencias, se realicen o no con interacción humana, requiere que el robot navegue desde su ubicación actual hasta un almacenamiento de productos objetivo o ubicación del “depósito” . Un método de navegación por un robot en un almacén de completado de pedidos utiliza un modelo espacial o “ mapa” del almacén, almacenado localmente y actualizado por el robot, para permitir que el robot funcione de forma autónoma o semiautónoma a medida que realiza las tareas de completado de pedidos asignadas. El mapa es una representación digital del almacén, de sus lugares de almacenamiento, obstáculos y otras características. Para llegar a un recipiente de productos en presencia de obstáculos estacionarios y dinámicos, el robot realiza operaciones de procesamiento en el mapa para determinar su situación actual y para recalibrar continuamente su movimiento a lo largo del trayecto objetivo.
Los robots se alimentan por electricidad, que se almacena en baterías integradas del robot. Con todos los desplazamientos que hacen los robots alrededor del almacén, se deben recargar regularmente. Por lo tanto, para que la operación funcione suavemente, es un requisito una manera eficiente y eficaz de cargar los robots. Para la navegación general dentro de un almacén, el tamaño y la resolución del mapa deberán ser tales que un robot pueda navegar con éxito a su ubicación de destino, mientras evita obstáculos a lo largo de su trayecto objetivo. El procesamiento en el mapa de depósito, sin embargo, puede requerir demasiado procesamiento y dar como resultado una localización y control demasiado imprecisos cuando se necesita localización y control más precisos, tal como cuando se acopla el robot a una estación de carga del robot.
Lo que se necesita es un enfoque computacionalmente eficaz para localizar y controlar el robot durante el acoplamiento de un robot a una estación de carga del robot.
Breve descripción de la invención
Los beneficios y ventajas de la presente invención sobre los sistemas existentes resultarán fácilmente evidentes a partir de la Breve descripción de la invención y la Descripción detallada a continuación. Un experto en la técnica apreciará que los principios de la presente invención pueden ponerse en práctica con realizaciones distintas a las resumidas o descritas a continuación.
En un aspecto de la invención, existe un método para navegar un robot para acoplarse con una estación de acoplamiento de cargador. El método puede incluir recibir una pose inicial asociada a una estación de acoplamiento de cargador de robot, recibir una pose de unión asociada a la estación de acoplamiento de cargador de robot, realizar una primera navegación de un robot desde una pose actual hasta la pose inicial y realizar una segunda navegación del robot desde la pose inicial hasta la pose de unión. La segunda navegación del robot puede desarrollarse sustancialmente a lo largo de un trayecto de arco desde la pose inicial hasta la pose de unión. Por lo tanto, al llegar a la pose de unión, un puerto de carga eléctrica del robot se une a un conjunto de carga eléctrica de la estación de acoplamiento de cargador.
En una realización del primer aspecto, el trayecto de arco desde la pose inicial hasta la pose de unión puede estar asociado a una sección de un círculo único que tiene un radio y un centro equidistante a una primera ubicación asociada a la pose inicial y a una segunda ubicación asociada a la pose de unión. En algunas realizaciones, una velocidad lineal instantánea y una velocidad angular instantánea del robot en una pose a lo largo del trayecto de arco se mantienen en una relación sustancialmente constante con el radio. Controlar un error de rotación del robot utilizando dicha relación puede incluir emitir un control proporcional y/o un control ponderado. En otras realizaciones, unos parámetros de ponderación pueden ajustarse en una relación no lineal como una función de la distancia a la estación de carga.
En las realizaciones anteriores, un método para controlar el error del robot a lo largo del trayecto de arco puede incluir cerrar el error de rotación con un control proporcional hasta que el error descienda por debajo de un umbral, darle a una velocidad lineal un valor fijo, controlar el robot según un control ponderado, actualizar constantemente un radio y un error de rotación y, cuando se supere un umbral, cambiar el control del control ponderado al control proporcional hasta que el error vuelva a estar por debajo del umbral.
En un segundo aspecto, hay un robot móvil configurado para navegar desde una ubicación actual hasta y acoplarse con una estación de acoplamiento de cargador para recargarse. El robot móvil puede incluir una base móvil con ruedas que tiene un puerto de carga eléctrica y un procesador. El procesador de la base móvil con ruedas puede configurarse para obtener una pose inicial asociada a la estación de acoplamiento de cargador, obtener una pose de unión asociada a la estación de acoplamiento de cargador, hacer navegar la base móvil con ruedas desde la ubicación actual hasta a la pose inicial y hacer navegar la base móvil con ruedas desde la pose inicial hasta la pose de unión. En algunas realizaciones, la base móvil con ruedas puede avanzar sustancialmente a lo largo de un trayecto de arco desde la pose inicial hasta la pose de unión, lo que hará que el puerto de carga eléctrica de la base con ruedas se una a un conjunto de carga eléctrica de la estación de cargador de robot.
En una realización del segundo aspecto, el trayecto de arco desde la pose inicial hasta la pose de unión puede estar asociado a una sección de un círculo único que tiene un radio y un centro equidistante a una primera ubicación asociada a la pose inicial y a una segunda ubicación asociada a la pose de unión. En algunas realizaciones, una velocidad lineal instantánea y una velocidad angular instantánea del robot en una pose a lo largo del trayecto de arco se mantienen en una relación sustancialmente constante con el radio. Controlar un error de rotación del robot utilizando dicha relación puede incluir emitir un control proporcional y/o un control ponderado. En otras realizaciones, unos parámetros de ponderación pueden ajustarse en una relación no lineal como una función de la distancia a la estación de carga.
En las realizaciones anteriores, el control del error del robot a lo largo del trayecto de arco puede incluir cerrar el error de rotación con un control proporcional hasta que el error descienda por debajo de un umbral, darle a una velocidad lineal un valor fijo, controlar el robot según un control ponderado, actualizar constantemente un radio y un error de rotación y, cuando se supere un umbral, cambiar el control del control ponderado al control proporcional hasta que el error vuelva a estar por debajo del umbral.
En un tercer aspecto, hay un sistema de robot que incluye un transceptor, un procesador de datos y un dispositivo de almacenamiento de datos que tiene instrucciones almacenadas en el mismo para su ejecución por el procesador de datos. Las instrucciones para su ejecución por el procesador de datos pueden configurarse para recibir una pose inicial asociada a una estación de acoplamiento de cargador de robot, recibir una pose de unión asociada a la estación de acoplamiento de cargador de robot, realizar una primera navegación de un robot desde una pose actual hasta la pose inicial y realizar una segunda navegación del robot desde la pose inicial hasta la pose de unión. En algunas realizaciones, la segunda navegación puede desarrollarse sustancialmente a lo largo de un trayecto de arco desde la pose inicial hasta la pose de unión, lo cual hará que el puerto de carga eléctrica de la base con ruedas se una a un conjunto de carga eléctrica de la estación de cargador de robot.
En una realización del tercer aspecto, el trayecto de arco desde la pose inicial hasta la pose de unión puede estar asociado a una sección de un círculo único que tiene un radio y un centro equidistante a una primera ubicación asociada a la pose inicial y a una segunda ubicación asociada a la pose de unión. En algunas realizaciones, una velocidad lineal instantánea y una velocidad angular instantánea del robot, en una pose a lo largo del trayecto de arco, se mantienen en una relación sustancialmente constante con el radio. Controlar un error de rotación del robot utilizando dicha relación puede incluir emitir un control proporcional y/o un control ponderado.
En otras realizaciones, los parámetros de ponderación del control ponderado pueden ajustarse en una relación no lineal como una función de la distancia a la estación de carga. En las realizaciones anteriores, el control del error del robot a lo largo del trayecto de arco puede incluir cerrar el error de rotación con un control proporcional hasta que el error descienda por debajo de un umbral, darle a una velocidad lineal un valor fijo, controlar el robot según un control ponderado, actualizar constantemente un radio y un error de rotación y, cuando se supere un umbral, cambiar el control del control ponderado al control proporcional hasta que el error vuelva a estar por debajo del umbral.
Estas y otras características de la invención resultarán evidentes de la siguiente descripción detallada y de las figuras adjuntas.
Breve descripción de las figuras
Las realizaciones de la presente invención se describirán ahora, únicamente a modo de ejemplo, con referencia a las figuras adjuntas, en donde:
La Fig. 1 es una vista en planta superior de un almacén de completado de pedidos;
la Fig. 2A es una vista frontal en alzado de una base de uno de los robots utilizados en el almacén mostrado en la Fig. 1; la Fig. 2B es una vista en perspectiva de una base de uno de los robots utilizados en el almacén mostrado en la Fig. 1; la Fig. 3 es una vista en perspectiva del robot mostrado en las Figs. 2A y 2B equipado con un armazón y estacionado delante de un estante mostrado en la Fig. 1;
la Fig. 4 es un mapa parcial del almacén de la Fig. 1 creado utilizando un radar láser en el robot;
la Fig. 5 es un diagrama de flujo que representa el proceso para localizar marcadores fiduciarios dispersos por todo el almacén y almacenar las poses de marcador fiduciario;
la Fig. 6 es una tabla del mapeado de las identificaciones fiduciarias con las poses;
la Fig. 7 es una tabla del mapeado de las ubicaciones de recipiente con las identificaciones fiduciarias;
la Fig. 8 es un diagrama de flujo que representa el proceso de mapeado de las referencias de producto con las poses;
la Fig. 9 es una vista frontal de un conjunto de carga eléctrica según esta invención;
la Fig. 10 es una vista lateral en alzado del conjunto de carga eléctrica de la Fig. 9;
la Fig. 11 es una vista en perspectiva del puerto de carga eléctrica de la Fig. 10;
la Fig. 12 es una vista en sección transversal del conjunto de carga eléctrica unido al puerto de carga eléctrica; la Fig. 13A es una vista en perspectiva de la estación de acoplamiento de cargador según esta invención;
la Fig. 13B es una vista en perspectiva de la estación de acoplamiento de cargador de la Fig. 14A con la cubierta exterior retirada que representa el interior de la estación de acoplamiento de cargador;
la Fig. 14A es una vista frontal de la estación de acoplamiento de cargador de la Fig. 13A;
la Fig. 14B es la vista frontal de la estación de acoplamiento de cargador de la Fig. 14A con la cubierta exterior retirada que representa el interior de la estación de acoplamiento de cargador;
la Fig. 15A es una vista lateral izquierda de la estación de acoplamiento de cargador de la Fig. 13A;
la Fig. 15B es la vista lateral izquierda de la estación de acoplamiento de cargador de la Fig. 15A con la cubierta exterior retirada que representa el interior de la estación de acoplamiento de cargador;
la Fig. 16A es una vista en perspectiva posterior de la estación de acoplamiento de cargador de la Fig. 13A;
la Fig. 16B es la vista lateral izquierda de la estación de acoplamiento de cargador de la Fig. 16A con la cubierta exterior retirada que representa el interior de la estación de acoplamiento de cargador;
la Fig. 17 es una vista superior de la estación de acoplamiento de cargador de la Fig. 13A mostrada con un robot acoplado; la Fig. 18 es una vista esquemática de un robot acoplándose con la estación de carga según un aspecto de esta invención;
la Fig. 19 muestra una realización de un sistema robótico para su uso con los métodos y sistemas de la presente invención;
la Fig. 20 representa una navegación de un robot desde una lugar actual hasta una ubicación de destino a través de un entorno de almacén representado por un mapa espacial;
la Fig. 21 representa una navegación de un robot en un entorno de almacén representado por un mapa SLAM, según un aspecto de la invención;
las Figs. 22A y 22B representan la obtención de un resultado de telemetría mediante un barrido local procedente de un escáner de radar láser de un robot en una ubicación dentro del entorno espacial;
las Figs. 23A y 23B ilustra una coincidencia de barridos para encontrar la pose de un robot utilizando de la traslación desde un barrido desalineado hasta un barrido alineado para determinar la pose actual;
la Fig. 24 ilustra un método para hacer navegar un robot para mover el robot a lo largo de un trayecto global, según un aspecto de la invención;
la Fig. 25 representa el acoplamiento del robot a la estación de acoplamiento de cargador según una realización de acoplamiento utilizando una localización de mayor resolución.
La Fig. 26 representa el acoplamiento del robot a la estación de acoplamiento de cargador según una realización alternativa de acoplamiento de precisión utilizando una localización de mayor resolución.
La Fig. 27 ilustra un método de navegación de un robot para mover el robot desde una pose inicial cerca de una estación de acoplamiento de cargador hasta una pose de unión de la estación de acoplamiento, según un aspecto de acoplamiento de precisión;
la Fig. 28 representa el acoplamiento del robot a la estación de acoplamiento de cargador según una realización de acoplamiento utilizando una coincidencia de escaneo.
La Fig. 29 representa el acoplamiento del robot a la estación de acoplamiento de cargador según una realización de acoplamiento de precisión utilizando un control de arco.
La Fig. 30 ilustra un método de acoplamiento de precisión utilizando un control de arco para acoplar el robot a la estación de acoplamiento de cargador, según una realización de acoplamiento de precisión con control de errores;
la Fig. 31 ilustra una realización de acoplamiento de precisión utilizando un control de arco para acoplar el robot a la estación de acoplamiento de cargador utilizando un acoplamiento de precisión con control de errores.
Descripción detallada de la invención
La descripción y las diversas características y detalles ventajosos de la misma se explican más completamente con referencia a las realizaciones y ejemplos no limitativos que se describen y/o ilustran en las figuras adjuntas y que se detallan en la siguiente descripción. Cabe señalar que las características ilustradas en las figuras no están necesariamente dibujadas a escala, y las características de una realización pueden emplearse con otras realizaciones como reconocerá el experto, aun cuando no se mencione explícitamente en la presente memoria. Las descripciones de componentes y técnicas de procesamiento bien conocidos pueden omitirse para no desdibujar innecesariamente las realizaciones de la descripción. Los ejemplos utilizados en la presente descripción pretenden simplemente facilitar una comprensión de los modos en que puede ponerse en práctica la descripción y permitir, además, que los expertos en la técnica pongan en práctica las realizaciones de la descripción. En consecuencia, los ejemplos y realizaciones de la presente descripción no deben interpretarse como limitantes del alcance de la descripción. Además, se observa que números de referencia similares representan partes similares a lo largo de las diversas vistas de las figuras.
La invención está dirigida al acoplamiento de robots a un sistema de carga eléctrica. Aunque no se restringe a ninguna aplicación de robot particular, una aplicación adecuada en la que puede usarse la invención es el cumplimiento de órdenes. El uso de robots en esta solicitud se describirá para proporcionar contexto para acoplar el robot a un sistema de carga eléctrica.
Aunque la descripción proporcionada en la presente descripción se centra en recoger artículos de localizaciones de recipientes en el almacén para completar un pedido de envío a un cliente, el sistema es igualmente aplicable al almacenamiento o a la colocación de artículos recibidos en el almacén en localizaciones en todo el almacén para su posterior recuperación y envío a un cliente. La invención también es aplicable a tareas de control de inventarios asociadas a tal sistema de almacén, tales como consolidación, recuento, verificación, inspección y limpieza de productos. Estos y otros beneficios y ventajas serán claramente evidentes de los ejemplos e ilustraciones que se describen a continuación.
Haciendo referencia a la Fig. 1, un almacén 10 de completado de pedidos típico incluye unos estantes 12 llenos de los diversos artículos que podrían incluirse en un pedido 16. En funcionamiento, el pedido 16 procedente del servidor 15 de gestión de almacén llega a un servidor 14 de pedidos. El servidor 14 de pedidos comunica el pedido 16 a un robot 18 seleccionado de una pluralidad de robots que se mueven por el almacén 10. También se muestra el área 19 de carga, que es donde pueden estar situadas una o más estaciones de carga según un aspecto de la invención.
En una realización preferida, un robot 18, mostrado en las Figs. 2A y 2B, incluye una base 20 con ruedas autónoma que cuenta con un radar por láser 22. La base 20 incorpora también un transceptor (no mostrado) que permite que el robot 18 reciba instrucciones desde el servidor 14 de pedidos, y un par de cámaras ópticas digitales 24a y 24b. La base de robot también incluye un puerto 26 de carga eléctrica (representado con más detalle en las Figs. 10 y 11) para recargar las baterías que alimentan la base 20 con ruedas autónoma. La base 20 presenta, además, un procesador (no se muestra) que recibe datos desde las cámaras 24a y 24b de láser y radar para capturar información representativa del entorno del robot. Existe una memoria (no mostrada) que funciona con el procesador para llevar a cabo diversas tareas asociadas a la navegación dentro del almacén 10, así como para navegar hasta un marcador fiduciario 30 puesto en los estantes 12, como se muestra en la Fig. 3. El marcador fiduciario 30 (por ejemplo, un código de barras bidimensional) corresponde al recipiente/localización de un artículo pedido. El enfoque de navegación de esta invención se describe con detalle más adelante con respecto a las Figs. 4-8. Los marcadores fiduciarios también se utilizan para identificar estaciones de carga según un aspecto de esta invención y la navegación a tales marcadores fiduciarios de estación de carga es la misma que la navegación al recipiente/localización de los artículos pedidos. Una vez que los robots navegan a una estación de carga, se utiliza un enfoque de navegación más preciso para acoplar el robot a la estación de carga y a continuación se describe este enfoque de navegación.
Haciendo referencia de nuevo a la Fig. 2B, la base 20 incluye una superficie superior 32 en la que podría almacenarse una bolsa o recipiente para llevar artículos. También se muestra un acoplamiento 34 que se acopla a uno cualquiera de una pluralidad de armazones intercambiables 40, uno de los cuales se muestra en la Fig. 3. El armazón 40 particular de la Fig. 3 presenta un portabolsas 42 (en este caso, un estante) para llevar una bolsa 44 que recibe artículos, y un medio de tablet (o de ordenador portátil u otro dispositivo de entrada de usuario) 46 para soportar una tablet 48. En algunas realizaciones, el armazón 40 soporta una o más bolsas para llevar artículos. En otras realizaciones, la base 20 soporta una o más bolsas para transportar los artículos recibidos. Como se usa en la presente descripción, el término “ bolsa” incluye, sin limitarse a, soportes de carga, cajones, jaulas, anaqueles, varillas desde las cuales se pueden colgar artículos, chaflanes, cajas, sacos, soportes, botes, contenedores y repositorios.
Aunque un robot 18 se destaca al moverse alrededor del almacén 10, con la tecnología de robot actual, no es muy bueno para recoger elementos rápida y eficientemente de un anaquel y colocarlos en la bolsa 44 debido a las dificultades técnicas asociadas con la manipulación robótica de objetos. Una forma más eficiente de recoger artículos es utilizar un operario local 50, que es de forma típica humano, para llevar a cabo la tarea de retirar físicamente un artículo ordenado de un estante 12 y ponerlo en el robot 18, por ejemplo, en la bolsa 44. El robot 18 comunica el pedido al operario 50 local a través de la tablet 48 (o portátil/otro dispositivo de entrada de usuario), que el operario 50 local pueda leer, o transmitir el pedido a un dispositivo portátil utilizado por el operario 50 local.
Al recibir un pedido 16 procedente del servidor 14 de pedidos, el robot 18 avanza hasta una primera localización de almacén, por ejemplo, como se muestra en la Fig. 3. Lo hace basándose en el software de navegación almacenado en la memoria y ejecutado por el procesador. El software de navegación depende de los datos relativos al entorno, según lo recogido por el láser-radar 22, una tabla interna en la memoria que identifica el identificador fiduciario (“ ID” ) del marcador fiduciario 30 que corresponde a una ubicación en el almacén 10 donde puede encontrarse un elemento particular, y las cámaras 24a y 24b para navegar.
Después de alcanzar la localización correcta, el robot 18 estaciona delante de un estante 12 en el que se almacena el artículo y espera a que un operario 50 local recupere el artículo del estante 12 y lo coloque en una bolsa 44. Si el robot 18 tiene otros artículos que recuperar, se dirige a esas localizaciones. El(los) artículo(s) recuperado(s) por el robot 18 se entrega(n) luego a una estación 100 de envasado (Fig. 1) en la que se envasan y envían.
Los expertos en la técnica entenderán que cada robot puede completar uno o más pedidos y cada pedido puede consistir en uno o más artículos. De forma típica, se incluiría alguna forma de software de optimización de ruta para aumentar la eficiencia, pero esto está más allá del ámbito de esta invención y, por lo tanto, no se describe en la presente memoria.
Para simplificar la descripción de la invención, se describe un solo robot 18 y operario 50. Sin embargo, como resulta evidente de la Fig. 1, una operación de preparación típica incluye muchos robots y operarios que trabajan juntos en el almacén para preparar un flujo continuo de pedidos.
A continuación, con respecto a las Figs.4-8, se describen detalladamente el enfoque de navegación de esta invención, así como el mapeo semántico de un SKU de un artículo a recuperar con respecto a una ID fiduciaria/pose asociada a un marcador fiduciario en el almacén en donde está situado el artículo. Como se ha mencionado anteriormente, puede utilizarse el mismo enfoque de navegación para permitir que el robot navegue a una estación de carga para recargar su batería.
Utilizando uno o más robots 18, debe crearse y actualizarse dinámicamente un mapa del almacén 10 para determinar la localización de objetos, tanto estáticos como dinámicos, así como las localizaciones de varios marcadores fiduciarios dispersos por todo el almacén. Para ello, uno de los robots 18 navega por el almacén y construye/actualiza un mapa 10a (Fig. 4) utilizando su radar láser 22 y la técnica de simultaneous localization and mapping (localización y mapeado simultáneos - SLAM), que es un método de cálculo para construir o actualizar un mapa virtual de un entorno desconocido. Los métodos populares de solución aproximados SLAM incluyen el filtro de partículas y el filtro extendido de Kalman. El enfoque SLAM GMapping es el enfoque preferido, pero puede utilizarse cualquier enfoque SLAM adecuado.
El robot 18 utiliza su radar por láser 22 para crear/actualizar el mapa 10a del almacén 10 a medida que el robot 18 se desplaza por todo el espacio identificando el espacio abierto 112, las paredes 114, los objetos 116 y otros obstáculos estáticos, tales como los estantes 12a en el espacio, sobre la base de los reflejos que recibe a medida que el radar por láser explora el entorno.
Mientras se construye el mapa 10a, o con posterioridad, uno o más robots 18 navegan por el almacén 10 utilizando las cámaras 24a y 24b para barrer el entorno y localizar marcadores fiduciarios (códigos de barras bidimensionales) dispersos por el almacén en estantes próximos a recipientes, tales como 32 y 34 (Fig. 3), en los que se almacenan los artículos. Los robots 18 utilizan un punto u origen de referencia conocido, como el origen 110. Cuando el robot 18 localiza un marcador fiduciario, como el marcador fiduciario 30 (Figs. 3 y 4), utilizando sus cámaras 24a y 24b, se determina la localización en el almacén en relación con el origen 110. Mediante el uso de dos cámaras, una a cada lado de la base del robot, como se muestra en la Fig. 2A, el robot 18 puede tener un campo visual relativamente amplio (por ejemplo, 120 grados) que se extiende desde ambos lados del robot. Esto permite que el robot vea, por ejemplo, marcadores fiduciarios en ambos lados del robot a medida que se desplaza arriba y abajo de los pasillos de estantes.
Mediante el uso de codificadores de rueda y sensores de cabecera, puede determinarse el vector 120, y la posición del robot en el almacén 10. Utilizando la imagen capturada de un marcador fiduciario/código de barras bidimensional y su tamaño conocido, el robot 18 puede determinar la orientación con respecto a y la distancia del robot del vector 130 de marcador fiduciario/código de barras bidimensional. Con los vectores 120 y 130 conocidos, puede determinarse el vector 140, entre el origen 110 y el marcador fiduciario 30. A partir del vector 140 y la orientación determinada del marcador fiduciario/código de barras bidimensional con relación al robot 18, puede determinarse la posición (posición y orientación) definida por una cuaternización (x, y, z, w) para el marcador fiduciario 30.
Se describe el diagrama de flujo 200 (Fig. 5) que describe el proceso de localización de marcadores fiduciarios. Esto se lleva a cabo en un modo de mapeo inicial y a medida que el robot 18 encuentra nuevos marcadores fiduciarios en el almacén mientras se realiza la recogida, colocación y/u otras tareas. En la etapa 202, el robot 18, utilizando las cámaras 24a y 24b, captura una imagen, y en la etapa 204 busca marcadores fiduciarios en las imágenes capturadas. En una etapa 206, si en la imagen se encuentra un marcador fiduciario (etapa 204), se determina si el marcador fiduciario ya está almacenado en la tabla fiduciaria 300 (Fig. 6), que está situada en una memoria 34 del robot 18. Si la información fiduciaria ya está almacenada en la memoria, el diagrama de flujo vuelve a la etapa 202 para capturar otra imagen. Si no está en memoria, la posición se determina de acuerdo con el proceso descrito anteriormente y en la etapa 208, se añade de manera fiduciario para poner la tabla 300 de búsqueda.
En la tabla 300 de búsqueda, que puede almacenarse en la memoria de cada robot, se incluye para cada marcador fiduciario una identificación fiduciaria, 1, 2, 3, etc., y una pose para el marcador fiduciario/código de barras asociado a cada identificación fiduciaria. La posición consiste en las coordenadas x,y,z en el almacén junto con la orientación o la cuaternización (x,y,z, w).
En otra tabla 400 de consulta (Fig. 7), que también puede estar almacenada en la memoria de cada robot, hay una lista de ubicaciones de recipiente (p. ej., 402a-f) dentro del almacén 10, que están correlacionadas con identificadores fiduciarios 404 particulares, por ejemplo, el número “ 11” . Las localizaciones de los recipientes, en este ejemplo, consisten en siete caracteres alfanuméricos. Los primeros seis caracteres (por ejemplo, L01001) corresponden a la localización del estante dentro del almacén y el último carácter (por ejemplo, A-F) identifica el recipiente específico en la localización del estante. En este ejemplo, hay seis ubicaciones de depósitos diferentes asociadas con el ID fiduciario “ 11” . Puede haber uno o más recipientes asociados a cada ID/marcador fiduciario. Las estaciones de carga situadas en el zona 19 de carga (Fig. 1) también pueden estar almacenadas en la tabla 400 y correlacionadas con ID fiduciarias. La pose de la estación de carga puede encontrarse en la tabla 300 a partir de los ID fiduciarias (Fig. 6).
Las localizaciones de recipiente alfanuméricas son comprensibles por seres humanos, por ejemplo, el operario 50 (Fig. 3), como que corresponden a una localización física en el almacén 10 en donde se almacenan artículos. Sin embargo, no tienen sentido para el robot 18. Mapeando las localizaciones a las ID fiduciarias, el robot 18 puede determinar la posición de la ID fiduciaria utilizando la información en la Tabla 300, Fig. 6 y, después, navegar hasta la pose como se describe en la presente memoria.
El proceso de completado de pedidos según esta invención se ilustra en el diagrama de flujo 500 de la Fig. 8. En una etapa 502, el sistema 15 de gestión del almacén (Fig. 1) obtiene un pedido, que puede consistir en uno o más artículos a recuperar. En la etapa 504, el(los) número(s) SKU de los artículos se determina(n) por el sistema 15 de gestión de depósitos, y a partir del(de los) número(s) SKU, la(s) ubicación(es) de los depósitos se determina(n) en la etapa 506. Una lista de localizaciones de los recipientes para el pedido se transmite después al robot 18. En la etapa 508, el robot 18 correlaciona las localizaciones de los recipientes con ID fiduciaria y a partir de la ID fiduciaria, se obtiene la pose de cada ID fiduciaria en la etapa 510. En una etapa 512, el robot 18 navega hasta la pose como se muestra en la Fig. 3, donde un operario puede seleccionar el artículo a recuperar del recipiente apropiado y ponerlo en el robot.
La información específica de un artículo, tal como el número SKU y la localización del recipiente, obtenida por el sistema 15 de gestión del almacén, puede transmitirse a la tablet 48 en el robot 18, de modo que el operario 50 pueda ser informado de los artículos particulares a recuperar cuando el robot llega a cada localización de marcador fiduciario.
Con el mapa SLAM y la pose de la ID fiduciaria conocida, el robot 18 puede navegar fácilmente a cualquiera de las ID fiduciarias utilizando diversas técnicas de navegación de robot. El enfoque preferido implica establecer una ruta inicial al marcador fiduciario planteado dado el conocimiento del espacio abierto 112 en el almacén 10 y de las paredes 114, estantes (tal como el estante 12) y otros obstáculos 116. A medida que el robot comienza a atravesar el almacén mediante el uso de su radar láser 22, determina si hay obstáculos en su trayecto, ya sea fijos o dinámicos, tales como otros robots 18 y/u operadores 50, y actualiza iterativamente su trayecto a la posición del marcador fiduciario. El robot replanifica su ruta aproximadamente una vez cada 50 milisegundos, buscando constantemente el trayecto más eficiente y eficaz, al tiempo que evita obstáculos.
Generalmente, la localización del robot dentro del almacén 10a se logra mediante muchas coincidencias de exploración de múltiples resoluciones (M3RSM) que opera en el mapa virtual SLAM. En comparación con los métodos de fuerza bruta, M3RSM reduce drásticamente el tiempo de computación para que un robot realice el cierre de bucle SLAM y la coincidencia de barridos, dos etapas críticas en la determinación de la posición y localización del robot. La localización de robot se mejora aún más minimizando el espacio de búsqueda M3SRM según los métodos descritos en la solicitud de patente US-15/712.222 relacionada titulada MULTI-RESOLUTION SCAN MATCHING WITH EXCLUSION ZONES, presentada el 22 de septiembre de 2017 y se ha incorporado como referencia en su totalidad a la presente memoria.
Con el producto SKU/ID fiduciario a la técnica de mapeo de posición fiduciario combinado con la técnica de navegación SLAM, ambas descritas en la presente descripción, los robots 18 pueden navegar de forma muy eficiente y eficaz el espacio del almacén sin tener que utilizar, de forma típica, enfoques de navegación más complejos utilizados de forma típica, que impliquen líneas de cuadrícula y marcadores fiduciarios intermedios para determinar la localización dentro del almacén.
De forma general, la navegación en presencia de otros robots y obstáculos móviles en el almacén se logra mediante métodos de evitación de colisiones que incluyen el dynamic window approach (enfoque dinámico de ventana - DWA) y el optimal reciprocal collision avoidance (evitación óptima de colisiones recíprocas - ORCA). DWA calcula entre los trayectos de movimiento del robot factibles un movimiento incremental que evita colisiones con obstáculos y favorece el trayecto deseado para el marcador fiduciario objetivo. ORCA evitan de forma óptica colisiones con otros robots en movimiento sin requerir comunicación con el(los) otro(s) robot(s). La navegación procede como una serie de movimientos incrementales a lo largo de trayectos calculados en los intervalos de actualización de aproximadamente 50 ms. La evitación de colisiones puede mejorar aún más mediante las técnicas descritas en la solicitud de patente US-15/712.256 relacionada, titulada DYNAMIC WINDOW APPROACH USING OPTIMAL RECIPROCAL COLLISION AVOIDANCE COST-CRITIC, presentada el 22 de septiembre de 2017 e incorporada como referencia en su totalidad a la presente memoria.
Como se describió anteriormente, los robots 50 deben recargarse periódicamente. Además de marcar ubicaciones en el almacén donde se almacenan artículos, puede colocarse un marcador fiduciario en una o más estaciones de carga eléctrica dentro del almacén. Cuando el robot 18 tiene baja potencia, puede navegar a un marcador fiduciario ubicado en una estación de carga eléctrica de manera que pueda recargarse. Una vez que puede recargarse manualmente al hacer que un operador conecte el robot al sistema de carga eléctrica o el robot pueda usar su navegación para acoplarse a sí mismo en la estación de carga eléctrica.
Como se muestra en las Figs. 9 y 10, el conjunto 200 de carga eléctrica puede utilizarse en una estación de carga eléctrica. La unidad 200 de carga eléctrica incluye una base 202 de carga sobre la cual se dispone un primer miembro 204 terminal macho y un segundo miembro 206 terminal macho. Aunque no se muestra en esta figura, una entrada eléctrica positiva del servicio eléctrico en el almacén se fijaría a la base 202 de carga y se conectaría eléctricamente a uno del primer miembro 204 terminal macho o al segundo miembro 206 terminal macho. Además, se fijaría una entrada eléctrica negativa a la base 202 de carga y se conectaría eléctricamente al otro primer miembro 204 terminal macho o al segundo miembro 206 terminal macho.
El primer miembro 204 terminal macho tiene una primera base 210 fijada a y que se extiende ortogonalmente a lo largo de un primer eje 212 desde la superficie 214 de la base 202 de carga y termina en un primer contacto eléctrico 216. El primer contacto eléctrico 216 puede estar en la forma de una barra colectora de cobre que se extiende hacia la base 202 de carga a la cual se fijaría una de las conexiones eléctricas positivas o negativas. El segundo miembro 206 terminal macho tiene una segunda base 220 fijada a y que se extiende ortogonalmente a lo largo de un segundo eje 222 desde la superficie 214 de la base 202 de carga y termina en un segundo contacto eléctrico 226. El segundo contacto 226 eléctrico puede estar, además, en la forma de una barra colectora de cobre que se extiende hacia la base 202 de carga a la cual se fijaría la otra de las conexiones eléctricas positivas o negativas.
El primer miembro 204 terminal macho tiene una pluralidad de superficies externas, al menos dos de las cuales tienen una forma curva desde la primera base 210 hasta el primer contacto eléctrico 216 que forma una superficie cóncava. En la realización representada en las Figs. 9 y 10 hay tres superficies curvas; a saber, una superficie curva 230 superior y unas superficies curvas 232 y 234 laterales opuestas, curvándose las tres desde la primera base 210 hasta el primer contacto 216 eléctrico, con unos radios de curvatura particulares, formando superficies cóncavas. En esta realización, el radio de curvatura de las superficies curvas 232 y 234 laterales opuestas es aproximadamente 63,9 mm. El radio de curvatura de la superficie 230 curva superior es aproximadamente 218,7 mm. Se determinaron empíricamente para proporcionar una corrección de alineación optimizada. Se espera una mayor desalineación en la dirección horizontal que en la dirección vertical; por lo tanto, las superficies curvas laterales opuestas están provistas de un radio de curvatura más pequeño. Por supuesto, los radios de curvatura de las superficies curvas pueden variarse dependiendo de la aplicación.
Además, el primer miembro terminal macho 204 tiene una superficie plana 236 que es sustancialmente paralela al primer eje 212 y ortogonal a la superficie 214 de la base 202 de carga. La superficie plana 236 incluye una porción 238 de superficie cóncava próxima al primer contacto eléctrico 216.
El segundo miembro 206 terminal macho tiene una pluralidad de superficies externas, al menos dos de las cuales tienen una forma curva desde la segunda base 220 hasta el segundo contacto eléctrico 226, que forman una superficie cóncava. En la realización representada en las Figs. 9 y 10 hay tres superficies curvas; a saber, una superficie curva 240 inferior y unas superficies curvas242 y 244 laterales opuestas, las tres de las cuales se curvan desde la primera base 220 hasta el primer contacto eléctrico 226, con unos radios de curvatura particulares, formando unas superficies cóncavas. En esta realización, el radio de curvatura de las superficies curvas 242 y 244 laterales opuestas es aproximadamente 63,9 mm. El radio de curvatura de la superficie curva 240 superior es aproximadamente 218,7 mm. Se determinaron empíricamente para proporcionar una corrección de alineación optimizada. Se espera una mayor desalineación en la dirección horizontal que en la dirección vertical; por lo tanto, las superficies curvas laterales opuestas están provistas de un radio de curvatura más pequeño. Por supuesto, los radios de curvatura de las superficies curvas pueden variarse dependiendo de la aplicación.
Además, el segundo miembro 206 terminal macho tiene una superficie plana 246 que es sustancialmente paralela al segundo eje 222 y ortogonal a la superficie 214 de la base 202 de carga. La superficie plana 246 incluye una porción 248 de superficie ensanchada próxima al segundo contacto eléctrico 226.
Existe una cavidad 250 formada entre el primer miembro terminal macho 204 y el segundo miembro 206 terminal macho definida por la al menos una superficie plana 236 del primer miembro 204 terminal macho y la al menos una superficie plana 246 del segundo miembro 206 terminal macho. La cavidad 250 tiene una abertura 252 entre el primer contacto eléctrico 216 y el segundo contacto eléctrico 226. En la abertura 252, la porción 238 de superficie rebajada de la superficie plana 236 y la porción 248 de superficie ensanchada de la superficie plana 246 están presentes.
Haciendo de nuevo referencia a las Figs. 9 y 10, en la base 202 de carga hay dispuestos unos contactos metálicos 260a-e. Estos contactos metálicos se acoplan con los imanes correspondientes en el puerto 300 de carga eléctrica, descrito más adelante, y aseguran la unidad 200 de carga eléctrica y el puerto 300 de carga eléctrica en su lugar mientras se carga. Alternativamente, los imanes podrían disponerse en la base 202 de carga con los contactos metálicos en el puerto 300 de carga.
Si el robot se acopla a una estación de carga eléctrica fija, puede usar la cámara 24a y 24b para maniobrarla a su posición, de manera que el puerto 300 de carga eléctrica pueda acoplarse con la unidad 200 de carga eléctrica. Las cámaras pueden usar los marcadores fiduciarios asociados con la estación de carga como un punto de referencia para localización fina, que se describirá en mayor detalle más abajo. A medida que el robot se maniobra en posición, puede ser difícil lograr una alineación perfecta para el acoplamiento de los contactos eléctricos 216 y 226 de la unidad 200 eléctrica con los contactos eléctricos 304 y 306, respectivamente, del puerto 300 de carga eléctrica. Por lo tanto, la unidad 200 de carga eléctrica y el puerto 300 de carga eléctrica se han diseñado específicamente para asegurar un acoplamiento más fácil, más eficiente y menos problemático para permitir que los robots se recarguen eléctricamente más rápidamente.
Como puede verse en las Figs. 11 y 12, el puerto 300 de carga eléctrica incluye una primera cavidad 308 y una segunda cavidad 310, que están configuradas para recibir y acoplarse con el primer elemento 204 terminal macho y el segundo elemento 206 terminal macho, respectivamente, del conjunto 200 de carga eléctrica, a medida que la base 20a de robot se acopla. La cavidad 308 tiene superficies curvas cóncavas 312 que son complementarias a las superficies curvas 230, 232 y 234 del primer miembro 204 terminal macho. En otras palabras, la primera cavidad 308 puede incluir superficies curvas 312 que tienen radios de curvatura sustancialmente iguales a los radios de curvatura de las superficies curvas externas (230, 232 y 234) del primer miembro 204 terminal macho. Sustancialmente igual en este caso significa solo ligeramente más grande para permitir la inserción y la retirada del primer miembro 204 terminal macho en la cavidad 308. La cavidad 310 tiene, además, superficies curvas cóncavas 314 que son complementarias a las superficies curvas 240, 242 y 244 del segundo miembro 206 terminal macho. En otras palabras, la segunda cavidad 310 puede incluir superficies curvas 314 que tienen radios de curvatura sustancialmente iguales a los radios de curvatura de las superficies curvas externas (240, 242 y 244) del segundo miembro 206 terminal macho. Sustancialmente igual en este caso significa solo ligeramente más grande para permitir la inserción y la retirada del segundo miembro 206 terminal macho en la cavidad 310.
Las aberturas de las cavidades 308 y 310 son más anchas y más largas que el ancho/longitud de los contactos eléctricos 216/226 del primer miembro terminal macho 204 segundo miembro 206 terminal macho. El ancho/longitud extra permite que el primer miembro 204 terminal macho segundo miembro 206 terminal macho se reciba más fácilmente dentro de las cavidades 308 y 310 incluso si están algo desalineados en las direcciones horizontal/vertical durante el proceso de acoplamiento. A medida que el robot se mueve hacia la unidad 200 de carga eléctrica, el acoplamiento de las superficies curvas complementarias hace que el primer miembro 204 terminal macho y el segundo miembro 206 terminal macho sean guiados en alineación de manera que se produzca el acoplamiento entre los contactos eléctricos 216/226 de la unidad de carga eléctrica y los contactos eléctricos 304/306 del puerto 300 de carga eléctrica.
Por lo tanto, los radios de las partes de acoplamiento (miembros terminales macho y cavidades) están diseñados para proporcionar alineación gruesa cuando los miembros terminales macho se insertan primero en las cavidades y se ajusta finamente a medida que se acerca a la inserción completa.
El sistema de carga eléctrica proporciona una característica adicional para facilitar la alineación vertical. Esto se logra mediante la interacción de un divisor 320, que se encuentra entre las cavidades 308 y 310, en combinación con la abertura 352 de la cavidad 350 de la unidad 200 de carga eléctrica. La porción 248 de superficie ensanchada proporciona una abertura más ancha, de manera que, si hay una desalineación vertical, provoca que el divisor 320 se monte verticalmente en posición en la cavidad 350, a medida que se produce el proceso de acoplamiento.
Cuando el primer y segundo terminales macho 204 y 206 se insertan totalmente en las cavidades 308 y 310, la unidad 200 de carga eléctrica se fija en posición con el puerto 300 de carga eléctrica por medio de imanes 360ae, que se acoplan con contactos metálicos 260a-e en la unidad 200 de carga eléctrica. Los imanes pueden disponerse debajo de la superficie externa del puerto 300 de carga eléctrica y, como tales, se muestran en líneas discontinuas.
Existe una característica adicional incluida en el sistema de carga eléctrica, que es útil en el caso de carga manual por parte de un operador. Si la unidad 200 de carga eléctrica se insertó incorrectamente en el puerto 300 de carga eléctrica, es decir, al revés con el contacto eléctrico 216 de la unidad 200 de carga eléctrica conectada a los contactos eléctricos 306 del puerto 300 de carga eléctrica y con el contacto eléctrico 226 de la unidad de carga eléctrica conectada a los contactos eléctricos 304 del puerto 300 de carga eléctrica, se invertirían las polaridades y se produciría un daño significativo a la base 20a del robot.
Para evitar que esto suceda, en la superficie del divisor 320 del puerto 300 de carga eléctrica se incluye un tope 330 (véanse las Figs. 11 y 12). El tope 330 tiene una porción 332 de superficie angulada y una porción 334 de superficie plana. Como se muestra en la Fig. 10, dentro de la cavidad 250 del conjunto 200 de carga eléctrica hay una parte 238 de superficie rebajada, que permite la inserción total del conjunto 200 de carga eléctrica en el puerto 300 de carga eléctrica. La cavidad 238 permite una holgura por parte del primer miembro 204 terminal macho del tope 330 a medida que la porción 332 de superficie angulada y la porción 334 de superficie plana del tope 330 se acoplan con la porción angulada y la porción plana de la porción 238 de superficie cóncava como una pieza de rompecabezas. Si la unidad 200 de carga eléctrica estuviera invertida, cuando se inserta en la superficie 246 del puerto 300 de carga eléctrica del segundo miembro 206 terminal macho contactaría el tope 330 y se evitaría que se inserte completamente y entre en contacto con los contactos eléctricos 304.
Como se muestra en la Fig. 12, cuando los contactos 216 y 226 eléctricos de los elementos 204 y 206 terminales macho, respectivamente, entran en contacto con los contactos 304 y 306 eléctricos, los contactos 304 y 306 eléctricos se comprimen, ya que estos contactos pueden ser en forma de pasadores accionados por resorte. Los contactos eléctricos 304 y 306 pueden comprimirse desde su posición completamente extendida en la línea 400 hasta su posición comprimida (no se muestra) en la línea 402. Se muestra que cada uno de los contactos eléctricos 304 y 306 incluye cinco pasadores cargados por resorte. El número de pasadores utilizados depende de la corriente eléctrica que se espera sea transportada durante el proceso de carga y la capacidad de los pasadores individuales. El uso de múltiples pasadores cargados por resorte para los contactos eléctricos es beneficioso para asegurar el contacto adecuado con los contactos eléctricos 216 y 226 de los miembros terminales macho 204 y 206 incluso en el caso de variaciones de fabricación y desgaste en los componentes.
Cuando los contactos eléctricos 304 y 306 están en la posición comprimida, los imanes 360a-e del puerto 300 de carga eléctrica están muy próximos a los contactos metálicos 260a-e de la unidad 200 de carga eléctrica y se acoplan magnéticamente para fijar en posición la unidad 200 de carga eléctrica y el puerto 300 de carga eléctrica. En esta posición, puede observarse que las superficies curvas superior e inferior 230 y 240 de los miembros terminales macho 204 y 206, respectivamente, se acoplan complementariamente con las superficies 312 y 314 de las cavidades 308 y 310, respectivamente.
En la Fig. 12 también se han representado una barra colectora 410 del primer elemento 204 terminal macho y una barra colectora 412 del segundo elemento 206 terminal macho. Las barras colectoras se conectan a un soporte 414 para fijarlas dentro de la unidad 200 de carga eléctrica en el extremo opuesto a los contactos eléctricos 216 y 226.
En las Figs. 13-16 y 17 se representa una estación 500 de acoplamiento de cargador según un aspecto de esta invención. Haciendo referencia particular a las Figs. 13 y 14, la estación 500 de acoplamiento de cargador incluye una unidad 200 de carga eléctrica, como se ha descrito anteriormente, que se proyecta desde una cubierta 502 delantera de la estación 500 de acoplamiento de cargador. La unidad 200 de carga eléctrica se monta en la estación 500 de acoplamiento del cargador sobre el soporte 504 de fuelle de caucho con forma de U para sellar la abertura 506 en la cubierta delantera 502 mientras que también permite que la unidad 200 de carga eléctrica se mueva en seis grados de libertad (como se describirá más adelante) para facilitar un proceso de acoplamiento suave de un robot cuando se necesita recarga.
Además, se muestra un parachoques 508 de protección, que puede fabricarse de metal, montado horizontalmente a través de la porción inferior de la cubierta delantera 502 para proteger la estación 500 de acoplamiento del cargador de daños en caso de que un robot no se acople suavemente. La estación 500 de acoplamiento de cargador incluye además una cubierta 510 lateral derecha y una cubierta 512 lateral izquierda (no visibles en la Fig. 13A). En la abertura 514a de la cubierta lateral derecha se ubica un área 516a de sujeción que permite insertar una mano para levantar más fácilmente la estación 500 de acoplamiento del cargador, como se muestra en la Fig. 15A. Aunque no son visibles en esta vista, en la cubierta 512 lateral izquierda se incluyen una abertura y un zona de agarre similares, que se han representado en la Fig. 16A como la abertura 514b y la zona 516b de agarre. Además, en una abertura en la parte posterior de la cubierta lateral derecha 510 se muestran aberturas 518a de ventilación para proporcionar enfriamiento para los componentes eléctricos dentro de la estación 500 de acoplamiento del cargador. En la cubierta lateral izquierda 512 se incluye un respiradero 518B similar, que es visible en la Fig. 16A.
Un marco metálico que comprende un miembro 520a de marco anterior, un miembro 520b de marco lateral derecho, un miembro 520c de marco lateral izquierdo y un miembro 520d de marco lateral posterior se interconectan para formar la estructura de base para la estación 500 de acoplamiento del cargador. Haciendo referencia a la Fig. 13B, cada uno de los elementos de marco está fijado a un piso del almacén por medio de unos pernos 521a-d, y el parachoques 508 de protección está fijado al marco metálico 520 mediante el elemento 520a de marco anterior. Dado que el parachoques 508 de protección es externo y sobresale de la cubierta delantera 502, es el primer punto de impacto con un robot a medida que se acopla con la estación 500 de acoplamiento del cargador. En el caso de un impacto accidental de alta fuerza de un robot, tales fuerzas altas se impartirán en el parachoques de protección en lugar de en la cubierta delantera 502. La cubierta delantera 502, así como la cubierta lateral derecha 510 y la cubierta lateral izquierda 512 se fabrican, típicamente, un material plástico duro y son susceptibles a agrietarse/romperse si sufren un impacto de un robot. Las fuerzas impartidas sobre el parachoques 508 de protección se desvían aún más al marco metálico 520 a través del miembro 520a de marco frontal. El miembro 520 de marco anterior a comprende un miembro en forma de C que se extiende a través del ancho de la estación 500 de carga y una brida integrada y que se extiende desde una superficie superior del miembro en forma de C. El parachoques 508 de protección se interconecta a la pestaña por medio de una pluralidad de aberturas en la cubierta delantera 502. Las fuerzas desde el parachoques 508 se transmiten al miembro de marco anterior a través de la pestaña y el miembro en forma de C y además se transmiten a los miembros 520b-d de marco laterales derecho, izquierdo y posterior. Finalmente, las fuerzas se transmiten a través de pernos 521a-d hacia el piso del almacén. Por lo tanto, este sistema de parachoques de protección absorbe y desvía las fuerzas impartidas por un robot lejos de la cubierta delantera de plástico duro 502, lo que la protege de daños.
La cubierta superior 524, que se fabrica, además, de un material plástico duro, incluye un panel 526 de interfaz de usuario dispuesto en una cavidad en la superficie de la cubierta superior 524 que puede incluir ciertos indicadores y controles para que un usuario opere la estación de acoplamiento del cargador. Por ejemplo, pueden incluirse señales de iluminación para indicar varios estados, tales como “ Listo” , “ Carga” , “ Encendido” , “ Modo de recuperación” y “Fallo” o “ Parada de emergencia” . Pueden incluirse botones, tales como “ Encendido/apagado” , “ Iniciar carga manual” , “Desactivar” , “Restablecer” y “ Parada de emergencia” .
A lo largo del borde posterior de la cubierta superior 524 hay un panel posterior 528, que comprende una sección 530 de panel central y secciones 532 y 534 de panel lateral en los lados derecho e izquierdo, respectivamente, del panel central 530. El panel central 530 tiene una superficie frontal rectangular 536 que es prácticamente paralela a la cubierta frontal 502. El panel lateral derecho 532 tiene una superficie frontal rectangular 538 y el panel lateral izquierdo 534 tiene una superficie frontal rectangular 540.
Los paneles laterales derecho e izquierdo 532 y 534 tienen paredes laterales anchas 542 y 544, respectivamente, en un lado y convergen a anchos más estrechos en los otros lados que se interconectan con la sección 530 de panel central. Por lo tanto, los paneles laterales derecho e izquierdo 532 y 534 tienen forma de cuña. Como resultado, sus superficies delanteras 538 y 540 no son paralelas a la superficie delantera 536 del panel central 530 ni a la cubierta delantera 502. Cada una de ellas está dispuesta formando un ángulo 0 con respecto a la superficie 536. También hay dispuestos unos marcadores fiduciarios 546 y 548 (p. ej., un código de barras bidimensional) dispuestos en las superficies delanteras 538 y 540, respectivamente, formando un ángulo 0 en relación con la superficie delantera 536 y a la cubierta delantera 502.
Como se describirá detalladamente a continuación, en un aspecto, los robots pueden usar los marcadores fiduciarios en ángulo para navegación de precisión durante el proceso de acoplamiento con la estación de acoplamiento del cargador al visualizarlos con sus cámaras integradas. Para navegar, generalmente, a la estación de acoplamiento del cargador cuando se necesita recarga, los robots navegan de la misma manera que lo hacen cuando navegan a los depósitos de productos como se describió anteriormente. La estación 500 de carga puede asociarse a una pose ubicada muy cerca de la cubierta delantera 502 y alinearse generalmente (rotacionalmente) de modo que las cámaras integradas de los robots estén orientadas hacia el panel posterior 528.
Haciendo referencia a las Figs. 13B y 14B, hay conectados unos elementos 550a-d amoldables, que pueden incluir unos resortes, a unas patas 551a-d (las patas 551c y 551d no son visibles), respectivamente, en el conjunto 200 de carga eléctrica para permitir una cierta cantidad de movimiento en los seis grados de libertad para tener en cuenta errores pequeños en la navegación del robot hasta la estación de acoplamiento de cargador pero permitiendo aún una conexión eléctrica y mecánica adecuada entre el conjunto 200 de carga eléctrica y el puerto 300 de carga eléctrica, como se muestra en la Fig. 12, por ejemplo.
Además, como puede verse en la Fig. 15B, un resorte 552 de gas está conectado al conjunto 200 de carga eléctrica para estabilizarlo a medida que se mueve a lo largo del eje del resorte 552 de gas, como se indica mediante unas flechas 554 y 555. El resorte 552 de gas está montado en el marco 556 que está fijado a un panel de piso 558 de la estación de acoplamiento del cargador 500. A medida que el robot se mueve hacia la estación de acoplamiento del cargador 500 durante el proceso de acoplamiento, el puerto 300 de carga eléctrica (descrito anteriormente) entra en contacto con la unidad 200 de carga eléctrica y aplica una fuerza en la dirección de la flecha 554. El resorte 552 de gas proporciona resistencia en la dirección de la flecha 555 suficiente para permitir cierta cantidad de movimiento durante el acoplamiento del puerto 300 de carga eléctrica con la unidad 200 de carga eléctrica, pero evitar que el movimiento excesivo en la dirección de la flecha 554 actúe como tope y asegure el acoplamiento adecuado.
Además, a medida que el puerto de carga eléctrica 300 se retrae de la unidad de carga eléctrica 200 durante el proceso de desacople, debido a la conexión magnética entre la unidad 200 de carga 300 eléctrica y el puerto de carga eléctrica (descrito anteriormente), la unidad 200 de carga eléctrica será estirada en la dirección de la flecha 555 hasta que se supere la fuerza magnética. El resorte 552 de gas asegura, además, que el movimiento sea limitado, al proporcionar una fuerza en la dirección de la flecha 554.
Si bien el puerto 300 de carga eléctrica (que es la porción hembra del conector) se describe en la presente descripción que se monta en el robot y la unidad 200 de carga eléctrica (que es la porción macho del conector) se describe en la presente descripción como montada en la estación de carga, por supuesto, estos componentes podrían invertirse. En cuyo caso, el puerto 300 de carga eléctrica se montaría en la estación de carga y la unidad 200 de carga eléctrica se montaría en el robot. Además, como será evidente para los expertos en la materia, pueden usarse otros puertos y diseños de cargador en conexión con las realizaciones descritas en la presente descripción.
Haciendo referencia de nuevo a la Fig. 13B, el panel superior 560, que está soportado en parte por unas patas 562 y 564 de marco montadas en un panel 558 de suelo, incluye una cavidad en la que se alojan una placa 572 de controlador y una placa 574 de transceptor infrarrojo (IR). La placa 572 de controlador proporciona un control general de la estación de acoplamiento del cargador 500, que incluye activar los protocolos de carga, seleccionar parámetros y perfiles de carga, monitorizar las condiciones y el estado de carga (por ejemplo, el estado de carga y la temperatura de la batería) y las comunicaciones con el robot, todos los cuales se describen en mayor detalle más abajo. La placa 574 de transceptor IR se usa para la comunicación con el robot durante los procesos de acoplamiento y carga y puede usar un protocolo de comunicaciones IrDA (Asociación de datos infrarrojos).
Haciendo referencia todavía a la Fig. 13B, así como a la Fig. 15B, se muestra que un panel 580 de pared posterior soporta una fuente 582 de alimentación que está alimentada por energía del almacén. El panel 580 de pared posterior puede funcionar, además, como un disipador de calor para el suministro 582 de energía y puede fabricarse de un metal diferente al de los otros paneles para conducir mejor el calor. El panel posterior 580 soporta además el panel superior 560 junto con las patas 562 y 564 del marco. La energía del almacén se alimenta a la estación de acoplamiento del cargador 500 a través del conector 584, que puede ser un conector IEC, por ejemplo. La pared 586 conectada al panel de piso 558 y colocada adyacente al conector 584 puede usarse para proporcionar protección adicional al suministro de energía a la estación de acoplamiento del cargador.
Las Figs. 16A y 16B proporcionan una vista en perspectiva desde la parte posterior de la estación 500 de acoplamiento de cargador con la cubierta colocada y retirada, respectivamente. Estas vistas permiten, además, ver el lado derecho de la estación de acoplamiento del cargador. En la Fig. 16A se muestra que una pared 580 posterior incluye un puerto 592 a través del cual se alimenta el suministro de energía procedente de la casa para conectar al conector 584 eléctrico. En la Fig. 16B puede verse la parte posterior del conector 584 eléctrico sobresaliendo de un orificio en la pared 580 posterior.
Acoplamiento del robot
El acoplamiento de un robot a la estación 500 de carga eléctrica para la recarga se describe con respecto a las Figs. 17 y 18. En la Fig. 17, el robot 18 que tiene el puerto 300 de carga eléctrica se muestra acoplado al conjunto 200 de carga eléctrica de la estación 500 de carga. El robot 18 puede, por ejemplo, desplazarse a la ubicación 600, que está definida por una posición almacenada para la estación de carga. La navegación a la posición 600 se realiza de la manera descrita anteriormente para navegar robots por todo el almacén a varias ubicaciones de depósito. Una vez en la posición 600, se realiza un proceso de navegación de precisión para posicionar el robot 18 en la ubicación 602, en cuya ubicación el puerto 300 de carga eléctrica se acopla con la unidad 200 de carga eléctrica y el robot 18 se acopla a la estación de carga 500 para la recarga.
Uno de tales procesos de acoplamiento de precisión usa la orientación de las superficies 538 y 540 (y las fiduciarios 546 y 548, respectivamente) con respecto a las cámaras 24a y 24 se describe con respecto a la Fig. 18. Como se muestra en la Fig. 18, el robot 18 se ubica en la posición 602, por lo tanto, se acopla a la estación de carga 500. En esta posición, se muestra que el campo O visual (de 79,4° aproximadamente) de la cámara 24a se extiende a lo largo de las superficies 536 y 538. El eje 610 óptico (i.e., la línea central del campo visual, o O/2) de la cámara 24a interseca la superficie 38 y el fiduciario 46 formando un ángulo sustancialmente perpendicular. Además, en esta posición, se muestra que el campo visual O de la cámara 24b (de 79,4° aproximadamente) se extiende a lo largo de las superficies 536 y 540, solapando ligeramente con el campo visual de la cámara 24a. El campo de visión combinado de las cámaras proporciona al robot 18 un campo de visión eficaz de aproximadamente 120 grados. El campo de visión combinado es menor que la suma de los campos de visión de las cámaras, debido a que las secciones superpuestas crean un punto ciego para el robot.
El eje 612 óptico (i.e., la línea central del campo visual, o O/2) de la cámara 24b interseca la superficie 40 y el fiduciario 48 formando un ángulo perpendicular. Para asegurar que, cuando el robot está acoplado, los ejes ópticos de las cámaras se alineen de manera perpendicular a las superficies 538 y 540, el ángulo 0, que es la orientación de las superficies 538 y 540 en relación con la superficie 536, debe ajustarse adecuadamente. En este ejemplo, el ángulo 0 es de aproximadamente 150°. Al ubicar los fiduciarios de esta manera, se incrementa la visibilidad de los fiduciarios por las cámaras 24a y 24b.
Como se describió anteriormente, dado que las cámaras están desplazadas desde el centro del robot, estas se combinan para proporcionar un campo visual amplio. Sin embargo, la orientación de las cámaras hace que la visión de los fiduciarios en la estación de carga sea desafiante. Para abordar este problema, los fiduciarios pueden orientarse en un ángulo para alinearse mejor con las cámaras, lo que hace que los fiduciarios sean más fáciles de leer con mayor precisión. Esto puede lograrse al orientar el eje óptico de la cámara para que esté en un ángulo sustancialmente perpendicular y centrado en el fiduciario cuando el robot está en la posición acoplada, como se muestra en la Fig. 18.
Una vez en una pose 600 (Fig. 17), el robot puede hacer uso de las posiciones y orientaciones percibidas de los fiduciarios 546 y 548 en las superficies 538 y 540, respectivamente, en sus fotogramas de cámara. En la posición 600, el robot 18 está lo suficientemente cerca para percibir los fiduciarios 546 y 548 y está aproximadamente centrado en la estación de carga 500. Puede usarse un algoritmo de control de acoplamiento que permite que los errores en el robot naveguen a esta ubicación inicial de la posición. En otras palabras, el enfoque de navegación usado para llegar a la posición 600, que puede usar mapas de resolución de 5 cm, puede no posicionar con precisión el robot 18 en la ubicación de la posición. Mientras está ubicado nominalmente en la posición 600, el robot 18 obtiene información sobre la posición y la orientación de los fiduciarios 546 y 548 mediante el uso de sus cámaras 24a y 24b. A medida que se desplaza hacia la estación de carga 500, intenta minimizar dos cantidades de error de la siguiente manera:
(1) Cada cámara detectará un fiduciario: las cámaras izquierda y derecha detectarán los fiduciarios izquierdo y derecho, respectivamente. Los fiduciarios, una vez detectados, pueden transformarse internamente de manera que para el robot parecen estar perfectamente perpendiculares al trayecto del robot (es decir, “planos” , como se percibe desde la cámara, en lugar de parecer sesgados). Entonces podemos detectar los tamaños relativos de cada marcador fiduciario, y usarlos para determinar si el robot está más cerca de un fiduciario que del otro. Esto indica que el robot no está perfectamente centrado en su enfoque y necesita moverse hacia la línea central. Si nos referimos al área de píxeles del fiduciario izquierdo corregido como SL y al área de píxeles del fiduciario derecho corregido como SR, entonces el robot necesita minimizar |SR - SL|.
(2) Dentro de la imagen de la cámara izquierda, el fiduciario de acoplamiento izquierdo estará a una cierta cantidad de píxeles desde el lado derecho de la imagen. Denominaremos este número DL. De la misma manera, para la imagen de la cámara derecha, el fiduciario de acoplamiento derecho estará a una cierta cantidad de píxeles DR desde el lado izquierdo de la imagen. Por lo tanto, el robot debe minimizar |DR - DL|.
Como el robot necesita corregir primero para el error en el punto (1), se proporciona al robot una velocidad lineal constante, y se proporciona al robot una velocidad de rotación de kS (SR - SL) hasta que este valor cae por debajo de un umbral TS. El término kS es una constante de control proporcional cuyo valor está en el intervalo (0, 1]. Cuando se alcanza el umbral TS, el robot intenta minimizar el error en el punto (2) dando una velocidad de rotación al robot de kD (DR - DL), donde kD es también una constante de control proporcional en el intervalo [0, 1]. Se continúa haciendo esto hasta que (a) el robot llega a la base de acoplamiento o (b) el error |SL - SR| se sale del umbral TS, momento en el que se vuelve para minimizar el error en el punto (1).
El enfoque de navegación de precisión descrito anteriormente es un ejemplo de varios enfoques que podrían usarse para acoplar el robot 18 a la estación de carga 500. En otras realizaciones, el enfoque de navegación de precisión que hace que el robot se acople al sistema de carga eléctrica puede usar técnicas similares a las usadas por el robot más generalmente cuando se navega por el almacén.
La siguiente descripción del sistema robótico y la navegación del robot, incluyendo los ejemplos dados para navegar el robot al sistema de carga, no limita las técnicas mostradas y descritas a continuación para localizar y controlar el robot durante el acoplamiento de precisión. Es decir, otras técnicas para navegar el robot a la posición inicial del sistema de carga pueden emplearse por robots que tienen sistemas y operación alternativos sin pérdida de aplicación de la invención en la presente descripción a las técnicas descritas para el acoplamiento de precisión.
Sistema robótico
En la Fig. 19 se ilustra una vista de sistema de una realización del robot 18 para su uso en la aplicación para almacenes de completado de pedidos descrita anteriormente. Un sistema 614 robótico comprende un procesador 620 de datos, un almacén 630 de datos, unos módulos 640 de procesamiento y unos módulos 660 de soporte de sensor. Los módulos 640 de procesamiento pueden incluir un módulo 642 de planificación de trayecto, un módulo 644 de control de accionamiento, un módulo 646 de procesamiento de mapas, un módulo 648 de localización y un módulo 650 de estimación de estado. Los módulos 660 de soporte de sensores pueden incluir un módulo 662 de sensor de rango, un módulo 664 de codificador de tren de accionamiento/rueda y un módulo 668 de sensor inercial.
El procesador 620 de datos, los módulos 640 de procesamiento y los módulos 660 de soporte de sensor son capaces de comunicarse con cualquiera de los componentes, dispositivos o módulos mencionados en la presente memoria y mostrados o descritos para el sistema 614 de robot. Puede incluirse un módulo transceptor 670 para transmitir y recibir datos. El módulo transceptor 670 puede transmitir y recibir datos e información a y de un sistema supervisor o a y de uno u otros robots. La transmisión y la recepción de datos puede incluir datos de mapa, datos de trayecto, datos de búsqueda, datos de sensor, datos de ubicación y orientación, datos de velocidad e instrucciones o código de módulo de procesamiento, parámetros de robot y ajustes de entorno y otros datos necesarios para el funcionamiento del sistema 614 de robot.
En algunas realizaciones, el módulo 662 sensor de rango puede comprender uno o más de un láser de barrido, un radar, un telémetro láser, un telémetro, un detector de obstáculos ultrasónico, un sistema de visión estéreo, un sistema de visión monocular, una cámara y una unidad de formación de imágenes. El módulo 662 sensor de rango puede escanear un entorno alrededor del robot para determinar una localización de uno o más obstáculos con respecto al robot. En una realización preferida, los codificadores 664 de tren propulsor/rueda comprenden uno o más sensores para codificar la pose de rueda y un accionador para controlar la pose de una o más ruedas (p. ej., unas ruedas de contacto con el suelo). El sistema 614 de robot puede incluir también un sensor de velocidad terrestre que comprende un medidor de velocidad o sensor basado en radar o un sensor de velocidad de rotación. El sensor de velocidad de rotación puede comprender la combinación de un acelerómetro y un integrador. El sensor de velocidad de rotación puede proporcionar una velocidad de rotación observada para el procesador 620 de datos, o cualquier módulo del mismo.
En algunas realizaciones, los módulos 660 de soporte del sensor pueden proporcionar datos de traslación, datos de posición, datos de rotación, datos de nivel, datos inerciales y datos de rumbo, que incluyen datos históricos de medidas instantáneas de la velocidad, traslación, posición, rotación, nivel, rumbo y datos inerciales en el tiempo. La velocidad de traslación o rotación puede detectarse con referencia a uno o más puntos de referencia fijos u objetos fijos en el entorno del robot. La velocidad de traslación puede expresarse como una velocidad absoluta en una dirección o como una primera derivada de la posición del robot frente al tiempo. La velocidad de rotación puede expresarse como una velocidad en unidades angulares o como la primera derivada de la posición angular frente al tiempo. Las velocidades de traslación y de rotación pueden expresarse con respecto a un origen 0,0 (p. ej., en la Fig. 1, 110) y un rumbo de 0° en relación con un sistema de coordenadas absoluto o relativo. Los módulos 640 de procesamiento pueden utilizar la velocidad de traslación observada (o mediciones de posición frente al tiempo) combinada con la velocidad de rotación detectada para estimar la velocidad de rotación observada en el robot.
En algunas realizaciones, el sistema 614 de robot puede incluir un receptor GPS, un receptor GPS con corrección diferencial u otro receptor para determinar la ubicación de un robot con respecto a balizas a bordo de satélite o terrestres que transmiten señales inalámbricas. Preferiblemente, en aplicaciones de interior tales como la aplicación para almacenes descrita anteriormente o en las que la recepción por satélite sea poco fiable, el sistema 614 de robot utiliza sensores no GPS como los anteriores y las técnicas descritas en la presente memoria para mejorar la localización cuando un sensor o sistema global o local no proporcione información de pose absoluta de forma fiable.
En otras realizaciones, unos módulos no mostrados en la Fig. 19 pueden comprender un sistema de dirección, un sistema de frenado y un sistema de propulsión. El sistema de frenado puede comprender un sistema de frenado hidráulico, un sistema de frenado electrohidráulico, un sistema de frenado electromecánico, un accionador electromecánico, un sistema de frenado eléctrico, un sistema de frenado de control electrónico de frenada u otro sistema de frenado en comunicación con el control 644 de accionamiento. El sistema de propulsión puede comprender un motor eléctrico, un motor de propulsión, un motor de corriente alterna, un motor de inducción, un motor de imán permanente, un motor de corriente continua u otro motor adecuado para propulsar un robot. El sistema de propulsión puede comprender un controlador de motor (p. ej., un inversor, cortador, generador de ondas, un controlador multifase, un oscilador de frecuencia variable, alimentación de corriente variable o alimentación de tensión variable) para controlar al menos una de velocidad, par y dirección de rotación del eje del motor del motor eléctrico. Preferiblemente, el control 644 de accionamiento y el sistema de propulsión (no mostrado) es un control de accionamiento diferencial (DD) y un sistema de propulsión. En un sistema de control DD, el control del robot no es holonómico (NH), caracterizado por restricciones en el trayecto incremental alcanzable dada una velocidad de traslación y angular deseada. El control 644 de accionamiento en comunicación con el sistema de propulsión puede accionar el movimiento incremental del robot convirtiendo una o más velocidades instantáneas determinadas por el módulo 642 de planificación de trayectos o procesador 620 de datos.
Un experto en la técnica reconocería que pueden emplearse otros sistemas y técnicas para el procesamiento de robots, almacenamiento de datos, detección, control y propulsión sin pérdida de aplicabilidad de la presente invención descrita en la presente memoria.
Mapas
La navegación con un robot autónomo o semiautónomo requiere alguna forma de modelo espacial del entorno del robot. Los modelos espaciales pueden representarse mediante mapas de bits, mapas de objetos, mapas de puntos de referencia y otras formas de representaciones digitales bi y tridimensionales. Como se muestra en la Fig. 20, por ejemplo, un modelo espacial puede representar un almacén y obstáculos tales como paredes, techos, soportes de techo, ventanas y puertas, estantes y recipientes de almacenamiento. Los obstáculos pueden ser fijos o móviles, por ejemplo, tales como otros robots o maquinaria que funcionan dentro del almacén, o relativamente fijos pero cambiantes, tales como tabiques temporales, palés, estantes y cajones cuando se almacenan, recogen y reponen artículos de almacén.
Los modelos espaciales en una instalación de almacén pueden representar también localizaciones objetivo, tales como un estante o recipiente marcado con una marca fiduciaria a la que puede dirigirse un robot para seleccionar producto o para realizar alguna otra tarea, o a un lugar de mantenimiento temporal o a la localización de una estación de carga. Por ejemplo, en la Fig. 20 se ha representado la navegación del robot 18 desde una ubicación 702 inicial hasta una ubicación 708 objetivo o de destino, pasando por unas ubicaciones 704, 706 intermedias, a lo largo de su trayecto 712, 714, 716. Aquí el modelo espacial captura características del entorno a través del cual debe navegar el robot, incluyendo características de una estructura en un destino 708 que puede ser un estante o depósito o estación de carga de robot.
El modelo espacial utilizado más comúnmente para la navegación de robots es un mapa de bits de un área o instalación. Por ejemplo, en la Fig. 21 se ha representado una parte de un mapa bidimensional para las zonas mostradas en el modelo espacial de la Fig. 20. El mapa 720 puede representarse mediante mapas de bits que tienen valores de píxel en un rango binario 0,1, que representan negro o blanco, o mediante un intervalo de valores de píxel, por ejemplo, 0-255 que representa un intervalo de escala de grises de negro (0) a blanco (255) o mediante intervalos de color, cuyos intervalos pueden representar incertidumbres en si una característica está presente en la localización representada por los valores de píxel. Por ejemplo, como se muestra en la Fig. 21, los píxeles negros (0) representan obstáculos, los píxeles blancos (255) representan espacio libre y las zonas de color gris liso (algún valor entre 0 y 255; de forma típica 128) representan zonas desconocidas.
La escala y la granularidad del mapa 720 mostrado en la Fig. 21 pueden ser cualquier escala y dimensiones adecuadas para el rango y el detalle del entorno. Por ejemplo, en algunas realizaciones de la presente invención, cada píxel en el mapa puede representar 5 centímetros cuadrados (cm2). En otras realizaciones, cada píxel puede representar un rango de 1 cm2 a 5 cm2. Sin embargo, la resolución espacial de un mapa para su uso con la presente invención puede ser mayor o menor sin pérdida de generalidad o beneficio a la aplicación de sus métodos. Como se describe con más detalle más adelante, en una realización preferida, mientras se acopla el robot a una estación de carga, la resolución del mapa puede representar 1 cm2 para proporcionar la navegación de precisión requerida.
Como se ha representado en la Fig. 21, el robot puede utilizar el mapa 720 para determinar su pose dentro del entorno y para planificar y controlar sus movimientos a lo largo del trayecto 712, 714, 716 y evitar al mismo tiempo los obstáculos. Tales mapas pueden ser “ mapas locales” , que representan características espaciales en las inmediaciones del robot o de la ubicación de destino, o “ mapas globales” , que representan características de una zona o instalación que abarca el rango operativo de uno o más robots. Los mapas pueden proporcionarse a un robot desde un sistema de supervisión externo o un robot puede construir su mapa utilizando sensores a bordo de búsqueda y localización de rango. Uno o más robots pueden mapear de forma cooperativa un entorno compartido, el mapa resultante mejora posteriormente a medida que los robots navegan, recopilan y comparten información sobre el entorno.
En algunas realizaciones, el sistema de supervisión puede comprender un servidor central que realiza la supervisión de una pluralidad de robots en un almacén de fabricación u otra instalación, o el sistema de supervisión puede comprender un sistema de supervisión distribuido que consiste en uno o más servidores que operan dentro, o sin, la instalación, de forma completa o parcialmente remota, sin pérdida de generalidad en la aplicación de los métodos y sistemas descritos en la presente memoria. El sistema de supervisión puede incluir un servidor o servidores que tienen al menos un procesador informático y una memoria para ejecutar un sistema de supervisión y puede incluir además uno o más transceptores para comunicar información a uno o más robots que operan en el almacén u otra instalación. Los sistemas de supervisión pueden alojarse en servidores informáticos o pueden alojarse en la nube y comunicarse con los robots locales a través de un transceptor local configurado para recibir y transmitir mensajes hacia y desde los robots y el sistema de supervisión a través de medios de comunicación por cable y/o inalámbricos, incluso a través de internet.
Un experto en la técnica reconocería que el mapeo robótico para los propósitos de la presente invención podría realizarse utilizando métodos conocidos en la técnica sin pérdida de generalidad. Una explicación adicional de métodos para el mapeo robótico puede encontrarse en Sebastian Thrun, “ Robotic Mapping: A Survey” , Carnegie-Mellon University, CMU-CS- 02-111, febrero 2002, que se ha incorporado a la presente memoria como referencia.
Barridos
Un robot equipado con sensores como se ha descrito anteriormente, puede utilizar sus sensores para la localización y contribuir a la construcción y mantenimiento del mapa de su entorno. Los sensores utilizados para la construcción de mapas y la localización pueden incluir sensores de detección de haces luminosos y telemetría (“ LIDAR” o “ barrido láser” o “ radar láser” ). Los escáneres de radar por láser miden el rango y la distancia a objetos en un plano horizontal con una serie de barridos angulares discretos del entorno local del robot. Un sensor de telemetría obtiene un conjunto de mediciones, un “ barrido” tomado en incrementos angulares discretos, preferiblemente, incrementos de un cuarto (0,25) de grado a lo largo de un arco de 180° o a lo largo de un arco de más o menos grados o a lo largo de un arco completo de 360° alrededor del robot. Un barrido con radar por láser, por ejemplo, puede ser un conjunto de mediciones que representan el tiempo de retorno y la fuerza de una señal láser, indicando cada medición en un incremento angular discreto un obstáculo potencial a una distancia de la posición actual del robot.
Como se muestra en las Figs. 22A y 22B a título ilustrativo, un barrido con radar láser realizado en una ubicación 704 puede representarse gráficamente como un mapa 730 de bits bidimensional. El barrido 730 mostrado representa un arco horizontal de aproximadamente 180 grados orientado en la dirección de desplazamiento del robot en la pose 704 intermedia. Unas mediciones 731 de radar láser individuales, ilustradas por medio de líneas discontinuas direccionales, detectan obstáculos en el entorno del robot 700', por ejemplo, en unas estructuras 722, 724, 726 y 728. Estos están representados por píxeles en 732, 734, 736 y 738 en el barrido 730. En algunas realizaciones, los barridos de unas paredes 724 rectas pueden “ rellenarse” en el barrido 730 cuando una estructura 734 geográfica conectada pueda ser conocida a partir de otros datos o discernible por alineación de píxeles de nube de puntos.
Otras formas de sensores de búsqueda de rango incluyen sensores de sonar, radar y táctiles sin desviarse del ámbito de la invención. Ejemplos de sensores de telemetría y de localización y de orientación disponibles comercialmente adecuados para su uso con la presente invención incluyen, aunque no de forma limitativa, Hokuyo UST-10LX, SICK LMS 100 y Velodyne v LP-16. Un robot puede tener uno o más sensores de rango o localización de un tipo particular o puede tener sensores de diferentes tipos, produciendo la combinación de tipos de sensores mediciones que mapean colectivamente su entorno. En Edwin B. Olson, “ Robust and Efficient Robotic Mapping” , tesis doctoral, Carnegie-Mellon University, 2008, puede encontrarse un análisis adicional de métodos de mapeado robótico por LIDAR y otros escáneres, que se ha incorporado a la presente memoria como referencia.
Coincidencia de barridos
“Coincidencia de barridos” es el proceso de comparar barridos de telemetría realizados por distintos robots o barridos de un solo robot realizados en distintos momentos o a un mapa de un entorno, tal como un mapa SLAM. En el proceso de coincidencia barrido a barrido, puede compararse un primer barrido con radar láser tomada por un robot en un momento con un segundo barrido anterior para determinar si el robot ha vuelto a la misma localización en el mapa. Del mismo modo, hacer coincidir el barrido con el barrido de un segundo robot puede determinar si los dos robots han navegado a una localización común en el mapa. La coincidencia de barridos con un mapa puede utilizarse para determinar la pose del robot en el entorno mapeado. Como se ha ilustrado en la Fig. 23A, se ha representado un barrido 730' trasladado y rotado en relación con una parte 720' de mapa. Para un robot en una pose desconocida (x, y, G), hacer coincidir el barrido con radar láser del robot con el mapa 720' encuentra la transformación T de cuerpo rígido con la traslación Ax, Ay y la rotación AG, lo que hace que el barrido 730' se correlacione más fuertemente con el mapa 720'. Por lo tanto, la pose correcta del robot (x+Ax, y+Ay, G+AG) puede determinarse en relación con una parte del mapa 720, como se ha ilustrado en la Fig. 23B.
Es improbable que un barrido con radar por láser coincida exactamente con el mapa en una localización y orientación arbitrarias. Las incertidumbres en las mediciones de sensores, las demandas de precisión de la posición y tiempos de ciclo computacional limitados requieren algoritmos robustos y eficientes para determinar estadísticamente la mejor coincidencia de barridos entre el entorno detectado por un robot y su posición real. Sin embargo, los métodos estadísticos pueden producir poses inexactas y pueden ser costosos desde el punto de vista computacional.
Se han desarrollado varios métodos y algoritmos para abordar estas complejidades. En Edwin B. Olson, “ Real-Time Correlative Scan Matching” , en Proceedings of the 2009 IEEE International Conference on Robotics and Automation (ICRA'09), IEEE Press, Piscataway, NJ, EE. UU., 2009, págs. 1233-1239, puede encontrarse un estudio de técnicas de coincidencia de barridos y un método de dos resoluciones para garantizar la precisión y reducir al mismo tiempo la complejidad computacional en la coincidencia de barridos para la localización, que se incorpora a la presente memoria por referencia.
M3RSM
Como se ha mencionado anteriormente, otra de tales técnicas para localizar utilizando la coincidencia de barridos es la coincidencia de barridos multirresolución de varios a varios, o “ M3RSM” . M3RSM extiende el enfoque de coincidencia de barridos correlativa de dos resoluciones a múltiples resoluciones, utilizando una pirámide de mapas, cada uno construido por diezmado para la eficiencia computacional. Una explicación sobre M3RSM se puede encontrar en Edwin Olson, “ M3RSM: Many-to many multi-resolution scan matching” , Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), junio de 2015, que se ha incorporado a la presente memoria como referencia. M3RSM reduce drásticamente el tiempo de procesamiento para realizar la coincidencia de barridos con un mapa SLAM al eliminar las poses candidatas de la consideración en resoluciones más bajas del mapa. La localización y la navegación de robots a lo largo de un trayecto objetivo hasta una pose objetivo se mejora aún más minimizando el espacio de búsqueda de M3SRM según los métodos descritos en la solicitud de patente US-15/712.222 con el título MULTI-RESOLUTION SCAN MATCHING WITH EXCLUSION ZONES, que fue presentada el 22 de septiembre de 2017 y ha sido incorporada como referencia en su totalidad en la presente memoria.
Navegación a una estación de carga
Como se muestra y describe con referencia a las Figs. 17 y 18 anteriores, el robot 18 puede navegar hasta una estación de carga de robots para acoplarse eléctricamente con la estación de carga e iniciar la carga del robot. En la Fig. 20 se ha representado a título ilustrativo el robot 18 moviéndose a lo largo del trayecto 712, 714, 716, avanzando desde una ubicación 702 actual hasta una ubicación 708 de destino pasando unas ubicaciones 704, 706. La ubicación objetivo 708 puede ser la ubicación del robot que ha llegado a una posición delante de una estación de carga (no se muestra), que puede ubicarse en aproximadamente la ubicación 718. Al llegar a la ubicación 708, el robot puede comenzar una navegación de acoplamiento más precisa para posicionarse y hacer que el puerto 300 de carga eléctrica se una al conjunto 200 de carga eléctrica. El robot 18 está entonces acoplado en la estación 500 de carga y listo para la recarga.
Durante la navegación del robot a la estación de carga, el robot puede navegar a la ubicación 708 como lo haría cualquier otra posición objetivo asociada con un depósito de producto objetivo o fiduciario como se describió anteriormente. La Fig. 24 ilustra uno de tales procesos para mover el robot a lo largo de un trayecto objetivo desde una ubicación actual hasta una pose objetivo, que puede ser la pose de la estación de carga. Comenzando en la etapa 802, el sistema robótico 614 recibe un mapa SLAM a través del módulo transceptor 670 que representa el mapa del entorno robótico. Alternativamente, el mapa puede recuperarse posteriormente del almacenamiento de datos 630, mediante el procesador de datos 620 o mediante el módulo de procesamiento de mapa 646. Como se ha representado en la Fig. 21, el mapa 720 puede representar una parte de un almacén que contiene espacio libre y obstáculos. Los valores de píxel del mapa 720 en un intervalo binario de 0,1 representan obstáculos (0 o negro) y espacio libre (1 o blanco). De forma alternativa, el mapa 720 puede representar obstáculos dentro del almacén empleando valores de píxel en un rango de 0 a 255, donde los valores de cero (0) representan obstáculos y los valores de 255 indican espacio libre. Los píxeles grises, si los hay, de forma típica con un valor 128, representan áreas desconocidas o no mapeadas o inaccesibles. Una vez recibido el mapa, el módulo 646 de procesamiento de mapas puede construir, en una etapa 804, pirámides de mapa según M3RSM o, preferiblemente, según las técnicas M3RSM mejoradas, como se han citado e incorporado anteriormente. La construcción de pirámides de mapa para su uso con M3RSM se describe con más detalle en la solicitud de patente US-15/712.222, incorporada anteriormente como referencia más arriba.
Continuando con el proceso de navegación 800, en una etapa 806, el robot, utilizando el sistema 614 robótico, recibe una pose objetivo, por ejemplo, la pose 600, de una estación 500 de carga en la ubicación 718. En la etapa 808, el sistema robótico 614 genera después, usando el módulo de planificación de trayecto 646, el trayecto objetivo desde su posición inicial hasta la posición asociada con la estación de carga. Después, el trayecto objetivo puede almacenarse para un procesamiento posterior. En algunas realizaciones, el trayecto objetivo puede generarse basándose en una estimación de pose para el robot o, preferiblemente, la generación del trayecto objetivo se basa en la pose del robot determinada después de la primera iteración de la etapa 812 “Buscar pose” . El módulo de planificación de trayecto 642 puede generar el trayecto objetivo desde la posición actual hasta la posición objetivo por una variedad de técnicas conocidas por los profesionales en la técnica que incluyen los algoritmos de exploración de trayecto A* y D*. De forma alternativa, el robot puede recibir un trayecto objetivo a través del módulo transceptor 670 o puede recuperar un trayecto objetivo desde el almacenamiento 630 de datos. Después de recibir el mapa y generar las pirámides del mapa y el trayecto objetivo, el sistema robótico 614 puede proceder a mover el robot incrementalmente a lo largo del trayecto objetivo.
En la etapa 810, el robot recibe una exploración con radar láser del entorno local y procede a encontrar la posición que mejor coincide con la exploración recibida. Como se ha ilustrado anteriormente con referencia a la Fig. 22A, el barrido local puede consistir en una “ nube de puntos” de radar láser que representa puntos en el campo visual del robot en los que el radar láser ha detectado obstáculos. La nube de puntos puede representar puntos del barrido con radar por láser en una posición y orientación con relación al robot, cada punto en la nube de puntos se toma en un incremento angular discreto e indica un obstáculo potencial a una distancia desde la posición actual del robot.
En la etapa 812, “ Buscar pose” , se encuentra la pose actual del robot. En primer lugar, se determina un área de búsqueda como la porción del mapa recibido que se buscará en las posiciones candidatas. En una primera iteración, el área de búsqueda puede incluir todo el mapa. En una iteración posterior, el robot puede estimar su posición dentro de solo una porción del mapa. La pose para determinar el área de búsqueda puede estimarse a partir de una última pose conocida combinada con datos del sensor, tales como codificadores de tren propulsor/rueda y/o información de control de accionamiento. Un experto en la técnica entenderá que las estimaciones de pose y determinación del área de búsqueda podrían llevarse a cabo mediante diversos métodos y parámetros. En una realización preferida, el módulo 650 de estimación de estado puede fusionar datos con datos del codificador de rueda y con datos del sensor inercial para determinar la pose actual del robot, la velocidad y los errores estimados para cada uno. Por lo tanto, la pose estimada limita la búsqueda a una parte del mapa, lo que reduce el espacio de búsqueda y disminuye el tiempo de procesamiento para la coincidencia de barridos. Cuanto menor sea la incertidumbre en la estimación de pose, menor será el área de búsqueda sobre la que puede requerirse la coincidencia de barridos. Cuanto mayor sea la incertidumbre, mayor será el área de búsqueda sobre la cual puede requerirse la coincidencia de barridos. A continuación, la pose dentro de la zona de búsqueda se determina por coincidencia de barridos según técnicas de coincidencia de barridos tales como la M3RSM como ha citado anteriormente. En la etapa opcional 814, el proceso puede retornar a la etapa 808 para generar o actualizar el trayecto objetivo basado en un primer resultado de encontrar la posición o posterior.
Una vez hallada la pose actual del robot, continuando en una etapa 816 de la Fig. 24, el robot calcula una siguiente velocidad instantánea para mover el robot a lo largo del trayecto objetivo. Preferiblemente, la velocidad instantánea a lo largo del trayecto objetivo en presencia de otros robots y obstáculos se obtiene mediante métodos que incluyen, aunque con carácter no limitativo, el dynamic window approach (enfoque dinámico de ventana - DWA) y la optimal reciprocal collision avoidance (evitación óptima de colisiones recíprocas - ORCA). En una realización preferida, el DWA calcula entre los trayectos de movimiento del robot posibles un movimiento incrementa! que evite colisiones con obstáculos y favorece el trayecto objetivo deseado hacia la localización objetivo. Al determinar una próxima velocidad (etapa 816) y el movimiento del robot (etapa 818), el sistema robótico 614 se repite si aún no se alcanza el objetivo (etapa 820), obteniendo una nueva exploración local (etapa 810), encontrando la posición (etapa 812) y la próxima velocidad (etapa 816) hasta que se alcance el objetivo (etapa 820). Por lo tanto, la navegación procede como una serie de movimientos incrementales a lo largo de trayectos incrementales determinados por la velocidad instantánea en cada ciclo de procesamiento.
Cuando el trayecto objetivo incluye en una posición objetivo que es la posición asignada a una estación de carga, el proceso puede continuar con el acoplamiento de precisión de la siguiente manera.
Acoplamiento de precisión con localización de alta resolución
En la Fig. 25 se ha representado el robot 18 después de navegar hasta la pose 600 asignada a la estación de acoplamiento de cargador, habiéndose mostrado y descrito más completamente su estructura anteriormente. Como alternativa al acoplamiento fiduciario basado en cámaras que se ha descrito anteriormente con respecto a las Figs.
17 y 18, la navegación del robot 18 de la pose 600 a la pose 602 de unión puede emplear técnicas de coincidencia de barridos según los métodos de navegación descritos anteriormente para navegar desde una pose actual, en una ubicación en un almacén, por ejemplo, hasta la pose 600 inicial asociada a una estación de carga.
La unión del conjunto de carga eléctrica y el puerto de carga eléctrica, según las dimensiones descritas anteriormente de una realización del conjunto de carga eléctrica y del puerto de carga eléctrica, puede requerir mapas de mayor resolución que los mapas utilizados para la navegación en almacén. Es decir, el enfoque de navegación usado por el robot para llegar a la pose 600, en el que pueden utilizarse mapas con una resolución de 5 cm, por ejemplo, puede no colocar con precisión el robot en la pose 602 de unión para que el conjunto 200 de carga eléctrica de la estación 500 de carga y el puerto 300 de carga eléctrica del robot 18 se acoplen de forma fiable. El uso de la resolución de 5 cm para la coincidencia de localización y exploración también puede requerir que la estación de carga se mapee perfectamente y se fije firmemente al piso del almacén.
Por lo tanto, en una realización de acoplamiento de precisión, al llegar a la pose 600 de la estación 500 de carga, el robot 18 puede pasar a utilizar un mapa SLAM de mayor resolución del entorno, preferiblemente un mapa SLAM con una resolución de 1 cm, y localizar mediante las técnicas de coincidencia de barridos descritos anteriormente. La localización utilizando de un mapa de mayor resolución, tal como un mapa con una resolución de 1 cm, puede desarrollarse como se describe con referencia al proceso 830 de la Fig. 26. El proceso 830 procede al recibir un mapa (en la etapa 832) del ambiente del almacén a una resolución más alta que el mapa del ambiente usado para navegar desde una ubicación en el almacén hasta la posición inicial 600. El sistema 614 de robot que utiliza el módulo 646 de procesamiento de mapas puede construir entonces pirámides de mapas (etapa 834) según M3RSM o, preferiblemente, según las técnicas M3RSM mejoradas que se han citado e incorporado anteriormente.
En una etapa 836 (fig. 26), la pose recibida es la pose 602 de unión de la estación de carga. Generar el trayecto objetivo en la etapa 838 genera un trayecto objetivo desde la posición actual del robot, la posición inicial 600, hasta la posición objetivo, la posición de unión 602. Las etapas 840, 842, 846, 848 y 850 (fig. 26) pueden continuar entonces como se ha descrito anteriormente con referencia a las Figs. 24 y 25. Es decir, el robot 18 al llegar a la posición 600 se mueve hacia adelante desde la posición 600 hasta la posición 602 al cambiar a usar un mapa de resolución de 1 cm del almacén y continuar con la navegación mediante el uso del mapa y el trayecto objetivo recibidos, lo que proporciona, de esta manera, la localización más precisa requerida para accionar el robot para que una su unidad de carga eléctrica y el puerto de carga eléctrica de la estación de carga. En una realización alternativa, al considerar que la posición inicial del robot no necesita estar orientada directamente y el centro de la estación de carga, el robot 18 puede, en cambio, desplazarse a una posición inicial 604 cerca de la estación de carga. Como se ha ilustrado en la Fig. 27, por ejemplo, el robot 18 puede navegar primero desde una ubicación de almacén hasta la pose 604 inicial en las proximidades de la estación 500 de carga y, luego, utilizando una navegación de precisión con un mapa de mayor resolución, preferiblemente un mapa con una resolución de 1 cm, navegar como se ha descrito anteriormente hasta la pose 602 de unión a lo largo del trayecto 742.
Mientras proporciona localización de precisión al acoplarse a la estación de carga, usar un mapa de resolución más alta añade complejidad computacional y procesador de datos del sistema robótico y demandas de recursos de memoria de datos. Por ejemplo, las demandas de procesamiento para localizarse mediante coincidencia de exploración en un mapa de resolución de 1 cm demanda tanto como 25 veces el cálculo de usar un mapa de resolución de 5 cm. Por lo tanto, hacer uso de un mapa de resolución más alta para la localización mediante coincidencia de exploración durante el acoplamiento desperdicia tiempo de procesamiento que podría usarse para otras tareas de procesamiento críticas. Además, en el área de la estación de carga, el mapa de todo el almacén no es necesario una vez que el robot esté próximo a la estación de carga. Aún más, la navegación por exploración que coincide con todo el mapa de depósito, suponiendo que incluye un mapa de la estación de acoplamiento del cargador, no toleraría el movimiento de la estación de carga durante el acoplamiento.
Por lo tanto, la Fig. 28 ilustra otra realización de acoplamiento de precisión utilizando de un mapa de mayor resolución para la localización, en la que el mapa de barrido recibido contiene únicamente la estación de carga y se realiza una coincidencia de barridos de un barrido local en el mapa de mayor resolución. El mapa de la estación de carga puede incluir un mapa a una resolución de 1 cm, donde los píxeles del mapa representan las superficies verticales de una estación de carga. Alternativamente, el mapa de la estación de carga puede construirse a partir de la estructura y dimensiones conocidas de una estación de carga. Cualquier mapa puede usarse para representar la estación de carga como la estación de carga sería escaneada por un escáner de radar láser de robot.
Por ejemplo, como se muestra en la Fig. 28 y con referencia a la Fig. 17, el mapa 740 de estación de carga (mostrado en negro) puede estar representado por un barrido de las superficies 538 y 540 de panel lateral y la superficie 536 de panel central de una estación de carga. Así, el mapa utilizado para la coincidencia de barridos a la estación de acoplamiento de cargador puede ser un mapa 740 de mayor resolución de la parte posterior de la estación de acoplamiento barrida al nivel del radar 22 láser (véase la Fig. 2A). De forma similar, el barrido local para la coincidencia de barridos con el mapa de estación de carga puede ser un barrido 742 de radar láser (mostrado en rojo) de los paneles laterales en ángulo y las superficies centrales en la parte posterior de la estación 500 de carga barrida al nivel del radar láser 22.
Se observa que la estación de carga, en otras realizaciones, puede estar en otras dimensiones y configuraciones, es decir, las superficies laterales en la parte posterior de la estación de acoplamiento pueden no estar en ángulo con relación a la superficie central. De hecho, los métodos descritos en la presente descripción para acoplar un robot a una estación de carga pueden aplicarse a otras dimensiones y configuraciones de una estación de acoplamiento del cargador sin pérdida de generalidad. Con esas otras dimensiones y configuraciones, el mapa de la estación de carga usada para la coincidencia de exploración solo necesita proporcionar un mapa de exploración que incluye o consiste únicamente en una exploración o representación de exploración de una estación de acoplamiento de carga que coincide con una exploración de búsqueda de rango del robot. Estos robots pueden usar otros métodos de exploración de rango consistente con la producción de una exploración local para la coincidencia de exploración con el mapa de la estación de carga.
En vista del proceso 830 de navegación descrito anteriormente con referencia a la Fig. 26, al llegar a una pose 604 inicial, el robot puede pasar a navegar utilizando un mapa de la estación de carga. El mapa recibido en la etapa 832 en esta realización puede ser un mapa de resolución más alta que incluye solamente la estación de acoplamiento del cargador. La localización del robot con respecto a un mapa de la estación de carga, utilizando una coincidencia de barridos según las técnicas anteriores, puede desarrollarse, preferiblemente, empleando M3RSM. Por lo tanto, pueden construirse pirámides de mapas en la etapa 834 (Fig. 26) como se ha mencionado anteriormente. En la etapa 836, la posición recibida es la posición de unión de la estación de carga. Generar el trayecto objetivo en la etapa 838 genera un trayecto objetivo desde la posición actual del robot, la posición inicial 600, hasta la posición objetivo, la posición de unión 602. Continuando con el proceso 830 (fig. 26), el barrido local recibido en la etapa 840 para coincidencia de barridos con respecto al mapa de estación de carga o “ localizar con respecto a la base de acoplamiento” es, en un aspecto, el barrido 742 con radar láser de la estación de carga. Como tal, el barrido 742 con radar láser de la estación de carga de la Fig. 27 se utiliza para encontrar la pose (etapa 842) del robot por coincidencia de barridos con respecto al mapa 740 de estación de carga en cada iteración del proceso 830. El movimiento incremental del robot desde la posición inicial 604 hasta la posición de unión 602 procede con la siguiente velocidad incremental (etapa 846) y hace que el robot 18 se mueva incrementalmente (etapa 848) a lo largo del trayecto 752. El proceso se repite (etapa 820) a medida que el robot 18 se mueve gradualmente a lo largo del trayecto 752 desde la pose 604 inicial hasta la pose 602 de unión, acoplándose de este modo el conjunto 200 de carga eléctrica al puerto 300 de carga eléctrica, como se muestra en la Fig. 17.
En una realización, la evitación del obstáculo durante el acoplamiento, cuando se desplaza desde la posición inicial hasta la posición de acoplamiento, puede simplificarse al determinar a partir de cada exploración local, en cada iteración, si existe un obstáculo dentro de una distancia umbral d, donde d es menor que la distancia que el robot puede llegar a la estación de acoplamiento del cargador cuando se acopla completamente. Por lo tanto, un obstáculo que aparece en la exploración local dentro de la distancia d no es la propia estación de acoplamiento. Por ejemplo, como se muestra en la Fig. 26, puede medirse una distancia umbral di desde la pose de unión hasta la cara anterior de la estación de acoplamiento de cargador. De forma alternativa, la distancia umbral d2 puede ser menor que la distancia a las superficies verticales barridas al nivel del radar láser del robot. En este aspecto, al detectar un obstáculo dentro de la distancia umbral, el robot 18 puede detenerse y esperar a eliminar el obstáculo o el robot puede recibir una nueva posición de navegación continua a otra estación de carga o ubicación objetivo.
Mediante la localización contra la estación de carga solamente, el robot puede realizar el acoplamiento de precisión a máxima eficiencia durante la duración corta del enfoque final a la estación de acoplamiento del cargador. La localización con respecto a la estación de carga solo puede utilizarse en combinación con mapas de mayor resolución durante el acoplamiento, y puede utilizarse con otras técnicas de control de robot, tales como el “control de arco” , que se describirá más adelante, sin que haya pérdida de generalidad en cuanto a los aspectos inventivos de “ localización hasta la base de acoplamiento” .
Acoplamiento de precisión con control de arco
Puede que el acoplamiento de precisión según las realizaciones descritas anteriormente con referencia a las Figs.
26 y 27 no siempre mueva el robot a lo largo de un trayecto conducente a acoplar de forma fiable el conjunto de carga eléctrica con el puerto de carga eléctrica. Por ejemplo, el robot 18 puede navegar desde la posición 604 hasta la posición 602 mediante el uso de mapas de mayor resolución y correlación de exploración con el mapa de estación de carga solamente. Sin embargo, después del enfoque para acoplar la posición 602, el robot 18 puede no orientarse directamente hacia la estación de carga, lo que podría resultar en un acoplamiento poco fiable. Por lo tanto, el acoplamiento del robot a la estación de carga puede mejorarse al navegar sustancialmente a lo largo de un arco controlado desde la posición inicial a la posición de acoplamiento de la estación de carga. Por ejemplo, como se muestra en la Fig. 29, la navegación a lo largo del trayecto 762 de la pose 604 a la pose 602 garantiza que la orientación del robot sea perpendicular a la estación 500 de carga en su aproximación final a la pose 602 de unión.
La Fig. 30 ilustra un método preferido de control de acoplamiento de precisión mediante la navegación sustancialmente a lo largo de un arco desde una pose inicial hasta una pose de unión, orientándose por lo tanto el robot perpendicular a la estación de carga. Como se muestra en la Fig. 30, la pose 604 inicial se identifica mediante unas coordenadas de pose Xr , Yr, 9r, donde Xr , Yr es la ubicación actual o inicial del robot al navegar cerca de la estación de carga y Gr es la orientación angular de la pose inicial. La posición 602 de pose se identifica mediante unas coordenadas de pose Xd, Yd, Gd, donde Xd, Yd es una ubicación alineada con el conjunto de carga eléctrica, o “ morro” , de la estación de carga, y la orientación angular Gd de la pose de unión es perpendicular a la estación de carga. Al observar que un arco descrito por el trayecto 762 traza una sección de un círculo 764 con un radio R y un centro Xc, Yc que comienza en Xr, Yr y termina en Xd , Yd , la primera etapa a la hora de buscar el trayecto 762 es encontrar el centro Xc, Yc del círculo 764 que pasa por Xr, Yr y Xd , Yd.
Desafortunadamente, existe un número infinito de círculos con radio r que tienen una sección de arco que pasa por Xr, Yr y Xd , Yd. Introduciendo la restricción de que la tangente al círculo en la pose Xd, Yd debe tener una pendiente de tan(GD), es decir, que la orientación final del robot es perpendicular a la estación de carga, y utilizando además la restricción de que el centro Xc, Yc del círculo 764 estará a la misma distancia de Xr, Yr y Xd, Yd , el radio r puede hallarse del siguiente modo:
Figure imgf000021_0001
Una tercera restricción establece que la ecuación de la línea que pasa por X d, Yd y X c, Yc tiene una pendiente que es perpendicular a la pendiente de la línea tangente de tan(GD). Se define la variable p de la siguiente manera:
Figure imgf000021_0002
y la ecuación se resuelve para Xc e Yc:
Figure imgf000021_0003
.Ve ' X c ~ x¿>} A Y d ( 6 )
prevé resolver la ecuación para el radio r mediante una simple sustitución en las ecuaciones (1) o (2) anteriores.
Como más arriba, el radio r del círculo único que tiene un centro Xc, Yc que pasa por Xr, Yr y Xd , Yd define el trayecto 762 de arco deseado desde la pose 604 hasta la pose 602 de unión. Por lo tanto, el control para un movimiento incremental del robot a lo largo del trayecto 762 puede determinarse a partir de la línea tangente del círculo 764 en cada iteración. Es decir, el control del robot en cada iteración puede encontrarse haciendo avanzar el robot en la dirección de la línea tangente en una ubicación instantánea Xr, y r a una velocidad angular GT, donde GT es la tangente al círculo 764 en Xr, Y'r.
En la práctica, puede producirse cierta variación en el trayecto real a medida que el robot se mueve incrementalmente desde la posición 604 hasta la posición 602 a lo largo del trayecto de control 762. Sin embargo, la velocidad instantánea del robot en cada posición incremental a lo largo del trayecto 762 debe resultar en una trayectoria instantánea dentro de un pequeño error desde el trayecto de control. Por ejemplo, la Fig. 31 muestra el robot 18 avanzado a lo largo del trayecto 772 (mostrado como una variación exagerada del trayecto 762 de arco para mayor claridad) hasta la pose x 'r, yR, GR, lo que puede producir un pequeño error angular 0 entre la línea 766 tangente del círculo 764, en la lugar x 'r, yR, y el trayecto 768 prolongado en la dirección de orientación GR. En cada iteración y movimiento incremental, el radio r no debe cambiar. El hecho de que el radio r no cambie después de que cada movimiento incremental implica que el robot 18 permanece sustancialmente en el trayecto 762 de arco, lo que garantiza que el robot esté en la orientación deseada en relación con la estación de carga después de la aproximación hasta la pose 602 de unión.
Para asegurar que el radio r no cambie y observar que:
Figure imgf000022_0001
donde x 'r es la velocidad lineal instantánea del robot y G R es su velocidad angular instantánea, para un radio r dado, la velocidad lineal instantánea x 'r puede mantenerse fija ajustando la velocidad angular instantánea GR, o bien la velocidad angular G R puede mantenerse fija ajustando la velocidad lineal xR. Por lo tanto, al emitir un control al robot según:
Figure imgf000022_0002
en donde k es una constante de control proporcional y que combina los controles rotativos de las ecuaciones (7) y (8) anteriores:
Figure imgf000022_0003
donde a y p son parámetros de ponderación, la ecuación de control combinada (9) cierra el error entre el trayecto real 772 del robot y el trayecto de arco deseado 762. En una realización preferida, los parámetros de ponderación a y p pueden ser uno (1).
A medida que el robot 18 se acerca a la estación de carga, el control proporcional de la ecuación (8) puede considerarse más fuertemente en la ecuación (9). En otra realización, los parámetros de ponderación a y p pueden ajustarse en una relación no lineal como una función de la distancia a la estación de carga. De forma alternativa, puede aplicarse el programa de control cerrando primero el error de rotación según la ecuación (8) hasta que el error caiga por debajo de un umbral, dando luego un valor fijo a XR y a continuación controlando el robot según la ecuación (7), actualizando constantemente r y O, y cambiando luego el programa de control de nuevo a la ecuación (8) cuando se supere nuevamente el umbral. De este modo se minimiza el error O en la trayectoria del robot a lo largo del trayecto 762 de arco y en la pose final 602.
Si bien la descripción anterior de la invención permite a un experto en la técnica hacer y utilizar lo que se considera actualmente el mejor modo de la misma, los expertos en la técnica entenderán y apreciarán la existencia de variaciones, combinaciones y equivalentes de las realizaciones y ejemplos específicos de la presente memoria. Las realizaciones descritas anteriormente de la presente invención pretenden ser únicamente ejemplos. Los expertos en la técnica pueden efectuar alteraciones, modificaciones y variaciones a las realizaciones particulares sin apartarse del ámbito de la invención, que se define únicamente mediante las reivindicaciones adjuntas a la presente memoria.
Debe entenderse que la presente invención puede aplicarse con software y/o hardware. En consecuencia, los aspectos de la presente invención pueden adoptar la forma de una realización totalmente de hardware, una realización totalmente de software (incluidos firmware, software residente, microcódigo, etc.) o una realización que combine aspectos de software y hardware que generalmente pueden denominarse en la presente descripción como “circuito” , “ módulo” o “ sistema” . Como apreciará un experto en la técnica, los aspectos de la invención pueden realizarse como un sistema, método o producto de programa informático.
Aspectos de la presente invención se describen con referencia a diagramas de flujo, ilustraciones y/o diagramas de bloques de métodos y aparatos (sistemas). Los diagramas de flujo y diagramas de bloque pueden ilustrar arquitectura, funcionalidad u operaciones del sistema según diversas realizaciones de la invención. Cada etapa del diagrama de flujo puede representar un módulo, que comprende una o más instrucciones ejecutables para la aplicación de las funciones especificadas. En algunas ejecuciones, las etapas mostradas en sucesión pueden, de hecho, ejecutarse prácticamente de forma simultánea. Las etapas pueden realizarse mediante sistemas basados en hardware de propósito especial que realizan las funciones o actos especificados, o mediante combinaciones de hardware de propósito especial e instrucciones informáticas.
Las instrucciones informáticas para la ejecución por un procesador que lleve a cabo operaciones de la presente invención pueden escribirse en uno o más lenguajes de programación, que incluyen lenguajes de programación orientados a objetos tales como C#, C++, Python, o lenguajes de programación Java. Las instrucciones de programa informático pueden almacenarse en un medio legible por ordenador que puede dirigir el sistema robótico a través del procesador de datos para funcionar de forma particular, incluyendo ejecutar instrucciones que aplican las etapas especificadas en un diagrama de flujo y/o diagrama en bloque del sistema descritos en la presente memoria. Un medio de almacenamiento legible por ordenador puede ser cualquier medio tangible que pueda contener, o almacenar instrucciones para su uso por, o en conexión con, el procesador de datos. Un medio legible por ordenador puede incluir también una señal de datos propagada con código de programa legible por ordenador incorporado al mismo.

Claims (1)

  1. REIVINDICACIONES
    Un método para hacer navegar un robot (18) para acoplarse con una estación (500) de acoplamiento de cargador de robot, que comprende:
    recibir una pose (604) inicial asociada a una estación de acoplamiento de cargador de robot; recibir una pose (602) de unión asociada a la estación de acoplamiento de cargador de robot; realizar una primera navegación de un robot desde una ubicación hasta la pose inicial; y realizar una segunda navegación (742) del robot desde la pose inicial hasta la pose de unión, en donde la segunda navegación avanza sustancialmente a lo largo de un trayecto de arco desde la pose inicial hasta la pose de unión, haciendo así que el puerto de carga eléctrica del robot se acople a un conjunto de carga eléctrica de la estación de acoplamiento de cargador de robot; en donde el trayecto de arco desde la pose inicial hasta la pose de unión comprende una sección de un círculo único que tiene un radio r y un centro X c, Yc equidistante de una primera ubicación Xr, Yr asociada a la pose inicial y una segunda ubicación Xd, Yd asociada a la pose de unión,
    caracterizado por que
    una velocidad lineal instantánea x 'r y una velocidad angular instantánea Q'r del robot, en una pose a lo largo del trayecto de arco, se mantienen en una relación sustancialmente constante con radio r:
    Figure imgf000024_0001
    y en donde controlar un error de rotación del robot comprende emitir un control proporcional según:
    Figure imgf000024_0002
    donde k es una constante de control proporcional y 0 es un error de rotación y/o un control ponderado según
    Figure imgf000024_0003
    donde a y ¡ son parámetros de ponderación.
    El método de la reivindicación 1, en donde los parámetros de ponderación a y ¡ pueden ajustarse en una relación no lineal como una función de la distancia a la estación de carga.
    El método de cualquiera de las reivindicaciones 1 -2, en donde controlar el robot comprende:
    cerrar el error de rotación según la ecuación (8) hasta que el error caiga por debajo de un umbral; darle a la velocidad lineal x 'r un valor fijo; y
    controlar el robot según la ecuación (7) actualizando constantemente el radio r y error de rotación 0 ;
    en donde, cuando se supera el umbral, el control se cambia a la ecuación (8) hasta que el error vuelva a caer por debajo del umbral.
    Un robot (18) móvil configurado para navegar desde una ubicación hasta y acoplarse con una estación (500) de acoplamiento de cargador de robot para recargar, comprendiendo el robot:
    una base móvil con ruedas que tiene un puerto de carga eléctrica y un procesador, en donde el procesador está configurado para:
    obtener una pose (604) inicial asociada a la estación de acoplamiento de cargador de robot; obtener una pose (602) de unión asociada a la estación de acoplamiento de cargador de robot; hacer navegar la base móvil con ruedas desde la ubicación hasta la pose inicial;
    hacer navegar (742) la base móvil con ruedas desde la pose inicial a la pose de unión, en donde la base móvil con ruedas avanza sustancialmente a lo largo de un trayecto de arco desde la pose inicial hasta la pose de unión, haciendo así que el puerto de carga eléctrica de la base con ruedas se una a un conjunto de carga eléctrica de la estación de acoplamiento de cargador de robot;
    en donde el trayecto de arco desde la pose inicial hasta la pose de unión comprende una sección de un círculo único que tiene un radio r y un centro X c, Ye equidistante de una primera ubicación Xr, Yr asociada a la pose inicial y una segunda ubicación X d, Yd asociada a la pose de unión,
    caracterizado por que
    una velocidad lineal instantánea xR y una velocidad angular instantánea 9'r del robot, en una pose a lo largo del trayecto de arco, se mantienen en una relación sustancialmente constante con radio r:
    Figure imgf000025_0001
    y en donde controlar un error de rotación del robot comprende emitir un control proporcional según:
    Figure imgf000025_0002
    donde k es una constante de control proporcional y 0 es un error de rotación y/o un control ponderado según
    Figure imgf000025_0003
    donde a y ¡3 son parámetros de ponderación.
    El robot móvil de la reivindicación 4, en donde los parámetros de ponderación a y ¡3 pueden ajustarse en una relación no lineal como una función de la distancia a la estación de acoplamiento de cargador de robot.
    El robot móvil de cualquiera de las reivindicaciones 4-5, en donde controlar el robot comprende:
    cerrar el error de rotación según la ecuación (8) hasta que el error caiga por debajo de un umbral; darle a la velocidad lineal xR un valor fijo; y
    controlar el robot según la ecuación (7) actualizando constantemente el radio r y error de rotación 0 ;
    en donde, cuando se supera el umbral, el control se cambia a la ecuación (8) hasta que el error vuelva a caer por debajo del umbral.
    Un medio legible por ordenador que tiene almacenadas en el mismo instrucciones que, cuando son ejecutadas por un procesador de un robot (18), hacen que el robot ejecute las etapas que comprenden:
    recibir una pose (604) inicial asociada a una estación (500) de acoplamiento de cargador de robot; recibir una pose (602) de unión asociada a la estación de acoplamiento de cargador de robot; controlar una primera navegación de un robot desde una ubicación hasta la pose inicial; controlar una segunda navegación (742) del robot desde la pose inicial hasta la pose de unión, en donde la segunda navegación avanza sustancialmente a lo largo de un trayecto de arco desde la pose inicial hasta la pose de unión, haciendo así que el puerto de carga eléctrica del robot se una a un conjunto de carga eléctrica de la estación de acoplamiento de cargador de robot;
    en donde el trayecto de arco desde la pose inicial hasta la pose de unión comprende una sección de un círculo único que tiene un radio r y un centro X c, Ye equidistante de una primera ubicación Xr, Yr asociada a la pose inicial y una segunda ubicación X d, Yd asociada a la pose de unión, y
    caracterizado por que
    una velocidad lineal instantánea xR y una velocidad angular instantánea GR del robot, en una pose a lo largo del trayecto de arco, se mantienen en una relación sustancialmente constante con el radio r:
    Figure imgf000025_0004
    y en donde controlar un error de rotación del robot comprende emitir un control proporcional según:
    Figure imgf000026_0001
    donde k es una constante de control proporcional y 0 es un error de rotación y/o un control ponderado según
    Figure imgf000026_0002
    donde a y 3 son parámetros de ponderación.
    8. El medio legible por ordenador de la reivindicación 7, en donde los parámetros de ponderación a y 3 pueden ajustarse en relación no lineal en función de la distancia a la estación de acoplamiento de cargador de robot. 9. El medio legible por ordenador de cualquiera de las reivindicaciones 7-8, en donde controlar el robot comprende:
    cerrar el error de rotación según la ecuación (8) hasta que el error esté por debajo de un umbral; darle a la velocidad lineal x 'r un valor fijo; y
    controlar el robot según la ecuación (7) actualizando constantemente el radio r y error de rotación 0 ;
    en donde, cuando se supera el umbral, el control se cambia a la ecuación (8) hasta que el error vuelva a caer por debajo del umbral.
ES18815880T 2017-11-22 2018-11-16 Control de acoplamiento de cargador de robot Active ES2927258T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/821,650 US10761539B2 (en) 2017-11-22 2017-11-22 Robot charger docking control
PCT/US2018/061560 WO2019103934A1 (en) 2017-11-22 2018-11-16 Robot charger docking control

Publications (1)

Publication Number Publication Date
ES2927258T3 true ES2927258T3 (es) 2022-11-03

Family

ID=64661484

Family Applications (1)

Application Number Title Priority Date Filing Date
ES18815880T Active ES2927258T3 (es) 2017-11-22 2018-11-16 Control de acoplamiento de cargador de robot

Country Status (9)

Country Link
US (1) US10761539B2 (es)
EP (1) EP3714344B1 (es)
JP (1) JP7134233B2 (es)
KR (1) KR102497430B1 (es)
CN (1) CN111801635B (es)
AU (1) AU2018372828B2 (es)
CA (1) CA3083243C (es)
ES (1) ES2927258T3 (es)
WO (1) WO2019103934A1 (es)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102291884B1 (ko) * 2018-08-03 2021-08-20 엘지전자 주식회사 이동 로봇 및 그 제어방법
CN109683605B (zh) * 2018-09-25 2020-11-24 上海肇观电子科技有限公司 机器人及其自动回充方法、系统、电子设备、存储介质
US11934196B1 (en) * 2018-12-13 2024-03-19 Hydro-Gear Limited Partnership Visual identifiers for docking and zoning an autonomous mower
TWI691141B (zh) * 2018-12-26 2020-04-11 瑞軒科技股份有限公司 充電站、充電系統及充電方法
CN111743450B (zh) * 2019-03-26 2021-06-08 速感科技(北京)有限公司 可移动装置的回充方法及可移动装置
US11537137B2 (en) * 2019-06-18 2022-12-27 Lg Electronics Inc. Marker for space recognition, method of moving and lining up robot based on space recognition and robot of implementing thereof
CN112388621B (zh) * 2019-08-13 2023-04-07 京东科技信息技术有限公司 对接装置、移动机器人和对接装置的对接方法
CN110597249B (zh) * 2019-08-23 2022-08-05 深圳市优必选科技股份有限公司 一种机器人及其回充定位方法和装置
US11958183B2 (en) 2019-09-19 2024-04-16 The Research Foundation For The State University Of New York Negotiation-based human-robot collaboration via augmented reality
CN110957776B (zh) * 2019-11-15 2021-12-31 深圳市优必选科技股份有限公司 供电结构、充电结构、充电调节装置及机器人充电系统
CN111856538B (zh) * 2020-06-18 2023-07-18 北京九曜智能科技有限公司 一种用于自动驾驶的实时动态自适应路径规划方法
CN112363500B (zh) * 2020-10-29 2023-05-16 深圳市普渡科技有限公司 自动回充移动方法及系统
CN112230664B (zh) * 2020-10-29 2023-06-13 深圳市普渡科技有限公司 自动回充方法及系统
CN114460927A (zh) * 2020-11-10 2022-05-10 炬星科技(深圳)有限公司 一种对接定位方法和移动机器人
CN112486168B (zh) * 2020-11-19 2022-05-20 哈尔滨工程大学 一种基于回转圆的移动式对接轨迹规划方法
CN112859858B (zh) * 2021-01-12 2022-07-08 珠海格力电器股份有限公司 移动设备充电控制方法、装置及充电桩
CN115890647A (zh) * 2021-08-27 2023-04-04 成都家有为力机器人技术有限公司 基于视觉导航的机器人基座定位方法、装置、机器人及介质
CN116069008A (zh) * 2021-11-02 2023-05-05 上海山科机器人有限公司 配对方法、割草机器人、充电设备以及机器控制系统
CN114036747A (zh) * 2021-11-08 2022-02-11 北京华航唯实机器人科技股份有限公司 模型组件的搭建方法及搭建装置、电子设备、存储介质
USD1024944S1 (en) * 2021-11-17 2024-04-30 Locus Robotics Corp. Charging station for robot
CN116430838A (zh) * 2022-01-04 2023-07-14 未岚大陆(北京)科技有限公司 自移动设备、及其控制方法
KR102559299B1 (ko) * 2022-08-29 2023-07-25 주식회사 클로봇 무인 이동체, 마커를 활용한 무인 이동체의 도킹 제어 방법 및 프로그램

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5006988A (en) 1989-04-28 1991-04-09 University Of Michigan Obstacle-avoiding navigation system
JP2000132228A (ja) 1998-10-23 2000-05-12 Hitachi Zosen Corp 移動体の誘導方法
DE602006014364D1 (de) * 2005-02-18 2010-07-01 Irobot Corp Autonomer oberflächenreinigungsroboter für nass- und trockenreinigung
ES2706729T3 (es) 2005-12-02 2019-04-01 Irobot Corp Sistema de robot
KR100843085B1 (ko) 2006-06-20 2008-07-02 삼성전자주식회사 이동 로봇의 격자지도 작성 방법 및 장치와 이를 이용한영역 분리 방법 및 장치
JP5080333B2 (ja) 2007-04-06 2012-11-21 本田技研工業株式会社 自律移動体のための物体認識装置
US8060306B2 (en) 2007-10-04 2011-11-15 Deere & Company Method and system for obstacle avoidance for a vehicle
KR101553654B1 (ko) 2009-02-13 2015-10-01 삼성전자 주식회사 이동 로봇 및 이동 로봇의 이동 방법
US8774970B2 (en) * 2009-06-11 2014-07-08 S.C. Johnson & Son, Inc. Trainable multi-mode floor cleaning device
EP2473890B1 (en) 2009-08-31 2014-03-12 Neato Robotics, Inc. Method and apparatus for simultaneous localization and mapping of mobile robot environment
US8209143B1 (en) 2009-09-15 2012-06-26 Google Inc. Accurate alignment of multiple laser scans using a template surface
DE102010012749A1 (de) 2010-03-25 2011-09-29 Kuka Laboratories Gmbh Verfahren zum Betreiben eines autonomen Flurförderfahrzeugs
JP5454333B2 (ja) 2010-04-23 2014-03-26 富士通株式会社 移動体装置及び移動制御プログラム
US8723872B2 (en) 2010-06-09 2014-05-13 Disney Enterprises, Inc. Display with robotic pixels
US9067320B2 (en) 2010-06-09 2015-06-30 Disney Enterprises, Inc. Robotic texture
US9286810B2 (en) 2010-09-24 2016-03-15 Irobot Corporation Systems and methods for VSLAM optimization
WO2013112842A1 (en) 2012-01-25 2013-08-01 Adept Technology, Inc. Positive and negative obstacle avoidance system for a mobile robot
WO2014055966A1 (en) * 2012-10-05 2014-04-10 Irobot Corporation Robot management systems for determining docking station pose including mobile robots and methods using same
GB201306437D0 (en) 2013-04-09 2013-05-22 F Robotics Acquisitions Ltd Domestic robotic system and robot therfor
WO2014202258A1 (en) 2013-06-21 2014-12-24 National University Of Ireland, Maynooth A method for mapping an environment
US9216745B2 (en) 2013-09-16 2015-12-22 Disney Enterprises, Inc. Shared control of semi-autonomous vehicles including collision avoidance in multi-agent scenarios
JP6263970B2 (ja) * 2013-11-11 2018-01-24 村田機械株式会社 自律走行台車、及び、予定走行経路データのデータ構造
CN104635728A (zh) * 2013-11-14 2015-05-20 沈阳新松机器人自动化股份有限公司 机器人自主充电系统和方法
US9354634B2 (en) 2014-09-10 2016-05-31 Joseph Y. Ko Automatic homing and charging method for self-moving cleaning apparatus
DE102014226357A1 (de) * 2014-12-18 2016-06-23 Robert Bosch Gmbh Ladestation und Verfahren zum automatischen Laden eines elektrischen Energiespeichers in einem Fahrzeug
JP2017004373A (ja) 2015-06-12 2017-01-05 株式会社リコー 情報処理装置、情報処理プログラム、および情報処理システム
JP6617482B2 (ja) 2015-09-04 2019-12-11 村田機械株式会社 自律走行車システム
CN105990876B (zh) 2015-12-21 2019-03-01 小米科技有限责任公司 充电桩及其识别方法、装置和自动清洁设备
US9864377B2 (en) 2016-04-01 2018-01-09 Locus Robotics Corporation Navigation using planned robot travel paths
CN106826821A (zh) * 2017-01-16 2017-06-13 深圳前海勇艺达机器人有限公司 基于图像视觉引导的机器人自动返回充电的方法和系统
CN107091643A (zh) * 2017-06-07 2017-08-25 旗瀚科技有限公司 一种基于多台3d结构光相机拼接的室内导航方法

Also Published As

Publication number Publication date
NZ764668A (en) 2021-10-29
WO2019103934A1 (en) 2019-05-31
JP7134233B2 (ja) 2022-09-09
JP2021504793A (ja) 2021-02-15
KR20200108825A (ko) 2020-09-21
AU2018372828A1 (en) 2020-06-11
KR102497430B1 (ko) 2023-02-07
CN111801635B (zh) 2023-10-13
AU2018372828B2 (en) 2021-10-21
US20190155295A1 (en) 2019-05-23
EP3714344B1 (en) 2022-08-10
US10761539B2 (en) 2020-09-01
EP3714344A1 (en) 2020-09-30
CN111801635A (zh) 2020-10-20
CA3083243C (en) 2023-09-19
CA3083243A1 (en) 2019-05-31

Similar Documents

Publication Publication Date Title
ES2927258T3 (es) Control de acoplamiento de cargador de robot
ES2901143T3 (es) Localización de acoplamiento de un cargador de robot
ES2903525T3 (es) Coincidencia de barridos multirresolución con zonas de exclusión
ES2900495T3 (es) Enfoque dinámico de ventana usando un punto crítico de pérdida óptimo de evitación de colisiones recíprocas
ES2901550T3 (es) Sistema y método de carga eléctrica para un robot autónomo
NZ764669B2 (en) Robot charger docking localization
NZ764668B2 (en) Robot charger docking control