V-REP - Uma plataforma de robomodelagem flexível e escalável
Recentemente, me deparei com um artigo divertido sobre uma plataforma de robomodelagem em inglês. E como eu represento o parque tecnológico de robótica do campus Navigator e nossas atividades estão amplamente relacionadas à modelagem, robótica e eletrônica, pensei que seria muito legal traduzir este artigo e trazê-lo para as massas. Espero que a tradução seja útil.A propósito, já havia uma publicação sobre o tema do robosimulador V-REP , então eu recomendo a leitura.Hoje, as possibilidades de usar a robótica são enormes, os robôs são usados em todos os lugares, da exploração de planetas à limpeza de casas. A combinação de três subsistemas em robôs: o atuador, o sensor e o controle os torna eficazes no mundo real, mas complica a simulação virtual. Neste artigo, queremos apresentar a estrutura para simulação de sistemas robóticos - V-REP.IntroduçãoO crescimento exponencial do poder computacional dos computadores (sem mencionar o hardware para gráficos tridimensionais), juntamente com o advento de um grande número de softwares e eletrônicos de código aberto, alteraram bastante os sistemas de simulação virtual de robôs em 3D. Houve uma oportunidade não apenas de complicar o ambiente de trabalho, mas também de garantir o lançamento de sistemas robóticos físicos em tempo real, além de incluir na simulação sistemas móveis / embarcados controlados diretamente do ambiente.Em princípio, é possível montar o simulador de forma independente a partir de várias bibliotecas cinemáticas, físicas e gráficas, e a arquitetura e a metodologia utilizadas serão de importância decisiva em termos de desempenho e precisão da simulação. Uma abordagem sistemática robusta requer o uso de estratégias de modelagem universais e escalonáveis.De fato, o principal objetivo do simulador é fornecer um grande número de ferramentas e recursos para simulação. Existem dificuldades com isso, porque a variedade de sistemas robóticos não nos permite prever as especificidades do simulador. Além disso, alguns usuários precisam de uma abordagem flexível que permita trabalhar com uma linguagem de programação simples, além de tornar o simulador portátil, adequado para todos os tipos de modelos de robô e, o mais importante, escalável.Atualmente, existem várias plataformas de modelagem disponíveis, como Open HRP , Gazebo ou Webots. Apesar de essas plataformas oferecerem funcionalidade suficiente, elas não podem oferecer uma ampla variedade de recursos e técnicas de programação mutuamente complementares. Seus modelos e controladores de simulação são apenas parcialmente portáteis, eles têm vários problemas e, portanto, requerem processamento separado. Por exemplo, muitas vezes é necessário recompilar o código para várias plataformas de hardware, ou pode ser necessário ajustar cuidadosamente o modelo e o controlador simulados retirados de dois arquivos diferentes, ou você precisa de suporte à escalabilidade e é feito por meio de algoritmos codificados pouco conhecidos.O simulador V-REP é o resultado de tentativas para atender a todos os requisitos de versatilidade e escalabilidade do ambiente de modelagem. Juntamente com as abordagens de modelagem tradicionais de outros simuladores, o V-REP adiciona várias abordagens adicionais. Também nesta parte do artigo, consideraremos a arquitetura de controle do V-REP, a tecnologia de scripts internos que substituem vários tipos de controladores no modelo de simulação, o que torna esses modelos extremamente portáteis e escaláveis.Na segunda parte do artigo, consideraremos, no geral, a funcionalidade do sistema de modelagem e sua integração nos modelos de simulação. Além disso, como exemplo, três modelos de simulação práticos criados no V-REP e sua implementação serão considerados.Quando é necessário criar cenas complexas, não há opção melhor do que usar um sistema de controle distribuído. Essa abordagem simplifica a tarefa, separando o gerenciamento de assuntos, acelera a modelagem, distribui a carga do processador por vários núcleos ou várias máquinas, e isso permite controlar a execução de algoritmos. No entanto, existem requisitos de modelagem que não devem ser esquecidos para atingir esse objetivo.Visão geral das técnicas de gerenciamento de simulação.O código de simulação de controle é executado usando os três métodos a seguir:1. O código de controle é executado em outra máquina.O código pode ser executado em uma máquina separada ou em um robô conectado a um simulador de máquina por meio de um barramento específico (por exemplo, um conector, uma porta serial, etc.). A principal vantagem dessa abordagem é a originalidade do controlador (o código de controle é nativo e funcionará no equipamento original). Outra vantagem é a carga computacional reduzida na simulação da máquina. No entanto, essa abordagem impõe sérias limitações na sincronização com o ciclo de simulação.2. O código de controle é executado na mesma máquina, mas em um processo (ou outro encadeamento) diferente do ciclo de simulação.Com esse método, também podemos usar uma carga reduzida e equilibrada nos núcleos do processador, mas isso será acompanhado por uma falta de sincronização com o ciclo de simulação. Na maioria das vezes, esse processo é combinado com atraso na comunicação ou atrasos na alternância. Esse método geralmente é implementado por meio de programas executáveis externos ou plugins carregados no simulador.3. O código de controle é executado na mesma máquina e no mesmo encadeamento do ciclo de simulação.A principal vantagem dessa abordagem é a sincronização com o ciclo de simulação, a ausência de atrasos. No entanto, esse método se torna possível apenas com um aumento na carga computacional no processador. Esse método geralmente é implementado através de plugins carregados no simulador.As desvantagens mais comuns dos métodos acima são baixa portabilidade e baixa escala de modelos de simulação: como o código de controle não está vinculado ao modelo de simulação correspondente, ele deve ser distribuído, compilado e instalado separadamente. Isso aumenta o número de problemas de compatibilidade em plataformas diferentes, bem como o número de conflitos com outras bibliotecas. A flexibilidade também é reduzida porque você precisa recompilar e recarregar o executável para cada pequeno código de modificação. Uma cópia do modelo, como no caso da modelagem de vários robôs, será suportada por mecanismos de ligação que lançam novos controles para cada instância do modelo de simulação.Implementação do V-REP .O V-REP permite ao usuário usar várias possibilidades para modelagem: (Tabela 1 e Fig. 2)

Scripts internos Esse
é o recurso distintivo mais poderoso do V-REP. O principal script lua do loop de simulação ( “ ”) — . , . . , , . , . : , , , , . . 3 II.
, , V-rep lua. ( /), ( ).
V-REP . lua, . . /, . API , ROS (. . ) .
API
API V-REP V-REP . API API . (C/C++, Python, Java, Matlab & Urbi) , , , . , : API , . ( ), ( , / ). API, , , ROS .
ROS
V-REP ROS , ROS V-REP ROS , ROD /. / , .
: marc@coppeliarobotics.com
, ,
, ,
, Coppelia Robotics, .
: , , . .
Source: https://habr.com/ru/post/pt383009/
All Articles