S-Educ: Um Simulador de Ambiente de Robótica
Educacional em Plataforma Virtual
Carla Fernandes and Luiz Marcos Garcia Gonçalves
Programa de Pós-Graduação em Engenharia
Elétrica e de Computação, UFRN, Natal, Brasil
{carlafcf}@gmail.com
{lmarcos}@dca.ufrn.br
Educational robotics is a teaching methodology that uses robotics kits on classes that include interdisciplinary or social themes. Robotic simulators allow a reduction of nancial costs, facilitate testing,
decrease the damage to the robot, and other benets. This paper proposes the development of a robotic simulator, called S-Educ, for use in
educational robotics classes in order to increase the adhesion of Brazilian
schools to the educational robotics methodology.
Resumo: A robótica educacional é uma metodologia de ensino em que
são utilizados kits de robótica em aulas que contemplam temas interdisciplinares ou sociais. Simuladores robóticos possibilitam uma redução
de custos nanceiros, facilitam os testes e diminuem os danos no robô,
além de outras vantagens. Este trabalho propõe o desenvolvimento de um
simulador robótico, chamado S-Educ, para ser utilizado em aulas de robótica educacional, de forma a aumentar a adesão das escolas brasileiras
à metodologia da robótica educacional.
Palavras-Chave: Simulador, Robótica Educacional, Ambiente Virtual
Abstract
Nível do aluno
Mestrando
12/12/2012
Este artigo não deve ser considerado no CTDR.
Data prevista da conclusão:
CTDR:
1
Introdução
A população é consumidora de tecnologia, e mesmo conhecendo os benefícios
destas inovações, muitos não possuem uência digital, já que as transformações
no mundo tecnológico são mais rápidas do que as transformações do sistema
educacional. A m de que a população, em particular os estudantes, usufrua das
ferramentas tecnológicas existentes, é necessário que sejam incluídas práticas
tecnológicas no ambiente educativo das escolas brasileiras.
A robótica educacional é um ambiente de aprendizagem rico e inovador, capaz de inserir novas tecnologias no âmbito acadêmico. Caracteriza-se como um
ambiente de trabalho em que os alunos têm a opção de montar e programar
seu próprio sistema robótico, por meio de observações e da própria prática [1,2].
2
S-Educ: Um Simulador de Ambiente de Robótica Educacional
Segundo [3], a robótica educacional pode tornar o ambiente escolar mais desaador, criativo e dinâmico, incentivando a criação e exploração de ambientes
interativos para o processo de ensino e aprendizagem de temas curriculares e
sociais.
Uma alternativa para tornar mais viável a implantação de aulas de robótica
educacional nas escolas brasileiras é a utilização de simuladores robóticos, permitindo que alunos se familiarizem com esta metodologia de ensino mesmo sem
a presença de um robô real, adquirindo conhecimentos relacionados a robótica,
programação, e temas interdisciplinares e gerais.
1.1 Motivação
Dentre os recursos necessários em uma aula de robótica educacional encontra-se o
kit de robótica, composto por controlador lógico programável, sensores, motores
e uma estrutura mecânica para a carcaça do robô [4]. De acordo com [5], kits
de robótica de sucata custam entre R$100,00 e R$400,00, enquanto que kits
importados podem custar até R$2.000,00. No entanto, pesquisas mostram que
não há uma boa relação entre a qualidade dos kits de robótica e seus custos no
Brasil. Enquanto os kits importados apresentam um alto custo, os kits nacionais
ainda possuem limitações quanto ao hardware e software [2].
O fator custo, agregado com a diculdade de adquirir kits importados no Brasil, torna difícil a implantação da robótica educacional nas escolas brasileiras.
Com o anseio de inserir técnicas de ensino mais modernas, agregando conhecimento relacionado às novas tecnologias, a partir de uma nova metodologia
de ensino, está sendo desenvolvido um software de simulação robótica, voltado
exclusivamente para a robótica educacional, chamado S-Educ.
1.2 Simuladores Robóticos
Para utilizar um robô em qualquer circunstância é necessário que o mesmo esteja
montado e programado. Durante o desenvolvimento da programação de um robô,
o programador deve realizar testes, o que pode gerar alguns impasses, como a
danicação de algum componente, a necessidade de um espaço físico maior do
que o disponível, ou a necessidade de uma grande quantidade de robôs.
Simuladores computacionais são ferramentas capazes de permitir a programação de robôs sem envolver os problemas citados, diminuindo o custo, o tempo
e a complexidade do teste de ideias e teorias, não dependendo sicamente do
robô [6,7].
Um ambiente virtual possui um conjunto de vantagens, como economia de
recursos nanceiros e de tempo, facilitando a criação do ambiente que interagirá com o robô e os testes de novos algoritmos e de novos modelos robóticos
[8,9,10]. Caso o programador possua um robô real, as aplicações desenvolvidas
no ambiente virtual podem ser posteriormente enviadas para o robô real com mínimas modicações, caracterizando o simulador como um ambiente puramente
de testes.
S-Educ: Um Simulador de Ambiente de Robótica Educacional
3
O uso de simuladores robóticos em um ambiente educacional permite que
alunos que não possuam contato com essa tecnologia se integrem na era digital,
aprendendo conceitos relacionados a robótica, mesclado com temas interdisciplinares e sociais. Experimentos realizados por [11] mostram que o uso de simuladores em aulas de robótica educacional geraram um ganho em conhecimento
sob o aspecto tecnológico, construtivista, de inclusão social e digital, além de
estimular os docentes a pesquisar e formular conteúdos extracurriculares para
participar de suas atividades cotidianas.
1.3 Metodologia
Este trabalho trata da aplicação de um simulador robótico no processo educacional, com o objetivo de investigar a potencialização do ensinar e do aprender
a partir do uso dessa ferramenta computacional. O desenvolvimento deste trabalho pode ser separado em três fases principais. Na primeira fase foi realizada
uma pesquisa sobre as tecnologias de simulação robótica voltadas para a área
educacional, analisando as funcionalidades existentes nestes simuladores.
A segunda fase trata da implementação do simulador proposto, utilizandose dos dados obtidos na fase anterior. Por m, a terceira fase será composta
por testes com alunos do ensino fundamental e médio, de escolas públicas e
particulares, onde serão testadas as funcionalidades da ferramenta desenvolvida
na segunda fase. A denição da população e do local da coleta de dados ainda
não foi feita.
2
Trabalhos Relacionados
Para a aquisição de dados referentes às funcionalidades necessárias em um simulador robótico educacional, realizamos uma pesquisa envolvendo alguns simuladores encontrados no mercado e alguns simuladores que ainda estão em desenvolvimento. Os simuladores robóticos educacionais podem ser separados em três
categorias: simuladores para montagem de robôs, simuladores para programação
de robôs, e simuladores para montagem e programação de robôs.
A primeira categoria envolve simuladores como o Lego Digital Designer [12],
capaz de agregar peças robóticas para formar um robô virtual, sendo o usuário
incapaz de realizar testes com o robô criado.
A segunda categoria envolve simuladores como o RoboMind [13] e o Ambiente de Simulação RoboEduc [14], que permitem que ao usuário o controle dos
motores e dos sensores do robô, mas se torna limitado por não permitir que o
usuário crie seu próprio robô.
A terceira categoria inclue simuladores como o USARSim [15], o Robot Vir-
tual Worlds [16] e o Virtual Robotics Lab [17], que permitem que o usuário crie
e programe seu próprio robô, podendo modicar a montagem ou a programação
do mesmo durante o desenvolvimento de cada atividade. O uso de um simulador desta categoria permite uma simulação mais exata de uma aula de robótica
educacional. O simulador proposto neste trabalho se encontra nesta categoria.
4
3
S-Educ: Um Simulador de Ambiente de Robótica Educacional
Simulador S-Educ
A proposta do simulador S-Educ envolve a criação de um simulador robótico
voltado para o auxílio em aulas de robótica educacional, possibilitando a maior
difusão da metodologia da robótica educacional em escolas brasileiras. Levando
em consideração o público alvo desta pesquisa, que abrange alunos do ensino
fundamental e médio, o simulador deve permitir a montagem e programação dos
robôs virtuais de maneira simples.
Tendo isto em vista, o simulador S-Educ foi inserido no software educacional RoboEduc, desenvolvido por pesquisadores da Universidade Federal do Rio
Grande do Norte. O Simulador S-Educ permite ainda a montagem de robôs
virtuais, equipados com vários tipos de sensores e atuadores.
Tendo isto em vista, o simulador S-Educ foi inserido no software educacional RoboEduc, desenvolvido por pesquisadores da Universidade Federal do Rio
Grande do Norte. O RoboEduc é um software de programação de robôs do tipo
Lego RCX, Lego NXT ou H-Educ, que utiliza a linguagem Educ para programação. A programação é simples e acessível a alunos a partir de 8 anos [5,18].
3.1 Software RoboEduc
O software RoboEduc é um software de programação de robôs do tipo Lego
RCX, Lego NXT ou H-Educ, que utiliza a linguagem Educ para programação.
A programação é simples e acessível a alunos a partir de 8 anos [5,18]. A linguagem Educ possui comandos para movimentação dos motores e para aquisição de
valores oriundos dos sensores, além de comandos de repetição e seleção, e alguns
comandos extras dependentes do modelo de robô que se está programando. A
tabela 1 mostra alguns comandos da linguagem Educ.
Tabela 1.
Alguns comandos da linguagem Educ.
Comandos
Motores
Sensores
Comandos de repetição e seleção
Comandos extras
Exemplos
Frente Direita Levantar Segurar
CorBaixoMeio ToqueFrente UltraDireita
Enquanto Repita Para Se
Texto Luz
,
,
,
,
,
,
,
,
,
Durante a execução de um programa escrito em linguage Educ, o simulador
S-Educ interpreta os comandos do programa, gerando comandos para serem
executados pelo robô virtual.
3.2 Tecnologias Utilizadas
Para o desenvolvimento do S-Educ está sendo utilizada a linguagem de programação Java, através da plataforma Netbeans. Como biblioteca auxiliar para a
S-Educ: Um Simulador de Ambiente de Robótica Educacional
5
visualização tridimensional, foi utilizado o Game Engine 3D JMonkey Engine.
Game Engines são conjuntos de bibliotecas desenhados para o desenvolvimento
de jogos, que proveem funcionalidades para renderização, simulação da física,
detecção de colisão, animação, som, entre outros [19].
3.3 Montagem do robô virtual
O simulador S-Educ permite a montagem através de blocos do robô virtual.
Durante a montagem, o aluno deve escolher entre tipos pré-denidos de bases,
atuadores e sensores, sendo possível a criação de robôs com diferentes características e que podem ser utilizados para várias aplicações.
O robô virtual do simulador S-Educ simula um robô do tipo Lego NXT,
possuindo as peças e sensores existentes no kit. A escolha por esse modelo se
deu pelo fato que dentre os três robôs que podem ser programados a partir do
software RoboEduc, o Lego RCX é um modelo obsoleto, e o H-Educ é um modelo
que ainda se encontra em fase de testes.
3.4 Modelagem do Robô Virtual
Para a criação de um modelo de robô virtual foi feita uma modelagem simplicada da realidade, que contém sensores e atuadores, e que simula o comportamento do robô.
Comportamento do robô
Com relação ao comportamento do robô, foi levado
em consideração que todas as partes do robô associadas a motores estão suscetíveis a erros, resultando em orientações e posições diferentes das esperadas. Por
exemplo, quando se comanda um giro, muito provavelmente não se atingirá o
ângulo previsto. Um dos fatores que resulta neste erro é o tempo para que o motor pare de girar ao m de um comando. Para simular este erro foram utilizados
dois temporizadores não sincronizados, o que gera pequenas falhas de execução.
Elementos físicos como força e gravidade foram representados utilizando o
JMonkey Engine. Outras questões referentes à movimentação do robô, como
equilíbrio e fricção, não foram representadas na modelagem do robô virtual.
3.5 Detecção de Colisões
Para a detecção de colisões foram utilizadas estruturas de dados espaciais simples
chamadas Bounding Volumes (BVs), responsáveis por simplicar as operações
com objetos complexos. Qualquer colisão entre bounding volumes pode ser interpretada como uma colisão entre os objetos complexos, diminuindo a quantidade
de testes e aumentando a performance do simulador.
Os sensores de cor e toque possuem BVs do tipo esfera, enquanto o sensor
ultrasônico possui um BV do tipo cone. Os BVs dos outros objetos presentes no
ambiente virtual dependem da sua forma.
6
S-Educ: Um Simulador de Ambiente de Robótica Educacional
Figura 1.
Modelo de um robô e de um obstáculo virtual com
Bounding Volumes.
Os robôs virtuais são estruturas complexas que podem dicultar os testes
com relação à colisão. Para simplicar estes testes, foi denido que o corpo do
robô será composto por um BV do tipo esfera (Fig. 1). A escolha deste tipo de
estrutura geométrica se deu pelo fato de que estruturas com bordas lisas, como
paralelepípedos, dicultam a locomoção do robô, já que este tipo de estrutura
pode car presa em outras deste mesmo tipo, como por exemplo, em escadas.
Sensores
O robô virtual pode conter sensores de cor, toque e/ou ultrasônico.
O sensor de toque determina se houve colisão entre o sensor e algum objeto
do ambiente virtual. Para detectar essa colisão, o sensor foi representado por
uma esfera. O pressionamento do sensor de toque é entendido como uma colisão
detectada entre esta esfera e algum elemento virtual.
O sensor de cor é capaz de identicar seis cores fundamentais, caso esteja
a aproximadamente 1 cm do objeto: preto, azul, verde, amarelo, vermelho ou
branco. Independente da cor do objeto, o sensor de cor sempre retorna uma
destas seis cores. Caso o sensor esteja muito longe do objeto, será identicada
a cor preta. No modelo virtual, o sensor é representado por uma esfera, e a
identicação da cor só é feita se esta esfera colidir com algum objeto.
Não foram considerados erros de decisão inuenciados pela posição do sensor, iluminação do ambiente, brilho do objeto, etc. Caso o objeto possua uma
cor diferente das seis cores fundamentais, é feita uma análise do valor RGB encontrado, convertendo-o para um dos valores aceitáveis. Além disso, o sensor de
cor também pode ser usado como uma luz pontual azul, vermelha ou verde.
Já o sensor ultrasônico é capaz de identicar a distância do robô a algum
objeto que esteja a no máximo 255 cm dele. Este sensor possui um sonar do
◦
tipo cone, com um ângulo de 30 . A modelagem do sensor ultrasônico utilizou
◦
um cone com ângulo de 30 , e com altura variável, dependendo da distância que
se quer medir. A detecção de algum objeto depende da colisão deste cone com
qualquer elemento do ambiente virtual. Não foram considerados erros no sensor
ultrasônico oriundos da reexão especular, crosstalk, etc.
A gura 2 mostra um exemplo de um robô virtual equipado com dois sensores
de toque, indicados pela cor amarela, quatro sensores de cor, indicados pela cor
vermelha, e um sensor ultrasônico, indicado pela cor verde.
S-Educ: Um Simulador de Ambiente de Robótica Educacional
Figura 2.
Atuadores
7
Modelo de um robô virtual com sensores de toque, cor e ultrasônico.
Os atuadores são partes do robô capazes de exercer movimento,
através da movimentação de motores, modicando o ambiente ao qual o robô está
inserido. Eles são capazes de empurrar, levantar ou segurar objetos leves da cena.
Para a modelagem dos atuadores, cada parte integrante destes elementos deve
ser considerada um item completo, sendo capaz de se movimentar independente
do resto do atuador. A modelagem destes elementos ainda não foi desenvolvida.
3.6 Interface Gráca
A interface gráca do simulador S-Educ pode ser vista na Fig. 3. O programa
ainda está em fase de desenvolvimento, e por isso algumas das funcionalidades
ainda não foram implementadas.
Figura 3.
Interface gráca do simulador S-Educ.
O programa permite que o usuário insira vários robôs no ambiente virtual,
podendo escolher entre o uso de modelos previamente criados ou a montagem
8
S-Educ: Um Simulador de Ambiente de Robótica Educacional
de novos protótipos robóticos. Além disso, o usuário pode adicionar objetos
caracterizados como leves ou pesados. Objetos leves são aqueles que podem
ser empurrados ou levantados pelo robô, enquanto objetos pesados são os que
simulam paredes, mesas ou cadeiras, ou seja, objetos que não se movem quando
há contato com o robô.
O simulador S-Educ também permite a inserção de guras, que simulam
cartolinas que podem ser colocadas no chão do ambiente virtual, criando um
ambiente ainda mais realista. Por m, o usuário tem a opção de adicionar linhas
de cores diversas no chão. As linhas podem ser detectadas por sensores de cor,
permitindo a criação de atividades como a de olimpíadas de robótica, na qual o
robô deve seguir linha.
O robô virtual pode se movimentar a partir de um programa desenvolvido
em linguagem Educ, no software RoboEduc. As instruções do programa podem
ser visualizadas durante sua execução, para que o usuário tenha conhecimento
do passo-a-passo que será executado pelo robô virtual.
Além disso, o S-Educ permite a gravação de um vídeo no formato avi no
qual será armazenada toda e qualquer modicação que ocorrer no ambiente
virtual. No caso de aulas de robótica educacional, este vídeo pode ser utilizado
pelo aluno, para se auto avaliar, ou pelo professor, que será então capaz de avaliar
o aluno.
O usuário tem também a opção de movimentar a câmera, visualizando partes
diferentes do ambiente virtual. Também é possível a modicação do modo de
visualização, de forma que a visualização do ambiente pareça bidimensional, o
que pode facilitar a utilização do simulador para alguns usuários.
Figura 4.
4
Atividade 1: Seguir linha.
Experimentos Parciais
A etapa de testes, responsável por analisar a usabilidade do simulador S-Educ,
ainda não foi iniciada. Até então foram realizados apenas testes com relação à
funcionalidade das partes do simulador que já foram desenvolvidas, todos em
S-Educ: Um Simulador de Ambiente de Robótica Educacional
Figura 5.
9
Atividade 2: Labirinto.
um ambiente tridimensional. A primeira atividade desenvolvida (Fig 4) foi a
atividade de seguir linha, na qual o usuário deveria criar um percurso com uma
linha preta, e o robô deveria seguir corretamente o caminho instituído. Esta
atividade não apresentou nenhum problema com relação à criação das linhas ou
ao uso dos sensores de cor.
A segunda atividade desenvolvida (Fig 5) foi uma atividade de labirinto, na
qual o usuário deveria criar um labirinto, e utilizar sensores de toque e ultrasônico para chegar ao m do mesmo. O sensor de toque apresentou um tempo de
resposta não tão rápido quanto esperado. No entanto, este erro é aceitável, levando em consideração que no robô real, a resposta do sensor de toque algumas
vezes é mascarada pela orientação do robô com relação ao obstáculo. O sensor
ultrasônico apresentou uma resposta rápida, mas se tornou um pouco problemático nesta situação em que há muitas paredes, simulando esta mesma condição
que é encontrada no robô real.
5
Conclusão
A utilização da robótica educacional em sala de aula contribui para o desenvolvimento da criatividade, do pensamento investigativo, do raciocínio lógico e da
coordenação motora. O uso de um ambiente de simulação em aulas de robótica
educacional permite que esta ferramenta pedagógica seja difundida no Brasil,
diminuindo o custo das aulas, o tempo de testes e a quebra de materiais.
Este trabalho propõe o desenvolvimento de um simulador robótico bidimensional ou tridimensional, com o objetivo de ser utilizado em aulas de robótica
educacional. Inicialmente foi realizada uma pesquisa a respeito das ferramentas
de simulação de robôs educacionais encontradas no mercado. Constatamos, com
base no levantamento bibliográco, a necessidade de desenvolver um software
que permita a criação de um ambiente virtual semelhante ao ambiente real, e
a utilização de todos os acessórios robóticos encontrados em robôs reais, como
sensores e motores.
10
S-Educ: Um Simulador de Ambiente de Robótica Educacional
Para tornar a ferramenta mais abrangível às escolas brasileiras, pretende-
mos disponibilizar uma versão online deste simulador, permitindo que escolas do
Brasil todo possam utilizar esta ferramenta em aulas de robótica educacional.
Propomos ainda o desenvolvimento de ocinas de robótica educacional utilizando o simulador S-Educ. Estas aulas permitirão a coleta de dados sobre a
usabilidade desta ferramenta. No entanto, a denição da população e do local
da coleta de dados ainda não foram feitos.
Referências
1. Silva, A.F.: RoboEduc: Uma Metodologia de Aprendizado com Robótica Educacional, Tese de doutorado, UFRN, Natal, RN (2009)
2. Miranda, L.C., Sampaio, F.F., Borges, J.A.S.: Robofácil: Especicação e implementação de um kit de robótica para a realidade educacional, Revista Brasileira de
Informática na Educação, Vol.18, pg. 3 (2010)
3. Prado, J.P.: Robôs estarão disponíveis para estudantes brasileiros. http://www.
acessasp.sp.gov.br/html/modules/news/article.php?storyid=466
4. Neves-Jr, O.R.: Desenvolvimento da uência tecnológica em programa educacional
de robótica pedagógica, Dissertação de mestrado, Universidade Federal de Santa
Catarina, UFSC, Florianópolis, SC (2011)
5. Sa, S.T.L.: H-educ: Um hardware de baixo custo para a robótica educacional, Trabalho de Conclusão de Curso, UFRN, Natal/RN (2011)
6. Becker, G.L.: Desenvolvimento de um simulador para um veículo autônomo,Trabalho de Conclusão de Curso, UFMG, Belo Horizonte/MG. (2010)
7. Obst, O., Rollmann, M.: Spark - a generic simulator for physical multiagent simulations, In: Lecture Notes in Articial Intelligence, vol. 3187, pp. 243257 (2008)
8. Wolf, D.F., Simões, E.V., Osório, F.S., Júnior, O.T.: Robótica móvel inteligente:
Da simulação às aplicações no mundo real, XXIX Congresso da SBC. Jornada de
Atualização em Informática. (2009)
9. Michel, O.: Cyberbotics ltd - webotstm: Professional mobile robot simulation, In:
International Journal of Advanced Robotic Systems, vol. 1, pp. 4044 (2004)
10. Pedrosa, E.F.: Simulated environment for robotic soccer agents, Dissertação de
mestrado, Universidade de Aveiro, Portugal. (2010)
11. Gomes, M.C., Barone, D.A.C., Olivo, U.: Kickrobot: Inclusão digital através da
robótica em escolas públicas do rio grande do sul, Simpósio Brasileiro de Informática
na Educação. (2008)
12. Lego Digital Designer, http://ldd.lego.com/
13. RoboMind, http://www.robomind.net/
14. Fernandes, C.C.: Ambiente simulado da metodologia Roboeduc, Trabalho de Conclusão de Curso, UFRN, Natal/RN. (2010)
15. Usarsim, http://sourceforge.net/projects/usarsim/
16. Robot Virtual Worlds, http://www.robotc.net/download/rvw/
17. Virtual Robotics Lab, http://www.mind.ilstu.edu/curriculum/modOverview.
php?modGUI=208
18. Barros, R.P.: Evolução, avaliação e validação do software roboeduc, Dissertação de
mestrado, Universidade Federal do Rio Grande do Norte, UFRN, Natal, RN. (2011)
19. Bisolo, L.R., Bughi, C.H.: Um ambiente virtual interativo em 3d para o projeto
tamar-icmbio / praia do forte - ba. (2009)