You are on page 1of 21

0

UNIVERSIDADE ESTADUAL DO RIO GRANDE DO SUL


UNIDADE UNIVERSITÁRIA PORTO ALEGRE
CURSO SUPERIOR DE TECNOLOGIA EM AUTOMAÇÃO INDUSTRIAL

BRUNO LUIZ DE PIZZOL

AS CARACTERÍSTICAS DO SIMULADOR DE ROBÓTICA V-REP E UMA


PEQUENA DEMOSTRAÇÃO DE USO COM ROBO AUTÔNOMO

PORTO ALEGRE
2018
1

BRUNO LUIZ DE PIZZOL

AS CARACTERÍSTICAS DO SIMULADOR DE ROBÓTICA V-REP E UMA


PEQUENA DEMOSTRAÇÃO DE USO COM ROBO AUTÔNOMO

Trabalho apresentado como requisito


parcial para obtenção de conceito na
disciplina de robótica do curso de
Tecnólogo em Automação Industrial da
Universidade Estadual do Rio Grande do
Sul.

Professor: Prof. Dr. Daniel Sander


Hoffmann.

PORTO ALEGRE
2018
2

RESUMO

No meio acadêmico, especialmente nas áreas das engenharias, física, dentre outras
ciências exatas, estudantes e profissionais enfrentam situações onde a ausência de
abordagens mais práticas acabam dificultando o aprendizado, causando desinteresse
e até mesmo evasão. Uma forma de tornar o processo de aprendizado mais dinâmico
e prático é utilizando ferramentas que permitam demonstrar, por meio de simulações,
exemplos de como a teoria funciona na prática. Além disso, ferramentas de simulação
também podem ser empregadas para validação de soluções, evitando gastos
financeiros com o desenvolvimento protótipos. Este trabalho demonstra a utilização
da plataforma de simulação V-REP, que pode ser utilizada para fins de ensino bem
como para a modelagem, controle e execução de simulações em trabalhos
acadêmicos. Também é apresentado como foi possível utilizar o VREP para a
realização de simulações em uma pesquisa de um robô terrestre que realiza a busca
por alvos em um ambiente tridimensional. Durante a busca é simulada a comunicação
entre os robôs e é realizado o mapeamento do ambiente.

Palavras-chaves: Robôs autônomos. Simulação de robótica. Manipulador.


3

ABSTRACT

There is no academic environment, especially in the areas of engineering, physics,


among others students and professionals facing situations where the absence of more
finished end up making learning difficult, causing disinterest and even avoidance. The
way to become the most dynamic and professional learning process is used to
demonstrate program performance. In addition, simulation tools can also be used to
validate solutions, avoiding the use of funds with the development of prototypes. This
work demonstrates the use of the modeling platform, control and execution of
simulations in academic works. It is also possible that VREP was used to perform
simulations in a search of a terrestrial robot that performs a target search in a three-
dimensional environment. During the search is simulated a communication between
the robots and the mapping of the environment is carried out.

Keywords: Internship. Robotic simulation. Manipulator.


4

SUMÁRIO

1. INTRODUÇÃO ........................................................................................................ 5
1.2 OBJETIVOS ..................................................................................................... 5
2. REFERENCIAL TEÓRICO...................................................................................... 6
2.1 SIMULAÇÃO .................................................................................................... 6
2.2 ROBOS AUTONOMOS .................................................................................... 7
3. METODOLOGIA ..................................................................................................... 8
3.1 INTERFACE DE PROGRAMAÇÃO DE APLICAÇÕES ................................... 8
3.2 OBJETOS DE CENA ....................................................................................... 9
3.3 MÓDULO DE CALCULO.................................................................................. 9
3.4 DINÂMICA...................................................................................................... 10
3.4.1 BIBLIOTECA DE FÍSICA BULLET ............................................................ 10
3.4.2 OPEN DYNAMICS ENGINE (ODE) .......................................................... 11
3.4.3 VORTEX DYNAMICS................................................................................ 11
3.4.4 NEWTON DYNAMICS .............................................................................. 11
3.5 FORMAS DE MODELAR UM ROBO NO V-REP ........................................... 11
3.6 DEMONSTRAÇÃO DE USO COM ROBÔ AUTONOMO ............................... 12
5. ANÁLISE............................................................................................................... 18
6. CONCLUSÃO ....................................................................................................... 19
REFERÊNCIAS ......................................................................................................... 20
5

1. INTRODUÇÃO

Durante os cursos de robótica, existem vários aspectos que são melhor


compreendidos se estudados com robôs, por exemplo, entender que pra controlar a
velocidade do robô se faz necessário um controlador proporcional para que os alunos
observem como os erros de movimento se acumulam com o passar do tempo.
Por mais que existam robôs educacionais no mercado hoje em dia, para muitas
instituições de ensino a aquisição deste para experimentos em salas de aula se torna
inviável pelos altos preços. Simulações computacionais são uma solução, desde que
simulador tem um preço baixo ou versão gratuita para estudantes e precisão
satisfatória. Obviamente, as diferenças na arquitetura entre robôs e computadores são
geralmente perceptíveis também em nível de software. Isso resulta em menos
portabilidade de código entre robôs reais e simulações de computador e é propenso
a erros.
Um desenvolvimento robótico framework, como o Sistema Operacional de
Robô (ROS), pode fornecer uma solução. O ROS consiste em um conjunto de pacotes
de software de alto nível que permitem para o desenvolvimento de comportamentos
de uso geral que são portáteis de uma plataforma para outra.
Este artigo aborda as funcionalidades da plataforma Virtual Robot
Experimentation Platform (V-REP) e uma demonstração de um robô autônomo, essa
plataforma foi desenvolvida ao longo de vários anos com colaboradores do mundo
todo, inclusive a plataforma é compatível com a linguagem LUA (desenvolvida pela
PUC-Rio). Possuindo uma API com mais de 300 funções que abrange o
funcionamento de sensores de proximidade, visual, toque entre outros. Os
desenvolvedores e alguns usuários o classificam como o canivete suíço dos
simuladores de robótica e limite é a imaginação do usuário.

1.2 OBJETIVOS

Para este trabalho os principais objetivos são demonstrar as funcionalidades e


uma simulação de robô autônomo do programa de simulação Virtual Robot
Experimentation Platform.
6

2. REFERENCIAL TEÓRICO

Nesta sessão serão abordados os referenciais de pesquisa com o objetivo de


clarear os entendimentos e os conceitos mais importantes para compreensão deste
trabalho.

2.1 SIMULAÇÃO

A simulação computacional de sistemas, consiste na utilização de algumas


técnicas matemáticas, empregadas em computadores, as quais permitem imitar o
funcionamento de, praticamente qualquer tipo de operação ou processo do mundo
real, ou seja, é o estudo do comportamento de sistemas reais através do exercício de
modelos.
Entre diversas definições para a simulação, podemos citar a de Pegden (1990)
que diz “a simulação é um processo de projetar um modelo computacional de um
sistema real e conduzir experimentos com este modelo com o propósito de entender
seu comportamento e/ou avaliar estratégias para sua operação”. Desta maneira,
podemos entender a simulação como um processo amplo que engloba não apenas a
construção do modelo, mas todo o método experimental que se segue, buscando
descrever o comportamento do sistema e construindo teorias, hipóteses considerando
as observações efetuadas.
Uma definição mais prática é aquela proposta por Kelton, Sadowski & Sadowski
que diz “simulação é o processo de projetar e criar um modelo em um computador de
um sistema real ou proposto para o propósito de conduzir experimentos numéricos
para nos dar uma melhor compreensão do comportamento de um dado sistema dada
uma série de condições.”
Ainda com relação à simulação podemos citar a definição a de Law & Kelton
que considera a simulação como uma técnica que utiliza computadores para imitar as
operações de vários tipos de processos e facilidades do mundo real. Ou ainda a
definição de Banks que afirma “a simulação é a imitação da operação de um processo
ou sistema do mundo real ao longo do tempo.”
7

2.2 ROBOS AUTONOMOS

Robôs autônomos são robôs capacitados para realizar os objetivos desejados


em ambientes que sejam desestruturados sem a ajuda humana. Geralmente os robôs
tem uma autonomia, que de certa forma, é limitada, existem diferentes tipos de robôs
podem ser autônomos de diferentes formas. A definição de robô é “maquina
controlada por computador” e são programadas para mover, manipular objetos e
realizar diversos trabalhos.
Este projeto será implementado com teorias e estudos de robótica móvel. Por
este motivo segue alguns tipos, aplicações e funcionalidades técnicas neste
documento.
Alguns robôs podem funcionar em circunstâncias menos controladas do que
outros robôs. Eles possuem diversos sensores que lhes permitem captar as
informações do ambiente. Robôs inteligentes usam estas informações para decidir
como vão agir, podendo adaptar-se melhor ao ambiente no qual estão inseridos. Por
exemplo: um robô chão de fábrica inteligente, pode percorrer seu caminho em uma
fábrica seguindo uma linha no chão, realizando todas as entregas programadas
previamente pelo usuário, ele pode desviar de obstáculos e pessoas no seu caminho.
Também poderia identificar quando está com pouca energia e se plugar em uma
estação de recarrega de energia. Atualmente os robôs estão divididos em 4 grupos:

1. Automated Guided Vehicle (AGV);


2. Robôs utilizando Inteligência Artificial;
3. Robôs para navegação;
4. Robôs Interplanetários que são utilizados para explorações de outros planetas.

Na tentativa de classifica-los pelas suas diversas formas e características


(ressaltando que nenhuma destas formas é oficialmente definitiva), tem-se dividido
então, em 3 formas:

1. Anatomia;
2. Funcionalidade;
3. Tipos de Controle.
8

3. METODOLOGIA

Esta sessão visa descrever algumas das funcionalidades mais importantes do


simulador de um modo geral, não atentando muito em detalhes ou conceitos técnicos
muito específicos. Inicialmente apresentando as interfaces de programação e suas
características, logo após serão abordados os objetos de cena, que são o que os
efeitos visuais e que deixam a simulação mais realista, posteriormente serão
apresentados os módulos de cálculo que descreve de forma sucinta a cinemática dos
movimentos e o planejamento de rotas através da matemática, a dinâmica que
engloba as famosas engines ou motor gráfico que são conjuntos de bibliotecas para
simplificar e abstrair as aplicações com renderização de gráficos 2D ou 3D em tempo
real, as duas formas possíveis de se modelar um robô no simulador e por fim, a
demonstração de um robô autônomo.

3.1 INTERFACE DE PROGRAMAÇÃO DE APLICAÇÕES

O V-REP Possui 7 APIs de programação, sendo elas remotas (C/C++, Python,


Java, Matlab, Octave e Urbi) ou regulares (C/C++, Lua).
A API regular é composta por várias centenas de funções que podem ser
chamadas a partir de um aplicativo em C / C ++ ou através de um script incorporado.
As funções e constantes podem ser facilmente reconhecidas pelo seu prefixo por
exemplo: sim.handleCollision. Existe também uma API remota, que permite controlar
uma simulação ou o próprio simulador de um aplicativo externo ou de um hardware
remoto como por exemplo, movimentar um robô virtual na simulação por meio de um
controlador remoto. Originalmente esta opção é desabilitada, tornando necessário
habilitar o script principal para inicializar o sistema como servidor.
Todas as unidades que vão ou vêm da API estão em metros, quilogramas,
segundos e radianos ou uma combinação delas (a menos que indicado explicitamente
de outra forma). As unidades da interface do usuário estão em metros, quilogramas,
segundos e graus. Na Figura 1, tem-se um esboço das interfaces de programação.
9

Figura 1: Esboço API

Fonte: Coppelia Robotics (2015).

3.2 OBJETOS DE CENA

Estes ficam responsáveis pela parte cinematográfica, na Figura 2, que


demostra através de alguns símbolos visuais, estes são, câmeras, iluminação,
espelhos, juntas...

Figura 2: Objetos de cena

Fonte: Coppelia Robotics (2015).

3.3 MÓDULO DE CALCULO

Com o objetivo de facilitar o uso, o software conta com alguns módulos de


cálculo, vistos na Figura 3, que são bastante úteis como por exemplo a detecção de
colisão entre robôs durante a trajetória de movimentos, módulos de cinemática direta,
onde deseja-se obter a posição e velocidade do efetuador, para uma dada posição
das articulações ou cinemática inversa, que é o oposto da cinemática direta, ou seja,
10

são fornecidas a posição e a velocidade do efetuador e quer se obter as posições e


velocidades correspondentes das articulações, módulos para o planejamento de rotas
nos movimentos em qualquer um dos planos cartesianos.

Figura 3: Módulos de calculo

Fonte: Coppelia Robotics (2015).

3.4 DINÂMICA

O módulo de dinâmica do V-REP atualmente suporta quatro diferentes


mecanismos de física: a biblioteca de física Bullet, o Open Dynamics Engine, o
mecanismo Vortex Dynamics e o mecanismo Newton Dynamics. A qualquer momento,
o usuário está livre para alternar rapidamente de um motor gráfico para outro, de
acordo com suas necessidades de simulação. A razão para essa diversidade no
suporte ao mecanismo de física é que a simulação física é uma tarefa complexa, que
pode ser obtida com vários graus de precisão, velocidade ou com o suporte de
diversos recursos.

3.4.1 BIBLIOTECA DE FÍSICA BULLET

Um mecanismo de física de código aberto com detecção de colisão 3D,


dinâmica de corpo rígido e dinâmica de corpo mole (recurso que atualmente não é
suportado no V-REP). É usado em jogos e em efeitos visuais em filmes. Muitas vezes,
é considerado como um mecanismo de física do jogo. Sherlock Holmes
11

3.4.2 OPEN DYNAMICS ENGINE (ODE)

Um mecanismo de física de código aberto com dois componentes principais:


dinâmica rígida do corpo e detecção de colisão. Ele tem sido usado em muitos
aplicativos e jogos. Muitas vezes, é considerado como um mecanismo de física do
jogo.

3.4.3 VORTEX DYNAMICS

Um motor de física comercial de fonte fechada que produz simulações físicas


de alta fidelidade. O Vortex oferece parâmetros reais (isto é, corresponde a unidades
físicas) para um grande número de propriedades físicas, tornando este mecanismo
realista e preciso. O Vortex é usado principalmente em aplicações industriais e de
pesquisa de alto desempenho / precisão. O plugin Vortex para o V-REP é baseado no
Vortex Studio Essentials, que requer que cada usuário se registre no CM Labs, para
obter uma chave de licença gratuita.

3.4.4 NEWTON DYNAMICS

Newton Dynamics: Newton Dynamics é uma biblioteca de simulação de física


realística de plataforma cruzada. Ele implementa um solucionador determinista, que
não é baseado no tradicional LCP ou métodos iterativos, mas possui a estabilidade e
a velocidade de ambos respectivamente. Esse recurso faz da Newton Dynamics uma
ferramenta não apenas para jogos, mas também para qualquer simulação física em
tempo real. A implementação atual do plugin é uma versão BETA.

3.5 FORMAS DE MODELAR UM ROBO NO V-REP

A modelagem da de um robô pode ser feita a partir de duas formas, se for para
projetos simplórios, ou seja, projetos que não necessitam de um design bem definido,
como por exemplo para usar como estudo de movimentos pode-se modelar por meio
dos elementos básicos dispostos no software (planos, circulo, cubo, cilindro...) e
segunda utilizando CAD.
12

3.6 DEMONSTRAÇÃO DE USO COM ROBÔ AUTONOMO

A potencialidade dos robôs manipuladores é inegável, porém a sua limitação


espacial devido à sua incapacidade de se deslocarem torna-se um fator que induz ao
desenvolvimento dos robôs móveis. Os robôs móveis por sua vez, são um
equipamento bastante útil, dado que podem viajar no ambiente para executar as suas
tarefas. Podemos ainda acoplar um robot manipulador e as suas potencialidades
podem ser ainda maiores. Estes robôs apareceram nos anos 50 criados por um
neurofisiologista fascinado pela robótica. Eram robôs simples que tinham como
principal função explorar o ambiente utilizando um sensor de luz, um sensor de
contato, um motor propulsor, uma roda de direção e um computador analógico.
Aqui será apresentada uma demonstração de modelagem e funcionamento do
robô autônomo manipulador Kuka Youbot conforme a Figura 4:

Figura 4: Terrestre KUKA Youbot

Fonte: Coppelia Robotics (2015).

As especificações da plataforma móvel são melhores definidas pela Figura 5,


a seguir.
13

Figura 5: Especificações da plataforma móvel

Fonte: Coppelia Robotics (2015).

Este robô utiliza as rodas do tipo Mecanum Wheel, conforme Figura 6, através
destas pequenas rodinhas passivas instaladas no perímetro da roda maior formando
um ângulo de 45° entre o eixo das rodas passivas e o plano da roda permite ele ande
em todas as direções sem precisar rotacionar.

Figura 6: Terrestre KUKA Youbot

Fonte: Coppelia Robotics (2015).

A plataforma dispõe apenas de rodas omnidirecionais, pelo que é necessário


que todas sejam ativas. Existe, então, um motor acoplado a cada roda, bem como um
encoder relativo e uma caixa de redução, com as características apresentadas na
Figura 7.
14

Figura 7: Especificações dos motores das rodas

Fonte: Coppelia Robotics (2015).

O Youbot vem acompanhado do braço robótico aumentando as potencialidades


do dispositivo. O braço 35 robótico é composto por 5 juntas tendo um volume de
trabalho do tipo esférico. A geometria das juntas e elos estão dispostas conforme a
Figura 8.

Figura 8: Juntas e elos

Fonte: Coppelia Robotics (2015).

O braço robótico dispõe de cinco graus de liberdade. Estes variam acionando


os cinco motores elétricos, para dispor a extremidade na posição desejada. Na
extremidade do braço podemos usar diversos dispositivos, contudo neste trabalho foi
usado a garra de dois dedos que vem equipada no braço do Youbot.
A matriz rotação, provém do sensor de orientação. Os cálculos internos na
máquina V-REP são feitos em sistema de quaterniões, porém será sempre
apresentado ao usuário os ângulos regendo-se pelos ângulos Euler, sendo assim, a
15

matriz de rotação é dada na Figura 9:

Figura 9: Matriz de rotação

Fonte: Coppelia Robotics (2015).

Na Figura 10, são mostrados os Ângulos de Euler.

Figura 10: Ângulos de Euler

Fonte: Coppelia Robotics (2015).

A matriz translação é composta por um vetor com três componentes em x, y e


z, a posição do robô em relação à origem, derivado do GPS, conforme Figura 11.

Figura 11: Matriz de translação

Fonte: Coppelia Robotics (2015).


16

O fator de escala será sempre unitário, visto não estar a ser usado este campo
para obtenção da posição. No final, com os dados da matriz rotação "R" e a matriz
translação "T" descrita anteriormente, na Figura 12, obtém-se a matriz transformação:

Figura 12: Matriz de transformação

Fonte: Coppelia Robotics (2015).

O sensor Hokuyo efetua várias medições a cada ciclo de escaneamento,


varrendo na horizontal um ângulo de 240°, para no final devolver uma matriz com
todas as medições efetuadas, sendo todas referenciadas à posição do sensor. É
pertinente informar que o sensor usado para a simulação é uma versão do sensor
Hokuyo. Esta versão disponibilizada pela plataforma V-REP, tem como objetivo
acelerar o processamento dos dados. Na Figura 13, está o sensor.
17

Figura 13: Sensor Hokuyo

Fonte: Coppelia Robotics (2015).


18

5. ANÁLISE

Ao contrário de muitos outros pacotes de software de simulação, o V-REP não


é somente simulador de dinâmica. Ele pode ser visto como um simulador híbrido que
combina cinemática e dinâmica para obter o melhor desempenho para vários cenários
de simulação. Atualmente, os mecanismos de física ainda dependem de muitas
aproximações e são relativamente imprecisos e lentos e, sempre que possível, você
deve tentar usar a cinemática (por exemplo, para manipuladores robóticos) e só
confiar em dinâmicas onde de outra forma não viável (por exemplo, uma pinça). Se
você estiver simulando um robô móvel que não deve colidir ou interagir fisicamente
com seu ambiente (que a maioria dos robôs móveis raramente faz), e que está
operando exclusivamente em solo plano (que agrupa a grande maioria dos robôs
móveis) então tente usar cálculos cinemáticos ou geométricos para simular o
movimento do robô.
19

6. CONCLUSÃO

Neste artigo foi apresentado uma ferramenta de simulação para robôs. É


possível verificar que, com o auxílio 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.
20

REFERÊNCIAS

FREESE, et al. Virtual Robot Experimentation Platform V-REP: A Versatile 3D


Robot Simulator. Simulation, Modeling, and Programming for Autonomous
Robots, Darmstadt, Novembro 2018. 51-62.

COPPELIA ROBOTICS. coppeliarobotic. V-REP Virtual Robot Experimentation


Platform. Disponivel em: <http://coppeliarobotics.com>. Acesso em: 02 Dezembro
2018.

PUC-Rio, G. (2015). The programming language lua. Disponivel em:


<http://www.lua.org/>. Acesso em: 02 Dezembro 2018.

You might also like