ES2637242T3 - Método y sistema para el control a distancia de un robot móvil - Google Patents
Método y sistema para el control a distancia de un robot móvil Download PDFInfo
- Publication number
- ES2637242T3 ES2637242T3 ES10184547.7T ES10184547T ES2637242T3 ES 2637242 T3 ES2637242 T3 ES 2637242T3 ES 10184547 T ES10184547 T ES 10184547T ES 2637242 T3 ES2637242 T3 ES 2637242T3
- Authority
- ES
- Spain
- Prior art keywords
- robot
- user
- location
- waypoint
- target
- 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.)
- Expired - Lifetime
Links
Landscapes
- Manipulator (AREA)
Abstract
Un método para permitir a un usuario controlar a distancia un robot, cuyo método comprende: proporcionar información de imagen, capturada por una cámara de vídeo, representativa de una zona situada alrededor del robot; proporcionar, utilizando la información de imagen, una imagen de vídeo perceptible por un usuario (300) representativa de la zona situada alrededor del robot (100); determinar una localización de la cámara de vídeo relativa a una posición actual del robot, comprendiendo la determinación de tramas de referencia en la zona situada alrededor del robot (100); permitir al usuario designar, en la imagen de vídeo perceptible por un usuario, un objetivo hacia el cual debe desplazarse el robot, cuya función comprende: determinar una localización de clic dentro de la imagen de vídeo perceptible por un usuario seleccionada por el usuario sobre la base de las tramas de referencia determinadas, la imagen de vídeo perceptible por un usuario y el objetivo hacia el cual debe desplazarse el robot; y determinar las coordenadas x, y y z de la localización objetivo (690) proyectando la localización de clic determinada en la zona situada alrededor del robot; y permitir al robot desplazarse hacia las coordenadas x, y y z de la localización objetivo en donde comprende dicha función proporcionar instrucciones al robot controlando una velocidad de desplazamiento hacia delante y una velocidad de rotación, en donde la velocidad de rotación es una función de la diferencia entre un ángulo rotacional actual del robot y un ángulo entre la posición actual del robot y el objetivo hacia el que debe desplazarse el robot.
Description
5
15
25
35
45
55
65
Aunque la rejilla 314 proporciona una información de perspectiva generalizada para el usuario, dos superposiciones adicionales se utilizan para servir de ayuda al usuario para seleccionar con exactitud un punto de recorrido como un objetivo para el robot: círculos del objetivo y la caja de perspectivas.
Círculos de objetivo. Según se observa en la Figura 11, cuando la flecha del cursor 405 se desplaza dentro de la pantalla montada en la cabeza 310, una o más proyecciones se superponen sobre la pantalla de cabeza que representan el área al que se desplazará el robot si se selecciona un punto de recorrido particular. En la forma de realización preferida, esta área se representa por uno o más círculos de indicativo 410 y 412, aunque el área podría representarse por cualquier forma (en dos o tres dimensiones) incluyendo una forma seleccionada para aproximarse a las dimensiones y contornos de un robot particular. Los círculos de objetivos 410 y 412 aparecen como óvalos en la pantalla de cabeza debido a la perspectiva de la visión actual. En la forma de realización preferida, dos círculos concéntricos se utilizan para establecer el objetivo. El círculo interior 410 es aproximadamente la dimensión del robot y el círculo exterior 412 proporciona una aproximación menos precisa del objetivo sobre la base de inexactitudes inherentes en el sistema robótico. En la forma de realización preferida, los radios de estos círculos 410 y 412 permanecen constantes en términos reales (los círculos, sin embargo, aparecen más pequeños a medida que el punto de recorrido está a una mayor distancia desde el robot); en otras formas de realización, el círculo exterior 412 podría coincidir con el círculo interior 410 para puntos de recorrido próximos al robot y diverger a medida que aumenta la distancia del punto de recorrido.
Caja de perspectivas. Incluso con círculos del objetivo o proyecciones similares, puede ser frecuentemente difícil para el usuario calibrar la selección de un punto de recorrido. Esta circunstancia es frecuentemente el caso en sistemas robóticos que incorporan una cámara a una altura variable y con controles de visión panorámica, inclinación y zoom adicionales. Con el fin de poder prestar más asistencia al usuario, la forma de realización preferida incluye una caja de perspectivas 430 superpuesta en la pantalla montada en la cabeza 310. En la forma de realización preferida, la caja de perspectivas 430 está situada 0.5 m por encima del punto de recorrido actual, con las partes superior e inferior de la caja de perspectivas paralelas al plano del suelo. En la forma de realización preferida, la caja de perspectivas 430 es una superposición de trama reticular de 0.5 m de anchura, 0.5 m de fondo y
0.25 m de altura. Cuando la cámara está situada a la misma altura que la caja de perspectivas, la parte superior e inferior de la caja no serán visibles. En otra forma de realización, la altura de la caja de perspectivas se ajusta continuamente para estar 0.25 metros por debajo de la altura de la cámara. En este método, la caja de perspectivas nunca oscurece la visión por el usuario del horizonte.
Por último, en la forma de realización preferida, una línea de 0.5 m se traza desde el centro de los círculos de objetivo al centro del lado inferior de la caja de perspectivas para proporcionar una orientación adicional al usuario.
3. Método preferido de control de la web
Las Figuras 11 a 14 ilustran la parte de pantalla de cabeza de la interfaz de usuario mientras se pone en práctica una forma de realización del método de la presente invención. En la Figura 11, la pantalla montada en la cabeza 310 contiene la visión desde el entorno del robot por intermedio de la señal de vídeo transmitida desde la cámara del robot. Según se observa por intermedio del robot, existe una puerta 450 a una distancia aproximada de 5 m enfrente del robot y ligeramente a la derecha del robot. En la Figura 11, la cámara 140 está situada frente a un avance hacia delante directo, según se indica, a la vez, por el cursor de visión panorámica 362 y por las barras de rotación (esto es, el retículo de cámara 312 coincide con la marca de cero grados en las barras de rotación 316 y 318). A medida que el usuario desplaza la flecha del cursor 405 dentro de la pantalla de cabeza, la interfaz de usuario retraza constantemente los círculos de objetivos 410 y 412 y la caja de perspectivas correspondiente a la localización de la flecha del cursor 405. A medida que el usuario desplaza el cursor alrededor de la pantalla de cabeza, el usuario es capaz de seleccionar un punto de recorrido.
La Figura 12 ilustra la pantalla de cabeza inmediatamente después de que se haya seleccionado un punto de recorrido haciendo clic con el ratón dentro de la ventana de pantalla de cabeza. En la forma de realización preferida, una vez que se ha seleccionado el punto de recorrido 460, el punto de recorrido se añade al conjunto de objetivos de impulsión del punto de recorrido actual y los círculos de objetivos 410 y 412 están sombreados. Si el punto de recorrido es el único punto de recorrido actual (o el punto de recorrido está en la parte superior de la lista de puntos de recorrido) el robot comienza a desplazarse hacia el punto de recorrido seleccionado 460. Dicho de otro modo, si la lista de impulsión de los puntos de recorrido estaba vacía antes de la reciente selección, y el robot está en el modo de impulsión, en tal caso, el robot comenzará a dirigirse hacia ese punto de recorrido. Si se realiza una selección adicional, un segundo punto de recorrido puede añadirse a la lista. Cuando el robot alcanza un punto de recorrido, ese punto de recorrido desaparecerá de la pantalla de cabeza. Si existen puntos de recorrido adicionales en la lista de puntos de recorrido actual, entonces, el robot comenzará inmediatamente a dirigirse hacia el segundo punto de recorrido.
La Figura 13 ilustra la pantalla montada en la cabeza 310 cuando el robot se desplaza hacia el punto de recorrido seleccionado 460. Cuando el robot se aproxima al punto de recorrido, los círculos de objetivos permanecen sombreados, pero aparece un aumento en su tamaño. La caja de perspectivas aumenta también de tamaño, visualizando exactamente una perspectiva tridimensional en la caja. La Figura 14 ilustra la pantalla de cabeza
8 5
15
25
35
45
55
65
cuando el robot alcanza el punto de recorrido, simplemente en la parte exterior de la puerta 450. Los círculos de objetivos y la caja de perspectivas se eliminan de la pantalla de cabeza cuando el robot queda a la espera de una instrucción adicional de control a distancia.
En algunas formas de realización, los puntos de recorrido se seleccionan cogiendo un icono desde un contenedor de puntos de recorrido y desplazándolo al lugar objetivo deseado dentro de la pantalla de cabeza. Esta operación se realiza, en gran parte, de la misma manera que se extrae un objeto tal como un fichero en una carpeta en un escritorio de ordenador estándar. En otras formas de realización, un clic derecho sobre el icono del punto de recorrido puede dar lugar a que un menú desplegable de las acciones disponibles a adoptar sobre un punto de recorrido seleccionado.
Además, el robot puede realizar comportamientos adicionales a prioridades más altas o más bajas que conducen al punto de recorrido siguiente según se dictamina por el diseño del sistema particular. En una forma de realización preferida, el robot utiliza su escáner de sonar a bordo 135 y detectores de infrarrojos (situados dentro del cuerpo del robot 125, pero no ilustrados) para realizar una función de evitación de obstáculos. En este caso, la existencia de un obstáculo (y la realización de la rutina de evitación de obstáculos) tendrán prioridad sobre la conducción hacia un punto de recorrido, haciendo que el robot se desvíe del obstáculo con el fin de eludirlo. Dicho sistema es especialmente ventajoso en el contexto de controlar un robot sin la garantía de la transmisión de datos en tiempo real y un robot que opera en un entorno dinámico. Varias rutinas de evitación de obstáculos son bien conocidas en esta técnica. En la forma de realización preferida, las numerosas órdenes de desplazamiento alternativas se generan a partir de los comportamientos que corresponden a la conducción hacia un punto de recorrido, desviándose de un obstáculo; e incluso retrocediendo para evitar un obstáculo muy próximo. A cada una de estas órdenes se les otorga una prioridad por el código de comportamientos que propone esa acción de movimiento. Las prioridades e incluso las magnitudes de estas órdenes se ajustan luego dependiendo de si desplazarían el robot en contacto con un obstáculo o cerca de un obstáculo y con respecto a otros criterios tales como si el movimiento propuesto haría demasiado brusco o espasmódico a un movimiento. El movimiento propuesto con la más alta prioridad después del ajuste se proporciona entonces como la orden actual a los controladores del movimiento. Este proceso sucede muchas veces por segundo. En otras formas de realización, el robot puede liberar el punto de recorrido actual en la presencia de un obstáculo y esperar nuevas instrucciones del usuario (esto es, salida del modo de impulsión). En algunas formas de realización, el usuario es capaz de controlar a distancia el nivel de sensibilidad a los obstáculos, incluyendo la selección de un icono para anular una detección de obstáculo y continuar en el modo de impulsión.
4. Datos de cálculo informático
Habida cuenta que la organización, diseño y método de utilización del método y sistema para controlar a distancia un robot han sido ya descritos en detalle, ahora nos referiremos al método de la forma de realización preferida para convertir la selección por el usuario de un objetivo dentro de la pantalla de cabeza a una posición objetivo para el robot. El proceso de realizar la conversión desde una localización de hacer clic dentro de la pantalla de cabeza a una posición objetivo para el robot requiere (a) determinar la posición y orientación actuales del robot; (b) determinar la posición actual de la cámara (u otro dispositivo utilizado para proporcionar información de imagen representativa de la zona situada alrededor del robot); (c) determinar el vector de clic (esto es, la localización en la pantalla de cabeza en relación con la cámara); y (d) proyectar la localización de clic en el mapa global tridimensional para obtener una localización objetivo. El método preferido para realizar estas etapas se describe a continuación.
En la forma de realización preferida, el sistema o método sigue la localización del robot en un mapa global basado en un sistema de coordenadas externo al robot. En otras formas de realización, podría utilizarse un sistema de coordenadas del robot. Para los fines de la forma de realización preferida, el método y sistema suponen que la localización nominal del robot es un punto único fijado en el centro de rotación del robot. La localización inicial para el robot puede representarse entonces como x0, y0, z0. En la forma de realización preferida, el robot se supone que se desplaza sobre una superficie puramente horizontal y, por lo tanto, el plano del suelo se supone que es una constante (z0 = 0).
La Figura 15A contiene un diagrama de flujo del cálculo de las posiciones actuales del robot. Puesto que el robot puede desplazarse en cualquier momento dado – a modo de ejemplo, desplazándose hacia el primero en una serie de puntos de recorrido seleccionados, la forma de realización preferida de la presente invención traza la posición actual del robot calculando su localización inicial y siguiendo el movimiento del robot. En la forma de realización preferida, el movimiento del robot se determina mediante el uso de codificadores motorizados. Combinando la información procedente de la localización inicial del cuerpo del robot 510 con el movimiento del cuerpo del robot (según se traza por los codificadores) 514, la odometría del cuerpo del robot se calcula como una localización actual xt, yt, zt en un momento dado t. La odometría es simplemente un método de determinar la localización del robot contando la rotación de los motores y otros medios que son bien conocidos en esta técnica. Este medio de determinar la localización es propenso a alguna medida de error debido a deslizamiento de las ruedas, que puede variar, en gran medida, sobre superficies diferentes. En otras formas de realización, se pueden utilizar varios métodos de determinación de la localización del robot, incluyendo triangulación (local o GPS), localización, reconocimiento de marcas del terreno o visión por ordenador.
9
5
10
15
20
25
30
35
40
45
50
55
60
65
A continuación, reorientamos la trama de referencia de clic para eliminar cualquier rodamiento. Es decir, giramos la trama de referencia de clic alrededor del vector hacia delante hasta que el vector de la izquierda sea horizontal con respecto al plano del suelo z. Una vez realizada esta operación, la direccionalidad de la trama de referencia de clic está completamente representada por un ángulo de inclinación vertical y un ángulo de rotación horizontal. Éste es el vector de clic.
El vector de clic se proyecta luego (etapa 690) en el mapa global con el fin de determinar las coordenadas x, y y z de la localización objetivo utilizando funciones trigonométricas. En la forma de realización preferida, el valor de z para el objetivo se supone que es cero. El robot es entonces capaz de utilizar el mapa global para desplazarse desde su posición actual a la posición objetivo.
En la forma de realización preferida para un robot con una impulsión diferencial, el proceso para crear instrucciones para desplazar el robot desde su posición actual (518) a la posición objetivo (690) implica ordenar velocidades hacia delante y de rotación, en donde la velocidad rotacional es el seno de la diferencia entre el ángulo rotacional del robot actual y el ángulo entre la posición actual del robot y la posición del robot deseada. La velocidad hacia delante es el coseno cuadrado del mismo ángulo. Un experto en esta técnica reconocerá que se pueden crear mecanismos de métodos de gobierno y navegación alternativos a este respecto.
Se describió con anterioridad el método preferido (600) de convertir una localización de clic (687) a una localización objetivo para el robot (690). Sin embargo, con el fin de proporcionar las directrices de superposición (incluyendo los círculos de objetivos y la caja de perspectivas), el sistema debe ser capaz de convertir las localizaciones objetivo (o cualquier localización dentro del mapa global) a localizaciones de pixels dentro de la pantalla de cabeza. Muchos de los datos necesarios para realizar esta conversión son duplicativos de los datos procedentes del proceso ilustrado en la Figura 15B de convertir una localización de clic en una localización objetivo.
En la forma de realización preferida, los círculos de objetivos (fijados dentro del mapa global) se regeneran continuamente en la pantalla de cabeza a medida que el robot se aproxima a la localización objetivo. Por lo tanto, suponiendo un ángulo de zoom de la cámara constante y su vector, los círculos de objetivos deben aparecer aumentando en su tamaño a medida que la localización actual del robot se aproxima a la localización objetivo. Es importante señalar que, en este proceso, la localización de las coordenadas x, y, z del círculo de objetivo permanece constante, pero la trama de referencia de la cámara cambia con el movimiento del robot.
Un método 700 para el cálculo de la localización de pixels dentro de la pantalla de cabeza para una localización de coordenadas x, y, z dada en el mapa global se ilustra en un diagrama de flujos en la Figura 16. En primer lugar, se determina un vector de animación 720, de modo que el vector de animación sea igual al ángulo entre la localización de la cámara actual y la localización de coordenadas x, y, z, objeto de mapeado. Este vector de animación se representa por un ángulo de inclinación vertical y un ángulo de rotación horizontal. Una línea de mira 730 se determina luego efectuando el mapeado del vector de animación en el mismo componente de rodamiento como la trama de cámara utilizando la trama de referencia de cámara. Las diferencias horizontales y verticales 740 entre la trama de referencia de cámara y la línea de mira proporcionan diferencias del ángulo de visión horizontal y vertical. Estas diferencias del ángulo de visión 740 combinadas con los ángulos de cámara objeto de zoom 675 proporcionan los desplazamientos en pixels 750 que pueden mapearse en la pantalla de cabeza 760, a condición de que dichos desplazamientos angulares estén dentro del zoom actual.
La presente invención proporciona la capacidad genérica para “apuntar en algo” por intermedio de una interfaz telerobótica. La forma de realización particular de esta invención, aquí descrita, permita al usuario apuntar en un punto en el suelo y al robot impulsarse sobre la parte superior de ese punto. Sin embargo, las técnicas aquí descritas podrían utilizarse también para apuntar a un punto en una pared, dado el plano de una pared, o para apuntar en un elemento específico en una recogida congestionada de partes, dado un mapa de alcance tridimensional de los elementos que se examinan, de modo que se proporcione mediante productos de visión estéreo en 3D comercialmente disponibles ya existentes. En consecuencia, esta interfaz podría utilizarse con un brazo robótico para apuntar a objetos a captar. A modo de ejemplo, la presente invención podría utilizarse como parte de un robot de tiendas de alimentación que capta artículos desde los estantes, con esta interfaz siendo utilizada para apuntar al artículo a seleccionarse. Puesto que esta interfaz se establece utilizando transformadas homogéneas que representan completamente un espacio tridimensional, esta interfaz podría utilizarse en robots que no atraviesen suelos planos, sino que trabajan en espacios tridimensionales arbitrarios. A modo de ejemplo, esta circunstancia podría utilizarse para dirigir robots bajo el agua, robots basados en el espacio o robots aéreos. Esta invención materializa la técnica generalizada de presentación de imágenes a usuarios finales, permitiéndoles apuntar dentro de dichas imágenes, y luego, utilizar automáticamente una información tridimensional para interpretar ese clic bidimensional como un vector en un espacio tridimensional o como un punto en el espacio tridimensional en donde ese vector se intersecta con los planos, con superficies en mapas tridimensionales o con otras representaciones tridimensionales del espacio.
11
Claims (1)
-
imagen1 imagen2
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201054P | 2000-05-01 | ||
US20105401P | 2001-05-01 | 2001-05-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2637242T3 true ES2637242T3 (es) | 2017-10-11 |
Family
ID=60002163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES10184547.7T Expired - Lifetime ES2637242T3 (es) | 2001-05-01 | 2001-05-01 | Método y sistema para el control a distancia de un robot móvil |
Country Status (1)
Country | Link |
---|---|
ES (1) | ES2637242T3 (es) |
-
2001
- 2001-05-01 ES ES10184547.7T patent/ES2637242T3/es not_active Expired - Lifetime
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3903164B1 (en) | Collision avoidance system, depth imaging system, vehicle, map generator, amd methods thereof | |
CN109556577B (zh) | 用于空中非破坏性检查的定位系统 | |
ES2968959T3 (es) | Aeronave no tripulada de navegación que utiliza cabeceo | |
EP3321888B1 (en) | Projected image generation method and device, and method for mapping image pixels and depth values | |
US6845297B2 (en) | Method and system for remote control of mobile robot | |
US6535793B2 (en) | Method and system for remote control of mobile robot | |
US8699005B2 (en) | Indoor surveying apparatus | |
US5051906A (en) | Mobile robot navigation employing retroreflective ceiling features | |
US20170123066A1 (en) | Apparatus, Systems and Methods for Point Cloud Generation and Constantly Tracking Position | |
Thrun et al. | Scan alignment and 3-D surface modeling with a helicopter platform | |
Nieuwenhuisen et al. | Multimodal obstacle detection and collision avoidance for micro aerial vehicles | |
US20160312446A1 (en) | Method and control system for surveying and mapping a terrain while operating a bulldozer | |
Delaune et al. | Range-visual-inertial odometry: Scale observability without excitation | |
JP6962007B2 (ja) | 自律走行台車の走行制御装置、自律走行台車 | |
US11378693B2 (en) | Floor surveying system | |
WO2014063020A1 (en) | Apparatus and method for determining spatial information about environment | |
Holz et al. | Towards multimodal omnidirectional obstacle detection for autonomous unmanned aerial vehicles | |
Mulky et al. | Autonomous scooter navigation for people with mobility challenges | |
El-Hakim et al. | A mobile system for indoors 3-D mapping and positioning | |
Sanyal et al. | Detection and location estimation of object in unmanned aerial vehicle using single camera and GPS | |
Kim et al. | LiDAR configuration comparison for urban mapping system | |
KR101700764B1 (ko) | 자율 이동 방법 및 그 장치 | |
ES2637242T3 (es) | Método y sistema para el control a distancia de un robot móvil | |
Chen et al. | A single frame depth visual gyroscope and its integration for robot navigation and mapping in structured indoor environments | |
KR20090047145A (ko) | 로봇의 비시인성 장애물 탐지방법 |