ES2966385T3 - Procedimiento de control de robot, robot y medio de almacenamiento - Google Patents
Procedimiento de control de robot, robot y medio de almacenamiento Download PDFInfo
- Publication number
- ES2966385T3 ES2966385T3 ES19836995T ES19836995T ES2966385T3 ES 2966385 T3 ES2966385 T3 ES 2966385T3 ES 19836995 T ES19836995 T ES 19836995T ES 19836995 T ES19836995 T ES 19836995T ES 2966385 T3 ES2966385 T3 ES 2966385T3
- Authority
- ES
- Spain
- Prior art keywords
- robot
- released
- area
- sweeping
- task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000010408 sweeping Methods 0.000 claims description 202
- 230000015654 memory Effects 0.000 claims description 33
- 230000006870 function Effects 0.000 claims description 22
- 230000033001 locomotion Effects 0.000 claims description 18
- 230000009471 action Effects 0.000 claims description 17
- 230000000875 corresponding effect Effects 0.000 description 18
- 230000000007 visual effect Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 13
- 230000003287 optical effect Effects 0.000 description 10
- 230000001276 controlling effect Effects 0.000 description 9
- 230000006399 behavior Effects 0.000 description 7
- 238000004140 cleaning Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 230000004807 localization Effects 0.000 description 7
- 241001417527 Pempheridae Species 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 210000004209 hair Anatomy 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 208000012661 Dyskinesia Diseases 0.000 description 1
- 210000000617 arm Anatomy 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 210000004247 hand Anatomy 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
- A47L11/4011—Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/24—Floor-sweeping machines, motor-driven
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
- A47L11/4002—Installations of electric equipment
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
- A47L11/4061—Steering means; Means for avoiding obstacles; Details related to the place where the driver is accommodated
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L9/00—Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
- A47L9/28—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
- A47L9/2805—Parameters or conditions being sensed
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L9/00—Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
- A47L9/28—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
- A47L9/2836—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means characterised by the parts which are controlled
- A47L9/2847—Surface treating elements
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L9/00—Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
- A47L9/28—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
- A47L9/2836—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means characterised by the parts which are controlled
- A47L9/2852—Elements for displacement of the vacuum cleaner or the accessories therefor, e.g. wheels, casters or nozzles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L2201/00—Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
- A47L2201/04—Automatic control of the travelling movement; Automatic obstacle detection
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L2201/00—Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
- A47L2201/06—Control of the cleaning action for autonomous devices; Automatic detection of the surface condition before, during or after cleaning
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
En las realizaciones de la presente solicitud se proporcionan un método de control de robot, un robot y un medio de almacenamiento. En las realizaciones de la presente solicitud, basándose en una operación de reposicionamiento, un robot determina la posición en la que se encuentra el robot cuando escapa de un secuestro; determina una región de ejecución de tareas según la información del entorno que rodea la posición en la que se encuentra el robot cuando escapa de un secuestro; y posteriormente, ejecuta una tarea en la región de ejecución de tareas. Como tal, el robot puede determinar de manera flexible una región de ejecución de tareas de acuerdo con el entorno en el que se encuentra el robot cuando escapa del secuestro sin necesidad de regresar a la posición en la que el robot fue secuestrado, adaptándose así a las circunstancias y siendo capaz de encontrarse con el usuario. exige tanto como sea posible. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Procedimiento de control de robot, robot y medio de almacenamiento
CAMPO
La presente divulgación se refiere al campo técnico de la inteligencia artificial y, en particular, a un procedimiento de control de robots, un robot y un medio de almacenamiento.
ANTECEDENTES
Con el desarrollo de las tecnologías robóticas, el robot entra gradualmente en la vida cotidiana de la gente, aportando una gran comodidad a la vida de las personas. Por ejemplo, el robot con funciones de limpieza de pisos puede limpiar automáticamente la sala, ahorrando así mucha mano de obra y costes de material.
En la tecnología robótica actual, la localización y navegación autónomas del robot pueden realizarse mediante localización y mapeo simultáneos (SLAM). Sin embargo, en el procedimiento de SLAM, el robot puede ser secuestrado en ocasiones. Por ejemplo, el robot se desplaza, se suspende o se arrastra por una distancia amplia. Cuando el robot regrese al piso, se producirán errores de deriva incontrolables en la localización, y será necesario reubicar el robot.
El documento EP2447800A2 describe un robot limpiador y un procedimiento para controlarlo. El robot limpiador puede evitar ejecuciones repetidas de una operación de limpieza mediante el reconocimiento de su posición a través de una unidad de reconocimiento de posición absoluta, en el caso de que la operación de limpieza se realice de nuevo después de haber sido detenida por la fuerza debido a causas arbitrarias. Y, el robot limpiador puede resolver un error de reconocimiento de posición por una unidad de reconocimiento de posición relativa con el uso de una unidad de detección de imagen (100), y puede realizar eficazmente una operación de limpieza basada en una similitud entre una imagen detectada por la unidad de detección de imagen y una imagen con respecto a una región de limpieza. Esto puede mejorar la eficiencia y estabilidad del sistema, y aumentar la comodidad del usuario.
El documento EP1868056A2 divulga un aparato en movimiento y un aparato, procedimiento y medio para compensar la posición basado en una tecnología de reconocimiento de posición. El aparato en movimiento que proporciona una función para corregir una posición incluye una unidad de detección que obtiene información de estado múltiple que refleja uno o más estados de movimiento anormales generados por movimientos del aparato en movimiento; una unidad de determinación de estado que determina si el estado de movimiento anormal es generado o no por navegación autónoma, haciendo referencia a la información de estado múltiple obtenida; y una unidad de cálculo de información de posición que calcula la información de posición final del aparato en movimiento, corrigiendo la información de estado múltiple a medida que se produce el estado de movimiento anormal.
Tras la relocalización, el robot suele volver a la posición secuestrada para seguir ejecutando la tarea anterior. Este procedimiento es relativamente sencillo, pero puede no actuar en función de las condiciones locales y puede no satisfacer las necesidades del usuario.
RESUMEN
Varios aspectos de la presente divulgación proporcionan un procedimiento de control de robot, un robot y un medio de almacenamiento, de tal manera que el robot puede ejecutar las tareas correspondientes de acuerdo con las condiciones locales para satisfacer las necesidades del usuario.
La realización de la presente divulgación proporciona un procedimiento de control de robot, incluyendo: determinar, por un robot, una posición cuando el robot se libera de estar secuestrado basado en la operación de relocalización; determinar, por el robot, un área de ejecución de tareas de acuerdo con la información del entorno alrededor de la posición cuando el robot se libera de estar secuestrado; y ejecutar, por el robot, una tarea dentro del área de ejecución de tareas.
La realización de la presente divulgación también proporciona un robot, incluyendo un cuerpo mecánico, donde el cuerpo mecánico está provisto de uno o más sensores, uno o más procesadores y una o más memorias para almacenar instrucciones de ordenador; y el uno o más procesadores para ejecutar las instrucciones de ordenador para:
determinar una posición del robot cuando éste se libera de estar secuestrado basándose en la operación de relocalización;
obtener información del entorno alrededor de la posición cuando el robot es liberado de ser secuestrado a través de uno o más sensores; determinar un área de ejecución de tareas de acuerdo con la información del entorno alrededor de la posición del robot cuando el robot es liberado de ser secuestrado; y
controlar el robot para que ejecute una tarea dentro del área de ejecución de tareas.
Las realizaciones de la presente divulgación también proporcionan un medio de almacenamiento legible por computadora que almacena instrucciones de computadora, cuando las instrucciones de computadora son ejecutadas por uno o más procesadores, se hace que uno o más procesadores ejecuten las siguientes acciones que incluyen:
determinar una posición cuando el robot se libera de estar secuestrado basándose en la operación de relocalización;
determinar un área de ejecución de tareas de acuerdo con la información del entorno alrededor de la posición cuando el robot se libera de estar secuestrado; y
controlar el robot para que ejecute una tarea dentro del área de ejecución de tareas.
En la realización de la presente divulgación, el robot determina una posición cuando el robot se libera de estar secuestrado basándose en la operación de relocalización; determina un área de ejecución de tareas de acuerdo con la información del entorno alrededor de la posición cuando el robot se libera de estar secuestrado; y posteriormente ejecuta una tarea dentro del área de ejecución de tareas. Así, el
robot puede determinar de forma flexible el área de ejecución de la tarea de acuerdo con el entorno en el que el robot se libera de estar secuestrado, sin volver a la posición en la que el robot es secuestrado, para continuar ejecutando la tarea, entonces se realiza la actuación de acuerdo con las condiciones locales y los requisitos del usuario pueden ser satisfechos en la medida de lo posible.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
Los dibujos aquí descritos se utilizan para una mejor comprensión de la presente divulgación, y forman parte de la misma. Las realizaciones ejemplares de la presente divulgación y la descripción de las mismas se utilizan para explicar la presente divulgación, pero no la limitan indebidamente. En los dibujos:
La Figura 1 es un diagrama de flujo de un procedimiento de control de robot proporcionado por una realización ejemplar de la presente divulgación;
La Figura 2 es un diagrama de flujo de un procedimiento para determinar una posición donde un robot continúa ejecutando una tarea proporcionada por una realización ejemplar de la presente divulgación;
Las Figuras 3a-3g son diagramas de áreas a barrer proporcionadas por una realización ejemplar de la presente divulgación, respectivamente;
La Figura 4a es un diagrama de una trayectoria de barrido de arco circular proporcionada por una realización ejemplar de la presente divulgación;
La Figura 4b es un diagrama de una trayectoria de barrido de hileras apretadas proporcionada por una realización ejemplar de la presente divulgación;
La Figura 5a es un diagrama de bloques de una estructura de hardware de un robot proporcionado por una realización ejemplar de la presente divulgación;
La Figura 5b es un diagrama lineal de un robot humanoide proporcionado por una realización ejemplar de la presente divulgación; y
La Figura 5c es un diagrama lineal de un robot no humanoide proporcionado por una realización ejemplar de la presente divulgación.
DESCRIPCIÓN DETALLADA DE REALIZACIONES DE EJEMPLO
Para que el objeto, las soluciones técnicas y las ventajas de la presente divulgación resulten más claros, las soluciones técnicas de la presente divulgación se describirán de forma clara y completa a continuación junto con las realizaciones específicas de la presente divulgación y los dibujos correspondientes. Aparentemente, las realizaciones descritas son sólo algunas realizaciones de la invención, pero no todas las realizaciones. Todas las demás realizaciones, obtenidas por los expertos en la materia basándose en las realizaciones de la presente divulgación sin ningún esfuerzo inventivo, entran en el ámbito de protección de la presente divulgación.
Con respecto al problema técnico de que los requisitos del usuario no pueden cumplirse ya que un procedimiento para que un robot existente continúe ejecutando una tarea no puede actuar de acuerdo con las condiciones locales después de que el robot existente sea reubicado, la realización de la presente divulgación proporciona una solución con la idea básica siguiente: un robot determina una posición del robot cuando el robot es liberado de ser secuestrado basándose en la operación de relocalización; determina un área de ejecución de tareas de acuerdo con la información del entorno alrededor de la posición del robot cuando el robot es liberado de ser secuestrado; y posteriormente ejecuta una tarea dentro del área de ejecución de tareas. De este modo, el robot puede determinar de forma flexible el área de ejecución de la tarea de acuerdo con el entorno en el que el robot se libera de estar secuestrado, entonces se realiza la actuación de acuerdo con las condiciones locales y los requisitos del usuario pueden ser satisfechos en la medida de lo posible.
Las soluciones técnicas proporcionadas por las realizaciones de la presente divulgación se describen en detalle a continuación en combinación con los dibujos adjuntos.
La Figura 1 es un diagrama de flujo de un procedimiento de control de robot proporcionado por una realización ejemplar de la presente divulgación. Como se muestra en la Figura 1, el procedimiento incluye:
101, determinar, mediante un robot, una posición del robot cuando éste se libera de estar secuestrado basándose en la operación de relocalización;
102, determinar, por parte del robot, un área de ejecución de tareas de acuerdo con la información del entorno alrededor de la posición del robot cuando éste se libera de estar secuestrado; y
103, ejecutar, por parte del robot, una tarea dentro del área de ejecución de tareas.
El procedimiento proporcionado por la realización puede aplicarse a un robot capaz de moverse de forma autónoma, y principalmente controla los comportamientos posteriores del robot después de la relocalización. Esta realización no limita la forma del robot, que puede ser, por ejemplo, circular, elíptica, triangular, poligonal convexa y humanoide. Donde, el robot puede implementar la lógica del procedimiento de localización del robot proporcionado por la realización instalando software, APP, o escribiendo códigos de programa en los dispositivos correspondientes.
En la realización, el robot puede moverse de forma autónoma, y completar ciertas tareas de trabajo sobre la base de movimiento autónomo. Por ejemplo, en escenarios de compra como un supermercado o un centro comercial, un robot con carrito de compra necesita seguir a un cliente para desplazarse y acomodar los productos seleccionados por éste. Como otro ejemplo, en los escenarios de clasificación de almacenes de algunas empresas, un robot clasificador necesita seguir al personal de clasificación para desplazarse a una área de preparación de estanterías y, a continuación, comienza a clasificar los artículos del pedido. Por ejemplo, en un escenario de barrido doméstico, un robot barredor tiene que barrer un salón, un dormitorio, una cocina y otras áreas. En estos escenarios de aplicación, el robot completa las tareas correspondientes en el procedimiento de movimiento autónomo. Sin embargo, en la aplicación práctica, el robot puede quedar atrapado, ser evitado repetidamente o estar enredado y sujeto a otras dificultades de funcionamiento en el proceso de completar las tareas de trabajo correspondientes. En este caso, el usuario suele mover o arrastrar el robot a otra posición para que el robot siga ejecutando la tarea en esa posición.
Además, el robot necesita ser cargado cuando la carga eléctrica es insuficiente en esta realización. Cuando la carga eléctrica del robot es insuficiente, el robot puede desplazarse automáticamente a la posición de una estación de carga para cargarse. O cuando la carga eléctrica del robot es insuficiente, el robot emite un aviso al usuario para que éste desplace el robot a la posición de la estación de carga que carga el robot. Una vez cargado el robot, el usuario mueve o arrastra el robot a una posición distinta de la estación de carga, de forma que el robot sigue ejecutando la tarea desde esa posición. En conjunción con los escenarios de aplicación descritos anteriormente, se puede ver que el robot puede ser secuestrado durante la aplicación práctica, como ser movido, suspendido o arrastrado a otra posición como se ha descrito anteriormente. En estos casos, el robot puede activar la operación de relocalización debido a la ausencia o pérdida de información de posición previa, es decir, volver a determinar una pose del robot, donde la pose incluye una posición y una orientación del robot.
En más casos, el robot es secuestrado porque cuando el robot es secuestrado, la posición del robot ya no es adecuada para que el robot continúe ejecutando la tarea, y el robot necesita ejecutar la tarea en una nueva posición. Basándose en el análisis, en la realización, el robot puede determinar una posición del robot cuando el robot se libera de estar secuestrado basándose en la operación de relocalización, obtener información del entorno alrededor de la posición del robot cuando el robot se libera de estar secuestrado, determinar un área de ejecución de tareas de acuerdo con la información del entorno obtenida, y posteriormente ejecutar una tarea dentro del área de ejecución de tareas. Así, el robot puede determinar de forma flexible el área de ejecución de la tarea de acuerdo con el entorno en el que el robot se libera de estar secuestrado, sin volver a la posición del robot cuando el robot es secuestrado, para continuar ejecutando la tarea, entonces se realiza la actuación de acuerdo con las condiciones locales y los requisitos del usuario pueden ser satisfechos en la medida de lo posible.
En la realización de la presente divulgación, los comportamientos de que el robot es movido, suspendido o arrastrado por una amplia distancia y similares se definen uniformemente como que el robot es secuestrado por conveniencia de la descripción. En consecuencia, los comportamientos de que el robot vuelva al piso después de ser movido o suspendido y de que el robot deje de ser arrastrado después de ser arrastrado se definen uniformemente como que el robot se libera de estar secuestrado.
Alternativamente, un sensor de contacto, un acoplador óptico reflectante, un sensor inercial, y similares pueden ser proporcionados en el robot, pero no se limitan a ellos, para detectar si el robot tiene una situación de secuestro como se ha descrito anteriormente. Por ejemplo, el sensor de contacto puede estar situado en la parte inferior de la base del robot o en un rodillo para detectar si el robot se mueve y se suspende y para determinar si el robot vuelve al piso. O bien, el acoplador óptico reflectante está montado en la parte inferior del robot y emite un haz de luz capaz de reflejarse desde el piso, mediante el cual puede detectarse el funcionamiento del robot que se mueve o suspende y posteriormente se vuelve a colocar en el piso. Cuando el sensor de contacto o el acoplador óptico reflectante detecta que el robot se separa del piso, indica que el robot está secuestrado; y cuando el sensor de contacto o el acoplador óptico reflectante detecta que el robot se coloca de nuevo en el piso, indica que el robot se libera de estar secuestrado, y el robot se activa para iniciar una función de relocalización y ejecutar la operación de relocalización. Como otro ejemplo, el sensor inercial tal como un sensor de aceleración se monta en el robot para detectar si el robot es arrastrado por una amplia distancia. Cuando el sensor inercial detecta que el robot es arrastrado, indica que el robot es secuestrado; y cuando el sensor inercial detecta que el robot deja de ser arrastrado, indica que el robot es liberado de ser secuestrado, y el robot es accionado para iniciar la función de relocalización y ejecutar la operación de relocalización.
En una realización alternativa, el robot puede ejecutar la operación de relocalización en la posición del robot cuando el robot es liberado de ser secuestrado, y en la posición, la pose del robot en un mapa del entorno almacenado puede ser localizada con precisión. La pose incluye la posición y la orientación del robot en el mapa del entorno almacenado. Basado en esto, una implementación alternativa de la etapa 101 es como sigue: al reconocer que el robot es liberado de ser secuestrado, el robot obtiene información del entorno alrededor de una posición actual del robot; y localiza la pose del robot en el mapa del entorno almacenado de acuerdo a la información del entorno alrededor de la posición actual del robot, y toma la posición en la pose como una posición del robot cuando el robot es liberado de ser secuestrado, para ser precisos, una posición del robot en el mapa del entorno almacenado actualmente.
En otra realización alternativa, el robot no puede localizar con precisión la pose del robot en el mapa del entorno almacenado en la posición del robot cuando el robot es liberado de ser secuestrado, entonces el robot puede moverse desde la posición del robot cuando el robot es liberado de ser secuestrado a otra posición, y el robot ejecuta continuamente la operación de relocalización de acuerdo con la última información del entorno obtenida en el procedimiento de movimiento hasta que la pose del robot en el mapa del entorno almacenado sea localizada con precisión. En aras de la descripción y diferenciación, en las siguientes realizaciones de la presente divulgación, la otra posición a la que el robot se mueve desde la posición del robot cuando el robot es liberado de ser secuestrado se define como una segunda posición que es cualquier posición en el mapa del entorno almacenado que es diferente de la posición del robot cuando el robot es liberado de ser secuestrado. Basado en esto, otra implementación alternativa de la etapa 101 es como sigue: al reconocer que el robot es liberado de ser secuestrado, el robot se mueve de la posición actual del robot a la segunda posición y localiza la pose del robot en el mapa del entorno almacenado en el procedimiento de movimiento; y el robot, de acuerdo con la posición en la pose y los datos adquiridos en el procedimiento de movimiento del robot, determina la posición donde el robot comienza a moverse como la posición del robot cuando el robot es liberado de ser secuestrado.
Alternativamente, un período de localización puede ser preestablecido y un temporizador o contador puede ser iniciado para cronometrar el período de localización. Así, en el procedimiento que el robot se mueve desde la posición del robot cuando el robot es liberado de ser secuestrado hasta la segunda posición, la operación de relocalización de una vez puede ser ejecutada cuando cada período de localización es alcanzado, es decir, la relocalización es realizada una vez, hasta que la pose del robot en el mapa del entorno almacenado sea localizada. Así, cuando se localiza la pose del robot, el tiempo transcurrido puede determinarse según el número total de periodos de localización que recorre el robot al moverse desde la posición del robot cuando se libera de estar secuestrado hasta la posición del robot cuando se localiza la pose del robot en el mapa del entorno almacenado.
Además, un sensor de desplazamiento y el sensor de aceleración pueden ser proporcionados en el robot, y el desplazamiento y la aceleración del robot se obtienen en el procedimiento que el robot se mueve desde la posición del robot cuando el robot es liberado de ser secuestrado a la posición del robot cuando se localiza la pose del robot en el mapa del entorno almacenado. Así, con la combinación del desplazamiento, la aceleración y el tiempo transcurrido del robot, se puede determinar la distancia de desplazamiento que el robot se mueve desde la posición del robot cuando se libera de estar secuestrado hasta la posición del robot cuando se localiza la pose del robot en el mapa del entorno almacenado; y luego, de acuerdo con la distancia de desplazamiento del robot, una ruta de navegación conocida y la posición del robot cuando la pose del robot en el mapa del entorno almacenado es reubicada, se determina la posición donde el robot comienza a moverse, es decir, la posición del robot cuando el robot es liberado de ser secuestrado.
Alternativamente, el mapa del entorno puede incluir al menos uno de un mapa visual y un mapa de cuadrículas. El mapa visual, construido a partir de imágenes del entorno obtenidas previamente por un sensor visual, puede describir hasta cierto punto un entorno regional en el que se encuentra el robot, y almacena principalmente información de una pluralidad de imágenes del entorno relacionadas con el entorno en el que se encuentra el robot, como la pose del robot correspondiente a las imágenes del entorno, puntos característicos contenidos en las imágenes del entorno y descriptores de los puntos característicos. El mapa de cuadrículas, construido a partir de los datos del entorno obtenidos previamente por un sensor láser, es el producto de la rasterización digital del entorno en el área donde se encuentra el robot de almacenamiento. Cada cuadrícula del mapa de cuadrículas corresponde a una pequeña área del entorno en la que se encuentra el robot y contiene dos tipos de información básica, a saber, coordenadas e información sobre si está ocupada por obstáculos o no, y el valor de probabilidad de ocupación de la cuadrícula representa la información del entorno del área correspondiente. Cuanto mayor sea el número de cuadrículas de un mapa de cuadrículas, más detallado será el mapa de cuadrículas que describa el entorno en el que se encuentra el robot y, en consecuencia, mayor será la precisión de la localización basada en el mapa de cuadrículas. Si el sensor del robot descrito anteriormente incluye el sensor visual, en la etapa 102, el sensor visual obtiene la imagen del entorno alrededor de la posición del robot cuando éste se libera de estar secuestrado. En consecuencia, el robot puede determinar el área de ejecución de la tarea de acuerdo con la imagen del entorno alrededor de la posición del robot cuando éste se libera de estar secuestrado.
Si el sensor del robot descrito anteriormente incluye el sensor láser, en la etapa 102, el sensor láser obtiene datos del entorno alrededor de la posición del robot cuando éste se libera de estar secuestrado. En consecuencia, el robot puede determinar el área de ejecución de la tarea de acuerdo con los datos del entorno alrededor de la posición del robot cuando éste se libera de estar secuestrado.
Si el sensor en el robot descrito anteriormente incluye el sensor visual y el sensor láser, en la etapa 102, el sensor visual obtiene la imagen del entorno alrededor de la posición del robot cuando el robot es liberado de ser secuestrado, y el sensor láser obtiene los datos del entorno alrededor de la posición del robot cuando el robot es liberado de ser secuestrado. En consecuencia, el robot puede determinar el área de ejecución de la tarea de acuerdo con la imagen del entorno y los datos del entorno alrededor de la posición del robot cuando éste se libera de estar secuestrado.
Para facilitar la descripción, en las realizaciones descritas anteriormente o a continuación, la imagen del entorno obtenida por el sensor visual y los datos del entorno obtenidos por el sensor láser se denominan colectivamente información del entorno. En consecuencia, en las realizaciones descritas anteriormente o a continuación, la imagen del entorno alrededor de la posición del robot, obtenida por el sensor visual y los datos del entorno alrededor de la posición del robot, obtenidos por el sensor láser cuando el robot es secuestrado o liberado de ser secuestrado se denominan colectivamente información del entorno.
En más casos, tras el secuestro del robot, es necesario ejecutar la tarea desde una nueva posición. Sin embargo, en algunos escenarios de aplicación, después de que el robot reubique su pose, el robot puede necesitar volver a la posición del robot cuando es secuestrado para continuar ejecutando la tarea que no ha sido completada antes de que el robot sea secuestrado. Es decir, dependiendo de la situación de secuestro del robot, el comportamiento después de que el robot reubique su pose será diferente. Con el fin de controlar con mayor precisión el comportamiento del robot después de la relocalización, en algunas realizaciones alternativas, antes de la etapa 102, si el robot necesita ejecutar la tarea en la posición del robot cuando el robot es liberado de ser secuestrado puede determinarse de acuerdo a la diferencia entre la posición del robot cuando el robot es liberado de ser secuestrado y la posición del robot cuando el robot es secuestrado. Si se desea, la etapa 102 y la operación subsiguiente se ejecutan de tal manera que el robot ejecuta una tarea desde la posición del robot cuando éste se libera de estar secuestrado.
En un escenario de aplicación 1, el robot ha completado la tarea de trabajo en un área del entorno actual o el usuario desea moverlo a otra área del entorno para ejecutar la tarea de trabajo. Así, el usuario normalmente mueve o arrastra el robot a cualquier posición en otra área de tal forma que el robot ejecuta la tarea en el área desde esta posición. Por ejemplo, con respecto a un robot barredor aplicado a la operación de barrido doméstico, cuando se completa el barrido de un dormitorio A, el usuario mueve el robot barredor a un dormitorio B para continuar ejecutando la tarea de barrido. En la realización de la presente divulgación, el área del entorno se refiere a una amplitud de área con significado de existencia independiente, y en términos generales, las tareas de trabajo de los robots en diferentes áreas del entorno pueden ser independientes entre sí. En función de los escenarios de aplicación, la división y definición de las áreas del entorno puede variar. Por ejemplo, en un entorno doméstico, los dormitorios, las cocinas, las salas de estar, los baños, etc. pueden considerarse áreas del entorno relativamente independientes, pero no están limitadas a ellas.
Basándose en el escenario de aplicación 1 mencionado anteriormente, una implementación alternativa para determinar si un robot necesita ejecutar una tarea en una posición del robot cuando el robot es liberado de ser secuestrado es la siguiente: se juzga si la posición del robot cuando el robot es liberado de ser secuestrado y la posición del robot cuando el robot es secuestrado pertenecen a la misma área del entorno o no; y si la posición del robot cuando el robot es liberado de ser secuestrado y la posición del robot cuando el robot es secuestrado pertenecen a diferentes áreas del entorno, se determina una situación en la que el robot necesita ejecutar la tarea en la posición del robot cuando el robot es liberado de ser secuestrado.
Alternativamente, la posición del robot cuando el robot es secuestrado puede determinarse basándose en la información del entorno obtenida en el último tiempo o en el tiempo más reciente antes de que el robot sea secuestrado.
En el escenario de aplicación 2, el robot puede quedar atrapado, ser evitado repetidamente o estar enredado y sometido a otras dificultades de funcionamiento en el procedimiento de realización de las correspondientes tareas de trabajo. Por ejemplo, cuando el robot barredor ejecuta una tarea de barrido en una posición actual, y un cepillo de piso del robot barredor está enrollado por pelos en la posición. Como otro ejemplo, al ejecutar la tarea de barrido, el robot barredor se encuentra con un escalón y no puede continuar operando, etc. En estos casos, el usuario normalmente mueve o arrastra el robot a otra posición para que el robot continúe ejecutando la tarea en esa posición. Sin embargo, en algunos casos, puede darse una situación en la que el robot tenga dificultades para funcionar. Por ejemplo, en un caso en el que el robot barredor antes mencionado se aleja ya que el cepillo de piso del robot barredor está enredado por pelos en la posición al ejecutar la tarea de barrido, los pelos pueden limpiarse cuando el robot vuelve de nuevo al piso. En este caso, el usuario espera que el robot vuelva a la posición en la que se encontraba cuando fue secuestrado para seguir ejecutando la tarea.
Basándose en el escenario de aplicación 2 antes mencionado, otra implementación alternativa para determinar si un robot necesita ejecutar una tarea en una posición del robot cuando el robot es liberado de ser secuestrado es como sigue: se juzga si la posición del robot cuando el robot es secuestrado está localizada en un área de dificultad de funcionamiento del robot; y si la posición del robot cuando el robot es secuestrado está localizada en el área de dificultad de funcionamiento del robot y la posición del robot cuando el robot es liberado de ser secuestrado está localizada fuera del área de dificultad de funcionamiento del robot, se determina una situación en la que el robot necesita ejecutar la tarea en la posición del robot cuando el robot es liberado de ser secuestrado. En consecuencia, si la posición del robot cuando el robot es secuestrado se encuentra fuera del área de dificultad de ejecución del robot, se determina una situación en la que el robot necesita volver a la posición del robot cuando el robot es secuestrado para continuar ejecutando la tarea.
Alternativamente, un área previsible de dificultad de funcionamiento del robot o un área fija de dificultad de funcionamiento, como un área del entorno en la que se encuentran etapas, puede identificarse en el mapa del entorno almacenado por adelantado; y las áreas de dificultad de funcionamiento también pueden marcarse en tiempo real de acuerdo con la información del entorno obtenida por el robot. En el caso de áreas de dificultad de funcionamiento del robot imprevisibles o áreas de dificultad de funcionamiento con alta variabilidad, por ejemplo, en el caso de una cierta área del entorno en la que existe un gran número de pelos, escombros, etc., el robot barredor es posiblemente enredado al ejecutar una tarea de barrido en el área del entorno, sin embargo, los pelos, escombros, etc. en el área del entorno pueden ser limpiados, de tal manera que el área del entorno ya no es el área de dificultad de funcionamiento del robot. Por lo tanto, el robot puede determinar si el área del entorno es un área de dificultad para funcionar para el robot o no de acuerdo con la información del entorno obtenida.
En el escenario de aplicación 3, cuando la cantidad de carga del robot es insuficiente, el robot puede desplazarse automáticamente a una posición de una estación de carga para cargarse. O cuando la carga eléctrica del robot es insuficiente, el robot emite un aviso al usuario para que éste desplace el robot a la posición de la estación de carga que carga el robot. Una vez cargado el robot, el usuario mueve o arrastra el robot a una posición distinta de la estación de carga, de forma que el robot sigue ejecutando la tarea desde esa posición.
Basado en el escenario de aplicación 3 antes mencionado, otra implementación alternativa para determinar si un robot necesita ejecutar una tarea en una posición del robot cuando el robot es liberado de ser secuestrado es como sigue: se juzga si la posición del robot cuando el robot es secuestrado es una posición de estación de carga; y si la posición del robot cuando el robot es secuestrado es la posición de estación de carga y la posición del robot cuando el robot es liberado de ser secuestrado no es una posición de estación de carga, en otras palabras, la posición del robot cuando el robot es liberado de ser secuestrado es una posición de estación no de carga, se determina una situación en la que el robot necesita ejecutar la tarea en la posición del robot cuando el robot es liberado de ser secuestrado.
Alternativamente, la posición de la estación de carga puede estar marcada previamente en el mapa del entorno almacenado. Por lo tanto, cuando el robot detecta que el robot tiene una fuente de alimentación externa para cargar el robot, una situación que la posición del robot cuando el robot es secuestrado es una posición de la estación de carga puede ser determinada.
Alternativamente, cuando el robot está cargado, un circuito anfitrión del robot puede ser despertado periódicamente. Cuando el circuito anfitrión del robot se despierta, el robot puede obtener información del entorno circundante de la posición actual, y determinar que la posición actual del robot es una posición de estación de carga de acuerdo con la información del entorno circundante del robot.
Cabe señalar que, en la realización de la presente divulgación, las implementaciones descritas anteriormente para determinar si un robot necesita ejecutar una tarea en una posición del robot cuando el robot se libera de estar secuestrado pueden implementarse por separado, y dos o tres de las implementaciones descritas anteriormente también pueden combinarse para el juicio. La implementación para "juzgar si la posición del robot cuando el robot es liberado de ser secuestrado y la posición del robot cuando el robot es secuestrado pertenecen a la misma área del entorno" y la implementación para "juzgar si la posición del robot cuando el robot es secuestrado está en un área de dificultad de funcionamiento del robot" serán implementadas e ilustradas ejemplarmente a continuación, donde un diagrama de flujo correspondiente de las implementaciones se muestra en la Figura 2. Como se muestra en la Figura 2, el procedimiento incluye:
200, ejecución, por un robot, de una operación de relocalización después de que el robot se libere de ser secuestrado;
201, determinar una posición del robot cuando éste se libera de estar secuestrado basándose en la operación de relocalización;
202, juzgar si la posición del robot cuando el robot es liberado de ser secuestrado y una posición del robot cuando el robot es secuestrado pertenecen a una misma área del entorno; en caso afirmativo, ejecutar la etapa 203; y en caso negativo, ejecutar la etapa 206;
203, juzgar si la posición del robot cuando el robot es secuestrado se encuentra en un área de dificultad de funcionamiento del robot; en caso negativo, ejecutar la etapa 204; y en caso afirmativo, ejecutar la etapa 205; 204, determinar que el robot necesita volver a la posición del robot cuando el robot es secuestrado para ejecutar una tarea;
205, juzgar si la posición del robot cuando se libera de estar secuestrado se encuentra en el área de dificultad de funcionamiento del robot; en caso afirmativo, finalizar la operación, es decir, ejecutar la etapa 207; y en caso negativo, ejecutar la etapa 206;
206, determinar que el robot necesita ejecutar la tarea en la posición del robot cuando el robot es liberado de ser secuestrado; y 207, finalizar la operación.
El procedimiento de control del robot proporcionado por la realización de la presente divulgación es aplicable a varios tipos de robots, como un robot barredor, el robot clasificador, un robot guía de compras y el robot carrito de compras, pero no se limita a ellos.
Las áreas de ejecución de tareas de los robots varían según los distintos tipos de robots. Por ejemplo, para el robot barredor,
el área de ejecución de la tarea determinada por el robot barredor en la etapa 102 es el área a barrer. En consecuencia, una implementación alternativa de la etapa 102 es la siguiente: el robot barredor determina el área a barrer de acuerdo con la información del entorno alrededor de una posición del robot barredor cuando el robot barredor se libera de estar secuestrado.
Como otro ejemplo, para los robots de clasificación en escenarios de clasificación de almacenes de algunas empresas, en la etapa 102, las áreas de tareas de ejecución determinadas por los robots de clasificación son áreas por clasificar. En consecuencia, otra implementación alternativa de la etapa 102 es la siguiente: el robot clasificador determina el área a clasificar de acuerdo con la información del entorno alrededor de una posición del robot clasificador cuando el robot clasificador se libera de estar secuestrado.
En consecuencia, para diferentes tipos de robots, las implementaciones específicas en las que se determinan las áreas de ejecución de tareas y la forma en que se ejecutan las tareas pueden variar en función de los escenarios de aplicación de las implementaciones. Por ejemplo, la tarea ejecutada por el robot barredor es barrer el piso y similares; la tarea ejecutada por el robot carrito de la compra o el robot guía saltarín es seguir a un cliente; y la tarea ejecutada por el robot clasificador es clasificar mercancías o pedidos y similares. Tomando el robot barredor como ejemplo y en combinación con algunos escenarios de aplicación, a continuación se describe la implementación específica para determinar el área a barrer y la implementación para ejecutar una tarea de barrido en el área a barrer determinada.
En un escenario de aplicación A, una mesa, una silla, un armario y similares se colocan alrededor de una posición del robot barredor cuando éste se libera de estar secuestrado. Cuando el robot barredor barre las áreas donde se encuentran la mesa y la silla, el robot barredor necesita pasar por alto las posiciones de las patas de la mesa y la silla para barrer las áreas entre las patas de la mesa y la silla. Basándose en dicho escenario de aplicación, una implementación alternativa en la que el robot barredor determina el área a barrer es la siguiente: determinar al menos un objeto físico que tenga una función de limitación de espacio en la información del entorno alrededor de una posición del robot barredor cuando el robot barredor se libera de estar secuestrado; tomar un área de terreno que contenga el al menos un objeto físico como el área a barrer; y luego ejecutar una tarea de barrido en el área a barrer. Para el escenario de aplicación anterior, el al menos un objeto físico que tiene la función de limitar el espacio puede ser, entre otros, las patas de la mesa y la silla, una pared, un armario, un pilar, el marco de una puerta, etc.
Con el fin de hacer más clara esta realización alternativa, se dará una descripción ejemplar en relación con el escenario de aplicación en el que la mesa, la silla y el armario se colocan alrededor de la posición del robot barredor descrito anteriormente cuando el robot barredor se libera de estar secuestrado. En primer lugar, el robot barredor adquiere información del entorno alrededor de la posición del robot barredor cuando el robot barredor es liberado de ser secuestrado, y determina las posiciones de las patas de todos los escritorios y sillas en el área del entorno de acuerdo con la información del entorno adquirida; entonces, de acuerdo con las posiciones de las porciones de las patas de los escritorios y sillas, el área del piso que contiene las posiciones de las porciones de las patas de los escritorios y sillas se determina que es el área a barrer. En la presente realización, la forma del área a barrer no está limitada, y el área a barrer puede ser cualquier área que tenga una estructura regular o una estructura irregular que incluya todas las posiciones de las patas de la mesa y la silla en el área. Alternativamente, el área a ser barrida puede ser un área circular que contenga todas las posiciones de las patas de la mesa y la silla en el área como se muestra en la Figura 3 o un área rectangular que contenga todas las posiciones de las patas de la mesa y la silla en el área como se muestra en la Figura 3b, pero no está limitada a ello.
En un escenario de aplicación B, el área del entorno donde se encuentra el robot barredor cuando éste se libera de estar secuestrado puede contener paredes, armarios y otras instalaciones que tienen funciones de definición de límites. Cuando el robot barredor barre estas posiciones límite, se requiere que los bordes de las paredes o armarios sean barridos para evitar una situación de omisión de un área a barrer debido a un desvío a larga distancia después de que se detecten dichos obstáculos que tienen funciones de limitación de límites. Basado en tal escenario de aplicación, una implementación alternativa en la cual el robot barredor determina el área a ser barrida es como sigue: el robot barredor determina si un área actual donde el robot barredor está localizado contiene un límite, tal como una pared y un gabinete, de acuerdo a la información del entorno alrededor de una posición del robot barredor cuando el robot barredor es liberado de ser secuestrado; si la información del límite está contenida, como se muestra en la Figura 3c, un área rectangular es determinada tomando una distancia entre la posición del robot cuando el robot es liberado de ser secuestrado y el límite como cualquier longitud de medio lado, y el área rectangular es tomada como el área a ser barrida; y una tarea de barrido es entonces ejecutada en el área a ser barrida. Alternativamente, el área rectangular incluye un área cuadrada y un área rectangular. Aquí, en la realización de la presente divulgación, la mitad de la longitud lateral de un lado del rectángulo se define como media longitud lateral.
Alternativamente, basado en el escenario de aplicación B antes mencionado, una implementación alternativa en la cual el robot barredor determina el área a ser barrida es como sigue: el robot barredor determina si un área actual donde el robot barredor está localizado contiene un límite, tal como una pared y un gabinete, de acuerdo a la información del entorno alrededor de la posición del robot barredor cuando el robot barredor es liberado de ser secuestrado; y si la información del límite está contenida, como se muestra en la Figura 3d, un área rectangular es determinada tomando la distancia entre la posición del robot cuando el robot es liberado de ser secuestrado y el límite como un radio, y el área rectangular es tomada como el área a ser barrida.
Cabe señalar que en las realizaciones descritas anteriormente o a continuación, la distancia entre la posición del robot cuando el robot es liberado de ser secuestrado y el límite puede ser la distancia entre la posición del robot cuando el robot es liberado de ser secuestrado y cualquier punto en el límite, preferiblemente, la distancia perpendicular entre la posición del robot cuando el robot es liberado de ser secuestrado y el límite.
En un escenario de aplicación C, el área del entorno donde se encuentra el robot barredor cuando el robot barredor se libera de estar secuestrado puede contener áreas estrechas como esquinas formadas entre paredes. Basándose en dicho escenario de aplicación, una implementación alternativa en la que el robot barredor determina el área a barrer es la siguiente: el robot barredor determina si el área actual en la que se encuentra el robot barredor contiene una esquina, como la esquina formada entre las paredes y la esquina formada entre la pared y el armario, de acuerdo con la información del entorno alrededor de la posición del robot barredor cuando el robot barredor se libera de estar secuestrado; si la esquina está contenida, se determina un área asociada de la esquina como el área a barrer.
Además, como se muestra en la Figura 3e, un área de sector puede determinarse tomando el vértice de la esquina como un centro de círculo y una distancia entre la posición del robot cuando se libera de estar secuestrado y el vértice de la esquina como un radio, donde dos bordes de la esquina son los otros dos límites del área de sector, y el área de sector se toma como el área a barrer.
Alternativamente, basado en el escenario de aplicación C descrito anteriormente, una implementación alternativa en la cual el robot barredor determina el área a ser barrida es como sigue: el robot barredor determina si un área actual donde el robot barredor está localizado contiene una esquina, tal como la esquina formada entre las paredes y la esquina formada entre la pared y el gabinete, de acuerdo a la información del entorno alrededor de la posición del robot barredor cuando el robot barredor es liberado de ser secuestrado; y si la esquina está contenida, como se muestra en la Figura 3f, un área rectangular es determinada tomando una distancia desde la posición del robot cuando el robot es liberado de ser secuestrado a cualquier lado de la esquina como una longitud de medio lado, y el área rectangular es tomada como el área a ser barrida. Alternativamente, el área rectangular incluye un área cuadrada y un área rectangular. Para un área cuadrada, preferiblemente, la mayor distancia de las distancias verticales desde el lado de la esquina hasta la posición del robot cuando éste se libera de estar secuestrado se toma como media longitud de lado. En un escenario de aplicación D, el área del entorno de una posición del robot barredor cuando el robot barredor es liberado de ser secuestrado puede ser un entorno abierto, que está libre de obstáculos tales como paredes, mesas y sillas. Por ejemplo, el robot barre en una habitación vacía sin muebles, etc. Basándose en dicho escenario de aplicación, el robot determina cualquier área como el área a barrer en la posición actual del robot. Por ejemplo, como se muestra en la Figura 3g, el robot puede determinar un área circular tomando la posición del robot cuando el robot es liberado de ser secuestrado como un centro de círculo y tomando una distancia desde la posición del robot cuando el robot es liberado de ser secuestrado hasta el límite del área del entorno como un radio, y tomar el área circular como el área a ser barrida. Como otro ejemplo, el robot puede tomar toda el área del entorno como el área a ser barrida tomando el límite del área del entorno en la que el robot se encuentra cuando el robot es liberado de ser secuestrado como el límite del área a ser barrida.
En otra realización alternativa, después de que el robot barredor determina el área a barrer, el robot barredor ejecuta la tarea de barrido en el área a barrer, y el robot barredor puede barrer el área a barrer en un modo de barrido aleatorio o en un modo de barrido de planificación de ruta. En comparación con un modo de barrido aleatorio, el modo de barrido de tipo planificación de trayectoria es un modo de barrido que puede planificar con precisión una trayectoria de barrido, realizar el barrido de tipo planificación, garantizar la especificación de la trayectoria de barrido y evitar la repetición en la medida de lo posible. El robot barredor puede admitir uno o más tipos diferentes de trayectorias de barrido. Por ejemplo, el robot barredor puede soportar una trayectoria de barrido en filas apretadas, una trayectoria de barrido en arco circular, una trayectoria de barrido en forma de "L", una trayectoria de barrido rectangular, una trayectoria de barrido en espiral caminando en espiral, etc. En la realización de la presente divulgación, se da una descripción ejemplar en la que el robot barredor lleva a cabo el barrido en espiral y el barrido en filas apretadas en el área a barrer en la trayectoria de barrido en filas apretadas y en la trayectoria de barrido en arco circular.
Basándose en las áreas a barrer determinadas por los escenarios de aplicación A, B, C y D antes mencionados, el robot barredor puede seleccionar un modo de barrido adaptativo para barrer las áreas a barrer. Preferiblemente, como se muestra en la Figura 4a, para un área circular o de arco circular, el robot barredor lleva a cabo el barrido en espiral en el área a barrer en la trayectoria de barrido de arco circular tomando la posición del robot barredor cuando el robot barredor es liberado de ser secuestrado como centro del círculo.
Preferiblemente, como se muestra en la Figura 4b, para el área rectangular, el robot barredor lleva a cabo el barrido en filas apretadas en el área a barrer en la trayectoria de barrido en filas apretadas desde la posición del robot barredor cuando el robot barredor es liberado de ser secuestrado. Cabe señalar que, con el fin de mostrar más claramente la trayectoria de barrido en el barrido de filas apretadas, la forma de barrido de filas apretadas que se muestra en la Figura 4b no alcanza el límite del área a barrer, pero no limita que la forma de barrido en la presente divulgación no pueda barrer el límite. Cabe señalar que los órganos de ejecución de las etapas del procedimiento proporcionado por las realizaciones descritas anteriormente pueden ser un mismo dispositivo, o el procedimiento puede tomar diferentes dispositivos como los órganos de ejecución. Por ejemplo, los cuerpos de ejecución de las etapas 201 y 202 pueden ser un dispositivo A; como otro ejemplo, el cuerpo de ejecución de la etapa 201 puede ser el dispositivo A, y el cuerpo de ejecución de la etapa 202 puede ser un dispositivo B; y así sucesivamente.
Además, en algunos de los flujos descritos en las realizaciones descritas anteriormente y en los dibujos adjuntos, se incluye una pluralidad de operaciones que ocurren en un orden particular, pero debe entenderse claramente que estas operaciones pueden ejecutarse fuera del orden en el que ocurren aquí o ejecutarse en paralelo, los números de secuencia de las operaciones, por ejemplo, 201, 202, se utilizan simplemente para distinguir entre varias operaciones y los números de secuencia en sí mismos no representan ningún orden de ejecución. Además, los flujos pueden incluir más o menos operaciones, que pueden ejecutarse secuencialmente o en paralelo. Debe tenerse en cuenta que la descripción de "primero", "segundo", etc. en el presente documento pretende distinguir entre diferentes mensajes, dispositivos, módulos, etc., y no pretende representar un orden secuencial, ni limitar que "primero" y "segundo" sean de diferentes tipos.
Además de las realizaciones del procedimiento descrito anteriormente, algunas realizaciones ejemplares de la presente divulgación proporcionan robots adecuados para su uso en el procedimiento descrito anteriormente. Estos procedimientos se describen en detalle a continuación con referencia a los dibujos adjuntos.
La Figura 5a es un diagrama de bloques de una estructura de hardware de un robot proporcionado por una realización ejemplar de la presente divulgación. Como se muestra en la Figura 5a, el robot 500 incluye: un cuerpo mecánico 501, donde el cuerpo mecánico 501 está provisto de uno o más procesadores 502 y una o más memorias 503 para almacenar instrucciones informáticas. Además, uno o más sensores 504 se proporcionan en el cuerpo mecánico 501.
Debe tenerse en cuenta que uno o más procesadores 502, una o más memorias 503, uno o más sensores 504 pueden proporcionarse dentro del cuerpo mecánico 501 o en una superficie del cuerpo mecánico 501.
El cuerpo mecánico 501 es un mecanismo de ejecución del robot 500, que puede ejecutar operaciones especificadas por uno o más procesadores 502 en un entorno definido. Donde, el cuerpo mecánico 501 refleja en cierta medida la apariencia del robot 500. En la presente realización, la apariencia del robot 500 no está limitada. Por ejemplo, el robot 500 puede ser un robot humanoide como se muestra en la Figura 5b, y el cuerpo mecánico 501 puede incluir, pero no se limita a: estructuras mecánicas como una cabeza, manos, muñecas, brazos, una cintura y una base del robot. Además, el robot 500 también puede ser un robot no humanoide de una configuración relativamente simple como se muestra en la Figura 5c, y el cuerpo mecánico 501 se refiere principalmente a un cuerpo del robot 500.
Cabe señalar que el cuerpo mecánico 501 también está provisto de algunos componentes básicos del robot 500, como un componente de accionamiento, un odómetro, un componente de energía y un componente de audio. Alternativamente, el componente de accionamiento puede incluir una rueda de accionamiento, un motor de accionamiento, una rueda universal, etc. Estos componentes básicos y la constitución de los componentes básicos que están contenidos en los diferentes robots 500 son diferentes, y las realizaciones ilustradas de la presente divulgación son sólo una parte de las realizaciones.
Una o más memorias 503 son principalmente para almacenar una o más instrucciones de ordenador que pueden ser ejecutadas por uno o más procesadores 502 para hacer que uno o más procesadores 502 controlen el robot 500 para ejecutar funciones correspondientes y completar acciones o tareas correspondientes. Además de almacenar instrucciones informáticas, una o más memorias 503 pueden ser para almacenar otros datos diversos para apoyar las operaciones en el robot 500. Ejemplos de dichos datos incluyen instrucciones para cualquier aplicación o procedimiento que funcione en el robot 500, y un mapa del entorno correspondiente al entorno en el que se encuentra el robot 500. Aquí, el mapa del entorno puede ser uno o más mapas correspondientes a todo el entorno almacenado de antemano, o puede ser una parte de un mapa en construcción previamente.
Una o más memorias 503 pueden implementarse mediante cualquier tipo de dispositivo de memoria volátil o no volátil o una combinación de los mismos, como una memoria estática de acceso aleatorio (SRAM), una memoria de sólo lectura programable eléctricamente borrable (EEPROM), una memoria de sólo lectura programable borrable (EPROM), una memoria de sólo lectura programable (PROM), una memoria de sólo lectura (ROM), una memoria magnética, una memoria flash, un disco magnético o un disco óptico.
Uno o más procesadores 502, que pueden considerarse un sistema de control para el robot 500, pueden utilizarse para ejecutar instrucciones informáticas almacenadas en una o más memorias 503 para controlar el robot 500 con el fin de realizar las funciones correspondientes y ejecutar las acciones o tareas correspondientes. Debe tenerse en cuenta que cuando el robot 500 se encuentra en diferentes escenarios, las funciones a realizar y las acciones o tareas a ejecutar pueden diferir; y en consecuencia, las instrucciones de ordenador almacenadas en la una o más memorias 503 pueden variar, mientras que el uno o más procesadores 502 pueden controlar el robot 500 para realizar diferentes funciones y ejecutar diferentes acciones o tareas mediante la ejecución de diferentes instrucciones de ordenador.
En esta realización, uno o más sensores 504 en el robot 500 pueden ayudar al robot 500 a completar la localización de navegación, relocalización, etc. Donde, uno o más sensores 504 pueden incluir, pero no se limitan a, un sensor visual, un sensor láser, un sensor de contacto, un acoplador óptico reflectante, un sensor inercial, y similares.
Donde, el sensor visual puede ser visto como un "ojo" del robot 500, principalmente para obtener imagen del entorno que rodea al robot 500, que puede ser referido como imagen del entorno. El sensor visual puede implementarse utilizando cualquier dispositivo que tenga una función de obtención de imágenes, como una webcam y una cámara.
Donde, el sensor láser es un sistema de radar que obtiene información del entorno alrededor del robot 500 de manera de emitir un rayo láser. Los datos del entorno obtenidos por el sensor láser pueden incluir, entre otros: distancias, ángulos, etc. de objetos alrededor del robot 500. El sensor láser puede implementarse utilizando cualquier dispositivo capaz de emitir un rayo láser, como un radar láser.
En la realización, el robot 500 puede moverse de forma autónoma, y completar ciertas tareas de trabajo sobre la base de movimiento autónomo. Por ejemplo, en escenarios de compra como un supermercado y un centro comercial, un robot con carrito de la compra necesita seguir a un cliente para desplazarse y acomodar los productos seleccionados por el cliente. Como otro ejemplo, en los escenarios de clasificación de almacenes de algunas empresas, un robot clasificador necesita seguir al personal de clasificación para desplazarse a una área de preparación de estanterías y, a continuación, comenzar a clasificar los artículos del pedido. Por ejemplo, en un escenario de barrido doméstico, un robot barredor tiene que barrer un salón, un dormitorio, una cocina y otras áreas. En estos escenarios de aplicación, el robot 500 completa las tareas correspondientes en el procedimiento de movimiento autónomo. Sin embargo, en la aplicación práctica, el robot 500 puede quedar atrapado, ser evitado repetidamente o estar enredado y sometido a otras dificultades de funcionamiento en el procedimiento de realización de las correspondientes tareas de trabajo. En este caso, el usuario normalmente mueve o arrastra el robot 500 a otra posición de forma que el robot 500 continúe ejecutando la tarea en la posición.
Además, el robot 500 necesita ser cargado cuando la carga eléctrica es insuficiente en esta realización. Cuando la carga eléctrica del robot 500 es insuficiente, el robot 500 puede desplazarse automáticamente a una posición de una estación de carga para cargarse. O cuando la carga eléctrica del robot 500 es insuficiente, el robot 500 emite una advertencia al usuario para que éste desplace el robot a la posición de la estación de carga que carga el robot 500. Una vez cargado el robot 500, el usuario mueve o arrastra el robot 500 a una posición distinta de la estación de carga, de forma que el robot 500 continúa ejecutando la tarea desde dicha posición.
En conjunción con los escenarios de aplicación descritos anteriormente, se puede ver que el robot 500 puede ser secuestrado durante la aplicación práctica, como ser movido, suspendido o arrastrado a otra posición como se ha descrito anteriormente. En estos casos, el robot 500 puede activar la operación de relocalización debido a la ausencia o pérdida de información de posición previa, es decir, volver a determinar una pose del robot 500, donde la pose incluye una posición y una orientación del robot.
En más casos, el robot 500 es secuestrado porque cuando el robot 500 es secuestrado, la posición del robot 500 ya no es adecuada para que el robot 500 continúe ejecutando la tarea, y el robot 500 necesita ejecutar la tarea en una nueva posición. Basándose en el análisis, en la realización, uno o más procesadores 502 pueden determinar una posición del robot cuando el robot se libera de estar secuestrado basándose en la operación de relocalización, obtener información del entorno alrededor de la posición del robot cuando el robot se libera de estar secuestrado a través de uno o más sensores 504 y determinar un área de ejecución de tareas de acuerdo con la información del entorno obtenida, y posteriormente controlar el robot 500 para ejecutar una tarea dentro del área de ejecución de tareas. De este modo, el área de ejecución de la tarea puede determinarse de forma flexible de acuerdo con el entorno en el que el robot se libera de estar secuestrado sin permitir que el robot vuelva a la posición del robot cuando el robot es secuestrado para continuar ejecutando la tarea, entonces se realiza la actuación de acuerdo con las condiciones locales y los requisitos del usuario pueden cumplirse en la medida de lo posible.
Alternativamente, uno o más sensores 504 pueden incluir, pero no se limitan a, un sensor de contacto, un acoplador óptico reflectante, un sensor inercial, y similares, y se utilizan para detectar si el robot tiene una situación de secuestro como se ha descrito anteriormente. Donde, las posiciones de colocación del sensor de contacto, el acoplador óptico reflectante y el sensor inercial en el robot 500, así como el principio de funcionamiento específico de los mismos, pueden describirse con referencia a las realizaciones del procedimiento descrito anteriormente, y no se describirán en detalle aquí.
En una realización alternativa, uno o más procesadores 502 pueden ejecutar la operación de relocalización en la posición del robot 500 cuando el robot 500 es liberado de ser secuestrado, y en la posición, la pose del robot 500 en un mapa del entorno almacenado puede ser localizada con precisión. La pose incluye aquí la posición y la orientación del robot en el mapa del entorno almacenado. Basándose en esto, el uno o más procesadores 502, cuando determinan una posición del robot 500 cuando el robot 500 es liberado de ser secuestrado, son específicamente para: cuando se identifica que el robot 500 se libera de estar secuestrado, obtener información del entorno alrededor de una posición actual del robot 500 a través de uno o más sensores 504; y localizar una pose del robot 500 en el mapa del entorno almacenado de acuerdo con la información del entorno alrededor de la posición actual del robot 500, y tomar la posición en la pose como la posición del robot 500 cuando el robot 500 se libera de estar secuestrado, para ser precisos, una posición actual del robot 500 en el mapa del entorno almacenado.
En otra realización alternativa, si el uno o más procesadores 502 son incapaces de localizar con precisión la posición del robot 500 en el mapa del entorno almacenado cuando el robot 500 es liberado de ser secuestrado, el robot 500 es controlado para moverse desde la posición del robot 500 cuando el robot 500 es liberado de ser secuestrado a otra posición, y durante el procedimiento de movimiento, y la operación de relocalización se ejecuta continuamente para la relocalización repetida basada en la información del entorno circundante más reciente obtenida por uno o más sensores 504 hasta que la pose del robot 500 en el mapa del entorno almacenado se localiza con precisión. Basándose en esto, el uno o más procesadores 502, cuando determinan la posición del robot 500 cuando el robot 500 es liberado de ser secuestrado, son específicamente para: cuando se reconoce que el robot 500 se libera de estar secuestrado, controlar que el robot 500 se mueve desde la posición actual a una segunda posición, y localizar la pose del robot 500 en el mapa del entorno almacenado en el procedimiento de movimiento; y de acuerdo con la posición en la pose y los datos adquiridos en el procedimiento de movimiento del robot 500, determinar la posición en la que el robot 500 comienza a moverse como la posición del robot 500 cuando el robot 500 se libera de estar secuestrado. Para una implementación específica de cómo determinar una posición del robot 500 cuando el robot 500 se libera de estar secuestrado, se puede hacer referencia a la descripción relacionada de las realizaciones del procedimiento descrito anteriormente, que no se describirá en detalle en el presente documento.
Alternativamente, el mapa del entorno puede incluir al menos uno de un mapa visual y un mapa de cuadrículas. Para una descripción detallada del mapa visual y del mapa de cuadrículas, puede hacerse referencia a los contenidos relacionados de las realizaciones del procedimiento descritas anteriormente, que no se describirán en detalle en el presente documento.
Si el uno o más sensores 504 incluyen el sensor visual, el sensor visual obtiene imágenes del entorno alrededor de la posición del robot 500 cuando el robot 500 se libera de estar secuestrado. En consecuencia, el área de ejecución de la tarea puede determinarse en función de las imágenes del entorno alrededor de la posición del robot 500 cuando el robot 500 se libera de estar secuestrado.
Si el uno o más sensores 504 incluyen el sensor láser, el sensor láser obtiene datos del entorno alrededor de la posición del robot 500 cuando el robot 500 se libera de estar secuestrado. En consecuencia, el uno o más procesadores 502 pueden determinar el área de ejecución de la tarea de acuerdo con los datos del entorno alrededor de la posición del robot 500 cuando el robot 500 se libera de estar secuestrado.
Si los uno o más sensores 504 incluyen el sensor visual y el sensor láser, el sensor visual obtiene las imágenes del entorno alrededor de la posición del robot 500 cuando el robot 500 se libera de estar secuestrado, y el sensor láser obtiene los datos del entorno alrededor de la posición del robot 500 cuando el robot 500 se libera de estar secuestrado. En consecuencia, el uno o más procesadores 502 pueden determinar el área de ejecución de la tarea de acuerdo con las imágenes del entorno y los datos del entorno alrededor de la posición del robot 500 cuando el robot 500 se libera de estar secuestrado. En más casos, tras el secuestro del robot 500, es necesario ejecutar la tarea desde una nueva posición. Sin embargo, en algunos escenarios de aplicación, después de que el robot 500 reubique su pose, el robot 500 puede necesitar volver a la posición del robot 500 cuando el robot 500 es secuestrado para continuar ejecutando la tarea que no se ha completado antes de que el robot 500 sea secuestrado. Es decir, dependiendo de la situación de secuestro del robot 500, el comportamiento después de que el robot 500 reubique su pose será diferente. Con el fin de controlar con mayor precisión el comportamiento después de que el robot 500 reubica su posición, en algunas realizaciones alternativas, el uno o más sensores 102 pueden determinar si el robot 500 necesita ejecutar la tarea en la posición del robot 500 cuando el robot 500 se libera de estar secuestrado de acuerdo con la diferencia entre la posición del robot 500 cuando el robot 500 se libera de estar secuestrado y la posición del robot 500 cuando el robot 500 es secuestrado. Si se desea, la etapa y las operaciones posteriores para determinar el área de ejecución de la tarea del robot 500 se ejecutan de tal forma que el robot 500 se controla para ejecutar la tarea desde la posición del robot cuando éste se libera de estar secuestrado.
Basándose en el escenario de aplicación 1 antes mencionado, el uno o más procesadores 502, al determinar si un robot necesita ejecutar una tarea en una posición del robot cuando el robot se libera de estar secuestrado, son específicamente para: juzgar si la posición del robot 500 cuando el robot 500 se libera de estar secuestrado y la posición del robot 500 cuando el robot 500 es secuestrado pertenecen a la misma área del entorno; y si la posición del robot 500 cuando el robot 500 se libera de estar secuestrado y la posición del robot 500 cuando el robot 500 es secuestrado pertenecen a diferentes áreas del entorno, determinar que el robot 500 necesita ejecutar la tarea en la posición del robot 500 cuando el robot 500 se libera de estar secuestrado.
Alternativamente, la posición del robot 500 cuando el robot 500 es secuestrado puede determinarse basándose en la información del entorno obtenida por el uno o más sensores 504 en el último tiempo o en el tiempo más reciente antes de que el robot 500 sea secuestrado. Basándose en el escenario de aplicación 2, el uno o más procesadores 502, cuando determinan si un robot necesita ejecutar una tarea en una posición del robot cuando el robot es liberado de ser secuestrado, son específicamente para: juzgar si la posición del robot 500 cuando el robot 500 es secuestrado está ubicada en un área de dificultad de funcionamiento del robot; y si la posición del robot 500 cuando el robot 500 es secuestrado está ubicada en el área de dificultad de funcionamiento del robot y la posición del robot 500 cuando el robot 500 es liberado de ser secuestrado está ubicada fuera del área de dificultad de funcionamiento del robot, determinar que el robot 500 necesita ejecutar la tarea en la posición del robot cuando el robot es liberado de ser secuestrado. En consecuencia, si la posición del robot 500 cuando el robot 500 es secuestrado está fuera del área de dificultad de funcionamiento del robot, se determina una situación en la que el robot 500 necesita volver a la posición del robot 500 cuando el robot 500 es secuestrado para continuar ejecutando la tarea.
Para la determinación del área de dificultad de funcionamiento del robot, se puede hacer referencia a la descripción relacionada de las realizaciones del procedimiento descrito anteriormente, que no se describirá en detalle en este documento.
Basándose en el escenario de aplicación 3 anteriormente mencionado, el uno o más procesadores 502, cuando determinan si un robot necesita ejecutar una tarea en una posición del robot cuando el robot es liberado de ser secuestrado, son específicamente para: juzgar si la posición del robot 500 cuando el robot 500 es secuestrado es una posición de estación de carga; y si la posición del robot 500 cuando el robot 500 es secuestrado es la posición de estación de carga y la posición del robot 500 cuando el robot 500 se libera de estar secuestrado no es una posición de estación de carga, determinar que el robot 500 necesita ejecutar la tarea en la posición del robot 500 cuando el robot 500 se libera de estar secuestrado.
Para juzgar si el robot 500 se encuentra en la posición de estación de carga, puede hacerse referencia a los contenidos relacionados en las realizaciones del procedimiento descrito anteriormente, que no se describirán en detalle en este documento.
El robot proporcionado por la realización de la presente divulgación puede ser varios tipos de robots, como el robot barredor, el robot clasificador, el robot guía de compras y el robot carrito de compras, pero no se limita a ellos.
Las áreas de ejecución de tareas de los robots varían según los distintos tipos de robots. Por ejemplo, para el robot barredor, el área de ejecución de tareas del robot barredor es un área a barrer. En consecuencia, el uno o más procesadores 502 en el robot barredor, al determinar el área de ejecución de la tarea del robot, son específicamente para: determinar el área a barrer de acuerdo con la información del entorno alrededor de la posición del robot barredor cuando el robot barredor se libera de estar secuestrado.
En consecuencia, para diferentes tipos de robots, las implementaciones específicas en las que las correspondientes áreas de ejecución de tareas son determinadas por el uno o más procesadores 502 y las maneras en que las tareas son ejecutadas pueden variar dependiendo de los escenarios de aplicación de las implementaciones. Por ejemplo, la tarea ejecutada por el robot barredor es barrer el piso y similares; la tarea ejecutada por el robot carrito de la compra o el robot guía saltarín es seguir a un cliente; y la tarea ejecutada por el robot clasificador es clasificar mercancías o pedidos y similares. Tomando el robot barredor como ejemplo y en combinación con algunos escenarios de aplicación, la implementación específica para determinar el área a barrer y la implementación para controlar el robot barredor para ejecutar una tarea de barrido en el área a barrer determinada por el uno o más procesadores 502 se describen a continuación.
Basándose en el escenario de aplicación A mencionado anteriormente, el uno o más procesadores 502, al determinar el área a barrer, son específicamente para: determinar al menos un objeto físico que tiene una función de limitación de espacio en la información del entorno alrededor de una posición del robot barredor cuando el robot barredor se libera de estar secuestrado; tomar un área de terreno que contiene el al menos un objeto físico como el área a barrer; y luego controlar el robot barredor para ejecutar una tarea de barrido en el área a barrer. En los casos de aplicación mencionados, el objeto físico que tiene la función de limitar el espacio en el área barrida por el robot puede ser, entre otros, las patas de la mesa y la silla, una pared, un armario, un pilar, el marco de una puerta, etc.
Basándose en el escenario de aplicación B antes mencionado, el uno o más procesadores 502, al determinar el área a barrer, son específicamente para: determinar si un área actual en la que se encuentra el robot barredor contiene un límite, tal como una pared y un armario, de acuerdo con la información del entorno alrededor de una posición del robot barredor cuando el robot barredor se libera de estar secuestrado; si la información del límite está contenida, determinar un área rectangular tomando la distancia entre la posición del robot cuando el robot se libera de estar secuestrado y el límite como cualquier longitud de medio lado, y tomar el área rectangular como el área a barrer; y luego controlar el robot barredor para ejecutar una tarea de barrido en el área a barrer.
Alternativamente, basándose en el escenario de aplicación B mencionado anteriormente, el uno o más procesadores 502, al determinar el área a barrer, son específicamente para: determinar, por el robot barredor, si un área actual en la que se encuentra el robot barredor contiene un límite, tal como una pared y un armario, de acuerdo con la información del entorno alrededor de la posición del robot barredor cuando el robot barredor se libera de estar secuestrado; y si la información de límite está contenida, determinar un área rectangular tomando la distancia entre la posición del robot cuando el robot se libera de estar secuestrado y el límite como un radio y tomando el área rectangular como el área a barrer.
Basándose en el escenario de aplicación C mencionado anteriormente, el uno o más procesadores 502, al determinar el área a barrer, son específicamente para: determinar si el área actual donde se encuentra el robot barredor contiene una esquina, tal como la esquina formada entre las paredes y la esquina formada entre la pared y el armario, de acuerdo con la información del entorno alrededor de la posición del robot barredor cuando el robot barredor se libera de estar secuestrado; y si la esquina está contenida, determinar un área asociada de la esquina como el área a barrer.
Además, se puede determinar un área de sector tomando el vértice de la esquina como centro del círculo y una distancia desde la posición del robot cuando se libera de estar secuestrado hasta el vértice de la esquina como radio, donde dos bordes de la esquina son los otros dos límites del área de sector, y el área de sector se toma como el área a barrer.
Alternativamente, basándose en el escenario de aplicación C mencionado anteriormente, el uno o más procesadores 502, al determinar el área a barrer, son específicamente para: determinar si el área actual donde se encuentra el robot barredor contiene una esquina, tal como la esquina formada entre las paredes y la esquina formada entre la pared y el armario, de acuerdo con la información del entorno alrededor de la posición del robot barredor cuando el robot barredor se libera de estar secuestrado; y si la esquina está contenida, determinar un área rectangular tomando una distancia desde la posición del robot cuando el robot se libera de estar secuestrado a cualquier lado de la esquina como una longitud de medio lado, y tomando el área rectangular como el área a barrer. Basándose en el escenario de aplicación D mencionado anteriormente, se determina cualquier área como área a barrer en la posición actual del robot. Por ejemplo, un área circular, determinada tomando la posición del robot barredor cuando el robot barredor es liberado de ser secuestrado como centro del círculo y tomando la distancia desde la posición del robot barredor cuando el robot barredor es liberado de ser secuestrado hasta el límite del área del entorno como radio, puede actuar como el área a ser barrida. Como otro ejemplo, toda el área del entorno puede ser tomada como el área a ser barrida tomando el límite del área del entorno donde se encuentra el robot barredor cuando el robot barredor es liberado de ser secuestrado como el límite del área a ser barrida.
En otra realización alternativa, una vez determinada el área a barrer, el uno o más procesadores 502 controlan el robot barredor para ejecutar la tarea de barrido en el área a barrer, y pueden controlar el robot barredor para barrer el área a barrer en un modo de barrido aleatorio o en un modo de barrido de planificación de trayectoria. El robot barredor puede admitir uno o más tipos diferentes de trayectorias de barrido. Por ejemplo, el robot barredor puede soportar una trayectoria de barrido de filas apretadas, una trayectoria de barrido de arco circular, una trayectoria de barrido en forma de "L", una trayectoria de barrido rectangular, una trayectoria de barrido en espiral caminando en espiral, etc. En la realización de la presente divulgación, se da una descripción ejemplar en la que el robot barredor lleva a cabo el barrido en espiral y el barrido de filas apretadas en el área a barrer en la trayectoria de barrido de filas apretadas y la trayectoria de barrido de arco circular.
Basándose en las áreas a barrer determinadas por los escenarios de aplicación A, B, C y D antes mencionados, el uno o más procesadores 502 pueden seleccionar modos de barrido adaptativos para controlar el robot barredor para barrer las áreas a barrer. Preferiblemente, como se muestra en la Figura 4a, para un área circular o de arco circular, el uno o más procesadores 502, cuando controlan el robot para ejecutar una tarea dentro del área de ejecución de la tarea, son específicamente para: controlar el robot barredor para llevar a cabo el barrido en espiral en el área a barrer en la trayectoria de barrido de arco circular tomando la posición del robot barredor cuando el robot barredor es liberado de ser secuestrado como centro del círculo. Preferentemente, como se muestra en la Figura 4b, para el área rectangular, el uno o más procesadores 502, cuando controlan el robot para ejecutar una tarea en el área de ejecución de tareas, son específicamente para: controlar el robot barredor para llevar a cabo el barrido en filas apretadas en el área a barrer en la trayectoria de barrido en filas apretadas desde la posición del robot barredor cuando el robot barredor es liberado de ser secuestrado.
En consecuencia, las realizaciones de la presente divulgación también proporcionan un medio de almacenamiento legible por ordenador que almacena instrucciones de ordenador, donde cuando las instrucciones de ordenador son ejecutadas por el uno o más procesadores, el uno o más procesadores son causados para ejecutar las siguientes acciones, incluyendo:
determinar una posición del robot cuando el robot se libera de estar secuestrado basándose en la operación de relocalización del robot; determinar un área de ejecución de tareas de acuerdo con la información del entorno alrededor de la posición del robot cuando el robot se libera de estar secuestrado; y controlar el robot para que ejecute una tarea dentro del área de ejecución de tareas.
En una implementación alternativa, la acción descrita anteriormente para determinar la posición del robot cuando el robot es liberado de ser secuestrado incluye: al reconocer que el robot es liberado de ser secuestrado, adquirir información del entorno alrededor de una posición actual del robot; y localizar la pose del robot en el mapa del entorno almacenado de acuerdo con la información del entorno alrededor de la posición actual del robot, y tomar la posición en la pose como la posición del robot cuando el robot es liberado de ser secuestrado, para ser precisos, una posición del robot en el mapa del entorno almacenado actualmente.
En una implementación alternativa, la acción descrita anteriormente para determinar la posición del robot cuando el robot se libera de estar secuestrado incluye además: al reconocer que el robot se libera de estar secuestrado, controlar el robot para que se mueva desde la posición actual del robot a una segunda posición y localizar la pose del robot en el mapa del entorno almacenado en el procedimiento de movimiento; y de acuerdo con la posición en la pose y los datos adquiridos en el procedimiento de movimiento del robot, determinar la posición en la que el robot comienza a moverse como la posición del robot cuando el robot se libera de estar secuestrado.
En una realización alternativa, las acciones ejecutadas por el uno o más procesadores incluyen además: determinar que el robot necesita ejecutar la tarea en la posición del robot cuando el robot es liberado de ser secuestrado según la diferencia entre la posición del robot cuando el robot es liberado de ser secuestrado y la posición del robot cuando el robot es secuestrado.
En una realización alternativa, la acción para determinar que el robot necesita ejecutar la tarea en la posición del robot cuando el robot es liberado de ser secuestrado incluye: si la posición del robot cuando el robot es liberado de ser secuestrado y la posición del robot cuando el robot es secuestrado pertenecen a diferentes áreas del entorno, determinar que el robot necesita ejecutar la tarea en la posición del robot cuando el robot es liberado de ser secuestrado.
En una realización alternativa, la acción para determinar que el robot necesita ejecutar la tarea en la posición del robot cuando el robot es liberado de ser secuestrado incluye además: si la posición del robot cuando el robot es secuestrado está localizada en el área de dificultad de funcionamiento del robot y la posición del robot cuando el robot es liberado de ser secuestrado está localizada fuera del área de dificultad de funcionamiento del robot, determinar que el robot necesita ejecutar la tarea en la posición del robot cuando el robot es liberado de ser secuestrado.
En una realización alternativa, la acción para determinar que el robot necesita ejecutar la tarea en la posición del robot cuando el robot es liberado de ser secuestrado incluye además: si la posición del robot cuando el robot es secuestrado es la posición de estación de carga y la posición del robot cuando el robot es liberado de ser secuestrado no es una posición de estación de carga, determinar que el robot necesita ejecutar la tarea en la posición del robot cuando el robot es liberado de ser secuestrado. El medio de almacenamiento legible proporcionado por la realización es adecuado para varios tipos de robots, por ejemplo, el robot barredor, el robot clasificador, el robot guía de compras y el robot carrito de compras, pero los robots no están limitados a ellos.
Para diferentes tipos de robots, las instrucciones almacenadas en el medio de almacenamiento legible para determinar las áreas de ejecución de tareas y ejecutar las tareas pueden ser diferentes, de tal manera que uno o más procesadores ejecuten diferentes tareas de trabajo al ejecutar estas instrucciones. A continuación se presenta una descripción ejemplar en el ejemplo del robot barredor.
En una realización alternativa, con respecto al robot barredor, la acción para determinar el área de ejecución de la tarea incluye: determinar el área a barrer de acuerdo con la información del entorno alrededor de la posición del robot barredor cuando el robot barredor se libera de estar secuestrado.
En una realización alternativa, la acción para determinar el área a ser barrida incluye: determinar al menos un objeto físico que tenga una función de limitación de espacio en la información del entorno alrededor de la posición del robot barredor cuando el robot barredor es liberado de ser secuestrado; y tomar un área de terreno que contenga el al menos un objeto físico como el área a ser barrida.
En una realización alternativa, la acción para determinar el área a ser barrida incluye además: reconocer si la información del entorno alrededor de la posición del robot barredor cuando el robot barredor es liberado de ser secuestrado contiene una esquina; y si la esquina está contenida, determinar un área asociada de la esquina como el área a ser barrida.
En una realización alternativa, la acción antes mencionada para determinar el área asociada de la esquina como el área a barrer incluye: determinar un área de sector tomando el vértice de la esquina como un centro circular y una distancia desde la posición del robot barredor cuando el robot barredor es liberado de ser secuestrado hasta el vértice como un radio y tomando el área de sector como el área a barrer; o determinar un área rectangular tomando una distancia desde la posición del robot cuando el robot es liberado de ser secuestrado hasta cualquier lado de la esquina como una longitud de medio lado, y tomando el área rectangular como el área a barrer.
En una realización alternativa, para el robot barredor, la acción antes mencionada para controlar el robot para ejecutar la tarea en el área de ejecución de la tarea incluye: controlar el robot barredor para llevar a cabo barrido en espiral en el área a barrer tomando la posición del robot barredor cuando el robot barredor se libera de estar secuestrado como un centro de círculo; o controlar el robot barredor para llevar a cabo barrido en filas apretadas en el área a barrer desde la posición del robot barredor cuando el robot barredor se libera de estar secuestrado.
Los expertos en la materia deben entender que las realizaciones de la presente aplicación pueden proporcionarse como un procedimiento, un sistema o un producto de programa informático. Así, en la presente solicitud pueden adoptarse realizaciones completas de hardware, realizaciones completas de software o realizaciones que integren software y hardware. Además, en la presente solicitud puede adoptarse la forma de un producto de programa informático implementado en uno o más medios de almacenamiento disponibles para ordenador (incluidos, entre otros, una memoria de disco, un CD-ROM, una memoria óptica y similares) que contengan códigos de programa disponibles para ordenador.
La presente solicitud se describe con referencia a diagramas de flujo y/o diagramas de bloques del procedimiento, el dispositivo (sistema) y el producto de programa informático según las realizaciones de la presente solicitud. Se entenderá que cada flujo y/o bloque de los diagramas de flujo y/o de bloques y una combinación de los flujos y/o bloques de los diagramas de flujo y/o de bloques pueden implementarse mediante instrucciones de programa informático. Estas instrucciones de programa informático pueden proporcionarse para que un procesador de un ordenador de propósito general, un ordenador dedicado, un procesador integrado u otros dispositivos programables de procesamiento de datos generen una máquina, de modo que un aparato para lograr funciones designadas en uno o más flujos de los diagramas de flujo y/o uno o más bloques de los diagramas de bloques se genere mediante instrucciones ejecutadas por el procesador de los ordenadores o los otros dispositivos programables de procesamiento de datos. Estas instrucciones de programa de ordenador también pueden almacenarse en una memoria legible por ordenador capaz de guiar a los ordenadores o a los otros dispositivos programables de procesamiento de datos para que funcionen de una manera específica, de modo que se genere un producto manufacturado que incluya un aparato de instrucciones a través de las instrucciones almacenadas en la memoria legible por ordenador, y el aparato de instrucciones logre las funciones designadas en uno o más flujos de los diagramas de flujo y/o uno o más bloques de los diagramas de bloques.
Estas instrucciones de programa de ordenador, que también pueden cargarse en los ordenadores o en los otros dispositivos programables de procesamiento de datos, permiten a los ordenadores implementar una serie de etapas de operación en los ordenadores o en los otros dispositivos programables; por lo tanto, las instrucciones ejecutadas en los ordenadores o en los otros dispositivos programables proporcionan una etapa para lograr las funciones designadas en uno o más flujos de los diagramas de flujo y/o uno o más bloques de los diagramas de bloques.
En una configuración típica, un dispositivo informático incluye uno o más procesadores (CPU), una interfaz de entrada/salida, una interfaz de red y una memoria.
La memoria puede incluir una memoria no permanente, una memoria de acceso aleatorio (RAM), y/o una memoria no volátil en un medio legible por ordenador, como una memoria de sólo lectura (ROM) o una RAM flash. La memoria es un ejemplo de medio legible por ordenador.
El soporte legible por ordenador incluye medios permanentes y no permanentes, móviles y no móviles, que pueden implementar el almacenamiento de información mediante cualquier procedimiento o tecnología. La información puede ser una instrucción legible por ordenador, una estructura de datos, un módulo de programa u otros datos. Ejemplos de medios de almacenamiento informático incluyen, entre otros, una memoria RAM de cambio de fase (PRAM), una memoria estática de acceso aleatorio (SRAM), una memoria dinámica de acceso aleatorio (DRAM), otros tipos de memorias de acceso aleatorio (RAM), una memoria de sólo lectura (ROM), una memoria programable de sólo lectura eléctricamente borrable (EEPROM), una memoria flash u otras tecnologías de memoria, una memoria de sólo lectura en disco compacto (CD- ROM), un disco versátil digital (DVD) u otras memorias ópticas, un cartucho de cinta magnética, un dispositivo de almacenamiento en cinta magnética u otros dispositivos de almacenamiento magnético o cualquier otro medio que no sea de transmisión, que puedan utilizarse para almacenar información accesible por un dispositivo informático. Tal como se define en el presente documento, el medio legible por ordenador no incluye los medios legibles por ordenador transitorios, como las señales de datos moduladas y las ondas portadoras.
También debe tenerse en cuenta que los términos "que incluya", "que contenga" o cualquier otra variante de los mismos pretenden abarcar una inclusión no exclusiva, de forma que un procedimiento, procedimiento, artículo o dispositivo que incluya una serie de elementos incluya no sólo dichos elementos, sino también otros elementos no enumerados explícitamente, o elementos que sean inherentes a dicho procedimiento, procedimiento, artículo o dispositivo. En ausencia de más restricciones, un elemento definido por la frase "incluido uno..." no excluye la existencia de elementos idénticos adicionales en el procedimiento, procedimiento, artículo o dispositivo que incluye el elemento.
Claims (18)
1. Procedimiento de control de un robot, que comprende:
determinar, por un robot (500), una posición cuando el robot (500) se libera de estar secuestrado basándose en la operación de relocalización (101);
determinar, por el robot (500), un área de ejecución de tareas de acuerdo con la información del entorno alrededor de la posición cuando el robot (500) se libera de estar secuestrado (102); y
ejecutar, por el robot (500), una tarea dentro del área de ejecución de tareas (103),
caracterizado porque
previamente a la determinación, por parte del robot (500), del área de ejecución de la tarea en función de la información del entorno alrededor de la posición cuando el robot (500) se libera de estar secuestrado, el procedimiento de control del robot comprende además:
determinar que el robot (500) necesita ejecutar la tarea en la posición cuando el robot (500) es liberado de ser secuestrado según una diferencia entre la posición cuando el robot (500) es liberado de ser secuestrado y una posición cuando el robot (500) está secuestrado.
2. El procedimiento de control de robot según la reivindicación 1, en el que la determinación, por parte del robot (500), de la posición cuando el robot (500) se libera de estar secuestrado basándose en la operación de relocalización (101), comprende:
obtener la información del entorno alrededor de una posición actual cuando el robot (500) reconoce que el robot (500) se libera de estar secuestrado; y
localizar una pose del robot (500) en un mapa del entorno almacenado de acuerdo con la información del entorno alrededor de la posición actual,
y tomando una posición en la pose como la posición cuando el robot (500) se libera de estar secuestrado.
3. El procedimiento de control de robot según la reivindicación 1, en el que la determinación, por parte del robot (500), de la posición cuando el robot (500) se libera de estar secuestrado basándose en la operación de relocalización (101), comprende:
moverse desde la posición actual a una segunda posición cuando el robot (500) reconoce que el robot (500) se libera de estar secuestrado, y localizar la pose del robot (500) en el mapa del entorno almacenado en un procedimiento de movimiento; y
determinar una posición en la que el robot (500) comienza a moverse como la posición en la que el robot (500) se libera de estar secuestrado, de acuerdo con una posición en la pose y los datos adquiridos en el procedimiento de movimiento.
4. El procedimiento de control del robot según la reivindicación 1, en el que la determinación de que el robot (500) necesita ejecutar la tarea en la posición en la que el robot (500) se libera de estar secuestrado según la diferencia entre la posición en la que el robot (500) se libera de estar secuestrado y la posición en la que el robot (500) es secuestrado comprende al menos una de las situaciones siguientes:
si la posición en la que el robot (500) es liberado de ser secuestrado y la posición en la que el robot (500) es secuestrado pertenecen a diferentes áreas del entorno, determinar que el robot (500) necesita ejecutar la tarea en la posición en la que el robot (500) es liberado de ser secuestrado;
si la posición en la que el robot (500) es secuestrado se encuentra en un área de dificultad de funcionamiento del robot y la posición en la que el robot (500) es liberado de ser secuestrado se encuentra fuera del área de dificultad de funcionamiento del robot, determinar que el robot (500) necesita ejecutar la tarea en la posición en la que el robot (500) es liberado de ser secuestrado; y
si la posición cuando el robot (500) es secuestrado es una posición de estación de carga y la posición cuando el robot (500) es liberado de ser secuestrado no es una posición de estación de carga, determinar que el robot (500) necesita ejecutar la tarea en la posición cuando el robot (500) es liberado de ser secuestrado.
5. El procedimiento de control de robot según cualquiera de las reivindicaciones 1 a 4, en el que el robot (500) es un robot barredor, y la determinación, por parte del robot (500), del área de ejecución de la tarea en función de la información del entorno alrededor de la posición cuando el robot (500) se libera de estar secuestrado (102), comprende:
determinar, por el robot barredor, el área a barrer de acuerdo con la información del entorno alrededor de la posición cuando el robot barredor se libera de estar secuestrado.
6. El procedimiento de control del robot según la reivindicación 5, en el que la determinación, por parte del robot barredor, del área a barrer según la información del entorno alrededor de la posición cuando el robot barredor se libera de estar secuestrado, comprende:
determinar al menos un objeto físico que tenga una función de limitación de espacio en la información del entorno alrededor de la posición cuando el robot barredor se libera de estar secuestrado; y
tomar como área a barrer una área del piso que contenga el al menos un objeto físico.
7. El procedimiento de control del robot según la reivindicación 5, en el que la determinación, por parte del robot barredor, del área a barrer según la información del entorno alrededor de la posición cuando el robot barredor se libera de estar secuestrado, comprende además:
reconocer si la información del entorno alrededor de la posición cuando el robot barredor se libera de estar secuestrado contiene una esquina;
y si la esquina está contenida, determinar un área asociada a la esquina como área a barrer.
8. El procedimiento de control de robot de acuerdo con la reivindicación 7, donde la determinación del área asociada de la esquina como área a barrer comprende:
determinar un área de sector tomando un vértice de la esquina como centro del círculo y una distancia desde la posición en la que el robot barredor se libera de estar secuestrado hasta el vértice de la esquina como radio, y tomando el área de sector como el área a barrer; o
determinar un área rectangular tomando una distancia desde la posición en la que el robot barredor se libera de estar secuestrado hasta cualquier lado de la esquina como media longitud lateral, y tomando el área rectangular como el área a barrer.
9. El procedimiento de control del robot según la reivindicación 5, en el que la ejecución de la tarea por el robot (500) dentro del área de ejecución de la tarea, comprende:
llevar a cabo, mediante el robot barredor, el barrido en espiral en el área a barrer tomando la posición cuando el robot barredor se libera de estar secuestrado como centro del círculo; o
realizar, mediante el robot barredor, barridos en hileras apretadas en el área a barrer desde la posición en la que el robot barredor se libera de estar secuestrado.
10. Un robot (500), que comprende: un cuerpo mecánico (501), en el que el cuerpo mecánico (501) está provisto de uno o más sensores (504), uno o más procesadores (502) y una o más memorias (503) para almacenar instrucciones informáticas; y el uno o más procesadores (502) para ejecutar las instrucciones de ordenador para:
determinar una posición cuando el robot (500) se libera de estar secuestrado basándose en la operación de relocalización;
obtener información del entorno alrededor de la posición cuando el robot (500) es liberado de ser secuestrado a través de uno o más sensores; determinar un área de ejecución de tareas de acuerdo con la información del entorno alrededor de la posición cuando el robot (500) es liberado de ser secuestrado; y
controlar el robot (500) para que ejecute una tarea dentro del área de ejecución de tareas,
caracterizado porque,
el uno o más procesadores (502), al determinar el área de ejecución de la tarea, específicamente para: determinar que el robot (500) necesita ejecutar la tarea en la posición cuando el robot (500) es liberado de ser secuestrado según una diferencia entre la posición cuando el robot (500) es liberado de ser secuestrado y una posición cuando el robot es secuestrado.
11. El robot (500) según la reivindicación 10, el uno o más procesadores (502), al determinar la posición cuando el robot (500) se libera de estar secuestrado, específicamente para:
obtener la información del entorno alrededor de una posición actual del robot (500) a través de uno o más sensores cuando se reconoce que el robot (500) ha sido liberado de ser secuestrado; y
localizar una pose del robot (500) en un mapa del entorno almacenado de acuerdo con la información del entorno alrededor de la posición actual, y tomar una posición en la pose como la posición cuando el robot (500) se libera de estar secuestrado.
12. El robot según la reivindicación 10, el uno o más procesadores (502), al determinar la posición cuando el robot (500) se libera de estar secuestrado, específicamente para:
controlar el robot (500) para que se mueva de la posición actual a una segunda posición cuando se reconozca que el robot (500) ha sido liberado de ser secuestrado, y localizar la pose del robot (500) en el mapa del entorno almacenado en un procedimiento de movimiento; y
determinar una posición en la que el robot (500) comienza a moverse como la posición en la que el robot (500) se libera de estar secuestrado, de acuerdo con la posición en la pose y los datos adquiridos en el procedimiento de movimiento.
13. El robot (500) según la reivindicación 10, el uno o más procesadores (502), al determinar que el robot (500) necesita ejecutar la tarea en la posición cuando el robot (500) se libera de estar secuestrado, son específicamente para ejecutar una de las siguientes acciones:
si la posición cuando el robot (500) es liberado de ser secuestrado y una posición cuando el robot (500) es secuestrado pertenecen a diferentes áreas del entorno, determinar que el robot (500) necesita ejecutar la tarea en la posición cuando el robot (500) es liberado de ser secuestrado; si la posición cuando el robot (500) es secuestrado está localizada en un área de dificultad de funcionamiento del robot y la posición cuando el robot (500) es liberado de ser secuestrado está localizada fuera del área de dificultad de funcionamiento del robot, determinar que el robot (500) necesita ejecutar la tarea en la posición cuando el robot (500) es liberado de ser secuestrado; y si la posición cuando el robot (500) es secuestrado es una posición de estación de carga y la posición cuando el robot (500) es liberado de ser secuestrado no es una posición de estación de carga, determinar que el robot (500) necesita ejecutar la tarea en la posición cuando el robot (500) es liberado de ser secuestrado.
14. El robot (500) según cualquiera de las reivindicaciones 10 a 13, el robot (500) es un robot barredor, y el uno o más procesadores (502), al determinar el área de ejecución de la tarea, específicamente para: determinar el área a barrer en función de la información del entorno alrededor de la posición cuando el robot barredor se libera de estar secuestrado.
15. El robot (500) según la reivindicación 14, el uno o más procesadores (502), al determinar el área a barrer, específicamente para:
determinar al menos un objeto físico que tenga una función de limitación de espacio en la información del entorno alrededor de la posición cuando el robot barredor se libera de estar secuestrado; y
tomar como área a barrer una área del piso que contenga el al menos un objeto físico.
16. El robot (500) según la reivindicación 14, el uno o más procesadores (502), al determinar el área a barrer, específicamente para:
reconocer si la información del entorno alrededor de la posición cuando el robot barredor se libera de estar secuestrado contiene una esquina;
y si la esquina está contenida, determinar un área asociada a la esquina como área a barrer.
17. El robot (500) según la reivindicación 16, el uno o más procesadores (502), al determinar el área asociada de la esquina como el área a barrer, específicamente para:
determinar un área de sector tomando el vértice de la esquina como centro del círculo y una distancia desde la posición en la que el robot barredor se libera de estar secuestrado hasta el vértice de la esquina como radio, y tomando el área de sector como el área a barrer; o
determinar un área rectangular tomando una distancia desde la posición en la que el robot barredor se libera de estar secuestrado hasta cualquier lado de la esquina como media longitud lateral, y tomando el área rectangular como el área a barrer.
18. El robot (500) según la reivindicación 14, el uno o más procesadores (502), al controlar el robot (500) para ejecutar la tarea dentro del área de ejecución de la tarea, específicamente para:
controlar el robot barredor para que realice un barrido en espiral en el área a barrer tomando la posición cuando el robot barredor se libera de estar secuestrado como centro del círculo; o
controlar el robot barredor para que realice un barrido en hileras apretadas en el área a barrer desde la posición en la que el robot barredor se libera de estar secuestrado.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810797893.5A CN110733033B (zh) | 2018-07-19 | 2018-07-19 | 机器人控制方法、机器人及存储介质 |
PCT/CN2019/095146 WO2020015548A1 (zh) | 2018-07-19 | 2019-07-08 | 机器人控制方法、机器人及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2966385T3 true ES2966385T3 (es) | 2024-04-22 |
Family
ID=69162326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES19836995T Active ES2966385T3 (es) | 2018-07-19 | 2019-07-08 | Procedimiento de control de robot, robot y medio de almacenamiento |
Country Status (5)
Country | Link |
---|---|
US (3) | US11534916B2 (es) |
EP (2) | EP3825070B1 (es) |
CN (2) | CN110733033B (es) |
ES (1) | ES2966385T3 (es) |
WO (1) | WO2020015548A1 (es) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210099217A (ko) * | 2019-01-03 | 2021-08-12 | 엘지전자 주식회사 | 로봇 시스템의 제어 방법 |
CN111168685B (zh) * | 2020-02-17 | 2021-06-18 | 上海高仙自动化科技发展有限公司 | 机器人控制方法、机器人和可读存储介质 |
CN114443264B (zh) * | 2020-11-05 | 2023-06-09 | 珠海一微半导体股份有限公司 | 一种基于硬件加速的激光重定位系统及芯片 |
CN113359769B (zh) * | 2021-07-06 | 2022-08-09 | 广东省科学院智能制造研究所 | 室内自主移动机器人复合导航方法及装置 |
CN113985882B (zh) * | 2021-10-29 | 2024-02-27 | 珠海格力电器股份有限公司 | 作业路径规划方法、装置、电子设备和存储介质 |
CN114833827B (zh) * | 2022-04-20 | 2023-12-26 | 深圳模德宝科技有限公司 | 零件加工处理的方法及相关装置 |
CN115446834B (zh) * | 2022-09-01 | 2024-05-28 | 西南交通大学 | 一种基于占据栅格配准的车底巡检机器人单轴重定位方法 |
CN118356120B (zh) * | 2024-06-19 | 2024-09-24 | 追觅创新科技(苏州)有限公司 | 清洁机器人的控制方法 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5942869A (en) * | 1997-02-13 | 1999-08-24 | Honda Giken Kogyo Kabushiki Kaisha | Mobile robot control device |
KR100552691B1 (ko) * | 2003-09-16 | 2006-02-20 | 삼성전자주식회사 | 이동로봇의 자기위치 및 방위각 추정방법 및 장치 |
JP2005211365A (ja) * | 2004-01-30 | 2005-08-11 | Funai Electric Co Ltd | 自律走行ロボットクリーナー |
KR100560966B1 (ko) * | 2004-10-12 | 2006-03-15 | 삼성광주전자 주식회사 | 로봇 청소기의 자이로 센서 보정방법 |
KR101297388B1 (ko) | 2006-06-16 | 2013-08-19 | 삼성전자주식회사 | 위치 보정 기능을 제공하는 이동 장치 및 위치 보정 방법 |
KR101484940B1 (ko) | 2009-05-14 | 2015-01-22 | 삼성전자 주식회사 | 로봇청소기 및 그 제어방법 |
US8706297B2 (en) * | 2009-06-18 | 2014-04-22 | Michael Todd Letsky | Method for establishing a desired area of confinement for an autonomous robot and autonomous robot implementing a control system for executing the same |
KR20120044768A (ko) | 2010-10-28 | 2012-05-08 | 엘지전자 주식회사 | 로봇 청소기 및 이의 제어 방법 |
KR101731968B1 (ko) * | 2010-11-01 | 2017-05-04 | 삼성전자주식회사 | 로봇의 리로케이션 장치 및 방법 |
US20140031980A1 (en) | 2011-11-11 | 2014-01-30 | Jens-Steffen Gutmann | Systems and methods for extending slam to multiple regions |
JP6638988B2 (ja) * | 2013-12-19 | 2020-02-05 | アクチエボラゲット エレクトロルックス | サイドブラシを有し、渦巻きパターンで動くロボットバキュームクリーナ |
CN104180799A (zh) * | 2014-07-15 | 2014-12-03 | 东北大学 | 一种基于自适应蒙特卡罗定位的机器人定位方法 |
KR102328252B1 (ko) | 2015-02-13 | 2021-11-19 | 삼성전자주식회사 | 청소 로봇 및 그 제어방법 |
KR102393921B1 (ko) | 2015-05-12 | 2022-05-04 | 삼성전자주식회사 | 로봇 및 그의 제어 방법 |
DE102015114883A1 (de) * | 2015-09-04 | 2017-03-09 | RobArt GmbH | Identifizierung und Lokalisierung einer Basisstation eines autonomen mobilen Roboters |
DE102015119865B4 (de) * | 2015-11-17 | 2023-12-21 | RobArt GmbH | Robotergestützte Bearbeitung einer Oberfläche mittels eines Roboters |
CN107037806B (zh) | 2016-02-04 | 2020-11-27 | 科沃斯机器人股份有限公司 | 自移动机器人重新定位方法及采用该方法的自移动机器人 |
DE102016102644A1 (de) * | 2016-02-15 | 2017-08-17 | RobArt GmbH | Verfahren zur Steuerung eines autonomen mobilen Roboters |
WO2017200343A1 (ko) * | 2016-05-20 | 2017-11-23 | 엘지전자 주식회사 | 로봇 청소기 |
EP3494446B1 (de) * | 2016-08-05 | 2023-09-13 | Robart GmbH | Verfahren und vorrichtung zur steuerung eines autonomen mobilen roboters |
JP6831213B2 (ja) | 2016-11-09 | 2021-02-17 | 東芝ライフスタイル株式会社 | 電気掃除機 |
CN108072370A (zh) * | 2016-11-18 | 2018-05-25 | 中国科学院电子学研究所 | 基于全局地图的机器人导航方法及用该方法导航的机器人 |
CN106679647A (zh) | 2016-12-02 | 2017-05-17 | 北京贝虎机器人技术有限公司 | 用于初始化自主移动式设备位姿的方法及装置 |
CN106708037A (zh) * | 2016-12-05 | 2017-05-24 | 北京贝虎机器人技术有限公司 | 自主移动式设备定位的方法、装置及自主移动式设备 |
EP3974934A1 (de) | 2017-03-02 | 2022-03-30 | Robart GmbH | Verfahren zur steuerung eines autonomen, mobilen roboters |
CN107969995B (zh) * | 2017-11-27 | 2020-09-25 | 深圳市无限动力发展有限公司 | 视觉扫地机器人及其重定位方法 |
CN108052101B (zh) * | 2017-12-06 | 2021-12-21 | 北京奇虎科技有限公司 | 机器人的重定位方法及装置 |
US10575699B2 (en) * | 2018-01-05 | 2020-03-03 | Irobot Corporation | System for spot cleaning by a mobile robot |
-
2018
- 2018-07-19 CN CN201810797893.5A patent/CN110733033B/zh active Active
- 2018-07-19 CN CN202310244057.5A patent/CN116509280A/zh active Pending
-
2019
- 2019-07-08 EP EP19836995.1A patent/EP3825070B1/en active Active
- 2019-07-08 WO PCT/CN2019/095146 patent/WO2020015548A1/zh active Application Filing
- 2019-07-08 EP EP23189753.9A patent/EP4252973A3/en active Pending
- 2019-07-08 ES ES19836995T patent/ES2966385T3/es active Active
- 2019-07-16 US US16/513,341 patent/US11534916B2/en active Active
-
2022
- 2022-11-04 US US17/981,226 patent/US11850753B2/en active Active
-
2023
- 2023-11-08 US US18/388,105 patent/US20240066697A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4252973A3 (en) | 2023-11-22 |
US20200023517A1 (en) | 2020-01-23 |
EP3825070A1 (en) | 2021-05-26 |
EP3825070A4 (en) | 2021-11-24 |
CN116509280A (zh) | 2023-08-01 |
US11850753B2 (en) | 2023-12-26 |
US20240066697A1 (en) | 2024-02-29 |
US20230056758A1 (en) | 2023-02-23 |
WO2020015548A1 (zh) | 2020-01-23 |
US11534916B2 (en) | 2022-12-27 |
CN110733033B (zh) | 2023-03-24 |
CN110733033A (zh) | 2020-01-31 |
EP4252973A2 (en) | 2023-10-04 |
EP3825070B1 (en) | 2023-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2966385T3 (es) | Procedimiento de control de robot, robot y medio de almacenamiento | |
US20210247775A1 (en) | Method for localizing robot, robot, and storage medium | |
US20230409032A1 (en) | Method for controlling an autonomous, mobile robot | |
CN108759844B (zh) | 机器人重定位与环境地图构建方法、机器人及存储介质 | |
US11878427B2 (en) | Robot navigation using 2D and 3D path planning | |
JP6979961B2 (ja) | 自律移動ロボットを制御するための方法 | |
ES2637210T3 (es) | Procedimiento para desencadenar automáticamente una autolocalización | |
ES2928877T3 (es) | Sistema con al menos dos dispositivos de tratamiento de suelos | |
CN107643755B (zh) | 一种扫地机器人的高效控制方法 | |
CN110989630B (zh) | 自移动机器人控制方法、装置、自移动机器人和存储介质 | |
JP2020532018A (ja) | 自律移動ロボットの移動計画 | |
US20170371341A1 (en) | Method and apparatus for controlling a robotic cleaning device for intensive cleaning | |
KR20140087486A (ko) | 가상벽 레이어를 이용한 이동 로봇의 이동 경로 생성 방법 | |
CN107450557A (zh) | 一种基于云端记忆的扫地机器人寻路方法 | |
CN112257510A (zh) | 一种在区域地图中确定对象的方法、系统及自移动机器人 | |
JP2011198173A (ja) | ロボットシステム | |
RU2658092C2 (ru) | Способ и система навигации подвижного объекта с использованием трехмерных датчиков | |
KR20230115146A (ko) | 청소 로봇 | |
Kulich et al. | Practical Aspects of Autonomous Exploration with a Kinect2 sensor | |
Mehta et al. | Autonomous Laser Guided Vehicle for Book Deposition in a Library |