Conjunto Principal MINDSTORMS EV3

Faça um Robô “Pega e Entrega”

Projetar, montar e programar um sistema robótico que possa pegar um objeto em um local e colocá-lo em outro local.

120+ min.
Intermediário
Ensino Médio
3_Make_a_Pick_and_Place_Robot

Plano de aula

Preparar

  • Leia o material do professor.
  • Se você sentir que é necessário, planeje uma aula usando o material do guia de introdução no software EV3 ou aplicativo de programação EV3. Isso ajudará seus alunos a se familiarizarem com o LEGO® MINDSTORMS® Education EV3.

Envolver (30 min.)

  • Use as ideias da seção Iniciar uma Discussão abaixo para envolver seus alunos em uma discussão relacionada a esta aula.
  • Explique o projeto.
  • Divida sua turma em equipes de 2 alunos.
  • Permita que seus alunos tenham um tempo para terem ideias.

Explorar (30 min.)

  • Faça com que seus alunos criem múltiplos protótipos.
  • Incentive-os a explorarem a montagem e a programação.
  • Faça com que cada dupla de alunos monte e teste 2 soluções.
  • Forneça a eles uma folha grande de papel milimetrado e lápis coloridos ou canetinhas

Explicar (60 min.)

  • Peça que seus alunos testem suas soluções e escolham a melhor.
  • Certifique-se de que eles conseguem criar suas próprias tabelas de teste.
  • Permita que cada equipe tenha tempo para finalizar seu projeto e coletar dados para documentar seus trabalhos.

Elaborar (60 Min.)

  • Dê a seus alunos algum tempo para produzirem seus relatórios finais.
  • Facilite uma sessão de compartilhamento em que cada equipe apresente seu resultado.

Avaliar

  • Dê feedback sobre o desempenho de cada aluno.
  • Você pode utilizar as rubricas de avaliação fornecidas para simplificar o processo.

Iniciar uma Discussão

Robôs “Pega e Entrega” são um tipo de robôs industriais capazes de mover objetos de um local pré-definido a outro. Com base no formato, peso e fragilidade dos objetos, diferentes tipos de garras podem ser usadas para pegar os objetos de forma precisa e segura e soltá-los novamente.

Engage-Pick-and-Place-Robot-Cover

Incentive um processo de geração de ideias ativo.

Peça que seus alunos reflitam sobre essas questões:

  • O que é um robô “pega e entrega” e onde é usado?
  • Que tipo de mecanismo motorizado pode ser usado para pegar o objeto?
  • Como o robô pode mover o objeto?
  • Como o robô pode posicionar o objeto em outro local cuidadosamente e com precisão?

Incentive os alunos a documentarem suas ideias iniciais e explicarem porque eles escolheram a solução que irão usar em seus primeiros protótipos. Peça a eles que descrevam como eles irão avaliar suas ideias durante o projeto. Dessa forma, quando eles estiverem analisando e revisando, eles terão informações específicas que poderão usar para avaliar sua solução e decidir se foi eficaz ou não.

Extensões

Extensão de Linguagem e Literatura

Para incorporar habilidades de desenvolvimento de linguagem, faça com que seus alunos:

Opção 1

  • Usem o trabalho escrito, rascunhos e/ou fotos deles para resumirem o processo de projeto e criarem um relatório final.
  • Criem um vídeo demonstrando seu processo de projeto começando com suas ideias iniciais e finalizando com seus projetos concluídos.
  • Criem uma apresentação sobre o programa deles.
  • Criem uma apresentação que conecte o projeto deles com aplicações de sistemas similares do mundo real e descrevam novas invenções que possam ser feitas com base no que eles criaram.

Opção 2
Para incorporar habilidades de desenvolvimento de linguagem, faça com que seus alunos:

  • Pesquisem diferentes máquinas que preparam medicamentos e vacinas e, em seguida, criem uma narrativa relacionada ao trabalho em um laboratório automatizado criando medicamentos, considerando um ponto forte e um ponto fraco na montagem automatizada de medicamentos

  • Do ponto de vista da proteção de dados, discutam as preocupações de patentes de potenciais receitas de medicamentos bilionárias sendo armazenadas em um sistema online, considerando:

  • As possíveis consequências da perda de dados de medicamentos por uma empresa

  • Os benefícios de armazenar informações confidenciais em sistemas on-line

Extensão de Matemática

Nessa aula, seus alunos criaram um robô “pick and place” (“pegar e posicionar”). Como acontece com muitos sistemas automatizados, avaliar e melhorar o desempenho é crucial. O machine learning é um processo pelo qual os robôs pick and place podem medir seu próprio desempenho e fazer modificações para mantê-lo ou melhorá-lo.

Para incorporar o desenvolvimento de habilidades matemáticas e explorar o machine learning, faça com que seus alunos:

  • Definam os termos de exatidão e precisão, e apliquem essas definições em seus projetos de robótica
  • Identifiquem as variáveis relacionadas à exatidão e à precisão em seus sistemas (p.ex., a velocidade do robô pode impactar sua exatidão, precisão ou ambas)
  • Configurem mini-experiências para testar se as variáveis escolhidas impactam a exatidão, a precisão ou ambas

Dicas de Montagem

Dicas para Montagem:
Dê aos seus alunos uma oportunidade para montarem alguns exemplos dos links abaixo. Incentive-os a explorarem como esses sistemas funcionam e a darem ideias de como esses sistemas poderiam inspirar uma solução para o resumo do projeto.

Dicas de Teste
Incentive seus alunos a projetarem suas próprias configurações e procedimentos de testes para selecionarem a melhor solução. Essas dicas podem ajudar seus alunos na configuração de seus testes:

  • Marque a posição da máquina no papel milimetrado para ajudar a garantir que você o coloque na mesma posição para a execução de cada teste.
  • Use linhas-guia para identificar quadrados de 1 cm x 1 cm para ajudar a registrar o resultado da execução de cada teste.
  • Use lápis coloridos ou canetinhas para marcar o local esperado e o local real onde o robô coloca o objeto.
  • Crie tabelas de teste para registrar suas observações.
  • Avalie a precisão do seu robô comparando os resultados esperados com os reais.
  • Repita o teste pelo menos três vezes.

Exemplo de Solução
Veja um exemplo de solução que atende os critérios do resumo do projeto:

pick-and-place-solution-bi-cover
Pick-and-Place-Solution-Cover

Dicas de Programação

Exemplo de Programa do MicroPython EV3

#!/usr/bin/env pybricks-micropython

from pybricks import ev3brick as brick
from pybricks.ev3devices import Motor, TouchSensor, ColorSensor
from pybricks.parameters import (Port, Stop, Direction, Button,
                                 ImageFile, SoundFile)
from pybricks.tools import wait

# Configure the gripper motor with default settings.
gripper_motor = Motor(Port.A)

# Configure the elbow motor.  It has an 8-tooth and a 40-tooth gear
# connected to it.  Set the motor direction to counterclockwise, so
# that positive speed values make the arm move upward.
elbow_motor = Motor(Port.B, Direction.COUNTERCLOCKWISE, [8, 40])

# Configure the motor that rotates the base.  It has a 12-tooth and a
# 36-tooth gear connected to it.  Set the motor direction to
# counterclockwise, so that positive speed values make the arm move
# away from the Touch Sensor.
base_motor = Motor(Port.C, Direction.COUNTERCLOCKWISE, [12, 36])

# Limit the elbow and base accelerations.  This results in very smooth
# motion, like that of an industrial robot.
elbow_motor.set_run_settings(60, 120)
base_motor.set_run_settings(60, 120)

# Set up the Touch Sensor.  It is used to detect when the base has
# moved to its starting position.
touch_sensor = TouchSensor(Port.S1)

# Set up the Color Sensor.  It is used in Reflected Light Intensity
# Mode to detect the white beam when the elbow is in its starting
# position.
color_sensor = ColorSensor(Port.S3)

# Initialize the elbow.  This is done by first moving down for 1 second
# and then slowly moving up until the Color Sensor detects the white
# beam.  Then the motor stops, holds its position, and resets the angle
# to "0."  This means that when it rotates backward to "0" later on, it
# returns to this starting position.
elbow_motor.run_time(-30, 1000)
elbow_motor.run(15)
while color_sensor.reflection() < 30:
    wait(10)
elbow_motor.stop(Stop.HOLD)
elbow_motor.reset_angle(0)

# Initialize the base.  This is done by first running the base motor
# counterclockwise until the Touch Sensor is pressed.  Then the motor
# stops, holds its position, and resets the angle to "0."  This means
# that when it rotates backward to "0" later on, it returns to this
# starting position.
base_motor.run(-60)
while not touch_sensor.pressed():
    wait(10)
base_motor.stop(Stop.HOLD)
base_motor.reset_angle(0)

# Initialize the gripper.  This is done by running the motor forward
# until it stalls.  This means that it cannot move any further.  From
# this closed gripper position, the motor rotates backward by 90
# degrees, so the gripper opens up.  This is the starting position.
gripper_motor.run_until_stalled(200, Stop.COAST, 50)
gripper_motor.reset_angle(0)
gripper_motor.run_target(200, -90)

def robot_pick(position):
    # This function rotates the base to the pick up position.  There,
    # it lowers the arm, closes the gripper, and raises the arm to pick
    # up the wheel stack.
    base_motor.run_target(60, position, Stop.HOLD)
    elbow_motor.run_target(60, -45)
    gripper_motor.run_until_stalled(200, Stop.HOLD, 50)
    elbow_motor.run_target(60, 0, Stop.HOLD)

def robot_release(position):
    # This function rotates the base to the drop-off position.  There,
    # it lowers the arm, opens the gripper to release the wheel stack,
    # and raises the arm again.
    base_motor.run_target(60, position, Stop.HOLD)
    elbow_motor.run_target(60, -45)
    gripper_motor.run_target(200, -90)
    elbow_motor.run_target(60, 0, Stop.HOLD)

# Define the 3 destinations for picking up and dropping off the wheel
# stacks.
LEFT = 200
CENTER = 100
RIGHT = 0

# Rotate the base to the center.
base_motor.run_target(60, CENTER, Stop.HOLD)

# This is the main part of the program.  It is a loop that repeats
# endlessly.
#
# First, the robot waits until the Up or Down Button is pressed.
# Second, the robot waits until the Center Button is pressed.
# Finally, the robot picks up the wheel stack and drops it off in the
# center.
#
# Then the process starts over, so the robot can pick up another wheel
# stack.
while True:

    # Display a question mark to indicate that the robot should await
    # instructions.
    brick.display.image(ImageFile.QUESTION_MARK)

    # Wait until the Up or Down Button is pressed.
    while True:
        # First, wait until any button is pressed.
        while not any(brick.buttons()):
            wait(10)
        # Then store which button was pressed.
        button = brick.buttons()[0]
        # If the Up or Down Button was pressed, break out of the loop.
        if button in (Button.UP, Button.DOWN):
            break

    # Play a sound and display an arrow to show where the arm will move.
    brick.sound.file(SoundFile.AIR_RELEASE)
    if button == Button.UP:
        brick.display.image(ImageFile.FORWARD)
    elif button == Button.DOWN:
        brick.display.image(ImageFile.BACKWARD)

    # Wait until the Center Button is pressed, then display a check
    # mark to indicate that the instruction has been accepted.
    while not Button.CENTER in brick.buttons():
        wait(10)
    brick.display.image(ImageFile.ACCEPT)

    # Pick up the wheel stack. Depending on which button was pressed,
    # move left or right.
    if button == Button.UP:
        robot_pick(RIGHT)
    elif button == Button.DOWN:
        robot_pick(LEFT)

    # Drop off the wheel stack in the center.
    robot_release(CENTER)

Conexões de Carreira

Os alunos que gostaram dessa aula podem ter interesse em explorar essas carreiras:

  • Tecnologia da Informação (Ciência da Computação)
  • Engenharia e Manufatura (Tecnologia de Máquinas)

Oportunidades de Avaliação

Lista de Observações do Professor
Crie uma escala que corresponda com suas necessidades, por exemplo:

  1. Concluído parcialmente
  2. Concluído completamente
  3. Além do esperado

Use os seguintes critérios de sucesso para avaliar o progresso dos seus alunos:

  • Os alunos conseguem avaliar soluções distintas de projeto com base em critérios de prioridade e prós/contras.
  • Os alunos são autônomos ao desenvolverem uma solução funcional e criativa.
  • Os alunos conseguem comunicar com clareza suas ideias.

Autoavaliação
Uma vez que seus alunos tenham coletado alguns dados de desempenho, dê a eles tempo para refletirem nas soluções. Ajude-os fazendo perguntas como:

  • Sua solução está obedecendo os critérios do Resumo do Projeto?
  • Os movimentos do seu robô podem ser mais precisos?
  • Quais foram as formas com as quais os outros solucionaram esse problema?

Peça que seus alunos tenham ideias e documentem duas maneiras através das quais eles poderiam melhorar suas soluções.

Feedback por Pares
Incentive um processo de “Feedback por Pares” no qual cada grupo seja responsável por avaliar seu próprio projeto e os dos outros. Esse processo de revisão pode ajudar os alunos a desenvolverem habilidades em dar feedback construtivo, assim como aprimorar suas habilidades de análise e a habilidade de usar dados objetivos para dar suporte a um argumento.

Suporte ao Professor

Os alunos irão:
-Usar o processo de projeto para solucionar um problema do mundo real

Conjunto Principal LEGO® MINDSTORMS® Education EV3

Folha grande de papel milimetrado ou papel quadriculado.
Lápis coloridos ou canetinhas

BNCC
(EM13LP34) Produzir textos para a divulgação do conhecimento e de resultados de levantamentos e pesquisas – texto monográfico, ensaio, artigo de divulgação científica, verbete de enciclopédia (colaborativa ou não), infográfico (estático ou animado), relato de experimento, relatório, relatório multimidiático de campo, reportagem científica, podcast ou vlogcientífico, apresentações orais, seminários, comunicações em mesas redondas, mapas dinâmicos etc. –, considerando o contexto de produção e utilizando os conhecimentos sobre os gêneros de divulgação científica, de forma a engajar-se em processos significativos de socialização e divulgação do conhecimento.
(EM13LP35) Utilizar adequadamente ferramentas de apoio a apresentações orais, escolhendo e usando tipos e tamanhos de fontes que permitam boa visualização, topicalizando e/ou organizando o conteúdo em itens, inserindo de forma adequada imagens, gráficos, tabelas, formas e elementos gráficos, dimensionando a quantidade de texto e imagem por slide e usando, de forma harmônica, recursos (efeitos de transição, slides mestres, layouts personalizados, gravação de áudios em slides etc.).
(EM13CNT301) Construir questões, elaborar hipóteses, previsões e estimativas, empregar instrumentos de medição e representar e interpretar modelos explicativos, dados e/ou resultados experimentais para construir, avaliar e justificar conclusões no enfrentamento de situações-problema sob uma perspectiva científica.
(EM13CNT308) Investigar e analisar o funcionamento de equipamentos elétricos e/ou eletrônicos e sistemas de automação para compreender as tecnologias contemporâneas e avaliar seus impactos sociais, culturais e ambientais.
(EM13MAT405) Utilizar conceitos iniciais de uma linguagem de programação na implementação de algoritmos escritos em linguagem corrente e/ou matemática.
(EM13MAT406) Construir e interpretar tabelas e gráficos de frequências com base em dados obtidos em pesquisas por amostras estatísticas, incluindo ou não o uso de softwares que interrelacionem estatística, geometria e álgebra.

Material do aluno

Download, view or share the student worksheet, either as an online HTML page or a printable PDF

LEGO, the LEGO logo, the Minifigure, DUPLO, the SPIKE logo, MINDSTORMS and the MINDSTORMS logo are trademarks and/or copyrights of the LEGO Group. ©2020 The LEGO Group. All rights reserved. Use of this site signifies your agreement to the terms of use.