Como eu modelo um robô?


8

As respostas que recebi à pergunta sobre o treinamento de uma linha após o robô usando técnicas de aprendizado por reforço me levaram a pensar em como treinar um robô. Eu acredito que existem essencialmente duas maneiras -

  1. Treine o robô físico.
  2. Modele o robô e simule o treinamento.
  3. Perdi alguma coisa?

A abordagem 2 é definitivamente a melhor abordagem. No entanto, a priori o conhecimento do movimento (resposta), um determinado sinal PWM (estímulo) causaria quando o robô estivesse em um determinado estado. O movimento causado por um sinal PWM pode depender da ( 1 ) tensão atual da bateria, ( 2 ) da massa do robô e ( 3 ) da velocidade atual (perdi alguma coisa?).

Como faço para modelar esse robô? E como faço para modelá-lo rapidamente? Se eu trocar a bateria ou adicionar algumas placas e outros periféricos e alterar a massa do robô, teria que remodelar e treinar novamente o robô. Posso fazer isso fornecendo alguns PWMs de estímulo aleatório e medindo a resposta?

adicionado: Minha pergunta relacionada no dsp.SE

Atualização: Uma edição sugerida por Ian, digna de ser mencionada no título - " Como faço para treinar um robô para que, se sua dinâmica mudar, ele não precise de um novo treinamento completo? " um que estou perguntando aqui. Estou bem com a re-formação por enquanto.


Há muitas ótimas perguntas aqui. De fato, pode ser melhor dividir isso em várias perguntas.
DaemonMaker

Como você sugere que eu faça isso sem perder o plano de fundo? Eu já dividi uma parte da minha pergunta em dsp.SE
Lord Loh.

Você basicamente tem duas perguntas aqui. O primeiro, como modelar um robô? O segundo é: como eu treino um robô, dado um modelo e um algoritmo de aprendizado? Parece-me que estas podem ser duas perguntas separadas.
DaemonMaker

Você está certo. A pergunta que aparece como treinar um robô tinha o objetivo de ser retórica. Eu acho que vou tentar editá-lo.
Senhor Loh.

Nesse caso, esperarei para ver suas edições antes de tentar responder sua pergunta.
DaemonMaker

Respostas:


4

A meu ver, existem duas questões principais aqui. A primeira é: como eu modelo um robô? Isso é freqüentemente feito com uma formulação no espaço de estados das equações de movimento . As equações exatas dependem da construção física do seu robô. Sim, para modelá-los com entrada PWM, é necessário determinar a função de transferência dos valores PWM que você fornece para a saída de seus atuadores. Então você conecta essa função para o sinal de controle em seu modelo. Novamente, a derivação dessa função é específica do robô. A tensão atual da bateria e a massa do robô provavelmente seriam úteis, mas não sei sobre a velocidade.

A segunda pergunta é, dado um modelo matemático do meu robô, qual é a melhor maneira de treinar um algoritmo de aprendizado por reforço (RL) para controlá-lo? Em suma, não existe um melhor caminho. Treinar diretamente no robô tende a ser demorado, pois leva mais tempo para executar as tentativas. Entretanto, as simulações podem resultar em políticas menos precisas, pois a física da simulação é necessariamente simplificada. Outra abordagem é treinar o aluno em simulação para obter uma aproximação razoável e, em seguida, transferir a política resultante para o robô para aperfeiçoamento. Obviamente, isso falhará se o modelo não for suficientemente preciso. Também requer desenvolvimento extra.

Por fim, você pergunta "Posso [remodelar e treinar novamente o robô] fornecendo alguns PWMs de estímulo aleatório e medindo a resposta?" No caso da RL, não há razão para pensar que a nova política ótima seja semelhante à política ótima anterior e, como tal, não há muitas razões para pensar que alguns controles aleatórios fornecerão informações suficientes para alterar a política adequadamente. É claro que a reciclagem só precisa ocorrer se as alterações feitas no seu robô afetarem a formulação do modelo de espaço de estados e / ou o modelo de ação que você usa. Por exemplo, se seu modelo de ação é em termos de ações de alto nível ("go-left", "go-right", "go-forward"), alterar a dinâmica exige a alteração de como você implementa esses movimentos, mas a política ainda deve ser mantida. .


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.