Arquivo da tag: Robôs

Robôs no V-REP

V-REP: Plataforma Virtual para Experimentos com Robôs

Introdução

A robótica amadora tem ganhado cada vez mais notoriedade devido a simplificação dos processos de produção de peças mecânicas, obtenção de módulos sensores e implementação da placa de controle .

A produção de peças mecânicas para este propósito foi alavancada pela popularização das impressoras 3D, que conseguem imprimir, a partir da modelagem tridimensional em computador, peças para montagem de braços robóticos, engrenagens e entre diversas outras possibilidades.

A parte eletrônica, que foi um gargalo durante décadas, foi suavizada com uso da plataforma Arduino (2015) pelos projetistas. A demanda por módulos de sensores e outros circuitos fáceis de utilizar fomentou um mercado que se restringia a circuitos para hobbistas, que ainda eram complexos para a maioria das pessoas. Com o mercado produzindo módulos de fácil utilização que praticamente não necessita de soldagem, aproximou pessoas da plataforma Arduino, mesmo não sendo de áreas como eletrônica ou computação. A plataforma Arduino conta com uma comunidade que cresce cada vez mais. É possível encontrar na web uma infinidade de referências para a utilização do Arduino e dos módulos que podem ser acoplados à placa de prototipação.

Apesar da se ter facilitado a construção de soluções amadoras, ainda é relativamente caro desenvolver um projeto de um robô do zero. O processo deve passar por muitos experimentos e protótipos até chegar no projeto final. O que muitos destes hobbistas, ou mesmo profissionais, não sabem é que é possível utilizar programas para simulação para que seu projeto seja refinado antes de “botar a mão na massa” na construção física do robô. O objetivo deste artigo é apresentar um simulador que tem o propósito de criar e/ou utilizar plataformas robóticas já existentes no mercado e academia e que proporcionam um ambiente computacional simples e flexível.

Robôs no V-REP

Figura 1 – Diversos robôs disponíveis no V-REP.

V-REP: Virtual Robot Experimentation Platform

Existem diversos simuladores robóticos capazes de proporcionar um ambiente para a criação e/ou utilização de modelos computacionais de robôs. Estou focando no V-REP (do inglês, Virtual Robot Experimentation Platform) (COPPELIA ROBOTICS, 2015) porque tenho mais afinidade e por dispor de uma versão gratuita para fins educacionais . A Figura 1 mostra alguns dos robôs disponíveis no V-REP

O V-REP foi desenvolvido para a criação e simulação de robôs para diversas aplicações, tanto móveis quanto estáticos, de solo, aéreos ou aquáticos. Diversos modelos de robôs amplamente utilizados já estão disponíveis no V-REP para utilização, como o e-Puck e Kilobot. Nele também é possível desenvolver seus próprios robôs e os cenários para a simulação.

Figura 2 – Simulador V-REP, versão educacional.

Na Figura 2 é apresentada a interface do V-REP, onde se observa sua composição: a Cena é onde os elementos 3D são inseridos; a Hierarquia é onde se pode verificar todos os elementos que fazem parte da Cena; na área de Modelos é possível navegar e selecionar todos os elementos disponíveis pelo simulador e adicioná-los à Cena. Além dessas três áreas principais existe barra de ferramentas principal, que fica na parte superior logo abaixo do menu, e a barra de ferramentas secundária, que fica na lateral esquerda do V-REP.

O V-REP contém três tipos de motores de simulação de física para a execução de cálculos e simulação de elementos de maneira realística. Estes motores de simulação proporcionam os mais complexos comportamentos no ambiente de simulação que vão desde a criação de robôs seguidores de linha até robôs estacionários capazes simular o processo de soldagem e corte de materiais. Além disso, o V-REP permite a definição de características dos elementos como atrito, massa, momento de inércia etc. Essas características proporcionam a criação de ambientes de simulação realistas capazes de apresentar problemas iguais ou semelhantes, aos que ocorrem no funcionamento do robô real.

O simulador em questão também possibilita a criação de sólidos primitivos como: plano, disco, cubo, esfera e cilindro, com dimensões configuráveis de acordo com a necessidade. O Vídeo 1 (SILVA, 2015a) mostra um experimento de atrito no plano inclinado utilizando o V-REP.

Vídeo 1 – Atrito no plano inclinado no V-REP.

Outro ponto importante é a possibilidade de importar elementos 3D criados em outras ferramentas como o FreeCAD (2015), uma vez que a capacidade do V-REP de criar novos modelos é limitada. Os formatos suportados para importação são OBJ, DXF, 3DS, STL e CSV.

Cada projeto criado no V-REP inicia com uma Cena, como mostra a Figura 2. Observe que assim que o projeto é iniciado a Cena contém alguns elementos básicos como as luzes, as câmeras e o piso, que é o único elemento visual inserido na Cena quando criamos um novo projeto. Este piso aparece na Figura 2 como um plano quadrado com textura quadriculada e com 5 metros de lado. Cada quadrado na textura deste plano mede 0,5 metro de lado. Vale salientar que a origem do sistema coordenado é no centro deste plano e assim, a partir do centro, as coordenadas x e y estão no intervalo [-2,5, 2,5]. O tamanho e texturas deste plano são configuráveis no ambiente do V-REP. Além do piso, a Figura 2 também mostra um robô, o ProtoSwarBot, que eu desenvolvi enquanto estudava o V-REP.

No desenvolvimento do ProtoSwarBot foi possível verificar que há diversos tipos de sensores no V-REP. O ProtoSwarBot conta com sonar, acelerômetro, giroscópio e transceiver. Foram adicionados dois motores, um em cada roda, que não são objetos visuais mas fazem parte da mecânica funcional do simulador. É possível controlar o ProtoSwarBot aumentando o torque no motor via programação.

A linguagem de controle do V-REP é a Lua, uma linguagem de script muito simples. A biblioteca do V-REP é vasta e proporciona o controle de todos os elementos via programação. Permite ainda a criação de interface de controle em formato de janelas com botões e campos de entrada e apresentação de dados. O Vídeo 2 (SILVA, 2015b) mostra um exemplo de controle painel de controle interativo para tratar de coordenadas cartesianas e polares no V-REP.

Vídeo 2 – Coordenada polares e cartesianas com controle interativo.

O Vídeo 3 (SILVA, 2015c) mostra o ProtoSwarBot funcionando em modo “desvio de obstáculos”. É uma implementação rudimentar para fins expositivos apenas.

Vídeo 3 – Simulação do ProtoSwarBot – detecção de obstáculos.

Considerações Finais e Trabalhos Futuros

 Neste artigo foi apresentado uma ferramenta de simulação para robôs. É possível verificar que, com o auxilio do V-REP o esforço da construção de um robô, seja ele móvel ou estacionário, pode ser amenizado realizando simulações. É possível construir seu próprio robô e criar cenários experimentais para testar as funcionalidades desejadas e como elas se comportam.

Apesar da proposta de robótica o simulador não se limita a isto. É possível criar outros tipos de simulações como testes de algoritmos de comunicação e a criação de artefatos para aulas de diversas disciplinas como matemática, física e química.

Apesar da documentação disponível no site do V-REP, ainda é escasso o material disponível na web se comparado a outras plataformas de desenvolvimento. É preciso criar mais conteúdos apresentando a ferramenta e seus diversos aspectos de forma mais explicativa, sobre tudo o uso da linguagem Lua, por meio de artigos e vídeos.

Referências

Arduino. Disponível em: <http://www.arduino.cc/>. Acesso em: 24/07/2015.

COPPELIA ROBOTICS. V-REP. Disponível em: <http://www.coppeliarobotics.com/>. Acesso em: 01/05/2015.

FREECAD. FreeCAD: An Open Source parametric 3D CAD modeler. Disponível em: <http://www.freecadweb.org/>. Acesso em: 01/05/2015.

SILVA, R. T. DA. Atrito no Plano Inclinado. Disponível em: <https://youtu.be/Rw8Pjlp_qN8>. Acesso em: 4/5/2015a.

SILVA, R. T. DA. Coordenadas Polares e Cartesianas. Disponível em: <https://www.youtube.com/watch?v=bWGb2k6yatw>. Acesso em: 5/5/2015b.

SILVA, R. T. DA. Simulação do ProtoSwarBot – detecção de obstáculos. Disponível em: <https://www.youtube.com/watch?v=_LHL_mZ4VGo>. Acesso em: 23/07/2015c.