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.
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: <https://www.arduino.cc/>. Acesso em: 24/07/2015.
COPPELIA ROBOTICS. V-REP. Disponível em: <https://www.coppeliarobotics.com/>. Acesso em: 01/05/2015.
FREECAD. FreeCAD: An Open Source parametric 3D CAD modeler. Disponível em: <https://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.
Parabéns por esse trabalho, essas informações foram muito importantes, obrigado.
Ricardo Teixeira, ótimo trabalho.
Estou pesquisando melhor sobre o V-REP e sua publicação é muito interessante.
skype: marlon.davelli.vonbraun
obrigado.