BR112020023871A2 - pulverizador de barra incluindo controle de retroalimentação de máquina - Google Patents

pulverizador de barra incluindo controle de retroalimentação de máquina Download PDF

Info

Publication number
BR112020023871A2
BR112020023871A2 BR112020023871-6A BR112020023871A BR112020023871A2 BR 112020023871 A2 BR112020023871 A2 BR 112020023871A2 BR 112020023871 A BR112020023871 A BR 112020023871A BR 112020023871 A2 BR112020023871 A2 BR 112020023871A2
Authority
BR
Brazil
Prior art keywords
sprayer
boom
action
state
components
Prior art date
Application number
BR112020023871-6A
Other languages
English (en)
Inventor
Lee Kamp Redden
Erik Ehn
James Michael Fleming
Original Assignee
Blue River Technology Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Blue River Technology Inc. filed Critical Blue River Technology Inc.
Publication of BR112020023871A2 publication Critical patent/BR112020023871A2/pt

Links

Classifications

    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01MCATCHING, TRAPPING OR SCARING OF ANIMALS; APPARATUS FOR THE DESTRUCTION OF NOXIOUS ANIMALS OR NOXIOUS PLANTS
    • A01M7/00Special adaptations or arrangements of liquid-spraying apparatus for purposes covered by this subclass
    • A01M7/005Special arrangements or adaptations of the spraying or distributing parts, e.g. adaptations or mounting of the spray booms, mounting of the nozzles, protection shields
    • A01M7/0053Mounting of the spraybooms
    • A01M7/0057Mounting of the spraybooms with active regulation of the boom position
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01MCATCHING, TRAPPING OR SCARING OF ANIMALS; APPARATUS FOR THE DESTRUCTION OF NOXIOUS ANIMALS OR NOXIOUS PLANTS
    • A01M7/00Special adaptations or arrangements of liquid-spraying apparatus for purposes covered by this subclass
    • A01M7/0089Regulating or controlling systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/048Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators using a predictor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01MCATCHING, TRAPPING OR SCARING OF ANIMALS; APPARATUS FOR THE DESTRUCTION OF NOXIOUS ANIMALS OR NOXIOUS PLANTS
    • A01M7/00Special adaptations or arrangements of liquid-spraying apparatus for purposes covered by this subclass
    • A01M7/0025Mechanical sprayers
    • A01M7/0032Pressure sprayers
    • A01M7/0042Field sprayers, e.g. self-propelled, drawn or tractor-mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/70Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using stochastic pulse trains, i.e. randomly occurring pulses the average pulse rates of which represent numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06GANALOGUE COMPUTERS
    • G06G7/00Devices in which the computing operation is performed by varying electric or magnetic quantities

Landscapes

  • Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Wood Science & Technology (AREA)
  • Environmental Sciences (AREA)
  • Zoology (AREA)
  • Pest Control & Pesticides (AREA)
  • Insects & Arthropods (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Catching Or Destruction (AREA)
  • Mechanical Engineering (AREA)

Abstract

Um pulverizador de barra inclui qualquer número de componentes para tratar plantas, conforme o pulverizador de barra viaja através de um campo de planta. Os componentes realizam ações para tratar plantas ou facilitar o tratamento de plantas. O pulverizador de barra inclui qualquer número de sensores para medir o estado do pulverizador de barra, conforme o pulverizador de barra trata as plantas. O pulverizador de barra inclui um sistema de controle para gerar ações para os componentes tratarem plantas no campo. O sistema de controle inclui um agente que executa um modelo que funciona para melhorar o desempenho do pulverizador de barra tratando plantas. A melhoria do desempenho pode ser medida pelos sensores do pulverizador de barra. O modelo é uma rede neural artificial que recebe medições como entradas e gera ações que melhoram o desempenho como saídas. A rede neural artificial é treinada usando técnicas de aprendizado de reforço ator-crítico.

Description

“PULVERIZADOR DE BARRA INCLUINDO CONTROLE DE RETROALIMENTAÇÃO DE MÁQUINA” RELATÓRIO DESCRITIVO REFERÊNCIA REMISSIVA AOS PEDIDOS CORRELATOS
[0001] Este Pedido reivindica o benefício do Pedido Provisório U.S. No. 62/676,257 depositado em 24 de maio de 2018, cujos conteúdos são aqui incorporados como referência em sua totalidade.
Campo de Divulgação
[0002] Este Pedido se refere a um sistema para controlar um pulverizador de barra em um campo de planta e, mais especificamente, para controlar o pulverizador de barra usando métodos de aprendizado de reforço.
Descrição da Técnica Relacionada
[0003] Tradicionalmente, os pulverizadores de barra são veículos operados manualmente onde a máquina inclui entradas manuais ou digitais, permitindo ao operador controlar as várias configurações do pulverizador de barra. Mais recentemente, foram introduzidos programas de otimização de máquinas com o objetivo de reduzir a necessidade de entrada do operador. No entanto, mesmo esses algoritmos deixam de levar em conta uma ampla variedade de máquinas e condições de campo e, portanto, ainda requerem uma quantidade significativa de entrada do operador. Em algumas máquinas, o operador determina qual parâmetro de desempenho da máquina é insatisfatório (abaixo do ideal ou não aceitável) e, em seguida, percorre manualmente um programa de otimização da máquina usando várias técnicas de controle. Este processo leva um tempo considerável e requer interação e conhecimento significativos do operador. Além disso, evita que o operador monitore as operações de campo e fique ciente do ambiente ao seu redor enquanto está interagindo com a máquina. Assim, um pulverizador de barra que irá melhorar ou manter o desempenho do pulverizador de barra com menos interação do operador e distração é desejável.
SUMÁRIO
[0004] Um pulverizador de barra pode incluir qualquer número de componentes para tratar (por exemplo, pulverizar) plantas conforme o pulverizador de barra viaja através de um campo de planta. Um componente, ou uma combinação de componentes, pode realizar uma ação para tratar plantas no campo ou uma ação que facilita o pulverizador de barra de tratar de plantas no campo. Cada componente é acoplado a um acionador que aciona o componente para realizar uma ação. Cada acionador é controlado por um controlador de entrada que é comunicativamente acoplado a um sistema de controle para o pulverizador de barra. O sistema de controle envia ações, como comandos de máquina, para os controladores de entrada que fazem com que os acionadores acionem seus componentes. Dessa forma, o sistema de controle gera ações que fazem com que os componentes do pulverizador de barra tratem as plantas no campo de planta.
[0005] O pulverizador de barra também pode incluir qualquer número de sensores para fazer medições de um estado do pulverizador de barra. Os sensores são acoplados comunicativamente ao sistema de controle. Uma medição do estado gera dados que representam uma configuração ou uma capacidade do pulverizador de barra. Uma configuração do pulverizador de barra é a configuração, velocidade, separação, posição atuais, etc. de um componente da máquina. A capacidade da máquina é o resultado da ação de um componente, conforme o pulverizador de barra trata as plantas no campo de planta.
Assim, o sistema de controle recebe medições sobre o estado do pulverizador de barra enquanto o pulverizador de barra trata as plantas no campo.
[0006] O sistema de controle pode incluir um agente que gera ações para os componentes do pulverizador de barra que melhora o desempenho do pulverizador de barra. O desempenho melhorado pode incluir uma quantificação de várias métricas de tratamento de plantas usando o pulverizador de barra, incluindo a distância entre um conjunto de barra e uma planta, a distância entre um conjunto de barra e o solo, uma quantidade de plantas tratadas, uma qualidade de tratamentos aplicados às plantas, etc. O desempenho pode ser medido usando qualquer um dos sensores do pulverizador de barra.
[0007] O agente pode incluir um modelo que recebe medições do pulverizador de barra como entradas e gera ações previstas para melhorar o desempenho como uma saída. Em um exemplo, o modelo é uma rede neural artificial (ANN) incluindo uma série de unidades neurais de entrada em uma camada de entrada e uma série de unidades neurais de saída em uma camada de saída. Cada unidade neural da camada de entrada é conectada por uma conexão ponderada a qualquer número de unidades neurais de saída da camada de saída. As unidades neurais e conexões ponderadas na ANN representam a função de gerar uma ação para melhorar o desempenho do pulverizador de barra a partir de uma medição. As conexões ponderadas na ANN são treinadas usando um modelo de aprendizado de reforço ator-crítico.
BREVE DESCRIÇÃO DOS DESENHOS
[0008] As FIGS. 1A e 1B são ilustrações de uma máquina para manipular plantas em um campo, de acordo com um exemplo.
[0009] A FIG. 2 é uma ilustração de um pulverizador de barra incluindo seus componentes e sensores constituintes, de acordo com uma modalidade de exemplo.
[0010] As FIGS. 3A e 3B são ilustração de um ambiente de sistema para controlar os componentes de uma máquina configurada para manipular plantas em um campo, de acordo com uma modalidade de exemplo.
[0011] A FIG. 4 é uma ilustração da relação agente/ambiente em sistemas de aprendizado de reforço de acordo com uma modalidade.
[0012] As FIGS. 5A a 5G são ilustrações de um sistema de aprendizado de reforço, de acordo com uma modalidade.
[0013] A FIG. 6 é uma ilustração de uma rede neural artificial que pode ser usada para gerar ações que manipulam a planta e melhoram o desempenho da máquina, de acordo com uma modalidade de exemplo.
[0014] A FIG. 7 é um diagrama de fluxo que ilustra um método para gerar ações que melhoram o desempenho do pulverizador de barra usando um agente que executa um modelo incluindo uma rede neural artificial treinada usando um método ator-crítico, de acordo com uma modalidade de exemplo.
[0015] A FIG. 8 é uma ilustração de um computador que pode ser usado para controlar a máquina para manipular plantas no campo, de acordo com uma modalidade de exemplo.
[0016] As figuras representam modalidades apenas para fins de ilustração. Um versado na técnica reconhecerá prontamente a partir da seguinte descrição que modalidades alternativas das estruturas e métodos ilustrados neste documento podem ser empregados sem se afastar dos princípios da invenção aqui descritos.
DESCRIÇÃO DETALHADA I. Introdução
[0017] As máquinas agrícolas que afetam (manipulam) as plantas em um campo continuaram a melhorar ao longo do tempo. As máquinas agrícolas podem incluir uma infinidade de componentes para realizar a tarefa de tratar plantas em um campo. Eles podem incluir ainda qualquer número de sensores que fazem medições para monitorar o desempenho de um componente, um grupo de componentes ou um estado de um componente. Tradicionalmente, as medições são informadas ao operador e o operador pode fazer alterações manualmente na configuração dos componentes da máquina agrícola para melhorar o desempenho. No entanto, conforme a complexidade das máquinas agrícolas aumentou, tornou-se cada vez mais difícil para um operador entender como uma única alteração em um componente afeta o desempenho geral da máquina agrícola. Da mesma forma, os modelos clássicos de controle óptico que ajustam automaticamente os componentes da máquina são inviáveis porque os vários processos para realizar a tarefa da máquina são não lineares e altamente complexos, de modo que a dinâmica do sistema de máquina é desconhecida.
[0018] Aqui é descrita uma máquina agrícola que emprega um modelo aprendido por máquina que determina automaticamente, em tempo real, ações para afetar os componentes da máquina para melhorar o desempenho da máquina. Em um exemplo, o modelo aprendido por máquina é treinado usando uma técnica de aprendizado de reforço. Modelos treinados usando aprendizado de reforço se destacam no reconhecimento de padrões em grandes estruturas de dados interconectadas, aqui aplicadas às medições de uma máquina agrícola, sem a entrada de um operador. O modelo pode gerar ações para a máquina agrícola que podem melhorar o desempenho da máquina com base nesses padrões reconhecidos. Em outro exemplo, o modelo aprendido por máquina é treinado usando outras técnicas de aprendizado de máquina baseadas em modelo (por exemplo, um modelo de dinâmica direta). O modelo também pode gerar ações para a máquina agrícola que podem melhorar o desempenho da máquina. Consequentemente, é descrita uma máquina agrícola que executa um que permite que a máquina agrícola opere de forma mais eficiente com menos entrada do operador. Entre outros benefícios, isso ajuda a reduzir a fadiga e a distração do operador, por exemplo, no caso em que o operador também está dirigindo a máquina agrícola.
II. Máquina de Manipulação de Planta
[0019] A FIG. 1 é uma ilustração de uma máquina para manipular plantas em um campo, de acordo com uma modalidade de exemplo. Embora a máquina ilustrada 100 seja semelhante a um trator puxando um implemento agrícola, o sistema pode ser qualquer tipo de sistema para manipular plantas 102 em um campo. Por exemplo, o sistema pode ser uma ceifeira-debulhadora, um diluente de cultura, uma semeadora, uma plantadeira, um pulverizador de barra, etc. A máquina 100 para manipulação de planta pode incluir qualquer número de mecanismos de detecção 110, componentes de manipulação 120 (componentes) e sistemas de controle 130. A máquina 100 pode incluir adicionalmente qualquer número de mecanismos de montagem 140, sistemas de verificação 150, fontes de energia, memória digital, aparelho de comunicação ou quaisquer outros componentes adequados.
[0020] A máquina 100 funciona para manipular uma ou múltiplas plantas 102 dentro de uma área geográfica 104. Em várias configurações, a máquina 100 manipula as plantas 102 para regular o crescimento, tratar alguma parte da planta, tratar uma planta com um fluido, monitorar a planta, interromper o crescimento da planta, remover uma planta do meio ambiente ou qualquer outro tipo de manipulação de planta. Muitas vezes, a máquina 100 manipula diretamente uma única planta 102 com um componente 120, mas também pode manipular múltiplas plantas 102, indiretamente manipular uma ou mais plantas 102 nas proximidades da máquina 100, etc. Além disso, a máquina 100 pode manipular uma parte de uma única planta 102 em vez de uma planta inteira 102. Por exemplo, em várias modalidades, a máquina 100 pode podar uma única folha de uma planta grande ou pode remover uma planta inteira do solo. Em outras configurações, a máquina 100 pode manipular o ambiente das plantas 102 com vários componentes 120. Por exemplo, a máquina 100 pode remover solo para plantar novas plantas dentro da área geográfica 104, remover objetos indesejados do solo na área geográfica 104, etc.
[0021] As plantas 102 podem ser culturas, mas podem, alternativamente, ser ervas daninhas ou qualquer outra planta adequada. A cultura pode ser algodão, mas também pode ser alface, soja, arroz, cenoura, tomate, milho, brócolis, repolho, batata, trigo ou qualquer outra cultura comercial adequada. O campo de planta em que a máquina é usada é um campo de planta ao ar livre, mas pode ser alternativamente plantas 102 dentro de uma estufa, um laboratório, uma casa de cultivo, um conjunto de recipientes, uma máquina ou qualquer outro ambiente adequado. As plantas 102 podem ser cultivadas em uma ou mais fileiras de plantas (por exemplo, canteiros), em que as fileiras de plantas são paralelas, mas, alternativamente, podem ser cultivadas em um conjunto de vasos de plantas, em que os vasos de plantas podem ser ordenados em fileiras ou matrizes ou serem distribuídos aleatoriamente ou serem cultivados em qualquer outra configuração adequada. As fileiras de plantas são geralmente espaçadas entre 2 polegadas e 45 polegadas (por exemplo, conforme determinado a partir do eixo da fileira longitudinal), mas podem, alternativamente, ser espaçadas a qualquer distância adequada ou ter espaçamento variável entre várias fileiras. Em outras configurações, as plantas não são cultivadas em fileiras.
[0022] As plantas 102 dentro de cada campo de planta, fileira de planta ou subdivisão de campo de planta geralmente incluem o mesmo tipo de cultura (por exemplo, mesmo gênero, mesma espécie, etc.), mas podem alternativamente incluir múltiplas culturas ou plantas (por exemplo, uma primeira e uma segunda planta), ambas as quais podem ser manipuladas de forma independente. Cada planta 102 pode incluir um caule, disposto superior (por exemplo, acima) do substrato, que suporta os ramos, folhas e frutos da planta. Cada planta 102 pode incluir adicionalmente um sistema de raiz unido ao caule, localizado abaixo do plano do substrato (por exemplo, abaixo do solo), que suporta a posição da planta e absorve nutrientes e água do substrato 106. A planta pode ser uma planta vascular, planta não vascular, planta lenhosa, planta herbácea ou qualquer tipo de planta adequado. A planta pode ter uma única haste, múltiplas hastes ou qualquer número de hastes. A planta pode ter um sistema de raiz de derivação ou um sistema de raiz fibrosa. O substrato 106 é solo, mas pode, alternativamente, ser uma esponja ou qualquer outro substrato adequado. Os componentes 120 da máquina 100 podem manipular qualquer tipo de planta 102, qualquer parte da planta 102 ou qualquer parte do substrato 106 de forma independente.
[0023] A máquina 100 inclui múltiplos mecanismos de detecção 110 configurados para espelhar plantas 102 no campo. Em algumas configurações, cada mecanismo de detecção 110 é configurado para gerar imagens de uma única fileira de plantas 102, mas pode gerar imagens de qualquer número de plantas na área geográfica 104. Os mecanismos de detecção 110 funcionam para identificar plantas individuais 102 ou partes de plantas 102, conforme a máquina 100 viaja através da área geográfica 104. O mecanismo de detecção 110 também pode identificar elementos do ambiente em torno das plantas 102 de elementos na área geográfica 104. O mecanismo de detecção 110 pode ser usado para controlar qualquer um dos componentes 120 de modo que um componente 120 manipula uma planta identificada, parte de uma planta ou elemento do ambiente. Em várias configurações, o sistema de detecção 110 pode incluir qualquer número de sensores que podem fazer uma medição para identificar uma planta. Os sensores podem incluir uma câmera multiespectral, uma câmera estérea, uma câmera CCD, uma câmera de lente única, sistema de imagem hiperespectral, sistema LIDAR (detecção de luz e sistema de alcance), dinamômetro, câmera IR, câmera térmica ou qualquer outro mecanismo de detecção adequado.
[0024] Cada mecanismo de detecção 110 pode ser acoplado à máquina 100 a uma distância de um componente 120. O mecanismo de detecção 110 pode ser acoplado estaticamente à máquina 100, mas também pode ser acoplado de forma móvel (por exemplo, com um suporte móvel) à máquina 100. Geralmente, a máquina 100 inclui alguns mecanismos de detecção 110 que são posicionados para capturar dados relativos a uma planta antes que o componente 120 encontre a planta de modo que uma planta possa ser identificada antes de ser manipulada. Em algumas configurações, o componente 120 e o mecanismo de detecção 110 são dispostos de modo que as fileiras centrais do mecanismo de detecção 110 (por exemplo, fileira central do campo de visão do mecanismo de detecção) e um componente 120 estejam alinhados, mas podem, alternativamente, ser dispostos de modo que as fileiras centrais sejam compensadas. Outros mecanismos de detecção 110 podem ser dispostos para observar a operação de um dos componentes 120 do dispositivo, tal como, por exemplo, determinar um ângulo de estrutura do mecanismo de montagem 140, uma posição de um componente de manipulação 120 em relação ao campo, um movimento de um componente de manipulação 120, etc.
[0025] Um componente 120 da máquina 100 funciona para manipular plantas 102 conforme a máquina 100 viaja através da área geográfica. Um componente 120 da máquina 100 pode, alternativamente ou adicionalmente, funcionar para afetar o desempenho da máquina 100, embora não esteja configurado para manipular uma planta 102. Por exemplo, um componente 120 pode alterar o estado atual da máquina 100. Em alguns exemplos, o componente 120 inclui uma área ativa 122 para a qual o componente 120 manipula. O efeito da manipulação pode incluir necrose da planta, estimulação do crescimento da planta, necrose ou remoção da parte da planta, estimulação do crescimento da parte da planta ou qualquer outra manipulação adequada. A manipulação pode incluir o deslocamento da planta 102 do substrato 106, separando a planta 102
(por exemplo, cortando), fertilizando a planta 102, regando a planta 102, injetando um ou mais fluidos de trabalho no substrato adjacente à planta 102 (por exemplo, dentro de uma distância limite da planta), tratando uma parte da planta 102 ou de outra forma manipulando a planta 102.
[0026] Geralmente, cada componente 120 é controlado por um acionador. Cada acionador é configurado para posicionar e ativar cada componente 120 de modo que o componente 120 manipule uma planta 102 quando instruído. Alternativamente (ou adicionalmente), um acionador pode ser configurado para ativar um componente para melhorar o desempenho da máquina agrícola, tal como, por exemplo, alterar a altura de um mecanismo de montagem em relação a um campo 140. Em várias configurações de exemplo, o acionador pode posicionar um componente de modo que a área ativa 122 do componente 120 esteja alinhada com uma planta a ser manipulada. Cada acionador é comunicativamente acoplado a um controlador de entrada que recebe comandos de máquina do sistema de controle 130 instruindo o componente 120 para manipular uma planta 102. O componente 120 é operável entre um modo de espera, onde o componente não manipula uma planta 102 ou afeta o desempenho da máquina 100 e um modo de manipulação, em que o componente 120 é controlado pelo controlador de atuação para manipular a planta ou afetar o desempenho da máquina 100. No entanto, o (s) componente (s) 120 podem ser operáveis em qualquer outro número adequado de modos de operação. Além disso, um modo de operação pode ter qualquer número de submodos configurados para controlar a manipulação da planta 102 ou afetar o desempenho da máquina.
[0027] A máquina 100 pode incluir um único componente 120 ou pode incluir múltiplos componentes. Os múltiplos componentes podem ser do mesmo tipo ou de diferentes tipos de componentes. Em algumas configurações, um componente pode incluir qualquer número de subcomponentes de manipulação que, em agregado, desempenham a função de um único componente 120. Por exemplo, um componente 120 configurado para pulverizar fluido de tratamento em uma planta 102 pode incluir subcomponentes tais como um bocal, uma válvula, um coletor e um reservatório de fluido de tratamento. Os subcomponentes funcionam juntos para pulverizar fluido de tratamento em uma planta 102 na área geográfica 104. Em outro exemplo, um componente 120 é configurado para pulverizar uma planta 102 com uma quantidade particular de fluido de tratamento. Para pulverizar a quantidade correta, o componente 120 é posicionado a uma distância particular acima da área ativa 122. Mover o componente 130 para uma distância específica acima da área ativa 122 pode empregar vários componentes 130 acionados por solenoides, motores, etc. para mover o componente 120.
[0028] Em uma configuração de exemplo, a máquina 100 pode incluir adicionalmente um mecanismo de montagem 140 que funciona para prover um ponto de montagem para os vários elementos da máquina 100. Em um exemplo, o mecanismo de montagem 140 retém estaticamente e suporta mecanicamente as posições do (s) mecanismo (s) de detecção 110, componente (s) 120 e sistema (s) de verificação 150 em relação a um eixo longitudinal do mecanismo de montagem 140. O mecanismo montagem 140 é um chassi ou estrutura, mas pode, alternativamente, ser qualquer outro mecanismo de montagem adequado. Em algumas configurações, pode não haver mecanismo de montagem 140, ou o mecanismo de montagem pode ser incorporado em qualquer outro componente da máquina 100. Em algumas configurações, o mecanismo de montagem 140 também pode atuar como um componente 120 em que um acionador pode controlar o estado (por exemplo, posição, ângulo, etc.) do mecanismo de montagem 140 de modo que o estado do mecanismo de montagem possa ser usado para melhorar o desempenho da máquina agrícola.
[0029] Em uma máquina de exemplo 100, o sistema também pode incluir um primeiro conjunto de rodas coaxiais, cada roda do conjunto disposta ao longo de um lado oposto do mecanismo de montagem 140 e pode incluir adicionalmente um segundo conjunto de rodas coaxiais, em que o eixo de rotação do segundo conjunto de rodas é paralelo ao eixo de rotação do primeiro conjunto de rodas. No entanto, o sistema pode incluir qualquer número adequado de rodas em qualquer configuração adequada. A máquina 100 também pode incluir um mecanismo de acoplamento 142, tal como um engate, que funciona para se acoplar de forma removível ou estática a um mecanismo de acionamento, tal como um trator, mais para a parte traseira do mecanismo de acionamento (de modo que a máquina 100 seja arrastada para trás do mecanismo de acionamento), mas, alternativamente, a parte frontal do mecanismo de acionamento ou ao lado do mecanismo de acionamento. Alternativamente, a máquina 100 pode incluir o mecanismo de acionamento (por exemplo, um motor e um trem de acionamento acoplados ao primeiro e/ou segundo conjunto de rodas). Em outros sistemas de exemplo, o sistema pode ter qualquer outro meio de atravessar o campo.
[0030] Em alguns sistemas de exemplo, o mecanismo de detecção 110 pode ser montado no mecanismo de montagem 140, de modo que o mecanismo de detecção 110 atravesse uma localização geográfica antes que o componente 120 atravesse a localização geográfica. Em uma variação da máquina 100, o mecanismo de detecção 110 é estaticamente montado no mecanismo de montagem 140 proximal ao componente 120. Em variantes incluindo um sistema de verificação 150, o sistema de verificação 150 é disposto distal ao mecanismo de detecção 110, com o componente 120 disposto lá entre, de modo que o sistema de verificação 150 atravesse a localização geográfica após a passagem do componente 120. No entanto, o mecanismo de montagem 140 pode reter as posições relativas dos componentes do sistema em qualquer outra configuração adequada. Em outros sistemas, o mecanismo de detecção 110 pode ser incorporado em qualquer outro componente da máquina 100.
[0031] A máquina 100 pode incluir um sistema de verificação 150 que funciona para registrar uma medição do sistema, do substrato, da região geográfica e/ou das plantas na área geográfica. As medições são usadas para verificar ou determinar o estado do sistema, o estado do ambiente, o substrato do estado, a região geográfica ou a extensão da manipulação da planta pela máquina 100. O sistema de verificação 150 pode, em algumas configurações, registrar as medições feitas pelo sistema de verificação e/ou medições de acesso feitas anteriormente pelo sistema de verificação 150. O sistema de verificação 150 pode ser usado para determinar empiricamente os resultados da operação do componente 120 conforme a máquina 100 manipula as plantas 102. Em outras configurações, o sistema de verificação 150 pode acessar as medições dos sensores e derivar medições adicionais dos dados. Em algumas configurações da máquina 100, o sistema de verificação 150 pode ser incluído em quaisquer outros componentes do sistema. O sistema de verificação 150 pode ser substancialmente semelhante ao mecanismo de detecção 110 ou ser diferente do mecanismo de detecção
110.
[0032] Em várias configurações, os sensores de um sistema de verificação 150 podem incluir uma câmera multiespectral, uma câmera estéreo, uma câmera CCD, uma câmera de lente única, sistema de imagem hiperespectral, sistema LIDAR (detecção de luz e sistema de alcance), dinamômetro, IR câmera, câmera térmica, sensor de umidade, sensor de luz, sensor de temperatura, sensor de velocidade, sensor de rpm, sensor de pressão ou qualquer outro sensor adequado.
[0033] Em algumas configurações, a máquina 100 pode incluir adicionalmente uma fonte de energia, que funciona para alimentar os componentes do sistema, incluindo o mecanismo de detecção 100, sistema de controle 130 e componente 120. A fonte de energia pode ser montada no mecanismo de montagem 140, pode ser removivelmente acoplado ao mecanismo de montagem 140 ou pode ser separado do sistema (por exemplo, localizado no mecanismo de acionamento). A fonte de energia pode ser uma fonte de energia recarregável (por exemplo, um conjunto de baterias recarregáveis), uma fonte de energia para colheita de energia (por exemplo, um sistema solar), uma fonte de energia que consome combustível (por exemplo, um conjunto de células de combustível ou um sistema de combustão interna), ou qualquer outra fonte de energia adequada. Em outras configurações, a fonte de energia pode ser incorporada em qualquer outro componente da máquina 100.
[0034] Em algumas configurações, a máquina 100 pode incluir adicionalmente um aparelho de comunicação, que funciona para comunicar (por exemplo, enviar e/ou receber) dados entre o sistema de controle 130, o sistema de identificação 110, o sistema de verificação 150 e os componentes 120. O aparelho de comunicação pode ser um sistema de comunicação Wi-Fi, um sistema de comunicação celular, um sistema de comunicação de curto alcance (por exemplo, Bluetooth, NFC, etc.), um sistema de comunicação com fio ou qualquer outro sistema de comunicação adequado.
III. Pulverizador de Barra
[0035] A FIG. 2 é uma ilustração de um pulverizador de barra incluindo seu componente constituinte e sensores, de acordo com uma modalidade de exemplo. O exemplo ilustrado é uma vista de cima para baixo de um pulverizador de barra onde o pulverizador de barra é um veículo que transporta uma barra de pulverização com bocais de pulverização montados na barra. O veículo pode ser uma plataforma ou carrinho para aplicações de pulverização industrial ou um trator rebocando as asas esquerda/direita da lavoura de engajamento no solo com discos e cabos, ou uma plantadeira rebocando uma fileira de módulos dispensadores de sementes. Na modalidade ilustrada da FIG. 2, o veículo é um pulverizador rebocado ou um pulverizador agrícola autopropelido 200 incluindo uma estrutura principal de veículo 202 e uma estação de controle autônoma anexada ou uma cabine de operador 208 para controlar o pulverizador 200. A estrutura principal 202 pode ser suportada por uma pluralidade de mecanismos de engajamento no solo. Na FIG. 2, um par de rodas dianteiras 204 e um par de rodas traseiras 206 suportam a estrutura principal e podem impulsionar o veículo em pelo menos uma direção de deslocamento para a frente 218. Um tanque 210 pode ser montado na estrutura 202 ou em outra estrutura (não mostrada) que está fixada na estrutura principal 202. O tanque 210 pode conter um líquido de pulverização (por exemplo, um fluido de tratamento) ou outra substância a ser descarregada durante uma operação de pulverização.
[0036] Uma estrutura central fixa ou flutuante 214 é acoplada a uma parte frontal ou traseira da estrutura principal 202. Na FIG. 2, a estrutura central 214 é mostrada acoplada à parte traseira da estrutura principal 202. A estrutura central 214 pode suportar um conjunto de barra de pulverização dobrável articulado 212 que é mostrado na FIG. 2 em sua posição de trabalho totalmente estendida para pulverizar um campo. Em outros exemplos, o conjunto de barra de pulverização 212 pode ser montado na frente do pulverizador agrícola 200.
[0037] Uma pluralidade de bocais de pulverização 216 pode ser montada ao longo de um tubo de distribuição de fluido ou tubo de pulverização (não mostrado) que é montado no conjunto de barra de pulverização 212 e acoplado de forma fluida ao tanque 210. Cada bocal 216 pode ter múltiplas saídas de pulverização, cada uma das quais conduz fluido para um mesmo tipo ou tipo diferente de ponta de pulverização. Os bocais 216 no conjunto de barra de pulverização 212 podem ser divididos em estruturas de barra ou estruturas de asa, tais como 224, 226, 228, 230, 232, 234 e 236 (ou coletivamente “seção(ões) de pulverização”). Na FIG. 2, a pluralidade de grupos ou seções pode incluir uma estrutura de barra central 224 que pode ser acoplada à estrutura central 214. Embora não mostrado na FIG. 2, um acionador de elevação pode ser acoplado à estrutura da barra central
214 em uma extremidade e à estrutura de barra central 224 na extremidade oposta para elevar ou abaixar a estrutura da barra central
224.
[0038] O conjunto de barra de pulverização 212 pode ser ainda dividido em uma primeira barra ou esquerda 220 e uma segunda barra ou direita 222. Conforme ilustrado na FIG. 2, a primeira barra 220 é mostrada em um lado esquerdo do conjunto de barra de pulverização 212 e a segunda barra 222 é representada no lado direito do mesmo. Em alguns casos, uma parte mais à esquerda da estrutura da barra central 224 pode fazer parte da primeira barra 220 e uma parte mais à direita pode fazer parte da segunda barra 222. Em qualquer caso, a primeira barra 220 pode incluir aquelas estruturas de barras que estão dispostas em um lado esquerdo do conjunto de barra de pulverização 212 incluindo uma primeira estrutura de barra interna 226 (ou comumente referida como uma “asa interna esquerda”), uma primeira estrutura de barra externa 230 (ou comumente referida como uma “asa externa de elevação”) e uma primeira estrutura de ruptura 234. Da mesma forma, a segunda estrutura de barra 222 pode incluir aquelas estruturas de barra que estão dispostas no lado direito do conjunto de barra de pulverização 212 incluindo uma segunda estrutura de barra interna 228 (ou comumente referido como uma “asa interna direita”), uma segunda estrutura de barra externa 232 (ou comumente referida como uma “asa externa direita”) e uma segunda estrutura de ruptura
236. Embora sete estruturas de barra sejam mostradas, pode haver qualquer número de estruturas de barra que formam o conjunto de barra de pulverização 212. Além disso, embora ilustrado como tendo três diferentes seções de pulverização (esquerda, central, direita), um pulverizador de barra pode ter qualquer outro número de seções de pulverização.
[0039] Como mostrado na FIG. 2, a primeira estrutura de barra 226 pode ser acoplada de forma articulada à estrutura de barra central 224 por meio de vários acoplamentos mecânicos. Outros meios para acoplar a primeira estrutura de barra 226 à estrutura da barra central 224 podem ser usados. Da mesma forma, a primeira estrutura da barra externa 230 pode ser acoplada à primeira estrutura da barra interna 226 e a primeira estrutura separável 234 pode ser acoplada à primeira estrutura da barra externa 230. Em alguns casos, essas conexões podem ser conexões rígidas, enquanto em outras modalidades, as estruturas podem ser acopladas de forma articulada uma à outra. Além disso, a segunda estrutura de barra interna 228 pode ser acoplada à estrutura de barra central 224 e a segunda estrutura de barra externa 232 pode ser acoplada à segunda estrutura de barra interna 228. Da mesma forma, a segunda estrutura de ruptura 236 pode ser acoplada à segunda estrutura de barra externa 236. Esses acoplamentos podem ser conexões pivotantes ou rígidas, dependendo do tipo de barra.
[0040] Em um conjunto de barra de pulverização convencional, um acionador de inclinação pode ser provido para inclinar cada barra em relação à estrutura central. Na FIG. 2, por exemplo, um primeiro acionador de inclinação pode ser acoplado em uma extremidade à estrutura central 214 ou à estrutura da barra central 224 e em uma extremidade oposta à primeira barra 220. Durante a operação, a primeira barra 220 pode ser articulada em relação à estrutura central 214 ou estrutura central da barra 224 de modo que a primeira estrutura separável 234 possa atingir o ponto mais alto da primeira barra 220. Isso pode ser útil se o pulverizador 200 estiver se movendo na direção de deslocamento 218 e um objeto estiver no caminho da primeira barra 220 de modo que o acionador de inclinação (não mostrado) possa ser acionado para elevar a primeira barra 220 para evitar o contato com o objeto. O mesmo pode ser verdadeiro para a segunda barra 222. Aqui, um segundo acionador de inclinação (não mostrado) pode ser acionado para girar a segunda barra 222 em relação à estrutura central 214 ou à estrutura central da barra 224.
[0041] Conforme descrito acima, um dos desafios com uma barra convencional é que o acionamento do cilindro de inclinação pode fazer com que toda a barra, isto é, cada uma de suas armações individuais, suba ou abaixe em relação ao solo. À medida que isso acontece, a distância entre cada bocal e o solo muda e pode resultar na distância excedendo a distância do alvo. Na verdade, isso pode fazer com que a pulverização de cada bocal vá para áreas não visadas ou não alcance os alvos desejados. A operação de pulverização pode ser ineficaz e improdutiva.
[0042] Assim, esta divulgação provê uma ou mais modalidades de controle de altura de barra seccional para seções individuais de um pulverizador. Nesta divulgação, o uso de controle de inclinação por meio dos acionadores de inclinação pode ser combinado com o uso de controle de movimento vertical em cada seção de barra respectiva. Cada estrutura de barra pode incluir uma ou mais seções de barra individuais. Em outras palavras, a primeira estrutura de barra interna 226 pode incluir uma ou mais seções de barra às quais uma pluralidade de bocais é acoplada. Em outra modalidade, a estrutura de barra 202 pode incluir uma primeira seção de barra 204, uma segunda seção de barra 206, uma terceira seção de barra 208 e uma quarta seção de barra 210. Cada seção de barra pode incluir um tubo de pulverização que é acoplado hidraulicamente a uma fonte fluida, tal como o tanque 210. Além disso, uma pluralidade de bocais está fluidamente acoplada ao respectivo tubo de pulverização.
[0043] Mais geralmente, o pulverizador 200 pode incluir qualquer número de sensores para determinar uma posição e um movimento do pulverizador 200, uma posição e um movimento de uma ou mais das seções de pulverização, uma quantidade de pulverização sendo pulverizada pelo pulverizador 200, etc. Em vários exemplos, os sensores podem incluir um GPS, um sistema de estimativa de altura, uma unidade de medição inercial, um giroscópio, etc. Além disso, o pulverizador 200 pode incluir qualquer número de acionadores para alterar o estado (por exemplo, altura, ângulo, etc.) do pulverizador 200 com base nas medições dos sensores. Uma configuração particular de sensores e acionadores para um pulverizador é descrita em mais detalhes abaixo.
IV. Rede do Sistema de Controle
[0044] As figuras 3A e 3B são ilustrações de alto nível de um ambiente de rede 300, de acordo com uma modalidade de exemplo. A máquina 100 inclui um ambiente de dados digitais de rede que conecta o sistema de controle 130, sistema de detecção 110, os componentes 120 e o sistema de verificação 150 através de uma rede 310.
[0045] Vários elementos conectados dentro do ambiente 300 incluem qualquer número de controladores de entrada 320 e sensores 330 para receber e gerar dados dentro do ambiente 300. Os controladores de entrada 320 são configurados para receber dados através da rede 310 (por exemplo, de outros sensores 330, tais como aqueles associados com o sistema de detecção 110) ou de seus sensores associados 330 e controlar (por exemplo, acionar) seu componente associado 120 ou seus sensores associados 330. Em geral, os sensores 330 são configurados para gerar dados (isto é, medições) que representam uma configuração ou capacidade da máquina 100. Uma “capacidade” da máquina 100, como aqui referida, é, em termos gerais, o resultado de uma ação do componente 120 conforme a máquina 100 manipula as plantas 102 (executa ações) em uma área geográfica 104. Além disso, uma “configuração” da máquina 100, conforme referido neste documento, é, em termos gerais, uma velocidade atual, posição, configuração, nível de atuação, ângulo, etc., de um componente 120 conforme a máquina 100 realiza ações. Uma medição da configuração e/ou capacidade de um componente 120 ou da máquina 100 pode ser, mais geralmente e como aqui referido, uma medição do “estado” da máquina 100. Ou seja, vários sensores 330 podem monitorar os componentes 120, a área geográfica 104, as plantas 102, o estado da máquina 100 ou qualquer outro aspecto da máquina 100.
[0046] Um agente 340 em execução no sistema de controle 130 insere as medições recebidas através da rede 330 em um modelo de controle 342 como um vetor de estado. Os elementos do vetor de estado podem incluir representações numéricas das capacidades ou estados do sistema gerados a partir das medições. O modelo de controle 342 gera um vetor de ação para a máquina 100 previsto pelo modelo 342 para melhorar o desempenho da máquina 100. Cada elemento do vetor de ação pode ser uma representação numérica de uma ação que o sistema pode realizar para manipular uma planta, manipular o ambiente ou de outra forma afetar o desempenho da máquina 100. O sistema de controle 130 envia comandos de máquina para os controladores de entrada 320 com base nos elementos dos vetores de ação. Os controladores de entrada recebem os comandos da máquina e acionam seu componente 120 para realizar uma ação. Geralmente, a ação leva a um aumento no desempenho da máquina
100.
[0047] Em algumas configurações, o sistema de controle 130 pode incluir uma interface 350. A interface 350 permite que um usuário interaja com o sistema de controle 130 e controle vários aspectos da máquina 100. Geralmente, a interface 350 inclui um dispositivo de entrada e um dispositivo de exibição. O dispositivo de entrada pode ser um ou mais de um teclado, botão, tela sensível ao toque, alavanca, alça, botão, dial, potenciômetro, resistor variável, codificador de eixo ou outro dispositivo ou combinação de dispositivos que são configurados para receber entradas de um usuário do sistema. O dispositivo de exibição pode ser um CRT, LCD, monitor de plasma ou outra tecnologia de exibição ou combinação de tecnologias de exibição configuradas para fornecer informações sobre o sistema a um usuário do sistema. A interface pode ser usada para controlar vários aspectos do agente 340 e do modelo 342.
[0048] A rede 310 pode ser qualquer sistema capaz de comunicar dados e informações entre os elementos dentro do ambiente 300. Em várias configurações, a rede 310 é uma rede com fio, uma rede sem fio ou uma rede mista com fio e sem fio. Em uma modalidade de exemplo, a rede é uma rede de área do controlador (CAN) e os elementos dentro do ambiente 300 se comunicam entre si por meio de um barramento CAN.
IV.A Exemplo de Rede de Sistema de Controle
[0049] A FIG. 3A ilustra um exemplo de modalidade do ambiente 300A para uma máquina 100 (por exemplo, pulverizador 200). Neste exemplo, o sistema de controle 130 está conectado a um primeiro componente 120A e um segundo componente 120B. O primeiro componente 120A inclui um controlador de entrada 320A, um primeiro sensor 330A e um segundo sensor 330B. O controlador de entrada 320A recebe comandos de máquina do sistema de rede 310 e aciona o componente 120A em resposta. O primeiro sensor 330A gera medições que representam um primeiro estado do componente 120A e o segundo sensor 330B gera medições que representam uma configuração do primeiro componente 120A ao manipular plantas. O segundo componente 120B inclui um controlador de entrada 320B. O sistema de controle 130 está conectado a um sistema de detecção 110 incluindo um sensor 330C configurado para gerar medições para identificar plantas 102. Finalmente, o sistema de controle 130 é conectado a um sistema de verificação 150 que inclui um controlador de entrada 320C e um sensor 330D. Neste caso, o controlador de entrada 320C recebe comandos de máquina que controlam a posição e as capacidades de detecção do sensor 330D. O sensor 330D é configurado para gerar dados que representam a capacidade do componente 120B que afeta o desempenho da máquina 100.
[0050] Em várias outras configurações, a máquina 100 pode incluir qualquer número de sistemas de detecção 110, componentes 120, sistemas de verificação 150 e/ou redes 310. Por conseguinte, o ambiente 300A pode ser configurado de uma maneira diferente daquela ilustrada na FIG. 3A. Por exemplo, o ambiente 300 pode incluir qualquer número de componentes 120, sistemas de verificação 150 e sistemas de detecção 110 com cada elemento incluindo várias combinações de controladores de entrada 320 e/ou sensores 330.
IV.B Rede de Sistema de Controle de Pulverizador de Barra
[0051] A FIG. 3B é uma ilustração de alto nível de um ambiente de rede 300B do pulverizador de barra 200 ilustrado na FIG. 2, de acordo com uma modalidade de exemplo. Nesta ilustração, para maior clareza, os elementos do ambiente 300B são agrupados como controladores de entrada 320 e sensores 330, em vez de seus elementos constituintes (componente 120, sistema de verificação 150, etc.).
[0052] Os sensores 330 incluem um ou mais sensores ultrassônicos 356, sensores de inclinação 358, sensores de ângulo de rolamento, sensores de sistema de posicionamento global (GPS) 362, sensores de velocidade de roda de veículo 364, sensores de ângulo de direção 366, sensores de largura de banda de rodagem 368, sensores de suspensão 370 e sensores de unidade de medição inercial (IMU) 372, mas podem incluir qualquer outro sensor que possa determinar um estado do pulverizador de barra 200. Por exemplo, os sensores podem incluir adicionalmente um sensor de altura a laser 386, um sensor de altura de dossel 388, um sensor de rumo da bússola 390 e um sensor de terreno (ou mapa), etc.
[0053] Um sensor ultrassônico 356 pode ser configurado para prover uma medição da altura do conjunto de barra de pulverização 212, um segmento do conjunto de barra de pulverização 212 ou todo o pulverizador de barra 200 em relação ao solo. Por exemplo, o conjunto do pulverizador de barra 212 pode ser segmentado em três segmentos operáveis de forma independente - uma barra esquerda 220, uma barra direita 222 e uma estrutura de barra central 224. Cada segmento pode ser configurado de forma independente para administrar um fluido de tratamento a uma ou mais plantas no campo. A posição e a orientação de cada segmento da estrutura podem ser ajustadas dinamicamente conforme o veículo navega através de um campo e, como tal, o sensor ultrassônico 356 mede a posição e a orientação de cada segmento conforme o pulverizador de barra 200 viaja através do campo. A distância entre o pulverizador (ou segmento) e as plantas e/ou solo afeta os tratamentos feitos pelo pulverizador de barra 200. Por exemplo, um fluido de tratamento pode ser projetado para ser pulverizado em direção a uma planta de uma distância particular e os sensores ultrassônicos podem prover feedback para ajustar o pulverizador de barra à distância correta.
[0054] O pulverizador de barra 200 pode incluir qualquer número de sensores ultrassônicos dispostos através do conjunto de pulverizador de barra 212. Em uma configuração de exemplo, pelo menos um sensor ultrassônico 356 está fisicamente acoplado a cada segmento (por exemplo, a barra esquerda 220, a barra direita 222, e a estrutura da barra central) do conjunto de pulverizador de barra 212. Em modalidades alternativas, vários sensores ultrassônicos 356 são fisicamente acoplados a cada segmento do conjunto de barra de pulverização 212. Por exemplo, a barra esquerda 220 pode incluir um sensor ultrassônico 356 direcionado em direção ao solo ou superfície do campo e um sensor ultrassônico direcionado a uma parte superior de uma planta no campo. Mais geralmente, cada segmento pode incluir qualquer número de sensores ultrassônicos 356 configurados para prover uma ou mais medições de altura para a barra à qual eles estão acoplados. Em alguns exemplos, o sistema de controle 130 pode ajustar dinamicamente a orientação de cada sensor ultrassônico para medir distâncias entre o pulverizador de barra 200 e outros objetos no campo.
[0055] Um sensor de altura a laser 386 pode ser configurado para prover uma medição da altura do conjunto de barra de pulverização
212, um segmento do conjunto de barra de pulverização 212 ou todo o pulverizador de barra 200 em relação ao solo. O sensor de altura a laser 386 pode ser configurado de forma semelhante aos sensores ultrassônicos 356 em que cada segmento do pulverizador de barra pode incluir um ou mais sensores de altura a laser 385 de modo que a matriz de sensores de altura a laser 386 seja capaz de determinar a distância entre cada segmento e o solo conforme o pulverizador de barra 200 se move pelo campo.
[0056] Um sensor de altura de dossel 388 pode ser qualquer sensor (por exemplo, ultrassônico, laser, etc.) configurado para determinar uma medição da altura do conjunto de barra de pulverização 212, um segmento do conjunto de barra de pulverização 212 ou todo o pulverizador de barra 200 em relação a um dossel das plantas. O sensor de altura de dossel 388 pode ser configurado de forma semelhante aos sensores ultrassônicos 356 em que cada segmento do pulverizador de barra 200 pode incluir um ou mais sensores de altura de dossel 388 de modo que a matriz de sensores de altura de dossel 388 seja capaz de determinar a distância entre cada segmento e o dossel conforme o pulverizador 200 se move pelo campo.
[0057] Um sensor de inclinação 356 pode ser configurado para prover uma medição do ângulo do conjunto de barra de pulverização 212 em relação ao corpo do pulverizador de barra. Por conseguinte, os dados registrados pelo sensor de inclinação 356 podem ser interpretados para caracterizar a inclinação, elevação, depressão ou combinação dos mesmos do pulverizador de barra em relação ao solo do campo. Em uma modalidade, um sensor de inclinação 356 pode ser fisicamente acoplado a cada segmento 220, 222 e 224 do conjunto de barra de pulverização 212 para determinar o ângulo de cada segmento em relação ao solo. Alternativamente, os sensores de inclinação 356 podem ser implementados para registrar o ângulo relativo entre a barra esquerda 220 e/ou a barra direita 222 e a estrutura central fixa ou flutuante 214 do pulverizador de barra. Mais geralmente, um ou mais sensores de inclinação 356 podem ser empregados pelo pulverizador de barra para determinar qualquer número de ângulos para qualquer parte do conjunto de barra de pulverização 212. Semelhante ao acima, os sensores de inclinação 356 podem prover informações adicionais de modo que o pulverizador de barra 200 seja capaz de manter uma distância específica entre o solo e o pulverizador ao aplicar os tratamentos de plantas.
[0058] Um sensor de ângulo de rolamento 360 pode ser configurado para prover uma medição do ângulo de rolamento do conjunto de barra
212. Em uma implementação, um sensor de ângulo de rolamento 360 é um potenciômetro linear que mede uma tensão que representa o ângulo de rolamento. Em algumas modalidades, os sensores de ângulo de rolamento 360 são fisicamente acoplados entre uma estrutura de barra central 224 do conjunto de barra de pulverização 212 e uma estrutura central flutuante 214 para medir o ângulo de rolo da estrutura de flutuação 214 do pulverizador de barra 200 em relação à estrutura central fixa 214.
[0059] Os sensores GPS 362 podem ser configurados para prover uma posição do pulverizador de barra 200. Os dados de posição registrados por um sensor GPS 362 podem ser uma posição localizada dentro de um campo, ou uma posição global em relação à latitude/longitude, ou algum outro sistema de referência externo. Em uma modalidade, um sensor de GPS 362 é um sistema de posicionamento global que faz interface com um nó de GPS local estático baseado em solo montado no pulverizador de barra 200 para emitir uma posição do pulverizador de barra 200. O sensor de GPS 362 pode, adicionalmente, ser configurado para determinar a altitude, orientação (por exemplo, rumo da bússola), passo ou velocidade de navegação do pulverizador de barra 200 ou componentes específicos do pulverizador de barra 200.
[0060] Um sensor de suspensão 370 pode ser configurado para prover uma medição da distância entre o solo do campo e um ponto específico na suspensão do pulverizador. Por exemplo, o sensor de suspensão pode medir a distância entre o chassi (ou transmissão) do pulverizador de barra 200 e o solo. Em algumas configurações, a medição de distância registrada por um sensor de suspensão 370 pode ser extrapolada para representar a suspensão de todo o pulverizador de barra 200. Em uma modalidade, um sensor de suspensão 370 está fisicamente acoplado ao suporte de suspensão de cada roda dianteira esquerda, a roda dianteira direita, a roda traseira esquerda e a roda traseira direita.
[0061] Um sensor IMU 372 é configurado para prover detecção de movimento por meio de seis graus de liberdade e um relatório de velocidade angular, aceleração e dados de orientação. Por exemplo, o sensor IMU 372 provê medições dos movimentos mencionados acima causados pela gravidade e/ou oscilação dos braços de barra para frente e para trás. Em uma modalidade, um sensor IMU 372 está fisicamente acoplado a cada um dos chassis, uma estrutura central fixa ou flutuante 214, uma borda interna da barra esquerda 220, uma borda externa da barra esquerda 220, uma borda interna da barra direita 222 e uma borda externa da barra direita 222 do conjunto de barra de pulverização 212. Em várias outras modalidades, o pulverizador de barra 200 pode incluir qualquer número de IMUs posicionados em torno do pulverizador de barra 200 e do conjunto de pulverizador de barra 212. Além disso, um sensor IMU 372 pode ser configurado para medir uma ou mais das seguintes características do pulverizador de barra 200: um ângulo de passo, um ângulo de rolamento, uma taxa de guinada, uma taxa de passo, uma taxa de rolamento, uma aceleração lateral, uma aceleração longitudinal e uma vertical aceleração.
[0062] O pulverizador de barra 200 pode, adicionalmente, ser equipado com um ou mais sensores adicionais. Por exemplo, o pulverizador de barra 200 pode incluir um sensor configurado para medir a velocidade na qual o pulverizador de barra 200 se move (por exemplo, sensor de velocidade da roda do veículo 364), um ângulo de direção do pulverizador de barra 200 (por exemplo, sensor de ângulo de direção 366), um rumo da bússola do pulverizador de barra 200 (por exemplo, sensor de rumo da bússola 390) e uma largura de banda de rodagem traseira do pulverizador de barra 200 (por exemplo, sensor de largura de banda de rodagem 368). A forma como o pulverizador de barra 200 se move através do campo pode afetar o desempenho do pulverizador de barra 200. Por exemplo, um pulverizador de barra 200 viajando em alta velocidade e/ou fazendo curvas acentuadas pode ter desempenho diminuído em relação a um pulverizador de barra 200 viajando lentamente e dando voltas graduais. Em algumas configurações, a combinação de medições posicionais e de movimento pode ser combinada com um mapa de terreno e/ou sensor de mapa de terreno.
[0063] Neste caso, o pulverizador de barra 200 é configurado para determinar sua posição em um mapa do campo conforme o pulverizador de barra 200 se move através do campo. Desta forma, o pulverizador de barra 200 pode utilizar uma memória de uma ação, estado ou resultado em um local específico para influenciar uma ação atual tomada naquele local.
[0064] Mais geralmente, as medições de combinação da matriz de sensores no pulverizador de barra 200 proveem uma representação de uma distância entre o conjunto de pulverizador de barra 212 e o solo ao longo do comprimento do conjunto de pulverizador de barra 212. Um sistema de controle 130 do pulverizador de barra pode utilizar as informações para acionar vários componentes do pulverizador de barra 200 para gerenciar a distância entre o conjunto de barra 212 e o solo e/ou plantas conforme ele se desloca pelo campo.
[0065] Um ou mais componentes (por exemplo, componente 120) do pulverizador de barra podem ser controlados por um controlador de entrada 320. Neste exemplo, os controladores de entrada 320 do pulverizador de barra incluem, por exemplo, um controlador de quadro esquerdo 380, um controlador de estrutura central 382 e um controlador de estrutura direita 384, mas também pode incluir qualquer outro controlador de entrada que pode controlar um componente 120, sistema de identificação 110 ou sistema de verificação 150. Cada um dos controladores de entrada 320 é comunicativamente acoplado a um acionador que pode acionar seu elemento acoplado. Geralmente, o controlador de entrada pode receber comandos de máquina do sistema de controle 130 e acionar um componente 120 com o acionador em resposta.
[0066] O controlador de estrutura esquerda 380 é acoplado à barra esquerda 220 do pulverizador de barra 200 e está configurado para alterar o ângulo da barra esquerda 220 em relação ao solo e/ou a estrutura de barra central 224 (ou barra direita 222). Ao alterar a posição (ângulo) da barra esquerda 220, o fluido de tratamento pode ser aplicado pelo pulverizador de barra a plantas em várias posições ou alturas dentro do campo. Em algumas modalidades, o controlador de quadro esquerdo 380 também pode alterar a posição da barra direita e central em relação ao solo. O acoplamento das estruturas esquerda e direita do pulverizador de barra 200 a uma estrutura central (giratória) permite que a posição e a orientação das estruturas direita e central sejam ajustadas quando a estrutura esquerda for ajustada.
[0067] O controlador de estrutura direita 384 é acoplado à barra direita 222 do pulverizador de barra 200 e está configurado para alterar o ângulo da barra direita 222 em relação ao solo e/ou estrutura de barra central 224 (ou barra esquerda). Ao alterar a posição (ângulo) da barra direita 222, o fluido de tratamento pode ser aplicado pelo pulverizador de barra 200 a plantas em várias posições ou alturas dentro do campo. Em algumas modalidades, o controlador de quadro direito 384 também pode alterar a posição da barra esquerda e central em relação ao solo. O acoplamento das estruturas esquerda e direita do pulverizador de barra 200 a uma estrutura central (giratória) permite que a posição e a orientação das estruturas esquerda e central sejam ajustadas quando a estrutura direita for ajustada.
[0068] O controlador de estrutura central 382 é acoplado à estrutura da barra central 224 do conjunto da barra de pulverização 212 e está configurado para alterar a posição da estrutura da barra central 224 em relação ao solo. Ao alterar a posição (altura) da estrutura central 224, o ângulo e a orientação das barras direita e esquerda podem ser ajustados para melhorar a aplicação de fluido de tratamento às plantas no campo. Em algumas modalidades, o controlador de estrutura esquerda 380, o controlador de estrutura central 382 e os controladores de estrutura direita 384 são integrados em um único controlador, mas o sistema de controle gera instruções para acionar cada estrutura respectiva usando algoritmos independentes para cada um.
V. Agente do Sistema de Controle
[0069] Conforme descrito acima, o sistema de controle 130 executa um agente 340 que pode controlar os vários componentes 120 da máquina 100 em tempo real e funciona para melhorar o desempenho dessa máquina 100. Geralmente, o agente 340 é qualquer programa ou método que pode receber medições dos sensores 340 da máquina 100 e geram comandos de máquina para os controladores de entrada 330 acoplados aos componentes 120 da máquina 100. Os comandos de máquina gerados fazem com que os controladores de entrada 330 acionem os componentes 120 e alterem seu estado e, consequentemente, alterem seu desempenho. O estado alterado dos componentes 120 melhora o desempenho geral da máquina 100.
[0070] Em uma modalidade, o agente 340 em execução no sistema de controle 130 pode ser descrito como executando a seguinte função: 𝑎 = ℱ(𝑠) (4.1) onde s é um vetor de estado de entrada, a é um vetor de ação de saída e a função F é um modelo de aprendizado de máquina que funciona para gerar vetores de ação de saída que melhoram o desempenho da máquina 100 dados os vetores de estado de entrada.
[0071] Geralmente, o vetor de estado de entrada s é uma representação das medições recebidas dos sensores 320 da máquina
100. Em alguns casos, os elementos do vetor de estado de entrada s são as próprias medições, enquanto em outros casos, o sistema de controle 130 determina um vetor de estado de entrada s das medições M usando uma função de entrada I, tal como: 𝑠 = ℐ(𝑚) (4.2) onde a função de entrada I pode ser qualquer função que pode converter medições da máquina 100 em elementos de uma função de entrada I. Em alguns casos, a função de entrada pode calcular diferenças entre um vetor de estado de entrada e um vetor de estado de entrada anterior (por exemplo, em uma etapa de tempo anterior). Em outros casos, a função de entrada pode manipular o vetor de estado de entrada de modo que seja compatível com a função F (por exemplo, removendo erros, garantindo que os elementos estejam dentro dos limites, etc.).
[0072] Além disso, o vetor de ação de saída a é uma representação dos comandos de máquina c que podem ser transmitidos aos controladores de entrada 320 da máquina 100. Em alguns casos, os elementos do vetor de ação de saída a são comandos de máquina, enquanto em outros casos, sistema de controle 130 determina comandos de máquina do vetor de ação de saída a usando uma função de saída O: 𝑐 = 𝒪(𝑎) (4.3) onde a função de saída O pode ser qualquer função que pode converter o vetor de ação de saída em comandos de máquina para os controladores de entrada 320. Em alguns exemplos, a função de saída pode funcionar para garantir que os comandos de máquina gerados estejam dentro das tolerâncias de seus respectivos componentes 120 (por exemplo, não girando muito rápido, não abrindo muito, etc.).
[0073] Em várias outras configurações, o modelo de aprendizado de máquina pode usar qualquer função ou método para modelar a dinâmica desconhecida da máquina 100. Neste caso, o agente 340 pode usar um modelo dinâmico 342 para gerar dinamicamente comandos de máquina para controlar a máquina 100 e melhorar o desempenho da máquina 100. Em várias configurações, o modelo pode ser qualquer um de: aproximadores de função, modelos de dinâmica probabilística, tais como processos gaussianos, redes neurais ou qualquer outro modelo semelhante. Em várias configurações, o agente 340 e o modelo 342 podem ser treinados usando qualquer um de: métodos Q-learning, métodos de estado-ação-estado-recompensa, métodos de rede Q profundos, métodos de ator-crítico ou qualquer outro método de treinamento de um agente 340 e modelo 342 de modo que o agente 340 possa controlar a máquina 100 com base no modelo
442.
[0074] No exemplo em que a máquina 100 é um pulverizador de barra 200, o desempenho pode ser representado por qualquer um de um conjunto de métricas incluindo um ou mais de: (i) uma distância entre o conjunto de pulverizador de barra 212 e a planta, (ii) uma métrica que quantifica a média, variância, desvio padrão, etc. da distância entre o conjunto de pulverizador de barra e a planta ao longo do tempo, (iii) uma distância entre o conjunto do pulverizador de barra e o solo, (iv) uma métrica que quantifica a média, variância, desvio padrão, desvio máximo etc. da distância entre o conjunto do pulverizador de barra e o solo ao longo do tempo, (v) uma medida da quantidade de planta tratada e (vi) uma qualidade de um tratamento aplicado à planta. A quantidade de planta tratada pode ser a fração ou porcentagem da planta à qual um tratamento é aplicado ou o volume de fluido de tratamento aplicado às plantas tratadas, e a qualidade do tratamento pode ser quantificada por uma métrica, tal como pulverização excessiva ou pulverização insuficiente de uma planta. Conforme descrito anteriormente, o desempenho pode ser determinado pelo sistema de controle 130 usando medições de qualquer um dos sensores 330 do pulverizador de barra. Portanto, melhorar o desempenho da máquina 100 pode, em modalidades específicas da invenção, incluir melhorar qualquer uma ou mais dessas métricas, conforme determinado pelo recebimento de medições melhoradas da máquina 100 com relação a qualquer uma ou mais dessas métricas.
VI. APRENDIZADO DE REFORÇO
[0075] Em uma modalidade, o agente 340 pode executar um modelo 342 incluindo métodos determinísticos que foram treinados com aprendizado de reforço (criando assim um modelo de aprendizado de reforço). O modelo 342 é treinado para aumentar o desempenho da máquina 100 usando medições de sensores 330 como entradas e comandos de máquina para controladores de entrada 320 como saídas.
[0076] Aprendizado de reforço é um sistema de aprendizado de máquina em que uma máquina aprende “o que fazer” - como mapear situações para ações - de modo a maximizar um sinal de recompensa numérico. O aluno (por exemplo, a máquina 100) não é informado de quais ações tomar (por exemplo, gerar comandos de máquina para controladores de entrada 320 de componentes 120), mas em vez disso, descobre quais ações geram mais recompensa (por exemplo, manter o conjunto do pulverizador de barra em uma determinada altura em relação ao solo ao longo do tempo) experimentando-os. Em alguns casos, as ações podem afetar não apenas a recompensa imediata, mas também a próxima situação e, por meio dela, todas as recompensas subsequentes. Essas duas características - busca por tentativa e erro e recompensa atrasada - são duas características distintivas do aprendizado de reforço.
[0077] O aprendizado de reforço é definido não pela caracterização de métodos de aprendizado, mas pela caracterização de um problema de aprendizado. Basicamente, um sistema de aprendizado de reforço captura aqueles aspectos importantes do problema que um agente de aprendizado enfrenta ao interagir com seu ambiente para atingir um objetivo. Ou seja, no exemplo de um pulverizador de barra, o sistema de aprendizado de reforço captura a dinâmica do sistema do pulverizador de barra 200 à medida que trata as plantas em um campo. Tal agente detecta o estado do ambiente e executa ações que afetam o estado para atingir uma meta ou metas. Em sua forma mais básica, a formulação de aprendizado de reforço inclui três aspectos para o aluno: sensação, ação e objetivo. Continuando com o exemplo do pulverizador de barra 200, o pulverizador de barra 200 detecta o estado do ambiente com sensores, executa ações nesse ambiente com comandos de máquina e atinge uma meta que é uma medida do desempenho do pulverizador de barra no tratamento de culturas de grãos.
[0078] Um dos desafios que surge no aprendizado de reforço é o trade-off entre exploração e aproveitamento. Para aumentar a recompensa no sistema, um agente de aprendizado de reforço prefere ações que ele tentou no passado e descobriu ser eficaz na produção de recompensa. No entanto, para descobrir ações que produzem recompensa, o agente de aprendizado seleciona ações que não selecionou antes. O agente “aproveita” as informações que já conhece para obter uma recompensa, mas também “explora” as informações para fazer melhores seleções de ação no futuro. O agente de aprendizado tenta uma variedade de ações e progressivamente favorece aquelas que parecem ser as melhores, enquanto ainda tenta novas ações. Em uma tarefa estocástica, cada ação é geralmente tentada várias vezes para obter uma estimativa confiável de sua recompensa esperada. Por exemplo, se o pulverizador de barra estiver executando um agente que conhece uma determinada velocidade do pulverizador de barra 200 que leva a um bom desempenho do sistema, o agente pode alterar a velocidade do pulverizador de barra com um comando da máquina para ver se a alteração na velocidade influencia o desempenho do sistema. Em outras palavras, o modelo de aprendizado de reforço pode empregar várias funções estocásticas que deliberadamente não otimizam o desempenho, a fim de encontrar uma ou mais ações que podem posteriormente otimizar o desempenho.
[0079] Além disso, o aprendizado de reforço considera todo o problema de um agente direcionado a um objetivo interagindo com um ambiente incerto. Os agentes de aprendizado de reforço têm objetivos explícitos, podem sentir aspectos de seus ambientes e podem escolher ações para receber altas recompensas (ou seja, aumentar o desempenho do sistema). Além disso, os agentes geralmente operam apesar da incerteza significativa sobre o ambiente que enfrenta. Quando o aprendizado de reforço envolve planejamento, o sistema aborda a interação entre o planejamento e a seleção de ações em tempo real, bem como a questão de como os elementos ambientais são adquiridos e aprimorados. Para que o aprendizado de reforço progrida, subproblemas importantes são isolados e estudados, os subproblemas desempenhando papéis claros em agentes completos, interativos e em busca de objetivos.
VI.A A Interface Agente-Ambiente
[0080] O problema de aprendizado de reforço é um enquadramento de um problema de aprendizado de máquina onde as interações são processadas e as ações são realizadas para atingir um objetivo. O aprendiz e o tomador de decisão são chamados de agente (por exemplo, agente 340 do pulverizador de barra 200). Aquilo com que ele interage, compreendendo tudo fora do agente, é chamado de ambiente (por exemplo, ambiente 300, plantas 102, a área geográfica 104, dinâmica do processo do pulverizador de barra, etc.). Estes dois interagem continuamente, o agente selecionando ações (por exemplo, comandos de máquina para controladores de entrada 320) e o ambiente respondendo a essas ações e apresentando novas situações ao agente. O ambiente também dá origem a recompensas, valores numéricos especiais que o agente tenta maximizar ao longo do tempo. Em um contexto, as recompensas atuam para maximizar o desempenho do sistema ao longo do tempo. Uma especificação completa de um ambiente define uma tarefa que é uma instância do problema de aprendizado de reforço.
[0081] A FIG. 4 esquematiza a interação agente-ambiente. Mais especificamente, o agente (por exemplo, o agente 340 do pulverizador de barra 200) e o ambiente interagem em cada uma de uma sequência de etapas de tempo discretas, ou seja, t = 0, 1, 2, 3, etc. Em cada etapa de tempo t o agente recebe alguma representação do estado do ambiente st (por exemplo, medições do sensor que representam um estado da máquina 100). Os estados st estão dentro de S, onde S é o conjunto de estados possíveis. Com base no estado st e na etapa de tempo t, o agente seleciona uma ação em (por exemplo, um conjunto de comandos de máquina para alterar uma configuração de um componente 120). A ação está dentro de A (st), onde A (st) é o conjunto de ações possíveis. Um estado de tempo depois, em parte como consequência de sua ação, o agente recebe uma recompensa numérica rt + 1. Os estados rt + 1 estão dentro de R, onde R é o conjunto de recompensas possíveis. Assim que o agente recebe a recompensa, o agente seleciona em um novo estado st + 1.
[0082] Em cada etapa de tempo, o agente implementa um mapeamento de estados para probabilidades de seleção de cada ação possível. Esse mapeamento é chamado de política do agente e é denotado πt, onde πt (s, a) é a probabilidade de que at = a se st = s. Os métodos de aprendizado de reforço podem ditar como o agente muda sua política como resultado dos estados e recompensas resultantes das ações do agente. O objetivo do agente é maximizar a recompensa total que ele recebe ao longo do tempo.
[0083] Esta estrutura de aprendizado de reforço é flexível e pode ser aplicada a muitos problemas diferentes de muitas maneiras diferentes (por exemplo, para máquinas agrícolas operando em um campo). A estrutura propõe que quaisquer que sejam os detalhes do aparato sensorial, de memória e de controle, qualquer problema (ou objetivo) de aprendizado de comportamento direcionado a um objetivo pode ser reduzido a três sinais que vão e voltam entre um agente e seu ambiente: um sinal para representar as escolhas feitas pelo agente (as ações), um sinal para representar a base sobre a qual as escolhas são feitas (os estados) e um sinal para definir o objetivo do agente (as recompensas).
[0084] Continuando, as etapas de tempo entre as ações e as medições de estado não precisam se referir a intervalos fixos de tempo real; podem referir-se a estágios sucessivos arbitrários de tomada de decisão e ação. As ações podem ser controles de baixo nível, como as tensões aplicadas aos motores de um pulverizador de barra, ou decisões de alto nível, como plantar ou não uma semente com uma plantadeira. Da mesma forma, os estados podem assumir uma ampla variedade de formas. Eles podem ser completamente determinados por sensações de baixo nível, tais como leituras diretas do sensor, ou podem ser de nível mais alto, como descrições simbólicas da qualidade do solo. Os estados podem ser baseados em sensações anteriores ou mesmo ser subjetivos. Da mesma forma, as ações podem ser baseadas em ações anteriores, políticas ou podem ser subjetivas. Em geral, as ações podem ser quaisquer decisões que o agente aprende a tomar para obter uma recompensa, e os estados podem ser qualquer coisa que o agente possa saber que possa ser útil na seleção dessas ações.
[0085] Além disso, a fronteira entre o agente e o ambiente geralmente não é apenas física. Por exemplo, certos aspectos da maquinaria agrícola, por exemplo, sensores 330, ou o campo em que opera, podem ser considerados partes do ambiente em vez de partes do agente. Geralmente, tudo o que não pode ser alterado pelo agente a critério do agente é considerado fora do agente e parte do ambiente. A fronteira agente-ambiente representa o limite do controle absoluto do agente, não do conhecimento do agente. Por exemplo, o tamanho de um pneu de uma máquina agrícola pode fazer parte do ambiente, pois não pode ser alterado pelo agente, mas o ângulo de rotação de um eixo no qual o pneu reside pode ser parte do agente como é mutável, neste caso controlável pela atuação do sistema de transmissão da máquina. Além disso, a umidade do solo em que a máquina agrícola opera pode ser parte do ambiente, especialmente se for medida antes de uma máquina agrícola passar sobre ele; no entanto, a umidade ou umidade do solo também pode ser uma parte do agente se a máquina agrícola estiver configurada para medir umidade/umidade após passar por essa parte do solo e após aplicar água ou outro líquido ao solo. Da mesma forma, as recompensas são computadas dentro da entidade física da máquina agrícola e do sistema de aprendizado artificial, mas são consideradas externas ao agente.
[0086] O limite do agente-ambiente pode ser localizado em locais diferentes para finalidades diferentes. Em uma máquina agrícola, muitos agentes diferentes podem estar operando ao mesmo tempo, cada um com sua própria fronteira. Por exemplo, um agente pode tomar decisões de alto nível (por exemplo, aumentar a profundidade de plantio de sementes) que fazem parte dos estados enfrentados por um agente de nível inferior (por exemplo, o agente que controla a pressão do ar na semeadora) que implementa as decisões de alto nível. Na prática, o limite do agente-ambiente pode ser determinado com base em estados, ações e recompensas e pode ser associado a uma tarefa de tomada de decisão específica de interesse.
[0087] Os estados e ações particulares variam muito de aplicação para aplicação, e como eles são representados pode afetar fortemente o desempenho do sistema de aprendizado de reforço implementado.
VII. Métodos de Aprendizado de Reforço
[0088] Nesta seção, uma variedade de metodologias usadas para aprendizado de reforço é descrita. Qualquer aspecto de qualquer uma dessas metodologias pode ser aplicado a um sistema de aprendizado de reforço dentro de uma máquina agrícola operando em um campo. Geralmente, o agente é a máquina operando no campo e o ambiente são elementos da máquina e o campo não está sob controle direto da máquina. Os estados são medidas do ambiente e de como a máquina está interagindo dentro dele, as ações são decisões e ações tomadas pelo agente para afetar os estados e os resultados são uma representação numérica das melhorias (ou diminuições) dos estados.
VII.A Funções de Valor de Ação e Valor de Estado
[0089] Os modelos de aprendizado de reforço podem ser baseados na estimativa de funções de valor de estado ou funções de valor de ação. Essas funções de estados, ou de pares estado-ação, estimam o valor do agente para estar em um determinado estado (ou quão valioso é realizar uma dada ação em um determinado estado). A ideia de “valor” é definida em termos de recompensas futuras que podem ser esperadas pelo agente, ou, em termos de retorno esperado do agente. As recompensas que o agente pode esperar receber no futuro dependem das ações que ele realizará. Consequentemente, as funções de valor são definidas com relação a políticas específicas.
[0090] Lembre-se de que uma política, π, é um mapeamento de cada estado, s ϵ S, e ação a ϵ A (ou a ϵ A (s)), para a probabilidade π (s, a) de realizar uma ação a quando no estado s. Dadas essas definições, a política π é a função F na Equação 4.1. Informalmente, o valor de um estado s sob uma política π, denotado Vπ (s), é o retorno esperado ao começar em se seguir π daí em diante. Por exemplo, podemos definir Vπ (s) formalmente como V π (s) = Eπ {R t |st = s} = Eπ {∑∞ k k=0 γ rt+k+1 |st = s} (6.1)
onde Eπ {} denota o valor esperado dado que o agente segue a política π, γ é uma função de ponderação e t é qualquer intervalo de tempo. Observe que o valor do estado terminal, se houver, geralmente é zero. A função Vπ a função de valor de estado para a política π.
[0091] Da mesma forma, definimos o valor de realizar uma ação a no estado s sob uma política π, denotado Qπ (s, a), como o retorno esperado a partir de s, realizando a ação a e, posteriormente, seguindo a política π: Qπ (s, a) = Eπ {R t |st = s, at = a} = Eπ {∑∞ k=0 γ rt+k+1 |st = s|a t = a} (6.2) k onde Eπ {} denota o valor esperado dado que o agente segue a política π, γ é uma função de ponderação e t é qualquer intervalo de tempo. Observe que o valor do estado terminal, se houver, geralmente é zero. A função Qπ pode ser chamada de função de valor de ação para a política π.
[0092] As funções de valor Vπ e Qπ podem ser estimadas com base na experiência. Por exemplo, se um agente segue a política π e mantém uma média, para cada estado encontrado, dos retornos reais que seguiram aquele estado, então a média convergirá para o valor do estado, Vπ (s), como o número de vezes que estado é encontrado aproxima-se do infinito. Se médias separadas forem mantidas para cada ação realizada em um estado, então essas médias convergirão de forma semelhante para os valores de ação, Qπ (s, a). Métodos de estimativa semelhantes a esses são chamados de métodos de Monte Carlo (MC) porque envolvem a média de muitas amostras aleatórias de retornos reais. Em alguns casos, existem muitos estados e pode não ser prático manter médias separadas para cada estado individualmente. Em vez disso, o agente pode manter Vπ e Qπ como funções parametrizadas e ajustar os parâmetros para melhor corresponder aos retornos observados. Isso também pode produzir estimativas precisas,
embora muito dependa da natureza do aproximador de função parametrizada.
[0093] Uma propriedade das funções de valor de estado e funções de valor de ação usadas no aprendizado de reforço e na programação dinâmica é que elas satisfazem relacionamentos recursivos específicos. Para qualquer política π e qualquer estado s, a seguinte condição de consistência é válida entre o valor de s e o valor de seus possíveis estados sucessores: V π (s) = Eπ {R t |st = s} (6.3) = Eπ {∑∞ k k=0 γ rt+k+1 |st = s} (6.4) = Eπ {rt+1 + γ ∑∞ k k=0 γ rt+k+2 |st = s} (6.5) a a = ∑a π(s, a) ∑s′ Pss π ′ ′ [R ss′ + γV (s )] (6.6) onde P são um conjunto de probabilidades de transição entre os estados subsequentes das ações a tomar do conjunto A (s), R representa as recompensas imediatas esperadas das ações a tomar do conjunto A (s), e os estados subsequentes s’ são tomados do conjunto S ou do conjunto S’ no caso de um problema episódico. Esta equação é a equação de Bellman para Vπ. A equação de Bellman expressa uma relação entre o valor de um estado e os valores de seus estados sucessores. Mais simplesmente, essa equação é uma forma de visualizar a transição de um estado para seus possíveis estados sucessores. A partir de cada um deles, o ambiente poderia responder com um dos vários estados subsequentes s’ juntamente com uma recompensa r. A equação de Bellman calcula a média de todas as possibilidades, ponderando cada uma por sua probabilidade de ocorrência. A equação afirma que o valor do estado inicial é igual ao valor (descontado) do próximo estado esperado, mais a recompensa esperada ao longo do caminho. A função de valor Vπ é a solução única para sua equação de Bellman. Essas operações transferem informações de valor de volta para um estado (ou um par estado-ação) de seus estados sucessores (ou pares estado-ação).
VII.B Iteração Política
[0094] Continuando com os métodos usados em sistemas de aprendizado de reforço, a descrição se volta para a iteração de política. Uma vez que uma política, π, foi melhorada usando Vπ para produzir uma política melhor, π’, o sistema pode então calcular Vπ’ e melhorá-lo novamente para produzir um π’’ ainda melhor. O sistema então determina uma sequência de políticas e funções de valor de melhoria monotônica:
𝐸 𝐼 𝐸 𝐼 𝐸 𝐼 𝐸 𝜋0 → 𝑉 𝜋0 → 𝜋1 → 𝑉 𝜋1 → 𝜋2 → … → 𝜋 ∗ ⇒ 𝑉 ∗ (6,7) onde E denota uma avaliação de política e I denota uma melhoria de política. Cada política é geralmente uma melhoria em relação à política anterior (a menos que já seja ideal). Em modelos de aprendizado de reforço que possuem apenas um número finito de políticas, esse processo pode convergir para uma política ideal e função de valor ideal em um número finito de iterações.
[0095] Essa maneira de encontrar uma política ideal é chamada de iteração de política. Um exemplo de modelo para iteração de política é dado se a FIG. 5A. Observe que cada avaliação de política, ela própria um cálculo iterativo, começa com a função de valor (estado ou ação) da política anterior. Normalmente, isso resulta em um aumento na velocidade de convergência da avaliação de políticas. Em uma modalidade, um modelo de iteração de política implementa gradientes de política determinísticos profundos ou otimização de política proximal.
VII.C Iteração de Valor
[0096] Continuando com os métodos usados em sistemas de aprendizado de reforço, a descrição passa a ser iteração de valor. A iteração de valor é um caso especial de iteração de política em que a avaliação de política é interrompida após apenas uma varredura (um backup de cada estado). Uma iteração de valor pode ser escrita como uma operação de backup em que um agente institui uma melhoria de política e etapas de avaliação de política truncadas como: 𝑉𝑘+1 (𝑠) = 𝑚𝑎𝑥𝑎 𝐸𝜋 {𝑟𝑡+1 + 𝛾𝑉𝑘 (𝑠𝑡+1 )|𝑠𝑡 = 𝑠|𝑎𝑡 = 𝑎} (6,8) 𝑎 𝑎 = 𝑚𝑎𝑥𝑎 ∑𝑎 𝜋(𝑠, 𝑎) ∑𝑠′ 𝑃𝑠𝑠 𝜋 ′ ′ [𝑅𝑠𝑠′ + 𝛾𝑉 (𝑠 )] ( 6,9) para todos s ϵ S, onde maxa seleciona a função de valor mais alto. Para um V0 arbitrário, pode-se mostrar que a sequência {Vk} converge para V* nas mesmas condições que garantem a existência de V*.
[0097] Outra maneira de entender a iteração de valor é por referência à equação de Bellman (descrita anteriormente). Observe que a iteração de valor é obtida simplesmente transformando a equação de Bellman em uma regra de atualização para um modelo de aprendizado de reforço. Além disso, observe como o backup de iteração de valor é semelhante ao backup de avaliação de política, exceto que o máximo é executado em todas as ações. Outra maneira de ver esse relacionamento próximo é comparar os diagramas de backup para esses modelos. Esses dois são as operações de backup naturais para calcular Vπ e V*.
[0098] Semelhante à avaliação de política, a iteração de valor usa formalmente um número infinito de iterações para convergir exatamente para V*. Na prática, a iteração de valor termina quando a função de valor muda apenas uma pequena quantidade em uma etapa incremental. A FIG. 5B provê um modelo de iteração de valor de exemplo com este tipo de condição de terminação.
[0099] A iteração de valor combina efetivamente, em cada uma de suas varreduras, uma varredura de avaliação de política e uma varredura de melhoria de política. Uma convergência mais rápida é frequentemente alcançada interpondo várias varreduras de avaliação de política entre cada varredura de melhoria de política. Em geral, toda a classe de modelos de iteração de política truncados pode ser considerada como sequências de varreduras, algumas das quais usam backups de avaliação de política e outras usam backups de iteração de valor. Como a operação maxa é a única diferença entre esses backups, isso indica que a operação maxa é incluída em algumas varreduras de avaliação de política.
VII.D Aprendizado por Diferença Temporal
[0100] Os métodos de diferença temporal (TD) e MC usam experiência para resolver o problema de predição. Dada alguma experiência seguindo uma política π, ambos os métodos atualizam sua estimativa V de V*. Se um estado não terminal st for visitado no tempo t, então ambos os métodos atualizam sua estimativa V (st) com base no que acontece após essa visita. Grosso modo, os métodos de Monte Carlo esperam até que o retorno após a visita seja conhecido, então usam esse retorno como uma meta para V (st). Um método MC simples adequado a cada visita para ambientes não estacionários é 𝑉(𝑠𝑡 ) ← 𝑉(𝑠𝑡 ) + 𝛼[𝑅𝑡 − 𝑉(𝑠𝑡 )] (6.11) onde Rt é o retorno real após o tempo t e α é um parâmetro de tamanho de passo constante. Geralmente, os métodos MC esperam até o final do episódio para determinar o incremento para V (st) e somente então Rt é conhecido, enquanto os métodos TD precisam esperar apenas até a próxima etapa de tempo. No tempo t + 1, os métodos TD formam imediatamente um alvo e fazem uma atualização usando a recompensa observada rt + 1 e a estimativa V (st + 1). O método TD mais simples, conhecido como TD (t = 0), é
𝑉(𝑠𝑡 ) ← 𝑉(𝑠𝑡 ) + 𝛼[𝑟𝑡+1 + 𝛾𝑉(𝑠𝑡+1 ) − 𝑉(𝑠𝑡 )] (6.12)
[0101] Na verdade, a meta para a atualização de Monte Carlo é Rt, enquanto a meta para a atualização TD é 𝑟𝑡+1 + 𝛾𝑉(𝑠𝑡+1 ) (6.13)
[0102] Como o método TD baseia sua atualização em parte em uma estimativa existente, dizemos que é um método de bootstrapping. Anteriormente, 𝑉 𝜋 (𝑠) = 𝐸𝜋 {∑∞ 𝑘 𝑘=0 𝛾 𝑟𝑡+𝑘+1 |𝑠𝑡 = 𝑠 } (6,14) = 𝐸𝜋 {𝑟𝑡+1 + 𝛾 ∑∞ 𝑘 𝑘=0 𝛾 𝑟𝑡+𝑘+2 |𝑠𝑡 = 𝑠} (6,15)
[0103] Grosso modo, os métodos de Monte Carlo usam uma estimativa de 6,14 como alvo, enquanto outros métodos usam uma estimativa de 6,15 como alvo. A meta de MC é uma estimativa porque o valor esperado em 6,14 não é conhecido; um retorno de amostra é usado no lugar do retorno real esperado. A outra meta do método é uma estimativa não por causa dos valores esperados, que são assumidos como completamente providos por um modelo do ambiente, mas porque Vπ (st + 1) não é conhecido e a estimativa atual, Vt (st + 1) é usada em seu lugar. O alvo TD é uma estimativa por ambos motivos: ele mostra os valores esperados em 6.15 e usa a estimativa atual Vt em vez do Vπ verdadeiro. Assim, os métodos TD combinam a amostragem de MC com o bootstrapping de outros métodos de aprendizado de reforço.
[0104] As atualizações de TD e Monte Carlo são backups de amostra porque envolvem antecipar um estado de sucessor de amostra (ou par estado-ação), usando o valor do sucessor e a recompensa ao longo do caminho para calcular um valor de backup e, em seguida, alterar o valor do estado original (ou par estado-ação) em conformidade. Os backups de amostra diferem dos backups completos de métodos DP porque são baseados em um único sucessor de amostra, em vez de em uma distribuição completa de todos os sucessores possíveis. Um modelo de exemplo para cálculos de diferença temporal é dado em procedimento na FIG. 5C.
VII.E Q-Learning
[0105] Outro método usado em sistemas de aprendizado de reforço é um modelo de controle TD fora da política conhecido como Q-learning. Sua forma mais simples, Q-learning em uma etapa, é definida por 𝑄(𝑠𝑡 , 𝑎𝑡 ) ← 𝑄(𝑠𝑡 , 𝑎𝑡 ) + 𝛼[𝑟𝑡+1 + 𝛾𝑚𝑎𝑥𝑎 𝑄(𝑠𝑡+1 𝑎) − 𝑄(𝑠𝑡 , 𝑎𝑡 )] (6.16)
[0106] Nesse caso, a função de valor de ação aprendida Q se aproxima diretamente de Q*, a função de valor de ação ideal, independente da política que está a ser seguida. Isso simplifica a análise do modelo e permite provas de convergência iniciais. A política ainda tem efeito, pois determina quais pares estado-ação são visitados e atualizados. No entanto, tudo o que é necessário para a convergência correta é que todos os pares continuem a ser atualizados. Esse é um requisito mínimo, no sentido de que qualquer método garantido para encontrar o comportamento ideal no caso geral o utiliza. Sob esta suposição e uma variante das condições usuais de aproximação estocástica na sequência de parâmetros de tamanho do degrau, mostrou-se convergir com a probabilidade 1 para Q*. O modelo de Q- learning é mostrado em forma de procedimento na FIG. 5D. Em uma modalidade, um modelo de Q-learning implementa técnicas de Q- learning de profundidade dupla.
VII.F Predição de Valor
[0107] Outros métodos usados em sistemas de aprendizado de reforço usam previsão de valor. Geralmente, os métodos discutidos estão tentando prever que uma ação realizada no ambiente aumentará a recompensa dentro do sistema do ambiente do agente. Visualizar cada backup (ou seja, estado anterior ou par de ação-estado) como um exemplo de treinamento convencional, dessa forma, nos permite usar qualquer um de uma ampla gama de métodos de aproximação de função existentes para predição de valor. No aprendizado de reforço, é importante que o aprendizado seja capaz de ocorrer on-line, ao interagir com o ambiente ou com um modelo (por exemplo, um modelo dinâmico) do ambiente. Fazer isso envolve métodos capazes de aprender com eficiência a partir de dados adquiridos de forma incremental. Além disso, o aprendizado de reforço geralmente usa métodos de aproximação de função capazes de lidar com funções alvo não estacionárias (funções alvo que mudam com o tempo). Mesmo que a política permaneça a mesma, os valores de destino dos exemplos de treinamento não são estacionários se forem gerados por métodos de bootstrapping (TD). Métodos que não podem lidar facilmente com tal não estacionário são menos adequados para o aprendizado de reforço.
VII.G Treinamento de Ator-Crítico
[0108] Outro exemplo de método de aprendizado de reforço é o método ator-crítico. O método ator-crítico pode usar métodos de diferença temporal ou métodos de pesquisa de política direta para determinar uma política para o agente. O método ator-crítico inclui um agente com um ator e um crítico. O ator insere informações de estado determinadas sobre o ambiente e funções de peso para a política e emite uma ação. O crítico insere informações de estado sobre o ambiente e uma recompensa determinada a partir dos estados e emite as funções de peso para o ator. O ator e o crítico trabalham em conjunto para desenvolver uma política para o agente que maximize as recompensas pelas ações. A FIG. 5E ilustra um exemplo de uma interface agente-ambiente para um agente incluindo um ator e crítico. Em uma modalidade, um modelo treinado de ator-crítico implementa técnicas de ator-crítico suaves.
VII.H Outras Técnicas de Aprendizado de Máquina Baseadas em Modelo
[0109] Em outras modalidades, o agente 340 implementa técnicas de aprendizado de máquina baseadas em modelo em conjunto com, ou no lugar de, abordagens de aprendizado livre de modelo descritas acima. As técnicas de aprendizado de máquina baseadas em modelo fornecem várias vantagens em relação às técnicas de aprendizado livre de modelo. Por exemplo, a quantidade de dados de treinamento pode ser reduzida em ordens de magnitude com métodos baseados em modelo. Em outro exemplo, as técnicas de aprendizado de máquina baseadas em modelo são mais fáceis de interpretar do que suas contrapartes sem modelo.
[0110] Como descrito acima, uma máquina agrícola 100 (por exemplo, pulverizador 200) pode empregar um agente (por exemplo, agente 340) incluindo algoritmo de aprendizado de reforço e um algoritmo de aprendizado de máquina baseado em modelo mais tradicional. O agente pode empregar os diferentes algoritmos em diferentes circunstâncias, de modo que o agente aproveite as vantagens de ambos os tipos de modelos. Por exemplo, um agente pode empregar um algoritmo de aprendizado de máquina baseado em modelo tradicional inicialmente para treinar uma política para um algoritmo de aprendizado de reforço e, subsequentemente, empregar o algoritmo de aprendizado de reforço.
[0111] O agente pode empregar muitos tipos diferentes de algoritmos de aprendizado de máquina baseados em modelo. Em uma modalidade de exemplo, o agente 340 implementa uma extensão do regulador quadrático linear (LQR), por exemplo, um rastreador quadrático linear, em combinação com a dinâmica da rede neural para modelar a suposição de dinâmica linear. As configurações de um agente regulador que rege uma máquina ou processo podem ser encontradas usando um algoritmo LQR matemático que minimiza uma função de custo definida como uma soma dos desvios das medições chave, por exemplo, as medições registradas pelos sensores descritos acima com referência à FIG. 3B. O algoritmo LQR identifica as configurações ou condições do agente que minimizam esses desvios indesejados e também pode determinar a magnitude da ação de controle. Por conseguinte, implementar um algoritmo LQR permite que o agente identifique um controlador de feedback de estado apropriado. Um algoritmo LQR é mostrado em forma de procedimento na FIG. 5F.
[0112] Em outra modalidade, o agente implementa um modelo de memória de curto prazo longo treinado (LSTM) intercalado com a otimização de política proximal (PPO). As redes de memória de curto prazo longo podem levar em consideração a natureza temporal dos dados descritos acima usando uma célula (s) LSTM que processa cada etapa de tempo de uma matriz de dados de entrada sequencialmente. A própria célula LSTM contém várias camadas ocultas ou “portas” que interagem de várias maneiras para produzir dois vetores de saída intermediários: um estado oculto e um estado de célula. Esses dois vetores de saída intermediários, projetados para persistir as informações latentes que são relevantes para a produção de controles do agente final, são inseridos de volta na célula junto com a próxima etapa de tempo dos dados de entrada. Após a última etapa de dados de entrada, o estado oculto final da célula é enviado para o restante da rede LSTM, consistindo em uma ou mais camadas que produzem uma pontuação de risco final como saída. A FIG. 5G ilustra uma interface de exemplo para um modelo implementado LSTM.
[0113] Em outra modalidade, o agente implementa um modelo treinado usando a dinâmica do Processo Gaussiano. Um modelo que envolve um processo gaussiano prevê os valores de um ponto não visto de um conjunto de dados de treinamento. No entanto, a previsão não é apenas uma estimativa para aquele ponto, mas também contém informações de incerteza. Consequentemente, é uma distribuição gaussiana unidimensional. Um processo gaussiano pode ser usado como uma distribuição de probabilidade anterior sobre funções na inferência bayesiana. Dado qualquer conjunto de N pontos no domínio desejado da função do modelo, o agente assume uma distribuição multivariada de Gauss, cujo parâmetro de matriz de covariância é a matriz de Gram de seus N pontos com algum kernel desejado e amostra dessa Gaussiana. Além daqueles descritos acima, o agente pode implementar técnicas de controle preditivo de modelo com dinâmica analítica ou qualquer outra técnica de aprendizado de máquina baseada em modelo.
VII.I Informações Adicionais
[0114] Uma descrição adicional de vários elementos do aprendizado de reforço pode ser encontrada nas publicações, “Playing Atari with Deep Reinforcement Learning” por Mnih et. al., “Continuous Control with Deep Reinforcement Learning” por Lillicrap et. al., e “Asynchronous Methods for Deep Reiforcement Learning” por Mnih et. al, todos os quais são incorporados por referência neste documento em sua totalidade.
VIII. Redes Neurais e Aprendizado de Reforço
[0115] O modelo 342 descrito na Seção V e na Seção VI também pode ser implementado usando uma rede neural artificial (ANN). Ou seja, o agente 340 executa um modelo 342 que é uma ANN. O modelo 342 incluindo uma ANN determina vetores de ação de saída (comandos de máquina) para a máquina 100 usando vetores de estado de entrada (medições). A ANN foi treinada de modo que determinadas ações de elementos dos vetores de ação de saída aumentem o desempenho da máquina 100.
[0116] A FIG. 6 é uma ilustração de uma ANN 600 do modelo 342, de acordo com uma modalidade de exemplo. A ANN 600 é baseada em uma grande coleção de unidades neurais simples 610. Uma unidade neural 610 pode ser uma ação a, um estado s ou qualquer função relacionando ações a e estados s para a máquina 100. Cada unidade neural 610 está conectada a muitos outros e as conexões 620 podem aumentar ou inibir unidades neurais adjacentes. Cada unidade neural 610 individual pode calcular usando uma função de soma com base em todas as conexões de entrada 620. Pode haver uma função de limite ou função de limitação em cada conexão 620 e em cada unidade neural em si 610, de modo que o sinal das unidades neurais deve ultrapassar o limite antes de se propagar para outros neurônios. Esses sistemas são de autoaprendizado e treinados (usando métodos descritos na Seção VI), em vez de programados explicitamente. Aqui, o objetivo da ANN é melhorar o desempenho da máquina 100, provendo resultados para realizar ações para interagir com um ambiente, aprendendo com essas ações e usando as informações aprendidas para influenciar ações em direção a um objetivo futuro. Em uma modalidade, o processo de aprendizado para treinar a ANN é semelhante às políticas e iteração de política descritas acima. Por exemplo, em uma modalidade, uma máquina 100 dá uma primeira passagem por um campo para tratar uma cultura. Com base nas medições do estado da máquina, o agente 340 determina uma recompensa que é usada para treinar o agente 340. Cada passagem através do campo, o agente 340 treina-se continuamente usando um modelo de aprendizado de reforço de iteração de política para melhorar o desempenho da máquina.
[0117] A rede neural da FIG. 6 inclui duas camadas 630: uma camada de entrada 630A e uma camada de saída 630B. A camada de entrada 630A tem unidades neurais de entrada 610A que enviam dados por meio de conexões 620 para as unidades neurais de saída 610B da camada de saída 630B. Em outras configurações, uma ANN pode incluir camadas ocultas adicionais entre a camada de entrada 630A e a camada de saída 630B. As camadas ocultas podem ter unidades neurais 610 conectadas à camada de entrada 610A, a camada de saída 610B ou outras camadas ocultas, dependendo da configuração da ANN. Cada camada pode ter qualquer número de unidades neurais 610 e pode ser conectada a qualquer número de unidades neurais 610 em uma camada adjacente 630. As conexões 620 entre as camadas neurais podem representar e armazenar parâmetros, aqui referidos como pesos, que afetam a seleção e propagação de dados de unidades neurais 610 de uma camada particular para unidades neurais 610 de uma camada adjacente. O aprendizado de reforço treina as várias conexões 620 e pesos de modo que a saída da ANN 600 gerada a partir da entrada para a ANN 600 melhora o desempenho da máquina 100. Finalmente, cada unidade neural 610 pode ser governada por uma função de ativação que converte a entrada ponderada de uma unidade neural em sua ativação de saída (ou seja, ativar uma unidade neural em uma determinada camada). Alguns exemplos de funções de ativação que podem ser usados são: o softmax, identificar, etapa binária, logística, tanH, Arc Tan, softsign, unidade linear retificada, linear retificado paramétrico, identidade dobrada, sing, Gaussiana ou qualquer outra função de ativação para redes neurais.
[0118] Matematicamente, uma função da ANN (F (s), conforme apresentado acima) é definida como uma composição de outras subfunções gi (x), que podem ainda ser definidas como uma composição de outras subfunções. A função da ANN é uma representação da estrutura de unidades neurais interconectadas e essa função pode trabalhar para aumentar o desempenho do agente no ambiente. A função, geralmente, pode prover uma transição suave para o agente em direção ao desempenho aprimorado conforme os vetores de estado de entrada mudam e o agente executa ações.
[0119] Mais geralmente, a ANN 600 pode usar as unidades neurais de entrada 610A e gerar uma saída por meio das unidades neurais de saída 610B. Em algumas configurações, as unidades neurais de entrada 610A da camada de entrada podem ser conectadas a um vetor de estado de entrada 640 (por exemplo, s). O vetor de estado de entrada 640 pode incluir qualquer informação a respeito dos estados atuais ou anteriores, ações e recompensas do agente no ambiente (elementos de estado 642). Cada elemento de estado 642 do vetor de estado de entrada 640 pode ser conectado a qualquer número de unidades neurais de entrada 610A. O vetor de estado de entrada 640 pode ser conectado às unidades neurais de entrada 610A de modo que ANN 600 possa gerar uma saída nas unidades neurais de saída 610B na camada de saída 630A. As unidades neurais de saída 610B podem representar e influenciar as ações tomadas pelo agente 340 que executa o modelo 442. Em algumas configurações, as unidades neurais de saída 610B podem ser conectadas a qualquer número de elementos de ação 652 de um vetor de ação de saída (por exemplo, a). Cada elemento de ação pode representar uma ação que o agente pode realizar para melhorar o desempenho da máquina 100. Em outra configuração, as próprias unidades neurais de saída 610B são elementos de um vetor de ação de saída.
VIII.A Treinamento do Agente Usando Duas ANNs
[0120] Em uma modalidade, semelhante à FIG. 5E, o agente 340 pode executar um modelo 342 usando uma ANN treinada usando um método de treinamento ator-crítico (conforme descrito na Seção VI). O ator e o crítico são duas ANNs configuradas de forma semelhante em que as unidades neurais de entrada, unidades neurais de saída, camadas de entrada, camadas de saída e conexões são semelhantes quando as ANNs são inicializadas. A cada iteração de treinamento, a ANN do ator recebe como entrada um vetor de estado de entrada e, juntamente com as funções de peso (por exemplo, γ conforme descrito acima) que compõem a ANN do ator (conforme existem nessa etapa de tempo), gera um vetor de ação de saída. As funções de peso definem os pesos para as conexões que conectam as unidades neurais da ANN. O agente executa uma ação no ambiente que pode afetar o estado e o agente mede o estado. A ANN do crítico recebe como entrada um vetor de estado de entrada e um vetor de estado de recompensa e, juntamente com as funções de peso que compõem a ANN do crítico, emite funções de peso a serem fornecidas à ANN do ator. O vetor de estado de recompensa é usado para modificar as conexões ponderadas na ANN do crítico de modo que as funções de pesos emitidas para a ANN do ator melhorem o desempenho da máquina. Este processo continua para cada etapa de tempo, com a ANN do crítico recebendo recompensas e estados como entrada e fornecendo pesos para a ANN do ator como saídas, e a ANN do ator recebendo pesos e recompensas como entradas e fornecendo uma ação para o agente como saída.
[0121] O par ator-crítico de ANNs trabalha em conjunto para determinar uma política que gera vetores de ação de saída que representam ações que melhoram o desempenho do pulverizador de barra a partir de vetores de estado de entrada medidos a partir do ambiente. Após o treinamento, o par ator-crítico teria determinado uma política, a ANN do crítico é descartada e a ANN do ator é usada como modelo 342 para o agente 340.
[0122] Neste exemplo, o vetor de dados de recompensa pode incluir elementos com cada elemento representando uma medida de uma métrica de desempenho do pulverizador de barra após a execução de uma ação. A métrica de desempenho pode ser representada por qualquer um de: (i) uma distância entre o conjunto de pulverizador de barra 212 e a planta, (ii) uma métrica que quantifica a média, variância, desvio padrão, etc. da distância entre o conjunto de pulverizador de barra e a planta ao longo do tempo, (iii) uma distância entre o conjunto do pulverizador de barra e o solo, (iv) uma métrica que quantifica a média, variância, desvio máximo, desvio padrão, etc. da distância entre o conjunto do pulverizador de barra e o solo ao longo do tempo, (v) uma medida da quantidade de planta tratada, e (vi) uma qualidade de um tratamento aplicado à planta. As métricas de desempenho podem ser determinadas a partir de qualquer uma das medições recebidas dos sensores 330. Cada elemento do vetor de dados de recompensa está associado a um peso que define uma prioridade para cada métrica de desempenho de modo que certas métricas de desempenho possam ser priorizadas em relação a outras métricas de desempenho. Em uma modalidade, o vetor de recompensa é uma combinação linear das diferentes métricas. Em alguns exemplos, o operador do pulverizador de barra pode determinar os pesos para cada métrica de desempenho interagindo com a interface 350 do sistema de controle. Por exemplo, o operador pode inserir a altura do conjunto de barra é priorizada em relação a uma quantidade de plantas tratadas. A ANN do crítico determina uma função de peso incluindo um número de pesos modificados para as conexões na ANN do ator com base no vetor de estado de entrada e no vetor de dados de recompensa.
[0123] O treinamento da ANN pode ser realizado usando dados reais obtidos de máquinas operando em um campo de planta. Assim, em uma configuração, as ANNs do método ator-crítico podem ser treinadas usando um conjunto de vetores de estado de entrada de qualquer número de pulverizadores de barra tomando qualquer número de ações com base em vetores de ação de saída ao tratar plantas no campo. Os vetores de estado de entrada e vetores de ação de saída podem ser acessados a partir da memória dos sistemas de controle 130 de vários pulverizadores de barra.
[0124] No entanto, o treinamento de ANNs pode exigir uma grande quantidade de dados que é um desafio obter de forma econômica a partir de máquinas operando em um campo. Assim, em outra configuração, as ANNs do método ator-crítico podem ser treinadas utilizando um conjunto de vetores de estado de entrada simulados e vetores de ação de saída simulados. Os vetores simulados podem ser gerados a partir de um conjunto de vetores de estado de entrada de sementes e vetores de ação de saída de sementes obtidos de pulverizadores de barra tratando plantas. Neste exemplo, em algumas configurações, os vetores de estado de entrada simulados e vetores de ação de saída simulados podem se originar de uma ANN configurada para gerar ações que melhoram o desempenho da máquina.
IX. Agente para um Pulverizador de Barra
[0125] Esta seção descreve um agente 340 executando um modelo 342 para melhorar o desempenho de um pulverizador de barra 200. Neste exemplo, o modelo 342 é um modelo de aprendizado de reforço implementado usando uma rede neural artificial semelhante à ANN da FIG. 6. Ou seja, a ANN inclui uma camada de entrada incluindo uma série de unidades neurais de entrada e uma camada de saída incluindo uma série de unidades neurais de saída. Cada unidade neural de entrada é conectada a qualquer número de unidades neurais de saída por qualquer número de conexões ponderadas. O agente 340 insere medições do pulverizador de barra 200 para as unidades neurais de entrada e o modelo emite ações para o pulverizador de barra 200 para as unidades neurais de saída. O agente 340 determina um conjunto de comandos de máquina com base nas unidades neurais de saída que representam ações para o pulverizador de barra que melhora o desempenho do pulverizador de barra. A FIG. 7 é um método 700 para gerar ações que melhoram o desempenho do pulverizador de barra usando um agente em execução 340 um modelo 342 incluindo uma rede neural artificial treinada usando um método ator-crítico. A FIG. 7 também pode representar um método 700 para gerar ações que melhoram o desempenho usando um agente que executa um modelo 342 incluindo alguma combinação de métodos baseados em modelo, conforme descrito acima na seção intitulada “Other Model-Based Machine Learning Techniques”. O método 700 pode incluir qualquer número de etapas adicionais ou menos, ou as etapas podem ser realizadas em uma ordem diferente.
[0126] Em primeiro lugar, o agente determina 710 um vetor de estado de entrada para o modelo 342. Os elementos do vetor de estado de entrada podem ser determinados a partir de qualquer número de medições recebidas dos sensores 330 através da rede 310. Cada medição é uma medida de um estado da máquina 100.
[0127] Em seguida, o agente insere 720 o vetor de estado de entrada no modelo 342. Cada elemento do vetor de entrada é conectado a qualquer número de unidades neurais de entrada. O modelo 342 representa uma função configurada para gerar ações para melhorar o desempenho do pulverizador de barra 200 a partir do vetor de estado de entrada. Por conseguinte, o modelo 342 gera uma saída nas unidades neurais de saída previstas para melhorar o desempenho do pulverizador de barra. Em uma modalidade de exemplo, as unidades neurais de saída são conectadas aos elementos de um vetor de ação de saída e cada unidade neural de saída pode ser conectada a qualquer elemento do vetor de ação de saída. Cada elemento do vetor de ação de saída é uma ação executável por um componente 120 do pulverizador de barra
200. Em alguns exemplos, o agente 340 determina um conjunto de comandos de máquina para os componentes 120 com base nos elementos do vetor de ação de saída.
[0128] Em seguida, o agente 340 envia os comandos de máquina para os controladores de entrada 330 para seus componentes 120 e os controladores de entrada 330 acionam 730 os componentes 120 com base nos comandos de máquina em resposta. Acionar 730 os componentes 120 executa a ação determinada pelo modelo 342. Além disso, acionar 730 os componentes 120 muda o estado do ambiente e os sensores 330 medem a alteração do estado.
[0129] O agente 340 determina novamente 710 um vetor de estado de entrada para inserir 720 no modelo e determinar uma ação de saída e comandos de máquina associados que acionam 730 os componentes do pulverizador de barra conforme o pulverizador de barra viaja através do campo e trata as plantas. Com o tempo, o agente 340 trabalha para aumentar o desempenho do pulverizador de barra 200 ao tratar plantas.
[0130] A Tabela 1 descreve vários estados que podem ser incluídos em um vetor de dados de entrada. A Tabela 1 também inclui cada medição associada de estados m, o(s) sensor(es) 330 que geram a medição m e uma descrição da medição. O vetor de dados de entrada pode, adicional ou alternativamente, incluir quaisquer outros estados determinados a partir de medições geradas a partir de sensores do pulverizador de barra 200. Por exemplo, em algumas configurações, o vetor de estado de entrada pode incluir estados previamente determinados de medições anteriores m. Neste caso, os estados (ou medições) previamente determinados podem ser armazenados em sistemas de memória do sistema de controle 130. Em outro exemplo, o vetor de estado de entrada pode incluir alterações entre o estado atual e um estado anterior.
Estado s) Meas. (m) Sensor Descrição Altura da d Ultrassônico Altura de um estrutura 356 pulverizador de barra em relação ao solo Altura do Laser 386 Ângulo da o Inclinação Ângulo e uma estrutura estrutura 358 de pulverizador de barra em relação à direção de gravidade Ângulo de V Ângulo de Medição de uma rolamento Rolamento estrutura de 360 pulverizador de barra em relação à direção de gravidade Posição do oN, oE GPS Posição do pulverizador pulverizador 362 de barra em um sistema de coordenada Altura de d Suspensão Distância entre a suspensão 370 suspensão do pulverizador de barra e o solo Movimento do G’s IMU Informação de detecção pulverizador (gravidade) 372 de movimento caracterizando o pulverizador de barra Velocidade mph Velocidade Informação de da Roda velocidade descrevendo 364 a velocidade do pulverizador de barra Ângulo de o Ângulo de Informação direcional direção direção descrevendo orientação 366 do pulverizador de barra Altura de d Altura de Altura de um dossel Dossel pulverizador de barra 388 em relação a um dossel de planta Rumo da o Bússola Rumo da bússola do bússola 390 pulverizador de parte Tabela 1: Estados incluídos em um vetor de entrada.
[0131] A Tabela 2 descreve várias ações que podem ser incluídas em um vetor de ação de saída. A Tabela 2 também inclui o controlador de máquina que recebe comandos de máquina com base nas ações incluídas no vetor de ação de saída, uma descrição de alto nível de como cada controlador de entrada 320 aciona seus respectivos componentes 120 e as unidades de alteração de atuação.
Ação (a) Controlador Descrição Unidades Corrente para Estrutura Ajustar da posição da d, o solenoides da Esquerda estrutura esquerda em estrutura 380 relação ao solo ou à esquerda estrutura central Corrente para Estrutura Ajustar posição da d, o solenoides da Central estrutura central flutuante estrutura Fixa em relação ao solo ou à central 382 estrutura central fixa Corrente para Estrutura Ajustar a posição da d, o solenoides da Direita estrutura direita em estrutura 384 relação ao solo ou à direita estrutura central Tabela 2: Ação incluída em um vetor de saída.
[0132] Em um exemplo, o agente 340 está executando um modelo 442 que não está sendo treinado ativamente usando as técnicas de reforço descritas na Seção VI. Nesse caso, o agente pode ser um modelo que foi treinado independentemente usando os métodos de ator-crítico descritos na Seção VII.A. Ou seja, o agente não está recompensando ativamente as conexões na rede neural. O agente também pode incluir vários modelos que foram treinados para otimizar diferentes métricas de desempenho do pulverizador de barra. O usuário do pulverizador de barra pode selecionar entre as métricas de desempenho para otimizar e, assim, alterar os modelos, usando a interface do sistema de controle
130.
[0133] Em outros exemplos, o agente pode estar treinando ativamente o modelo 442 usando técnicas de reforço. Neste caso, o modelo 342 gera um vetor de recompensa incluindo uma função de peso que modifica os pesos de qualquer uma das conexões incluídas no modelo 342. O vetor de recompensa pode ser configurado para recompensar várias métricas, incluindo o desempenho do pulverizador de barra como um todo, recompensar um estado, recompensar uma alteração no estado, etc. Em alguns exemplos, o usuário do pulverizador de barra pode selecionar quais métricas recompensar usando a interface do sistema de controle 130.
X. Sistema de Controle
[0134] A FIG. 8 é um diagrama de blocos que ilustra os componentes de uma máquina de exemplo para ler e executar instruções a partir de um meio legível por máquina. Especificamente, a FIG. 8 mostra uma representação esquemática do sistema de rede 300 e do sistema de controle 310 na forma de exemplo de um sistema de computador 800. O sistema de computador 800 pode ser usado para executar instruções 824 (por exemplo, código de programa ou software) para fazer com que a máquina execute qualquer uma ou mais das metodologias (ou processos) aqui descritos. Em modalidades alternativas, a máquina opera como um dispositivo autônomo ou um dispositivo conectado (por exemplo, em rede) que se conecta a outras máquinas. Em uma implantação em rede, a máquina pode operar na capacidade de uma máquina de servidor ou uma máquina de cliente em um ambiente de rede cliente-servidor, ou como uma máquina ponto a ponto em um ambiente de rede ponto a ponto (ou distribuído).
[0135] A máquina pode ser um computador servidor, um computador cliente, um computador pessoal (PC), um tablet PC, um decodificador (STB), um smartphone, um dispositivo de Internet das coisas (IoT), um roteador de rede, comutador ou ponte, ou qualquer máquina capaz de executar instruções 824 (sequencial ou não) que especificam ações a serem tomadas por aquela máquina. Além disso, embora apenas uma única máquina seja ilustrada, o termo “máquina” também deve ser entendido como incluindo qualquer coleção de máquinas que individualmente ou em conjunto executam instruções 824 para executar qualquer uma ou mais das metodologias aqui discutidas.
[0136] O exemplo de sistema de computador 800 inclui uma ou mais unidades de processamento (geralmente processador 802). O processador 802 é, por exemplo, uma unidade de processamento central (CPU), uma unidade de processamento gráfico (GPU), um processador de sinal digital (DSP), um controlador, uma máquina de estado, um ou mais circuitos integrados específicos de aplicativo (ASICs), um ou mais circuitos integrados de radiofrequência (RFICs), ou qualquer combinação destes. O sistema de computador 800 também inclui uma memória principal 804. O sistema de computador pode incluir uma unidade de armazenamento 816. O processador 802, a memória 804 e a unidade de armazenamento 816 se comunicam através de um barramento 808.
[0137] Além disso, o sistema de computador 806 pode incluir uma memória estática 806, um display gráfico 810 (por exemplo, para acionar um painel de display de plasma (PDP), um display de cristal líquido (LCD) ou um projetor). O sistema de computador 800 também pode incluir dispositivo de entrada alfanumérico 812 (por exemplo, um teclado), um dispositivo de controle de cursor 814 (por exemplo, um mouse, um trackball, um joystick, um sensor de movimento ou outro instrumento apontador), um dispositivo de geração de sinal 818 (por exemplo, um altofalante) e um dispositivo de interface de rede 820, que também estão configurados para se comunicar por meio do barramento
808.
[0138] A unidade de armazenamento 816 inclui um meio legível por máquina 822 no qual são armazenadas instruções 824 (por exemplo, software) que incorporam qualquer uma ou mais das metodologias ou funções aqui descritas. Por exemplo, as instruções 824 podem incluir as funcionalidades de módulos do sistema 130 descrito na FIG. 2. As instruções 824 também podem residir, completamente ou pelo menos parcialmente, dentro da memória principal 804 ou dentro do processador 802 (por exemplo, dentro de uma memória cache do processador) durante a sua execução pelo sistema de computador 800, a memória principal 804 e o processador 802 também constituem mídia legível por máquina. As instruções 824 podem ser transmitidas ou recebidas através de uma rede 826 através do dispositivo de interface de rede 820.
XI. Considerações Adicionais
[0139] Na descrição acima, para fins de explicação, inúmeros detalhes específicos são apresentados a fim de fornecer uma compreensão completa do sistema ilustrado e suas operações. Será evidente, no entanto, para um versado na técnica que o sistema pode ser operado sem esses detalhes específicos. Em outros casos, as estruturas e os dispositivos são mostrados na forma de diagrama de blocos para evitar o obscurecimento do sistema.
[0140] A referência na especificação a “uma modalidade” ou “uma modalidade” significa que um determinado recurso, estrutura ou característica descrita em conexão com a modalidade está incluída em pelo menos uma modalidade do sistema. As aparições da frase “em uma modalidade” em vários lugares no Relatório Descritivo não se referem necessariamente à mesma modalidade.
[0141] Algumas partes das descrições detalhadas são apresentadas em termos de algoritmos ou modelos e representações simbólicas de operações em bits de dados dentro de uma memória de computador. Um algoritmo está aqui, e geralmente, concebido como etapas que levam a um resultado desejado. As etapas são aquelas que requerem transformações físicas ou manipulações de quantidades físicas. Normalmente, embora não necessariamente, essas quantidades assumem a forma de sinais elétricos ou magnéticos capazes de ser armazenados, transferidos, combinados, comparados e de outra forma manipulados. Tem se mostrado conveniente às vezes, principalmente por razões de uso comum, referir-se a esses sinais como bits, valores, elementos, símbolos, caracteres, termos, números ou semelhantes.
[0142] Deve-se ter em mente, entretanto, que todos esses termos e outros semelhantes devem ser associados às quantidades físicas apropriadas e são meramente rótulos convenientes aplicados a essas quantidades. A menos que especificamente indicado de outra forma, como aparente a partir da seguinte discussão, é tido em consideração que ao longo da descrição, as discussões que utilizam termos como “processamento” ou “computação” ou “cálculo” ou “determinação” ou “exibição” ou semelhantes, referem-se à ação e processos de um sistema de computador, ou dispositivo de computação eletrônico semelhante, que manipula e transforma os dados representados como quantidades físicas (eletrônicas) dentro dos registros e memórias do sistema de computador em outros dados representados de forma semelhante como quantidades físicas dentro das memórias ou registros do sistema de computador ou outros tais dispositivos de armazenamento, transmissão ou exibição de informações.
[0143] Algumas das operações aqui descritas são realizadas por um computador fisicamente montado dentro de uma máquina 100. Este computador pode ser especialmente construído para os fins necessários ou pode compreender um computador de uso geral seletivamente ativado ou reconfigurado por um programa de computador armazenado no computador. Tal programa de computador pode ser armazenado em um meio de armazenamento legível por computador, tal como, mas sem limitação, qualquer tipo de disco, incluindo disquetes, discos ópticos, CD ROMs e discos ópticos magnéticos, memórias somente de leitura (ROMs), memórias aleatórias de acesso (RAMs), EPROMs, EEPROMs, cartões magnéticos ou ópticos ou qualquer tipo de meio de armazenamento legível por computador não transitório adequado para armazenar instruções eletrônicas.
[0144] As figuras e a descrição acima se referem a várias modalidades apenas a título de ilustração. Deve-se notar que a partir da discussão a seguir, modalidades alternativas das estruturas e métodos divulgados neste documento serão prontamente reconhecidas como alternativas viáveis que podem ser empregadas sem se afastar dos princípios do que é reivindicado.
[0145] Uma ou mais modalidades foram descritas acima, exemplos das quais são ilustrados nas figuras anexas. É notado que, sempre que praticável, números de referência semelhantes ou similares podem ser usados nas figuras e podem indicar funcionalidade semelhante ou similar. As figuras representam modalidades do sistema (ou método) divulgado apenas para fins de ilustração. Um versado na técnica reconhecerá prontamente a partir da seguinte descrição que modalidades alternativas das estruturas e métodos ilustrados neste documento podem ser empregados sem se afastar dos princípios descritos neste documento.
[0146] Algumas modalidades podem ser descritas usando a expressão “acoplado” e “conectado” junto com seus derivados. Deve ser entendido que esses termos não pretendem ser sinônimos. Por exemplo, algumas modalidades podem ser descritas usando o termo “conectado” para indicar que dois ou mais elementos estão em contato físico ou elétrico direto entre si. Em outro exemplo, algumas modalidades podem ser descritas usando o termo “acoplado” para indicar que dois ou mais elementos estão em contato físico ou elétrico direto. O termo “acoplado”, no entanto, também pode significar que dois ou mais elementos não estão em contato físico ou elétrico direto uns com os outros, mas ainda cooperam ou interagem entre si. As modalidades não são limitadas neste contexto.
[0147] Conforme usado neste documento, os termos “compreende”, “compreendendo”, “inclui”, “incluindo”, “tem”, “tendo” ou qualquer outra variação dos mesmos, destinam-se a cobrir uma inclusão não exclusiva. Por exemplo, um processo, método, artigo ou aparelho que compreende uma lista de elementos não está necessariamente limitado a apenas esses elementos, mas pode incluir outros elementos não expressamente listados ou inerentes a tal processo, método, artigo ou aparelho. Além disso, a menos que expressamente declarado o contrário, “ou” se refere a um ou inclusivo e não a um ou exclusivo. Por exemplo, uma condição A ou B é satisfeita por qualquer um dos seguintes: A é verdadeiro (ou presente) e B é falso (ou não presente), A é falso (ou não presente) e B é verdadeiro (ou presente), e A e B são verdadeiros (ou presentes).
[0148] Além disso, o uso de “um” ou “uma” é empregado para descrever elementos e componentes das modalidades neste documento. Isso é feito apenas por conveniência e para dar uma ideia geral do sistema. Esta descrição deve ser lida para incluir um ou pelo menos um e o singular também inclui o plural, a menos que seja óbvio que significa o contrário.
[0149] Ao ler esta divulgação, aqueles versados na técnica apreciarão ainda projetos estruturais e funcionais alternativos adicionais para um sistema e um processo para detectar vírus (malware) potencial usando análise de varredura comportamental por meio dos princípios aqui divulgados. Assim, embora modalidades e aplicações particulares tenham sido ilustradas e descritas, deve ser entendido que as modalidades divulgadas não estão limitadas à construção precisa e aos componentes divulgados neste documento. Várias modificações, alterações e variações, que serão evidentes para aqueles versados na técnica, podem ser feitas no arranjo, operação e detalhes do método e aparelho divulgados neste documento, sem se afastar do espírito e escopo definidos nas Reivindicações anexas.

Claims (21)

REIVINDICAÇÕES
1. Método Para Controlar Pluralidade de Controladores de Atuação de Pluralidade de Componentes de Pulverizador de Barra, para tratar plantas conforme o pulverizador de barra viaja através de um campo de planta, o método caracterizado por que compreende: determinar um vetor de estado compreendendo uma pluralidade de elementos de estado, cada um dos elementos de estado representando uma medição de um estado de um subconjunto dos componentes do pulverizador de barra, cada um dos componentes controlados por um controlador de atuação comunicativamente acoplado a um computador montado no pulverizador de barra; inserir, usando o computador, o vetor de estado em um modelo de controle para gerar um vetor de ação compreendendo uma pluralidade de elementos de ação para o pulverizador de barra, cada um dos elementos de ação especificando uma ação a ser tomada pelo pulverizador de barra no campo da planta, as ações, em agregado, previstas para otimizar uma ou mais métricas de desempenho do pulverizador de barra; e acionar um subconjunto dos controladores de atuação para executar as ações no campo da planta com base no vetor de ação, o subconjunto de controladores alterando uma configuração do subconjunto de componentes de modo que o estado do pulverizador de barra mude.
2. Método Para Controlar Pluralidade de Controladores de Atuação de Pluralidade de Componentes de Pulverizador de Barra, de acordo com a Reivindicação 1, caracterizado por que o modelo de controle compreende uma função que representa a relação entre o vetor de estado recebido como uma entrada para o modelo de controle e o vetor de ação gerado como uma saída para o modelo de controle e a função é um modelo treinado usando aprendizado de reforço para recompensar ações que melhoram a aplicação do tratamento da planta pelo pulverizador de barra.
3. Método Para Controlar Pluralidade de Controladores de Atuação de Pluralidade de Componentes de Pulverizador de Barra, de acordo com a Reivindicação 1, caracterizado por que o modelo de controle compreende uma rede neural artificial que compreende: uma pluralidade de nós neurais incluindo um conjunto de nós de entrada para receber uma entrada para a rede neural artificial e um conjunto de nós de saída para enviar uma saída para a rede neural artificial, onde cada nó neural representa uma subfunção para determinar uma saída para a rede neural artificial a partir da entrada da rede neural artificial, e cada nó de entrada é conectado a um ou mais nós de saída por uma conexão de uma pluralidade de conexões ponderadas; e uma função configurada para gerar ações para o pulverizador de barra que melhoram o desempenho do pulverizador de barra, a função definida pelas subfunções e conexões ponderadas da rede neural artificial.
4. Método Para Controlar Pluralidade de Controladores de Atuação de Pluralidade de Componentes de Pulverizador de Barra, de acordo com a Reivindicação 3, caracterizado por que cada elemento de estado do vetor de estado é conectado a um ou mais nós de entrada por uma conexão da pluralidade de conexões ponderadas,
cada elemento de ação do vetor de ação é conectado a um ou mais nós de saída por uma conexão da pluralidade de conexões ponderadas, e a função é configurada para gerar elementos de ação do vetor de ação a partir de elementos de estado do vetor de estado.
5. Método Para Controlar Pluralidade de Controladores de Atuação de Pluralidade de Componentes de Pulverizador de Barra, de acordo com a Reivindicação 3, caracterizado por que a rede neural artificial é uma primeira rede neural artificial de um par de redes neurais artificiais configuradas de forma semelhante agindo como um par ator- crítico e usada para treinar a primeira rede neural artificial para gerar ações que melhoram o desempenho do pulverizador de barra.
6. Método Para Controlar Pluralidade de Controladores de Atuação de Pluralidade de Componentes de Pulverizador de Barra, de acordo com a Reivindicação 5, caracterizado por que a primeira rede neural insere vetores de estado e valores para as conexões ponderadas e gera vetores de ação, os valores para as conexões ponderadas modificam a função para gerar ações para o pulverizador de barra que melhora o desempenho do pulverizador de barra, e a segunda rede neural introduzindo um vetor de recompensa e um vetor de estado e emitindo os valores para as conexões ponderadas, o vetor de recompensa compreendendo elementos que significam a melhoria no desempenho do pulverizador de barra a partir de uma ação executada anteriormente.
7. Método Para Controlar Pluralidade de Controladores de Atuação de Pluralidade de Componentes de Pulverizador de Barra, de acordo com a Reivindicação 5, caracterizado por que os elementos do vetor de recompensa são determinados usando medições das capacidades de um subconjunto dos componentes do pulverizador de barra que foram previamente acionados com base na ação executada anteriormente.
8. Método Para Controlar Pluralidade de Controladores de Atuação de Pluralidade de Componentes de Pulverizador de Barra, de acordo com a Reivindicação 5, caracterizado por que o operador pode selecionar uma métrica para melhoria de desempenho, a métrica incluindo qualquer um dentre rendimento, limpeza da planta, quantidade de tratamento aplicado à planta, qualidade do tratamento aplicado à planta e quantidade de crescimento da planta.
9. Método Para Controlar Pluralidade de Controladores de Atuação de Pluralidade de Componentes de Pulverizador de Barra, de acordo com a Reivindicação 5, caracterizado por que os vetores de estado são obtidos a partir de uma pluralidade de pulverizadores de barra tomando uma pluralidade de ações a partir de uma pluralidade de vetores de ação para tratar plantas no campo da planta.
10. Método Para Controlar Pluralidade de Controladores de Atuação de Pluralidade de Componentes de Pulverizador de Barra, de acordo com a Reivindicação 5, caracterizado por que os vetores de estado e vetores de ação são simulados a partir de um conjunto de vetores de estado obtidos de uma pluralidade de pulverizadores de barra tomando um conjunto de ações de um conjunto de sementes de vetores de ação para tratar plantas no campo da planta.
11. Método Para Controlar Pluralidade de Controladores de Atuação de Pluralidade de Componentes de Pulverizador de Barra, de acordo com a Reivindicação 1, caracterizado por que determinar um vetor de dados de estado compreende: acessar uma rede de dados acoplando comunicativamente uma pluralidade de sensores, cada sensor para fornecer uma medição de uma das capacidades de um subconjunto dos componentes do pulverizador de barra; e determinar os elementos do vetor de estado com base nas medições incluídas na rede de dados.
12. Método Para Controlar Pluralidade de Controladores de Atuação de Pluralidade de Componentes de Pulverizador de Barra, de acordo com a Reivindicação 11, caracterizado por que a pluralidade de sensores pode incluir qualquer um dentre um sensor ultrassônico, sensor de inclinação, sensor de ângulo de rolamento, sensor GPS, sensor de velocidade da roda de veículo, sensor de ângulo de direção, sensores de largura de banda de rodagem, sensores de suspensão e sensores IMU.
13. Método Para Controlar Pluralidade de Controladores de Atuação de Pluralidade de Componentes de Pulverizador de Barra, de acordo com a Reivindicação 1, caracterizado por que os elementos de estado incluem qualquer um dentre: uma altura de estrutura que representa uma altura do pulverizador de barra em relação ao solo; um ângulo de estrutura que representa um ângulo da estrutura do pulverizador de barra em relação à direção da gravidade; um potencial de pulverizador que representa uma medida do potencial elétrico do pulverizador de barra; uma posição de pulverizador que representa uma posição do pulverizador de barra em um sistema de coordenadas; uma altura de suspensão que representa uma distância entre a suspensão do pulverizador de barra e o solo; e um movimento de pulverizador que representa um conjunto de informações de detecção de movimento que caracterizam o pulverizador de barra.
14. Método Para Controlar Pluralidade de Controladores de Atuação de Pluralidade de Componentes de Pulverizador de Barra, de acordo com a Reivindicação 1, caracterizado por que o acionamento de um subconjunto de controladores de atuação compreende: determinar um conjunto de instruções de máquina de cada controlador de atuação do subconjunto de modo que as instruções de máquina alterem a configuração de cada componente quando recebido pelo controlador de atuação; acessar uma rede de dados acoplando comunicativamente os controladores de atuação; e enviar o conjunto de instruções de máquina para cada controlador de atuação do subconjunto através da rede de dados.
15. Método Para Controlar Pluralidade de Controladores de Atuação de Pluralidade de Componentes de Pulverizador de Barra, de acordo com a Reivindicação 1, caracterizado por que os elementos de ação podem especificar ações incluindo qualquer um dentre: ajustar uma posição de uma estrutura esquerda em relação ao solo ou estrutura central; ajustar uma posição da estrutura central em relação ao solo ou uma estrutura central fixa; e ajustar uma posição da estrutura direita em relação ao solo ou estrutura central.
16. Método Para Controlar Pluralidade de Controladores de Atuação de Pluralidade de Componentes de Pulverizador de Barra, de acordo com a Reivindicação 1, caracterizado por que a pluralidade de componentes do pulverizador de barra da máquina pode incluir qualquer uma dentre uma estrutura central fixa ou flutuante, uma estrutura central da barra, uma barra esquerda e uma barra direita.
17. Método Para Controlar Pluralidade de Controladores de Atuação de Pluralidade de Componentes de Pulverizador de Barra, de acordo com a Reivindicação 1, caracterizado por que os componentes do pulverizador de barra são configurados para tratar plantas, incluindo qualquer um dentre milho, trigo ou arroz.
18. Método Para Controlar Pluralidade de Controladores de Atuação de Pluralidade de Componentes de Pulverizador de Barra, de acordo com a Reivindicação 1, caracterizado por que os elementos de ação do vetor de ação são representações numéricas da ação.
19. Método Para Controlar Pluralidade de Controladores de Atuação de Pluralidade de Componentes de Pulverizador de Barra, de acordo com a Reivindicação 1, caracterizado por que os elementos de estado do vetor de estado são uma representação numérica das medições.
20. Meio de Armazenamento Legível Por Computador Não Transitório, caracterizado por que armazena instruções para controlar uma pluralidade de controladores de atuação de uma pluralidade de componentes de um pulverizador de barra para tratar plantas codificadas no mesmo que, quando executado, faz com que o processador execute as etapas, incluindo: determinar um vetor de estado compreendendo uma pluralidade de elementos de estado, cada um dos elementos de estado representando uma medição de um estado de um subconjunto dos componentes do pulverizador de barra, cada um dos componentes controlados por um controlador de atuação comunicativamente acoplado a um computador montado no pulverizador de barra; inserir, usando o computador, o vetor de estado em um modelo de controle para gerar um vetor de ação compreendendo uma pluralidade de elementos de ação para o pulverizador de barra, cada um dos elementos de ação especificando uma ação a ser tomada pelo pulverizador de barra no campo da planta, as ações, em agregado, previstas para otimizar uma ou mais métricas de desempenho do pulverizador de barra; e acionar um subconjunto de controladores de atuação para executar as ações no campo da planta com base no vetor de ação, o subconjunto de controladores alterando uma configuração do subconjunto de componentes de modo que o estado do pulverizador de barra mude.
21. Pulverizador de Barra, caracterizado por que compreende: um ou mais mecanismos de pulverização; um ou mais controladores de atuação acoplados comunicativamente aos mecanismos de pulverização e para controlar um ou mais mecanismos de pulverização; um ou mais processadores de computador; e um meio de armazenamento legível por computador que armazena instruções que, quando executadas, fazem com que um ou mais processadores: determinem um vetor de estado que compreende uma pluralidade de elementos de estado, cada um dos elementos de estado representando uma medição de um estado de um subconjunto de um ou mais mecanismos de pulverização do pulverizador de barra, conforme o pulverizador de barra se move através de um campo de planta;
insiram, usando o computador, o vetor de estado em um modelo de controle para gerar um vetor de ação compreendendo uma pluralidade de elementos de ação para o pulverizador de barra, cada um dos elementos de ação especificando uma ação a ser tomada pelo pulverizador de barra no campo da planta, as ações, em agregado, previstas para otimizar um tratamento de pulverização dos mecanismos de pulverização; e acionem um subconjunto de controladores de atuação para executar as ações no campo da planta com base no vetor de ação, o subconjunto de controladores alterando uma configuração do subconjunto de mecanismos de pulverização de modo que o estado do pulverizador de barra mude.
Mecanismo de montagem Máquina agrícola
Componentes Sistema de controle de manipulação Mecanismo de detecção
Sistema de verificação
Plantas Área ativa Substrato Área geográfica
Máquina agrícola
Sistema de controle
Componentes de manipulação
Área geográfica
Sistema de controle Ambiente
Agente
Modelo
Interface
Componente
Sistema de verificação Controlador de entrada
Controlador de entrada Rede Sensor
Sensor Sensor
Componente Sistema de detecção
Controlador de entrada Sensor
Sensores
Sensor ultrassônico Sistema de controle
Sensor de inclinação Ambiente Agente
Petição 870200153993, de 07/12/2020, pág. 72/82 Sensor de ângulo de rolamento Modelo
Sensor de GPS Interface
Sensor de velocidade da roda do veículo
Sensor de ângulo de direção Controladores de entrada
Sensor de largura de banda de rodagem Controlador de estrutura esquerda
Sensor de suspensão Controlador de estrutura central flutuante Rede
Sensor de IMU Controlador de estrutura direita
Sensor de altura de laser
Sensor de altura de dossel
Sensor de rumo da bússula
Agente
Estado Ação
Recompensa Estado
Ambiente
Inicialização
Avaliação política
Melhora da política
Para cada
Agente
Crítico
Pesos
Ator
Recompensa Estado Ação
Recompensa Estado
Ambiente
Célula LSTM Camada densa Ativação de σ (sigmoide)
Conexões Rede neural
Vetor de estado de entrada
Elementos de estado
Elementos de ação
Unidade neural de entrada Unidade neural de saída
Camada de entrada Camada de saída
Método
Determinar vetor de estado a partir de medições do sistema
Inserir vetor de estado no modelo para gerar vetor de ação
Acionar componentes do sistema com base nos comandos determinados a partir do vetor de ação
Processador Display gráfico
Instruções
Memória principal Dispositivo de entrada alfanumérico instruções
Memória estática Dispositivo de controle de cursor
Unidade de armazenamento
Dispositivo de interface de rede Meio legível por máquina
Instruções
Dispositivo de Rede geração de sinal
BR112020023871-6A 2018-05-24 2019-05-23 pulverizador de barra incluindo controle de retroalimentação de máquina BR112020023871A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862676257P 2018-05-24 2018-05-24
US62/676,257 2018-05-24
PCT/US2019/033701 WO2019226871A1 (en) 2018-05-24 2019-05-23 Boom sprayer including machine feedback control

Publications (1)

Publication Number Publication Date
BR112020023871A2 true BR112020023871A2 (pt) 2021-02-09

Family

ID=68613921

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020023871-6A BR112020023871A2 (pt) 2018-05-24 2019-05-23 pulverizador de barra incluindo controle de retroalimentação de máquina

Country Status (5)

Country Link
US (1) US11510404B2 (pt)
EP (1) EP3813506A4 (pt)
AU (1) AU2019272876B2 (pt)
BR (1) BR112020023871A2 (pt)
WO (1) WO2019226871A1 (pt)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10814341B2 (en) * 2017-11-07 2020-10-27 Cnh Industrial America Llc Armrest control center with spray boom control
US11590522B2 (en) 2018-02-13 2023-02-28 SmartApply, Inc. Spraying systems, kits, vehicles, and methods of use
US10827693B2 (en) * 2018-02-14 2020-11-10 Deere & Company Sprayers in a temperature inversion
US10842067B2 (en) * 2018-07-12 2020-11-24 Raven Industries, Inc. Implement position control system and method for same
JP7179638B2 (ja) * 2019-02-14 2022-11-29 株式会社クボタ 農業機械
JP7128152B2 (ja) * 2019-06-14 2022-08-30 株式会社東芝 学習方法及びプログラム
US11308323B2 (en) * 2019-12-21 2022-04-19 Verdant Robotics, Inc. Micro-precision application of multiple treatments to agricultural objects
US20230023899A1 (en) * 2020-01-17 2023-01-26 Nec Corporation Policy learning method, policy learning apparatus, and program
AU2021213094A1 (en) * 2020-01-27 2022-05-26 Steven R. Booher Spraying systems, kits, vehicies, and methods of use
US11521382B2 (en) 2020-02-09 2022-12-06 Stout Industrial Technology, Inc. Machine vision plant tracking system for precision agriculture
WO2021159123A1 (en) 2020-02-09 2021-08-12 Stout Industrial Technology, Inc. Machine vision control system for precision agriculture
US11980181B2 (en) * 2020-03-04 2024-05-14 Deere & Company Agricultural sprayer active boom center frame positioning system
FR3110743B1 (fr) * 2020-05-20 2022-04-29 Carbon Bee Procede et systeme de controle de traitement agricole
CN111771849A (zh) * 2020-07-24 2020-10-16 广东电网有限责任公司电力科学研究院 一种灭蚊喷雾装置
CN112970707B (zh) * 2021-02-05 2022-08-30 盐城工学院 一种折叠式仿形喷雾机及其仿形喷雾点定位方法
CN113016756B (zh) * 2021-02-22 2022-05-20 江苏大学 一种基于多源信息融合的喷杆对地高度实时监测系统及方法
CN112883947B (zh) * 2021-04-29 2021-07-16 腾讯科技(深圳)有限公司 图像处理方法、装置、计算机设备和存储介质
US20230189783A1 (en) * 2021-12-22 2023-06-22 Cnh Industrial America Llc System and method for an agricultural applicator
US20230189785A1 (en) * 2021-12-22 2023-06-22 Cnh Industrial America Llc System and method for an agricultural applicator

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485545A (en) 1991-06-20 1996-01-16 Mitsubishi Denki Kabushiki Kaisha Control method using neural networks and a voltage/reactive-power controller for a power system using the control method
AU658066B2 (en) * 1992-09-10 1995-03-30 Deere & Company Neural network based control system
US5348226A (en) * 1992-11-12 1994-09-20 Rhs Fertilizing/Spraying Systems Spray boom system with automatic boom end height control
US5337959A (en) 1993-11-10 1994-08-16 Ron Boyd Spray control system for multiple segment boom sprayers
US5704546A (en) * 1995-09-15 1998-01-06 Captstan, Inc. Position-responsive control system and method for sprayer
US6816786B2 (en) * 2000-04-18 2004-11-09 Devrie S Intriligator Space weather prediction system and method
US6553300B2 (en) * 2001-07-16 2003-04-22 Deere & Company Harvester with intelligent hybrid control system
US7706926B2 (en) 2007-10-30 2010-04-27 Agco Corporation Adaptive feedback sources for application controllers
US9148995B2 (en) * 2010-04-29 2015-10-06 Hagie Manufacturing Company Spray boom height control system
US10327393B2 (en) * 2013-03-07 2019-06-25 Blue River Technology Inc. Modular precision agriculture system
US10219449B2 (en) * 2013-03-07 2019-03-05 Blue River Technology Inc. System and method for plant dislodgement
US20160136671A1 (en) * 2013-03-15 2016-05-19 Jared KOCER Agricultural product delivery control in an agricultural sprayer
GB2521343B (en) * 2013-10-23 2018-05-23 Househam Sprayers Ltd Agricultural Sprayer
US10189031B2 (en) * 2014-06-20 2019-01-29 Deere & Company Hybrid flow nozzle and control system
US10441965B2 (en) * 2015-06-22 2019-10-15 Deere & Company Spray pattern of nozzle systems
US10402919B2 (en) * 2016-06-06 2019-09-03 The Climate Corporation Data assimilation for calculating computer-based models of crop growth
US10391503B2 (en) * 2016-08-25 2019-08-27 Iowa State University Research Foundation, Inc. System and method for predicting wind direction and speed to better control drift
US10255670B1 (en) * 2017-01-08 2019-04-09 Dolly Y. Wu PLLC Image sensor and module for agricultural crop improvement
KR102513185B1 (ko) * 2017-01-12 2023-03-23 모빌아이 비젼 테크놀로지스 엘티디. 규칙 기반 항법
CN110740635A (zh) 2017-03-21 2020-01-31 蓝河技术有限公司 包括机器反馈控制的联合收割机

Also Published As

Publication number Publication date
US11510404B2 (en) 2022-11-29
AU2019272876B2 (en) 2021-12-16
EP3813506A1 (en) 2021-05-05
EP3813506A4 (en) 2022-03-09
WO2019226871A1 (en) 2019-11-28
US20190357520A1 (en) 2019-11-28
AU2019272876A1 (en) 2021-01-07

Similar Documents

Publication Publication Date Title
BR112020023871A2 (pt) pulverizador de barra incluindo controle de retroalimentação de máquina
AU2021200158B2 (en) Semantic segmentation to identify and treat plants in a field and verify the plant treatments
BR112019019653A2 (pt) método para controlar os mecanismos de atuação de uma pluralidade de componentes de uma colheitadeira
Ivić et al. Autonomous control for multi-agent non-uniform spraying
AU2022271449B2 (en) Dynamic tank management based on previous environment and machine measurements
Ahmadi et al. Bonnbot-i: A precise weed management and crop monitoring platform
McAllister et al. Agbots 3.0: Adaptive weed growth prediction for mechanical weeding agbots
BR112022003592B1 (pt) Sistema e método de controle para plataforma de veículo autônoma ou controlada remotamente
US20220207852A1 (en) Generating a ground plane for obstruction detection
Puente-Castro et al. Q-learning based system for path planning with unmanned aerial vehicles swarms in obstacle environments
Llofriu et al. A computational model for a multi-goal spatial navigation task inspired by rodent studies
US20230040430A1 (en) Detecting untraversable soil for farming machine
EP4238415A1 (en) Farming machines configured to treat plants with a combination of treatment mechanisms
US20220338429A1 (en) Data collection system for irrigation systems
BR102022024397A2 (pt) Gerenciamento dinâmico de tanques com base em ambiente anterior e medições de máquina
BR102022026428A2 (pt) Bolhas de segurança virtual para navegação segura de máquinas agrícolas
US20230189784A1 (en) Farming machine with forward-looking sensor system and actuatable beam
EP4206848A1 (en) Virtual safety bubbles for safe navigation of farming machines
BR102022025465A2 (pt) Máquina agrícola com sistema de sensor frontal e viga acionável
BR102023001968A2 (pt) Buffers de tratamento de ajuste dinâmico para tratamentos de plantas
BR102023010066A2 (pt) Geração dinâmica de planos de tratamento experimental
US20230039092A1 (en) Preventing damage by farming machine
Tamosiunaite et al. Path-finding in real and simulated rats: assessing the influence of path characteristics on navigation learning
Ventura et al. Mobile Robot Control for Agriculture Using Autoencoder Sensor Fusion
KR20240099068A (ko) Roi 제한 및 작물판단 및 회피

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]
B11A Dismissal acc. art.33 of ipl - examination not requested within 36 months of filing
B11Y Definitive dismissal - extension of time limit for request of examination expired [chapter 11.1.1 patent gazette]