ES2967797T3 - Procedimiento, sistema y robot para navegación autónoma del mismo entre dos hileras de plantas - Google Patents

Procedimiento, sistema y robot para navegación autónoma del mismo entre dos hileras de plantas Download PDF

Info

Publication number
ES2967797T3
ES2967797T3 ES20382716T ES20382716T ES2967797T3 ES 2967797 T3 ES2967797 T3 ES 2967797T3 ES 20382716 T ES20382716 T ES 20382716T ES 20382716 T ES20382716 T ES 20382716T ES 2967797 T3 ES2967797 T3 ES 2967797T3
Authority
ES
Spain
Prior art keywords
axis
cells
activated
sensor
robot
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
ES20382716T
Other languages
English (en)
Inventor
Más Francisco Rovira
Cuenca Andrés Cuenca
Rubio Verónica Sáiz
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.)
Universidad Politecnica de Valencia
Original Assignee
Universidad Politecnica de Valencia
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 Universidad Politecnica de Valencia filed Critical Universidad Politecnica de Valencia
Application granted granted Critical
Publication of ES2967797T3 publication Critical patent/ES2967797T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01BSOIL WORKING IN AGRICULTURE OR FORESTRY; PARTS, DETAILS, OR ACCESSORIES OF AGRICULTURAL MACHINES OR IMPLEMENTS, IN GENERAL
    • A01B69/00Steering of agricultural machines or implements; Guiding agricultural machines or implements on a desired track
    • A01B69/007Steering or guiding of agricultural vehicles, e.g. steering of the tractor to keep the plough in the furrow
    • A01B69/008Steering or guiding of agricultural vehicles, e.g. steering of the tractor to keep the plough in the furrow automatic
    • 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/0255Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/0098Details of control systems ensuring comfort, safety or stability not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0025Planning or execution of driving tasks specially adapted for specific operations
    • 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/0257Control of position or course in two dimensions specially adapted to land vehicles using a radar
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0019Control system elements or transfer functions
    • B60W2050/0028Mathematical models, e.g. for simulation
    • B60W2050/0031Mathematical model of the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2300/00Indexing codes relating to the type of vehicle
    • B60W2300/15Agricultural vehicles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/50Magnetic or electromagnetic sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/54Audio sensitive means, e.g. ultrasound

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Mechanical Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Transportation (AREA)
  • Human Computer Interaction (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Soil Sciences (AREA)
  • Environmental Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

Un método, sistema y robot para su navegación autónoma entre dos hileras de plantas, en el que dicho robot comprende dos o más dispositivos sensores, sensor A y sensor B, montados en el mismo y se mueve hacia adelante a lo largo de un eje paralelo a las hileras de plantas, siendo dirigido de forma autónoma. ejerciendo correcciones angulares para colocar el robot lo más cerca posible de la línea central entre las filas de plantas, en donde cada dispositivo sensor es un dispositivo que detecta ondas electromagnéticas o detecta ondas sonoras, y en donde dicho método y dicho sistema comprenden lo siguiente:) definir una cuadrícula bidimensional de celdas cuadradas en dicho plano; (ii) dividir la cuadrícula bidimensional de celdas cuadradas en grupos de celdas IG-JG; (iii) obtener un máximo de k puntos de datos usando el sensor A y un máximo de m puntos de datos usando el sensor B; (iv) convertir cada punto de datos en un punto de datos discretizados; (v) calcular un valor de función de fusión para cada celda (h,v) de dicha cuadrícula bidimensional; (vi) calcular para cada grupo de células (i,j) (omij):(a) el total acumulado de valores de la función de fusión, CUMij(h); y (b) la suma de todos los totales acumulados de los valores de la función de fusión, SUMij; donde cuando:- SUMij >= ||0,4-OM|| dicho grupo de células se clasifica como altamente activadas; y- SUMij >= ||0.2-OM|| y < ||0,4-OM|| dicho subvolumen se clasifica como de baja activación, donde OM es el valor SUMij máximo determinado para cualquier grupo de celdas (i,j) (omij); (vii) mover el robot: (a) girando a la derecha; o (b) girando a la izquierda; o (c) avanzar sin girar, dependiendo de si cada grupo de células tiene una activación baja, una activación alta o no. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Procedimiento, sistema y robot para navegación autónoma del mismo entre dos hileras de plantas
Campo de la invención
La presente invención se refiere al campo de la robótica agrícola, en particular a la navegación autónoma de robots agrícolas.
Antecedentes de la invención
La navegación autónoma de un conjunto ordenado de hileras de plantas casi paralelas es un inmenso desafío porque no hay dos hileras iguales, e incluso repetir la navegación autónoma de las mismas hileras puede plantear desafíos dependiendo, por ejemplo, del viento, las condiciones del suelo, el terreno y la iluminación en constante cambio del mismo.
En un intento por proporcionar uniformidad, se ha elaborado de forma extensiva un guiado autónomo basado en GPS para equipos agrícolas que funcionan dentro de campos de cultivo de productos básicos, típicamente para tractores, cosechadoras y pulverizadores autopropulsados, cuando el Departamento de Defensa de EE. UU. canceló la disponibilidad selectiva de GPS para uso civil gratuito. Sin embargo, este proyecto no se extendió a las plantaciones y los huertos debido a la visibilidad incierta de la señal GPS y a los errores de trayectorias múltiples causados por doseles densos y - a veces altos-.
El problema es proporcionar un procedimiento o sistema para navegación autónoma de un robot entre dos hileras de plantas que sea fiable y que funcione en condiciones ambientales en constante cambio, sin colisiones.
Breve descripción de la invención
La presente invención se refiere a un procedimiento para navegación autónoma de un robot entre dos hileras de plantas separadas por Q metros, en el que dicho robot comprende dos dispositivos sensores, sensor A y sensor B, montados en una posición O sobre el mismo y se desplaza hacia delante a lo largo de un eje y que se dirige de forma autónoma ejerciendo correcciones angulares para situar el robot lo más cerca posible de la línea central, en el que cada dispositivo sensor es un dispositivo que detecta ondas electromagnéticas o detecta ondas sonoras, y en el que cuando ambos dispositivos detectan:
(A) ondas electromagnéticas, el sensor A detecta dichas ondas a una frecuencia y/o un campo de visión diferente al de las ondas detectadas por el sensor B; y
(B) ondas sonoras, el sensor A detecta dichas ondas a una frecuencia y/o un campo de visión diferente al de las ondas detectadas por el sensor B, y en el que dicho eje y es un eje horizontal y dicho eje x es un eje horizontal perpendicular a dicho eje y, y en el que dicho procedimiento comprende las siguientes etapas:
(i) definir una cuadrícula bidimensional de celdas cuadradas en dicho plano, en el que dicha cuadrícula tiene X<g>celdas de anchura y Y<g>celdas de longitud, y dichas celdas tienen lados de longitud c, en el que:
(a) dicha anchura se extiende horizontalmente |Xmín| metros desde O hacia la izquierda a lo largo de dicho eje x y horizontalmente Xmáx metros desde O hacia la derecha a lo largo de dicho eje x; y
(b) dicha longitud se extiende horizontalmente Ymáx. metros desde O a lo largo de dicho eje y, en el que:
- Xmín = Xg»C/2;
- Xmáx = Xg«c/2,
- Ymáx = Yg#C,
- X<g>es un número completo seleccionado de entre 2 y 1000;
- Y<g>es un número completo seleccionado de entre 3 y 1500; y
- c es un número seleccionado de entre 0,01 y 0,5 m; y
(c) a cada celda (h,v) se le asigna una coordenada que comprende un primer número, h, y un segundo número, v, en el que h es un número de 1 a Xg y v es un número de 1 a Yg, en el que:
- h = h' 1; y
- v = v' 1;
en el que:
■ h' es el número de dichas celdas, contadas a lo largo de dicho eje x comenzando a partir de la celda más a la izquierda, que separan dicha celda (h,v) del exterior de dicha cuadrícula bidimensional; y ■ v' es el número de dichas celdas, contadas a lo largo de dicho eje y comenzando a partir de la celda que está más alejada de dicho robot, que separan dicha celda (h,v) del exterior de dicha cuadrícula bidimensional;
(ii) dividir la cuadrícula bidimensional de celdas cuadradas en I<g>»J<g>grupos de celdas, en el que cada grupo tiene Xg/Jg celdas de anchura e Yg/Ig celdas de longitud, en el que:
(a) Ig es 3;
(b) Jg es 2; y
(c) a cada grupo de celdas (ij) (om j se le asigna una coordenada que comprende un primer número, i, y un segundo número, j, en el que i es un número de 1 a Ig y j es un número de 1 a Jg, en el que
- i = i' 1 y
- j = j' 1,
en el que:
■ i' es el número de dichos grupos de celdas, contados a lo largo de dicho eje y comenzando a partir del grupo de celdas que está más alejado de dicho robot, que separan dicho grupo de celdas del exterior de dicha cuadrícula bidimensional; y
■ j' es el número de dichos grupos de celdas, contados a lo largo de dicho eje x comenzando a partir del grupo de celdas más a la izquierda, que separan dicho grupo de celdas ( ij) (om j del exterior de dicha cuadrícula bidimensional;
(iii) obtener puntos de datos usando el sensor A y puntos de datos usando el sensor B, en el que cada punto de datos es el punto en el espacio en el cual se reflejan ondas electromagnéticas o sonoras desde una superficie localizada dentro del volumen cuboide rectangular delimitado por las dimensiones de dicha cuadrícula bidimensional en el eje x y el eje y y tiene una altura de Zmáx - Zmín metros a lo largo de un eje z, en el que dicho eje z es un eje vertical perpendicular a dicho eje x y dicho eje y, y dicha superficie es la superficie de un objeto, en el que:
- Zmín es un valor seleccionado de -0,5 a 0,5 metros;
- Zmáx es un valor seleccionado de 1 a 5 metros;
en el que:
(a) a cada punto de datos obtenido usando el sensor A se le asigna una coordenada que comprende un primer número, xL, y un segundo número, yL, en el que:
- xL es la distancia a lo largo del eje x desde dicho punto de datos hasta O; e
- yL es la distancia a lo largo del eje y desde dicho punto de datos hasta O,
en el que la coordenada de la posición O es (0,0); y
(b) a cada punto de datos obtenido usando el sensor B se le asigna una coordenada que comprende un primer número, xV, y un segundo número, yV, en el que:
- xV es la distancia a lo largo del eje x desde dicho punto de datos hasta O; y
- yV es la distancia a lo largo del eje y desde dicho punto de datos hasta O,
en el que la coordenada de la posición O es (0,0);
(iv) convertir cada punto de datos en un punto de datos discretizados, en el que:
(a) un punto de datos (xL,yL) se convierte en un punto de datos discretizados (L<v>,L<h>), de acuerdo con las siguientes fórmulas:
- L<v>= || yL/c ||; y
- L<h>= || (XL - Xmín)/C ||;
(b) un punto de datos (xV,yV) se convierte en un punto de datos discretizados (Vv,Vh) de acuerdo con las siguientes fórmulas:
- Vv = || yV/c ||; y
- V<h>= II (xV - Xmín)/c ||;
(v) calcular un valor de función de fusión, r(h,v), para cada celda (h,v) de dicha cuadrícula bidimensional de acuerdo con la siguiente fórmula (I):
r(h,v) =Kv»Yv(Vv,Vh) Kl»YL(Lv,Lh)
(I)
en el que:
- K<l>es un número entero no negativo seleccionado de entre 0 y 5;
- YL (Lv,Lh) es un número completo calculado a partir del número Dn (Lh,Lv) de puntos de datos discretizados (Lv,Lh) para los cuales Lv = v y Lh = h;
- Kv es un número entero no negativo seleccionado de entre 0 y 5;
- Yv(Vv,Vh) es un número completo calculado a partir del número Dn (Vh,Vv) de puntos de datos discretizados (Vv,Vh) para los cuales Vv = v y Vh = h;
(vi) calcular para cada grupo de celdas (i,j) (omy):
el total acumulado de valores de función de fusión, CUMy(h), de todas las celdas de dicho grupo de celdas que tienen una coordenada con el mismo valor h; y
(a) la suma de todos los totales acumulados de valores de función de fusión, SUMy, en dicho grupo de celdas; en el que cuando:
- SUMij > || 0,4»OM || dicho grupo de celdas se clasifica como activado en alto; y
- SUMij > || 0,2»OM || y < || 0,4»OM || dicho subvolumen se clasifica como activado en bajo, en el que OM es el valor SUMy máximo determinado para cualquier grupo de celdas (i,j) (omy) de dicha cuadrícula bidimensional;
en el que:
(vii) el robot se desplaza:
(a) a través de un plano definido por dicho eje y y dicho eje x hacia un punto objetivo Pt situado por delante del robot, en la línea central paralela a la hilera izquierda desde la cual el sensor A y el sensor B detectan ondas electromagnéticas y acústicas reflejadas y separado de él por una distancia Q/2:
- cuando está fuera del conjunto S<r>que consiste en los grupos de celdas (1,1), (2,1), (3,1) y(1,2):
■ omn está activado en alto,
■ omn está activado en alto y om<21>está activado en bajo,
■ omn está activado en bajo y om<21>está activado en alto,
■ om<21>está activado en bajo,
■ om31 está activado en bajo y om31 está activado en bajo,
■ om31 está activado en bajo, u
■ om<21>está activado en bajo y om<21>está activado en alto,
y ningún otro grupo de celdas de dicho conjunto S<r>o los grupos de celdas (2,2) o (3,2) está activado; o
(b) a través de un plano definido por dicho eje y y dicho eje x hacia un punto objetivo Pt situado por delante del robot, en la línea central paralela a la hilera derecha desde la cual el sensor A y el sensor B detectan ondas electromagnéticas y acústicas reflejadas y separado de él por una distancia Q/2:
- cuando está fuera del conjunto S<l>que consiste en los grupos de celdas (1,2), (2,2), (3,2) y(1,1):
■ om<12>está activado en alto,
■ om<12>está activado en alto y om<22>está activado en bajo,
■ om<12>está activado en bajo y om<22>está activado en alto,
■ om<22>está activado en bajo,
■ om<22>está activado en bajo y omi32 está activado en bajo,
■ om32 está activado en bajo, o
■ oirin está activado en bajo y om<22>está activado en alto,
y ningún otro grupo de celdas de dicho conjunto S<l>o los grupos de celdas (2,1) o (3,1) está activado; o
(c) a través de un plano definido por dicho eje y y dicho eje x hacia un punto objetivo Pt situado delante del robot, en la línea central equidistante a ambas hileras desde donde el sensor A y el sensor B detectan ondas electromagnéticas y acústicas reflejadas:
- cuando está fuera del conjunto S<r>que consiste en los grupos de celdas (1,1), (2,1), (3,1) y(1,2):
■ omn está activado en alto,
■ omn está activado en alto y om<21>está activado en bajo,
■ omn está activado en bajo y om<21>está activado en alto,
■ om<21>está activado en bajo,
■ om<21>está activado en bajo y om31 está activado en bajo,
■ om31 está activado en bajo, o
■ om<12>está activado en bajo y om<21>está activado en alto,
y ningún otro grupo de celdas de dicho conjunto S<r>o los grupos de celdas (2,2) o (3,2) está activado; y
- cuando está fuera del conjunto Sl que consiste en los grupos de celdas (1,2), (2,2), (3,2) y(1,1):
■ om<12>está activado en alto,
■ om<12>está activado en alto y om<22>está activado en bajo,
■ om<12>está activado en bajo y om<22>está activado en alto
■ om<22>está activado en bajo,
■ om<22>está activado en bajo y om32 está activado en bajo,
■ om32 está activado en bajo,
■ omn está activado en bajo, om<22>está activado en alto
y ningún otro grupo de celdas de dicho conjunto Sl o los grupos de celdas (2,1) o (3,1) está activado.
Además, la presente invención se refiere a un sistema para navegación autónoma de un robot entre dos hileras de plantas separadas por Q metros, en el que dicho robot comprende dos dispositivos sensores, sensor A y sensor B, montados en una posición O sobre el mismo y se desplaza hacia delante a lo largo de un eje y que se dirige de forma autónoma ejerciendo correcciones angulares para situar el robot lo más cerca posible de la línea central, en el que cada dispositivo sensor es un dispositivo que detecta ondas electromagnéticas o detecta ondas sonoras, y en el que cuando ambos dispositivos detectan:
(A) ondas electromagnéticas, el sensor A detecta dichas ondas a una frecuencia y/o un campo de visión diferente al de las ondas detectadas por el sensor B; y
(B) ondas sonoras, el sensor A detecta dichas ondas a una frecuencia y/o un campo de visión diferente al de las ondas detectadas por el sensor B, y
en el que dicho eje y es un eje horizontal y dicho eje x es un eje horizontal perpendicular a dicho eje y, y en el que dicho sistema comprende lo siguiente:
(i) medios para definir una cuadrícula bidimensional de celdas cuadradas en dicho plano, en el que dicha cuadrícula tiene Xg celdas de anchura e Yg celdas de longitud, y dichas celdas tienen lados de longitud c, en el que:
(a) dicha anchura se extiende horizontalmente |Xmín| metros desde O hacia la izquierda a lo largo de dicho eje x y horizontalmente Xmáx metros desde O hacia la derecha a lo largo de dicho eje x; y
(b) dicha longitud se extiende horizontalmente Ymáx. metros desde O a lo largo de dicho eje y; en el que:
- Xmín = -X g*c/2;
- Xmáx = Xg*c /2;
- Y máx = Yg*c;
- Xg es un número completo seleccionado de entre 2 y 1000
- Yg es un número completo seleccionado de entre 3 y 1500; y
- c es un número seleccionado de entre 0,01 y 0,5 m y
(c) a cada celda (h,v) se le asigna una coordenada que comprende un primer número, h, y un segundo número, v, en el que h es un número de 1 a X<g>y v es un número de 1 a Y<g>, en el que:
- h = h' 1; y
- v = v' 1;
en el que:
■ h' es el número de dichas celdas, contadas a lo largo de dicho eje x comenzando a partir de la celda más a la izquierda, que separan dicha celda (h,v) del exterior de dicha cuadrícula bidimensional; y
■ v' es el número de dichas celdas, contadas a lo largo de dicho eje y comenzando a partir de la celda que está más alejada de dicho robot, que separan dicha celda (h,v) del exterior de dicha cuadrícula bidimensional;
(ii) medios para dividir la cuadrícula bidimensional de celdas cuadradas en seis grupos de celdas, en el que cada grupo tiene X<g>/J<g>celdas de anchura y Y<g>/<ig>celdas de longitud, en el que:
(a) IG es 3;
(b) Jg es 2; y
(c) a cada grupo de celdas (i,j) (omy) se le asigna una coordenada que comprende un primer número, i, y un segundo número, j, en el que i es un número de 1 a Ig y j es un número de 1 a Jg, en el que
- i = i' 1 y
- j = j' 1,
en el que:
■ i' es el número de dichos grupos de celdas, contados a lo largo de dicho eje y comenzando a partir de los grupos de celdas más alejados de dicho robot, que separan dicho grupo de celdas del exterior de dicha cuadrícula bidimensional; y
■ j' es el número de dichos grupos de celdas, contados a lo largo de dicho eje x comenzando a partir del grupo de celdas más a la izquierda, que separan dicho grupo de celdas (i,j) (omy) del exterior de dicha cuadrícula bidimensional;
(iii) medios para obtener puntos de datos usando el sensor A y puntos de datos usando el sensor B, en el que cada punto de datos es el punto en el espacio en el cual se reflejan ondas electromagnéticas o sonoras desde una superficie localizada dentro del volumen cuboide rectangular delimitado por las dimensiones de dicha cuadrícula bidimensional en el eje x y el eje y y tiene una altura de Zmáx - Zmín metros a lo largo de un eje z, en el que dicho eje z es un eje vertical perpendicular a dicho eje x y dicho eje y, y dicha superficie es la superficie de un objeto, en el que:
- Zmín es un valor seleccionado de -0,5 a 0,5 metros;
- Zmáx es un valor seleccionado de 1 a 5 metros;
en el que:
(a) a cada punto de datos obtenido usando el sensor A se le asigna una coordenada que comprende un primer número, xL, y un segundo número, yL, en el que:
- xL es la distancia a lo largo del eje x desde dicho punto de datos hasta O; e
- yL es la distancia a lo largo del eje y desde dicho punto de datos hasta O,
en el que la coordenada de la posición O es (0,0); y
(b) a cada punto de datos obtenido usando el sensor B se le asigna una coordenada que comprende un primer número, xV, y un segundo número, yV, en el que:
- xV es la distancia a lo largo del eje x desde dicho punto de datos hasta O; y
- yV es la distancia a lo largo del eje y desde dicho punto de datos hasta O,
en el que la coordenada de la posición O es (0,0);
(iv) medios para convertir cada punto de datos en un punto de datos discretizados, en el que:
(a) el punto de datos (xL,yL) se convierte en un punto de datos discretizados (Lv,Lh), de acuerdo con las siguientes fórmulas:
- L<v>= || yL/c ||; y
- Lh = || (XL - Xmín)/c ||;
(b) el punto de datos (xV,yV) se convierte en un punto de datos discretizados (VV,VH) de acuerdo con las siguientes fórmulas:
- Vv = || yV/c ||; y
- Vh = II (xv - Xmín)/c ||;
(v) medios para calcular un valor de función de fusión, r(h,v), para cada celda (h,v) de dicha cuadrícula bidimensional de acuerdo con la siguiente fórmula (I):
r(h,v) =Kv»YV(Vv,Vh) Kl»YL(Lv,Lh)
(I)
en el que:
- Kl es un número entero no negativo seleccionado de entre 0 y 5;
- YL (L<v>,L<h>) es un número completo calculado a partir del número D<n>(L<h>,L<v>) de puntos de datos discretizados (Lv,Lh) para los cuales Lv = v y Lh = h;
- Kv es un número entero no negativo seleccionado de entre 0 y 5;
- YV(V<v>,V<h>) es un número completo calculado a partir del número D<n>(V<h>,V<v>) de puntos de datos discretizados (Vv,Vh) para los cuales Vv = v y Vh = h;
(vi) medios para calcular para cada grupo de celdas (i,j) (omy):
(a) el total acumulado de valores de función de fusión, CUM¡j(h), de todas las celdas de dicho grupo de celdas que tienen una coordenada con el mismo valor h; y
(b) la suma de todos los totales acumulados de valores de función de fusión, SUMij, en dicho grupo de celdas; en el que cuando:
- SUMij > || 0,4»OM || dicho grupo de celdas se clasifica como activado en alto; y
- SUMij > || 0,2»OM || y < || 0,4»OM || dicho subvolumen se clasifica como activado en bajo, en el que OM es el valor SUMij máximo determinado para cualquier grupo de celdas (i,j) (omy) de dicha cuadrícula bidimensional;
(vii) medios para desplazar el robot, en el que el robot se desplaza:
(a) a través de un plano definido por dicho eje y y dicho eje x hacia un punto objetivo Pt situado delante del robot, en la línea central paralela a la hilera izquierda desde la cual el sensor A y el sensor B detectan ondas electromagnéticas y acústicas reflejadas y separado de él por una distancia Q/2:
- cuando está fuera del conjunto S<r>que consiste en los grupos de celdas (1,1), (2,1), (3,1) y (1,2):
■ omn está activado en alto,
■ omn está activado en alto y om<21>está activado en bajo,
■ omn está activado en bajo y om<21>está activado en alto,
■ om<21>está activado en bajo,
■ om<21>está activado en bajo y om31 está activado en bajo,
■ om31 está activado en bajo, o
■ om<12>está activado en bajo y om<21>está activado en alto,
y ningún otro grupo de celdas de dicho conjunto S<r>o los grupos de celdas (2,2) o (3,2) está activado; o
(b) a través de un plano definido por dicho eje y y dicho eje x hacia un punto objetivo Pt situado por delante del robot, en la línea central paralela a la hilera derecha desde la cual el sensor A y el sensor B detectan ondas electromagnéticas y acústicas reflejadas y separado de él por una distancia Q/2:
- cuando está fuera del conjunto Sl que consiste en los grupos de celdas (1,2), (2,2), (3,2) y (1,1):
■ om<12>está activado en alto,
■ om<12>está activado en alto y om<22>está activado en bajo,
■ om<12>está activado en bajo y om<22>está activado en alto,
■ om<22>está activado en bajo,
■ om<22>está activado en bajo y om32 está activado en bajo,
■ om32 está activado en bajo, o
■ omn está activado en bajo y om<22>está activado en alto,
y ningún otro grupo de celdas de dicho conjunto Sl o los grupos de celdas (2,1) o (3,1) está activado; o
(c) a través de un plano definido por dicho eje y y dicho eje x hacia un punto objetivo Pt situado delante del robot, en la línea central equidistante a ambas hileras desde donde el sensor A y el sensor B detectan ondas electromagnéticas y acústicas reflejadas:
- cuando está fuera del conjunto S<r>que consiste en los grupos de celdas (1,1), (2,1), (3,1) y (1,2):
■ omn está activado en alto,
■ omn está activado en alto y om<21>está activado en bajo,
■ omii está activado en bajo y om<2>i está activado en alto,
■ om<21>está activado en bajo,
■ om<2>i está activado en bajo y om3i está activado en bajo,
■ om3i está activado en bajo, o
■ omi<2>está activado en bajo y om<2>i está activado en alto,
y ningún otro grupo de celdas de dicho conjunto S<r>o los grupos de celdas (2,2) o (3,2) está activado; y
- cuando está fuera del conjunto Sl que consiste en los grupos de celdas (i,2), (2,2), (3,2) y ( i, i) :
■ omi<2>está activado en alto,
■ omi<2>está activado en alto y om<22>está activado en bajo,
■ omi<2>está activado en bajo y om<22>está activado en alto
■ om<22>está activado en bajo,
■ om<22>está activado en bajo y om32 está activado en bajo,
■ om32 está activado en bajo,
■ omii está activado en bajo, om<22>está activado en alto
y ningún otro grupo de celdas de dicho conjunto Sl o los grupos de celdas (2 ,i) o (3 ,i) está activado.
Por otro lado, la presente invención se refiere a un robot, en el que dicho robot usa el procedimiento de acuerdo con la presente invención para navegar entre dos hileras de plantas y/o comprende el sistema de acuerdo con la presente invención.
Además, la presente invención se refiere a un procedimiento para navegación autónoma de un robot entre dos hileras de plantas separadas por Q metros, en el que dicho robot comprende dos dispositivos sensores, sensor A y sensor B, montados en una posición O sobre el mismo y se desplaza hacia delante a lo largo de un eje y que se dirige de forma autónoma ejerciendo correcciones angulares para situar el robot lo más cerca posible de la línea central, en el que cada dispositivo sensor es un dispositivo que detecta ondas electromagnéticas o detecta ondas sonoras, y en el que el sensor A es un lidar de múltiples haces y el sensor B es una cámara estereoscópica o de tiempo de vuelo 3D, y
en el que dicho eje y es un eje horizontal y dicho eje x es un eje horizontal perpendicular a dicho eje y,
y en el que dicho procedimiento comprende las siguientes etapas:
(i) definir una cuadrícula bidimensional de celdas cuadradas en dicho plano, en el que dicha cuadrícula tiene X<g>celdas de anchura y Yg celdas de longitud, y dichas celdas tienen lados de longitud c, en el que:
(a) dicha anchura se extiende horizontalmente |Xmín| metros desde O hacia la izquierda a lo largo de dicho eje x y horizontalmente Xmáx metros desde O hacia la derecha a lo largo de dicho eje x; y
(b) dicha longitud se extiende horizontalmente Ymáx metros desde O a lo largo de dicho eje y; en el que:
- Xmín = -X<g>*<c>/2;
- Xmáx = X<g>*<c>/2;
- Y máx = Yg*c;
- X<g>es un número completo seleccionado de entre 30 y 60
- Yg es un número completo seleccionado de entre 60 y i00; y
- c es un número seleccionado de entre 0,05 y 0,2 m y
(c) a cada celda (h,v) se le asigna una coordenada que comprende un primer número, h, y un segundo número, v, en el que h es un número de i a Xg y v es un número de i a Yg, en el que:
- h = h' 1; y
- v = v' 1;
en el que:
■ h' es el número de dichas celdas, contadas a lo largo de dicho eje x comenzando a partir de la celda más a la izquierda, que separan dicha celda (h,v) del exterior de dicha cuadrícula bidimensional; y ■ v' es el número de dichas celdas, contadas a lo largo de dicho eje y comenzando a partir de la celda que está más alejada de dicho robot, que separan dicha celda (h,v) del exterior de dicha cuadrícula bidimensional;
(ii) dividir la cuadrícula bidimensional de celdas cuadradas en I<g>»J<g>grupos de celdas, en el que cada grupo tiene X<g>/J<g>celdas de anchura e Y<g>/I<g>celdas de longitud, en el que:
(a) Ig es 3;
(b) Jg es 2; y
(c) a cada grupo de celdas (i,j) (omij) se le asigna una coordenada que comprende un primer número, i, y un segundo número, j, en el que i es un número de 1 a Ig y j es un número de 1 a Jg, en el que
- i = i' 1 y
- j = j' 1,
en el que:
■ i' es el número de dichos grupos de celdas, contados a lo largo de dicho eje y comenzando a partir de los grupos de celdas más alejados de dicho robot, que separan dicho grupo de celdas del exterior de dicha cuadrícula bidimensional; y
■ j' es el número de dichos grupos de celdas, contados a lo largo de dicho eje x comenzando a partir del grupo de celdas más a la izquierda, que separan dicho grupo de celdas (i,j) (omij) del exterior de dicha cuadrícula bidimensional;
(iii) obtener puntos de datos usando el sensor A y puntos de datos usando el sensor B, en el que cada punto de datos es el punto en el espacio en el cual las ondas electromagnéticas o sonoras se reflejan desde una superficie localizada dentro del volumen cuboide rectangular delimitado por las dimensiones de dicha cuadrícula bidimensional en el eje x y el eje y y tiene una altura de Zmáx - Zmín metros a lo largo de un eje z, en el que dicho eje z es un eje vertical perpendicular a dicho eje x y dicho eje y, y dicha superficie es la superficie de un objeto, en el que:
- Zmín es un valor seleccionado de -0,5 a 0,5 metros;
- Zmáx es un valor seleccionado de 1 a 5 metros;
en el que:
(a) a cada punto de datos obtenido usando el sensor A se le asigna una coordenada que comprende un primer número, xL, y un segundo número, yL, en el que:
- xL es la distancia a lo largo del eje x desde dicho punto de datos hasta O; e
- yL es la distancia a lo largo del eje y desde dicho punto de datos hasta O,
en el que la coordenada de la posición O es (0,0); y
(b) a cada punto de datos obtenido usando el sensor B se le asigna una coordenada que comprende un primer número, xV, y un segundo número, yV, en el que:
- xV es la distancia a lo largo del eje x desde dicho punto de datos hasta O; y
- yV es la distancia a lo largo del eje y desde dicho punto de datos hasta O,
en el que la coordenada de la posición O es (0,0);
(iv) convertir cada punto de datos en un punto de datos discretizados, en el que:
(a) el punto de datos (xL,yL) se convierte en un punto de datos discretizados (Lv,Lh), de acuerdo con las siguientes fórmulas:
- Lv = || yL/c ||; y
- L<h>= || (XL - Xmín)/c ||;
(b) el punto de datos (xV,yV) se convierte en un punto de datos discretizados (Vv,Vh) de acuerdo con las siguientes fórmulas:
- Vv = || yV/c ||; y
- V<h>= II (xV - Xmin)/c ||;
(v) calcular un valor de función de fusión, r(h,v), para cada celda (h,v) de dicha cuadrícula bidimensional de acuerdo con la siguiente fórmula (I):
r(h,v) = Kv»Yv(Vv,Vh) Kl-Yl(Lv,Lh)
(I)
en el que:
- KL es un número entero no negativo seleccionado de entre 0 y 5;
- YL (Lv,Lh) es un número completo Dn (Lv,Lh) de puntos de datos discretizados (Lv,Lh) para los cuales Lv = v y Lh = h;
- yv(Vv,Vh) es:
■ 1 cuando D<n>(V<h>,V<v>) > THv» DN(VH,Vv)máx; o
■ 0 cuando Dn(Vh,Vv) < THv» DN(VH,Vv)máx
en el que D<n>(V<h>,V<v>) es:
■ el número completo de puntos de datos discretizados (Vv,Vh) cuando Vv»c_< 3; o
■ un número completo calculado a partir del número de puntos de datos discretizados (V<v>,V<h>) para los cuales Vv = v, Vh = h y Vv»c >3, multiplicado por (Vv»c/3)2;
y en el que:
■ THv es un valor umbral, en el que 0 < THv < 1; y
■ DN(VH,Vv)máx es el valor máximo de D<n>(V<h>,V<v>) determinado para cualquier celda (h,v) de dicha cuadrícula bidimensional;
(vi) calcular para cada grupo de celdas (i,j) (omij):
(a) el total acumulado de valores de función de fusión, CUMy(h), de todas las celdas de dicho grupo de celdas que tienen una coordenada con el mismo valor h; y
(b) la suma de todos los totales acumulados de valores de función de fusión, SUMij, en dicho grupo de celdas; en el que cuando:
(c) SUMij > 1, un valor de posición de hilera esperado, Lij, de acuerdo con la siguiente fórmula (II):
Lij = || X<g>/J<g>- My/SUMij ||
(II)
en el que Mij es la suma de t valores de todas las celdas de dicho grupo de celdas que tienen una coordenada con el mismo valor h, en el que dichos t valores se calculan de acuerdo con la siguiente fórmula (III):
t = (|| Xg / Jg II - h)»CUMij(h)
(III)
en el que cuando:
- SUMij > || 0,4»ÜM || dicho grupo de celdas se clasifica como activado en alto; y - SUMij > || 0,2»ÜM || y < || 0,4*C5TM || dicho subvolumen se clasifica como activado en bajo, en el que OM es el valor SUMij máximo determinado para cualquier grupo de celdas (i,j) (om j de dicha cuadrícula bidimensional;
en el que:
(vii) el robot se desplaza:
(a) a través de un plano definido por dicho eje y y dicho eje x:
- cuando está fuera del conjunto S<r>que consiste en los grupos de celdas (1,1), (2,1), (3,1) y (1,2):
■ oirm está activado en alto,
■ omn está activado en alto y om<21>está activado en bajo,
■ omn está activado en bajo y om<21>está activado en alto,
■ om<21>está activado en bajo,
■ om<21>está activado en bajo y om31 está activado en bajo,
■ om31 está activado en bajo, o
■ om<12>está activado en bajo y om<21>está activado en alto,
y ningún otro grupo de celdas de dicho conjunto S<r>o los grupos de celdas (2,2) o (3,2) está activado; o
(b) a través de un plano definido por dicho eje y y dicho eje x:
- cuando está fuera del conjunto S<l>que consiste en los grupos de celdas (1,2), (2,2), (3,2) y (1,1):
■ om<12>está activado en alto,
■ om<12>está activado en alto y om<22>está activado en bajo,
■ om<12>está activado en bajo y om<22>está activado en alto,
■ om<22>está activado en bajo,
■ om<22>está activado en bajo y om32 está activado en bajo,
■ om32 está activado en bajo, o
■ omn está activado en bajo y om<22>está activado en alto,
y ningún otro grupo de celdas de dicho conjunto S<l>o los grupos de celdas (2,1) o (3,1) está activado; o
(c) a través de un plano definido por dicho eje y y dicho eje x:
- cuando está fuera del conjunto S<r>que consiste en los grupos de celdas (1,1), (2,1), (3,1) y (1,2):
■ omn está activado en alto,
■ omn está activado en alto y om<21>está activado en bajo,
■ omn está activado en bajo y om<21>está activado en alto,
■ om<21>está activado en bajo,
■ om<21>está activado en bajo y om31 está activado en bajo,
■ om31 está activado en bajo, o
■ om<12>está activado en bajo y om<21>está activado en alto,
y ningún otro grupo de celdas de dicho conjunto Sro los grupos de celdas (2,2) o (3,2) está activado; - cuando está fuera del conjunto Slque consiste en los grupos de celdas (1,1), (2,1), (3,1) y (1,1):
■ om<12>está activado en alto,
■ om<12>está activado en alto y om<22>está activado en bajo,
■ om<12>está activado en bajo y om<22>está activado en alto,
■ om<22>está activado en bajo,
■ om<22>está activado en bajo y om32 está activado en bajo,
■ om32 está activado en bajo,
■ omn está activado en bajo y om<22>está activado en alto
y ningún otro grupo de celdas de dicho conjunto Slo los grupos de celdas (2,1) o (3,1) está activado, en el que:
(d) cuando el robot se desplaza a través de un plano definido por dicho eje y y dicho eje x girando hacia el punto objetivo Ptque está Q/2 metros a la derecha del límite de hilera RBla una distancia de Ymáx^r metros de O, en el que:
- RBles el promedio ponderado Lijde los grupos de celdas (i,j) que tienen una coordenada con el valor j de 1; y
- r está entre 0,5 y 0,9;
(e) cuando el robot se desplaza a través de un plano definido por dicho eje y y dicho eje x girando hacia el punto objetivo Ptque está Q/2 metros a la izquierda del límite de hilera RBr a una distancia de Ymáx^r metros de O, en el que:
- RBres el promedio ponderado Lijde los grupos de celdas (i,j) que tienen una coordenada con el valor j de 2;
(f) cuando el robot se desplaza a través de un plano definido por dicho eje y y dicho eje x girando hacia el punto objetivo Ptque está situado equidistante entre RBly RBr.
Asimismo, la presente invención también se refiere a un sistema para navegación autónoma de un robot entre dos hileras de plantas separadas por Q metros, en el que dicho robot comprende dos dispositivos sensores, sensor A y sensor B, montados en una posición O sobre el mismo y se desplaza hacia delante a lo largo de un eje y que se dirige de forma autónoma ejerciendo correcciones angulares para situar el robot lo más cerca posible de la línea central, en el que cada dispositivo sensor es un dispositivo que detecta ondas electromagnéticas o detecta ondas sonoras, y en el que el sensor A es un lidar de haces múltiples y el sensor B es una cámara estereoscópica o de tiempo de vuelo 3D,
y
en el que dicho eje y es un eje horizontal y dicho eje x es un eje horizontal perpendicular a dicho eje y,
y en el que dicho sistema comprende lo siguiente:
(i) medios para definir una cuadrícula bidimensional de celdas cuadradas en dicho plano, en el que dicha cuadrícula tiene Xgceldas de anchura e Ygceldas de longitud, y dichas celdas tienen lados de longitud c, en el que:
(a) dicha anchura se extiende horizontalmente |Xmín| metros desde O hacia la izquierda a lo largo de dicho eje x y horizontalmente Xmáx metros desde O hacia la derecha a lo largo de dicho eje x; y
(b) dicha longitud se extiende horizontalmente Ymáx. metros desde O a lo largo de dicho eje y;
en el que:
- Xmín = -X g c^/2;
- Xmáx _ Xg^O/2;
- Ymáx= Yg c^;
- Xges un número completo seleccionado de entre 30 y 60;
- Yges un número completo seleccionado de entre 60 y 100; y
- c es un número seleccionado de entre 0,05 y 0,2 m; y
(b) a cada celda (h,v) se le asigna una coordenada que comprende un primer número, h, y un segundo número, v, en el que h es un número de 1 a Xgy v es un número de 1 a Yg, en el que:
- h = h' 1; y
- v = v' 1;
en el que:
■ h' es el número de dichas celdas, contadas a lo largo de dicho eje x comenzando a partir de la celda más a la izquierda, que separan dicha celda (h,v) del exterior de dicha cuadrícula bidimensional; y ■ v' es el número de dichas celdas, contadas a lo largo de dicho eje y comenzando a partir de la celda que está más alejada de dicho robot, que separan dicha celda (h,v) del exterior de dicha cuadrícula bidimensional;
(ii) medios para dividir la cuadrícula bidimensional de celdas cuadradas en IgJggrupos de celdas en el que cada grupo tiene Xg/Jgceldas de anchura e Yg/Igceldas de longitud, en el que:
(a) Iges 3;
(b) Jges 2; y
(c) a cada grupo de celdas (i,j) (omij) se le asigna una coordenada que comprende un primer número, i, y un segundo número, j, en el que i es un número de 1 a Igy j es un número de 1 a Jg,
en el que
- i = i' 1 y
- j = j' 1,
en el que:
■ i' es el número de dichos grupos de celdas, contados a lo largo de dicho eje y comenzando a partir del grupo de celdas que está más alejado de dicho robot, , que separan dicho grupo de celdas del exterior de dicha cuadrícula bidimensional; y
■ j' es el número de dichos grupos de celdas, contados a lo largo de dicho eje x comenzando a partir del grupo de celdas más a la izquierda, que separan dicho grupo de celdas (i,j) (omij) del exterior de dicha cuadrícula bidimensional;
(iii) medios para obtener puntos de datos usando el sensor A y puntos de datos usando el sensor B, en el que cada punto de datos es el punto en el espacio en el cual se reflejan ondas electromagnéticas o sonoras desde una superficie localizada dentro del volumen cuboide rectangular delimitado por las dimensiones de dicha cuadrícula bidimensional en el eje x y el eje y y tiene una altura de Zmáx- Zmínmetros a lo largo de un eje z, en el que dicho eje z es un eje vertical perpendicular a dicho eje x y dicho eje y, y dicha superficie es la superficie de un objeto, en el que:
- Zmínes un valor seleccionado de -0,5 a 0,5 metros;
- Zmáxes un valor seleccionado de 1 a 5 metros;
en el que:
(a) a cada punto de datos obtenido usando el sensor A se le asigna una coordenada que comprende un primer número, xL, y un segundo número, yL,en el que:
- xLes la distancia a lo largo del eje x desde dicho punto de datos hasta O; e
- yLes la distancia a lo largo del eje y desde dicho punto de datos hasta O,
en el que la coordenada de la posición O es (0,0); y
(b) a cada punto de datos obtenido usando el sensor B se le asigna una coordenada que comprende un primer número, xV, y un segundo número, yV, en el que:
- xVes la distancia a lo largo del eje x desde dicho punto de datos hasta O; y
- yVes la distancia a lo largo del eje y desde dicho punto de datos hasta O,
en el que la coordenada de la posición O es (0,0);
(iv) medios para convertir cada punto de datos en un punto de datos discretizados, en el que:
(a) el punto de datos (xL,yL) se convierte en un punto de datos discretizados (Lv,Lh), de acuerdo con las siguientes fórmulas:
- Lv = || yL/c ||; y
- Lh= || (XL- Xmín)/c ||;
(b) un punto de datos (xV,yV) se convierte en un punto de datos discretizados (Vv,Vh) de acuerdo con las siguientes fórmulas:
- Vv = || yv/c ||; y
- Vh= II (xv- Xmín)/c ||;
(v) medios para calcular un valor de función de fusión, r(h,v), para cada celda (h,v) de dicha cuadrícula bidimensional de acuerdo con la siguiente fórmula (I):
r(h,v) = Kvyv(Vv,VH) Kl-yL(Lv,Lh)
(I)
en el que:
- KL es un número entero no negativo seleccionado de entre 0 y 5;
- yL(Lv,LH) es el número completo Dn(Lh,Lv) de puntos de datos discretizados (Lv,Lh) para los cuales Lv= v y Lh= h;
- K<v>es un número entero no negativo seleccionado de entre 0 y 5;
- yv(Vv,VH) es:
■ 1 cuando Dn(Vh,Vv) > THv DN(VH,Vv)máx; o
■ 0 cuando Dn(Vh,Vv) s THv DN(VH,Vv)máx
en el que Dn(Vh,Vv) es:
■ el número completo de puntos de datos discretizados (Vv,Vh) cuando Vvc <3;
o
■ un número completo calculado a partir del número de puntos de datos discretizados (Vv,Vh) para los cuales Vv = v, Vh= h y V vc > 3, multiplicado por (Vvc/3)2;
y en el que:
■ THves un valor umbral, en el que 0 < THv < 1; y
■ DN(VH,Vv)máx es el valor máximo de Dn(Vh,Vv) determinado para cualquier celda (h,v) de dicha cuadrícula bidimensional;
(vi) medios para calcular para cada grupo de celdas (i,j) (omij):
(a) el total acumulado de valores de función de fusión, CUMy(h), de todas las celdas de dicho grupo de celdas que tienen una coordenada con el mismo valor h; y
(b) la suma de todos los totales acumulados de valores de función de fusión, SUMij, de dicho grupo de celdas; y
(c) cuando SUM¡j > 1, un valor de posición de hilera esperado, L¡j, de acuerdo con la siguiente fórmula (II):
Lij = || Xg/Jg- Mij/SUMij ||
(II)
en el que Mij es la suma de t valores de todas las celdas de dicho grupo de celdas que tienen una coordenada con el mismo valor h, en el que dichos t valores se calculan de acuerdo con la siguiente fórmula (III):
t = (|| Xg/ JgII - h)-CUMij(h)
(III)
en el que cuando:
- SUMíj > ||0,4 • OM|| dicho grupo de celdas se clasifica como activado en alto; y
- SUMjj > 110,2 • OM|| y < ||0,4^ Of^ lM dicho subvolumen se clasifica como activado en bajo,
en el que OM es el valor de SUMij máximo determinado para cualquier grupo de celdas (ij) (omy) de dicha cuadrícula bidimensional;
(vii) medios para clasificar la situación perceptual que establecerán los parámetros de cálculo correctos para desplazar el robot, en el que el robot se desplaza:
(a) a través de un plano definido por dicho eje y y dicho eje x:
- cuando está fuera del conjunto Srque consiste en los grupos de celdas (1,1), (2,1), (3,1) y (1,2):
■ omn está activado en alto,
■ omn está activado en alto y om<21>está activado en bajo,
■ omn está activado en bajo y om<21>está activado en alto,
■ om<21>está activado en bajo,
■ om<21>está activado en bajo y om31 está activado en bajo,
■ om31 está activado en bajo, o
■ om<12>está activado en bajo y om<21>está activado en alto,
y ningún otro grupo de celdas de dicho conjunto S<r>o los grupos de celdas (2,2) o (3,2) está activado; o
(b) a través de un plano definido por dicho eje y y dicho eje x:
- cuando está fuera del conjunto S<l>que consiste en los grupos de celdas (1,2), (2,2), (3,2) y (1,1):
■ om<12>está activado en alto,
■ om<12>está activado en alto y om<22>está activado en bajo,
■ om<12>está activado en bajo y om<22>está activado en alto,
■ om<22>está activado en bajo,
■ om<22>está activado en bajo y om32 está activado en bajo,
■ om32 está activado en bajo, o
■ omn está activado en bajo y om<22>está activado en alto,
y ningún otro grupo de celdas de dicho conjunto S<l>o los grupos de celdas (2,1) o (3,1) está activado; o
(c) a través de un plano definido por dicho eje y y dicho eje x:
- cuando está fuera del conjunto S<r>que consiste en los grupos de celdas (1,1), (2,1), (3,1) y (1,2): ■ omn está activado en alto,
■ omn está activado en alto y om<21>está activado en bajo,
■ omn está activado en bajo y om<21>está activado en alto,
■ om<21>está activado en bajo,
■ om<21>está activado en bajo y om31 está activado en bajo,
■ om31 está activado en bajo, o
■ om<12>está activado en bajo y om<21>está activado en alto,
y ningún otro grupo de celdas de dicho conjunto Sr o los grupos de celdas (2,2) o (3,2) está activado; y
- cuando está fuera del conjunto S<l>que consiste en los grupos de celdas (1,2), (2,2), (3,2) y (1,1):
■ om<12>está activado en alto,
■ om<12>está activado en alto y om<22>está activado en bajo,
■ om<12>está activado en bajo y om<22>está activado en alto
■ om<22>está activado en bajo,
■ om<22>está activado en bajo y om32 está activado en bajo,
■ om<32>está activado en bajo,
■ omn está activado en bajo, om<22>está activado en alto
y ningún otro grupo de celdas de dicho conjunto S<l>o los grupos de celdas (2,1) o (3,1) está activado, en el que:
(d) cuando el robot se desplaza a través de un plano definido por dicho eje y y dicho eje x girando hacia el punto objetivo Pt que está Q/2 metros a la derecha del límite de hilera RB<l>a una distancia de Ymáx^ r metros de O, en el que:
- RBl es el promedio ponderado Lij de los grupos de celdas (ij) que tienen una coordenada con el valor j de 1; y
- r está entre 0,5 y 0,9;
(e) cuando el robot se desplaza a través de un plano definido por dicho eje y y dicho eje x girando hacia el punto objetivo Pt que está Q/2 metros a la izquierda del límite de hilera RBra una distancia de Ymáx^ r metros de O, en el que:
- RBr es el promedio ponderado Lij de los grupos de celdas (i,j) que tienen una coordenada con el valor j de 2;
(f) cuando el robot se desplaza a través de un plano definido por dicho eje y y dicho eje x girando hacia el punto objetivo Pt que está situado equidistante entre RB<l>y RB<r>.
Descripción de las figuras
Figura 1.Vista en perspectiva de un modo de realización ejemplificado del robot (1) para navegación autónoma entre dos hileras de plantas que comprende un sensor A (2) y un sensor B (3), que muestra el eje x, el eje y y el eje z, así como la posición O, en el que la porción de cada eje que comprende una flecha está representada por una coordenada positiva.
Figura 2.Esbozo de una representación gráfica de la cuadrícula bidimensional relativa al robot, como se define en el procedimiento y sistema de la presente invención, que muestra Xg, Yg, (h,v) y el grupo de celdas (i,j) (omij) como se definen en el presente documento, así como una celda que tiene unos lados de longitud c.
Figura 3.Representación de la cuadrícula bidimensional (paneles superiores) para contextos de viñedos reales (paneles inferiores) en Portugal (lado izquierdo) y España (lado derecho), que muestra las celdas de dicha cuadrícula que se han rellenado con puntos de datos recopilados por un lidar de 11 haces (lidar, celdas de color gris oscuro) y una estereocámara 3D (visión 3D, celdas de color gris claro), así como la posición de línea estimada Lij de cada grupo de celdas ( ij) (omij) y el punto Pt, hacia el cual el robot navega de forma autónoma.
Figura 4.Diagrama de flujo que representa el procedimiento y sistema de la presente invención para navegación autónoma de un robot entre dos hileras de plantas.
Figura 5.Diagrama de flujo que representa un modo de realización del procedimiento y sistema de la presente invención para navegación autónoma de un robot entre dos hileras de plantas, en el que se determina la posición de Pt.
Figura 6.Diagrama de flujo que representa un modo de realización del procedimiento y sistema para salvaguardar contra colisiones, en el que dichas colisiones son colisiones frontales y traseras.
Figura 7.Análisis de desviaciones de un robot respecto de una línea central virtual cuando navega de forma autónoma de acuerdo con el procedimiento y sistema de la presente invención basado enA.Trayectoria GPS de hilera completa, yB.desviaciones medidas con polvo de cal.
Figura 8.Trayectoria seguida por el robot en modo autónomo de acuerdo conA. serie C de la tabla 5, yB.serie AA de la tabla 5.
Figura 9.Situaciones de percepción para la serie C de la tabla 5.
Figura 10.Situaciones de percepción para la serie AA de la tabla 5.
Figura 11.Distancia a hileras laterales en guiado recto para la serie C de la tabla 5.
Figura 12.Distancia a hileras laterales en guiado recto para la serie AA de la tabla 5.
Figura 13.Relación de desplazamiento izquierda-derecha p para la serie C de la tabla 5.
Figura 14.Relación de desplazamiento izquierda-derecha p para la serie AA de la tabla 5.
Figura 15.Análisis de estabilidad de dirección para la serie C de la tabla 5.
Figura 16.Análisis de estabilidad de dirección para la serie E de la tabla 5
Figura 17.Trayectoria seguida por el robot en la serie E de la tabla 5.
Figura 18.Situaciones de percepción para la serie E de la tabla 5.
Figura 19.Trayectoria seguida por el robot en la serie B de la tabla 5.
Figura 20.Situaciones de percepción para la serie B de la tabla 5.
Figura 21.Distancia a hileras laterales en guiado recto para la serie B de la tabla 5.
Figura 22.Relación de desplazamiento izquierda-derecha p para la serie B de la tabla 5.
Figura 23.Análisis de estabilidad de dirección para la serie B de la tabla 5.
Figura 24.Análisis de estabilidad de rumbo para la serie B de la tabla 5.
Descripción detallada de la invención
La presente invención se refiere a un procedimiento para navegación autónoma de un robot entre dos hileras de plantas. Además, la presente invención se refiere a un sistema de navegación autónoma de un robot entre dos hileras de plantas. La navegación autónoma de un robot entre dos hileras de plantas se refiere a la navegación de dicho robot entre dichas hileras de plantas sin control externo, en particular, sin control humano directo. Dicho de otro modo, dicho robot realiza dicha navegación autónoma en base a movimientos que hace y que lo guían entre dichas hileras de plantas como respuesta a las señales que detecta usando sus sensores.
Dichas hileras de plantas son hileras de plantas separadas por Q metros, en las que Q es la distancia entre el centro de hileras adyacentes. Dichas hileras pueden ser casi paralelas o paralelas. Dichas hileras de plantas son preferentemente plantaciones de plantas agrícolas, plantas hortícolas o plantas forestales. Más preferentemente, dichas hileras de plantas se cultivan de forma independiente o con sistemas de conducción asistidos. Aún más preferentemente, dichas hileras comprenden sistemas de conducción de vides, bastidores, espalderas, enrejados o setos. Aún más preferentemente, dichas hileras de plantas son hileras de viñedos, hileras en celosías, hileras en espaldera o hileras plegadas. Aún más preferentemente, dichas hileras de plantas son hileras de plantas frutales, preferentemente en las que dichas plantas frutales son vides, cañas de frutos blandos (por ejemplo, frambuesas, arándanos, moras), plantas de cítricos (por ejemplo, naranjas, limones), plantas de manzano o peral, plantas frutales de hueso (por ejemplo, cerezas, ciruelas, olivas, almendras) o tomates. Más preferentemente, dichas hileras de plantas son hileras de vides.
Dicho robot es preferentemente un vehículo que comprende ruedas u orugas. Dicho vehículo es más preferentemente un vehículo que comprende ruedas u orugas y un motor, en el que dicho motor es preferentemente un motor eléctrico o un motor de combustión interna. Aún más preferentemente, dicho robot es un vehículo eléctrico, un vehículo de gasolina o un vehículo diésel. Cuando no gira, dicho robot se desplaza hacia delante a lo largo de un eje y, y cuando gira hacia la izquierda o hacia la derecha, dicho robot se desplaza a través de un plano definido por dicho eje y y un eje x. Preferentemente, dicho robot se desplaza hacia delante a lo largo de dicho eje y cuando no gira o, de forma alternativa, se desplaza hacia atrás a lo largo de dicho eje y cuando no gira, y cuando gira hacia la izquierda o hacia la derecha, dicho vehículo se desplaza a través de un plano definido por dicho eje y y dicho eje x, con lo que una componente de dicho giro implica que dicho vehículo se desplace hacia delante a lo largo de dicho eje y o, de forma alternativa, se desplace hacia atrás a lo largo de dicho eje y.
Dicho eje y es un eje horizontal. Por tanto, dicho eje y se extiende horizontalmente desde el extremo frontal de dicho robot (es decir, la parte más delantera de dicho robot cuando se desplaza en una dirección de avance), preferentemente a través de la línea central de dicho robot(cf.figura 1). Dicho eje x es un eje horizontal perpendicular a dicho eje y(cf.figura 1). Por tanto, dicho eje x se extiende horizontalmente hacia el lado izquierdo y el lado derecho de dicho robot. La posición O define el punto (origen) en el que dichos ejes x e y, así como un eje z, intersectan. Un eje z es un eje vertical perpendicular a dicho eje x y dicho eje y. La posición O se identifica mediante las coordenadas (x,y) (0,0) en las que cada coordenada representa la distancia en metros desde O a lo largo de dicho eje x y dicho eje y, respectivamente.
Dicho robot comprende al menos dos dispositivos sensores, sensor A y sensor B, montados en la posición O del mismo. Cada dispositivo sensor es un dispositivo que detecta ondas electromagnéticas o detecta ondas sonoras, y en el que cuando ambos dispositivos detectan:
(A) ondas electromagnéticas, el sensor A detecta dichas ondas a una frecuencia y/o un campo de visión diferente al de las ondas detectadas por el sensor B; y
(B) ondas sonoras, el sensor A detecta dichas ondas a una frecuencia y/o un campo de visión diferente al de las ondas detectadas por el sensor B.
Por tanto, el sensor A detecta tipos de ondas (ondas electromagnéticas u ondas sonoras) diferentes a los del sensor B o, cuando ambos sensores detectan el mismo tipo de ondas, el sensor A detecta dichas ondas a una frecuencia (y longitud de onda, ya que el medio a través del cual se propagan las ondas es el aire) y/o un campo de visión diferente al de las ondas detectadas por el sensor B. Dicho de otro modo, cada dispositivo sensor funciona en base a diferentes principios físicos.
Preferentemente, cada dispositivo sensor es un dispositivo de formación de imágenes de alcance diferente, más preferentemente un dispositivo de formación de imágenes de alcance 3D. Aún más preferentemente, dicho dispositivo sensor se selecciona del grupo que consiste en: un lidar de haces múltiples, una cámara estereoscópica, una cámara de tiempo de vuelo (TOF) 3D, un lidar rotativo 3D y un sensor ultrasónico (preferentemente como una red de sensores ultrasónicos), en el que sensor A t sensor B. Más preferentemente, el sensor A y el sensor B se seleccionan de una de las seis combinaciones de dispositivos sensores divulgados en la tabla 1 (obsérvese que el sensor A se puede denominar sensor B y viceversa). En un modo de realización preferente del procedimiento y sistema de la presente invención, el sensor A es un lidar de haces múltiples y el sensor B es una cámara estereoscópica o de tiempo de vuelo 3D, o viceversa. Aún más preferentemente, el sensor A es un lidar de haces múltiples y el sensor B es una cámara estereoscópica, o viceversa.
Tabla 1.Combinaciones de dispositivos sensores para el sensor A y el sensor B
Combinación deSensor A Sensor B
dispositivos
sensores
<1>Lidar de haces múltiples Cámara estereoscópica
2 Lidar de haces múltiples Cámara TOF 3D
3 Lidar rotativo 3D Cámara estereoscópica
4 Lidar rotativo 3D Cámara TOF 3D
5 Cámara TOF 3D Cámara estereoscópica
6Cámara TOF 3D Red de sensores ultrasónicos
Que cada dispositivo sensor sea diferente es esencial para la redundancia, con lo que se emplean dispositivos sensores que funcionan según diferentes principios físicos (que incluyen la detección de diferentes tipos de ondas o diferentes frecuencias y/o campos de visión) en caso de que uno de ellos falle. El principio físico subyacente a un lidar y a una cámara TOF-3D es la detección de un haz láser o infrarrojo reflejado, el subyacente a una cámara estereoscópica (visión estéreo) es la formación de imágenes digitales, y el subyacente a la detección de ondas sonoras por sonar. Las condiciones que comprometen la visión estéreo (mala iluminación, por ejemplo, o falta de textura para la coincidencia estéreo) son irrelevantes para los haces láser, y viceversa. Por lo tanto, dos dispositivos sensores diferentes aseguran la redundancia en caso de que falle cualquiera de los dispositivos sensores. En caso de que se usen tres o más dispositivos sensores a la vez, es muy poco probable que los tres fallen simultáneamente.
Que cada dispositivo sensor sea diferente también es esencial para la complementariedad, en la que el funcionamiento de un dispositivo sensor es excelente cuando el otro es más deficiente, de modo que al combinar puntos de datos obtenidos de dos dispositivos sensores diferentes, se obtiene una imagen más realista. Esta complementariedad se proporciona con respecto a los tipos de ondas, frecuencias y/o campos de visión que se detectan. Por ejemplo, en el modo de realización preferente del procedimiento y sistema de la presente invención, el sensor A es un lidar de haces múltiples y el sensor B es una cámara estereoscópica o de tiempo de vuelo 3D, el lidar de haces múltiples cubre los 3 primeros metros del campo de visión a lo largo del eje y, complementando por tanto la cámara que cubre de 3 m a 8 m a lo largo del eje y, en la medida en que cubren conjuntamente el volumen que se extiende de 0 a 8 m a lo largo del eje y delante del robot.
Idealmente, el procedimiento y sistema de la presente invención funciona en tres niveles de alcance:
(a) zona de largo alcance, que apunta hacia delante entre 4 m y 8 m desde los dispositivos sensores: esta zona es fundamental para calcular el punto objetivo Pt hacia el cual se dirige el robot. Proporciona correcciones leves y una navegación fluida;
(b) zona de corto alcance, que apunta hacia adelante a menos de 4 m de los sensores: esta zona produce correcciones que son más reactivas pero es clave mantener el robot a una distancia segura de los doseles; y (c) zona de proximidad inmediata, que cubre un círculo de 2 m o un círculo roto alrededor del robot: esta zona es altamente reactiva, y básicamente ejerce correcciones de salvaguardia para volver a centrar el robot o detenerlo en presencia de obstáculos interferentes.
Dicho procedimiento comprende las etapas (i) a (vii) siguientes. La etapa (i) comprende definir una cuadrícula bidimensional de celdas cuadradas en el plano mencionado anteriormente, en la que dicha cuadrícula tiene Xg celdas de anchura e Yg celdas de longitud, y dichas celdas tienen lados de longitud c, en el que:
(a) dicha anchura se extiende horizontalmente |Xmín| metros desde O hacia la izquierda a lo largo de dicho eje x y horizontalmente Xmáx metros desde O hacia la derecha a lo largo de dicho eje x; y
(b) dicha longitud se extiende horizontalmente Ymáx metros desde O a lo largo de dicho eje y; en el que:
- Xmín = -X g*C/2;
- Xmáx = Xg*C/2;
- Ymáx = Yg* C;
- Xg es un número completo seleccionado de entre 2 y 1000;
- Yg es un número completo seleccionado de entre 3 y 1500; y
- c es un número seleccionado de entre 0,01 y 0,5 m; y
(c) a cada celda (h,v) se le asigna una coordenada que comprende un primer número, h, y un segundo número, v, en la que h es un número de 1 a Xg y v es un número de 1 a Yg, en la que:
- h = h' 1; y
- v = v' 1;
en la que:
■ h' es el número de dichas celdas, contadas a lo largo de dicho eje x comenzando a partir de la celda más a la izquierda, que separan dicha celda (h,v) del exterior de dicha cuadrícula bidimensional; y■ v' es el número de dichas celdas, contadas a lo largo de dicho eje y comenzando a partir de la celda que está más alejada de dicho robot, que separan dicha celda (h,v) del exterior de dicha cuadrícula bidimensional.
Dicho de otro modo, la cuadrícula bidimensional es un mapa de obstáculos bidimensional (2D) de percepción aumentada (APOM) similar a la representación gráfica mostrada en la figura 3, en la que cuando se ve desde arriba (es decir, mirando a lo largo del eje z), dicha la cuadrícula tiene X<g>celdas de anchura (a lo largo del eje x) y Y<g>celdas de longitud (a lo largo del eje y). Por tanto, las dimensiones del APOM activo son como se definen en la siguiente fórmula (IV).
d i m( APOM activo )P G l|(* f x * 7 ‘: )/£l1;
lYG -\\Ymáx/ £\\xG, YGe N
(IV)
Dado que la anchura de dicha cuadrícula bidimensional se extiende horizontalmente |Xmín| metros desde O hacia la izquierda a lo largo de dicho eje x (es decir, hacia la izquierda de dicho robot) y horizontalmente Xmáxmetros desde O hacia la derecha a lo largo de dicho eje x (es decir, hacia la derecha de dicho robot), dicha cuadrícula bidimensional tiene un total de (Xmáx- Xmín) metros de anchura. De forma similar, dado que dicha longitud se extiende horizontalmente Ymáxmetros desde O a lo largo de dicho eje y y la posición O está localizada a 0 metros, dicha cuadrícula bidimensional tiene un total de (Ymáx- 0) metros de longitud. Por tanto, el procedimiento y sistema de la presente invención solo tiene en cuenta el lado positivo del eje Y. En un modo de realización preferente del procedimiento y sistema de la presente invención, Xmáx- Xmíns 2^Q, más preferentemente, la anchura total (Xmáx-Xmín) de dicha cuadrícula bidimensional es de al menos 2,5^Q.
Obsérvese que Ymáxy Xmáxson números enteros positivos ya que se localizan encima y a la derecha de la posición O, respectivamente, cuando dicha cuadrícula se ve desde arriba (es decir, mirando a lo largo del eje z), mientras que Xmínes un número entero negativo ya que se localiza a la izquierda de la posición O (puesto que Ymínes 0, no es ni negativo ni positivo).
En la presente invención, Xges un número completo seleccionado de entre 2 y 1000 e Yges un número completo seleccionado de entre 3 y 1500, mientras que c es un número seleccionado de entre 0,01 y 0,5 m. En un modo de realización preferente del procedimiento y sistema de la presente invención c es un número seleccionado de entre 0,05 y 0,2 m, Xgestá entre 20 y 70 y Ygestá entre 40 y 100. Aún más preferentemente, c es un número seleccionado de entre 0,08 y 0,12 m, Xgestá entre 30 y 60 e Ygestá entre 60 y 90. En el modo de realización ejemplificado descrito en el presente documento, c es 0,1 m, Xges 50 e Yges 80, lo que implica un área de (Xmáx- Xmín) = 5 mx (Ymáx- 0) = 8 m = 40 m2que está cubierta delante del robot en la dirección de avance, como se representa en el esquema de la figura 2.
A cada celda de dicha cuadrícula se le asigna una coordenada en la etapa (i)(c), en la que dicha coordenada comprende un primer número, h, y un segundo número, v, en el que h es un número de 1 a Xgy v es un número de 1 a Yg. El primer número, h, y el segundo número, v, son números enteros ordinales. El primer número, h, tiene el valor más bajo (1) en las celdas que están más a la izquierda de la posición O, y el valor más alto (Xg) en las celdas que están más a la derecha de la posición O (cuando dicha cuadrícula se ve desde arriba). El segundo número, v, tiene el valor más bajo (1) en la hilera de celdas que está más alejada (es decir, encima) de la posición O, y tiene el valor más alto (Yg) en la hilera de celdas que está más cercana a la posición O (cuando dicha cuadrícula se ve desde arriba). La asignación del primer número, h, y del segundo número, v, a cualquier celda dada (h,v) se lleva a cabo determinando:
■ h', el número de celdas, contadas a lo largo de dicho eje x comenzando a partir de la celda más a la izquierda (es decir, la celda que está más a la izquierda de la posición O), que separan dicha celda (h,v) del exterior de dicha cuadrícula bidimensional; y
■ v', el número de celdas contadas a lo largo de dicho eje y comenzando a partir de la celda que está más alejada de dicho robot (es decir, en la hilera más alejada de la posición O), que separan dicha celda (h,v) del exterior de dicha cuadrícula bidimensional, con lo que h = h' 1 y v = v' 1. Por tanto, a la celda (h,v) que está más a la izquierda de la posición O en la hilera de celdas que está más alejada (es decir, encima) de la posición O se le asigna una coordenada (1,1), mientras que a la celda (h,v) que está más a la derecha de la posición O en la hilera de celdas que está más cerca de la posición O se le asigna una coordenada (Xg,Yg).
Sin embargo, una asignación alternativa de coordenadas a cada celda puede ser la inversa, donde el primer número, h, tiene el valor más bajo (1) en las celdas que están más a la derecha de la posición O, y el valor más alto (Xg) en las celdas que están más a la izquierda de la posición O, y/o en donde el segundo número, v, tiene el valor más bajo (1) en la hilera de celdas que están más cerca de la posición O, y el valor más alto (Xg) en la hilera de celdas que está más alejada de la posición O. En esta asignación alternativa, la asignación del primer número, h, y del segundo número, v, a cualquier celda dada (h,v) se lleva a cabo determinando:
■ h', el número de celdas, contadas a lo largo de dicho eje x comenzando a partir de la celda más a la derecha, que separan dicha celda (h,v) del exterior de dicha cuadrícula bidimensional; y/o
■ v', el número de celdas contadas a lo largo de dicho eje y comenzando a partir de la celda que está más cerca de dicho robot (es decir, en la hilera más cercana a la posición O), que separan dicha celda (h,v) del exterior de dicha cuadrícula bidimensional, con lo que h = h' 1 y v = v' 1.
La etapa (ii) comprende dividir la cuadrícula bidimensional de celdas cuadradas en IgJggrupos de celdas, en la que cada grupo tiene Xg/Jgceldas de anchura e Yg/Igceldas de longitud, en la que:
(a) lg es 3;
(b) JG es 2; y
(c) a cada grupo de celdas (i,j) (omy) se le asigna una coordenada que comprende un primer número, i, y un segundo número, j, en la que i es un número de 1 a Igy j es un número de 1 a Jg,en la que
- i = i' 1 y
- j = j' 1,
en la que:
■ i' es el número de dichos grupos de celdas, contados a lo largo de dicho eje y comenzando a partir del grupo de celdas que está más alejado de dicho robot, que separan dicho grupo de celdas del exterior de dicha cuadrícula bidimensional; y
■ j' es el número de dichos grupos de celdas, contados a lo largo de dicho eje x comenzando a partir del grupo de celdas más a la izquierda, que separan dicho grupo de celdas (i,j) (omy) del exterior de dicha cuadrícula bidimensional.
En la presente invención, I<g>es 3 y J<g>es 2. Dicho de otro modo, la cuadrícula bidimensional, cuando se ve desde arriba (es decir, mirando a lo largo del eje z), tiene J<g>grupos de celdas de anchura (a lo largo del eje x) e I<g>grupos de celdas de longitud (a lo largo del eje y)(cf.figura 3) y por lo tanto comprende IgJ g = 6 grupos de celdas. Sin embargo, Ig posiblemente podría ser cualquier número entero de 2 a 5, lo que significa que la cuadrícula bidimensional de celdas cuadradas puede comprender entre 4 y 10 grupos de celdas.
A cada grupo de celdas de dicha cuadrícula se le asigna una coordenada en la etapa (ii)(c), en la que dicha coordenada comprende un primer número, i, y un segundo número, j, en la que i es un número de 1 a I<g>y j es un número de 1 a Jg. El primer número, i, y el segundo número, j, son números enteros ordinales. El segundo número, j, tiene el valor más bajo (1) en los grupos de celdas que están más a la izquierda de la posición O, y el valor más alto (J<g>) en los grupos de celdas que están más a la derecha de la posición O (cuando dicha cuadrícula se ve desde arriba). El primer número, i, tiene el valor más bajo (1) en la hilera de grupos de celdas que está más alejada (es decir, encima) de la posición O, y el valor más alto (Ig) en la hilera de los grupos de celdas que está más cercana a la posición O (cuando dicha cuadrícula se ve desde arriba). La asignación del primer número, i, y del segundo número, j, a cualquier grupo dado de celdas (i,j) (omyj) se lleva a cabo determinando:
■ i', el número de grupos de celdas contados a lo largo de dicho eje y comenzando a partir de los grupos de celdas más alejados de dicho robot (es decir, en la hilera del grupo de celdas que está más alejada de la posición O), que separan dicho grupo de celdas (i,j) (omyj) del exterior de dicha cuadrícula bidimensional; y
■ j', el número de grupos de celdas contados a lo largo de dicho eje x comenzando a partir del grupo de celdas más a la izquierda (es decir, el grupo de celdas que está más a la izquierda de la posición O), que separan dicho grupo de celdas (i,j) (omij) del exterior de dicha cuadrícula bidimensional, con lo que i' = i' 1 y j = j' 1. Por tanto, al grupo de celdas (i,j) (omij) que está más a la izquierda de la posición O en la hilera del grupo de celdas que está más alejada (es decir, encima) de la posición O se le asigna una coordenada (1,1), mientras que al grupo de celdas (i,j) (omy) que está más a la derecha de la posición O en la hilera del grupo de celdas que está más cerca de la posición O se le asigna una coordenada (I<g>,J<g>).
Sin embargo, una asignación alternativa de coordenadas a cada grupo de celdas puede ser la inversa, donde el segundo número, j, tiene el valor más bajo (1) en los grupos de celdas que están más a la derecha de la posición O, y el valor más alto (j<g>) en las celdas que están más a la izquierda de la posición O, y/o donde el primer número, i, tiene el valor más bajo (1) en la hilera de celdas que está más cerca de la posición O, y el valor más alto (Ig) en la hilera de celdas que está más alejada de la posición O. En esta asignación alternativa, la asignación del primer número, i, y del segundo número, j, a cualquier celda (i,j) dada se lleva a cabo determinando:
■ i', el número de grupos de celdas contados a lo largo de dicho eje y comenzando a partir del grupo de celdas que está más cerca de dicho robot (es decir, en la hilera del grupo de celdas que está más cerca de la posición O), que separan dicho grupo de celdas (i,j) (omij) del exterior de dicha cuadrícula bidimensional; y/o
■ j', el número de grupos de celdas contados a lo largo de dicho eje x comenzando desde el grupo de celdas más a la derecha (es decir, el grupo de celdas que está más a la derecha de la posición O), que separan dicho grupo de celdas (i,j) (omij) del exterior de dicha cuadrícula bidimensional, con lo que i = i' 1 y j = j' 1.
Por tanto, en un modo de realización, la etapa (ii) comprende subdividir la cuadrícula en seis zonas operativas iguales, como se explica en la figura 3 y se define matemáticamente en la fórmula (V) a través de la matriz de ocupación (OM).
Obsérvese que los índices h y v de la fórmula (V) deben ser números enteros positivos y, por lo tanto, los límites de las sumas se han establecido idealmente en una fracción de los límites de la cuadrícula Xg e Yg, tales como Xg/2 e Yg/3. Sin embargo, un límite idealmente establecido en, por ejemplo, Yg/3, en la práctica significa que una suma terminará en ||Yg/3|| y la serie consecutiva se iniciará en || Yg/3 ||+1. Las componentes de la matriz de ocupación omij son básicamente el recuento de las celdas ocupadas dentro de cada zona operativa, como se define en la etapa (v), a continuación.
La etapa (iii) comprende obtener puntos de datos usando el sensor A y puntos de datos usando el sensor B, en la que cada punto de datos es el punto en el espacio en el cual se reflejan ondas electromagnéticas o sonoras desde una superficie localizada dentro del volumen cuboide rectangular delimitado por las dimensiones de dicha cuadrícula bidimensional en el eje x y el eje y y tiene una altura de Zmáx - Zmín metros a lo largo de un eje z, en la que dicho eje z es un eje vertical perpendicular a dicho eje x y dicho eje y, y dicha superficie es la superficie de un objeto, en la que:
- Zmín es un valor seleccionado de -0,5 a 0,5 metros;
- Zmáx es un valor seleccionado de 1 a 5 metros;
en la que:
(a) a cada punto de datos obtenido usando el sensor A se le asigna una coordenada que comprende un primer número, xL, y un segundo número, yL, en la que:
- xL es la distancia a lo largo del eje x desde dicho punto de datos hasta O; e
- yL es la distancia a lo largo del eje y desde dicho punto de datos hasta O,
en la que la coordenada de la posición O es (0,0); y
(b) a cada punto de datos obtenido usando el sensor B se le asigna una coordenada que comprende un primer número, xV, y un segundo número, yV, en la que:
- xV es la distancia a lo largo del eje x desde dicho punto de datos hasta O; y
- yV es la distancia a lo largo del eje y desde dicho punto de datos hasta O,
en la que la coordenada de la posición O es (0,0).
Los sensores A y B obtienen puntos de datos, en los que cada punto de datos es el punto en el espacio en el cual las ondas electromagnéticas o sonoras se reflejan desde una superficie localizada dentro de un volumen cuboide rectangular. Dicha superficie es la superficie de un objeto que está localizado dentro de dicho volumen (en la invención, se considera que un objeto detectado está formado por varias celdas cuando el objeto está localizado dentro de varias celdas). Dicho volumen cuboide rectangular está delimitado por las dimensiones de dicha cuadrícula bidimensional en el eje x y el eje y y tiene una altura de Zmáx - Zmín metros a lo largo del eje z, en el que:
- Zmín es un valor seleccionado de -0,5 a 0,5 metros;
- Zmáx es un valor seleccionado de 1 a 5 metros.
Zmáx es un número entero positivo ya que está localizado encima del plano mencionado anteriormente definido por dicho eje y y un eje x (es decir, cuando dicha cuadrícula se ve a lo largo del eje y), mientras que Zmín es un número entero positivo cuando está localizado encima del plano mencionado anteriormente o un número entero negativo cuando está localizado debajo del plano mencionado anteriormente.
El sensor A y el sensor B están configurados preferentemente para obtener un máximo de k y m puntos de datos, respectivamente, en el que dicho máximo se refiere al número teórico máximo de mediciones que cualquier sensor determinado puede hacer durante un tiempo dado. En realidad, es probable que el número de puntos de datos obtenidos por cualquier sensor dado sea menor que dicho máximo porque, por ejemplo, si un sensor dado teóricamente puede detectar ondas electromagnéticas o sonoras que se reflejan a lo largo de una trayectoria hacia él, la ausencia de una superficie (y, por consiguiente, de un objeto) en dicho volumen que refleja dichas ondas a lo largo de dicha trayectoria dará como resultado que dicho sensor no recopile ningún punto de datos. Cuando el sensor A es un lidar y el sensor B es una cámara, k es más preferentemente un número entero entre 5 y 100 y m es más preferentemente un número entero entre 100.000 y 10.000.000, incluso más preferentemente k está entre 5 y 20 y m está entre 250.000 y 500.000. En el modo de realización ejemplificado donde el sensor A es un lidar de haces múltiples y el sensor B es una cámara estereoscópica, k es 11 y m es 640^480 = 307.200.
A cada punto de datos obtenido usando el sensor A se le asigna una coordenada que comprende un primer número, xL, y un segundo número, yL, en la que:
- xL es la distancia a lo largo del eje x desde dicho punto de datos hasta O (es decir, la distancia desde O que se extiende desde dicho robot hacia la izquierda o hacia la derecha a lo largo del eje x hasta dicho punto de datos); e
- yL es la distancia a lo largo del eje y desde dicho punto de datos hasta O (es decir, la distancia desde O que se extiende desde la parte frontal de dicho robot a lo largo del eje y hasta dicho punto de datos),
en la que la coordenada de la posición O es (0,0). Asimismo, a cada punto de datos obtenido usando el sensor B se le asigna una coordenada que comprende un primer número, xV, y un segundo número, yV, en la que:
- xV es la distancia a lo largo del eje x desde dicho punto de datos hasta O (es decir, la distancia desde O que se extiende desde dicho robot hacia la izquierda o hacia la derecha a lo largo del eje x hasta dicho punto de datos); e
- yV es la distancia a lo largo del eje y desde dicho punto de datos hasta O (es decir, la distancia desde O que se extiende desde la parte frontal de dicho robot a lo largo del eje y hasta dicho punto de datos),
en la que la coordenada de la posición O es (0,0). Por tanto, a modo de ejemplo, a un punto de datos que es el punto en el espacio localizado a 5 metros de la parte frontal del robot a lo largo del eje y y a 1 metro hacia la izquierda de dicho robot a lo largo del eje x desde dicho punto de datos hasta O, en el cual se refleja un haz láser de lidar del sensor A desde una superficie, se le asigna una coordenada (xL,yL) de (-1,5).
Por tanto, la cuadrícula bidimensional se rellena con las mediciones recuperadas del sensor A y del sensor B. La definición y el origen de las coordenadas para ambos sensores son los mismos. El origen de coordenadas estaba localizado en el plano mencionado anteriormente definido por el eje x y el eje y(cf.figura 1), pero podría igualmente estar situado en un plano paralelo al mismo a nivel del suelo. Supongamos que C<l>= {(xL,yL)<1>, ..., (xL,yL)k} sea el conjunto de k puntos de datos recuperados del sensor A, y Cv = {(xV, yV)<1>, ..., (xV,yV)m} sea el conjunto de m puntos de datos recuperados del sensor B (en realidad, dichos puntos de datos [Pi(x,y)] también comprenden una componente z [es decir, Pi(x,y,z)] de modo que C<l>= {(xL,yL,zL)<1>, ..., (xL,yL,zL)k} y C<v>= {(xV,yV,zV)<1>, ..., (xV,yV,zV)m}, pero la componente z de dichos puntos de datos no se emplea en el presente procedimiento y sistema). Estos conjuntos de coordenadas están delimitados por la resolución de los sensores (por ejemplo, el número de haces en el lidar o la resolución de imagen establecida en la cámara) para cada muestra obtenida en un tiempo de ciclo dado en el que un ordenador central que ejecuta el motor de percepción obtiene dichos puntos de datos. Para el caso en particular del robot mostrado en la figura 1, el número de haces lidar es de 11 (k < 11) y la resolución de imagen de la cámara estéreo es de 640 píxeles en la dimensión horizontal por 480 píxeles en la dimensión vertical (por tanto, m < 640 x 480). La capacidad de percepción de los sensores depende de sus respectivas especificaciones, pero el cálculo de las coordenadas siempre es propenso a errores. Para evitar valores atípicos graves, los elementos de Cl y Cv se delimitaron a valores lógicos a través del concepto de recuadro de validez (V<box>) que establece los límites lógicos a las coordenadas de los puntos de datos Pi(x,y) obtenidos de ambos sensores y para un entorno agrícola determinado de acuerdo con la fórmula (VI):
en la que P¡(x,y), Xmín, Xmáx, Ymáx, Zmín y Zmáx son como se definen anteriormente.
La etapa (iv) comprende convertir cada punto de datos en un punto de datos discretizados, en la que:
(a) el punto de datos (xL,yL) se convierte en un punto de datos discretizados (L<v>,L<h>), de acuerdo con las siguientes fórmulas:
- Lv = || yL/c ||; y
- Lh = || XL - Xmin)/c ||;
(b) el punto de datos (xV,yV) se convierte en un punto de datos discretizados (VV,VH) de acuerdo con las siguientes fórmulas:
- Lv = || yV/c ||; y
- L<h>= || XV - Xmin)/c ||.
Por lo tanto, la etapa (iv) convierte cada punto de datos (xL,yL) o (xV,yV) en el respectivo punto de datos discretizados (L<v>,L<h>) o (V<v>,V<h>), con lo que el punto de datos discretizados es una coordenada que tiene valores para (V<v>,V<h>) o (Vv,Vh) que corresponden a los valores de la coordenada (h,v) de una celda en particular. Por tanto, la posición horizontal h coincide con Lv y Vv, y la posición vertical v coincide con Lh y Vh. Cuando los valores de la coordenada de un punto de datos discretizados se corresponden con los valores de las coordenadas (h,v) de una celda en particular, se considera por lo tanto que dicha celda (h,v) contiene el contenido de dicho punto de datos discretizados. Puesto que dim(CL)+dim(Cv) normalmente es mayor que (X<g>^Y<g>), es común tener celdas que contienen diversos puntos, y múltiples puntos de datos discretizados obtenidos del sensor A y/o del sensor B se pueden mantener en cualquier celda dada (una celda se considera vacía cuando ningún punto de datos, tras la discretización, tiene una coordenada que tiene valores que se corresponden con los valores de la coordenada de dicha celda). Por ejemplo, cuando a un punto de datos de haz láser de lidar del sensor A se le asigna una coordenada (xL,yL) de (-1,5), y Xmín es -2 metros y c es 0,1 metros, el correspondiente punto de datos discretizados (Lv,Lh) es (30,10). Obsérvese que los puntos 3D teóricamente tienen una componente z y, por lo tanto, todos los puntos para los cuales Zmín < Z < Zmáx se encerraron en la misma celda de acuerdo con la etapa (iv), de ahí las fórmulas (VII) y (VIII):
V(xL,yL,zL) e CLLH —<w>
||<=>
(x<||>
L<y>
—<L>
X</c>
m<||>
ín)/ c||; Lv, L<h>e N
(VII)
V(xv,yv,zv) e Cvlí
v H<v>
=<v>
||<=>
(x<||>
v<y>
-<v>
X</c>
m<||>
ín)/ c||;Vv,VH e N
(VIII).
La etapa (v) comprende calcular un valor de función de fusión, r(h,v), para cada celda (h,v) de dicha cuadrícula bidimensional de acuerdo con la siguiente fórmula (I):
T(h,v) = KvyV(Vv,VH) K<l y^l>(L<v>,L<h>)
(I)
en la que:
- K<l>es un número entero no negativo seleccionado de entre 0 y 5;
- Yl(Lv,Lh) es un número completo calculado a partir del número Dn(Lh,Lv) de puntos de datos discretizados (Lv,Lh) para los cuales Lv = v y Lh = h;
- K<v>es un número entero no negativo seleccionado de entre 0 y 5;
- Yv(Vv,Vh) es un número completo calculado a partir del número Dn(Vh,Vv) de puntos de datos discretizados (Vv,Vh) para los cuales Vv = v y Vh = h.
Por tanto, el valor de función de fusión, T(h,v), para cada celda (h,v) de dicha cuadrícula bidimensional es un valor que es una unión ponderada de los puntos de datos obtenidos del sensor A y del sensor B que, tras una discretización según la etapa (iv), se mantienen en dicha celda. Dicho valor de función de fusión es un número natural.
Kv y Kl son constantes de ponderación que tienen un valor que se determina de acuerdo con la exactitud de los puntos de datos obtenidos del sensor B y del sensor A, respectivamente. Preferentemente, K<v>= K<l>= un número entero no negativo seleccionado de entre 0 y 5, más preferentemente de entre 1 y 3. En un modo de realización aún más preferente del procedimiento y sistema de la presente invención, cuando el sensor A es un lidar de haces múltiples y el sensor B es una cámara estereoscópica o de tiempo de vuelo 3D, Kv es 1 y Kl es 3.
La funciónyl(Lv,Lh) es un número completo calculado a partir del número Dn(Lh,Lv) de puntos de datos discretizados (L<v>,L<h>) para los cuales L<v>= v y L<h>= h. El número completo calculado a partir del número D<n>(L<h>,L<v>) es preferentemente el que se obtiene sumando el número de puntos de datos discretizados (L<v>,L<h>) para los cuales Lv = v y L<h>= h, cuando el contenido de una celda dada no requiere normalización. De forma alternativa, el número completo calculado a partir del número D<n>(L<h>,L<v>) es preferentemente:
- 1 cuando Dn(Lh,Lv) > THl • DN(LH,Lv)máx; o
- 0 cuando Dn(Lh,Lv) < THl • DN(LH,Lv)máx
en el que Dn(Lh,Lv) es:
■ el número completo de puntos de datos discretizados (Lv,Lh) cuando Lvc < 3; o
■ un número completo calculado a partir del número de puntos de datos discretizados (Lv,Lh) para los cuales Lv = v, Lh = h y Lvc > 3, multiplicado por (Lvc/3)2;
y en el que:
■ TH<l>es un valor umbral, en el que 0 < TH<l>< 1; y
■ DN(LH,Lv)máx es el valor máximo de D<n>(L<h>,L<v>) determinado para cualquier celda (h,v) de dicha cuadrícula bidimensional,
cuando el contenido de una celda dada sí requiere normalización. La normalización representa la función Yl(Lv,Lh) uniforme independientemente de la posición de la celda en dicha cuadrícula, dado que los objetos más cercanos al sensor A (es decir, los puntos de datos discretizados para los cuales Lvc < 3) están representados por un mayor número de puntos de datos discretizados que los objetos más distantes (como resultado del ángulo del campo de visión de las lentes). La normalización se requiere más preferentemente cuando dicho sensor A es una cámara tal como una cámara estereoscópica o de tiempo de vuelo 3D y no se requiere cuando dicho sensor A es un lidar. En un modo de realización, cuando el contenido de una celda dada requiere normalización, se dice que el número de puntos que se encuentran dentro de una celda de coordenadas (L<h>,L<v>) dada es su densidad 3D, y se representa como D(L<h>,L<v>) ^ 0. La densidad normalizada D<n>(L<h>,L<v>) que compensa la pérdida de resolución en alcances lejanos viene dada en la fórmula (IX) y corrige la densidad para alcances superiores a 3 m dejando sin cambios las celdas a menos de 3 m del sensor A:
dn(l h,l v) = jd (Lh,l v) - ( v3)Ly 'C_>3
\D (L h ,Lv) De otro modo
(IX)
No todas las celdas con D<n>(L<h>,L<v>) > 0 son representativas de la ocupación y, por lo tanto, apuntan a hileras de plantas reales, ya que las nubes de puntos típicamente están alteradas con una pequeña cantidad de valores atípicos con ruido. La definición de la función y para el sensor A, a saber yL (fórmula X), tiene en cuenta el ruido de dispersión a través de la aplicación de un umbral THL que asegura que solo las celdas con alta densidad pasen a la composición final de la cuadrícula. Si THl es el umbral para discriminar obstáculos del espacio vacío, la definición de yL es:
yL(LH,Lv) = ^DN(LH, Lv) > THL- máx(DN);0 < THL < 1
0 De otro modo
(X).
Asimismo, la función yV(Vv,VH) es un número completo calculado a partir del número D<n>(V<h>,V<v>) de puntos de datos discretizados (Vv,Vh) para los cuales Vv = v y Vh = h. El número completo calculado a partir del número Dn(Vh,Vv) es preferentemente el obtenido sumando el número de puntos de datos discretizados (V<v>,V<h>) para los cuales Vv = v y V<h>= h, cuando el contenido de una celda dada no requiere normalización. De forma alternativa, el número completo calculado a partir del número D<n>(V<h>,V<v>) es preferentemente:
- 1 cuando Dn(Vh,Vv) > THv DN(VH,Vv)máx; o
- 0 cuando D<n>(V<h>,V<v>) < TH v DN(VH,Vv)máx
en el que D<n>(V<h>,V<v>) es:
■ el número completo de puntos de datos discretizados (Vv,Vh) cuando V vc < 3; o
■ un número completo calculado a partir del número de puntos de datos discretizados (Vv,Vh) para los cuales V<v>= v, V<h>= h y V vc >3, multiplicado por (Vv*c/3)2;
y en el que:
■ THv es un valor umbral, en el que 0 < THv < 1; y
■ DN(VH,Vv)máx es el valor máximo de Dn(Vh,Vv) determinado para cualquier celda (h,v) de dicha cuadrícula bidimensional,
cuando el contenido de una celda dada sí requiere normalización. La normalización hará que la función yv(Vv,VH) sea uniforme independientemente de la posición de la celda en dicha cuadrícula, dado que los objetos más cercanos al sensor A (es decir, los puntos de datos discretizados para los cuales Vvc < 3) están representados por un mayor número de puntos de datos discretizados que los objetos más distantes. Como se ha mencionado anteriormente, la normalización se requiere más preferentemente cuando dicho sensor A es una cámara tal como una cámara estereoscópica o de tiempo de vuelo 3D y no se requiere cuando dicho sensor A es un lidar.
En otro modo de realización, cuando el contenido de una celda dada requiere normalización, se dice que el número de puntos que se encuentran dentro de una celda de coordenadas (V<h>,V<v>) dada es su densidad 3D y se representa como D(Vh,Vv) > 0. La densidad normalizada Dn(Vh,Vv) que compensa la pérdida de resolución en alcances lejanos viene dada en la fórmula (XI) y corrige la densidad para alcances superiores a 3 m dejando sin cambios las celdas situadas a menos de 3 m del sensor B:
o
No todas las celdas con D<n>(V<h>,V<v>) > 0 son representativas de la ocupación y, por lo tanto, apuntan a hileras de plantas reales, ya que las nubes de puntos típicamente están alteradas con una pequeña cantidad de valores atípicos con ruido. La definición de la función y para el sensor B, a saber, yv (fórmula XII), tiene en cuenta la dispersión del ruido a través de la aplicación de un umbral THv que asegura que solo las celdas con alta densidad pasen a la composición final de la cuadrícula. Si THv es el umbral para discriminar obstáculos del espacio vacío, la definición de yv es:
<v>(<i>, >. _ (1 D<n>(Lh, Lv) > THV- máx(DN); 0 < THV < 1
y (Lh, Lv) _ 1 n ________ ^
(XII)
En un modo de realización preferente del procedimiento y sistema de la presente invención, el sensor A es un lidar de haces múltiples y el sensor B es una cámara estereoscópica o de tiempo de vuelo 3D:
(a) yL(Lv,LH) es el número completo D<n>(L<h>,L<v>) de puntos de datos discretizados (L<v>,L<h>) para los cuales Lv = v y Lh = h; e
(b) yv(Vv,VH) es:
- 1 cuando Dn(Vh,Vv) > THv* DN(VH,Vv)máx; o
- 0 cuando Dn(Vh,Vv) < THv* DN(VH,Vv)máx
en el que Dn(Vh,Vv) es:
■ el número completo de puntos de datos discretizados (V<v>,V<h>) cuando Vvc < 3; o ■ un número completo calculado a partir del número de puntos de datos discretizados (Vv,Vh) para los cuales Vv = v, Vh = h y Vv*c > 3, multiplicado por (Vv*c/3)2;
y en el que:
■ THv es un valor umbral, en el que 0 < THv < 1; y
■ ÜN(VH,Vv)máx es el valor máximo de D<n>(V<h>,V<v>) determinado para cualquier celda (h,v) de dicha cuadrícula bidimensional.
Por tanto, una vez que las funciones yL(LV,LH) e yV(VV,VH) se han definido para ambas fuentes de información de percepción, su contenido se puede fusionar en un mapa único con el que se rellenará la cuadrícula bidimensional activa del APOM según la función de fusión r(h, v) descrita en la fórmula (I). Sin embargo, para que la función de fusión y el mapa aumentado sean coherentes, las unidades de distancia de c, los límites del recuadro de validez establecidos en la fórmula (VI) y las coordenadas de los conjuntos C<l>y C<v>tienen que ser necesariamente iguales, por ejemplo metros: en dicho caso, (L<v>,L<h>) apunta a la misma celda que (V<v>,V<h>), y por lo tanto las coordenadas se pueden simplificar como la notación (h,v) de la fórmula (I).
Dado que n = X<g>^Y<g>es la resolución de la cuadrícula activa, se supondrá que = { yL(1,1), yL(1,2), ..., yL(XG,YG) }n indica el conjunto de celdas activadas por el sensor A (es decir, aquellas en las que yl(Lv,Lh) > 0), y se supondrá que = { yv(1 ,1), yv0 ,2), ..., yV(XG,YG) }n indica el conjunto de celdas activadas por el sensor B (es decir, aquellas en las que yv(Vv,VH) > 0). La cuadrícula activa que contiene la información necesaria para determinar cómo desplazar el robot y, opcionalmente, para el cálculo del punto objetivo Pt, es la unión de ambos conjuntos, es decir, el APOM.
La naturaleza diversa de los sensores aconseja una unión ponderada en la fusión de ambos conjuntos para proporcionar r. Por ejemplo, cuando el sensor A es un lidar y el sensor B es una cámara estéreo, el lidar produce lecturas más exactas que la cámara estéreo, pero el hecho de que solo haya un número limitado de haces disponibles en cada ciclo da como resultado un rellenado desequilibrado de la cuadrícula, donde las lecturas de lidar son escasas pero muy fiables y los puntos basados en estéreo son numerosos pero propensos al ruido. Para hacer que la percepción del lidar sea más consecuente en la cuadrícula aumentada, cada celda activada por el lidar activó automáticamente las dos celdas que están justo encima y debajo, como se puede ver en las celdas de color gris oscuro de las cuadrículas representadas en la figura 3. Sin embargo, la mayor precisión y fiabilidad del lidar se trasladó matemáticamente a la cuadrícula final mediante la introducción de constantes de ponderación K<l>y Kv, como se muestra en la definición formal de r dada en la fórmula (I). En la versión ejemplificada del sistema de navegación que proporcionó las cuadrículas de la figura 3, K<l>= 3 y Kv = 1.
A partir de la definición matemática de las seis regiones de la cuadrícula bidimensional según la fórmula (IV), se calculan los parámetros geométricos posteriores para cada región específica omij. Por tanto, la etapa (vi) comprende calcular para cada grupo de celdas (ij) (omij):
(a) el total acumulado de valores de función de fusión, CUMij(h), de todas las celdas de dicho grupo de celdas que tienen una coordenada con el mismo valor h; y
(b) la suma de todos los totales acumulados de valores de función de fusión, SUMy, en dicho grupo de celdas; en la que cuando:
- SUMíj > ||0,4• OM|| dicho grupo de celdas se clasifica como activado en alto; y
- SUMíj > 110,2 • OM|| y < ||0,4 • OM|| dicho subvolumen se clasifica como activado en bajo,
en la que OM es el valor SUMij máximo determinado para cualquier grupo de celdas ( ij) (omij) de dicha cuadrícula bidimensional.
Por tanto, para cada grupo de celdas (i,j) (omij), cada valor de CUMij(h) se obtiene sumando los valores de función de fusión de todas las celdas de dicho grupo de celdas (i,j) (omij) que tienen una coordenada con el mismo valor h. Las celdas de dicho grupo de celdas (i,j) (omij) que tienen una coordenada con el mismo valor h son las que están en la misma columna de la cuadrícula (cuando se ve desde arriba, a lo largo del eje z), con lo que dicha columna de celdas es paralela al eje y. SUMij se obtiene sumando todos los valores CUMij(h) obtenidos de las celdas de dicho grupo de celdas (ij) (omij). Por tanto, SUMij = la suma de los valores de función de fusión, omij, de todas las celdas de dicho grupo de celdas (ij) (omij), en la que omij es un numero natural El valor omij (o SUMij) máximo determinado para cualquier grupo de celdas (i,j) (omij) de dicha cuadrícula bidimensional se designa OM según la fórmula (XIII).
OM = máxomij
1 < i < 3
1 < j < 2
(XIII)
Por tanto, el perfil acumulado CUMij(h) es como se define en la fórmula (XIV):
||Yp||
CUM12(h) = ^ r(h ,v); h = ||X<g>/2N 1.... XG
V=1
El perfil acumulado de la fórmula (XIV) se usa posteriormente para calcular el momento My según la fórmula (III). La suma del perfil acumulado SUM<11>se calculó de acuerdo con la fórmula (XV). Obsérvese que la suma del perfil acumulado para una zona operativa dada es equivalente a la cantidad de celdas en esa zona, lo que implica que omy = SUMij.
Los resultados específicos obtenidos del cálculo de la matriz de ocupación[cf.fórmula (V)] proporcionan evidencia de la percepción de la realidad por delante del robot y, por lo tanto, son determinantes a la hora de elegir una situación esperada de la lista dada en la tabla 2. En particular, se definieron los dos modos de activación divulgados anteriormente: activación alta y activación baja, con lo que cuando SUMij > ||0,4^ OM|| dicho grupo de celdas se clasifica como activado en alto [cf. fórmula (XVI)], y cuando SUMij > ||0,2 • OM|| y < ||0,4^ OM|| dicho subvolumen se clasifica como activado en bajo [cf. fórmula (XVII)]. En términos físicos, una activación en alto representa una evidencia contundente de la existencia de características (dosel y estructura de soporte), mientras que una activación en bajo implica una evidencia más débil y, por tanto, una gran incertidumbre en la identificación de los patrones de guiado.
Activación en alto 5!f o om¡j > ||0,4 • OM||
(XVI)
Activación en bajo 5?- o om^ > ||0,2 • OM||
(XVII)
La activación de cada grupo de celdas (i,j) (omy) se correlaciona con el número de puntos de datos (y por consiguiente, la percepción de objetos) obtenidos en el subvolumen del volumen cuboide rectangular delimitado por las dimensiones de dicho grupo de celdas en los ejes x e y y tiene una altura de Zmáx _ Zmín metros a lo largo del eje z. Por lo tanto, para un subvolumen en el que se obtiene un gran número de puntos de datos, el correspondiente grupo de celdas se clasifica como activado en alto (según la definición anterior), mientras que para un subvolumen en el que se obtiene un número moderado de puntos de datos, el correspondiente grupo de celdas se clasifica como activado en bajo (según la definición anterior), mientras que para un subvolumen en el que se obtienen pocos o ningún punto de datos (es decir, SUM^ > ||0,2 • OM||) el correspondiente grupo de celdas no se clasifica como activado.
La etapa (vii) comprende el desplazamiento del robot:
(a) a través de un plano definido por dicho eje y y dicho eje x hacia un punto objetivo Pt situado por delante del robot, en la línea central paralela a la hilera derecha desde la cual el sensor A y el sensor B detectan ondas electromagnéticas y acústicas reflejadas y separado de él por una distancia Q/2:
- cuando está fuera del conjunto Sr que consiste en los grupos de celdas (1,1), (2,1), (3,1) y (1,2):
■ oirm está activado en alto,
■ oirm está activado en alto y om<21>está activado en bajo,
■ oirm está activado en bajo y om<21>está activado en alto,
■ om<21>está activado en bajo,
■ om<21>está activado en bajo y om31 está activado en bajo,
■ om31 está activado en bajo, o
■ om<12>está activado en bajo y om<21>está activado en alto,
y ningún otro grupo de celdas de dicho conjunto Sr o los grupos de celdas (2,2) o (3,2) está activado; o (b) a través de un plano definido por dicho eje y y dicho eje x hacia un punto objetivo Pt situado delante del robot, en la línea central paralela a la hilera derecha desde la cual el sensor A y el sensor B detectan ondas electromagnéticas y acústicas reflejadas y separado de él por una distancia Q/2:
- cuando está fuera del conjunto S<l>que consiste en los grupos de celdas (1,2), (2,2), (3,2) y (1,1):
■ om<12>está activado en alto,
■ om<12>está activado en alto y om<22>está activado en bajo,
■ om<12>está activado en bajo y om<22>está activado en alto,
■ om<22>está activado en bajo,
■ om<22>está activado en bajo y om32 está activado en bajo,
■ om32 está activado en bajo, o
■ oirm está activado en bajo y om<22>está activado en alto,
y ningún otro grupo de celdas de dicho conjunto S<l>o los grupos de celdas (2,1) o (3,1) está activado; o (c) a través de un plano definido por dicho eje y y dicho eje x hacia un punto objetivo Pt situado delante del robot, en la línea central equidistante a ambas hileras desde donde el sensor A y el sensor B detectan ondas electromagnéticas y acústicas reflejadas:
- cuando está fuera del conjunto S<r>que consiste en los grupos de celdas (1,1), (2,1), (3,1) y (1,2):
■ oirm está activado en alto,
■ oirm está activado en alto y om<21>está activado en bajo,
■ oirm está activado en bajo y om<21>está activado en alto,
■ om<21>está activado en bajo,
■ om<21>está activado en bajo y om31 está activado en bajo,
■ om31 está activado en bajo, o
■ om<12>está activado en bajo y om<21>está activado en alto,
y ningún otro grupo de celdas de dicho conjunto S<r>o los grupos de celdas (2,2) o (3,2) está activado; y - cuando está fuera del conjunto S<l>que consiste en los grupos de celdas (1,2), (2,2), (3,2) y (1,1):
■ om<12>está activado en alto,
■ om<12>está activado en alto y om<22>está activado en bajo,
■ om<12>está activado en bajo y om<22>está activado en alto,
■ om<22>está activado en bajo,
■ om<22>está activado en bajo y om32 está activado en bajo,
■ om32 está activado en bajo,
■ omii está activado en bajo, om<22>está activado en alto
y ningún otro grupo de celdas de dicho conjunto Sl o los grupos de celdas (2,1) o (3,1) está activado.
La etapa (vii) describe tres situaciones (a) a (c), en las que el robot gira para desplazarse hacia el punto objetivo Pt que se calcula a partir de la hilera izquierda detectada (situación a), la hilera derecha detectada (situación b) o ambas hileras detectadas (situación c) como respuesta a la activación de unos grupos de celdas en particular dentro de dos conjuntos de grupos de celdas, Sr y Sl. Cada situación (a) a (c) se corresponde respectivamente con las situaciones de percepción 1 a 3 de la tabla 2, que también divulga el resultado.
Tabla 2:Situaciones de percepción y resultados
Situación Descripción Resultado
0 Sin características: error de percepción Detener el robot y enviar advertencia
1 = (c) Se detectan las hileras izquierda y derecha El robot gira hacia el punto objetivo calculado Pt
2 = (a) Se detecta la hilera izquierda El robot gira hacia el punto objetivo calculado Pt
3 = (b) Se detecta la hilera derecha El robot gira hacia el punto objetivo calculado Pt
10 Demasiado cerca de la hilera izquierda Corrección pronunciada a la derecha
11 Demasiado cerca de la hilera derecha Corrección pronunciada a la izquierda
Cada situación implica que se activen grupos de celdas en particular de cada conjunto de grupos de celdas, con lo que siete condiciones de activación posibles pueden dar como resultado la detección de la hilera izquierda (situación a,cf.tabla 3), la detección de la hilera derecha (situación b,cf.tabla 4) o la detección de las hileras izquierda y derecha (situación c). Cuando el robot se desplaza hacia delante, ejerce continuamente una pequeña corrección a la izquierda y a la derecha hacia el punto objetivo Pt, localizado por delante del robot y en la línea central que está Q/2 metros a la derecha de la hilera izquierda detectada, Q/2 metros a la izquierda de la hilera derecha detectada o equidistante entre ambas hileras detectadas de acuerdo con qué situación se identifica, la situación (2), la situación (3) o la situación (1), respectivamente.
Tabla 3.Condiciones individuales (C1 a C7) de los grupos de celdas (1,1), (2,1), (3,1) y (1,2) (correspondientes a los elementos de oirm, om<21>, om31 y om31 de la matriz de ocupación) que activan la situación 2
Tabla 4.Condiciones individuales (C1 a C7) de los grupos de celdas (1,1), (1,2), (2,2) y (3,2) (correspondientes a los elementos de omn, om<12>, om<22>y om32 de la matriz de ocupación) que activan la situación 3
Obsérvese que la situación 0 de la tabla 2 equivale a la ausencia de percepción (dicho de otro modo, no se detecta ningún objeto, incluyendo hileras), lo que es un indicador de un fallo en el sistema de percepción (fallan todos los sensores) o de la posibilidad de que el robot haya salido del campo por error, o incluso de grandes espacios inesperados en ambas hileras laterales (por ejemplo, cuando hay muchas vides muertas) de una longitud superior a Ymáx - 0 metros. En cualquier caso, la situación 0 solo se desencadena cuando se considera toda la cuadrícula y solo 6 celdas o menos están ocupadas por puntos de datos (es decir, r(h,v) es 1 o más para 6 celdas o menos). Por tanto, desde un punto de vista práctico, la matriz de ocupación OM se considera vacía en la situación 0, lo que permite ruido momentáneo ocasional, con un valor inferior a uno (omy = 1) por zona operativa de promedio, es decir, menos de una suma de seis para toda la cuadrícula, como se define matemáticamente en la fórmula (XVIII).
En dichas circunstancias, el espacio por delante del robot se considera vacío y no es posible una navegación automatizada. Por lo tanto, preferentemente al menos 1 celda (de promedio) debería estar ocupada por cada grupo de celdas (i,j) (omy), lo que ascendería a un total de al menos 6 celdas, una por cada una de las 6 regiones omy. Los grupos de celdas (i,j) independientes nunca se usan para detectar la situación 0, pero los grupos de celdas (i,j) independientes se usan para identificar todas las demás situaciones mencionadas en la tabla 2. En cualquier caso, la situación 0 es inestable y requiere detener el movimiento del robot.
La situación 1, que es la más deseada en términos de estabilidad, se produce cuando se activan simultáneamente las situaciones 2 y 3, según lo determinado por las tablas 3 y 4. Con propósitos de guiado entre hileras, solo son válidas las situaciones 1, 2 y 3, ya que estas son las que se usan para calcular el punto objetivo (hacia donde se dirige el robot), que opcionalmente determina el ángulo de dirección enviado a las ruedas frontales. Las situaciones 10 y 11, por el contrario, indican un riesgo de colisión potencial cuya anticipación requiere una reacción brusca sin necesidad de conocer la posición ideal para el punto objetivo, obviamente sin valor en dichas circunstancias. La activación de las situaciones 10 y 11 combina información de la matriz de ocupación, al igual que las operaciones que desencadenan las situaciones 2 y 3, con las restricciones de un lidar y un sonar específicas.
En un modo de realización preferente del procedimiento y sistema de la presente invención, la etapa (vii) también comprende calcular para cada grupo de celdas (i,j) (omij) para el cual SUMij > 1, un valor de posición de hilera esperado, Lij, de acuerdo con la siguiente fórmula (II):
en el que Mij es la suma de t valores de todas las celdas de dicho grupo de celdas que tienen una coordenada con el mismo valor h, en el que dichos t valores se calculan de acuerdo con la siguiente fórmula (III):
en el que:
(a) cuando el robot se desplaza a través de un plano definido por dicho eje y y dicho eje x girando hacia el punto objetivo Pt que está Q/2 metros a la derecha del límite de hilera RBl a una distancia de Ymáx^ r metros de O, en el que:
- RB<l>es el promedio ponderado Ly de los grupos de celdas (i,j) que tienen una coordenada con el valor j de 1; y
- r está entre 0,5 y 0,9;
(b) cuando el robot se desplaza a través de un plano definido por dicho eje y y dicho eje x girando hacia el punto objetivo Pt que está Q/2 metros a la izquierda del límite de hilera RBr a una distancia de Ymáx^ r metros de O, en el que:
- RB<r>es el promedio ponderado Ly de los grupos de celdas (i,j) que tienen una coordenada con el valor j de 2;
(c) cuando el robot se desplaza a través de un plano definido por dicho eje y y dicho eje x girando hacia el punto objetivo Pt que está situado equidistante entre RBl y RBr. Por tanto, Pt se identifica mediante una coordenada que comprende un primer número, xt, y un segundo número, yt, en el que yt = Ymáx^ r y xt está Q/2 metros a la derecha del límite de hilera RB<l>, Q/2 metros a la izquierda del límite de hilera RB<r>o equidistante entre RB<l>y RB<r>de acuerdo con qué situación se identifica, la situación (2), la situación (3) o la situación (1), respectivamente.
Cuando SUMij > 1 para un grupo dado de celdas (i,j) (omij), se puede calcular el valor de posición de hilera esperado, Lij, para el mismo. Por tanto, cada zona operativa con el relleno apropiado de sus celdas dará lugar a una posición de línea estimada Lij, como se representa gráficamente en la figura 4, con lo que la sección particular de la línea Ly que interviene en el cálculo de Pt(Xt, yt) depende de la activación de un omy específico. Dicha posición de la hilera esperada es una estimación de la posición de hilera calculada de acuerdo con la fórmula (II). En la fórmula (II), X<g>, J<g>y SUMij son como se define anteriormente, y My es el momento calculado según la fórmula (III). Cada valor de posición de hilera esperado, Lij, se usa posteriormente para calcular un límite de hilera izquierda RB<l>y un límite de hilera derecha RB<r>, en el que el límite de hilera izquierda RB<l>es el promedio ponderado Ly de los grupos de celdas (i,j) que tienen una coordenada con el valor j de 1 y el límite de hilera derecha RB<r>es el promedio ponderado Lij de los grupos de celdas (ij) que tienen una coordenada con el valor j de 2.
A modo de ejemplo, la expresión para la primera zona Mu viene dada en la fórmula (XIX), siendo fácilmente deducible el resto de los momentos Mij para el resto de omij usando la misma geometría que se usa en la fórmula (XIV) y en el modo de realización preferente mencionado anteriormente para la etapa (iv) en la que se calcula Mij.
El objetivo del cálculo de momentos es detectar la probabilidad más alta, dentro de los grupos operativos, omij, de localizar hileras de vegetación en base a la evidencia de percepción. Teniendo en cuenta que el algoritmo espera hileras paralelas por delante del vehículo, cada zona dio como resultado una situación esperada para la sección de la hilera dada por la función L y definida en la fórmula (II) y, con más detalle, tanto para el lado izquierdo como para el derecho del campo de visión, en la fórmula (XX). La alineación de Lij en zonas bien rellenadas fue una indicación de percepción fiable y, por tanto, dio lugar a estimaciones estables del punto objetivo. Los desalineaciones y el escaso rellenado de la cuadrícula anticipaban contextos de navegación complejos. En la figura 3, se muestran algunos ejemplos del proceso de cálculo hasta la estimación de la posición de las hileras dada por la función L. La morfología de la matriz de ocupación OM, por tanto, dio como resultado la definición de las seis situaciones de percepción enunciadas en la tabla 2.
Cuando el robot identifica cualquiera de las siete condiciones de la situación de la etapa (viii)(a) (es decir, la situación 2), el robot se desplaza a través de un plano definido por dicho eje y y dicho eje x girando hacia un punto Pt que está Q/2 metros a la derecha del límite de hilera izquierda RBl a una distancia de Ymáx^ r metros de O, en la que r está entre 0,5 y 0,9. En cambio, cuando el robot identifica cualquiera de las siete condiciones de la situación de la etapa (viii)(b) (es decir, la situación 3), el robot se desplaza a través de un plano definido por dicho eje y y dicho eje x girando hacia un punto Pt que está Q/2 metros a la izquierda del límite de hilera derecha RBr a dicha distancia de Ymáx^ r metros de O. Por otra parte, cuando el robot identifica cualquiera de las siete condiciones de la situación de la etapa (viii) (a) y cualquiera de las siete condiciones de la situación de la etapa (viii)(b) (es decir, la situación 1), el robot se desplaza en línea recta con un suave giro, hacia un punto Pt que se está situado equidistante entre RBl y RBr. Por tanto, las situaciones 2 y 3(cf.tabla 2) solo perciben una de las hileras de guiado y, por lo tanto, se ven obligadas a situar el punto objetivo con un desplazamiento de la mitad de la separación entre las hileras desde el límite de hilera detectado RBl o RBr. La situación 1, por el contrario, localiza ambas líneas de guiado dentro del APOM, y Pt residirá en el lugar geométrico que es equidistante de ambos límites de hilera estimados (12).
Además, en un modo de realización especialmente preferente, la presente invención se refiere a un procedimiento para navegación autónoma de un robot entre dos hileras de plantas separadas por Q metros, en el que dicho robot comprende dos dispositivos sensores, sensor A y sensor B, montados en una posición O sobre el mismo y se desplaza hacia delante a lo largo de un eje y que se dirige de forma autónoma ejerciendo correcciones angulares para situar el robot lo más cerca posible de la línea central, en el que cada dispositivo sensor es un dispositivo que detecta ondas electromagnéticas o detecta ondas sonoras, y en el que el sensor A es un lidar de haces múltiples y el sensor B es una cámara estereoscópica o de tiempo de vuelo 3D, y
en el que dicho eje y es un eje horizontal y dicho eje x es un eje horizontal perpendicular a dicho eje y,
y en el que dicho procedimiento comprende las siguientes etapas:
(i) definir una cuadrícula bidimensional de celdas cuadradas en dicho plano, en el que dicha cuadrícula tiene X<g>celdas de anchura y Yg celdas de longitud, y dichas celdas tienen lados de longitud c, en el que:
(a) dicha anchura se extiende horizontalmente |Xmín| metros desde O hacia la izquierda a lo largo de dicho eje x y horizontalmente Xmáx metros desde O hacia la derecha a lo largo de dicho eje x; y
(b) dicha longitud se extiende horizontalmente Ymáx. metros desde O a lo largo de dicho eje y; en la que:
- Xmín = -X g*c/2;
- Xmáx = Xg*C/2
- Ymáx = YG*C;
- X<g>es un número completo seleccionado de entre 30 y 60;
- Y<g>es un número completo seleccionado de entre 60 y 100; y
- c es un número seleccionado de entre 0,05 y 0,2 m; y
(c) a cada celda (h,v) se le asigna una coordenada que comprende un primer número, h, y un segundo número, v, en el que h es un número de 1 a X<g>y v es un número de 1 a Y<g>, en el que:
- h = h' 1; y
- v = v' 1;
en el que:
■ h' es el número de dichas celdas, contadas a lo largo de dicho eje x comenzando a partir de la celda más a la izquierda, que separan dicha celda (h,v) del exterior de dicha cuadrícula bidimensional; y
■ v' es el número de dichas celdas, contadas a lo largo de dicho eje y comenzando a partir de la celda que está más alejada de dicho robot, que separan dicha celda (h,v) del exterior de dicha cuadrícula bidimensional;
(ii) dividir la cuadrícula bidimensional de celdas cuadradas en I<g>*J<g>grupos de celdas, en el que cada grupo tiene Xg/Jg celdas de anchura e Yg/Ig celdas de longitud, en el que:
(a) Ig es 3;
(b) Jg es 2; y
(c) a cada grupo de celdas (i,j) (omij) se le asigna una coordenada que comprende un primer número, i, y un segundo número, j, en el que i es un número de 1 a Ig y j es un número de 1 a Jg, en el que:
- i = i' 1 y
- j = j' 1,
en el que:
■ i' es el número de dichos grupos de celdas, contados a lo largo de dicho eje y comenzando a partir del grupo de celdas que está más alejado de dicho robot, que separan dicho grupo de celdas del exterior de dicha cuadrícula bidimensional; y
■ j' es el número de dichos grupos de celdas, contados a lo largo de dicho eje x comenzando a partir del grupo de celdas más a la izquierda, que separan dicho grupo de celdas (i,j) (omij) del exterior de dicha cuadrícula bidimensional;
(iii) obtener puntos de datos usando el sensor A y puntos de datos usando el sensor B, en el que cada punto de datos es el punto en el espacio en el cual se reflejan ondas electromagnéticas o sonoras desde una superficie localizada dentro del volumen cuboide rectangular delimitado por las dimensiones de dicha cuadrícula bidimensional en el eje x y el eje y y tiene una altura de Zmáx - Zmín metros a lo largo de un eje z, en el que dicho eje z es un eje vertical perpendicular a dicho eje x y dicho eje y, y dicha superficie es la superficie de un objeto, en el que:
- Zmín es un valor seleccionado de -0,5 a 0,5 metros;
- Zmáx es un valor seleccionado de 1 a 5 metros;
en el que:
(a) a cada punto de datos obtenido usando el sensor A se le asigna una coordenada que comprende un primer número, xL, y un segundo número, yL, en el que:
- xL es la distancia a lo largo del eje x desde dicho punto de datos hasta O; e
- yL es la distancia a lo largo del eje y desde dicho punto de datos hasta O, en el que la coordenada de la posición O es (0,0); y
(b) a cada punto de datos obtenido usando el sensor B se le asigna una coordenada que comprende un primer número, xV, y un segundo número, yV, en la que:
- xV es la distancia a lo largo del eje x desde dicho punto de datos hasta O; y
- yV es la distancia a lo largo del eje y desde dicho punto de datos hasta O, en el que la coordenada de la posición O es (0,0);
(iv) convertir cada punto de datos en un punto de datos discretizados, en el que:
(a) el punto de datos (xL,yL) se convierte en un punto de datos discretizados (L<v>,L<h>), de acuerdo con las siguientes fórmulas:
- Lv = || yL/c ||; y
- Lh = 11 (XL - Xmín)/c 11;
(b) el punto de datos (xV,yV) se convierte en un punto de datos discretizados (VV,VH) de acuerdo con las siguientes fórmulas:
- Vv = || yV/c ||; y Vh = II (xV - Xmín)/c ||;
(v) calcular un valor de función de fusión, r(h,v), para cada celda (h,v) de dicha cuadrícula bidimensional de acuerdo con la siguiente fórmula (I):
r (h,v) = Kv y V(Vv,Vh) Kl y^L(Lv,Lh)
(I)
en el que:
- Kl es un número entero no negativo seleccionado de entre 0 y 5;
- YL(L<v>,L<h>) es el número completo D<n>(L<h>,L<v>) de puntos de datos discretizados (L<v>,L<h>) para los cuales L<v>= v y Lh = h;
- Kv es un número entero no negativo seleccionado de entre 0 y 5;
- yv(Vv,VH) es:
- 1 cuando D<n>(V<h>,V<v>) > TH<v>DN(VH,Vv)máx; o
- 0 cuando Dn(Vh,Vv) < THv* DN(VH,Vv)máx;
en el que Dn(Vh,Vv) es:
■ el número completo de puntos de datos discretizados (Vv,Vh) cuando Vv o^ < 3; o ■ un número completo calculado a partir del número de puntos de datos discretizados (Vv,Vh) para los cuales V<v>= v, V<h>= h y V vc > 3, multiplicado por (Vvc/3)2;
y en el que:
■ THv es un valor umbral, en el que 0 < THv < 1; y
■ ÜN(VH,Vv)máx es el valor máximo de Dn(Vh,Vv) determinado para cualquier celda (h,v) de dicha cuadrícula bidimensional;
(vi) calcular para cada grupo de celdas (ij) (omy):
(a) el total acumulado de valores de función de fusión, CUMy(h), de todas las celdas de dicho grupo de celdas que tienen una coordenada con el mismo valor h; y
(b) la suma de todos los totales acumulados de valores de función de fusión, SUMij, de dicho grupo de celdas; y
(c) cuando SUMij > 1, un valor de posición de hilera esperado, Lij, de acuerdo con la siguiente fórmula (II):
Ly = || Xg/Jg - Mij/SUMij ||
(II)
en el que Mij es la suma de t valores de todas las celdas de dicho grupo de celdas que tienen una coordenada con el mismo valor h, en el que dichos t valores se calculan de acuerdo con la siguiente fórmula (III):
t = (|| X<g>/ J<g>|| - h) •CUMij(h)
(III)
en el que cuando:
- SUMij & 110,4 • OM|| dicho grupo de celdas se clasifica como activado en alto; y
- SUMij & 110,2 • OM|| y < ||0,4^ OM|| dicho subvolumen se clasifica como activado en bajo, en el que OM es el valor de SUMij máximo determinado para cualquier grupo de celdas (ij) (omij) de dicha cuadrícula bidimensional;
en el que:
(vii) el robot se desplaza:
(a) a través de un plano definido por dicho eje y y dicho eje x:
- cuando está fuera del conjunto S<r>que consiste en los grupos de celdas (1,1), (2,1), (3,1) y (1,2):
■ omn está activado en alto,
■ omn está activado en alto y om<21>está activado en bajo,
■ omn está activado en bajo y om<21>está activado en alto,
■ om<21>está activado en bajo,
■ om<21>está activado en bajo y om31 está activado en bajo,
■ om31 está activado en bajo, o
■ om<12>está activado en bajo y om<21>está activado en alto,
y ningún otro grupo de celdas de dicho conjunto S<r>o los grupos de celdas (2,2) o (3,2) está activado; o
(b) a través de un plano definido por dicho eje y y dicho eje x:
- cuando está fuera del conjunto S<l>que consiste en los grupos de celdas (1,2), (2,2), (3,2) y (1,1):
■ om<12>está activado en alto,
■ omi<2>está activado en alto y om<22>está activado en bajo,
■ om<12>está activado en bajo y om<22>está activado en alto,
■ om<22>está activado en bajo,
■ om<22>está activado en bajo y om32 está activado en bajo,
■ om32 está activado en bajo u
■ omii está activado en bajo y om<22>está activado en alto,
y ningún otro grupo de celdas de dicho conjunto S<l>o los grupos de celdas (2,1) o (3,1) está activado; o
(c) a través de un plano definido por dicho eje y y dicho eje x:
- cuando está fuera del conjunto Sr que consiste en los grupos de celdas (1,1), (2,1), (3,1) y (1,2):
■ omn está activado en alto,
■ oirrn está activado en alto y om<21>está activado en bajo,
■ oirrn está activado en bajo y om<21>está activado en alto,
■ om<21>está activado en bajo,
■ om<21>está activado en bajo y om31 está activado en bajo,
■ om31 está activado en bajo u
■ om<12>está activado en bajo y om<21>está activado en alto,
y ningún otro grupo de celdas de dicho conjunto Sr o los grupos de celdas (2,2) o (3,2) está activado; y
- cuando está fuera del conjunto Sl que consiste en los grupos de celdas (1,2), (2,2), (3,2) y (1,1):
■ om<12>está activado en alto,
■ om<12>está activado en alto y om<22>está activado en bajo,
■ om<12>está activado en bajo y om<22>está activado en alto
■ om<22>está activado en bajo,
■ om<22>está activado en bajo y om32 está activado en bajo,
■ om32 está activado en bajo,
■ oirrn está activado en bajo, om<22>está activado en alto
y ningún otro grupo de celdas de dicho conjunto S<l>o los grupos de celdas (2,1) o (3,1) está activado, en el que:
(d) cuando el robot se desplaza a través de un plano definido por dicho eje y y dicho eje x girando hacia el punto objetivo Pt que está Q/2 metros a la derecha del límite de hilera RBl a una distancia de anticipación de Ymáx^ r metros de O, en el que:
- RB<l>es el promedio ponderado Lij de los grupos de celdas (i,j) que tienen una coordenada con el valor j de 1; y
- r está entre 0,5 y 0,9;
(e) cuando el robot se desplaza a través de un plano definido por dicho eje y y dicho eje x girando hacia el punto objetivo Pt que está Q/2 metros a la izquierda del límite de hilera RB<r>a una distancia de anticipación de Ymáx^ r metros de O, en el que:
- RB<r>es el promedio ponderado Lij de los grupos de celdas (i,j) que tienen una coordenada con el valor j de 2;
(f) cuando el robot se desplaza a través de un plano definido por dicho eje y y dicho eje x girando hacia el punto objetivo Pt que está situado equidistante entre RB<l>y RB<r>.
Asimismo, en un modo de realización especialmente preferente, la presente invención también se refiere a un sistema para navegación autónoma de un robot entre dos hileras de plantas separadas por Q metros, en el que dicho robot comprende dos dispositivos sensores, sensor A y sensor B, montados en una posición O sobre el mismo y se desplaza hacia delante a lo largo de un eje y que se dirige de forma autónoma ejerciendo correcciones angulares para situar el robot lo más cerca posible de la línea central, en el que cada dispositivo sensor es un dispositivo que detecta ondas electromagnéticas o detecta ondas sonoras, y en el que el sensor A es un lidar de haces múltiples y el sensor B es una cámara estereoscópica o de tiempo de vuelo 3D,
y
en el que dicho eje y es un eje horizontal y dicho eje x es un eje horizontal perpendicular a dicho eje y,
y en el que dicho sistema comprende lo siguiente:
(i) medios para definir una cuadrícula bidimensional de celdas cuadradas en dicho plano, en el que dicha cuadrícula tiene Xg celdas de anchura e Yg celdas de longitud, y dichas celdas tienen lados de longitud c, en el que:
(a) dicha anchura se extiende horizontalmente |Xmín| metros desde O hacia la izquierda a lo largo de dicho eje x y horizontalmente Xmáx metros desde O hacia la derecha a lo largo de dicho eje x; y
(b) dicha longitud se extiende horizontalmente Ymáx metros desde O a lo largo de dicho eje y; en el que:
- Xmín = -Xg*C/2;
- Xmáx = Xg*C/2;
- Ymáx = Yg-C;
- Xg es un número completo seleccionado de entre 30 y 60;
- Yg es un número completo seleccionado de entre 60 y 100;
- y c es un número seleccionado de entre 0,05 y 0,2 m; y
(c) a cada celda (h,v) se le asigna una coordenada que comprende un primer número, h, y un segundo número, v, en el que h es un número de 1 a Xg y v es un número de 1 a Yg, en el que:
- h = h' 1; y
- v = v' 1;
en el que:
■ h' es el número de dichas celdas, contadas a lo largo de dicho eje x comenzando a partir de la celda más a la izquierda, que separan dicha celda (h,v) del exterior de dicha cuadrícula bidimensional; y
■ v' es el número de dichas celdas, contadas a lo largo de dicho eje y comenzando a partir de la celda que está más alejada de dicho robot, que separan dicha celda (h,v) del exterior de dicha cuadrícula bidimensional;
(ii) medios para dividir la cuadrícula bidimensional de celdas cuadradas en I<g>*J<g>grupos de celdas, en el que cada grupo tiene Xg/Jg celdas de anchura e Yg/lg celdas de longitud, en el que:
(a) Ig es 3;
(b) Jg es 2; y
(c) a cada grupo de celdas (i,j) (omij) se le asigna una coordenada que comprende un primer número, i, y un segundo número, j, en el que i es un número de 1 a Ig y j es un número de 1 a Jg , en el que
- i = i' 1 y
- j = j' 1,
en el que:
■ i' es el número de dichos grupos de celdas, contados a lo largo de dicho eje y comenzando a partir del grupo de celdas que está más alejado de dicho robot, que separan dicho grupo de celdas del exterior de dicha cuadrícula bidimensional; y
■ j' es el número de dichos grupos de celdas, contados a lo largo de dicho eje x comenzando a partir del grupo de celdas más a la izquierda, que separan dicho grupo de celdas ( ij) (omij) del exterior de dicha cuadrícula bidimensional;
(iii) medios para obtener puntos de datos usando el sensor A y puntos de datos usando el sensor B, en el que cada punto de datos es el punto en el espacio en el cual se reflejan ondas electromagnéticas o sonoras desde una superficie localizada dentro del volumen cuboide rectangular delimitado por las dimensiones de dicha cuadrícula bidimensional en el eje x y el eje y y tiene una altura de Zmáx - Zmín metros a lo largo de un eje z, en el que dicho eje z es un eje vertical perpendicular a dicho eje x y dicho eje y, y dicha superficie es la superficie de un objeto, en el que:
- Zmín es un valor seleccionado de -0,5 a 0,5 metros;
- Zmáx es un valor seleccionado de 1 a 5 metros;
en el que:
(a) a cada punto de datos obtenido usando el sensor A se le asigna una coordenada que comprende un primer número, xL, y un segundo número, yL, en el que:
- xL es la distancia a lo largo del eje x desde dicho punto de datos hasta O; e
- yL es la distancia a lo largo del eje y desde dicho punto de datos hasta O,
en el que la coordenada de la posición O es (0,0); y
(b) a cada punto de datos obtenido usando el sensor B se le asigna una coordenada que comprende un primer número, xV, y un segundo número, yV, en el que:
- xv es la distancia a lo largo del eje x desde dicho punto de datos hasta O; y
- yV es la distancia a lo largo del eje y desde dicho punto d datos hasta O,
en el que la coordenada de la posición O es (0,0);
(iv) medios para convertir cada punto de datos en un punto de datos discretizados, en el que:
(a) el punto de datos (xL,yL) se convierte en un punto de datos discretizados (L<v>,L<h>), de acuerdo con las siguientes fórmulas:
- Lv = || yL/c ||; y
- Lh = 11 (XL - Xmín)/c 11;
(b) el punto de datos (xV,yV) se convierte en un punto de datos discretizados (VV,Vh) de acuerdo con las siguientes fórmulas:
- Vv = || yv/c ||; y
- Vh = II (xv - Xmín)/c ||;
(v) medios para calcular un valor de función de fusión, r(h,v), para cada celda (h,v) de dicha cuadrícula bidimensional de acuerdo con la siguiente fórmula (I):
r (h,v) = KvyV(Vv,VH) K<l y^l>(L<v>,L<h>)
(I)
en el que:
- K<l>es un número entero no negativo seleccionado de entre 0 y 5;
- Yl(L<v>,L<h>) es el número completo D<n>(L<h>,L<v>) de puntos de datos discretizados (L<v>,L<h>) para los cuales L<v>= v y L<h>= h;
- Kv es un número entero no negativo seleccionado de entre 0 y 5; yV(Vv,VH) es:
- 1 cuando D<n>(V<h>,V<v>) > THvDN(VH,Vv)máx; o
- 0 cuando D<n>(V<h>,V<v>) < THv^ DN(VH,Vv)máx en el que D<n>(V<h>,V<v>) es:
■ el número completo de puntos de datos discretizados (Vv,Vh) cuando Vvc < 3; o ■ un número completo calculado a partir del número de puntos de datos discretizados (Vv,Vh) para los cuales V<v>= v, V<h>= h y V yc > 3, multiplicado por (V<vc>/3)2;
y en el que:
■ THv es un valor umbral, en el que 0 < THv < 1; y
■ DN(VH,Vv)máx es el valor máximo de Dn(Vh,Vv) determinado para cualquier celda (h,v) de dicha cuadrícula bidimensional;
(vi) medios para calcular para cada grupo de celdas (i,j) (omij):
(a) el total acumulado de valores de función de fusión, CUMij(h), de todas las celdas de dicho grupo de celdas que tienen una coordenada con el mismo valor h; y
(b) la suma de todos los totales acumulados de valores de función de fusión, SUMy, de dicho grupo de celdas; y (c) cuando SUMij > 1, un valor de posición de hilera esperado, Lij, de acuerdo con la siguiente fórmula (II):
Lij = || X<g>/J<g>- Mij/SUMij ||
(II)
en el que Mij es la suma de t valores de todas las celdas de dicho grupo de celdas que tienen una coordenada con el mismo valor h, en el que dichos t valores se calculan de acuerdo con la siguiente fórmula (III):
t = (|| X<g>/ J<g>|| - h)^CUMy(h)
(III)
en el que cuando:
- SUMij & II0,4 • OM|| dicho grupo de celdas se clasifica como activado en alto; y
- SUMij & 110,4- OM|| y < ||0,4- OM|| dicho subvolumen se clasifica como activado en bajo,
en el que OM es el valor SUMij máximo determinado para cualquier grupo de celdas (i,j) (omij) de dicha cuadrícula bidimensional;
(vii) medios para desplazar el robot, en el que el robot se desplaza:
(a) a través de un plano definido por dicho eje y y dicho eje x;
- cuando está fuera del conjunto Sr que consiste en los grupos de celdas (1,1), (2,1), (3,1) y (1,2):
■ om11 está activado en alto,
■ omn está activado en alto y om<21>está activado en bajo,
■ omn está activado en bajo y om<21>está activado en alto,
■ om<21>está activado en bajo,
■ om<21>está activado en bajo y om31 está activado en bajo,
■ om31 está activado en bajo, o
■ om<12>está activado en bajo y om<21>está activado en alto,
y ningún otro grupo de celdas de dicho conjunto Sr o los grupos de celdas (2,2) o (3,2) está activado; o
(b) a través de un plano definido por dicho eje y y dicho eje x:
- cuando está fuera del conjunto Sl que consiste en los grupos de celdas (1,2), (2,2), (3,2) y (1,1): ■ omi<2>está activado en alto,
■ omi<2>está activado en alto y om<22>está activado en bajo,
■ om<12>está activado en bajo y om<22>está activado en alto,
■ om<22>está activado en bajo,
■ om<22>está activado en bajo y om32 está activado en bajo,
■ om32 está activado en bajo, o
■ omii está activado en bajo y om<22>está activado en alto,
y ningún otro grupo de celdas de dicho conjunto S<l>o los grupos de celdas (2,1) o (3,1) está activado; o
(c) a través de un plano definido por dicho eje y y dicho eje x:
- cuando está fuera del conjunto S<r>que consiste en los grupos de celdas (1,1), (2,1), (3,1) y (1,2):
■ omn está activado en alto,
■ oirrn está activado en alto y om<21>está activado en bajo,
■ oirrn está activado en bajo y om<21>está activado en alto,
■ om<21>está activado en bajo,
■ om<21>está activado en bajo y om31 está activado en bajo,
■ om31 está activado en bajo, o
■ om<12>está activado en bajo y om<21>está activado en alto,
y ningún otro grupo de celdas de dicho conjunto S<r>o los grupos de celdas (2,2) o (3,2) está activado; y
- cuando está fuera del conjunto Sl que consiste en los grupos de celdas (1,2), (2,2), (3,2) y (1,1):
■ om<12>está activado en alto,
■ om<12>está activado en alto y om<22>está activado en bajo,
■ om<12>está activado en bajo y om<22>está activado en alto
■ om<22>está activado en bajo,
■ om<22>está activado en bajo y om32 está activado en bajo,
■ om32 está activado en bajo,
■ oirrn está activado en bajo, om<22>está activado en alto
y ningún otro grupo de celdas de dicho conjunto S<l>o los grupos de celdas (2,1) o (3,1) está activado, en el que:
(d) cuando el robot se desplaza a través de un plano definido por dicho eje y y dicho eje x girando hacia el punto objetivo Pt que está Q/2 metros a la derecha del límite de hilera RB<l>a una distancia de anticipación de Ymáx^ r metros de O, en el que:
- RB<l>es el promedio ponderado Lij de los grupos de celdas (i,j) que tienen una coordenada con el valor j de 1; y r está entre 0,5 y 0,9;
(e) cuando el robot se desplaza a través de un plano definido por dicho eje y y dicho eje x girando hacia el punto objetivo Pt que está Q/2 metros a la izquierda del límite de hilera RB<r>a una distancia de anticipación de Ymáx^ r metros de O, en el que:
- RB<r>es el promedio ponderado Lij de los grupos de celdas (i,j) que tienen una coordenada con el valor j de 2;
(f) cuando el robot se desplaza a través de un plano definido por dicho eje y y dicho eje x girando hacia el punto objetivo Pt que está situado equidistante entre RB<l>y RB<r>.
Posteriormente, el sistema de control de navegación integrado calcula el ángulo de Ackerman9de las ruedas frontales, que se debe aplicar a la dirección para que el robot alcance Pt.
En un modo de realización preferente del procedimiento y sistema de la presente invención, el robot comprende adicionalmente una red de sensores de sonar montados en una posición O del mismo para salvaguardar contra colisiones. Dicha red comprende sensores de sonar que obtienen al menos un alcance izquierdo y al menos un alcance derecho (es decir, los sensores detectan a la izquierda y a la derecha de la posición O a lo largo de dicho eje x, respectivamente) y obtienen al menos un alcance frontal y al menos un alcance trasero (es decir, los sensores detectan en la parte frontal y trasera de la posición O a lo largo de dicho eje y, respectivamente). Cada alcance es un punto en el espacio en el cual se refleja sonido desde una superficie dentro de un sector esférico de |Xmáx| metros de radio que tiene un ángulo cónico inferior a 45°. Por tanto, cada rango izquierdo es el punto en el espacio en el cual se refleja sonido desde una superficie localizada a la izquierda de dicho robot dentro de dicho sector esférico que está centrado a lo largo del eje x, y en el que L<s>' es la distancia a lo largo del eje x desde dicho alcance izquierdo hasta O. Asimismo, cada alcance derecho es el punto en el espacio en el que se refleja sonido desde una superficie localizada a la derecha de dicho robot dentro de dicho sector esférico que está centrado a lo largo el eje x, y en el que Rs' es la distancia a lo largo del eje x desde dicho alcance derecho hasta O. De forma similar, cada alcance frontal es el punto en el espacio en el que se refleja sonido desde una superficie localizada en la parte frontal de dicho robot dentro de un sector esférico que está centrado a lo largo el eje y, y en el que F<s>' es la distancia a lo largo del eje y desde dicho alcance frontal hasta O, y cada alcance trasero es el punto en el espacio en el cual se refleja sonido desde una superficie localizada en la parte posterior de dicho robot dentro de dicho sector esférico que está centrado a lo largo del eje y, y en el que Bs' es la distancia a lo largo del eje y desde dicho alcance trasero hasta O. En el modo de realización mencionado anteriormente donde se determinan Ls' y Rs', dicho procedimiento y sistema comprenden adicionalmente determinar L<s>y Rs, en el que L<s>es la L<s>' mínima , y Rs es la Rs' mínima, y la tendencia de la expresión p = |1 - R<s>/L<s>| se evalúa para analizar la fluidez de la marcha. Cuando hay una tendencia rápida de p a cero, el robot está bien centrado en el carril entre hileras y las correcciones son mínimas. Sin embargo, cuando p se incrementa, la estabilidad de la navegación empeora, lo que da como resultado trayectorias más onduladas cuando el robot desencadena mayores correcciones de dirección (situaciones 10 y 11 de la tabla 2). De forma análoga, en el modo de realización mencionado anteriormente donde se determinan Fs' y Bs', dicho procedimiento y sistema comprenden adicionalmente determinar Fs y Bs, en el que Fs es la Fs' mínima, y Bs es la Bs' mínima, y:
- el robot deja de desplazarse hacia delante cuando F<s>es < F<th>; o
- el robot deja de desplazarse hacia atrás cuando Bs es <Bth,
en el que:
- F<th>= F<th>' e, en el que F<th>' es un valor seleccionado de entre 0,1 y 1 metros y e es la distancia desde la posición O hasta la parte frontal del robot a lo largo del eje y; y
- Bth = Bth' e', en el que Bth' es un valor seleccionado de entre 0,1 y 1 metros y e' es la distancia desde la posición O hasta la parte posterior del robot a lo largo del eje y.
En un modo de realización preferente del sistema de acuerdo con la presente invención:
(a) los medios para:
- definir la cuadrícula bidimensional de celdas cuadradas;
- dividir la cuadrícula bidimensional de celdas cuadradas en seis grupos de celdas;
- convertir cada punto de datos en un punto de datos discretizados, y
- calcular r(h,v), yL(Lv,Lh), yv(Vv,Vh), CUMij(h) y SUMij,
comprenden un producto de programa informático;
(b) los medios para obtener un máximo de k puntos de datos comprenden el sensor A y los medios para obtener m puntos de datos comprenden el sensor B;
(c) los medios para desplazar el robot comprenden un número de motores entre 1 y 4.
El motor es preferentemente una máquina que convierte una forma de energía en movimiento mecánico. Dicho motor es más preferentemente un motor eléctrico o un motor de combustión interna comprendido en dicho robot. Aún más preferentemente, dicho motor es un motor eléctrico, un motor de gasolina o un motor diésel comprendido en dicho robot.
El producto de programa informático puede incluir un medio (o unos medios) de almacenamiento legible por ordenador que tiene instrucciones de programa legibles por ordenador en el mismo para hacer que un procesador lleve a cabo operaciones de la presente invención y maneje los accionadores.
El medio de almacenamiento legible por ordenador puede ser un dispositivo tangible que puede retener y almacenar instrucciones para su uso por un dispositivo de ejecución de instrucciones. El medio de almacenamiento legible por ordenador puede incluir, pero no se limita a, un dispositivo de almacenamiento electrónico, un dispositivo de almacenamiento magnético, un dispositivo de almacenamiento óptico, un dispositivo de almacenamiento electromagnético, un dispositivo de almacenamiento semiconductor o cualquier combinación adecuada de los anteriores. Una lista no exhaustiva de ejemplos más específicos del medio de almacenamiento legible por ordenador incluye lo siguiente: un disquete de ordenador portátil, un disco duro, una memoria de acceso aleatorio (RAM), una memoria de solo lectura (ROM), una memoria de solo lectura programable y borrable (EPROM o memoria Flash), una memoria estática de acceso aleatorio (SRAM), una memoria de solo lectura de disco compacto portátil (CD-ROM), un disco versátil digital (DVD), una tarjeta de memoria, un disquete, un dispositivo mecánico codificado mecánicamente tal como tarjetas perforadas o estructuras elevadas en un surco que tienen instrucciones grabadas en el mismo, y cualquier combinación adecuada de los anteriores.
Las instrucciones de programa legibles por ordenador descritas en el presente documento se pueden descargar a los respectivos dispositivos informáticos/de procesamiento desde un medio de almacenamiento legible por ordenador o a un ordenador externo o dispositivo de almacenamiento externo por medio de una red, por ejemplo, Internet, una red de área local, una red de área amplia y/o una red inalámbrica. La red puede comprender cables de transmisión de cobre, fibras de transmisión óptica, transmisión inalámbrica, encaminadores, cortafuegos, conmutadores, ordenadores de pasarela y/o servidores perimetrales. Una tarjeta adaptadora de red o interfaz de red en cada dispositivo informático/procesador recibe instrucciones de programa legibles por ordenador desde la red y reenvía las instrucciones de programa legibles por ordenador para almacenarlas en un medio de almacenamiento legible por ordenador dentro del respectivo dispositivo informático/de procesamiento.
Las instrucciones de programa legibles por ordenador para llevar a cabo las operaciones de la presente invención pueden ser instrucciones de ensamblador, instrucciones de arquitectura del conjunto de instrucciones (ISA), instrucciones de máquina, instrucciones dependientes de máquina, microcódigo, instrucciones defirmware,datos de configuración de estado o bien código fuente o código objeto escrito en cualquier combinación de uno o más lenguajes de programación, incluyendo un lenguaje de programación orientado a objetos tal como Smalltalk, C++ o similares, y lenguajes de programación procedimentales convencionales, tales como el lenguaje de programación "C" o lenguajes de programación similares. Las instrucciones de programa legibles por ordenador se pueden ejecutar completamente en el ordenador del usuario, parcialmente en el ordenador del usuario, como un paquete de programas informáticos independiente, parcialmente en el ordenador del usuario y parcialmente en un ordenador remoto o completamente en el ordenador o servidor remoto. En este último contexto, el ordenador remoto puede estar conectado al ordenador del usuario a través de cualquier tipo de red, incluyendo una red de área local (LAN) o una red de área amplia (WAN), o la conexión se puede hacer con un ordenador externo (por ejemplo, a través de Internet usando un proveedor de servicios de Internet). En algunos modos de realización, los circuitos electrónicos que incluyen, por ejemplo, circuitos lógicos programables, matrices de puertas programablesin situ(FPGA) o matrices lógicas programables (PLA) pueden ejecutar las instrucciones de programa legibles por ordenador utilizando información de estado de las instrucciones de programa legibles por ordenador para personalizar los circuitos electrónicos, para realizar operaciones de la presente invención.
Los aspectos de la presente invención se describen en el presente documento con referencia a ilustraciones de diagramas de flujo y/o diagramas de bloques de procedimientos y sistemas (aparatos), de acuerdo con las etapas y/o modos de realización de la invención. Se entenderá que cada bloque cuadrado o romboidal de las ilustraciones de diagrama de flujo y/o diagramas de bloques, y combinaciones de bloques de las ilustraciones de diagrama de flujo y/o diagramas de bloques, se pueden implementar mediante técnicas robóticas o instrucciones de programa legibles por ordenador, o combinaciones de las mismas.
Estas instrucciones de programa legibles por ordenador se pueden proporcionar a un procesador de un ordenador de propósito general, ordenador de propósito especial u otro aparato de procesamiento de datos programable para producir una máquina, de modo que las instrucciones, que se ejecutan por medio del procesador del ordenador u otro aparato de procesamiento de datos programable, crean medios para implementar las funciones/acciones especificadas en el diagrama de flujo y/o bloque o bloques del diagrama de bloques. Estas instrucciones de programa legibles por ordenador también se pueden almacenar en un medio de almacenamiento legible por ordenador que puede dirigir un ordenador, un aparato de procesamiento de datos programable y/u otros dispositivos para que funcionen de una manera particular, de modo que el medio de almacenamiento legible por ordenador que tiene instrucciones almacenadas en el mismo comprende un artículo de fabricación que incluye instrucciones que implementan aspectos de la función/acción especificada en el diagrama de flujo y/o bloque o bloques del diagrama de bloques. Por tanto, en un modo de realización preferente, dicho producto de programa informático es un procesador de ordenador.
Las instrucciones de programa legibles por ordenador también se pueden cargar en un ordenador, otro aparato de procesamiento de datos programable u otro dispositivo para hacer que se realice una serie de etapas operativas en el ordenador, otro aparato programable u otro dispositivo para producir un proceso implementado por ordenador, de modo que las instrucciones que se ejecutan en el ordenador, otro aparato programable u otro dispositivo implementen las funciones/acciones especificadas en el diagrama de flujo y/o bloque o bloques del diagrama de bloques.
Los diagramas de flujo y de bloques de las figuras 4 a 6 ilustran la arquitectura, las funciones y el funcionamiento de posibles implementaciones de sistemas, procedimientos y kits de acuerdo con diversos modos de realización de la presente invención. En este sentido, cada bloque del diagrama de flujo o diagramas de bloques puede representar un módulo, segmento o porción de instrucciones, que comprende una o más instrucciones ejecutables para implementar la(s) función(es) lógica(s) especificada(s). En algunas implementaciones alternativas, las funciones indicadas en el bloque se pueden producir en un orden que no es el indicado en dichas figuras. Por ejemplo, dos bloques mostrados consecutivamente se pueden ejecutar, de hecho, de forma casi simultánea, o los bloques se pueden ejecutar a veces en orden inverso, dependiendo de la funcionalidad implicada. También cabe destacar que cada bloque de los diagramas de bloques y/o ilustración de diagrama de flujo, y combinaciones de bloques en los diagramas de bloques y/o ilustración de diagrama de flujo, se puede implementar mediante sistemas basados enhardwarede propósito especial que realizan las funciones o acciones especificadas, o que llevan a cabo combinaciones de instrucciones informáticas yhardwarede propósito especial.
La presente invención también se refiere a un robot, en el que dicho robot usa el procedimiento de acuerdo con la presente invención, como se describe en el presente documento, para navegar entre dos hileras de plantas y/o comprende el sistema de acuerdo con la presente invención, como se describe también en el presente documento.
Las estructuras, materiales, acciones y equivalentes correspondientes de todos los medios o elementos de etapa más función en las reivindicaciones proporcionadas a continuación pretenden incluir cualquier estructura, material o acción para realizar la función en combinación con otros elementos reivindicados, como se reivindica específicamente. La descripción de la presente invención se ha presentado con propósitos de ilustración y descripción, pero no pretende ser exhaustiva ni estar limitada a los modos de realización de la invención en la forma divulgada. A los expertos en la técnica les resultarán evidentes muchas modificaciones y variaciones sin apartarse del alcance y el espíritu de los modos de realización de la invención. El modo de realización se ha elegido y descrito para explicar de la mejor manera los principios de los modos de realización de la invención y la aplicación práctica, y para permitir a otros expertos en la técnica entender los modos de realización de la invención para diversos modos de realización con diversas modificaciones según lo adecuado para el uso en particular contemplado.
Ejemplos
Los siguientes ejemplos usan un robot(cf.figura 1) equipado con un lidar (de haces múltiples) de 11 haces (k < 11) para el sensor A y una cámara estéreo 3D que tiene una resolución de imagen de 640 píxeles en la dimensión horizontal por 480 píxeles en la dimensión vertical (m < 640 x 480) para el sensor B. Para dicho robot, se elaboró una cuadrícula bidimensional que tiene unas dimensiones de 50 celdas a lo largo del eje x, por 80 celdas a lo largo del eje y, en la que c = 0,1 m, lo que implica un área de 5 m * 8 m = 40 m2 cubierta delante del robot en dirección de avance(cf.figura 2). La definición y el origen de las coordenadas para ambos sensores deben ser los mismos. Obsérvese que el lidar produce coordenadas planas cuando detecta en un plano, mientras que la cámara 3D proporciona las tres dimensiones cartesianas. En este sentido, la dimensión máxima a lo largo del eje z fue de 2,5 m.
1. Ejemplos representativos
Los paneles superiores de la figura 3 muestran diversos contextos reales en los que el APOM se ha rellenado con una cámara estereoscópica 3D (visión 3D, celdas de color gris claro) y un lidar de haces múltiples (lidar, celdas de color gris oscuro). Cada cuadrícula también representa (en blanco) las seis líneas Lij, que representan las mejores estimaciones para los límites de hilera, junto con la posición resultante para Pt (también en blanco) en la cuadrícula. En las dos escenas representadas en los paneles inferiores de la figura 3, de las cuales se obtuvieron los paneles superiores, la variedad de vid, las condiciones del suelo y la separación entre hileras eran diferentes (a la izquierda, viñedo en Portugal; a la derecha, viñedo en España). Obsérvese en la escena de la derecha que cuando la percepción de la cámara estereoscópica 3D (dosel representado con celdas de color gris claro) se perdió para la hilera derecha, el lidar marcó la posición de esa hilera para la estimación de L<22>y L<32>, lo que demuestra el valor de la percepción aumentada para una solución fiable. En este caso, la posición apropiada de Pt se determinó sin la participación de L12 en el cálculo de Pt porque omi2 estaba vacío.
2. Ejemplos evaluativos
A. Procedimientos de evaluación
El primer procedimiento de evaluación consiste en dejar caer polvo de cal a medida que el robot se desplaza hacia delante para dibujar la trayectoria real seguida en modo autónomo. Una vez trazada la trayectoria sobre el terreno, se midieron manualmente con una cinta métrica las desviaciones respecto de una línea geométrica central que es equidistante a las polilíneas definidas por los troncos de vid a ambos lados.
El segundo procedimiento de evaluación se centra en el seguimiento y análisis de las situaciones de percepción definidas en la tabla 2. Como el objetivo es la evaluación del guiado dentro de las hileras, las situaciones que dan lugar al cálculo del punto objetivo Pt serán favorables, es decir, las situaciones 1 a 3, mientras que el resto indicará la activación de señales de advertencia e instrucciones correctoras.
El tercer procedimiento de evaluación aprovecha la distancia lateral medida por los sonares laterales. Cuanto más centrado esté el vehículo, más cercanas estarán entre sí estas dos distancias. Si Ls es la distancia al dosel medida por el sonar izquierdo (cm), y R<s>(cm) es la correspondiente distancia medida por el sonar del lado derecho, podemos definir la relación de desplazamiento izquierda-derecha p mediante la expresión (17), donde la situación más estable desde el punto de vista de navegación se producirá cuando p -> 0. Obsérvese que L<s>y R<s>están delimitados en la fórmula (XXI) por las limitaciones físicas de los sensores ultrasónicos específicos usados.
P =1 - Rs
Rs e [8.200]; Ls e [8.200]
Ls
(XXI)
El cuarto procedimiento de evaluación se centra en la precisión de la ejecución de las órdenes de dirección y, por lo tanto, también tiene en cuenta el rendimiento del sistema de control y el diseño de dirección que, como se ha mencionado anteriormente, están acoplados con el comportamiento del sistema de percepción. se basa en la comparación del perfil de los ángulos de dirección ordenados y la orientación real de las ruedas frontales medida por un potenciómetro lineal (PC67, Gefran spa, Provaglio d'lseo, Italia).
Por último, el quinto procedimiento de evaluación concebido usa la brújula electrónica integrada para evaluar la estabilidad del rumbo, según la hipótesis de que las marchas fluidas estarán asociadas con ligeras fluctuaciones de guiñada alrededor de una línea central virtual que es equidistante de las hileras izquierda y lateral.
B.Selección de ejecuciones y efectos de acoplamiento representativos
La estrategia de navegación basada en percepción aumentada presentada en el presente documento se elaboró a lo largo de dos proyectos de investigación que duraron siete años, y los resultados obtenidos provienen de experimentos de campo realizados entre 2015 y 2019 en viñedos comerciales de Francia, España y Portugal. Se hicieron pruebas en muchos viñedos en condiciones muy diferentes. Las características específicas de las ejecuciones probadas en las parcelas de viñedos usadas en el próximo análisis se incluyen en la tabla 5. Se han usado tres plataformas robóticas diferentes con diversas configuraciones para el motor de percepción. En esta sección, se comparan dichas configuraciones perceptivas para hileras de viñedos que presentan desafíos aproximadamente similares en términos de estructura del dosel, condiciones del suelo, velocidad de avance del robot y dificultades medioambientales. Por el contrario, también se analiza cómo reacciona una configuración de percepción en particular ante contextos que plantean desafíos de diferente naturaleza. Los procedimientos de comparación aplicados se han descrito en las secciones C a G, y además del hecho de que se compararon diversas soluciones perceptivas usando diferentes hileras de viñedos en diferentes momentos, los resultados se deben interpretar teniendo en cuenta el efecto de acoplamiento del sistema de control de dirección sobre el comportamiento final del robot, que es el resultado observable sobre el cual se pueden llevar a cabo mediciones y comparaciones.
Tabla 5.Especificaciones de las pruebas usadas en el análisis
Serie de Puntos de Hileras de Tiempo de ejecución Velocidad promedio Longitud recorrida Hileras datos datos totales puntos total interior (min) (km/h) total (m) atravesadasAA2203 1577 25,1 1,7 694 5
B12 623 10914 78,7 1,4 1885 15
C4604 3649 23,3 1,8 712 6
E13 465 11 176 46,7 1,4 1114 9
C. Análisis de desviaciones respecto de la línea central virtual de trayectorias marcadas con cal
En la parte trasera de un robot, se fijó un recipiente de cal con un instrumento vibratorio, situado en su centro geométrico. Cuando el robot estaba en modo autónomo, el recipiente de cal lanzaba el polvo blanco al suelo a medida que el vehículo se desplazaba hacia delante, siguiendo la trayectoria del robot hasta que el recipiente se quedaba sin cal. La figura 7A representa gráficamente el recorrido completo donde solo se midieron los 16 m primeros con el rastro de cal. La figura 7B proporciona las desviaciones detalladas para los 16 puntos medidos, con una distancia aproximada entre puntos adyacentes de 1 m. La desviación promedio respecto de la línea central fue de 7,6 cm. En el momento de las pruebas (21 de junio de 2016), el motor de percepción solo usó la cámara estereoscópica de barrido frontal para guiado dentro de las hileras.
D. Cuantificación de la complejidad de la navegación dentro de las hileras a través de la comparación de situaciones de percepción
Las situaciones de percepción enunciadas en la tabla 2 proporcionan medios cuantitativos de rastreo de los eventos de accionamiento subóptimos, cuando los robots se acercan demasiado a las vides para una navegación segura. Las situaciones 1 a 3, en particular, se consideran salidas fiables del sistema de percepción, mientras que las 10 y 11 indican riesgo de colisión, y aunque el vehículo normalmente salía de estas situaciones y recuperaba la línea central, la maniobra no trasladaba la estabilidad deseada al guiado autónomo, incrementando al mismo tiempo las posibilidades de accidentes. Mostrar estabilidad en la ejecución de una demostración de algunos minutos no es un gran problema, pero lo que resulta interesante para diseñar un vehículo autónomo es rastrear la estabilidad y el comportamiento a largo plazo, cuando las baterías no están completamente cargadas, los ordenadores se pueden sobrecalentar, los sensores están expuestos a radiación solar intensa y nuevas áreas del campo nunca antes atravesadas pueden plantear desafíos imprevistos debido a doseles descuidados, daños invisibles, malezas desconocidas o terreno abrupto. El objetivo de este análisis, y los del resto del ejemplo 2, es doble para:
1. demostrar el rendimiento ventajoso de la percepción aumentada para la navegación autónoma dentro de las hileras de huertos; y
2. elaborar una metodología para cuantificar el comportamiento de los sistemas de percepción locales, especialmente los que combinan sensores que funcionan de acuerdo con diversos principios físicos tales como de visión, lidar y sonar. Esta metodología debería ser aplicable en cualquier entorno pertinente (desconocido de antemano) en lugar de en rutas de prueba predefinidas.
En consonancia con el segundo objetivo citado anteriormente, el primer desafío encontrado en el campo fue el de cuantificar la complejidad que cualquier contexto de huerto dado plantea para un determinado motor de percepción. La comparación de situaciones de percepción (tabla 2) se efectuó con el mismo prototipo robótico en dos viñedos de la misma región y cooperativa (series de datos AA y C). Se obtuvieron datos con el prototipo robótico cuyo motor de percepción incluía una cámara estereoscópica binocular 3D (Bumblebee 2, FLIR Systems, Inc., Wilsonville, OR, EE. UU.) para guiado dentro de hileras (sensor A) y seis sensores ultrasónicos de bajo coste (Ping , Parallax, Rocklin, CA, EE. UU.), tres de los cuales (sensor B) estaban orientados hacia adelante, dos orientados hacia los lados y el último en la parte trasera para maniobras de marcha a través de las cabeceras. La clasificación de las situaciones de percepción estuvo básicamente impulsada por la cámara estéreo 3D y los sonares laterales orientados hacia los doseles. Ambas series de datos se registraron en Buzet-sur-Baíse, Francia. La serie C (5 de septiembre de 2016) representa un viñedo ideal, donde los doseles estaban cuidadosamente podados, las malezas eran incipientes o se habían eliminado y no había pendientes ni claros de vegetación. La serie AA (23 de junio de 2016), por el contrario, se obtuvo en un viñedo complicado con una determinada pendiente y terreno blando donde el robot experimentó problemas de tracción. La figura 8A representa gráficamente las seis hileras de la serie C que el robot atravesó en modo autónomo sin ningún incidente, y la figura 8B representa la trayectoria de la serie AA seguida por el mismo robot donde el operario tuvo que intervenir una vez en el medio de las cinco hileras.
De acuerdo con la tabla 2, excepto en el caso de la situación 0 cuando no hay ninguna percepción, la situación de percepción ideal es 1, las situaciones 2 y 3 son más débiles que 1, pero siguen permitiendo el cálculo del punto objetivo, y las situaciones de alerta se penalizan con puntuaciones de 10 y 11. Como resultado, la suma de situaciones de percepción con el tiempo crecerá más rápido a medida que tengan lugar más órdenes inestables a lo largo de las hileras. Para poder comparar gráficos y series de diferentes tamaños, esta suma se debe normalizar por el número de puntos de datos, y las situaciones relacionadas con los giros en cabecera se deben eliminar de las series para el análisis, ya que el presente procedimiento se basa solo en el análisis de navegación dentro de hileras. Esta forma de cargar a través de condiciones de riesgo desde el punto de vista de la percepción es similar a la idea de “evidencias ponderadas”, donde los pesos se incrementan rápidamente con orientaciones inesperadas del robot (rumbo) y su consecuente inestabilidad dinámica. La figura 9 representa las situaciones de percepción detectadas en la serie C después de eliminar los datos en los giros de cabecera, y la figura 10 muestra el mismo gráfico para la serie AA. Obsérvese que la situación 0 se asignó a los giros en cabecera en las figuras 9 y 10, ya que dicha situación de percepción (situación 0 = no se detecta ninguna característica) nunca se detectó durante el tiempo de ejecución en ninguna serie de datos. Asimismo, la versión anterior del algoritmo también incluía la situación 4 para apuntar al inicio del primer giro en cabecera, tal y como aparece en ambas figuras. Tomando el tamaño de la serie de datos de la tabla 5, la suma de situaciones para la serie C fue 3742/3649 puntos = 1,02 mientras que para la serie AA fue 1943/1577 puntos = 1,23. El número de situaciones 10-11 para la serie AA fue 35 después de eliminar las cabeceras, y para la serie C fue 8. Si calculamos el porcentaje de situaciones de riesgo con respecto al número de puntos registrados para el guiado dentro de hileras, los resultados se dan en la fórmula (XXII):
35 situación 10 -11
S<aa>= ----- ^1577--p-u--n--to--s------ .100 = 2.2%
situación 810 -11
sc = ---- ^3649--p-u--n-t<7>o--s----- .100 = 0.22%
(XXII)
E.Estabilidad de navegación a partir del estudio de la relación de desplazamiento izquierda-derecha p
Las situaciones del ejemplo 2D y la tabla 2 proporcionan una estimación del rendimiento global del algoritmo de percepción en la detección de hileras de guiado, pero no tienen en cuenta la posición real de los robots en relación con los doseles circundantes. Sin embargo, la medición instantánea de la distancia desde los lados del robot hasta los doseles delimitadores proporciona una explicación exacta de la capacidad del algoritmo de percepción para mantener el robot cerca de la línea central virtual que es equidistante de las hileras de guiado adyacentes. Esta explicación, por lo tanto, debería reflejar la dificultad intrínseca de cualquier ejecución probada, así como permitir la cuantificación numérica de dicha dificultad. Las figuras 11 y 12 representan gráficamente estas mediciones para las series C y AA, respectivamente. Para la primera, la separación izquierda promedio desde el dosel fue de 52 cm, mientras que la separación derecha promedio fue de 56 cm. Para la serie A<a>, la separación izquierda promedio fue de 76 cm y la separación derecha promedio fue de 67 cm. Cuanto más pequeñas son las diferencias entre las distancias izquierda y derecha, más centrado navega el robot. La relación de desplazamiento izquierda-derecha p de (17) evita números negativos cuando el vehículo se desplaza desde el lado izquierdo hasta el derecho de la línea central y proporciona el valor 0 cuando el robot está centrado en la hilera. Por lo tanto, la estabilidad de las ejecuciones se puede estimar siguiendo la suma de p normalizada por el tamaño de la serie. La figura 13 representa gráficamente la relación p para la serie C y la figura 14 muestra el mismo perfil para la serie AA. La suma del desplazamiento p para la serie C fue de 699/3649 puntos = 0,19, mientras que para la serie AA fue de 350,8/1577 puntos = 0,22.
La estabilidad se incrementa a medida que la suma de p se acerca a 0. Después de eliminar los puntos asociados con las cabeceras, aún había valores no válidos para la fórmula (XIII) que se codificaron como 0 en las figuras 13 y 14. Estos valores nulos alteraron el cálculo del desplazamiento promedio real. Después de su eliminación, la relación de desplazamiento promedio final R para cada serie se obtuvo en la fórmula (XIII).
_ £ p _ 350,8 _ '
RaA £ p ^ 0 1207 puntos 029
r_ ^<£ p>r ______<6>_<9>_<9>___
os _ 02
C £ p ^ 0 3405 punt ' ^
(XXIII)
Los resultados de la fórmula (XIII) proporcionan el desplazamiento promedio p, pero se encuentran divergencias mayores cuando se calcula la mediana, ya que la mediana para la serie C es Me(po) = 0,12 mientras que para la serie AA es Me(pAA) = 0,29.
F.Análisis del rendimiento de dirección para detectar limitaciones mecánicas
Las situaciones de percepción y la relación de desplazamiento analizadas previamente permiten la evaluación del rendimiento de navegación, pero enmascaran el efecto del sistema de dirección, cuyo accionamiento exacto es esencial para los sistemas de dirección automáticos. Las desalineaciones muy leves en el mecanismo de dirección dan como resultado un rendimiento asimétrico de las ruedas frontales para la dirección de Ackerman. Incluso cuando la mecánica del robot está cuidadosamente construida, la exposición recurrente a terrenos irregulares y suelos abruptos termina aflojando los varillajes y reduciendo la precisión de los ángulos ordenados. Para los vehículos tripulados, este problema no suele ser un peligro porque el operario de alguna manera corrige las desalineaciones y envía el vehículo al taller de mantenimiento cuando es necesario. En cambio, para los vehículos no tripulados, las desalineaciones de dirección y los accesorios flojos pueden tener graves consecuencias cuyo origen a veces es difícil de identificar. Un procedimiento de autocomprobación continuo, o periódico, para evaluar la coherencia de dirección puede resultar fundamental para el uso a largo plazo de equipos inteligentes dotados de navegación automatizada.
El sistema de percepción, conjunto de sensores y algoritmo, puede calcular los ángulos de dirección en base a la posición y orientación instantánea del robot con respecto al entorno circundante. El perfil de los ángulos de dirección calculados da una idea de la estabilidad del accionamiento de dirección, de modo que órdenes repentinas y de gran magnitud son una indicación de alertas de navegación que dan lugar a las situaciones 10 y 11. La respuesta del sistema de dirección, sin embargo, se puede rastrear mediante el rastreo de los ángulos reales de las ruedas frontales medidos por un potenciómetro lineal. No podemos dar por sentado que todas las órdenes enviadas por el algoritmo se materializan con precisión a su debido tiempo, ya que siempre hay retardos en la respuesta del sistema e inercias que superar provocadas por la interacción del neumático con el terreno. La figura 15 representa gráficamente la comparación de órdenes angulares calculadas y los ángulos reales para la serie C. Como se desea, el ángulo promedio ordenado por el algoritmo es 0, lo que es una clara indicación de que el robot se movía a lo largo de la línea central entre las hileras de viñedos adyacentes. Sin embargo, aunque el robot se desplazaba de forma directa, los ángulos reales medidos en las ruedas frontales tenían un promedio de 0,4°, lo que revela que el varillaje de dirección tenía una ligera desalineación de 0,4°. El gráfico también muestra que los ángulos son ligeramente mayores en la maniobra de entrada de cada nueva hilera cuando las ruedas tienen que recuperar la alineación tras el giro de 180° en las cabeceras, excepto en dos ocasiones en la 2.a y 6.a hileras donde fue necesaria una corrección angular de 4° en el medio del recorrido.
Las limitaciones introducidas por el modo de realización mecánico del sistema de dirección no solo afectan a las desalineaciones permanentes provocadas por desplazamientos sistemáticos, sino que también provocan la falta de simetría en la ejecución de los giros, que se agudiza en los ángulos pronunciados necesarios para cambiar de hilera. La figura 16 representa gráficamente los ángulos de dirección (reales y ordenados) para la serie E, incluyendo los nueve giros en las cabeceras. Además de mostrar una desalineación cuando el robot se desplaza dentro de la hilera, con un ángulo real promedio de -0.6° cuando los ángulos ordenados son de 0° de promedio, se muestra que la capacidad de giro del robot fue asimétrica y limitante. El gráfico revela que los ángulos rectos máximos (ángulos positivos) eran de alrededor de 20°, a los cuales se llegaba rápidamente con ángulos ordenados de 15°. Sin embargo, los ángulos izquierdos estaban físicamente limitados a -15° y no pudieron sobrepasar nunca este límite a pesar de las órdenes recurrentes de -20°. Aunque los giros en cabecera (donde es necesario un giro extremo) quedan fuera del alcance de este ejemplo, vale la pena mencionar la capacidad de este procedimiento de evaluación para localizar fuentes importantes de problemas y mal funcionamiento, especialmente en equipos automatizados donde ya no existe una supervisión constante.
G. Autoevaluación de percepción aumentada
Después de elaborar una metodología para evaluar el rendimiento de un sistema de percepción para guiar un vehículo dentro de las hileras, y aprovechando el hecho de que esta metodología se puede aplicar a cualquier vehículo que funciona en cualquier entorno relevante (cultivos especiales debajo de espalderas verticales), el objetivo de esta sección consistió en aplicar dicha metodología a diferentes configuraciones del sistema de percepción para una evaluación cuantitativa. El primer caso está representado por la serie E (tabla 5), que presenta un sistema de percepción basado en la cámara estereoscópica 3D (sensor A) usada en las series C y AA, pero aumentada con un LID<a>R 2D de 11 haces de barrido frontal (sensor B) (OMD 8000-R2100-R2-2V15, Pepperl Fuchs, Manheim, Alemania). La serie E fue registrada en Portugal el 16 de julio de 2018 y retrata un viñedo con los desafíos típicos de las parcelas comerciales: espacios en doseles, tallos largos, pendiente suave (hasta 10°) y un terreno de condiciones variables. Las especificaciones de la serie se incluyen en la tabla 5, y la figura 17 representa gráficamente la trayectoria seguida por el robot en modo autónomo.
Como no había sonares laterales en el robot cuando se registró la serie E, la evaluación basada en la relación de desplazamiento izquierda-derecha p no se puede llevar a cabo para esta serie de datos. Como resultado, la estabilidad de navegación se evaluará mediante el análisis de situaciones de percepción, como se explica en el ejemplo 2D. La figura 18 representa las situaciones de percepción seguidas en las nueve trayectorias rectas de la figura 17, en las cuales la suma de situaciones fue 11 476/11 176 puntos = 1,02. El número de situaciones 10-11 para la serie E fue de 30, y el porcentaje de alertas registradas para el guiado dentro de hileras fue del 0,27 % como se detalla en la fórmula (XXIV).
situación 3010 — 11
se = .100 = 0.27%
11176 puntos
(XXIV)
La serie B se registró con el prototipo de la figura 1 y presentó el enfoque aumentado de percepción total que consiste en la cámara estéreo 3D ya usada en la serie E, amplificada con tres sensores ultrasónicos (UC2000-30GM-IUR2 V15, Pepperl Fuchs, Manheim, Alemania) y el LI<d>A<r>2D de 11 haces de barrido frontal (OMD 8000-R2100-R2-2V15, Pepperl Fuchs, Manheim, Alemania). El sonar de barrido frontal solo se usó para la detección de obstáculos y giros en cabeceras, por lo tanto solo se usaron los sonares laterales (izquierdo y derecho) para el guiado dentro de hileras. La figura 2 indica la posición y el alcance de los sensores ultrasónicos. Los datos de la serie B se registraron en Quinta do Ataíde, Portugal, el 5 de septiembre de 2019, que es el mismo viñedo usado para la serie E. Las especificaciones de la serie B están incluidas en la tabla 5, y la figura 19 representa la trayectoria seguida por el robot en modo autónomo.
El primer análisis se centra en las situaciones de percepción rastreadas a lo largo de las 15 hileras representadas gráficamente en la fig. 19. La suma de situaciones para esta serie, obtenida a partir de la figura 20, fue 12070/10914 = 1,1, mientras que el número de situaciones 10-11 fue de 119, lo que dio lugar a un porcentaje de alertas para guiado dentro de hileras del 1,1 % como se detalla en la fórmula (XXV).
situación 11910 — 11
SB = .100 = 1.1%
10914 puntos
(XXV)
El análisis de la estabilidad de navegación basado en la relación de desplazamiento p es el resultado de las distancias laterales de la figura 21 y la relación posterior de la figura 22. Específicamente, la separación izquierda promedio medida con el sonar lateral fue de 67 cm, mientras que la separación derecha promedio fue de 73 cm. La suma del desplazamiento p para la serie B fue 3636/10914 puntos = 0,33. Como es habitual, la estabilidad se incrementa a medida que la suma de p se acerca a 0. Después de eliminar los puntos asociados con las cabeceras y otros valores nulos, la relación de desplazamiento promedio Rb para esta serie se obtuvo como se detalla en la fórmula (XXVI). La mediana de la relación de desplazamiento p para la serie B fue Me(pB) = 0,25.
£ p _ 3636
r r = _ 0,34
X p ^ 0 10700 puntos
(XXVI)
El rendimiento de dirección para la serie B se puede deducir de los perfiles representados gráficamente en la figura 23. El ángulo real promedio medido por el potenciómetro fue de -0,2° mientras que el ángulo ordenado promedio fue de 0,1°. Ambos están cerca, y cerca de 0, pero el perfil de ángulos reales en la figura 23 muestra correcciones mayores que en la figura 15, lo que implica un rendimiento de navegación menos estable. Matemáticamente, estas fluctuaciones alrededor de la línea central se pueden estimar a través de la desviación estándar, que es de 2,6° para los ángulos reales dirigidos y de 1,3° para las órdenes angulares enviadas por el controlador al motor de dirección. La figura 23 también indica que las ruedas frontales giraron de forma más pronunciada hacia la derecha que hacia la izquierda.
La última comparación usa una brújula electrónica integrada (SEC385, Bewis Sensing Technology LLC, Wuxi, China) para evaluar la estabilidad del rumbo, asociando marchas suaves con pequeñas fluctuaciones de guiñada alrededor del rumbo promedio de cada hilera. La figura 24 superpone el rumbo instantáneo medido por la brújula electrónica y, al mismo tiempo, por el GPS integrado. Como se muestra en el gráfico, las estimaciones de GPS tienen tanta variabilidad debido al ruido que no reflejan el comportamiento del robot y, por lo tanto, no se pueden usar en el análisis de estabilidad. La desviación estándar registrada para las hileras cuyo rumbo promedio fue de 72° fue072= 3,7°, y la dispersión para las hileras de rumbo promedio 245° fue<0245>= 4,7°.
H.Análisis
El procedimiento (primer procedimiento de evaluación) para evaluar el rendimiento de navegación de un vehículo autónomo siguiendo su trayectoria con cal resultó engorroso, poco práctico e inexacto. El polvo de cal se debía agitar constantemente para evitar obstrucciones, y el tamaño de un depósito factible solo cubría 16 m. La medición de las desviaciones respecto de la línea central resultó prolongada, físicamente exigente y propensa a errores, ya que no siempre se determinaban con claridad los límites precisos que definían las desviaciones con una línea de cal de varios cm de anchura. Sin embargo, la desviación promedio de 7,6 cm es comparable con otras estimaciones basadas en el análisis de las distancias laterales a los doseles. Por tanto, por ejemplo, la desviación promedio para la serie C fue de 2 cm, para la serie AA fue de 4,5 cm y para la serie B fue de 3 cm. Con un recorrido más largo, de al menos una hilera, las desviaciones medidas con cal probablemente habrían sido más pequeñas una vez que el vehículo alcanzara su velocidad de desplazamiento habitual, pero este procedimiento no es aplicable de forma periódica, por lo que no se puede considerar una opción para evaluar el rendimiento de navegación.
El análisis (segundo procedimiento de evaluación) de las situaciones definidas en la tabla 2 proporcionó una herramienta de autoevaluación conveniente para evaluar la estabilidad de la navegación; no fue la suma de todas las situaciones, sino el recuento normalizado de las situaciones 10-11, lo que resultó útil. La suma de situaciones, incluso después de la normalización con el número de mediciones, estuvo sesgada por el tamaño de población, es decir, la longitud de la serie. La razón es que la mayoría de las situaciones son 1, y si la serie es larga, la suma ocasional de 10 u 11, incluso si estas situaciones se ponderan diez veces, tendrá un efecto global leve. El recuento de situaciones de alerta, por el contrario, permite graduar la estabilidad de la navegación. La sección V-C proporciona un alcance de referencia, donde el mismo robot se probó en entornos suaves (serie C) y complicados (serie AA). El resultado más favorable fue Sc = 0,22 % (18) mientras que el contexto más complejo se cuantificó con Saa = 2,2 % (18). Las series E y B representan un caso intermedio, es decir, un viñedo comercial con desafíos típicos, pero con un robot dotado de capacidades de percepción aumentada. Se = 0,27 % (20) indica una navegación muy estable, pero Sb = 1,1 % (21), incluso ejecutando el robot en la misma parcela que la serie E, revela un comportamiento más oscilante. Esto puede ser debido a varias razones; una podría ser el hecho de que la serie B se registró después de las 6 de la tarde, cuando las baterías tenían poca carga. Otra razón podría ser que las vides o el terreno estaban en diferentes condiciones (E se registró en julio y B en septiembre). En general, aunque resultó bastante complejo cuantificar el comportamiento de un vehículo en tiempo real ante un entorno cambiante, de acuerdo con los resultados de campo parece razonable esperar un buen rendimiento cuando S está por debajo o alrededor del 1 %.
El tercer procedimiento de evaluación basado en el estudio de la relación de desplazamiento izquierda-derecha p tiene una ventaja clave sobre el procedimiento anterior: la simplicidad. La definición y verificación de las situaciones de percepción de la tabla 2 es elaborada e incluye múltiples condiciones que se deben cumplir que difieren de acuerdo con los sensores de percepción integrados. La medición de distancias laterales y su correspondiente cálculo de p a través de la fórmula (XXI), por el contrario, es sencilla, y solo requiere que los sonares laterales estimen R<s>y L<s>. Los valores promedio de R<s>y L<s>proporcionan una estimación de las desviaciones respecto de las líneas centrales, como se muestra en el análisis de la evaluación basada en cal. En cuanto a p, la suma normalizada sufre el mismo inconveniente detectado en la suma de situaciones de percepción; un efecto de enmascaramiento a medida que crece el tamaño de población. Por lo tanto, aunque el seguimiento de p es bastante simple, la suma normalizada no es muy útil. Sin embargo, el parámetro más significativo en relación con la relación de desplazamiento fue la mediana. La misma divergencia encontrada para las series C y AA con respecto a las situaciones de percepción también se encontró para el análisis de la relación de desplazamiento, que específicamente proporciona Me(pc) = 0,12 y Me(pAA) = 0,29. Para la serie B, como se esperaba, el resultado quedaba dentro de ese intervalo. Para una mediana superior a 0,3 se recomendaría un examen más profundo de la estabilidad de la navegación antes de avanzar más.
También resultó revelador el análisis del rendimiento de dirección (cuarto procedimiento de evaluación), lo que lo hace atractivo por su sencillez. Solo la medición en tiempo real del ángulo de Ackerman de las ruedas frontales es suficiente para rastrear lo que ocurre en el mecanismo de dirección. Con solo cálculos estadísticos inferenciales básicos fue posible detectar ligeras desalineaciones, por debajo de 1°, del varillaje de dirección, el comportamiento asimétrico de las ruedas frontales y una ejecución oscilante-constante de las órdenes de guiado. Las herramientas de análisis más avanzadas aplicadas a los perfiles de las figuras 15, 16 y 23 pueden brindar una imagen más completa de la eficacia con la que el vehículo autónomo ejecuta la dirección automática.
Por último, la evaluación de la estabilidad del rumbo (quinto procedimiento de evaluación) con la brújula electrónica integrada mostró potencial, pero no se pudo analizar exhaustivamente con el detalle de los demás procedimientos porque se implementó en los robots en 2019 y, del resto de series citadas en la tabla IV, solo estaban disponibles los datos de rumbo para la serie B. Sin embargo, se llegó a una conclusión clara: el rumbo GPS instantáneo extraído de mensajes VTG NMEA resultó tan inestable que en realidad fue inútil. Sin embargo, las desviaciones estándar del rumbo determinado mediante brújula para dos hileras a 3,7° y 4,7° muestran lo que parece ser un comportamiento estable, aunque se necesitarían más series de datos para una comparación coherente.
I.Conclusiones
La navegación autónoma en entornos abiertos de huertos con soporte de espaldera, tales como viñedos, es una tarea llena de desafíos, y la evaluación de su rendimiento reviste la misma complicación. Para hacer frente a lo primero, la navegación se ha dividido en dos tareas mutuamente excluyentes: guiado dentro de hileras y giro en cabeceras, centrándose la presente invención en la primera tarea. Para afrontar esto último y al mismo tiempo admitir los beneficios de la invención, se enunciaron y demostraron un conjunto de procedimientos complementarios para una variedad de contextos. Estos procedimientos se basan en mediciones ejercidas por sensores de percepción locales, una brújula electrónica y un potenciómetro para estimar el ángulo de las ruedas frontales. La medición de las desviaciones del vehículo con un dispensador de polvo de cal no tiene sentido en las extensiones de campo comunes, pero el seguimiento permanente del algoritmo de percepción de comparación de hileras, el registro continuo de la distancia lateral del vehículo a los doseles circundantes y el perfil del accionamiento de dirección permiten el cálculo de diversos índices de calidad para evaluar el comportamiento de un vehículo autónomo. Con este estudio queda claro que la autoevaluación es la opción más práctica, y para ello, solo necesitamos usar los sensores (A, B, C...) que ya están integrados para la navegación.
El objetivo de este ejemplo no era identificar un procedimiento de evaluación, sino evaluar de forma fiable los resultados de guiado cuando el robot encuentra cualquier situación posible desconocida previamente, porque entrenar el sistema siempre para la misma hilera es poco realista y engañoso. Una vez que se ha establecido una metodología general para evaluar resultados en entornos reales, se han examinado diversas configuraciones de percepción. Al fusionar tecnologías diferentes, pero complementarias, los resultados son más consecuentes y exentos de fallos, como se muestra en la figura 3. Para la estrategia propuesta en este ejemplo, el conjunto de sensores seleccionados fue de estereovisión 3D, lidar de haces múltiples y sonar, elegidos por motivo de su fiabilidad en entornos adversos y su rentabilidad (clave en aplicaciones agrícolas). Sin embargo, para los robots agrícolas, y para los cultivos especializados en particular, es importante confiar en soluciones de percepción en el vehículo para la navegación que ofrezcan estabilidad y seguridad con independencia de la disponibilidad de señales de posicionamiento global como GPS, GALILEO, GLONASS, BEIDOU, etc.

Claims (1)

  1. REIVINDICACIONES 1. Un procedimiento para navegación autónoma de un robot entre dos hileras de plantas separadas por Q metros, en el que dicho robot comprende dos dispositivos sensores, sensor A y sensor B, montados en una posición O sobre el mismo y se desplaza hacia delante a lo largo de un eje y que se dirige de forma autónoma ejerciendo correcciones angulares para situar el robot lo más cerca posible de la línea central, en el que cada dispositivo sensor es un dispositivo que detecta ondas electromagnéticas o detecta ondas sonoras, y en el que cuando ambos dispositivos detectan: (A) ondas electromagnéticas, el sensor A detecta dichas ondas a una frecuencia y/o un campo de visión diferente al de las ondas detectadas por el sensor B; y (B) ondas sonoras, el sensor A detecta dichas ondas a una frecuencia y/o un campo de visión diferente al de las ondas detectadas por el sensor B, y en el que dicho eje y es un eje horizontal y dicho eje x es un eje horizontal perpendicular a dicho eje y, y en el que dicho procedimiento comprende las siguientes etapas: (i) definir una cuadrícula bidimensional de celdas cuadradas en dicho plano, en el que dicha cuadrícula tiene Xg celdas de anchura e Yg celdas de longitud, y dichas celdas tienen lados de longitud c, en el que: (a) dicha anchura se extiende horizontalmente |Xmín| metros desde O hacia la izquierda a lo largo de dicho eje x y horizontalmente Xmáx metros desde O hacia la derecha a lo largo de dicho eje x; y (b) dicha longitud se extiende horizontalmente Ymáx. metros desde O a lo largo de dicho eje y; en el que: - Xmín = -X g*c/2; - Xmáx = Xg*c/2; - Y máx = Y<g>• c; - X<g>es un número completo seleccionado de entre 2 y 1000; - Yg es un número completo seleccionado de entre 3 y 1500; y - o es un número seleccionado de entre 0,01 y 0,5 m; y (c) a cada celda (h,v) se le asigna una coordenada que comprende un primer número, h, y un segundo número, v, en el que h es un número de 1 a X<g>y v es un número de 1 a Y<g>, en el que: - h = h' 1; y - v = v' 1; en el que: ■ h' es el número de dichas celdas, contadas a lo largo de dicho eje x comenzando a partir de la celda más a la izquierda, que separan dicha celda (h,v) del exterior de dicha cuadrícula bidimensional; y ■ v' es el número de dichas celdas, contadas a lo largo de dicho eje y comenzando a partir de la celda que está más alejada de dicho robot, que separan dicha celda (h,v) del exterior de dicha cuadrícula bidimensional; (ii) dividir la cuadrícula bidimensional de celdas cuadradas en I<g>J<g>grupos de celdas, en el que cada grupo tiene Xg/Jg celdas de anchura e Yg/Ig celdas de longitud, en el que: (a) I<g>es 3; (b) J<g>es 2; y (c) a cada grupo de celdas (i,j) (omy) se le asigna una coordenada que comprende un primer número, i, y un segundo número, j, en el que i es un número de 1 a Ig y j es un número de 1 a Jg, en el que - i = i' 1 y - j = j' 1, en el que: ■ i' es el número de dichos grupos de celdas, contados a lo largo de dicho eje y comenzando a partir del grupo de celdas que está más alejado de dicho robot, que separan dicho grupo de celdas del exterior de dicha cuadrícula bidimensional; y ■ j' es el número de dichos grupos de celdas, contados a lo largo de dicho eje x comenzando a partir del grupo de celdas más a la izquierda, que separan dicho grupo de celdas ( ij) (omij) del exterior de dicha cuadrícula bidimensional; (iii) obtener puntos de datos usando el sensor A y puntos de datos usando el sensor B, en el que cada punto de datos es el punto en el espacio en el cual se reflejan ondas electromagnéticas o sonoras desde una superficie localizada dentro del volumen cuboide rectangular delimitado por las dimensiones de dicha cuadrícula bidimensional en el eje x y el eje y y tiene una altura de Zmáx _ Zmín metros a lo largo de un eje z, en el que dicho eje z es un eje vertical perpendicular a dicho eje x y dicho eje y, y dicha superficie es la superficie de un objeto, en el que: - Zmín es un valor seleccionado de -0,5 a 0,5 metros; - Zmáx es un valor seleccionado de 1 a 5 metros; en el que: (a) a cada punto de datos obtenido usando el sensor A se le asigna una coordenada que comprende un primer número, xL, y un segundo número, yL, en el que: - xL es la distancia a lo largo del eje x desde dicho punto de datos hasta O; e - yL es la distancia a lo largo del eje y desde dicho punto de datos hasta O, en el que la coordenada de la posición O es (0,0); y (b) a cada punto de datos obtenido usando el sensor B se le asigna una coordenada que comprende un primer número, xV, y un segundo número, yV, en el que: - xV es la distancia a lo largo del eje x desde dicho punto de datos hasta O; y - yV es la distancia a lo largo del eje y desde dicho punto de datos hasta O, en el que la coordenada de la posición O es (0,0); (iv) convertir cada punto de datos en un punto de datos discretizados, en el que: (a) un punto de datos (xL,yL) se convierte en un punto de datos discretizados (L<v>,L<h>), de acuerdo con las siguientes fórmulas: - Lv = || yL/c ||; y - Lh = 11 (XL - Xmín)/c ||; (b) un punto de datos (xV,yV) se convierte en un punto de datos discretizados (Vv,Vh) de acuerdo con las siguientes fórmulas: - Vv = || yV/c ||; y - Vh = II (xV - Xmín)/c ||; (v) calcular un valor de función de fusión, r(h,v), para cada celda (h,v) de dicha cuadrícula bidimensional de acuerdo con la siguiente fórmula (I): r (h,v) = Kv’yV(Vv,VH) KlY (L v,Lh) (I) en el que: - K<l>es un número entero no negativo seleccionado de entre 0 y 5; - YL (L<v>,L<h>) es un número completo calculado a partir del número D<n>(L<h>,L<v>) de puntos de datos discretizados (Lv,Lh) para los cuales Lv = v y Lh = h; - K<v>es un número entero no negativo seleccionado de entre 0 y 5; - Yv(Vv,Vh) es un número completo calculado a partir del número Dn(Vh,Vv) de puntos de datos discretizados (Vv,Vh) para los cuales Vv = v y Vh = h; (vi) calcular para cada grupo de celdas (ij) (omij): (a) el total acumulado de valores de función de fusión, CUMij(h), de todas las celdas de dicho grupo de celdas que tienen una coordenada con el mismo valor h; y (b) la suma de todos los totales acumulados de valores de función de fusión, SUMij, de dicho grupo de celdas; en el que cuando: - SUMij > || 0.4^ OM || dicho grupo de celdas se clasifica como activado en alto; y - SUMij > || 0.2^ OM || y < || 0.4^ OM || dicho subvolumen se clasifica como activado en bajo, en el que OM es el valor SUMij máximo determinado para cualquier grupo de celdas (ij) (omij) de dicha cuadrícula bidimensional; en el que: (vii) el robot se desplaza: (a) a través de un plano definido por dicho eje y y dicho eje x hacia un punto objetivo Pt situado por delante del robot, en la línea central paralela a la hilera derecha desde la cual el sensor A y el sensor B detectan ondas electromagnéticas y acústicas reflejadas y separado de él por una distancia Q/2: - cuando está fuera del conjunto Sr que consiste en los grupos de celdas (1,1), (2,1), (3,1) y (1,2): ■ omn está activado en alto, ■ omn está activado en alto y om<21>está activado en bajo, ■ omn está activado en bajo y om<21>está activado en alto, ■ om<21>está activado en bajo, ■ om<21>está activado en bajo y om31 está activado en bajo, ■ om31 está activado en bajo, o ■ om<12>está activado en bajo y om<21>está activado en alto, y ningún otro grupo de celdas de dicho conjunto Sr o los grupos de celdas (2,2) o (3,2) está activado; o (b) a través de un plano definido por dicho eje y y dicho eje x hacia un punto objetivo Pt situado por delante del robot, en la línea central paralela a la hilera derecha desde la cual el sensor A y el sensor B detectan ondas electromagnéticas y acústicas reflejadas y separado de él por una distancia Q/2: - cuando está fuera del conjunto S<l>que consiste en los grupos de celdas (1,2), (2,2), (3,2) y (1,1): ■ om<12>está activado en alto, ■ om<12>está activado en alto y om<22>está activado en bajo, ■ om<12>está activado en bajo y om<22>está activado en alto, ■ om<22>está activado en bajo, ■ om<22>está activado en bajo y om<32>está activado en bajo, ■ om32 está activado en bajo, o ■ omii está activado en bajo y om<22>está activado en alto, y ningún otro grupo de celdas de dicho conjunto Sl o los grupos de celdas (2,1) o (3,1) está activado; o (c) a través de un plano definido por dicho eje y y dicho eje x hacia un punto objetivo Pt situado por delante del robot, en la línea central equidistante a unas hileras detectadas desde la cual el sensor A y el sensor B detectan ondas electromagnéticas y acústicas reflejadas: - cuando está fuera del conjunto S<r>que consiste en los grupos de celdas (1,1), (2,1), (3,1) y (1,2): ■ om11 está activado en alto, ■ om11 está activado en alto y om<21>está activado en bajo, ■ om11 está activado en bajo y om<21>está activado en alto, ■ om<21>está activado en bajo, ■ om<21>está activado en bajo y un grupo de celdas (3,1) está activado en bajo, ■ om<31>está activado en bajo, u ■ om<12>está activado en bajo y om<21>está activado en alto, y ningún otro grupo de celdas de dicho conjunto Sr o los grupos de celdas (2,2) o (3,2) está activado; y - cuando está fuera del conjunto Sl que consiste en los grupos de celdas (1,2), (2,2), (3,2) y (1,1): ■ om<12>está activado en alto, ■ om<12>está activado en alto y om<22>está activado en bajo, ■ om<12>está activado en bajo y om<22>está activado en alto ■ om<22>está activado en bajo, ■ om<22>está activado en bajo y om32 está activado en bajo, ■ om32 está activado en bajo, ■ oirm está activado en bajo, om<22>está activado en alto y ningún otro grupo de celdas de dicho conjunto Sl o los grupos de celdas (2,1) o (3,1) está activado.2 2. El procedimiento de acuerdo con la reivindicación 1, en el que la etapa (vi) también comprende calcular para cada grupo de celdas (i,j) (omij) para las cuales SÜMy > 1, un valor de posición de hilera esperado, Lij, de acuerdo con la siguiente fórmula (II): Lij = || X<g>/J<g>- Mij/SUMij || (II) en el que Mij es la suma de t valores de todas las celdas de dicho grupo de celdas que tienen una coordenada con el mismo valor h, en el que dichos t valores se calculan de acuerdo con la siguiente fórmula (III): t = (|| X<g>/ J<g>II - h) •CUMij(h) (III) en el que: (a) cuando el robot se desplaza a través de un plano definido por dicho eje y y dicho eje x girando hacia el punto objetivo Pt que está Q/2 metros a la derecha del límite de hilera<r>B<l>a una distancia de anticipación de Ymáx^ r metros de O, en el que: - RB<l>es el promedio ponderado Lij de los grupos de celdas (i,j) que tienen una coordenada con el valor j de 1; y - r está entre 0,5 y 0,9; (b) cuando el robot se desplaza a través de un plano definido por dicho eje y y dicho eje x girando hacia el punto objetivo Pt que está Q/2 metros a la izquierda del límite de hilera r Br a una distancia de anticipación de Ymáx^ r metros de O, en el que: - RBr es el promedio ponderado Lij de los grupos de celdas (i,j) que tienen una coordenada con el valor j de 2; (c) cuando el robot se desplaza a través de un plano definido por dicho eje y y dicho eje x girando hacia el punto objetivo Pt que está situado equidistante entre RB<l>y RB<r>. 3. El procedimiento de acuerdo con cualquiera de las reivindicaciones 1 o 2, en el que el sensor A es un lidar de haces múltiples y el sensor B es una cámara estereoscópica o de tiempo de vuelo 3D. 4. El procedimiento de acuerdo con la reivindicación 3, en el que: (a) yL(LV,LH) es el número completo D<n>(L<h>,L<v>) de puntos de datos discretizados (L<v>,L<h>) para los cuales L<v>= v y LH = h; e (b) yV(VV,VH) es: - 1 cuando D<n>(V<h>,V<v>) > THv DN(VH,Vv)máx; o - 0 cuando D<n>(V<h>,V<v>) < THv DN(VH,Vv)máx en el que D<n>(V<h>,V<v>) es: ■ el número completo de puntos de datos discretizados (Vv,Vh) cuando V^c < 3; o ■ un número completo calculado a partir del número de puntos de datos discretizados (V<v>,V<h>) para los cuales V<v>= v, V<h>= h y V vc > 3, multiplicado por (Vvc/3)2; y en el que: ■ THv es un valor umbral, en el que 0 < THv < 1; y ■ DN(VH,Vv)máx es el valor máximo de Dn(Vh,Vv) determinado para cualquier celda (h,v) de dicha cuadrícula bidimensional. 5. El procedimiento de acuerdo con cualquiera de las reivindicaciones 1 a 4, en el que el robot comprende adicionalmente un sensor de sonar montado en una posición O sobre el mismo para salvaguardar contra colisiones, que obtiene un alcance frontal y/o un alcance trasero en el que: (a) cada alcance frontal es el punto en el espacio en el cual un sonido se refleja desde una superficie localizada en la parte frontal de dicho robot dentro de un sector esférico de |Xmáx| metros de radio que tiene un ángulo cónico de menos de 45° centrado a lo largo del eje y, y en el que Fs' es la distancia a lo largo del eje y desde dicho alcance hasta O; y (b) cada alcance trasero es el punto en el espacio en el cual un sonido se refleja desde una superficie localizada en la parte posterior de dicho robot dentro de un sector esférico de |Xmáx| metros de radio que tiene un ángulo cónico de menos de 45° centrado a lo largo del eje y, y en el que B<s>' es la distancia a lo largo del eje y desde dicho alcance hasta O, y dicho procedimiento comprende adicionalmente determinar Fs y Bs, en el que Fs es la Fs' mínima, y Bs es la Bs' mínima, y - el robot deja de desplazarse hacia delante cuando Fs es < Fth; o - el robot deja de desplazarse hacia atrás cuando B<s>es <B<th>, en el que: - F<th>= F<th>' e, en el que F<th>' es un valor seleccionado de entre 0,1 y 1 metros y e es la distancia desde la posición O hasta la parte frontal del robot a lo largo del eje y; y - B<th>= B<th>' e', en el que B<th>' es un valor seleccionado de entre 0,1 y 1 metros y e ' es la distancia desde la posición O hasta la parte posterior del robot a lo largo del eje y. 6. El procedimiento de acuerdo con cualquiera de las reivindicaciones 1 a 5, en el que X<g>está entre 20 y 70, Y<g>está entre 40 y 100, y c es un número seleccionado de entre 0,05 y 0,2 m. 7. Un sistema para navegación autónoma de un robot entre dos hileras de plantas separadas por Q metros, en el que dicho robot comprende dos dispositivos sensores, sensor A y sensor B, montados en una posición O sobre el mismo y se desplaza hacia delante a lo largo de un eje y que se dirige de forma autónoma ejerciendo correcciones angulares para situar el robot lo más cerca posible de la línea central, en el que cada dispositivo sensor es un dispositivo que detecta ondas electromagnéticas o detecta ondas sonoras, y en el que cuando ambos dispositivos detectan: (A) ondas electromagnéticas, el sensor A detecta dichas ondas a una frecuencia y/o un campo de visión diferente al de las ondas detectadas por el sensor B; y (B) ondas sonoras, el sensor A detecta dichas ondas a una frecuencia y/o un campo de visión diferente al de las ondas detectadas por el sensor B, y en el que dicho eje y es un eje horizontal y dicho eje x es un eje horizontal perpendicular a dicho eje y, y en el que dicho sistema comprende lo siguiente: (i) medios para definir una cuadrícula bidimensional de celdas cuadradas en dicho plano, en el que dicha cuadrícula tiene Xg celdas de anchura e Yg celdas de longitud, y dichas celdas tienen lados de longitud c, en el que: (a) dicha anchura se extiende horizontalmente |Xmín| metros desde O hacia la izquierda a lo largo de dicho eje x y horizontalmente Xmáx metros desde O hacia la derecha a lo largo de dicho eje x; y (b) dicha longitud se extiende horizontalmente Ymáx. metros desde O a lo largo de dicho eje y; en el que: - Xmín = —Xg*c/2; - Xmáx =X<g>*<o>/2; - Y máx = Yg • o; - X<g>es un número completo seleccionado de entre 2 y 1000; - Y<g>es un número completo seleccionado de entre 3 y 1500; y - c es un número seleccionado de entre 0,01 y 0,5 m; y (c) a cada celda (h,v) se le asigna una coordenada que comprende un primer número, h, y un segundo número, v, en el que h es un número de 1 a Xg y v es un número de 1 a Yg, en el que: - h = h' 1; y - v = v' 1; en el que: ■ h' es el número de dichas celdas, contadas a lo largo de dicho eje x comenzando a partir de la celda más a la izquierda, que separan dicha celda (h,v) del exterior de dicha cuadrícula bidimensional; y ■ v' es el número de dichas celdas, contadas a lo largo de dicho eje y comenzando a partir de la celda que está más alejada de dicho robot, que separan dicha celda (h,v) del exterior de dicha cuadrícula bidimensional; (ii) medios para dividir la cuadrícula bidimensional de celdas cuadradas en seis grupos de celdas, en el que cada grupo tiene Xg/Jg celdas de anchura e Yg/ig celdas de longitud, en el que: (a) IG es 3; (b) Jg es 2; y (c) a cada grupo de celdas (i,j) (om¡j) se le asigna una coordenada que comprende un primer número, i, y un segundo número, j, en el que i es un número de 1 a Ig y j es un número de 1 a Jg, en el que - i = i' 1 y - j = j' 1, en el que: ■ i' es el número de dichos grupos de celdas, contados a lo largo de dicho eje y comenzando a partir del grupo de celdas que está más alejado de dicho robot, que separan dicho grupo de celdas del exterior de dicha cuadrícula bidimensional; y ■ j' es el número de dichos grupos de celdas, contados a lo largo de dicho eje x comenzando a partir del grupo de celdas más a la izquierda, que separan dicho grupo de celdas (i,j) (omy) del exterior de dicha cuadrícula bidimensional; (iii) medios para obtener puntos de datos usando el sensor A y puntos de datos usando el sensor B, en el que cada punto de datos es el punto en el espacio en el cual se reflejan ondas electromagnéticas o sonoras desde una superficie localizada dentro del volumen cuboide rectangular delimitado por las dimensiones de dicha cuadrícula bidimensional en el eje x y el eje y y tiene una altura de Zmáx Zmín metros a lo largo de un eje z, en el que dicho eje z es un eje vertical perpendicular a dicho eje x y dicho eje y, y dicha superficie es la superficie de un objeto, en el que: - Zmín es un valor seleccionado de -0,5 a 0,5 metros; - Zmáx es un valor seleccionado de 1 a 5 metros; en el que: (a) a cada punto de datos obtenido usando el sensor A se le asigna una coordenada que comprende un primer número, xL, y un segundo número, yL, en el que: - xL es la distancia a lo largo del eje x desde dicho punto de datos hasta O; e - yL es la distancia a lo largo del eje y desde dicho punto de datos hasta O, en el que la coordenada de la posición O es (0,0); y (b) a cada punto de datos obtenido usando el sensor B se le asigna una coordenada que comprende un primer número, xV, y un segundo número, yV, en el que: - xV es la distancia a lo largo del eje x desde dicho punto de datos hasta O; y - yV es la distancia a lo largo del eje y desde dicho punto de datos hasta O, en el que la coordenada de la posición O es (0,0); (iv) medios para convertir cada punto de datos en un punto de datos discretizados, en el que: (a) un punto de datos (xL,yL) se convierte en un punto de datos discretizados (L<v>,L<h>), de acuerdo con las siguientes fórmulas: - Lv = || yL/c ||; y - L<h>= || (XL - Xmín)/c ||; (b) un punto de datos (xV,yV) se convierte en un punto de datos discretizados (Vv,Vh) de acuerdo con las siguientes fórmulas: - Vv = || yV/c ||; y - Vh = || (xV - Xmín)/c ||; (v) medios para calcular un valor de función de fusión, r(h,v), para cada celda (h,v) de dicha cuadrícula bidimensional de acuerdo con la siguiente fórmula (I): r(h,v) = K<v y v>(V<v>,V<h>) K<l>-<yl>(L<v>,L<h>) (I) e n e l q u e : - Kl es un número entero no negativo seleccionado de entre 0 y 5; - yL (Lv,Lh) es un número completo calculado a partir del número Dn(Lh,Lv) de puntos de datos discretizados (Lv,Lh) para los cuales Lv = v y Lh = h; - Kv es un número entero no negativo seleccionado de entre 0 y 5; - YV(Vv,Vh) es un número completo calculado a partir del número Dn(Vh,Vv) de puntos de datos discretizados (Vv,Vh) para los cuales Vv = v y Vh = h; (vi) medios para calcular para cada grupo de celdas (i,j) (omy): (a) el total acumulado de valores de función de fusión, CUMij(h), de todas las celdas de dicho grupo de celdas que tienen una coordenada con el mismo valor h; y (b) la suma de todos los totales acumulados de valores de función de fusión, SUMij, de dicho grupo de celdas; en el que cuando: - SUM^ & II0,4 • OM|| dicho grupo de celdas se clasifica como activado en alto; y - SUM^ & 110,2 • OM||y < ||0,4 • OM|| dicho subvolumen se clasifica como activado en bajo, en el que OM es el valor SUMij máximo determinado para cualquier grupo de celdas (i,j) (omy) de dicha cuadrícula bidimensional; (vii) medios para desplazar el robot, en el que el robot se desplaza: (a) a través de un plano definido por dicho eje y y dicho eje x hacia un punto objetivo Pt situado delante del robot, en la línea central paralela a la hilera izquierda desde la cual el sensor A y el sensor B detectan ondas electromagnéticas y acústicas reflejadas y separado de él por una distancia Q/2: - cuando está fuera del conjunto S<r>que consiste en los grupos de celdas (1,1), (2,1), (3,1) y (1,2): ■ omn está activado en alto, ■ omn está activado en alto y om<21>está activado en bajo, ■ omn está activado en bajo y om<21>está activado en alto, ■ om<21>está activado en bajo, ■ om<21>está activado en bajo y om31 está activado en bajo, ■ om31 está activado en bajo, u ■ om<12>está activado en bajo y om<21>está activado en alto, y ningún otro grupo de celdas de dicho conjunto Sr o los grupos de celdas (2,2) o (3,2) está activado; o (b) a través de un plano definido por dicho eje y y dicho eje x hacia un punto objetivo Pt situado por delante del robot, en la línea central paralela a la hilera derecha desde la cual el sensor A y el sensor B detectan ondas electromagnéticas y acústicas reflejadas y separado de él por una distancia Q/2: - cuando está fuera del conjunto Sl que consiste en los grupos de celdas (1,2), (2,2), (3,2) y (1,1): ■ om<12>está activado en alto, ■ omi<2>está activado en alto y om<22>está activado en bajo, ■ om<12>está activado en bajo y om<22>está activado en alto, ■ om<22>está activado en bajo, ■ om<22>está activado en bajo y om32 está activado en bajo, ■ om32 está activado en bajo, o ■ omii está activado en bajo y om<22>está activado en alto, y ningún otro grupo de celdas de dicho conjunto S<l>o los grupos de celdas (2,1) o (3,1) está activado; o (c) a través de un plano definido por dicho eje y y dicho eje x hacia un punto objetivo Pt situado delante del robot, en la línea central equidistante a ambas hileras desde donde el sensor A y el sensor B detectan ondas electromagnéticas y acústicas reflejadas: - cuando está fuera del conjunto S<r>que consiste en los grupos de celdas (1,1), (2,1), (3,1) y (1,2): ■ om<11>está activado en alto, ■ om<11>está activado en alto y om<21>está activado en bajo, ■ om<11>está activado en bajo y om<21>está activado en alto, ■ om<21>está activado en bajo, ■ om<21>está activado en bajo y om<31>está activado en bajo, ■ om<31>está activado en bajo, u ■ om<12>está activado en bajo y om<21>está activado en alto, y ningún otro grupo de celdas de dicho conjunto S<r>o los grupos de celdas (2,2) o (3,2) está activado; y - cuando está fuera del conjunto Sl que consiste en los grupos de celdas (1,2), (2,2), (3,2) y (1,1): ■ om<12>está activado en alto, ■ om<12>está activado en alto y om<22>está activado en bajo, ■ om<12>está activado en bajo y om<22>está activado en alto, ■ om<22>está activado en bajo, ■ om<22>está activado en bajo y om32 está activado en bajo, ■ om32 está activado en bajo, ■ oirm está activado en bajo y om<22>está activado en alto, y ningún otro grupo de celdas de dicho conjunto S<l>o los grupos de celdas (2,1) o (3,1) está activado. 8. El sistema de acuerdo con la reivindicación 7, en el que (vi) también comprende medios para calcular para cada grupo de celdas ( ij) (omij) para el cual SUMij > 1, un valor de posición de hilera esperado, Lij, de acuerdo con la siguiente fórmula (II): Ly = || X<g>/J<g>- Mij/SUMj || (II) en el que Mj es la suma de t valores de todas las celdas de dicho grupo de celdas que tienen una coordenada con el mismo valor h, en el que dichos t valores se calculan de acuerdo con la siguiente fórmula (III):
    ( ii i) e n e l q u e : (a) cuando el robot se desplaza a través de un plano definido por dicho eje y y dicho eje x girando hacia el punto objetivo Pt que está Q/2 metros a la derecha del límite de hilera r Bl a una distancia de anticipación de Ymáx^ r metros de O, en el que: - RB<l>es el promedio ponderado Lij de los grupos de celdas (i,j) que tienen una coordenada con el valor j de 1; y - r está entre 0,5 y 0,9; (b) cuando el robot se desplaza a través de un plano definido por dicho eje y y dicho eje x girando hacia el punto objetivo Pt que está Q/2 metros a la izquierda del límite de hilera r Br a una distancia de anticipación de Ymáx^ r metros de O, en el que: - RBr es el promedio ponderado Lij de los grupos de celdas (i,j) que tienen una coordenada con el valor j de 2; (c) cuando el robot se desplaza a través de un plano definido por dicho eje y y dicho eje x girando hacia el punto objetivo Pt que está situado equidistante entre RB<l>y RB<r>. 9. El sistema de acuerdo con cualquiera de las reivindicaciones 7 u 8, en el que el sensor A es un lidar de haces múltiples y el sensor B es una cámara estereoscópica o de tiempo de vuelo 3D. 10. El sistema de acuerdo con la reivindicación 9, en el que: (a) yL(LV,LH) es el número completo Dn(Lh,Lv) de puntos de datos discretizados (Lv,Lh) para los cuales Lv = v y Lh = h; e (b) yV(Vv,VH) es: - 1 cuando Dn(Vh,Vv) > THv DN(VH,Vv)máx; o - 0 cuando Dn(Vh,Vv) 2 THv DN(VH,Vv)máx en el que Dn(Vh,Vv) es: ■ el número completo de puntos de datos discretizados (Vv,Vh) cuando V vc < 3; o ■ un número completo calculado a partir del número de puntos de datos discretizados (V<v>,V<h>) para los cuales Vv = v, Vh = h y Vv-c >3, multiplicado por (Vv-c/3)2; y en el que: ■ THv es un valor umbral, en el que 0 < THv < 1; y ■ DN(VH,Vv)máx es el valor máximo de D<n>(V<h>,V<v>) determinado para cualquier celda (h,v) de dicha cuadrícula bidimensional. 11. El sistema de acuerdo con cualquiera de las reivindicaciones 7 a 10, en el que el robot comprende adicionalmente un sensor de sonar montado en una posición O sobre el mismo para salvaguardar contra colisiones, que obtiene un alcance frontal y/o un alcance trasero en el que: (a) cada alcance frontal es el punto en el espacio en el cual un sonido se refleja desde una superficie localizada en la parte frontal de dicho robot dentro de un sector esférico de |Xmáx| metros de radio que tiene un ángulo cónico de menos de 45° centrado a lo largo del eje y, y en el que Fs' es la distancia a lo largo del eje y desde dicho alcance hasta O; y (b) cada alcance trasero es el punto en el espacio en el cual un sonido se refleja desde una superficie localizada en la parte posterior de dicho robot dentro de un sector esférico de |Xmáx| metros de radio que tiene un ángulo cónico de menos de 45° centrado a lo largo del eje y, y en el que B<s>' es la distancia a lo largo del eje y desde dicho alcance hasta O, y dicho procedimiento comprende adicionalmente determinar F<s>y B<s>, en el que F<s>es la F<s>' mínima, y B<s>es la B<s>' mínima, y - el robot deja de desplazarse hacia delante cuando Fs es < Fth; o - el robot deja de desplazarse hacia atrás cuando B<s>es <B<th>, e n e l q u e : -<f>T<h>= F<th>' e, en el que F<th>' es un valor seleccionado de entre 0,1 y 1 metros y e es la distancia desde la posición O hasta la parte frontal del robot a lo largo del eje y; y - Bth = Bth' e', en el que Bth' es un valor seleccionado de entre 0,1 y 1 metros y e ' es la distancia desde la posición O hasta la parte posterior del robot a lo largo del eje y. 12. El procedimiento de acuerdo con cualquiera de las reivindicaciones 7 a 11, en el que: (a) los medios para: - definir la cuadrícula bidimensional de celdas cuadradas; - dividir la cuadrícula bidimensional de celdas cuadradas en seis grupos de celdas; - convertir cada punto de datos en un punto de datos discretizados, y - calcular r(h,v), yL(U,LH), yV(VV,VH), CUMy(h) y SUMij, comprenden un producto de programa informático; (b) los medios para obtener un máximo de k puntos de datos comprenden el sensor A y los medios para obtener m puntos de datos comprenden el sensor B; (c) los medios para desplazar el robot comprenden un motor. 13. Un robot en el que dicho robot usa el procedimiento de acuerdo con cualquiera de las reivindicaciones 1 a 6 para navegar entre dos hileras de plantas y/o comprende el sistema de acuerdo con cualquiera de las reivindicaciones 7 a 12.
ES20382716T 2020-07-31 2020-07-31 Procedimiento, sistema y robot para navegación autónoma del mismo entre dos hileras de plantas Active ES2967797T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP20382716.7A EP3945393B1 (en) 2020-07-31 2020-07-31 Method, system and robot for autonomous navigation thereof between two rows of plants

Publications (1)

Publication Number Publication Date
ES2967797T3 true ES2967797T3 (es) 2024-05-03

Family

ID=72039508

Family Applications (1)

Application Number Title Priority Date Filing Date
ES20382716T Active ES2967797T3 (es) 2020-07-31 2020-07-31 Procedimiento, sistema y robot para navegación autónoma del mismo entre dos hileras de plantas

Country Status (3)

Country Link
US (1) US11751497B2 (es)
EP (1) EP3945393B1 (es)
ES (1) ES2967797T3 (es)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3739361A1 (en) * 2019-05-13 2020-11-18 Aptiv Technologies Limited Method and system for fusing occupancy maps
CN112926514A (zh) * 2021-03-26 2021-06-08 哈尔滨工业大学(威海) 一种多目标检测及跟踪方法、系统、存储介质及应用
US11981336B2 (en) * 2021-09-30 2024-05-14 Zimeno Inc. Vehicle row follow system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8712144B2 (en) * 2003-04-30 2014-04-29 Deere & Company System and method for detecting crop rows in an agricultural field
EP2013671B1 (en) * 2006-03-17 2018-04-25 iRobot Corporation Lawn care robot
US9288938B2 (en) * 2012-06-01 2016-03-22 Rowbot Systems Llc Robotic platform and method for performing multiple functions in agricultural systems
BR112016011577B1 (pt) * 2013-11-20 2021-01-12 Rowbot Systems Llc plataforma de veículo autônomo, sistema de plataforma de veículo autônomo, robô agrícola e método para a navegação autônoma de um robô agrícola
US9877470B2 (en) * 2016-05-10 2018-01-30 Crinklaw Farm Services, Inc. Robotic agricultural system and method
WO2019152263A1 (en) * 2018-01-30 2019-08-08 Fisher Controls International Llc Balanced trim regulator
US11099575B2 (en) * 2018-01-30 2021-08-24 Brain Corporation Systems and methods for precise navigation of autonomous devices
US11778934B2 (en) * 2019-07-02 2023-10-10 Bear Flag Robotics, Inc. Agricultural lane following

Also Published As

Publication number Publication date
EP3945393C0 (en) 2023-10-04
US20220030759A1 (en) 2022-02-03
EP3945393A8 (en) 2022-04-20
EP3945393B1 (en) 2023-10-04
US11751497B2 (en) 2023-09-12
EP3945393A1 (en) 2022-02-02
EP3945393A9 (en) 2022-05-04

Similar Documents

Publication Publication Date Title
ES2967797T3 (es) Procedimiento, sistema y robot para navegación autónoma del mismo entre dos hileras de plantas
Rovira-Más et al. Augmented perception for agricultural robots navigation
US11960295B2 (en) 3-D image system for vehicle control
Shalal et al. A review of autonomous navigation systems in agricultural environments
Dos Santos et al. Towards a reliable robot for steep slope vineyards monitoring
US20150177736A1 (en) Method for Machine Coordination Which Maintains Line-of-Site Contact
ES2935618T3 (es) Método de navegación de un vehículo y sistema del mismo
Post et al. Autonomous navigation with ROS for a mobile robot in agricultural fields
WO2022107588A1 (ja) 移動体、制御ユニット、データ生成ユニット、移動体の動作を制御する方法、およびデータを生成する方法
Velasquez et al. Multi-sensor fusion based robust row following for compact agricultural robots
WO2022107587A1 (ja) 移動体、データ生成ユニット、およびデータを生成する方法
Wang et al. A real-time robotic indoor 3D mapping system using duel 2D laser range finders
Abanay et al. LIDAR-based autonomous navigation method for an agricultural mobile robot in strawberry greenhouse: AgriEco Robot
Post et al. Autonomous navigation with open software platform for field robots
Ericson et al. Row-detection on an agricultural field using omnidirectional camera.
Bijay et al. Steer guidance of autonomous agricultural robot based on pure pursuit algorithm and LiDAR based vector field histogram
JP2019185213A (ja) 自律移動ロボット及びその制御方法
CN117121055A (zh) 用于点对点对象匹配和瞄准的系统和方法
Yamauchi All-weather perception for small autonomous UGVs
Rovira-Más et al. Bifocal stereoscopic vision for intelligent vehicles
Campana Analysis of algorithms for autonomous driving of a telescopic handler
WO2024004575A1 (ja) 作業車両、および作業車両の制御方法
Da Silva et al. Unimodal and Multimodal Perception for Forest Management: Review and Dataset. Computation 2021, 9, 127
WO2023243514A1 (ja) 作業車両、および作業車両の制御方法
Schäfer et al. Ravon-an autonomous vehicle for risky intervention and surveillance