Augmenting Reinforcement Learning with Behavior Primitives for Diverse Manipulation Tasks
Autores: Soroush Nasiriany, Huihan Liu, Yuke Zhu · ICRA 2022
Licenças
- Acesso aberto
- Artigo: CC BY 4.0
Tudo o que segue se baseia no artigo completo sob a licença CC BY 4.0; sua figura é mostrada com crédito aos autores.
Em resumo
Um agente de RL escolhe entre primitivas programadas à mão de alcance, preensão, empurrão e soltura ou uma ação motora bruta, e define seus parâmetros, o que reduz o ônus da exploração na manipulação de horizonte longo.
Por que importa
A robótica já tem módulos confiáveis para pegar e alcançar, e este trabalho mostra que um algoritmo de RL genérico pode aprender a encadeá-los sem um plano de tarefas escrito à mão. Como a política age por meio de primitivas, a mesma política foi transferida da simulação para um robô real depois que as primitivas foram reimplementadas no hardware.
Problema
O aprendizado por reforço profundo tem dificuldades na manipulação de horizonte longo porque o robô precisa explorar um espaço muito grande de ações motoras de baixo nível. Métodos de RL hierárquico que aprendem habilidades do zero precisam de muitas amostras, enquanto o planejamento de tarefas e movimentos e a programação neural dependem de conhecimento do domínio ou de supervisão humana para compor módulos prontos.
Solução proposta
O MAPLE formula o controle como um MDP de ações parametrizadas: a cada passo, uma política de tarefa de alto nível escolhe uma primitiva (alcance, preensão, empurrão, soltura da garra ou uma única ação atômica) e uma sub-rede de parâmetros por primitiva define suas entradas, como uma posição-alvo e um ângulo de guinada. Ambas são treinadas com um Soft Actor-Critic modificado, e uma pontuação analítica de affordance somada à recompensa direciona os parâmetros das primitivas para os objetos relevantes. Manter a ação atômica permite ao agente lidar com etapas, como a inserção rica em contato, que as primitivas não conseguem expressar.
Principais ideias
- Uma política hierárquica, que escolhe primeiro a primitiva e depois seus parâmetros, superou uma política plana que amostra o tipo e os parâmetros de forma independente
- Manter a primitiva atômica foi necessário para Peg Insertion: a versão sem ela chegou a 0 %, enquanto o MAPLE chegou a 100 %
- Sem recompensas de affordance, ou sem a primitiva de alcance ou de preensão, o agente não conseguiu resolver Pick and Place
- Uma pontuação de composicionalidade baseada na distância de Levenshtein sobre as sequências de primitivas aprendidas é menor para tarefas ricas em contato (Peg Insertion 0,24, Wipe 0,67) do que para as preênseis (Lift e Door 1,0)
- Um esboço de tarefa aprendido pode ser reutilizado em uma tarefa semelhante, de modo que só os parâmetros das primitivas precisam ser aprendidos
Principais resultados
- Sucesso final médio em oito tarefas simuladas: MAPLE 90 %, Atomic SAC 19 %, Flat 36 %, Open Loop 41 %, DAC 11 %, MAPLE sem ações atômicas 79 %
- O ganho sobre a linha de base Atomic é apresentado como um aumento de 70 % na introdução e como sucesso 71 % maior com recompensas 2-3× maiores na seção de resultados
- O artigo descreve o MAPLE como o único método que resolveu de forma consistente todas as tarefas de braço único do benchmark padrão robosuite
- Transferir o esboço da tarefa Pick and Place com lata de refrigerante para uma variante com pão aprendeu a tarefa-alvo mais de 5× mais rápido do que treinar do zero
- Sucesso no mundo real em 30 ensaios por tarefa: 93 % em Stack (97 % em simulação) e 83 % em Cleanup (93 % em simulação)
- O HIRO não conseguiu progredir e foi deixado de fora dos resultados
Limitações
- Os autores afirmam que ações atômicas podem preencher lacunas pequenas, mas não as grandes que exigem muitas ações de baixo nível, e que é preciso mais trabalho em exploração e atribuição de crédito
- As pontuações de affordance são definidas à mão a partir dos estados dos objetos; os autores citam affordances aprendidas como trabalho futuro
- Wipe continua difícil: o MAPLE atinge 42 % de sucesso nela
- Nos testes no mundo real, a arfagem, a guinada e a altura da mesa dos objetos foram fixadas no código para contornar erros de estimativa de pose, e as oclusões exigiram uma rotina de levantar e reestimar
- As falhas no mundo real vieram principalmente de preensões ruins repetidas ou do robô atingir os limites das juntas e acionar uma parada de segurança
Impacto na área
Vencedor do prêmio ICRA 2022 Outstanding Learning Paper, com 155 citações. Os autores disponibilizam código e vídeos na página do projeto.
Resumo
Tarefas de manipulação realistas exigem que um robô interaja com o ambiente por meio de uma sequência prolongada de ações motoras. Embora os métodos de aprendizado por reforço profundo tenham surgido recentemente como um paradigma promissor para automatizar comportamentos de manipulação, eles costumam ficar aquém em tarefas de horizonte longo por causa do ônus da exploração. Este trabalho apresenta o MAnipulation Primitive-augmented reinforcement LEarning (MAPLE), um arcabouço de aprendizado que amplia algoritmos padrão de aprendizado por reforço com uma biblioteca predefinida de primitivas de comportamento. Essas primitivas de comportamento são módulos funcionais robustos especializados em atingir objetivos de manipulação, como pegar e empurrar. Para usar essas primitivas heterogêneas, desenvolvemos uma política hierárquica que envolve as primitivas e instancia suas execuções com parâmetros de entrada. Demonstramos que o MAPLE supera as abordagens de referência por uma margem significativa em um conjunto de tarefas de manipulação simuladas. Também quantificamos a estrutura composicional dos comportamentos aprendidos e destacamos a capacidade do nosso método de transferir políticas para novas variantes de tarefas e para hardware físico. Vídeos e código estão disponíveis em https://ut-austin-rpl.github.io/maple
Links
- arXiv 2110.03655: https://arxiv.org/abs/2110.03655
- DOI 10.48550/arXiv.2110.03655: https://doi.org/10.48550/arXiv.2110.03655
- PDF: https://arxiv.org/pdf/2110.03655v1
- Página do projeto: https://ut-austin-rpl.github.io/maple