ES2911440T3 - Procedimiento de control de movimiento de robot y robot - Google Patents

Procedimiento de control de movimiento de robot y robot Download PDF

Info

Publication number
ES2911440T3
ES2911440T3 ES17889547T ES17889547T ES2911440T3 ES 2911440 T3 ES2911440 T3 ES 2911440T3 ES 17889547 T ES17889547 T ES 17889547T ES 17889547 T ES17889547 T ES 17889547T ES 2911440 T3 ES2911440 T3 ES 2911440T3
Authority
ES
Spain
Prior art keywords
robot
squares
adjacent
distance
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES17889547T
Other languages
English (en)
Inventor
Haoxin Liu
Xianwei Zhou
Kai Yang
Yibo Cao
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Bona Robot Corp Ltd
Original Assignee
Guangdong Bona Robot Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Bona Robot Corp Ltd filed Critical Guangdong Bona Robot Corp Ltd
Application granted granted Critical
Publication of ES2911440T3 publication Critical patent/ES2911440T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0219Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts 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/4061Steering means; Means for avoiding obstacles; Details related to the place where the driver is accommodated
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • B25J11/0085Cleaning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0217Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/24Floor-sweeping machines, motor-driven
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/04Automatic control of the travelling movement; Automatic obstacle detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Electromagnetism (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Abstract

Un procedimiento para controlar el movimiento del robot sobre una región a operar, estando la región a operar subdividida en cuadrados, que comprende: adquirir (S11) información de posición de dos obstáculos adyacentes ubicados sobre dos lados de un robot a lo largo de una dirección de movimiento del robot o una dirección perpendicular a la dirección de movimiento, y calcular la distancia entre los dos obstáculos adyacentes; determinar (S12) si la distancia entre los dos obstáculos adyacentes es menor o igual a una primera distancia preestablecida; definir (S13) un límite de obstáculo virtual entre los dos obstáculos adyacentes cuando la distancia entre los dos obstáculos adyacentes es menor o igual que la primera distancia preestablecida; y controlar (S14) las trayectorias de movimiento del robot basándose en el límite de obstáculo virtual, en el que controlar (S14) las trayectorias de movimiento del robot basándose en el límite de obstáculo virtual comprende: dividir la región a operar en al menos dos subregiones utilizando el límite de obstáculo virtual; y controlar el robot para atravesar cuadrados a operar y cuadrados desconocidos dentro de una de las al menos dos subregiones, entonces eliminando el límite de obstáculo virtual, y controlar el robot para atravesar los cuadrados a operar y los cuadrados desconocidos de otra de las al menos dos subregiones, en el que un cuadrado, que se detecta que está libre de obstáculos y no es pasado por el robot, está marcado como un cuadrado a operar, y un cuadrado, que no es pasado por el robot y cuyo estado no se detecta, está marcado como un cuadrado desconocido.

Description

DESCRIPCIÓN
Procedimiento de control de movimiento de robot y robot
Campo técnico
La presente divulgación se refiere al campo de los robots y, en particular, a un procedimiento para controlar movimientos de un robot y un robot.
Antecedentes
Como un dispositivo inteligente, un robot sirve para humanos, y los usuarios de robots generalmente controlan movimientos del robot cuando los robots están realizando tareas. Por ejemplo, un robot está realizando una tarea dentro de un área determinada, entonces es posible que no se permita que el robot se mueva fuera del área hasta que la tarea haya terminado. Actualmente en la técnica, el área de trabajo del robot está limitada por señales de obstáculos generadas por un dispositivo de generación de pared virtual, o por un límite de obstáculo virtual, que está en forma de patrón y puede ser reconocido por el robot.
Sin embargo, cuando se requiere que un robot se mueva y cubra un área grande, los usuarios pueden necesitar múltiples dispositivos o patrones de generación de pared virtual para dividir el área de trabajo del robot en múltiples subregiones, lo que aumenta el coste.
La literatura de "The investigation of the obstacle avoidance for mobile robot based on polar coordinates vector method" por Dongyue Qu y col. desvela la evitación de obstáculos y la navegación de un robot móvil mediante el uso del procedimiento de vector de coordenadas polares. El vector de coordenadas polares se usa para la detección y el modelado del entorno externo y la evaluación de algunas condiciones complejas como la fusión o superposición de obstáculos.
Sumario de la divulgación
La presente divulgación es para resolver el problema de que, en la técnica, se requieren dispositivos o patrones de generación de pared virtual para generar límites de obstáculos virtuales.
Para resolver la técnica anteriormente mencionada, se puede utilizar un procedimiento de acuerdo con la reivindicación 1 y/o un sistema de acuerdo con la reivindicación 11.
A diferencia de las habilidades actuales disponibles en la técnica, la presente divulgación es para adquirir información de posición de dos obstáculos adyacentes ubicados sobre dos lados de un robot a lo largo de la dirección de movimiento del robot o una dirección perpendicular a la dirección de movimiento, calcular la distancia entre los dos obstáculos adyacentes y definir un límite de obstáculo virtual entre los dos obstáculos adyacentes cuando la distancia entre los dos obstáculos adyacentes es menor o igual que una primera distancia preestablecida. Es posible que no se requieran dispositivos externos de generación de pared virtual, la definición de límites de obstáculos virtuales puede ser realizada por el propio robot, que reduce eficazmente el coste.
La presente divulgación es para resolver el problema técnico de cómo controlar una trayectoria de movimiento de un robot, permitiendo que el robot realice tareas de un área grande.
Breve descripción de los dibujos
La FIG. 1 es un diagrama de flujo de una realización que ilustra un procedimiento para controlar el movimiento del robot.
La FIG. 2 es un mapa virtual para el robot controlado por el procedimiento mostrado en la FIG. 1.
La FIG. 3 ilustra que un límite de obstáculo virtual se define a lo largo de una dirección de fila por el procedimiento mostrado en la FIG. 1, cuando el robot se mueve a lo largo de la dirección de la fila.
La FIG. 4 ilustra que un límite de obstáculo virtual se define a lo largo de una dirección de columna por el procedimiento mostrado en la FIG. 1, cuando el robot se mueve en la dirección de la flecha.
La FIG. 5 ilustra que un límite de obstáculo virtual se define a lo largo de una dirección de fila por el procedimiento mostrado en la FIG. 1, cuando el robot se mueve a lo largo de la dirección de una columna.
La FIG. 6 es el límite de obstáculo virtual ilustrado en la FIG. 3.
La FIG. 7 es el límite de obstáculo virtual ilustrado en la FIG. 4.
La FIG. 8 es el límite de obstáculo virtual ilustrado en la FIG. 5.
La FIG. 9 ilustra que dos límites de obstáculos virtuales definidos a lo largo de la dirección de la fila por el procedimiento mostrado en la FIG. 1 están demasiado cerca.
La FIG. 10 ilustra que dos límites de obstáculos virtuales definidos a lo largo de la dirección de la columna por el procedimiento mostrado en la FIG. 1 están demasiado cerca.
La FIG. 11 ilustra que el límite de obstáculo virtual a lo largo de la dirección de la fila y el límite de obstáculo virtual a lo largo de la dirección de la columna definidos por el procedimiento de control del robot mostrado en la FIG. 1 tienen una región de superposición.
La FIG. 12 ilustra las trayectorias de movimiento del robot definidas por el procedimiento mostrado en la FIG. 1, cuando el robot está en una región a operar, que tiene un solo límite de obstáculo virtual.
La FIG. 13 ilustra una región a operar con una pluralidad de límites de obstáculos virtuales definidos por el procedimiento mostrado en la FIG. 1.
La FIG. 14 ilustra una trayectoria de movimiento de robot en una región a operar definida por un procedimiento actual disponible en la técnica relacionada.
La FIG. 15 ilustra el robot controlado por el procedimiento de la FIG. 1 detecta comunicación entre dos subregiones a través de un cuadrado operado y un cuadrado a operar durante el procedimiento de movimiento.
La FIG. 16 es una vista estructural de una primera implementación del robot en la presente divulgación.
La FIG. 17 es una vista estructural de una segunda implementación del robot en la presente divulgación.
Descripción detallada
Las soluciones técnicas de las realizaciones en la presente divulgación deben describirse clara y completamente con referencia a las figuras adjuntas. Evidentemente, las realizaciones que se describirán son solo una parte, pero no todas, de las realizaciones disponibles para la presente divulgación. Basándose en las realizaciones en la presente divulgación, cualquier otra forma de realización realizada por personal experto en la materia sin esfuerzo creativo debe estar dentro del ámbito de la presente divulgación.
Con referencia a la FIG. 1, se proporciona un diagrama de flujo de una realización que muestra un procedimiento para controlar el movimiento del robot. De acuerdo con la FIG. 1, el procedimiento para controlar el movimiento del robot puede incluir las siguientes etapas.
Etapa S11: se puede adquirir información de posición de dos obstáculos adyacentes ubicados sobre dos lados de un robot a lo largo de la dirección de movimiento del robot o una dirección perpendicular a la dirección de movimiento, y se puede calcular la distancia entre los dos obstáculos adyacentes.
Antes de la etapa S11, el procedimiento puede incluir además una etapa S101 como la siguiente.
Se puede obtener un mapa virtual de una región a operar por el robot, en el que el mapa virtual se divide en una pluralidad de cuadrados en una matriz.
Para especificar, con referencia a la FIG. 2, en una realización, cuando el robot empieza a trabajar, se puede almacenar un mapa virtual de áreas a operar para el robot en forma de una pluralidad de cuadrados en una matriz, en el que el robot puede tener al menos un sensor, que tiene un rango de detección, y el robot puede obtener el estado de cada cuadrado dentro del rango de detección a través del sensor y hacer marcas sobre el mapa virtual en consecuencia, cualquier cuadrado fuera del rango de detección puede marcarse como desconocido.
Etapa S102: durante el procedimiento de movimiento del robot, se puede detectar el estado de los cuadrados adyacentes al robot ubicado en el cuadrado a lo largo de la dirección de movimiento del robot y la dirección perpendicular a la dirección de movimiento, y el estado de los cuadrados se puede marcar sobre el mapa virtual, en el que los cuadrados que son pasados por el robot pueden ser marcados como cuadrados operados, los cuadrados que contienen obstáculos pueden marcarse como cuadrados de obstáculos, los cuadrados que se detectan como libres de obstáculos y que el robot nunca pasa pueden marcarse como cuadrados a operar, y los cuadrados que el robot nunca pasa y el estado de los mismos no se detecta pueden marcarse como cuadrados desconocidos.
Para especificar, en la realización anterior, el robot puede tener dos modos de movimiento: movimiento fila por fila y movimiento columna por columna. Con referencia adicional a la FIG. 2, el movimiento fila por fila significa que el robot puede moverse primero a lo largo de la dirección de una fila, cuando encontrar un obstáculo, el robot puede moverse a una siguiente fila a lo largo de una dirección de columna perpendicular a la dirección de la fila, y entonces moverse a lo largo de la siguiente fila en una dirección inversa con respecto a la dirección de la fila anterior. Por ejemplo, en el mapa virtual, el robot puede moverse primero desde la posición 201, que se ubica en la fila n de la columna m, a la posición 202, que se ubica en la fila n de la columna m+4. Como un obstáculo está en la posición 203, que se ubica en la fila n de la columna m+5, el robot puede moverse a lo largo de la dirección de una columna perpendicular a la dirección de la fila, desde la posición 202 en la fila n de la columna m+4 hasta la posición 204 ubicada en la fila n+1 de la columna m+4, y entonces continuar moviéndose a lo largo de la fila n+1 desde la posición 204 en la fila n+1 de la columna m+4 hasta la posición 205 ubicada en la fila n+1 de la columna m. El movimiento columna por columna significa que el robot primero puede moverse en una dirección de columna larga, cuando encontrar un obstáculo, el robot puede moverse a una siguiente columna a lo largo de una dirección de fila perpendicular a la dirección de la columna, y entonces moverse a lo largo de la siguiente columna en una dirección inversa con respecto a la dirección de la columna anterior.
En el ejemplo del modo de movimiento fila por fila, durante el procedimiento de movimiento, el estado de los cuadrados adyacentes al robot ubicado en el cuadrado a lo largo de la dirección de movimiento (dirección de la fila) y la dirección perpendicular (dirección de la columna) puede detectarse y marcarse sobre el mapa virtual. El estado de los cuadrados puede actualizarse mientras el robot se mueve. Como se muestra en la FIG. 2, los cuadrados que son pasados por el robot y el cuadrado, en el que se ubica el robot, pueden estar marcados como cuadrados operados que se muestran con una letra "O" en la FIG. 2; los cuadrados, que se detectan como que contienen obstáculos, pueden estar marcados como cuadrados de obstáculos, que se muestran cruzados en la FIG. 2; los cuadrados, que se detectan como libres de obstáculos y no han sido pasados por el robot, pueden estar marcados como cuadrados a operar que se muestran con una letra "T" en la FIG. 2; los cuadrados, que no han sido pasados por el robot y no se ha detectado el estado de los mismos, puede marcarse como desconocido y mostrarse con una letra "U" en la FIG. 2.
En otras realizaciones, el robot puede moverse en otras direcciones y el mapa virtual puede almacenarse por otros medios, que no se limitarán en el presente documento.
Además, la etapa S11 puede incluir una etapa S111.
Se pueden adquirir dos cuadrados de obstáculos adyacentes ubicados sobre dos lados del robot a lo largo de la dirección de movimiento o la dirección perpendicular a la dirección de movimiento, y la distancia entre los dos cuadrados de obstáculos adyacentes se basa en la información de posición de los dos cuadrados de obstáculos adyacentes sobre el mapa virtual se puede calcular.
La etapa S111 puede incluir además una etapa S1111 como la siguiente.
A lo largo de la dirección de movimiento del robot o una dirección perpendicular a la dirección de movimiento del robot, se puede adquirir información de posición de un primer obstáculo ubicado sobre un lado del robot y un segundo obstáculo ubicado sobre el otro lado del robot, en el que una región entre los obstáculos primero y segundo puede estar libre de obstáculos.
Para especificar, en una realización, como se muestra en la FIG. 3, cuando el robot se mueve a lo largo de la dirección de una fila sobre la fila n, la información de posición de dos cuadrados de obstáculos adyacentes, que contienen los obstáculos primero y segundo, son adquiridos, que es la información de posición de la posición 301 en la fila n de la columna m+1 y la posición 302 en la fila n de la columna m-j sobre el mapa virtual, de modo que la distancia entre los dos cuadrados de obstáculos adyacentes puede calcularse como cuadrados j+1. En otras realizaciones, la información de posición del primer y segundo obstáculos puede adquirirse a lo largo de una dirección perpendicular a la dirección de movimiento del robot, que no se limitarán en el presente documento.
Etapa S12: se puede determinar si la distancia entre dos obstáculos adyacentes es igual o menor que una primera distancia preestablecida.
Para especificar, el robot puede preestablecer una primera distancia de umbral como la primera distancia preestablecida. En la realización anterior, la primera distancia preestablecida puede expresarse en cuadrados como unidad, en la que se puede determinar un valor específico basándose en de la demanda real, que no se limitarán en el presente documento.
La etapa S12 puede incluir además una etapa S121 como la siguiente.
Se determina si un cuadrado a operar está ubicado sobre al menos un lado de un cuadrado entre los dos cuadrados de obstáculos adyacentes y si el cuadrado a operar se comunica con un cuadrado desconocido.
Para especificar, en la realización anterior, como se muestra en la FIG. 3, el robot está ubicado en la posición 300 en la fila n de la columna m del mapa virtual, la posición 301 en la fila n de la columna m+1 y la posición 302 en la fila n de la columna m-j son ambos cuadrados de obstáculos. Cuando un cuadrado a operar está ubicado sobre un lado (fila n+1) de los cuadrados entre los dos cuadrados de obstáculos, y el cuadrado a operar se comunica con un cuadrado desconocido, por ejemplo, un cuadrado a operar 304 en la fila n+1 de la columna m está ubicado al lado y se comunica con el cuadrado desconocido 303 (fila n+1 de la columna m+1), entonces se puede definir un límite de obstáculo virtual mientras el robot se mueve desde la región operada a la región a operar.
Etapa S13: Cuando la distancia entre los dos obstáculos adyacentes es igual o menor que la primera distancia preestablecida, se puede definir un límite de obstáculo virtual entre los dos obstáculos adyacentes.
Además, la etapa S13 puede incluir una etapa S131.
Se puede definir un límite de obstáculo virtual entre los dos cuadrados de obstáculos adyacentes, cuando la distancia entre los dos cuadrados de obstáculos adyacentes es igual o menor que la primera distancia preestablecida, y un cuadrado a operar está ubicado sobre al menos un lado del cuadrado entre los dos cuadrados de obstáculos adyacentes y se comunica con un cuadrado desconocido.
Para especificar, en la realización anterior, como se muestra en la FIG. 3, cuando la distancia entre los dos cuadrados de obstáculos adyacentes 301 y 302 (en la que la distancia es igual a j+1 cuadrados) es menor o igual a una primera distancia preestablecida (por ejemplo, 10 cuadrados), y un cuadrado a operar está ubicado sobre al menos un lado de los cuadrados entre los dos cuadrados de obstáculos adyacentes 301 y 302 y se comunica con un cuadrado desconocido, por ejemplo, cuando un cuadrado a operar 304 se ubica al lado y se comunica con el cuadrado desconocido 303, entonces se puede definir un límite de obstáculo virtual entre los dos cuadrados de obstáculos adyacentes 301 y 302.
En otra realización, con referencia a la FIG. 4, el robot puede moverse a lo largo de la dirección de la fila sobre el mapa virtual y puede estar ubicado en la posición 300 en la fila n de la columna m en este momento, cuando la distancia entre los dos obstáculos adyacentes 305 y 306 (i+j cuadrados), que están ubicados sobre dos lados opuestos del robot, es menor o igual que la primera distancia preestablecida (por ejemplo, 10 cuadrados), y un cuadrado a operar está ubicado sobre al menos un lado del cuadrado entre los dos cuadrados de obstáculos adyacentes 305 y 306 y se comunica con un cuadrado desconocido, por ejemplo, un cuadrado a operar puede estar ubicado en la posición 307, que está al lado y se comunica con un cuadrado desconocido 308 en la fila n de la columna m+2, entonces un límite de obstáculo virtual entre los dos cuadrados de obstáculos adyacentes 305 y 306 puede definirse.
Con referencia a la FIG. 5, el robot puede estar moviéndose a lo largo de la dirección de una columna sobre el mapa virtual, y ubicado en la posición 300 en la fila n de la columna m en este momento, cuando la distancia entre dos cuadrados de obstáculos adyacentes 309 y 310 (en la que la distancia es igual a i+j cuadrados), que están ubicados sobre dos lados del robot, es menor o igual que una primera distancia preestablecida (por ejemplo, 10 cuadrados), y un cuadrado a operar está ubicado sobre al menos un lado del cuadrado entre los dos cuadrados de obstáculos adyacentes 309 y 310 y se comunica con un cuadrado desconocido, por ejemplo, un cuadrado a operar ubicado en la posición 311, que está al lado y se comunica con un cuadrado desconocido 312 en la fila n+2 de la columna m, entonces se puede definir un límite de obstáculo virtual entre los dos cuadrados de obstáculos adyacentes 309 y 310.
La etapa S132 se puede realizar como: controlar el robot para que continúe moviéndose hasta que el robot se salga de los cuadrados entre los dos cuadrados de obstáculos adyacentes, y definir un límite de obstáculo virtual entre los dos cuadrados de obstáculos adyacentes.
Para especificar, haciendo referencia a la FIG. 3 y la FIG. 6, cuando el robot se mueve a lo largo de la dirección de la columna llegando a la siguiente fila (es decir, la fila n+1), el robot puede haberse movido fuera de los cuadrados entre dos cuadrados de obstáculos adyacentes 301 y 302, entonces se puede definir un límite de obstáculo virtual 31 entre los dos obstáculos adyacentes 301 y 302, lo que significa que el límite de obstáculo virtual 31 puede ser efectivo, y los cuadrados pueden estar marcados con una "x" como se muestra en la FIG. 6.
Con referencia a la FIG. 4 y a la FIG. 7, cuando el robot se mueve a lo largo de la dirección de la fila llegando a la siguiente columna (columna m+1), el robot puede haberse movido fuera de los cuadrados entre dos obstáculos adyacentes 305 y 306, se puede definir un límite de obstáculo virtual 32 entre los dos obstáculos adyacentes 305 y 306, lo que significa que el límite de obstáculo virtual 32 puede ser efectivo, y los cuadrados pueden estar marcados con una "x" como se muestra en la FIG. 7.
Con referencia a la FIG. 5 y a la FIG. 8, cuando el robot se mueve a lo largo de la dirección de la columna llegando a la siguiente fila (fila n+1), el robot puede haberse salido de los cuadrados entre dos obstáculos adyacentes 309 y 310, se puede definir un límite de obstáculo virtual 33 entre los dos obstáculos adyacentes 309 y 310, lo que significa que el límite de obstáculo virtual 33 puede ser efectivo, y los cuadrados pueden estar marcados con una "x" como se muestra en la FIG. 8.
La etapa S13 puede incluir además una etapa S133 como la siguiente.
Cuando el mapa virtual tiene más de dos límites de obstáculos virtuales, se puede determinar si la distancia entre más de dos límites de obstáculos virtuales a lo largo de una primera dirección y una segunda dirección, que es perpendicular a la primera dirección, cualquiera de las cuales es menor que una segunda distancia preestablecida, y si las proyecciones de los dos límites a lo largo de la dirección distinta a la del cálculo de la distancia tienen un área de superposición.
La segunda distancia preestablecida es una segunda distancia umbral definida por el robot, que puede depender de la demanda real, y no se limitará en el presente documento. En una realización, una primera dirección sobre el mapa virtual es la dirección de la fila y una segunda dirección sobre el mapa virtual es la dirección de la columna. Puede determinarse si la distancia entre dos límites de obstáculos virtuales a lo largo de cualquiera de las direcciones, ya sea la dirección de la fila o la dirección de la columna, es menor que la segunda distancia preestablecida, y si las proyecciones de los límites virtuales a lo largo de una dirección distinta a la utilizada para calcular la distancia del límite tienen un área de superposición, de modo que pueda determinarse si los dos límites de obstáculos virtuales están definidos demasiado cerca.
Etapa S134: cuando la distancia entre dos límites de obstáculos virtuales es menor que la segunda distancia preestablecida y tiene un área de proyección de superposición, entonces se puede seleccionar uno de los límites para eliminarlo.
Para especificar, en una realización, con referencia a la FIG. 9, sobre un mapa virtual, la distancia entre dos límites de obstáculos virtuales adyacentes 41 y 42 a lo largo de la dirección de la fila (i cuadrados) puede ser menor que una segunda distancia preestablecida (por ejemplo, 5 cuadrados), y los límites de obstáculos virtuales 41 y 42 tienen un área de proyección de superposición 401 a lo largo de la dirección de la columna, indicando que los dos límites de obstáculos virtuales adyacentes 41 y 42 pueden estar demasiado cerca, cualquiera de los límites puede ser seleccionado para ser eliminado.
Con referencia a la FIG. 10, sobre un mapa virtual, la distancia entre dos límites de obstáculos virtuales adyacentes 43 y 44 a lo largo de la dirección de columna (j cuadrados) puede ser menor que una segunda distancia preestablecida (por ejemplo, 5 cuadrados), y los límites de obstáculos virtuales 43 y 44 tienen un área de proyección de superposición 402 a lo largo de la dirección de la fila, indicando que los dos límites de obstáculos virtuales adyacentes 43 y 44 pueden estar demasiado cerca, y cualquiera de los límites puede seleccionarse para ser eliminado.
Con referencia a la FIG. 11, sobre un mapa virtual, la distancia entre un límite de obstáculo virtual 45 a lo largo de la dirección de la fila y un límite de obstáculo virtual 46 a lo largo de la dirección de la columna se puede definir como 0, que es menos de una segunda distancia preestablecida (por ejemplo, 5 cuadrados), y los límites de obstáculos virtuales 45 y 46 tienen un área de superposición 403, indicando que los dos límites de obstáculos virtuales 45 y 46 pueden estar demasiado cerca, y cualquiera de los dos límites puede seleccionarse para ser eliminado.
Además, la etapa S134 puede incluir las siguientes operaciones.
Etapa S1341: el límite de obstáculo virtual, que se define en un momento posterior, puede ser eliminado.
Para especificar, en la realización anterior, con referencia a la FIG. 9, el límite de obstáculo virtual 42 puede definirse más tarde que el límite de obstáculo virtual 41, entonces el límite de obstáculo virtual 42 puede eliminarse. Con referencia a la FIG. 10, el límite de obstáculo virtual 44 puede definirse más tarde que el límite de obstáculo virtual 43, entonces el límite de obstáculo virtual 44 puede eliminarse. Con referencia a la FIG. 11, el límite de obstáculo virtual 46 puede definirse más tarde que el límite de obstáculo virtual 45, entonces el límite de obstáculo virtual 46 puede eliminarse.
Etapa S14: las trayectorias de movimiento del robot pueden controlarse mediante límites de obstáculos virtuales.
La etapa S14 puede incluir la siguiente operación.
S141: se puede controlar el movimiento del robot definiendo obstáculos en los límites de obstáculos virtuales, cuando el robot se mueve para alcanzar los límites de obstáculos virtuales.
Para especificar, después de que un límite de obstáculo virtual sea efectivo, el robot puede tratar la posición en la que se ubica un límite de obstáculo virtual como si contuviera un obstáculo. Durante el procedimiento de movimiento posterior, es posible que el robot no sea capaz de cruzar cuadrados, que se ubican en el límite de obstáculo virtual, hasta que se elimine el límite de obstáculo virtual.
Además, la etapa S141 puede incluir las siguientes operaciones.
Etapa S1411: la región a operar puede dividirse en al menos dos subregiones utilizando el límite de obstáculo virtual.
Para especificar, con referencia a la FIG. 12, un límite de obstáculo virtual 51 puede dividir una región a operar en dos subregiones 501 y 502. Con referencia a la FIG. 13, los límites de obstáculos virtuales 52, 53 y 54 pueden dividir una región a operar en 4 subregiones 503, 504, 505 y 506.
Etapa S1412: Después de controlar el robot para que atraviese los cuadrados a operar y los cuadrados desconocidos de una subregión, los límites de obstáculos virtuales se pueden eliminar, el robot puede entonces comenzar a atravesar cuadrados a operar y cuadrados desconocidos de otra subregión.
Para especificar, con referencia a la FIG. 12, el robot puede moverse fila por fila, durante el procedimiento de moverse de una subregión 501 a una subregión 502, se puede definir un límite de obstáculo virtual 51 entre la subregión 501 y la subregión 502, en el que el procedimiento para definir el límite puede referirse de la etapa S11 a la etapa S13, que no se describirá repetidamente. Después de que el límite de obstáculo virtual 51 se haga efectivo, el robot puede tratar la posición en la que se ubica el límite de obstáculo virtual 51 como si contuviera obstáculos. Durante el procedimiento de movimiento posterior, es posible que el robot no pueda moverse de la subregión 502 a la subregión 501 cruzando el límite de obstáculo virtual 51, hasta que se elimine el límite de obstáculo virtual 51. Por lo tanto, el robot puede atravesar primero cuadrados a operar y cuadrados desconocidos dentro de la subregión 502, entonces el límite de obstáculo virtual 51 puede eliminarse y, al mismo tiempo, la posición en la que se ubica el límite de obstáculo virtual 51 no puede contener obstáculos, el robot puede entonces moverse desde la subregión 502 a la subregión 501 y continuar atravesando cuadrados a operar y cuadrados desconocidos dentro de la subregión 501.
Con referencia a la FIG. 13, el robot puede definir límites de obstáculos virtuales 52, 53 y 54, sucesivamente, para dividir una región a operar en cuatro subregiones 503, 504, 505 y 506. Durante el procedimiento de movimiento posterior, el robot puede atravesar primero los cuadrados a operar y los cuadrados desconocidos dentro de la subregión 506, y entonces eliminar el límite de obstáculo virtual 54, que se define más recientemente, al mismo tiempo, la posición en la que se ubica el límite de obstáculo virtual 54 no puede contener obstáculos, el robot puede entonces moverse desde la subregión 506 a la subregión 505 y continuar atravesando cuadrados a operar y cuadrados desconocidos dentro de la subregión 505. Después de atravesar, el robot puede eliminar sucesivamente los límites de obstáculos virtuales 53 y 52, y atravesar sucesivamente cuadrados a operar y cuadrados desconocidos dentro de la subregión 504 y la subregión 503.
Con referencia a la FIG. 14, con las tecnologías disponibles en la técnica, durante el procedimiento de movimiento de la subregión 501 a la subregión 502, no se puede definir un límite de obstáculo virtual, cuando el robot se mueve posteriormente, el robot puede regresar de la subregión 502 a la subregión 501 sin atravesar cuadrados a operar y cuadrados desconocidos dentro de la subregión 502, de modo que, después de que se atraviesen los cuadrados a operar y los cuadrados desconocidos en la subregión 501, el robot puede necesitar regresar a la subregión 502 para trabajar repetidamente, que tiene baja eficiencia de trabajo y consume más tiempo.
En contraste con las tecnologías disponibles en la técnica, como se muestra en la FIG. 14, el procedimiento para controlar el movimiento del robot como se describe en la presente divulgación puede definir límites de obstáculos virtuales para dividir las regiones a operar en al menos dos subregiones, controlar el robot para que primero termine de atravesar los cuadrados que se van a operar y los cuadrados desconocidos dentro de una de las subregiones, y entonces atravesar los cuadrados que se van a operar y los cuadrados desconocidos de otras subregiones, lo que puede mejorar la eficiencia de trabajo del robot y ahorrar tiempo de trabajo.
Etapa S1413: durante el procedimiento de movimiento, cuando el robot descubre un cuadrado, que se comunica con un cuadrado operado y/o un cuadrado a operar, que se ubican en al menos dos subregiones, el límite de obstáculo virtual se puede eliminar.
Para especificar, se puede ver desde las etapas S11 a S13, se puede definir un límite de obstáculo virtual mientras el robot se mueve de una región operada a una región no operada, lo que significa que cuando se define inicialmente un límite de obstáculo virtual, las subregiones ubicadas sobre dos lados del límite de obstáculo virtual no pueden comunicarse a través de cuadrados operados y/o a operar. Sin embargo, durante el procedimiento de movimiento del robot, el estado de los cuadrados puede cambiar, y, con referencia a la FIG. 15, dos subregiones 507 y 508 pueden comunicarse a través de cuadrados operados y/o a operar. Al mismo tiempo, el límite de obstáculo virtual 56 puede volverse inefectivo y ser eliminado por el robot, ahorro de espacio de almacenamiento para el robot.
En las realizaciones anteriores, adquiriendo información de posición de dos obstáculos adyacentes ubicados sobre dos lados del robot a lo largo de la dirección de movimiento del robot o la dirección perpendicular a la dirección de movimiento, y calculando la distancia entre los dos obstáculos adyacentes, cuando la distancia entre los dos obstáculos adyacentes es menor o igual a una primera distancia preestablecida, se puede definir un límite de obstáculo virtual y las trayectorias de movimiento del robot se pueden controlar dependiendo del límite de obstáculo virtual, que puede no requerir un generador de pared virtual externo, los límites de obstáculos virtuales pueden ser definidos por el propio robot, ahorrando coste de manera eficiente. También, los límites de obstáculos virtuales definidos pueden dividir una región a operar en al menos dos subregiones, de modo que después de completar el recorrido de cuadrados a operar y cuadrados desconocidos dentro de una de las subregiones, el robot puede comenzar a atravesar cuadrados a operar y cuadrados desconocidos dentro de otra subregión, lo que mejora eficazmente la eficiencia de trabajo del robot y ahorra tiempo de trabajo.
Con referencia a la FIG. 16, se muestra una vista estructural de una primera implementación del robot. Como se muestra en la FIG. 16, un robot 60 de la presente divulgación puede incluir: un módulo de adquisición de posición 601, un módulo de determinación de distancia 602, un módulo de definición de límite 603 y un módulo de control de movimiento 604, conectados en tal orden.
El robot 60 puede ser un robot barredor de suelos y otros tipos de robots, que no debe limitarse en el presente documento.
El módulo de adquisición de posición 601 puede adquirir información de posición de dos obstáculos adyacentes ubicados sobre dos lados del robot 60 a lo largo de la dirección de movimiento del robot 60 o una dirección perpendicular a la dirección de movimiento, y calcular la distancia entre los dos obstáculos adyacentes.
Para especificar, en una realización, el robot 60 puede adquirir información de posición de dos obstáculos adyacentes ubicados sobre dos lados del robot 60 a lo largo de la dirección de movimiento del robot 60 o la dirección perpendicular a la dirección de movimiento a través de un sensor, y calcular la distancia entre los dos obstáculos adyacentes, en la que la distancia se transfiere al módulo de determinación de distancia 602.
El módulo de determinación de distancia 602 puede usarse para determinar si la distancia entre los dos obstáculos adyacentes es menor o igual que una primera distancia preestablecida.
Para especificar, la primera distancia preestablecida puede ser una primera distancia umbral preestablecida por el robot, los valores pueden determinarse dependiendo de la demanda real, que no se limitará en el presente documento. El módulo de determinación de distancia 602 puede recibir la distancia entre los dos obstáculos adyacentes transferidos desde el módulo de adquisición de posición 601, determinar si la distancia es menor o igual que la primera distancia preestablecida, y transferir los resultados determinados al módulo de definición de límite 603.
El módulo de definición de límites 603 se puede usar para definir un límite de obstáculo virtual entre los dos obstáculos adyacentes, cuando la distancia entre los dos obstáculos adyacentes es menor o igual a la primera distancia preestablecida.
Para especificar, el módulo de definición de límite 603 puede recibir los resultados determinados del módulo de determinación de distancia 602, cuando el resultado muestra que la distancia es menor o igual a la primera distancia preestablecida, el robot 60 puede definir un límite de obstáculo virtual entre los dos obstáculos adyacentes utilizando el módulo de definición de límites 603.
El módulo de control de movimiento 604 puede usarse para controlar las trayectorias de movimiento del robot dependiendo de los límites de obstáculos virtuales.
Para especificar, en una realización, después de que un límite de obstáculo virtual se defina, durante el procedimiento de movimiento posterior, el robot 60 puede determinar que un obstáculo está ubicado en la posición en la que se define el límite de obstáculo virtual, y el robot no puede cruzar el límite de obstáculo virtual, para que las trayectorias de movimiento del robot puedan ser controladas.
En la realización anterior, el robot puede adquirir información de posición de los dos obstáculos adyacentes ubicados sobre los dos lados del robot a lo largo de la dirección de movimiento del robot o la dirección perpendicular a la dirección de movimiento, y calcular la distancia entre los dos obstáculos adyacentes, cuando la distancia entre los dos obstáculos adyacentes es menor o igual a una primera distancia preestablecida, se puede definir un límite de obstáculo virtual y las trayectorias de movimiento del robot se pueden controlar dependiendo del límite de obstáculo virtual, que puede no requerir un generador de pared virtual externo, los límites de obstáculos virtuales pueden ser definidos por el propio robot, ahorrando coste de manera eficiente.
Con referencia a la FIG. 17, se muestra una vista estructural de una segunda implementación del robot. Como se muestra en la FIG. 17, un robot 70 de la presente divulgación puede incluir: un sensor 701 y un procesador 702, que se conectan entre sí a través de un bus.
El robot 60 puede ser un robot barredor de suelos y otros tipos de robots, que no se limitarán en el presente documento.
El sensor 701 puede usarse para adquirir información de posición de dos obstáculos adyacentes ubicados sobre dos lados del robot a lo largo de la dirección de movimiento del robot o una dirección perpendicular a la dirección de movimiento.
Para especificar, el sensor 701 puede ser un módulo sensor de distancia. El robot 70 puede adquirir información de posición de los dos obstáculos adyacentes ubicados sobre los dos lados del robot 70 a lo largo de la dirección de movimiento del robot o la dirección perpendicular a la dirección de movimiento a través del sensor 701. El sensor 701 también puede ser un sensor de otros tipos, siempre que se pueda adquirir la información de posición de los dos obstáculos adyacentes ubicados sobre dos lados del robot, el tipo de sensor no estará limitado en el presente documento.
El procesador 702 puede controlar el movimiento del robot, en el que el procesador 702 también puede denominarse unidad central de procesamiento (CPU). El procesador 702 puede ser un chip de circuito integrado, que es capaz de procesar datos. El procesador 702 también puede ser un procesador general, un procesador de señal digital (DSP), un circuito integrado de aplicación específica (ASIC), una matriz de puertas programables en campo (FPGA) u otros dispositivos lógicos programables, dispositivos lógicos de transistores o puertas de componentes discretos, conjunto de hardware discreto. El procesador general puede ser un microprocesador o cualquier procesador regular y similares.
El robot 70 puede incluir además una memoria no transitoria (no mostrada en la figura), que puede almacenar instrucciones y datos necesarios para que el procesador 702 funcione, por ejemplo, la información de posición de los dos obstáculos adyacentes ubicados sobre dos lados del robot 70 y la información de posición de donde se definen los límites de obstáculos virtuales, y similares.
El procesador 702 puede usarse para calcular la distancia entre dos obstáculos adyacentes y determinar si la distancia es menor o igual que una primera distancia preestablecida. Cuando la distancia entre los dos obstáculos adyacentes es menor o igual a la primera distancia preestablecida, se puede definir un límite de obstáculo virtual entre los dos obstáculos adyacentes, y las trayectorias de movimiento del robot se pueden controlar dependiendo de los límites de obstáculos virtuales.
La primera distancia preestablecida es un primer umbral de distancia definido por el robot 70, el valor del primer umbral de distancia puede definirse en función de la demanda específica, que no se limitarán en el presente documento.
Para especificar, en una realización, el procesador 702 puede recibir la información de posición de los dos obstáculos adyacentes ubicados sobre dos lados del robot 70 adquirida por el sensor 701, calcular la distancia entre los dos obstáculos adyacentes y determinar si la distancia es menor o igual que la primera distancia preestablecida. Cuando la distancia es menor o igual a la primera distancia preestablecida, se puede definir un límite de obstáculo virtual entre los dos obstáculos adyacentes. Entonces, el procesador 702 puede controlar el robot 70 para que no cruce el límite de obstáculo virtual definiendo obstáculos en el límite de obstáculo virtual, de modo que se controlen las trayectorias de movimiento del robot 70. Por supuesto, en otras realizaciones, el procesador 702 puede ejecutar otras etapas de una implementación del procedimiento de control de movimiento del robot como se describe en la presente divulgación, que no se limitarán en el presente documento.

Claims (11)

REIVINDICACIONES
1. Un procedimiento para controlar el movimiento del robot sobre una región a operar, estando la región a operar subdividida en cuadrados, que comprende:
adquirir (S11) información de posición de dos obstáculos adyacentes ubicados sobre dos lados de un robot a lo largo de una dirección de movimiento del robot o una dirección perpendicular a la dirección de movimiento, y calcular la distancia entre los dos obstáculos adyacentes;
determinar (S12) si la distancia entre los dos obstáculos adyacentes es menor o igual a una primera distancia preestablecida;
definir (S13) un límite de obstáculo virtual entre los dos obstáculos adyacentes cuando la distancia entre los dos obstáculos adyacentes es menor o igual que la primera distancia preestablecida; y
controlar (S14) las trayectorias de movimiento del robot basándose en el límite de obstáculo virtual,
en el que controlar (S14) las trayectorias de movimiento del robot basándose en el límite de obstáculo virtual comprende:
dividir la región a operar en al menos dos subregiones utilizando el límite de obstáculo virtual; y controlar el robot para atravesar cuadrados a operar y cuadrados desconocidos dentro de una de las al menos dos subregiones, entonces eliminando el límite de obstáculo virtual, y
controlar el robot para atravesar los cuadrados a operar y los cuadrados desconocidos de otra de las al menos dos subregiones,
en el que un cuadrado, que se detecta que está libre de obstáculos y no es pasado por el robot, está marcado como un cuadrado a operar, y un cuadrado, que no es pasado por el robot y cuyo estado no se detecta, está marcado como un cuadrado desconocido.
2. El procedimiento de acuerdo con la reivindicación 1, en el que la adquisición (S11) de información de posición de los dos obstáculos adyacentes ubicados sobre los dos lados del robot a lo largo de la dirección de movimiento del robot o la dirección perpendicular a la dirección de movimiento comprende:
a lo largo de la dirección de movimiento del robot o la dirección perpendicular a la dirección de movimiento, adquirir información de posición de un primer obstáculo ubicado sobre un lado del robot e información de posición de un segundo obstáculo ubicado sobre el otro lado del robot, en el que las regiones entre el primer y el segundo obstáculo están libres de obstáculos.
3. El procedimiento de acuerdo con la reivindicación 1, en el que controlar (S14) las trayectorias de movimiento del robot basándose en el límite de obstáculo virtual comprende:
cuando el robot se mueve posteriormente para alcanzar el límite de obstáculo virtual, definir un obstáculo virtual para ubicarlo en el límite de obstáculo virtual, y controlar las trayectorias de movimiento del robot para que no crucen el límite de obstáculo virtual hasta que se elimine el límite de obstáculo virtual.
4. El procedimiento de acuerdo con la reivindicación 3, en el que definir (S13) el límite de obstáculo virtual entre los dos obstáculos adyacentes cuando la distancia entre los dos obstáculos adyacentes es menor o igual que la primera distancia preestablecida comprende:
controlar el robot para que continúe moviéndose de modo que el robot se mueva fuera de los cuadrados entre los dos obstáculos adyacentes, y entonces se define el límite de obstáculo virtual entre los dos obstáculos adyacentes.
5. El procedimiento de acuerdo con la reivindicación 3, en el que definir (S13) el límite de obstáculo virtual entre los dos obstáculos adyacentes cuando la distancia entre los dos obstáculos adyacentes es menor o igual que la primera distancia preestablecida comprende, además:
cuando se definen más de dos límites de obstáculos virtuales, determinar si la distancia entre los dos límites de obstáculos virtuales a lo largo de una cualquiera de una primera dirección y una segunda dirección perpendicular a la primera dirección es menor que una segunda distancia preestablecida, y si las proyecciones de los límites a lo largo de una dirección distinta de la dirección utilizada para calcular la distancia tienen un área de superposición; cuando la distancia es menor que la segunda distancia preestablecida, y cuando hay un área de superposición, uno cualquiera de los más de dos límites de obstáculos virtuales se selecciona para ser eliminado.
6. El procedimiento de acuerdo con la reivindicación 5, en el que, cuando la distancia entre los dos límites de obstáculos virtuales es menor que la segunda distancia preestablecida, y cuando hay un área de superposición, seleccionar uno cualquiera de los más de dos límites de obstáculos virtuales para eliminar comprende:
eliminar un límite de obstáculo virtual, que se define en un momento posterior.
7. El procedimiento de acuerdo con la reivindicación 6, en el que controlar (S14) las trayectorias de movimiento del robot basándose en el límite de obstáculo virtual comprende, además:
durante el procedimiento de movimiento, cuando se detecta que un cuadrado operado y/o el cuadrado a operar se comunica con al menos dos subregiones, borrar el límite de obstáculo virtual, en el que un cuadrado, que es pasado por el robot, se marca como un cuadrado operado.
8. El procedimiento de acuerdo con la reivindicación 1, en el que, antes de la adquisición (S11) de información de posición de los dos obstáculos adyacentes ubicados sobre los dos lados del robot a lo largo de la dirección de movimiento del robot o la dirección perpendicular a la dirección de movimiento y calcular la distancia entre los dos obstáculos adyacentes, el procedimiento, además, comprende:
adquirir un mapa virtual de una región a operar por el robot, en el que el mapa virtual se divide en los cuadrados en una matriz; y
durante un procedimiento de movimiento del robot, a lo largo de la dirección de movimiento y la dirección perpendicular a la dirección de movimiento, detectar el estado de los cuadrados, que se encuentran adyacentes al cuadrado ubicado por el robot, y marcar el estado de los cuadrados sobre el mapa virtual, en el que un cuadrado, que se detecta que tiene un obstáculo, está marcado como un cuadrado de obstáculo.
9. El procedimiento de acuerdo con la reivindicación 8, en el que antes de la adquisición (S11) de información de posición de los dos obstáculos adyacentes ubicados sobre los dos lados del robot a lo largo de la dirección de movimiento del robot o la dirección perpendicular a la dirección de movimiento y calcular la distancia entre los dos obstáculos adyacentes comprende:
a lo largo de la dirección de movimiento de la dirección perpendicular a la dirección de movimiento, adquirir los dos cuadrados de obstáculos adyacentes ubicados sobre dos lados del robot, y calcular la distancia entre los dos cuadrados de obstáculos adyacentes basándose en la información de posición de los dos cuadrados de obstáculos adyacentes sobre el mapa virtual.
10. El procedimiento de acuerdo con la reivindicación 9, en el que
la determinación (S12) de si la distancia entre los dos obstáculos adyacentes es menor o igual que la primera distancia preestablecida comprende, además, determinar si el cuadrado a operar está ubicado adyacente a al menos un lado de un cuadrado entre los dos cuadrados adyacentes y se comunica con el cuadrado desconocido; la definición (13) del límite de obstáculo virtual entre los dos obstáculos adyacentes, cuando la distancia entre los dos obstáculos adyacentes es menor o igual a la primera distancia preestablecida, comprende:
cuando la distancia entre los dos cuadrados de obstáculos adyacentes es menor o igual a la primera distancia preestablecida, y el cuadrado a operar se ubique adyacente a al menos un lado de un cuadrado entre los dos cuadrados adyacentes y se comunique con el cuadrado desconocido, el límite de obstáculo virtual se define entre los dos límites de obstáculos adyacentes.
11. Un robot, que comprende:
un sensor (701); y
un procesador (702) conectado al sensor (701), en el que
el sensor (701) y el procesador (702) están configurados para ejecutar uno o más programas que incluyen instrucciones para realizar el procedimiento para cualquiera de las reivindicaciones 1-10.
ES17889547T 2017-01-09 2017-05-26 Procedimiento de control de movimiento de robot y robot Active ES2911440T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710013906.0A CN106695790B (zh) 2017-01-09 2017-01-09 一种机器人的移动控制方法及机器人
PCT/CN2017/086187 WO2018126605A1 (zh) 2017-01-09 2017-05-26 一种机器人的移动控制方法及机器人

Publications (1)

Publication Number Publication Date
ES2911440T3 true ES2911440T3 (es) 2022-05-19

Family

ID=58908114

Family Applications (1)

Application Number Title Priority Date Filing Date
ES17889547T Active ES2911440T3 (es) 2017-01-09 2017-05-26 Procedimiento de control de movimiento de robot y robot

Country Status (6)

Country Link
US (1) US20190314991A1 (es)
EP (1) EP3566821B1 (es)
JP (1) JP6808904B2 (es)
CN (4) CN108481320B (es)
ES (1) ES2911440T3 (es)
WO (1) WO2018126605A1 (es)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108481320B (zh) * 2017-01-09 2020-03-27 广东宝乐机器人股份有限公司 一种机器人的移动控制方法及机器人
CN108931246B (zh) * 2017-05-26 2020-12-11 杭州海康机器人技术有限公司 一种检测未知位置的障碍物存在概率的方法和装置
CN107378953A (zh) * 2017-09-20 2017-11-24 深圳市杉川机器人有限公司 清扫控制方法、装置、清扫机器人及可读存储介质
CN107553497B (zh) * 2017-10-20 2023-12-22 苏州瑞得恩光能科技有限公司 太阳能面板清扫机器人的边缘定位装置及其定位方法
CN107831772A (zh) * 2017-11-17 2018-03-23 北京奇虎科技有限公司 清洁路线的排布方法、装置及机器人
CN107943036B (zh) * 2017-11-28 2019-03-19 深圳市杉川机器人有限公司 清扫区域选择方法及装置
CN110278714B (zh) * 2018-01-23 2022-03-18 深圳市大疆创新科技有限公司 障碍物检测方法、移动平台及计算机可读存储介质
CN108896048A (zh) * 2018-06-01 2018-11-27 浙江亚特电器有限公司 用于移动载具的路径规划方法
CN109507967B (zh) * 2018-11-30 2021-12-03 广州极飞科技股份有限公司 作业控制方法及装置
CN109491394A (zh) * 2018-12-17 2019-03-19 中新智擎科技有限公司 一种虚拟避障方法、装置、存储介质及机器人
WO2020140860A1 (zh) 2019-01-03 2020-07-09 科沃斯机器人股份有限公司 动态区域划分与区域通道识别方法及清洁机器人
CN111459153B (zh) * 2019-01-03 2022-09-06 科沃斯机器人股份有限公司 动态区域划分与区域通道识别方法及清洁机器人
CN109910009A (zh) * 2019-03-13 2019-06-21 浙江华消科技有限公司 消防侦察机器人的路径生成方法、装置、系统和机器人
CN110477813B (zh) * 2019-08-12 2021-11-09 珠海市一微半导体有限公司 一种激光式清洁机器人及其控制方法
CN110554696B (zh) * 2019-08-14 2023-01-17 深圳银星智能集团股份有限公司 机器人系统、机器人及基于激光雷达的机器人导航方法
CN110502011A (zh) * 2019-08-16 2019-11-26 湖南格兰博智能科技有限责任公司 一种扫地机障碍物边界检测方法
CN110793532A (zh) * 2019-11-06 2020-02-14 深圳创维数字技术有限公司 路径导航方法、装置及计算机可读存储介质
CN110948489B (zh) * 2019-12-04 2022-11-04 国电南瑞科技股份有限公司 一种带电作业机器人安全工作空间限定方法及系统
CA3092826C (en) * 2020-01-23 2022-01-25 Left Hand Robotics, Inc. Nonholonomic robot field coverage method
CN111104933B (zh) * 2020-03-20 2020-07-17 深圳飞科机器人有限公司 地图处理方法、移动机器人及计算机可读存储介质
CN111347430B (zh) * 2020-04-27 2021-06-08 浙江欣奕华智能科技有限公司 一种机器人运动轨迹的确定方法及装置
USD968401S1 (en) 2020-06-17 2022-11-01 Focus Labs, LLC Device for event-triggered eye occlusion
CN111880532B (zh) * 2020-07-13 2022-03-18 珠海格力电器股份有限公司 自主移动设备及其方法、装置、设备和存储介质
CN112247986B (zh) * 2020-09-28 2022-09-30 湖南格兰博智能科技有限责任公司 一种用于床面自主移动机器人的弓字形路径规划控制方法
CN114355871A (zh) * 2020-09-30 2022-04-15 好样科技有限公司 一种自行走装置及其控制方法
CN112327856B (zh) * 2020-11-13 2022-12-06 云南电网有限责任公司保山供电局 一种基于改进A-star算法的机器人路径规划方法
CN115211760B (zh) * 2021-04-16 2024-01-05 速感科技(北京)有限公司 清洁机器人及其清洁方法和计算机可读存储介质
CN113391642B (zh) * 2021-05-28 2022-06-03 西南交通大学 一种基于单目视觉的无人机自主避障方法及系统
US20230195123A1 (en) * 2021-12-22 2023-06-22 Ford Global Technologies, Llc Systems and methods for controlling autonomous mobile robots in a manufacturing environment
CN114431771B (zh) * 2021-12-31 2023-03-31 浙江大华技术股份有限公司 一种扫地机器人清扫方法及相关装置
CN116841300B (zh) * 2023-08-31 2023-12-19 未岚大陆(北京)科技有限公司 工作地图生成方法、作业方法、控制方法和相关装置

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2907918B2 (ja) * 1990-02-09 1999-06-21 株式会社日立製作所 経路生成方法及びその装置
JP4251545B2 (ja) * 2003-07-11 2009-04-08 独立行政法人科学技術振興機構 移動ロボット用経路計画システム
JP2007175286A (ja) * 2005-12-28 2007-07-12 Funai Electric Co Ltd 自動掃除システム
JP4408872B2 (ja) * 2006-03-31 2010-02-03 シャープ株式会社 自走装置およびその制御方法
JP5112666B2 (ja) * 2006-09-11 2013-01-09 株式会社日立製作所 移動装置
KR20090077547A (ko) * 2008-01-11 2009-07-15 삼성전자주식회사 이동 로봇의 경로 계획 방법 및 장치
JP2010017428A (ja) * 2008-07-12 2010-01-28 Nishi Nihon Kosoku Doro Maintenance Kansai Kk 床面清掃ロボット
CN101413806B (zh) * 2008-11-07 2011-05-25 湖南大学 一种实时数据融合的移动机器人栅格地图创建方法
JP5062364B2 (ja) * 2009-11-27 2012-10-31 トヨタ自動車株式会社 自律移動体及びその制御方法
CN101769754B (zh) * 2010-01-19 2012-04-25 湖南大学 一种基于类三维地图的移动机器人全局路径规划方法
CN102138769B (zh) * 2010-01-28 2014-12-24 深圳先进技术研究院 清洁机器人及其清扫方法
TW201305761A (zh) * 2011-07-21 2013-02-01 Ememe Robot Co Ltd 自走機器人及其定位方法
KR101970962B1 (ko) * 2012-03-19 2019-04-22 삼성전자주식회사 아기 감시 방법 및 장치
KR102015311B1 (ko) * 2012-11-30 2019-08-28 삼성전자주식회사 청소 로봇 및 그 제어 방법
CN102968122A (zh) * 2012-12-12 2013-03-13 深圳市银星智能科技股份有限公司 一种用于移动平台在未知区域自建地图的覆盖方法
CN103064424A (zh) * 2012-12-24 2013-04-24 深圳市银星智能科技股份有限公司 一种用于移动平台在未知区域的覆盖方法
CN103455034B (zh) * 2013-09-16 2016-05-25 苏州大学张家港工业技术研究院 一种基于最近距离向量场直方图的避障路径规划方法
US10099609B2 (en) * 2014-07-03 2018-10-16 InfoMobility S.r.L. Machine safety dome
CN105629972B (zh) * 2014-11-07 2018-05-18 科沃斯机器人股份有限公司 引导式虚拟墙系统
US9630319B2 (en) * 2015-03-18 2017-04-25 Irobot Corporation Localization and mapping using physical features
US9868211B2 (en) * 2015-04-09 2018-01-16 Irobot Corporation Restricting movement of a mobile robot
CN104932494B (zh) * 2015-04-27 2018-04-13 广州大学 一种概率式室内障碍物分布图的构建机制
CN105538309B (zh) * 2015-12-03 2018-07-31 苏州大学 一种有限传感能力的机器人障碍物动态识别算法
CN106272425B (zh) * 2016-09-07 2018-12-18 上海木木机器人技术有限公司 避障方法及机器人
CN108481320B (zh) * 2017-01-09 2020-03-27 广东宝乐机器人股份有限公司 一种机器人的移动控制方法及机器人

Also Published As

Publication number Publication date
CN106695790B (zh) 2018-04-17
CN108500977B (zh) 2020-07-24
EP3566821B1 (en) 2022-04-06
EP3566821A4 (en) 2020-01-22
CN108500977A (zh) 2018-09-07
CN108481320B (zh) 2020-03-27
WO2018126605A1 (zh) 2018-07-12
CN108481320A (zh) 2018-09-04
CN108481321B (zh) 2020-07-28
US20190314991A1 (en) 2019-10-17
JP6808904B2 (ja) 2021-01-06
JP2020501283A (ja) 2020-01-16
CN108481321A (zh) 2018-09-04
CN106695790A (zh) 2017-05-24
EP3566821A1 (en) 2019-11-13

Similar Documents

Publication Publication Date Title
ES2911440T3 (es) Procedimiento de control de movimiento de robot y robot
EP3764186B1 (en) Method for controlling autonomous mobile robot to travel along edge
DK2952993T3 (en) PROCEDURE FOR MAKING A CARD OF LIKELIHOOD FOR ONE OF THE ABSENCE OR EXISTENCE OF BARRIERS FOR AN AUTONOMOUS ROBOT
US11161246B2 (en) Robot path planning method and apparatus and robot using the same
JP6746309B2 (ja) 移動ロボットの移動の制限
JP5276931B2 (ja) 移動体および移動体の位置推定誤り状態からの復帰方法
CN110680253A (zh) 一种机器人沿边清洁的方法及机器人
CN111360808B (zh) 一种控制机器人运动的方法、装置及机器人
CN112327326A (zh) 带有障碍物三维信息的二维地图生成方法、系统以及终端
US20190122371A1 (en) Moving object controller, landmark, and moving object control method
Heidenreich et al. LaneSLAM--Simultaneous Pose and Lane Estimation Using Maps with Lane-Level Accuracy
CN107544498A (zh) 可移动终端的移动路径规划方法及装置
CN113158779A (zh) 一种行走方法、装置和计算机存储介质
CN114779777A (zh) 自移动机器人的传感器控制方法、装置、介质及机器人
CN115565058A (zh) 机器人、避障方法、装置和存储介质
CN115552487A (zh) 人体躺姿检测方法及使用该方法的移动机器
WO2020179459A1 (ja) 地図作成装置、地図作成方法、及びプログラム
Hoppenot et al. Real-time localisation of a low-cost mobile robot with poor ultrasonic data
CN113048978A (zh) 移动机器人重定位方法及移动机器人
TW201940116A (zh) 控制機器人的方法
CN112045654A (zh) 一种无人密闭空间的检测方法、装置和机器人
KR20230045845A (ko) 이송 로봇을 위한 사람의 위치 인식 방법 및 이를 수행하는 장치들
Ueda et al. Fence Following by an Autonomous Mobile Robot Including Various Intersections
Taylor et al. Directed exploration using a modified distance transform
Dąbkowski et al. Behavior Based Complete Coverage Task of Unknown Area by an Autonomous Mobile Robot SCORPION with Static Obstacles in Environment