V-REP é uma plataforma flexível e escalável para robomodelagem. Continuação do artigo
Apresento a você a tradução da segunda parte do artigo, cuja primeira parte já publicamos, pode ser encontrada aqui .Na primeira parte, nos familiarizamos com o ambiente de modelagem do V-REP, examinamos os métodos de controle de modelagem e as possibilidades de implementar o V-REP na modelagem.Agora vamos estudar as funções de modelagem no V-REP e considerar vários exemplos de uso da plataforma V-REP.Funções de modelagem doV-REP O V-REP é desenvolvido com base em uma arquitetura universal e não possui um módulo principal ou central. Em vez disso, o V-REP consiste em grupos funcionais relativamente separados que podem ser ativados ou desativados conforme necessário.Imagine um cenário de simulação em que um robô industrial precise pegar caixas e movê-las para outro local. O V-REP calcula a dinâmica de capturar e segurar a caixa e, para outras partes do ciclo, quando os efeitos dinâmicos são desprezíveis, realiza modelagem cinemática. Essa abordagem permite calcular os movimentos de um robô industrial com rapidez e precisão, o que não funcionaria se a simulação fosse completa usando bibliotecas dinâmicas complexas. O uso de uma simulação híbrida é justificada quando o robô é rigidamente fixo e não está sob a influência do ambiente.Além da inclusão seletiva adaptativa de várias funcionalidades, o V-REP pode usá-las juntas, forçando uma a interagir com a outra. Por exemplo, ao modelar um robô humanóide, o V-REP pode processar os movimentos das pernas da seguinte maneira: primeiro, a cinemática inversa para cada perna é calculada (ou seja, a posição total de toda a perna é calculada a partir da posição e orientação desejada do pé); então as posições das juntas são calculadas como alvos para o módulo de dinâmica. Isso permite que você defina os movimentos humanóides de uma maneira muito universal, pois para cada perna será atribuído um movimento de repetição do caminho tridimensional: os cálculos restantes são realizados automaticamente.A funcionalidade refere-se a objetos de script específicos ou módulos de cálculo específicos, cada um dos quais é descrito abaixo.Objetos de simulação .Os modelos de simulação V-REP contêm vários objetos ou elementos que são montados em uma hierarquia de árvore. As seguintes cenas de simulação são suportadas pelo V-REP:• Juntas : Elementos que vinculam dois ou mais objetos de cena, proporcionando um a três graus de liberdade (prismático, rotacional, helicoidal ou esférico). Eles podem trabalhar em vários modos (por exemplo, no modo de potência / rotação, cinemática inversa etc.)• Formas : malhas poligonais triangulares usadas para modelar e visualizar um corpo sólido.• Sensores sem contato (Figura 3): Eles calculam a distância mínima exata à parte da figura que está dentro do intervalo de detecção. Isso fornece uma simulação contínua e mais realista do que a detecção, com base em um grande número de raios direcionais.• Sensores visuais: os sensores visuais permitem extrair imagens e informações complexas das cenas de modelagem (cores, tamanho dos objetos, profundidade do mapa etc.). A função integrada de filtragem e processamento de imagem lança um bloco de elementos de filtragem. Sensores visuais usam aceleração de hardware para obter imagens RAW (suporte OpenGL).• sensores de força: eles são elos físicos entre as figuras que podem registrar as forças e torques aplicados e que podem quebrar quando um determinado limite é excedido.• Gráficos : os gráficos podem gravar uma grande variedade de fluxos de dados predefinidos ou do usuário. Os fluxos de dados podem ser exibidos diretamente (gráfico de tempo de um determinado tipo de dado) ou em combinação entre si para exibir gráficos X / Y ou curvas 3D.• Câmeras : permitem visualizar cenas que dependem do ponto de vista.• Iluminação : ilumina a cena ou objetos individuais na cena e afeta câmeras ou sensores visuais.• maneiras: determinam um movimento complexo no espaço (uma sequência de translações, rotações e / ou pausas combinadas livremente) e são usadas, por exemplo, para direcionar a tocha de soldagem do robô ao longo de um determinado caminho ou permitir que você especifique o movimento da correia transportadora.• Pontos de material : são sistemas de referência auxiliares que podem ser usados para várias tarefas. Usado principalmente em combinação com outros objetos na cena.• Mills : pode ser utilizado para imitar a superfície das operações de corte sobre a forma (por exemplo, fresagem, corte a laser, etc).
Módulos computacionaisObjetos de simulação raramente são usados de forma independente; eles funcionam em conjunto com outros objetos (por exemplo, o sensor de proximidade detecta formas). Além disso, o V-REP oferece vários módulos de cálculo que podem trabalhar diretamente em uma ou mais cenas de simulação. A seguir, estão os principais módulos de cálculo:• Módulo Cinemático : permite executar cálculos cinemáticos (diretos e inversos) para qualquer tipo de mecanismo (ramificado, fechado, redundante, contendo loops aninhados, etc.). O módulo é baseado no cálculo dos mínimos quadrados esmaecidos.• módulo dinâmico: permite ajustar a dinâmica do cálculo de sólidos e interações (colisão, aderência etc.) usando a Bullet Physics Library e o Open Dynamics Engine. As simulações de sistemas dinâmicos ainda estão no estágio inicial e geralmente são baseadas em indicadores aproximados. Para confirmar os resultados, é importante confiar não apenas em um mecanismo físico.• Módulo de detecção de colisão: permite verificar rapidamente colisões entre qualquer forma ou conjunto de formas. Este módulo é completamente independente da resposta dos algoritmos para o cálculo da dinâmica do módulo. Estruturas de dados baseadas na árvore binária de caixas retangulares são usadas para aceleração. Otimização adicional é alcançada através de técnicas de armazenamento em cache.•Módulo de cálculo de distância (módulo Mech-mech) : permite minimizar rapidamente a distância de cálculo entre qualquer forma (convexa, côncava, aberta, fechada etc.) ou um conjunto de formas. O módulo usa as mesmas estruturas de dados que o módulo de detecção de colisão.• Módulo de planejamento de movimento : planejamento manual de tarefas holonômicas e não-holonômicas, usando uma abordagem baseada no algoritmo Random Tree de exploração rápida (RRT) . As tarefas de planejamento de caminhos cinemáticos também são suportadas.Para versatilidade, os módulos acima são implementados de forma geral. Os objetivos de sua integração com o V-REP são um pouco semelhantes à integração de scripts internos, descritos na primeira parte do artigo. A grande maioria das simulações ou modelos de simulação não requer ferramentas específicas, um conjunto suficientemente bom de ferramentas básicas. Se as ferramentas estiverem integradas ao simulador e as tarefas relacionadas diretamente ao modelo de simulação forem definidas, o modelo se tornará extremamente fácil de transportar. O modelo de simulação é iniciado em outra máquina ou plataforma usando um arquivo de modelo: não há necessidade de recompilar, instalar ou reiniciar o plug-in. Da mesma forma, isso torna os modelos altamente escalonáveis: a duplicação do modelo mantém a funcionalidade sem a necessidade de alterar o código-fonte.O processo de duplicação pode ser realizado mesmo durante o processo de simulação.A abordagem tradicional para expandir a funcionalidade com plug-ins para suportar um modelo de simulação específico também é suportada no V-REP.ExemploEm alguns casos, é impossível usar o controlador separadamente da entidade simulada. Como regra, isso acontece quando se trabalha com o controlador principal do robô, que inclui elementos muito complexos. Ou quando o controlador deve ser executado nativamente. Mas, por outro lado, é realmente necessário criar seu próprio plugin para cada sensor pequeno, novo recurso adicional ou função pequena? Os três exemplos a seguir ilustram a versatilidade e portabilidade atraentes dos modelos de simulação oferecidos no V-REP.1) Modelo de scanner a laserA Figura 4 mostra um modelo de um scanner a laser no V-REP. O modelo consiste em um alojamento ou caixa, uma dobradiça, um sensor de proximidade instalado na dobradiça.O script filho de interrupção é anexado ao corpo do sensor e é responsável por mover a junta para um determinado ângulo, lendo o sensor de proximidade, gerando linhas primitivas na cena de modelagem (e pontos de contato) e depois movendo-se para a próxima posição angular. Como o script filho é executado no encadeamento principal, ele processa exatamente quantas posições angulares da articulação que essa articulação se moveu durante a simulação.Você pode arrastar o modelo para a cena da simulação e ele começará a funcionar imediatamente. O modelo inteiro é colocado em um arquivo, também adequado para uso direto em outras plataformas e é compatível com os V-REPs atuais e futuros. Um modelo pode ser duplicado quantas vezes for necessário e seu código de controle pode ser alterado, se necessário.
Outros modelos podem ser criados da mesma maneira, seja uma caneta para pintura, um bico de pintura, uma alça, uma câmera de detecção de borrões ou um robô inteiro.2) Modelo de simulação do manipulador paraleloA Figura 5 mostra um modelo de um manipulador paralelo controlado no modo de cinemática direta a partir de um aplicativo externo conectado por meio de uma API remota. Para lidar corretamente com todas as restrições, o modelo funciona através do módulo de cinemática V-REP. Como todos os problemas cinemáticos associados a isso estão vinculados a um modelo, esse modelo é auto-suficiente, duplicado facilmente e executado em outras plataformas. A escala física do modelo, que é outro recurso suportado pelo V-REP, ajustará automaticamente todas as tarefas cinemáticas (entre outras) e deixará a cinemática interna consistente sem a necessidade de alterar o código.
3) Um modelo de simulação de uma pessoa inteligenteA Figura 6 mostra um modelo de simulação de uma pessoa executando as tarefas de planejar uma trajetória entre sua posição atual e a posição final desejada. Enquanto a própria tarefa de planejamento de caminhos é executada no módulo de planejamento de caminhos V-REP, um script filho anexado ao modelo chama o cálculo das ações dos braços e pernas, as coloca em ação e move o modelo corretamente ao longo do caminho calculado. Nesse caso, o modelo também é totalmente autônomo e totalmente portátil.
ConclusãoO V-REP é um ambiente de modelagem versátil e escalável. Oferecendo muitas técnicas de programação diferentes para controladores, bem como a capacidade de integrar controladores e funções em modelos de simulação, facilita a execução de programadores e reduz a complexidade da implantação para os usuários.Até o momento, o V-REP passou a ser um robusto e amplamente utilizado simulador de robô e controlador, amplamente utilizado nas áreas científica e industrial. Ele executa uma variedade de tarefas: desde a verificação do sistema, otimização de algoritmos, modelagem de circuitos complexos de montagem em automação industrial até agendamento de tarefas para robôs e controladores.Autor do artigo: marc@coppeliarobotics.comEric Romer, professor da Universidade Estadual de Campinas, BrasilSurya Singh, professora da Universidade de Queensland, AustráliaMark Frieze, CEO da Coppelia Robotics, Suíça.Tradução: Ales Khanieva, campus do Robotnopark Navigator, Kazan.Source: https://habr.com/ru/post/pt385725/
All Articles