ES2983425T3 - Navegación y entrenamiento de máquina autónoma usando sistema de visión - Google Patents
Navegación y entrenamiento de máquina autónoma usando sistema de visión Download PDFInfo
- Publication number
- ES2983425T3 ES2983425T3 ES19755504T ES19755504T ES2983425T3 ES 2983425 T3 ES2983425 T3 ES 2983425T3 ES 19755504 T ES19755504 T ES 19755504T ES 19755504 T ES19755504 T ES 19755504T ES 2983425 T3 ES2983425 T3 ES 2983425T3
- Authority
- ES
- Spain
- Prior art keywords
- data
- 3dpc
- training
- autonomous machine
- pose
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012549 training Methods 0.000 title claims description 167
- 238000000034 method Methods 0.000 claims abstract description 82
- 238000013507 mapping Methods 0.000 claims abstract description 15
- 238000012423 maintenance Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 7
- 230000036544 posture Effects 0.000 abstract 7
- 230000007717 exclusion Effects 0.000 description 35
- 238000004422 calculation algorithm Methods 0.000 description 29
- 230000000007 visual effect Effects 0.000 description 28
- 238000010276 construction Methods 0.000 description 25
- 230000004927 fusion Effects 0.000 description 23
- 230000008569 process Effects 0.000 description 16
- 238000005520 cutting process Methods 0.000 description 15
- 230000003287 optical effect Effects 0.000 description 12
- 238000005259 measurement Methods 0.000 description 11
- 238000012937 correction Methods 0.000 description 10
- 238000000605 extraction Methods 0.000 description 9
- 244000025254 Cannabis sativa Species 0.000 description 8
- 230000008859 change Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000001454 recorded image Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 3
- 241001494496 Leersia Species 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- WHXSMMKQMYFTQS-UHFFFAOYSA-N Lithium Chemical compound [Li] WHXSMMKQMYFTQS-UHFFFAOYSA-N 0.000 description 1
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 239000004677 Nylon Substances 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000005276 aerator Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 244000309464 bull Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 235000021384 green leafy vegetables Nutrition 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 229910052744 lithium Inorganic materials 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229920001778 nylon Polymers 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000012776 robust process Methods 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 230000001932 seasonal effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01D—HARVESTING; MOWING
- A01D34/00—Mowers; Mowing apparatus of harvesters
- A01D34/006—Control or measuring arrangements
- A01D34/008—Control or measuring arrangements for automated or remotely controlled operation
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01D—HARVESTING; MOWING
- A01D34/00—Mowers; Mowing apparatus of harvesters
- A01D34/01—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus
- A01D34/412—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters
- A01D34/63—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters having cutters rotating about a vertical axis
- A01D34/82—Other details
- A01D34/824—Handle arrangements
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3833—Creation or updating of map data characterised by the source of data
- G01C21/3848—Data obtained from both position sensors and additional sensors
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3863—Structures of map data
- G01C21/3867—Geometry of map features, e.g. shape points, polygons or for simplified maps
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0055—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements
- G05D1/0061—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements for transition from automatic pilot to manual pilot and vice versa
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/027—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/22—Command input arrangements
- G05D1/221—Remote-control arrangements
- G05D1/227—Handing over between remote control and on-board control; Handing over between remote control arrangements
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
- G05D1/245—Arrangements for determining position or orientation using dead reckoning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
- G05D1/246—Arrangements for determining position or orientation using environment maps, e.g. simultaneous localisation and mapping [SLAM]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
- G05D1/247—Arrangements for determining position or orientation using signals provided by artificial sources external to the vehicle, e.g. navigation beacons
- G05D1/249—Arrangements for determining position or orientation using signals provided by artificial sources external to the vehicle, e.g. navigation beacons from positioning sensors located off-board the vehicle, e.g. from cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/757—Matching configurations of points or features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01D—HARVESTING; MOWING
- A01D2101/00—Lawn-mowers
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01D—HARVESTING; MOWING
- A01D34/00—Mowers; Mowing apparatus of harvesters
- A01D34/01—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus
- A01D34/412—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters
- A01D34/63—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters having cutters rotating about a vertical axis
- A01D34/67—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters having cutters rotating about a vertical axis hand-guided by a walking operator
- A01D34/68—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters having cutters rotating about a vertical axis hand-guided by a walking operator with motor driven cutters or wheels
- A01D34/69—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters having cutters rotating about a vertical axis hand-guided by a walking operator with motor driven cutters or wheels with motor driven wheels
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01D—HARVESTING; MOWING
- A01D34/00—Mowers; Mowing apparatus of harvesters
- A01D34/01—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus
- A01D34/412—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters
- A01D34/63—Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters having cutters rotating about a vertical axis
- A01D34/76—Driving mechanisms for the cutters
- A01D34/78—Driving mechanisms for the cutters electric
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Environmental Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Electromagnetism (AREA)
- Geometry (AREA)
- Databases & Information Systems (AREA)
- Game Theory and Decision Science (AREA)
- Business, Economics & Management (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Harvester Elements (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Navigation (AREA)
- Guiding Agricultural Machines (AREA)
Abstract
Las técnicas de navegación de máquinas autónomas pueden generar una nube de puntos tridimensional que represente al menos una región de trabajo en función de datos de características y datos coincidentes. Se pueden generar datos de postura asociados con puntos de la nube de puntos tridimensional que representen posturas de una máquina autónoma. Se puede determinar un límite utilizando los datos de postura para la navegación posterior de la máquina autónoma en la región de trabajo. Se pueden utilizar datos de sensores no basados en visión para determinar una postura. La postura se puede actualizar en función de los datos de postura basados en visión. La máquina autónoma se puede navegar dentro del límite de la región de trabajo en función de la postura actualizada. La nube de puntos tridimensional se puede generar en función de los datos capturados durante una fase de recorrido. Se pueden generar límites en función de los datos capturados durante una fase de mapeo. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Navegación y entrenamiento de máquina autónoma usando sistema de visión
La presente divulgación se refiere a la navegación de máquina autónoma. En particular, la presente divulgación se refiere a la navegación de máquina autónoma para máquinas de mantenimiento de terrenos.
Las máquinas de mantenimiento de terrenos, tales como máquinas de césped y jardín, son conocidas por realizar diversas tareas. Como ejemplo, los cortacéspedes eléctricos son utilizados tanto por propietarios de viviendas como por profesionales para mantener las áreas de hierba dentro de una propiedad o un patio. También se conocen los cortacéspedes que realizan de manera autónoma la función de cortar la hierba. Algunos cortacéspedes operan en una región de trabajo dentro de unos límites predefinidos. Estos cortacéspedes pueden basarse en sistemas de navegación que ayudan al cortacésped a mantenerse de manera autónoma dentro de los límites predefinidos. Por ejemplo, algunos límites están definidos por alambres, que son detectados por la segadora. La segadora navega moviéndose aleatoriamente dentro del límite y redirige su trayectoria al detectar el alambre delimitador. El uso de alambres delimitadores puede ser indeseable para algunas regiones de trabajo o algunas tareas de mantenimiento autónomo. Por ejemplo, el alambre delimitador puede ser costoso y engorroso de instalar, puede romperse y quedar inoperativo, o puede ser difícil de mover para redefinir un límite deseable para la región de trabajo. Sin embargo, la naturaleza móvil de las cortadoras de césped ha limitado los recursos informáticos disponibles, como la potencia de procesamiento, capacidad de memoria y duración de la batería, a disposición del cortacésped para otros tipos de navegación más sofisticados.
Los documentos WO 2016/097900 A1 y US 10222211 divulgan un método para emplear posiciones límite que se pueden aprender para acotar el funcionamiento de un vehículo robótico, que incluye la detección de indicios temporales de un límite en una parcela mediante al menos un sensor de un vehículo robótico, generar información de coordenadas o límites basados en la ubicación a partir de los indicios temporales, y operar el vehículo robótico dentro de los límites a partir de la información de coordenadas o límites basados en la ubicación generada.
Sumario
Las realizaciones de la presente divulgación se refieren a la navegación para máquinas autónomas, en particular, para navegar de manera autónoma y operar dentro de un límite de una región de trabajo y, aún más en particular, pueden ser adecuadas para máquinas autónomas con recursos informáticos limitados. Las técnicas de la presente divulgación proporcionan un proceso robusto para entrenar una máquina autónoma para la navegación en una región de trabajo.
En un aspecto, se proporciona un método para la navegación de una máquina autónoma de acuerdo con la reivindicación 1.
El sumario no pretende describir cada una de las realizaciones o cada una de las implementaciones de la presente divulgación. Una comprensión más completa resultará evidente y se apreciará por referencia a la siguiente descripción detallada y las reivindicaciones tomadas en vista de las figuras adjuntas del dibujo.
Breve descripción de los dibujos
Las realizaciones ilustrativas se describirán con más detalle haciendo referencia a las figuras del dibujo, en donde:
Lafigura 1es una vista lateral en alzado esquemática de una máquina de mantenimiento de terrenos autónoma con un sistema de visión según una realización de la presente divulgación.
Lafigura 2Aes una vista en planta de una región de trabajo dentro de un límite dentro del que se puede operar usando la máquina de lafigura 1según una realización de la presente divulgación.
Lafigura 2Bes una vista en planta de una zona dentro de la región de trabajo de lafigura 2Ay un ejemplo de las rutas de la máquina de lafigura 1dentro de un límite que define la zona según una realización de la presente divulgación.
Lafigura 3es una vista en planta de una región de trabajo que incluye una zona de exclusión y una zona de tránsito dentro de las que se puede operar usando la máquina de lafigura 1según una realización de la presente divulgación.
Lafigura 4es una representación esquemática de diversos sistemas de la máquina de la figura 1 según una realización de la presente divulgación.
Lafigura 5es una representación esquemática de diversos modos de la máquina de lafigura 1según una realización de la presente divulgación.
Lafigura 6es una representación esquemática de los sensores que proporcionan datos a un sistema de navegación que se comunica con una plataforma de la máquina de lafigura 1según una realización de la presente divulgación.
Lafigura 7es una representación esquemática de la entrada de datos del sensor y el procesamiento de fusión de sensores en un módulo de fusión de sensores para su uso con el sistema de navegación de lafigura 6según una realización de la presente divulgación.
Lafigura 8es un esquema funcional de un sistema de visión durante el modo de entrenamiento de lafigura 5según una realización de la presente divulgación.
Lafigura 9es un esquema funcional de un sistema de visión durante el modo fuera de línea de lafigura 5según una realización de la presente divulgación.
Lafigura 10es un esquema funcional de un sistema de visión durante el modo en línea de lafigura 5según una realización de la presente divulgación.
Lafigura 11es una ilustración esquemática del uso de imágenes de entrenamiento para generar una nube de puntos tridimensional para su uso durante el modo fuera de línea de lafigura 5según una realización de la presente divulgación.
Lafigura 12es una ilustración esquemática de estimaciones de pose asociadas con una nube de puntos tridimensional generada usando el módulo de construcción de mapa visual de lafigura 9según una realización de la presente divulgación.
Lafigura 13es una ilustración esquemática de estimaciones de pose asociadas con una porción de baja calidad de una nube de puntos tridimensional para una región de trabajo particular según una realización de la presente divulgación.
Lafigura 14es una ilustración esquemática de estimaciones de pose asociadas con una nube de puntos tridimensional actualizada para la región de trabajo de lafigura 13según una realización de la presente divulgación.
Lafigura 15es una representación esquemática de un método de construcción de mapa visual para su uso durante el módulo de construcción de mapa visual de lafigura 9según una realización de la presente divulgación.
Lafigura 16es un diagrama de flujo de un método de entrenamiento para entrenar la máquina de lafigura 1según una realización de la presente divulgación.
Lafigura 17es un diagrama de flujo de un método de navegación de máquina autónoma para operar la máquina de lafigura 1según una realización de la presente divulgación.
Lafigura 18es un diagrama de flujo de otro método de entrenamiento para entrenar la máquina de lafigura 1según una realización de la presente divulgación.
Lafigura 19es un diagrama de flujo de una fase de recorrido del método de entrenamiento de lafigura 18según una realización de la presente divulgación.
Lafigura 20es un diagrama de flujo de un método específico para llevar a cabo, al menos parcialmente, el método de entrenamiento de lafigura 18según una realización de la presente divulgación.
Lafigura 21es una ilustración representativa de un conjunto de mango que se puede usar en la máquina de lafigura 1según una realización de la presente divulgación.
Lafigura 22es un diagrama de flujo de otro método de entrenamiento más para entrenar la máquina de lafigura 1según una realización de la presente divulgación.
Lafigura 23es una representación esquemática de la estación base de lafigura 3según una realización de la presente divulgación.
Las figuras se representan principalmente para claridad y, como resultado, no están necesariamente dibujadas a escala. Así mismo, varias estructuras/componentes, incluyendo, aunque no de forma limitativa, elementos de sujeción, componentes eléctricos (alambres, cables, etc.) y similares, pueden mostrarse esquemáticamente o eliminarse de algunas o todas las vistas para ilustrar mejor aspectos de las realizaciones representadas o cuando la inclusión de tales estructura/componentes no sea necesaria para comprender las varias realizaciones ilustrativas descritas en el presente documento. La falta de ilustración/descripción de tal estructura/tales componentes en una figura en concreto, sin embargo, no debe interpretarse como una limitación del alcance de las diversas realizaciones.
Descripción detallada
En la siguiente descripción detallada de realizaciones ilustrativas, se hace referencia a las figuras acompañantes del dibujo que forman parte del mismo. Debe entenderse que otras realizaciones, que pueden no estar descritas y/o ilustradas en el presente documento, están ciertamente contempladas.
Todos los títulos que figuran en el presente documento se utilizan para comodidad del lector y no deben utilizarse para limitar el significado del texto que sigue al título, salvo que se especifique lo contrario. Así mismo, salvo que se indique lo contrario, todos los números que expresan cantidades y todos los términos que expresan dirección/orientación (p. ej., vertical, horizontal, paralelo, perpendicular, etc.) en la memoria descriptiva y las reivindicaciones deben entenderse como que están modificados en todos los casos por el término "aproximadamente". La expresión "y/o" (si se utiliza) significa uno de o todos los elementos listados o una combinación de dos o más cualesquiera elementos listados. La expresión "es decir" se utiliza como una abreviatura de la expresión latinaid esty significa "es decir". El término "p. ej.", se utiliza como una abreviatura de la expresión latinaexempli gratiay significa "por ejemplo".
Las realizaciones de la presente divulgación proporcionan métodos y sistemas de navegación de una máquina autónoma para navegar y operar de manera autónoma dentro de un límite de una región de trabajo, especialmente para el mantenimiento de terrenos, tal como cortar el césped. La máquina autónoma puede configurarse en diferentes modos para llevar a cabo diversas funciones de navegación, tal como un modo de entrenamiento, un modo fuera de línea y un modo en línea. La máquina autónoma puede definir uno o más límites de una región de trabajo usando un sistema de visión y un sensor no basado en visión, por ejemplo, en lugar de utilizar un alambre delimitador. La máquina autónoma puede corregir una posición u orientación dentro de la región de trabajo, que se determina o estima usando uno o más sensores no basados en visión, usando una posición u orientación determinada del sistema de visión. El entrenamiento de la máquina autónoma puede realizarse durante un modo de entrenamiento, que puede incluir una o varias fases, tal como una fase de recorrido y una fase de cartografía.
Algunos aspectos descritos en el presente documento se refieren a la definición de un límite de una región de trabajo usando un sistema de visión y un sensor no basado en visión. Algunos aspectos de la presente divulgación se refieren a la corrección de una posición estimada dentro de la región de trabajo usando un sistema de visión. El sistema de visión puede utilizar una o más cámaras. Las imágenes pueden grabarse dirigiendo la máquina autónoma a lo largo de una ruta límite deseada (p. ej., durante un modo de entrenamiento). Se pueden utilizar algoritmos para extraer características, para corresponder características entre distintas imágenes, y para generar una nube de puntos tridimensional (3DPC, o nube de puntos 3D) correspondiente a al menos la región de trabajo (p. ej., durante un modo fuera de línea). Las posiciones y orientaciones de la máquina autónoma durante la grabación de imágenes pueden determinarse para diversos puntos de la 3DPC, por ejemplo, basándose en las posiciones de diversos puntos en la 3DPC y las posiciones de las características correspondientes en las imágenes grabadas. Las posiciones y orientaciones también pueden recuperarse directamente durante la generación de la nube de puntos. Al menos la información de posición puede utilizarse para determinar un límite de la región de trabajo para la navegación posterior de la máquina autónoma en la región de trabajo. Durante el funcionamiento (p. ej., durante un modo en línea), la máquina de visión puede grabar imágenes operativas y determinar una posición basada en visión y orientación de la máquina autónoma. La posición basada en visión puede utilizarse para actualizar, o corregir errores en, una posición determinada o estimada a partir de sensores no basados en visión. Diversos aspectos descritos en el presente documento se refieren a la utilización de recursos informáticos limitados al mismo tiempo que se logra una navegación adecuada de la región de trabajo. El procesamiento de las imágenes grabadas puede producirse durante un modo fuera de línea, por ejemplo, cuando la máquina autónoma se está cargando durante la noche. El sistema de visión puede utilizarse con una tasa de refresco baja para complementar un sistema de navegación no basado en visión con una tasa de refresco alta.
Si bien se describe en ejemplos ilustrativos como una segadora autónoma en el presente documento, una configuración de este tipo es meramente ilustrativa, ya que los sistemas y métodos descritos en el presente documento también tienen aplicación a otras máquinas autónomas, incluyendo, por ejemplo, productos comerciales de siega (p. ej., segadoras de calles ogreensconducidas por un usuario), otras máquinas o vehículos de trabajo de terrenos (p. ej., sopladores/aspiradores de residuos, aireadores, rastrojadoras, esparcidores de material, quitanieves, escardadoras para la eliminación de malas hierbas), vehículos de trabajo en interiores, como aspiradoras y fregadoras/limpiadoras de suelos (p. ej., que pueden encontrar obstáculos), vehículos de construcción y utilitarios (p. ej., zanjadoras), vehículos de observación y transporte de carga (p. ej., incluidas las personas y las cosas, tales como vehículos de transporte de personas y equipos de transporte). Asimismo, las máquinas autónomas descritas en el presente documento pueden emplear varios uno o más tipos de navegación, tales como planificación aleatoria, aleatoria modificada o de rutas específicas, para llevar a cabo su función prevista.
Cabe señalar que los términos "tener", "incluir", "comprende", y sus variaciones, no tienen un significado limitativo, y se utilizan en su sentido abierto para significar en general "que incluye, aunque no de forma limitativa", donde aparecen los términos en la descripción y las reivindicaciones adjuntas. Es más, "un", "una", "el/la", "al menos un/a", y "uno/a o más" se usan indistintamente en el presente documento. Así mismo, términos relativos, tales como "izquierda", "derecha", "parte delantera", "delantera", "hacia delante", "parte trasera", "popa", "hacia atrás", "parte superior", "parte inferior", "lado", "superior", "inferior", "por encima", "por debajo", "horizontal", "vertical", y similares, se pueden usar en el presente documento y, si es así, son desde la perspectiva mostrada en la figura particular, o mientras la máquina100está en una configuración operativa (p. ej., mientras la máquina100está posicionada de tal manera que las ruedas106y108descansan sobre una superficie de terreno generalmente horizontal103como se muestra en lafigura 1. Estos términos se utilizan únicamente para simplificar la descripción, sin embargo, y no para limitar la interpretación de cualquier realización descrita.
Como se usa en el presente documento, los términos "determinar" y "estimar'' pueden utilizarse indistintamente en función del contexto particular de su uso, por ejemplo, para determinar o estimar una posición o pose de la segadora100o de una característica.
Si bien la construcción de la máquina de mantenimiento de terrenos real no es necesariamente central para una comprensión de las realizaciones de esta divulgación, lafigura 1ilustra un ejemplo de máquina autónoma de mantenimiento de terrenos (p. ej., un vehículo de funcionamiento autónomo, tal como un cortacésped autónomo100) de un sistema de corte de césped (para simplificar la descripción, se ilustra esquemáticamente la segadora100). Como se muestra en esta vista, la segadora100puede incluir un alojamiento102(p. ej., bastidor o chasis con un recubrimiento) que porta y/o encierra diversos componentes de la segadora como se describe a continuación. La segadora100puede incluir, además, miembros de soporte de terreno, tales como ruedas, rodillos u orugas. En la realización ilustrada, los miembros de soporte de terreno mostrados incluyen una o más ruedas traseras106y una o más ruedas delanteras108,que soportan el alojamiento102sobre una superficie de terreno (hierba)103.Como se ilustra, las ruedas delanteras108se utilizan para soportar una porción de extremo delantera134del alojamiento de segadora102y las ruedas traseras106se utilizan para soportar la porción de extremo trasera136del alojamiento de segadora.
Una o ambas ruedas traseras106pueden accionarse mediante un sistema de propulsión (p. ej., que incluye uno o más motores de rueda eléctricos104) para propulsar la segadora100sobre la superficie de terreno103.En algunas realizaciones, las ruedas delanteras108pueden girar libremente con respecto al alojamiento102(p. ej., en torno a ejes verticales). En una configuración de este tipo, la dirección de la segadora puede controlarse mediante la rotación diferencial de las dos ruedas traseras106de forma similar a una segadora de radio de giro cero (ZTR) convencional. Es decir, el sistema de propulsión puede incluir un motor de rueda104independiente para cada una de las ruedas traseras106izquierda y derecha, de modo que la velocidad y la dirección de cada rueda trasera puedan controlarse de forma independiente. De forma adicional, o como alternativa, las ruedas delanteras108podrían ser activamente dirigibles por el sistema de propulsión (p. ej., incluyendo uno o más motores de dirección105) para ayudar a controlar la dirección de la segadora100, y/o podría accionarse mediante el sistema de propulsión (es decir, para proporcionar una segadora con tracción delantera o en todas las ruedas).
Un implemento (p. ej., un elemento de corte de hierba, tal como una cuchilla110) puede estar acoplado a un motor de corte112(p. ej., motor de implemento) portado por el alojamiento102.Cuando los motores112y104se energizan, la segadora100puede ser propulsada sobre la superficie de terreno103de manera que la vegetación (p. ej., hierba) sobre la que pasa la segadora sea cortada por la cuchilla110.Si bien en el presente documento se ilustra usando una única cuchilla110y/o un único motor112,segadoras con cuchillas múltiples, accionados por uno o varios motores, se contemplan dentro del alcance de esta divulgación. Así mismo, si bien se describen en el presente documento en el contexto de una o más "cuchillas" convencionales, otros elementos de corte, incluidos, por ejemplo, discos, elementos de hilo o cuerda de nailon, cuchillos, carretes de corte, etc., son ciertamente posibles sin apartarse del alcance de esta divulgación. Aún más, realizaciones que combinan diversos elementos de corte, por ejemplo, una cuchilla giratoria con una recortadora de hilo montada en el borde, también se contemplan.
La segadora100puede incluir, además, una fuente de alimentación, que, en una realización, es una batería114que tiene una química basada en litio (p. ej., ion de litio). Otras realizaciones pueden utilizar baterías de otras químicas u otras tecnologías de fuente de energía (p. ej., energía solar, celda de combustible, motores de combustión interna) en conjunto, sin apartarse del alcance de las reivindicaciones. Se observa además que, mientras que se muestra con motores independientes de cuchilla y rueda, esta configuración es meramente ilustrativa, ya que también se contemplan realizaciones en las que la potencia de las cuchillas y las ruedas es suministrada por un único motor.
La segadora100puede incluir, además, uno o más sensores para proporcionar datos de localización. Como ejemplo, algunas realizaciones pueden incluir un receptor de sistema de posicionamiento global (GPS)116(u otro sensor de posición que pueda proporcionar datos similares) que está adaptado para estimar una posición de la segadora100dentro de una región de trabajo y proporcionar tal información a un controlador120(descrito más adelante). En otras realizaciones, una o más de las ruedas106, 108pueden incluir codificadores118que proporcionan información de rotación/velocidad de la rueda que puede utilizarse para estimar la posición de la segadora (p. ej., basándose en una posición inicial de partida) dentro de una región de trabajo determinada. La segadora100también puede incluir un sensor115adaptado para detectar un alambre delimitador, que podría utilizarse además de otras técnicas de navegación descritas en el presente documento.
La segadora100puede incluir uno o más sensores de detección de obstáculos delanteros130y uno o más sensores de detección de obstáculos traseros132,así como otros sensores, tales como sensores de detección de obstáculos laterales (no mostrados). Los sensores de detección de obstáculos130, 132pueden utilizarse para detectar un obstáculo en la ruta de la segadora100cuando se desplaza hacia delante o hacia atrás, respectivamente. La segadora100puede segar mientras se mueve en cualquier dirección. Como se ilustra, los sensores130, 132pueden estar ubicados en la porción de extremo delantera134o porción de extremo trasera136de la segadora100,respectivamente.
Los sensores130, 132pueden utilizar la detección por contacto, la detección sin contacto, o ambos tipos de detección. Por ejemplo, tanto la detección por contacto como la detección sin contacto pueden activarse simultáneamente o puede utilizarse solo un tipo de detección en función del estado de la segadora100(p. ej., dentro de una zona o viajando entre zonas). Un ejemplo de detección por contacto incluye el uso de un tope de contacto que sobresale del alojamiento102,o el propio alojamiento, que puede detectar cuándo la segadora100ha entrado en contacto con el obstáculo. Los sensores sin contacto pueden utilizar ondas acústicas o luminosas para detectar el obstáculo, a veces a una distancia de la segadora100antes del contacto con el obstáculo (p. ej., usando infrarrojos, detección por radio y distancia (radar), detección por luz y distancia (lidar), etc.).
La segadora100puede incluir uno o más sensores basados en visión para proporcionar datos de localización, como la posición, orientación o velocidad. Los sensores basados en visión pueden incluir una o más cámaras133que capturan o graban imágenes para su uso con un sistema de visión. Las cámaras133pueden describirse como parte del sistema de visión de la segadora100.Los tipos de imágenes incluyen, por ejemplo, imágenes de entrenamiento y/o imágenes operativas.
Las una o más cámaras pueden ser capaces de detectar luz visible, luz no visible, o ambas. Las una o más cámaras pueden establecer un campo de visión total de al menos 30 grados, al menos 45 grados, al menos 60 grados, al menos 90 grados, al menos 120 grados, al menos 180 grados, al menos 270 grados o, incluso, al menos 360 grados, alrededor de la máquina autónoma (p. ej., la segadora100). El campo de visión puede definirse en dirección horizontal, dirección vertical, o ambas direcciones. Por ejemplo, un campo de visión horizontal total puede ser de 360 grados y un campo de visión vertical total puede ser de 45 grados. El campo de visión puede capturar datos de imagen por encima y por debajo de la altura de las una o más cámaras.
En algunas realizaciones, la segadora100incluye cuatro cámaras133.Una cámara133puede posicionarse en cada una de una o más direcciones, incluida una dirección hacia delante, una dirección hacia atrás, una primera dirección lateral y una segunda dirección lateral (p. ej., direcciones cardinales relativas a la segadora100). Una o más direcciones de cámara pueden estar posicionadas ortogonalmente a una o más otras cámaras133o posicionadas opuestas a al menos una otra cámara133.Las cámaras133también pueden estar desplazadas de cualquiera de estas direcciones (p. ej., a 45 grados u otro ángulo no recto).
La segadora100puede ser guiada a lo largo de una ruta, por ejemplo, de forma manual usando un conjunto de mango90.En particular, la dirección manual de la segadora100puede utilizarse durante un modo de entrenamiento para aprender una región de trabajo o un límite asociado a la región de trabajo. El conjunto de mango90puede extenderse hacia fuera y hacia arriba desde una porción de extremo trasera136de la segadora100.
La cámara133posicionada en una dirección hacia delante puede tener una pose que represente la pose de la máquina autónoma. La pose puede ser una pose de seis grados de libertad, que puede incluir todos los parámetros de posición y orientación para un espacio tridimensional (véase también la descripción relacionada con lafigura 6). En algunas realizaciones, la posición y la orientación de las cámaras pueden definirse en relación con un centro geométrico de la segadora100o en relación con uno de los bordes de la segadora100.
Los sensores de la segadora100también pueden describirse como sensores basados en visión y sensores no basados en visión. Los sensores basados en visión pueden incluir cámaras133capaces de grabar imágenes. Las imágenes pueden procesarse y utilizarse para construir una 3DPC o utilizarse para odometría óptica (p. ej., codificación óptica). Los sensores no basados en visión pueden incluir cualquier sensor que no sea una cámara133.
Por ejemplo, un codificador de rueda que utiliza sensores ópticos (p. ej., fotodiodos), magnéticos o capacitivos para detectar las revoluciones de la rueda puede describirse como un sensor no basado en visión que no utiliza una cámara. Los datos de codificación de rueda de un codificador de rueda también pueden describirse como datos de odometría. En algunas realizaciones, los sensores no basados en visión no incluyen un detector de alambre delimitador. En algunas realizaciones, los sensores no basados en visión no incluyen la recepción de señales de sistemas externos, como, por ejemplo, de un satélite GPS u otro transceptor.
La codificación óptica puede utilizarse tomando una serie o secuencia de imágenes y comparando características en las imágenes para determinar o estimar una distancia recorrida entre las imágenes. La codificación óptica puede ser menos susceptible al deslizamiento de rueda que un codificador de rueda para determinar la distancia o la velocidad.
Además de los sensores descritos anteriormente, también pueden incorporarse a la segadora100otros sensores conocidos en la actualidad o desarrollados posteriormente.
La segadora100también puede incluir un controlador120adaptado para supervisar y controlar diversas funciones de la segadora. El controlador120puede incluir un procesador122que recibe varias entradas y ejecuta uno o más programas informáticos o aplicaciones almacenados en la memoria124.La memoria124puede incluir instrucciones o aplicaciones legibles por ordenador que, cuando se ejecutan, por ejemplo, por el procesador122,hacer que el controlador120realice varios cálculos y/o emita órdenes. Es decir, el procesador122y la memoria124pueden definir juntos un aparato informático que se puede operar para procesar datos de entrada y generar la salida deseada para uno o más componentes/dispositivos. Por ejemplo, el procesador122puede recibir diversos datos de entrada, incluyendo datos de posición del receptor de GPS116y/o codificadores118, y generar comandos de velocidad y ángulo de dirección a uno o más motores de rueda104para hacer que las ruedas motrices106giren (a la misma o diferentes velocidades y en la misma o diferentes direcciones). Dicho de otra manera, el controlador120puede controlar el ángulo de dirección y la velocidad de la segadora100,así como la velocidad y el funcionamiento de la cuchilla de corte.
En general, los datos de GPS generados basándose en los datos del receptor de GPS116 (figura 1)se pueden utilizar de varias maneras para facilitar la determinación de una pose de la segadora100.En algunas realizaciones, los datos de GPS pueden utilizarse como uno de los sensores no basados en visión para ayudar a determinar los datos de pose no basados en visión. Los datos de pose no basados en visión pueden actualizarse o corregirse usando datos de pose basados en visión. Los datos de GPS también pueden utilizarse para facilitar la actualización o corrección de una pose estimada, que puede basarse en datos de pose no basados en visión y/o en datos de pose basados en visión. En algunas realizaciones, los datos de GPS pueden aumentarse usando datos de corrección específicos de GPS, tales como los datos cinemáticos en tiempo real (RTK). Los datos de GPS-RTK pueden proporcionar una localización más exacta o precisa que corrige las anomalías en la sincronización de GPS en comparación con los datos de GPS nominales.
En el presente documento, puede hacerse referencia a diversos parámetros, datos o estructuras de datos, que pueden manejarse en un controlador120,por ejemplo, al procesarse mediante un procesador122o almacenarse en, o recuperarse de, una memoria124.
El controlador120puede utilizar el procesador122y la memoria124en varios sistemas diferentes. En particular, uno o más procesadores122y una memoria124pueden estar incluidos en cada sistema diferente. En algunas realizaciones, el controlador120puede definir, al menos parcialmente, un sistema de visión, que puede incluir un procesador122y una memoria124.El controlador120también puede definir, al menos parcialmente, un sistema de navegación, que puede incluir un procesador122y una memoria124independientes del procesador122y la memoria124del sistema de visión.
También puede describirse que cada sistema tiene su propio controlador120.Por ejemplo, el sistema de visión puede describirse como que incluye un controlador120y el sistema de navegación puede describirse como que tiene otro controlador120.En este sentido, la segadora100puede describirse como que tiene múltiples controladores120.En general, como se usa en el presente documento, el término "controlador" puede utilizarse para describir componentes de un "sistema" que proporcionan órdenes para controlar diversos otros componentes del sistema.
De manera adicional, la segadora100puede estar en comunicación operativa con un dispositivo independiente, tal como un teléfono inteligente o un ordenador remoto. Se puede identificar o definir un área problemática, o un obstáculo, mediante una aplicación en el teléfono inteligente u ordenador remoto, o similares. Por ejemplo, un usuario puede identificar un área problemática o un obstáculo en un mapa de un área de siega. Un ejemplo de obstáculo es un obstáculo permanente, tal como una roca. La segadora100puede recibir el área problemática u obstáculo identificado desde el dispositivo independiente. En tales casos, la segadora100puede estar configurada para segar solo en una dirección determinada a través del área problemática en respuesta a la recepción del área problemática identificada, o la segadora puede estar configurada para realizar maniobras evasivas proactivas para evitar chocar con el obstáculo al recorrer una pendiente y puede crear una zona de exclusión alrededor de un obstáculo permanente en respuesta a la recepción del obstáculo identificado.
En vista de lo anterior, será evidente que la funcionalidad del controlador120puede implementarse de cualquier manera conocida por un experto en la materia. Como ejemplo, la memoria124puede incluir cualquier medio volátil, no volátil, magnético, óptico y/o eléctrico, tal como una memoria de acceso aleatorio (RAM), memoria de solo lectura (ROM), RAM no volátil (NVRAM), ROM programable borrable eléctricamente (EEPROM), memoriaflashy/o cualquier otro medio digital. Aunque se muestra que ambos están incorporados en el controlador120,la memoria124y el procesador122podrían estar contenidos en módulos independientes.
El procesador122puede incluir uno cualquiera o más de un microprocesador, un controlador, un procesador de señal digital (DSP), un circuito integrado de aplicación específica (ASIC), una matriz de puertas programables en campo (FPGA) y/o circuitos lógicos discretos o integrados equivalentes. En algunas realizaciones, el procesador122puede incluir múltiples componentes, tales como cualquier combinación de uno o más microprocesadores, uno o más controladores, uno o más DSP, uno o más ASIC, y/o uno o más FPGA, así como otros circuitos lógicos discretos o integrados. Las funciones atribuidas al controlador120y/o procesador122en el presente documento pueden estar incorporadas comosoftware, firmware, hardwareo cualquier combinación de estos. Ciertas funcionalidades del controlador120también pueden realizarse en la nube o en otros sistemas informáticos distribuidos conectados de forma operativa al procesador122.
En lafigura 1,en general, se muestran conexiones esquemáticas entre el controlador120y la batería114,uno o más motores de rueda104,motor de cuchilla112,sensor de alambre delimitador115opcional, radio inalámbrica117y receptor de GPS116.Esta interconexión es meramente ilustrativa, ya que los diversos subsistemas de la segadora100podrían conectarse de casi cualquier manera, por ejemplo, directamente el uno al otro, de forma inalámbrica, a través de una arquitectura de bus (p. ej., bus de red de área del controlador (CAN)) o cualquier otra configuración de conexión que permita el paso de datos y/o alimentación entre los varios componentes de la segadora. Si bien no se muestran las conexiones con algunos de los sensores130, 132, 133, estos sensores y otros componentes de la segadora100pueden conectarse de manera similar. La radio inalámbrica117puede comunicarse a través de una red celular u otra red de área amplia (p. ej., incluso por Internet), una red de área local (p. ej., IEEE 802.11 "Wi-Fi" radio), o una red de pares (P2P) (p. ej., BLUETOOTH™) con un dispositivo móvil119(p. ej., dispositivo informático móvil, ordenador portátil, dispositivo informático portátil, teléfono inteligente, teléfono móvil, tableta, ordenador de sobremesa o portátil, reloj inteligente, etc.). A su vez, el dispositivo móvil119puede comunicarse con otros dispositivos a través de redes similares y, por ejemplo, puede utilizarse para conectar la segadora100a Internet.
En algunas realizaciones, varias funcionalidades del controlador o controladores120descritos en el presente documento pueden descargarse de la segadora100.Por ejemplo, las imágenes grabadas pueden transmitirse a un servidor remoto (p. ej., en la nube) usando la radio inalámbrica117y procesarse o almacenarse. Las imágenes almacenadas, u otros datos derivados del procesamiento, pueden recibirse usando la radio inalámbrica117y almacenarse en, o procesarse posteriormente mediante, la segadora100.
Lasfiguras 2y3muestran una región de trabajo200o una zona de contención202, 210dentro de la región de trabajo200.Un límite puede definirse, o determinarse, alrededor de la región de trabajo200.La segadora100puede cubrir la región de trabajo200(p. ej., recorrerla para segar la región de trabajo) usando diversos métodos. En algunas realizaciones, la segadora100puede recorrer rutas aleatorias, semialeatorias o planificadas dentro de la región de trabajo200.En algunas realizaciones, pueden definirse otros límites alrededor de las zonas de contención202, 210dentro del límite de la región de trabajo200dependiendo del método utilizado para cubrir la región de trabajo200.Por ejemplo, las zonas de contención202, 210pueden ser zonas de contención itinerantes o zonas de contención estáticas.
Lafigura 2Amuestra un ejemplo de cobertura de una región de trabajo200con la segadora100usando una pluralidad de zonas202, 210(p. ej., zonas de contención). La región de trabajo200puede representar un área exterior o un área de mantenimiento, tal como césped. La segadora100puede operarse para recorrer la región de trabajo200a lo largo de un número de rutas para cortar suficientemente toda la hierba en la región de trabajo200.La segadora100puede recargarse según sea necesario, por ejemplo, en la transición entre las zonas202, 210.Una base de recarga o estación base (similar a258en lafigura 3) puede estar situada dentro o a lo largo de la región de trabajo200.
Se puede utilizar un límite para definir la región de trabajo200.El límite puede definirse manual, o automáticamente, usando un modo de entrenamiento de la segadora100.De manera adicional, parte del límite también puede definirse usando un límite de propiedad fijo u otro tipo de límite. En algunas realizaciones, el límite puede definirse dirigiendo la segadora100a lo largo de la región de trabajo200,en particular, a lo largo de una ruta límite250deseada de la región de trabajo200.
Los límites pueden definirse en relación con la región de trabajo200para diferentes fines. Por ejemplo, puede utilizarse un límite para definir una zona de contención, tal como para la zona202,la zona210,o la región de trabajo200.En general, la segadora100puede dirigirse para desplazarse dentro de los límites de una zona de contención durante un período de tiempo. Se puede utilizar otro límite para definir una zona de exclusión. Una zona de exclusión puede representar un área de la región de trabajo200que la segadora100debe evitar o rodear. Por ejemplo, una zona de exclusión puede contener un obstáculo (como un jardín paisajístico) o un área problemática (como una pendiente pronunciada). Se puede utilizar otro límite para definir una zona de tránsito, que también puede describirse como una ruta de tránsito. En general, una zona de tránsito es una zona que conecta otras dos zonas, como una ruta que conecte diferentes zonas de contención. También puede definirse una zona de tránsito entre un punto de la región de trabajo y una ubicación "de origen" o estación base. Una tarea de mantenimiento puede realizarse o no en la zona de tránsito. Por ejemplo, la segadora100no puede cortar hierba en una zona de tránsito. En un ejemplo relacionado con un patio dividido por un camino de entrada de vehículos, una zona de tránsito puede incluir la totalidad de un camino de entrada de vehículos, o al menos una ruta a través del camino de entrada de vehículos, entre dos partes cubiertas de hierba de un césped para que lo recorra la segadora100.
La región de trabajo200puede cartografiarse con un mapa de terreno. Por ejemplo, el mapa de terreno puede desarrollarse durante un modo de aprendizaje de la segadora, o durante operaciones de siega posteriores. En cualquier caso, el mapa de terreno puede contener información sobre el terreno de la región de trabajo200,por ejemplo, elevación, pendiente, obstáculos identificados (p. ej., obstáculos permanentes), áreas atascadas identificadas (p. ej., áreas en las que la segadora se ha atascado, ya sea debido a la pendiente o a otras condiciones de tracción), u otra información que pueda facilitar la capacidad de la segadora100para recorrer la región de trabajo.
El sistema de coordenadas204se muestra únicamente con fines ilustrativos. La resolución de los puntos almacenados en el mapa de terreno puede ser suficiente para proporcionar información útil de elevación y/o pendiente sobre el terreno en la región de trabajo200(p. ej., del orden de pies o decímetros). Por ejemplo, la resolución de los puntos puede corresponder a una separación entre puntos inferior o igual a la anchura de la segadora100.En algunos casos, las distintas funciones de planificación de rutas pueden utilizar distintos niveles de resolución. Por ejemplo, la planificación de rutas que cartografíe zonas de contención o exclusión puede tener la resolución lo más alta (p. ej., del orden de centímetros). Dicho de otra manera, la resolución de puntos próximos a, adyacentes o cercanos a límites irregulares u obstáculos pueden tener una granularidad más fina.
La segadora100puede iniciar la cobertura de la región de trabajo200,por ejemplo, comenzando en un límite de la región de trabajo. La segadora100puede determinar una primera zona202.La zona202puede estar situada junto a un límite de la región de trabajo200o, como se ilustra, puede estar situada más dentro de la región de trabajo. En una realización, la zona202cubre la totalidad de la región de trabajo200.
En otra realización, la zona202no cubre la totalidad de la región de trabajo200.Cuando la segadora100termina de segar la zona202,la segadora puede comenzar otra zona (p. ej., la zona210,que puede ser dinámica o fija) para continuar segando.
La segadora100puede determinar una coordenada de inicio206,o punto de inicio, dentro de la primera zona202.
Por ejemplo, la coordenada inicial206puede seleccionarse entre el punto de mayor elevación dentro de la zona202o en algún lugar del borde de la zona202.La segadora100puede girar, si fuera necesario, para orientarse hacia la coordenada inicial206desde su posición actual en el límite de la región de trabajo200.La segadora100puede propulsarse hacia la coordenada de arranque206.
Después de llegar a la coordenada de salida206,la segadora100puede empezar a desplazarse por la zona202para cortar la hierba dentro de la zona. Como se describe a continuación, la segadora100puede utilizar puntos geográficos de referencia generados aleatoriamente dentro de la zona. Además, o como alternativa, la segadora100puede utilizar un patrón planificado con puntos de paso planificados dentro de la zona. Este patrón de siega puede utilizar la creación planificada de puntos geográficos de referencia para cubrir la zona.
Cuando la segadora100llega a un punto geográfico de referencia de destino final208,la segadora ha terminado de cortar hierba dentro de la zona202actual. La segadora100puede determinar una siguiente zona210(que puede o no estar inmediatamente adyacente a la zona 202) y un siguiente punto de inicio212dentro de la siguiente zona. La segadora100puede orientarse y comenzar a desplazarse hacia el siguiente punto de partida212.La ruta220desde un punto geográfico de referencia de destino final208en una zona202o hacia un siguiente punto de partida212en una siguiente zona210puede describirse como una ruta "ir a meta" (p. ej., que puede recorrer una zona de tránsito).
Una vez que la segadora100llega al siguiente punto de partida212,la segadora100puede empezar a desplazarse por la siguiente zona210.El proceso de generar y recorrer zonas de contención puede repetirse varias veces para proporcionar una cobertura suficiente de la región de trabajo200.
En lafigura 2B,un método300para cubrir una zona302se muestra como una vista aérea que ilustra una secuencia de rutas para llevar la segadora100a través de al menos parte de la zona. La ruta de la segadora100mostrada puede ser aplicable, por ejemplo, al funcionamiento de la segadora100cuando un límite define una zona de contención alrededor de la zona302dentro del límite de la región de trabajo200 (figura 2A).
En la realización ilustrada, la segadora100se desplaza desde el punto de partida304hasta el punto geográfico de referencia306.Después de alcanzar el punto geográfico de referencia de destino306,la segadora100puede determinar un segundo punto geográfico de referencia de destino308,giraX1grados y viaja hacia el segundo punto geográfico de referencia de destino. Esta secuencia de rotación y desplazamiento puede continuar hasta alcanzar el tercer punto geográfico de referencia de destino310,el cuarto punto geográfico de referencia de destino312,y el punto geográfico de referencia de destino final314(p. ej., usando rotacionesX2, X3yX4,respectivamente). Si bien en esta ilustración solo se muestran algunos puntos geográficos de referencia de destino306, 308, 310, 312, 314, la segadora100puede recorrer varios puntos intermedios más para cubrir suficientemente la zona302.En algunas realizaciones, la segadora100puede seleccionar el ángulo más pequeño disponible para girar y orientarse hacia el siguiente punto geográfico de referencia de destino (p. ej., 90 grados en sentido antihorario en lugar de 270 grados en sentido horario).
Lafigura 3muestra un ejemplo de una región de trabajo251que incluye una zona de tránsito252,o ruta de tránsito, que se extiende a través de una zona de exclusión254,como un camino de entrada de vehículos. El área de siega, o zonas de contención estática256,de la región de trabajo251pueden estar situados a cada lado del camino de entrada de vehículos, pero ningún área de siega conecta estos dos lados. Para entrenar la zona de tránsito252,la segadora100puede posicionarse primero en el punto de partida deseado (véase la representación en línea continua de la segadora100en lafigura 3). El conjunto de mango90 (figura 1)puede estar en la posición de modo manual. La fase o modo de entrenamiento puede entonces iniciarse usando el dispositivo móvil119 (figura 1).Una vez iniciado, la segadora100puede empujarse o conducirse a lo largo de la zona de tránsito252deseada. Una vez recorrida la ruta deseada (véase la línea discontinua de la segadora100en lafigura 3), el operador puede finalizar la sesión de entrenamiento y guardar la zona de tránsito. Durante el funcionamiento autónomo de la segadora, la segadora100solo cruzará por un lado del camino de entrada de vehículos, o zona de exclusión254,hasta la otra usando la zona de tránsito definida252.Varias zonas de tránsito podrían formarse a través de cualquier zona de exclusión.
Una vez enseñados todos los límites (incluidas las zonas de exclusión) y las zonas de tránsito, se puede presentar al usuario un mapa de la región de trabajo en el dispositivo móvil119para que el operador pueda confirmar que todos los límites (incluidas las zonas de exclusión) y las zonas de tránsito se han contabilizado correctamente. A continuación, el operador puede confirmar que los límites y las zonas de tránsito están correctamente representados antes de que pueda comenzar la operación de siega autónoma. En algunas realizaciones, el operador podrá suprimir y/o modificar los límites y las zonas de tránsito usando el dispositivo móvil durante esta revisión.
Las zonas de tránsito se pueden utilizar para definir cómo llega el cortacésped100de una porción de la región de trabajo a otra (o a una segunda región de trabajo aislada). Por ejemplo, las zonas de tránsito pueden configurarse para dirigir la segadora: a un área de siega determinada; a través de una zona de exclusión, como una acera, un patio o un camino de entrada de vehículos que bifurque la región de trabajo; o a través de una puerta de un patio vallado. Por lo general, la segadora no entrará en una zona de exclusión a menos que se forme una zona de tránsito a través de la zona de exclusión. Así mismo, es posible que la segadora no siegue normalmente mientras se desplaza por algunas de estas zonas de tránsito.
No todas las zonas de exclusión pueden incluir una zona de tránsito. Por ejemplo, algunas zonas de exclusión pueden definirse alrededor de obstáculos que la segadora100no puede recorrer. No podrá definirse una zona de tránsito a través de dicha zona de exclusión.
Una estación base258puede ser proporcionada y posicionada en o cerca de la región de trabajo251.La estación base258puede estar conectada a una fuente de energía eléctrica, que puede ser fija o portátil. La estación base258proporciona un lugar de almacenamiento para la segadora cuando no está en funcionamiento, y además incluye conexiones eléctricas de autoenganche para permitir que la segadora regrese de manera autónoma a la estación base258y recargue su batería114 (figura 1)cuando sea necesario.
En lafigura 4,se muestran conexiones esquemáticas entre varios sistemas que pueden ser definidos por la segadora100 (figuras 1-3).Un sistema de visión402puede estar acoplado operativamente a un sistema de navegación404.
El sistema de navegación404puede estar acoplado operativamente al sistema de propulsión406.
El sistema de navegación404puede grabar datos no basados en visión durante un modo de entrenamiento mientras el sistema de visión402graba imágenes, como las imágenes de entrenamiento. Si bien la segadora100puede dirigirse manualmente por un usuario, en algunas realizaciones, el sistema de navegación404puede dirigir de forma autónoma la máquina durante el modo de entrenamiento. El sistema de visión402puede incluir una o más cámaras para grabar, o capturar, imágenes. En algunas realizaciones, un controlador del sistema de visión402puede proporcionar datos de posición y/u orientación al sistema de navegación404basándose en las imágenes grabadas, que pueden utilizarse para facilitar la navegación de la segadora100.Por ejemplo, el sistema de visión402puede proporcionar una posición y/u orientación estimada de la segadora100al sistema de navegación404basándose en los datos de sensor basado en visión.
En algunas realizaciones, el sistema de navegación404puede utilizar principalmente una posición y/u orientación basada en datos de sensor no basado en visión para la navegación. Por ejemplo, los datos de sensores no basados en visión pueden basarse en la salida de una unidad de medición inercial o un codificador de rueda. Durante un modo de entrenamiento y/o un modo fuera de línea, por ejemplo, un controlador del sistema de navegación404puede determinar un límite usando datos de sensores no basados en visión, y los datos basados en visión, para la navegación posterior de la máquina autónoma en la región de trabajo. Durante un modo en línea, por ejemplo, un controlador del sistema de navegación404puede determinar una pose basada en datos de pose basados en visión, datos de pose no basados en visión, o ambos. En algunas realizaciones, se puede determinar una pose basándose en datos de sensores no basados en visión y actualizar la pose basándose en los datos de pose basados en visión. El sistema de navegación404puede comparar la posición y/u orientación basada en visión con la posición y/u orientación no basada en visión para corregir errores y actualizar la posición, que puede describirse como fusión de sensores. En algunas realizaciones, para corregir errores y actualizar la posición pueden utilizarse datos de sensores distintos de los basados en visión, como los datos de GPS.
Un controlador del sistema de navegación404puede comandar el sistema de propulsión406basándose en una pose actualizada. Por ejemplo, una posición y/u orientación corregida o actualizada puede ser utilizada por el sistema de navegación404para proporcionar comandos de propulsión a un sistema de propulsión406.El sistema de propulsión406(p. ej.,hardwarede propulsión) puede definirse para incluir, por ejemplo, motores112, 104y ruedas106, 108 (figura 1)y/o cualquier controlador relacionado (p. ej., controladores de motor o microchips).
En lafigura 5,se muestran esquemáticamente modos o estados que pueden ser utilizados por la segadora100(figuras 1-3).Como se ilustra, la segadora100puede estar configurada en un modo de entrenamiento412,un modo fuera de línea414y un modo en línea416.La segadora100puede alternar entre los distintos modos, que también pueden describirse como configuraciones o estados. Algunas funciones de la segadora100pueden utilizarse durante determinados modos, por ejemplo, para aprovechar al máximo los recursos informáticos.
Como se usa en el presente documento, el término "modo de entrenamiento" se refiere a una rutina o un estado de una máquina autónoma (p. ej., segadora100) para grabar datos para la navegación posterior o subsiguiente de la máquina en una región de trabajo. Durante el modo de entrenamiento, la máquina puede recorrer la región de trabajo sin realizar funciones de mantenimiento. Por ejemplo, un modo de entrenamiento de un cortacésped autónomo puede incluir dirigir la segadora para que recorra parte o la totalidad de la región de trabajo (p. ej., a lo largo de una ruta límite deseada), o una zona dentro de la región de trabajo (p. ej., zona de contención o zona de exclusión), y puede o no utilizar una cuchilla de siega en la zona o región de trabajo. En algunos casos, la segadora puede dirigirse manualmente mediante un mango (p. ej., mango90de lafigura 1) en el modo de entrenamiento. En otros casos, la segadora puede dirigirse de forma autónoma por el sistema de navegación.
Como se usa en el presente documento, el término "modo fuera de línea" se refiere a una rutina o un estado de una máquina autónoma (p. ej., cortacésped100) para cargar una fuente de alimentación portátil o procesar los datos grabados durante un modo en línea o un modo de entrenamiento. Por ejemplo, un modo fuera de línea de un cortacésped autónomo puede incluir el acoplamiento de la segadora en una estación de carga durante la noche y el procesamiento de los datos grabados durante un modo de entrenamiento o un modo en línea.
Como se usa en el presente documento, el término "modo en línea" se refiere a una rutina o un estado de una máquina autónoma (p. ej., segadora100) para operar en una región de trabajo, que puede incluir recorrer la región de trabajo y realizar funciones de mantenimiento usando un implemento de mantenimiento. Por ejemplo, un modo en línea de un cortacésped autónomo puede incluir dirigir la segadora para cubrir o recorrer la región de trabajo, o una zona dentro de la región de trabajo, y utilizar una cuchilla de siega en la zona o región de trabajo para cortar la hierba.
En general, la segadora100puede interactuar con el dispositivo móvil119 (figura 1)durante, por ejemplo, el modo de entrenamiento412y/o el modo en línea416.
En algunas realizaciones, mientras un usuario dirige manualmente la segadora100durante el modo de entrenamiento, el dispositivo móvil119puede utilizarse para proporcionar retroalimentación sobre la velocidad de entrenamiento. La retroalimentación puede indicar si el usuario está moviendo la máquina autónoma demasiado rápido durante el entrenamiento usando, por ejemplo, un cuadro de mandos codificado por colores.
En algunas realizaciones, el dispositivo móvil119puede utilizarse para informar al usuario sobre determinadas áreas, zonas, o porciones de la región de trabajo donde las imágenes adquiridas no eran suficientes. Por ejemplo, puede detectarse un error en un área determinada y el dispositivo móvil119puede informar al usuario de dónde se encuentra dicha área e incluso puede dirigir al usuario a lo largo de una ruta para grabar imágenes adicionales con el fin de corregir el error detectado.
En algunas realizaciones, el dispositivo móvil119puede utilizarse para seleccionar el tipo de límite o zona para el entrenamiento: zona de contención, zona de exclusión, o zona de tránsito.
En algunas realizaciones, el dispositivo móvil119puede utilizarse para proporcionar retroalimentación en tiempo real sobre la forma de la zona. La forma de la zona puede o no estar vinculada a una escala y orientación del mundo real. Por ejemplo, se puede utilizar un mapa basado en datos de sensores para proporcionar retroalimentación sobre la forma de la zona al dispositivo móvil119.
La segadora puede proporcionar la estimación del tiempo hasta la finalización a través de una aplicación que se ejecuta en el dispositivo móvil, o a través de notificaciones periódicas (p. ej., mensajes de texto) proporcionados al dispositivo móvil.
En lafigura 6,representaciones esquemáticas de diversos sistemas de una máquina autónoma (p. ej., segadora100de lasfiguras 1-3). Los sensores420pueden estar operativamente acoplados al sistema de navegación404para proporcionar diversos datos de sensores, por ejemplo, que se utilizará durante un modo en línea. El sistema de visión402(p. ej., controlador de visión) y el sistema de navegación404(p. ej., controlador de navegación) puede incluir cada uno su propio procesador y memoria. Se muestran varios módulos del sistema de navegación404para implementar varias funcionalidades para navegar la máquina autónoma. El sistema de navegación404puede estar acoplado operativamente a una plataforma460para controlar acciones físicas de la máquina autónoma.
Los sensores420pueden incluir sensores asociados con el sistema de navegación404,sistema de visión402,o ambos. El sistema de navegación404y el sistema de visión402pueden incluir el mismo tipo de sensores. Por ejemplo, los sistemas402, 404pueden incluir cada uno una unidad de medición inercial (IMU, por las siglas en inglés).
Como se usa en el presente documento, el término "plataforma" se refiere a la estructura de la segadora (p. ej., segadora100delas figuras 1-3) que soportan los sensores420y el sistema de navegación404.Por ejemplo, la plataforma460puede incluir un sistema de propulsión406(p. ej., motores y ruedas), el alojamiento102 (figura 1),el motor de corte112(figura1), y el implemento de mantenimiento110 (figura 1),entre otros posibles componentes. En algunas realizaciones, la totalidad de la máquina autónoma puede describirse como que está en la plataforma460.
En la realización ilustrada, los sensores420incluyen el sistema de visión402y sensores no basados en visión422.
Los datos de los sensores420se proporcionan a un módulo de fusión de sensores430.En particular, el sistema de visión402proporciona una pose estimada basada en visión que contiene parámetros de posición y orientación al módulo de fusión de sensores430.Los sensores no basados en visión422pueden incluir, por ejemplo, una IMU y/o un codificador de rueda. El módulo de fusión de sensores430proporciona una pose estimada de la máquina autónoma basada en los datos de los sensores420.En particular, el módulo de fusión de sensores430estima una pose no basada en visión a partir de los datos de los sensores no basados en visión422,que se corrige o actualiza usando una estimación de la pose basada en visión determinada a partir de los datos de los sensores basados en visión del sistema de visión402.
Como se usa en el presente documento, el término "pose" se refiere a una posición y una orientación. La pose puede ser de seis grados de libertad (pose 6DOF), que puede incluir todos los parámetros de posición y orientación de un espacio tridimensional. Los datos de pose pueden incluir una posición tridimensional y una orientación tridimensional. Por ejemplo, la posición puede incluir al menos un parámetro de posición seleccionado entre: un eje x, un eje y, y una coordenada del eje z (p. ej., usando un sistema de coordenadas cartesianas). Puede utilizarse cualquier representación de orientación angular adecuada. Ejemplos no limitantes de representaciones de orientación angular incluyen una representación de guiñada, cabeceo y balanceo, una representación de Rodrigues, una representación de cuaterniones y una representación de matriz de coseno de dirección (DCM) también pueden utilizarse solas o combinadas. En un ejemplo, la orientación puede incluir al menos un parámetro de orientación seleccionado entre una guiñada (p. ej., orientación vertical del eje z), un cabeceo (p. ej., una orientación transversal del eje y), y un balanceo (p. ej., una orientación longitudinal del eje x).
Un módulo de planificación de ruta440puede recibir la pose estimada de la máquina autónoma del módulo de fusión de sensores430y utilizar la pose estimada para la navegación autónoma. Otra información, o datos, puede ser recibida por el módulo de planificación de ruta440para facilitar la navegación. Un módulo de detección de obstáculos432puede proporcionar información sobre la presencia de un obstáculo en la región de trabajo y la posición del obstáculo basándose en los datos de los sensores420.El sistema de navegación404también puede definir y actualizar un mapa434,o mapa de navegación, de al menos la región de trabajo. El mapa434puede definir o actualizarse para definir una o más zonas de contención, zonas de exclusión, zonas de tránsito e historial de siega, cada uno de los cuales puede proporcionarse al módulo de planificación de rutas440para facilitar la navegación. El historial de siega también puede proporcionarse a un módulo de gestión de programación436.El módulo de gestión de programación436puede utilizarse para informar al módulo de planificación de rutas440de diversas tareas para la máquina autónoma, tal como cuándo empezar a segar la región de trabajo durante la semana. También, el módulo de planificación de rutas440puede realizar tanto la planificación global de rutas (p. ej., determinar zonas dentro de la región de trabajo) y la planificación local de rutas (p. ej., determinación de puntos geográficos de referencia o puntos de partida).
Un controlador de propulsión450puede recibir datos del módulo de planificación de ruta440,el módulo de fusión de sensores430,y los sensores420,que puede ser utilizado por el controlador de propulsión450para proporcionar órdenes de propulsión al sistema de propulsión406.Por ejemplo, el controlador de propulsión450puede determinar una velocidad o un nivel de tracción basándose en los datos de los sensores420.El módulo de planificación de ruta440puede proporcionar uno o más puntos de ruta o puntos de partida al controlador de propulsión450,que puede utilizarse para recorrer toda o parte de la región de trabajo. El módulo de fusión de sensores430puede utilizarse para proporcionar datos de velocidad, aceleraciones, posiciones y orientaciones de la máquina autónoma al controlador de propulsión450.El controlador de propulsión450también puede determinar si la máquina autónoma está recorriendo la ruta determinada por el módulo de planificación de ruta440y puede facilitar la corrección de la ruta de la máquina en consecuencia.
Otra información, o datos, relacionados con la funcionalidad de mantenimiento de la máquina autónoma pueden proporcionarse al controlador de propulsión450para controlar un implemento de mantenimiento, tal como una cuchilla de corte para segar. Por ejemplo, puede proporcionarse al controlador de propulsión450una corriente de accionamiento de motor para el motor de cuchilla de corte. El controlador de propulsión450también puede proporcionar órdenes de mantenimiento, por ejemplo, para controlar un implemento de mantenimiento en la plataforma460.
En lafigura 7,muestra un ejemplo de implementación del módulo de fusión de sensores430usando los datos de los sensores420.Se puede utilizar cualquier dato adecuado de varios sensores420. Como se ilustra, los sensores420incluyen una unidad de medición inercial470,un codificador de rueda472,y el sistema de visión402.
Los datos de medición inercial de la unidad de medición inercial470pueden ser utilizados por un módulo de determinación de pose474.El módulo de determinación de pose474puede proporcionar una pose estimada de la máquina autónoma basada, al menos en parte, en los datos de medición inercial. En particular, el módulo de determinación de la pose474puede proporcionar al menos una de las posiciones y orientaciones estimadas. En algunas realizaciones, el módulo de determinación de la pose474puede incluso proporcionar una o más velocidades (p. ej., velocidad o ritmo).
Un filtro de Kalman482puede utilizarse para proporcionar datos de estimación de pose al módulo de determinación de pose474,que también puede utilizarse para proporcionar una pose estimada de la máquina autónoma. En particular, el filtro de Kalman482puede proporcionar al menos una de una posición delta estimada, velocidad delta y orientación delta. Como se usa en el presente documento, el término "delta" se refiere a un cambio en una variable o parámetro. En algunas realizaciones, los datos de salida del filtro de Kalman482pueden utilizarse para corregir errores en una pose estimada basándose en los datos de la unidad de medición inercial470.El módulo de determinación de pose474puede proporcionar una pose corregida o actualizada, en la salida de fusión del sensor484.
El filtro de Kalman482puede recibir información, o datos, basado en la salida del codificador de rueda472y el sistema de visión402.El codificador de rueda472puede proporcionar velocidades de rueda476al filtro de Kalman482.El sistema de visión402puede proporcionar odometría óptica478y corrección de posición de visión480.La odometría óptica478puede utilizar imágenes y determinar información sobre el movimiento de la máquina autónoma, como la distancia que ha recorrido la máquina autónoma. En general, la odometría óptica478puede utilizarse para determinar un cambio de posición, un cambio de orientación, una velocidad lineal, una velocidad angular, o cualquier combinación de ellas. Se puede utilizar cualquier algoritmo de odometría óptica disponible para un experto en la materia, en función de la máquina autónoma y la aplicación concretas. La corrección de posición de visión480proporcionada por el sistema de visión402puede incluir un dato de pose basado en visión, por ejemplo, una estimación de la pose basada en visión.
El módulo de determinación de pose474puede recibir o procesar datos del filtro de Kalman482a una tasa de refresco baja y utilizar actualizaciones de tasa baja. Los datos de la unidad de medición inercial470pueden recibirse o procesarse a una tasa de refresco alta y utilizar actualizaciones de tasa alta más rápidas que los datos de filtro de Kalman. La salida de la fusión de sensores484puede retroalimentar al filtro de Kalman482como una entrada para facilitar la operación del filtro de Kalman. Dicho de otra manera, el módulo de determinación de pose474puede proporcionar una pose estimada a una velocidad mayor que la salida del filtro de Kalman482o las entradas del filtro de Kalman (velocidades de rueda476,odometría óptica478,o corrección de la posición visual480). Por ejemplo, la corrección de la posición de visión480puede realizarse a diversas velocidades del orden de una a cuatro veces por minuto (p. ej., aproximadamente 1/10 Hz o 1/100 Hz), mientras que el módulo de determinación de la pose474puede proporcionar una pose del orden de 6000 veces por minuto (p. ej., aproximadamente 100 Hz). En algunas realizaciones, la tasa más alta puede ser un orden de magnitud que es uno, dos, tres, cuatro, cinco, o incluso seis veces el tipo más bajo.
En algunas realizaciones (no mostradas), el filtro de Kalman482puede incluirse en el módulo de determinación de pose474.En algunas realizaciones, el filtro de Kalman482puede utilizar una tasa de refresco alta.
En lafigura 8,representaciones esquemáticas de diversos datos y estructuras de datos que puede utilizar un sistema de visión (p. ej., sistema de visión402de lafigura 4) en un ejemplo de un modo de entrenamiento412para grabar datos. En general, durante el modo de entrenamiento, los datos se graban mientras la máquina autónoma se dirige a lo largo de una región de trabajo, por ejemplo, a lo largo de un límite deseado de la región de trabajo). En particular, las imágenes de entrenamiento pueden grabarse mientras la máquina autónoma se dirige a lo largo de la región de trabajo.
Durante el modo de entrenamiento, datos de cámara502de una o más cámaras (p. ej., cámaras133de lafigura1 que pueden incluir una orientada hacia delante, orientado hacia atrás, cámara orientada a la izquierda y cámara orientada a la derecha) pueden ser proporcionadas y almacenadas en una estructura de datos510como imágenes de entrenamiento. Si bien se muestran los datos de la cámara502de cuatro cámaras, pueden utilizarse datos de cualquier número de cámaras. Los datos de la cámara502pueden incluir imágenes, que pueden describirse como datos de imagen o datos de imagen con marca de tiempo. Los datos de la cámara502pueden describirse como datos basados en visión.
También, durante el modo de entrenamiento, también pueden grabarse datos no basados en visión. En la realización ilustrada, los datos no basados en visión incluyen datos de GPS504,datos de IMU506,y datos de odometría508(p. ej., datos de codificador de rueda). Los datos no basados en visión pueden proporcionarse y almacenarse en una estructura de datos512.Los datos no basados en visión pueden incluir datos no basados en visión con marca de tiempo. Puede utilizarse cualquier combinación de datos no basados en visión. En algunas realizaciones, los datos no basados en visión son opcionales y no pueden ser utilizados por el sistema de visión.
Mientras el sistema de visión graba los datos, el sistema de navegación de la máquina autónoma puede utilizarse para observar y definir los límites de la contención, zonas de exclusión y tránsito. Los límites pueden almacenarse en el sistema de navegación para la navegación posterior durante un modo en línea.
En lafigura 9,representaciones esquemáticas de diversos datos, se muestran las estructuras de datos y los módulos del sistema de visión en un ejemplo de modo414fuera de línea para procesar datos. El modo fuera de línea414puede utilizarse después del modo de entrenamiento412 (figura 5).Los datos de la cámara502,que pueden haber sido almacenadas en la estructura de datos510como imágenes de entrenamiento durante un modo de entrenamiento, puede proporcionarse al módulo de extracción de características520.El módulo de extracción de características520puede utilizar un algoritmo de extracción de características, un algoritmo descriptor, o ambos, para extraer datos de características que se proporcionan y almacenan en una estructura de datos528basada en los resultados del algoritmo de extracción o descripción de características.
Como se usa en el presente documento, el término "característica" se refiere a los datos bidimensionales (2D) que resultan de la identificación de uno o más puntos, en puntos clave o de interés concretos, en una imagen bidimensional. Las características pueden identificarse y extraerse de una imagen mediante un algoritmo detector de características. Dependiendo de la máquina autónoma y de la aplicación, se puede utilizar cualquier algoritmo detector de características que esté al alcance de cualquier experto en la materia. En algunas realizaciones, cada característica única se refiere a un solo punto, o punto de interés, en una imagen o 3DPC. La característica puede almacenarse como datos de características que contienen coordenadas definidas en relación con el marco de la imagen. En algunas realizaciones, los datos de características también pueden incluir un descriptor aplicado a, asociados o correspondientes al elemento. El término "datos de características" se refiere a una estructura de datos que representa características y puede incluir una posición bidimensional y un descriptor multidimensional (p. ej., bidimensional o tridimensional).
Los puntos clave utilizados para identificar las características pueden extraerse de varios objetos de una imagen. En algunas realizaciones, los objetos pueden ser permanentes, temporal, o ambas cosas. En algunas realizaciones, los objetos pueden ser naturales, artificial, o ambas cosas. Un ejemplo de elemento permanente es la esquina de una casa. Un ejemplo de rasgo natural es el borde del tronco de un árbol. Algunos ejemplos de elementos temporales y artificiales son una estaca en el suelo y una diana en un árbol. La característica artificial puede posicionarse temporalmente y utilizarse para aumentar la densidad de características dentro de una región de trabajo (p. ej., para mejorar una porción de baja calidad de una 3DPC). La característica artificial puede ser alimentado y, por ejemplo, puede incluir un emisor de luz visible o no visible detectable por una cámara. La característica artificial puede ser sin alimentación y, por ejemplo, puede incluir un patrón visible o no visible detectable por una cámara. Algunos elementos artificiales pueden posicionarse de forma permanente. Como se usa en el presente documento, el término "no visible" se refiere a la emisión o reflexión de longitudes de onda de luz que no son visibles para el ojo humano, pero que pueden emitir o reflejar longitudes de onda visibles por una cámara, como una cámara de infrarrojos en la máquina autónoma.
Como se usa en el presente documento, el término "descriptor" se refiere a los datos bidimensionales resultantes de un algoritmo descriptor. El descriptor describe la característica en el contexto de la imagen. En algunas realizaciones, un descriptor puede describir valores de píxeles, gradientes de imagen, información del espacio de escala, u otros datos de la imagen cerca o alrededor de la característica. Por ejemplo, el descriptor puede incluir un vector de orientación para la característica o puede incluir un parche de imagen. Se puede utilizar cualquier algoritmo descriptor adecuado para proporcionar contexto a una característica de una imagen que esté disponible para alguien con conocimientos ordinarios en la materia, dependiendo de la máquina autónoma o aplicación en particular. Un descriptor puede almacenarse como parte de los datos de características.
Las técnicas descritas en el presente documento para la detección de características, descriptores, correspondencia de características o construcción de mapas visuales pueden incluir o utilizar algoritmos, como una transformada de características invariantes de escala (SIFT), características robustas aceleradas (SURF),Oriented FAST and Rotated Brief(ORB), KAZE, KAZE acelerado (AKAZE), seguimiento lineal de características, fusión de cámaras, cierre de bucle, estructura incremental a partir del movimiento, u otros algoritmos adecuados. Estos algoritmos pueden, por ejemplo, proporcionar una o más características y descriptores al módulo de correspondencia de características522y al módulo de construcción de mapas visuales524descritos a continuación.
La salida del módulo de extracción de características520y/o los datos de características almacenados en una estructura de datos528pueden proporcionarse al módulo de correspondencia de características522.El módulo de comparación de características522puede utilizar un algoritmo de comparación de características para comparar características identificadas en diferentes imágenes de entrenamiento. Diferentes imágenes pueden tener diferente iluminación alrededor de los mismos puntos clave físicos, lo que puede dar lugar a algunas diferencias en los descriptores para las mismas características. Las características que tienen una similitud por encima de un umbral pueden determinarse como la misma característica.
Dependiendo de la máquina autónoma y de la aplicación, se puede utilizar cualquier algoritmo de comparación de características que esté al alcance de cualquier experto en la materia. Entre los ejemplos no limitativos de algoritmos adecuados se incluye Fuerza bruta, Vecino más cercano aproximado (ANN) y Biblioteca rápida para vecinos más cercanos aproximados (FLANN). El algoritmo de Fuerza bruta puede corresponder características seleccionando una característica y comprobando todas las demás para ver si corresponden. El módulo de correspondencia de características522puede proporcionar y almacenar datos de correspondencia en una estructura de datos530basada en los resultados del algoritmo de correspondencia de características.
La salida del módulo de correspondencia de características522y/o los datos de correspondencia almacenados en la estructura de datos530pueden proporcionarse a un módulo de construcción de mapas visuales524.El módulo de construcción de mapas visuales524puede utilizar una técnica de construcción de mapas, tal como el método mostrado en lafigura 15,para crear una 3DPC. En general, las técnicas descritas en el presente documento que generan una 3DPC usando sensores basados en visión pueden describirse como una técnica de estructura a partir del movimiento (SfM) o una técnica de localización y cartografía simultáneos (SLAM), cualquiera de los cuales puede utilizarse con diversas realizaciones de la presente divulgación, por ejemplo, en función de la máquina autónoma y la aplicación concretas.
Como se usa en el presente documento, el término "nube de puntos tridimensional" "nube de puntos 3D" o "3DPC" es una estructura de datos que representa o contiene puntos geométricos tridimensionales que corresponden a características extraídas de imágenes. La 3DPC puede asociarse a varias propiedades, como las poses. En algunas realizaciones, los puntos geométricos y las poses pueden definirse o no en un sistema de coordenadas basado en un marco de referencia arbitrario. En algunas realizaciones, la 3DPC puede o no estar asociada a una escala, orientación, o ambas, que esté vinculada al mundo real, por ejemplo, hasta que se haya realizado un proceso de registro de mapas. La 3DPC puede generarse a partir de datos de correspondencia de características. Un gráfico, o mapa visual, puede generarse basándose en la 3DPC para proporcionar una representación de la 3DPC que pueda ver el ser humano.
En algunas realizaciones, el módulo de construcción de mapas visuales524puede establecer correspondencias entre puntos 3D y características 2D, aunque no se hayan establecido las correspondencias de 2D a 2D del módulo de correspondencia de características522. Dicho de otra manera, el módulo de construcción de mapas visuales524puede no requerir que todas las características correspondan antes de comenzar el proceso de construcción de mapas visuales.
Pueden asociarse otros datos a los puntos de la 3DPC. Ejemplos no limitativos de datos que pueden asociarse a cada punto de la 3DPC incluyen: una o más imágenes, uno o varios descriptores, una o varias poses, incertidumbre de posición e incertidumbre de pose para una o más poses. La 3DPC y los datos asociados pueden proporcionarse y almacenarse en una estructura de datos532.
En algunas realizaciones, los datos asociados pueden incluir una o más poses determinadas y asociadas con puntos en la 3DPC como datos de pose, que pueden describir la posición y/u orientación de la plataforma o de algún otro componente del sistema en los momentos en que se observaron las características asociadas a la 3DPC. Por ejemplo, las posiciones y orientaciones de la máquina autónoma durante la grabación de imágenes pueden determinarse basándose en las posiciones de varios puntos en la 3DPC y las posiciones de las características correspondientes en las imágenes grabadas. Posiciones y orientaciones, o poses, también puede determinarse directamente durante la generación de la nube de puntos. La posición, orientación, o ambos tipos de datos representados en las poses pueden utilizarse para la determinación de límites o la corrección de poses por el sistema de navegación.
La salida del módulo de construcción de mapas visuales524y/o la 3DPC y los datos asociados almacenados en la estructura de datos532,que puede incluir una pluralidad de poses 6DOF, la 3DPC, y una pluralidad de puntos límite en un mapa visual o mapa de navegación, puede proporcionarse a un módulo de registro de mapas526.
Opcionalmente, los datos no basados en visión, como los datos de GPS, Datos de IMU y odometría, de la estructura de datos512también puede proporcionarse al módulo de registro de mapas526.El módulo de registro de mapas526puede determinar y proporcionar datos de pose basados en un mapa registrado, que puede ser proporcionada y utilizada por el sistema de navegación404.En algunas realizaciones, los datos de pose se proporcionan desde el módulo de registro de mapas526al sistema de navegación404.Los datos de pose pueden ser datos de pose estimados basados en visión. El mapa registrado también puede proporcionarse y almacenarse en una estructura de datos534.
Como se usa en el presente documento, el término "mapa registrado" se refiere a una 3DPC que se ha vinculado a una escala del mundo real, orientación hacia el mundo real, o ambas. En algunas realizaciones, un mapa registrado puede estar vinculado a un mapa o marco de referencia del mundo real. Por ejemplo, puede utilizarse un GPS para vincular la 3DPC a un servicio cartográfico del mundo real, como GOOGLE MAPS™. En algunas realizaciones, cuando se utilizan las técnicas descritas en el presente documento, la 3DPC puede escalarse generalmente desde aproximadamente 0,5 veces hasta aproximadamente 2 veces cuando se registra en un mapa o marco de referencia del mundo real. Sin embargo, el escalado no suele limitarse a estos intervalos.
Como se usa en el presente documento, el término "mundo real" se refiere a la Tierra u otros marcos de referencia existentes para una región de trabajo. Un marco de referencia ajeno al mundo real puede describirse como un marco de referencia arbitrario.
En lafigura 10,se muestran representaciones esquemáticas de varios datos, estructuras de datos y módulos del sistema de visión en un ejemplo de modo en línea416para la estimación de la pose. El modo en línea416puede utilizarse después de un modo de entrenamiento412,después de un modo fuera de línea414o ambos. En lugar de capturar imágenes para el entrenamiento, los datos de imagen de los datos de la cámara502pueden utilizarse durante el funcionamiento. Dichos datos de imagen pueden describirse como datos de imagen operativos que incluyen imágenes operativas.
Las imágenes operativas de los datos de la cámara502pueden proporcionarse al módulo de extracción de características52o.Los mismos o diferentes algoritmos para extraer datos de características de las imágenes de entrenamiento utilizados durante el modo fuera de línea414pueden utilizarse en imágenes operativas en el modo en línea416.
Los datos de características del módulo de extracción de características520pueden proporcionarse al módulo de correspondencia de características522.El módulo de correspondencia de características522puede utilizar los mismos o diferentes algoritmos utilizados durante el modo fuera de línea414para hacer corresponder los datos de características del módulo de extracción de características520con las características de los datos de mapas grabados de la estructura de datos534.En algunas realizaciones, los datos de características de la estructura de datos528también pueden utilizarse como entrada para el módulo de correspondencia de características522.El módulo de comparación de características522puede comparar características usando correspondencias 2D, correspondencias 3D, correspondencias entre posiciones de imágenes 2D y proyecciones 2D de datos 3D, valores del descriptor, o cualquier combinación de estos. Los datos de correspondencia del módulo de correspondencia de características522,que pueden incluir correspondencias 2D o 3D, puede proporcionarse a un módulo de estimación de pose540.
El módulo de estimación de pose540puede proporcionar una pose estimada, como una pose 6DOF, y puede describirse como pose basada en visión. Los datos de pose basados en visión del módulo de estimación de pose540pueden proporcionarse al sistema de navegación404,un filtro de poses542,de vuelta al módulo de correspondencia de características522,o cualquier combinación de estos.
El módulo de correspondencia de características522puede utilizar los datos de pose para identificar qué características es probable que se vean en los datos de la cámara502basándose en la pose estimada de la máquina autónoma y en las ubicaciones en las que es probable que se vean estas características. Esta información puede utilizarse como entrada en uno o más algoritmos del módulo de correspondencia de características522.
El filtro de poses542puede utilizar datos de pose para identificar qué poses son probables, por ejemplo, basado en estimaciones previas de pose. Los datos de pose filtrados por el filtro de poses542pueden devolverse al módulo de correspondencia de características522para identificar qué características es probable que se vean en los datos de la cámara502basándose en los datos de pose filtrados y en las ubicaciones en las que es probable que se vean estas características. Esta información puede utilizarse como entrada en uno o más algoritmos del módulo de correspondencia de características522.
En algunas realizaciones, el filtro de poses542puede utilizar información de una IMU, un codificador de rueda o un codificador óptico (p. ej., sensores420de lasfiguras 6-7) para filtrar poses. En algunas realizaciones, el filtro de poses542puede describirse como el uso de una pose basada en sensores no basados en visión, como un sistema de navegación basado en la inercia (o INS) que incluya una unidad de medición inercial, para informar de qué poses pueden filtrarse. El sistema de navegación404dela figura 6puede usar un filtro de poses independiente, por ejemplo, en el módulo de fusión de sensores430.La salida resultante, o datos de pose, de los distintos filtros de poses pueden compararse para corregirlos o como control de redundancia, cualquier salida.
De manera adicional, el módulo de correspondencia de características522puede utilizar datos de características, que pueden incluir características y/o descriptores, de la estructura de datos528para filtrar datos de características del módulo de extracción de características520que no sean similares a ninguna característica ya extraída durante un modo de entrenamiento.
En lafigura 11,se muestra una serie de imágenes con marca de tiempo550, 560, 570y una 3DPC580para ilustrar un ejemplo de construcción de mapa visual. Un punto clave puede identificarse como una característica bidimensional552, 562, 572en la respectiva imagen550, 560, 570,por ejemplo, mediante un algoritmo detector de características.
Se extrae cada característica552, 562, 572y se puede aplicar un algoritmo descriptor para generar un descriptor multidimensional554, 564, 574asociado con la característica552, 562, 572respectiva. Los descriptores554, 564, 574se ilustran como círculos alrededor de la característica552, 562, 572respectiva. Las características552, 562, 572y los descriptores554, 564, 574pueden incluirse en datos de características.
Durante la correspondencia de características, puede utilizarse un algoritmo de correspondencia de características para determinar que las características552, 562, 572son suficientemente similares basándose en los descriptores554, 564, 574.Las características pueden corresponder en datos correspondientes.
Durante la construcción de mapas visuales, se puede aplicar una técnica de construcción de mapas a los datos de características y a los datos de correspondencia para identificar un punto tridimensional582en una 3DPC580que corresponda a las características552, 562, 572.Cada punto de la 3DPC580puede determinarse de manera similar.
En lafigura 12,se muestra una 3DPC600con puntos de pose602.En la ilustración, los puntos de pose se dibujan como puntos rojos que parecen formar una ruta, que se traza aproximadamente con una línea discontinua blanca para mayor visibilidad. La ruta puede describirse como una ruta alrededor de un perímetro de la región de trabajo. Los puntos correspondientes a las posiciones de las características se dibujan como puntos negros. Durante la construcción de mapas visuales, los puntos de pose602pueden determinarse junto con los puntos correspondientes a las posiciones de las características. Cada punto de pose602corresponde a una pose estimada de la cámara utilizada para grabar una imagen. Cada punto de pose602puede incluirse en los datos de pose proporcionados al sistema de navegación, que puede utilizarse para determinar los límites o corregir la pose.
El límite puede definirse usando un ajuste lineal o curvo de los puntos de pose602.El límite también puede definirse en relación con el ajuste de la línea, o los puntos de pose602.Por ejemplo, el límite puede definirse un pie fuera del ajuste de línea, o los puntos de pose602.
Puede evaluarse la calidad de la 3DPC600. Un nivel de calidad, o parámetro, también puede asignarse a varias porciones de la 3DPC600.El nivel de calidad utilizado para evaluar la 3DPC puede basarse en varios parámetros, como al menos uno de los siguientes: un número de poses reconstruidas, un número de puntos reconstruidos, error de reproyección, incertidumbre de triangulación de puntos e incertidumbre de pose reconstruida.
En lafigura 13,se muestra una 3DPC610con puntos de pose612y una porción de baja calidad604de la 3DPC. Una máquina autónoma puede dirigirse a lo largo de la ruta representada por los puntos de pose612.La ruta puede describirse como una ruta alrededor de un perímetro de la región de trabajo. Una o más porciones604de la 3DPC600pueden identificarse como, o determinarse que son, una porción de baja calidad604.Por ejemplo, puede determinarse que una porción de la 3DPC tiene un nivel de calidad inferior a un umbral de calidad. El nivel de calidad puede basarse en, por ejemplo, valores de incertidumbre asociados a los puntos, incertidumbre en las poses correspondientes a esos puntos, o una baja densidad de puntos. Por ejemplo, ya que la máquina autónoma se dirige a lo largo de una ruta durante el modo de entrenamiento, ciertas áreas de la región de trabajo pueden tener muy pocos puntos clave visibles para la una o más cámaras para identificar características (p. ej., estar cerca de un campo abierto) o la ruta puede estar tan cerca de un obstáculo que los puntos clave situados justo por encima o detrás del obstáculo no sean visibles desde la ruta (p. ej., estar cerca de una valla que obstruye la visión de un árbol situado más allá o por encima de la valla debido a un campo de visión vertical limitado).
Puede ser conveniente mejorar el nivel de calidad de esta porción de la 3DPC. Las coordenadas o puntos asociados a la porción de baja calidad pueden proporcionarse al sistema de navegación. El sistema de navegación puede indicar a la máquina autónoma que recorra la región de trabajo para grabar imágenes de entrenamiento adicionales, por ejemplo, a lo largo de una diferente, o secundaria, ruta que la ruta límite original deseada que es probable que registre imágenes adicionales de puntos clave que pueden estar en la porción de baja calidad. El sistema de navegación puede dirigir la máquina autónoma a lo largo de la ruta secundaria, por ejemplo, durante un modo de entrenamiento o en línea. Dicho de otra manera, la máquina autónoma puede dirigirse para grabar imágenes en un área de la región de trabajo asociada con la porción de baja calidad de la 3DPC, que pueden utilizarse para mejorar la calidad o "rellenar" esta porción de la 3DPC.
En lafigura 14,se muestra una 3DPC620que representa la misma región de trabajo que la 3DPC610 (figura 13).
Sin embargo, la máquina autónoma se dirigió a lo largo de una ruta representada por puntos de pose622para grabar imágenes para generar la 3DPC620.Como se ilustra, la 3DPC622no incluye una porción de baja calidad. El trayecto puede describirse como un trayecto secundario. La ruta secundaria puede definirse dentro de un límite, o ruta original, representados por los puntos de pose612 (figura 13).La ruta secundaria puede describirse como un recorrido a lo largo del interior de la región de trabajo. La ruta secundaria puede incluir más giros, o rutas en "zig-zag", a través de la región de trabajo para capturar más puntos de vista desde la una o más cámaras de la máquina autónoma. Se puede realizar cualquier tipo de cambio en la ruta, como cambios de ruta aleatorios, semialeatorios o planificados, para determinar la ruta secundaria. Cuando se utiliza una ruta secundaria representada por puntos de pose622para rellenar la 3DPC620,la ruta original representada por los puntos de pose612puede seguir utilizándose como el límite que define la región de trabajo.
En algunas realizaciones, datos de GPS, como los datos de GPS-RTK, puede utilizarse para ayudar a navegar a la máquina autónoma a través de áreas de la región de trabajo asociadas con porciones de baja calidad de la 3DPC. Los datos de GPS pueden proporcionarse a un módulo de fusión de sensores como uno de los sensores no basados en visión. En un ejemplo, la máquina autónoma puede depender más de los datos de GPS cuando la máquina autónoma recorre un área asociada a porciones de baja calidad de la 3DPC. Al depender más de los datos del GPS, los datos de GPS pueden "ponderarse" más que los datos basados en visión. Los datos de GPS pueden utilizarse para la corrección de la pose o incluso como entrada primaria de un sensor no basado en visión para la fusión de sensores. La máquina autónoma puede "ponderar" más los datos basados en visión que los del GPS, por ejemplo, cuando la máquina autónoma está recorriendo un área de la región de trabajo que contiene uno o más obstáculos que pueden impedir que el receptor de GPS116 (figura 1) reciba señales temporizadas apropiadas de los satélites GPS. La máquina autónoma también puede "ponderar" más los datos basados en visión, por ejemplo, cuando la máquina autónoma recorre un área de la región de trabajo que no está asociada a la porción de baja calidad de la 3DPC.
En lafigura 15,se muestra un diagrama de flujo de un ejemplo de un método de construcción de mapas visuales utilizado por el módulo de construcción de mapas visuales524. Al final664de la construcción de mapas visuales, una 3DPC puede almacenarse en la estructura de datos532.En general, el método de construcción de mapas visuales puede emplear la eliminación de puntos extraños que pueden confundir a diversos algoritmos de construcción de mapas. Por ejemplo, las correspondencias débiles o los puntos asociados a valores de incertidumbre elevados pueden eliminarse de los datos antes de utilizar determinados algoritmos de construcción de mapas para generar la 3DPC. Una pluralidad de poses 6DOF y una pluralidad de puntos límite determinados basándose en la pluralidad de poses 6DOF pueden almacenarse en la estructura de datos532.
Las correspondencias débiles pueden rechazarse de los datos correspondientes de la estructura de datos en650.En particular, las correspondencias por debajo de un umbral de correspondencia en los datos de correspondencia pueden rechazarse y no utilizarse para generar la 3DPC. Una correspondencia débil puede definirse como dos características que tienen descriptores similares, de forma que se emparejen mediante un algoritmo de emparejamiento. Sin embargo, las características pueden estar en diferentes lugares de la región de trabajo. Para filtrar estas correspondencias débiles se puede utilizar cualquier algoritmo adecuado al alcance de cualquier experto en la materia. Algunos algoritmos proporcionan retroalimentación relativa o a escala. Por ejemplo, el resultado de una prueba de proporción puede representar la probabilidad de una buena correspondencia. Puede utilizarse un umbral para determinar si el resultado de la prueba de proporción no alcanza o supera umbral de correspondencia de este tipo. Una o varias de estas pruebas pueden utilizarse para determinar si una correspondencia es débil. En algunas realizaciones, una correspondencia débil puede determinarse superponiendo pruebas y determinando si una probabilidad global no alcanza o supera un umbral de correspondencia.
Una 3DPC parcial puede inicializarse usando datos basados en primera y segunda imágenes de entrenamiento en652(p. ej., cualquier par de imágenes). En particular, la 3DPC parcial puede inicializarse usando datos de características correspondientes a una primera y una segunda imagen de entrenamiento. Los datos de características pueden incluir características y descriptores. Las imágenes de entrenamiento pueden seleccionarse para que estén suficientemente espaciadas en la región de trabajo en distancia o tiempo, que puede considerarse un sustituto de la distancia a medida que la máquina autónoma recorre la región de trabajo. Las imágenes de entrenamiento también pueden seleccionarse de modo que un número suficiente de características sean visibles en ambas imágenes. En algunas realizaciones, se seleccionan las dos primeras imágenes de entrenamiento para que una, dos, tres o más características sean compartidas entre las imágenes de entrenamiento de manera que el número de características compartidas supere un número umbral de características y, también, las imágenes de entrenamiento no son imágenes grabadas inmediatamente posteriores, de manera que las imágenes de entrenamiento estén separadas en distancia, tiempo o número de imágenes por algún número umbral (p. ej., una, dos, tres o más imágenes se grabaron entremedias).
En654, se selecciona una tercera imagen de entrenamiento con correspondencia superpuesta a la 3DPC parcial. En particular, puede seleccionarse una tercera imagen de entrenamiento con correspondencia superpuesta a la 3DPC parcial.
La tercera imagen de entrenamiento puede seleccionarse para corroborar los puntos identificados en la 3DPC parcial existente basado en las dos primeras imágenes. La correspondencia solapada puede evaluarse para determinar si la tercera imagen de entrenamiento tiene un fuerte vínculo con la 3DPC parcial existente. Dicho de otra manera, la tercera imagen de entrenamiento puede seleccionarse de modo que un número superior a un umbral de características se comparta entre las imágenes y que la tercera imagen de entrenamiento esté espaciada a cierta distancia, tiempo, o número de imágenes de distancia de la primera y la segunda imagen de entrenamiento por algún número de umbral.
En general, si tres imágenes tienen cada una uno o más puntos en común (p. ej., un número suficiente de puntos en común), entonces los puntos pueden corresponder en un espacio tridimensional. También, en general, se puede determinar la pose de una cámara en estas mismas condiciones. La pose de la cámara utilizada para tomar la tercera imagen puede estimarse basándose en la 3DPC parcial en656.
Puede determinarse un nuevo 3DPC parcial basado en los datos de características de la tercera imagen de entrenamiento y la 3DPC parcial658.En particular, las posiciones de cualquier característica nueva relativa a la 3DPC parcial pueden estimarse usando datos de correspondencia asociados con la tercera imagen de entrenamiento y datos de correspondencia asociados con la primera y la segunda imagen de entrenamiento.
Se puede utilizar un optimizador de grafos en la 3DPC parcial y en las imágenes de entrenamiento utilizadas en 660. En particular, la 3DPC parcial puede actualizarse usando un optimizador de grafos para refinar las posiciones estimadas de características o subconjuntos de características, para refinar las poses de cámara recuperadas o un subconjunto de poses de cámara, o para refinar tanto las posiciones de las características como las poses.
Un optimizador gráfico también puede describirse como un ajuste de paquetes, que suele denominarse una aplicación específica de la optimización de grafos. El optimizador de grafos puede basarse en una técnica matemática de ciencia de datos, similar a la regresión por mínimos cuadrados, pero aplicado a una estructura de datos más conectada. Los puntos del mapa pueden definir un gráfico tal que los puntos de la 3DPC estén conectados a un espacio de imagen bidimensional. Las conexiones entre puntos 3D y 2D forman aristas del grafo. El problema de optimización puede suponer que parte de la información es imperfecta y puede suponer que la ubicación más probable de los nodos del grafo (p. ej., para la 3DPC y las poses basadas en visión) pueden determinarse o estimarse basándose en toda la información disponible. Dicho de otra manera, el optimizador de grafos reconoce que la 3DPC generado puede tener "ruido" y encuentra una 3DPC de "mejor ajuste" basándose en toda la información disponible.
Si hay imágenes de entrenamiento adicionales sin utilizar disponibles en662,en654, puede seleccionarse una imagen de entrenamiento adicional no utilizada con correspondencia superpuesta a la 3DPC parcial. Las poses y posiciones para cada una de las imágenes de entrenamiento adicionales pueden seguir estimándose en656, 658.Un optimizador gráfico puede continuar ejecutándose en las posiciones estimadas de las características y las imágenes de entrenamiento no utilizadas en660.
Si no hay imágenes de entrenamiento no utilizadas disponibles en662,la 3DPC parcial puede representar una 3DPC completa. El método de construcción de mapas visuales puede terminar en664y almacenar los datos de 3DPC y pose en la estructura de datos532.
En lafigura 16,se muestra una representación esquemática de un método700de navegación de máquina autónoma para entrenamiento. En un modo de entrenamiento, la máquina autónoma puede dirigirse a lo largo de una región de trabajo, por ejemplo, a lo largo de una ruta límite deseada de la región de trabajo en702.Mientras la máquina autónoma se dirige en modo de entrenamiento, las imágenes de entrenamiento pueden ser capturadas por un sistema de visión de la máquina autónoma. La máquina autónoma puede dirigirse manual o automáticamente a lo largo de la ruta límite deseada. La máquina también puede dirigirse a lo largo de una ruta desviada de la ruta límite deseada, por ejemplo, por una distancia predefinida.
En modo fuera de línea, puede generarse una 3DPC que represente la región de trabajo y/o un área más allá o alrededor de la región de trabajo en704.Por ejemplo, la 3DP<c>también puede incluir puntos fuera del límite de la región de trabajo o incluso fuera de la región de trabajo (p. ej., cuando el límite se define dentro de la región de trabajo). La 3DPC puede generarse a partir de datos de características bidimensionales extraídos de imágenes de entrenamiento. La 3DPC también puede generarse basándose en la correspondencia de datos que relacionan características en los datos de características de diferentes imágenes de entrenamiento.
Los datos de pose pueden ser generados y asociados con puntos de la 3DPC que representan poses de la máquina autónoma en706.Los datos de pose pueden describirse como datos de pose basados en visión. Los datos de pose pueden incluir tanto la posición como la orientación que representan la posición de la cámara o de la máquina autónoma durante el modo de entrenamiento. En algunas realizaciones, los datos de pose incluyen al menos una posición tridimensional que representa una pose de la máquina autónoma durante un modo de entrenamiento. La pose de una cámara orientada hacia delante puede utilizarse para estimar la posición de la máquina autónoma.
Se puede utilizar un sistema de navegación de la máquina autónoma para determinar un límite usando datos de sensores no basados en visión y los datos de pose asociados con la 3DPC en708.El límite puede utilizarse para la navegación posterior de la máquina autónoma en la región de trabajo, por ejemplo, durante un modo en línea. Pueden obtenerse datos de sensores no basados en visión, por ejemplo, de una unidad de medición inercial. Los datos de pose basados en visión asociados a la 3DPC pueden utilizarse para estimar o corregir el límite.
En lafigura 17,se muestra una representación esquemática de un método800de navegación de máquina autónoma para funcionamiento. En modo en línea, un sistema de navegación de la máquina autónoma puede utilizarse para determinar una pose de la máquina autónoma basada en datos de sensor no basados en visión en802.Por ejemplo, los datos del sensor pueden basarse en la salida de una unidad de medición inercial.
Se puede utilizar un sistema de visión de la máquina autónoma para determinar los datos de pose basados en visión a partir de las imágenes operativas recibidas obtenidas y una 3DPC generado a partir de los datos de características extraídos de las imágenes de entrenamiento en804.Los datos de pose basados en visión pueden determinarse independientemente de los datos de los sensores no basados en visión. En algunas realizaciones, los datos de pose basados en visión pueden determinarse basándose, al menos en parte, en la retroalimentación de la estimación de pose basada en visión o del filtrado de pose basado en visión.
El sistema de navegación puede actualizar la pose predeterminada basándose en los datos de pose basados en visión en806.Los datos de pose basados en visión pueden actualizarse a una velocidad menor que la velocidad a la que el sistema de navegación actualiza la pose. Es decir, la pose puede determinarse una o más veces sin entrada, o corrección, a partir de los datos de pose basados en visión.
El sistema de navegación puede navegar la máquina autónoma dentro de un límite de la región de trabajo basado en la pose actualizada en808.Por ejemplo, el sistema de navegación puede utilizarse para proporcionar órdenes de propulsión a un sistema de propulsión de la máquina autónoma.
Se puede utilizar cualquier técnica adecuada para entrenar a la máquina autónoma para la navegación. En una o más realizaciones descritas en el presente documento, los métodos de entrenamiento de la máquina autónoma pueden incluir uno, dos o más fases diferentes. La máquina también puede, durante el entrenamiento, transición a un modo diferente, como un modo fuera de línea, entre las distintas fases del modo de entrenamiento. Es más, antes de comenzar las distintas fases del modo de entrenamiento, la máquina autónoma puede realizar una comprobación de la batería antes de comenzar, que puede garantizar que la máquina es capaz de realizar las tareas necesarias durante cada fase.
Lafigura 18muestra un ejemplo de diferentes fases utilizadas en un método de entrenamiento820.En particular, la 3DPC y los límites pueden entrenarse en distintas fases, por ejemplo, en comparación con el método de entrenamiento700de lafigura 16,que puede entrenar la 3DPC y los límites en una sola fase. El método de entrenamiento820puede incluir una fase de recorrido en822,en la que se recorre la región de trabajo dirigiendo la máquina autónoma en la región de trabajo. Durante la fase de recorrido pueden grabarse imágenes y otros datos de los sensores.
El método de entrenamiento820también puede incluir una fase fuera de línea en824,en la que la máquina autónoma genera una 3DPC, por ejemplo, en modo fuera de línea mientras está acoplado en una estación base. La nube de puntos puede generarse usando las imágenes y otros datos de los sensores grabados durante la fase de recorrido.
Es más, el método de entrenamiento820puede incluir una fase de cartografía en826,en el que la máquina autónoma se dirige en la región de trabajo de acuerdo con los límites deseados. La máquina puede dirigirse manualmente, que puede incluir ser empujada o conducida por el usuario o controlarse a distancia. Durante la fase de recorrido pueden grabarse imágenes y otros datos de los sensores. Por ejemplo, los datos de fusión de los sensores pueden utilizarse para determinar la ubicación de la máquina autónoma a lo largo de los trayectos.
Una vez trazados los límites, el método de entrenamiento820puede incluir una fase de generación de mapas en828,en el que la máquina autónoma genera un mapa de navegación. La fase de generación de mapas en828puede incluir la generación del mapa de navegación basándose en los datos de fusión de sensores grabados durante la fase de cartografía. El mapa de navegación puede incluir algunos o todos los límites entrenados por el usuario en la fase de cartografía.
La fase de generación de mapas en828puede incluir la generación de una representación de una o más rutas recorridas por la máquina autónoma durante la fase de cartografía. Por ejemplo, la representación de las una o más rutas puede ser una representación visual mostrada al usuario en un dispositivo de interfaz de usuario. En algunas realizaciones, puede acoplarse un dispositivo de interfaz de usuario a la máquina autónoma para la fase de recorrido o la fase de cartografía. Un ejemplo de dispositivo de interfaz de usuario es un teléfono inteligente, que puede estar acoplada físicamente a la máquina autónoma en una posición visible para el usuario o puede estar conectada a la máquina autónoma mediante una conexión inalámbrica o por cable para manejarla a distancia.
En algunas realizaciones, el uno o más procesos del método de entrenamiento820pueden repetirse incluso después de que el mapa de navegación haya sido probado y utilizado para la navegación autónoma. Por ejemplo, un usuario puede querer cambiar uno o más límites en respuesta a cambios físicos en la región de trabajo (p. ej., añadir una zona de exclusión con la adición de un parterre a un jardín) o cambios en las preferencias que pueden cambiar con el tiempo. En tales realizaciones, la máquina autónoma puede estar configurada para repetir una o más de las fases de recorrido en822,la fase offline a las824,la fase de cartografía en826,y la fase de generación de mapas en828.Por ejemplo, en algunas realizaciones, solo la fase de cartografía en826y la fase de generación de mapas en828pueden repetirse si la 3DPC no necesita actualizarse o regenerarse.
Lafigura 19muestra un ejemplo de la fase de recorrido822que puede utilizarse en el método de entrenamiento global820.La fase de recorrido822puede incluir la conexión de la máquina autónoma al dispositivo de interfaz de usuario en832.La fase de recorrido822también puede incluir instruir al usuario para que recorra varias partes de la región de trabajo. Como se ilustra, la fase de recorrido822puede incluir la visualización de instrucciones de usuario al límite de la región de trabajo en834.El límite de la región de trabajo puede corresponder a un perímetro, como el perímetro exterior, de la región de trabajo. Este proceso permite al usuario definir la extensión de la región de trabajo.
La fase de recorrido822también puede incluir la visualización de instrucciones de usuario para recorrer el interior de la región de trabajo en836.Recorrer el interior de la región de trabajo puede proporcionar imágenes que pueden procesarse para identificar características para construir una 3DPC. En un ejemplo, recorrer el interior de la región de trabajo puede corresponder a que la máquina autónoma se dirija en un patrón de trama para cubrir aproximadamente una variedad de áreas de la región de trabajo. Es posible que el patrón de trama no cubra completamente la totalidad de la región de trabajo.
La fase de recorrido822puede incluir la grabación de un conjunto de imágenes durante el recorrido en 838, por ejemplo, a medida que la máquina autónoma se dirige a lo largo de la región de trabajo. La máquina puede dirigirse según las instrucciones del usuario. El conjunto de imágenes grabadas puede procesarse para identificar características. Datos de sensores no basados en visión, como los datos del codificador de la rueda o los datos de la IMU, también puede grabarse durante la fase de recorrido822.
En algunas realizaciones, la fase de recorrido822puede incluir el recorrido del perímetro, recorrer el interior, o recorrer tanto el perímetro como el interior. Sólo se puede solicitar una visita al interior, por ejemplo, cuando las características identificadas en las imágenes grabadas durante el recorrido del perímetro son insuficientes para construir una 3DPC robusto para la navegación autónoma.
En otras realizaciones, el perímetro y el interior pueden recorrerse independientemente de los resultados del recorrido perimetral. Los conjuntos de imágenes del perímetro y del interior pueden grabarse en la misma sesión o en sesiones diferentes. Por ejemplo, ambos conjuntos de imágenes pueden grabarse sin una fase offline entre ellos. Cada conjunto de imágenes puede incluir una o más imágenes capturadas por el sistema de visión de la máquina autónoma.
Lafigura 20muestra un ejemplo específico de un método870que puede utilizarse para llevar a cabo al menos parte del método820.El método870puede incluir la generación de la 3DPC en824,que puede realizarse tras una fase de gira. La 3DPC puede analizarse y puede determinarse si la 3DPC incluye alguna porción de baja calidad en844.Si las una o más porciones de baja calidad son insuficientes o inaceptables para la navegación basándose en la 3DPC, el método870puede incluir la realización de un entrenamiento suplementario autónomo o manual para mejorar la densidad de las características en las porciones de baja calidad identificadas.
En algunos casos, la 3DPC puede ser insuficiente para la navegación si el nivel de calidad de la 3DPC no alcanza un umbral de calidad. La presencia de uno, dos o más porciones de baja calidad pueden ser suficientes para determinar que el nivel de calidad de la 3DPC es insuficiente. En algunas realizaciones, el método870puede incluir la determinación de que la 3DPC es suficiente para la navegación incluso cuando una o más porciones de baja calidad están presentes. Por ejemplo, la segadora puede utilizar porciones de la 3DPC que no sean de baja calidad cerca de las porciones de baja calidad para corregir o actualizar la posición durante la navegación. Es más, la máquina autónoma puede utilizar imágenes durante otros modos de entrenamiento u operación para mejorar la 3DPC periódicamente sin realizar una ejecución de entrenamiento suplementaria dedicada.
El método870puede incluir la visualización de instrucciones de usuario para colocar marcadores en846.En algunas realizaciones, las instrucciones de uso pueden visualizarse en un teléfono inteligente del usuario. Los marcadores, u objetivos, puede ser discernible por los datos de los sensores. Por ejemplo, los marcadores pueden ser visibles para el sistema de visión, y el sistema de visión puede identificar una o más características artificiales del marcador para su uso en la generación de una 3DPC. Los marcadores pueden posicionarse temporal o permanentemente en la región de trabajo para la navegación futura.
La máquina autónoma puede dirigirse a lo largo de las porciones de baja calidad identificadas en848.La máquina puede dirigirse de manera autónoma, usando la fusión de sensores para navegar por las porciones de la región de trabajo que no sean de baja calidad, o manualmente por el usuario, que puede hacerse físicamente o mediante un mando a distancia. A medida que la máquina se dirige a lo largo de la región de trabajo, puede grabarse un nuevo conjunto de imágenes itinerantes para capturar características, que pueden ser características artificiales, en las porciones de baja calidad identificadas a850.
En respuesta a la nueva serie de giras se han grabado imágenes, la máquina puede regresar a la estación de acoplamiento para el modo fuera de línea. Durante el modo fuera de línea, el método870puede incluir la regeneración de la 3DPC basado en el nuevo conjunto de imágenes de recorrido en852.Los procesos para subsanar las porciones de baja calidad de la 3DPC pueden repetirse si es necesario.
En algunas realizaciones, puede grabarse repetida o periódicamente un nuevo conjunto de imágenes de recorrido, y la 3DPC puede regenerarse alternativa o adicionalmente a la detección de porciones de baja calidad. El registro repetido de un nuevo conjunto de imágenes turísticas puede utilizarse para ajustar la 3DPC y el mapa de navegación a las variaciones estacionales u otros cambios en la región de trabajo. Por ejemplo, se puede programar la grabación de un nuevo conjunto de imágenes itinerantes cuatro veces al año o una vez por temporada local.
El método870puede incluir la realización de procesos para definir límites específicos dentro de la región de trabajo en826.En algunas realizaciones, la definición de límites específicos puede realizarse después de determinar que la 3DPC es aceptable o suficiente para generar la 3DPC o en respuesta a una o más porciones de baja calidad de la 3DPC que se están corrigiendo. El método870puede incluir la visualización de instrucciones de usuario para dirigir la máquina para el entrenamiento de límites en854.El usuario puede seleccionar o recibir instrucciones para entrenar varios tipos de límites, como una zona de exclusión, una zona de tránsito, o una zona de contención. Uno o más de estos límites pueden entrenarse dirigiendo la máquina autónoma a lo largo de una o más rutas que representen estos límites. La máquina autónoma puede ser dirigida manualmente por el usuario, que puede hacerse físicamente o mediante control remoto.
Como se dirige la máquina, las imágenes cartográficas y otros datos de fusión de sensores pueden grabarse en856.
En particular, la máquina puede grabar datos de fusión de sensores, que puede utilizar datos de sensores no basados en visión para determinar una posición, que pueden localizarse o corregirse usando los datos del sistema de visión y la 3DPC. En particular, la posición puede localizarse en el sistema de coordenadas definido por la 3DPC.
El método870puede incluir la visualización de una representación de las una o más rutas recorridas por la máquina antes de que se definan los límites. En un ejemplo, en un dispositivo de interfaz de usuario puede mostrarse al usuario una forma aproximada de la ruta recorrida por la máquina, como un teléfono inteligente, antes de definir los límites correspondientes. En algunas realizaciones, después de que la máquina recorra una ruta para cada límite, se puede compilar y mostrar una representación visual, y el usuario puede confirmar que la representación es aceptable antes de proceder a entrenar el siguiente límite.
Se pueden utilizar varias técnicas para compilar la forma aproximada que se muestra al usuario. En algunas realizaciones, la forma aproximada puede generarse basándose en una posición bruta de la máquina autónoma determinada por datos de fusión de sensores. Las posiciones de las ruedas de la máquina autónoma pueden determinarse a partir de datos de fusión de sensores y utilizarse para definir la forma rugosa. En particular, las ruedas pueden utilizarse como vértices de una forma trapezoidal que sirve para "pintar" la ruta de la máquina. En algunas realizaciones, los datos de posición brutos pueden suavizarse para utilizarlos en la generación de la representación.
En una o más realizaciones, la representación visual asociada a cada ruta puede basarse en un perímetro exterior de la ruta respectiva. Por ejemplo, un usuario puede dirigir la máquina hacia una esquina de la región de trabajo y mover la máquina hacia adelante y hacia atrás para girar la máquina mientras cubre los bordes de la región de trabajo cerca de la esquina. En lugar de mostrar todo el movimiento de vaivén en la representación visual, el perímetro exterior de la ruta de la máquina se muestra como la forma aproximada.
El método870puede incluir la generación de un mapa de navegación en828,por ejemplo en modo fuera de línea. El mapa de navegación puede definir los uno o más límites entrenados. El mapa de navegación puede generarse y almacenarse independientemente de la 3DPC. El sistema de coordenadas del mapa de navegación puede estar localizado en el sistema de coordenadas de la 3DPC, por ejemplo, cuando se utilizan datos de fusión de sensores para generar los límites. El mapa de navegación puede generarse como una representación 2D o 3D de los límites de la región de trabajo. El mapa de navegación puede generarse durante la fase de generación de mapas del modo de entrenamiento o durante un modo fuera de línea. En algunas realizaciones, el mapa de navegación puede mostrarse al usuario, incluidos los límites formados, a través del dispositivo de interfaz de usuario. Los límites entrenados pueden parecer diferentes al usuario que las representaciones visuales de las rutas debidas, por ejemplo, a la localización o corrección mediante los datos del sensor basado en visión y la 3DPC.
El mapa de navegación puede utilizarse para el funcionamiento de la máquina autónoma dentro de la región de trabajo. En algunas realizaciones, el método870puede incluir probar el mapa de navegación antes de usar el mapa de navegación para operar la máquina autónoma en862después de generar el mapa de navegación. Por ejemplo, la máquina puede recorrer de manera autónoma las rutas o los límites entrenados. Si la prueba es exitosa, el mapa de navegación puede utilizarse para el funcionamiento autónomo de la máquina en la región de trabajo, por ejemplo, realizar tareas de siega en la región de trabajo. La 3DPC o los límites pueden reentrenarse o redefinirse según sea necesario.
Lafigura 21muestra un ejemplo del conjunto de mango90.En algunas realizaciones, un soporte900puede estar unido a la porción de agarre902de, y ser parte de, del conjunto de mango90.El soporte900puede estar adaptado para recibir y sostener el dispositivo móvil1l9(p. ej., teléfono inteligente) en una orientación visible para el operador mientras está de pie o caminando detrás del alojamiento (cuando el conjunto de mango está en la posición de modo manual). El dispositivo móvil119puede soportar un protocolo de comunicación compatible con una radio117 (figura 1)de la segadora100por razones que se describen más adelante. Como alternativa, la segadora100y el soporte900pueden incluir disposiciones para una conexión por cable (p. ej., serie,Universal Serial Bus,etc.) al controlador120 (figura 1)de la segadora100.Independientemente de la interfaz de control proporcionada al operador, él o ella puede controlar y manipular la segadora interactuando con los controles asociados con el conjunto de mango90(p. ej., con controles virtuales en el dispositivo móvil).
Para operar de manera autónoma, los límites de la región de trabajo se entrenan y se almacenan en la segadora100.
Si bien se conocen varios sistemas de detección de límites, las segadoras según las realizaciones de la presente divulgación pueden determinar los límites de la región de trabajo sometiéndose inicialmente a un procedimiento o fase de entrenamiento como se describe con más detalle a continuación. En el modo de entrenamiento, la segadora está configurada en el modo manual en el que el conjunto de mango puede estar en una posición de modo manual.
El soporte900puede recibir en su interior un dispositivo móvil119(p. ej., teléfono inteligente) que soporte un protocolo de comunicación (por cable o inalámbrico) compatible con la radio117de la segadora100.Por ejemplo, el dispositivo móvil119puede soportar comunicación inalámbrica de corto alcance a través del protocolo inalámbrico Bluetooth. El controlador120puede comunicarse con el dispositivo móvil119para presentar diversos controles y retroalimentación del operador en el modo de entrenamiento de la segadora, como se describe más adelante.
Para entrar en el modo de entrenamiento, el conjunto de mango90puede (si no está ya en posición) desplegarse o moverse, en primer lugar, desde la primera posición o posición de modo autónomo a la segunda posición o posición de modo manual. Una vez colocado el conjunto de mango, el dispositivo móvil119puede posicionarse en el soporte900como se ha descrito anteriormente. El operador puede entonces iniciar la comunicación entre el dispositivo móvil119y el controlador120.Este inicio puede implicar el emparejamiento o la conexión del dispositivo móvil119con la segadora100para que los dos dispositivos puedan comunicarse entre sí de forma inalámbrica. Si bien en el presente documento se describen como comunicaciones inalámbricas (p. ej., Bluetooth), otras variantes podrían proporcionar una interconexión por cable. A continuación, el operador puede iniciar unsoftwareespecífico de la aplicación en el dispositivo móvil que presenta información de estado904al operador en el modo de entrenamiento. Elsoftwarepuede permitir además que el operador emita comandos durante el proceso de entrenamiento a través de entradas proporcionadas por botones virtuales906que aparecen en la pantalla908.Por ejemplo, la aplicación puede permitir al operador, entre otros, emitir órdenes y recibir instrucciones dirigidas a: entrar en el modo de entrenamiento; iniciar/detener la grabación de datos relacionados con el recorrido de un límite de una región de trabajo, una zona de exclusión, o una zona de tránsito; y cuándo empujar o accionar la segadora a lo largo de un límite o ruta identificado.
Cuando el operador esté listo para iniciar el modo de entrenamiento, la segadora puede empujarse, usando el conjunto de mango90,a un perímetro de la región de trabajo (o a un perímetro de una zona de exclusión). En este punto, el entrenamiento puede comenzar seleccionando el modo de entrenamiento adecuado (p. ej., un modo de entrenamiento de límite para la región de trabajo o una zona de exclusión, o un modo de entrenamiento de zona de tránsito) presentado en la pantalla166.En el caso del modo de entrenamiento de límites, el operador puede entonces comenzar a recorrer el límite de la región de trabajo.
Durante el modo de entrenamiento de límites, la segadora100puede grabar datos asociados con el límite a medida que la segadora lo recorre. La segadora100puede, además, (a través delsoftwarede aplicación que se ejecuta en el dispositivo móvil119) presentar diversa información de estado (véase, por ejemplo,904) del modo de entrenamiento al operador durante la travesía/entrenamiento. Como ejemplo, la pantalla908puede trazar, en tiempo real, coordenadas de zona de la segadora durante la grabación del perímetro. De manera adicional, la pantalla908puede presentar instrucciones solicitando que el operador cambie (p. ej., reduzca) la velocidad de la segadora. Mantener la velocidad de la segadora por debajo de un umbral durante el entrenamiento puede ser importante, especialmente para los sistemas basados en visión, para garantizar que la segadora pueda capturar datos suficientes.
Tales instrucciones/retroalimentación relacionadas con la velocidad pueden presentarse textual o gráficamente al operador. Por ejemplo, retroalimentación y/u otra información de estado puede presentarse como un indicador cuantitativo de velocidad (p. ej., velocímetro), o un icono u objeto relacionado con la velocidad (p. ej., un icono que cambia de color: verde para una velocidad aceptable, amarillo o rojo para una velocidad inaceptable). En otras realizaciones, la pantalla908podría indicar si es necesario un cambio de velocidad mostrando una lectura del velocímetro junto a una velocidad objetivo deseada o mostrando flechas "arriba" o "abajo" para indicar que se recomienda una velocidad más rápida o más lenta. En otras realizaciones adicionales, la pantalla podría proporcionar un indicador simplista de "aprobado/no aprobado" o proporcionar indicadores sonoros (a través del dispositivo móvil119o de la segadora/controlador) durante o después del modo de entrenamiento.
Lafigura 22ilustra un método920o proceso ilustrativo, para entrenar la segadora100 (figura 1)con respecto a los límites. En algunas realizaciones, el método920puede formar parte de la fase de cartografía del modo de entrenamiento. Cabe señalar que este proceso solo describe un método ilustrativo de entrenamiento de límites. Se entiende que puede ser necesario realizar otras operaciones antes o después del método920para permitir el funcionamiento autónomo de la segadora. Sin embargo, estas otras operaciones no se abordan específicamente en el presente documento. El operador puede entrenar primero un límite de la región de trabajo y, a continuación, proceder a entrenar zonas de exclusión y zonas de tránsito. Este método supone que la segadora100está situado en o cerca de un límite de una región de trabajo o en o cerca de un límite de una de las zonas de exclusión. El método920se describirá en el contexto del entrenamiento del límite de la región de trabajo, pero el método se aplicaría, con ligeras variaciones, a los límites de la zona de exclusión o a los límites o trayectos de la zona de tránsito, igualmente.
El método920se introduce en922.Una vez que la segadora100está situada a lo largo del límite, el modo o modalidad de entrenamiento puede iniciarse en924.El inicio del entrenamiento puede incluir el despliegue del mango (p. ej., mover el mango a la posición de modo manual, tal como se describe en el presente documento), colocar el dispositivo móvil119 (figura 1)en el soporte900 (figura 21)e interactuar con elsoftwareque se ejecuta en el dispositivo móvil. Una vez iniciado, el operador puede seleccionar si el límite a entrenar es un límite de región de trabajo, un límite de zona de exclusión, o un límite de zona de tránsito o ruta.
El operador puede ordenar a la segadora, por ejemplo, a través de la interacción con la pantalla166 (figura 21)del dispositivo móvil119, que grabe el movimiento de la segadora en926mientras la segadora recorre el límite. Una vez iniciada la grabación, la segadora100puede utilizar diversos sensores (p. ej., GPS, codificadores de rueda, sistemas de visión, lidar, radar, etc.) para grabar su ruta de desplazamiento a medida que la segadora100se guía manualmente, se empuja o se conduce alrededor del límite. En algunas realizaciones, la segadora puede proporcionar un par de asistencia a las ruedas traseras106 (figura 1)para ayudar al operador mientras la segadora es guiada alrededor del límite. Así mismo, la cuchilla de corte110 (figura 1)podría estar activa o inactiva en el modo de entrenamiento. La activación de la cuchilla de corte110durante el entrenamiento podría proporcionar retroalimentación sobre la ruta de corte real que realizará la segadora al ser guiada por el límite. Si se permite el accionamiento de la cuchilla de corte110, puede controlarse mediante una opción presentada en la pantalla166durante el entrenamiento. Esta operación puede requerir el uso de controles de presencia del operador (p. ej., en el propio mango o en la pantalla166del dispositivo móvil119).
Debido a que una anchura de corte de la segadora100puede ser más estrecha que la anchura del alojamiento102 (figura 1),la parte superior del alojamiento102puede incluir marcas visuales que indiquen al operador la anchura de corte de la segadora. Tales marcas pueden ser útiles para el operador cuando la cuchilla110está sin potencia en el modo de entrenamiento.
A medida que la segadora es empujada, guiada o conducida alrededor del límite, la segadora100(p. ej., a través de la pantalla166) puede indicar opcionalmente al operador el estado del entrenamiento y/o alertas de entrenamiento en930.Por ejemplo, el controlador120puede recomendar gráfica o auditivamente reducir la velocidad de avance para mejorar la captura de datos.
Una vez que el operador y la segadora han terminado de recorrer el límite (p. ej., ligeramente por encima del punto de partida original) en932,el operador puede indicar (p. ej., a través del dispositivo móvil) que el recorrido de límites se ha completado en934.El controlador120y/o el dispositivo móvil119pueden entonces compilar los datos de límites recogidos para crear finalmente una ruta límite cartografiada de la región de trabajo (o zona de exclusión o zona o ruta de tránsito) en936.
La segadora puede proporcionar (a través de una pantalla a bordo o a través del dispositivo móvil119)retroalimentación sobre el estado del proceso de entrenamiento (p. ej., estado de la grabación de límites) en938.Por ejemplo, al finalizar, la segadora100puede proporcionar una indicación en el dispositivo móvil de que el entrenamiento de límites se ha realizado correctamente (p. ej., los datos satisfacen el criterio o los criterios de ruta predeterminados) mostrando un estado tal como una simple indicación de "aprobado/no aprobado" en938.Los criterios de ruta que pueden afectar al éxito del entrenamiento incluyen determinar si la ruta límite cartografiada define un área delimitada (p. ej., forma un área o forma cerrada o delimitada). Otros criterios de ruta pueden incluir la determinación de la presencia de cuellos de botella. Puede existir un cuello de botella, por ejemplo, cuando una ruta límite cartografiada de la región de trabajo se encuentra dentro de una distancia umbral de un objeto u otra ruta límite cartografiada (p. ej., el límite está demasiado cerca) de tal manera que la anchura de ruta es insuficiente para que la segadora pase fácilmente hasta otra ruta límite.
Si el entrenamiento tiene éxito en940,el operador puede mover el conjunto de mango a la primera posición o posición de modo autónomo y ordenar a la segadora100que recorra de manera autónoma el límite entrenado de la región de trabajo (y/o zonas de exclusión o zonas de tránsito o rutas) en942.Suponiendo que el operador llegue a la conclusión de que las rutas entrenadas son aceptables en944,el método termina en946.Si, por otro lado, se determina que el entrenamiento no ha tenido éxito en940,o el operador considera que el funcionamiento autónomo es inaceptable en944,el método puede regresar a924y volver a ejecutar el entrenamiento (o una porción de este). A continuación, el método puede repetirse para cada límite (incluidas las zonas de exclusión) y las zonas de tránsito. En algunas realizaciones, elsoftwareque se ejecuta en el dispositivo móvil119puede permitir al operador revisar, añadir y/o eliminar parte o la totalidad de un límite o porción de este durante el método920.
Además del entrenamiento sobre zonas de contención/exclusión, la segadora100también puede entrenarse para utilizar una o más zonas de tránsito de "retorno a la base" ("zonas de tránsito de RTB") usando el conjunto de mango90en la posición de modo manual. Es decir, la segadora100también puede entrenarse en cuanto a qué ruta o rutas debe utilizar para regresar a la estación base258 (figura 3).El entrenamiento de las zonas de tránsito de RTB puede ser útil para ayudar o acelerar el retorno de la segadora a la estación base para, por ejemplo, o para permitir que el operador limite la ruta de retorno preferida de la segadora. Puede formarse cualquier número de zonas de tránsito de RTB. Durante el funcionamiento autónomo, la segadora100puede guiarse a sí misma hasta la zona de tránsito de RTB más cercana y, luego, seguir esa ruta hasta la estación base258cuando la operación haya finalizado o la batería de la segadora necesite recargarse. Evidentemente, para permitir el entrenamiento de zonas de tránsito de RTB, la segadora/el controlador también puede permitir al operador establecer o entrenar de otro modo una ubicación "de origen" de la estación base258.
Antes de que pueda efectuarse la siega autónoma, se puede cartografiar el patio o la región de trabajo. La cartografía de patios consiste en definir el área de siega (p. ej., perímetro de la región de trabajo), definir todas las zonas de exclusión, identificar la posición "de origen" de la estación base258y, opcionalmente, identificar zonas de tránsito.
Lafigura 23muestra un ejemplo de una estación base que puede utilizarse como la estación base258 (figura 3).
Como se ilustra, la estación base950incluye un alojamiento952que define una ubicación de almacenamiento960para la segadora100.Las conexiones de carga958pueden estar expuestas a la ubicación de almacenamiento960para que la segadora100se conecte para la recarga. La estación base950puede incluir un panel solar956acoplado al alojamiento952y acoplado operativamente a las conexiones de carga958.La energía generada por el panel solar956puede utilizarse para recargar la segadora100directa o indirectamente. El panel solar956puede estar acoplado a las conexiones de carga958,a una batería opcional954,o a ambas. En algunas realizaciones, el panel solar956puede cargar directamente la segadora100a través de las conexiones de carga958durante el día. En algunas realizaciones, el panel solar956puede cargar indirectamente la segadora100cargando la batería954durante el día, que se utiliza para cargar la segadora100a través de las conexiones de carga958durante el día o la noche.
Opcionalmente, la estación base950puede estar acoplada a una fuente de alimentación externa, como una toma de corriente de edificio. La estación base950que tiene el panel solar956,la batería954,o ambos puede seguir funcionando incluso aunque no se disponga de una fuente de alimentación externa (p. ej., debido a una pérdida de potencia).
En algunas realizaciones, la estación base950no está enchufada a una fuente de alimentación externa y no alimenta un alambre delimitador para facilitar la definición de un límite. La segadora100puede seguir funcionando y navegando incluso cuando la estación base950pierde toda la energía de cualquiera de las fuentes, como el panel solar956o la batería954,por ejemplo, cuando la navegación no depende de un alambre delimitador alimentado por la estación base950.En otras realizaciones, la estación base950puede alimentar un alambre delimitador y enchufarse a una fuente de alimentación externa.
Por tanto, se divulgan diversas realizaciones de navegación y entrenamiento de máquinas autónomas usando un sistema de visión. Si bien en el presente documento se hace referencia a la serie de dibujos adjuntos que forman parte de la presente divulgación, un experto en la materia apreciará que las diversas adaptaciones y modificaciones de las realizaciones descritas en el presente documento se encuentran dentro de, o no se apartan de, el alcance de las reivindicaciones. Por lo tanto, debe entenderse que, dentro del alcance de las reivindicaciones adjuntas, la invención reivindicada puede ponerse en práctica de forma distinta a la descrita explícitamente en el presente documento.
Todos los términos científicos y técnicos utilizados en el presente documento tienen significados de uso común en la técnica, a menos que se especifique lo contrario. Las definiciones que se proporcionan en el presente documento tienen por objeto facilitar la comprensión de determinados términos utilizados con frecuencia en el presente documento y no pretenden limitar el alcance de la presente divulgación.
La recitación de intervalos numéricos por puntos finales incluye todos los números subsumidos dentro de ese intervalo (p. ej., de 1 a 5 incluye 1, 1,5, 2, 2,75, 3, 3,80, 4 y 5) y cualquier intervalo dentro de ese intervalo. En el presente documento, los términos "hasta" o "no superior a" un número (p. ej., hasta 50) incluye el número (p. ej., 50), y el término "no inferior a" un número (p. ej., no inferior a 5) incluye el número (p. ej., 5).
Los términos "acoplado" o "conectado" se refieren a elementos que están unidos entre sí, ya sea directamente (en contacto directo entre sí) o indirectamente (con uno o más elementos entre los dos elementos que los unen). Ambos términos pueden ser modificados por "de manera operativa" y "operativamente", que pueden utilizarse indistintamente, para describir que el acoplamiento o conexión está configurado para permitir que los componentes interactúen para llevar a cabo al menos alguna funcionalidad (p. ej., un controlador de propulsión puede estar acoplado operativamente a un accionador de motor para controlar eléctricamente el funcionamiento del motor).
Como se utilizan en esta memoria descriptiva y en las reivindicaciones adjuntas, las formas singulares "un", "una", y "el/la" abarcan realizaciones con referentes plurales, a no ser que el contenido dicte claramente lo contrario. Como se utilizan en esta memoria descriptiva y en las reivindicaciones adjuntas, el término "o" se emplea generalmente en su sentido que incluye "y/o" a menos que el contenido dicte claramente lo contrario.
Claims (14)
1. Un método para navegación de máquina autónoma que comprende:
determinar una pose actual de una máquina autónoma (100) basándose en datos de pose no basados en visión capturados por uno o más sensores no basados en visión (422) de la máquina autónoma (100), en donde la pose representa una o ambas de una posición y una orientación de la máquina autónoma (100) en una región de trabajo (200) definida por uno o más límites que se enseñan a la máquina autónoma (100) en un modo de entrenamiento iniciado por un usuario de la máquina autónoma (100);
caracterizado pordeterminar datos de pose basados en visión a partir de datos de imagen bidimensionales, 2D, capturados por la máquina autónoma (100); y
actualizar la pose actual basándose en los datos de pose basados en visión para corregir o localizar la pose actual y para proporcionar una pose actualizada de la máquina autónoma (100) en la región de trabajo (200) para navegar la máquina autónoma (100) en la región de trabajo (200); en donde:
la región de trabajo (200) es un área exterior;
la máquina autónoma (100) es una máquina de mantenimiento de terrenos; o
la región de trabajo (200) es un césped y la máquina autónoma (100) es una máquina de mantenimiento de césped.
2. El método de acuerdo con la reivindicación 1, que comprende, además, generar una nube de puntos tridimensional, 3DPC, de la región de trabajo (200) basándose en los datos de imagen de entrenamiento 2D capturados al recorrer la máquina autónoma (100) a lo largo de un interior de una región de trabajo (200) durante el modo de entrenamiento, en donde la determinación de los datos de pose basados en visión comprende la correspondencia de características de los datos de imagen 2D con los datos de características de uno o más puntos de la 3DPC.
3. El método de acuerdo con la reivindicación 2, que comprende, además:
generar la 3DPC basándose en: datos de características que contienen características bidimensionales extraídas de los datos de imagen de entrenamiento 2D; y
datos de correspondencia que relacionan características en los datos de características de diferentes imágenes de entrenamiento de los datos de imagen de entrenamiento 2D.
4. El método de acuerdo con la reivindicación 3, en donde generar la 3DPC comprende, además:
rechazar correspondencias por debajo de un umbral de correspondencia en los datos de correspondencia; inicializar una 3DPC parcial usando datos de características correspondientes a una primera y una segunda imagen de entrenamiento;
seleccionar una tercera imagen de entrenamiento con correspondencia superpuesta a la 3DPC parcial; utilizar la tercera imagen de entrenamiento para estimar una pose basada en visión de la máquina autónoma (100) relativa a la 3DPC parcial usando datos de correspondencia asociados con la tercera imagen de entrenamiento y datos de correspondencia asociados con la primera y la segunda imagen de entrenamiento;
utilizar la tercera imagen de entrenamiento para estimar ubicaciones de cualquier característica nueva relativa a la 3DPC parcial usando datos de correspondencia asociados con la tercera imagen de entrenamiento y datos de correspondencia asociados con la primera y la segunda imagen de entrenamiento; y
actualizar la 3DPC parcial en las ubicaciones estimadas de las características y las imágenes de entrenamiento utilizadas.
5. El método de acuerdo con la reivindicación 4, que comprende, además, seleccionar imágenes de entrenamiento adicionales no utilizadas con correspondencia superpuesta a la 3DPC parcial y continuar la estimación de poses y ubicaciones para cada imagen de entrenamiento.
6. El método de acuerdo con la reivindicación 5, que incluye, además, almacenar la 3DPC en respuesta a no disponer de imágenes de entrenamiento no utilizadas.
7. El método de acuerdo con una cualquiera de las reivindicaciones 3-6, en donde la 3DPC se genera para definir puntos en un sistema de coordenadas basado en un marco de referencia arbitrario.
8. El método de acuerdo con cualquier reivindicación anterior, en donde el modo de entrenamiento comprende:
grabar un conjunto de imágenes de recorrido 2D asociadas con la máquina autónoma (100) que recorre tanto un perímetro como un interior de la región de trabajo (200) para proporcionar al menos parte de los datos de imagen de entrenamiento;
generar una o la nube de puntos tridimensional, 3DPC, basándose en el conjunto de imágenes de recorrido 2D de los datos de imagen de entrenamiento;
grabar un conjunto de imágenes cartográficas 2D para proporcionar al menos parte de los datos de imagen de entrenamiento después de generar la 3DPC; y
determinar los uno o más límites de la región de trabajo basándose en el conjunto de imágenes cartográficas y la 3DPC.
9. El método de acuerdo con la reivindicación 8, en donde grabar el conjunto de imágenes de recorrido 2D comprende: grabar el conjunto de imágenes de recorrido 2D mientras se recorre un interior de la región de trabajo (200) con la máquina autónoma (100) en un patrón en zig-zag o de trama.
10. El método de acuerdo con la reivindicación 8 o 9, que comprende, además, determinar si un nivel de calidad de la 3DPC no alcanza un umbral de calidad antes de grabar el conjunto de imágenes cartográficas 2D.
11. El método de acuerdo con la reivindicación 10, que comprende, además, determinar un nivel de calidad de la 3DPC basándose en al menos uno de: un número de poses reconstruidas, un número de puntos reconstruidos, error de reproyección, incertidumbre de triangulación de puntos e incertidumbre de pose reconstruida.
12. El método de acuerdo con la reivindicación 10 u 11, que comprende, además:
grabar un nuevo conjunto de imágenes de recorrido 2D en la región de trabajo (200) en respuesta a determinar que el nivel de calidad de la 3DPC no alcanza un umbral de calidad; y
regenerar la 3DPC basándose en el nuevo conjunto de imágenes de recorrido 2D.
13. El método de acuerdo con una cualquiera de las reivindicaciones 7-12, que incluye, además, grabar el sistema de coordenadas de la 3DPC a una escala y orientación del mundo real en un mapa de navegación.
14. Una máquina autónoma (100) adaptada para llevar a cabo un método de acuerdo con uno cualquiera de los métodos anteriores, comprendiendo la máquina autónoma (100):
un alojamiento (102) acoplado a un implemento de mantenimiento (110);
un conjunto de ruedas (106,108) que soportan el alojamiento sobre una superficie de terreno;
un controlador de propulsión (406) acoplado operativamente al conjunto de ruedas;
un sistema de visión (402) que comprende al menos una cámara (133) adaptada para capturar datos de imagen bidimensionales, 2D; y
un sistema de navegación (404) acoplado operativamente al sistema de visión y el controlador de propulsión, estando el sistema de navegación adaptado para dirigir la máquina autónoma dentro de la región de trabajo (200).
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862716208P | 2018-08-08 | 2018-08-08 | |
US201862716716P | 2018-08-09 | 2018-08-09 | |
US201862741988P | 2018-10-05 | 2018-10-05 | |
US201962818893P | 2019-03-15 | 2019-03-15 | |
PCT/US2019/045443 WO2020033504A2 (en) | 2018-08-08 | 2019-08-07 | Autonomous machine navigation and training using vision system |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2983425T3 true ES2983425T3 (es) | 2024-10-23 |
Family
ID=67660495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES19755504T Active ES2983425T3 (es) | 2018-08-08 | 2019-08-07 | Navegación y entrenamiento de máquina autónoma usando sistema de visión |
Country Status (7)
Country | Link |
---|---|
US (3) | US11334082B2 (es) |
EP (4) | EP3833176B1 (es) |
CN (3) | CN112584697B (es) |
AU (3) | AU2019317453B2 (es) |
CA (2) | CA3106284A1 (es) |
ES (1) | ES2983425T3 (es) |
WO (2) | WO2020033522A2 (es) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019083291A1 (ko) * | 2017-10-25 | 2019-05-02 | 엘지전자 주식회사 | 장애물을 학습하는 인공지능 이동 로봇 및 그 제어방법 |
US11210573B2 (en) | 2018-03-20 | 2021-12-28 | Nant Holdings Ip, Llc | Volumetric descriptors |
CN108717710B (zh) * | 2018-05-18 | 2022-04-22 | 京东方科技集团股份有限公司 | 室内环境下的定位方法、装置及系统 |
CA3098496A1 (en) | 2018-05-25 | 2019-11-28 | The Toro Company | Autonomous grounds maintenance machines with path planning for trap and obstacle avoidance |
CN112367830B (zh) | 2018-05-25 | 2022-12-13 | 托罗公司 | 用于在自动和手动模式下操作机器人机器的系统和方法 |
CA3106284A1 (en) | 2018-08-08 | 2020-02-13 | The Toro Company | Handle and method for training an autonomous vehicle, and methods of storing same |
WO2020105101A1 (ja) * | 2018-11-20 | 2020-05-28 | 本田技研工業株式会社 | 自律走行作業機の制御装置 |
JP7222775B2 (ja) * | 2019-03-26 | 2023-02-15 | 日立建機株式会社 | 作業機械 |
NZ781816A (en) | 2019-04-05 | 2022-07-01 | Equipmentshare Com Inc | System and method for autonomous operation of a machine |
JP7376264B2 (ja) * | 2019-07-01 | 2023-11-08 | 株式会社小松製作所 | 作業機械を含むシステム、および作業機械 |
EP3998517A4 (en) * | 2019-08-27 | 2023-03-15 | Nanjing Chervon Industry Co., Ltd. | RIDING MOWING SYSTEM AND METHOD OF PERFORMING ADDITIONAL MOWING OPERATION ON MISSED AREAS |
KR20190108530A (ko) * | 2019-09-04 | 2019-09-24 | 엘지전자 주식회사 | 이동 로봇 및 그의 구동 방법 |
IT201900016934A1 (it) * | 2019-09-23 | 2021-03-23 | Fabrizio Bernini | Robot tagliaerba |
US20210173410A1 (en) * | 2019-12-05 | 2021-06-10 | Cnh Industrial America Llc | System and method for controlling the direction of travel of a work vehicle based on an adjusted field map |
SE544287C2 (en) * | 2019-12-06 | 2022-03-29 | Husqvarna Ab | Robotic work tool system and method for defining a working area perimeter |
CN113068501A (zh) * | 2020-01-06 | 2021-07-06 | 苏州宝时得电动工具有限公司 | 一种智能割草机 |
CN111352420B (zh) * | 2020-03-03 | 2021-08-10 | 厦门大学 | 一种激光导航agv高精度定位及目标对准控制方法 |
SE544024C2 (en) * | 2020-03-03 | 2021-11-09 | Husqvarna Ab | Robotic work tool system and method for redefining a work area perimeter |
US11789458B2 (en) * | 2020-03-06 | 2023-10-17 | Catepillar Paving Products, Inc. | Automatic mode resume system for a mobile machine |
SE544298C2 (en) * | 2020-04-14 | 2022-03-29 | Husqvarna Ab | Robotic work tool system and method for defining a working area |
WO2022005840A1 (en) | 2020-07-02 | 2022-01-06 | The Toro Company | Autonomous machine having vision system for navigation and method of using same |
WO2022010684A1 (en) * | 2020-07-09 | 2022-01-13 | The Toro Company | Autonomous machine navigation using reflections from subsurface objects |
US20220039313A1 (en) * | 2020-08-05 | 2022-02-10 | Scythe Robotics, Inc. | Autonomous lawn mower |
US11579618B2 (en) * | 2020-09-18 | 2023-02-14 | Scythe Robotics, Inc. | Coverage planner |
US11992961B2 (en) * | 2020-11-17 | 2024-05-28 | Ubtech Robotics Corp Ltd | Pose determination method, robot using the same, and computer readable storage medium |
WO2022143506A1 (zh) * | 2020-12-30 | 2022-07-07 | 格力博(江苏)股份有限公司 | 智能割草机及其控制方法、系统和存储介质 |
CN112833890B (zh) * | 2020-12-30 | 2024-08-13 | 深圳市海柔创新科技有限公司 | 地图构建方法、装置、设备、机器人及存储介质 |
IT202100009023A1 (it) * | 2021-04-09 | 2022-10-09 | Stiga S P A In Breve Anche St S P A | Sistema di manutenzione di terreni, in particolare configurato per attivare una modalità di risparmio energetico di un dispositivo mobile previa comparazione tra livelli di carica |
WO2021178980A1 (en) * | 2021-04-28 | 2021-09-10 | Innopeak Technology, Inc | Data synchronization and pose prediction in extended reality |
WO2022272151A1 (en) * | 2021-06-24 | 2022-12-29 | Mtd Products Inc | Foldable handles for high-efficiency turf maintenance tool |
US12111391B1 (en) * | 2021-07-30 | 2024-10-08 | Geophysical Survey Systems, Inc. | Positional accuracy using ground penetrating radar |
CN113885495B (zh) * | 2021-09-29 | 2024-08-20 | 上海菲蒽蔓机器人科技有限公司 | 一种基于机器视觉的室外自动工作控制系统、方法及设备 |
SE2151264A1 (en) * | 2021-10-15 | 2023-04-16 | Husqvarna Ab | Robotic lawn mower |
EP4295659A4 (en) * | 2021-11-01 | 2024-11-20 | Nanjing Chervon Industry Co., Ltd. | PUSH POWER TOOL |
US12129607B2 (en) * | 2021-11-24 | 2024-10-29 | Caterpillar Paving Products Inc. | Control system and method for defining and generating compactor work area |
US20230194301A1 (en) * | 2021-12-16 | 2023-06-22 | Univrses Ab | High fidelity anchor points for real-time mapping with mobile devices |
US20230240183A1 (en) * | 2022-02-01 | 2023-08-03 | Honda Motor Co., Ltd. | Lawn mower and machine apparatus and method with storage features |
WO2023150032A1 (en) | 2022-02-02 | 2023-08-10 | The Toro Company | Autonomous working vehicle system having base station with canopy |
TWI808669B (zh) * | 2022-03-04 | 2023-07-11 | 國眾電腦股份有限公司 | 多點同步指導偕同作業系統及其方法 |
SE2250549A1 (en) * | 2022-05-06 | 2023-11-07 | Husqvarna Ab | Robotic lawnmower system |
CN115167418B (zh) | 2022-07-04 | 2023-06-27 | 未岚大陆(北京)科技有限公司 | 转移路径生成方法、装置、电子设备和计算机存储介质 |
CN115171237A (zh) * | 2022-07-12 | 2022-10-11 | 国网河北省电力有限公司超高压分公司 | 一种3d成像巡视记录仪 |
WO2024072699A1 (en) | 2022-09-29 | 2024-04-04 | The Toro Company | Lawn mower with grass directing system |
WO2024129504A2 (en) | 2022-12-13 | 2024-06-20 | The Toro Company | Autonomous ground working vehicle system and vehicle cleaning system for use with same |
US12001182B1 (en) * | 2022-12-21 | 2024-06-04 | Sensori Robotics, LLC | Smart lawnmower with realization of mowing policy and system and method for use of same |
US11678604B1 (en) | 2022-12-21 | 2023-06-20 | Sensori Robotics, LLC | Smart lawnmower with development of mowing policy and system and method for use of same |
WO2024173028A1 (en) * | 2023-02-17 | 2024-08-22 | The Toro Company | Image notification for autonomous grounds maintenance machines |
WO2024227434A1 (zh) * | 2023-05-01 | 2024-11-07 | 宝时得科技(中国)有限公司 | 一种控制方法、存储介质及自主工作机器 |
CN116399330B (zh) * | 2023-05-29 | 2023-08-15 | 未岚大陆(北京)科技有限公司 | 地图修改方法、装置、电子设备和存储介质 |
WO2025019467A1 (en) | 2023-07-18 | 2025-01-23 | The Toro Company | Ground care machine platform with autonomously controllable features |
DE102023208377A1 (de) | 2023-08-31 | 2025-03-06 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Bestimmen einer zusätzlichen Umrandung eines Arbeitsbereiches für ein mobiles Gerät |
CN117863190B (zh) * | 2024-03-08 | 2024-07-19 | 广州小鹏汽车科技有限公司 | 足式机器人的移动控制方法及足式机器人 |
Family Cites Families (128)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2727753A (en) * | 1952-12-08 | 1955-12-20 | Foley Mfg Company | Adjustable lawn mower handle |
US3357716A (en) * | 1965-01-18 | 1967-12-12 | M T & D Company | Handle construction |
US3855763A (en) * | 1972-09-15 | 1974-12-24 | R Dunton | Self-propelled rotary lawn mower |
US5209051A (en) * | 1991-03-08 | 1993-05-11 | Langdon Christopher D | Lawn mowers including push handles |
JP3019520B2 (ja) | 1991-09-03 | 2000-03-13 | 松下電器産業株式会社 | 自走式掃除機 |
US5261215A (en) * | 1992-07-24 | 1993-11-16 | Ryobi Motor Products Corp. | Vertically storable lawn mower |
AU6383494A (en) | 1993-04-03 | 1994-10-24 | Cat Systems Limited | Localising system |
US5394965A (en) | 1993-09-17 | 1995-03-07 | Kho; Dick T. | Attachable pull handle for suitcases |
US5606851A (en) | 1993-09-22 | 1997-03-04 | Briggs & Stratton Corporation | Battery-powered lawn cutting system |
US6301746B1 (en) | 1998-01-09 | 2001-10-16 | Andiamo, Inc. | Telescoping handle assembly for luggage and other luggable items |
US6339735B1 (en) | 1998-12-29 | 2002-01-15 | Friendly Robotics Ltd. | Method for operating a robot |
US6158089A (en) * | 1999-03-10 | 2000-12-12 | Thomas Monahan Company | Telescoping handle |
JP2002181560A (ja) | 2000-12-08 | 2002-06-26 | Matsushita Electric Ind Co Ltd | ポリゴン情報伝達方法とそれを実施する装置 |
US7097181B2 (en) | 2001-11-02 | 2006-08-29 | Outrigger, Inc. | Angular handle assembly for wheeled luggage |
US20030144774A1 (en) * | 2002-01-29 | 2003-07-31 | Trissel Ronald L. | Kit and method for converting conventional lawnmower to a robotic lawnmower |
US7054716B2 (en) | 2002-09-06 | 2006-05-30 | Royal Appliance Mfg. Co. | Sentry robot system |
US20050273967A1 (en) | 2004-03-11 | 2005-12-15 | Taylor Charles E | Robot vacuum with boundary cones |
EP1776623B1 (en) | 2004-06-24 | 2011-12-07 | iRobot Corporation | Remote control scheduler and method for autonomous robotic device |
US10705533B1 (en) * | 2005-05-31 | 2020-07-07 | Richard Anthony Bishel | Autonomous lawnmower |
US8634960B2 (en) * | 2006-03-17 | 2014-01-21 | Irobot Corporation | Lawn care robot |
EP2186392B1 (en) | 2007-01-15 | 2011-10-26 | Kanzaki Kokyukoki Mfg. Co., Ltd. | Riding lawn mower |
DE102007027648A1 (de) | 2007-06-15 | 2008-12-18 | Robert Bosch Gmbh | Lokalisierungssystem für ein Roboterfahrzeug |
DE102007060056A1 (de) | 2007-12-13 | 2009-06-18 | Robert Bosch Gmbh | Ansteuersystem und Ansteuerverfahren für ein Roboterfahrzeug sowie Roboterfahrzeug |
DE102009028598A1 (de) * | 2009-08-17 | 2011-03-03 | Robert Bosch Gmbh | Autonome mobile Plattform zur Oberflächenbearbeitung |
US8224516B2 (en) | 2009-12-17 | 2012-07-17 | Deere & Company | System and method for area coverage using sector decomposition |
WO2011115534A1 (en) | 2010-03-17 | 2011-09-22 | Husqvarna Ab | Method and system for navigating a robotic garden tool |
CN202183970U (zh) * | 2010-06-09 | 2012-04-11 | 泉峰(中国)贸易有限公司 | 草坪维护设备 |
US8776337B2 (en) | 2010-07-30 | 2014-07-15 | Hewlett-Packard Development Company, L.P. | Methods of forming capacitive sensors |
WO2013002773A1 (en) * | 2011-06-29 | 2013-01-03 | Husqvarna Consumer Outdoor Products N.A., Inc. | Lawn care vehicle adjustable steering assembly |
US9462747B2 (en) * | 2011-11-03 | 2016-10-11 | Brigs & Stratton Corporation | Vertically storable engine and mower |
EP2620050B1 (en) | 2012-01-25 | 2016-07-27 | Honda Research Institute Europe GmbH | System, method and apparatus for unsupervised adaptation of the perception of an autonomous mower |
CN102523817B (zh) * | 2012-02-22 | 2014-03-12 | 南京德朔实业有限公司 | 多档位把手机构及包含该把手机构的割草机 |
CN104126211B (zh) | 2012-02-22 | 2017-03-01 | 胡斯华纳有限公司 | 自动割草机 |
US11094137B2 (en) | 2012-02-24 | 2021-08-17 | Matterport, Inc. | Employing three-dimensional (3D) data predicted from two-dimensional (2D) images using neural networks for 3D modeling applications and other applications |
US9324190B2 (en) | 2012-02-24 | 2016-04-26 | Matterport, Inc. | Capturing and aligning three-dimensional scenes |
DE202012101866U1 (de) * | 2012-05-22 | 2012-07-02 | Macauto Industrial Co., Ltd. | Roboterrasenmäher, der in einem Handschiebemodus betrieben werden kann |
EP2866980A4 (en) | 2012-06-26 | 2016-07-20 | Husqvarna Ab | REMOVABLE USER INTERFACE FOR A ROBOT VEHICLE |
CA2878492A1 (en) | 2012-07-09 | 2014-01-16 | Techtronic Outdoor Products Technology Limited | An interface for a power tool |
PT106442A (pt) * | 2012-07-13 | 2014-01-13 | Handgo Unipessoal Lda | Cesto com rodas aperfeiçoado |
EP2885684B1 (en) | 2012-08-14 | 2018-05-09 | Husqvarna AB | Mower with object detection system |
WO2014027946A1 (en) | 2012-08-14 | 2014-02-20 | Husqvarna Ab | Boundary definition system for a robotic vehicle |
US9383753B1 (en) | 2012-09-26 | 2016-07-05 | Google Inc. | Wide-view LIDAR with areas of special attention |
CN104703460B (zh) | 2012-10-09 | 2018-03-30 | 胡斯华纳有限公司 | 用于提高自动园艺工具的覆盖分布的方法和系统 |
US9888627B2 (en) * | 2012-10-15 | 2018-02-13 | Chervon (Hk) Limited | Lawncare apparatus with a foldable operating arm |
US9241442B2 (en) * | 2012-10-23 | 2016-01-26 | Daniel A. DIAZDELCASTILLO | Autonomous and remote control all purpose machine (ARCAPM) |
JP6240384B2 (ja) | 2012-11-29 | 2017-11-29 | ヤンマー株式会社 | 自律走行作業システム |
US10149430B2 (en) | 2013-02-20 | 2018-12-11 | Husqvarna Ab | Robotic work tool configured for improved turning in a slope, a robotic work tool system, and a method for use in the robot work tool |
EP2959348B1 (en) | 2013-02-20 | 2018-09-19 | Husqvarna AB | A robotic work tool system and method comprising a charging station |
FR3002826B1 (fr) | 2013-03-08 | 2015-03-27 | Castorama France | Tondeuse a gazon |
EP2774470B1 (en) * | 2013-03-08 | 2019-03-27 | Castorama France | Lawnmower |
GB201313541D0 (en) * | 2013-07-30 | 2013-09-11 | Digital Line Markers Fze | User-propelled collapsible apparatus |
CN205922034U (zh) | 2013-09-19 | 2017-02-08 | 日立工机株式会社 | 自行式割草机 |
CN203872585U (zh) | 2013-10-10 | 2014-10-15 | 南京德朔实业有限公司 | 割草机及其控制电路 |
WO2015072897A1 (en) | 2013-11-12 | 2015-05-21 | Husqvarna Ab | Improved navigation for a robotic working tool |
US10136576B2 (en) | 2013-11-12 | 2018-11-27 | Husqvarna Ab | Navigation for a robotic working tool |
EP2884364B1 (en) * | 2013-12-12 | 2018-09-26 | Hexagon Technology Center GmbH | Autonomous gardening vehicle with camera |
EP3084542B1 (en) | 2013-12-19 | 2019-07-24 | Husqvarna AB | System and method for navigating a robotic working tool. |
WO2015094054A1 (en) | 2013-12-19 | 2015-06-25 | Husqvarna Ab | Navigation for a robotic working tool |
WO2015094052A1 (en) | 2013-12-19 | 2015-06-25 | Husqvarna Ab | Obstacle detection for a robotic working tool |
CN107357287A (zh) * | 2014-01-21 | 2017-11-17 | 宝时得科技(中国)有限公司 | 自动割草机 |
TWM547502U (zh) | 2017-03-14 | 2017-08-21 | Mace Group Inc | 自行車手機支架結構 |
CN111273666B (zh) * | 2014-03-31 | 2023-10-24 | 美国iRobot公司 | 一种用于机器人草坪割草的操作者反馈单元及方法 |
EP3143469B1 (en) | 2014-05-15 | 2020-01-15 | Husqvarna AB | Automatic sensitivity adjustment in object detection system |
EP3158409B1 (en) | 2014-06-19 | 2021-01-20 | Husqvarna Ab | Garden visualization and mapping via robotic vehicle |
EP3158410B1 (en) | 2014-06-19 | 2021-01-27 | Husqvarna AB | Automatic beacon position determination |
JP5792361B1 (ja) | 2014-06-25 | 2015-10-07 | シャープ株式会社 | 自律移動装置 |
WO2016000734A1 (en) | 2014-06-30 | 2016-01-07 | Husqvarna Ab | Improved robotic working tool |
KR102394962B1 (ko) | 2014-07-30 | 2022-05-04 | 얀마 파워 테크놀로지 가부시키가이샤 | 원격 조작 장치 |
US9516806B2 (en) * | 2014-10-10 | 2016-12-13 | Irobot Corporation | Robotic lawn mowing boundary determination |
GB201419883D0 (en) * | 2014-11-07 | 2014-12-24 | F Robotics Acquisitions Ltd | Domestic robotic system and method |
US10849267B2 (en) | 2014-11-26 | 2020-12-01 | Husqvarna Ab | Remote interaction with a robotic vehicle |
US10444756B2 (en) | 2014-12-11 | 2019-10-15 | Husqvarna Ab | Navigation for a robotic working tool |
US9420741B2 (en) * | 2014-12-15 | 2016-08-23 | Irobot Corporation | Robot lawnmower mapping |
EP3234718B1 (en) * | 2014-12-17 | 2018-10-24 | Husqvarna AB | Robotic vehicle learning site boundary |
WO2016098050A1 (en) | 2014-12-17 | 2016-06-23 | Husqvarna Ab | Multi-sensor, autonomous robotic vehicle with mapping capability |
US10806075B2 (en) | 2014-12-17 | 2020-10-20 | Husqvarna Ab | Multi-sensor, autonomous robotic vehicle with lawn care function |
US20170303466A1 (en) | 2014-12-17 | 2017-10-26 | Husqvarna Ab | Robotic vehicle with automatic camera calibration capability |
WO2016097896A1 (en) | 2014-12-18 | 2016-06-23 | Husqvarna Ab | Parcel mapping via electrical resistance detection of a robotic vehicle |
WO2016097891A1 (en) | 2014-12-18 | 2016-06-23 | Husqvarna Ab | Robotic vehicle for detecting gps shadow zones |
US9538702B2 (en) | 2014-12-22 | 2017-01-10 | Irobot Corporation | Robotic mowing of separated lawn areas |
US10643377B2 (en) | 2014-12-22 | 2020-05-05 | Husqvarna Ab | Garden mapping and planning via robotic vehicle |
EP3237984B1 (en) | 2014-12-22 | 2018-12-19 | Husqvarna AB | Area exclusion for operation of a robotic vehicle |
EP3237983B1 (en) | 2014-12-22 | 2019-03-06 | Husqvarna AB | Robotic vehicle grass structure detection |
SE538373C2 (en) | 2014-12-23 | 2016-05-31 | Husqvarna Ab | Improved navigation for a robotic lawnmower |
US10568258B2 (en) | 2014-12-23 | 2020-02-25 | Husqvarna Ab | Robotic vehicle with adjustable operating area |
WO2016103071A1 (en) | 2014-12-23 | 2016-06-30 | Husqvarna Ab | Lawn monitoring and maintenance via a robotic vehicle |
US10405488B2 (en) | 2014-12-23 | 2019-09-10 | Husqvarna Ab | Zone control system for a robotic vehicle |
SE1451644A1 (sv) | 2014-12-23 | 2016-05-31 | Husqvarna Ab | Improved map generation by a robotic work tool |
SE540131C2 (en) | 2014-12-24 | 2018-04-10 | Husqvarna Ab | Robotic work tool with trajectory correction |
US10777000B2 (en) | 2014-12-27 | 2020-09-15 | Husqvarna Ab | Garden street view |
US9848531B2 (en) * | 2015-01-13 | 2017-12-26 | The Toro Company | Vertical storage grounds maintenance apparatus |
JP6193898B2 (ja) | 2015-02-10 | 2017-09-06 | 本田技研工業株式会社 | 自律走行作業車の制御装置 |
US10239740B2 (en) * | 2015-03-06 | 2019-03-26 | Walmart Apollo, Llc | Shopping facility assistance system and method having a motorized transport unit that selectively leads or follows a user within a shopping facility |
US9630319B2 (en) * | 2015-03-18 | 2017-04-25 | Irobot Corporation | Localization and mapping using physical features |
SE538868C2 (en) | 2015-05-04 | 2017-01-17 | Husqvarna Ab | Improved error detection and resetting of a robotic work tool |
CA2989207A1 (en) * | 2015-07-01 | 2017-01-05 | Tumi, Inc | Telescopic suitcase handle |
GB2542115B (en) * | 2015-09-03 | 2017-11-15 | Rail Vision Europe Ltd | Rail track asset survey system |
EP3156942A1 (en) * | 2015-10-16 | 2017-04-19 | Thomson Licensing | Scene labeling of rgb-d data with interactive option |
GB201518652D0 (en) * | 2015-10-21 | 2015-12-02 | F Robotics Acquisitions Ltd | Domestic robotic system and method |
EP3384318B1 (en) | 2015-12-02 | 2022-05-18 | Husqvarna AB | Improved navigation for a vehicle by implementing two operating modes |
WO2017092798A1 (en) | 2015-12-02 | 2017-06-08 | Husqvarna Ab | Improved navigation for a robotic work tool |
EP3187953B1 (en) | 2015-12-30 | 2020-03-18 | Honda Research Institute Europe GmbH | Autonomous working machine such as autonomous lawn mower |
SE1650023A1 (en) | 2016-01-11 | 2017-07-12 | Husqvarna Ab | A method and a system for navigating a self-propelled robotic tool |
SE539613C2 (en) * | 2016-01-11 | 2017-10-17 | Husqvarna Ab | Self-propelled robotic tool navigation |
JP6361681B2 (ja) * | 2016-03-30 | 2018-07-25 | トヨタ自動車株式会社 | ハイブリッド自動車 |
US20190294914A1 (en) | 2016-05-19 | 2019-09-26 | Vermeer Manufacturing Company | Bale detection and classification using stereo cameras |
JP6051326B1 (ja) | 2016-05-20 | 2016-12-27 | 第一工商有限会社 | 操作ハンドル装置 |
EP3471126B1 (en) | 2016-06-14 | 2023-08-16 | Globe (Jiangsu) Co., Ltd. | Power device |
CN109874487B (zh) | 2016-06-30 | 2022-11-04 | 创科(澳门离岸商业服务)有限公司 | 一种自主式割草机及其导航系统 |
CN205865175U (zh) | 2016-07-29 | 2017-01-11 | 扬州和益电动工具有限公司 | 一种割边机的工具盒 |
EP4029372B1 (en) | 2016-12-15 | 2024-08-14 | Positec Power Tools (Suzhou) Co., Ltd. | Pet collar system and pet collar control method |
WO2018125939A1 (en) * | 2016-12-30 | 2018-07-05 | DeepMap Inc. | Visual odometry and pairwise alignment for high definition map creation |
CN106818024A (zh) * | 2017-01-03 | 2017-06-13 | 天佑电器(苏州)有限公司 | 园林工具推杆机构及具有该机构的园林工具 |
EP3591421A4 (en) * | 2017-05-26 | 2020-12-02 | Positec Power Tools (Suzhou) Co., Ltd | MOBILE OBJECT AND CORRESPONDING POSITIONING PROCESS, AUTOMATED WORK SYSTEM AND INFORMATION SUPPORT |
EP3412128B1 (de) | 2017-06-09 | 2021-05-12 | Andreas Stihl AG & Co. KG | Grünflächenbearbeitungssystem und verfahren zum erfassen mindestens eines abschnitts eines begrenzungsrands einer zu bearbeitenden fläche |
CN207201326U (zh) | 2017-08-18 | 2018-04-10 | 苏州科瓴精密机械科技有限公司 | 智能割草机 |
US10438371B2 (en) * | 2017-09-22 | 2019-10-08 | Zoox, Inc. | Three-dimensional bounding box from two-dimensional image and point cloud data |
CN110168466B (zh) | 2017-11-16 | 2022-05-24 | 南京泉峰科技有限公司 | 智能割草系统 |
US11714411B2 (en) | 2018-03-19 | 2023-08-01 | Honda Motor Co., Ltd. | Autonomous traveling work machine |
CN112367830B (zh) * | 2018-05-25 | 2022-12-13 | 托罗公司 | 用于在自动和手动模式下操作机器人机器的系统和方法 |
CN111094895B (zh) * | 2018-06-29 | 2023-08-22 | 百度时代网络技术(北京)有限公司 | 用于在预构建的视觉地图中进行鲁棒自重新定位的系统和方法 |
US10964053B2 (en) * | 2018-07-02 | 2021-03-30 | Microsoft Technology Licensing, Llc | Device pose estimation using 3D line clouds |
CA3106284A1 (en) | 2018-08-08 | 2020-02-13 | The Toro Company | Handle and method for training an autonomous vehicle, and methods of storing same |
MX2020000519A (es) * | 2019-01-31 | 2020-08-20 | Techtronic Cordless Gp | Herramienta electrica que tiene altura o velocidad variable. |
CN111034471A (zh) * | 2019-05-09 | 2020-04-21 | 宁波大叶园林设备股份有限公司 | 折叠扶手而竖立的割草机 |
CN110249778A (zh) * | 2019-07-10 | 2019-09-20 | 陈晓骏 | 一种农业生产用可调式除草装置 |
EP3988809B1 (de) * | 2020-10-21 | 2023-12-27 | Andreas Stihl AG & Co. KG | Verfahren zum betreiben eines gartengeräts und gartengerät |
KR20230087333A (ko) * | 2021-12-09 | 2023-06-16 | 주식회사 유에프오에스트로넛 | 골프 코스의 잔디 이상 원인 추론 시스템 |
-
2019
- 2019-08-07 CA CA3106284A patent/CA3106284A1/en active Pending
- 2019-08-07 CN CN201980052622.XA patent/CN112584697B/zh active Active
- 2019-08-07 AU AU2019317453A patent/AU2019317453B2/en active Active
- 2019-08-07 CN CN201980050302.0A patent/CN112512300A/zh not_active Withdrawn
- 2019-08-07 ES ES19755504T patent/ES2983425T3/es active Active
- 2019-08-07 AU AU2019317576A patent/AU2019317576B2/en active Active
- 2019-08-07 EP EP19755504.8A patent/EP3833176B1/en active Active
- 2019-08-07 EP EP19755761.4A patent/EP3833177B1/en active Active
- 2019-08-07 EP EP22178944.9A patent/EP4079135A1/en active Pending
- 2019-08-07 EP EP24170502.9A patent/EP4397167A3/en active Pending
- 2019-08-07 US US16/534,515 patent/US11334082B2/en active Active
- 2019-08-07 CN CN202310062340.6A patent/CN115826585A/zh active Pending
- 2019-08-07 US US17/261,406 patent/US12048267B2/en active Active
- 2019-08-07 WO PCT/US2019/045470 patent/WO2020033522A2/en active Search and Examination
- 2019-08-07 CA CA3106274A patent/CA3106274A1/en active Pending
- 2019-08-07 WO PCT/US2019/045443 patent/WO2020033504A2/en active Search and Examination
-
2022
- 2022-04-28 US US17/732,255 patent/US20220253063A1/en active Pending
-
2024
- 2024-09-24 AU AU2024220020A patent/AU2024220020A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20210251139A1 (en) | 2021-08-19 |
AU2019317576A1 (en) | 2021-01-28 |
EP4079135A1 (en) | 2022-10-26 |
EP4397167A2 (en) | 2024-07-10 |
WO2020033504A3 (en) | 2020-05-14 |
AU2019317576B2 (en) | 2024-08-29 |
CN112512300A (zh) | 2021-03-16 |
EP4397167A3 (en) | 2024-09-25 |
US20220253063A1 (en) | 2022-08-11 |
AU2019317453A1 (en) | 2021-01-28 |
WO2020033522A8 (en) | 2020-05-22 |
CN112584697B (zh) | 2023-02-17 |
AU2019317453B2 (en) | 2023-12-14 |
EP3833177A2 (en) | 2021-06-16 |
CA3106284A1 (en) | 2020-02-13 |
WO2020033522A3 (en) | 2020-03-19 |
CN115826585A (zh) | 2023-03-21 |
US11334082B2 (en) | 2022-05-17 |
AU2024220020A1 (en) | 2024-10-17 |
EP3833176A2 (en) | 2021-06-16 |
EP3833176B1 (en) | 2024-06-12 |
CA3106274A1 (en) | 2020-02-13 |
US20200050208A1 (en) | 2020-02-13 |
CN112584697A (zh) | 2021-03-30 |
US12048267B2 (en) | 2024-07-30 |
WO2020033522A2 (en) | 2020-02-13 |
WO2020033504A2 (en) | 2020-02-13 |
EP3833177B1 (en) | 2022-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2983425T3 (es) | Navegación y entrenamiento de máquina autónoma usando sistema de visión | |
US12197227B2 (en) | Autonomous machine navigation with object detection and 3D point cloud | |
US9603300B2 (en) | Autonomous gardening vehicle with camera | |
EP4179400B1 (en) | Autonomous machine navigation using reflections from subsurface objects | |
CN111771510B (zh) | 对多个区块割刈的方法、系统、机器人及计算机可读介质 | |
BRPI1106300A2 (pt) | Metodo e sistema para manter comunicacao de linha de visao entre uma pluralidade de maquinas, e, produto de programa de computador | |
EP4066076B1 (en) | Autonomous machine navigation in various lighting environments | |
EP4175455B1 (en) | Autonomous machine having vision system for navigation and method of using same | |
CA3131896A1 (en) | Autonomous machine navigation in lowlight conditions | |
US20240155973A1 (en) | Operation and installation for a robotic work tool | |
CA3160530A1 (en) | Autonomous machine navigation in various lighting environments | |
WO2024173028A1 (en) | Image notification for autonomous grounds maintenance machines | |
SE2250834A1 (en) | Improved determination of pose for a robotic work tool | |
WO2024237831A1 (en) | Improved navigation for a robotic work tool system |