Você está na página 1de 45

31/08/2016

Robótica com LEGO

Página 1

Apresentação

Marcos Aurelio Pchek Laureano

Professor do IFPR – Instituto Federal do Paraná – Campus Curitiba


Doutorando em Eng. Elétrica pela FEI – futebol de robôs

Representante Estadual da Olimpíada Brasileira de Robótica (OBR) – Paraná


Membro organizador do Salão de Robótica de Curitiba (www.salaoderobotica.org.br)


Juiz de arena da OBR e prêmios extras (OBR São Paulo)


Juiz de Design do Robô, Core Values e Arena dos torneios FLL desde 2013

 Juiz de Chefe de Design do robô e arena

“Novato” na área de robótica, mas com experiência na área de jogos digitais (como usuário e professor), redes de computadores,
sistemas operacionais e programação.

marcos.laureano@ifpr.edu.br

Página 2

1
31/08/2016

Robótica com LEGO

■ VANTAGENS ■DESVANTAGENS
– Lúdico – Custo
–Peças de fácil encaixe – Quantidade de sensores e motores
–Linguagem de programação por disponíveis
blocos, intuitivo – Humano:
–Fácil acesso para crianças ▪ Falta de prática em montagens mais
complexas
–Fácil de encontrar peças (Lego)
compatíveis ▪ Falta de peças
▪ Falta de imaginação na hora da
–Liberdade de criação montagem
–Possibilidade de comprar –Custo
equipamentos extras de outros
–Custo
fabricantes.
– Já falei no custo?

Página 3

Algumas coisas que podem ser feitas com LEGO

■ Resolução de cubo mágico: https://www.youtube.com/watch?v=dreTvumjNyw


■ Classificador de bolinhas: https://www.youtube.com/watch?v=sUtS52lqL5w
■ Máquina de vendas: https://www.youtube.com/watch?v=Odf71mtO-3g
■ Sumô de lego: https://www.youtube.com/watch?v=ZLQ0i54Z3s8
■ Jogar Xadrez: https://www.youtube.com/watch?v=y3gJ2ERa0_8
■ Braço robótico: https://www.youtube.com/watch?v=KR3IiXvzrds

■ Enfim, sua imaginação (e quantidade de peças) é o seu limite 

Página 4

2
31/08/2016

Componentes LEGO

Página 5

Pneumáticos

 A LEGO possui uma linha de acionamentos pneumáticos:

Página 6

3
31/08/2016

Pneumáticos

Página 7

Controladores

 Estes são os controladores da LEGO:

RCX NXT EV3

Página 8

4
31/08/2016

Sensores

Giroscópio

Toque Luminosidade Cor Ultrassom Rotação

Página 9

Sensores Infravermelho

 Permitem acionar o robô remotamente.

Página 10

5
31/08/2016

Outros Fabricantes: Sensores HiTechnic

Página 11

Comparação de Componentes: Sensores

 Comparação entre o sensor de luminosidade e o de cor LEGO e o sensor de cor HiTechnic:

Página 12

6
31/08/2016

ML1

Trabalhando com Sensores: Luz e cor

Página 13
Retirado de http://aprendarobotica.com.br

Trabalhando com Sensores de Luminosidade

■ Ambient Light (Luz Ambiente) e


Reflected Light (Luz Refletida). A
diferença é qual o tipo de luz que
o sensor fará a leitura.
■ No caso da função Ambiente
Light, a leitura terá o valor da luz
que vem de todos os lados, ou
seja, de todo o ambiente no qual o
robô está.
■Na função Reflected Light, a leitura
sofre menos influência da
iluminação do ambiente, pois o
próprio sensor se encarrega de
fornecer a luz, através de um led
vermelho, que fica ligado.

Página 14

7
Slide 13

ML1 Marcos Laureano; 22/08/2016


31/08/2016

Trabalhando com Sensores de Luminosidade

■ Diferentes
Materiais,
diferentes leituras
■Altura ideal, entre
1 ou 2 UL –
unidades Lego.
■ +- 15 graus

Página 15

Sensor ultrassônico

■ A onda é enviada pela “olho” da direita e recebido


pelo da esquerda
■Distância em cm
–• Mede a distância de 3 a 250 cm
–• Inclui resolução de 1 dígito
–• Precisão: +/- 1 cm (a 22 graus Celsius)
■• Distância em polegada
–• Mede a distância de 1 a 100 polegadas
–• Inclui resolução de 1 dígito
–• Precisão: +/- 0,394 polegadas (a 72 graus Fahrenheit)
■• Detecção do som
–• Retorna verdadeiro se outro som ultrassônico for
reconhecido
–• Luz em volta de transdutores
–• Constante durante a medida da distância
–• Pisca enquanto detecta o som
Página 16

8
31/08/2016

Sensor ultrassônico – alguns testes

■ Garrafa d'água (cheia)– 11,4 cm


■ Garrafa d'água (vazia) – alternando entre 11,2 e 11,4cm
(alguém sabe o motivo? Eu sei... )
■ Caixa de papelão – 10,1 cm
■ Celular (frontal) – 10,9 cm
■ Celular (traseira) – 11,2 cm
■ Livro – 10,7 cm
■ Folhas de papel (5 folhas) – 10,3 cm
■ Pasta de plástico (apenas 1 lado) – 10,7 cm
■ Pasta de plástico (2 lados) – 11,4 cm
■ Parede – 10,9 cm

■ Distância real: a viga 1x15 +- 11,8cm

Página 17

Motores

 EV3 – até 4 motores, NXT até 3 motores

Página 18

9
31/08/2016

Lego: sensores e peças compatíveis

■ Visão computacional: http://www.mindsensors.com/61-vision-for-robots


■ Detectando o ambiente: http://www.mindsensors.com/62-motion-
measurement
■ Adaptadores: http://www.mindsensors.com/45-adapters-multiplexers
■ Controle de motores: http://www.mindsensors.com/40-more-lego-motors
■ Rodas e outras peças: http://www.robotshop.com/en/48mm-omniwheel-
lego-nxt-servo.html

Página 19

Softwares

 Os robôs só podem ser programados usando qualquer versão dos seguintes softwares:

 LEGO Mindstorms RCX: RIS Software

 LEGO Mindstorms NXT: NXT-G Software

 LEGO Mindstorms EV3: EV3 Software

 Robolab

 Existem outras formas de programar o Lego (C++/JAVA/Scratch, etc).

 Software LabVIEW e seus toolkits.

Página 20

10
31/08/2016

A compatibilidade entre o NXT e o EV3

■https://www.youtube.com/watch?time_continue=2&v=nLEisteJUcs
■http://aprendarobotica.com.br/arquivos/413

Página 21

Softwares

 LEGO Mindstorms RCX: RIS Software

Página 22

11
31/08/2016

Softwares

 LEGO Mindstorms NXT: NXT-G Software

Página 23

Softwares

 LEGO Mindstorms EV3: EV3 Software

Página 24

12
31/08/2016

Softwares

 RoboLab: Última versão em português V2, última versão inglês 2.9 compatível com NXT

Página 25

Um seguidor de linha simples, com 2 sensores

Página 26

13
31/08/2016

Durabilidade: Conceito

O que é Durabilidade?
 O robô deve ser capaz de suportar os rigores da competição, por exemplo, ele deve ser
capaz de entrar em contato com paredes ou modelos de missões sem que peças caiam ou
quebrem.

 Anexos devem ser similarmente robustos. Braços longos utilizados para pegar algum
objeto não serão muito eficazes se estiverem fragilmente fixados ao robô.

Página 27

Durabilidade: Influências

 A durabilidade do robô é principalmente influenciada pela conexão entre as vigas utilizadas


no robô.

Página 28

14
31/08/2016

Durabilidade: Influências

 Conceitos de engenharia devem ser aplicados à construção do robô. Oriente as equipes a


procurarem informações de como a engenharia pode ajudá-los a construir robôs mais
robustos;

 Procure identificar nos robôs conceitos normalmente utilizados em estruturas de


engenharia, como por exemplo, treliças. São os pequenos detalhes que diferenciam os
bons robôs;

 O momento de inércia das estruturas dos robôs influenciam consideravelmente na sua


robustez;

Página 29

Durabilidade: Influências

 Emendas e conexões entre vigas são necessárias, procure identificar como elas foram feitas
no robô a ser avaliado, com isso será possível avaliar a robustez do robô;

 Emendas são feitas com conectores:


Folga

Página 30

15
31/08/2016

Durabilidade: Exemplos

 Conexão entre vigas:

Página 31

Conexão entre vigas

■ Qual o melhor?

Página 32

16
31/08/2016

Durabilidade: Exemplos

 Moldura (frame):

Página 33

Durabilidade: Exemplos

 Treliças:

Página 34

17
31/08/2016

Durabilidade: Exemplos

 O que não deve ser feito:

Página 35

Durabilidade: Considerações Finais

 As conexões são fracas na direção dos conectores, verifique se as equipes reforçaram as


estruturas.

 Analise a direção e o sentido dos esforços na estrutura do robô e verifique se as equipes


reforçaram as estruturas.

 As equipes tendem a reforçar os robôs de forma exagerada aumentando consideravelmente


a massa do robô, isto é indesejado e está diretamente relacionado ao próximo critério de
avaliação do Design Mecânico do robô.

Página 36

18
31/08/2016

Eficácia Mecânica: Conceito

O que é Eficácia Mecânica?


 Você deve procurar por estruturas de robôs e anexos que demonstrem uma utilização
criteriosa de peças. Por exemplo, usar seis pinos para prender duas vigas não é tão
eficiente quanto utilizar apenas um pino em cada extremidade das vigas.

Página 37

Eficácia Mecânica: Exemplos

 Rodízios:

Página 38

19
31/08/2016

Eficácia Mecânica: Exemplos

 Pinos de encaixe:

Página 39

Eficácia Mecânica: Exemplos

 Eixos lisos:

Página 40

20
31/08/2016

Eficácia Mecânica: Exemplos

 Imãs:

Página 41

Eficácia Mecânica: Gabaritos

 O que é um gabarito?

O “Gabarito” ou “Alignment Jig” pode ser criado de forma virtual ou física para atender a
demanda de sair da base sempre pelo mesmo lugar garantindo assim uma saída “perfeita”
dependendo apenas da programação e de sua estratégia para que ele desempenhe uma
boa atividade na mesa de desafios.

O uso de gabaritos garantem a repetitividade do Robô


Base

robô na realização das missões, valorize as equipes


que optam por utilizarem gabaritos ao invés de
Gabarito
apenas apontar o robô

Parede
Página 42

21
31/08/2016

Eficácia Mecânica: Exemplos de Gabaritos

Página 43

Mecanização: Conceito

O que é Mecanização?
 Você deve se preocupar como o robô se movimenta e realiza os objetivos.

 Deve-se encontrar uma relação ideal entre velocidade e potência do robô.

 Alterando o seguidor de linha (parte prática).

Página 44

22
31/08/2016

Mecanização: Exemplos

 Gancho simples:

Página 45

Mecanização: Exemplos

 Mosquetão:

Página 46

23
31/08/2016

Mecanização: Exemplos

 Cortina:

Página 47

Mecanização: Exemplos

 Acionamentos com rosca sem fim:

Página 48

24
31/08/2016

Mecanização: Exemplos

Página 49

Mecanização: Varredor

Página 50

25
31/08/2016

Uso de frames para melhor desempenho

■ Robô com frame lateral, usado para auxilar o


deslocamento usando a base lateral da mesa.

■ Robô sem o uso de frame.

Retirado do site Aprenda Robótica Página 51

Uso de frames para melhor desempenho

Retirado do site Aprenda Robótica Página 52

26
31/08/2016

Mecanização: bora ver outros exemplos

■ Livro do ISOGAWA Yoshihito

■ toranomaki.pdf

■ MOC Pages - http://www.moc-pages.com

Página 53

LEGO Digital Designer

Página 54
http://ldd.lego.com/en-us/

27
31/08/2016

Mecanização: Influências na movimentação

 O que influencia na movimentação do robô?


 Massa do robô: Robôs mais pesados tendem a ser mais precisos, robôs leves possuem a
tendência de perder tração e portanto escorregar;

 Posição do Centro de Massa: Não é desejável possuir um robô com distribuição de massa
não uniforme, isto dificulta a movimentação do robô em linha reta. O centro de massa do
robô deve estar o mais próximo possível do eixo das rodas para garantir a tração do robô;

 Velocidade de movimentação: Robôs muito rápidos tendem a não ser precisos;

Página 55

Mecanização: Influências na movimentação

 Escolha da roda:

Velocidade

Torque

Precisão

Página 56

28
31/08/2016

Mecanização: Influências na movimentação

 Escolha da roda:

Diâmetro

Perímetro
= ·

Página 57

Escolha da Roda

■A velocidade linear do robô será definida por: V = ω * R

■ O valor do ω máximo dos motores é aproximadamente 18rad/s V = ω.R

Página 58

29
31/08/2016

Escolha da roda

Página 59

Mecanização: Influências na movimentação

 Esteiras também podem ser utilizadas, porém, seu desempenho é inferior ao das rodas;

 Rodas maiores promovem uma velocidade maior, porém, diminui-se a precisão dos robôs,
deve-se priorizar a precisão;

 Com o lançamento do EV3 uma grande contribuição foi dada às opções de rodas de apoio, a
ball caster.

Página 60

30
31/08/2016

Mecanização: Influências na movimentação

 Posicionamento das rodas:

Região de apoio

Região mais
pesada

Roda
Distância 1

Distância 2

Página 61

Mecanização: Influências na movimentação

 Distância 1: Distância entre o eixo da roda e o para-choque traseiro.

 Quanto maior, mais difícil para a lateral do robô sair da parede, é muito comum o robô
utilizar a parede para se orientar.

 Distância 2: Distância entre as rodas

 Quanto maior, maior a precisão nas curvas

 Quanto maior, menor a velocidade de giro

 Não há uma distância ideal que sirva para todos os casos.

Página 62

31
31/08/2016

Mecanização: Influências na movimentação

 Como fazer curvas:

Página 63

Programação: O software de programação

■ 2 Versões: home e education edition


– home – disponível gratuitamente e com visual
“agitado”
– educacional – tem custo de licença (US$ 100 single
e US$ 400 site) e com visual mais “lite” (para uso
educacional)
■ A versão educacional tem material para o
professor e suporte para a língua portuguesa.

Página 64
http://www.damienkee.com/home/2013/10/2/ev3-education-vs-ev3-home-software.html

32
31/08/2016

Programação: O software de programação

 Toda a programação é gráfica, ou seja, utiliza blocos:

Blocos EV3 Blocos NXT


Página 65
http://www.lego.com/en-us/mindstorms/learn-to-program

Programação: Principais Blocos

 Bloco Mover Direção:

Página 66

33
31/08/2016

Programação: Principais Blocos

 Bloco Mover Tanque:

Página 67

Programação: Principais Blocos

 Bloco Mover (NXT):

Página 68

34
31/08/2016

Programação: O software de programação

 Exemplos de programas nos dois principais softwares de programação LEGO®:

Programa de um seguidor de linha básico Programa de um seguidor de linha básico


Software do NXT Software do EV3
Página 69

Um programa um pouco mais complexo (mas nem tanto)

Página 70

35
31/08/2016

Robô musical

Página 71
http://www.damienkee.com/home/2014/10/13/ev3-musical-sequencer.html

Programação: Níveis de Programas

 É esperado níveis diferentes de programação de acordo com a maturidade da equipe:


inicial, em desenvolvimento, finalizado e exemplar.

Página 72

36
31/08/2016

Programação: Maturidade Inicial

 Características:

 Movimentação por tempo e/ou rotações;

 Não utiliza sensores adicionais (luminosidade, giroscópio, ultrassom, cor, etc.);

 Não utiliza estruturas condicionais e/ou repetitivas;

 Programa normalmente não documentado, com poucos ou nenhum comentário;

Página 73

Programação: Maturidade Em Desenvolvimento

 Características:

 Movimentação por graus;

 Geralmente utiliza sensores de cor ou luminosidade para encontrar marcações no tapete;

 Pode utilizar estruturas condicionais e/ou repetitivas de maneira simplificada;

 Programa com comentários simples, porém, a documentação da evolução do programa ainda


é pouco utilizada;

Página 74

37
31/08/2016

Programação: Maturidade Finalizada

 Características:

 Geralmente possui funções customizadas para movimentação por distância (MyBlocks);

 Geralmente utiliza diversos tipos de sensores e possuem noção da necessidade de calibração;

 Utiliza estruturas condicionais e/ou repetitivas de maneira eficiente, por exemplo, para fazer um
seguidor de linha;

 Programa com comentários para facilitar a compreensão do código, pode apresentar uma
documentação mais detalhada das funções customizadas;

 Pode apresentar um controle de versão do programa simplificado.

Página 75

Programação: Maturidade Finalizada

Página 76

38
31/08/2016

Programação: Maturidade Exemplar

 Características:

 Possui funções customizadas para movimentação por distância (MyBlocks) com parâmetros
para configuração;

 Utiliza diversos tipos de sensores e possuem rotinas e/ou procedimentos calibração;

 Utiliza estruturas mais complexas, como por exemplo, máquinas de estado, controle PID, além
de dominar as estruturas condicionais e repetitivas;

 Utiliza variáveis e DataWires;

 Programa muito bem comentado para facilitar a compreensão do código, apresenta uma
documentação detalhada das funções customizadas correlacionadas com a estratégia do time;

 Apresenta um controle de versão do programa indicando todas as modificações com base em


procedimentos de testes.

Página 77

Programação: Maturidade Exemplar

Página 78

39
31/08/2016

Qualidade de Programação: Conceito

O que é Qualidade de Programação?


 Os programas do robô devem trabalhar de forma consistente, produzindo os mesmos
resultados todas as vezes que são executados. Exemplos de código de qualidade podem
incluir alertas sonoros ou um sistema de menu simplificado que os times utilizam para se
certificar de que estão executando a seção apropriada do código para uma determinada
missão.

Página 79

Rendimento da Programação: Conceito

O que é Rendimento da Programação?


 O objetivo aqui é o de encorajar os times a desenvolverem um código que seja modular,
portátil e flexível, de modo que ele possa ser usado em diversas situações.

 Este critério também aborda a legibilidade (compreensão) e a documentação do código,


sendo que ambos são boas práticas de programação.

Página 80

40
31/08/2016

Automação / Navegação: Conceito

O que é Automação / Navegação?


 Autonomia significa que o robô opera com o mínimo de intervenção do condutor ou
lançador do robô.

Página 81

Comentários a respeito dos robôs - básico

O robô é muito compacto, o que facilita a movimentação no tapete, procurem fixar melhor o bloco NXT à estrutura do robô por meio
de vigas conectadas em mais pontos de conexão. Pensem em criar uma proteção em torno do robô, isto pode ajudar no alinhamento
do robô além de proteger as rodas.
Página 82

41
31/08/2016

Comentários a respeito dos robôs – médio -

O robô possui uma boa simetria e distribuição de peso, isto ajuda na movimentação do robô. Procure posicionar o sensor giroscópio
mais próximo do centro de giro do robô, isto fará com que as leituras sejam mais precisas. Para evitar a influência das vibrações na
leitura do giroscópio tente fixa-lo na parte inferior do robô. Tentem pensar em uma forma mais simples e eficiente de conectar as
garras ao robô, isto fará com que as trocas sejam muito mais rápidas.

Página 83

Comentários a respeito dos robôs – médio +

O robô possui um bom mecanismo para troca de garras utilizando eixos ao invés de conectores, isso faz com que vocês ganhem
tempo entre as saídas. Ótima proteção dos sensores de luminosidade, isso diminui a interferência da luz do ambiente. Procure Página 84
posicionar o bloco EV3 mais para a parte inferior do robô, isto dará maior estabilidade. Pensem em adicionar rodízios nos cantos da
estrutura de proteção, isso auxiliará na movimentação rente às paredes.

42
31/08/2016

Comentários a respeito dos robôs - avançado

O robô possui uma excelente distribuição de peso além de possuir rodízios em cada um dos cantos, isso facilita a movimentação ao
longo do tapete. Os sensores estão bem posicionados e protegidos o que garante uma leitura consistente. Procurem reforçar aPágina 85
estrutura de proteção do robô, adicionando mais vigas à estrutura de forma a garantir o melhor travamento da proteção.

Dúvidas??

■ Agradecimentos especiais:
Adriano Machado (Manuffato Treinamentos e Consultoria)
Prof. Anderson Harayashiki Moreira (Instituto Mauá de Tecnologia)

Página 86

43
31/08/2016

Referências

http://www.isogawastudio.co.jp/legostudio/
www.techbrick.com
www.nxtprograms.com
www.bricklink.com
www.brickshelf.com
www.philohome.com
www.legoengineering.com
www.peeron.com
http://www.education.rec.ri.cmu.edu/content/lego/ev3/curriculum/preview/
http://ev3lessons.com/index.html
http://aprendarobotica.com.br/
http://www.moc-pages.com/

Página 87

44

Você também pode gostar