Sei sulla pagina 1di 132

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE

U NIVERSIDADE F EDERAL DO R IO G RANDE DO N ORTE


C ENTRO DE T ECNOLOGIA
P ROGRAMA DE P S -G RADUAO EM E NGENHARIA E LTRICA
DE C OMPUTAO

Plataforma robtica de baixssimo custo para


robtica educacional

Rafael Vidal Aroca

Orientador: Prof. Dr. Luiz Marcos Garcia Gonalves

Tese de Doutorado apresentada ao Programa de Ps-Graduao em Engenharia


Eltrica e de Computao da UFRN (rea de
concentrao: Engenharia de Computao)
como parte dos requisitos para obteno do
ttulo de Doutor em Cincias.

Nmero de ordem PPgEEC: D85


Natal, RN, Dezembro de 2012

Catalogao da Publicao na Fonte. UFRN / SISBI / Biblioteca Setorial


Especializada do Centro de Cincias Exatas e da Terra - CCET.
Aroca, Rafael Vidal.
Plataforma robtica de baixssimo custo para robtica educacional / Rafael
Vidal Aroca - Natal, RN, 2012.
116 f. : il.
Orientador: Prof. Dr. Luiz Marcos Garcia Gonalves.
Tese (Doutorado) - Universidade Federal do Rio Grande do Norte. Centro de
Tecnologia. Programa de Ps-Graduao em Engenharia Eltrica e de Computao.
1. Ciberntica - Operadores humanos - Tese. 2. Robtica educacional - Tese.
3 - Arquitetura de controle - Tese. 4 - Plataforma robtica - Tese. 5. Interface de
udio - Tese. I. Gonalves, Luiz Marcos Garcia. II. Ttulo.
RN/UF/BSE-CCET

CDU 007.51

minha me, Denisi.

Agradecimentos

Ao meu orientador, Prof. Luiz Marcos, pelo apoio e orientao.


Ao professor Aquiles Burlamaqui pela conversa que deu origem a este trabalho.
minha famlia pelo apoio durante esta jornada, especialmente Silvia, Matheus e Lilian.
Aos colegas do laboratrio NatalNet pelo apoio e amizade, especialmente Rafael B. Gomes, Renata Pitta e Renato Gardiman que ajudaram em parte deste trabalho.
Aos professores Pablo J. Alsina, Luiz Eduardo C. Leite e Diogo P. F. Pedrosa por oferecer
a oportunidade de mostrarmos o N-Bot s suas turmas.
Comunidade de software livre pelas excelentes ferramentas, destacando o Linux, Latex,
SL4A e Blockly que foram usados neste trabalho.
Ao Daniel Enos e toda equipe da organio da SINEC 2012 no DCA-UFRN.
Ao CNPq pelo apoio financeiro durante este trabalho.
Deus.

Resumo

Os robs esto cada vez mais presentes nas mais diversas atividades da sociedade,
porm ainda so considerados equipamentos caros e restritos para poucas pessoas. Neste
trabalho, propomos uma arquitetura de controle e um conjunto de tcnicas que possibilitam a construo de robs de baixssimo custo, alm de diminuir a complexidade na
sua montagem e programao. Um aspecto chave da arquitetura proposta o uso de
interfaces de udio para controlar atuadores e ler sensores, permitindo assim o uso de
qualquer dispositivo que produza sons como unidade de controle de um rob. Tambm
desenvolvemos ferramentas de programao baseadas em ambientes web que permitem o
uso de computadores ou telefones celulares como unidades de controle de um rob, que
pode ser programado e controlado remotamente. O trabalho tambm contempla possveis
aplicaes de tal plataforma robtica de baixssimo custo, incluindo principalmente o seu
uso educacional, que foi validado experimentalmente, por professores e alunos de vrias
disciplinas de graduao. Apresentamos uma anlise de dados de entrevistas realizadas
com os alunos, antes e aps o uso da plataforma, que confirmam a sua aceitao como
ferramenta de apoio ao ensino.
Palavras-chave: Robtica educacional, Rob de baixo custo, Interface de udio,
Smartphones

Abstract

Robots are present each time more on several areas of our society, however they are
still considered expensive equipments that are restricted to few people. This work consists on the development of control techniques and architectures that make possible the
construction and programming of low cost robots with low programming and building
complexity. One key aspect of the proposed architecture is the use of audio interfaces to
control actuators and read sensors, thus allowing the usage of any device that can produce
sounds as a control unit of a robot. The work also includes the development of web based programming environments that allow the usage of computers or mobile phones as
control units of the robot, which can be remotely programmed and controlled. The work
also includes possible applications of such low cost robotic platform, including mainly its
educational usage, which was experimentally validated by teachers and students of several graduation courses. We also present an analysis of data obtained from interviews done
with the students before and after the use of our platform, which confirms its acceptance
as a teaching support tool.
Keywords: Educational robotics, Low cost robot, Audio interface, Smartphones

Sumrio

Sumrio

Lista de Figuras

iii

Lista de Tabelas

Lista de Smbolos e Abreviaturas


1

Introduo
1.1 Robs na Educao .
1.2 Robs de Pesquisa .
1.3 Motivao e Objetivo
1.4 Contribuies . . . .
1.5 Organizao da Tese

.
.
.
.
.

.
.
.
.
.

vii

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

1
3
5
5
6
6

2 Embasamento Terico
2.1 Robtica Educacional . . . . . . . . . . . . . . . . . . . .
2.1.1 Material para Robtica Educacional (o Hardware)
2.1.2 Softwares para Robtica Educacional . . . . . . .
2.2 Robs e Smartphones . . . . . . . . . . . . . . . . . . . .
2.2.1 O Sistema Android . . . . . . . . . . . . . . . . .
2.2.2 Acesso rede e Robtica nas Nuvens . . . . . . .
2.2.3 Recursos de Hardware . . . . . . . . . . . . . . .
2.3 Arquiteturas de Controle de Hardware . . . . . . . . . . .
2.4 Comunicao via udio . . . . . . . . . . . . . . . . . .
2.4.1 DTMF . . . . . . . . . . . . . . . . . . . . . . .
2.4.2 Anlise de Sinais . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

9
9
10
12
13
13
14
15
16
17
17
18

3 Estado da Arte
3.1 Robtica na Educao . . . . . . . . . . . . .
3.1.1 Robs Educativos de Baixo Custo . .
3.1.2 Robs como Motivadores . . . . . .
3.1.3 Um Rob por Aluno . . . . . . . . .
3.1.4 O 10-dollar robot design challenge
3.2 Ambientes de Programao de Robs . . . .
3.3 Comunicao Rob-Computador . . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

21
21
22
23
24
25
28
30

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

3.4

3.3.1 Interfaces de Dados Digitais . . . . . . . . . . . . . . . . . . . .


3.3.2 Interfaces Analgicas Usando udio . . . . . . . . . . . . . . . .
Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 Sistema Proposto
4.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1 Controle de Atuadores Usando udio . . . . . . . .
4.1.2 Leitura de Sensores . . . . . . . . . . . . . . . . . .
4.1.3 Controle em Malha Fechada Usando Canal de udio
4.2 Sistema baseado em Microcontrolador . . . . . . . . . . . .
4.3 Estrutura do Rob . . . . . . . . . . . . . . . . . . . . . . .
4.4 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.1 Ambiente de Programao via Web . . . . . . . . .

30
31
33

.
.
.
.
.
.
.
.

39
39
41
45
50
51
56
58
58

.
.
.
.
.
.
.
.
.
.

73
73
73
75
77
78
78
84
84
91
92

6 Concluso e Perspectivas
6.1 Contribuies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

93
94
95

Referncias bibliogrficas

96

5 Resultados
5.1 Viso Geral . . . . . . . . . . . . . . . . .
5.1.1 Robs Construdos e Analisados . .
5.1.2 Custos do Sistema . . . . . . . . .
5.1.3 Repercusso . . . . . . . . . . . .
5.2 Aspectos Tcnicos . . . . . . . . . . . . .
5.2.1 Anlise de Desempenho . . . . . .
5.3 Aspectos Educacionais . . . . . . . . . . .
5.3.1 Uso em Sala de Aula . . . . . . . .
5.3.2 Oficina de Robtica de Baixo Custo
5.3.3 Possveis Usos . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

A Questionrios
A.1 Questionrio Prvio . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2 Questionrio Posterior . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.3 Avaliao do mini-curso de robtica - SINEC 2012 . . . . . . . . . . . .

111
111
113
115

Lista de Figuras

1.1

Viso geral do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
4.19
4.20
4.21
4.22
4.23
4.24
4.25
4.26
4.27
4.28

Viso geral da arquitetura do sistema . . . . . . . . . .


Controle de dispositivos via udio . . . . . . . . . . .
Controle de motores via udio . . . . . . . . . . . . .
Circuito para controle de motores DC . . . . . . . . .
Controle de servo-motores . . . . . . . . . . . . . . .
Circuito de controle de servo-motores . . . . . . . . .
Leitura de sensores usando DTMF . . . . . . . . . . .
Exemplo de conexo de sensores via udio . . . . . . .
Odometria via canal de udio: resultados experimentais
Leitura de sensores via udio . . . . . . . . . . . . . .
Leitura de sensores usando gerador de tom nico . . .
Circuito para leitura de sensores usando udio . . . . .
Sistema baseado em microcontrolador . . . . . . . . .
Rede de microcontroladores conectados via udio . . .
Estrutura do N-Bot . . . . . . . . . . . . . . . . . . .
Arquitetura de software do sistema . . . . . . . . . . .
Captura de tela do ambiente de programao . . . . . .
Captura de tela do Anwide . . . . . . . . . . . . . . .
Funcionamento interno do Anwide . . . . . . . . . . .
Funcionamento interno do ADWN . . . . . . . . . . .
Captura de tela do ambiente de programao para PC .
Bloco usado para gerar DTMF . . . . . . . . . . . . .
Bloco de configurao de frequncia . . . . . . . . . .
Analisador de espectro via web . . . . . . . . . . . . .
Bloco para leitura de estado de sensores . . . . . . . .
Programa de blocos 1 . . . . . . . . . . . . . . . . . .
Programa de blocos 2 . . . . . . . . . . . . . . . . . .
Programa de blocos 3 . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

40
41
42
43
45
46
47
48
51
52
53
54
55
55
57
59
61
63
63
65
66
66
67
68
68
69
70
71

5.1
5.2
5.3
5.4
5.5
5.6

Rob controlado via canal de udio . . . . . . . .


Dispositivos mveis controlando o rob via udio
Robs comerciais controlados pelo Anwide . . .
Fotos do N-Bot . . . . . . . . . . . . . . . . . .
N-Bot construdo com peas de mveis . . . . .
Teste da taxa de leitura dos sensores . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

74
74
75
75
76
78

iii

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

5.7
5.8
5.9
5.10
5.11
5.12
5.13
5.14
5.15
5.16

Desempenho da leitura de sensores via udio .


Desempenho para gerao de tons DTMF . . .
Anlise de navegadores web . . . . . . . . . .
Esquema de teste dos processadores ARM . . .
Ambiente de teste dos processadores ARM . .
Desempenho do servidor web . . . . . . . . . .
Desempenho em ponto flutuante . . . . . . . .
Interesses dos estudantes em construir um rob
Valores financeiros que estudantes gastariam . .
Interesses gerais dos alunos . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

79
81
82
84
85
86
87
88
89
90

Lista de Tabelas

2.1

Pares de frequncias DTMF . . . . . . . . . . . . . . . . . . . . . . . .

18

3.1
3.2
3.3

Robs de baixo custo . . . . . . . . . . . . . . . . . . . . . . . . . . .


Interfaces entre rob e computador . . . . . . . . . . . . . . . . . . . . .
Tcnicas de conexo computador-rob . . . . . . . . . . . . . . . . . . .

33
35
36

4.1
4.2
4.3
4.4
4.5

Dgitos DTMF e estado de motores . . . . . . . .


Mapeamento de estados de sensores para DTMF .
Resoluo do encoder lido via udio . . . . . . .
Protocolo de comunicao com microcontrolador
Parmetros da funo setFrequency . . . . . . .

.
.
.
.
.

44
49
50
56
67

5.1
5.2
5.3

Custos do N-Bot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reduo dos custos do N-Bot . . . . . . . . . . . . . . . . . . . . . . . .
Comparativo entre diversos computadores de controle . . . . . . . . . . .

76
77
77

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

Lista de Smbolos e Abreviaturas

A:

Amperes

ab:

Apache Benchmark

ADK:

Android Open Acessory Development Kit

ADWN: Ambiente de Desenvolvimento Web do N-Bot


AFRON: AFrican RObotics Network
AJAX:

Asynchronous Javascript and XML

Anwide: Android Web-based Integraded Development Environment


AP:

Alta Prioridade

API:

Application Programming Interface

ARM:

Advanced RISC Machines

CI:

Circuito Integrado

CPU:

Central Processing Unit

DC:

Direct Current

DFT:

Discrete Fourier Transform

DIEB:

Dicionrio Interativo de Educao Brasileira

DTMF: Dual Tone Multi Frequency


E/S:

Entrada e Sada

FEI:

Faculdade de Engenharia Industrial

FFT:

Fast Fourier Transform

FM:

Frequency Modulation

FURG:

Fundao Universidade Federal do Rio Grande

GPS:

Global Positioning System


vii

HTML: Hypertext Markup Language


HTTP:

Hyper Text Transfer Protocol

Hz:

Hertz

IEEE:

Institute of Electrical and Electronics Engineers

IFES:

Instituto Federal do Esprito Santo

INPI:

Instituto Nacional de Propriedade Industrial

IP:

Internet Protocol

LCD:

Liquid Crystal Display

LDR:

Light Dependent Resistor

LED:

Light Emitting Diode

M2M:

Machine to Machine

MB:

Mega Byte

MFlops: Milhes de operaes de ponto flutuante por segundo


MHz:

Mega Hertz

MICE:

Mindstorms Internet Control Environment

MIT:

Massachusetts Institute of Technology

Modem: Modulador/Demodulador
PC:

Personal Computer

PCI:

Peripheral Component Interconnect

PDA:

Personal Digital Assistant

PDS:

Processamento Digital de Sinais

PID:

Proportional-Integral-Derivative

PWM:

Pulse Width Modulation

ROS:

Robot Operating System

SA:

Sensores e Atuadores

SD:

Secure Digital

SINEC: Seminrio de Informtica e Engenharia de Computao

SL4A:

Scripting Layer for Android

SLAM: Simultaneous Localization and Mapping


SSH:

Secure Shell

TCP:

Transfer Control Protocol

UCA:

Um Computador por Aluno

UFES:

Universidade Federal do Esprito Santo

UFMS:

Universidade Federal do Mato Grosso do Sul

UFRN:

Universidade Federal do Rio Grande do Norte

UFSJ:

Universidade Federal de So Joo del-Rei

UNESP: Universidade Estadual Paulista


URA:

Um Rob por Aluno

USB:

Universal Serial Bus

V:

Volts

VNC:

Virtual Network Computing

WRE:

Workshop de Robtica Educacional

WWW: World Wide Web

Captulo 1
Introduo

We make no apologies for making these excursions into other fields,


because the separation of fields, as we have emphasized, is merely a
human convenience, and an unnatural thing. Nature is not interested in
our separations, and many of the interesting phenomena bridge the
gaps between fields.
Richard Feynman

A robtica encontra-se cada vez mais presente na realidade das pessoas. Enquanto
robs eram conhecidos por seu uso restrito em indstrias, hoje observa-se o seu uso frequente em escolas, em servios gerais, e at mesmo em residncias, que j possuem robs
de limpeza. Entretanto, robs ainda so considerados por muitos como um sonho de consumo, sendo efetivamente produtos caros, principalmente devido aos custos de pesquisas
envolvidas em seu desenvolvimento e materiais especficos usados em sua construo, o
que ainda dificulta a sua adoo de forma mais abrangente.
Neste contexto, propomos neste trabalho uma nova abordagem para o desenvolvimento de uma plataforma robtica de baixssimo custo que pode ser utilizada em diversas
aplicaes, tendo sido validada, especialmente em projetos de robtica educacional. Ao
invs de utilizar microcontroladores, como comum em robs de baixo custo, a arquitetura da plataforma proposta possui uma interface de comunicao que utiliza tons de udio
para controlar atuadores e codificar estado de sensores. Os tons de udio usados so sinais
sonoros de frequncia nica ou tons do tipo Dual Tone Multi Frequency (DTMF), que oferecem uma forma de troca de dados via udio robusta e amplamente usada em sistemas
de telefonia. Dessa forma, qualquer dispositivo com interface de udio pode ser usado
como unidade de controle deste tipo de rob, incluindo telefones celulares, smartphones,
tablets e computadores tradicionais, dentre outros dispositivos.
O rob desenvolvido, batizado de N-Bot, custa cerca de quatorze dlares quando as
peas so compradas em pequena quantidade. O preo pode ser reduzido para menos de
dez dlares por unidade dependendo da quantidade de componentes adquirida.
Os robs e sistemas de automao em geral possuem tipicamente uma ou mais unidades de controle compostas por processadores embarcados, como microcontroladores
ou computadores de propsito geral. Essas unidades de controle possuem interfaces para
conexo com sensores e atuadores, alm de interfaces de programao e monitoramento,

CAPTULO 1. INTRODUO

que tipicamente so acessadas atravs de um computador. Nesse cenrio, frequentemente necessria a instalao de softwares especficos e drivers de dispositivos em um
computador para programao e controle, limitando essas operaes a usurios especialistas.
Em geral, para programar um rob, necessrio usar softwares e ferramentas especficas visando desenvolver os programas, compil-los e envi-los ao rob para execuo
autnoma. Muitas dessas ferramentas so proprietrias [Gumbley & MacDonald 2005] e
somente funcionam com uma determinada linguagem de programao e sistema operacional. Em alguns casos, usurios precisam ter acesso a um computador com privilgios
de administrao de sistema para instalar, e em outros casos, executar softwares de desenvolvimento de robtica. Outra abordagem comum consiste em utilizar um computador
embarcado no rob, que inclui sistema operacional e ferramentas de desenvolvimento,
de forma que o usurio possa conectar-se remotamente ao rob, desenvolver, compilar e
executar programas diretamente no computador de bordo do rob.
Uma alternativa para resolver o problema descrito consiste em oferecer uma ferramenta de desenvolvimento que pode ser acessada via web, permitindo que os usurios
possam editar, compilar e executar programas remotamente usando apenas um navegador
web. Com essa soluo, qualquer dispositivo que possua um navegador web, pode ser
usado como estao de desenvolvimento, monitoramento e controle de um rob. Uma
das contribuies do trabalho descrito neste texto consiste no uso dessa abordagem embarcada em um telefone mvel instalado no rob, atravs de uma arquitetura de software
e hardware que pode ser aplicada a diferentes tipos de robs.
Para usar um telefone celular como unidade de controle de um rob, um canal de
comunicao deve ser estabelecido entre os circuitos eletrnicos do rob e do telefone.
Alguns trabalhos [CellBots 2011, Ahn et al. 2009, Sa et al. 2009] usam portas seriais
para este fim, e outros bluetooth [CellBots 2011, Santos et al. 2010], entretanto, nesses
trabalhos, necessrio um telefone com essas interfaces de comunicao, bem como um
microcontrolador para prover a troca de dados com o dispositivo de controle. Como alternativa, apresentamos o uso de um canal de comunicao universal e presente na grande
maioria dos dispositivos mveis: o canal de udio, que pode ser acessado atravs das
conexes para fones de ouvido.
Dessa forma, uma das principais contribuies deste trabalho consiste no desenvolvimento de uma tcnica de controle de atuadores e leitura de sensores usando canais de
udio e componentes eletrnicos de baixo custo que podem ser facilmente encontrados no
mercado. Como o canal de udio universal, no apenas telefones celulares podem ser
usados como unidade de controle, mas qualquer outro dispositivo com interface de udio,
como tablets, reprodutores de msica MP3 e computadores tradicionais.
De fato, o uso de telefones como unidades de controle para robs uma tendncia
promissora para a robtica, como apontado recentemente pela Associao Internacional
dos Engenheiros Eltricos e Eletrnicos (IEEE) [Guizzo & Deyle 2012]. Os telefones
atualmente disponveis no mercado oferecem diversos recursos diretamente teis para robtica, destacando bibliotecas de programao com suporte a reconhecimento e sntese
de voz, e vrios sensores embutidos no aparelho, como acelermetros, receptor do sistema de posicionamento global (GPS), cmera, wifi, dentre outros. Alm disso, tambm

1.1. ROBS NA EDUCAO

desenvolvemos ferramentas amigveis de programao textual ou em blocos para tornar


a programao do N-Bot intuitiva e disponvel via Internet para qualquer computador.
A Figura 1.1 mostra uma viso geral da arquitetura da plataforma robtica proposta,
incluindo comunicao com sensores e atuadores. Embora a figura mostre um computador, a interface de udio permite que qualquer dispositivo capaz de produzir sons possa
ser usado como unidade de controle do rob. Como mostrado na figura, uma porta do
barramento serial universal (USB) pode ser usada para fornecer energia para o rob, dispensando o uso de pilhas. A sada de udio do computador, normalmente usada para
fones de ouvido, ligada ao rob, que possui um circuito responsvel por decodificar
sinais sonoros de udio gerados pela unidade de controle e realizar o controle de motores
e atuadores diversos. Da mesma forma, a entrada de microfone do dispositivo de controle
recebe sinais de udio gerados pelo circuito de controle que codificam o estado de vrios sensores. Teoricamente, esse sistema permite que os estados de centenas de sensores
possam ser adquiridos simultaneamente.

Figura 1.1: Viso geral do sistema e suas conexes entre dispositivo de controle e rob.

1.1

Robs na Educao

O uso da robtica vem se tornando cada vez mais presente em todos os nveis da
educao, incluindo o ensino fundamental, mdio, graduao e ps-graduao. De fato,
diversos autores demonstram que o uso de robs como ferramentas no processo educacional proporcionam ambientes estimulantes e motivadores [Soto et al. 2006, Hamblen &
Hall 2004, Alves et al. 2011b, Howard & Graham 2007, Aroca, Gomes, Tavares, Souza,
Burlamaqui, Caurin & Gonalves 2012], alm de uma experincia nica de aprendizado
[Weinberg & Yu 2003]. Rawat & Massiha (2004) demonstram dados confirmando que
o retorno dos alunos em aulas que envolvem robtica surpreendentemente positivo.
importante ressaltar a robtica tambm como ferramenta, ou seja, que esses resultados
no se aplicam somente ao ensino de robtica em si, mas tambm em seu uso para diver-

CAPTULO 1. INTRODUO

sas outras disciplinas, incluindo at mesmo geografia, cincias ambientais, dentre outras.
Nesses casos, a grande vantagem que o rob atua como um instrumento motivador para
os alunos.
Contudo, ainda existem dois principais problemas para a adoo mais abrangente de
tecnologias de robtica na educao: os custos e a dificuldade de uso. Com relao aos
custos, vrios autores [Alves et al. 2011b, Galvan et al. 2006, Alves et al. 2011a, Chella
2012] alertam que os custos altos de robs podem impedir seu uso em salas de aula. Alm
do mais, Lumsden e Ortega-Sanchez afirmam que existe uma escassez de plataformas robticas de baixo custo [Lumsden & Ortega-Sanchez 2010]. Esse problema ainda mais
grave no Brasil, onde muitas escolas e alunos sofrem dificuldades financeiras, no podendo adquirir facilmente robs ou kits de robtica. De fato, alguns kits comercialmente
disponveis no Brasil chegam a custar milhares de reais.
A questo de facilidade de uso tambm pea fundamental para o sucesso de projetos
de robtica educacional. O uso do sistema deve ser fcil no apenas para os alunos,
mas tambm para os professores, j que muitos educadores no possuem experincia
com softwares de robtica. Nesse sentido, Dipietro et al. (2008) explicam que quando o
software de um sistema computacional intuitivo, a adoo em massa desse produto
uma consequncia, citando o exemplo do tablet pioneiro, o iPad.
Mesmo com essas restries, observamos que quando dada a oportunidade de experimentar com robs, estudantes frequentemente expressam interesse em possuir seus
prprios robs para explorar mais. Embora eles demonstrem interesse em investir seu
tempo e dinheiro para construir robs, poucos alunos podem gastar com esse tipo de
projeto. Para melhorar esse cenrio, o N-Bot pode ser usado como plataforma robtica
educacional de baixo custo, e pode viabilizar que mais alunos possam construir e possuir
seus prprios robs.
Como j mencionado, o N-Bot pode ser controlado por um telefone celular. Uma
das vantagens do uso de celulares, que o Brasil possui mais de um telefone celular
para cada habitante [Teleco 2012a] (de fato pouco mais que 1,3). Assim, um aluno que
no possua um telefone celular poder tentar obter um modelo usado ou antigo. Alm
disso, as operadoras de telefonia celular poderiam destinar aparelhos usados, e trocados
por novos, para uso em aplicaes de robtica educativa em escolas pblicas, ajudando a
reaproveitar equipamentos obsoletos.
Durante este trabalho, uma pesquisa foi conduzida com mais de duzentos alunos matriculados em diversos cursos de graduao para verificar o interesse desses alunos em
robtica e em disciplinas relacionadas, destacando o resultado de que mais de 70% desses alunos disseram que gastariam seu dinheiro para construir seu prprio rob caso o
custo fosse acessvel e desde que ele pudesse ser usado em vrias disciplinas do curso de
graduao [Aroca, Gomes, Tavares, Souza, Burlamaqui, Caurin & Gonalves 2012].
O N-Bot pode ser utilizado nos nveis fundamental, mdio e superior, entretanto, at
o momento somente analisamos seu uso no nvel superior. Em um trabalho futuro, seu
uso ser estudado para outros nveis de educao, levando em conta o desenvolvimento
de ambientes de programao com nvel de abstrao adequado para a idade dos alunos.

1.2. ROBS DE PESQUISA

1.2

Robs de Pesquisa

O N-Bot tambm pode facilitar experimentao e testes em algumas subreas de pesquisa da robtica. Nessa rea de pesquisa, existe ainda o mito de que a realizao de
investigaes em robtica requerem equipamentos caros, j que a maioria dos robs usados em pesquisa so de fato caros. Por exemplo, o rob Pioneer AT custa mais de 10 mil
dlares (outros muito mais caros esto comercialmente disponveis). Nesse contexto, o
N-Bot oferece uma alternativa simples, mas de baixssimo custo que pode ser usada para
realizar pesquisas consideradas de alto nvel em robtica, envolvendo deciso e execuo
de tarefas de mais alto nvel de processamento. Notamos que a unidade de controle do
N-Bot pode ser um PC ou telefone celular com alto poder de processamento, que tambm
pode ser facilmente substitudo para o aumento do desempenho ou mesmo trocado entre
robs.
Um aspecto interessante e em crescimento, a robtica nas nuvens (Cloud Robotics)
[Guizzo 2011], que consiste em manter algoritmos essenciais e simples a bordo do rob
e delegar parte do processamento do mesmo para servios disponveis via rede (Internet).
Assim, por exemplo, a unidade de controle pode se ocupar das tcnicas de navegao e
desvio de obstculos enquanto que a tarefa de reconhecimento de objetos 3D pode ser
delegada para servios executados na nuvem. Neste cenrio, mesmo um rob bastante
simples e barato pode tirar proveito de tcnicas avanadas, complexas e com demanda de
um alto poder de processamento, disponveis via rede como servios remotos.

1.3

Motivao e Objetivo

A motivao bsica deste trabalho tornar o acesso robtica mais abrangente. Para
tanto, o objetivo principal deste trabalho projetar e validar uma plataforma robtica
aberta e gratuita, com recursos otimizados, permitindo construir um rob de baixssimo
custo, que possa ser utilizado amplamente, por alunos e profissionais de qualquer setor da
sociedade (alunos, professores, pesquisadores, leigos).
Tambm como resultado de nossos desenvolvimentos, esperamos que mais pesquisadores possam fazer suas investigaes em reas relacionadas com a robtica, com a possibilidade de testar seus algoritmos de forma experimental, no mundo real, no ficando
restritos s simulaes. Alm disso, a plataforma robtica proposta tambm pode ser adotada em ambientes educacionais como ferramenta auxiliar para aumentar a motivao dos
alunos de vrios nveis de ensino.
Convm ressaltar que nossa contribuio principal, o N-Bot (melhor descrito a seguir), foi atestada internacionalmente, tendo sido um dos vencedores do prmio 10dollar robot design challenge. Com motivao similar nossa, os professores Ken
Goldberg da Universidade de Berkeley (EUA) e Ayorkor Korsah, da Universidade de
Ashesi (Gana), criaram um desafio para o desenvolvimento de robs educativos de dez
dlares [Hurst 2012a, Korsah & Goldberg 2012a, Hurst 2012b] com a expectativa de
que esses robs de baixo custo possam ser usados na frica para melhorar a motivao e interesse dos alunos do ensino fundamental e mdio [Hurst 2012a]. O N-Bot participou desta competio, ficando em segundo lugar entre 28 participantes [Korsah &

CAPTULO 1. INTRODUO

6
Goldberg 2012a, Hurst 2012b].

1.4 Contribuies
As contribuies deste trabalho, incluindo suas publicaes, so:
A principal contribuio deste trabalho um conceito de rob de baixo custo usando
a integrao de vrias tecnologias. Como prova de conceito, foi construdo um rob
batizado de N-Bot, desenvolvido usando as tcnicas mencionadas abaixo, com a
possibilidade de controle via telefone, tablet, computador ou outros dispositivos
[Aroca, Burlamaqui & Gonalves 2012, Aroca, de Oliveira & Gonalves 2012,
Aroca, Gomes, Tavares, Souza, Burlamaqui, Caurin & Gonalves 2012];
Uma nova tcnica para controle de atuadores usando canais de udio e tons DTMF
[Aroca, Burlamaqui & Gonalves 2012, Aroca et al. 2011, Jnior et al. 2012];
Uma nova tcnica para leitura de estado de sensores usando canais de udio [Aroca,
Burlamaqui & Gonalves 2012, Aroca et al. 2011];
Um sistema de controle em malha fechada usando as tcnicas mencionadas acima
[Aroca, Burlamaqui & Gonalves 2012, Aroca et al. 2011];
Dois ambientes de programao de robs baseados na web, disponibilizados como
softwares livres [Aroca, Guardiman & Gonalves 2012, Aroca, Pitta, Burlamaqui
& Gonalves 2012c];
Metodologia para aplicao e anlise do uso do rob de baixo custo proposto em
ambientes educacionais [Aroca, Gomes, Tavares, Souza, Burlamaqui, Caurin &
Gonalves 2012];
Disponibilizao comunidade de um roteiro com instrues passo a passo para
construo do N-Bot [Aroca, Pitta, Burlamaqui & Gonalves 2012a].

1.5 Organizao da Tese


Este texto est organizado em 6 Captulos: uma melhor definio do problema (com
embasamento), todos os desenvolvimentos realizados, com experimentao e resultados,
e uma concluso ao final.
O embasamento terico necessrio compreenso do texto apresentado no Captulo 2, onde so discutidos aspectos j estabelecidos de robtica educacional, seus resultados e vantagens, alm de equipamentos e softwares para o uso de robtica na educao.
Tambm so apresentadas as vantagens de se utilizar smartphones como controladores de
robs, assim como formas de conexo entre computadores de controle e os circuitos de
acionamento de atuadores e de leitura de sensores em robs. Ainda neste Captulo, so
apresentados alguns detalhes sobre tcnicas clssicas de transmisso de dados via canais
de udio, como o DTMF, e a transformada de Fourier, que usada para anlise de sinais.
Em seguida, o Captulo 3 apresenta uma reviso do estado da arte, incluindo trabalhos
que analisam as vantagens do uso de robtica na educao e o impacto no interesse e motivao dos alunos. Tambm so discutidos diversos trabalhos que propem plataformas

1.5. ORGANIZAO DA TESE

robticas educacionais de baixo custo, bem como os resultados do desafio AFRON 10dollar robot design challenge. Neste Captulo tambm so revisados trabalhos que apresentam plataformas de programao remota de robs via web, interfaces de comunicao
digitais, analgicas, e aquelas que usam canais de udio entre robs e computadores.
No Captulo 4, a plataforma robtica proposta descrita com detalhes, incluindo aspectos de implementao e construo. Neste Captulo so apresentadas novas tcnicas
para leitura de acionamento de motores de corrente contnua via tons da udio DTMF,
bem como de servo-motores. Alm das tcnicas de acionamento de motores, tambm so
apresentadas trs tcnicas para leituras de dados de sensores via canais de udio, incluindo
o uso de DTMF e de tons nicos associados a cada sensor. So apresentadas ainda duas
plataformas de programao via web desenvolvidas para facilitar a programao de robs
de baixo custo e robs baseados em dispositivos mveis.
O Captulo 5 apresenta resultados experimentais do rob proposto dos pontos de vista
tcnico e educacional. Alm do N-Bot ter um baixo custo, de cerca de US$ 14,00, tambm
demonstramos que seu ambiente de software, o Anwide, pode ser utilizado para controlar
diversos tipos de robs. Uma anlise de desempenho tambm apresentada, mostra que
o sistema proposto possui performance de leitura de sensores compatvel com kits Lego.
Adicionalmente, so apresentados resultados de questionrios sobre a opinio e interesse
de mais de 200 alunos em assuntos relacionados a aulas de graduao e robtica de baixo
custo.
Por fim, o Captulo 6 apresenta as concluses do trabalho, bem como uma lista de
possveis trabalhos futuros, visando dar continuidade ao projeto aqui iniciado. Acreditamos ter obtido bons resultados, principalmente em nmero de publicaes, que podem
ser explorados ainda mais em diferentes nveis educacionais e de pesquisa. Alm disso,
pretende-se estabelecer parcerias para o uso do N-Bot como plataforma que possibilite
maior acesso robtica para diversos perfis de alunos.

CAPTULO 1. INTRODUO

Captulo 2
Embasamento Terico

Knowledge is only part of understanding. Genuine understaning comes


from hands-on experience.
Dr. Seymour Papert

O principal foco deste trabalho o desenvolvimento de uma plataforma robtica, incluindo sua arquitetura e seus mtodos intrnsecos, para que se possa difundir a robtica
educacional como uma ferramenta poderosa de aprendizado. Assim, para entender melhor o contexto desta tese, introduzimos conceitos e tcnicas j consolidadas, visando uma
melhor compreenso do aprofundamento especfico do tpico de estudo, que ser realizado nos captulos seguintes deste texto. Entender melhor esta rea envolve saber o que
e como se faz robtica educacional, quais as metodologias atuais, recursos (software
e hardware), quais os materiais usados, incluindo os produtos atuais voltados para robtica educacional venda no mercado, bem como solues alternativas. Ainda, no tocante
s principais contribuies, necessrio tambm um melhor embasamento dos aspectos
tcnicos e cientficos de mais baixo nvel, relacionados robtica, bem como tcnicas j
estabelecidas e as ferramentas matemticas que foram utilizadas ao longo do trabalho.

2.1

Robtica Educacional

O Dicionrio Interativo de Educao Brasileira (DIEB) [Menezes & Santos 2002]


descreve a robtica educacional e a robtica pedaggica como sinnimos. Segundo o dicionrio, so termos utilizados para caracterizar ambientes de aprendizagem que renem
materiais de sucata ou kits de montagem compostos por peas diversas, motores e sensores controlveis por computador e softwares que permitem programar de alguma forma o
funcionamento dos modelos montados. Em ambientes de robtica educacional, os sujeitos constroem sistemas compostos por modelos e programas que os controlam para que
eles funcionem de uma determinada forma. Ainda segundo o dicionrio, o trabalho com a
robtica educacional tem vrios objetivos e metodologias, apontando, em geral, para que
o aluno siga instrues e manuais ou crie e experimente a partir dos materiais especficos desse ambiente. Alguns objetivos para o trabalho com a robtica educacional podem
se relacionar com as artes, a ciberntica, o design, a fsica, a matemtica, a motricidade

10

CAPTULO 2. EMBASAMENTO TERICO

e a vida artificial. Alm disso, a elaborao de sistemas robotizados incentiva reflexo


sobre as implicaes que os projetos podem gerar em mbito social, cultural, poltico e
ambiental.
De acordo com a definio formal, acima, um aspecto importante da robtica educacional que ela no uma abordagem com foco exclusivamente no ensino de robtica em
si, j que ela introduz o rob como elemento motivador para possibilitar o aumento de interesse e reflexo em diversos outros assuntos. Isso foi confirmado por vrios autores que
relatam que o uso de robs em sala de aula aumenta o interesse dos alunos, proporciona
ambientes estimulantes e motivadores, alm de oferecer uma experincia nica de aprendizado [Soto et al. 2006, Hamblen & Hall 2004, Alves et al. 2011b, Howard & Graham
2007, Aroca, Gomes, Tavares, Souza, Burlamaqui, Caurin & Gonalves 2012, Aroca,
Pitta, Burlamaqui & Gonalves 2012c, Weinberg & Yu 2003, Rawat & Massiha 2004], e
de possibilitar a integrao de vrias reas do conhecimento.
Essas vantagens j foram percebidas e incorporadas em diversos pases, como na Alemanha e Holanda, que j possuem robs em 100% das escolas pblicas [Gonalves 2012,
Bieniek et al. 2012]. A Inglaterra, Itlia, Espanha, Estados Unidos e Canad tambm
esto implementado projetos similares [Gonalves 2012], enquanto que, na Amrica do
Sul, o Peru j possui mais de trs mil escolas com robs [Gonalves 2012]. No Brasil,
esse movimento ainda no comum e ocorre mais em escolas particulares. Sabe-se que
algumas universidades, como a FEI, a UNESP, a UFMS, a FURG, a UFRN, a UFES e a
UFSJ tm projetos de extenso e iniciativas relacionadas com robtica educacional. No
estado da Paraba, especificamente, a Estao Cincia, um ambiente criado para popularizar e desmistificar experincias cientficas e tecnolgicas usando linguagem acessvel,
disponibiliza kits de robtica que podem ser usados por visitantes e turmas de escolas,
numa iniciativa pioneira. Na prpria UFRN, o desenvolvimento de metodologias e tcnicas para robtica educacional tem sido alvo de experimentao cientfica nos ltimos dez
anos, pelo Laboratrio NatalNet (www.natalnet.br), culminando com a incubao tecnolgica de uma empresa no setor (RoboEduc - www.roboeduc.com).

2.1.1 Material para Robtica Educacional (o Hardware)


Existe uma grande variedade de produtos para robtica educacional venda no mercado. Segundo nossos estudos da literatura, podemos dividir esses equipamentos, de
acordo com a abordagem a ser utilizada na construo do rob em si, em trs categorias:
o uso de kit comercial, o uso de peas e materiais eletrnicos para montagem e o uso de
material alternativo (sucata).
Uso de Kit Comercial
Essa categoria refere-se a kits prontos de fbrica, sendo eles j produtos comerciais
de prateleira (disponveis em lojas ou rede especializada) que podem ser adquiridos para
uso direto em ambientes educacionais. A vantagem desses produtos que em geral eles j
oferecem manuais e guias didticos de montagem para os alunos e professores. Por outro
lado, esses produtos so caros, com custos que vo desde centenas de reais at vrias
dezenas de milhares de reais.

2.1. ROBTICA EDUCACIONAL

11

Sem dvida, o produto mais conhecido nesta rea o Lego NXT Mindstorms [The
2012], um kit robtico amplamente usado em escolas. Este kit contempla, alm dos
blocos convencionais de montagem, sensores e atuadores que so controlados por uma
unidade de controle (um computador embarcado) que pode ser programada usando um
software intuitivo de programao por blocos. interessante notar que esse produto foi
concebido cuidadosamente em parceria com o Prof. Seymour Papert do MIT, um pesquisador pioneiro no uso de tecnologias aplicadas educao, tais como o computador e a
robtica. O nome Mindstorms tem origem no livro seminal do Prof. Papert: Mindstorms:
Children, Computers and Powerful Ideas.
Outros kits tambm usados so o VEX [Vex 2012] e o Fischertechnik [fis 2012], que
tambm incluem partes mecnicas, eletrnicas e respectivos softwares de programao.
Empresas brasileiras tambm projetaram seus kits e comercializam diversos produtos de
robtica educacional. Destacam-se os kits da Modelix [Mod 2012], da PNCA [PNC 2012]
e da Robokit [Rob 2012a].
Uso de Material de Montagem
Alguns projetos e escolas podem optar por no usar um kit disponvel no mercado, e
sim construir um rob comprando e adaptando as peas mecnicas e eletrnicas, tambm
disponveis no mercado. Normalmente, nesta abordagem, esse tipo de atividade no conta
com manuais e guias de montagem, e requer um maior amadurecimento dos alunos, para
projetar, especificar, adquirir e integrar as peas de forma adequada.
A unidade de controle desses robs costuma ser um microcontrolador, como o PIC da
Microchip, ou o AtMega da Atmel, que o microcontrolador usado nas placas Arduino.
O Arduino, por sua vez, tem seu uso cada vez mais predominante em projetos de robtica
desse tipo, j que sua programao fcil, prtica, e seu custo no muito alto. Outra
plataforma adequada para montagem de robs o dispositivo SunSpot [Oracle 2012], que
uma unidade de controle que pode ser programada em Java, facilitando seu desenvolvimento para iniciantes em programao. Alm disso, tambm possvel a implementao
de algoritmos clssicos de robtica no SunSpot, como por exemplo o sistema de localizao usando odometria convencional desenvolvido por do Nascimento et al. (2012). Nossa
proposta de trabalho se encaixa melhor nesse modelo.
Uso de Sucata
A robtica com material alternativo, tambm conhecida como robtica livre, consiste
em reaproveitar materiais, peas e equipamentos que seriam descartados (sucatas), para a
construo dos robs. Alm de reduzir os custos [da Silva & da Silva Almeida 2012], esta
abordagem tambm interessante, j que muitos equipamentos que seriam normalmente
jogados no lixo possuem peas que podem ser usadas em um rob. Impressoras, por
exemplo, possuem diversos motores, engrenagens, cabos e circuitos lgicos que podem
ser reaproveitados. Assim, antes desses equipamentos serem descartados efetivamente,
pode-se retirar as peas que podero ser usadas para compor as diversas partes do rob.
Convm ressaltar que o termo sucata tem sido questionado pela comunidade de robtica educacional, referenciando que isso pode lembrar o lixo em si, mas que esse termo

12

CAPTULO 2. EMBASAMENTO TERICO

efetivamente denota o modelo em questo. Usaremos esse termo ou robtica livre ou


ainda robtica com materiais alternativos indistintamente neste trabalho para indicar este
modelo de construo.
Nesta linha, Thomaz et al. [de Lima S 2011, Thomaz et al. 2012] listam diversas
abordagens e projetos de robtica livre e apresentam uma proposta para construo de
robs educativos por cerca de R$ 100,00 usando peas recicladas de computadores e alguns componentes adicionais comprados no mercado. Botelho et Al. propem um kit
de robtica didtica acessvel baseado no uso de sucata e componentes de baixo custo
[Botelho et al. 2012], apontando que uma das vantagens dessa abordagem dar maior
liberdade para os alunos usarem a criatividade para construir seus robs, evitando a necessidade de seguir um guia de instrues rgido do tipo passo a passo.

2.1.2 Softwares para Robtica Educacional


Existem diversas opes de softwares para robtica educacional, que normalmente
so usados para desenvolver e programar os robs criados pelos alunos, ou em alguns
casos, apenas para simular robs no computador, dispensando o uso de um rob real.
Esses softwares so normalmente especficos para determinados robs.
Para a robtica educativa, comum que as ferramentas de programao mencionadas
ofeream a opo de programao por blocos: onde o aluno usa o software para conectar,
de forma visual, caixinhas que representam o acionamento de algum atuador, a leitura de
algum sensor, ou estruturas lgicas e de repetio. Outros softwares somente suportam a
programao textual tradicional, e alguns oferecem um ambiente hbrido, onde os blocos
so traduzidos para cdigo fonte, que pode ser editado.
O Lego Mindstorms oferece uma ferramenta de programao baseada no LabView,
que permite programar graficamente o computador do rob para diversos tipos de comportamento autnomo. O programa desenvolvido gravado na unidade de controle, que
opera de forma independente. Devido a dificuldades com a lngua inglesa e buscando melhor nvel de abstrao para trabalhar com alunos do primeiro segmento do ensino fundamental (primeiro ao quinto ano), pesquisadores do Laboratrio NatalNet desenvolveram o
ambiente RoboEduc [Barros 2008], que tambm oferece um ambiente para programao
visual de robs Lego, porm em Portugus, e com abstraes mais simples e didticas
para atrair crianas. O sistema criado por Barros (2008) j foi usado com sucesso em
centenas de crianas com faixa etria entre 4 e 10 anos de idade.
No Brasil, a empresa XBot tambm apresentou recentemente [Netto et al. 2012] um
ambiente de programao grfica para seus robs didticos, incluindo recursos avanados de programao grfica e a funcionalidade de captura de imagens de uma cmera.
Nota-se, nesse sistema, que o programa no transferido e executado no rob, mas sim
executado no computador de controle, que envia comandos de movimentao remotos via
rdio.
Outra ferramenta bastante poderosa, mas restrita para alunos do ensino superior,
o Microsoft Robotics Studio, uma ferramenta que permite programao textual ou grfica, e inclui blocos com funcionalidades e algoritmos avanados para controle de robs,
incluindo captura de dados 3D de uma cena usando o sensor Kinect, tambm da Micro-

2.2. ROBS E SMARTPHONES

13

soft. Outra vantagem dessa ferramenta, o fato dela ser genrica e gratuita, podendo ser
utilizada com vrios robs e plataformas robticas, incluindo o Lego Mindstorms.

2.2

Robs e Smartphones

Uma das possveis unidades de controle do N-Bot so os Smartphones, que so telefones celulares dotados de muitos recursos de software e hardware. De fato, os smartphones
possuem alto poder computacional, alm de diversos outros recursos que podem ser teis
para controle de robs. Essa tendncia foi confirmada em um artigo recente publicado
na IEEE Robotics and Automation Magazine, apontando robs baseados em smartphones
como uma tendncia para a robtica [Guizzo & Deyle 2012].
De fato, comum esses telefones possurem receptor do sistema de posicionamento
global (GPS), cmera, bssola, acelermetro, wifi, bluetooth, alto-falantes, microfone,
sensor de luz, alm de vrias bibliotecas de software teis para robtica, como reconhecimento e sntese de voz [Aroca, Burlamaqui & Gonalves 2012, Aroca, de Oliveira &
Gonalves 2012]. Alm disso, como esses aparelhos so produzidos com grande economia de escala, mais barato comprar um telefone com todos esses recursos, do que um
microcontrolador tipicamente usado em robtica, e cada um dos sensores mencionados
para ento integr-los.
Dessa forma, vrios projetos tm sido apresentados recentemente usando telefones
celulares como unidades de controle de robs [CellBots 2011, Ahn et al. 2009, Sa et al.
2009, Santos et al. 2010, Aroca, Burlamaqui & Gonalves 2012]. A viabilidade tambm
confirmada por Santos et Al. em um estudo que aponta que telefones equipados com
processadores de 300MHz j so capazes de executar algoritmos complexos de robtica
[Santos et al. 2010]. Como mencionado, os dispositivos mveis possuem vrias caractersticas que podem ser teis em robtica. Algumas destas possibilidades so discutidas a
seguir.
Com relao ao software, os telefones atuais tambm possuem sistemas operacionais
e ambientes com diversas facilidades para implementao de sistemas robticos. Um
desses sistemas, o Android, apresentado a seguir.

2.2.1

O Sistema Android

O Android um sistema operacional baseado em Linux desenvolvido pelo Google


para ser usado em smartphones e tablets. Para oferecer um modelo de desenvolvimento
de aplicaes produtivo, os programas podem ser desenvolvidos usando a linguagem Java
e facilmente testados e enviados para dispositivos com Android [Google 2012], ou para
um simulador. Quando dispositivos reais so usados, os programadores podem depurar
erros no prprio dispositivo via cabo USB, ou via rede. Assim, possvel depurar erros e
corrigir aplicaes no rob distncia facilmente. Se necessrio, o programador tambm
pode optar pelo uso da linguagem C, Python ou outras linguagens suportadas pelo Linux.
Usando a interface para programao de aplicaes (API) do Android possvel aproveitar uma vasta gama de opes para desenvolvedores de pesquisas em robs. A sntese
e reconhecimento de voz, por exemplo, um recurso muito desejado em robs, funciona

14

CAPTULO 2. EMBASAMENTO TERICO

perfeitamente, enquanto em robs tradicionais os programadores devem necessariamente


instalar, configurar e ajustar bibliotecas de software para reconhecimento de voz, que geralmente no funcionam bem. Com a API do Android, possvel fazer com o que rob
reconhea frases completas em vrias lnguas, alm de falar frases completas com apenas algumas linhas de programao. Outro aspecto interessante, que ao analisar a fala
do usurio, a API do Android retorna uma lista das frases mais provveis faladas pelo
usurio, facilitando a interpretao dos comandos de voz.
A API do Android tambm oferece acesso facilitado cmera e sensores de orientao. Alguns dispositivos possuem apenas acelermetro, outros possuem acelermetro
e bssola, e outros ainda possuem um giroscpio adicional. As mesmas chamadas de
funes podem ser usadas para obter dados de todos esses sensores, independentemente
do dispositivo. Para tanto, usada uma abstrao que retorna a acurcia dos sensores
juntamente com as medidas.
Em 2011 o Google introduziu o Android Open Acessory Development Kit (ADK), um
sistema que permite dispositivos com Android, incluindo telefones, a se conectarem diretamente a dispositivos externos, tais como teclados, mouses, cmeras e joysticks. Uma
limitao que poderia surgir com esse sistema, o fato dos telefones mveis no possurem portas USB do tipo mestre, assim nenhum acessrio USB poderia ser conectado ao
telefone. Para resolver esse problema, o ADK permite que acessrios USB atuem como o
mestre do barramento USB, permitindo que equipamentos externos possam interagir com
programas rodando no dispositivo com Android. O Google j oferece suporte oficial para
microcontroladores PIC e para o Arduino.
Possvel uso de Viso Computacional
Um sistema de viso artificial essencial para qualquer rob que precisa perceber e
interagir com o mundo real. De fato, Kyrki e Kragic explicam que o sucesso de uma tarefa
de um rob relacionado com o sucesso do seu sistema de viso [Kyrki & Kragic 2011].
Normalmente, vrias tcnicas de viso computacional so usadas em robtica, onde
destacam-se a deteco e reconhecimento de objetos e a ateno robtica [Garcia et al.
2000], que a habilidade de selecionar um tpico de interesse, a viso estreo, a odometria visual [Scaramuzza & Fraundorfer 2011], e sistemas de localizao e mapeamento
simultneos (SLAM). Desenvolvedores normalmente usam a biblioteca de viso computacional OpenCV, que foi portada para dispositivos mveis, podendo ser usada tanto no
iPhone quanto em sistemas com Android, permitindo o desenvolvimento de sistemas de
viso computacional embarcados com a mesma flexibilidade oferecida pelo OpenCV em
computadores tradicionais.

2.2.2 Acesso rede e Robtica nas Nuvens


Como os smartphones possuem diversos meios de acesso rede Internet, destacando
acesso via servios GPRS/3G/4G da operadora de telefonia ou via conexo wifi, essa
conectividade pode ser usada para monitorar ou enviar comandos remotamente para o
rob, ou para dar acesso a servios disponveis na Internet atravs do conceito de robtica

2.2. ROBS E SMARTPHONES

15

nas nuvens. Neste conceito, possvel que robs usem a World Wide Web (WWW) como
fonte para busca de conhecimento e de solues para resolver certos problemas.
Uma das primeiras demonstraes desse conceito foi feita por pesquisadores do Google. Eles apresentaram um rob controlado por um telefone com sistema Android que
pode receber comandos de voz como Encontre um bolinho, e pesquisar nos servios online do Google usando as imagens adquiridas por sua cmera. Assim, o reconhecimento
de imagens executado por um servio externo, na nuvem, sem a necessidade da execuo de nenhum algoritmo de viso no telefone [Hickman et al. 2011, Tofel 2011]. Eles
tambm mostram que esse modelo de programao permite que os robs acessem facilmente servios na nuvem, como instrues de navegao at um determinado destino,
traduo e reconhecimento de textos vistos em placas de sinalizao ou objetos usando
reconhecimento tico de caracteres [de Molengraft et al. 2011] com a possibilidade de
traduzir esses textos.
Outros trabalhos recentes do aos robs a capacidade de buscar e descarregar da Internet modelos 3D de mveis, aprender sobre eles e reconhece-los enquanto eles navegam
em ambientes desconhecidos [Mozos et al. 2011]. Alm disso, no necessrio ensinar as
informaes desejadas para cada rob, j que todos podem se beneficiar da mesma fonte
de informaes e algoritmos disponveis na nuvem.
Finalmente, o PR2, rob mencionado na subseo anterior, possui dois computadores
embarcados, cada um com um processador de 8 ncleos e 24GB de memria RAM. Assim, embora os robs venham recebendo computadores cada vez mais poderosos, ainda
fato a dificuldade de um rob poder adquirir e armazenar grandes quantidades de conhecimento e utiliz-los para reconhecer objetos e tomar decises em tempo real. Muitos
algoritmos classificadores, por exemplo, levam vrios segundos para reconhecer objetos,
e alguns necessitam de uma fase de treinamento que pode levar vrios dias, tornando a nuvem uma soluo bastante interessante para tomada de decises em robs com velocidade
e eficcia.

2.2.3

Recursos de Hardware

Alm dessas possibilidades descritas, ressaltamos ainda vrios outros recursos, e mesmo
assim esta lista no exaustiva:
CPU: Smartphones possuem processadores com velocidade de 1GHz ou mais. Alguns modelos possuem processadores multi-core, e so capazes de executar tarefas
complexas e computacionalmente intensivas para navegao autnoma de robs;
Bssola: pode ser usada para conhecer a direo de movimento do rob, melhorando algoritmos de controle;
GPS: Pode ser usado para obter a posio do rob em ambientes externos, alm de
sua altitude e velocidade;
Acelermetro: pode ser usado para detectar mudanas de velocidade, e consequentemente se o rob bateu em algum objeto em qualquer direo. Tambm pode ser
usado para detectar a orientao do rob e para melhorar a preciso de algoritmos
de navegao visual atravs de fuso sensorial;

16

CAPTULO 2. EMBASAMENTO TERICO


Bluetooth: pode se usado para trocar informaes com robs prximos, para localizao, e para comunicao com outros dispositivos bluetooth. Um rob baseado
em Lego Mindstorms NXT, por exemplo, pode ser controlado por um smartphone
via bluetooth;

As caractersticas de telefones celulares apresentadas nesta seo mostram a viabilidade do uso desses dispositivos como unidade de controle de um rob de forma prtica e
flexvel. Assim, isso justifica o uso de smartphones como unidades de controle de robs
ao longo desse trabalho, fato que tambm j foi enfatizado por Goebel et al. (2011).

2.3 Arquiteturas de Controle de Hardware


Para situar e comparar a tcnica de controle de hardware usada no N-Bot, apresentamos nesta Seo uma breve descrio das formas mais comuns de conectar computadores
de controle de robs com os seus sensores e atuadores (SA).
1. SA Microcontrolador: essa umas das abordagens mais comuns em projetos
de pesquisa e na indstria. Um microcontrolador, como o PIC ou AtMega (usado
no Arduino), diretamente conectado a sensores e atuadores e os algoritmos so
executados todos no microcontrolador. Esses dispositivos possuem baixo custo,
mas tambm possuem capacidade de processamento limitada, normalmente menos
de 50MHz, alm de possurem memrias de apenas alguns Kilobytes ou menos,
dificultando a implementao de tarefas complexas que usam cmera, ou fazem
algum tipo de mapeamento robtico [de Santana Souza & Gonalves 2012];
2. SA Microcontrolador Computador: essa abordagem consiste em usar um
microcontrolador para ler sensores e controlar atuadores. Os laos de controle principais executam em outro computador, normalmente um PC, que conectado ao
microcontrolador usando porta serial RS-232, USB, Bluetooth ou outra forma de
conexo;
3. SA Placas de E/S Computador: esta tcnica tipicamente usada em robs industriais, comerciais e em alguns robs de pesquisa. Todos os laos de controle so
executados em um computador, normalmente um PC, equipado com placas especiais de entrada e sada (E/S) para coletar dados dos sensores e controlar atuadores.
Exemplos so as placas da National Instruments e a ServoToGo. Essas placas so
instaladas em barramentos do computador, como o Peripheral Component Interconnect (PCI), ou Compact PCI, e sensores podem ser ligados diretamente nessas
placas. Os atuadores tambm so ligados nessas placas, mas normalmente amplificadores de potncia tambm so usados, dependendo do tipo de atuador;
4. SA Microcontrolador Rede Computador: trata-se de uma arquitetura de
controle distribuda onde sensores e atuadores so conectados a microcontroladores
de baixo custo. Esses microcontroladores so interconectados com o computador
de controle usando uma rede de comunicao. Essa abordagem j usada em diversos tipos de robs: o PR2, por exemplo, um rob recente e altamente flexvel usa
uma rede Ethercat, uma variao da rede Ethernet, para trocar dados de sensores e
atuadores com o computador principal.

2.4. COMUNICAO VIA UDIO

17

Todos esses mtodos de conexo de sensores e atuadores baseiam-se em componentes


eletrnicos digitais. No Captulo 4, uma tcnica de coleta de dados de sensores e acionamento de atuadores usando o canal de udio descrita. A vantagem dessa tcnica a
possibilidade do uso de diversos dispositivos mveis como unidade de controle de forma
intercambivel e a simplicidade dos circuitos.

2.4

Comunicao via udio

A troca de dados via canais de udio uma tcnica bastante antiga e til em inmeras
aplicaes. Na dcada de 80, era comum utilizar fitas cassete para gravar programas de
computador como uma sequncia de sinais sonoros. Para executar um programa, era preciso tocar (apertar o Play) a fita cassete no gravador, que gerava uma sequncia de sons,
que eram usados pelos microcomputadores para carregar programas em suas memrias.
Nessa poca, antes da existncia da Internet comercial, algumas universidades transmitiam, via rdio FM, programas de computador em determinadas horas do dia. Bastava
sintonizar um receptor de rdio FM na rdio universitria, e conectar a sada do rdio
entrada do microcomputador, que recebia o novo software, via transmisso sem fio.
Tambm baseados em canais telefnicos de voz, os modems foram o principal meio de
conexo entre computadores remotos durante muitos anos. Hoje em dia, variaes dessas
tcnicas so muito utilizadas em sistemas de comunicao entre mquinas (machine to
machine, ou M2M), onde destacam-se a comunicao entre alarmes residencias e centrais
de monitoramento, e outros equipamentos de telemetria. Como os canais de telefonia de
voz possuem banda restrita, baixa confiabilidade e rudo, foram criadas vrias tcnicas
para codificar e transmitir dados de forma segura atravs desses canais. Uma dessas
tcnicas o tom duplo de frequncia mltipla, o DTMF, que usado como base desse
trabalho.

2.4.1

DTMF

O DTMF, ou Dual Tone Multi Frequency, uma tcnica que codifica dezesseis caracteres diferentes atravs de um par de frequncias sonoras. Ele foi criado na dcada de 50,
sendo uma opo mais rpida em relao ao sistema de discagem por pulsos que hoje
obsoleto. Seu principal propsito o de enviar os dgitos que um usurio pressionou em
seu telefone para uma central de telefonia. Embora o sistema j tenha mais de 60 anos,
ele ainda amplamente usado em sistemas de telecomunicaes e em praticamente todos
os projetos de novos telefones [Davidson et al. 1999].
Os tons DTMF podem ser identificados ao pressionar teclas de um telefone durante
uma ligao. O sistema baseado em 16 frequncias de udio organizadas em uma matriz
de dimenso quatro. A Tabela 2.1 mostra essas frequncias e seus dgitos correspondentes. Assim, um dgito vlido sempre composto por um par de frequncias: uma da
coluna e uma da linha da tabela, que devem ser geradas simultaneamente. Por exemplo, para codificar o dgito 9, um sinal de udio deve conter as frequncias 852 Hz e
1,477 Hz.

CAPTULO 2. EMBASAMENTO TERICO

18

697 Hz
770 Hz
852 Hz
941 Hz

1,209 Hz
1
4
7
*

1,336 Hz
2
5
8
0

1,477 Hz
3
6
9
#

1,633 Hz
A
B
C
D

Tabela 2.1: Pares de frequncias DTMF e seus dgitos correspondentes. Tabela adaptada
do Audio Engineers Reference Book.
Como o DTMF foi projetado para trocar dados em linhas telefnicas ruidosas, o uso
de um par de frequncias torna o sistema eficiente e robusto a rudos e ainda a outros sons
que no caracterizam um dgito DTMF. De fato, quando o sistema DTMF foi concebido,
suas frequncias foram cuidadosamente escolhidas para minimizar a semelhana entre
pares de tons DTMF e sons naturais [van Bosse & Devetak 2006].
Alm de aplicaes de comunicao para alarmes residenciais, o DTMF tambm
usado em rastreadores de carro e em sistemas interativos de resposta por voz, como aqueles sistemas bancrios automticos, que solicitam para o usurio discar senhas, e escolher
opes atravs do teclado de seu telefone.

2.4.2 Anlise de Sinais


Como foi mencionado no Captulo 1, o N-Bot utiliza sinais de udio para codificar
o estado de diferentes sensores. Dessa forma, um circuito gerador de tons de udio
utilizado no rob, e o dispositivo de controle precisa analisar o sinal de entrada para
identificar frequncias sonoras que contenham alguma informao sobre o estado dos
sensores.
Para identificar as frequncias presentes no sinal de entrada, utiliza-se a transformada
discreta de Fourier (DFT), descrita pela Equao 2.1. Assim o dispositivo de controle
deve amostrar continuamente o sinal de udio, que est no domnio do tempo, e atravs
da DFT, represent-lo no domnio da frequncia.
N1

X(m) =

x(n)e j2nm/N

(2.1)

n=0

Na Equao 2.1, X(m) a magnitude do sinal em anlise na posio m, x(n) a


sequncia de entrada no domnio do tempo, representando o sinal de entrada com ndice n.
O parmetro N especifica o nmero de pontos da DFT, que tambm determina a resoluo
e o nmero de amostras a serem analisadas. Como a DFT requer alta demanda de processamento, implicando tambm em aumento no tempo, comum implementar a transformada rpida de Fourier (FFT), assim como fizemos neste trabalho. Para mais detalhes e
explicaes sobre esses e outros conceitos de anlise de sinais, recomendamos recorrer
literatura sobre processamento digital de sinais [Lyons 2010, Chitode 2008, Khan 2005].
Um aspecto importante a ser observado na implementao da DFT, a taxa de amostragem usada. De acordo com o teorema fundamental da amostragem de Nyquist-Shannon
[Lyons 2010], esse parmetro deve ser pelo menos duas vezes a maior frequncia que ser

2.4. COMUNICAO VIA UDIO

19

analisada. Assim, caso se deseje analisar sinais com tons DTMF, deve-se notar, pela Tabela 2.1, que a maior frequncia de um dgito DTMF 1,633Hz. Assim, para sinais deste
tipo, a taxa de amostragem, Fs, deve ser de pelo menos 3,266Hz.
Outro aspecto que dever ser considerado na implementao o equilbrio entre taxa
de amostragem, nmero de pontos da FFT e resoluo de frequncia desejada. Para determinar esta relao, a Equao 2.2 utilizada.
mFs
(2.2)
N
Para exemplificar, do ponto de vista teorico, a capacidade do uso de canal de udio
para transmitir o estado de diversos sensores do tipo ligado/desligado, podemos tomar
como base um canal de udio tpico para tranmisso de voz que vai de 20Hz a 20KHz.
Pela equao 2.2, usando uma taxa de amostragem (Fs) de 40KHz e uma FFT com 2048
pontos, possvel analisar o sinal com uma resoluo de aproximadamente 20Hz. Assim,
tal sistema pode analisar cerca de 1000 tons de frequncias diferentes.
Por segurana, pode-se estabelecer um espaamento de 20Hz antes e depois do sinal
de interesse relacionado a cada sensor, caracterizando a capacidade de identificar cerca
de 300 frequncias diferentes, sendo que a presena ou ausencia de cada um desses tons
codificar o estado de um determinado sensor. Na prtica, este nmero ainda menor
devido a interferncias e outros motivos prticos. Dependendo da forma com que o sinal
dos sensores codificado, outro motivo potencial para reduo da capacidade do sistema
pode surgir devido a presena de harmnicas no sinal de entrada, que so tons de duas
vezes a frequncia do sinal principal.
Maiores detalhes sobre a aplicao da DFT para anlise do estado dos sensores representados por tons de udio, a escolha da resoluo adequada para nosso sistema de
acordo com a Equao 2.2, bem como o uso do DTMF para controle de atuadores so
apresentados no Captulo 4.
f (m) =

20

CAPTULO 2. EMBASAMENTO TERICO

Captulo 3
Estado da Arte

If I have seen further it is by standing on the sholders of Giants.


Isaac Newton

Visto que esta tese possui uma caracterstica multidisciplinar, fazemos neste captulo
a reviso do estado da arte de uma forma lgica, de acordo com cada aspecto relacionado
com o seu tema, concentrando e contextualizando as referncias de trabalhos relacionados
diretamente ao tema desta tese.
Como o foco maior do nosso trabalho est no desenvolvimento da plataforma robtica
em si, trabalhos sobre teorias de ensino-aprendizagem no so estudados neste Captulo,
sendo alguns apenas citados como motivao.

3.1

Robtica na Educao

As pessoas riram de Seymour Papert, nos anos 60, quando ele sugeriu a ideia das
crianas usarem computadores como instrumentos de aprendizagem. Mas Papert no se
deixou abater, tendo conduzido de forma brilhante suas pesquisas no Instituto de Tecnologia de Massachusets (MIT), sendo considerado, por isso, o pai da Robtica Educacional.
Segundo Blikstein, o segredo das metodologias educacionais usando tecnologias est no
desenho das tecnologias em si, com interfaces simples que s expem a matemtica e a
fsica que so adequadas ao desenvolvimento cognitivo da criana [Dalmazo 2012].
Hoje em dia, fato amplamente conhecido que a robtica uma soluo ideal para
integrao curricular, oferecendo aos estudantes a possibilidade de relacionar conceitos aprendidos em vrias disciplinas [Manseur 1997, Mirats Tur & Pfeiffer 2006, Alves
et al. 2011a]. O incentivo ao trabalho em equipe tambm naturalmente promovido
[Mirats Tur & Pfeiffer 2006, Martins et al. 2012]. Alm disso, a maioria das pessoas
aprendem mais facilmente quando a execuo de tarefas e atividades prticas esto envolvidas no processo de aprendizagem [Conrad 2005], de forma que os robs podem ser
usados como ferramentas pedaggicas que oferecem uma experincia do tipo aprender
fazendo [Alves et al. 2011b, Ahlgren 2002].
Outra possibilidade oferecida pela robtica no ambiente educacional a possibilidade dos alunos participarem em competies de robtica, que estimulam e despertam

22

CAPTULO 3. ESTADO DA ARTE

o interesse desses alunos [Angonese et al. 2012, Reis et al. 2012]. De fato, Miranda &
Suanno (2012) explicam que a participao em competies no motiva apenas os alunos,
mas tambm os professores. Alm disso, cursos que envolvem competies de robtica
e o uso de robs na sala de aula aumentam significativamente o nmero de matriculas
[Alemany & Cervera 2012].
Um fato interessante que a robtica na educao, e seus bons resultados, vm
atraindo cada vez mais o interesse das comunidades de pesquisa. Em 2012 a reconhecida revista Transactions On Education da IEEE lanou uma chamada de trabalhos para
uma edio especial sobre robtica na educao. No Brasil, o Prof. Dr. Luiz Marcos Garcia Gonalves, orientador deste trabalho, vem organizando repetidamente com apoio da
Sociedade Brasileira de Computao (SBC), o Workshop de Robtica Educacional, que
j est na sua terceira edio. O Workshop recebeu 29 submisses em 2012, incluindo
algumas de fora do Brasil. No mbito internacional, ocorreu nesse mesmo ano a terceira edio da conferncia internacional de robtica na educao (RiE), que j tem data
marcada para a quarta edio em 2013.
A seguir, descrevemos diversos robs educacionais criados para propsitos educacionais.

3.1.1 Robs Educativos de Baixo Custo


Embora os robs sejam ferramentas educacionais excelentes, vrios especialistas[Alves
et al. 2011b, Galvan et al. 2006, Alves et al. 2011a, Chella 2012] alertam que os altos
custos dos robs podem impedir seu uso em salas de aula. Da mesma forma, Lumsden
e Ortega-Sanchez argumentam que o mercado ainda carece de plataformas robticas flexveis com custo acessvel [Lumsden & Ortega-Sanchez 2010]. Essa realidade motivou
educadores e pesquisadores a desenvolverem vrios robs educacionais de baixo custo
para o ensino [Greenwald & Kopena 2003, Galvan et al. 2006, Dinh & Inanc 2009, Hamblen & Hall 2004, Lumsden & Ortega-Sanchez 2010]. Alm disso, Botelho et al. (2012).
enfatizam que o baixo poder aquisitivo no deve ser um impedimento para escolas implementarem projetos de educao tecnolgica, sugerindo alternativas acessveis, como o
uso de sucata para construir robs.
Existem vrios trabalhos na literatura descrevendo projetos de robs de baixo custo
para educao, sendo que alguns deles so diretamente relacionados com este trabalho. Nesse contexto, vrios autores propem robs educacionais de baixo custo, mas na
maioria dos casos, sem mencionar o custo desses dispositivos. Outros autores propem
robs educacionais, que consideram de baixo custo, na faixa entre 200 e 1000 dlares
[Greenwald & Kopena 2003, Dinh & Inanc 2009, Hamblen & Hall 2004, Lumsden &
Ortega-Sanchez 2010]. Embora esses valores possam ser baixos para universidades, eles
so inacessveis para a maioria dos estudantes que desejam possuir seu prprio rob, ou
seu kit de robtica, especialmente para aqueles de pases em desenvolvimento, como a
frica ou mesmo o Brasil.
Nota-se assim que o termo baixo custo relativo. No intervalo de preo mencionado
tambm se encontra o Lego NXT Mindstorms, uma plataforma robtica amplamente
usada em ambientes escolares [Mirats Tur & Pfeiffer 2006]. Uma tecnologia nacional

3.1. ROBTICA NA EDUCAO

23

para ambientes educacionais o rob Curumin, comercializado pela empresa Xbot. Embora j seja adotado em diversas escolas, ele tem um custo relativamente alto [da Silva &
da Silva Almeida 2012]. Esse rob oferece uma ferramenta de programao para plataforma Windows, que permite aos alunos definirem as tarefas do rob conectando blocos
graficamente [Netto et al. 2012], assim como feito no ambiente do Lego NXT.
Piperidis et al. (2007) apresentam uma pesquisa mostrando que apenas 5% dos robs
mveis comerciais custam menos de 100 Euros. Alm disso, eles tambm afirmam que
um rob com recursos suficientes para ser usado tanto em educao quanto em pesquisa
custa pelo menos 3000 Euros, concluindo que existe a necessidade de robs mveis com
melhor custo-benefcio. Como soluo, Piperidis et al. (2007) apresentam um rob com
custo de 500 Euros. Para obter maiores redues de custo, Hamblen e Hall sugerem o uso
de peas de brinquedos para construo de robs educativos [Hamblen & Hall 2004].
Com relao as unidades de controle, uma abordagem muito usada consiste no uso de
computadores portteis (notebooks, por exemplo) como unidades de controle de robs,
contudo esses computadores possuem portas de E/S limitadas, necessitando placas auxiliares para conectar sensores e atuadores [Hamblen & Hall 2004], alm do fato do rob
precisar ser robusto para carregar um notebook, ou mesmo um netbook. O rob LUDEBot
[Pin et al. 2012] um projeto que se encaixa nessa categoria, j que possui um Arduino
para interface com sensores e atuadores e um netbook para execuo de algoritmos de
alto nvel. Alm disso, o LUDEBot custa menos de um quarto do valor de um Kit Lego
Mindstorms, e os autores sugerem a possibilidade de substituir o netbook por um telefone
celular ou tablet com Android.
Uma alternativa com menor custo o uso de simuladores de robtica [Chella 2012],
embora essa atividade possa no ser to atrativa para os alunos. Fernandes et al. (2012)
propem uma abordagem alternativa onde os alunos usam um simulador para refletir e
resolver um determinado problema. Uma vez solucionado o problema no simulador, os
alunos montam um rob real para testar a soluo imaginada na prtica usando um kit de
robtica livre.
Outra soluo que vem ganhando cada vez mais ateno o uso de smartphones como
as principais unidades de controle de robs [Guizzo & Deyle 2012, Santos et al. 2010,
Aroca, Burlamaqui & Gonalves 2012, Aroca, de Oliveira & Gonalves 2012]. Como os
telefones mveis possuem vrios recursos e sensores diretamente teis para robs, seu uso
como crebro de um rob torna-se interessante. Alm disso, como j descrito no Captulo
2, os celulares so fabricados em larga escala, ento mais barato comprar um celular
que possui acelermetro, bssola, cmera e outros sensores do que um microcontrolador
e todos esses sensores separadamente para depois integr-los. Finalmente, smartphones
oferecem ambientes de desenvolvimento e bibliotecas de programao que so mais fceis
de usar do que aquelas fornecidas por fabricantes de microcontroladores.

3.1.2

Robs como Motivadores

uma crena comum que o aprendizado torna-se melhor quando os estudantes esto motivados e engajados [Mok 2011, Galvan et al. 2006, Pink 2009]. Dessa forma,
de acordo com Alves et al. (2011b), a robtica pode ser usada como um elemento mo-

24

CAPTULO 3. ESTADO DA ARTE

tivador, e de fato Rawat & Massiha (2004) relatam que os comentrios dos alunos aps
aulas que envolvem robtica so extremamente positivos. Alves et al. (2011b) tambm
argumentam que os alunos consideram a construo de prottipos de robs uma atividade motivadora. Alm disso, os alunos demonstram um grande interesse na aplicao
de conceitos aprendidos durante aulas que envolvem robs [Galvan et al. 2006]. Adicionalmente, a motivao no se aplica apenas alunos em cursos convencionais: Ranieri
et al. (2012) apresentam o uso de robtica para melhorar a motivao e realizar atividades
educacionais com crianas com deficincias, onde os autores observaram que o sistema
mostrou-se atrativo para as crianas.
Avaliaes de trabalhos prticos com robs em vrios cursos mostram que os estudantes consideram estas prticas de laboratrio desafiadoras e estimulantes [Kramer &
Anderson 2011]. Firebaugh e Piepmeir coletaram as opinies de estudantes durante um
curso sobre nano-robs, e observaram que a maioria dos alunos avaliou o curso como
um dos melhores que eles tinham feito. Esses estudantes tambm disseram que trabalhar
em um laboratrio e construir alguma coisa so pontos fortes daquele curso especfico de
robtica [Firebaugh & Piepmeier 2008].
Um estudo mostra que estudantes so mais motivados pela vontade de aprender do que
por ganhar algum prmio ou completar os crditos de um curso [Hernando et al. 2011].
Esse fato consistente com as teorias descritas no livro de Pink [Pink 2009], que compila
vrios estudos sobre motivao. De acordo com Pink, a motivao autnoma, que tem
origem no interesse individual, promove melhor compreenso conceitual, melhores notas,
e melhor persistncia na escola [Pink 2009]. Ele tambm argumenta que esse tipo de
motivao promove o compromisso.
Um aspecto importante da motivao que as tarefas no devem ser nem muito difceis nem muito fceis, pois caso contrrio a motivao se perde [Mok 2011], ou ainda
pior, as tarefas podem causar frustrao [Pink 2009]. De acordo com Mok, um descompasso entre a complexidade das tarefas e as habilidades dos alunos prejudica a obteno
de engajamento dos estudantes. Acreditamos que o N-Bot seja uma ferramenta ideal para
evitar esse tipo de problema. Com atividades planejadas adequadamente, ele pode ser
aplicado em uma larga variedade de tpicos e dificuldades, possibilitando seu uso por
estudantes novatos e seniores.

3.1.3 Um Rob por Aluno


A ideia de um rob por aluno (URA), que pode ser uma extenso do projeto j existente um computador por aluno (UCA), foi sugerida vrias vezes pelo Prof. Dr. Aquiles
Burlamaqui em comunicaes pessoais realizadas no laboratrio NatalNet-UFRN. Uma
proposta semelhante, feita pelo Prof. James McLurkin, de uma universidade Americana,
ganhou destaque da imprensa internacional no final do ano de 2011, bem como recebeu
diversos prmios pela proposta de um rob por aluno de engenharia.
McLurkin defende um curriculum acadmico onde cada aluno deve ter seu prprio
rob, permitindo assim testes e estudos de lies individuais, bem como a realizao de
trabalhos em equipe [Ric 2011]. Para tanto, McLurkin criou uma plataforma robtica de
baixo custo (segundo o autor) chamada R-One que custa cerca de US$ 200,00. O autor

3.1. ROBTICA NA EDUCAO

25

tambm abriu uma empresa e pretende comercializar esse rob a partir de 2012, j que
ele acredita que esse custo possibilite a adoo em massa desses robs em escolas. No
momento, cada estudante novato da universidade de Rice, nos EUA, recebe seu prprio
rob R-One no primeiro dia de aula [Ric 2011].
Tambm com a inteno de possibilitar que cada aluno tenha seu prprio rob para
fazer lies em casa, Lauwers desenvolveu o Finhch, um rob com custo de US$ 99,00 j
venda no mercado Americano [Ino 2012]. Esse rob inclui sensores de temperatura, de
luminosidade, de toque, acelermetro, LEDs, cmera, microfone e alto falantes. Segundo
Lauwers, o foco desse rob no para ensino de robtica, mas para facilitar e tornar mais
atrativo o aprendizado de programao de computadores (na verso atual usando Java).
A inteno desta iniciativa tornar aulas de programao mais interessantes, dispensando
a necessidade dos alunos construrem seus prprios robs [Ino 2012]. Deve-se notar que
esse rob no autnomo: ele no possui baterias e opera somente quando conectado a
um PC via cabo USB. Todos algoritmos so executados no PC, que envia comandos para
leitura de sensores e movimento das rodas [Lauwers & Nourbakhsh 2010].

3.1.4

O 10-dollar robot design challenge

Durante uma viagem para Gana, o professor Ken Goldberg, da universidade de Berkeley (EUA), notou que alunos de uma universidade usavam kits Lego Mindstorms, e em
seguida os empacotavam para enviar para outra escola, onde o kit seria usado na prxima
semana. Isto o fez refletir se no seria possvel reduzir os custos desse kit [Hurst 2012a].
Interessados em melhorar as condies de ensino e motivao dos alunos africanos,
Goldberg e Korsah fundaram a rede africana de robtica (AFRON), uma comunidade de
pesquisadores e instituies que trabalham para levar a robtica para frica, especialmente robtica educativa.
De acordo com Goldberg e Korsah [Korsah & Goldberg 2012b], os fundadores da
AFRON, robs excitam pessoas de todas as idades, mas so muito caros para alunos
africanos e de economias emergentes. Dessa forma, como primeiro projeto da AFRON,
eles promoveram o AFRON 10-dollar robot design challenge, com a inteno de fomentar
o desenvolvimento de plataformas robticas abertas de baixo custo, especialmente para
educao.
interessante o fato de que o prprio Goldberg, ao criar o desafio, alegou que a meta
de dez dlares irreal, mas que eles queriam estabelecer um valor que fizesse as pessoas pensarem em solues criativas [Hurst 2012a]. Dessa forma, Goldberg se espantou
ao notar que diversos pesquisadores conseguiram projetar e construir robs com custos
prximos, ou at inferiores a dez dlares.
Para participar do desafio, no era permitido apenas propor um projeto, mas um rob
real deveria ser construdo, e todas suas instrues de montagem e funcionamento deveriam ser publicadas na Internet. A competio foi dividida em trs categorias e teve um
total de 28 participantes, sendo que os ganhadores foram divulgados em vrios canais
da imprensa especializada [Korsah & Goldberg 2012a, Hurst 2012b, Aroca, Pitta, Burlamaqui & Gonalves 2012b]. A seguir, cada uma das categorias so relatadas, com uma
breve descrio de cada ganhador. Detalhes adicionais de cada um dos robs podem ser

CAPTULO 3. ESTADO DA ARTE

26

encontrados no site da AFRON [Korsah & Goldberg 2012a].


Categoria Tethered
A categoria Tethered contempla robs que funcionam conectados a um computador
via um cabo (USB, por exemplo), de forma que a alimentao pode ser fornecida pelo
computador, bem como os algoritmos e programas tambm so executados no computador.
1. Suckerbot (Tailndia)
O Suckerbot um rob mvel construdo a partir de uma adaptao de controles
de vdeo-games e custa US$ 8,96. A construo consiste em fazer cortes e instalar
motores e sensores no prprio joystick, e control-los atravs de um software instalado no PC. Um aspecto que marcou seu projeto foi o uso de pirulitos para detectar
colises do rob em qualquer direo.
2. Baobot (EUA)
O Baobot um rob mvel sem carcaa, de forma que todos componentes do rob,
incluindo motores, so fixados em sua placa de circuito impresso. Ele possui um
processador AtMega, sendo assim compatvel com o ambiente de desenvolvimento
e programas para a plataforma Arduino. O custo do Baobot US$ 31,06.
3. Afrobot (EUA)
O Afrobot um rob mvel caracterizado pela construo usando caixas de papelo, onde so fixados todos os motores, sensores e demais componentes. Com
custo de US$ 9,94 (para 1000 peas), ele controlado pela placa Launchpad da
Texas Instruments, que baseada no processador MSP430.
4. RoboArm (Nigria)
O RoboArm um brao robtico composto apenas por componentes eletrnicos
analgicos e nenhuma unidade de processamento, nem conexo de dados como
USB ou serial. Para controlar esse rob, seus idealizadores utilizaram a tela de
um computador como canal de controle. Assim, diversos sensores de luz do tipo
resistor dependente de luz (LDR) so colados com fita adesiva sobre a tela do computador, e um programa de computador desenha crculos na tela em posies coincidentes com o local onde os sensores esto colados. Variando as cores e brilho de
cada crculo desenhado na tela, possvel controlar cada motor do RoboArm. Seu
custo de US$ 50,00.
Categoria Traditional
A categoria tradicional composta por robs que podem operar de forma autnoma
usando baterias e sem conexo direta com um computador durante a operao. Eles podem ser conectados ao computador apenas para programao.
1. Kilobot (EUA)
O Kilobot o resultado de trabalhos j desenvolvidos anteriormente pelo grupo de
pesquisas de sistemas auto-organizveis da universidade de Harvard (EUA). Tratase de um rob mvel de formato circular construdo sem o uso de rodas, mas apenas

3.1. ROBTICA NA EDUCAO

27

trs suportes fixos em configurao triangular. O rob possui 2 pequenos motores


de vibrao, iguais queles utilizados em telefones celulares, e ajustando a vibrao
desses dois motores, o software do Kilobot permite fazer todos tipos de movimento
sobre uma superfcie. Ele alimentado por uma bateria do tipo moeda e controlado por um microcontrolador AtMega, portanto compatvel com o ambiente e
programas da plataforma Arduino. Outro aspecto interessante do Kilobot que ele
possui um transmissor e um receptor de infravermelho, que permite sua comunicao bidirecional sem fio com um computador de controle e com todos os Kilobots
que estiverem nas proximidades. Quando vrios Kilobots esto juntos, eles podem se auto organizar e executar vrias tarefas em grupo de forma colaborativa. O
custo do Kilobot US$ 43,00 para uma unidade, caindo para US$ 14,00 caso sejam
compradas peas para construo de mil unidades.
2. SwarmRobot (China)
O SwarmBot um rob mvel minimalista, mas flexvel. Ele possui um microcontrolador AtTiny, compatvel com Arduino, uma ponte H para controle de motores,
e dois motores fixados diretamente na placa de circuito, que tambm a carcaa do
rob. As rodas so tampas de garrafas plsticas do tipo PET, e ao invs de possuir
uma terceira roda livre, os projetistas optaram por usar um LED que serve de apoio
e desliza sobre o cho quando o rob se movimenta. Sua placa modular, permitindo adicionar sensores. De acordo com os autores, ele custa US$ 9,51 para uma
unidade, e US$ 4,89 caso sejam compradas peas para mil unidades.
3. SEG (EUA)
O SEG um rob mvel desenvolvido pelo instituto de tecnologia de Massachusetts, MIT (EUA). Ele composto por dois servo-motores e um microcontrolador
AVR fixados mesma placa de circuito impresso. Uma caracterstica especial
que as rodas so dobrveis e vm desmontadas em um kit. A montagem das rodas
feita de forma anloga a um origami e dobraduras de papel. O rob possui sensores
infravermelho para desviar de obstculos, sendo sustentado por duas rodas apenas,
ficando a placa de circuito em rotao livre enquanto o rob se move. Seu custo
de US$ 14,09.
4. DiscBot (EUA)
O DiscBot um rob mvel com seu chassi construdo de partes de madeira, incluindo as rodas, cortadas laser por apenas dois dlares, de acordo com o proponente. Ele utiliza um processador AtMega, compatvel com Arduino, e dois motores de passo, alm de possuir um sensor de ultra-som para desviar de obstculos.
O prottipo custa US$ 47,00, e com escala de mil unidades, cada DiscBot custaria
US$ 9.76.

Categoria All-in-one
A categoria All-in-one, ou todos em um, agrupa robs polivalentes que podem operar
tanto na categoria Tethered quanto Traditional.

28

CAPTULO 3. ESTADO DA ARTE


1. MITBOTS (ndia)
O MITBOTS uma cpia bastante similar ao Lego Mindstorms. Ele possui um
conjunto de blocos de montagem que se encaixam entre si, sensor de infravermelho,
de toque e um bloco inteligente composto por um processador ARM com tela
de cristal lquido (LCD) e conexo USB para programao via PC. Ele tambm
inclui um software de programao usando blocos. De acordo com o fabricante, o
MITBOTS custa US$ 33,00.
2. N-Bot (Brasil)
O MITBOTS uma cpia bastante similar ao Lego Mindstorms. Ele possui um
conjunto de blocos de montagem que se encaixam entre si, sensor de infravermelho, de toque e um bloco inteligente composto por um processador ARM com
tela de cristal lquido (LCD) e conexo USB para programao via PC. Ele tambm
inclui um software de programao usando blocos. De acordo com o fabricante, o
MITBOTS custa US$ 33,00. O N-Bot, proposto neste trabalho, o rob de baixssimo custo que foi desenvolvido especialmente para o AFRON usando as tcnicas
descritas ao longo deste trabalho para controle de atuadores e leitura de sensores
usando canais de udio. O N-Bot pode ser controlado por um telefone ou por um
PC com Linux, Windows ou Mac, ligando diretamente cabos de udio entre o rob
e o PC. Outro aspecto interessante do N-Bot, que ele pode ser programado de
forma textual ou usando blocos, sem a necessidade de instalar nenhum software no
PC, j que o ambiente de programao baseado na web. Seu prottipo custa US$
14,00, e para escala de mil unidades, cada rob custaria US$ 9,00. Melhores descries das tcnicas e metodologias do N-Bot podem ser obtidas ao longo de todo
este trabalho.

3.2 Ambientes de Programao de Robs


Uma caracterstica da vasta maioria dos ambientes para programao de robs, e de
todos os trabalhos mencionados at o momento, que todos eles requerem a instalao
de softwares especficos e configurao de computadores. Embora esta tarefa no seja
altamente complexa, ela pode ser difcil de ser realizada por professores de escolas de nvel mdio e fundamental sem experincia em informtica. Alm do mais, para instalao
dos softwares, necessrio privilgios de administrador no computador, dificultando a
instalao dos ambientes de programao em computadores de uso pblico como escolas,
bibliotecas e tele-centros.
Uma soluo proposta por diversos autores disponibilizar ambientes de programao
e desenvolvimento de robtica via web [Belousov et al. 2001, Garrett & Thornton 2005,
Aroca, Guardiman & Gonalves 2012, Popescu et al. 2008, Aroca, Pitta, Burlamaqui &
Gonalves 2012c], de forma que qualquer computador ou dispositivo com um navegador
web possa ser usado para programar e controlar o rob, dispensando a necessidade de
instalao de softwares. Com relao programao remota de robs, frequentemente se
utilizam os termos programao remota ou tele-programao. A origem dessas tcnicas
ocorreu naturalmente como prximo passo aps os robs controlados remotamente, que
j existem desde os anos 1940 [Goldberg & Siegwart 2001].

3.2. AMBIENTES DE PROGRAMAO DE ROBS

29

Um dos primeiros projetos de programao remota de robs surgiu em 2001 [Belousov


et al. 2001] com o objetivo de simplificar o problema de controle de robs. Posteriormente, Lowe e Cambrell [Lowe & Cambrell 2002b] apresentaram um sistema que permitia enviar comandos de movimento remoto via web usando Applets Java. Nesse sistema, a
programao remota do rob era feita atravs de uma conexo de terminal remoto (telnet)
com um servidor que ficava conectado ao rob via porta serial RS-232, sendo que atravs
dessa conexo era possvel acessar o interpretador de comandos proprietrio do rob.
Mootien et al. (2006) propem um rob educacional operado remotamente para permitir estudantes a escrita e execuo de programas a qualquer momento. A implementao desse sistema no requer nenhum desenvolvimento de software, j que uma
ferramenta pronta, o Virtual Network Computing (VNC), foi usada em um computador
conectado ao rob para dar acesso remoto interface grfica de programao e controle
do rob.
Lopez et al. (2009) descrevem um sistema que permite acesso remoto para escrever,
compilar e executar programas usando uma conexo de terminal remoto seguro (SSH).
Para complementar a conexo SSH, que oferece apenas comandos em modo texto, uma
pgina web oferece acesso viso da cmera e um sistema de troca de mensagens entre
os usurios conectados no sistema. O rob pode ser programado usando as linguagens
Ada ou C.
Outro projeto que oferece a visualizao de imagens da viso rob em tempo real
requer a instalao de uma aplicao Java no computador do usurio, que atua como
cliente remoto do rob a ser programado. Essa aplicao permite a edio e compilao
dos programas de controle, que so posteriormente enviados via rede para o rob. O
sistema suporta apenas scripts V+, uma linguagem proprietria e usada apenas com uma
marca especfica de robs [Alifragis et al. 2008].
Marin et al. (2005) descrevem um ambiente virtual com recurso de programao remota. O sistema oferece um servidor de programao remota com uma interface de comunicao via sockets TCP/IP, de forma que os programas clientes podem ser escritos
em qualquer linguagem que se comunique via TCP/IP com esse servidor. Assim, apenas
comandos de alto nvel previamente estabelecidos podem ser trocados entre o software
remoto e o servidor. No mesmo trabalho, os autores comparam seu projeto com diversos
outros, e argumentam que o ambiente proposto o nico com capacidade de programao
remota.
Fernandez e Casals apresentam um conceito de laboratrio on line que permite aos
usurios a edio, publicao e execuo de programas remotamente [Fernandez & Casals
2004]. Todo sistema funciona em um servidor web, de forma que o cliente precisa utilizar
apenas um navegador web com suporte a Java para acessar o ambiente.
Um projeto de destaque o Mindstorms Internet Control Environment (MICE) [Garrett
& Thornton 2005], que permite programar e controlar kits Lego via Web usando uma
variao da linguagem C. Outro projeto interessante, criado pelo Google e atualmente
mantido por pesquisadores do MIT, o MIT App Inventor, um sistema web que permite
criar aplicaes para telefones celulares com sistema operacional Android de forma grfica (conectando blocos), incluindo comandos para controle de Legos Mindstorms, e em
seguida gerar um pacote de instalao para ser instalado em telefones com o sistema An-

30

CAPTULO 3. ESTADO DA ARTE

droid [MIT 2012].


O MIT App Inventor explora a possibilidade j mencionada no Captulo 2 que trata
do uso de um telefone celular como unidade de controle de um rob. A nica dificuldade
imposta por esse sistema, que cada vez que o aplicativo de controle modificado,
necessrio gerar um novo pacote de instalao, apagar o aplicativo antigo do telefone
com sistema Android, copiar o novo instalador para o telefone, e executar sua instalao.
Popescu et al. (2008) apresentam um trabalho completo, composto por um rob mvel
que inclui um ambiente de programao remota via web embarcado em um servidor web
localizado no rob. Os sensores e atuadores do rob so gerenciados por um microcontrolador de baixa performance que conectado via porta serial a um tablet PC tambm
instalado no rob. O PC possui conexo wifi e executa um servidor web para permitir
acesso remoto ao rob, de forma que qualquer usurio que possua um computador com
navegador web e suporte a Java pode acessar o sistema.
Como mencionado nesta reviso da bibliografia, vrios trabalhos de programao remota de robs j foram propostos, mas esses projetos so limitados a linguagens de programao especficas e requerem navegadores web com suporte a Java, que infelizmente
no costuma estar disponvel em tablets e netbooks de baixo custo, limitando o seu uso.
No Captulo 4 apresentamos uma soluo que une o melhor de cada trabalho mencionado
nesta reviso, removendo a necessidade de Java no navegador do cliente, oferecendo a
opo de uso de diversas linguagens de programao, tanto baseadas em blocos quanto
em modo textual.

3.3 Comunicao Rob-Computador


Esta Seo revisa alguns trabalhos relevantes relacionados ao uso de dispositivos mveis para controlar robs, bem como seus canais de comunicao.

3.3.1 Interfaces de Dados Digitais


As interfaces digitais so as mais comuns e amplamente usadas atualmente. Destacamse o uso de portas seriais, USB ou tecnologias sem fio como bluetooth para que a unidade
de controle troque dados com os circuitos de controle de um rob.
Santos et al. (2010) conectam um telefone celular aos circuitos de controle de um
rob usando bluetooth, e implementam no telefone complexos algoritmos de navegao
robtica com restries de tempo real, tais como, filtros potenciais, filtro de partculas e
filtro estendido de Kalman.
Outro exemplo do uso de smartphones como computador de bordo e controle de robs
encontra-se no projeto pioneiro CellBots [CellBots 2011], que foi o primeiro a utilizar telefones com o sistema Android para controlar robs. Nesse projeto, o software do telefone
comunica-se com um microcontrolador instalado no rob, normalmente um Arduino, via
porta serial ou bluetooth. Para tanto, em alguns casos, necessrio desmontar os celulares para poder conectar os sinais da porta serial internamente. No caso do bluetooth, os
custos so mais altos, pois necessrio equipar o rob com um microcontrolador e um
mdulo bluetooth, elevando os custos.

3.3. COMUNICAO ROB-COMPUTADOR

31

O trabalho de Hess e Rohrig [Hess & Rohrig 2009] consiste em usar telefones mveis para controlar robs remotamente atravs de canais de rede TCP/IP ou bluetooth.
Park et al. (2008) descrevem tcnicas para o desenvolvimento de interfaces com o usurio
usando PDAs ou smartphones para controlar robs remotamente. Novamente, o controlador original do rob mantido, e o dispositivo mvel simplesmente usado como
controle remoto via rede sem fios.
J com relao ao uso de smartphones como controladores de robs atravs de interfaces digitais, algumas empresas j oferecem produtos comerciais usando esse conceito.
Nesta categoria, o Botiful um rob de telepresena usando conexo bluetooth com telefones com o sistema Android [Honig 2012]. Ele custa US$ 299,00 e funciona integrado
ao Skype, assim, ao fazer uma chamada de vdeo para o rob via Skype, possvel visualizar a imagem remota vista pela cmera do rob, e a partir do prprio Skype, enviar
comandos de movimentao para o rob. J a empresa OLogic oferece robs modulares que podem ser controlados por um iPhone ou um telefone com Android [Inc 2012].
Chamado de Oddwerx, tal rob tambm comunica-se com o telefone de controle via bluetooth, e j possui diversos recursos, como o controle de atuadores e leitura de sensores,
compatibilidade com o sistema operacional para robs (ROS), e com vrios sistemas de
robtica nas nuvens.
Uma equipe do Instituto Federal do Esprito Santo tambm desenvolveu um rob controlado por um smartphone baseado em Android [Martins et al. 2012]. O rob criado por
eles utiliza uma placa chamada IOIO, que possui um microcontrolador PIC e conecta-se
ao celular via porta USB. O microcontrolador atua como intermedirio, e permite ao celular acionar os atuadores e ler os sensores do rob. O rob ganhou vrias competies
de robtica, e foi premiado como o melhor rob na categoria Rescue B [Martins 2012]
durante a competio mundial de robtica (RoboCup), que ocorreu no Mxico em 2012.
As formas de conexo descritas nesta Seo so de fato aquelas predominantes para
conexo de computadores com sistemas robticos, sendo assim invivel listar todos os trabalhos nessa categoria. Alm disso, em geral, esses sistemas de conexo no representam
novidade tecnolgica ou cientfica.

3.3.2

Interfaces Analgicas Usando udio

Como a maioria dos dispositivos mveis possuem interfaces de udio, uma alternativa
interessante o uso de um circuito dedicado para converter as suas sadas de udio em sinal serial, compatvel com protocolos seriais padronizados [Rob 2012b], como o RS-232,
por exemplo. O problema que em geral, esta abordagem somente permite comunicao
unidirecional [Kranjec 2010, Rob 2012b], e alm do mais, requer um microcontrolador
para receber e decodificar o sinal serial e ento executar alguma ao. Especificamente
para o iPhone, Sasaki (2011) criou um modem de udio, que conecta-se na sada de fone
de ouvidos do iPhone, e permite a troca de dados seriais de forma bidirecional usando
a interface de udio do iPhone. Baseado neste projeto, Pascual (2012a) desenvolveu o
projeto Androino [Pascual 2012a, Pascual 2012b] que oferece um modem via udio para
integrar dispositivos Android com o Arduino via interface de udio.
Recentemente, Robinson et al. (2010) criaram o Hijack, que oferece uma melhoria

32

CAPTULO 3. ESTADO DA ARTE

significativa em relao ao sistema mencionado anteriormente. A tcnica de [Kuo et al.


2010] permite a troca de dados bidirecional via udio entre um microcontrolador e um
telefone mvel, bem como a obteno de energia para sua alimentao usando o prprio
sinal de udio. Alm de publicado, o resultado da pesquisa de Kuo et Al. hoje tambm
oferecido como produto comercial [SeeedStudio 2011] com custo de cerca de 70 dlares.
Vrias aplicaes j foram implementadas e demonstradas usando o Hijack, incluindo um
sistema de eletrocardiograma de baixo custo usando um iPhone, um osciloscpio didtico,
e um sistema de acionamento de dispositivos.
Uma abordagem muito usada para controle remoto de equipamentos atravs da transmisso de tons DTMF, j descritos no Captulo 2. Assim, o uso de DTMF para controlar
robs remotamente j foi explorado em diversos trabalhos, como no sistema proposto por
Patil & Henry (2008). Manikandan et al. (2010) apresentam um rob que utiliza dois
telefones celulares: um instalado no rob, e outro que atua como controle remoto. Nos
projetos mencionados, o rob controlado atravs de tons DTMF gerados por toques nas
teclas do telefone remoto. Um circuito decodificador de DTMF recebe o sinal de udio
proveniente da sada de fones de ouvidos do celular, e que fornece cdigos de controle
para um microcontrolador que interpreta e executa os movimentos desejados. Sai & Sivaramakrishnan (2009) usam a mesma configurao, mas em um rob com arquitetura
diferente. Naskar et al. (2011) tambm apresentam o uso de um teclado DTMF remoto
para controlar um rob militar, onde algumas teclas so usadas para acionar o disparo
de armas reais. Nesse ltimo trabalho, ao invs de usar telefones, os sinais DTMF so
transmitidos atravs de um canal de rdio.
Ainda com relao a controle remoto usando DTMF, Ladwa et al. (2009) propem
um sistema que controla remotamente utenslios domsticos e robs por meio de ligaes
telefnicas. Um trabalho similar apresentado por Cho & Jeon (2008), onde as teclas de
um telefone remoto so diretamente mapeadas para movimentos bsicos de um rob, a
saber: frente, r, esquerda e direita.
No contexto do projeto CellBots [CellBots 2011], Darrell (2010a) criou um sistema
capaz de controlar servo-motores com entrada PWM diretamente a partir da placa de som
de computadores, sem o uso de qualquer componente eletrnico intermedirio. O controle
de velocidade e rotao dos motores feito pelo ajuste da frequncia sonora produzida por
um software que controla a sada de som. A tcnica criada por Darrel de fato a forma
mais barata de controlar motores com smartphones, porm ela possui um acoplamento
eltrico inadequado entre os componentes do sistema e pode causar danos permanentes
aos aparelhos envolvidos.
Em uma evoluo desse conceito, Darrel e a equipe do CellBots criaram um circuito
com acopladores pticos [Darrell 2010b, Taylor 2011] para proteger o telefone de controle. Embora seguro, o mtodo funciona em poucos telefones, j que requer a gerao de um padro de onda na sada de udio que poucos dispositivos podem oferecer.
Alm disso, esta abordagem funciona porque os servos possuem a eletrnica de potncia
e acionamento embutidas no motor, assim o telefone apenas gerencia o sinal de controle.
Usando a mesma tcnica desenvolvida por Darrel, Carter (2011) apresenta um rob composto de dois servo-motores alimentados por pilhas e controlados diretamente pelo canal
de udio estreo de um iPhone. O canal de udio direito controla o motor direito, e o

3.4. RESUMO

33

canal esquerdo, o motor esquerdo.


Em 2011, a Romotive, uma startup americana criou um rob mvel chamado Romo
que pode ser controlado por tons de udio de dispositivos mveis [Romotive 2011]. O
sistema somente controla motores, sem nenhum canal de retorno para leitura de sensores.
De acordo com os fundadores da empresa, os sensores no seriam necessrios j que todo
controle do rob pode ser feito usando apenas os sensores de um smartphone, embora
eles mesmos admitam que a falta de sensores convencionais de robtica podem dificultar
a implementao dos softwares para o Romo [Seid et al. 2012].
Mais de 2000 Romos foram vendidos em menos de um ano [Seid et al. 2012], e em
Outubro de 2012 a empresa iniciou o desenvolvimento da nova verso do Romo, que j
est em pr-venda por US$ 150,00 [Seid et al. 2012]. Ainda sem suporte a sensores externos, o novo Romo tambm deixou de suportar telefones Android, funcionando apenas
com dispositivos da Apple. A nfase da nova verso um suporte de software mais completo que deve incluir telepresena remota de duas vias, viso computacional, navegao
autnoma e reconhecimento de faces [Seid et al. 2012].
O uso da interface de udio de telefones mveis para controle remoto de brinquedos
tambm comeou a ser explorada recentemente por empresas, j que alm de reduzir os
custos dos brinquedos, por dispensar o fornecimento de um controle remoto, tambm
contempla a possibilidade de oferecer interfaces grficas mais ricas para interao com
o usurio. Exemplos so o carrinho de controle remoto CarBot [Siu 2012] e o um helicptero de controle remoto [DealExtreme 2012]. Esse dois produtos so controlados
remotamente via transmisso na faixa do infravermelho, e para seu controle, um pequeno
transmissor ligado sada de fones de ouvido do celular de controle. Um software fornecido pelos fabricantes oferece telas com os comandos de controle dos veculos, gerando
sinais sonoros de acordo com cada comando dado pelo usurio, que so convertidos e
transmitidos via infravermelho.

3.4

Resumo

As Tabelas 3.1, 3.2 e 3.3 mostram os trabalhos relacionados citados neste captulo de
forma comparativa e resumida. Na Tabela 3.1, so listados robs considerados de baixo
custo pelos seus autores. No ltimo item dessa tabela, a observao (*) significa que o
custo foi estimado de acordo com a informao dos autores, de que o projeto deles custa
1/4 do custo de um Kit Lego Mindstorms.
Tabela 3.1: Tabela comparativa de robs de baixo custo.
Rob
Suckerbot

Custo
(US$)
9

Caractersticas

Trabalho

Motores, seguidor de linha, sensor [Tilley 2012]


de toque omnidirecional, alimentao e controle via USB
Continua na prxima pgina

34

CAPTULO 3. ESTADO DA ARTE

Tabela 3.1 continuao da pgina anterior


Rob
Custo Caractersticas
Trabalho
(US$)
Baobot
31
Motores, seguidor de linha, com- [H. et al. 2012]
patvel com Arduino, alimentao
e controle via USB ou operao
autnoma
Afrobot
10
Microcontrolador MSP430, moto- [Reben 2012]
res, seguidor de luz, detector de
obstculos
RoboArm
50
Brao robtico, interface com [O.M. 2012]
computador via sensores de luz na
tela
Kilobot
43
Locomoo por vibrao, comuni- [Rubenstein et al. 2012]
cao em grupo e com PC, microcontrolador
SwarmRobot 10
Compatvel com Arduino, moto- [Michaelis et al. 2012]
res, sensor de objetos e de obstculos
SEG
14
Estilo Segway, microcontrolador, [Hamer et al. 2012]
motores, rodas montadas como
Origami
DiscBot
47
Motores de passo, compatvel com [Schlesinger 2012]
Arduino, sonar, estrutura de madeira cortada laser
MITBOTS
33
Processador ARM, tela de LCD, [Singh et al. 2012]
blocos de montagem, motores
N-Bot
14
Motores, controlado por canal de [Aroca,
Pitta,
udio, compatvel com celulares ou Burlamaqui
&
computadores
Gonalves 2012a]
Sem Nome
150
Microcontrolador, uso de odome- [do Nascimento et al.
tria para localizao
2012]
SH-EDUC
84
Uso de sucata em conjunto com [Fernandes et al. 2012,
Microcontrolador PIC, tela de de Lima S 2011, ThoLCD, sonar, sensores de luz, toque maz et al. 2012]
e temperatura
Sem Nome
No
Uso de sucata em conjunto com [Botelho et al. 2012]
informicrocontrolador e motores
mado
R-One
200
MSP430, motores, giroscpio, ace- [Ric 2011, Jobe et al.
lermetro
2012]
Continua na prxima pgina

3.4. RESUMO

Rob
Finhch

Lego Mindstorms
Sem Nome

Sem Nome

Sem Nome

LUDEBot

35
Tabela 3.1 continuao da pgina anterior
Custo Caractersticas
Trabalho
(US$)
99
Motores, acelermetro, sensores de [Ino 2012, Lauwers &
luminosidade e toque, LEDs, c- Nourbakhsh 2010]
mera, microfone e alto falantes
640
Lego RCX, motores, diversos sen- [Galvan et al. 2006,
sores
Greenwald & Kopena
2003]
> 500
Usa Lego Mindstorms + Microcon- [Dinh & Inanc 2009]
trolador + cmera + sonar. Sistema
de viso rastreia objetos
200Reaproveita estrutura e motor de [Hamblen & Hall 2004]
2000
brinquedos, uso de PCs, FPGAs e
microcontroladores, sensores
755
Microcontrolador, sensor de dis- [Lumsden & Ortegatancia, GPS, bssola, LCD, moto- Sanchez 2010]
res
250
Servos, compatvel com Arduino, [Pin et al. 2012]
(*)
sonar, PC opcional

Caractersticas
Uso de ferramentas de acesso remoto (SSH e VNC)
Programao remota via web (requer Java)

Programao remota via web para Lego Mindstorms

Programao via web, e gerao de aplicativo para


controlar Lego Mindstorms via telefone com Android
Servidor web embarcado em um rob mvel

Trabalho
[Mootien et al. 2006, Lopez
et al. 2009]
[Fernandez & Casals 2004,
Alifragis et al. 2008, Belousov et al. 2001, Lowe &
Cambrell 2002a]
[Garrett & Thornton 2005,
Aroca,
Guardiman
&
Gonalves 2012, Aroca,
Pitta,
Burlamaqui
&
Gonalves 2012c]
[MIT 2012]

[Popescu et al. 2008, Aroca,


Guardiman
&
Gonalves 2012, Aroca,
Pitta,
Burlamaqui
&
Gonalves 2012c]
Tabela 3.2: Tabela comparativa de sistemas de programao
remota de robs.

CAPTULO 3. ESTADO DA ARTE

36

Categoria
Bluetooth

Cabo
USB

udio

serial

Caractersticas
Conexo bluetooth entre circuito de controle do rob e
computador de controle

ou

Conexo com cabo USB ou


serial entre circuito de controle do rob e computador
de controle
Conexo entre computador
de controle e circuitos de
acionamento de atuadores e
leitura de sensores via udio

Trabalho
[Santos et al. 2010, CellBots
2011, Honig 2012, Inc 2012,
Aroca, Pitta, Burlamaqui &
Gonalves 2012c, Aroca,
Guardiman
&
Gonalves 2012]
[CellBots 2011, Martins
2012]

[Rob 2012b, Kuo et al.


2010, Darrell 2010b, Darrell
2010a, Taylor 2011, Seid
et al. 2012, Romotive 2011,
Siu 2012, DealExtreme
2012, Aroca, Guardiman
& Gonalves 2012, Aroca,
Pitta,
Burlamaqui
&
Gonalves 2012c]
udio Remoto
Controle remoto via DTMF [Hess & Rohrig 2009, Patil & Henry 2008, Manikandan et al. 2010, Sai
& Sivaramakrishnan 2009,
Naskar et al. 2011, Ladwa
et al. 2009, Cho & Jeon
2008]
Tabela 3.3: Tabela resumo de tcnicas comuns de conexo
entre computador e rob.

A reviso feita neste captulo demonstrou a importncia do uso de robs para motivar
alunos, e a demanda por plataformas robticas com custo mais acessvel, que vem sendo
explorada por vrios pesquisadores. Tambm foram revisados aspectos tcnicos apresentados em trabalhos recentes para construo de robs usando computadores e dispositivos
mveis como unidades de controle, e interfaces de udio. Assim, pode-se notar pelas referncias, o ressurgimento do interesse no uso de interfaces de udio, que estavam deixando
de ser usadas em detrimento do uso de sistemas digitais mais modernos. Contudo, devido
a sua simplicidade, pde-se notar o surgimento recente de diversos trabalhos e produtos
que exploram o uso de interfaces de udio para troca de dados.

3.4. RESUMO

37

O Captulo 4 descreve maiores detalhes da tcnica proposta nesse trabalho e sua implementao, onde so apresentadas vrias possibilidades de circuitos de controle para o
N-Bot, permitindo controlar dois motores por canal de udio, ou quatro motores por canal
de udio estreo em verses sem microcontrolador, bem como receber dados de diversos
sensores. Nesse circuito, possvel construir uma rede de microcontroladores e efetuar
controle de atuadores e leitura de sensores de forma distribuda, onde cada microcontrolador pode comandar at oito servo motores. Vale lembrar, que um Lego, por exemplo,
suporta at trs motores ligados diretamente a unidade de controle do NXT e at quatro
sensores.

38

CAPTULO 3. ESTADO DA ARTE

Captulo 4
Sistema Proposto

Make things as simple as possible, but not simpler.


Albert Einstein

Este Captulo descreve os aspectos de hardware e software da plataforma de robtica


de baixssimo custo proposta neste trabalho. A nfase est no projeto de um circuito
simples, de baixssimo custo, que pode ser construdo e replicado com peas comuns
disponveis no mercado. Com base neste circuito, possvel usar programas didticos ou
de pesquisa com alta sofisticao para controle do N-Bot.
Primeiro so apresentadas as tcnicas e circuitos para leitura de sensores e controle
de atuadores usando udio, e em seguida so apresentadados os softwares do sistema.
Com realao aos softwares, foram desenvolvidos dois ambientes de programao independentes que so descritos neste captulo: o Android Web-based Integrated Development
Environment (Anwide), que permite a programao remota, via web, de robs controlados
por telefones com o sistema operacional Android. Como alternativa para programao e
controle dos robs sem o uso de telefones foi implementado o Ambiente de Desenvolvimento Web do N-Bot (ADWN).
Vale mencionar que alguns aspectos das tcnicas descritas aqui foram patenteadas
junto ao INPI e/ou publicadas em peridicos relevantes da literatura, o que refora o fato
de estarmos apresentando tcnicas e solues inditas. Ao longo deste Captulo, o termo
dispositivo de controle refere-se a todo dispositivo com sada e/ou entrada de udio, que
pode ser usado como controlador do sistema proposto, tal como um PDA, telefone, tablet,
computador, dentre outros.

4.1

Hardware

O rob construdo (N-Bot) uma plataforma para robtica educacional desenvolvida


visando tornar a robtica mais popular no meio estudantil, entre aficionados e mesmo
entre leigos no assunto. A Figura 4.1 ilustra de forma esquemtica a arquitetura da plataforma proposta neste trabalho. Como descrito anteriormente, resumidamente, a plataforma usa o canal de udio como interface de controle. Como visto na Figura 4.1,

40

CAPTULO 4. SISTEMA PROPOSTO

frequncias de udio so usadas para enviar comandos aos atuadores e tambm para receber leituras dos sensores do rob, que so analisados por um computador de controle (ou
por um telefone celular ou algum dos dispositivos citados acima). Tambm, pode-se usar
uma pgina web implementada por ns, onde estudantes podem escrever os programas
que iro gerar e receber udio do rob visando executar os controles desejados.
A Figura 4.1 tambm mostra que o dispositivo de controle, que pode ser um computador, tablet, telefone, dentre outros, e ser acessado e programado remotamente via
rede local ou Internet, bem como pode se aproveitar de servios de robtica na nuvem. O rob pode ser programado tanto com o Ambiente de Desenvolvimento Web
do N-Bot (ADWN), quanto pelo Android Web-based Integrated Development Environment (Anwide), ou qualquer outra linguagem de programao que possa gerar e capturar
udio. Assim, essa arquitetura e a plataforma desenvolvida permitem que qualquer computador possa ser usado como o crebro do rob, sem a necessidade de instalar quaisquer
softwares adicionais ou driver de dispositivo. Isso torna nossa proposta fcil de ser usada
em computadores pblicos e mesmo por pessoas sem muita experincia, inclusive em
computadores onde os usurios no tm permisso para instalar softwares. A seguir, detalharemos cada um dos componentes do hardware.

Figura 4.1: Viso geral do sistema e suas conexes entre possveis dispositivos de controle, desenvolvimento e de controle.

4.1. HARDWARE

41

4.1.1 Controle de Atuadores Usando udio


Para controlar atuadores, um programa instalado no dispositivo de controle gera um
tom DTMF. Esse tom decodificado por um decodificador de DTMF, como o MT8870
ou HT9170, resultando em uma sada paralela composta por 4 bits, que codificam um
valor binrio equivalente ao dgito DTMF presente na entrada do sistema. O estado decodificado fica presente na sada do decodificador enquanto o tom de udio DTMF estiver
presente na entrada do circuito. Esses quatro bits podem ser conectados em circuitos para
controle de cargas, permitindo o controle independente e simultneo do tipo liga/desliga
de at quatro dispositivos, tais como freios eletro-mecnicos, luzes ou uma garra pneumtica. A Figura 4.2 mostra o conceito bsico do sistema.

Figura 4.2: Decodificador de DTMF com quatro sadas independentes controladas pelo
udio de um dispositivo de controle.
Como os decodificadores de DTMF, em geral, j possuem um amplificador interno,
na maioria dos casos no necessrio etapas de pr-amplificao do sinal de udio de entrada, entretanto, pode existir situaes e aparelhos com nvel de sada muito tnues, que
demandem um pr amplificador de udio entre o dispositivo de controle e o decodificador
de DTMF.
Controle de Motores de Corrente Contnua
A Figura 4.3 mostra uma aplicao da tcnica descrita para controlar motores de corrente contnua (DC). Os motores so controlados por uma ponte H comercial, como a
L298, que requer 2 bits de controle para cada motor. Assim, os 4 bits provenientes do
decodificador de DTMF podem ser usados para controlar dois motores de forma independente. A Tabela 4.1 mostra os possveis dgitos DTMF gerados pelo dispositivo de
controle e o estado resultante dos motores, porm deve-se notar que esses estados podem
variar de acordo com a ordem de conexo dos bits de sada com a entrada do decodificador de DTMF e da ponte H. Para controlar a velocidade dos motores, o dispositivo de
controle pode alternar dgitos DTMF em uma determinada frequncia, de forma a gerar
um sinal de modulao por largura de pulso (PWM).
A Figura 4.4 mostra o diagrama eltrico completo do circuito de controle para dois
motores. Neste diagrama, pode ser visto um pr-amplificador de udio com transistores,
que pode ser omitido na maioria dos casos, ou substitudo por um amplificador operacional. A sada do amplificador conectada ao decodificador de DTMF (MT8870), que
gera 4 bits, sendo esses conectados entrada da ponte H (L298), que responsvel por
controlar os motores.

42

CAPTULO 4. SISTEMA PROPOSTO

Figura 4.3: Controle de dois motores de corrente contnua usando um canal de udio
mono e tons DTMF.
Uma das vantagens desse circuito que ele pode controlar desde pequenos motores
at aqueles de alto consumo de corrente. Contudo, deve-se escolher a ponte H adequada
para cada tipo de motor. O L298, por exemplo, suporta motores que consomem at 3A
de corrente. Os diagramas eltricos em formato Eagle e o desenho da placa de circuito
impresso deste circuito esto disponveis on-line no site do laboratrio NatalNet.
A tcnica apresentada requer apenas um canal de udio mono. Dessa forma, como a
maioria dos dispositivos possuem um canal de udio estreo, at quatro motores podem
ser controlados por um canal de udio estreo. Alm disso, o sistema tambm pode ser
facilmente expandido adicionando novas sadas de udio atravs de placas de som USB de
baixo custo, que funcionam em computadores tradicionais e dispositivos com o sistema
Android.
Controle de Servo Motores
Embora o circuito descrito na subseo anterior tenha o custo baixo, decidimos buscar
alternativas para reduzir ainda mais os custos. Para tanto, optou-se pelo uso de servomotores usados em aeromodelismo e outros veculos de controle remoto. Esses servos
oferecem um timo custo-beneficio, pois o prprio motor j possui uma caixa de reduo,
permitindo a conexo direta do eixo do motor com rodas ou braos mecnicos e tambm
possui um circuito de controle, dispensando o uso de uma ponte H externa. Dessa forma,
esses servos possuem trs fios de conexo: dois para alimentao, e um para receber o
sinal de controle, que semelhante a um sinal PWM.
De acordo com a especificao dos servos, o sinal de controle deve ter um perodo
total de 20ms. Para o motor girar no sentido anti-horrio, o sinal deve ficar em nvel alto
por um perodo entre 1.7ms e 2.0ms. Para o motor girar no sentido horrio, o sinal deve

4.1. HARDWARE

43

Figura 4.4: Diagrama eltrico do circuito para controle de dois motores DC com base em
um sinal de udio.

CAPTULO 4. SISTEMA PROPOSTO

44
Digito
DTMF
Nenhum
D
1
2
3
4
5
6
7
8
9
0
*
#
A
B
C

Palavra
binria
00 00
00 00
00 01
00 10
00 11
01 00
01 01
01 10
01 11
10 00
10 01
10 10
10 11
11 00
11 01
11 10
11 11

Movimento do motor
Motor A Motor B
Parado
Parado
Parado
Parado
Parado
Esquerda
Parado
Direita
Parado
Invlido
Esquerda
Parado
Esquerda Esquerda
Esquerda
Direita
Esquerda Invlido
Direita
Parado
Direita
Esquerda
Direita
Direita
Direita
Invlido
Invlido
Parado
Invlido Esquerda
Invlido
Direita
Invlido Invlido

Tabela 4.1: Dgitos DTMF de controle e estados dos motores.

ficar em nvel alto entre 0.7ms e 1.0ms. Atravs de diversos experimentos, observou-se
que poucos dispositivos podem gerar um sinal com essas caractersticas diretamente via
software, de forma que optou-se por um circuito gerador de sinal semelhante ao PWM,
j que existe uma pequena diferena entre o sinal PWM tradicional e o sinal usado pelos
servos. O PWM, na verdade, um sinal de frequncia fixa, onde se ajusta o seu ciclo
de trabalho (duty cycle), que a relao entre o perodo que o sinal fica em nvel alto e
nvel baixo. J o sinal de controle do servo tem perodo fixo de 20ms com nvel alto no
intervalo entre 0.7ms e 2.0ms.
A Figura 4.5 mostra um diagrama de blocos do circuito proposto. Para gerar o sinal de
controle, o circuito utiliza o 555, um timer de baixssimo custo, que pode gerar sinais de
variadas frequncias de acordo com capacitores e resistores de ajuste. Assim, necessrio
alterar o valor de um dos resistores conectados ao 555 para modificar o sentido de rotao
e velocidade do motor. Para tanto, uma chave analgica (4066N) utilizada. Essa chave
liga ou desliga a conexo de seus terminais de acordo com nveis lgicos de controle. Nas
entradas da chave analgica, so conectados dois resistores para cada motor: um para
determinar a frequncia que resulta em rotao no sentido horrio, e outro para determinar
a rotao no sentido anti-horrio. O sinal DTMF de entrada decodificado pelo MT8870,
e seus bits so usados para controlar a chave analgica.
A Figura 4.6 apresenta o diagrama esquemtico desse circuito. Variaes no intervalo
do udio enviado para o circuito podem controlar a velocidade dos motores. Os resistores
variveis (trimpots) permitem ajuste fino de velocidade e direo de cada motor, e podem

4.1. HARDWARE

45

Figura 4.5: Diagrama geral de funcionando do sistema para controle de servos usando
sinal de udio com tons DTMF.
.
ser substitudos por resistores convencionais aps um valor de resistncia adequado para
cada motor ser estabelecido. Ao contrrio do circuito para controle de motores DC, que
possui uma tabela com movimentos pr-determinados para cada dgito DTMF, o circuito
de controle de servos permite o ajuste da velocidade e sentido da rotao de cada dgito
DTMF por meio dos resistores variveis.
Assim como mencionado para o circuito anterior, esse sistema expansvel usando canais de udio adicionais, e o layout da placa de circuito impresso tambm est disponvel
no site do laboratrio NatalNet.

4.1.2

Leitura de Sensores

Para que o N-Bot possa reagir ao ambiente e executar tarefas de acordo com determinadas condies, torna-se interessante o uso de sensores. Mais uma vez, optou-se pelo
uso de uma interface de udio.
Leitura de Sensores Usando DTMF
A primeira soluo projetada baseia-se no uso de um codificador de DTMF, um componente eletrnico convencional, amplamente usado em telefones. O codificador de
DTMF recebe 4 bits de entrada, normalmente provenientes de um teclado numrico,
e gera um sinal DTMF correspondente. Exemplos de codificadores de DTMF so o
TCM5087, 5088, MT8880, TEA1015, dentre outros. A Figura 4.7 mostra a ideia geral de funcionamento do sistema.
Para identificar o estado de cada sensor, o software executado no dispositivo de controle executa a transformada de Fourier, que permite identificar as frequncias presentes

46

CAPTULO 4. SISTEMA PROPOSTO

Figura 4.6: Diagrama eltrico do circuito para controle de dois servo-motores a partir de
tons de udio.

4.1. HARDWARE

47

Figura 4.7: Codificao dos dados de sensores usando DTMF.


no sinal DTMF. Por questo de desempenho, optamos pela implementao da transformada rpida de Fourier (FFT), que trata-se de uma DFT calculada de forma mais eficiente.
Ainda assim, para obter melhoria adicional no tempo de computao necessrio especificar valores adequados para o nmero de pontos da FFT (N) e a taxa de amostragem
do sinal (Fs). Com base na Tabela 2.1, nota-se que a maior frequncia presente em um
sinal DTMF um tom de 1,633Hz. Pelo teorema fundamental da amostragem, sabe-se
que a taxa de amostragem deve ser de pelo menos duas vezes a maior frequncia presente
no sinal a ser analisado, resultando em Fs >= 3,266Hz. Por convenincia da implementao e melhor compatibilidade, recomenda-se o uso de uma taxa de 8KHz, que pode ser
executada por grande parte dos dispositivos de captura de udio.
Com relao a N, quanto menor o nmero de pontos, mais rapidamente a FFT pode
ser calculada, e consequentemente, mais dgitos DTMF podem ser reconhecidos em um
intervalo de tempo, levando a uma maior taxa de leitura do estado dos sensores. Contudo,
um valor muito pequeno de N reduz a resoluo da DFT, causando leituras incorretas.
Para determinar o menor valor adequado para N, a Equao 2.2 apresentada no Captulo
2 utilizada. Utilizando Fs = 8KHz, em busca do menor N possvel, obtm-se N = 256,
que oferece uma resoluo de anlise de 30Hz, um intervalo que possibilita diferenciar
uma componente DTMF de outra. Esses parmetros so consistentes com outros trabalhos
[Khan 2005, Chitode 2008], que tambm usam a DFT para identificar tons DTMF.
A Figura 4.8 mostra um exemplo de conexo de quatro sensores ao dispositivo de
controle utilizando DTMF. Nesse exemplo, possvel, inclusive, medir o deslocamento e
velocidade do rob. Ao invs de usar encoders pticos comerciais, optou-se por desenhar
o disco do encoder em um computador e imprimi-lo com uma impressora convencional.
Um sensor de reflexo de luz (CNY70) usado para detectar se o disco do encoder est
posicionado na rea branca ou preta, e o software de controle contabiliza os pulsos gerados pelos encoders para obter o deslocamento e velocidade. Essas informaes podem ser
utilizadas em algoritmos clssicos de odometria e localizao para determinar a posio
do rob em um espao cartesiano [Siegwart & Nourbakhsh 2004].
A Tabela 4.2 mostra uma tabela verdade com o mapeamento do estado de cada sensor
para dgitos DTMF, que pode ser obtido aplicando operaes bsicas de lgica Booleana
ao valor DTMF recebido. Por exemplo, pela Tabela 4.2, sabe-se que os sensores de toque
so os bits 0 e 1. Assim, a operao lgica E bit a bit com a mscara 0001 filtra os
dados de todos os outros sensores, resultando apenas no estado daquele sensor de toque
especfico. Para o outro sensor de toque, a mscara usada deve ser 0010.

CAPTULO 4. SISTEMA PROPOSTO

48

Figura 4.8: Conexo de sensores de um rob a um dispositivo de controle.


Para projetar um rob baseado na tcnica de leitura de sensores apresentada, deve-se
levar em considerao os limites na taxa de leitura de sensores do sistema. Para tanto,
introduzimos uma relao entre dimenso das rodas e a mxima velocidade linear que
pode ser medida com o sistema. Na Equao 4.1, VMax a mxima velocidade linear do
rob que pode ser medida, r o raio da roda, c a taxa mxima de dgitos DTMF que
podem ser analisados pelo sistema em um segundo, e s a resoluo do disco do encoder,
que refere-se ao nmero de pulsos por revoluo da roda.
2rc
(4.1)
s
A Tabela 4.3 mostra alguns exemplos da resoluo para medida de deslocamento e a
mxima velocidade que pode ser medida de acordo com a Equao 4.1.
A Figura 4.9 mostra resultados experimentais realizados no primeiro prottipo do NBot. As barras de erro mostram o desvio padro da distncia percorrida, enquanto a linha
vermelha mostra a distncia medida por um telefone celular conectado aos sensores, a
linha azul mostra a distncia real percorrida. Cada experimento apresentado no grfico
consiste na mdia de dez amostras.
De acordo com McComb G.; Predko (2006), erros de odometria so inevitveis devido
VMax =

4.1. HARDWARE
Encoder
esquerdo
(bit 3)
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

49
Encoder
direito
(bit 2)
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

Sensor de
toque direito
(bit 1)
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

Sensor de
toque esquerdo
(bit 0)
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

Dgito
DTMF
0
1
2
3
4
5
6
7
8
9
A
B
C
D
*
#

Tabela 4.2: Tabela verdade com mapeamento do estado dos sensores para dgitos DTMF.
a vrios fatores, como escorregamento das rodas e pequenos erros de medida no raio da
roda que se acumulam com o tempo. Eles afirmam que deslocamento entre 6 e 9 metros
resultam em erros no odmetro de 15 centmetros ou mais, que um erro percentual entre
1.6% e 2.5%. O maior erro de odometria observado durantes os testes foi de 3.7% em
uma distncia de 74cm e 0.75% para uma distncia de 0.76cm.
Leitura de Sensores Usando Tons Simples
Embora o sistema descrito acima seja robusto, ele possui a limitao de suportar apenas quatro sensores binrios. Assim, uma abordagem mais simples para leitura dos sensores foi idealizada em busca de um projeto mais flexvel e expansvel. Essa outra tcnica
descrita nesta Seo.
A Figura 4.10 ilustra o funcionamento do sistema: cada sensor conectado a um
gerador de sinal com frequncia ajustvel atravs de um trimpot, permitindo assim o
ajuste de uma frequncia diferente para cada sensor. O gerador somente gera um sinal
enquanto seu sensor correspondente est acionado. As sadas de todos os geradores so
misturadas, resultando em um sinal contendo todas as frequncias geradas. O software
de controle utiliza ento a FFT para identificar qual sensor est acionado. A pgina web
do projeto N-Bot [Aroca, Pitta, Burlamaqui & Gonalves 2012a] contem diversos vdeos
mostrando essa tcnica funcionando em experimentos prticos.
Qualquer circuito gerador de sinais de udio pode ser utilizado. Para que o custo fosse
reduzido optou-se pelo uso do CI 555, que pode gerar ondas quadradas. Testes demonstra-

CAPTULO 4. SISTEMA PROPOSTO

50
Resoluo do encoder
(pulsos por revoluo)
(s)
1
6
12
24
40

Resoluo para
medida de
deslocamento
157 mm
26 mm
13 mm
6,5 mm
3,92 mm

Velocidade
mxima
(VMax )
6283 mm/s
1047 mm/s
571 mm/s
261 mm/s
157 mm/s

Tabela 4.3: Resoluo do encoder e da medida de deslocamento, e mxima velocidade


que pode ser medida (considerando r = 25 mm e c = 40 dgitos por segundo).
ram a estabilidade e robustez do sistema com o 555, entretanto, como uma consequncia
do uso de um sinal quadrado, surgem muitas harmnicas no sinal resultante (sinais sobrepostos de duas vezes frequncia do sinal base). O tratamento dessas harmnicas deve ser
feito pelo software de anlise que executado no dispositivo de controle.
Uma alternativa para reduo de custos o uso de um nico gerador de tom para
todos os sensores do sistema, como ilustrado na Figura 4.11. Nessa situao, cada sensor
conectado em srie com um resistor, que determina sua frequncia. Quando vrios
sensores so acionados simultaneamente, uma nica frequncia resulta da combinao das
duas frequncias originais dos dois sensores acionados, sendo necessrio um tratamento
via software dessa caracterstica. A Figura 4.12 mostra o diagrama eltrico desse circuito.
Os sistemas descritos nesta subseo podem ser usados para capturar o estado de
diversos sensores, como, por exemplo, sensores de toque, inclinao, seguidores de linha,
fim de curso, botoeiras e sensores de distncia ajustados para serem acionados em uma
distncia especfica, alm de outros sensores de dois estados (acionado ou no acionado).
Tambm possvel adaptar o sistema para leitura de sensores analgicos atravs de
um mapeamento da tenso ou resistncia dos sensores para uma faixa de frequncias. O
circuito da Figura 4.12 mostra essa possibilidade aplicada a leitura da posio absoluta das
rodas do rob. Isso possvel, pois os servos de baixo custo utilizam resistores variveis,
conectados ao eixo dos motores, como sensores de posio, possibilitando usar a sada
desses potencimetros para determinar a posio das rodas.
Para diferenciar as frequncias dos sensores analgicos e digitais, utilizam-se diversos
resistores de ajuste para determinar a frequncia inicial e final relacionada com um sensor
analgico. Essa possibilidade j foi validada experimentalmente, porm ainda no foi
explorada em maiores detalhes.

4.1.3 Controle em Malha Fechada Usando Canal de udio


Usando o sistema descrito, possvel fechar malhas de controle no N-Bot. Experimentos detalhados no Captulo 5 mostram que possvel executar malhas de controle
com taxa de 40Hz usando sensores externos. Tambm possvel usar os sensores de um
telefone no lao de controle, como, por exemplo, a bssola, para controlar a direo de

4.2. SISTEMA BASEADO EM MICROCONTROLADOR

140

Distncia real
Odometria (mdia)
Desvio padro

120
Distncia calculada (cm)

51

100
80
60
40
20
0
0

20

40

60
80
Distncia real (cm)

100

120

140

Figura 4.9: Resultados de medidas experimentais de odometria. O eixo X a distncia


real percorrida e medida com uma fita mtrica. O eixo Y a distncia calculada pelo
dispositivo mvel usando o sistema proposto.
movimento do rob.

4.2

Sistema baseado em Microcontrolador

Embora o foco deste trabalho seja na proposta de um arquitetura que dispensa o uso
de microcontroladores, essa possibilidade tambm foi includa e validada no contexto
de acionamento de dispositivos via canal de udio. Lembramos que essa abordagem j
foi proposta em outros trabalhos [Robinson et al. 2010, Rob 2012b], que so discutidos
no Captulo 3. Contudo, esses trabalhos somente funcionam com poucos modelos de
telefones e necessitam de programas especializados para gerar sinais de udio bastante
especficos.
Nossa proposta consiste em usar tons de udio do tipo DTMF para enviar comandos
para um ou vrios microcontroladores conectados em um dispositivo de controle via udio. Como os microcontroladores possuem baixo custo e muitas opes de conexo de
sensores e atuadores, possvel construir um sistema com poucos componentes e alta
flexibilidade. Em um AtMega, por exemplo, o microcontrolador usado no Arduino,
possvel ligar oito servo motores e controlar precisamente e com suavidade tanto a velocidade quanto a posio desses servos. Assim, pode-se delegar tarefas de baixo nvel
para o microcontrolador, como gerao de PWM, enquanto o software de alto nvel toma
decises e envia comandos via DTMF para o microcontrolador. Alm disso, o microcon-

52

CAPTULO 4. SISTEMA PROPOSTO

Figura 4.10: Sistema para captura do estado de diversos sensores usando um canal de
udio.
trolador tambm pode gerar tons de udio para enviar informaes sobre sensores para a
unidade de controle, bem como respostas aos comandos recebidos via DTMF.
A Figura 4.13 mostra a viso geral do sistema. Um dispositivo mvel envia tons
DTMF via canal de udio, que conectado a uma entrada analgica do microcontrolador.
O microcontrolador, por sua vez, executa um algoritmo para identificao de tons DTMF,
e com base nos tons recebidos executa alguma ao, tal como acionar algum atuador.
Alguns testes foram realizados em um microcontrolador AtMega328, e por questes de
desempenho, optou-se pelo uso do algoritmo de Goertzel (1985) ao invs da FFT. A vantagem deste, que ele mais eficiente que a FFT pelo fato de analisar apenas frequncias
especficas, enquanto a FFT analisa toda uma faixa de frequncias. Assim, no caso de
um microcontrolador, como o AtMega, que roda a 16MHz, algoritmos otimizados so
importantes. Para gerar tons de udio que codificam respostas a comandos e estado de
sensores, uma sada do tipo PWM utilizada, para gerar um sinal que se aproxima de um
tom de udio.
Uma outra vantagem do sistema baseado em microcontrolador, e que nas abordagens
j apresentadas neste captulo, sem o uso de microcontrolador, a unidade de processamento precisa gastar tempo de CPU executando uma tarefa de baixo nvel, que a gerao de sinal PWM. Com o microcontrolador, a unidade de controle precisa apenas emitir
os comandos de controle, enquanto o microcontrolador gera os sinais PWM de forma
independente.
Tambm possvel expandir facilmente o sistema construindo uma rede de microcontroladores conectados via udio, mas para tanto um protocolo de comunicao deve ser
estabelecido. A Figura 4.14 mostra a arquitetura dessa rede, que pode ser composta de
diferentes tipos e modelos de microcontroladores, sendo que cada um deve possuir uma
implementao funcional de um decodificador de DTMF via software. Para a comunica-

4.2. SISTEMA BASEADO EM MICROCONTROLADOR

53

Figura 4.11: Sistema para captura do estado de diversos sensores usando um canal de
udio com um nico gerador de tons.
o bidirecional, utiliza-se um protocolo do tipo comando/resposta, onde um determinado
microcontrolador somente envia dados, neste caso tons de udio, caso uma requisio especifica tenha sido enviada para seu endereo na rede. Este sistema foi validado com dois
microcontroladores operando em conjunto.
O protocolo de comunicao mostrado a seguir composto por um dgito DTMF
delimitador de inicio de comando, o *, seguido do endereo do microcontrolador que
deve receber o comando, seguido do comando a ser enviado, de seus parmetros, e de
um delimitador de fim de comando especificado pelo dgito DTMF \#. Tambm pode-se
utilizar um dgito especfico para endereo de broadcast, como o B, por exemplo, que
identifica um comando a ser executado por todos microcontroladores da rede. A estrutura
do protocolo a seguinte:
*<endereo(1)><comando(1)><parmetros(3)>#
A Tabela 4.4 mostra alguns exemplos de comandos baseados nesse protocolo. Nesse
exemplo, o sistema composto por dois microcontroladores conectados a dois servomotores. Um dos microcontroladores tem endereo 1 e o outro tem endereo 2, assim
como os servos tambm tm endereos 1 e 2. Ainda no exemplo, o segundo microcontrolador possui um dispositivo emissor de som, um buzzer, ligado na porta 3.
Com esse protocolo, o dispositivo de controle simplesmente precisa gerar a sequncia
DTMF que caracteriza um comando. Assim, todos softwares desenvolvidos neste projeto,
bem como diversos outros, podem ser usados para enviar comandos para os microcontroladores. Novamente, usando o ADWN ou o Anwide, nenhum software ou configurao
especiais precisam ser feitas no computador de desenvolvimento. Para interpretar a resposta, a unidade de controle deve executar a FFT e analisar as frequncias presentes no
sinal de udio proveniente do microcontrolador.

54

CAPTULO 4. SISTEMA PROPOSTO

Figura 4.12: Diagrama eltrico do circuito para leitura do estado de sensores usando sinal
de udio.

4.2. SISTEMA BASEADO EM MICROCONTROLADOR

55

Figura 4.13: Envio de comandos para um microcontrolador via canal de udio usando
DTMF, e codificao de respostas e estados de sensores via tons de udio nicos.

Figura 4.14: Envio de comandos para uma rede de microcontroladores via canal de udio
(linha preta) usando DTMF, e canal de retorno via udio (linha vermelha).

CAPTULO 4. SISTEMA PROPOSTO

56

Sequncia de dgitos
*11045#

Endereo
1

Comando
1

Parmetro
045

Descrio
Move para a posio 45
graus o servo 1 ligado ao
microcontrolador 1
*12180#
1
2
180
Move para a posio 180
graus o servo 2 ligado ao
microcontrolador 1
*21045#
2
1
045
Move para a posio 45
graus o servo 1 ligado ao
microcontrolador 2
*23010#
2
3
010
Aciona um sinal sonoro
por 10ms no microcontrolador 2
Tabela 4.4: Exemplo de comandos usando o protocolo de
comunicao com DTMF entre dispositivo gerador de som e
microcontrolador.

4.3 Estrutura do Rob


A estrutura fsica do N-Bot pode ser composta de diversos materiais, incluindo papelo, entretanto, como sugerido por Hamblen & Hall (2004), o uso de peas de brinquedos
para construo de robs educativos oferece um timo custo/benefcio. Uma das vantagens observadas a facilidade de obteno desses brinquedos a baixo custo, e a maleabilidade de seus componentes, facilitando adaptaes usando apenas ferramentas simples,
como alicate e tesoura.
Da mesma forma que no caso das partes de brinquedos, a abordagem de robtica livre
tambm pode ser usada atravs do reaproveitamento de cabos, motores, sensores e outras
peas de computadores e impressoras antigas. Uma caracterstica dessa abordagem a
necessidade de improvisao por parte dos alunos e a falta de padronizao, j que cada
rob composto por peas que seu construtor obteve, dificultando a implementao de
projetos onde os alunos constroem robs padronizados e similares baseados em um guia
ou manual.
Uma outra tcnica interessante que utilizamos ao longo desta pesquisa o uso de
peas metlicas para montagem de mveis de madeira como peas para a construo da
estrutura do rob. Essa peas so parafusos, fusos, porcas, e chapas metlicas para fixao
no formato de L. Alm de serem muito baratas, o uso dessas peas permite a construo
padronizada de diversos robs, j que todos alunos tero as mesmas peas disposio, e
um guia de montagem poder ser baseado nestas peas.
A Figura 4.15 mostra um exemplo de configurao do N-Bot usando o chassi plstico
e as rodas de carrinhos de brinquedo.

4.3. ESTRUTURA DO ROB

Figura 4.15: Exemplo de estrutura do N-Bot usando partes de brinquedos.

57

58

CAPTULO 4. SISTEMA PROPOSTO

4.4 Software
Esta Seo descreve a arquitetura de software do N-Bot, e as solues open source
desenvolvidas tanto para dispositivos mveis quanto para computadores tradicionais. Nos
dois casos, o foco oferecer uma plataforma de desenvolvimento baseada na web, que
dispense a instalao e configurao de qualquer programa, podendo tambm ser acessada
por qualquer computador com um navegador web.

4.4.1 Ambiente de Programao via Web


Embarcado em um Dispositivo Mvel
O objetivo do sistema embarcado em um dispositivo mvel (telefone ou tablet), permitir que esse dispositivo seja instalado fisicamente no rob para atuar como sua unidade
de controle. Os programas de controle rodam nesse dispositivo, mas a sua programao
feita remotamente via web. A Figura 4.16 mostra arquitetura desse sistema.
Um dos principais componentes exibidos na Figura 4.16 o servidor web. Ele
executado no dispositivo mvel e recebe conexes de qualquer dispositivo conectado na
mesma rede. Qualquer dispositivo que disponha de um navegador web pode acessar e
interagir com o sistema sem a necessidade de plugins especiais, como Java ou Flash,
possibilitando assim o acesso de clientes com recursos mais restritos. A pgina web
oferece opes para editar, salvar ou executar programas no rob, que podem usar tanto
os sensores externos quanto os sensores do telefone. Notamos que alm da interface com
o rob usando udio, esse ambiente tambm pode ser usado para programar robs que
usam outras interfaces de comunicao, como o Lego Mindstorms, que se conecta ao
telefone via bluetooth.
Para tornar a implementao possvel, foi utilizada a camada de scripts para Android
(SL4A) [Jordan & Greyling 2011, Ferrill 2011], que permite a execuo de diversas linguagens de script em dispositivos com o sistema Android. Alm disso, tambm oferece
abstrao para os recursos do telefone e do sistema Android. Atualmente, as linguagens
suportadas so o Python, Perl, Ruby, Lua, BeanShell, JavaScript, Tcl e Scripts Shell, mas
o SL4A oferece a possibilidade de adicionar outras linguagens, assim o rob pode ser
programado em qualquer uma dessas linguagens, ou mesmo em novas linguagens que
venham a ser adicionadas ao SL4A.
Os programas editados ou criados pelo usurio so salvos na memria interna do
dispositivo mvel, preferencialmente um carto de memria do tipo SD. Ao clicar no
boto de execuo, alguns scripts preparam e iniciam a execuo do programa do usurio.
A entrada e sada padro de todos programas so automaticamente redirecionadas para
arquivos de log que podem ser inspecionados posteriormente. Alm disso, a sada padro
tambm exibida e atualizada automaticamente no navegador web do usurio, permitindo
acompanhar e diagnosticar a execuo do programa.
Devido flexibilidade da plataforma Android, tarefas complicadas podem ser implementadas com pouco esforo de programao. A Listagem 1 mostra um exemplo de
leitura de sensores do telefone, especificamente da bssola. Aps obter a leitura do sensor, o sistema usa o sintetizador de voz para falar uma frase com os dados do sensor.

4.4. SOFTWARE

59

Figura 4.16: Arquitetura do sistema que possibilita programao remota.


Notamos que esse trecho de cdigo refere-se ao programa completo, e no um fragmento
de cdigo.
Listagem 1: Realiza a leitura da bssola do telefone e utiliza o sintetizador de voz
para falar esta leitura.
import android, time
droid = android.Android()
droid.startSensing()
time.sleep(1)
results = droid.readSensors().result
R = results[zMag];
droid.ttsSpeak("My heading is " + str(R) + " degrees")

Na Listagem 2, a cmera de um telefone usada para reconhecer etiquetas de cdigo de barras, que poderiam ser usadas como marcadores de posies conhecidas para
localizao de robs, como j sugerido em outro trabalho [Sousa et al. 2009].
Listagem 2: Reconhece uma etiqueta de cdigo de barras com a cmera e fala Im
home se o cdigo de barras for 7891219026195.
import android, time
droid = android.Android()
code = droid.scanBarcode().result
if code[extras][SCAN_RESULT] == "7891219026195":
droid.ttsSpeak("Im home")
else:
droid.ttsSpeak("Unknow landmark")

60

CAPTULO 4. SISTEMA PROPOSTO

A Listagem 3 aguarda um comando de voz e ento move um rob baseado em Lego


Mindstorms NXT caso o comando de voz seja Mover. A Listagem 4 tem o mesmo
funcionamento apresentado na Listagem 3, mas ao invs de controlar um rob Lego via
bluetooth, controla o N-Bot via udio.
Listagem 3: Conecta a um rob Lego e executa um movimento quando o usurio falar
Move, e por fim fala a distncia medida com o sensor de ultra-som do Lego.
import android, time
import nxt.locator
from nxt.motor import *
droid = android.Android()
def move(s)
m_left = Motor(s, PORT_B)
m_left.update(100, 3600)
m_right = Motor(s, PORT_C)
m_right.update(100, 3600)
sock = nxt.locator.find_one_brick()
if sock:
voiceCmd = droid.recognizeSpeech().result;
if voiceCmd == "move":
move(sock.connect())
else:
droid.ttsSpeak("Command not understood")
else:
print Lego NXT unavailable
D = UltrasonicSensor(sock, PORT_4).get_sample()
droid.ttsSpeak("Ultrasound distance is " + str(D))
sock.close()

Listagem 4: Gera tons de udio DTMF para o N-Bot se mover quando o usurio falar
Move.
import android, time
droid = android.Android()
voiceCmd = droid.recognizeSpeech().result;
if voiceCmd == "move":
droid.generateDtmfTones("5", 500)
else:
droid.ttsSpeak("Command not understood")

Tambm possvel utilizar facilmente a cmera, ou outros recursos do telefone. Para


obter sua localizao geogrfica, por exemplo, basta utilizar o GPS atravs da funo
droid.getLastKnownLocation().

4.4. SOFTWARE

61

Figura 4.17: Captura de tela de um navegador web acessando o ambiente de programao


via web.
A Figura 4.17 mostra um exemplo desse sistema em funcionamento, incluindo a funcionalidade de visualizar ao vivo, via web, a cena vista pela cmera do dispositivo mvel
instalado no rob. Abaixo da cena da cmera, tambm possvel ver um contedo grfico
gerado pelo programa de usurio, que, nesse caso, um ponteiro representando a direo
de movimento detectada pela bssola.
Aps a implementao dessa verso do sistema, decidimos desenvolver uma verso
melhorada e mais acessvel para usurios leigos atravs de programao por blocos ou
textual. O novo ambiente de programao foi batizado como Anwide: Android web based
integrated development environment, e disponibilizado na Internet como software livre, de
forma que tanto o software quanto o seu cdigo fonte (open source), podem ser baixados
livremente a partir do site web http://code.google.com/p/anwide/.
Aps ser instalado e executado no telefone, o Anwide mostra o IP (endereo do dispositivo na rede) do celular onde ele est instalado. Para possuir esse endereo, o celular
deve estar conectado na Internet, em uma rede local ou operando no modo roteador (AndroidAP). Em seguida, o usurio deve usar um navegador web, em qualquer computador
conectado mesma rede, ou no prprio telefone e acessar o IP exibido na tela. Ao acessar

62

CAPTULO 4. SISTEMA PROPOSTO

o sistema, o usurio ter acesso ao aplicativo Web mostrado na Figura 4.18. Lembramos
que o Anwide executado completamente no telefone do usurio, dispensando conexo
com Internet ou o uso de qualquer computador auxiliar.
Como pode ser visto na Figura 4.18, a rea do lado direito permite construir um programa apenas encaixando blocos. Quando o programa est pronto, o usurio clica em um
boto que transforma os blocos em um programa na linguagem Python, e o executa no
dispositivo mvel atravs do SL4A. Embora nossos testes tenham sido feitos em Python,
outras linguagens so suportadas. Se o usurio desejar, ele pode editar, tambm via Web,
diretamente o cdigo fonte Python e execut-lo, permitindo alto grau de personalizao
e a possibilidade de programao avanada. Alm do SL4A, o Anwide tambm utiliza
pores de cdigo do Blockly, que uma linguagem de programao por blocos desenvolvida por engenheiros do Google. Outro projeto que utiliza o Blockly para programao
grfica do celular MIT App Inventor e o Scratch [Resnick 2007], tambm do MIT.
Optou-se pela incluso do ambiente de programao usando blocos baseado no Blockly j que a maioria dos sistemas para robtica educativa possuem a opo de programao por blocos. Alm disso, a forma de conectar os blocos do Blockly, utilizado em
nosso projeto, similar quela utilizada pelo Scratch do MIT, que no requer conhecimentos prvios de programao, sendo adequada inclusive para crianas. A programao
feita usando blocos com formas especificas, de forma que apenas blocos compatveis e
complementares podem ser encaixados.
A Figura 4.19 mostra o esquema geral de funcionamento do Anwide. Primeiro o
usurio acessa a pgina web atravs de um navegador, e digita seu programa em linguagem Python (1), por exemplo. O usurio tambm pode desenhar seu programa usando
a programao por blocos que sero automaticamente convertidos para um programa em
linguagem Python (1). A pgina web carregada no navegador do cliente (1) comunica-se
com o servidor web embarcado no dispositivo mvel (2) via protocolo HTTP, e envia o
programa para ser armazenado (3) na memria do dispositivo. Em seguida o programa
(script) em Python executado usando o SL4A (4). Antes da execuo, nosso sistema
manipula os descritores de arquivo do programa do usurio para que a sada padro seja
gravada em um arquivo de log (5), que continuamente monitorado pelo servidor web
(6) de forma que o usurio possa visualizar em tempo real (7) a sada padro e erros da
execuo de seu programa. Este retorno ocorre atravs do sistema Asynchronous Javascript and XML (AJAX), que permite a atualizao constante de dados na pgina web sem
a necessidade de recarreg-la.
Embora totalmente funcional, o Anwide uma prova de conceito. Apesar de o termos desenvolvido para a plataforma Android, ele pode ser portado para utilizao em
outras plataformas de dispositivos mveis. O Anwide foi testado em diversos dispositivos
mveis com Android, mas fizemos os testes principais no telefone HTC G1, um dos primeiros telefones com Android, com processador ARM de 528MHz, 192MB de memria
e o sistema Android 2.1. Como os dispositivos mais novos so mais poderosos, fizemos
esforos para o sistema executar nesse celular, para assim poder funcionar facilmente nos
outros dispositivos.

4.4. SOFTWARE

63

Figura 4.18: Captura da tela do sistema Web embarcado no celular, o Anwide. No lado
direito o programa pode ser feito conectando os blocos. No lado esquerdo, o programa
traduzido para cdigo fonte Python, e na parte inferior esquerda o resultado da execuo
do programa mostrada.

Figura 4.19: Esquema interno de funcionamento do Anwide e a interao de seus subsistemas. Os passos de execuo, em ordem, so mostrados em crculos azuis, enquanto os
crculos verdes mostram o fluxo para retorno de informaes.

64

CAPTULO 4. SISTEMA PROPOSTO

Programao Usando um Computador


Durante as demonstraes e experimentos com alunos para validar o N-Bot, notou-se
que embora o uso de um telefone celular como unidade de controle oferea uma soluo poderosa e flexvel, nem todos os alunos dispunham de celulares com capacidade de
execuo do Anwide. Para solucionar esse problema, optamos pela construo de um
ambiente de desenvolvimento para o N-Bot baseado na web, o ADWN, sem o uso de um
telefone, com a inteno de oferecer uma plataforma simples e intuitiva para iniciantes,
porm poderosa e flexvel para usurios experientes.
Alm disso, para permitir o uso em computadores pblicos, de bibliotecas e telecentros, o projeto do ambiente de programao exige que ele dispense a necessidade de
instalao de qualquer software no computador de desenvolvimento.
A soluo encontrada foi o desenvolvimento de uma aplicao web. Assim, para
programar o N-Bot, o usurio somente precisa acessar uma pgina web que oferece a
opo de programao em blocos, textual ou hbrida. Outra caracterstica importante
desse ambiente de programao, que trata-se de um sistema web que no depende de
servidor: como toda implementao usa JavaScript e tecnologias que so executadas no
navegador, possvel fazer o download da pgina web de programao, e usar o sistema
sem a necessidade de nenhum tipo de conexo com a Internet ou rede.
Por exemplo, um estudante pode fazer o download do ambiente de programao e
gravar em um CD-ROM ou em um pen drive, e utiliz-lo em qualquer computador que
tenha um navegador web, mesmo que desconectado da Internet. Como no necessria
a instalao de softwares, o sistema pode ser usado at em computadores com polticas
restritivas de uso.
Para criar programas, basta ligar os blocos de uma palheta disponvel em um menu
lateral. Ao clicar no boto executar, os blocos so traduzidos para a linguagem JavaScript,
o cdigo fonte exibido para o usurio, e o programa executado. O cdigo gerado pode
ser editado manualmente e executado. A execuo ocorre no prprio navegador web, que
possui um interpretador JavaScript embutido. Para interagir com o rob, esta pgina web
gera tons de udio, que so decodificados pelos circuitos do rob. Da mesma forma, para
ler sensores, a pgina web executa uma transformada de Fourier para capturar o udio da
entrada de microfone do computador e decodificar o estado de cada sensor. Como o canal
de comunicao baseado em udio, o sistema pode no funcionar se o nvel de volume
do computador estiver muito baixo.
A inteno inicial era desenvolver o sistema utilizando apenas HTML5, tornando o
sistema mais portvel para ser executado em diversos dispositivos, mas infelizmente, o
HTML5 ainda no suporta capturar dados do microfone do computador. Assim, para
desenvolver a verso atual do sistema foi necessrio desenvolver um programa em linguagem Flash (Action Script) que fica embarcado na pgina web do sistema de desenvolvimento. Esse programa captura o udio do microfone do sistema, e executa a FFT para
obter suas frequncias. Ele tambm gera os tons DTMF e comunica-se com o programa
principal, na pgina web via interface de chamadas entre objetos HTML do JavaScript.
A Figura 4.20 mostra o esquema interno de funcionamento do ADWN. Primeiro o
usurio acessa a pgina web do ADWN (1) e cria seu programa conectando blocos (2),
que em seguida so traduzidos para um programa em JavaScript (3). Se desejar, o usurio

4.4. SOFTWARE

65

pode pular o passo (2) e digitar diretamente o programa em JavaScript (3). Em seguida,
o programa em JavaScript executado (4), e durante a execuo, a poro de cdigo
do usurio troca dados com um mdulo em Flash (ActionScript) que gera tons DTMF
e realiza a FFT no sinal de entrada do microfone do computador. Durante a execuo
do programa, o ambiente tambm monitora sensores e a sada do programa do usurio,
exibindo, para o usurio, e atualizando continuamente estas informaes.

Figura 4.20: Esquema interno de funcionamento do ADWN e interao de seus subsistemas. Os crculos verdes representam fluxo de dados que exibem informaes para o
usurio.
Outro recurso interessante que implementamos no sistema o suporte programao
multi-tarefa, possibilitando ao usurio criar vrios grupos de blocos que executam de
forma simultnea e independente. Para facilitar tarefas de depurao, tambm criamos
uma rea dinmica que mostra o resultado da sada do programa quando o cdigo executa
uma chamada para uma funo de impresso. Essa funo pode ser usada com a chamada
a debug() ou atravs do bloco print2.
A Figura 4.21 mostra uma captura de tela do sistema de programao web em funcionamento. Note que ele similar ao Anwide, utilizado no telefone celular. No lado direto
da tela, possvel implementar o programa usando blocos. Na parte esquerda superior
possvel ver e editar o cdigo do programa em forma textual. Abaixo do cdigo, pode-se
ver as mensagens impressas pelo programa seguido de um analisador de espectro, que
mostra em tempo real as componentes de frequncia encontradas no sinal de udio de
entrada.
O ambiente de programao tambm tem cdigo aberto e est disponvel on line
no endereo http://www.natalnet.br/~aroca/N-Bot/html/beta/natalnet/. Ao
acessar o sistema, um programa de exemplo ir ser carregado automaticamente. A pgina oficial do N-Bot [Aroca, Pitta, Burlamaqui & Gonalves 2012a] possui informaes
adicionais e vdeos do sistema em funcionamento.
Para controlar atuadores do N-Bot, o sistema gera tons DTMF. A funo textual para

66

CAPTULO 4. SISTEMA PROPOSTO

Figura 4.21: Captura de tela do ambiente de programao via web rodando em navegador
web de um computador tradicional.
gerar tons DTMF DTMF_R(d,r), onde d o dgito DTMF a ser gerado e r o nmero de
vezes a repetir esse tom. Para programao em blocos, basta usar o bloco Play DTMF,
que ser mapeado para a funo j mencionada. A Figura 4.22 mostra o bloco usado para
gerar tons DTMF. Tambm possvel usar um bloco com maior nvel de abstrao, do
tipo Mover para frente, que mapeado para a funo DTMF_R(d,r).

Figura 4.22: Bloco usado para gerar um tom DTMF.


Para obter o estado de sensores, o sistema oferece uma funo (ou bloco) para configurar a frequncia associada a cada sensor. Um exemplo de uso desta funo setFrequency(7,
1,500,-10,2);. Os parmetros desse exemplo so detalhados na Tabela 4.5.
Ao invs de usar a funo textual setFrequency(), possvel usar o bloco correspondente a essa funo, como mostrado na Figura 4.23.
Na implementao atual, a taxa de amostragem do sinal de 22KHz e o nmero de
pontos da FFT 2048. Usando a Equao 2.2 sabe-se que esses parmetros resultam
em uma resoluo de anlise do sinal de 10Hz. Usando um espaamento de 10Hz entre
o sinal de cada sensor, esse sistema permitiria, teoricamente, o uso de at 500 sensores
conectados simultaneamente via canal de udio. Na prtica, claro, esse valor no pode

4.4. SOFTWARE
Parmetro
1
2
3

Exemplo
7
1
500

-10

67
Funo
Nmero do sensor
Liga (1) ou desliga (0) a leitura deste sensor
Identificao da frequncia associada a este sensor, entre 0
e 935. Multiplique por 10.7 para determinar a frequncia.
Para escolher 3.6KHz, por exemplo, usar 345 neste parmetro
Limiar de amplitude do sinal de udio para considerar que
o sensor foi acionado
Durao do tom de udio para considerar que o estado do
sensor mudou (mltiplo de 50 milissegundos)

Tabela 4.5: Parmetros usados na funo setFrequency.

Figura 4.23: Bloco para configurar a frequncia associada a um sensor.


ser obtido devido a fatores como interferncia e distoro do sinal. Alm disso, intervalos
maiores podem ser usados para mapear uma faixa de frequncias para o sinal de sensores
analgicos.
A Figura 4.24 mostra exemplos do analisador de espectro em tempo real que exibe o
sinal no domnio da frequncia na tela do ambiente de desenvolvimento. A primeira imagem mostra o analisador de espectro aps trs execues do comando setFrequency: cada
uma configurou a amplitude e frequncia de um determinado sensor, que fica representado na tela do analisador de espectro por um crculo sem preenchimento. A imagem do
lado direito mostra um sinal associado a um sensor presente na entrada de udio. Nessa
situao, o crculo sem preenchimento fica de cor azul, representando que aquele sensor
est acionado. Nesse momento, o sistema tambm notifica e atualiza o estado dos sensores para uso no programa do usurio. As frequncias configuradas so 2KHz, 5.5KHz e
7KHz.
Para que os programas dos usurios possam realizar a leitura dos sensores em um
programa em modo texto, o ambiente prov a funo sensor(), que recebe como parmetro
o nmero do sensor, e retorna 0 ou 1 de acordo com o estado do sensor. A Figura 4.25
mostra o bloco equivalente para leitura de sensores.
O sistema foi testado nos navegadores Mozilla Firefox e Google Chrome e funcionam
tanto no Windows quanto no Linux. O sistema ainda no foi ajustado para funcionar no

68

CAPTULO 4. SISTEMA PROPOSTO

Figura 4.24: Vista do analisador de espectro no ambiente web. No lado esquerdo o analisador foi configurado para identificar o estado de trs sensores, e no lado direito, o
analisador detectou um sensor ativo.

Figura 4.25: Bloco para leitura do estado de um sensor conectado via canal de udio.

Internet Explorer da Microsoft.


Outro recurso interessante disponvel no ambiente de desenvolvimento implementado
o recurso de salvar e carregar programas feitos com blocos em um arquivo XML. Um
trabalho em desenvolvimento um repositrio on-line para troca de projetos e programas
de forma interativa. Alm disso, tanto esse ambiente baseado apenas na web quanto o
Anwide possuem arquivos XML compatveis entre si, possibilitando que um programa
feito no Anwide possa ser usado no ADWN, e vice-versa.
Como o uso do ambiente web requer que o rob esteja conectado via cabo de udio ao
computador, sugerimos uma possvel soluo de baixo custo para dar mobilidade ao rob.
Para tanto, deve-se alimentar o rob com baterias, ao invs de cabo USB, e utilizar um
par de transmissor/receptor de rdio FM. Assim, o computador de controle ir transmitir
os sons como uma estao de rdio FM, e o rob, usando um pequeno rdio porttil, ir
receber os tons DTMF, decodifica-los e realizar os movimentos solicitados. Essa abordagem vivel apenas para envio de comando, j que para recepo de dados de sensores
seria necessrio um rdio de duas vias, como um walk-talkie.

4.4. SOFTWARE

69

Figura 4.26: Exemplo de programa feito com blocos para o N-Bot se mover para frente
por alguns segundos.
Exemplos de Programao com Blocos
Para ilustrar a implementao de programas por blocos no sistema proposto, esta Seo apresenta trs exemplos de programas desenvolvidos no ambiente web do N-Bot.
A Figura 4.26 mostra um exemplo que faz com que o N-Bot mova-se para frente
durante alguns segundos. A Figura 4.27 mostra um programa que configura um sensor
e faz com o N-Bot movimente-se para frente at que o sensor de toque frontal (bumper)
seja acionado, fazendo com o que o rob pare. A Figura 4.28 mostra um programa que
utiliza trs sensores: quando o rob tem uma coliso frontal, ele passa a andar para trs.
Quando ele tem uma coliso traseira, ele passa a andar para frente, e quando um outro
sensor de toque detecta um objeto, o rob para.

70

CAPTULO 4. SISTEMA PROPOSTO

Figura 4.27: Exemplo de programa feito com blocos para o N-Bot andar para frente at o
sensor de toque frontal ser acionado.

4.4. SOFTWARE

71

Figura 4.28: Exemplo de programa com trs sensores de toque (ver texto para detalhes).

72

CAPTULO 4. SISTEMA PROPOSTO

Captulo 5
Resultados

As invenes so, sobretudo, o resultado de um trabalho teimoso.


Santos Dumont

Esquematizamos neste Captulo a apresentao dos resultados obtidos neste trabalho


em trs sees. Primeiro, na Seo 5.1, so apresentados resultados gerais obtidos, tais
como os robs construdos e analisados, os custos e a repercusso do nosso projeto. A
seguir, na Seo 5.2 so discutidos detalhes tcnicos, como a performance do sistema e
de processadores ARM, tipicamente usados em dispositivos mveis com Android. Finalmente, na seo 5.3, so apresentados resultados de uma pesquisa de interesse e opinio
realizada com dezenas de estudantes durante o decorrer dos trabalhos.

5.1
5.1.1

Viso Geral
Robs Construdos e Analisados

A Figura 5.1 mostra uma foto com detalhes do primeiro prottipo construdo. Nesse
modelo, o telefone executa o Anwide e atua como controlador do rob utilizando a interface de udio para leitura de sensores e acionamento de atuadores. Tambm pode-se
ver um apontador laser, que funciona em conjunto com a cmera do celular para medir a
distncia at obstculos frente do rob. Maiores detalhes e experimentos desse sistema
podem ser encontrados em nosso trabalho disponvel na literatura [Aroca, Burlamaqui &
Gonalves 2012].
A Figura 5.2 mostra um tablet e um netbook funcionando como controladores do
rob. interessante notar a portabilidade do sistema, j que o mesmo programa foi copiado do telefone mvel para esses dispositivos, e executado sem modificaes. Tanto
o smartphone da Figura 5.1 quanto o tablet utilizam processadores ARM, enquanto o
netbook utiliza um processador x86.
A Figura 5.3 mostra dois robs controlados por um telefone celular executando o
Anwide, que permitiu acesso remoto via rede wifi esses robs, bem como programar
e enviar comandos remotos para eles, mostrando a flexibilidade do Anwide para operar
com diferentes tipos de robs.

74

CAPTULO 5. RESULTADOS

Figura 5.1: Rob projetado e construdo para ser controlado via interface de udio de um
telefone celular.

A Figura 5.4 mostra a ltima verso do N-Bot, que foi construda com foco em reduo de custos. Mais uma vez, o telefone mvel atua como o controlador desse rob,
atravs da interface de udio, sendo a programao feita remotamente pela interface web
do Anwide. Para possuir autonomia enquanto controlado pelo celular, uma bateria usada
na parte inferior do N-Bot, dispensando o uso da alimentao via porta USB.
A Figura 5.5 mostra uma foto do N-Bot construdo com microcontrolador e peas
metlicas utilizadas na construo de mveis de madeira, destacando as chapas de fixao
em L, parafusos e porcas.

Figura 5.2: Tablet e netbook operando como controladores do rob via interface de udio.

5.1. VISO GERAL

75

Figura 5.3: Dois robs comerciais controlados pelo Anwide: um Lego Mindstorms e um
Pioneer P3AT. Note o telefone fixado na parte superior dos dois robs.

Figura 5.4: N-Bot com os cabos para conexo de udio e alimentao e N-Bot controlado
por um telefone rodando Anwide.

5.1.2 Custos do Sistema


A Tabela 5.1 mostra um resumo dos custos para construo do N-Bot considerando
a compra das peas no Brasil com todos impostos inclusos. Esses valores no incluem a
estrutura mecnica, j que um brinquedo antigo foi reaproveitado. Os custos apresentados
incluem dois motores e dois sensores, e so relativos ao rob exibido na Figura 5.4. A
Tabela 5.1 tambm mostra de forma comparativa o valor das peas na China (compradas
em pequena quantidade).
A Tabela 5.2 mostra uma estimativa de economia(s) de escala se os componentes do
N-Bot fossem adquiridos em grande quantidade para construo de kits educativos.
Como mostrado na Tabela 5.1, o N-Bot possui um baixo custo, entretanto conveniente comparar seu custo com outras solues. Como discutido no Captulo 2, os robs
educativos so tipicamente construdos com microcontroladores, como o PIC, o MSP430
ou o AtMega, usado no Arduino. Esses sistemas so prticos e de baixo custo, porm
limitados em capacidade computacional, alm de necessitarem diversos sensores exter-

CAPTULO 5. RESULTADOS

76

Figura 5.5: Verso do N-Bot construdo com microcontrolador e peas metlicas usadas
em mveis.
Descrio
Circuitos integrados
Componentes diversos
Placa de circuito impresso (2)
Motores (2)
Sensores (2)
Parafusos e porcas
TOTAL

Valor (R$)
(Brasil)
8,00
4,00
8,00
24,00
4,00
1,00
R$ 49,00

Valor (US$)
(China)
1,5
2,9
0,82
7,88
0,70
0,30
US$ 14,10

Tabela 5.1: Custos para aquisio das partes necessrias para construo do N-Bot no
Brasil e na China. Valores referentes a Outubro de 2012.
nos, e de um nvel de conhecimento intermedirio de eletrnica e computao para serem
programados. Ainda assim, caso se opte por construir um N-Bot com microcontrolador,
conforme descrito na Seo 4.2, estimamos que seu custo ser cerca de 10% inferior
verso com o decodificador de DTMF, j que o nmero de componentes reduzido para
apenas um microcontrolador, dois capacitores e quatro resistores.
Alm disso, quando se deseja construir robs que devem executar algoritmos mais
sofisticados, como sistemas e viso computacional, normalmente utiliza-se um notebook
ou netbook como unidade de controle. A Tabela 5.3 apresenta uma breve comparao de
cada uma dessas abordagens. Tanto no caso do rob com PC quanto com microcontrolador, diversos sensores adicionais devem ser comprados, conectados, e esforo adicional
de desenvolvimento deve ser empregado para esses sensores poderem ser utilizados.

5.1. VISO GERAL


Nmero de kits
1
100
1000
10000

77
Reduo de
custo
0%
30%
37%
70%

Valor (R$)
(Brasil)
49,00
34,30
30,87
14,70

Valor (US$)
(China)
14,10
9,87
8,88
4,23

Tabela 5.2: Estimativa de reduo dos custos do N-Bot de acordo com a escala de compra.

Recurso
Velocidade da CPU / Memria
Durao da bateria
Cmera
Receptor GPS
Acelermetro
Wifi / Bluetooth
Reconhecimento de voz
Bssola
Microfone / alto falantes
Viso computacional
Linguagens de programao
Controle de motores
Tamanho
Preo (R$)

Netbook
1GHz/1GB
8-12h
VGA
+$200
+$70
Embutido
Mdio
+$70
Embutido
OpenCV
Muitas
+$13
Mdio
700 (1053)

Telefone (*)
500MHz/512MB
10-20h
2x6 MegaPixel
Embutido
Embutido
Embutido
timo
Embutido
Embutido
OpenCV
Muitas
+$13
Pequeno
350 (363)

Microcontrolador
40MHz/8KB
20h ($25)
+$100 + trabalho
+$200 + trabalho
+$70 + trabalho
+$250 + trabalho
+ trabalho
+$70 + trabalho
+$20 + trabalho
+ trabalho
Assembly, C
Embutido
Pequeno
100 (835)

Tabela 5.3: Tabela comparativa de unidades de controle para robs. O preo final aquele
da unidade de controle, e o valor entre parnteses o preo da unidade de controle somado
ao valor dos sensores. (*) Preo de um telefone celular com sistema operacional Android
no mercado brasileiro em Jun/2012 (com os recursos mencionados).

5.1.3 Repercusso
Todas as instrues de montagem e funcionamento do N-Bot esto disponveis no
endereo web do laboratrio NatalNet [Aroca, Pitta, Burlamaqui & Gonalves 2012a].
Aps a divulgao dos resultados do concurso 10-dollar robot design challenge, o site
recebeu mais de 6500 visualizaes de pginas em cerca de 40 dias. A metade desses
acessos proveniente do Brasil, e o restante distribudo entre 83 pases, sendo os primeiros da lista os EUA, o Canad, a ndia e a Alemanha. Alm disso, o N-Bot foi includo em
artigos de diversas revistas internacionais reconhecidas, como a Wired e a Popular Mechanics. O N-Bot tambm foi convidado, e enviado para exibio no museu de tecnologia
da Universidade de Berkeley nos EUA.

CAPTULO 5. RESULTADOS

78

Figura 5.6: Sistema para medida da taxa mxima de leitura de sensores.

5.2 Aspectos Tcnicos


Medidas de desempenho foram definidas e realizadas, visando verificao dos aspectos relacionados com a tecnologia resultante do projeto tais como taxas de leitura,
execuo em tempo real, entre outras.

5.2.1 Anlise de Desempenho


Leitura dos Sensores
Foram realizados diversos experimentos para verificar a taxa mxima de leitura do
estado dos sensores via canal de udio no telefone celular com processador ARM. Com o
objetivo de medir os piores tempos de execuo, optou-se pela medida de desempenho de
reconhecimento de dgitos DTMF por segundo, j que o reconhecimento de tons nicos
mais eficiente.
A figura 5.6 ilustra um sistema usado especificamente para testar a leitura de sensores.
Um microcontrolador foi programado para gerar tons DTMF ou tons nicos de udio em
diferentes intervalos de tempo. Sua saida foi conectada aos dispositivos em teste, e os
tons gerados com diferentes intervalos. Os testes foram realizados vrias vezes at que se
observou perdas de dados.
Pelos testes feitos, no pior caso, o tempo de computao da FFT levou 17ms, resultando em um limite terico mximo de 58.8 FFTs por segundo. A Figura 5.7 mostra os
resultados experimentais do sistema rodando em trs dispositivos diferentes, que so: um
telefone celular HTC G1 com processador ARM de 528MHz, um tablet com processador
ARM de 1GHz e um netbook com processador x86 de 1GHz. Todos os testes foram
executados na plataforma Android.
A Figura 5.7 mostra que mesmo o dispositivo com menor poder computacional pode
manter uma taxa de reconhecimento de 40 dgitos DTMF por segundo sem perder nenhum
dgito transmitido. Existem vrias causas para a perda de pacotes apresentada no grfico
que se inicia em 40Hz. Uma das causas so as diferentes caractersticas do hardware
de captura de udio de cada dispositivo. Outra causa relacionada com o escalonador
de tarefas do sistema operacional Android (consequentemente do Linux), que pode no
apresentar um bom determinismo quando a carga de processamento da CPU elevada.
Como referncia comparativa, fizemos alguns testes de desempenho usando um kit

5.2. ASPECTOS TCNICOS

79

Lego Mindstorms NXT. Quando conectado a um computador ou smartphone via bluetooth, a taxa mxima de leitura de sensores de 20Hz, porm se vrios sensores so lidos,
esta taxa dividida pelo nmero de sensores. Por exemplo, um software que faz a leitura de dois encoders e de dois sensores de toque obtm uma taxa de leitura aproximada
de 5Hz por sensor. J quando o brick do NXT est conectado a um computador usando
cabo USB, a taxa mxima de leitura de sensores sobe para 166Hz. Dessa forma, se forem
usados dois encoders e dois sensores de toque, ento a taxa de leitura de cada sensor ser
de 41.5Hz, uma performance comparvel ao do sistema proposto neste trabalho, que de
40Hz para cada sensor.
100

Telefone
Tablet
Netbook

Perda de digitos (%)

80

60

40

20

0
0

10

20
30
40
50
60
Frequncia de leitura dos sensores (Hz)

70

80

Figura 5.7: Desempenho do sistema de reconhecimento de dgitos DTMF em diversos


dispositivos.
Como demonstrado, nos sistemas baseados em Android, possvel ler o estado de
sensores a 40Hz, e assim fechar malhas de controle. Assim, um dos exemplos implementados permite ao N-Bot receber um comando de movimentao e realizar determinado
deslocamento enquanto monitora seus sensores para desativar os motores quando a posio solicitada atingida.
Para o ambiente de programao sem o uso do celular, onde as FFT so calculadas
diretamente no navegador web do usurio, a performance obtida em um PC com sistema operacional Linux e processador de 1.6GHz, foi de cerca de 5ms, que oferece um
desempenho bastante superior quela obtida no sistema que executado nos dispositivos mveis com Android, contudo no foi possvel obter taxas de leitura de sensores
superiores a 4.9Hz. Para identificar o motivo desta baixa performance, vrias partes do
sistema foram testadas de forma isolada e notou-se que existe uma limitao na interface
de chamadas de funo entre elementos JavaScript de um navegador web e elementos em

80

CAPTULO 5. RESULTADOS

Flash/ActionScript. Enquanto o programa em JavaScript por si s pode executar at 40


mil instrues por segundo, o programa em Flash pode executar as FFTs de leitura de
sensores em 5ms. Mesmo assim, pela limitao na interface entre estes dois elementos,
a performance caiu para 4.9Hz. Esta limitao pode ser melhorada em trabalhos futuros
atrves de implementaes do sistema com novas tecnologias.
Temporizao e Gerao dos Tons DTMF
Para ajustar a velocidade de movimento dos motores interessante que o sistema possa
gerar um sinal de controle com uma determinada frequncia. Isso pode ser feito utilizando
laos que alternam entre a gerao de tons DTMF e a espera por um intervalo de tempo.
A funo de espera (delay) est disponvel e pode ser usada facilmente nos programas
para dispositivos baseados em Android. Contudo, no ambiente web que dispensa o uso
do telefone, foi necessrio adotar uma abordagem diferenciada.
No ADWN, o programa de controle do rob executado em JavaScript. Entretanto,
essa linguagem possui uma filosofia de programao baseada no uso de eventos assncronos, e no possui funes de espera. Ao tentar implementar uma funo desse tipo,
observamos que uma espera ocupada deixa todo o navegador bloqueado e sem resposta
at que a espera ocupada acabe, resultando em uma soluo indesejvel pela sua natureza
bloqueante.
A melhor soluo encontrada foi adaptar e integrar um framework para execuo de
threads em JavaScript [Maki 2007, Maki & Iwasaki 2007] ao nosso sistema, resultando
em um ambiente com possibilidades de programao paralela virtual onde blocos de cdigo so executados de forma paralela, mas sem o conhecimento do escalonador de tarefas
do sistema operacional nem o mapeamento para diversos processadores. Esse framework
divide um cdigo a ser executado em vrias partes, e agenda a execuo de cada uma
dessas partes usando a funo setTimeout da linguagem JavaScript. Tambm adicionamos uma funo que interrompe a execuo durante um intervalo de tempo solicitado.
Para tanto, essa funo tambm usa a chamada setTimeout para agendar a continuidade
da execuo do programa.
Com essa soluo, diversos trechos de cdigo podem ser implementados tanto de
forma textual quanto em blocos, e esses sero executados em paralelo de acordo o sistema de agendamento. Para validar o funcionamento do sistema, alguns testes foram
feitos em um computador com processador dual core AMD E-450 nos sistemas Linux
e Windows. O ambiente foi testado nos navegadores Mozilla Firefox 16.0.1 e Google
Chrome 22.0.1229.94.
A Figura 5.8 mostra um esquema do ambiente usado para realizar os testes no sistema.
Um computador foi preparado para gerar sequncias de dgitos DTMF com vrios intervalos de tempo. Este sinal conectado, via cabo de udio, ao decodificador de DTMF
em teste, e a sada deste decodificador conectada a um analisador lgico que tambm
conectado ao computador. Dessa forma, o computador pode gerar sequncias de dgitos DTMF em diferentes intervalos e monitorar quanto tempo leva para cada dgito ser
decodificado, bem como a taxa mxima de decoficiao obtida pelo conversor em testes.
Como mencionado, pretende-se gerar uma onda de forma quadrada que possibilite
controlar a velocidade dos motores. Para tanto, desejvel que o sistema possua compor-

5.2. ASPECTOS TCNICOS

81

Figura 5.8: Ambiente de testes para anlise desempenho da temporizao para gerao
de tons DTMF.
tamento de tempo real, exibindo determinismo ao gerar o sinal. Para realizar os testes, um
programa em blocos foi feito com o objetivo de gerar um sinal de udio atravs de tons
DTMF. Foram testadas diversas frequncias, e foi observado que os dois navegadores, nos
mesmos sistemas operacionais podem gerar sinais DTMF que alternam em at cerca de
6Hz.
A Figura 5.9 mostra os resultados dos testes em diversas situaes. Assim, o programa
em blocos foi ajustado para gerar frequncias de 1, 2, 3, 4, 5 e 6Hz, e o osciloscpio
analisou se o sinal gerado estava na frequncia esperada. Tanto o Firefox quanto o Chrome
foram analisados em uma situao normal, e com o sistema operacional configurado para
dar alta prioridade (AP) a essas tarefas, o que, teoricamente, facilitaria o cumprimento de
rotinas de temporizao com maior preciso.
Tambm foram feitos outros experimentos, fora do ambiente web ADWN, e observouse que todos os dispositivos testados podem gerar sinais de udio de at 11KHz com
grande estabilidade e preciso. O que reduz consideravelmente a frequncia final nos
pulsos obtidos na sada do circuito de controle de motores so a especificao de sinais do
tipo DTMF e o conversor de DTMF MT8870. Como o DTMF foi projetado para oferecer
robustez em linhas de transmisso ruidosas, sua especificao determina que um dgito
DTMF vlido deve ser composto do sinal DTMF de durao mnima de 45ms seguido
por um silncio inter-dgito de 40ms, totalizando 85ms [Durda 1995].
Mais uma vez notou-se que para o ADWN, a limitao na temporizao para gerar
tons DTMF est relacionada com a interface entre JavaScript e ActionScript, j que, assim
como na FFT, a gerao e captura de udio feita pelo mdulo em ActionScript que se
comunica com o mdulo em JavaScript, onde existe um limite de velocidade entre estes
dois subsistemas do ADWN.
Com 85ms por dgito, a mxima frequncia que pode ser gerada de 11.76Hz. Assim,
o limite na implementao e experimentos exibidos na Figura 5.9 tambm devido ao
tempo de propagao do sinal no decodificador de DTMF. Entretanto, observamos que
possvel utilizar tons DTMF com temporizaes abaixo do padro e obter sinais de at
50Hz na sada do decodificador de DTMF. Esse resultado foi obtido usando a ferramenta

CAPTULO 5. RESULTADOS

82

dtmfdial [Nahshon 1998], configurada para gerar uma sequncia DTMF com tempo de
10ms por dgito e de 10ms no intervalo inter-dgito. Para que o MT8870 suporte esses
tempos, necessrio mudar seu circuito, substituindo o resistor de ajuste de 300K por
um de 1K.
A Figura 5.9 mostra que em todas situaes analisadas, o desvio padro da frequncia
gerada no foi maior que 1Hz. No geral, o pior caso observado teve um desvio de 7%
entre a sada real e a frequncia configurada no software.
1
Firefox
Firefox (AP)
Chrome
Chrome (AP)

0.8

Desvio padro (Hz)

Desvio Padro (Hz)

0.6
0.4
0.2
0

Firefox
Firefox (AP)
Chrome
Chrome (AP)

0.8
0.6
0.4
0.2
0

2
3
4
5
Windows 7 Frequncia (Hz)

2
3
4
5
Linux Frequncia (Hz)

Figura 5.9: Desempenho dos navegadores Mozilla Firefox e Google Chrome para alternar
a gerao de tons DTMF tanto no Windows quanto no Linux (AP = Alta Prioridade).
Durante os testes, foram observados alguns fatos interessantes: primeiro, ao abrir
novas abas no navegador, o sinal gerado torna-se irregular e sua frequncia vai diminuindo
at atingir 0Hz enquanto o usurio visualiza outra aba. Ao voltar para a aba do N-Bot,
a frequncia especificada volta ao normal. Esse comportamento foi observado tanto no
Linux quanto no Windows em ambos os navegadores. Constatamos assim que enquanto
se visualiza outras abas (pginas), scripts JavaScript em execuo em qualquer outra aba
so negligenciados pelo navegador.
Nota-se que o navegador continua executando o JavaScript de outras abas, mas sem
determinismo ou previsibilidade. Assim, se durante a gerao de um sinal de 7Hz, o usurio seleciona outra aba do navegador, imediatamente a frequncia reduzida, de forma
indeterminada, para um valor entre 0Hz e 1Hz. Esse comportamento aceitvel no Firefox, onde todas as pginas, programas e scripts rodam no contexto de um nico processo
do sistema operacional. J o Google Chrome mapeia cada aba aberta para um processo
do sistema operacional, por isso, se esperava maior determinismo e confiabilidade usando
o Chrome. Em todos os casos, contudo, uma nova janela do navegador no interfere na
gerao de frequncia e performance do ambiente do N-Bot, permitindo que se navegue
na Internet enquanto o N-Bot controlado pelo mesmo navegador em uma janela dedicada. Finalmente, vale lembrar que esse comportamento repetiu-se em testes feitos com
diferentes prioridades do sistema operacional, at a mais alta do sistema (AP).
Notamos que os resultados apresentados no comprometem o funcionamento do sistema, e melhorias podem ser obtidas com modificaes de software, eletrnicas ou mecnicas.

5.2. ASPECTOS TCNICOS

83

Com relao ao sistema baseado em microcontrolador e descrito na Seo 4.2, alguns


testes tambm foram realizados usando um microcontrolador AtMega328, e foi obtida
uma taxa de envio de comandos de 10Hz, porm no foi feita nenhuma otimizao na implementao. Acreditamos que essa taxa seja adequada, j que os comandos s precisam
ser enviados para mudar estados de atuadores, como por exemplo: iniciar o movimento
de um motor, mudar sua velocidade, ou parar. Alm disso, o sistema tem a vantagem de
conectar o microcontrolador ao dispositivo de controle com baixo custo e simplicidade,
via udio, dispensando etapas de configurao e pareamento, como no caso de conexes
bluetooth, por exemplo.
Anlise de Desempenho de Processadores ARM
Como um dos focos desse trabalho o uso de dispositivos mveis que possuem processadores ARM para controle de robs, optou-se pela execuo de um estudo sistemtico
sobre o desempenho de processadores ARM em tarefas relacionadas ao Anwide e ao NBot, que so: a execuo de um servidor web, e clculos de ponto flutuante, j que a FFT
requer um extenso nmero de multiplicaes em ponto flutuante. Este trabalho, tambm
uma de nossas contribuies comunidade e foi publicado em veculo relevante [Aroca
& Gonalves 2012].
Um mito entre os desenvolvedores que processadores de sistemas embarcados podem no ter desempenho aceitvel para execuo de um servidor web ou para execuo
de tarefas com demanda de alto poder de processamento. Outro aspecto importante em
robtica a economia de energia, j que os robs so alimentados por bateria. O estudo
realizado inclui a comparao de desempenho absoluta e da eficincia energtica entre
processadores ARM e processadores x86, que equipam os PCs tradicionais. Essas duas
plataformas so bastante comuns em computadores de controle de robs.
Um ambiente de testes foi preparado para realizar os testes de performance dos processadores ARM. Este ambiente pode ser visto na Figura 5.10, e consiste no uso de uma
placa com processador ARM conectada um computador que gera dados de teste e coleta
dados de performance e uso de energia, alm de um multmetro digital com sada serial
RS-232 conectada diretamente ao PC, que coleta todos dados a cada um segundo. A Figura 5.11 mostra uma foto da placa PandaBoard, com um processador ARM Cortex-A9
durante os testes. Cada dado apresentado nos grficos de desempenho seguir consistem
em uma mdia de 30 valores coletados durante os testes. Alm disso, os testes de servidor
web foram realizados utilizando a ferramenta Apache Benchmark (ab).
A Figura 5.12 mostra a anlise de desempenho da execuo do servidor web Apache, um dos mais tradicionais, nas plataformas analisadas. Nota-se claramente que os
processadores ARM oferecem uma vantagem em relao ao nmero de requisies atendidas pelo gasto de energia. Alm disso, o desempenho absoluto totalmente aceitvel
no contexto do Anwide, que requer apenas alguns acessos HTTP por segundo.
A Figura 5.13 mostra o resultado da anlise de performance para execuo de clculos
em ponto flutuante, que foi feita utilizando a ferramenta linpack. Embora os processadores x86 ofeream desempenho absoluto maior, nota-se que os processadores ARM
tambm podem realizar alguns milhes de operaes de ponto flutuante por segundo, um
valor aceitvel para a execuo das FFTs necessrias no sistema Anwide.

CAPTULO 5. RESULTADOS

84

Figura 5.10: Esquema de teste dos proessadores ARM.

5.3 Aspectos Educacionais


Apesar de no ser o foco principal da nossa proposta, procuramos sempre nos guiar
por aspectos educacionais, relatados nesta Seo. Foram realizadas pesquisas com alunos
no contexto de vrias disciplinas do ensino superior e feitas anlises qualitativas e quantitativas, bem como categorias foram estabelecidas visando prover melhor verificao de
viabilidade e de confiabilidade para nossa proposta.

5.3.1 Uso em Sala de Aula


Pesquisas foram realizadas com diversos alunos sobre seus interesses em robtica
antes e depois de conhecer a possibilidade de construir um rob didtico de baixssimo
custo. Para tanto, uma aula foi ministrada apresentando aos alunos a ideia do CellBot: um
rob controlado por um celular.
Materiais e Mtodos
Primeiro, um questionrio annimo foi aplicado em todos os alunos que participaram
da pesquisa para levantar suas concepes e interesses em robtica, bem como para obter
informaes sobre seus telefones celulares. Algumas semanas depois, eles assistiram
a uma aula especial sobre Como construir seu prprio rob de baixo custo usando um
celular como seu crebro. Desde ento, as interaes e retornos dos alunos passaram a
ser documentadas e posteriormente, um questionrio foi aplicado para verificar se houve

5.3. ASPECTOS EDUCACIONAIS

85

Figura 5.11: Foto com o ambiente de teste de performance dos proessadores ARM.
alguma mudana na opinio desses alunos, ou em seus nveis de motivao. Com idade
mdia de 21 anos, 204 alunos matriculados em cursos de graduao distintos de quatro
universidades brasileiras responderam pesquisa. Os questionrios aplicados encontramse no apndice A.
Questionrio Prvio
Os resultados do questionrio prvio mostram que 41.5% de todos os alunos preferem
usar um kit didtico disponvel apenas em laboratrio da universidade ao invs de comprar
ou construir seu prprio rob. Dos 58.5% restantes, 78% preferem construir seu prprio
rob, e 22% comprar um kit pronto para usar. Alm disso, 23% desses alunos disseram
que no gastariam nenhum dinheiro em um rob ou kit didtico, 13% gastariam 25 dlares
ou menos, 27% gastariam at 50 dlares, 18% gastariam at 125 dlares e 19% gastariam
125 dlares ou mais.
Apenas 1% dos estudantes no possuem telefone celular. Dos que o possuem, 27%
compraram seus telefones nos ltimos seis meses, 32% no ltimo ano, 21% nos ltimos
dois anos e 19% nos ltimos quatro anos. Com relao aos recursos tcnicos dos telefones
desses alunos, 68% possuem cmeras, 32% possuem receptores de GPS, 27% possuem
acelermetro, 47% possuem conexo wifi, 68% possuem bluetooth e 94% possuem conexo para fones de ouvido externos, que podem ser usados para conectar o N-Bot.
Questionrio Posterior
O questionrio posterior foi aplicado para verificar se alguma opinio dos alunos mudou aps eles assistirem a aula de robtica de baixo custo usando celulares. Da amostra

CAPTULO 5. RESULTADOS

86

ARM Cortex A8
Turion

ARM Cortex A9 (2 ncleos)


ARM Cortex A9 (1 ncleo)

Atom (1 thread)
Atom (2 threads)

70

Latncia (ms)

Temperatura (C)

60
50
40
30
20
10
0

200

400

600

800

Requisies por segundo

Uso de energia (W)

200

400

600

800

1000

200

400

600

800

1000

200
400
600
800
Clientes simultneos

1000

8000

50
40
30
20
10
0

7000
6000
5000
4000
3000
2000
1000
0

200

400

600

800

1000

100
90
80
70
60
50
40
30
20
10
0

350
Requisies HTTP/s/W

Uso de CPU (%)

2000
1800
1600
1400
1200
1000
800
600
400
200
0

1000

60

Xeon (4 ncleos)
Xeon (1 ncleo)

300
250
200
150
100
50
0

200
400
600
800
Clientes simultneos

1000

Figura 5.12: Resultados da performance absoluta e energtica da execuo de um servidor


web Apache em vrias plataformas mediante diversas condies de uso.

5.3. ASPECTOS EDUCACIONAIS

87

80

4000
3500

70

3000

65

2500

MFlops

Temperatura (C)

75

60
55

2000

50

1500

45

1000

40

500

35

0
500

1000

1500

2000

2500

80

70

70

60
MFlops por Watt

Uso de energia (W)

60
50
40
30
20

500

500

1000

1500

2000

2500

1000 1500 2000


Tamanho da matriz

2500

50
40
30
20
10

10

0
0

500

1000

1500

2000

2500

100

Uso da CPU (%)

90

1GHz ARM Cortex A9 (1 ncleo)


1GHz ARM Cortex A8 (1 ncleo)
800MHz Turion (1 ncleo)
2.2GHz Turion (1 ncleo)
1GHz Atom (1 ncleo)
1.67GHz Atom (1 ncleo)
1.1GHz Xeon (1 ncleo)
2.67GHz Xeon (1 ncleo)

80
70
60
50
40
0

500

1000 1500 2000


Tamanho da matriz

2500

Figura 5.13: Resultados da anlise de performance de ponto flutuante em diversos cenrios de uso.

CAPTULO 5. RESULTADOS

88

100

Questionrio prvio (novatos)


Questionrio final (novatos)
Questionrio prvio (seniores)
Questionrio final (seniores)

80

60

40

20

0
Usar Kit da
Universidade

Comprar
Kit

Construir
o Rob

Figura 5.14: Interesse dos estudantes em construir um rob ou adquirir um kit de prateleira.
de 204 alunos, 83% disseram que seria mais interessante o aprendizado de vrios assuntos usando um CellBot (para essa populao, a estimativa da mdia est entre 76% e 89%
com nvel de confiana de 95%).
Enquanto na pesquisa prvia, 58.5% dos alunos disseram que preferem possuir seu
prprio rob, este nmero aumentou para 71% no questionrio posterior, mostrando que
o CellBot aumentou o interesse geral dos alunos (para a populao, a estimativa da mdia
est entre 64% e 77% com nvel de confiana de 95%).
A Figura 5.14 mostra o nvel de interesse dos estudantes em construir seus prprios
robs antes e depois da aula. Os resultados so apresentados em duas categorias: novatos, que so alunos que entraram na universidade em 2010 ou 2011; e seniores, que so
alunos que entraram na universidade em 2007. A Figura mostra que os alunos novatos
tiveram opinies divididas, provavelmente porque eles no sabiam quais opes estavam
disponveis, enquanto alunos seniores estavam mais inclinados a usar kits j disponveis
na universidade. A Figura 5.14 tambm mostra que depois de conhecer a possibilidade
dos CellBots, muitos estudantes dos dois grupos migraram para a opo de construir seus
prprios robs. Uma mudana interessante foi observada em uma turma de Cincia da
Computao, onde o interesse dos alunos em construir robs subiu de 0% para 59%.
Como mostrado na Figura 5.15, depois da aula de robtica, a quantia de alunos dispostos a investir seu dinheiro para construir robs subiu. interessante notar que o pico
ocorre em um valor prximo quele do rob de baixo custo descrito para os alunos.

5.3. ASPECTOS EDUCACIONAIS

50

89

Questionrio prvio
Questionrio final

40

30

20

10

0
0

25

50
100
Dlares

125

Mais
de 125

Figura 5.15: Distribuio de quanto os alunos esto dispostos em gastar para construir
seus prprios robs (valores em dlares americanos).
Os questionrios tambm investigaram os interesses dos alunos em cursos de graduao antes e depois da aula sobre CellBots. Com exceo do curso de processamento
digital de sinais (PDS), nenhuma diferena significativa foi observada entre o interesse
dos alunos em cursar certas disciplinas antes e depois da aula. No caso do curso de
processamento digital de sinais, o interesse dos alunos novatos subiu de 83% para 95%.
Claramente esta mudana ocorreu devido a aula ter enfatizado a importncia das tcnicas
de PDS para construo do CellBot.
A Figura 5.16 mostra o interesse dos alunos em vrios aspectos de um rob de baixo
custo. Como o questionrio foi aplicado vrias semanas aps a aula, alguns alunos j
estavam montando seus robs (cerca de 8%). Como mostrado na Figura 5.16, a maioria dos alunos interessou-se pelo projeto e pretende construir seu rob. Aparentemente,
estudantes seniores tambm estavam interessados no projeto, porm menos interessados
em construir seus robs, j que eles esto se aproximando de sua graduao e procurando outros desafios e oportunidades aps a graduao. Alm disso, para esses alunos,
existem menos conceitos para aprender e desafios para vencer na construo do rob. A
Figura 5.16 tambm mostra os assuntos que mais interessam aos alunos sobre aspectos de
desenvolvimento do rob.
interessante observar as mudanas que ocorreram na opinio dos estudantes aps
uma nica aula de cerca de 40 minutos descrevendo as opes de robtica de baixo custo.
Acreditamos que a motivao e interesse poderiam ser ainda maiores se robs de baixo

CAPTULO 5. RESULTADOS

90

100
80
60
40
20
0

Novatos
Seniores

e
ar
ftw
so
de
to
en ica
im
lv rn
vo let
en e
es m co
D age ni ca
i
t
tr
n
on ele c
ir
e
M
o
ru
m
et
st
oj m c o
on
Pr ge ni
ic
ta ec e
va
on
ss
M o m re o
et inte s n
oj
a
Pr m m
te o, ir
d ru
o
N ssa nst
re co o
te
In nde ind
e
ru
et st
Pr con
t
Es
Figura 5.16: Interesses relatados pelos alunos sobre o CellBot.
custo que podem ser levados para casa fossem usados mais amplamente como ferramenta
para aprender e testar conceitos de diversos cursos.
Os robs de baixo custo, como o CellBot e o N-Bot, podem ser aplicados em diversos
cursos, incluindo disciplinas que no so diretamente relacionadas com robtica, como
por exemplo, programao web para implementar sistemas de controle de robs via Internet, clculo para utilizar os conceitos e definies bsicos de controle em malha fechada,
como o PID (Proporcional-Integral-Derivativo), lgebra Linear para construir matrizes
de transformao homogneas para calcular a cinemtica do rob, dentre muitos outros.
Anlise Qualitativa
O ltimo questionrio deu aos alunos a oportunidade de deixar comentrios escritos,
alguns dos quais so replicados aqui. Alm disso, alguns comentrios e desdobramentos
daquela nica aula foram surpreendentes: por exemplo, em uma das universidades, os
alunos pediram para que um curso regular de robtica passasse a ser oferecido no curriculum de Cincia de Computao deles (aquela universidade no tinha nenhuma disciplina
de robtica at ento), sendo que a coordenao gostou da ideia e criou o novo curso.
Um resultado recompensador foi observado com estudantes que decidiram construir
seus robs. Por exemplo, um grupo de estudantes construiu um rob funcional em cerca
de duas horas, sendo que essa foi a primeira vez que eles usaram um ferro de solda.
Alguns estudantes solicitaram que cursos ou minicursos de CellBots fossem ministrados. Um dos alunos deixou o seguinte comentrio: o conceito de robtica deveria ser
adicionado a cursos de graduao, visto que esse tpico causa grande curiosidade e interesse. Outro estudante comentou: essas iniciativas deveriam ser publicadas e divulgadas

5.3. ASPECTOS EDUCACIONAIS

91

mais amplamente porque muito interessante e essencial para alunos de graduao.


Diversos alunos afirmaram que a robtica deveria ser mais estudada nas universidades,
e que o CellBot uma boa opo por ser fcil de montar e poder ser usado em disciplinas
para aprender tcnicas bsicas de construo de robs.

5.3.2

Oficina de Robtica de Baixo Custo

Mais recentemente, tivemos a oportunidade de ministrar dois minicursos de robtica


de baixo custo. Um deles, no formato de uma oficina, ocorreu durante o X SINEC (Seminrio de Informtica e Engenharia de Computao), que foi realizado na UFRN. Nessa
oficina, o valor da taxa de inscrio no evento foi usado para comprar peas e montar kits
que foram fornecidos como brinde a cada aluno da oficina, permitindo que eles construssem seus robs durante o evento. Aps a oficina, algumas perguntas foram feitas para
para avaliar a qualidade do minicurso. Essas perguntas encontram-se no apndice A.
A oficina teve durao de 4,5 horas, sendo que os primeiros 60 minutos foram dedicados a uma apresentao do N-Bot e dicas de montagem. O restante do tempo foi usado
para montagem dos robs, sendo que alm do palestrante, mais quatro monitores estavam
disponveis para ajudar e tirar dvidas de montagem. Para economizar tempo, as placas
de circuito impresso foram parcialmente montadas, restando alguns componentes para os
alunos soldarem durante a oficina.
Cerca de metade dos 25 alunos que participaram da oficina conseguiu terminar a montagem do rob (sem a fixao das rodas) durante a oficina. Todos participantes foram
convidados a responder um breve questionrio sobre a oficina, sendo que doze alunos
responderam esse questionrio.
Entre os doze alunos que responderam a pesquisa, 83% afirmaram que no achavam
possvel construir um rob por R$50,00; Com relao ao tempo do minicurso, 75% dos
alunos acharam que a durao foi curta. Alm disso, 92% dos alunos disseram que recomendariam o minicurso para outro colega.
Sobre a finalizao da montagem, 42% dos alunos nunca tinham montado algum circuito anteriormente e 75% dos alunos no conseguiram terminar a montagem durante o
minicurso. interessante o fato de que entre os participantes que j tinham montado algum circuito antes, 50% terminaram a montagem do rob, e os outros 50% montaram
76% do rob (em mdia). J, dos alunos que nunca tinham montado um circuito antes,
apenas 14% terminaram a montagem, mas afirmaram que completaram 73% da montagem (mdia). Esses dados indicam, que de fato, como apontado pelos alunos, a durao
do minicurso foi muito curta.
Ainda nessa pesquisa, 100% dos alunos acreditam que seria interessante usar o NBot em aulas de graduao; 50% dos alunos consideraram o minicurso Muito bom, 33%
consideram Bom e 17% Regular (nenhum aluno achou que foi Ruim ou Muito ruim).
A maior crtica dos alunos foi sobre o tempo do minicurso, e o tempo gasto na soldagem dos componentes, deixando pouco, ou nenhum tempo para os outros testes do
rob.

92

CAPTULO 5. RESULTADOS

5.3.3 Possveis Usos


Este trabalho apresenta vrias solues de hardware e software para uso em ambientes
educacionais, sendo que notamos que algumas solues so mais adequadas para determinados nveis de ensino, e assim propomos indicaes de uso das diferentes tcnicas
apresentadas para diferentes ambientes de ensino.
A verso com microcontrolador, por exemplo, uma alternativa interessante para alunos de universidades, j que comum estes alunos j possurem noes de programao,
bem como de microcontroladores. Notamos, porm, que em alguns cursos tcnicos de
eletrnica ou eletro-tcnica, os alunos s aprendem noes de microcontroladores e programao no final do curso, dificultanto o uso e construo do N-Bot. Dessa forma,
a opo sem microcontrolador torna-se interessante como uma etapa inicial, j que no
requer do aluno qualquer conhecimento de programao ou microcontroladores, mas apenas a capacidade de construir o circuito e o rob em si. Esta verso do rob tambm pode
ser til para calouros de universidades que ainda no tenham noo de programao nem
de microcontroladores.
Nesta verso, ainda, o aluno pode escolher entre um circuito para controlar motores
DC ou servos, possibilitando reaproveitamento de motores, brinquedos, ou mesmo o uso
de material novo.
Com ambas as verses possvel explorar contedos didticos de forma abrangente,
como redes de computadores, sistemas operacionais, controle, robtica, lgebra linear,
programao de computadores, algoritmos, programao web, viso computacional, eletrnica analgica, eletrnica digital, processamento de sinais, dentre outras.
Finalmente, o software Anwide pode ser usado de forma complementar a outras plataformas robticas j presentes em determinada instituio para facilitar a sua programao
e explorao pelos alunos, como j foi mostrado neste captulo o exemplo de controle de
um Lego Mindstorms pelo Anwide. Esta abordagem une o melhor de dois mundos, j que
oferece a flexibilidade e facilidade de programao remota do Anwide unido aos sensores
e atuadores dos kits Lego NXT.

Captulo 6
Concluso e Perspectivas

Stay hungry, stay foolish.


The Whole Earth Catalog

Formalmente, podemos concluir que a tese que foi defendida neste texto a de que
possvel desenvolver robs de baixssimo custo com material comercialmente disponvel
(conseguimos propor e desenvolver um rob cujo custo menor que 14 dlares). Suplementamos esse rob com uma arquitetura de controle via canal de udio, bem como com
ambientes de programao simplificados visando que ele seja acessvel ao pblico mais
diverso, incluindo alunos desde o ensino fundamental e mdio, at o ensino superior, bem
como, possivelmente, o pblico leigo.
Para demonstrar esta tese, propomos neste trabalho uma abordagem totalmente nova,
incluindo arquitetura de hardware e software, alm de uma nova tcnica de controle, que
pode ser empregada no desenvolvimento de robs de baixssimo custo. A tcnica de
controle proposta simples, porm universal, permitindo a construo de circuitos de
acionamento de atuadores e leitura de sensores em robs utilizando canais de udio. Com
isso, o ciclo de controle pode ser fechado e sistemas de controle operando em malha
fechada, essenciais para desenvolvimento de pesquisas e outras atividades em robtica,
podem ser desenvolvidas sobre nossa proposta.
Na arquitetura proposta, diversos tipos de dispositivos podem ser usados como unidade de controle da plataforma apresentada, permitindo o controle em malha fechada.
Alm disso, a unidade de controle pode ser facilmente trocada, j que basta conectar um
cabo de udio, sem a necessidade de ajustes, configuraes ou a instalao de drivers de
dispositivos. O desempenho do sistema, como um todo, incluindo o tempo de cada ciclo
de controle, permite execuo de tarefas em tempo real. A arquitetura mostrou-se eficaz quando implementada no sistema Android, mas funciona tambm em outros sistemas
operacionais convencionais (Windows/Linux) e usando diversas linguagens de programao.
Entre as vrias aplicaes do sistema proposto, destaca-se seu uso para construo de
um rob educacional de baixssimo custo, o N-Bot. No contexto do N-Bot, ainda como
uma contribuio nossa, este trabalho tambm contempla a proposta e implementao de
dois ambientes de programao de robs via web, dispensando a necessidade de instalao de qualquer software na estao de desenvolvimento. Um dos ambientes baseado

94

CAPTULO 6. CONCLUSO E PERSPECTIVAS

em um servidor web que executa em um dispositivo mvel, como um tablet ou um telefone celular, e o outro consiste de uma pgina web que pode ser acessada a partir de
qualquer computador que possua um navegador web.
Tambm como uma contribuio do trabalho desenvolvido, inclumos uma verificao
emprica, com a aplicao e avaliao do uso das tcnicas descritas aqui junto a diversos
alunos, mostrando que o uso de robs, especialmente de baixssimo custo, aumenta o
interesse e motivao dos alunos em participar de atividades de construo, projeto e desenvolvimento de software para robtica. Esses fatores podem ser usados para aumentar
o interesse dos alunos em participarem de aulas e em estudar conceitos apresentados no
curso de graduao, que sem um contexto ou aplicao, podem parecer menos interessantes.
Outro aspecto interessante observado experimentalmente que a maioria dos alunos
que participaram do estudo se mostraram interessados em construir seus prprios robs,
e aps saber da possibilidade de construir robs com baixo custo, eles disseram estar
dispostos a gastar o prprio dinheiro para investir em tal ferramenta didtica. Tambm foi
observado que pelo menos metade dos alunos possuem telefones celulares com recursos
e sensores sofisticados o suficiente para construir robs com alto poder computacional
e sensorial. Alm disso, 71% dos alunos ficaram interessados em possuir seus prprios
robs, e 83% dos alunos disseram que o uso de um rob de baixo custo tornaria mais fcil
o estudo de vrias disciplinas.
Como citado no texto, para construo artesanal, em pequena escala, o custo do NBot de cerca de US$ 14,00, mas podendo ser reduzido para menos de dez dlares por
unidade caso se adquira os componentes em escala maior.
Outro aspecto que consideramos importante, o reaproveitamento de telefones celulares como base de uma plataforma robtica, especialmente no Brasil, que em Maio de
2012 tinha aproximadamente 255 milhes de celulares [Teleco 2012a] (1,3 celulares para
cada habitante [Teleco 2012a]). Alm disso, o telefone celular, o segundo equipamento
eletrnico mais presente na vida de nossa populao. Assim, uma pesquisa feita em 2010,
que incluiu reas rurais, mostrou que 95% dos lares possuem televiso, seguido de 83%
que possuem celulares. J os lares com microcomputador so apenas 38% [Teleco 2012b].
Alm disso, outra pesquisa mostra que 77% das famlias que ganham menos de 10 salrios mnimos possuem celulares. Para as pessoas que ganham mais que 10 salrios, este
nmero superior a 97% [Teleco 2011].

6.1 Contribuies
As contribuies principais da tese so a arquitetura de hardware e software [Aroca,
Burlamaqui & Gonalves 2012] e a nova tcnica de controle, usando udio, que podem
ser empregadas no desenvolvimento de robs de baixssimo custo. Alm disso, podemos citar tambm como contribuio a interface de software, incluindo os ambientes de
controle e programao do rob [Aroca, Guardiman & Gonalves 2012, Aroca, Pitta,
Burlamaqui & Gonalves 2012c], desenvolvidos, que usam um novo paradigma de programao de robs via web. Esses ambientes podem ser implementados usando celular,
tablet, computador, entre outros dispositivos.

6.2. TRABALHOS FUTUROS

95

Ainda entre as contribuies resultantes deste trabalho, ressaltamos o desenvolvimento do N-Bot, que foi premiado em concurso internacional relevante para o desenvolvimento de robs educativos de baixssimo custo, o AFRON 10-dollar robot design
challenge. O N-Bot tem o projeto e software abertos e gratuitamente disponveis no stio web do laboratrio NatalNet [Aroca, Pitta, Burlamaqui & Gonalves 2012a]. Como
meio de atestar e disseminar nossas contribuies cientficas comunidade, diversos artigos foram publicados em assuntos relacionados ao N-Bot, sendo trs dos trabalhos em
reconhecidas revistas de primeira linha [Aroca, Burlamaqui & Gonalves 2012, Aroca,
Gomes, Tavares, Souza, Burlamaqui, Caurin & Gonalves 2012, Aroca & Gonalves
2012]. Tivemos tambm uma patente sobre controle em malha fechada de dispositivos
mecatrnicos usando canais de udio depositada junto ao INPI [Aroca et al. 2011], bem
como vrios outros trabalhos relacionados ao tema da nossa tese [Aroca, Guardiman &
Gonalves 2012, Aroca, de Oliveira & Gonalves 2012, Jnior et al. 2012, Aroca, Pitta,
Burlamaqui & Gonalves 2012c].

6.2

Trabalhos Futuros

Existem muitos trabalhos planejados para dar continuidade ao N-Bot, dentre os quais
destacamos alguns aqui.
Para o ensino mdio e fundamental, pretende-se desenvolver e adaptar os ambientes
de programao do N-Bot e do rob em si, se necessrio, para aplicao com crianas e
adolescentes. Neste caso, a ideia principal que a construo do rob deve ser facilitada,
de modo que trabalhos manuais com ferro de solda e cortes com alicates sero evitados
de serem executados pelas crianas. Alm disso, espera-se estabelecer parcerias com
escolas e operadoras de telefonia celular, que poderiam doar celulares usados para os
alunos construrem seus robs.
Tambm vemos vrias possibilidades a serem exploradas no campo da pesquisa, tal
como a implementao de sistemas de localizao e mapeamento (SLAM) e de odometria visual para oferecer aos usurios do N-Bot uma forma simples de executar tarefas de
deslocamento entre dois pontos de um mapa. Pode-se ainda explorar a integrao com
servios de robtica nas nuvens para o rob utilizar recursos externos e algoritmos complexos de reconhecimento de padres, alm da possibilidade de integrar o N-Bot com o
ROS, possibilitando o desenvolvimento de pesquisas em robtica usando uma plataforma
de baixo custo.
Outros trabalhos futuros podem envolver diversas melhorias e otimizaes do sistema
proposto neste trabalho, tal como otimizaes mecnicas, eletrnicas e de software para
controle mais suave e preciso dos motores. Tambm podem ser implementados algoritmos
de filtragem e processamento de sinais para filtrar harmnicas e rudos do sinal de udio
e estimar com preciso a posio das rodas do rob. Finalmente, realizar outras anlises
dos limites do sistema par controle em malha fechada, bem como a resposta do sistema
em diferentes frequncias.

96

CAPTULO 6. CONCLUSO E PERSPECTIVAS

Referncias Bibliogrficas

Ahlgren, D.J. (2002), Meeting educational objectives and outcomes through robotics education, em Automation Congress, 2002 Proceedings of the 5th Biannual World,
Vol. 14, pp. 395 404.
Ahn, Ho Seok, In-Kyu Sa & Jin Young Choi (2009), Pda-based mobile robot system with
remote monitoring for home environment, Consumer Electronics, IEEE Transactions on 55(3), 1487 1495.
Alemany, Jaime & Enric Cervera (2012), Appealing robots as a means to increase enrollment rates: a case study, em Anais da 3a. conferncia Internacional de Robtica na
Educao. 13-15 de Setembro. Praga, Repblica Tcheca., pp. 1519.
Alifragis, M., A. Mantelos & C.S. Tzafestas (2008), Web-based remote and virtual programming console of the v+ robotic system, em Industrial Electronics, 2008. IECON 2008. 34th Annual Conference of IEEE, pp. 3551 3555.
Alves, S, Humberto Ferasoli Filho, Rene Pegoraro, M. Caldeira, J. Rosrio & W. Yonezawa (2011a), Educational environment for robotic applications in engineering,
Research and Education in Robotics-EUROBOT 2011 pp. 1728.
Alves, S., Humberto Ferasoli Filho, Rene Pegoraro, M. Caldeira, J. Rosario & W. Yonezawa (2011b), Proposal of educational environments with mobile robots, em IEEE
Conference on Robotics, Automation and Mechatronics (RAM), pp. 264269.
Angonese, Alberto Torres, Paulo Fernando Ferreira Rosa & Stefano Henrique Rodrigues
(2012), Projeto de integrao engenharia-escola para competies de robtica, em
Anais do Workshop de Robtica Educacional (Latin American Robotics Symposium / Simpsio Brasileiro de Robtica). Fortaleza. ISSN 978-85-7669-261-4.
Aroca, Rafael V., Antnio Pricles de Oliveira & Luiz Marcos Garcia Gonalves (2012),
Towards smarter robots with smartphones, em Robocontrol: Proceedings of 5th
workshop in applied robotics and automation, pp. 16.
Aroca, Rafael V., Aquiles F. Burlamaqui & Luiz M. G. Gonalves (2011), Sistema para
controle em malha fechada de equipamentos mecatrnicos por meio do canal de
udio de dispositivos mveis, Patente Brasileira nmero PI-1107288-1. Data de
prioridade: 30 de Novembro de 2011.
97

98

REFERNCIAS BIBLIOGRFICAS

Aroca, Rafael V., Aquiles F. Burlamaqui & Luiz Marcos Garcia Gonalves (2012),
Method for reading sensors and controlling actuators using audio interfaces of mobile devices, Sensors 12(2), 15721593.
URL: http://www.mdpi.com/1424-8220/12/2/1572/
Aroca, Rafael V. & Luiz Marcos Garcia Gonalves (2012), Towards green data centers:
A comparison of x86 and arm architectures power efficiency, J. Parallel Distrib.
Comput. 72(12), 17701780.
URL: http://dx.doi.org/10.1016/j.jpdc.2012.08.005
Aroca, Rafael V., Rafael Gomes, Dalton Tavares, Anderson Souza, Aquiles Burlamaqui,
Glauco Caurin & Luiz Gonalves (2012), Increasing students interest with lowcost cellbots, Education, IEEE Transactions on PP(99), 1.
Aroca, Rafael V., Renata Pitta, Aquiles Burlamaqui & Luiz Marcos Garcia Gonalves
(2012a), N-bot: A low cost educational robot, On-Line. Acesso em Out/2012.
Disponvel em: http://www.natalnet.br/~aroca/afron/.
Aroca, Rafael V., Renata Pitta, Aquiles Burlamaqui & Luiz Marcos Garcia Gonalves
(2012b), N-bot on the media, On-Line. Acesso em Out/2012. Disponvel em:
http://www.natalnet.br/~aroca/afron/media.html.
Aroca, Rafael V., Renata Pitta, Aquiles Burlamaqui & Luiz Marcos Garcia Gonalves
(2012c), Um rob por aluno: uma realidade possvel, em Anais do Workshop de
Robtica Educacional (Latin American Robotics Symposium / Simpsio Brasileiro
de Robtica). Fortaleza. ISSN 978-85-7669-261-4.
Aroca, Rafael V., Renato Q. Guardiman & Luiz Marcos Garcia Gonalves (2012), Webbased robot programming environment and control architecture, em Latin American
Robotics Symposium / Simpsio Brasileiro de Robtica.
Barros, Renata Pitta (2008), Roboeduc- uma ferramenta para programao de robs
lego, On-Line. Acesso em Out/2012. Disponvel em: http://www.dca.ufrn.br/
~renata/Artigos/Monografia_\%20Renata.pdf.
Belousov, Igor R., Ryad Chellali & Gordon Clapworthy (2001), Virtual reality tools for
internet robotics, em ICRA, IEEE, pp. 18781883.
Bieniek, Grgori Betiato, Luana Tortelli, Mirian Ctia Zarpelon, Anibal Lopes Guedes,
Rodrigo Saballa de Carvalho & Fernanda Lopes Guedes (2012), Robtica como alternativa nos processos educativos da educao infantil e dos anos iniciais do ensino
fundamental, em Anais do Workshop de Robtica Educacional (Latin American
Robotics Symposium / Simpsio Brasileiro de Robtica). Fortaleza. ISSN 978-857669-261-4.
Botelho, Silvia S. C., Lilian G. Braz & Ricardo N. Rodrigues (2012), Exploring creativity
and sociability with an accessible educational robotic kit, em Anais da 3a. conferncia Internacional de Robtica na Educao. 13-15 de Setembro. Praga, Repblica
Tcheca., pp. 5560.

REFERNCIAS BIBLIOGRFICAS

99

Carter, John (2011), Robophone, On-Line. Jelly Robotics. Acesso em Mar/2012. Disponvel em: http://www.jellyrobotics.com/2011/12/17/robophone/.
CellBots (2011), Cellbots: Using cellphones as robotic control platforms, On-Line. Access date: March 09 2012. URL: http://www.cellbots.com.
Chella, Marco Tlio (2012), Simrob: simulador para robtica com propsito educacional, em Anais do Workshop de Robtica Educacional (Latin American Robotics
Symposium / Simpsio Brasileiro de Robtica). Fortaleza. ISSN 978-85-7669-2614.
Chitode, J.S. (2008), Digital Signal Processing, 2nda edio, Technical Publicactions
Pune: Pune, India.
Cho, Yun Chan & Jae Wook Jeon (2008), Remote robot control system based on dtmf of
mobile phone, em Industrial Informatics, 2008. INDIN 2008. 6th IEEE International Conference on, pp. 1441 1446.
Conrad, J.M. (2005), Stiquito for robotics and embedded systems education, Computer
38(6), 7781.
da Silva, Alexandre J. B. & Eliana da Silva Almeida (2012), Integrao de mltiplas
plataformas robticas no ensino fundamental e mdio, em Anais do Workshop de
Robtica Educacional (Latin American Robotics Symposium / Simpsio Brasileiro
de Robtica). Fortaleza. ISSN 978-85-7669-261-4.
Dalmazo, Luiza (2012), A mente brilhante de paulo blikstein, On-Line. Revista Exame de 25/Jan/2012. Edio 1008. Acesso em Nov/2012. Disponvel em: http://exame.abril.com.br/revista-exame/edicoes/1008/
noticias/a-mente-brilhante-de-paulo-blikstein.
Darrell, Dammit (2010a), Exciting discovery, servo control using only audio,
On-Line. Publicado em Mai/2010. Grupo de discusso CellBots. Acesso em
Nov/2012. Disponvel em: https://groups.google.com/forum/?fromgroups=
#!msg/cellbots/2BgBjZzBTkE/3cKU0sKmJLsJ.
Darrell, Dammit (2010b), How the trrstan kit works, On-Line. Acesso em
Nov/2012. Disponvel em:
http://www.cellbots.com/uncategorized/
how-the-trrstan-kit-works.
Davidson, D.M., D.C. Yates, B. Marks & F. Rumsey (1999), Distribution of audio signals.
In Audio Engineers Reference Book, 2nda edio, Focal Press: Woburn, MA, USA.
de Lima S, Sarah Thomaz (2011), H-educ: Um hardware de baixo custo para
a robtica educacional, Trabalho de Concluso de Curso. On-Line. Acesso
em Out/2012. Disponvel em: http://www.dca.ufrn.br/~renata/Artigos/
Monografia_Sarah.pdf.

100

REFERNCIAS BIBLIOGRFICAS

de Molengraft, Ren, van, Michael Beetz & Toshio Fukuda (2011), A special issue
toward a www for robots [from the guest editors], Robotics Automation Magazine,
IEEE 18(2), 20.
de Santana Souza, Anderson Abner & Luiz Marcos Garcia Gonalves (2012), 2.5dimensional grid mapping from stereo vision for robotic navigation, em Latin American Robotics Symposium / Simpsio Brasileiro de Robtica.

DealExtreme (2012), iphone / android controlled rechargeable 3.5-ch r/c helicopter w/ 300kp camera - black (tf slot), On-Line. Publicado em
Abr/2012. Acesso em Nov/2012. Disponvel em:
http://dx.com/p/
iphone-android-controlled-rechargeable-3-5-ch-r-c-helicopter-w-300kp-camera-black-tf
rt=1&p=2&m=3&r=2&k=1&t=1&s=139540&u=129184.
Dinh, Huan & T. Inanc (2009), Low cost mobile robotics experiment with camera and
sonar sensors, em American Control Conference, 2009. ACC 09., pp. 3793 3798.
Dipietro, L., A.M. Sabatini & P. Dario (2008), A survey of glove-based systems and their
applications, Systems, Man, and Cybernetics, Part C: Applications and Reviews,
IEEE Transactions on 38(4), 461 482.
do Nascimento, Cynthia Vasconcellos, Luiz Marcos G. Gonalves & Anderson A. S.
Souza (2012), Closing the loop: Towards a robotic system based on sun spot architectuire, em Robocontrol: Proceedings of 5th workshop in applied robotics and
automation, pp. 17.
Durda, Frank (1995), Dual tone multi-frequency (touch-tone) reference, On-Line.
Publicado em 1995. Acesso em Nov/2012. Disponvel em: http://nemesis.
lonestar.org/reference/telecom/signaling/dtmf.html.
Fernandes, Carla C., Sarah T. S & Luiz Marcos G. Gonalves (2012), Uma nova abordagem em robtica educacional utilizando simuladores e kits de robtica livre, em
Anais do Workshop de Robtica Educacional (Latin American Robotics Symposium / Simpsio Brasileiro de Robtica). Fortaleza. ISSN 978-85-7669-261-4.
Fernandez, J. & A. Casals (2004), Open laboratory for robotics education, em Robotics
and Automation, 2004. Proceedings. ICRA 04. 2004 IEEE International Conference on, Vol. 2, pp. 1837 1842 Vol.2.
Ferrill, Paul (2011), Pro Android Python with SL4A, Apress.
Firebaugh, S.L. & J.A. Piepmeier (2008), The robocup nanogram league: An opportunity for problem-based undergraduate education in microsystems, Education, IEEE
Transactions on 51(3), 394 399.
fis (2012), fischertechnik gmbh, On-Line. Acesso em Dez/2012. Disponvel em: http:
//www.fischertechnik.de/en/Home.aspx.

REFERNCIAS BIBLIOGRFICAS

101

Galvan, S., D. Botturi, A. Castellani & P. Fiorini (2006), Innovative robotics teaching
using lego sets, em Robotics and Automation, 2006. ICRA 2006. Proceedings 2006
IEEE International Conference on, pp. 721 726.
Garcia, L.-M., A.A.F. Oliveira, R.A. Grupen, D.S. Wheeler & A.H. Fagg (2000), Tracing patterns and attention: humanoid robot cognition, Intelligent Systems and their
Applications, IEEE 15(4), 70 77.
Garrett, Aaron & David Thornton (2005), A web-based programming environment for
lego mindstorms robots, em Proceedings of the 43rd annual Southeast regional conference - Volume 2, ACM-SE 43, ACM, New York, NY, USA, pp. 349350.
URL: http://doi.acm.org/10.1145/1167253.1167333
Goebel, Stephan, Ruben Jubeh, Simon-Lennert Raesch & Albert Zuendorf (2011), Using
the android platform to control robots, em Anais da 2a. conferncia Internacional
de Robtica na Educao. Setembro. Viena, Austria, pp. 135142.
URL:
http://www.innoc.at/fileadmin/user_upload/_temp_
/RiE/Proceedings/65.pdf
Goertzel, G. (1985), An algorithm for the evaluation of finite trigonometric series, Am.
Math. Monthly 65, 3435.
Goldberg, K & R Siegwart (2001), Beyond Webcams: An Introduction to Online Robots,
MIT Press.
Gonalves, Luiz M. G. (2012), Educational robotics: History and challenges, On-Line.
Acesso em Out/2012. Disponvel em: http://www.natalnet.br/~lmarcos/
Presentations/EducationalRoboticsLARS.pdf.
Google (2012), Android, On-Line. Acesso em Nov/2012. Disponvel em: http://www.
android.com/.
Greenwald, L. & J. Kopena (2003), Mobile robot labs, Robotics Automation Magazine,
IEEE 10(2), 25 32.
Guizzo, E. (2011), Robots with their heads in the clouds, Spectrum, IEEE 48(3), 16 18.
Guizzo, E. & T. Deyle (2012), Robotics trends for 2012 [the future is robots], Robotics
Automation Magazine, IEEE 19(1), 119 123.
Gumbley, L. & B.A. MacDonald (2005), Development of an integrated robotic programming environment, em Proceedings of the 2005 Australasian Conference on Robotics and Automation, ACRA 2005. cited By (since 1996) 0.
H., Shawn, Carlos M., Bryan S. & Eric C. (2012), Baobot, On-Line. Acesso em
Nov/2012. Disponvel em: http://baobot.org/.

102

REFERNCIAS BIBLIOGRFICAS

Hamblen, J.O. & T.S. Hall (2004), Engaging undergraduate students with robotic design
projects, em Second IEEE International Workshop on Electronic Design, Test and
Applications (DELTA), pp. 140145.
Hamer, Tyler, Alexander E. Siy, Kojo Welbeck, Cagdas D. Onal & Daniela Rus (2012),
Seg: Mits origami inspired segway robot, On-Line. Acesso em Nov/2012.
Disponvel em: http://people.csail.mit.edu/cagdas/tmpAFRON/SEG/SEG_
_MITs_Origami_Inspired_Submission.html.
Hernando, M., R. Galan, I. Navarro & D. Rodriguez-Losada (2011), Ten years of cybertech: The educational benefits of bullfighting robotics, Education, IEEE Transactions on 54(4), 569 575.
Hess, D. & C. Rohrig (2009), Remote controlling of technical systems using mobile devices, em Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications, 2009. IDAACS 2009. IEEE International Workshop on,
pp. 625 628.
Hickman, Ryan, Damon Kohler, Ken Conley & Brian Gerkey (2011), Google
i/o 2011: Cloud robotics, On-Line. Access date: March 09 2012. URL:
http://www.youtube.com/watch?v=FxXBUp-4800.
Honig, Zach (2012), Insert coin: Botiful telepresence robot for android, On-Line. Publicado em Jul/2012. Acesso em Nov/2012. Disponvel em: http://www.engadget.
com/2012/07/27/insert-coin-botiful-telepresence-robot/.
Howard, A. & E. Graham (2007), To encourage and excite the next generation of engineers through human-robot interaction projects for space exploration, em American
Society for Engineering Education Annual Conference, Hawaii, June 2007, Hawaii,
June.
Hurst, Nathan (2012a), Can a $10 robot save african education?, Revista Wired (Verso On-Line). Acesso em Out/2012. Disponvel em: http://www.wired.com/
design/2012/07/10-dollar-robot-challenge/.
Hurst, Nathan (2012b), These $10 robots will change robotics education, Revista Wired
(Verso On-Line). Acesso em Out/2012. Disponvel em: http://www.wired.com/
design/2012/09/afron-winners.
Inc, Ologic (2012), Oddwerx - autonomous smartphone robots, On-Line. Publicado em
Mar/2012. Acesso em Nov/2012. Disponvel em: http://www.oddwerx.com/.
Ino (2012), Cientistas propem um rob por aluno, Redao do Site Inovao Tecnolgica. On-Line. Disponvel em: http://www.inovacaotecnologica.com.br/
noticias/noticia.php?artigo=um-robo-poraluno. Acesso em Jul/2012.
Jobe, Ebrima, James McLurkin & Chutima Boonthum-Denecke (2012), R-one swarm robot: Developing the accelerometer and gyroscope, em Florida Artificial Intelligence
Research Society Conference.

REFERNCIAS BIBLIOGRFICAS

103

Jordan, Lucas & Pieter Greyling (2011), Practical Android Projects, Apress.
Jnior, Andouglas S., Rafael V. Aroca, Aquiles F. Burlamaqui & Luiz Marcos Garcia
Gonalves (2012), Os dispositivos mveis no processamento de robs de baixo
custo, HOLOS - ISSN 1807-1600 1(0).
URL: http://www2.ifrn.edu.br/ojs/index.php/HOLOS/article/view/811
Khan, A.A. (2005), Digital Signal Processing Fundamentals, 1sta edio, Da Vinci Engineering Press: Hingham, MA, USA.
Korsah, Ayorkor & Ken Goldberg (2012a), The afron "10 dollar robot"design challenge,
On-Line. Acesso em Out/2012. Disponvel em: http://robotics-africa.org/
design_challenge.html.
Korsah, Ayorkor & Ken Goldberg (2012b), Announcing: The afron "10 dollar robot"design challenge, On-Line. Acesso em Out/2012. Disponvel
em:
http://robotics-africa.org/design_challenge_files/
AFRONDesignChallenge.pdf.
Kramer, K.A. & M. Anderson (2011), A pic18 robot-centered microcontroller systems
laboratory, em Frontiers in Education Conference (FIE), pp. T2G1T2G6.
Kranjec, Jernej (2010), Demodulator updated, On-Line. Acesso em Dez/2012.
Disponvel
em:
http://perceptumvolo.blogspot.com.br/2010/01/
demodulator-updated.html.
Kuo, Ye-Sheng, Sonal Verma, Thomas Schmid & Prabal Dutta (2010), Hijacking power
and bandwidth from the mobile phones audio interface, em Proceedings of the
First ACM Symposium on Computing for Development, ACM DEV 10, ACM,
New York, NY, USA, pp. 24:124:10.
URL: http://doi.acm.org/10.1145/1926180.1926210
Kyrki, V. & D. Kragic (2011), Computer and robot vision [tc spotlight], Robotics Automation Magazine, IEEE 18(2), 121 122.
Ladwa, T.M., S.M. Ladwa, R.S. Kaarthik, A.R. Dhara & N. Dalei (2009), Control of
remote domestic system using dtmf, em Instrumentation, Communications, Information Technology, and Biomedical Engineering (ICICI-BME), 2009 International
Conference on, pp. 1 6.
Lauwers, Tom & Illah Nourbakhsh (2010), Designing the finch: Creating a robot aligned
to computer science concepts, em AAAI Symposium on Educational Advances in
Artificial Intelligence.
URL: https://aaai.org/ocs/index.php/EAAI/EAAI10/paper/view/1849
Lopez, D., R. Cedazo, F.M. Sanchez & J.M. Sebastian (2009), Ciclope robot: Web-based
system to remote program an embedded real-time system, Industrial Electronics,
IEEE Transactions on 56(12), 4791 4797.

104

REFERNCIAS BIBLIOGRFICAS

Lowe, G. & A. Cambrell (2002a), Web system for control of mechatronic devices, em
Control, Automation, Robotics and Vision, 2002. ICARCV 2002. 7th International
Conference on, Vol. 3, pp. 1464 1469 vol.3.
Lowe, Gordon S. & Ashley Cambrell (2002b), Web system for control of mechatronic
devices, em ICARCV, IEEE, pp. 14641469.
Lumsden, J. & C. Ortega-Sanchez (2010), Modular autonomous robotics platform for
educational use, em TENCON 2010 - 2010 IEEE Region 10 Conference, pp. 1577
1582.
Lyons, R.G. (2010), Understanding Digital Signal Processing, Prentice Hall.
URL: http://books.google.com.br/books?id=UBU7Y2tpwWUC
Maki, Daisuke (2007), Concurrent.thread, On-Line. Publicado em 2007. Acesso
em Nov/2012. Disponvel em: http://sourceforge.net/apps/mediawiki/
jsthread/index.php?title=Main_Page.
Maki, Daisuke & Hideya Iwasaki (2007), Javascript multithread framework for asynchronous processing, IPSJ Transactions on Programming 48(12), 118.
Manikandan, D., P. Pareek & P. Ramesh (2010), Cell phone operated robot, em Emerging
Trends in Robotics and Communication Technologies (INTERACT), 2010 International Conference on, pp. 183 184.
Manseur, R. (1997), Development of an undergraduate robotics course, em Frontiers in
Education Conference, 1997. 27th Annual Conference. Teaching and Learning in
an Era of Change. Proceedings., Vol. 2, pp. 610 612 vol.2.
Marin, R., P.J. Sanz, P. Nebot & R. Wirz (2005), A multimodal interface to control a robot
arm via the web: a case study on remote programming, Industrial Electronics, IEEE
Transactions on 52(6), 1506 1520.
Martins, Felipe N., Hudson C. Oliveira & Gabriela F. Oliveira (2012), Robtica como
meio de promoo da interdisciplinaridade no ensino profissionalizante, em Anais
do Workshop de Robtica Educacional (Latin American Robotics Symposium /
Simpsio Brasileiro de Robtica). Fortaleza. ISSN 978-85-7669-261-4.
Martins, Felipe Nascimento (2012), Prmio de melhor rob do mundo de alunos
do ifes!, On-Line. Publicado em Jul/2012. Acesso em Nov/2012. Disponvel em:
http://nera.sr.ifes.edu.br/?p=143.
McComb G.; Predko, M. (2006), The Robot Builders Bonanza, McGraw-Hill: New York,
NY, USA, 2006.
Menezes, Ebenezer Takuno de & Thais Helena dos. Santos (2002), Robtica educacional
(verbete), Dicionrio Interativo da Educao Brasileira - EducaBrasil. So Paulo:
Midiamix Editora, On-Line. Acesso em Out/2012. Disponvel em: http://www.
educabrasil.com.br/eb/dic/dicionario.asp?id=49.

REFERNCIAS BIBLIOGRFICAS

105

Michaelis, Lutz, Edward Jiang, Sun Wei Ze, Leo Yan & Spencer Featherston (2012),
Xinchejian shanghai hackerspace afron 10 competition submission, On-Line.
Acesso em Nov/2012. Disponvel em: http://wiki.xinchejian.com/.
Miranda, Juliano R. & Marilza Vanessa R. Suanno (2012), Robtica na escola: ferramenta pedaggica inovadora, em Anais do Workshop de Robtica Educacional
(Latin American Robotics Symposium / Simpsio Brasileiro de Robtica). Fortaleza. ISSN 978-85-7669-261-4.
Mirats Tur, J.M. & C.F. Pfeiffer (2006), Mobile robot design in education, Robotics
Automation Magazine, IEEE 13(1), 69 75.
MIT (2012), Explore mit app inventor, On-Line. Disponvel em: http://explore.
appinventor.mit.edu/. Acesso em Jul/2012.
Mod (2012), Modelix robotics open source, On-Line. Acesso em Dez/2012. Disponvel
em: http://www.modelix.cc/en/.
Mok, H. N. (2011), Student usage patterns and perceptions for differentiated lab exercises in an undergraduate programming course, Education, IEEE Transactions on
PP(99), 1.
Mootien, Saravanen, Robert T. F. Ah King & Harry C. S. Rughooputh (2006), A webbased interface for the Gryphon robot, INTERNATIONAL JOURNAL OF ELECTRICAL ENGINEERING EDUCATION 43(2), 134149.
Mozos, O.M., Z.-C. Marton & M. Beetz (2011), Furniture models learned from the
www, Robotics Automation Magazine, IEEE 18(2), 22 32.
Nahshon, Itai (1998), dtmfdial - dtmf tone generator, On-Line. Desenvolvido em 1998.
Acesso em Nov/2012. Disponvel em: http://linux.about.com/cs/linux101/
g/dtmfdial.htm.
Naskar, S., S. Das, A.K. Seth & A. Nath (2011), Application of radio frequency controlled intelligent military robot in defense, em Communication Systems and Network
Technologies (CSNT), 2011 International Conference on, pp. 396 401.
Netto, Antonio Valerio, Felipe Miranda, Wesley Silva & Yan Freitas (2012), A block programming interface for educational mobile robots, em Robocontrol: Proceedings
of 5th workshop in applied robotics and automation.
O.M., Adebola Simeon (2012), A locally sourced robotic arm, On-Line. Acesso em
Nov/2012. Disponvel em: http://roboarmblog.wordpress.com/.
Oracle (2012), Sun spot world: Sun small programmable object technology, On-Line.
Acesso em Nov/2012. Disponvel em: http://www.sunspotworld.com/.

106

REFERNCIAS BIBLIOGRFICAS

Park, Jong Hyun, Tae Houn Song, Ji Hwan Park & Jae Wook Jeon (2008), Usability
analysis of a pda-based user interface for mobile robot teleoperation, em Industrial
Informatics, 2008. INDIN 2008. 6th IEEE International Conference on, pp. 1487
1491.
Pascual, Alberto (2012a), androino: Connect your mobile to the real world objects, OnLine. Acesso em Dez/2012. Disponvel em: http://androino.blogspot.com.
br/.
Pascual, Alberto (2012b), Androino terminal, On-Line. Acesso em Dez/2012. Disponvel em: http://code.google.com/p/androino/wiki/AndroinoTerminal.
Patil, B.C. & R. Henry (2008), Dual functional reconfigurable mobile robot, em TENCON 2008 - 2008 IEEE Region 10 Conference, pp. 1 5.
Pin, Luiza B., Dbora F. de Oliveira & Eduardo M. A. Amaral (2012), Ludebot: Uma
plataforma com servomotores e sensoriamento utilizando a placa arduino e controle
externo, em Anais do Workshop de Robtica Educacional (Latin American Robotics Symposium / Simpsio Brasileiro de Robtica). Fortaleza. ISSN 978-85-7669261-4.
Pink, Daniel H. (2009), Drive: the surprising truth about what motivates us, Riverhead
Books, New York.
Piperidis, S., L. Doitsidis, C. Anastasopoulos & N.C. Tsourveloudis (2007), A low cost
modular robot vehicle design for research and education, em Control Automation,
2007. MED 07. Mediterranean Conference on, pp. 1 6.
PNC (2012), Pnca robtica e eletrnica, On-Line. Acesso em Dez/2012. Disponvel em:
http://www.pnca.com.br/.
Popescu, D., D. Selisteanu, I. Dinulescu & L.C. Popescu (2008), Web based telematics application for robotics, em Computing in the Global Information Technology, 2008.
ICCGI 08. The Third International Multi-Conference on, pp. 19 24.
Ranieri, Caetano, Silas Alves, Humberto Ferasoli Filhao, Marco Caldeira & Ren Pegoraro (2012), An environment endowed with a behavior-based control architecture
to allow physically disabled children to control mobile robots, em Robocontrol:
Proceedings of 5th workshop in applied robotics and automation, pp. 16.
Rawat, K.S. & G.H. Massiha (2004), A hands-on laboratory based approach to undergraduate robotics education, em Proceedings of IEEE International Conference on
Robotics and Automation (ICRA), pp. 13701374 Vol.2.
Reben, Alexander (2012), Proposal for a low-cost robot for education in africa, On-Line.
Acesso em Nov/2012. Disponvel em: https://docs.google.com/document/
pub?id=1wW-45Lohr6KfgCN23bJejrtB462AAtDRKvCuM4a_gE8.

REFERNCIAS BIBLIOGRFICAS

107

Reis, Gabriela L., Luis F. F. Souza, Felipe C. T. Carvalho, Marcos A. A. Junior, Erivelton G. Nepomuceno, Mrcio F. S. Barroso & Eduardo B. Pereira (2012), As competies universitrias e a carreira profissional do aluno de graduao: Um estudo
de caso sobre a equipe uairobots-sek, em Anais do Workshop de Robtica Educacional (Latin American Robotics Symposium / Simpsio Brasileiro de Robtica).
Fortaleza. ISSN 978-85-7669-261-4.
Resnick, Mitchel (2007), Scratch: imagine, program, share, On-Line. Acesso em
Dez/2012. Disponvel em: http://scratch.mit.edu/.
Ric (2011), All for one, r-one for all, On-Line. Disponvel em: http://
engineering.rice.edu/NewsContent.aspx?id=3491. Acesso em Jul/2012.
Rob (2012a), Robokit - kit de robtica educativa, On-Line. Acesso em Dez/2012. Disponvel em: http://www.imply.com.br/pgs-inform/prtedu-robokit.htm.
Rob (2012b), Serial on android using the audio port, On-Line. Acesso em
Nov/2012. Disponvel em: http://robots-everywhere.com/re_wiki/index.
php?title=Serial_on_Android_using_the_audio_port.
Robinson, Andrew, Brad Campbell, Ye-Sheng Kuo, Sonal Verma, Thomas Schmid &
Prabal Dutta (2010), Project hijack, On-Line. Acesso em Out/2012. Disponvel
em: http://web.eecs.umich.edu/~prabal/projects/hijack/.
Romotive (2011), Romotive, On-Line. Acesso em Out/2012. Disponvel em: http:
//www.romotive.com.
Rubenstein, Michael, Christian Ahler, & Radhika Nagpal (2012), Kilobot entry for afron
10 dollar robot challenge, On-Line. Acesso em Nov/2012. Disponvel em: https:
//sites.google.com/site/afron10dollarrobot/.
Sa, In-Kyu, Ho Seok Ahn, Kwang Moo Yi & Jin Young Choi (2009), Implementation of
home automation system using a pda based mobile robot, em Industrial Electronics,
2009. ISIE 2009. IEEE International Symposium on, pp. 1761 1766.
Sai, K.V.S. & R. Sivaramakrishnan (2009), Design and fabrication of holonomic motion robot using dtmf control tones, em Control, Automation, Communication and
Energy Conservation, 2009. INCACEC 2009. 2009 International Conference on,
pp. 1 4.
Santos, Andr C., Lus Tarrataca & Joo M. Cardoso (2010), The feasibility of navigation
algorithms on smartphones using j2me, Mob. Netw. Appl. 15(6), 819830.
Sasaki, Yusuke (2011), Audio jack modem for iphone, On-Line. Acesso
em Dez/2012. Disponvel em: http://code.google.com/p/arms22/wiki/
SoftModemBreakoutBoard.
Scaramuzza, D. & F. Fraundorfer (2011), Visual odometry [tutorial], Robotics Automation Magazine, IEEE 18(4), 80 92.

108

REFERNCIAS BIBLIOGRFICAS

Schlesinger, Joseph (2012), Afron submission: Discbot, On-Line. Acesso em Nov/2012.


Disponvel em: http://arcbotics.com/afron-submission/.
SeeedStudio (2011),
Hijack development pack,
On-Line. Acesso em
Jul/2012.
Disponvel
em:
http://www.seeedstudio.com/depot/
hijack-development-pack-p-865.html?cPath=174.
Seid, Peter, Keller Rinaudo & Phu Nguyen (2012), Romo - the smartphone robot for everyone, On-Line. Publicado em Out/2012. Acesso em Nov/2012.
Disponvel em:
http://www.kickstarter.com/projects/peterseid/
romo-the-smartphone-robot-for-everyone.
Siegwart, R. & R.S.I.R. Nourbakhsh (2004), Introduction to Autonomous Mobile Robots,
Intelligent Robots and Autonomous Agents Series, Mit Press.
URL: http://books.google.com.br/books?id=gUbQ9_weg88C
Singh, Karanpreet, Amitesh Ranjan & Pawan Saini (2012), Mitbots educational proposal
for afron $10 robot design challenge, On-Line. Acesso em Nov/2012. Disponvel
em: http://mitbots.com/proposal_3/.
Siu, Jason (2012), Carbot remote controlled cars work off your smartphone,
On-Line. Publicado em Ago/2012. Acesso em Nov/2012. Disponvel
em:
http://www.autoguide.com/auto-news/2012/08/
carbot-remote-controlled-cars-work-off-your-smartphone-video.
html.
Soto, Alvaro, Pablo Espinace & Ruben Mitnik (2006), A mobile robotics course for undergraduate students in computer science, em 3rd IEEE Latin American Robotics
Symposium (LARS), pp. 187192.
Sousa, Armando, Catarina Santiago, Paulo Malheiros, Paulo Costa & Antnio Paulo Moreira (2009), Using barcodes for robotic landmarks, em Fourteenth Portuguese Conference on Artificial Intelligence, Aveiro (Portugal).
Taylor, Darrell (2011), Super-simple audio cellbot, Make Projects. On-Line. Access
date: March 09 2012. URL: http://makeprojects.com/Project/Super-Simple-AudioCellbot/864/1.
Teleco (2011), Estatsticas de domiclios brasileiros (ibge - pnad), On-Line. Disponvel
em: http://www.teleco.com.br/pnad.asp. Acesso em Jul/2012.
Teleco (2012a), Estatsticas de celulares no brasil, On-Line. Disponvel em: http://
www.teleco.com.br/ncel.asp. Acesso em Jul/2012.
Teleco (2012b), Estatsticas do brasil - geral, On-Line. Disponvel em: http://www.
teleco.com.br/estatis.asp. Acesso em Jul/2012.
The (2012), Lego.com mindstorms, On-Line. Acesso em Dez/2012. Disponvel em:
http://mindstorms.lego.com/en-us/Default.aspx.

REFERNCIAS BIBLIOGRFICAS

109

Thomaz, Sarah, Carla Fernandes, Lucas Cavalcante & Luiz Gonalves (2012), H-educ:
A low cost plataform for educational robotics, em Robocontrol: Proceedings of 5th
workshop in applied robotics and automation, pp. 16.
Tilley, Tom (2012), Suckerbot, On-Line. Acesso em Nov/2012. Disponvel em: http:
//www.tomtilley.net/projects/suckerbot/.
Tofel, Kevin C. (2011), Robots rise with phone sensors, android and the cloud, GigaOM Mobile Technology News. On-Line. Access date: March 09 2012. URL:
http://gigaom.com/mobile/google-android-robots-rosjava-smartphones/.
van Bosse, J.G. & F.U. Devetak (2006), Signaling in Telecommunication Networks, 2nd
ed.; Wiley Series in Telecommunications and Signal Processing, 2nda edio, WileyInterscience: Hoboken, NJ, USA.
Vex (2012), Vex robotics, On-Line. Acesso em Dez/2012. Disponvel em: http://
www.vexrobotics.com/vex.
Weinberg, J.B. & Xudong Yu (2003), Robotics in education: Low-cost platforms for
teaching integrated systems, IEEE Robot. Automat. Mag. 10(2), 46.

110

REFERNCIAS BIBLIOGRFICAS

Apndice A
Questionrios

A.1

Questionrio Prvio

Prezado aluno, estamos conduzindo uma breve pesquisa sobre conhecimentos e interesses em robtica e engenharia. Agradecemos muito sua ajuda em preencher este questionrio.
1.
2.
3.
4.
5.
6.

Em qual universidade voc estuda?


Qual o campus da universidade que voc estuda?
Qual curso de graduao voc est fazendo?
Este questionrio est sendo respondido no contexto de qual disciplina?
Qual sua idade?
Qual o seu sexo?
(a) Masculino
(b) Feminino

7. Em qual ano voc comeou a graduao que esta fazendo atualmente?


8. Voc j desenvolveu software para dispositivos mveis (celulares, tablets, etc)?
(a) Sim
(b) No
9. Voc sabe o que ensinado na disciplina Processamento Digital de Sinais (PDS)?
(a) Sim
(b) No
10. Voc cursaria a disciplina Processamento Digital de Sinais?
(a) Sim
(b) No
11. Voc sabe o que ensinado na disciplina viso computacional?
(a) Sim
(b) No
12. Voc cursaria a disciplina viso computacional?
(a) Sim

APNDICE A. QUESTIONRIOS

112
(b) No
13. Voc sabe como funciona um servidor Web?
(a) Sim
(b) No

14. Voc sabe o que ensinado na disciplina redes de computadores?


(a) Sim
(b) No
15. Voc cursaria redes de computadores?
(a) Sim
(b) No
16. Para fazer testes de robtica nas disciplinas, voc prefere usar um kit de robtica da
universidade, comprar um rob pronto, ou construir seu prprio rob?
(No caso do kit da universidade, aps o uso, ele permanece na universidade. Nos
outros casos, voc fica com o rob)
(a) Usar kit da universidade
(b) Comprar rob pronto
(c) Construir meu prprio rob
17. No caso de comprar um rob pronto ou construir seu prprio rob, quanto voc
gastaria do seu prprio dinheiro?
(a)
(b)
(c)
(d)
(e)
(f)
(g)

No gastaria
Gastaria at R$ 50,00
Gastaria at R$ 100,00
Gastaria at R$ 250,00
Gastaria at R$ 500,00
Gastaria at R$ 1000,00
Gastaria mais de R$ 1000,00

18. Voc sabe o que e para que servem encoders, drivers de potncia e acelermetros?
(a) Sim para todos
(b) Sim, mas apenas sobre um deles
(c) Sim, mas apenas sobre dois deles
19. Voc conhece programao orientada a objetos?
(a) Sim, e j usei
(b) J ouvi falar
(c) No conheo
20. Voc tem celular? Quando foi comprado?
(a)
(b)
(c)
(d)

No tenho
Sim, comprado a menos de 6 meses
Sim, comprado a menos de 1 ano
Sim, comprado a menos de 2 anos

A.2. QUESTIONRIO POSTERIOR

113

(e) Sim, comprado a menos de 4 anos


21. Quais recursos seu celular tem?
(a)
(b)
(c)
(d)
(e)
(f)

Cmera
GPS
Acelermetro
Wifi
Bluetooth
Conexo para fones de ouvido externos

22. Quais disciplinas voc acha importantes para aprender robtica?


(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
(j)
(k)
(l)
(m)
(n)
(o)

A.2

Processamento digital de sinais


Controle
Introduo a robtica
Algebra linear
Viso computacional
Redes neurais
Estatstica
Processos estocsticos
Clculo
Programao orientada a objetos
Programao web
Redes de computadores
Sistemas distribuidos
Sistemas operacionais
Sistemas de tempo real

Questionrio Posterior

Importante: Prezado aluno, por favor, somente responda este questionrio se voc
assistiu apresentao ou vdeo Construa seu prprio rob, que apresentou uma forma
de construir sistemas robticos poderosos por menos de R$ 50,00 usando um celular como
computador de controle. Agradecemos muito sua ajuda em preencher este questionrio.
1. Em qual universidade/campus voc estuda?
2. Qual curso de graduao voc est fazendo?
3. Este questionrio est sendo respondido em qual disciplina?
(Questes de 4 a 9: marque apenas uma alternativa)
4. Voc cursaria uma disciplina sobre Processamento Digital de Sinais?
(a) Sim
(b) No
(c) J cursei
5. Voc cursaria uma disciplina sobre viso computacional?
(a) Sim

APNDICE A. QUESTIONRIOS

114
(b) No
(c) J cursei

6. Para fazer testes de robtica nas disciplinas, voc prefere usar um kit de robtica da
universidade, comprar um rob pronto, ou construir seu prprio rob?
(No caso do kit da universidade, aps o uso, ele permanece na universidade. Nos
outros casos, voc fica com o rob)
(a) Usar kit da universidade
(b) Comprar rob pronto
(c) Construir meu prprio rob
7. No caso de comprar um rob pronto ou construir seu prprio rob, quanto voc
gastaria do seu prprio dinheiro?
(a)
(b)
(c)
(d)
(e)
(f)
(g)

No gastaria
Gastaria at R$ 50,00
Gastaria at R$ 100,00
Gastaria at R$ 250,00
Gastaria at R$ 500,00
Gastaria at R$ 1000,00
Gastaria mais de R$ 1000,00

8. Com relao as opes de CellBots de baixo custo apresentadas, voc se interessou pelo projeto?
(a)
(b)
(c)
(d)
(e)

Sim, e j montei um
Sim, e estou montando um
Sim, e pretendo montar um futuramente
Sim, mas no pretendo montar um CellBot
No

9. Voc acha que uma disciplina fica mais interessante com o uso do CellBot como
uma forma de testar os conceitos ensinados nesta disciplina?
(a) Sim
(b) No
(Questes 10 e 11: Marque todas alternativas que se aplicam)
10. Qual(is) aspecto(s) de um CellBot voc acha mais interessante(s) para trabalhar?

Projeto e melhorias da parte mecnica


Construo e montagem da parte mecnica (chassis, rodas, motores)
Projeto e melhorias da parte eletrnica
Construo e montagem da parte eletrnica (placas, cabos, circuitos, sensores)
Desenvolvimento de softwares e novos sistemas de controle

11. Quais disciplinas voc acha importantes para aprender robtica?


Processamento digital de sinais
Controle
Introduo a robtica

A.3. AVALIAO DO MINI-CURSO DE ROBTICA - SINEC 2012

115

lgebra linear
Viso computacional
Redes neurais
Estatstica
Processos estocsticos
Clculo
Programao orientada a objetos
Programao web
Redes de computadores
Sistemas distribudos
Sistemas operacionais
Sistemas de tempo real

12. Comentrio final (opcional)


(Se julgar necessrio, deixe um comentrio, critica ou sugesto sobre CellBots e
suas possibilidades)

A.3

Avaliao do mini-curso de robtica - SINEC 2012

Queremos melhorar o mini-curso de robtica de baixo custo para as prximas edies.


Agradecemos sua colaborao em responder as perguntas desta breve pesquisa. Muito
obrigado.
1. Antes de fazer o mini-curso, voc achava possvel construir um rob com menos de
R$ 50,00?
(a) Sim
(b) No
2. Sobre a durao do mini-curso, voc achou que foi:
(a) Longa
(b) Adequada
(c) Curta
3. Se o mini curso fosse realizado novamente, voc recomendaria para algum colega?
(a) Sim
(b) No
4. Voc j havia montado algum circuito eletrnico antes?
(a) Sim
(b) No
5. Voc conseguiu terminar a montagem de seu rob (placa, e movimento dos motores)?
(a) Sim
(b) No

APNDICE A. QUESTIONRIOS

116

6. Se no terminou o seu rob, qual a porcentagem de finalizao do mesmo em que


voc considera ter chegado?
(Exemplo: fiz 70% do rob)
7. Voc acha que seria interessante usar este rob durante aulas de graduao?
(a) Sim
(b) No
8. Qual sua avaliao geral do mini-curso?
(a)
(b)
(c)
(d)
(e)

Muito Bom
Bom
Regular
Ruim
Muito Ruim

9. Voc est fazendo graduao em qual curso?


(Exemplos: ECT, Engenharia da Computao, Cincia da Computao, Engenharia
Eltrica, etc)
10. Caso voc queira deixar algum comentrio ou crtica, fique vontade para digitar
na seguinte caixa de texto:
(espao para escrita livre)

Potrebbero piacerti anche